Code Snippets - Version 2.9.0

Version Description

(6 Sep 2017) = * Fixed: Prevented invalid properties from being set when saving a snippet * Fixed: Use the correct protocol when saving a snippet * Improved: Moved code to disable snippet execution into a filter hook * Fixed: Active shared snippets not being updated correctly * Improved: execute_active_snippets() function updated with improved efficiency * Improved: Renamed Snippet class to avoid name collisions with other plugins * Improved: Don't hide output when executing a snippet * Updated CodeMirror to version 5.28.0

Download this release

Release Info

Developer bungeshea
Plugin Icon Code Snippets
Version 2.9.0
Comparing to
See all releases

Code changes from version 2.8.5 to 2.9.0

Files changed (47) hide show
  1. code-snippets.php +8 -4
  2. css/min/cmthemes/abcdef.css +1 -1
  3. css/min/cmthemes/ambiance.css +1 -1
  4. css/min/cmthemes/cobalt.css +1 -1
  5. css/min/cmthemes/colorforth.css +1 -1
  6. css/min/cmthemes/dracula.css +1 -1
  7. css/min/cmthemes/duotone-dark.css +1 -1
  8. css/min/cmthemes/duotone-light.css +1 -1
  9. css/min/cmthemes/eclipse.css +1 -1
  10. css/min/cmthemes/erlang-dark.css +1 -1
  11. css/min/cmthemes/icecoder.css +1 -1
  12. css/min/cmthemes/lesser-dark.css +1 -1
  13. css/min/cmthemes/liquibyte.css +1 -1
  14. css/min/cmthemes/material.css +1 -1
  15. css/min/cmthemes/mdn-like.css +1 -1
  16. css/min/cmthemes/midnight.css +1 -1
  17. css/min/cmthemes/monokai.css +1 -1
  18. css/min/cmthemes/night.css +1 -1
  19. css/min/cmthemes/panda-syntax.css +1 -1
  20. css/min/cmthemes/pastel-on-dark.css +1 -1
  21. css/min/cmthemes/rubyblue.css +1 -1
  22. css/min/cmthemes/seti.css +1 -1
  23. css/min/cmthemes/solarized.css +1 -1
  24. css/min/cmthemes/the-matrix.css +1 -1
  25. css/min/cmthemes/ttcn.css +1 -1
  26. css/min/cmthemes/twilight.css +1 -1
  27. css/min/cmthemes/vibrant-ink.css +1 -1
  28. css/min/cmthemes/xq-dark.css +1 -1
  29. css/min/cmthemes/xq-light.css +1 -1
  30. css/min/cmthemes/yeti.css +1 -1
  31. css/min/codemirror.css +1 -1
  32. js/min/codemirror.js +7 -7
  33. languages/code-snippets-fr_CA.mo +0 -0
  34. languages/code-snippets-fr_CA.po +799 -0
  35. languages/code-snippets-id_ID.mo +0 -0
  36. languages/code-snippets-id_ID.old.mo +0 -0
  37. languages/code-snippets-id_ID.po +315 -636
  38. languages/code-snippets.pot +53 -53
  39. php/admin-menus/class-edit-menu.php +18 -13
  40. php/class-code-snippets.php +36 -1
  41. php/class-contextual-help.php +3 -3
  42. php/class-db.php +25 -11
  43. php/class-export.php +7 -5
  44. php/class-list-table.php +29 -19
  45. php/class-snippet.php +33 -20
  46. php/snippet-ops.php +50 -68
  47. readme.txt +17 -2
code-snippets.php CHANGED
@@ -10,7 +10,7 @@
10
  * @author Shea Bunge <shea@bungeshea.com>
11
  * @copyright 2012-2017 Shea Bunge
12
  * @license MIT http://opensource.org/licenses/MIT
13
- * @version 2.8.5
14
  * @link https://github.com/sheabunge/code-snippets
15
  */
16
 
@@ -20,7 +20,7 @@ Plugin URI: https://github.com/sheabunge/code-snippets
20
  Description: An easy, clean and simple way to add code snippets to your site. No need to edit to your theme's functions.php file again!
21
  Author: Shea Bunge
22
  Author URI: https://bungeshea.com
23
- Version: 2.8.5
24
  License: MIT
25
  License URI: license.txt
26
  Text Domain: code-snippets
@@ -42,7 +42,7 @@ if ( ! defined( 'ABSPATH' ) ) {
42
  * @since 2.0
43
  * @var string A PHP-standardized version number string
44
  */
45
- define( 'CODE_SNIPPETS_VERSION', '2.8.5' );
46
 
47
  /**
48
  * The full path to the main file of this plugin
@@ -63,13 +63,17 @@ define( 'CODE_SNIPPETS_FILE', __FILE__ );
63
  function code_snippets_autoload( $class_name ) {
64
 
65
  /* Only autoload classes from this plugin */
66
- if ( 'Snippet' !== $class_name && 'Code_Snippets' !== substr( $class_name, 0, 13 ) ) {
67
  return;
68
  }
69
 
70
  /* Remove namespace from class name */
71
  $class_file = str_replace( 'Code_Snippets_', '', $class_name );
72
 
 
 
 
 
73
  /* Convert class name format to file name format */
74
  $class_file = strtolower( $class_file );
75
  $class_file = str_replace( '_', '-', $class_file );
10
  * @author Shea Bunge <shea@bungeshea.com>
11
  * @copyright 2012-2017 Shea Bunge
12
  * @license MIT http://opensource.org/licenses/MIT
13
+ * @version 2.9.0
14
  * @link https://github.com/sheabunge/code-snippets
15
  */
16
 
20
  Description: An easy, clean and simple way to add code snippets to your site. No need to edit to your theme's functions.php file again!
21
  Author: Shea Bunge
22
  Author URI: https://bungeshea.com
23
+ Version: 2.9.0
24
  License: MIT
25
  License URI: license.txt
26
  Text Domain: code-snippets
42
  * @since 2.0
43
  * @var string A PHP-standardized version number string
44
  */
45
+ define( 'CODE_SNIPPETS_VERSION', '2.9.0' );
46
 
47
  /**
48
  * The full path to the main file of this plugin
63
  function code_snippets_autoload( $class_name ) {
64
 
65
  /* Only autoload classes from this plugin */
66
+ if ( 'Code_Snippet' !== $class_name && 'Code_Snippets' !== substr( $class_name, 0, 13 ) ) {
67
  return;
68
  }
69
 
70
  /* Remove namespace from class name */
71
  $class_file = str_replace( 'Code_Snippets_', '', $class_name );
72
 
73
+ if ( 'Code_Snippet' === $class_name ) {
74
+ $class_file = 'Snippet';
75
+ }
76
+
77
  /* Convert class name format to file name format */
78
  $class_file = strtolower( $class_file );
79
  $class_file = str_replace( '_', '-', $class_file );
css/min/cmthemes/abcdef.css CHANGED
@@ -1 +1 @@
1
- .cm-s-abcdef.CodeMirror{background:#0f0f0f;color:#defdef}.cm-s-abcdef div.CodeMirror-selected{background:#515151}.cm-s-abcdef .CodeMirror-line::selection,.cm-s-abcdef .CodeMirror-line>span::selection,.cm-s-abcdef .CodeMirror-line>span>span::selection{background:rgba(56,56,56,.99)}.cm-s-abcdef .CodeMirror-line::-moz-selection,.cm-s-abcdef .CodeMirror-line>span::-moz-selection,.cm-s-abcdef .CodeMirror-line>span>span::-moz-selection{background:rgba(56,56,56,.99)}.cm-s-abcdef .CodeMirror-gutters{background:#555;border-right:2px solid #314151}.cm-s-abcdef .CodeMirror-guttermarker{color:#222}.cm-s-abcdef .CodeMirror-guttermarker-subtle{color:azure}.cm-s-abcdef .CodeMirror-linenumber{color:#fff}.cm-s-abcdef .CodeMirror-cursor{border-left:1px solid #0f0}.cm-s-abcdef span.cm-keyword{color:#b8860b;font-weight:700}.cm-s-abcdef span.cm-atom{color:#77f}.cm-s-abcdef span.cm-number{color:violet}.cm-s-abcdef span.cm-def{color:#fffabc}.cm-s-abcdef span.cm-variable{color:#abcdef}.cm-s-abcdef span.cm-variable-2{color:#cacbcc}.cm-s-abcdef span.cm-variable-3{color:#def}.cm-s-abcdef span.cm-property{color:#fedcba}.cm-s-abcdef span.cm-operator{color:#ff0}.cm-s-abcdef span.cm-comment{color:#7a7b7c;font-style:italic}.cm-s-abcdef span.cm-string{color:#2b4}.cm-s-abcdef span.cm-meta{color:#c9f}.cm-s-abcdef span.cm-qualifier{color:#fff700}.cm-s-abcdef span.cm-builtin{color:#30aabc}.cm-s-abcdef span.cm-bracket{color:#8a8a8a}.cm-s-abcdef span.cm-tag{color:#fd4}.cm-s-abcdef span.cm-attribute{color:#df0}.cm-s-abcdef span.cm-error{color:red}.cm-s-abcdef span.cm-header{color:#7fffd4;font-weight:700}.cm-s-abcdef span.cm-link{color:#8a2be2}.cm-s-abcdef .CodeMirror-activeline-background{background:#314151}
1
+ .cm-s-abcdef.CodeMirror{background:#0f0f0f;color:#defdef}.cm-s-abcdef div.CodeMirror-selected{background:#515151}.cm-s-abcdef .CodeMirror-line::selection,.cm-s-abcdef .CodeMirror-line>span::selection,.cm-s-abcdef .CodeMirror-line>span>span::selection{background:rgba(56,56,56,.99)}.cm-s-abcdef .CodeMirror-line::-moz-selection,.cm-s-abcdef .CodeMirror-line>span::-moz-selection,.cm-s-abcdef .CodeMirror-line>span>span::-moz-selection{background:rgba(56,56,56,.99)}.cm-s-abcdef .CodeMirror-gutters{background:#555;border-right:2px solid #314151}.cm-s-abcdef .CodeMirror-guttermarker{color:#222}.cm-s-abcdef .CodeMirror-guttermarker-subtle{color:azure}.cm-s-abcdef .CodeMirror-linenumber{color:#fff}.cm-s-abcdef .CodeMirror-cursor{border-left:1px solid #0f0}.cm-s-abcdef span.cm-keyword{color:#b8860b;font-weight:700}.cm-s-abcdef span.cm-atom{color:#77f}.cm-s-abcdef span.cm-number{color:violet}.cm-s-abcdef span.cm-def{color:#fffabc}.cm-s-abcdef span.cm-variable{color:#abcdef}.cm-s-abcdef span.cm-variable-2{color:#cacbcc}.cm-s-abcdef span.cm-type,.cm-s-abcdef span.cm-variable-3{color:#def}.cm-s-abcdef span.cm-property{color:#fedcba}.cm-s-abcdef span.cm-operator{color:#ff0}.cm-s-abcdef span.cm-comment{color:#7a7b7c;font-style:italic}.cm-s-abcdef span.cm-string{color:#2b4}.cm-s-abcdef span.cm-meta{color:#c9f}.cm-s-abcdef span.cm-qualifier{color:#fff700}.cm-s-abcdef span.cm-builtin{color:#30aabc}.cm-s-abcdef span.cm-bracket{color:#8a8a8a}.cm-s-abcdef span.cm-tag{color:#fd4}.cm-s-abcdef span.cm-attribute{color:#df0}.cm-s-abcdef span.cm-error{color:red}.cm-s-abcdef span.cm-header{color:#7fffd4;font-weight:700}.cm-s-abcdef span.cm-link{color:#8a2be2}.cm-s-abcdef .CodeMirror-activeline-background{background:#314151}
css/min/cmthemes/ambiance.css CHANGED
@@ -1 +1 @@
1
- .cm-s-ambiance .cm-header{color:#00f}.cm-s-ambiance .cm-quote{color:#24c2c7}.cm-s-ambiance .cm-keyword{color:#cda869}.cm-s-ambiance .cm-atom{color:#cf7ea9}.cm-s-ambiance .cm-number{color:#78cf8a}.cm-s-ambiance .cm-def{color:#aac6e3}.cm-s-ambiance .cm-variable{color:#ffb795}.cm-s-ambiance .cm-variable-2{color:#eed1b3}.cm-s-ambiance .cm-variable-3{color:#faded3}.cm-s-ambiance .cm-property{color:#eed1b3}.cm-s-ambiance .cm-operator{color:#fa8d6a}.cm-s-ambiance .cm-comment{color:#555;font-style:italic}.cm-s-ambiance .cm-string{color:#8f9d6a}.cm-s-ambiance .cm-string-2{color:#9d937c}.cm-s-ambiance .cm-meta{color:#d2a8a1}.cm-s-ambiance .cm-qualifier{color:#ff0}.cm-s-ambiance .cm-builtin{color:#99c}.cm-s-ambiance .cm-bracket{color:#24c2c7}.cm-s-ambiance .cm-tag{color:#fee4ff}.cm-s-ambiance .cm-attribute{color:#9b859d}.cm-s-ambiance .cm-hr{color:pink}.cm-s-ambiance .cm-link{color:#f4c20b}.cm-s-ambiance .cm-special{color:#ff9d00}.cm-s-ambiance .cm-error{color:#af2018}.cm-s-ambiance .CodeMirror-matchingbracket{color:#0f0}.cm-s-ambiance .CodeMirror-nonmatchingbracket{color:#f22}.cm-s-ambiance div.CodeMirror-selected{background:rgba(255,255,255,.15)}.cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-ambiance .CodeMirror-line::selection,.cm-s-ambiance .CodeMirror-line>span::selection,.cm-s-ambiance .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-ambiance .CodeMirror-line::-moz-selection,.cm-s-ambiance .CodeMirror-line>span::-moz-selection,.cm-s-ambiance .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-ambiance.CodeMirror{line-height:1.4em;color:#e6e1dc;background-color:#202020;-webkit-box-shadow:inset 0 0 10px #000;-moz-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000}.cm-s-ambiance .CodeMirror-gutters{background:#3d3d3d;border-right:1px solid #4d4d4d;box-shadow:0 10px 20px #000}.cm-s-ambiance .CodeMirror-linenumber{text-shadow:0 1px 1px #4d4d4d;color:#111;padding:0 5px}.cm-s-ambiance .CodeMirror-guttermarker{color:#aaa}.cm-s-ambiance .CodeMirror-guttermarker-subtle{color:#111}.cm-s-ambiance .CodeMirror-cursor{border-left:1px solid #7991e8}.cm-s-ambiance .CodeMirror-activeline-background{background:0% 0% rgba(255,255,255,.031)}.cm-s-ambiance .CodeMirror-gutters,.cm-s-ambiance.CodeMirror{background-image:url(data:image/png;base64,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)}
1
+ .cm-s-ambiance .cm-header{color:#00f}.cm-s-ambiance .cm-quote{color:#24c2c7}.cm-s-ambiance .cm-keyword{color:#cda869}.cm-s-ambiance .cm-atom{color:#cf7ea9}.cm-s-ambiance .cm-number{color:#78cf8a}.cm-s-ambiance .cm-def{color:#aac6e3}.cm-s-ambiance .cm-variable{color:#ffb795}.cm-s-ambiance .cm-variable-2{color:#eed1b3}.cm-s-ambiance .cm-type,.cm-s-ambiance .cm-variable-3{color:#faded3}.cm-s-ambiance .cm-property{color:#eed1b3}.cm-s-ambiance .cm-operator{color:#fa8d6a}.cm-s-ambiance .cm-comment{color:#555;font-style:italic}.cm-s-ambiance .cm-string{color:#8f9d6a}.cm-s-ambiance .cm-string-2{color:#9d937c}.cm-s-ambiance .cm-meta{color:#d2a8a1}.cm-s-ambiance .cm-qualifier{color:#ff0}.cm-s-ambiance .cm-builtin{color:#99c}.cm-s-ambiance .cm-bracket{color:#24c2c7}.cm-s-ambiance .cm-tag{color:#fee4ff}.cm-s-ambiance .cm-attribute{color:#9b859d}.cm-s-ambiance .cm-hr{color:pink}.cm-s-ambiance .cm-link{color:#f4c20b}.cm-s-ambiance .cm-special{color:#ff9d00}.cm-s-ambiance .cm-error{color:#af2018}.cm-s-ambiance .CodeMirror-matchingbracket{color:#0f0}.cm-s-ambiance .CodeMirror-nonmatchingbracket{color:#f22}.cm-s-ambiance div.CodeMirror-selected{background:rgba(255,255,255,.15)}.cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-ambiance .CodeMirror-line::selection,.cm-s-ambiance .CodeMirror-line>span::selection,.cm-s-ambiance .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-ambiance .CodeMirror-line::-moz-selection,.cm-s-ambiance .CodeMirror-line>span::-moz-selection,.cm-s-ambiance .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-ambiance.CodeMirror{line-height:1.4em;color:#e6e1dc;background-color:#202020;-webkit-box-shadow:inset 0 0 10px #000;-moz-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000}.cm-s-ambiance .CodeMirror-gutters{background:#3d3d3d;border-right:1px solid #4d4d4d;box-shadow:0 10px 20px #000}.cm-s-ambiance .CodeMirror-linenumber{text-shadow:0 1px 1px #4d4d4d;color:#111;padding:0 5px}.cm-s-ambiance .CodeMirror-guttermarker{color:#aaa}.cm-s-ambiance .CodeMirror-guttermarker-subtle{color:#111}.cm-s-ambiance .CodeMirror-cursor{border-left:1px solid #7991e8}.cm-s-ambiance .CodeMirror-activeline-background{background:0% 0% rgba(255,255,255,.031)}.cm-s-ambiance .CodeMirror-gutters,.cm-s-ambiance.CodeMirror{background-image:url(data:image/png;base64,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)}
css/min/cmthemes/cobalt.css CHANGED
@@ -1 +1 @@
1
- .cm-s-cobalt.CodeMirror{background:#002240;color:#fff}.cm-s-cobalt div.CodeMirror-selected{background:#b36539}.cm-s-cobalt .CodeMirror-line::selection,.cm-s-cobalt .CodeMirror-line>span::selection,.cm-s-cobalt .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-line::-moz-selection,.cm-s-cobalt .CodeMirror-line>span::-moz-selection,.cm-s-cobalt .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-cobalt .CodeMirror-guttermarker{color:#ffee80}.cm-s-cobalt .CodeMirror-guttermarker-subtle,.cm-s-cobalt .CodeMirror-linenumber{color:#d0d0d0}.cm-s-cobalt .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-cobalt span.cm-comment{color:#08f}.cm-s-cobalt span.cm-atom{color:#845dc4}.cm-s-cobalt span.cm-attribute,.cm-s-cobalt span.cm-number{color:#ff80e1}.cm-s-cobalt span.cm-keyword{color:#ffee80}.cm-s-cobalt span.cm-string{color:#3ad900}.cm-s-cobalt span.cm-meta{color:#ff9d00}.cm-s-cobalt span.cm-tag,.cm-s-cobalt span.cm-variable-2{color:#9effff}.cm-s-cobalt span.cm-def,.cm-s-cobalt span.cm-variable-3{color:#fff}.cm-s-cobalt span.cm-bracket{color:#d8d8d8}.cm-s-cobalt span.cm-builtin,.cm-s-cobalt span.cm-special{color:#ff9e59}.cm-s-cobalt span.cm-link{color:#845dc4}.cm-s-cobalt span.cm-error{color:#9d1e15}.cm-s-cobalt .CodeMirror-activeline-background{background:#002d57}.cm-s-cobalt .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
1
+ .cm-s-cobalt.CodeMirror{background:#002240;color:#fff}.cm-s-cobalt div.CodeMirror-selected{background:#b36539}.cm-s-cobalt .CodeMirror-line::selection,.cm-s-cobalt .CodeMirror-line>span::selection,.cm-s-cobalt .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-line::-moz-selection,.cm-s-cobalt .CodeMirror-line>span::-moz-selection,.cm-s-cobalt .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-cobalt .CodeMirror-guttermarker{color:#ffee80}.cm-s-cobalt .CodeMirror-guttermarker-subtle,.cm-s-cobalt .CodeMirror-linenumber{color:#d0d0d0}.cm-s-cobalt .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-cobalt span.cm-comment{color:#08f}.cm-s-cobalt span.cm-atom{color:#845dc4}.cm-s-cobalt span.cm-attribute,.cm-s-cobalt span.cm-number{color:#ff80e1}.cm-s-cobalt span.cm-keyword{color:#ffee80}.cm-s-cobalt span.cm-string{color:#3ad900}.cm-s-cobalt span.cm-meta{color:#ff9d00}.cm-s-cobalt span.cm-tag,.cm-s-cobalt span.cm-variable-2{color:#9effff}.cm-s-cobalt .cm-type,.cm-s-cobalt span.cm-def,.cm-s-cobalt span.cm-variable-3{color:#fff}.cm-s-cobalt span.cm-bracket{color:#d8d8d8}.cm-s-cobalt span.cm-builtin,.cm-s-cobalt span.cm-special{color:#ff9e59}.cm-s-cobalt span.cm-link{color:#845dc4}.cm-s-cobalt span.cm-error{color:#9d1e15}.cm-s-cobalt .CodeMirror-activeline-background{background:#002d57}.cm-s-cobalt .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
css/min/cmthemes/colorforth.css CHANGED
@@ -1 +1 @@
1
- .cm-s-colorforth.CodeMirror{background:#000;color:#f8f8f8}.cm-s-colorforth .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-colorforth .CodeMirror-guttermarker{color:#ffbd40}.cm-s-colorforth .CodeMirror-guttermarker-subtle{color:#78846f}.cm-s-colorforth .CodeMirror-linenumber{color:#bababa}.cm-s-colorforth .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-colorforth span.cm-comment{color:#ededed}.cm-s-colorforth span.cm-def{color:#ff1c1c;font-weight:700}.cm-s-colorforth span.cm-keyword{color:#ffd900}.cm-s-colorforth span.cm-builtin{color:#00d95a}.cm-s-colorforth span.cm-variable{color:#73ff00}.cm-s-colorforth span.cm-string{color:#007bff}.cm-s-colorforth span.cm-number{color:#00c4ff}.cm-s-colorforth span.cm-atom{color:#606060}.cm-s-colorforth span.cm-variable-2{color:#eee}.cm-s-colorforth span.cm-variable-3{color:#ddd}.cm-s-colorforth span.cm-meta{color:#ff0}.cm-s-colorforth span.cm-qualifier{color:#fff700}.cm-s-colorforth span.cm-bracket{color:#cc7}.cm-s-colorforth span.cm-tag{color:#ffbd40}.cm-s-colorforth span.cm-attribute{color:#fff700}.cm-s-colorforth span.cm-error{color:red}.cm-s-colorforth div.CodeMirror-selected{background:#333d53}.cm-s-colorforth span.cm-compilation{background:rgba(255,255,255,.12)}.cm-s-colorforth .CodeMirror-activeline-background{background:#253540}
1
+ .cm-s-colorforth.CodeMirror{background:#000;color:#f8f8f8}.cm-s-colorforth .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-colorforth .CodeMirror-guttermarker{color:#ffbd40}.cm-s-colorforth .CodeMirror-guttermarker-subtle{color:#78846f}.cm-s-colorforth .CodeMirror-linenumber{color:#bababa}.cm-s-colorforth .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-colorforth span.cm-comment{color:#ededed}.cm-s-colorforth span.cm-def{color:#ff1c1c;font-weight:700}.cm-s-colorforth span.cm-keyword{color:#ffd900}.cm-s-colorforth span.cm-builtin{color:#00d95a}.cm-s-colorforth span.cm-variable{color:#73ff00}.cm-s-colorforth span.cm-string{color:#007bff}.cm-s-colorforth span.cm-number{color:#00c4ff}.cm-s-colorforth span.cm-atom{color:#606060}.cm-s-colorforth span.cm-variable-2{color:#eee}.cm-s-colorforth span.cm-type,.cm-s-colorforth span.cm-variable-3{color:#ddd}.cm-s-colorforth span.cm-meta{color:#ff0}.cm-s-colorforth span.cm-qualifier{color:#fff700}.cm-s-colorforth span.cm-bracket{color:#cc7}.cm-s-colorforth span.cm-tag{color:#ffbd40}.cm-s-colorforth span.cm-attribute{color:#fff700}.cm-s-colorforth span.cm-error{color:red}.cm-s-colorforth div.CodeMirror-selected{background:#333d53}.cm-s-colorforth span.cm-compilation{background:rgba(255,255,255,.12)}.cm-s-colorforth .CodeMirror-activeline-background{background:#253540}
css/min/cmthemes/dracula.css CHANGED
@@ -1 +1 @@
1
- .cm-s-dracula .CodeMirror-gutters,.cm-s-dracula.CodeMirror{background-color:#282a36!important;color:#f8f8f2!important;border:none}.cm-s-dracula .CodeMirror-gutters{}.cm-s-dracula .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-activeline-background,.cm-s-dracula .CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
1
+ .cm-s-dracula .CodeMirror-gutters,.cm-s-dracula.CodeMirror{background-color:#282a36!important;color:#f8f8f2!important;border:none}.cm-s-dracula .CodeMirror-gutters{}.cm-s-dracula .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-activeline-background,.cm-s-dracula .CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
css/min/cmthemes/duotone-dark.css CHANGED
@@ -1 +1 @@
1
- .cm-s-duotone-dark.CodeMirror{background:#2a2734;color:#6c6783}.cm-s-duotone-dark div.CodeMirror-selected{background:#545167!important}.cm-s-duotone-dark .CodeMirror-gutters{background:#2a2734;border-right:0}.cm-s-duotone-dark .CodeMirror-linenumber{color:#545167}.cm-s-duotone-dark .CodeMirror-cursor{border-left:1px solid #ffad5c;border-right:.5em solid #ffad5c;opacity:.5}.cm-s-duotone-dark .CodeMirror-activeline-background{background:#363342;opacity:.5}.cm-s-duotone-dark .cm-fat-cursor .CodeMirror-cursor{background:#ffad5c;opacity:.5}.cm-s-duotone-dark span.cm-atom,.cm-s-duotone-dark span.cm-attribute,.cm-s-duotone-dark span.cm-hr,.cm-s-duotone-dark span.cm-keyword,.cm-s-duotone-dark span.cm-link,.cm-s-duotone-dark span.cm-number,.cm-s-duotone-dark span.cm-quote,.cm-s-duotone-dark span.cm-variable{color:#fc9}.cm-s-duotone-dark span.cm-property{color:#9a86fd}.cm-s-duotone-dark span.cm-negative,.cm-s-duotone-dark span.cm-punctuation,.cm-s-duotone-dark span.cm-unit{color:#e09142}.cm-s-duotone-dark span.cm-string{color:#ffb870}.cm-s-duotone-dark span.cm-operator{color:#ffad5c}.cm-s-duotone-dark span.cm-positive{color:#6a51e6}.cm-s-duotone-dark span.cm-string-2,.cm-s-duotone-dark span.cm-url,.cm-s-duotone-dark span.cm-variable-2,.cm-s-duotone-dark span.cm-variable-3{color:#7a63ee}.cm-s-duotone-dark span.cm-builtin,.cm-s-duotone-dark span.cm-def,.cm-s-duotone-dark span.cm-em,.cm-s-duotone-dark span.cm-header,.cm-s-duotone-dark span.cm-qualifier,.cm-s-duotone-dark span.cm-tag{color:#eeebff}.cm-s-duotone-dark span.cm-bracket,.cm-s-duotone-dark span.cm-comment{color:#6c6783}.cm-s-duotone-dark span.cm-error,.cm-s-duotone-dark span.cm-invalidchar{color:red}.cm-s-duotone-dark span.cm-header{font-weight:400}.cm-s-duotone-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#eeebff!important}
1
+ .cm-s-duotone-dark.CodeMirror{background:#2a2734;color:#6c6783}.cm-s-duotone-dark div.CodeMirror-selected{background:#545167!important}.cm-s-duotone-dark .CodeMirror-gutters{background:#2a2734;border-right:0}.cm-s-duotone-dark .CodeMirror-linenumber{color:#545167}.cm-s-duotone-dark .CodeMirror-cursor{border-left:1px solid #ffad5c;border-right:.5em solid #ffad5c;opacity:.5}.cm-s-duotone-dark .CodeMirror-activeline-background{background:#363342;opacity:.5}.cm-s-duotone-dark .cm-fat-cursor .CodeMirror-cursor{background:#ffad5c;opacity:.5}.cm-s-duotone-dark span.cm-atom,.cm-s-duotone-dark span.cm-attribute,.cm-s-duotone-dark span.cm-hr,.cm-s-duotone-dark span.cm-keyword,.cm-s-duotone-dark span.cm-link,.cm-s-duotone-dark span.cm-number,.cm-s-duotone-dark span.cm-quote,.cm-s-duotone-dark span.cm-variable{color:#fc9}.cm-s-duotone-dark span.cm-property{color:#9a86fd}.cm-s-duotone-dark span.cm-negative,.cm-s-duotone-dark span.cm-punctuation,.cm-s-duotone-dark span.cm-unit{color:#e09142}.cm-s-duotone-dark span.cm-string{color:#ffb870}.cm-s-duotone-dark span.cm-operator{color:#ffad5c}.cm-s-duotone-dark span.cm-positive{color:#6a51e6}.cm-s-duotone-dark span.cm-string-2,.cm-s-duotone-dark span.cm-type,.cm-s-duotone-dark span.cm-url,.cm-s-duotone-dark span.cm-variable-2,.cm-s-duotone-dark span.cm-variable-3{color:#7a63ee}.cm-s-duotone-dark span.cm-builtin,.cm-s-duotone-dark span.cm-def,.cm-s-duotone-dark span.cm-em,.cm-s-duotone-dark span.cm-header,.cm-s-duotone-dark span.cm-qualifier,.cm-s-duotone-dark span.cm-tag{color:#eeebff}.cm-s-duotone-dark span.cm-bracket,.cm-s-duotone-dark span.cm-comment{color:#6c6783}.cm-s-duotone-dark span.cm-error,.cm-s-duotone-dark span.cm-invalidchar{color:red}.cm-s-duotone-dark span.cm-header{font-weight:400}.cm-s-duotone-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#eeebff!important}
css/min/cmthemes/duotone-light.css CHANGED
@@ -1 +1 @@
1
- .cm-s-duotone-light.CodeMirror{background:#faf8f5;color:#b29762}.cm-s-duotone-light div.CodeMirror-selected{background:#e3dcce!important}.cm-s-duotone-light .CodeMirror-gutters{background:#faf8f5;border-right:0}.cm-s-duotone-light .CodeMirror-linenumber{color:#cdc4b1}.cm-s-duotone-light .CodeMirror-cursor{border-left:1px solid #93abdc;border-right:.5em solid #93abdc;opacity:.5}.cm-s-duotone-light .CodeMirror-activeline-background{background:#e3dcce;opacity:.5}.cm-s-duotone-light .cm-fat-cursor .CodeMirror-cursor{background:#93abdc;opacity:.5}.cm-s-duotone-light span.cm-atom,.cm-s-duotone-light span.cm-attribute,.cm-s-duotone-light span.cm-keyword,.cm-s-duotone-light span.cm-number,.cm-s-duotone-light span.cm-quote,.cm-s-duotone-light span.cm-variable,.cm-s-duotone-light-light span.cm-hr,.cm-s-duotone-light-light span.cm-link{color:#063289}.cm-s-duotone-light span.cm-property{color:#b29762}.cm-s-duotone-light span.cm-negative,.cm-s-duotone-light span.cm-punctuation,.cm-s-duotone-light span.cm-unit{color:#063289}.cm-s-duotone-light span.cm-operator,.cm-s-duotone-light span.cm-string{color:#1659df}.cm-s-duotone-light span.cm-positive,.cm-s-duotone-light span.cm-string-2,.cm-s-duotone-light span.cm-url,.cm-s-duotone-light span.cm-variable-2,.cm-s-duotone-light span.cm-variable-3{color:#896724}.cm-s-duotone-light span.cm-builtin,.cm-s-duotone-light span.cm-def,.cm-s-duotone-light span.cm-em,.cm-s-duotone-light span.cm-header,.cm-s-duotone-light span.cm-qualifier,.cm-s-duotone-light span.cm-tag{color:#2d2006}.cm-s-duotone-light span.cm-bracket,.cm-s-duotone-light span.cm-comment{color:#b6ad9a}.cm-s-duotone-light span.cm-error,.cm-s-duotone-light span.cm-invalidchar{color:red}.cm-s-duotone-light span.cm-header{font-weight:400}.cm-s-duotone-light .CodeMirror-matchingbracket{text-decoration:underline;color:#faf8f5!important}
1
+ .cm-s-duotone-light.CodeMirror{background:#faf8f5;color:#b29762}.cm-s-duotone-light div.CodeMirror-selected{background:#e3dcce!important}.cm-s-duotone-light .CodeMirror-gutters{background:#faf8f5;border-right:0}.cm-s-duotone-light .CodeMirror-linenumber{color:#cdc4b1}.cm-s-duotone-light .CodeMirror-cursor{border-left:1px solid #93abdc;border-right:.5em solid #93abdc;opacity:.5}.cm-s-duotone-light .CodeMirror-activeline-background{background:#e3dcce;opacity:.5}.cm-s-duotone-light .cm-fat-cursor .CodeMirror-cursor{background:#93abdc;opacity:.5}.cm-s-duotone-light span.cm-atom,.cm-s-duotone-light span.cm-attribute,.cm-s-duotone-light span.cm-keyword,.cm-s-duotone-light span.cm-number,.cm-s-duotone-light span.cm-quote,.cm-s-duotone-light span.cm-variable,.cm-s-duotone-light-light span.cm-hr,.cm-s-duotone-light-light span.cm-link{color:#063289}.cm-s-duotone-light span.cm-property{color:#b29762}.cm-s-duotone-light span.cm-negative,.cm-s-duotone-light span.cm-punctuation,.cm-s-duotone-light span.cm-unit{color:#063289}.cm-s-duotone-light span.cm-operator,.cm-s-duotone-light span.cm-string{color:#1659df}.cm-s-duotone-light span.cm-positive,.cm-s-duotone-light span.cm-string-2,.cm-s-duotone-light span.cm-type,.cm-s-duotone-light span.cm-url,.cm-s-duotone-light span.cm-variable-2,.cm-s-duotone-light span.cm-variable-3{color:#896724}.cm-s-duotone-light span.cm-builtin,.cm-s-duotone-light span.cm-def,.cm-s-duotone-light span.cm-em,.cm-s-duotone-light span.cm-header,.cm-s-duotone-light span.cm-qualifier,.cm-s-duotone-light span.cm-tag{color:#2d2006}.cm-s-duotone-light span.cm-bracket,.cm-s-duotone-light span.cm-comment{color:#b6ad9a}.cm-s-duotone-light span.cm-error,.cm-s-duotone-light span.cm-invalidchar{color:red}.cm-s-duotone-light span.cm-header{font-weight:400}.cm-s-duotone-light .CodeMirror-matchingbracket{text-decoration:underline;color:#faf8f5!important}
css/min/cmthemes/eclipse.css CHANGED
@@ -1 +1 @@
1
- .cm-s-eclipse span.cm-meta{color:#ff1717}.cm-s-eclipse span.cm-keyword{line-height:1em;font-weight:700;color:#7f0055}.cm-s-eclipse span.cm-atom{color:#219}.cm-s-eclipse span.cm-number{color:#164}.cm-s-eclipse span.cm-def{color:#00f}.cm-s-eclipse span.cm-variable{color:#000}.cm-s-eclipse span.cm-variable-2,.cm-s-eclipse span.cm-variable-3{color:#0000c0}.cm-s-eclipse span.cm-operator,.cm-s-eclipse span.cm-property{color:#000}.cm-s-eclipse span.cm-comment{color:#3f7f5f}.cm-s-eclipse span.cm-string{color:#2a00ff}.cm-s-eclipse span.cm-string-2{color:#f50}.cm-s-eclipse span.cm-qualifier{color:#555}.cm-s-eclipse span.cm-builtin{color:#30a}.cm-s-eclipse span.cm-bracket{color:#cc7}.cm-s-eclipse span.cm-tag{color:#170}.cm-s-eclipse span.cm-attribute{color:#00c}.cm-s-eclipse span.cm-link{color:#219}.cm-s-eclipse span.cm-error{color:red}.cm-s-eclipse .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-eclipse .CodeMirror-matchingbracket{outline:1px solid gray;color:#000!important}
1
+ .cm-s-eclipse span.cm-meta{color:#ff1717}.cm-s-eclipse span.cm-keyword{line-height:1em;font-weight:700;color:#7f0055}.cm-s-eclipse span.cm-atom{color:#219}.cm-s-eclipse span.cm-number{color:#164}.cm-s-eclipse span.cm-def{color:#00f}.cm-s-eclipse span.cm-variable{color:#000}.cm-s-eclipse span.cm-type,.cm-s-eclipse span.cm-variable-2,.cm-s-eclipse span.cm-variable-3{color:#0000c0}.cm-s-eclipse span.cm-operator,.cm-s-eclipse span.cm-property{color:#000}.cm-s-eclipse span.cm-comment{color:#3f7f5f}.cm-s-eclipse span.cm-string{color:#2a00ff}.cm-s-eclipse span.cm-string-2{color:#f50}.cm-s-eclipse span.cm-qualifier{color:#555}.cm-s-eclipse span.cm-builtin{color:#30a}.cm-s-eclipse span.cm-bracket{color:#cc7}.cm-s-eclipse span.cm-tag{color:#170}.cm-s-eclipse span.cm-attribute{color:#00c}.cm-s-eclipse span.cm-link{color:#219}.cm-s-eclipse span.cm-error{color:red}.cm-s-eclipse .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-eclipse .CodeMirror-matchingbracket{outline:1px solid gray;color:#000!important}
css/min/cmthemes/erlang-dark.css CHANGED
@@ -1 +1 @@
1
- .cm-s-erlang-dark.CodeMirror{background:#002240;color:#fff}.cm-s-erlang-dark div.CodeMirror-selected{background:#b36539}.cm-s-erlang-dark .CodeMirror-line::selection,.cm-s-erlang-dark .CodeMirror-line>span::selection,.cm-s-erlang-dark .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-erlang-dark .CodeMirror-line::-moz-selection,.cm-s-erlang-dark .CodeMirror-line>span::-moz-selection,.cm-s-erlang-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-erlang-dark .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-erlang-dark .CodeMirror-guttermarker{color:#fff}.cm-s-erlang-dark .CodeMirror-guttermarker-subtle,.cm-s-erlang-dark .CodeMirror-linenumber{color:#d0d0d0}.cm-s-erlang-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-erlang-dark span.cm-quote{color:#ccc}.cm-s-erlang-dark span.cm-atom{color:#f133f1}.cm-s-erlang-dark span.cm-attribute{color:#ff80e1}.cm-s-erlang-dark span.cm-bracket{color:#ff9d00}.cm-s-erlang-dark span.cm-builtin{color:#eaa}.cm-s-erlang-dark span.cm-comment{color:#77f}.cm-s-erlang-dark span.cm-def{color:#e7a}.cm-s-erlang-dark span.cm-keyword{color:#ffee80}.cm-s-erlang-dark span.cm-meta{color:#50fefe}.cm-s-erlang-dark span.cm-number{color:#ffd0d0}.cm-s-erlang-dark span.cm-operator{color:#d55}.cm-s-erlang-dark span.cm-property,.cm-s-erlang-dark span.cm-qualifier{color:#ccc}.cm-s-erlang-dark span.cm-special{color:#fbb}.cm-s-erlang-dark span.cm-string{color:#3ad900}.cm-s-erlang-dark span.cm-string-2{color:#ccc}.cm-s-erlang-dark span.cm-tag{color:#9effff}.cm-s-erlang-dark span.cm-variable{color:#50fe50}.cm-s-erlang-dark span.cm-variable-2{color:#e0e}.cm-s-erlang-dark span.cm-variable-3{color:#ccc}.cm-s-erlang-dark span.cm-error{color:#9d1e15}.cm-s-erlang-dark .CodeMirror-activeline-background{background:#013461}.cm-s-erlang-dark .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
1
+ .cm-s-erlang-dark.CodeMirror{background:#002240;color:#fff}.cm-s-erlang-dark div.CodeMirror-selected{background:#b36539}.cm-s-erlang-dark .CodeMirror-line::selection,.cm-s-erlang-dark .CodeMirror-line>span::selection,.cm-s-erlang-dark .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-erlang-dark .CodeMirror-line::-moz-selection,.cm-s-erlang-dark .CodeMirror-line>span::-moz-selection,.cm-s-erlang-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-erlang-dark .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-erlang-dark .CodeMirror-guttermarker{color:#fff}.cm-s-erlang-dark .CodeMirror-guttermarker-subtle,.cm-s-erlang-dark .CodeMirror-linenumber{color:#d0d0d0}.cm-s-erlang-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-erlang-dark span.cm-quote{color:#ccc}.cm-s-erlang-dark span.cm-atom{color:#f133f1}.cm-s-erlang-dark span.cm-attribute{color:#ff80e1}.cm-s-erlang-dark span.cm-bracket{color:#ff9d00}.cm-s-erlang-dark span.cm-builtin{color:#eaa}.cm-s-erlang-dark span.cm-comment{color:#77f}.cm-s-erlang-dark span.cm-def{color:#e7a}.cm-s-erlang-dark span.cm-keyword{color:#ffee80}.cm-s-erlang-dark span.cm-meta{color:#50fefe}.cm-s-erlang-dark span.cm-number{color:#ffd0d0}.cm-s-erlang-dark span.cm-operator{color:#d55}.cm-s-erlang-dark span.cm-property,.cm-s-erlang-dark span.cm-qualifier{color:#ccc}.cm-s-erlang-dark span.cm-special{color:#fbb}.cm-s-erlang-dark span.cm-string{color:#3ad900}.cm-s-erlang-dark span.cm-string-2{color:#ccc}.cm-s-erlang-dark span.cm-tag{color:#9effff}.cm-s-erlang-dark span.cm-variable{color:#50fe50}.cm-s-erlang-dark span.cm-variable-2{color:#e0e}.cm-s-erlang-dark span.cm-type,.cm-s-erlang-dark span.cm-variable-3{color:#ccc}.cm-s-erlang-dark span.cm-error{color:#9d1e15}.cm-s-erlang-dark .CodeMirror-activeline-background{background:#013461}.cm-s-erlang-dark .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
css/min/cmthemes/icecoder.css CHANGED
@@ -1 +1 @@
1
- .cm-s-icecoder{color:#666;background:#1d1d1b}.cm-s-icecoder span.cm-keyword{color:#eee;font-weight:700}.cm-s-icecoder span.cm-atom{color:#e1c76e}.cm-s-icecoder span.cm-number{color:#6cb5d9}.cm-s-icecoder span.cm-def{color:#b9ca4a}.cm-s-icecoder span.cm-variable{color:#6cb5d9}.cm-s-icecoder span.cm-variable-2{color:#cc1e5c}.cm-s-icecoder span.cm-variable-3{color:#f9602c}.cm-s-icecoder span.cm-property{color:#eee}.cm-s-icecoder span.cm-operator{color:#9179bb}.cm-s-icecoder span.cm-comment{color:#97a3aa}.cm-s-icecoder span.cm-string{color:#b9ca4a}.cm-s-icecoder span.cm-string-2{color:#6cb5d9}.cm-s-icecoder span.cm-meta,.cm-s-icecoder span.cm-qualifier{color:#555}.cm-s-icecoder span.cm-builtin{color:#214e7b}.cm-s-icecoder span.cm-bracket{color:#cc7}.cm-s-icecoder span.cm-tag{color:#e8e8e8}.cm-s-icecoder span.cm-attribute{color:#099}.cm-s-icecoder span.cm-header{color:#6a0d6a}.cm-s-icecoder span.cm-quote{color:#186718}.cm-s-icecoder span.cm-hr{color:#888}.cm-s-icecoder span.cm-link{color:#e1c76e}.cm-s-icecoder span.cm-error{color:#d00}.cm-s-icecoder .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-icecoder div.CodeMirror-selected{color:#fff;background:#037}.cm-s-icecoder .CodeMirror-gutters{background:#1d1d1b;min-width:41px;border-right:0}.cm-s-icecoder .CodeMirror-linenumber{color:#555;cursor:default}.cm-s-icecoder .CodeMirror-matchingbracket{color:#fff!important;background:#555!important}.cm-s-icecoder .CodeMirror-activeline-background{background:#000}
1
+ .cm-s-icecoder{color:#666;background:#1d1d1b}.cm-s-icecoder span.cm-keyword{color:#eee;font-weight:700}.cm-s-icecoder span.cm-atom{color:#e1c76e}.cm-s-icecoder span.cm-number{color:#6cb5d9}.cm-s-icecoder span.cm-def{color:#b9ca4a}.cm-s-icecoder span.cm-variable{color:#6cb5d9}.cm-s-icecoder span.cm-variable-2{color:#cc1e5c}.cm-s-icecoder span.cm-type,.cm-s-icecoder span.cm-variable-3{color:#f9602c}.cm-s-icecoder span.cm-property{color:#eee}.cm-s-icecoder span.cm-operator{color:#9179bb}.cm-s-icecoder span.cm-comment{color:#97a3aa}.cm-s-icecoder span.cm-string{color:#b9ca4a}.cm-s-icecoder span.cm-string-2{color:#6cb5d9}.cm-s-icecoder span.cm-meta,.cm-s-icecoder span.cm-qualifier{color:#555}.cm-s-icecoder span.cm-builtin{color:#214e7b}.cm-s-icecoder span.cm-bracket{color:#cc7}.cm-s-icecoder span.cm-tag{color:#e8e8e8}.cm-s-icecoder span.cm-attribute{color:#099}.cm-s-icecoder span.cm-header{color:#6a0d6a}.cm-s-icecoder span.cm-quote{color:#186718}.cm-s-icecoder span.cm-hr{color:#888}.cm-s-icecoder span.cm-link{color:#e1c76e}.cm-s-icecoder span.cm-error{color:#d00}.cm-s-icecoder .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-icecoder div.CodeMirror-selected{color:#fff;background:#037}.cm-s-icecoder .CodeMirror-gutters{background:#1d1d1b;min-width:41px;border-right:0}.cm-s-icecoder .CodeMirror-linenumber{color:#555;cursor:default}.cm-s-icecoder .CodeMirror-matchingbracket{color:#fff!important;background:#555!important}.cm-s-icecoder .CodeMirror-activeline-background{background:#000}
css/min/cmthemes/lesser-dark.css CHANGED
@@ -1 +1 @@
1
- .cm-s-lesser-dark{line-height:1.3em}.cm-s-lesser-dark.CodeMirror{background:#262626;color:#ebefe7;text-shadow:0 -1px 1px #262626}.cm-s-lesser-dark div.CodeMirror-selected{background:#45443b}.cm-s-lesser-dark .CodeMirror-line::selection,.cm-s-lesser-dark .CodeMirror-line>span::selection,.cm-s-lesser-dark .CodeMirror-line>span>span::selection{background:rgba(69,68,59,.99)}.cm-s-lesser-dark .CodeMirror-line::-moz-selection,.cm-s-lesser-dark .CodeMirror-line>span::-moz-selection,.cm-s-lesser-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(69,68,59,.99)}.cm-s-lesser-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-lesser-dark pre{padding:0 8px}.cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket{color:#7efc7e}.cm-s-lesser-dark .CodeMirror-gutters{background:#262626;border-right:1px solid #aaa}.cm-s-lesser-dark .CodeMirror-guttermarker{color:#599eff}.cm-s-lesser-dark .CodeMirror-guttermarker-subtle,.cm-s-lesser-dark .CodeMirror-linenumber{color:#777}.cm-s-lesser-dark span.cm-header{color:#a0a}.cm-s-lesser-dark span.cm-quote{color:#090}.cm-s-lesser-dark span.cm-keyword{color:#599eff}.cm-s-lesser-dark span.cm-atom{color:#c2b470}.cm-s-lesser-dark span.cm-number{color:#b35e4d}.cm-s-lesser-dark span.cm-def{color:#fff}.cm-s-lesser-dark span.cm-variable{color:#d9bf8c}.cm-s-lesser-dark span.cm-variable-2{color:#669199}.cm-s-lesser-dark span.cm-variable-3{color:#fff}.cm-s-lesser-dark span.cm-operator,.cm-s-lesser-dark span.cm-property{color:#92a75c}.cm-s-lesser-dark span.cm-comment{color:#666}.cm-s-lesser-dark span.cm-string{color:#bcd279}.cm-s-lesser-dark span.cm-string-2{color:#f50}.cm-s-lesser-dark span.cm-meta{color:#738c73}.cm-s-lesser-dark span.cm-qualifier{color:#555}.cm-s-lesser-dark span.cm-builtin{color:#ff9e59}.cm-s-lesser-dark span.cm-bracket{color:#ebefe7}.cm-s-lesser-dark span.cm-tag{color:#669199}.cm-s-lesser-dark span.cm-attribute{color:#00c}.cm-s-lesser-dark span.cm-hr{color:#999}.cm-s-lesser-dark span.cm-link{color:#00c}.cm-s-lesser-dark span.cm-error{color:#9d1e15}.cm-s-lesser-dark .CodeMirror-activeline-background{background:#3c3a3a}.cm-s-lesser-dark .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
1
+ .cm-s-lesser-dark{line-height:1.3em}.cm-s-lesser-dark.CodeMirror{background:#262626;color:#ebefe7;text-shadow:0 -1px 1px #262626}.cm-s-lesser-dark div.CodeMirror-selected{background:#45443b}.cm-s-lesser-dark .CodeMirror-line::selection,.cm-s-lesser-dark .CodeMirror-line>span::selection,.cm-s-lesser-dark .CodeMirror-line>span>span::selection{background:rgba(69,68,59,.99)}.cm-s-lesser-dark .CodeMirror-line::-moz-selection,.cm-s-lesser-dark .CodeMirror-line>span::-moz-selection,.cm-s-lesser-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(69,68,59,.99)}.cm-s-lesser-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-lesser-dark pre{padding:0 8px}.cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket{color:#7efc7e}.cm-s-lesser-dark .CodeMirror-gutters{background:#262626;border-right:1px solid #aaa}.cm-s-lesser-dark .CodeMirror-guttermarker{color:#599eff}.cm-s-lesser-dark .CodeMirror-guttermarker-subtle,.cm-s-lesser-dark .CodeMirror-linenumber{color:#777}.cm-s-lesser-dark span.cm-header{color:#a0a}.cm-s-lesser-dark span.cm-quote{color:#090}.cm-s-lesser-dark span.cm-keyword{color:#599eff}.cm-s-lesser-dark span.cm-atom{color:#c2b470}.cm-s-lesser-dark span.cm-number{color:#b35e4d}.cm-s-lesser-dark span.cm-def{color:#fff}.cm-s-lesser-dark span.cm-variable{color:#d9bf8c}.cm-s-lesser-dark span.cm-variable-2{color:#669199}.cm-s-lesser-dark span.cm-type,.cm-s-lesser-dark span.cm-variable-3{color:#fff}.cm-s-lesser-dark span.cm-operator,.cm-s-lesser-dark span.cm-property{color:#92a75c}.cm-s-lesser-dark span.cm-comment{color:#666}.cm-s-lesser-dark span.cm-string{color:#bcd279}.cm-s-lesser-dark span.cm-string-2{color:#f50}.cm-s-lesser-dark span.cm-meta{color:#738c73}.cm-s-lesser-dark span.cm-qualifier{color:#555}.cm-s-lesser-dark span.cm-builtin{color:#ff9e59}.cm-s-lesser-dark span.cm-bracket{color:#ebefe7}.cm-s-lesser-dark span.cm-tag{color:#669199}.cm-s-lesser-dark span.cm-attribute{color:#00c}.cm-s-lesser-dark span.cm-hr{color:#999}.cm-s-lesser-dark span.cm-link{color:#00c}.cm-s-lesser-dark span.cm-error{color:#9d1e15}.cm-s-lesser-dark .CodeMirror-activeline-background{background:#3c3a3a}.cm-s-lesser-dark .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
css/min/cmthemes/liquibyte.css CHANGED
@@ -1 +1 @@
1
- .cm-s-liquibyte.CodeMirror{background-color:#000;color:#fff;line-height:1.2em;font-size:1em}.cm-s-liquibyte .CodeMirror-focused .cm-matchhighlight{text-decoration:underline;text-decoration-color:#0f0;text-decoration-style:wavy}.cm-s-liquibyte .cm-tab,.cm-s-liquibyte .cm-trailingspace{text-decoration:line-through;text-decoration-color:red;text-decoration-style:dotted}.cm-s-liquibyte .cm-tab{text-decoration-color:#404040}.cm-s-liquibyte .CodeMirror-gutters{background-color:#262626;border-right:1px solid #505050;padding-right:.8em}.cm-s-liquibyte .CodeMirror-gutter-elt div{font-size:1.2em}.cm-s-liquibyte .CodeMirror-linenumber{color:#606060;padding-left:0}.cm-s-liquibyte .CodeMirror-cursor{border-left:1px solid #eee}.cm-s-liquibyte span.cm-comment{color:green}.cm-s-liquibyte span.cm-def{color:#ffaf40;font-weight:700}.cm-s-liquibyte span.cm-keyword{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-builtin{color:#ffaf40;font-weight:700}.cm-s-liquibyte span.cm-variable{color:#5967ff;font-weight:700}.cm-s-liquibyte span.cm-string{color:#ff8000}.cm-s-liquibyte .CodeMirror span.CodeMirror-matchingbracket,.cm-s-liquibyte span.cm-number{color:#0f0;font-weight:700}.cm-s-liquibyte span.cm-atom{color:#bf3030;font-weight:700}.cm-s-liquibyte span.cm-variable-2{color:#007f7f;font-weight:700}.cm-s-liquibyte span.cm-variable-3{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-property{color:#999;font-weight:700}.cm-s-liquibyte span.cm-operator{color:#fff}.cm-s-liquibyte span.cm-meta{color:#0f0}.cm-s-liquibyte span.cm-qualifier{color:#fff700;font-weight:700}.cm-s-liquibyte span.cm-bracket{color:#cc7}.cm-s-liquibyte span.cm-tag{color:#ff0;font-weight:700}.cm-s-liquibyte span.cm-attribute{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-error{color:red}.cm-s-liquibyte div.CodeMirror-selected{background-color:rgba(255,0,0,.25)}.cm-s-liquibyte span.cm-compilation{background-color:rgba(255,255,255,.12)}.cm-s-liquibyte .CodeMirror-activeline-background{background-color:rgba(0,255,0,.15)}.cm-s-liquibyte .CodeMirror span.CodeMirror-nonmatchingbracket{color:red;font-weight:700}.CodeMirror-matchingtag{background-color:rgba(150,255,0,.3)}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div:hover,div.CodeMirror-simplescroll-vertical div:hover{background-color:rgba(80,80,80,.7)}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div,div.CodeMirror-simplescroll-vertical div{background-color:rgba(80,80,80,.3);border:1px solid #404040;border-radius:5px}.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div{border-top:1px solid #404040;border-bottom:1px solid #404040}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div{border-left:1px solid #404040;border-right:1px solid #404040}.cm-s-liquibyte div.CodeMirror-simplescroll-vertical{background-color:#262626}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal{background-color:#262626;border-top:1px solid #404040}.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div,div.CodeMirror-overlayscroll-vertical div{background-color:#404040;border-radius:5px}.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div,.cm-s-liquibyte div.CodeMirror-overlayscroll-vertical div{border:1px solid #404040}
1
+ .cm-s-liquibyte.CodeMirror{background-color:#000;color:#fff;line-height:1.2em;font-size:1em}.cm-s-liquibyte .CodeMirror-focused .cm-matchhighlight{text-decoration:underline;text-decoration-color:#0f0;text-decoration-style:wavy}.cm-s-liquibyte .cm-tab,.cm-s-liquibyte .cm-trailingspace{text-decoration:line-through;text-decoration-color:red;text-decoration-style:dotted}.cm-s-liquibyte .cm-tab{text-decoration-color:#404040}.cm-s-liquibyte .CodeMirror-gutters{background-color:#262626;border-right:1px solid #505050;padding-right:.8em}.cm-s-liquibyte .CodeMirror-gutter-elt div{font-size:1.2em}.cm-s-liquibyte .CodeMirror-linenumber{color:#606060;padding-left:0}.cm-s-liquibyte .CodeMirror-cursor{border-left:1px solid #eee}.cm-s-liquibyte span.cm-comment{color:green}.cm-s-liquibyte span.cm-def{color:#ffaf40;font-weight:700}.cm-s-liquibyte span.cm-keyword{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-builtin{color:#ffaf40;font-weight:700}.cm-s-liquibyte span.cm-variable{color:#5967ff;font-weight:700}.cm-s-liquibyte span.cm-string{color:#ff8000}.cm-s-liquibyte .CodeMirror span.CodeMirror-matchingbracket,.cm-s-liquibyte span.cm-number{color:#0f0;font-weight:700}.cm-s-liquibyte span.cm-atom{color:#bf3030;font-weight:700}.cm-s-liquibyte span.cm-variable-2{color:#007f7f;font-weight:700}.cm-s-liquibyte span.cm-type,.cm-s-liquibyte span.cm-variable-3{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-property{color:#999;font-weight:700}.cm-s-liquibyte span.cm-operator{color:#fff}.cm-s-liquibyte span.cm-meta{color:#0f0}.cm-s-liquibyte span.cm-qualifier{color:#fff700;font-weight:700}.cm-s-liquibyte span.cm-bracket{color:#cc7}.cm-s-liquibyte span.cm-tag{color:#ff0;font-weight:700}.cm-s-liquibyte span.cm-attribute{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-error{color:red}.cm-s-liquibyte div.CodeMirror-selected{background-color:rgba(255,0,0,.25)}.cm-s-liquibyte span.cm-compilation{background-color:rgba(255,255,255,.12)}.cm-s-liquibyte .CodeMirror-activeline-background{background-color:rgba(0,255,0,.15)}.cm-s-liquibyte .CodeMirror span.CodeMirror-nonmatchingbracket{color:red;font-weight:700}.CodeMirror-matchingtag{background-color:rgba(150,255,0,.3)}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div:hover,.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div:hover{background-color:rgba(80,80,80,.7)}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div,.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div{background-color:rgba(80,80,80,.3);border:1px solid #404040;border-radius:5px}.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div{border-top:1px solid #404040;border-bottom:1px solid #404040}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div{border-left:1px solid #404040;border-right:1px solid #404040}.cm-s-liquibyte div.CodeMirror-simplescroll-vertical{background-color:#262626}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal{background-color:#262626;border-top:1px solid #404040}.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div,div.CodeMirror-overlayscroll-vertical div{background-color:#404040;border-radius:5px}.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div,.cm-s-liquibyte div.CodeMirror-overlayscroll-vertical div{border:1px solid #404040}
css/min/cmthemes/material.css CHANGED
@@ -1 +1 @@
1
- .cm-s-material.CodeMirror{background-color:#263238;color:#e9eded}.cm-s-material .CodeMirror-gutters{background:#263238;color:#537f7e;border:none}.cm-s-material .CodeMirror-guttermarker,.cm-s-material .CodeMirror-guttermarker-subtle,.cm-s-material .CodeMirror-linenumber{color:#537f7e}.cm-s-material .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-material div.CodeMirror-selected{background:rgba(255,255,255,.15)}.cm-s-material.CodeMirror-focused div.CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-material .CodeMirror-line::selection,.cm-s-material .CodeMirror-line>span::selection,.cm-s-material .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-material .CodeMirror-line::-moz-selection,.cm-s-material .CodeMirror-line>span::-moz-selection,.cm-s-material .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-material .CodeMirror-activeline-background{background:rgba(0,0,0,0)}.cm-s-material .cm-keyword{color:#c792ea}.cm-s-material .cm-operator{color:#e9eded}.cm-s-material .cm-variable-2{color:#80cbc4}.cm-s-material .cm-builtin{color:#decb6b}.cm-s-material .cm-atom,.cm-s-material .cm-number{color:#f77669}.cm-s-material .cm-def{color:#e9eded}.cm-s-material .cm-string{color:#c3e88d}.cm-s-material .cm-string-2{color:#80cbc4}.cm-s-material .cm-comment{color:#546e7a}.cm-s-material .cm-variable{color:#82b1ff}.cm-s-material .cm-meta{color:#80cbc4}.cm-s-material .cm-attribute{color:#ffcb6b}.cm-s-material .cm-property{color:#80cbae}.cm-s-material .cm-qualifier,.cm-s-material .cm-variable-3{color:#decb6b}.cm-s-material .cm-tag{color:#ff5370}.cm-s-material .cm-error{color:#fff;background-color:#ec5f67}.cm-s-material .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
1
+ .cm-s-material.CodeMirror{background-color:#263238;color:#e9eded}.cm-s-material .CodeMirror-gutters{background:#263238;color:#537f7e;border:none}.cm-s-material .CodeMirror-guttermarker,.cm-s-material .CodeMirror-guttermarker-subtle,.cm-s-material .CodeMirror-linenumber{color:#537f7e}.cm-s-material .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-material div.CodeMirror-selected{background:rgba(255,255,255,.15)}.cm-s-material.CodeMirror-focused div.CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-material .CodeMirror-line::selection,.cm-s-material .CodeMirror-line>span::selection,.cm-s-material .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-material .CodeMirror-line::-moz-selection,.cm-s-material .CodeMirror-line>span::-moz-selection,.cm-s-material .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-material .CodeMirror-activeline-background{background:rgba(0,0,0,0)}.cm-s-material .cm-keyword{color:#c792ea}.cm-s-material .cm-operator{color:#e9eded}.cm-s-material .cm-variable-2{color:#80cbc4}.cm-s-material .cm-builtin{color:#decb6b}.cm-s-material .cm-atom,.cm-s-material .cm-number{color:#f77669}.cm-s-material .cm-def{color:#e9eded}.cm-s-material .cm-string{color:#c3e88d}.cm-s-material .cm-string-2{color:#80cbc4}.cm-s-material .cm-comment{color:#546e7a}.cm-s-material .cm-variable{color:#82b1ff}.cm-s-material .cm-meta{color:#80cbc4}.cm-s-material .cm-attribute{color:#ffcb6b}.cm-s-material .cm-property{color:#80cbae}.cm-s-material .cm-qualifier,.cm-s-material .cm-type,.cm-s-material .cm-variable-3{color:#decb6b}.cm-s-material .cm-tag{color:#ff5370}.cm-s-material .cm-error{color:#fff;background-color:#ec5f67}.cm-s-material .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
css/min/cmthemes/mdn-like.css CHANGED
@@ -1 +1 @@
1
- .cm-s-mdn-like.CodeMirror{color:#999;background-color:#fff}.cm-s-mdn-like div.CodeMirror-selected{background:#cfc}.cm-s-mdn-like .CodeMirror-line::selection,.cm-s-mdn-like .CodeMirror-line>span::selection,.cm-s-mdn-like .CodeMirror-line>span>span::selection{background:#cfc}.cm-s-mdn-like .CodeMirror-line::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span>span::-moz-selection{background:#cfc}.cm-s-mdn-like .CodeMirror-gutters{background:#f8f8f8;border-left:6px solid rgba(0,83,159,.65);color:#333}.cm-s-mdn-like .CodeMirror-linenumber{color:#aaa;padding-left:8px}.cm-s-mdn-like .CodeMirror-cursor{border-left:2px solid #222}.cm-s-mdn-like .cm-keyword{color:#6262ff}.cm-s-mdn-like .cm-atom{color:#f90}.cm-s-mdn-like .cm-number{color:#ca7841}.cm-s-mdn-like .cm-def{color:#8da6ce}.cm-s-mdn-like span.cm-tag,.cm-s-mdn-like span.cm-variable-2{color:#690}.cm-s-mdn-like .cm-variable,.cm-s-mdn-like span.cm-def,.cm-s-mdn-like span.cm-variable-3{color:#07a}.cm-s-mdn-like .cm-property{color:#905}.cm-s-mdn-like .cm-qualifier{color:#690}.cm-s-mdn-like .cm-operator{color:#cda869}.cm-s-mdn-like .cm-comment{color:#777;font-weight:400}.cm-s-mdn-like .cm-string{color:#07a;font-style:italic}.cm-s-mdn-like .cm-string-2{color:#bd6b18}.cm-s-mdn-like .cm-meta{color:#000}.cm-s-mdn-like .cm-builtin{color:#9b7536}.cm-s-mdn-like .cm-tag{color:#997643}.cm-s-mdn-like .cm-attribute{color:#d6bb6d}.cm-s-mdn-like .cm-header{color:#ff6400}.cm-s-mdn-like .cm-hr{color:#aeaeae}.cm-s-mdn-like .cm-link{color:#ad9361;font-style:italic;text-decoration:none}.cm-s-mdn-like .cm-error{border-bottom:1px solid red}div.cm-s-mdn-like .CodeMirror-activeline-background{background:#efefff}div.cm-s-mdn-like span.CodeMirror-matchingbracket{outline:1px solid gray;color:inherit}.cm-s-mdn-like.CodeMirror{background-image:url(data:image/png;base64,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)}
1
+ .cm-s-mdn-like.CodeMirror{color:#999;background-color:#fff}.cm-s-mdn-like div.CodeMirror-selected{background:#cfc}.cm-s-mdn-like .CodeMirror-line::selection,.cm-s-mdn-like .CodeMirror-line>span::selection,.cm-s-mdn-like .CodeMirror-line>span>span::selection{background:#cfc}.cm-s-mdn-like .CodeMirror-line::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span>span::-moz-selection{background:#cfc}.cm-s-mdn-like .CodeMirror-gutters{background:#f8f8f8;border-left:6px solid rgba(0,83,159,.65);color:#333}.cm-s-mdn-like .CodeMirror-linenumber{color:#aaa;padding-left:8px}.cm-s-mdn-like .CodeMirror-cursor{border-left:2px solid #222}.cm-s-mdn-like .cm-keyword{color:#6262ff}.cm-s-mdn-like .cm-atom{color:#f90}.cm-s-mdn-like .cm-number{color:#ca7841}.cm-s-mdn-like .cm-def{color:#8da6ce}.cm-s-mdn-like span.cm-tag,.cm-s-mdn-like span.cm-variable-2{color:#690}.cm-s-mdn-like .cm-variable,.cm-s-mdn-like span.cm-def,.cm-s-mdn-like span.cm-type,.cm-s-mdn-like span.cm-variable-3{color:#07a}.cm-s-mdn-like .cm-property{color:#905}.cm-s-mdn-like .cm-qualifier{color:#690}.cm-s-mdn-like .cm-operator{color:#cda869}.cm-s-mdn-like .cm-comment{color:#777;font-weight:400}.cm-s-mdn-like .cm-string{color:#07a;font-style:italic}.cm-s-mdn-like .cm-string-2{color:#bd6b18}.cm-s-mdn-like .cm-meta{color:#000}.cm-s-mdn-like .cm-builtin{color:#9b7536}.cm-s-mdn-like .cm-tag{color:#997643}.cm-s-mdn-like .cm-attribute{color:#d6bb6d}.cm-s-mdn-like .cm-header{color:#ff6400}.cm-s-mdn-like .cm-hr{color:#aeaeae}.cm-s-mdn-like .cm-link{color:#ad9361;font-style:italic;text-decoration:none}.cm-s-mdn-like .cm-error{border-bottom:1px solid red}div.cm-s-mdn-like .CodeMirror-activeline-background{background:#efefff}div.cm-s-mdn-like span.CodeMirror-matchingbracket{outline:1px solid gray;color:inherit}.cm-s-mdn-like.CodeMirror{background-image:url(data:image/png;base64,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)}
css/min/cmthemes/midnight.css CHANGED
@@ -1 +1 @@
1
- .cm-s-midnight span.CodeMirror-matchhighlight{background:#494949}.cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight{background:#314d67!important}.cm-s-midnight .CodeMirror-activeline-background{background:#253540}.cm-s-midnight.CodeMirror{background:#0f192a;color:#d1edff;border-top:1px solid #000;border-bottom:1px solid #000}.cm-s-midnight div.CodeMirror-selected{background:#314d67}.cm-s-midnight .CodeMirror-line::selection,.cm-s-midnight .CodeMirror-line>span::selection,.cm-s-midnight .CodeMirror-line>span>span::selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-line::-moz-selection,.cm-s-midnight .CodeMirror-line>span::-moz-selection,.cm-s-midnight .CodeMirror-line>span>span::-moz-selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-gutters{background:#0f192a;border-right:1px solid}.cm-s-midnight .CodeMirror-guttermarker{color:#fff}.cm-s-midnight .CodeMirror-guttermarker-subtle,.cm-s-midnight .CodeMirror-linenumber{color:#d0d0d0}.cm-s-midnight .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-midnight span.cm-comment{color:#428bdd}.cm-s-midnight span.cm-atom{color:#ae81ff}.cm-s-midnight span.cm-number{color:#d1edff}.cm-s-midnight span.cm-attribute,.cm-s-midnight span.cm-property{color:#a6e22e}.cm-s-midnight span.cm-keyword{color:#e83737}.cm-s-midnight span.cm-string{color:#1dc116}.cm-s-midnight span.cm-variable,.cm-s-midnight span.cm-variable-2{color:#ffaa3e}.cm-s-midnight span.cm-def{color:#4dd}.cm-s-midnight span.cm-bracket{color:#d1edff}.cm-s-midnight span.cm-tag{color:#449}.cm-s-midnight span.cm-link{color:#ae81ff}.cm-s-midnight span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-midnight .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
1
+ .cm-s-midnight span.CodeMirror-matchhighlight{background:#494949}.cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight{background:#314d67!important}.cm-s-midnight .CodeMirror-activeline-background{background:#253540}.cm-s-midnight.CodeMirror{background:#0f192a;color:#d1edff}.cm-s-midnight div.CodeMirror-selected{background:#314d67}.cm-s-midnight .CodeMirror-line::selection,.cm-s-midnight .CodeMirror-line>span::selection,.cm-s-midnight .CodeMirror-line>span>span::selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-line::-moz-selection,.cm-s-midnight .CodeMirror-line>span::-moz-selection,.cm-s-midnight .CodeMirror-line>span>span::-moz-selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-gutters{background:#0f192a;border-right:1px solid}.cm-s-midnight .CodeMirror-guttermarker{color:#fff}.cm-s-midnight .CodeMirror-guttermarker-subtle,.cm-s-midnight .CodeMirror-linenumber{color:#d0d0d0}.cm-s-midnight .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-midnight span.cm-comment{color:#428bdd}.cm-s-midnight span.cm-atom{color:#ae81ff}.cm-s-midnight span.cm-number{color:#d1edff}.cm-s-midnight span.cm-attribute,.cm-s-midnight span.cm-property{color:#a6e22e}.cm-s-midnight span.cm-keyword{color:#e83737}.cm-s-midnight span.cm-string{color:#1dc116}.cm-s-midnight span.cm-variable,.cm-s-midnight span.cm-variable-2{color:#ffaa3e}.cm-s-midnight span.cm-def{color:#4dd}.cm-s-midnight span.cm-bracket{color:#d1edff}.cm-s-midnight span.cm-tag{color:#449}.cm-s-midnight span.cm-link{color:#ae81ff}.cm-s-midnight span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-midnight .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
css/min/cmthemes/monokai.css CHANGED
@@ -1 +1 @@
1
- .cm-s-monokai.CodeMirror{background:#272822;color:#f8f8f2}.cm-s-monokai div.CodeMirror-selected{background:#49483e}.cm-s-monokai .CodeMirror-line::selection,.cm-s-monokai .CodeMirror-line>span::selection,.cm-s-monokai .CodeMirror-line>span>span::selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-line::-moz-selection,.cm-s-monokai .CodeMirror-line>span::-moz-selection,.cm-s-monokai .CodeMirror-line>span>span::-moz-selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-gutters{background:#272822;border-right:0}.cm-s-monokai .CodeMirror-guttermarker{color:#fff}.cm-s-monokai .CodeMirror-guttermarker-subtle,.cm-s-monokai .CodeMirror-linenumber{color:#d0d0d0}.cm-s-monokai .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-monokai span.cm-comment{color:#75715e}.cm-s-monokai span.cm-atom,.cm-s-monokai span.cm-number{color:#ae81ff}.cm-s-monokai span.cm-attribute,.cm-s-monokai span.cm-property{color:#a6e22e}.cm-s-monokai span.cm-keyword{color:#f92672}.cm-s-monokai span.cm-builtin{color:#66d9ef}.cm-s-monokai span.cm-string{color:#e6db74}.cm-s-monokai span.cm-variable{color:#f8f8f2}.cm-s-monokai span.cm-variable-2{color:#9effff}.cm-s-monokai span.cm-variable-3{color:#66d9ef}.cm-s-monokai span.cm-def{color:#fd971f}.cm-s-monokai span.cm-bracket{color:#f8f8f2}.cm-s-monokai span.cm-tag{color:#f92672}.cm-s-monokai span.cm-header,.cm-s-monokai span.cm-link{color:#ae81ff}.cm-s-monokai span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-monokai .CodeMirror-activeline-background{background:#373831}.cm-s-monokai .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
1
+ .cm-s-monokai.CodeMirror{background:#272822;color:#f8f8f2}.cm-s-monokai div.CodeMirror-selected{background:#49483e}.cm-s-monokai .CodeMirror-line::selection,.cm-s-monokai .CodeMirror-line>span::selection,.cm-s-monokai .CodeMirror-line>span>span::selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-line::-moz-selection,.cm-s-monokai .CodeMirror-line>span::-moz-selection,.cm-s-monokai .CodeMirror-line>span>span::-moz-selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-gutters{background:#272822;border-right:0}.cm-s-monokai .CodeMirror-guttermarker{color:#fff}.cm-s-monokai .CodeMirror-guttermarker-subtle,.cm-s-monokai .CodeMirror-linenumber{color:#d0d0d0}.cm-s-monokai .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-monokai span.cm-comment{color:#75715e}.cm-s-monokai span.cm-atom,.cm-s-monokai span.cm-number{color:#ae81ff}.cm-s-monokai span.cm-attribute,.cm-s-monokai span.cm-property{color:#a6e22e}.cm-s-monokai span.cm-keyword{color:#f92672}.cm-s-monokai span.cm-builtin{color:#66d9ef}.cm-s-monokai span.cm-string{color:#e6db74}.cm-s-monokai span.cm-variable{color:#f8f8f2}.cm-s-monokai span.cm-variable-2{color:#9effff}.cm-s-monokai span.cm-type,.cm-s-monokai span.cm-variable-3{color:#66d9ef}.cm-s-monokai span.cm-def{color:#fd971f}.cm-s-monokai span.cm-bracket{color:#f8f8f2}.cm-s-monokai span.cm-tag{color:#f92672}.cm-s-monokai span.cm-header,.cm-s-monokai span.cm-link{color:#ae81ff}.cm-s-monokai span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-monokai .CodeMirror-activeline-background{background:#373831}.cm-s-monokai .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
css/min/cmthemes/night.css CHANGED
@@ -1 +1 @@
1
- .cm-s-night.CodeMirror{background:#0a001f;color:#f8f8f8}.cm-s-night div.CodeMirror-selected{background:#447}.cm-s-night .CodeMirror-line::selection,.cm-s-night .CodeMirror-line>span::selection,.cm-s-night .CodeMirror-line>span>span::selection{background:rgba(68,68,119,.99)}.cm-s-night .CodeMirror-line::-moz-selection,.cm-s-night .CodeMirror-line>span::-moz-selection,.cm-s-night .CodeMirror-line>span>span::-moz-selection{background:rgba(68,68,119,.99)}.cm-s-night .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-night .CodeMirror-guttermarker{color:#fff}.cm-s-night .CodeMirror-guttermarker-subtle{color:#bbb}.cm-s-night .CodeMirror-linenumber{color:#f8f8f8}.cm-s-night .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-night span.cm-comment{color:#8900d1}.cm-s-night span.cm-atom{color:#845dc4}.cm-s-night span.cm-attribute,.cm-s-night span.cm-number{color:#ffd500}.cm-s-night span.cm-keyword{color:#599eff}.cm-s-night span.cm-string{color:#37f14a}.cm-s-night span.cm-meta{color:#7678e2}.cm-s-night span.cm-tag,.cm-s-night span.cm-variable-2{color:#99b2ff}.cm-s-night span.cm-def,.cm-s-night span.cm-variable-3{color:#fff}.cm-s-night span.cm-bracket{color:#8da6ce}.cm-s-night span.cm-builtin,.cm-s-night span.cm-special{color:#ff9e59}.cm-s-night span.cm-link{color:#845dc4}.cm-s-night span.cm-error{color:#9d1e15}.cm-s-night .CodeMirror-activeline-background{background:#1c005a}.cm-s-night .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
1
+ .cm-s-night.CodeMirror{background:#0a001f;color:#f8f8f8}.cm-s-night div.CodeMirror-selected{background:#447}.cm-s-night .CodeMirror-line::selection,.cm-s-night .CodeMirror-line>span::selection,.cm-s-night .CodeMirror-line>span>span::selection{background:rgba(68,68,119,.99)}.cm-s-night .CodeMirror-line::-moz-selection,.cm-s-night .CodeMirror-line>span::-moz-selection,.cm-s-night .CodeMirror-line>span>span::-moz-selection{background:rgba(68,68,119,.99)}.cm-s-night .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-night .CodeMirror-guttermarker{color:#fff}.cm-s-night .CodeMirror-guttermarker-subtle{color:#bbb}.cm-s-night .CodeMirror-linenumber{color:#f8f8f8}.cm-s-night .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-night span.cm-comment{color:#8900d1}.cm-s-night span.cm-atom{color:#845dc4}.cm-s-night span.cm-attribute,.cm-s-night span.cm-number{color:#ffd500}.cm-s-night span.cm-keyword{color:#599eff}.cm-s-night span.cm-string{color:#37f14a}.cm-s-night span.cm-meta{color:#7678e2}.cm-s-night span.cm-tag,.cm-s-night span.cm-variable-2{color:#99b2ff}.cm-s-night span.cm-def,.cm-s-night span.cm-type,.cm-s-night span.cm-variable-3{color:#fff}.cm-s-night span.cm-bracket{color:#8da6ce}.cm-s-night span.cm-builtin,.cm-s-night span.cm-special{color:#ff9e59}.cm-s-night span.cm-link{color:#845dc4}.cm-s-night span.cm-error{color:#9d1e15}.cm-s-night .CodeMirror-activeline-background{background:#1c005a}.cm-s-night .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
css/min/cmthemes/panda-syntax.css CHANGED
@@ -1 +1 @@
1
- .cm-s-panda-syntax{background:#292a2b;color:#e6e6e6;line-height:1.5;font-family:'Operator Mono','Source Sans Pro',Menlo,Monaco,Consolas,Courier New,monospace}.cm-s-panda-syntax .CodeMirror-cursor{border-color:#ff2c6d}.cm-s-panda-syntax .CodeMirror-activeline-background{background:rgba(99,123,156,.1)}.cm-s-panda-syntax .CodeMirror-selected{background:#fff}.cm-s-panda-syntax .cm-comment{font-style:italic;color:#676b79}.cm-s-panda-syntax .cm-operator{color:#f3f3f3}.cm-s-panda-syntax .cm-string{color:#19f9d8}.cm-s-panda-syntax .cm-string-2{color:#ffb86c}.cm-s-panda-syntax .cm-tag{color:#ff2c6d}.cm-s-panda-syntax .cm-meta{color:#b084eb}.cm-s-panda-syntax .cm-number{color:#ffb86c}.cm-s-panda-syntax .cm-atom{color:#ff2c6d}.cm-s-panda-syntax .cm-keyword{color:#ff75b5}.cm-s-panda-syntax .cm-variable{color:#ffb86c}.cm-s-panda-syntax .cm-variable-2,.cm-s-panda-syntax .cm-variable-3{color:#ff9ac1}.cm-s-panda-syntax .cm-def{color:#e6e6e6}.cm-s-panda-syntax .cm-property{color:#f3f3f3}.cm-s-panda-syntax .cm-attribute,.cm-s-panda-syntax .cm-unit{color:#ffb86c}.cm-s-panda-syntax .CodeMirror-matchingbracket{border-bottom:1px dotted #19f9d8;padding-bottom:2px;color:#e6e6e6}.cm-s-panda-syntax .CodeMirror-gutters{background:#292a2b;border-right-color:rgba(255,255,255,.1)}.cm-s-panda-syntax .CodeMirror-linenumber{color:#e6e6e6;opacity:.6}
1
+ .cm-s-panda-syntax{background:#292a2b;color:#e6e6e6;line-height:1.5;font-family:'Operator Mono','Source Sans Pro',Menlo,Monaco,Consolas,Courier New,monospace}.cm-s-panda-syntax .CodeMirror-cursor{border-color:#ff2c6d}.cm-s-panda-syntax .CodeMirror-activeline-background{background:rgba(99,123,156,.1)}.cm-s-panda-syntax .CodeMirror-selected{background:#fff}.cm-s-panda-syntax .cm-comment{font-style:italic;color:#676b79}.cm-s-panda-syntax .cm-operator{color:#f3f3f3}.cm-s-panda-syntax .cm-string{color:#19f9d8}.cm-s-panda-syntax .cm-string-2{color:#ffb86c}.cm-s-panda-syntax .cm-tag{color:#ff2c6d}.cm-s-panda-syntax .cm-meta{color:#b084eb}.cm-s-panda-syntax .cm-number{color:#ffb86c}.cm-s-panda-syntax .cm-atom{color:#ff2c6d}.cm-s-panda-syntax .cm-keyword{color:#ff75b5}.cm-s-panda-syntax .cm-variable{color:#ffb86c}.cm-s-panda-syntax .cm-type,.cm-s-panda-syntax .cm-variable-2,.cm-s-panda-syntax .cm-variable-3{color:#ff9ac1}.cm-s-panda-syntax .cm-def{color:#e6e6e6}.cm-s-panda-syntax .cm-property{color:#f3f3f3}.cm-s-panda-syntax .cm-attribute,.cm-s-panda-syntax .cm-unit{color:#ffb86c}.cm-s-panda-syntax .CodeMirror-matchingbracket{border-bottom:1px dotted #19f9d8;padding-bottom:2px;color:#e6e6e6}.cm-s-panda-syntax .CodeMirror-gutters{background:#292a2b;border-right-color:rgba(255,255,255,.1)}.cm-s-panda-syntax .CodeMirror-linenumber{color:#e6e6e6;opacity:.6}
css/min/cmthemes/pastel-on-dark.css CHANGED
@@ -1 +1 @@
1
- .cm-s-pastel-on-dark.CodeMirror{background:#2c2827;color:#8f938f;line-height:1.5}.cm-s-pastel-on-dark div.CodeMirror-selected{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::selection,.cm-s-pastel-on-dark .CodeMirror-line>span::selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-gutters{background:#34302f;border-right:0;padding:0 3px}.cm-s-pastel-on-dark .CodeMirror-guttermarker{color:#fff}.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle,.cm-s-pastel-on-dark .CodeMirror-linenumber{color:#8f938f}.cm-s-pastel-on-dark .CodeMirror-cursor{border-left:1px solid #a7a7a7}.cm-s-pastel-on-dark span.cm-comment{color:#a6c6ff}.cm-s-pastel-on-dark span.cm-atom{color:#de8e30}.cm-s-pastel-on-dark span.cm-number{color:#ccc}.cm-s-pastel-on-dark span.cm-property{color:#8f938f}.cm-s-pastel-on-dark span.cm-attribute{color:#a6e22e}.cm-s-pastel-on-dark span.cm-keyword{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-string{color:#66a968}.cm-s-pastel-on-dark span.cm-variable{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-variable-2{color:#bebf55}.cm-s-pastel-on-dark span.cm-variable-3{color:#de8e30}.cm-s-pastel-on-dark span.cm-def{color:#757ad8}.cm-s-pastel-on-dark span.cm-bracket{color:#f8f8f2}.cm-s-pastel-on-dark span.cm-tag{color:#c1c144}.cm-s-pastel-on-dark span.cm-link{color:#ae81ff}.cm-s-pastel-on-dark span.cm-builtin,.cm-s-pastel-on-dark span.cm-qualifier{color:#c1c144}.cm-s-pastel-on-dark span.cm-error{background:#757ad8;color:#f8f8f0}.cm-s-pastel-on-dark .CodeMirror-activeline-background{background:rgba(255,255,255,.031)}.cm-s-pastel-on-dark .CodeMirror-matchingbracket{border:1px solid rgba(255,255,255,.25);color:#8f938f!important;margin:-1px -1px 0}
1
+ .cm-s-pastel-on-dark.CodeMirror{background:#2c2827;color:#8f938f;line-height:1.5}.cm-s-pastel-on-dark div.CodeMirror-selected{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::selection,.cm-s-pastel-on-dark .CodeMirror-line>span::selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-gutters{background:#34302f;border-right:0;padding:0 3px}.cm-s-pastel-on-dark .CodeMirror-guttermarker{color:#fff}.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle,.cm-s-pastel-on-dark .CodeMirror-linenumber{color:#8f938f}.cm-s-pastel-on-dark .CodeMirror-cursor{border-left:1px solid #a7a7a7}.cm-s-pastel-on-dark span.cm-comment{color:#a6c6ff}.cm-s-pastel-on-dark span.cm-atom{color:#de8e30}.cm-s-pastel-on-dark span.cm-number{color:#ccc}.cm-s-pastel-on-dark span.cm-property{color:#8f938f}.cm-s-pastel-on-dark span.cm-attribute{color:#a6e22e}.cm-s-pastel-on-dark span.cm-keyword{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-string{color:#66a968}.cm-s-pastel-on-dark span.cm-variable{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-variable-2{color:#bebf55}.cm-s-pastel-on-dark span.cm-type,.cm-s-pastel-on-dark span.cm-variable-3{color:#de8e30}.cm-s-pastel-on-dark span.cm-def{color:#757ad8}.cm-s-pastel-on-dark span.cm-bracket{color:#f8f8f2}.cm-s-pastel-on-dark span.cm-tag{color:#c1c144}.cm-s-pastel-on-dark span.cm-link{color:#ae81ff}.cm-s-pastel-on-dark span.cm-builtin,.cm-s-pastel-on-dark span.cm-qualifier{color:#c1c144}.cm-s-pastel-on-dark span.cm-error{background:#757ad8;color:#f8f8f0}.cm-s-pastel-on-dark .CodeMirror-activeline-background{background:rgba(255,255,255,.031)}.cm-s-pastel-on-dark .CodeMirror-matchingbracket{border:1px solid rgba(255,255,255,.25);color:#8f938f!important;margin:-1px -1px 0}
css/min/cmthemes/rubyblue.css CHANGED
@@ -1 +1 @@
1
- .cm-s-rubyblue.CodeMirror{background:#112435;color:#fff}.cm-s-rubyblue div.CodeMirror-selected{background:#38566f}.cm-s-rubyblue .CodeMirror-line::selection,.cm-s-rubyblue .CodeMirror-line>span::selection,.cm-s-rubyblue .CodeMirror-line>span>span::selection{background:rgba(56,86,111,.99)}.cm-s-rubyblue .CodeMirror-line::-moz-selection,.cm-s-rubyblue .CodeMirror-line>span::-moz-selection,.cm-s-rubyblue .CodeMirror-line>span>span::-moz-selection{background:rgba(56,86,111,.99)}.cm-s-rubyblue .CodeMirror-gutters{background:#1f4661;border-right:7px solid #3e7087}.cm-s-rubyblue .CodeMirror-guttermarker{color:#fff}.cm-s-rubyblue .CodeMirror-guttermarker-subtle{color:#3e7087}.cm-s-rubyblue .CodeMirror-linenumber{color:#fff}.cm-s-rubyblue .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-rubyblue span.cm-comment{color:#999;font-style:italic;line-height:1em}.cm-s-rubyblue span.cm-atom{color:#f4c20b}.cm-s-rubyblue span.cm-attribute,.cm-s-rubyblue span.cm-number{color:#82c6e0}.cm-s-rubyblue span.cm-keyword{color:#f0f}.cm-s-rubyblue span.cm-string{color:#f08047}.cm-s-rubyblue span.cm-meta{color:#f0f}.cm-s-rubyblue span.cm-tag,.cm-s-rubyblue span.cm-variable-2{color:#7bd827}.cm-s-rubyblue span.cm-def,.cm-s-rubyblue span.cm-variable-3{color:#fff}.cm-s-rubyblue span.cm-bracket{color:#f0f}.cm-s-rubyblue span.cm-link{color:#f4c20b}.cm-s-rubyblue span.CodeMirror-matchingbracket{color:#f0f!important}.cm-s-rubyblue span.cm-builtin,.cm-s-rubyblue span.cm-special{color:#ff9d00}.cm-s-rubyblue span.cm-error{color:#af2018}.cm-s-rubyblue .CodeMirror-activeline-background{background:#173047}
1
+ .cm-s-rubyblue.CodeMirror{background:#112435;color:#fff}.cm-s-rubyblue div.CodeMirror-selected{background:#38566f}.cm-s-rubyblue .CodeMirror-line::selection,.cm-s-rubyblue .CodeMirror-line>span::selection,.cm-s-rubyblue .CodeMirror-line>span>span::selection{background:rgba(56,86,111,.99)}.cm-s-rubyblue .CodeMirror-line::-moz-selection,.cm-s-rubyblue .CodeMirror-line>span::-moz-selection,.cm-s-rubyblue .CodeMirror-line>span>span::-moz-selection{background:rgba(56,86,111,.99)}.cm-s-rubyblue .CodeMirror-gutters{background:#1f4661;border-right:7px solid #3e7087}.cm-s-rubyblue .CodeMirror-guttermarker{color:#fff}.cm-s-rubyblue .CodeMirror-guttermarker-subtle{color:#3e7087}.cm-s-rubyblue .CodeMirror-linenumber{color:#fff}.cm-s-rubyblue .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-rubyblue span.cm-comment{color:#999;font-style:italic;line-height:1em}.cm-s-rubyblue span.cm-atom{color:#f4c20b}.cm-s-rubyblue span.cm-attribute,.cm-s-rubyblue span.cm-number{color:#82c6e0}.cm-s-rubyblue span.cm-keyword{color:#f0f}.cm-s-rubyblue span.cm-string{color:#f08047}.cm-s-rubyblue span.cm-meta{color:#f0f}.cm-s-rubyblue span.cm-tag,.cm-s-rubyblue span.cm-variable-2{color:#7bd827}.cm-s-rubyblue span.cm-def,.cm-s-rubyblue span.cm-type,.cm-s-rubyblue span.cm-variable-3{color:#fff}.cm-s-rubyblue span.cm-bracket{color:#f0f}.cm-s-rubyblue span.cm-link{color:#f4c20b}.cm-s-rubyblue span.CodeMirror-matchingbracket{color:#f0f!important}.cm-s-rubyblue span.cm-builtin,.cm-s-rubyblue span.cm-special{color:#ff9d00}.cm-s-rubyblue span.cm-error{color:#af2018}.cm-s-rubyblue .CodeMirror-activeline-background{background:#173047}
css/min/cmthemes/seti.css CHANGED
@@ -1 +1 @@
1
- .cm-s-seti.CodeMirror{background-color:#151718!important;color:#cfd2d1!important;border:none}.cm-s-seti .CodeMirror-gutters{color:#404b53;background-color:#0e1112;border:none}.cm-s-seti .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-seti .CodeMirror-linenumber{color:#6d8a88}.cm-s-seti.CodeMirror-focused div.CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-seti .CodeMirror-line::selection,.cm-s-seti .CodeMirror-line>span::selection,.cm-s-seti .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-seti .CodeMirror-line::-moz-selection,.cm-s-seti .CodeMirror-line>span::-moz-selection,.cm-s-seti .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-seti span.cm-comment{color:#41535b}.cm-s-seti span.cm-string,.cm-s-seti span.cm-string-2{color:#55b5db}.cm-s-seti span.cm-number{color:#cd3f45}.cm-s-seti span.cm-variable{color:#55b5db}.cm-s-seti span.cm-variable-2{color:#a074c4}.cm-s-seti span.cm-def{color:#55b5db}.cm-s-seti span.cm-operator{color:#9fca56}.cm-s-seti span.cm-keyword{color:#e6cd69}.cm-s-seti span.cm-atom{color:#cd3f45}.cm-s-seti span.cm-meta,.cm-s-seti span.cm-tag{color:#55b5db}.cm-s-seti span.cm-attribute,.cm-s-seti span.cm-qualifier{color:#9fca56}.cm-s-seti span.cm-property{color:#a074c4}.cm-s-seti span.cm-builtin,.cm-s-seti span.cm-variable-3{color:#9fca56}.cm-s-seti .CodeMirror-activeline-background{background:#101213}.cm-s-seti .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
1
+ .cm-s-seti.CodeMirror{background-color:#151718!important;color:#cfd2d1!important;border:none}.cm-s-seti .CodeMirror-gutters{color:#404b53;background-color:#0e1112;border:none}.cm-s-seti .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-seti .CodeMirror-linenumber{color:#6d8a88}.cm-s-seti.CodeMirror-focused div.CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-seti .CodeMirror-line::selection,.cm-s-seti .CodeMirror-line>span::selection,.cm-s-seti .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-seti .CodeMirror-line::-moz-selection,.cm-s-seti .CodeMirror-line>span::-moz-selection,.cm-s-seti .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-seti span.cm-comment{color:#41535b}.cm-s-seti span.cm-string,.cm-s-seti span.cm-string-2{color:#55b5db}.cm-s-seti span.cm-number{color:#cd3f45}.cm-s-seti span.cm-variable{color:#55b5db}.cm-s-seti span.cm-variable-2{color:#a074c4}.cm-s-seti span.cm-def{color:#55b5db}.cm-s-seti span.cm-operator{color:#9fca56}.cm-s-seti span.cm-keyword{color:#e6cd69}.cm-s-seti span.cm-atom{color:#cd3f45}.cm-s-seti span.cm-meta,.cm-s-seti span.cm-tag{color:#55b5db}.cm-s-seti span.cm-attribute,.cm-s-seti span.cm-qualifier{color:#9fca56}.cm-s-seti span.cm-property{color:#a074c4}.cm-s-seti span.cm-builtin,.cm-s-seti span.cm-type,.cm-s-seti span.cm-variable-3{color:#9fca56}.cm-s-seti .CodeMirror-activeline-background{background:#101213}.cm-s-seti .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}
css/min/cmthemes/solarized.css CHANGED
@@ -1 +1 @@
1
- .solarized.base03{color:#002b36}.solarized.base02{color:#073642}.solarized.base01{color:#586e75}.solarized.base00{color:#657b83}.solarized.base0{color:#839496}.solarized.base1{color:#93a1a1}.solarized.base2{color:#eee8d5}.solarized.base3{color:#fdf6e3}.solarized.solar-yellow{color:#b58900}.solarized.solar-orange{color:#cb4b16}.solarized.solar-red{color:#dc322f}.solarized.solar-magenta{color:#d33682}.solarized.solar-violet{color:#6c71c4}.solarized.solar-blue{color:#268bd2}.solarized.solar-cyan{color:#2aa198}.solarized.solar-green{color:#859900}.cm-s-solarized{line-height:1.45em;color-profile:sRGB;rendering-intent:auto}.cm-s-solarized.cm-s-dark{color:#839496;background-color:#002b36;text-shadow:#002b36 0 1px}.cm-s-solarized.cm-s-light{background-color:#fdf6e3;color:#657b83;text-shadow:#eee8d5 0 1px}.cm-s-solarized .CodeMirror-widget{text-shadow:none}.cm-s-solarized .cm-header{color:#586e75}.cm-s-solarized .cm-quote{color:#93a1a1}.cm-s-solarized .cm-keyword{color:#cb4b16}.cm-s-solarized .cm-atom,.cm-s-solarized .cm-number{color:#d33682}.cm-s-solarized .cm-def{color:#2aa198}.cm-s-solarized .cm-variable{color:#839496}.cm-s-solarized .cm-variable-2{color:#b58900}.cm-s-solarized .cm-variable-3{color:#6c71c4}.cm-s-solarized .cm-property{color:#2aa198}.cm-s-solarized .cm-operator{color:#6c71c4}.cm-s-solarized .cm-comment{color:#586e75;font-style:italic}.cm-s-solarized .cm-string{color:#859900}.cm-s-solarized .cm-string-2{color:#b58900}.cm-s-solarized .cm-meta{color:#859900}.cm-s-solarized .cm-qualifier{color:#b58900}.cm-s-solarized .cm-builtin{color:#d33682}.cm-s-solarized .cm-bracket{color:#cb4b16}.cm-s-solarized .CodeMirror-matchingbracket{color:#859900}.cm-s-solarized .CodeMirror-nonmatchingbracket{color:#dc322f}.cm-s-solarized .cm-tag{color:#93a1a1}.cm-s-solarized .cm-attribute{color:#2aa198}.cm-s-solarized .cm-hr{color:transparent;border-top:1px solid #586e75;display:block}.cm-s-solarized .cm-link{color:#93a1a1;cursor:pointer}.cm-s-solarized .cm-special{color:#6c71c4}.cm-s-solarized .cm-em{color:#999;text-decoration:underline;text-decoration-style:dotted}.cm-s-solarized .cm-strong{color:#eee}.cm-s-solarized .cm-error,.cm-s-solarized .cm-invalidchar{color:#586e75;border-bottom:1px dotted #dc322f}.cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:#073642}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)}.cm-s-dark .CodeMirror-line>span::-moz-selection,.cm-s-dark .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection{background:rgba(7,54,66,.99)}.cm-s-solarized.cm-s-light div.CodeMirror-selected{background:#eee8d5}.cm-s-light .CodeMirror-line>span::selection,.cm-s-light .CodeMirror-line>span>span::selection,.cm-s-solarized.cm-s-light .CodeMirror-line::selection{background:#eee8d5}.cm-s-ligh .CodeMirror-line>span::-moz-selection,.cm-s-ligh .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection{background:#eee8d5}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000;-webkit-box-shadow:inset 7px 0 12px -6px #000;box-shadow:inset 7px 0 12px -6px #000}.cm-s-solarized .CodeMirror-gutters{border-right:0}.cm-s-solarized.cm-s-dark .CodeMirror-gutters{background-color:#073642}.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{color:#586e75;text-shadow:#021014 0 -1px}.cm-s-solarized.cm-s-light .CodeMirror-gutters{background-color:#eee8d5}.cm-s-solarized.cm-s-light .CodeMirror-linenumber{color:#839496}.cm-s-solarized .CodeMirror-linenumber{padding:0 5px}.cm-s-solarized .CodeMirror-guttermarker-subtle{color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker{color:#ddd}.cm-s-solarized.cm-s-light .CodeMirror-guttermarker{color:#cb4b16}.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75}.cm-s-solarized .CodeMirror-cursor{border-left:1px solid #819090}.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor{background:#7e7}.cm-s-solarized.cm-s-light .cm-animate-fat-cursor{background-color:#7e7}.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor{background:#586e75}.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor{background-color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background{background:rgba(255,255,255,.06)}.cm-s-solarized.cm-s-light .CodeMirror-activeline-background{background:rgba(0,0,0,.06)}
1
+ .solarized.base03{color:#002b36}.solarized.base02{color:#073642}.solarized.base01{color:#586e75}.solarized.base00{color:#657b83}.solarized.base0{color:#839496}.solarized.base1{color:#93a1a1}.solarized.base2{color:#eee8d5}.solarized.base3{color:#fdf6e3}.solarized.solar-yellow{color:#b58900}.solarized.solar-orange{color:#cb4b16}.solarized.solar-red{color:#dc322f}.solarized.solar-magenta{color:#d33682}.solarized.solar-violet{color:#6c71c4}.solarized.solar-blue{color:#268bd2}.solarized.solar-cyan{color:#2aa198}.solarized.solar-green{color:#859900}.cm-s-solarized{line-height:1.45em;color-profile:sRGB;rendering-intent:auto}.cm-s-solarized.cm-s-dark{color:#839496;background-color:#002b36;text-shadow:#002b36 0 1px}.cm-s-solarized.cm-s-light{background-color:#fdf6e3;color:#657b83;text-shadow:#eee8d5 0 1px}.cm-s-solarized .CodeMirror-widget{text-shadow:none}.cm-s-solarized .cm-header{color:#586e75}.cm-s-solarized .cm-quote{color:#93a1a1}.cm-s-solarized .cm-keyword{color:#cb4b16}.cm-s-solarized .cm-atom,.cm-s-solarized .cm-number{color:#d33682}.cm-s-solarized .cm-def{color:#2aa198}.cm-s-solarized .cm-variable{color:#839496}.cm-s-solarized .cm-variable-2{color:#b58900}.cm-s-solarized .cm-type,.cm-s-solarized .cm-variable-3{color:#6c71c4}.cm-s-solarized .cm-property{color:#2aa198}.cm-s-solarized .cm-operator{color:#6c71c4}.cm-s-solarized .cm-comment{color:#586e75;font-style:italic}.cm-s-solarized .cm-string{color:#859900}.cm-s-solarized .cm-string-2{color:#b58900}.cm-s-solarized .cm-meta{color:#859900}.cm-s-solarized .cm-qualifier{color:#b58900}.cm-s-solarized .cm-builtin{color:#d33682}.cm-s-solarized .cm-bracket{color:#cb4b16}.cm-s-solarized .CodeMirror-matchingbracket{color:#859900}.cm-s-solarized .CodeMirror-nonmatchingbracket{color:#dc322f}.cm-s-solarized .cm-tag{color:#93a1a1}.cm-s-solarized .cm-attribute{color:#2aa198}.cm-s-solarized .cm-hr{color:transparent;border-top:1px solid #586e75;display:block}.cm-s-solarized .cm-link{color:#93a1a1;cursor:pointer}.cm-s-solarized .cm-special{color:#6c71c4}.cm-s-solarized .cm-em{color:#999;text-decoration:underline;text-decoration-style:dotted}.cm-s-solarized .cm-strong{color:#eee}.cm-s-solarized .cm-error,.cm-s-solarized .cm-invalidchar{color:#586e75;border-bottom:1px dotted #dc322f}.cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:#073642}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)}.cm-s-dark .CodeMirror-line>span::-moz-selection,.cm-s-dark .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection{background:rgba(7,54,66,.99)}.cm-s-solarized.cm-s-light div.CodeMirror-selected{background:#eee8d5}.cm-s-light .CodeMirror-line>span::selection,.cm-s-light .CodeMirror-line>span>span::selection,.cm-s-solarized.cm-s-light .CodeMirror-line::selection{background:#eee8d5}.cm-s-ligh .CodeMirror-line>span::-moz-selection,.cm-s-ligh .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection{background:#eee8d5}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000;-webkit-box-shadow:inset 7px 0 12px -6px #000;box-shadow:inset 7px 0 12px -6px #000}.cm-s-solarized .CodeMirror-gutters{border-right:0}.cm-s-solarized.cm-s-dark .CodeMirror-gutters{background-color:#073642}.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{color:#586e75;text-shadow:#021014 0 -1px}.cm-s-solarized.cm-s-light .CodeMirror-gutters{background-color:#eee8d5}.cm-s-solarized.cm-s-light .CodeMirror-linenumber{color:#839496}.cm-s-solarized .CodeMirror-linenumber{padding:0 5px}.cm-s-solarized .CodeMirror-guttermarker-subtle{color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker{color:#ddd}.cm-s-solarized.cm-s-light .CodeMirror-guttermarker{color:#cb4b16}.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75}.cm-s-solarized .CodeMirror-cursor{border-left:1px solid #819090}.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor{background:#7e7}.cm-s-solarized.cm-s-light .cm-animate-fat-cursor{background-color:#7e7}.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor{background:#586e75}.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor{background-color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background{background:rgba(255,255,255,.06)}.cm-s-solarized.cm-s-light .CodeMirror-activeline-background{background:rgba(0,0,0,.06)}
css/min/cmthemes/the-matrix.css CHANGED
@@ -1 +1 @@
1
- .cm-s-the-matrix.CodeMirror{background:#000;color:#0f0}.cm-s-the-matrix div.CodeMirror-selected{background:#2d2d2d}.cm-s-the-matrix .CodeMirror-line::selection,.cm-s-the-matrix .CodeMirror-line>span::selection,.cm-s-the-matrix .CodeMirror-line>span>span::selection{background:rgba(45,45,45,.99)}.cm-s-the-matrix .CodeMirror-line::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span>span::-moz-selection{background:rgba(45,45,45,.99)}.cm-s-the-matrix .CodeMirror-gutters{background:#060;border-right:2px solid #0f0}.cm-s-the-matrix .CodeMirror-guttermarker{color:#0f0}.cm-s-the-matrix .CodeMirror-guttermarker-subtle,.cm-s-the-matrix .CodeMirror-linenumber{color:#fff}.cm-s-the-matrix .CodeMirror-cursor{border-left:1px solid #0f0}.cm-s-the-matrix span.cm-keyword{color:#008803;font-weight:700}.cm-s-the-matrix span.cm-atom{color:#3ff}.cm-s-the-matrix span.cm-number{color:#ffb94f}.cm-s-the-matrix span.cm-def{color:#99c}.cm-s-the-matrix span.cm-variable{color:#f6c}.cm-s-the-matrix span.cm-variable-2{color:#c6f}.cm-s-the-matrix span.cm-variable-3{color:#96f}.cm-s-the-matrix span.cm-property{color:#62ffa0}.cm-s-the-matrix span.cm-operator{color:#999}.cm-s-the-matrix span.cm-comment{color:#ccc}.cm-s-the-matrix span.cm-string{color:#39c}.cm-s-the-matrix span.cm-meta{color:#c9f}.cm-s-the-matrix span.cm-qualifier{color:#fff700}.cm-s-the-matrix span.cm-builtin{color:#30a}.cm-s-the-matrix span.cm-bracket{color:#cc7}.cm-s-the-matrix span.cm-tag{color:#ffbd40}.cm-s-the-matrix span.cm-attribute{color:#fff700}.cm-s-the-matrix span.cm-error{color:red}.cm-s-the-matrix .CodeMirror-activeline-background{background:#040}
1
+ .cm-s-the-matrix.CodeMirror{background:#000;color:#0f0}.cm-s-the-matrix div.CodeMirror-selected{background:#2d2d2d}.cm-s-the-matrix .CodeMirror-line::selection,.cm-s-the-matrix .CodeMirror-line>span::selection,.cm-s-the-matrix .CodeMirror-line>span>span::selection{background:rgba(45,45,45,.99)}.cm-s-the-matrix .CodeMirror-line::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span>span::-moz-selection{background:rgba(45,45,45,.99)}.cm-s-the-matrix .CodeMirror-gutters{background:#060;border-right:2px solid #0f0}.cm-s-the-matrix .CodeMirror-guttermarker{color:#0f0}.cm-s-the-matrix .CodeMirror-guttermarker-subtle,.cm-s-the-matrix .CodeMirror-linenumber{color:#fff}.cm-s-the-matrix .CodeMirror-cursor{border-left:1px solid #0f0}.cm-s-the-matrix span.cm-keyword{color:#008803;font-weight:700}.cm-s-the-matrix span.cm-atom{color:#3ff}.cm-s-the-matrix span.cm-number{color:#ffb94f}.cm-s-the-matrix span.cm-def{color:#99c}.cm-s-the-matrix span.cm-variable{color:#f6c}.cm-s-the-matrix span.cm-variable-2{color:#c6f}.cm-s-the-matrix span.cm-type,.cm-s-the-matrix span.cm-variable-3{color:#96f}.cm-s-the-matrix span.cm-property{color:#62ffa0}.cm-s-the-matrix span.cm-operator{color:#999}.cm-s-the-matrix span.cm-comment{color:#ccc}.cm-s-the-matrix span.cm-string{color:#39c}.cm-s-the-matrix span.cm-meta{color:#c9f}.cm-s-the-matrix span.cm-qualifier{color:#fff700}.cm-s-the-matrix span.cm-builtin{color:#30a}.cm-s-the-matrix span.cm-bracket{color:#cc7}.cm-s-the-matrix span.cm-tag{color:#ffbd40}.cm-s-the-matrix span.cm-attribute{color:#fff700}.cm-s-the-matrix span.cm-error{color:red}.cm-s-the-matrix .CodeMirror-activeline-background{background:#040}
css/min/cmthemes/ttcn.css CHANGED
@@ -1 +1 @@
1
- .cm-s-ttcn .cm-quote{color:#090}.cm-strong{font-weight:700}.cm-s-ttcn .cm-header{color:#00f;font-weight:700}.cm-s-ttcn .cm-atom{color:#219}.cm-s-ttcn .cm-attribute{color:#00c}.cm-s-ttcn .cm-bracket{color:#997}.cm-s-ttcn .cm-comment{color:#333}.cm-s-ttcn .cm-def{color:#00f}.cm-s-ttcn .cm-em{font-style:italic}.cm-s-ttcn .cm-error{color:red}.cm-s-ttcn .cm-hr{color:#999}.cm-s-ttcn .cm-keyword{font-weight:700}.cm-s-ttcn .cm-link{color:#00c;text-decoration:underline}.cm-s-ttcn .cm-meta{color:#555}.cm-s-ttcn .cm-negative{color:#d44}.cm-s-ttcn .cm-positive{color:#292}.cm-s-ttcn .cm-qualifier{color:#555}.cm-s-ttcn .cm-strikethrough{text-decoration:line-through}.cm-s-ttcn .cm-string{color:#006400}.cm-s-ttcn .cm-string-2{color:#f50}.cm-s-ttcn .cm-strong{font-weight:700}.cm-s-ttcn .cm-tag{color:#170}.cm-s-ttcn .cm-variable{color:#8b2252}.cm-s-ttcn .cm-variable-2{color:#05a}.cm-s-ttcn .cm-variable-3{color:#085}.cm-s-ttcn .cm-invalidchar{color:red}.cm-s-ttcn .cm-accessTypes,.cm-s-ttcn .cm-compareTypes{color:#27408b}.cm-s-ttcn .cm-cmipVerbs{color:#8b2252}.cm-s-ttcn .cm-modifier{color:#d2691e}.cm-s-ttcn .cm-status{color:#8b4545}.cm-s-ttcn .cm-storage{color:#a020f0}.cm-s-ttcn .cm-tags{color:#006400}.cm-s-ttcn .cm-externalCommands{color:#8b4545;font-weight:700}.cm-s-ttcn .cm-fileNCtrlMaskOptions,.cm-s-ttcn .cm-sectionTitle{color:#2e8b57;font-weight:700}.cm-s-ttcn .cm-booleanConsts,.cm-s-ttcn .cm-otherConsts,.cm-s-ttcn .cm-verdictConsts{color:#006400}.cm-s-ttcn .cm-configOps,.cm-s-ttcn .cm-functionOps,.cm-s-ttcn .cm-portOps,.cm-s-ttcn .cm-sutOps,.cm-s-ttcn .cm-timerOps,.cm-s-ttcn .cm-verdictOps{color:#00f}.cm-s-ttcn .cm-preprocessor,.cm-s-ttcn .cm-templateMatch,.cm-s-ttcn .cm-ttcn3Macros{color:#27408b}.cm-s-ttcn .cm-types{color:brown;font-weight:700}.cm-s-ttcn .cm-visibilityModifiers{font-weight:700}
1
+ .cm-s-ttcn .cm-quote{color:#090}.cm-strong{font-weight:700}.cm-s-ttcn .cm-header{color:#00f;font-weight:700}.cm-s-ttcn .cm-atom{color:#219}.cm-s-ttcn .cm-attribute{color:#00c}.cm-s-ttcn .cm-bracket{color:#997}.cm-s-ttcn .cm-comment{color:#333}.cm-s-ttcn .cm-def{color:#00f}.cm-s-ttcn .cm-em{font-style:italic}.cm-s-ttcn .cm-error{color:red}.cm-s-ttcn .cm-hr{color:#999}.cm-s-ttcn .cm-keyword{font-weight:700}.cm-s-ttcn .cm-link{color:#00c;text-decoration:underline}.cm-s-ttcn .cm-meta{color:#555}.cm-s-ttcn .cm-negative{color:#d44}.cm-s-ttcn .cm-positive{color:#292}.cm-s-ttcn .cm-qualifier{color:#555}.cm-s-ttcn .cm-strikethrough{text-decoration:line-through}.cm-s-ttcn .cm-string{color:#006400}.cm-s-ttcn .cm-string-2{color:#f50}.cm-s-ttcn .cm-strong{font-weight:700}.cm-s-ttcn .cm-tag{color:#170}.cm-s-ttcn .cm-variable{color:#8b2252}.cm-s-ttcn .cm-variable-2{color:#05a}.cm-s-ttcn .cm-type,.cm-s-ttcn .cm-variable-3{color:#085}.cm-s-ttcn .cm-invalidchar{color:red}.cm-s-ttcn .cm-accessTypes,.cm-s-ttcn .cm-compareTypes{color:#27408b}.cm-s-ttcn .cm-cmipVerbs{color:#8b2252}.cm-s-ttcn .cm-modifier{color:#d2691e}.cm-s-ttcn .cm-status{color:#8b4545}.cm-s-ttcn .cm-storage{color:#a020f0}.cm-s-ttcn .cm-tags{color:#006400}.cm-s-ttcn .cm-externalCommands{color:#8b4545;font-weight:700}.cm-s-ttcn .cm-fileNCtrlMaskOptions,.cm-s-ttcn .cm-sectionTitle{color:#2e8b57;font-weight:700}.cm-s-ttcn .cm-booleanConsts,.cm-s-ttcn .cm-otherConsts,.cm-s-ttcn .cm-verdictConsts{color:#006400}.cm-s-ttcn .cm-configOps,.cm-s-ttcn .cm-functionOps,.cm-s-ttcn .cm-portOps,.cm-s-ttcn .cm-sutOps,.cm-s-ttcn .cm-timerOps,.cm-s-ttcn .cm-verdictOps{color:#00f}.cm-s-ttcn .cm-preprocessor,.cm-s-ttcn .cm-templateMatch,.cm-s-ttcn .cm-ttcn3Macros{color:#27408b}.cm-s-ttcn .cm-types{color:brown;font-weight:700}.cm-s-ttcn .cm-visibilityModifiers{font-weight:700}
css/min/cmthemes/twilight.css CHANGED
@@ -1 +1 @@
1
- .cm-s-twilight.CodeMirror{background:#141414;color:#f7f7f7}.cm-s-twilight div.CodeMirror-selected{background:#323232}.cm-s-twilight .CodeMirror-line::selection,.cm-s-twilight .CodeMirror-line>span::selection,.cm-s-twilight .CodeMirror-line>span>span::selection{background:rgba(50,50,50,.99)}.cm-s-twilight .CodeMirror-line::-moz-selection,.cm-s-twilight .CodeMirror-line>span::-moz-selection,.cm-s-twilight .CodeMirror-line>span>span::-moz-selection{background:rgba(50,50,50,.99)}.cm-s-twilight .CodeMirror-gutters{background:#222;border-right:1px solid #aaa}.cm-s-twilight .CodeMirror-guttermarker{color:#fff}.cm-s-twilight .CodeMirror-guttermarker-subtle,.cm-s-twilight .CodeMirror-linenumber{color:#aaa}.cm-s-twilight .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-twilight .cm-keyword{color:#f9ee98}.cm-s-twilight .cm-atom{color:#fc0}.cm-s-twilight .cm-number{color:#ca7841}.cm-s-twilight .cm-def{color:#8da6ce}.cm-s-twilight span.cm-def,.cm-s-twilight span.cm-tag,.cm-s-twilight span.cm-variable-2,.cm-s-twilight span.cm-variable-3{color:#607392}.cm-s-twilight .cm-operator{color:#cda869}.cm-s-twilight .cm-comment{color:#777;font-style:italic;font-weight:400}.cm-s-twilight .cm-string{color:#8f9d6a;font-style:italic}.cm-s-twilight .cm-string-2{color:#bd6b18}.cm-s-twilight .cm-meta{background-color:#141414;color:#f7f7f7}.cm-s-twilight .cm-builtin{color:#cda869}.cm-s-twilight .cm-tag{color:#997643}.cm-s-twilight .cm-attribute{color:#d6bb6d}.cm-s-twilight .cm-header{color:#ff6400}.cm-s-twilight .cm-hr{color:#aeaeae}.cm-s-twilight .cm-link{color:#ad9361;font-style:italic;text-decoration:none}.cm-s-twilight .cm-error{border-bottom:1px solid red}.cm-s-twilight .CodeMirror-activeline-background{background:#27282e}.cm-s-twilight .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
1
+ .cm-s-twilight.CodeMirror{background:#141414;color:#f7f7f7}.cm-s-twilight div.CodeMirror-selected{background:#323232}.cm-s-twilight .CodeMirror-line::selection,.cm-s-twilight .CodeMirror-line>span::selection,.cm-s-twilight .CodeMirror-line>span>span::selection{background:rgba(50,50,50,.99)}.cm-s-twilight .CodeMirror-line::-moz-selection,.cm-s-twilight .CodeMirror-line>span::-moz-selection,.cm-s-twilight .CodeMirror-line>span>span::-moz-selection{background:rgba(50,50,50,.99)}.cm-s-twilight .CodeMirror-gutters{background:#222;border-right:1px solid #aaa}.cm-s-twilight .CodeMirror-guttermarker{color:#fff}.cm-s-twilight .CodeMirror-guttermarker-subtle,.cm-s-twilight .CodeMirror-linenumber{color:#aaa}.cm-s-twilight .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-twilight .cm-keyword{color:#f9ee98}.cm-s-twilight .cm-atom{color:#fc0}.cm-s-twilight .cm-number{color:#ca7841}.cm-s-twilight .cm-def{color:#8da6ce}.cm-s-twilight span.cm-def,.cm-s-twilight span.cm-tag,.cm-s-twilight span.cm-type,.cm-s-twilight span.cm-variable-2,.cm-s-twilight span.cm-variable-3{color:#607392}.cm-s-twilight .cm-operator{color:#cda869}.cm-s-twilight .cm-comment{color:#777;font-style:italic;font-weight:400}.cm-s-twilight .cm-string{color:#8f9d6a;font-style:italic}.cm-s-twilight .cm-string-2{color:#bd6b18}.cm-s-twilight .cm-meta{background-color:#141414;color:#f7f7f7}.cm-s-twilight .cm-builtin{color:#cda869}.cm-s-twilight .cm-tag{color:#997643}.cm-s-twilight .cm-attribute{color:#d6bb6d}.cm-s-twilight .cm-header{color:#ff6400}.cm-s-twilight .cm-hr{color:#aeaeae}.cm-s-twilight .cm-link{color:#ad9361;font-style:italic;text-decoration:none}.cm-s-twilight .cm-error{border-bottom:1px solid red}.cm-s-twilight .CodeMirror-activeline-background{background:#27282e}.cm-s-twilight .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
css/min/cmthemes/vibrant-ink.css CHANGED
@@ -1 +1 @@
1
- .cm-s-vibrant-ink.CodeMirror{background:#000;color:#fff}.cm-s-vibrant-ink div.CodeMirror-selected{background:#35493c}.cm-s-vibrant-ink .CodeMirror-line::selection,.cm-s-vibrant-ink .CodeMirror-line>span::selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-line::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::-moz-selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-vibrant-ink .CodeMirror-guttermarker{color:#fff}.cm-s-vibrant-ink .CodeMirror-guttermarker-subtle,.cm-s-vibrant-ink .CodeMirror-linenumber{color:#d0d0d0}.cm-s-vibrant-ink .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-vibrant-ink .cm-keyword{color:#cc7832}.cm-s-vibrant-ink .cm-atom{color:#fc0}.cm-s-vibrant-ink .cm-number{color:#ffee98}.cm-s-vibrant-ink .cm-def{color:#8da6ce}.cm-s-vibrant span.cm-def,.cm-s-vibrant span.cm-tag,.cm-s-vibrant-ink span.cm-variable-2,.cm-s-vibrant-ink span.cm-variable-3{color:#ffc66d}.cm-s-vibrant-ink .cm-operator{color:#888}.cm-s-vibrant-ink .cm-comment{color:gray;font-weight:700}.cm-s-vibrant-ink .cm-string{color:#a5c25c}.cm-s-vibrant-ink .cm-string-2{color:red}.cm-s-vibrant-ink .cm-meta{color:#d8fa3c}.cm-s-vibrant-ink .cm-attribute,.cm-s-vibrant-ink .cm-builtin,.cm-s-vibrant-ink .cm-tag{color:#8da6ce}.cm-s-vibrant-ink .cm-header{color:#ff6400}.cm-s-vibrant-ink .cm-hr{color:#aeaeae}.cm-s-vibrant-ink .cm-link{color:#00f}.cm-s-vibrant-ink .cm-error{border-bottom:1px solid red}.cm-s-vibrant-ink .CodeMirror-activeline-background{background:#27282e}.cm-s-vibrant-ink .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
1
+ .cm-s-vibrant-ink.CodeMirror{background:#000;color:#fff}.cm-s-vibrant-ink div.CodeMirror-selected{background:#35493c}.cm-s-vibrant-ink .CodeMirror-line::selection,.cm-s-vibrant-ink .CodeMirror-line>span::selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-line::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::-moz-selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-vibrant-ink .CodeMirror-guttermarker{color:#fff}.cm-s-vibrant-ink .CodeMirror-guttermarker-subtle,.cm-s-vibrant-ink .CodeMirror-linenumber{color:#d0d0d0}.cm-s-vibrant-ink .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-vibrant-ink .cm-keyword{color:#cc7832}.cm-s-vibrant-ink .cm-atom{color:#fc0}.cm-s-vibrant-ink .cm-number{color:#ffee98}.cm-s-vibrant-ink .cm-def{color:#8da6ce}.cm-s-vibrant span.cm-def,.cm-s-vibrant span.cm-tag,.cm-s-vibrant span.cm-type,.cm-s-vibrant-ink span.cm-variable-2,.cm-s-vibrant-ink span.cm-variable-3{color:#ffc66d}.cm-s-vibrant-ink .cm-operator{color:#888}.cm-s-vibrant-ink .cm-comment{color:gray;font-weight:700}.cm-s-vibrant-ink .cm-string{color:#a5c25c}.cm-s-vibrant-ink .cm-string-2{color:red}.cm-s-vibrant-ink .cm-meta{color:#d8fa3c}.cm-s-vibrant-ink .cm-attribute,.cm-s-vibrant-ink .cm-builtin,.cm-s-vibrant-ink .cm-tag{color:#8da6ce}.cm-s-vibrant-ink .cm-header{color:#ff6400}.cm-s-vibrant-ink .cm-hr{color:#aeaeae}.cm-s-vibrant-ink .cm-link{color:#00f}.cm-s-vibrant-ink .cm-error{border-bottom:1px solid red}.cm-s-vibrant-ink .CodeMirror-activeline-background{background:#27282e}.cm-s-vibrant-ink .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
css/min/cmthemes/xq-dark.css CHANGED
@@ -1 +1 @@
1
- .cm-s-xq-dark.CodeMirror{background:#0a001f;color:#f8f8f8}.cm-s-xq-dark div.CodeMirror-selected{background:#27007a}.cm-s-xq-dark .CodeMirror-line::selection,.cm-s-xq-dark .CodeMirror-line>span::selection,.cm-s-xq-dark .CodeMirror-line>span>span::selection{background:rgba(39,0,122,.99)}.cm-s-xq-dark .CodeMirror-line::-moz-selection,.cm-s-xq-dark .CodeMirror-line>span::-moz-selection,.cm-s-xq-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(39,0,122,.99)}.cm-s-xq-dark .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-xq-dark .CodeMirror-guttermarker,.cm-s-xq-dark span.cm-keyword{color:#ffbd40}.cm-s-xq-dark .CodeMirror-guttermarker-subtle,.cm-s-xq-dark .CodeMirror-linenumber{color:#f8f8f8}.cm-s-xq-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-xq-dark span.cm-atom{color:#6c8cd5}.cm-s-xq-dark span.cm-number{color:#164}.cm-s-xq-dark span.cm-def{color:#fff;text-decoration:underline}.cm-s-xq-dark span.cm-variable{color:#fff}.cm-s-xq-dark span.cm-variable-2{color:#eee}.cm-s-xq-dark span.cm-variable-3{color:#ddd}.cm-s-xq-dark span.cm-comment{color:gray}.cm-s-xq-dark span.cm-string{color:#9fee00}.cm-s-xq-dark span.cm-meta{color:#ff0}.cm-s-xq-dark span.cm-qualifier{color:#fff700}.cm-s-xq-dark span.cm-builtin{color:#30a}.cm-s-xq-dark span.cm-bracket{color:#cc7}.cm-s-xq-dark span.cm-tag{color:#ffbd40}.cm-s-xq-dark span.cm-attribute{color:#fff700}.cm-s-xq-dark span.cm-error{color:red}.cm-s-xq-dark .CodeMirror-activeline-background{background:#27282e}.cm-s-xq-dark .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
1
+ .cm-s-xq-dark.CodeMirror{background:#0a001f;color:#f8f8f8}.cm-s-xq-dark div.CodeMirror-selected{background:#27007a}.cm-s-xq-dark .CodeMirror-line::selection,.cm-s-xq-dark .CodeMirror-line>span::selection,.cm-s-xq-dark .CodeMirror-line>span>span::selection{background:rgba(39,0,122,.99)}.cm-s-xq-dark .CodeMirror-line::-moz-selection,.cm-s-xq-dark .CodeMirror-line>span::-moz-selection,.cm-s-xq-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(39,0,122,.99)}.cm-s-xq-dark .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-xq-dark .CodeMirror-guttermarker,.cm-s-xq-dark span.cm-keyword{color:#ffbd40}.cm-s-xq-dark .CodeMirror-guttermarker-subtle,.cm-s-xq-dark .CodeMirror-linenumber{color:#f8f8f8}.cm-s-xq-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-xq-dark span.cm-atom{color:#6c8cd5}.cm-s-xq-dark span.cm-number{color:#164}.cm-s-xq-dark span.cm-def{color:#fff;text-decoration:underline}.cm-s-xq-dark span.cm-variable{color:#fff}.cm-s-xq-dark span.cm-variable-2{color:#eee}.cm-s-xq-dark span.cm-type,.cm-s-xq-dark span.cm-variable-3{color:#ddd}.cm-s-xq-dark span.cm-comment{color:gray}.cm-s-xq-dark span.cm-string{color:#9fee00}.cm-s-xq-dark span.cm-meta{color:#ff0}.cm-s-xq-dark span.cm-qualifier{color:#fff700}.cm-s-xq-dark span.cm-builtin{color:#30a}.cm-s-xq-dark span.cm-bracket{color:#cc7}.cm-s-xq-dark span.cm-tag{color:#ffbd40}.cm-s-xq-dark span.cm-attribute{color:#fff700}.cm-s-xq-dark span.cm-error{color:red}.cm-s-xq-dark .CodeMirror-activeline-background{background:#27282e}.cm-s-xq-dark .CodeMirror-matchingbracket{outline:1px solid gray;color:#fff!important}
css/min/cmthemes/xq-light.css CHANGED
@@ -1 +1 @@
1
- .cm-s-xq-light span.cm-keyword{line-height:1em;font-weight:700;color:#5a5cad}.cm-s-xq-light span.cm-atom{color:#6c8cd5}.cm-s-xq-light span.cm-number{color:#164}.cm-s-xq-light span.cm-def{text-decoration:underline}.cm-s-xq-light span.cm-variable,.cm-s-xq-light span.cm-variable-2,.cm-s-xq-light span.cm-variable-3{color:#000}.cm-s-xq-light span.cm-comment{color:#0080ff;font-style:italic}.cm-s-xq-light span.cm-string{color:red}.cm-s-xq-light span.cm-meta{color:#ff0}.cm-s-xq-light span.cm-qualifier{color:gray}.cm-s-xq-light span.cm-builtin{color:#7ea656}.cm-s-xq-light span.cm-bracket{color:#cc7}.cm-s-xq-light span.cm-tag{color:#3f7f7f}.cm-s-xq-light span.cm-attribute{color:#7f007f}.cm-s-xq-light span.cm-error{color:red}.cm-s-xq-light .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-xq-light .CodeMirror-matchingbracket{outline:1px solid gray;color:#000!important;background:#ff0}
1
+ .cm-s-xq-light span.cm-keyword{line-height:1em;font-weight:700;color:#5a5cad}.cm-s-xq-light span.cm-atom{color:#6c8cd5}.cm-s-xq-light span.cm-number{color:#164}.cm-s-xq-light span.cm-def{text-decoration:underline}.cm-s-xq-light span.cm-type,.cm-s-xq-light span.cm-variable,.cm-s-xq-light span.cm-variable-2,.cm-s-xq-light span.cm-variable-3{color:#000}.cm-s-xq-light span.cm-comment{color:#0080ff;font-style:italic}.cm-s-xq-light span.cm-string{color:red}.cm-s-xq-light span.cm-meta{color:#ff0}.cm-s-xq-light span.cm-qualifier{color:gray}.cm-s-xq-light span.cm-builtin{color:#7ea656}.cm-s-xq-light span.cm-bracket{color:#cc7}.cm-s-xq-light span.cm-tag{color:#3f7f7f}.cm-s-xq-light span.cm-attribute{color:#7f007f}.cm-s-xq-light span.cm-error{color:red}.cm-s-xq-light .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-xq-light .CodeMirror-matchingbracket{outline:1px solid gray;color:#000!important;background:#ff0}
css/min/cmthemes/yeti.css CHANGED
@@ -1 +1 @@
1
- .cm-s-yeti.CodeMirror{background-color:#eceae8!important;color:#d1c9c0!important;border:none}.cm-s-yeti .CodeMirror-gutters{color:#adaba6;background-color:#e5e1db;border:none}.cm-s-yeti .CodeMirror-cursor{border-left:solid thin #d1c9c0}.cm-s-yeti .CodeMirror-linenumber{color:#adaba6}.cm-s-yeti.CodeMirror-focused div.CodeMirror-selected{background:#dcd8d2}.cm-s-yeti .CodeMirror-line::selection,.cm-s-yeti .CodeMirror-line>span::selection,.cm-s-yeti .CodeMirror-line>span>span::selection{background:#dcd8d2}.cm-s-yeti .CodeMirror-line::-moz-selection,.cm-s-yeti .CodeMirror-line>span::-moz-selection,.cm-s-yeti .CodeMirror-line>span>span::-moz-selection{background:#dcd8d2}.cm-s-yeti span.cm-comment{color:#d4c8be}.cm-s-yeti span.cm-string,.cm-s-yeti span.cm-string-2{color:#96c0d8}.cm-s-yeti span.cm-number{color:#a074c4}.cm-s-yeti span.cm-variable{color:#55b5db}.cm-s-yeti span.cm-variable-2{color:#a074c4}.cm-s-yeti span.cm-def{color:#55b5db}.cm-s-yeti span.cm-keyword,.cm-s-yeti span.cm-operator{color:#9fb96e}.cm-s-yeti span.cm-atom{color:#a074c4}.cm-s-yeti span.cm-meta,.cm-s-yeti span.cm-tag{color:#96c0d8}.cm-s-yeti span.cm-attribute{color:#9fb96e}.cm-s-yeti span.cm-qualifier{color:#96c0d8}.cm-s-yeti span.cm-builtin,.cm-s-yeti span.cm-property{color:#a074c4}.cm-s-yeti span.cm-variable-3{color:#96c0d8}.cm-s-yeti .CodeMirror-activeline-background{background:#e7e4e0}.cm-s-yeti .CodeMirror-matchingbracket{text-decoration:underline}
1
+ .cm-s-yeti.CodeMirror{background-color:#eceae8!important;color:#d1c9c0!important;border:none}.cm-s-yeti .CodeMirror-gutters{color:#adaba6;background-color:#e5e1db;border:none}.cm-s-yeti .CodeMirror-cursor{border-left:solid thin #d1c9c0}.cm-s-yeti .CodeMirror-linenumber{color:#adaba6}.cm-s-yeti.CodeMirror-focused div.CodeMirror-selected{background:#dcd8d2}.cm-s-yeti .CodeMirror-line::selection,.cm-s-yeti .CodeMirror-line>span::selection,.cm-s-yeti .CodeMirror-line>span>span::selection{background:#dcd8d2}.cm-s-yeti .CodeMirror-line::-moz-selection,.cm-s-yeti .CodeMirror-line>span::-moz-selection,.cm-s-yeti .CodeMirror-line>span>span::-moz-selection{background:#dcd8d2}.cm-s-yeti span.cm-comment{color:#d4c8be}.cm-s-yeti span.cm-string,.cm-s-yeti span.cm-string-2{color:#96c0d8}.cm-s-yeti span.cm-number{color:#a074c4}.cm-s-yeti span.cm-variable{color:#55b5db}.cm-s-yeti span.cm-variable-2{color:#a074c4}.cm-s-yeti span.cm-def{color:#55b5db}.cm-s-yeti span.cm-keyword,.cm-s-yeti span.cm-operator{color:#9fb96e}.cm-s-yeti span.cm-atom{color:#a074c4}.cm-s-yeti span.cm-meta,.cm-s-yeti span.cm-tag{color:#96c0d8}.cm-s-yeti span.cm-attribute{color:#9fb96e}.cm-s-yeti span.cm-qualifier{color:#96c0d8}.cm-s-yeti span.cm-builtin,.cm-s-yeti span.cm-property{color:#a074c4}.cm-s-yeti span.cm-type,.cm-s-yeti span.cm-variable-3{color:#96c0d8}.cm-s-yeti .CodeMirror-activeline-background{background:#e7e4e0}.cm-s-yeti .CodeMirror-matchingbracket{text-decoration:underline}
css/min/codemirror.css CHANGED
@@ -1 +1 @@
1
- .CodeMirror{font-family:monospace;height:300px;color:#000}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}
1
+ .CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}
js/min/codemirror.js CHANGED
@@ -1,7 +1,7 @@
1
- !function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.CodeMirror=b()}(this,function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function e(a,b,c,e){var f=d(a,b,c,e);return f.setAttribute("role","presentation"),f}function f(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function g(){var a;try{a=document.activeElement}catch(b){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function i(b,c){for(var d=b.split(" "),e=0;e<d.length;e++)d[e]&&!a(d[e]).test(c)&&(c+=" "+d[e]);return c}function j(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function k(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function l(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function m(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function n(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);f==-1&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Bg.length<=a;)Bg.push(p(Bg)+" ");return Bg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function r(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function s(){}function t(a,b){var c;return Object.create?c=Object.create(a):(s.prototype=a,c=new s),b&&k(b,c),c}function u(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Cg.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Dg.test(a)}function y(a,b,c){for(;(c<0?b>0:b<a.length)&&x(a.charAt(b));)b+=c;return b}function z(a,b,c){for(;;){if(Math.abs(b-c)<=1)return a(b)?b:c;var d=Math.floor((b+c)/2);a(d)?c=d:b=d}}function A(a,b,c){var f=this;this.input=c,f.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),f.scrollbarFiller.setAttribute("cm-not-content","true"),f.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),f.gutterFiller.setAttribute("cm-not-content","true"),f.lineDiv=e("div",null,"CodeMirror-code"),f.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),f.cursorDiv=d("div",null,"CodeMirror-cursors"),f.measure=d("div",null,"CodeMirror-measure"),f.lineMeasure=d("div",null,"CodeMirror-measure"),f.lineSpace=e("div",[f.measure,f.lineMeasure,f.selectionDiv,f.cursorDiv,f.lineDiv],null,"position: relative; outline: none");var g=e("div",[f.lineSpace],"CodeMirror-lines");f.mover=d("div",[g],null,"position: relative"),f.sizer=d("div",[f.mover],"CodeMirror-sizer"),f.sizerWidth=null,f.heightForcer=d("div",null,null,"position: absolute; height: "+wg+"px; width: 1px;"),f.gutters=d("div",null,"CodeMirror-gutters"),f.lineGutter=null,f.scroller=d("div",[f.sizer,f.heightForcer,f.gutters],"CodeMirror-scroll"),f.scroller.setAttribute("tabIndex","-1"),f.wrapper=d("div",[f.scrollbarFiller,f.gutterFiller,f.scroller],"CodeMirror"),$f&&_f<8&&(f.gutters.style.zIndex=-1,f.scroller.style.paddingRight=0),ag||Wf&&jg||(f.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(f.wrapper):a(f.wrapper)),f.viewFrom=f.viewTo=b.first,f.reportedViewFrom=f.reportedViewTo=b.first,f.view=[],f.renderedView=null,f.externalMeasured=null,f.viewOffset=0,f.lastWrapHeight=f.lastWrapWidth=0,f.updateLineNumbers=null,f.nativeBarWidth=f.barHeight=f.barWidth=0,f.scrollbarsClipped=!1,f.lineNumWidth=f.lineNumInnerWidth=f.lineNumChars=null,f.alignWidgets=!1,f.cachedCharWidth=f.cachedTextHeight=f.cachedPaddingH=null,f.maxLine=null,f.maxLineLength=0,f.maxLineChanged=!1,f.wheelDX=f.wheelDY=f.wheelStartX=f.wheelStartY=null,f.shift=!1,f.selForContextMenu=null,f.activeTouch=null,c.init(f)}function B(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function C(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e}),d}function D(a,b,c){var d=[];return a.iter(b,c,function(a){d.push(a.text)}),d}function E(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;for(var b=a.parent,c=m(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function G(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var g=0;g<a.lines.length;++g){var h=a.lines[g],i=h.height;if(b<i)break;b-=i}return c+g}function H(a,b){return b>=a.first&&b<a.first+a.size}function I(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function J(a,b,c){return void 0===c&&(c=null),this instanceof J?(this.line=a,this.ch=b,void(this.sticky=c)):new J(a,b,c)}function K(a,b){return a.line-b.line||a.ch-b.ch}function L(a,b){return a.sticky==b.sticky&&0==K(a,b)}function M(a){return J(a.line,a.ch)}function N(a,b){return K(a,b)<0?b:a}function O(a,b){return K(a,b)<0?a:b}function P(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Q(a,b){if(b.line<a.first)return J(a.first,0);var c=a.first+a.size-1;return b.line>c?J(c,B(a,c).text.length):R(b,B(a,b.line).text.length)}function R(a,b){var c=a.ch;return null==c||c>b?J(a.line,b):c<0?J(a.line,0):a}function S(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=Q(a,b[d]);return c}function T(){Eg=!0}function U(){Fg=!0}function V(a,b,c){this.marker=a,this.from=b,this.to=c}function W(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function X(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function Y(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function Z(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||f.from==b&&"bookmark"==g.type&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(d||(d=[])).push(new V(g,f.from,i?null:f.to))}}return d}function $(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(d||(d=[])).push(new V(g,i?null:f.from-b,null==f.to?null:f.to-b))}}return d}function _(a,b){if(b.full)return null;var c=H(a,b.from.line)&&B(a,b.from.line).markedSpans,d=H(a,b.to.line)&&B(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==K(b.from,b.to),h=Z(c,e,g),i=$(d,f,g),j=1==b.text.length,k=p(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=W(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var o=0;o<i.length;++o){var q=i[o];if(null!=q.to&&(q.to+=k),null==q.from){var r=W(h,q.marker);r||(q.from=k,j&&(h||(h=[])).push(q))}else q.from+=k,j&&(h||(h=[])).push(q)}h&&(h=aa(h)),i&&i!=h&&(i=aa(i));var s=[h];if(!j){var t,u=b.text.length-2;if(u>0&&h)for(var v=0;v<h.length;++v)null==h[v].to&&(t||(t=[])).push(new V(h[v].marker,null,null));for(var w=0;w<u;++w)s.push(t);s.push(i)}return s}function aa(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&c.marker.clearWhenEmpty!==!1&&a.splice(b--,1)}return a.length?a:null}function ba(a,b,c){var d=null;if(a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&m(d,c)!=-1||(d||(d=[])).push(c)}}),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(0),i=0;i<e.length;++i){var j=e[i];if(!(K(j.to,h.from)<0||K(j.from,h.to)>0)){var k=[i,1],l=K(j.from,h.from),n=K(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-3}}return e}function ca(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function da(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function ea(a){return a.inclusiveLeft?-1:0}function fa(a){return a.inclusiveRight?1:0}function ga(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var d=a.find(),e=b.find(),f=K(d.from,e.from)||ea(a)-ea(b);if(f)return-f;var g=K(d.to,e.to)||fa(a)-fa(b);return g?g:b.id-a.id}function ha(a,b){var c,d=Fg&&a.markedSpans;if(d)for(var e=void 0,f=0;f<d.length;++f)e=d[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!c||ga(c,e.marker)<0)&&(c=e.marker);return c}function ia(a){return ha(a,!0)}function ja(a){return ha(a,!1)}function ka(a,b,c,d,e){var f=B(a,b),g=Fg&&f.markedSpans;if(g)for(var h=0;h<g.length;++h){var i=g[h];if(i.marker.collapsed){var j=i.marker.find(0),k=K(j.from,c)||ea(i.marker)-ea(e),l=K(j.to,d)||fa(i.marker)-fa(e);if(!(k>=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.to,c)>=0:K(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.from,d)<=0:K(j.from,d)<0)))return!0}}}function la(a){for(var b;b=ia(a);)a=b.find(-1,!0).line;return a}function ma(a){for(var b;b=ja(a);)a=b.find(1,!0).line;return a}function na(a){for(var b,c;b=ja(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function oa(a,b){var c=B(a,b),d=la(c);return c==d?b:F(d)}function pa(a,b){if(b>a.lastLine())return b;var c,d=B(a,b);if(!qa(a,d))return b;for(;c=ja(d);)d=c.find(1,!0).line;return F(d)+1}function qa(a,b){var c=Fg&&b.markedSpans;if(c)for(var d=void 0,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&ra(a,b,d))return!0}}function ra(a,b,c){if(null==c.to){var d=c.marker.find(1,!0);return ra(a,d.line,W(d.line.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var e=void 0,f=0;f<b.markedSpans.length;++f)if(e=b.markedSpans[f],e.marker.collapsed&&!e.marker.widgetNode&&e.from==c.to&&(null==e.to||e.to!=c.from)&&(e.marker.inclusiveLeft||c.marker.inclusiveRight)&&ra(a,b,e))return!0}function sa(a){a=la(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;b+=e.height}for(var f=c.parent;f;c=f,f=c.parent)for(var g=0;g<f.children.length;++g){var h=f.children[g];if(h==c)break;b+=h.height}return b}function ta(a){if(0==a.height)return 0;for(var b,c=a.text.length,d=a;b=ia(d);){var e=b.find(0,!0);d=e.from.line,c+=e.from.ch-e.to.ch}for(d=a;b=ja(d);){var f=b.find(0,!0);c-=d.text.length-f.from.ch,d=f.to.line,c+=d.text.length-f.to.ch}return c}function ua(a){var b=a.display,c=a.doc;b.maxLine=B(c,c.first),b.maxLineLength=ta(b.maxLine),b.maxLineChanged=!0,c.iter(function(a){var c=ta(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function va(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0)}e||d(b,c,"ltr")}function wa(a,b,c){var d;Gg=null;for(var e=0;e<a.length;++e){var f=a[e];if(f.from<b&&f.to>b)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:Gg=e),f.from==b&&(f.from!=f.to&&"before"!=c?d=e:Gg=e)}return null!=d?d:Gg}function xa(a,b){var c=a.order;return null==c&&(c=a.order=Hg(a.text,b)),c}function ya(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function za(a,b,c){var d=ya(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function Aa(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0){var k=Yb(b,c);g=e<0?c.text.length-1:0;var l=Zb(b,k,g).top;g=z(function(a){return Zb(b,k,a).top==l},e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=ya(c,g,1,!0))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function Ba(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return za(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return za(b,c,d);var h,i=function(a,c){return ya(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Yb(a,b),pc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function Ca(a,b){return a._handlers&&a._handlers[b]||Ig}function Da(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Ea(a,b){var c=Ca(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Fa(a,b,c){return"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}}),Ea(a,c||b.type,a,b),La(b)||b.codemirrorIgnore}function Ga(a){var b=a._handlers&&a._handlers.cursorActivity;if(b)for(var c=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]),d=0;d<b.length;++d)m(c,b[d])==-1&&c.push(b[d])}function Ha(a,b){return Ca(a,b).length>0}function Ia(a){a.prototype.on=function(a,b){Jg(this,a,b)},a.prototype.off=function(a,b){Da(this,a,b)}}function Ja(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ka(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function La(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ma(a){Ja(a),Ka(a)}function Na(a){return a.target||a.srcElement}function Oa(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),kg&&a.ctrlKey&&1==b&&(b=3),b}function Pa(a){if(null==ug){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(ug=b.offsetWidth<=1&&b.offsetHeight>2&&!($f&&_f<8))}var e=ug?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Qa(a){if(null!=vg)return vg;var d=c(a,document.createTextNode("AخA")),e=og(d,0,1).getBoundingClientRect(),f=og(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(vg=f.right-e.right<3)}function Ra(a){if(null!=Og)return Og;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=og(b,0,1).getBoundingClientRect();return Og=Math.abs(e.left-f.left)>1}function Sa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),Pg[a]=b}function Ta(a,b){Qg[a]=b}function Ua(a){if("string"==typeof a&&Qg.hasOwnProperty(a))a=Qg[a];else if(a&&"string"==typeof a.name&&Qg.hasOwnProperty(a.name)){var b=Qg[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Ua("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Ua("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Va(a,b){b=Ua(b);var c=Pg[b.name];if(!c)return Va(a,"text/plain");var d=c(a,b);if(Rg.hasOwnProperty(b.name)){var e=Rg[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Wa(a,b){var c=Rg.hasOwnProperty(a)?Rg[a]:Rg[a]={};k(b,c)}function Xa(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ya(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Za(a,b,c){return!a.startState||a.startState(b,c)}function $a(a,b,c,d){var e=[a.state.modeGen],f={};gb(a,b.text,a.doc.mode,c,function(a,b){return e.push(a,b)},f,d);for(var g=function(c){var d=a.state.overlays[c],g=1,h=0;gb(a,b.text,d.mode,!0,function(a,b){for(var c=g;h<a;){var f=e[g];f>a&&e.splice(g,1,a,e[g+1],f),g+=2,h=Math.min(a,f)}if(b)if(d.opaque)e.splice(c,g-c,a,"overlay "+b),g=c+2;else for(;c<g;c+=2){var i=e[c+1];e[c+1]=(i?i+" ":"")+"overlay "+b}},f)},h=0;h<a.state.overlays.length;++h)g(h);return{styles:e,classes:f.bgClass||f.textClass?f:null}}function _a(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=ab(a,F(b)),e=$a(a,b,b.text.length>a.options.maxHighlightLength?Xa(a.doc.mode,d):d);b.stateAfter=d,b.styles=e.styles,e.classes?b.styleClasses=e.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.frontier&&a.doc.frontier++}return b.styles}function ab(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=hb(a,b,c),g=f>d.first&&B(d,f-1).stateAfter;return g=g?Xa(d.mode,g):Za(d.mode),d.iter(f,b,function(c){bb(a,c.text,g);var h=f==b-1||f%5==0||f>=e.viewFrom&&f<e.viewTo;c.stateAfter=h?Xa(d.mode,g):null,++f}),c&&(d.frontier=f),g}function bb(a,b,c,d){var e=a.doc.mode,f=new Sg(b,a.options.tabSize);for(f.start=f.pos=d||0,""==b&&cb(e,c);!f.eol();)db(e,f,c),f.start=f.pos}function cb(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=Ya(a,b);return c.mode.blankLine?c.mode.blankLine(c.state):void 0}}function db(a,b,c,d){for(var e=0;e<10;e++){d&&(d[0]=Ya(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function eb(a,b,c,d){var e,f=function(a){return{start:l.start,end:l.pos,string:l.current(),type:e||null,state:a?Xa(g.mode,k):k}},g=a.doc,h=g.mode;b=Q(g,b);var i,j=B(g,b.line),k=ab(a,b.line,c),l=new Sg(j.text,a.options.tabSize);for(d&&(i=[]);(d||l.pos<b.ch)&&!l.eol();)l.start=l.pos,e=db(h,l,k),d&&i.push(f(!0));return d?i:f()}function fb(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return a}function gb(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var i,j=0,k=null,l=new Sg(b,a.options.tabSize),m=a.options.addModeClass&&[null];for(""==b&&fb(cb(c,d),f);!l.eol();){if(l.pos>a.options.maxHighlightLength?(h=!1,g&&bb(a,b,d,l.pos),l.pos=b.length,i=null):i=fb(db(c,l,d,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;j<l.start;)j=Math.min(l.start,j+5e3),e(j,k);k=i}l.start=l.pos}for(;j<l.pos;){var o=Math.min(l.pos,j+5e3);e(o,k),j=o}}function hb(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=B(f,h-1);if(i.stateAfter&&(!c||h<=f.frontier))return h;var j=l(i.text,null,a.options.tabSize);(null==e||d>j)&&(e=h-1,d=j)}return e}function ib(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),ca(a),da(a,c);var e=d?d(a):1;e!=a.height&&E(a,e)}function jb(a){a.parent=null,ca(a)}function kb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?Wg:Vg;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function lb(a,b){var c=e("span",null,null,ag?"padding-right: .1px":null),d={pre:e("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:($f||ag)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,h=void 0;d.pos=0,d.addToken=nb,Qa(a.display.measure)&&(h=xa(g,a.doc.direction))&&(d.addToken=pb(d.addToken,h)),d.map=[];var j=b!=a.display.externalMeasured&&F(g);rb(g,d,_a(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=i(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&(d.textClass=i(g.styleClasses.textClass,d.textClass||""))),0==d.map.length&&d.map.push(0,0,d.content.appendChild(Pa(a.display.measure))),0==f?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(ag){var k=d.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")}return Ea(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=i(d.pre.className,d.textClass||"")),d}function mb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function nb(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?ob(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));$f&&_f<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),$f&&_f<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),$f&&_f<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function ob(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;e<a.length;e++){var f=a.charAt(e);" "!=f||!c||e!=a.length-1&&32!=a.charCodeAt(e+1)||(f=" "),d+=f,c=" "==f}return d}function pb(a,b){return function(c,d,e,f,g,h,i){e=e?e+" cm-force-border":"cm-force-border";for(var j=c.pos,k=j+d.length;;){for(var l=void 0,m=0;m<b.length&&(l=b[m],!(l.to>j&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function qb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function rb(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;u<d.length;++u){var v=d[u],w=v.marker;"bookmark"==w.type&&v.from==o&&w.widgetNode?s.push(w):v.from<=o&&(null==v.to||v.to>o||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||ga(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x<t.length;x+=2)t[x+1]==r&&(j+=" "+t[x]);if(!m||m.from==o)for(var y=0;y<s.length;++y)qb(b,0,s[y]);if(m&&(m.from||0)==o){if(qb(b,(null==m.to?n+1:m.to)-o,m.marker,null==m.from),null==m.to)return;m.to==o&&(m=!1)}}if(o>=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=kb(c[p++],b.cm.options)}}else for(var C=1;C<c.length;C+=2)b.addToken(b,e.slice(f,f=c[C]),kb(c[C+1],b.cm.options))}function sb(a,b,c){this.line=b,this.rest=na(b),this.size=this.rest?F(p(this.rest))-c+1:1,this.node=this.text=null,this.hidden=qa(a,b)}function tb(a,b,c){for(var d,e=[],f=b;f<c;f=d){var g=new sb(a.doc,B(a.doc,f),f);d=f+g.size,e.push(g)}return e}function ub(a){Xg?Xg.ops.push(a):a.ownsGroup=Xg={ops:[a],delayedCallbacks:[]}}function vb(a){var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c].call(null);for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++].call(null,e.cm)}}while(c<b.length)}function wb(a,b){var c=a.ownsGroup;if(c)try{vb(c)}finally{Xg=null,b(c)}}function xb(a,b){var c=Ca(a,b);if(c.length){var d,e=Array.prototype.slice.call(arguments,2);Xg?d=Xg.delayedCallbacks:Yg?d=Yg:(d=Yg=[],setTimeout(yb,0));for(var f=function(a){d.push(function(){return c[a].apply(null,e)})},g=0;g<c.length;++g)f(g)}}function yb(){var a=Yg;Yg=null;for(var b=0;b<a.length;++b)a[b]()}function zb(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];"text"==f?Db(a,b):"gutter"==f?Fb(a,b,c,d):"class"==f?Eb(a,b):"widget"==f&&Gb(a,b,d)}b.changes=null}function Ab(a){return a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),$f&&_f<8&&(a.node.style.zIndex=2)),a.node}function Bb(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;if(c&&(c+=" CodeMirror-linebackground"),b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=Ab(b);b.background=e.insertBefore(d("div",null,c),e.firstChild),a.display.input.setUneditable(b.background)}}function Cb(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):lb(a,b)}function Db(a,b){var c=b.text.className,d=Cb(a,b);b.text==b.node&&(b.node=d.pre),b.text.parentNode.replaceChild(d.pre,b.text),b.text=d.pre,d.bgClass!=b.bgClass||d.textClass!=b.textClass?(b.bgClass=d.bgClass,b.textClass=d.textClass,Eb(a,b)):c&&(b.text.className=c)}function Eb(a,b){Bb(a,b),b.line.wrapClass?Ab(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");var c=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=c||""}function Fb(a,b,c,e){if(b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null),b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null),b.line.gutterClass){var f=Ab(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text)}var g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var h=Ab(b),i=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");if(a.display.input.setUneditable(i),h.insertBefore(i,b.text),b.line.gutterClass&&(i.className+=" "+b.line.gutterClass),!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=i.appendChild(d("div",I(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),g)for(var j=0;j<a.options.gutters.length;++j){var k=a.options.gutters[j],l=g.hasOwnProperty(k)&&g[k];l&&i.appendChild(d("div",[l],"CodeMirror-gutter-elt","left: "+e.gutterLeft[k]+"px; width: "+e.gutterWidth[k]+"px"))}}}function Gb(a,b,c){b.alignable&&(b.alignable=null);for(var d=b.node.firstChild,e=void 0;d;d=e)e=d.nextSibling,"CodeMirror-linewidget"==d.className&&b.node.removeChild(d);Ib(a,b,c)}function Hb(a,b,c,d){var e=Cb(a,b);return b.text=b.node=e.pre,e.bgClass&&(b.bgClass=e.bgClass),e.textClass&&(b.textClass=e.textClass),Eb(a,b),Fb(a,b,c,d),Ib(a,b,d),b.node}function Ib(a,b,c){if(Jb(a,b.line,b,c,!0),b.rest)for(var d=0;d<b.rest.length;d++)Jb(a,b.rest[d],b,c,!1)}function Jb(a,b,c,e,f){if(b.widgets)for(var g=Ab(c),h=0,i=b.widgets;h<i.length;++h){var j=i[h],k=d("div",[j.node],"CodeMirror-linewidget");j.handleMouseEvents||k.setAttribute("cm-ignore-events","true"),Kb(j,k,c,e),a.display.input.setUneditable(k),f&&j.above?g.insertBefore(k,c.gutter||c.text):g.appendChild(k),xb(j,"redraw")}}function Kb(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Lb(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!f(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;"),a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;"),c(b.display.measure,d("div",[a.node],null,e))}return a.height=a.node.parentNode.offsetHeight}function Mb(a,b){for(var c=Na(b);c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Nb(a){return a.lineSpace.offsetTop}function Ob(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function Pb(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=c(a.measure,d("pre","x")),e=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,f={left:parseInt(e.paddingLeft),right:parseInt(e.paddingRight)};return isNaN(f.left)||isNaN(f.right)||(a.cachedPaddingH=f),f}function Qb(a){return wg-a.display.nativeBarWidth}function Rb(a){return a.display.scroller.clientWidth-Qb(a)-a.display.barWidth}function Sb(a){return a.display.scroller.clientHeight-Qb(a)-a.display.barHeight}function Tb(a,b,c){var d=a.options.lineWrapping,e=d&&Rb(a);if(!b.measure.heights||d&&b.measure.width!=e){var f=b.measure.heights=[];if(d){b.measure.width=e;for(var g=b.text.firstChild.getClientRects(),h=0;h<g.length-1;h++){var i=g[h],j=g[h+1];Math.abs(i.bottom-j.bottom)>2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Ub(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(var e=0;e<a.rest.length;e++)if(F(a.rest[e])>c)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Vb(a,b){b=la(b);var d=F(b),e=a.display.externalMeasured=new sb(a.doc,b,d);e.lineN=d;var f=e.built=lb(a,e);return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Wb(a,b,c,d){return Zb(a,Yb(a,b),c,d)}function Xb(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[yc(a,b)];var c=a.display.externalMeasured;return c&&b>=c.lineN&&b<c.lineN+c.size?c:void 0}function Yb(a,b){var c=F(b),d=Xb(a,c);d&&!d.text?d=null:d&&d.changes&&(zb(a,d,c,tc(a)),a.curOp.forceUpdate=!0),d||(d=Vb(a,b));var e=Ub(d,b,c);return{line:b,view:d,rect:null,map:e.map,
2
- cache:e.cache,before:e.before,hasHeights:!1}}function Zb(a,b,c,d,e){b.before&&(c=-1);var f,g=c+(d||"");return b.cache.hasOwnProperty(g)?f=b.cache[g]:(b.rect||(b.rect=b.view.text.getBoundingClientRect()),b.hasHeights||(Tb(a,b.view,b.rect),b.hasHeights=!0),f=ac(a,b,c,d),f.bogus||(b.cache[g]=f)),{left:f.left,right:f.right,top:e?f.rtop:f.top,bottom:e?f.rbottom:f.bottom}}function $b(a,b,c){for(var d,e,f,g,h,i,j=0;j<a.length;j+=3)if(h=a[j],i=a[j+1],b<h?(e=0,f=1,g="left"):b<i?(e=b-h,f=e+1):(j==a.length-3||b==i&&a[j+3]>b)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j<a.length-3&&a[j+3]==a[j+4]&&!a[j+5].insertLeft;)d=a[(j+=3)+2],g="right";break}return{node:d,start:e,end:f,collapse:g,coverStart:h,coverEnd:i}}function _b(a,b){var c=Zg;if("left"==b)for(var d=0;d<a.length&&(c=a[d]).left==c.right;d++);else for(var e=a.length-1;e>=0&&(c=a[e]).left==c.right;e--);return c}function ac(a,b,c,d){var e,f=$b(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse;if(3==g.nodeType){for(var k=0;k<4;k++){for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i<f.coverEnd&&x(b.line.text.charAt(f.coverStart+i));)++i;if(e=$f&&_f<9&&0==h&&i==f.coverEnd-f.coverStart?g.parentNode.getBoundingClientRect():_b(og(g,h,i).getClientRects(),d),e.left||e.right||0==h)break;i=h,h-=1,j="right"}$f&&_f<11&&(e=bc(a.display.measure,e))}else{h>0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if($f&&_f<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+sc(a.display),top:m.top,bottom:m.bottom}:Zg}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;r<q.length-1&&!(p<q[r]);r++);var s=r?q[r-1]:0,t=q[r],u={left:("right"==j?e.right:e.left)-b.rect.left,right:("left"==j?e.left:e.right)-b.rect.left,top:s,bottom:t};return e.left||e.right||(u.bogus=!0),a.options.singleCursorHeightPerLine||(u.rtop=n,u.rbottom=o),u}function bc(a,b){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Ra(a))return b;var c=screen.logicalXDPI/screen.deviceXDPI,d=screen.logicalYDPI/screen.deviceYDPI;return{left:b.left*c,right:b.right*c,top:b.top*d,bottom:b.bottom*d}}function cc(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function dc(a){a.display.externalMeasure=null,b(a.display.lineMeasure);for(var c=0;c<a.display.view.length;c++)cc(a.display.view[c])}function ec(a){dc(a),a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function fc(){return cg&&ig?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function gc(){return cg&&ig?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function hc(a,b,c,d,e){if(!e&&b.widgets)for(var f=0;f<b.widgets.length;++f)if(b.widgets[f].above){var g=Lb(b.widgets[f]);c.top+=g,c.bottom+=g}if("line"==d)return c;d||(d="local");var h=sa(b);if("local"==d?h+=Nb(a.display):h-=a.display.viewOffset,"page"==d||"window"==d){var i=a.display.lineSpace.getBoundingClientRect();h+=i.top+("window"==d?0:gc());var j=i.left+("window"==d?0:fc());c.left+=j,c.right+=j}return c.top+=h,c.bottom+=h,c}function ic(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=fc(),e-=gc();else if("local"==c||!c){var f=a.display.sizer.getBoundingClientRect();d+=f.left,e+=f.top}var g=a.display.lineSpace.getBoundingClientRect();return{left:d-g.left,top:e-g.top}}function jc(a,b,c,d,e){return d||(d=B(a.doc,b.line)),hc(a,d,Wb(a,d,b.ch,e),c)}function kc(a,b,c,d,e,f){function g(b,g){var h=Zb(a,e,b,g?"right":"left",f);return g?h.left=h.right:h.right=h.left,hc(a,d,h,c)}function h(a,b,c){var d=i[b],e=d.level%2!=0;return g(c?a-1:a,e!=c)}d=d||B(a.doc,b.line),e||(e=Yb(a,d));var i=xa(d,a.doc.direction),j=b.ch,k=b.sticky;if(j>=d.text.length?(j=d.text.length,k="before"):j<=0&&(j=0,k="after"),!i)return g("before"==k?j-1:j,"before"==k);var l=wa(i,j,k),m=Gg,n=h(j,l,"before"==k);return null!=m&&(n.other=h(j,m,"before"!=k)),n}function lc(a,b){var c=0;b=Q(a.doc,b),a.options.lineWrapping||(c=sc(a.display)*b.ch);var d=B(a.doc,b.line),e=sa(d)+Nb(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function mc(a,b,c,d,e){var f=J(a,b,c);return f.xRel=e,d&&(f.outside=!0),f}function nc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return mc(d.first,0,null,!0,-1);var e=G(d,c),f=d.first+d.size-1;if(e>f)return mc(d.first+d.size-1,B(d,f).text.length,null,!0,1);b<0&&(b=0);for(var g=B(d,e);;){var h=qc(a,g,e,b,c),i=ja(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=F(g=j.to.line)}}function oc(a,b,c,d){var e=function(d){return hc(a,b,Zb(a,c,d),"line")},f=b.text.length,g=z(function(a){return e(a-1).bottom<=d},f,0);return f=z(function(a){return e(a).top>d},g,f),{begin:g,end:f}}function pc(a,b,c,d){var e=hc(a,b,Zb(a,c,d),"line").top;return oc(a,b,c,e)}function qc(a,b,c,d,e){e-=sa(b);var f,g=0,h=b.text.length,i=Yb(a,b),j=xa(b,a.doc.direction);if(j){if(a.options.lineWrapping){var k;k=oc(a,b,i,e),g=k.begin,h=k.end,k}f=new J(c,g);var l,m,n=kc(a,f,"line",b,i).left,o=n<d?1:-1,p=n-d;do{if(l=p,m=f,f=Ba(a,b,f,o),null==f||f.ch<g||h<=("before"==f.sticky?f.ch-1:f.ch)){f=m;break}p=kc(a,f,"line",b,i).left-d}while(o<0!=p<0&&Math.abs(p)<=Math.abs(l));if(Math.abs(p)>Math.abs(l)){if(p<0==l<0)throw new Error("Broke out of infinite loop in coordsCharInner");f=m}}else{var q=z(function(c){var f=hc(a,b,Zb(a,i,c),"line");return f.top>e?(h=Math.min(c,h),!0):!(f.bottom<=e)&&(f.left>d||!(f.right<d)&&d-f.left<f.right-d)},g,h);q=y(b.text,q,1),f=new J(c,q,q==h?"before":"after")}var r=kc(a,f,"line",b,i);return(e<r.top||r.bottom<e)&&(f.outside=!0),f.xRel=d<r.left?-1:d>r.right?1:0,f}function rc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==Ug){Ug=d("pre");for(var e=0;e<49;++e)Ug.appendChild(document.createTextNode("x")),Ug.appendChild(d("br"));Ug.appendChild(document.createTextNode("x"))}c(a.measure,Ug);var f=Ug.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function sc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function tc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:uc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function uc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function vc(a){var b=rc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/sc(a.display)-3);return function(e){if(qa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function wc(a){var b=a.doc,c=vc(a);b.iter(function(a){var b=c(a);b!=a.height&&E(a,b)})}function xc(a,b,c,d){var e=a.display;if(!c&&"true"==Na(b).getAttribute("cm-not-content"))return null;var f,g,h=e.lineSpace.getBoundingClientRect();try{f=b.clientX-h.left,g=b.clientY-h.top}catch(b){return null}var i,j=nc(a,f,g);if(d&&1==j.xRel&&(i=B(a.doc,j.line).text).length==j.ch){var k=l(i,i.length,a.options.tabSize)-i.length;j=J(j.line,Math.max(0,Math.round((f-Pb(a.display).left)/sc(a.display))-k))}return j}function yc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,b<0)return d}function zc(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Ac(a,b){for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(b!==!1||g!=c.sel.primIndex){var h=c.sel.ranges[g];if(!(h.from().line>=a.display.viewTo||h.to().line<a.display.viewFrom)){var i=h.empty();(i||a.options.showCursorWhenSelecting)&&Bc(a,h.head,e),i||Cc(a,h,f)}}return d}function Bc(a,b,c){var e=kc(a,b,"div",null,null,!a.options.singleCursorHeightPerLine),f=c.appendChild(d("div"," ","CodeMirror-cursor"));if(f.style.left=e.left+"px",f.style.top=e.top+"px",f.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px",e.other){var g=c.appendChild(d("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));g.style.display="",g.style.left=e.other.left+"px",g.style.top=e.other.top+"px",g.style.height=.85*(e.other.bottom-e.other.top)+"px"}}function Cc(a,b,c){function e(a,b,c,e){b<0&&(b=0),b=Math.round(b),e=Math.round(e),i.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?l-a:c)+"px;\n height: "+(e-b)+"px"))}function f(b,c,d){function f(c,d){return jc(a,J(b,c),"div",j,d)}var g,i,j=B(h,b),m=j.text.length;return va(xa(j,h.direction),c||0,null==d?m:d,function(a,b,h){var j,n,o,p=f(a,"left");if(a==b)j=p,n=o=p.left;else{if(j=f(b-1,"right"),"rtl"==h){var q=p;p=j,j=q}n=p.left,o=j.right}null==c&&0==a&&(n=k),j.top-p.top>3&&(e(n,p.top,null,p.bottom),n=k,p.bottom<j.top&&e(n,p.bottom,null,j.top)),null==d&&b==m&&(o=l),(!g||p.top<g.top||p.top==g.top&&p.left<g.left)&&(g=p),(!i||j.bottom>i.bottom||j.bottom==i.bottom&&j.right>i.right)&&(i=j),n<k+1&&(n=k),e(n,j.top,o-n,j.bottom)}),{start:g,end:i}}var g=a.display,h=a.doc,i=document.createDocumentFragment(),j=Pb(a.display),k=j.left,l=Math.max(g.sizerWidth,Rb(a)-g.sizer.offsetLeft)-j.right,m=b.from(),n=b.to();if(m.line==n.line)f(m.line,m.ch,n.ch);else{var o=B(h,m.line),p=B(h,n.line),q=la(o)==la(p),r=f(m.line,m.ch,q?o.text.length+1:null).end,s=f(n.line,q?0:null,n.ch).start;q&&(r.top<s.top-2?(e(r.right,r.top,null,r.bottom),e(k,s.top,s.left,s.bottom)):e(r.right,r.top,s.left-r.right,r.bottom)),r.bottom<s.top&&e(k,r.bottom,null,s.top)}c.appendChild(i)}function Dc(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="",a.options.cursorBlinkRate>0?b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Ec(a){a.state.focused||(a.display.input.focus(),Gc(a))}function Fc(a){a.state.delayingBlurEvent=!0,setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Hc(a))},100)}function Gc(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Ea(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),ag&&setTimeout(function(){return a.display.input.reset(!0)},20)),a.display.input.receivedFocus()),Dc(a))}function Hc(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Ea(a,"blur",a,b),a.state.focused=!1,rg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function Ic(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=uc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&(c[g].gutter&&(c[g].gutter.style.left=f),c[g].gutterBackground&&(c[g].gutterBackground.style.left=f));var h=c[g].alignable;if(h)for(var i=0;i<h.length;i++)h[i].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Jc(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=I(a.options,b.first+b.size-1),e=a.display;if(c.length!=e.lineNumChars){var f=e.measure.appendChild(d("div",[d("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=f.firstChild.offsetWidth,h=f.offsetWidth-g;return e.lineGutter.style.width="",e.lineNumInnerWidth=Math.max(g,e.lineGutter.offsetWidth-h)+1,e.lineNumWidth=e.lineNumInnerWidth+h,e.lineNumChars=e.lineNumInnerWidth?c.length:-1,e.lineGutter.style.width=e.lineNumWidth+"px",Ad(a),!0}return!1}function Kc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=0;d<b.view.length;d++){var e=b.view[d],f=void 0;if(!e.hidden){if($f&&_f<8){var g=e.node.offsetTop+e.node.offsetHeight;f=g-c,c=g}else{var h=e.node.getBoundingClientRect();f=h.bottom-h.top}var i=e.line.height-f;if(f<2&&(f=rc(b)),(i>.001||i<-.001)&&(E(e.line,f),Lc(e.line),e.rest))for(var j=0;j<e.rest.length;j++)Lc(e.rest[j])}}}function Lc(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b)a.widgets[b].height=a.widgets[b].node.parentNode.offsetHeight}function Mc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-Nb(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=G(b,d),g=G(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;h<f?(f=h,g=G(b,sa(B(b,h))+a.wrapper.clientHeight)):Math.min(i,b.lastLine())>=g&&(f=G(b,sa(B(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Nc(a,b){Math.abs(a.doc.scrollTop-b)<2||(a.doc.scrollTop=b,Wf||yd(a,{top:b}),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b),a.display.scrollbars.setScrollTop(b),Wf&&yd(a),td(a,100))}function Oc(a,b,c){(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,Ic(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function Pc(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Qc(a){var b=Pc(a);return b.x*=_g,b.y*=_g,b}function Rc(a,b){var c=Pc(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&kg&&ag)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l<k.length;l++)if(k[l].node==j){a.display.currentWheelTarget=j;break a}if(d&&!Wf&&!dg&&null!=_g)return e&&i&&Nc(a,Math.max(0,Math.min(g.scrollTop+e*_g,g.scrollHeight-g.clientHeight))),Oc(a,Math.max(0,Math.min(g.scrollLeft+d*_g,g.scrollWidth-g.clientWidth))),(!e||e&&i)&&Ja(b),void(f.wheelStartX=null);if(e&&null!=_g){var m=e*_g,n=a.doc.scrollTop,o=n+f.wrapper.clientHeight;m<0?n=Math.max(0,n+m-50):o=Math.min(a.doc.height,o+m+50),yd(a,{top:n,bottom:o})}$g<20&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=e,setTimeout(function(){if(null!=f.wheelStartX){var a=g.scrollLeft-f.wheelStartX,b=g.scrollTop-f.wheelStartY,c=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null,c&&(_g=(_g*$g+c)/($g+1),++$g)}},200)):(f.wheelDX+=d,f.wheelDY+=e))}}function Sc(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Ob(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Qb(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function Tc(a,b){b||(b=Sc(a));var c=a.display.barWidth,d=a.display.barHeight;Uc(a,b);for(var e=0;e<4&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Kc(a),Uc(a,Sc(a)),c=a.display.barWidth,d=a.display.barHeight}function Uc(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px",c.heightForcer.style.borderBottom=d.bottom+"px solid transparent",d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="",d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function Vc(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&rg(a.display.wrapper,a.display.scrollbars.addClass)),a.display.scrollbars=new ch[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller),Jg(b,"mousedown",function(){a.state.focused&&setTimeout(function(){return a.display.input.focus()},0)}),b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?Oc(a,b):Nc(a,b)},a),a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function Wc(a,b){if(!Fa(a,"scrollCursorIntoView")){var c=a.display,e=c.sizer.getBoundingClientRect(),f=null;if(b.top+e.top<0?f=!0:b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!gg){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Nb(a.display))+"px;\n height: "+(b.bottom-b.top+Qb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+Math.max(2,b.right-b.left)+"px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Xc(a,b,c,d){null==d&&(d=0);for(var e,f=0;f<5;f++){var g=!1,h=kc(a,b),i=c&&c!=b?kc(a,c):h;e={left:Math.min(h.left,i.left),top:Math.min(h.top,i.top)-d,right:Math.max(h.left,i.left),bottom:Math.max(h.bottom,i.bottom)+d};var j=Zc(a,e),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=j.scrollTop&&(Nc(a,j.scrollTop),Math.abs(a.doc.scrollTop-k)>1&&(g=!0)),null!=j.scrollLeft&&(Oc(a,j.scrollLeft),Math.abs(a.doc.scrollLeft-l)>1&&(g=!0)),!g)break}return e}function Yc(a,b){var c=Zc(a,b);null!=c.scrollTop&&Nc(a,c.scrollTop),null!=c.scrollLeft&&Oc(a,c.scrollLeft)}function Zc(a,b){var c=a.display,d=rc(a.display);b.top<0&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,f=Sb(a),g={};b.bottom-b.top>f&&(b.bottom=b.top+f);var h=a.doc.height+Ob(c),i=b.top<d,j=b.bottom>h-d;if(b.top<e)g.scrollTop=i?0:b.top;else if(b.bottom>e+f){var k=Math.min(b.top,(j?h:b.bottom)-f);k!=e&&(g.scrollTop=k)}var l=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft,m=Rb(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0),n=b.right-b.left>m;return n&&(b.right=b.left+m),b.left<10?g.scrollLeft=0:b.left<l?g.scrollLeft=Math.max(0,b.left-(n?0:10)):b.right>m+l-3&&(g.scrollLeft=b.right+(n?0:10)-m),g}function $c(a,b,c){null==b&&null==c||ad(a),null!=b&&(a.curOp.scrollLeft=(null==a.curOp.scrollLeft?a.doc.scrollLeft:a.curOp.scrollLeft)+b),null!=c&&(a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+c)}function _c(a){ad(a);var b=a.getCursor(),c=b,d=b;a.options.lineWrapping||(c=b.ch?J(b.line,b.ch-1):b,d=J(b.line,b.ch+1)),a.curOp.scrollToPos={from:c,to:d,margin:a.options.cursorScrollMargin}}function ad(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=lc(a,b.from),d=lc(a,b.to),e=Zc(a,{left:Math.min(c.left,d.left),top:Math.min(c.top,d.top)-b.margin,right:Math.max(c.right,d.right),bottom:Math.max(c.bottom,d.bottom)+b.margin});a.scrollTo(e.scrollLeft,e.scrollTop)}}function bd(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++dh},ub(a.curOp)}function cd(a){var b=a.curOp;wb(b,function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;dd(a)})}function dd(a){for(var b=a.ops,c=0;c<b.length;c++)ed(b[c]);for(var d=0;d<b.length;d++)fd(b[d]);for(var e=0;e<b.length;e++)gd(b[e]);for(var f=0;f<b.length;f++)hd(b[f]);for(var g=0;g<b.length;g++)id(b[g])}function ed(a){var b=a.cm,c=b.display;vd(b),a.updateMaxLine&&ua(b),a.mustUpdate=a.viewChanged||a.forceUpdate||null!=a.scrollTop||a.scrollToPos&&(a.scrollToPos.from.line<c.viewFrom||a.scrollToPos.to.line>=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new eh(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function fd(a){a.updatedDisplay=a.mustUpdate&&wd(a.cm,a.update)}function gd(a){var b=a.cm,c=b.display;a.updatedDisplay&&Kc(b),a.barMeasure=Sc(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Wb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Qb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Rb(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection(a.focus))}function hd(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeft<b.doc.scrollLeft&&Oc(b,Math.min(b.display.scroller.scrollLeft,a.maxScrollLeft),!0),b.display.maxLineChanged=!1);var c=a.focus&&a.focus==g()&&(!document.hasFocus||document.hasFocus());a.preparedSelection&&b.display.input.showSelection(a.preparedSelection,c),(a.updatedDisplay||a.startHeight!=b.doc.height)&&Tc(b,a.barMeasure),a.updatedDisplay&&Bd(b,a.barMeasure),a.selectionChanged&&Dc(b),b.state.focused&&a.updateInput&&b.display.input.reset(a.typing),c&&Ec(a.cm)}function id(a){var b=a.cm,c=b.display,d=b.doc;if(a.updatedDisplay&&xd(b,a.update),null==c.wheelStartX||null==a.scrollTop&&null==a.scrollLeft&&!a.scrollToPos||(c.wheelStartX=c.wheelStartY=null),null==a.scrollTop||c.scroller.scrollTop==a.scrollTop&&!a.forceScroll||(d.scrollTop=Math.max(0,Math.min(c.scroller.scrollHeight-c.scroller.clientHeight,a.scrollTop)),c.scrollbars.setScrollTop(d.scrollTop),c.scroller.scrollTop=d.scrollTop),null==a.scrollLeft||c.scroller.scrollLeft==a.scrollLeft&&!a.forceScroll||(d.scrollLeft=Math.max(0,Math.min(c.scroller.scrollWidth-c.scroller.clientWidth,a.scrollLeft)),c.scrollbars.setScrollLeft(d.scrollLeft),c.scroller.scrollLeft=d.scrollLeft,Ic(b)),a.scrollToPos){var e=Xc(b,Q(d,a.scrollToPos.from),Q(d,a.scrollToPos.to),a.scrollToPos.margin);Wc(b,e)}var f=a.maybeHiddenMarkers,g=a.maybeUnhiddenMarkers;if(f)for(var h=0;h<f.length;++h)f[h].lines.length||Ea(f[h],"hide");if(g)for(var i=0;i<g.length;++i)g[i].lines.length&&Ea(g[i],"unhide");c.wrapper.offsetHeight&&(d.scrollTop=b.display.scroller.scrollTop),a.changeObjs&&Ea(b,"changes",b,a.changeObjs),a.update&&a.update.finish()}function jd(a,b){if(a.curOp)return b();bd(a);try{return b()}finally{cd(a)}}function kd(a,b){return function(){if(a.curOp)return b.apply(a,arguments);bd(a);try{return b.apply(a,arguments)}finally{cd(a)}}}function ld(a){return function(){if(this.curOp)return a.apply(this,arguments);bd(this);try{return a.apply(this,arguments)}finally{cd(this)}}}function md(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);bd(b);try{return a.apply(this,arguments)}finally{cd(b)}}}function nd(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&c<e.viewTo&&(null==e.updateLineNumbers||e.updateLineNumbers>b)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)Fg&&oa(a.doc,b)<e.viewTo&&pd(a);else if(c<=e.viewFrom)Fg&&pa(a.doc,c+d)>e.viewFrom?pd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)pd(a);else if(b<=e.viewFrom){var f=qd(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):pd(a)}else if(c>=e.viewTo){var g=qd(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):pd(a)}else{var h=qd(a,b,b,-1),i=qd(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(tb(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):pd(a)}var j=e.externalMeasured;j&&(c<j.lineN?j.lineN+=d:b<j.lineN+j.size&&(e.externalMeasured=null))}function od(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;if(e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null),!(b<d.viewFrom||b>=d.viewTo)){var f=d.view[yc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function pd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function qd(a,b,c,d){var e,f=yc(a,b),g=a.display.view;if(!Fg||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i<f;i++)h+=g[i].size;if(h!=b){if(d>0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;oa(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function rd(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=tb(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=tb(a,b,d.viewFrom).concat(d.view):d.viewFrom<b&&(d.view=d.view.slice(yc(a,b))),d.viewFrom=b,d.viewTo<c?d.view=d.view.concat(tb(a,d.viewTo,c)):d.viewTo>c&&(d.view=d.view.slice(0,yc(a,c)))),d.viewTo=c}function sd(a){for(var b=a.display.view,c=0,d=0;d<b.length;d++){var e=b[d];e.hidden||e.node&&!e.changes||++c}return c}function td(a,b){a.doc.mode.startState&&a.doc.frontier<a.display.viewTo&&a.state.highlight.set(b,j(ud,a))}function ud(a){var b=a.doc;if(b.frontier<b.first&&(b.frontier=b.first),!(b.frontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Xa(b.mode,ab(a,b.frontier)),e=[];b.iter(b.frontier,Math.min(b.first+b.size,a.display.viewTo+500),function(f){if(b.frontier>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength,i=$a(a,f,h?Xa(b.mode,d):d,!0);f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&m<g.length;++m)l=g[m]!=f.styles[m];l&&e.push(b.frontier),f.stateAfter=h?d:Xa(b.mode,d)}else f.text.length<=a.options.maxHighlightLength&&bb(a,f.text,d),f.stateAfter=b.frontier%5==0?Xa(b.mode,d):null;if(++b.frontier,+new Date>c)return td(a,a.options.workDelay),!0}),e.length&&jd(a,function(){for(var b=0;b<e.length;b++)od(a,e[b],"text")})}}function vd(a){var b=a.display;!b.scrollbarsClipped&&b.scroller.offsetWidth&&(b.nativeBarWidth=b.scroller.offsetWidth-b.scroller.clientWidth,b.heightForcer.style.height=Qb(a)+"px",b.sizer.style.marginBottom=-b.nativeBarWidth+"px",b.sizer.style.borderRightWidth=Qb(a)+"px",b.scrollbarsClipped=!0)}function wd(a,c){var d=a.display,e=a.doc;if(c.editorIsHidden)return pd(a),!1;if(!c.force&&c.visible.from>=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==sd(a))return!1;Jc(a)&&(pd(a),c.dims=tc(a));var f=e.first+e.size,h=Math.max(c.visible.from-a.options.viewportMargin,e.first),i=Math.min(f,c.visible.to+a.options.viewportMargin);d.viewFrom<h&&h-d.viewFrom<20&&(h=Math.max(e.first,d.viewFrom)),d.viewTo>i&&d.viewTo-i<20&&(i=Math.min(f,d.viewTo)),Fg&&(h=oa(a.doc,h),i=pa(a.doc,i));var j=h!=d.viewFrom||i!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;rd(a,h,i),d.viewOffset=sa(B(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var k=sd(a);if(!j&&0==k&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var l=g();return k>4&&(d.lineDiv.style.display="none"),zd(a,d.updateLineNumbers,c.dims),k>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,l&&g()!=l&&l.offsetHeight&&l.focus(),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,j&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,td(a,400)),d.updateLineNumbers=null,!0}function xd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Rb(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Ob(a.display)-Sb(a),c.top)}),b.visible=Mc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&wd(a,b);d=!1){Kc(a);var e=Sc(a);zc(a),Tc(a,e),Bd(a,e)}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function yd(a,b){var c=new eh(a,b);if(wd(a,c)){Kc(a),xd(a,c);var d=Sc(a);zc(a),Tc(a,d),Bd(a,d),c.finish()}}function zd(a,c,d){function e(b){var c=b.nextSibling;return ag&&kg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l<j.length;l++){var n=j[l];if(n.hidden);else if(n.node&&n.node.parentNode==h){for(;i!=n.node;)i=e(i);var o=g&&null!=c&&c<=k&&n.lineNumber;n.changes&&(m(n.changes,"gutter")>-1&&(o=!1),zb(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(I(a.options,k)))),i=n.node.nextSibling}else{var p=Hb(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Ad(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Bd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Qb(a)+"px"}function Cd(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f<e.length;++f){var g=e[f],h=c.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=h,h.style.width=(a.display.lineNumWidth||1)+"px")}c.style.display=f?"":"none",Ad(a)}function Dd(a){var b=m(a.gutters,"CodeMirror-linenumbers");b==-1&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Ed(a,b){var c=a[b];a.sort(function(a,b){return K(a.from(),b.from())}),b=m(a,c);for(var d=1;d<a.length;d++){var e=a[d],f=a[d-1];if(K(f.to(),e.from())>=0){var g=O(f.from(),e.from()),h=N(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new gh(i?h:g,i?g:h))}}return new fh(a,b)}function Fd(a,b){return new fh([new gh(a,b||a)],0)}function Gd(a){return a.text?J(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Hd(a,b){if(K(a,b.from)<0)return a;if(K(a,b.to)<=0)return Gd(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Gd(b).ch-b.to.ch),J(c,d)}function Id(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new gh(Hd(e.anchor,b),Hd(e.head,b)))}return Ed(c,a.sel.primIndex)}function Jd(a,b,c){return a.line==b.line?J(c.line,a.ch-b.ch+c.ch):J(c.line+(a.line-b.line),a.ch)}function Kd(a,b,c){for(var d=[],e=J(a.first,0),f=e,g=0;g<b.length;g++){var h=b[g],i=Jd(h.from,e,f),j=Jd(Gd(h),e,f);if(e=h.to,f=j,"around"==c){var k=a.sel.ranges[g],l=K(k.head,k.anchor)<0;d[g]=new gh(l?j:i,l?i:j)}else d[g]=new gh(i,i)}return new fh(d,a.sel.primIndex)}function Ld(a){a.doc.mode=Va(a.options,a.doc.modeOption),Md(a)}function Md(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)}),a.doc.frontier=a.doc.first,td(a,100),a.state.modeGen++,a.curOp&&nd(a)}function Nd(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Od(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){ib(a,c,e,d),xb(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new Tg(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),
3
- a.remove(j.length,a.size-j.length);else if(Nd(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new Tg(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}xb(a,"change",a,b)}function Pd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Qd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,wc(a),Ld(a),Rd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,nd(a)}function Rd(a){("rtl"==a.doc.direction?h:rg)(a.display.lineDiv,"CodeMirror-rtl")}function Sd(a){jd(a,function(){Rd(a),nd(a)})}function Td(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function Ud(a,b){var c={from:M(b.from),to:Gd(b),text:C(a,b.from,b.to)};return _d(a,c,b.from.line,b.to.line+1),Pd(a,function(a){return _d(a,c,b.from.line,b.to.line+1)},!0),c}function Vd(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function Wd(a,b){return b?(Vd(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function Xd(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=Wd(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Gd(b):f.changes.push(Ud(a,b));else{var i=p(e.done);for(i&&i.ranges||$d(a.sel,e.done),f={changes:[Ud(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Ea(a,"historyAdded")}function Yd(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function Zd(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||Yd(a,f,p(e.done),b))?e.done[e.done.length-1]=b:$d(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&Vd(e.undone)}function $d(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function _d(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f})}function ae(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function be(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(ae(c[e]));return d}function ce(a,b){var c=be(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function de(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?fh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function ee(a,b,c,d){if(a.cm&&a.cm.display.shift||a.extend){var e=b.anchor;if(d){var f=K(c,e)<0;f!=K(d,e)<0?(e=c,c=d):f!=K(c,d)<0&&(c=d)}return new gh(e,c)}return new gh(d||c,c)}function fe(a,b,c,d){le(a,new fh([ee(a,a.sel.primary(),b,c)],0),d)}function ge(a,b,c){for(var d=[],e=0;e<a.sel.ranges.length;e++)d[e]=ee(a,a.sel.ranges[e],b[e],null);var f=Ed(d,a.sel.primIndex);le(a,f,c)}function he(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,le(a,Ed(e,a.sel.primIndex),d)}function ie(a,b,c,d){le(a,Fd(b,c),d)}function je(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new gh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Ea(a,"beforeSelectionChange",a,d),a.cm&&Ea(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Ed(d.ranges,d.ranges.length-1):b}function ke(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,me(a,b,c)):le(a,b,c)}function le(a,b,c){me(a,b,c),Zd(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function me(a,b,c){(Ha(a,"beforeSelectionChange")||a.cm&&Ha(a.cm,"beforeSelectionChange"))&&(b=je(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ne(a,pe(a,b,d,!0)),c&&c.scroll===!1||!a.cm||_c(a.cm)}function ne(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ga(a.cm)),xb(a,"cursorActivity",a))}function oe(a){ne(a,pe(a,a.sel,null,!1),yg)}function pe(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=re(a,g.anchor,h&&h.anchor,c,d),j=re(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new gh(i,j))}return e?Ed(e,b.primIndex):b}function qe(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Ea(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=se(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return qe(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=se(a,l,d,l.line==b.line?f:null)),l?qe(a,l,b,d,e):null}}return b}function re(a,b,c,d,e){var f=d||1,g=qe(a,b,c,f,e)||!e&&qe(a,b,c,f,!0)||qe(a,b,c,-f,e)||!e&&qe(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function se(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function te(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),yg)}function ue(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Ea(a,"beforeChange",a,d),a.cm&&Ea(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function ve(a,b,c){if(a.cm){if(!a.cm.curOp)return kd(a.cm,ve)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Ha(a,"beforeChange")||a.cm&&Ha(a.cm,"beforeChange"))||(b=ue(a,b,!0))){var d=Eg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)we(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text});else we(a,b)}}function we(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Id(a,b);Xd(a,b,c,a.cm?a.cm.curOp.id:NaN),ze(a,b,c,_(a,b));var d=[];Pd(a,function(a,c){c||m(d,a.history)!=-1||(Ee(a.history,b),d.push(a.history)),ze(a,b,null,_(a,b))})}}function xe(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i<g.length&&(d=g[i],c?!d.ranges||d.equals(a.sel):d.ranges);i++);if(i!=g.length){for(e.lastOrigin=e.lastSelOrigin=null;d=g.pop(),d.ranges;){if($d(d,h),c&&!d.equals(a.sel))return void le(a,d,{clearRedo:!1});f=d}var j=[];$d(f,h),h.push({changes:j,generation:e.generation}),e.generation=d.generation||++e.maxGeneration;for(var k=Ha(a,"beforeChange")||a.cm&&Ha(a.cm,"beforeChange"),l=function(c){var e=d.changes[c];if(e.origin=b,k&&!ue(a,e,!1))return g.length=0,{};j.push(Ud(a,e));var f=c?Id(a,e):p(g);ze(a,e,f,ce(a,e)),!c&&a.cm&&a.cm.scrollIntoView({from:e.from,to:Gd(e)});var h=[];Pd(a,function(a,b){b||m(h,a.history)!=-1||(Ee(a.history,e),h.push(a.history)),ze(a,e,null,ce(a,e))})},n=d.changes.length-1;n>=0;--n){var o=l(n);if(o)return o.v}}}}function ye(a,b){if(0!=b&&(a.first+=b,a.sel=new fh(q(a.sel.ranges,function(a){return new gh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))}),a.sel.primIndex),a.cm)){nd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)od(a.cm,d,"gutter")}}function ze(a,b,c,d){if(a.cm&&!a.cm.curOp)return kd(a.cm,ze)(a,b,c,d);if(b.to.line<a.first)return void ye(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);ye(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Id(a,b)),a.cm?Ae(a.cm,b,d):Od(a,b,d),me(a,c,yg)}}function Ae(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,function(a){if(a==e.maxLine)return h=!0,!0})),d.sel.contains(b.from,b.to)>-1&&Ga(a),Od(d,b,c,vc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)}),h&&(a.curOp.updateMaxLine=!0)),d.frontier=Math.min(d.frontier,f.line),td(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?nd(a):f.line!=g.line||1!=b.text.length||Nd(a.doc,b)?nd(a,f.line,g.line+1,j):od(a,f.line,"text");var k=Ha(a,"changes"),l=Ha(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&xb(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Be(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f=d;d=c,c=f}"string"==typeof b&&(b=a.splitLines(b)),ve(a,{from:c,to:d,text:b,origin:e})}function Ce(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function De(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Ce(f.ranges[h].anchor,b,c,d),Ce(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Ee(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;De(a.done,c,d,e),De(a.undone,c,d,e)}function Fe(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&od(a.cm,e,c),f)}function Ge(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&$c(a,null,c)}function He(a,b,c,d){var e=new jh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Fe(a,b,"widget",function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Lb(e)),d&&$c(f,null,e.height),f.curOp.forceUpdate=!0}return!0}),xb(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Ie(a,b,c,d,f){if(d&&d.shared)return Je(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return kd(a.cm,Ie)(a,b,c,d,f);var g=new lh(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&Xd(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j}),g.collapsed&&a.iter(b.line,c.line+1,function(b){qa(a,b)&&E(b,0)}),g.clearOnEnter&&Jg(g,"beforeCursorEnter",function(){return g.clear()}),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++kh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)nd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)od(l,m,"text");g.atomic&&oe(l.doc),xb(l,"markerAdded",l,g)}return g}function Je(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Ie(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Pd(a,function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Ie(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)}),new mh(f,g)}function Ke(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),function(a){return a.parent})}function Le(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Ie(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function Me(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Pd(c.primary.doc,function(a){return d.push(a)});for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function Ne(a){var b=this;if(Qe(b),!Fa(b,a)&&!Mb(b.display,a)){Ja(a),$f&&(ph=+new Date);var c=xc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=kd(b,function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};ve(b.doc,i),ke(b.doc,Fd(c,Gd(i)))}}),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout(function(){return b.display.input.focus()},20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),me(b.doc,Fd(c,c)),k)for(var l=0;l<k.length;++l)Be(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Oe(a,b){if($f&&(!a.state.draggingText||+new Date-ph<100))return void Ma(b);if(!Fa(a,b)&&!Mb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!eg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",dg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),dg&&c.parentNode.removeChild(c)}}function Pe(a,b){var e=xc(a,b);if(e){var f=document.createDocumentFragment();Bc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function Qe(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function Re(a){if(document.body.getElementsByClassName)for(var b=document.body.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function Se(){qh||(Te(),qh=!0)}function Te(){var a;Jg(window,"resize",function(){null==a&&(a=setTimeout(function(){a=null,Re(Ue)},100))}),Jg(window,"blur",function(){return Re(Hc)})}function Ue(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function Ve(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function We(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),Ve),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function Xe(a,b,c,d){b=$e(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return Xe(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=Xe(a,b.fallthrough[f],c,d);if(g)return g}}}function Ye(a){var b="string"==typeof a?a:rh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function Ze(a,b){if(dg&&34==a.keyCode&&a["char"])return!1;var c=rh[a.keyCode],d=c;return null!=d&&!a.altGraphKey&&(a.altKey&&"Alt"!=c&&(d="Alt-"+d),(pg?a.metaKey:a.ctrlKey)&&"Ctrl"!=c&&(d="Ctrl-"+d),(pg?a.ctrlKey:a.metaKey)&&"Cmd"!=c&&(d="Cmd-"+d),!b&&a.shiftKey&&"Shift"!=c&&(d="Shift-"+d),d)}function $e(a){return"string"==typeof a?vh[a]:a}function _e(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}jd(a,function(){for(var b=d.length-1;b>=0;b--)Be(a.doc,"",d[b].from,d[b].to,"+delete");_c(a)})}function af(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),Aa(!0,a,d,b,1)}function bf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),Aa(!0,a,c,b,-1)}function cf(a,b){var c=af(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function df(a,b,c){if("string"==typeof b&&(b=yh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=xg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function ef(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=Xe(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&Xe(b,a.options.extraKeys,c,a)||Xe(b,a.options.keyMap,c,a)}function ff(a,b,c,d){var e=a.state.keySeq;if(e){if(Ye(b))return"handled";zh.set(50,function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())}),b=e+" "+b}var f=ef(a,b,d);return"multi"==f&&(a.state.keySeq=b),"handled"==f&&xb(a,"keyHandled",a,b,c),"handled"!=f&&"multi"!=f||(Ja(c),Dc(a)),e&&!f&&/\'$/.test(b)?(Ja(c),!0):!!f}function gf(a,b){var c=Ze(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?ff(a,"Shift-"+c,b,function(b){return df(a,b,!0)})||ff(a,c,b,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return df(a,b)}):ff(a,c,b,function(b){return df(a,b)}))}function hf(a,b,c){return ff(a,"'"+c+"'",b,function(b){return df(a,b,!0)})}function jf(a){var b=this;if(b.curOp.focus=g(),!Fa(b,a)){$f&&_f<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=gf(b,a);dg&&(Ah=d?c:null,!d&&88==c&&!Ng&&(kg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||kf(b)}}function kf(a){function b(a){18!=a.keyCode&&a.altKey||(rg(c,"CodeMirror-crosshair"),Da(document,"keyup",b),Da(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),Jg(document,"keyup",b),Jg(document,"mouseover",b)}function lf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Fa(this,a)}function mf(a){var b=this;if(!(Mb(b.display,a)||Fa(b,a)||a.ctrlKey&&!a.altKey||kg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(dg&&c==Ah)return Ah=null,void Ja(a);if(!dg||a.which&&!(a.which<10)||!gf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(hf(b,a,e)||b.display.input.onKeyPress(a))}}}function nf(a){var b=this,c=b.display;if(!(Fa(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Mb(c,a))return void(ag||(c.scroller.draggable=!1,setTimeout(function(){return c.scroller.draggable=!0},100)));if(!sf(b,a)){var d=xc(b,a);switch(window.focus(),Oa(a)){case 1:b.state.selectingText?b.state.selectingText(a):d?of(b,a,d):Na(a)==c.scroller&&Ja(a);break;case 2:ag&&(b.state.lastMiddleDown=+new Date),d&&fe(b.doc,d),setTimeout(function(){return c.input.focus()},20),Ja(a);break;case 3:qg?tf(b,a):Fc(b)}}}}function of(a,b,c){$f?setTimeout(j(Ec,a),0):a.curOp.focus=g();var d,e=+new Date;xh&&xh.time>e-400&&0==K(xh.pos,c)?d="triple":wh&&wh.time>e-400&&0==K(wh.pos,c)?(d="double",xh={time:e,pos:c}):(d="single",wh={time:e,pos:c});var f,h=a.doc.sel,i=kg?b.metaKey:b.ctrlKey;a.options.dragDrop&&Kg&&!a.isReadOnly()&&"single"==d&&(f=h.contains(c))>-1&&(K((f=h.ranges[f]).from(),c)<0||c.xRel>0)&&(K(f.to(),c)>0||c.xRel<0)?pf(a,b,c,i):qf(a,b,c,d,i)}function pf(a,b,c,d){var e=a.display,f=!1,g=kd(a,function(b){ag&&(e.scroller.draggable=!1),a.state.draggingText=!1,Da(document,"mouseup",g),Da(document,"mousemove",h),Da(e.scroller,"dragstart",i),Da(e.scroller,"drop",g),f||(Ja(b),d||fe(a.doc,c),ag||$f&&9==_f?setTimeout(function(){document.body.focus(),e.input.focus()},20):e.input.focus())}),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};ag&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=kg?b.altKey:b.ctrlKey,e.scroller.dragDrop&&e.scroller.dragDrop(),Jg(document,"mouseup",g),Jg(document,"mousemove",h),Jg(e.scroller,"dragstart",i),Jg(e.scroller,"drop",g),Fc(a),setTimeout(function(){return e.input.focus()},20)}function qf(a,b,c,d,e){function f(b){if(0!=K(t,b))if(t=b,"rect"==d){for(var e=[],f=a.options.tabSize,g=l(B(k,c.line).text,c.ch,f),h=l(B(k,b.line).text,b.ch,f),i=Math.min(g,h),j=Math.max(g,h),q=Math.min(c.line,b.line),r=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=r;q++){var s=B(k,q).text,u=n(s,i,f);i==j?e.push(new gh(J(q,u),J(q,u))):s.length>u&&e.push(new gh(J(q,u),J(q,n(s,j,f))))}e.length||e.push(new gh(c,c)),le(k,Ed(p.ranges.slice(0,o).concat(e),o),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v=m,w=v.anchor,x=b;if("single"!=d){var y;y="double"==d?a.findWordAt(b):new gh(J(b.line,0),Q(k,J(b.line+1,0))),K(y.anchor,w)>0?(x=y.head,w=O(v.from(),y.anchor)):(x=y.anchor,w=N(v.to(),y.head))}var z=p.ranges.slice(0);z[o]=new gh(Q(k,w),x),le(k,Ed(z,o),zg)}}function h(b){var c=++v,e=xc(a,b,!0,"rect"==d);if(e)if(0!=K(e,t)){a.curOp.focus=g(),f(e);var i=Mc(j,k);(e.line>=i.to||e.line<i.from)&&setTimeout(kd(a,function(){v==c&&h(b)}),150)}else{var l=b.clientY<u.top?-20:b.clientY>u.bottom?20:0;l&&setTimeout(kd(a,function(){v==c&&(j.scroller.scrollTop+=l,h(b))}),50)}}function i(b){a.state.selectingText=!1,v=1/0,Ja(b),j.input.focus(),Da(document,"mousemove",w),Da(document,"mouseup",x),k.history.lastSelOrigin=null}var j=a.display,k=a.doc;Ja(b);var m,o,p=k.sel,q=p.ranges;if(e&&!b.shiftKey?(o=k.sel.contains(c),m=o>-1?q[o]:new gh(c,c)):(m=k.sel.primary(),o=k.sel.primIndex),lg?b.shiftKey&&b.metaKey:b.altKey)d="rect",e||(m=new gh(c,c)),c=xc(a,b,!0,!0),o=-1;else if("double"==d){var r=a.findWordAt(c);m=a.display.shift||k.extend?ee(k,m,r.anchor,r.head):r}else if("triple"==d){var s=new gh(J(c.line,0),Q(k,J(c.line+1,0)));m=a.display.shift||k.extend?ee(k,m,s.anchor,s.head):s}else m=ee(k,m,c);e?o==-1?(o=q.length,le(k,Ed(q.concat([m]),o),{scroll:!1,origin:"*mouse"})):q.length>1&&q[o].empty()&&"single"==d&&!b.shiftKey?(le(k,Ed(q.slice(0,o).concat(q.slice(o+1)),0),{scroll:!1,origin:"*mouse"}),p=k.sel):he(k,o,m,zg):(o=0,le(k,new fh([m],0),zg),p=k.sel);var t=c,u=j.wrapper.getBoundingClientRect(),v=0,w=kd(a,function(a){Oa(a)?h(a):i(a)}),x=kd(a,i);a.state.selectingText=x,Jg(document,"mousemove",w),Jg(document,"mouseup",x)}function rf(a,b,c,d){var e,f;try{e=b.clientX,f=b.clientY}catch(b){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Ja(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Ha(a,c))return La(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Ea(a,c,a,k,l,b),La(b)}}}function sf(a,b){return rf(a,b,"gutterClick",!0)}function tf(a,b){Mb(a.display,b)||uf(a,b)||Fa(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function uf(a,b){return!!Ha(a,"gutterContextMenu")&&rf(a,b,"gutterContextMenu",!1)}function vf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),ec(a)}function wf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Bh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Bh,b("value","",function(a,b){return a.setValue(b)},!0),b("mode",null,function(a,b){a.doc.modeOption=b,Ld(a)},!0),b("indentUnit",2,Ld,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,function(a){Md(a),ec(a),nd(a)},!0),b("lineSeparator",null,function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter(function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++});for(var e=c.length-1;e>=0;e--)Be(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}}),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Bh&&a.refresh()}),b("specialCharPlaceholder",mb,function(a){return a.refresh()},!0),b("electricChars",!0),b("inputStyle",jg?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),b("spellcheck",!1,function(a,b){return a.getInputField().spellcheck=b},!0),b("rtlMoveVisually",!mg),b("wholeLineUpdateBefore",!0),b("theme","default",function(a){vf(a),xf(a)},!0),b("keyMap","default",function(a,b,c){var d=$e(b),e=c!=Bh&&$e(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)}),b("extraKeys",null),b("lineWrapping",!1,zf,!0),b("gutters",[],function(a){Dd(a.options),xf(a)},!0),b("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?uc(a.display)+"px":"0",a.refresh()},!0),b("coverGutterNextToScrollbar",!1,function(a){return Tc(a)},!0),b("scrollbarStyle","native",function(a){Vc(a),Tc(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)},!0),b("lineNumbers",!1,function(a){Dd(a.options),xf(a)},!0),b("firstLineNumber",1,xf,!0),b("lineNumberFormatter",function(a){return a},xf,!0),b("showCursorWhenSelecting",!1,zc,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("readOnly",!1,function(a,b){"nocursor"==b?(Hc(a),a.display.input.blur(),a.display.disabled=!0):a.display.disabled=!1,a.display.input.readOnlyChanged(b)}),b("disableInput",!1,function(a,b){b||a.display.input.reset()},!0),b("dragDrop",!0,yf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,zc,!0),b("singleCursorHeightPerLine",!0,zc,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Md,!0),b("addModeClass",!1,Md,!0),b("pollInterval",100),b("undoDepth",200,function(a,b){return a.doc.history.undoDepth=b}),b("historyEventDelay",1250),b("viewportMargin",10,function(a){return a.refresh()},!0),b("maxHighlightLength",1e4,Md,!0),b("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()}),b("tabindex",null,function(a,b){return a.display.input.getField().tabIndex=b||""}),b("autofocus",null),b("direction","ltr",function(a,b){return a.doc.setDirection(b)},!0)}function xf(a){Cd(a),nd(a),Ic(a)}function yf(a,b,c){var d=c&&c!=Bh;if(!b!=!d){var e=a.display.dragFunctions,f=b?Jg:Da;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function zf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(rg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),wc(a),nd(a),ec(a),setTimeout(function(){return Tc(a)},100)}function Af(a,b){var c=this;if(!(this instanceof Af))return new Af(a,b);this.options=b=b?k(b):{},k(Ch,b,!1),Dd(b);var d=b.value;"string"==typeof d&&(d=new oh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Af.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Cd(this),vf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Vc(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new tg,keySeq:null,specialChars:null},b.autofocus&&!jg&&f.input.focus(),$f&&_f<11&&setTimeout(function(){return c.display.input.reset(!0)},20),Bf(this),Se(),bd(this),this.curOp.forceUpdate=!0,Qd(this,d),b.autofocus&&!jg||this.hasFocus()?setTimeout(j(Gc,this),20):Hc(this);for(var g in Dh)Dh.hasOwnProperty(g)&&Dh[g](c,b[g],Bh);Jc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<Eh.length;++h)Eh[h](c);cd(this),ag&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Bf(a){function b(){e.activeTouch&&(f=setTimeout(function(){return e.activeTouch=null},1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;Jg(e.scroller,"mousedown",kd(a,nf)),$f&&_f<11?Jg(e.scroller,"dblclick",kd(a,function(b){if(!Fa(a,b)){var c=xc(a,b);if(c&&!sf(a,b)&&!Mb(a.display,b)){Ja(b);var d=a.findWordAt(c);fe(a.doc,d.anchor,d.head)}}})):Jg(e.scroller,"dblclick",function(b){return Fa(a,b)||Ja(b)}),qg||Jg(e.scroller,"contextmenu",function(b){return tf(a,b)});var f,g={end:0};Jg(e.scroller,"touchstart",function(b){if(!Fa(a,b)&&!c(b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}}),Jg(e.scroller,"touchmove",function(){e.activeTouch&&(e.activeTouch.moved=!0)}),Jg(e.scroller,"touchend",function(c){var f=e.activeTouch;if(f&&!Mb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new gh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new gh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Ja(c)}b()}),Jg(e.scroller,"touchcancel",b),Jg(e.scroller,"scroll",function(){e.scroller.clientHeight&&(Nc(a,e.scroller.scrollTop),Oc(a,e.scroller.scrollLeft,!0),Ea(a,"scroll",a))}),Jg(e.scroller,"mousewheel",function(b){return Rc(a,b)}),Jg(e.scroller,"DOMMouseScroll",function(b){return Rc(a,b)}),Jg(e.wrapper,"scroll",function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0}),e.dragFunctions={enter:function(b){Fa(a,b)||Ma(b)},over:function(b){Fa(a,b)||(Pe(a,b),Ma(b))},start:function(b){return Oe(a,b)},drop:kd(a,Ne),leave:function(b){Fa(a,b)||Qe(a)}};var h=e.input.getField();
4
- Jg(h,"keyup",function(b){return lf.call(a,b)}),Jg(h,"keydown",kd(a,jf)),Jg(h,"keypress",kd(a,mf)),Jg(h,"focus",function(b){return Gc(a,b)}),Jg(h,"blur",function(b){return Hc(a,b)})}function Cf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=ab(a,b):c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==xg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Be(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);he(f,q,new gh(s,s));break}}}function Df(a){Fh=a}function Ef(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=Lg(b),i=null;if(g&&d.ranges.length>1)if(Fh&&Fh.text.join("\n")==b){if(d.ranges.length%Fh.text.length==0){i=[];for(var j=0;j<Fh.text.length;j++)i.push(f.splitLines(Fh.text[j]))}}else h.length==d.ranges.length&&(i=q(h,function(a){return[a]}));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):Fh&&Fh.lineWise&&Fh.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};ve(a.doc,r),xb(a,"inputRead",a,r)}b&&!g&&Gf(a,b),_c(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function Ff(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||jd(b,function(){return Ef(b,c,0,null,"paste")}),!0}function Gf(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Cf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Cf(a,e.head.line,"smart"));g&&xb(a,"electricInput",a,e.head.line)}}}function Hf(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function If(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function Jf(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return ag?a.style.width="1000px":a.setAttribute("wrap","off"),hg&&(a.style.border="1px solid black"),If(a),b}function Kf(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?Ba(a.cm,j,b,c):za(j,b,c),null==g){if(d||!f())return!1;b=Aa(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=re(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function Lf(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*rc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=nc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function Mf(a,b){var c=Xb(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Ub(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=$b(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function Nf(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function Of(a,b){return b&&(a.bad=!0),a}function Pf(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find())&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function Qf(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return Of(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return Rf(f,b,c)}}function Rf(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return Of(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return Of(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return Of(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return Of(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return Of(J(m.line,m.ch+r),g);r+=q.textContent.length}}function Sf(a,b){function c(){a.value=j.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(Jg(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(i){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(Da(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var j=Af(function(b){return a.parentNode.insertBefore(b,a.nextSibling)},b);return j}function Tf(a){a.off=Da,a.on=Jg,a.wheelEventPixels=Qc,a.Doc=oh,a.splitLines=Lg,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=xg,a.signal=Ea,a.Line=Tg,a.changeEnd=Gd,a.scrollbarModel=ch,a.Pos=J,a.cmpPos=K,a.modes=Pg,a.mimeModes=Qg,a.resolveMode=Ua,a.getMode=Va,a.modeExtensions=Rg,a.extendMode=Wa,a.copyState=Xa,a.startState=Za,a.innerMode=Ya,a.commands=yh,a.keyMap=vh,a.keyName=Ze,a.isModifierKey=Ye,a.lookupKey=Xe,a.normalizeKeyMap=We,a.StringStream=Sg,a.SharedTextMarker=mh,a.TextMarker=lh,a.LineWidget=jh,a.e_preventDefault=Ja,a.e_stopPropagation=Ka,a.e_stop=Ma,a.addClass=h,a.contains=f,a.rmClass=rg,a.keyNames=rh}var Uf=navigator.userAgent,Vf=navigator.platform,Wf=/gecko\/\d/i.test(Uf),Xf=/MSIE \d/.test(Uf),Yf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Uf),Zf=/Edge\/(\d+)/.exec(Uf),$f=Xf||Yf||Zf,_f=$f&&(Xf?document.documentMode||6:+(Zf||Yf)[1]),ag=!Zf&&/WebKit\//.test(Uf),bg=ag&&/Qt\/\d+\.\d+/.test(Uf),cg=!Zf&&/Chrome\//.test(Uf),dg=/Opera\//.test(Uf),eg=/Apple Computer/.test(navigator.vendor),fg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(Uf),gg=/PhantomJS/.test(Uf),hg=!Zf&&/AppleWebKit/.test(Uf)&&/Mobile\/\w+/.test(Uf),ig=/Android/.test(Uf),jg=hg||ig||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(Uf),kg=hg||/Mac/.test(Vf),lg=/\bCrOS\b/.test(Uf),mg=/win/i.test(Vf),ng=dg&&Uf.match(/Version\/(\d*\.\d*)/);ng&&(ng=Number(ng[1])),ng&&ng>=15&&(dg=!1,ag=!0);var og,pg=kg&&(bg||dg&&(null==ng||ng<12.11)),qg=Wf||$f&&_f>=9,rg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};og=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(e){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var sg=function(a){a.select()};hg?sg=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:$f&&(sg=function(a){try{a.select()}catch(b){}});var tg=function(){this.id=null};tg.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var ug,vg,wg=30,xg={toString:function(){return"CodeMirror.Pass"}},yg={scroll:!1},zg={origin:"*mouse"},Ag={origin:"+move"},Bg=[""],Cg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Dg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Eg=!1,Fg=!1,Gg=null,Hg=function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return 1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k))),"rtl"==d?M.reverse():M}}(),Ig=[],Jg=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||Ig).concat(c)}},Kg=function(){if($f&&_f<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a}(),Lg=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},Mg=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(c){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},Ng=function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)}(),Og=null,Pg={},Qg={},Rg={},Sg=function(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0};Sg.prototype.eol=function(){return this.pos>=this.string.length},Sg.prototype.sol=function(){return this.pos==this.lineStart},Sg.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Sg.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Sg.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},Sg.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},Sg.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},Sg.prototype.skipToEnd=function(){this.pos=this.string.length},Sg.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},Sg.prototype.backUp=function(a){this.pos-=a},Sg.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},Sg.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},Sg.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},Sg.prototype.current=function(){return this.string.slice(this.start,this.pos)},Sg.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}};var Tg=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};Tg.prototype.lineNo=function(){return F(this)},Ia(Tg);var Ug,Vg={},Wg={},Xg=null,Yg=null,Zg={left:0,right:0,top:0,bottom:0},$g=0,_g=null;$f?_g=-.53:Wf?_g=15:cg?_g=-.7:eg&&(_g=-1/3);var ah=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),Jg(e,"scroll",function(){e.clientHeight&&b(e.scrollTop,"vertical")}),Jg(f,"scroll",function(){f.clientWidth&&b(f.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,$f&&_f<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};ah.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},ah.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},ah.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},ah.prototype.zeroWidthHack=function(){var a=kg&&!fg?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new tg,this.disableVert=new tg},ah.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},ah.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var bh=function(){};bh.prototype.update=function(){return{bottom:0,right:0}},bh.prototype.setScrollLeft=function(){},bh.prototype.setScrollTop=function(){},bh.prototype.clear=function(){};var ch={"native":ah,"null":bh},dh=0,eh=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Mc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Rb(a),this.force=c,this.dims=tc(a),this.events=[]};eh.prototype.signal=function(a,b){Ha(a,b)&&this.events.push(arguments)},eh.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Ea.apply(null,a.events[b])};var fh=function(a,b){this.ranges=a,this.primIndex=b};fh.prototype.primary=function(){return this.ranges[this.primIndex]},fh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},fh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new gh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new fh(b,this.primIndex)},fh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},fh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var gh=function(a,b){this.anchor=a,this.head=b};gh.prototype.from=function(){return O(this.anchor,this.head)},gh.prototype.to=function(){return N(this.anchor,this.head)},gh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};var hh=function(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c};hh.prototype.chunkSize=function(){return this.lines.length},hh.prototype.removeInner=function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,jb(f),xb(f,"delete")}this.lines.splice(a,b)},hh.prototype.collapse=function(a){a.push.apply(a,this.lines)},hh.prototype.insertInner=function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},hh.prototype.iterN=function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0};var ih=function(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null};ih.prototype.chunkSize=function(){return this.size},ih.prototype.removeInner=function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof hh))){var i=[];this.collapse(i),this.children=[new hh(i)],this.children[0].parent=this}},ih.prototype.collapse=function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},ih.prototype.insertInner=function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new hh(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},ih.prototype.maybeSpill=function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new ih(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new ih(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},ih.prototype.iterN=function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}};var jh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};jh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Lb(this);E(d,Math.max(0,d.height-g)),b&&(jd(b,function(){Ge(b,d,-g),od(b,e,"widget")}),xb(b,"lineWidgetCleared",b,this,e))}},jh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Lb(this)-b;e&&(E(d,d.height+e),c&&jd(c,function(){c.curOp.forceUpdate=!0,Ge(c,d,e),xb(c,"lineWidgetChanged",c,a,F(d))}))},Ia(jh);var kh=0,lh=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++kh};lh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&bd(b),Ha(this,"clear")){var d=this.find();d&&xb(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?od(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,rc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&nd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&oe(b.doc)),b&&xb(b,"markerCleared",b,this,e,f),c&&cd(b),this.parent&&this.parent.clear()}},lh.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},lh.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&jd(d,function(){var e=b.line,f=F(b.line),g=Xb(d,f);if(g&&(cc(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Lb(c)-h;i&&E(e,e.height+i)}xb(d,"markerChanged",d,a)})},lh.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},lh.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ia(lh);var mh=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};mh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();xb(this,"clear")}},mh.prototype.find=function(a,b){return this.primary.find(a,b)},Ia(mh);var nh=0,oh=function(a,b,c,d,e){if(!(this instanceof oh))return new oh(a,b,c,d,e);null==c&&(c=0),ih.call(this,[new hh([new Tg("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.frontier=c;var f=J(c,0);this.sel=Fd(f),this.history=new Td(null),this.id=++nh,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Od(this,{from:f,to:f,text:a}),le(this,Fd(f),yg)};oh.prototype=t(ih.prototype,{constructor:oh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:md(function(a){var b=J(this.first,0),c=this.first+this.size-1;ve(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&this.cm.scrollTo(0,0),le(this,Fd(b),yg)}),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Be(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:md(function(a,b,c){ie(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)}),setSelection:md(function(a,b,c){ie(this,Q(this,a),Q(this,b||a),c)}),extendSelection:md(function(a,b,c){fe(this,Q(this,a),b&&Q(this,b),c)}),extendSelections:md(function(a,b){ge(this,S(this,a),b)}),extendSelectionsBy:md(function(a,b){var c=q(this.sel.ranges,a);ge(this,S(this,c),b)}),setSelections:md(function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new gh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),le(this,Ed(e,b),c)}}),addSelection:md(function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new gh(Q(this,a),Q(this,b||a))),le(this,Ed(d,d.length-1),c)}),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:md(function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Kd(this,e,b),j=e.length-1;j>=0;j--)ve(d,e[j]);i?ke(this,i):this.cm&&_c(this.cm)}),undo:md(function(){xe(this,"undo")}),redo:md(function(){xe(this,"redo")}),undoSelection:md(function(){xe(this,"undo",!0)}),redoSelection:md(function(){xe(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new Td(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:de(this.history.done),undone:de(this.history.undone)}},setHistory:function(a){var b=this.history=new Td(this.history.maxGeneration);b.done=de(a.done.slice(0),null,!0),b.undone=de(a.undone.slice(0),null,!0)},setGutterMarker:md(function(a,b,c){return Fe(this,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0})}),clearGutter:md(function(a){var b=this;this.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Fe(b,c,"gutter",function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0})})}),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,
5
- wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:md(function(b,c,d){return Fe(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0})}),removeLineClass:md(function(b,c,d){return Fe(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0})}),addLineWidget:md(function(a,b,c){return He(this,a,b,c)}),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Ie(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Ie(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e}),d},getAllMarks:function(){var a=[];return this.iter(function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)}),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter(function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)}),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,function(a){b+=a.text.length+c}),b},copy:function(a){var b=new oh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new oh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Le(d,Ke(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Af&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),Me(Ke(b));break}}if(a.history==this.history){var e=[a.id];Pd(a,function(a){return e.push(a.id)},!0),a.history=new Td(null),a.history.done=de(this.history.done,e),a.history.undone=de(this.history.undone,e)}},iterLinkedDocs:function(a){Pd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):Lg(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:md(function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter(function(a){return a.order=null}),this.cm&&Sd(this.cm))})}),oh.prototype.eachLine=oh.prototype.iter;for(var ph=0,qh=!1,rh={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},sh=0;sh<10;sh++)rh[sh+48]=rh[sh+96]=String(sh);for(var th=65;th<=90;th++)rh[th]=String.fromCharCode(th);for(var uh=1;uh<=12;uh++)rh[uh+111]=rh[uh+63235]="F"+uh;var vh={};vh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},vh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},vh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},vh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},vh["default"]=kg?vh.macDefault:vh.pcDefault;var wh,xh,yh={selectAll:te,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),yg)},killLine:function(a){return _e(a,function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}})},deleteLine:function(a){return _e(a,function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}})},delLineLeft:function(a){return _e(a,function(a){return{from:J(a.from().line,0),to:a.from()}})},delWrappedLineLeft:function(a){return _e(a,function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}})},delWrappedLineRight:function(a){return _e(a,function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}})},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy(function(b){return af(a,b.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy(function(b){return cf(a,b.head)},{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy(function(b){return bf(a,b.head.line)},{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy(function(b){var c=a.charCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")},Ag)},goLineLeft:function(a){return a.extendSelectionsBy(function(b){var c=a.charCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")},Ag)},goLineLeftSmart:function(a){return a.extendSelectionsBy(function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?cf(a,b.head):d},Ag)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return jd(a,function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new gh(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){return jd(a,function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);_c(a)})},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},zh=new tg,Ah=null,Bh={toString:function(){return"CodeMirror.Init"}},Ch={},Dh={};Af.defaults=Ch,Af.optionHandlers=Dh;var Eh=[];Af.defineInitHook=function(a){return Eh.push(a)};var Fh=null,Gh=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&kd(this,b[a])(this,c,e),Ea(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"]($e(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:ld(function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},function(a){return a.priority}),this.state.modeGen++,nd(this)}),removeOverlay:ld(function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void nd(b)}}),indentLine:ld(function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Cf(this,a,b,c)}),indentSelection:ld(function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Cf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&_c(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Cf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&he(b.doc,e,new gh(g,k[e].to()),yg)}}}),getTokenAt:function(a,b){return eb(this,a,b)},getLineTokens:function(a,b){return eb(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=_a(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),ab(this,a+1,b)},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),kc(this,c,b||"page")},charCoords:function(a,b){return jc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=ic(this,a,b||"page"),nc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=ic(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return hc(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return rc(this.display)},defaultCharWidth:function(){return sc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=kc(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Yc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:ld(jf),triggerOnKeyPress:ld(mf),triggerOnKeyUp:lf,execCommand:function(a){if(yh.hasOwnProperty(a))return yh[a].call(null,this)},triggerElectric:ld(function(a){Gf(this,a)}),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=Kf(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:ld(function(a,b){var c=this;this.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?Kf(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()},Ag)}),deleteH:ld(function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):_e(this,function(c){var e=Kf(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}})}),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=kc(e,h,"div");if(null==g?g=j.left:j.left=g,h=Lf(e,j,f,c),h.hitSide)break}return h},moveV:ld(function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy(function(g){if(f)return a<0?g.from():g.to();var h=kc(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=Lf(c,h,a,b);return"page"==b&&g==d.sel.primary()&&$c(c,null,jc(c,i,"div").top-h.top),i},Ag),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]}),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new gh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):rg(this.display.cursorDiv,"CodeMirror-overwrite"),Ea(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:ld(function(a,b){null==a&&null==b||ad(this),null!=a&&(this.curOp.scrollLeft=a),null!=b&&(this.curOp.scrollTop=b)}),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Qb(this)-this.display.barHeight,width:a.scrollWidth-Qb(this)-this.display.barWidth,clientHeight:Sb(this),clientWidth:Rb(this)}},scrollIntoView:ld(function(a,b){if(null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line)ad(this),this.curOp.scrollToPos=a;else{var c=Zc(this,{left:Math.min(a.from.left,a.to.left),top:Math.min(a.from.top,a.to.top)-a.margin,right:Math.max(a.from.right,a.to.right),bottom:Math.max(a.from.bottom,a.to.bottom)+a.margin});this.scrollTo(c.scrollLeft,c.scrollTop)}}),setSize:ld(function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&dc(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){od(c,e,"widget");break}++e}),this.curOp.forceUpdate=!0,Ea(this,"refresh",this)}),operation:function(a){return jd(this,a)},refresh:ld(function(){var a=this.display.cachedTextHeight;nd(this),this.curOp.forceUpdate=!0,ec(this),this.scrollTo(this.doc.scrollLeft,this.doc.scrollTop),Ad(this),(null==a||Math.abs(a-rc(this.display))>.5)&&wc(this),Ea(this,"refresh",this)}),swapDoc:ld(function(a){var b=this.doc;return b.cm=null,Qd(this,a),ec(this),this.display.input.reset(),this.scrollTo(a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,xb(this,"swapDoc",this,b),b}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ia(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},Hh=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new tg,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Hh.prototype.init=function(a){function b(a){if(!Fa(e,a)){if(e.somethingSelected())Df({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=Hf(e);Df({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation(function(){e.setSelections(b.ranges,0,yg),e.replaceSelection("",null,"cut")})}if(a.clipboardData){a.clipboardData.clearData();var c=Fh.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=Jf(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=Fh.text.join("\n");var i=document.activeElement;sg(h),setTimeout(function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()},50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;If(f,e.options.spellcheck),Jg(f,"paste",function(a){Fa(e,a)||Ff(a,e)||_f<=11&&setTimeout(kd(e,function(){return c.updateFromDOM()}),20)}),Jg(f,"compositionstart",function(a){c.composing={data:a.data,done:!1}}),Jg(f,"compositionupdate",function(a){c.composing||(c.composing={data:a.data,done:!1})}),Jg(f,"compositionend",function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)}),Jg(f,"touchstart",function(){return d.forceCompositionEnd()}),Jg(f,"input",function(){c.composing||c.readFromDOMSoon()}),Jg(f,"copy",b),Jg(f,"cut",b)},Hh.prototype.prepareSelection=function(){var a=Ac(this.cm,!1);return a.focus=this.cm.state.focused,a},Hh.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},Hh.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=Qf(b,a.anchorNode,a.anchorOffset),g=Qf(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&Mf(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&Mf(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=og(i.node,i.offset,j.offset,j.node)}catch(o){}m&&(!Wf&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):Wf&&this.startGracePeriod()),this.rememberSelection()}},Hh.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation(function(){return a.cm.curOp.selectionChanged=!0})},20)},Hh.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},Hh.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},Hh.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},Hh.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Hh.prototype.blur=function(){this.div.blur()},Hh.prototype.getField=function(){return this.div},Hh.prototype.supportsTouch=function(){return!0},Hh.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():jd(this.cm,function(){return b.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,a)},Hh.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},Hh.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(ig&&cg&&this.cm.options.gutters.length&&Nf(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=Qf(b,a.anchorNode,a.anchorOffset),d=Qf(b,a.focusNode,a.focusOffset);c&&d&&jd(b,function(){le(b.doc,Fd(c,d),yg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)})}}},Hh.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=yc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=yc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(Pf(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Be(a.doc,l,w,x,"+input"),!0):void 0},Hh.prototype.ensurePolled=function(){this.forceCompositionEnd()},Hh.prototype.reset=function(){this.forceCompositionEnd()},Hh.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Hh.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()},80))},Hh.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||jd(this.cm,function(){return nd(a.cm)})},Hh.prototype.setUneditable=function(a){a.contentEditable="false"},Hh.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||kd(this.cm,Ef)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},Hh.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},Hh.prototype.onContextMenu=function(){},Hh.prototype.resetPosition=function(){},Hh.prototype.needsContentAttribute=!0;var Ih=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new tg,this.inaccurateSelection=!1,this.hasSelection=!1,this.composing=null};Ih.prototype.init=function(a){function b(a){if(!Fa(e,a)){if(e.somethingSelected())Df({lineWise:!1,text:e.getSelections()}),d.inaccurateSelection&&(d.prevInput="",d.inaccurateSelection=!1,g.value=Fh.text.join("\n"),sg(g));else{if(!e.options.lineWiseCopyCut)return;var b=Hf(e);Df({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,yg):(d.prevInput="",g.value=b.text.join("\n"),sg(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=Jf(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),hg&&(g.style.width="0px"),Jg(g,"input",function(){$f&&_f>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()}),Jg(g,"paste",function(a){Fa(e,a)||Ff(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())}),Jg(g,"cut",b),Jg(g,"copy",b),Jg(a.scroller,"paste",function(b){Mb(a,b)||Fa(e,b)||(e.state.pasteIncoming=!0,d.focus())}),Jg(a.lineSpace,"selectstart",function(b){Mb(a,b)||Ja(b)}),Jg(g,"compositionstart",function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}}),Jg(g,"compositionend",function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)})},Ih.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Ac(a);if(a.options.moveInputWithCursor){var e=kc(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left))}return d},Ih.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},Ih.prototype.reset=function(a){if(!this.contextMenuPending){var b,c,d=this.cm,e=d.doc;if(d.somethingSelected()){this.prevInput="";var f=e.sel.primary();b=Ng&&(f.to().line-f.from().line>100||(c=d.getSelection()).length>1e3);var g=b?"-":c||d.getSelection();this.textarea.value=g,d.state.focused&&sg(this.textarea),$f&&_f>=9&&(this.hasSelection=g)}else a||(this.prevInput=this.textarea.value="",$f&&_f>=9&&(this.hasSelection=null));this.inaccurateSelection=b}},Ih.prototype.getField=function(){return this.textarea},Ih.prototype.supportsTouch=function(){return!1},Ih.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!jg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},Ih.prototype.blur=function(){this.textarea.blur()},Ih.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ih.prototype.receivedFocus=function(){this.slowPoll()},Ih.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){a.poll(),a.cm.state.focused&&a.slowPoll()})},Ih.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},Ih.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||Mg(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if($f&&_f>=9&&this.hasSelection===e||kg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return jd(b,function(){Ef(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ih.prototype.ensurePolled=function(){
6
- this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ih.prototype.onKeyPress=function(){$f&&_f>=9&&(this.hasSelection=null),this.fastPoll()},Ih.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,$f&&_f<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!$f||$f&&_f<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?kd(e,te)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=xc(e,a),i=f.scroller.scrollTop;if(h&&!dg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&kd(e,le)(e.doc,Fd(h),yg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+($f?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(ag&&(n=window.scrollY),f.input.focus(),ag&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),$f&&_f>=9&&b(),qg){Ma(a);var o=function(){Da(window,"mouseup",o),setTimeout(c,20)};Jg(window,"mouseup",o)}else setTimeout(c,50)}},Ih.prototype.readOnlyChanged=function(a){a||this.reset()},Ih.prototype.setUneditable=function(){},Ih.prototype.needsContentAttribute=!1,wf(Af),Gh(Af);var Jh="iter insert remove copy getEditor constructor".split(" ");for(var Kh in oh.prototype)oh.prototype.hasOwnProperty(Kh)&&m(Jh,Kh)<0&&(Af.prototype[Kh]=function(a){return function(){return a.apply(this.doc,arguments)}}(oh.prototype[Kh]));return Ia(oh),Af.inputStyles={textarea:Ih,contenteditable:Hh},Af.defineMode=function(a){Af.defaults.mode||"null"==a||(Af.defaults.mode=a),Sa.apply(this,arguments)},Af.defineMIME=Ta,Af.defineMode("null",function(){return{token:function(a){return a.skipToEnd()}}}),Af.defineMIME("text/plain","null"),Af.defineExtension=function(a,b){Af.prototype[a]=b},Af.defineDocExtension=function(a,b){oh.prototype[a]=b},Af.fromTextArea=Sf,Tf(Af),Af.version="5.25.2",Af}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"variable-3"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"variable-3"==b.prevToken&&"variable-3"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){v=s(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"variable-3":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,(!1)),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}});var t="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",u="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(t),types:g(u+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("null true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(t+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(u+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false null"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface package enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class do else finally for forSome if match switch try while"),defKeywords:g("class def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val var fun for is in This throw return break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object package interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=r(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(t+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(u),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(t+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(u),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(u),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var v=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=s(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!v||!a.match("`"))&&(b.tokenize=v,v=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"variable-3"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],a):a(CodeMirror)}(function(a){"use strict";function b(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function c(a,b,e){return 0==a.length?d(b):function(f,g){for(var h=a[0],i=0;i<h.length;i++)if(f.match(h[i][0]))return g.tokenize=c(a.slice(1),b),h[i][1];return g.tokenize=d(b,e),"string"}}function d(a,b){return function(c,d){return e(c,d,a,b)}}function e(a,b,d,e){if(e!==!1&&a.match("${",!1)||a.match("{$",!1))return b.tokenize=null,"string";if(e!==!1&&a.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return a.match("[",!1)&&(b.tokenize=c([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],d,e)),a.match(/\-\>\w/,!1)&&(b.tokenize=c([[["->",null]],[[/[\w]+/,"variable"]]],d,e)),"variable-2";for(var f=!1;!a.eol()&&(f||e===!1||!a.match("{$",!1)&&!a.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!f&&a.match(d)){b.tokenize=null,b.tokStack.pop(),b.tokStack.pop();break}f="\\"==a.next()&&!f}return"string"}var f="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",g="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",h="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";
7
- a.registerHelper("hintWords","php",[f,g,h].join(" ").split(" ")),a.registerHelper("wordChars","php",/[\w$]/);var i={name:"clike",helperType:"php",keywords:b(f),blockKeywords:b("catch do else elseif for foreach if switch try while finally"),defKeywords:b("class function interface namespace trait"),atoms:b(g),builtin:b(h),multiLineStrings:!0,hooks:{$:function(a){return a.eatWhile(/[\w\$_]/),"variable-2"},"<":function(a,b){var c;if(c=a.match(/<<\s*/)){var e=a.eat(/['"]/);a.eatWhile(/[\w\.]/);var f=a.current().slice(c[0].length+(e?2:1));if(e&&a.eat(e),f)return(b.tokStack||(b.tokStack=[])).push(f,0),b.tokenize=d(f,"'"!=e),"string"}return!1},"#":function(a){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"},"/":function(a){if(a.eat("/")){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"}return!1},'"':function(a,b){return(b.tokStack||(b.tokStack=[])).push('"',0),b.tokenize=d('"'),"string"},"{":function(a,b){return b.tokStack&&b.tokStack.length&&b.tokStack[b.tokStack.length-1]++,!1},"}":function(a,b){return b.tokStack&&b.tokStack.length>0&&!--b.tokStack[b.tokStack.length-1]&&(b.tokenize=d(b.tokStack[b.tokStack.length-2])),!1}}};a.defineMode("php",function(b,c){function d(b,c){var d=c.curMode==f;if(b.sol()&&c.pending&&'"'!=c.pending&&"'"!=c.pending&&(c.pending=null),d)return d&&null==c.php.tokenize&&b.match("?>")?(c.curMode=e,c.curState=c.html,c.php.context.prev||(c.php=null),"meta"):f.token(b,c.curState);if(b.match(/^<\?\w*/))return c.curMode=f,c.php||(c.php=a.startState(f,e.indent(c.html,""))),c.curState=c.php,"meta";if('"'==c.pending||"'"==c.pending){for(;!b.eol()&&b.next()!=c.pending;);var g="string"}else if(c.pending&&b.pos<c.pending.end){b.pos=c.pending.end;var g=c.pending.style}else var g=e.token(b,c.curState);c.pending&&(c.pending=null);var h,i=b.current(),j=i.search(/<\?/);return j!=-1&&("string"==g&&(h=i.match(/[\'\"]$/))&&!/\?>/.test(i)?c.pending=h[0]:c.pending={end:b.pos,style:g},b.backUp(i.length-j)),g}var e=a.getMode(b,"text/html"),f=a.getMode(b,i);return{startState:function(){var b=a.startState(e),d=c.startOpen?a.startState(f):null;return{html:b,php:d,curMode:c.startOpen?f:e,curState:c.startOpen?d:b,pending:null}},copyState:function(b){var c,d=b.html,g=a.copyState(e,d),h=b.php,i=h&&a.copyState(f,h);return c=b.curMode==e?g:i,{html:g,php:i,curMode:b.curMode,curState:c,pending:b.pending}},token:d,indent:function(a,b){return a.curMode!=f&&/^\s*<\//.test(b)||a.curMode==f&&/^\?>/.test(b)?e.indent(a.html,b):a.curMode.indent(a.curState,b)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(a){return{state:a.curState,mode:a.curMode}}}},"htmlmixed","clike"),a.defineMIME("application/x-httpd-php","php"),a.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),a.defineMIME("text/x-php",i)}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)}(function(a){function b(a,b,d,e){var f=a.getLineHandle(b.line),i=b.ch-1,j=i>=0&&h[f.text.charAt(i)]||h[f.text.charAt(++i)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&k>0!=(i==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,i+1)),m=c(a,g(b.line,i+(k>0?1:0)),k,l||null,e);return null==m?null:{from:g(b.line,i),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,!1,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation(function(){for(var a=0;a<h.length;a++)h[a].clear()})};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation(function(){i&&(i(),i=null),i=d(a,!1,a.state.matchBrackets)})}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},i=null;a.defineOption("matchBrackets",!1,function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),i&&(i(),i=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))}),a.defineExtension("matchBrackets",function(){d(this,!0)}),a.defineExtension("findMatchingBracket",function(a,c,d){return b(this,a,c,d)}),a.defineExtension("scanForBracket",function(a,b,d,e){return c(this,a,b,d,e)})});
1
+ !function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.CodeMirror=b()}(this,function(){"use strict";function a(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function b(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function c(a,c){return b(a).appendChild(c)}function d(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function e(a,b,c,e){var f=d(a,b,c,e);return f.setAttribute("role","presentation"),f}function f(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)}function g(){var a;try{a=document.activeElement}catch(b){a=document.body||null}for(;a&&a.shadowRoot&&a.shadowRoot.activeElement;)a=a.shadowRoot.activeElement;return a}function h(b,c){var d=b.className;a(c).test(d)||(b.className+=(d?" ":"")+c)}function i(b,c){for(var d=b.split(" "),e=0;e<d.length;e++)d[e]&&!a(d[e]).test(c)&&(c+=" "+d[e]);return c}function j(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function k(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||c===!1&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function l(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var f=d||0,g=e||0;;){var h=a.indexOf("\t",f);if(h<0||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}}function m(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function n(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);f==-1&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function o(a){for(;Pg.length<=a;)Pg.push(p(Pg)+" ");return Pg[a]}function p(a){return a[a.length-1]}function q(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function r(a,b,c){for(var d=0,e=c(b);d<a.length&&c(a[d])<=e;)d++;a.splice(d,0,b)}function s(){}function t(a,b){var c;return Object.create?c=Object.create(a):(s.prototype=a,c=new s),b&&k(b,c),c}function u(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Qg.test(a))}function v(a,b){return b?!!(b.source.indexOf("\\w")>-1&&u(a))||b.test(a):u(a)}function w(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function x(a){return a.charCodeAt(0)>=768&&Rg.test(a)}function y(a,b,c){for(;(c<0?b>0:b<a.length)&&x(a.charAt(b));)b+=c;return b}function z(a,b,c){for(;;){if(Math.abs(b-c)<=1)return a(b)?b:c;var d=Math.floor((b+c)/2);a(d)?c=d:b=d}}function A(a,b,c){var f=this;this.input=c,f.scrollbarFiller=d("div",null,"CodeMirror-scrollbar-filler"),f.scrollbarFiller.setAttribute("cm-not-content","true"),f.gutterFiller=d("div",null,"CodeMirror-gutter-filler"),f.gutterFiller.setAttribute("cm-not-content","true"),f.lineDiv=e("div",null,"CodeMirror-code"),f.selectionDiv=d("div",null,null,"position: relative; z-index: 1"),f.cursorDiv=d("div",null,"CodeMirror-cursors"),f.measure=d("div",null,"CodeMirror-measure"),f.lineMeasure=d("div",null,"CodeMirror-measure"),f.lineSpace=e("div",[f.measure,f.lineMeasure,f.selectionDiv,f.cursorDiv,f.lineDiv],null,"position: relative; outline: none");var g=e("div",[f.lineSpace],"CodeMirror-lines");f.mover=d("div",[g],null,"position: relative"),f.sizer=d("div",[f.mover],"CodeMirror-sizer"),f.sizerWidth=null,f.heightForcer=d("div",null,null,"position: absolute; height: "+Kg+"px; width: 1px;"),f.gutters=d("div",null,"CodeMirror-gutters"),f.lineGutter=null,f.scroller=d("div",[f.sizer,f.heightForcer,f.gutters],"CodeMirror-scroll"),f.scroller.setAttribute("tabIndex","-1"),f.wrapper=d("div",[f.scrollbarFiller,f.gutterFiller,f.scroller],"CodeMirror"),mg&&ng<8&&(f.gutters.style.zIndex=-1,f.scroller.style.paddingRight=0),og||ig&&xg||(f.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(f.wrapper):a(f.wrapper)),f.viewFrom=f.viewTo=b.first,f.reportedViewFrom=f.reportedViewTo=b.first,f.view=[],f.renderedView=null,f.externalMeasured=null,f.viewOffset=0,f.lastWrapHeight=f.lastWrapWidth=0,f.updateLineNumbers=null,f.nativeBarWidth=f.barHeight=f.barWidth=0,f.scrollbarsClipped=!1,f.lineNumWidth=f.lineNumInnerWidth=f.lineNumChars=null,f.alignWidgets=!1,f.cachedCharWidth=f.cachedTextHeight=f.cachedPaddingH=null,f.maxLine=null,f.maxLineLength=0,f.maxLineChanged=!1,f.wheelDX=f.wheelDY=f.wheelStartX=f.wheelStartY=null,f.shift=!1,f.selForContextMenu=null,f.activeTouch=null,c.init(f)}function B(a,b){if(b-=a.first,b<0||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function C(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e}),d}function D(a,b,c){var d=[];return a.iter(b,c,function(a){d.push(a.text)}),d}function E(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;for(var b=a.parent,c=m(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function G(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var g=0;g<a.lines.length;++g){var h=a.lines[g],i=h.height;if(b<i)break;b-=i}return c+g}function H(a,b){return b>=a.first&&b<a.first+a.size}function I(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function J(a,b,c){return void 0===c&&(c=null),this instanceof J?(this.line=a,this.ch=b,void(this.sticky=c)):new J(a,b,c)}function K(a,b){return a.line-b.line||a.ch-b.ch}function L(a,b){return a.sticky==b.sticky&&0==K(a,b)}function M(a){return J(a.line,a.ch)}function N(a,b){return K(a,b)<0?b:a}function O(a,b){return K(a,b)<0?a:b}function P(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Q(a,b){if(b.line<a.first)return J(a.first,0);var c=a.first+a.size-1;return b.line>c?J(c,B(a,c).text.length):R(b,B(a,b.line).text.length)}function R(a,b){var c=a.ch;return null==c||c>b?J(a.line,b):c<0?J(a.line,0):a}function S(a,b){for(var c=[],d=0;d<b.length;d++)c[d]=Q(a,b[d]);return c}function T(){Sg=!0}function U(){Tg=!0}function V(a,b,c){this.marker=a,this.from=b,this.to=c}function W(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function X(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function Y(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function Z(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||f.from==b&&"bookmark"==g.type&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(d||(d=[])).push(new V(g,f.from,i?null:f.to))}}return d}function $(a,b,c){var d;if(a)for(var e=0;e<a.length;++e){var f=a[e],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(d||(d=[])).push(new V(g,i?null:f.from-b,null==f.to?null:f.to-b))}}return d}function _(a,b){if(b.full)return null;var c=H(a,b.from.line)&&B(a,b.from.line).markedSpans,d=H(a,b.to.line)&&B(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==K(b.from,b.to),h=Z(c,e,g),i=$(d,f,g),j=1==b.text.length,k=p(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=W(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var o=0;o<i.length;++o){var q=i[o];if(null!=q.to&&(q.to+=k),null==q.from){var r=W(h,q.marker);r||(q.from=k,j&&(h||(h=[])).push(q))}else q.from+=k,j&&(h||(h=[])).push(q)}h&&(h=aa(h)),i&&i!=h&&(i=aa(i));var s=[h];if(!j){var t,u=b.text.length-2;if(u>0&&h)for(var v=0;v<h.length;++v)null==h[v].to&&(t||(t=[])).push(new V(h[v].marker,null,null));for(var w=0;w<u;++w)s.push(t);s.push(i)}return s}function aa(a){for(var b=0;b<a.length;++b){var c=a[b];null!=c.from&&c.from==c.to&&c.marker.clearWhenEmpty!==!1&&a.splice(b--,1)}return a.length?a:null}function ba(a,b,c){var d=null;if(a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&m(d,c)!=-1||(d||(d=[])).push(c)}}),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(0),i=0;i<e.length;++i){var j=e[i];if(!(K(j.to,h.from)<0||K(j.from,h.to)>0)){var k=[i,1],l=K(j.from,h.from),n=K(j.to,h.to);(l<0||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(n>0||!g.inclusiveRight&&!n)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-3}}return e}function ca(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function da(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function ea(a){return a.inclusiveLeft?-1:0}function fa(a){return a.inclusiveRight?1:0}function ga(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var d=a.find(),e=b.find(),f=K(d.from,e.from)||ea(a)-ea(b);if(f)return-f;var g=K(d.to,e.to)||fa(a)-fa(b);return g?g:b.id-a.id}function ha(a,b){var c,d=Tg&&a.markedSpans;if(d)for(var e=void 0,f=0;f<d.length;++f)e=d[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!c||ga(c,e.marker)<0)&&(c=e.marker);return c}function ia(a){return ha(a,!0)}function ja(a){return ha(a,!1)}function ka(a,b,c,d,e){var f=B(a,b),g=Tg&&f.markedSpans;if(g)for(var h=0;h<g.length;++h){var i=g[h];if(i.marker.collapsed){var j=i.marker.find(0),k=K(j.from,c)||ea(i.marker)-ea(e),l=K(j.to,d)||fa(i.marker)-fa(e);if(!(k>=0&&l<=0||k<=0&&l>=0)&&(k<=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.to,c)>=0:K(j.to,c)>0)||k>=0&&(i.marker.inclusiveRight&&e.inclusiveLeft?K(j.from,d)<=0:K(j.from,d)<0)))return!0}}}function la(a){for(var b;b=ia(a);)a=b.find(-1,!0).line;return a}function ma(a){for(var b;b=ja(a);)a=b.find(1,!0).line;return a}function na(a){for(var b,c;b=ja(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function oa(a,b){var c=B(a,b),d=la(c);return c==d?b:F(d)}function pa(a,b){if(b>a.lastLine())return b;var c,d=B(a,b);if(!qa(a,d))return b;for(;c=ja(d);)d=c.find(1,!0).line;return F(d)+1}function qa(a,b){var c=Tg&&b.markedSpans;if(c)for(var d=void 0,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&ra(a,b,d))return!0}}function ra(a,b,c){if(null==c.to){var d=c.marker.find(1,!0);return ra(a,d.line,W(d.line.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var e=void 0,f=0;f<b.markedSpans.length;++f)if(e=b.markedSpans[f],e.marker.collapsed&&!e.marker.widgetNode&&e.from==c.to&&(null==e.to||e.to!=c.from)&&(e.marker.inclusiveLeft||c.marker.inclusiveRight)&&ra(a,b,e))return!0}function sa(a){a=la(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;b+=e.height}for(var f=c.parent;f;c=f,f=c.parent)for(var g=0;g<f.children.length;++g){var h=f.children[g];if(h==c)break;b+=h.height}return b}function ta(a){if(0==a.height)return 0;for(var b,c=a.text.length,d=a;b=ia(d);){var e=b.find(0,!0);d=e.from.line,c+=e.from.ch-e.to.ch}for(d=a;b=ja(d);){var f=b.find(0,!0);c-=d.text.length-f.from.ch,d=f.to.line,c+=d.text.length-f.to.ch}return c}function ua(a){var b=a.display,c=a.doc;b.maxLine=B(c,c.first),b.maxLineLength=ta(b.maxLine),b.maxLineChanged=!0,c.iter(function(a){var c=ta(a);c>b.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function va(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0)}e||d(b,c,"ltr")}function wa(a,b,c){var d;Ug=null;for(var e=0;e<a.length;++e){var f=a[e];if(f.from<b&&f.to>b)return e;f.to==b&&(f.from!=f.to&&"before"==c?d=e:Ug=e),f.from==b&&(f.from!=f.to&&"before"!=c?d=e:Ug=e)}return null!=d?d:Ug}function xa(a,b){var c=a.order;return null==c&&(c=a.order=Vg(a.text,b)),c}function ya(a,b,c){var d=y(a.text,b+c,c);return d<0||d>a.text.length?null:d}function za(a,b,c){var d=ya(a,b.ch,c);return null==d?null:new J(b.line,d,c<0?"after":"before")}function Aa(a,b,c,d,e){if(a){var f=xa(c,b.doc.direction);if(f){var g,h=e<0?p(f):f[0],i=e<0==(1==h.level),j=i?"after":"before";if(h.level>0){var k=Zb(b,c);g=e<0?c.text.length-1:0;var l=$b(b,k,g).top;g=z(function(a){return $b(b,k,a).top==l},e<0==(1==h.level)?h.from:h.to-1,g),"before"==j&&(g=ya(c,g,1))}else g=e<0?h.to:h.from;return new J(d,g,j)}}return new J(d,e<0?c.text.length:0,e<0?"before":"after")}function Ba(a,b,c,d){var e=xa(b,a.doc.direction);if(!e)return za(b,c,d);c.ch>=b.text.length?(c.ch=b.text.length,c.sticky="before"):c.ch<=0&&(c.ch=0,c.sticky="after");var f=wa(e,c.ch,c.sticky),g=e[f];if("ltr"==a.doc.direction&&g.level%2==0&&(d>0?g.to>c.ch:g.from<c.ch))return za(b,c,d);var h,i=function(a,c){return ya(b,a instanceof J?a.ch:a,c)},j=function(c){return a.options.lineWrapping?(h=h||Zb(a,b),qc(a,b,h,c)):{begin:0,end:b.text.length}},k=j("before"==c.sticky?i(c,-1):c.ch);if("rtl"==a.doc.direction||1==g.level){var l=1==g.level==d<0,m=i(c,l?1:-1);if(null!=m&&(l?m<=g.to&&m<=k.end:m>=g.from&&m>=k.begin)){var n=l?"before":"after";return new J(c.line,m,n)}}var o=function(a,b,d){for(var f=function(a,b){return b?new J(c.line,i(a,1),"before"):new J(c.line,a,"after")};a>=0&&a<e.length;a+=b){var g=e[a],h=b>0==(1!=g.level),j=h?d.begin:i(d.end,-1);if(g.from<=j&&j<g.to)return f(j,h);if(j=h?g.from:i(g.to,-1),d.begin<=j&&j<d.end)return f(j,h)}},p=o(f+d,d,k);if(p)return p;var q=d>0?k.end:i(k.begin,-1);return null==q||d>0&&q==b.text.length||!(p=o(d>0?0:e.length-1,d,j(q)))?null:p}function Ca(a,b){return a._handlers&&a._handlers[b]||Wg}function Da(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers,e=d&&d[b];if(e){var f=m(e,c);f>-1&&(d[b]=e.slice(0,f).concat(e.slice(f+1)))}}}function Ea(a,b){var c=Ca(a,b);if(c.length)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Fa(a,b,c){return"string"==typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}}),Ea(a,c||b.type,a,b),La(b)||b.codemirrorIgnore}function Ga(a){var b=a._handlers&&a._handlers.cursorActivity;if(b)for(var c=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]),d=0;d<b.length;++d)m(c,b[d])==-1&&c.push(b[d])}function Ha(a,b){return Ca(a,b).length>0}function Ia(a){a.prototype.on=function(a,b){Xg(this,a,b)},a.prototype.off=function(a,b){Da(this,a,b)}}function Ja(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ka(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function La(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ma(a){Ja(a),Ka(a)}function Na(a){return a.target||a.srcElement}function Oa(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),yg&&a.ctrlKey&&1==b&&(b=3),b}function Pa(a){if(null==Ig){var b=d("span","​");c(a,d("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Ig=b.offsetWidth<=1&&b.offsetHeight>2&&!(mg&&ng<8))}var e=Ig?d("span","​"):d("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return e.setAttribute("cm-text",""),e}function Qa(a){if(null!=Jg)return Jg;var d=c(a,document.createTextNode("AخA")),e=Cg(d,0,1).getBoundingClientRect(),f=Cg(d,1,2).getBoundingClientRect();return b(a),!(!e||e.left==e.right)&&(Jg=f.right-e.right<3)}function Ra(a){if(null!=ah)return ah;var b=c(a,d("span","x")),e=b.getBoundingClientRect(),f=Cg(b,0,1).getBoundingClientRect();return ah=Math.abs(e.left-f.left)>1}function Sa(a,b){arguments.length>2&&(b.dependencies=Array.prototype.slice.call(arguments,2)),bh[a]=b}function Ta(a,b){ch[a]=b}function Ua(a){if("string"==typeof a&&ch.hasOwnProperty(a))a=ch[a];else if(a&&"string"==typeof a.name&&ch.hasOwnProperty(a.name)){var b=ch[a.name];"string"==typeof b&&(b={name:b}),a=t(b,a),a.name=b.name}else{if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return Ua("application/xml");if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+json$/.test(a))return Ua("application/json")}return"string"==typeof a?{name:a}:a||{name:"null"}}function Va(a,b){b=Ua(b);var c=bh[b.name];if(!c)return Va(a,"text/plain");var d=c(a,b);if(dh.hasOwnProperty(b.name)){var e=dh[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}if(d.name=b.name,b.helperType&&(d.helperType=b.helperType),b.modeProps)for(var g in b.modeProps)d[g]=b.modeProps[g];return d}function Wa(a,b){var c=dh.hasOwnProperty(a)?dh[a]:dh[a]={};k(b,c)}function Xa(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function Ya(a,b){for(var c;a.innerMode&&(c=a.innerMode(b),c&&c.mode!=a);)b=c.state,a=c.mode;return c||{mode:a,state:b}}function Za(a,b,c){return!a.startState||a.startState(b,c)}function $a(a,b,c,d){var e=[a.state.modeGen],f={};gb(a,b.text,a.doc.mode,c,function(a,b){return e.push(a,b)},f,d);for(var g=c.state,h=function(d){var g=a.state.overlays[d],h=1,i=0;c.state=!0,gb(a,b.text,g.mode,c,function(a,b){for(var c=h;i<a;){var d=e[h];d>a&&e.splice(h,1,a,e[h+1],d),h+=2,i=Math.min(a,d)}if(b)if(g.opaque)e.splice(c,h-c,a,"overlay "+b),h=c+2;else for(;c<h;c+=2){var f=e[c+1];e[c+1]=(f?f+" ":"")+"overlay "+b}},f)},i=0;i<a.state.overlays.length;++i)h(i);return c.state=g,{styles:e,classes:f.bgClass||f.textClass?f:null}}function _a(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=ab(a,F(b)),e=b.text.length>a.options.maxHighlightLength&&Xa(a.doc.mode,d.state),f=$a(a,b,d);e&&(d.state=e),b.stateAfter=d.save(!e),b.styles=f.styles,f.classes?b.styleClasses=f.classes:b.styleClasses&&(b.styleClasses=null),c===a.doc.highlightFrontier&&(a.doc.modeFrontier=Math.max(a.doc.modeFrontier,++a.doc.highlightFrontier))}return b.styles}function ab(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return new gh(d,(!0),b);var f=hb(a,b,c),g=f>d.first&&B(d,f-1).stateAfter,h=g?gh.fromSaved(d,g,f):new gh(d,Za(d.mode),f);return d.iter(f,b,function(c){bb(a,c.text,h);var d=h.line;c.stateAfter=d==b-1||d%5==0||d>=e.viewFrom&&d<e.viewTo?h.save():null,h.nextLine()}),c&&(d.modeFrontier=h.line),h}function bb(a,b,c,d){var e=a.doc.mode,f=new eh(b,a.options.tabSize,c);for(f.start=f.pos=d||0,""==b&&cb(e,c.state);!f.eol();)db(e,f,c.state),f.start=f.pos}function cb(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=Ya(a,b);return c.mode.blankLine?c.mode.blankLine(c.state):void 0}}function db(a,b,c,d){for(var e=0;e<10;e++){d&&(d[0]=Ya(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw new Error("Mode "+a.name+" failed to advance stream.")}function eb(a,b,c,d){var e,f=a.doc,g=f.mode;b=Q(f,b);var h,i=B(f,b.line),j=ab(a,b.line,c),k=new eh(i.text,a.options.tabSize,j);for(d&&(h=[]);(d||k.pos<b.ch)&&!k.eol();)k.start=k.pos,e=db(g,k,j.state),d&&h.push(new hh(k,e,Xa(f.mode,j.state)));return d?h:new hh(k,e,j.state)}function fb(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return a}function gb(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var i,j=0,k=null,l=new eh(b,a.options.tabSize,d),m=a.options.addModeClass&&[null];for(""==b&&fb(cb(c,d.state),f);!l.eol();){if(l.pos>a.options.maxHighlightLength?(h=!1,g&&bb(a,b,d,l.pos),l.pos=b.length,i=null):i=fb(db(c,l,d.state,m),f),m){var n=m[0].name;n&&(i="m-"+(i?n+" "+i:n))}if(!h||k!=i){for(;j<l.start;)j=Math.min(l.start,j+5e3),e(j,k);k=i}l.start=l.pos}for(;j<l.pos;){var o=Math.min(l.pos,j+5e3);e(o,k),j=o}}function hb(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=B(f,h-1),j=i.stateAfter;if(j&&(!c||h+(j instanceof fh?j.lookAhead:0)<=f.modeFrontier))return h;var k=l(i.text,null,a.options.tabSize);(null==e||d>k)&&(e=h-1,d=k)}return e}function ib(a,b){if(a.modeFrontier=Math.min(a.modeFrontier,b),!(a.highlightFrontier<b-10)){for(var c=a.first,d=b-1;d>c;d--){var e=B(a,d).stateAfter;if(e&&(!(e instanceof fh)||d+e.lookAhead<b)){c=d+1;break}}a.highlightFrontier=Math.min(a.highlightFrontier,c)}}function jb(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),ca(a),da(a,c);var e=d?d(a):1;e!=a.height&&E(a,e)}function kb(a){a.parent=null,ca(a)}function lb(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?lh:kh;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function mb(a,b){var c=e("span",null,null,og?"padding-right: .1px":null),d={pre:e("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(mg||og)&&a.getOption("lineWrapping")};b.measure={};for(var f=0;f<=(b.rest?b.rest.length:0);f++){var g=f?b.rest[f-1]:b.line,h=void 0;d.pos=0,d.addToken=ob,Qa(a.display.measure)&&(h=xa(g,a.doc.direction))&&(d.addToken=qb(d.addToken,h)),d.map=[];var j=b!=a.display.externalMeasured&&F(g);sb(g,d,_a(a,g,j)),g.styleClasses&&(g.styleClasses.bgClass&&(d.bgClass=i(g.styleClasses.bgClass,d.bgClass||"")),g.styleClasses.textClass&&(d.textClass=i(g.styleClasses.textClass,d.textClass||""))),0==d.map.length&&d.map.push(0,0,d.content.appendChild(Pa(a.display.measure))),0==f?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}if(og){var k=d.content.lastChild;(/\bcm-tab\b/.test(k.className)||k.querySelector&&k.querySelector(".cm-tab"))&&(d.content.className="cm-tab-wrap-hack")}return Ea(a,"renderLine",a,b.line,d.pre),d.pre.className&&(d.textClass=i(d.pre.className,d.textClass||"")),d}function nb(a){var b=d("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b.setAttribute("aria-label",b.title),b}function ob(a,b,c,e,f,g,h){if(b){var i,j=a.splitSpaces?pb(b,a.trailingSpace):b,k=a.cm.state.specialChars,l=!1;if(k.test(b)){i=document.createDocumentFragment();for(var m=0;;){k.lastIndex=m;var n=k.exec(b),p=n?n.index-m:b.length-m;if(p){var q=document.createTextNode(j.slice(m,m+p));mg&&ng<9?i.appendChild(d("span",[q])):i.appendChild(q),a.map.push(a.pos,a.pos+p,q),a.col+=p,a.pos+=p}if(!n)break;m+=p+1;var r=void 0;if("\t"==n[0]){var s=a.cm.options.tabSize,t=s-a.col%s;r=i.appendChild(d("span",o(t),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=t}else"\r"==n[0]||"\n"==n[0]?(r=i.appendChild(d("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0]),a.col+=1):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),mg&&ng<9?i.appendChild(d("span",[r])):i.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r),a.pos++}}else a.col+=b.length,i=document.createTextNode(j),a.map.push(a.pos,a.pos+b.length,i),mg&&ng<9&&(l=!0),a.pos+=b.length;if(a.trailingSpace=32==j.charCodeAt(b.length-1),c||e||f||l||h){var u=c||"";e&&(u+=e),f&&(u+=f);var v=d("span",[i],u,h);return g&&(v.title=g),a.content.appendChild(v)}a.content.appendChild(i)}}function pb(a,b){if(a.length>1&&!/ /.test(a))return a;for(var c=b,d="",e=0;e<a.length;e++){var f=a.charAt(e);" "!=f||!c||e!=a.length-1&&32!=a.charCodeAt(e+1)||(f=" "),d+=f,c=" "==f}return d}function qb(a,b){return function(c,d,e,f,g,h,i){e=e?e+" cm-force-border":"cm-force-border";for(var j=c.pos,k=j+d.length;;){for(var l=void 0,m=0;m<b.length&&(l=b[m],!(l.to>j&&l.from<=j));m++);if(l.to>=k)return a(c,d,e,f,g,h,i);a(c,d.slice(0,l.to-j),e,f,null,h,i),f=null,d=d.slice(l.to-j),j=l.to}}}function rb(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e),!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id)),e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e)),a.pos+=b,a.trailingSpace=!1}function sb(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m,n=e.length,o=0,p=1,q="",r=0;;){if(r==o){i=j=k=l=h="",m=null,r=1/0;for(var s=[],t=void 0,u=0;u<d.length;++u){var v=d[u],w=v.marker;"bookmark"==w.type&&v.from==o&&w.widgetNode?s.push(w):v.from<=o&&(null==v.to||v.to>o||w.collapsed&&v.to==o&&v.from==o)?(null!=v.to&&v.to!=o&&r>v.to&&(r=v.to,j=""),w.className&&(i+=" "+w.className),w.css&&(h=(h?h+";":"")+w.css),w.startStyle&&v.from==o&&(k+=" "+w.startStyle),w.endStyle&&v.to==r&&(t||(t=[])).push(w.endStyle,v.to),w.title&&!l&&(l=w.title),w.collapsed&&(!m||ga(m.marker,w)<0)&&(m=v)):v.from>o&&r>v.from&&(r=v.from)}if(t)for(var x=0;x<t.length;x+=2)t[x+1]==r&&(j+=" "+t[x]);if(!m||m.from==o)for(var y=0;y<s.length;++y)rb(b,0,s[y]);if(m&&(m.from||0)==o){if(rb(b,(null==m.to?n+1:m.to)-o,m.marker,null==m.from),null==m.to)return;m.to==o&&(m=!1)}}if(o>=n)break;for(var z=Math.min(n,r);;){if(q){var A=o+q.length;if(!m){var B=A>z?q.slice(0,z-o):q;b.addToken(b,B,g?g+i:i,k,o+B.length==r?j:"",l,h)}if(A>=z){q=q.slice(z-o),o=z;break}o=A,k=""}q=e.slice(f,f=c[p++]),g=lb(c[p++],b.cm.options)}}else for(var C=1;C<c.length;C+=2)b.addToken(b,e.slice(f,f=c[C]),lb(c[C+1],b.cm.options))}function tb(a,b,c){this.line=b,this.rest=na(b),this.size=this.rest?F(p(this.rest))-c+1:1,this.node=this.text=null,this.hidden=qa(a,b)}function ub(a,b,c){for(var d,e=[],f=b;f<c;f=d){var g=new tb(a.doc,B(a.doc,f),f);d=f+g.size,e.push(g)}return e}function vb(a){mh?mh.ops.push(a):a.ownsGroup=mh={ops:[a],delayedCallbacks:[]}}function wb(a){var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c].call(null);for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++].call(null,e.cm)}}while(c<b.length)}function xb(a,b){var c=a.ownsGroup;if(c)try{wb(c)}finally{mh=null,b(c)}}function yb(a,b){var c=Ca(a,b);if(c.length){var d,e=Array.prototype.slice.call(arguments,2);mh?d=mh.delayedCallbacks:nh?d=nh:(d=nh=[],setTimeout(zb,0));for(var f=function(a){d.push(function(){return c[a].apply(null,e)})},g=0;g<c.length;++g)f(g)}}function zb(){var a=nh;nh=null;for(var b=0;b<a.length;++b)a[b]()}function Ab(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];"text"==f?Eb(a,b):"gutter"==f?Gb(a,b,c,d):"class"==f?Fb(a,b):"widget"==f&&Hb(a,b,d)}b.changes=null}function Bb(a){return a.node==a.text&&(a.node=d("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),mg&&ng<8&&(a.node.style.zIndex=2)),a.node}function Cb(a,b){var c=b.bgClass?b.bgClass+" "+(b.line.bgClass||""):b.line.bgClass;if(c&&(c+=" CodeMirror-linebackground"),b.background)c?b.background.className=c:(b.background.parentNode.removeChild(b.background),b.background=null);else if(c){var e=Bb(b);b.background=e.insertBefore(d("div",null,c),e.firstChild),a.display.input.setUneditable(b.background)}}function Db(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):mb(a,b)}function Eb(a,b){var c=b.text.className,d=Db(a,b);b.text==b.node&&(b.node=d.pre),b.text.parentNode.replaceChild(d.pre,b.text),b.text=d.pre,d.bgClass!=b.bgClass||d.textClass!=b.textClass?(b.bgClass=d.bgClass,b.textClass=d.textClass,Fb(a,b)):c&&(b.text.className=c)}function Fb(a,b){Cb(a,b),b.line.wrapClass?Bb(b).className=b.line.wrapClass:b.node!=b.text&&(b.node.className="");var c=b.textClass?b.textClass+" "+(b.line.textClass||""):b.line.textClass;b.text.className=c||""}function Gb(a,b,c,e){if(b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null),b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground=null),b.line.gutterClass){var f=Bb(b);b.gutterBackground=d("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px; width: "+e.gutterTotalWidth+"px"),a.display.input.setUneditable(b.gutterBackground),f.insertBefore(b.gutterBackground,b.text)}var g=b.line.gutterMarkers;if(a.options.lineNumbers||g){var h=Bb(b),i=b.gutter=d("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px");if(a.display.input.setUneditable(i),h.insertBefore(i,b.text),b.line.gutterClass&&(i.className+=" "+b.line.gutterClass),!a.options.lineNumbers||g&&g["CodeMirror-linenumbers"]||(b.lineNumber=i.appendChild(d("div",I(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px"))),g)for(var j=0;j<a.options.gutters.length;++j){var k=a.options.gutters[j],l=g.hasOwnProperty(k)&&g[k];l&&i.appendChild(d("div",[l],"CodeMirror-gutter-elt","left: "+e.gutterLeft[k]+"px; width: "+e.gutterWidth[k]+"px"))}}}function Hb(a,b,c){b.alignable&&(b.alignable=null);for(var d=b.node.firstChild,e=void 0;d;d=e)e=d.nextSibling,"CodeMirror-linewidget"==d.className&&b.node.removeChild(d);Jb(a,b,c)}function Ib(a,b,c,d){var e=Db(a,b);return b.text=b.node=e.pre,e.bgClass&&(b.bgClass=e.bgClass),e.textClass&&(b.textClass=e.textClass),Fb(a,b),Gb(a,b,c,d),Jb(a,b,d),b.node}function Jb(a,b,c){if(Kb(a,b.line,b,c,!0),b.rest)for(var d=0;d<b.rest.length;d++)Kb(a,b.rest[d],b,c,!1)}function Kb(a,b,c,e,f){if(b.widgets)for(var g=Bb(c),h=0,i=b.widgets;h<i.length;++h){var j=i[h],k=d("div",[j.node],"CodeMirror-linewidget");j.handleMouseEvents||k.setAttribute("cm-ignore-events","true"),Lb(j,k,c,e),a.display.input.setUneditable(k),f&&j.above?g.insertBefore(k,c.gutter||c.text):g.appendChild(k),yb(j,"redraw")}}function Lb(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Mb(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!f(document.body,a.node)){var e="position: relative;";a.coverGutter&&(e+="margin-left: -"+b.display.gutters.offsetWidth+"px;"),a.noHScroll&&(e+="width: "+b.display.wrapper.clientWidth+"px;"),c(b.display.measure,d("div",[a.node],null,e))}return a.height=a.node.parentNode.offsetHeight}function Nb(a,b){for(var c=Na(b);c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Ob(a){return a.lineSpace.offsetTop}function Pb(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function Qb(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=c(a.measure,d("pre","x")),e=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,f={left:parseInt(e.paddingLeft),right:parseInt(e.paddingRight)};return isNaN(f.left)||isNaN(f.right)||(a.cachedPaddingH=f),f}function Rb(a){return Kg-a.display.nativeBarWidth}function Sb(a){return a.display.scroller.clientWidth-Rb(a)-a.display.barWidth}function Tb(a){return a.display.scroller.clientHeight-Rb(a)-a.display.barHeight}function Ub(a,b,c){var d=a.options.lineWrapping,e=d&&Sb(a);if(!b.measure.heights||d&&b.measure.width!=e){var f=b.measure.heights=[];if(d){b.measure.width=e;for(var g=b.text.firstChild.getClientRects(),h=0;h<g.length-1;h++){var i=g[h],j=g[h+1];Math.abs(i.bottom-j.bottom)>2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function Vb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(var e=0;e<a.rest.length;e++)if(F(a.rest[e])>c)return{map:a.measure.maps[e],cache:a.measure.caches[e],before:!0}}function Wb(a,b){b=la(b);var d=F(b),e=a.display.externalMeasured=new tb(a.doc,b,d);e.lineN=d;var f=e.built=mb(a,e);
2
+ return e.text=f.pre,c(a.display.lineMeasure,f.pre),e}function Xb(a,b,c,d){return $b(a,Zb(a,b),c,d)}function Yb(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[zc(a,b)];var c=a.display.externalMeasured;return c&&b>=c.lineN&&b<c.lineN+c.size?c:void 0}function Zb(a,b){var c=F(b),d=Yb(a,c);d&&!d.text?d=null:d&&d.changes&&(Ab(a,d,c,uc(a)),a.curOp.forceUpdate=!0),d||(d=Wb(a,b));var e=Vb(d,b,c);return{line:b,view:d,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function $b(a,b,c,d,e){b.before&&(c=-1);var f,g=c+(d||"");return b.cache.hasOwnProperty(g)?f=b.cache[g]:(b.rect||(b.rect=b.view.text.getBoundingClientRect()),b.hasHeights||(Ub(a,b.view,b.rect),b.hasHeights=!0),f=bc(a,b,c,d),f.bogus||(b.cache[g]=f)),{left:f.left,right:f.right,top:e?f.rtop:f.top,bottom:e?f.rbottom:f.bottom}}function _b(a,b,c){for(var d,e,f,g,h,i,j=0;j<a.length;j+=3)if(h=a[j],i=a[j+1],b<h?(e=0,f=1,g="left"):b<i?(e=b-h,f=e+1):(j==a.length-3||b==i&&a[j+3]>b)&&(f=i-h,e=f-1,b>=i&&(g="right")),null!=e){if(d=a[j+2],h==i&&c==(d.insertLeft?"left":"right")&&(g=c),"left"==c&&0==e)for(;j&&a[j-2]==a[j-3]&&a[j-1].insertLeft;)d=a[(j-=3)+2],g="left";if("right"==c&&e==i-h)for(;j<a.length-3&&a[j+3]==a[j+4]&&!a[j+5].insertLeft;)d=a[(j+=3)+2],g="right";break}return{node:d,start:e,end:f,collapse:g,coverStart:h,coverEnd:i}}function ac(a,b){var c=oh;if("left"==b)for(var d=0;d<a.length&&(c=a[d]).left==c.right;d++);else for(var e=a.length-1;e>=0&&(c=a[e]).left==c.right;e--);return c}function bc(a,b,c,d){var e,f=_b(b.map,c,d),g=f.node,h=f.start,i=f.end,j=f.collapse;if(3==g.nodeType){for(var k=0;k<4;k++){for(;h&&x(b.line.text.charAt(f.coverStart+h));)--h;for(;f.coverStart+i<f.coverEnd&&x(b.line.text.charAt(f.coverStart+i));)++i;if(e=mg&&ng<9&&0==h&&i==f.coverEnd-f.coverStart?g.parentNode.getBoundingClientRect():ac(Cg(g,h,i).getClientRects(),d),e.left||e.right||0==h)break;i=h,h-=1,j="right"}mg&&ng<11&&(e=cc(a.display.measure,e))}else{h>0&&(j=d="right");var l;e=a.options.lineWrapping&&(l=g.getClientRects()).length>1?l["right"==d?l.length-1:0]:g.getBoundingClientRect()}if(mg&&ng<9&&!h&&(!e||!e.left&&!e.right)){var m=g.parentNode.getClientRects()[0];e=m?{left:m.left,right:m.left+tc(a.display),top:m.top,bottom:m.bottom}:oh}for(var n=e.top-b.rect.top,o=e.bottom-b.rect.top,p=(n+o)/2,q=b.view.measure.heights,r=0;r<q.length-1&&!(p<q[r]);r++);var s=r?q[r-1]:0,t=q[r],u={left:("right"==j?e.right:e.left)-b.rect.left,right:("left"==j?e.left:e.right)-b.rect.left,top:s,bottom:t};return e.left||e.right||(u.bogus=!0),a.options.singleCursorHeightPerLine||(u.rtop=n,u.rbottom=o),u}function cc(a,b){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Ra(a))return b;var c=screen.logicalXDPI/screen.deviceXDPI,d=screen.logicalYDPI/screen.deviceYDPI;return{left:b.left*c,right:b.right*c,top:b.top*d,bottom:b.bottom*d}}function dc(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function ec(a){a.display.externalMeasure=null,b(a.display.lineMeasure);for(var c=0;c<a.display.view.length;c++)dc(a.display.view[c])}function fc(a){ec(a),a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function gc(){return qg&&wg?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function hc(){return qg&&wg?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function ic(a,b,c,d,e){if(!e&&b.widgets)for(var f=0;f<b.widgets.length;++f)if(b.widgets[f].above){var g=Mb(b.widgets[f]);c.top+=g,c.bottom+=g}if("line"==d)return c;d||(d="local");var h=sa(b);if("local"==d?h+=Ob(a.display):h-=a.display.viewOffset,"page"==d||"window"==d){var i=a.display.lineSpace.getBoundingClientRect();h+=i.top+("window"==d?0:hc());var j=i.left+("window"==d?0:gc());c.left+=j,c.right+=j}return c.top+=h,c.bottom+=h,c}function jc(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=gc(),e-=hc();else if("local"==c||!c){var f=a.display.sizer.getBoundingClientRect();d+=f.left,e+=f.top}var g=a.display.lineSpace.getBoundingClientRect();return{left:d-g.left,top:e-g.top}}function kc(a,b,c,d,e){return d||(d=B(a.doc,b.line)),ic(a,d,Xb(a,d,b.ch,e),c)}function lc(a,b,c,d,e,f){function g(b,g){var h=$b(a,e,b,g?"right":"left",f);return g?h.left=h.right:h.right=h.left,ic(a,d,h,c)}function h(a,b,c){var d=i[b],e=d.level%2!=0;return g(c?a-1:a,e!=c)}d=d||B(a.doc,b.line),e||(e=Zb(a,d));var i=xa(d,a.doc.direction),j=b.ch,k=b.sticky;if(j>=d.text.length?(j=d.text.length,k="before"):j<=0&&(j=0,k="after"),!i)return g("before"==k?j-1:j,"before"==k);var l=wa(i,j,k),m=Ug,n=h(j,l,"before"==k);return null!=m&&(n.other=h(j,m,"before"!=k)),n}function mc(a,b){var c=0;b=Q(a.doc,b),a.options.lineWrapping||(c=tc(a.display)*b.ch);var d=B(a.doc,b.line),e=sa(d)+Ob(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function nc(a,b,c,d,e){var f=J(a,b,c);return f.xRel=e,d&&(f.outside=!0),f}function oc(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,c<0)return nc(d.first,0,null,!0,-1);var e=G(d,c),f=d.first+d.size-1;if(e>f)return nc(d.first+d.size-1,B(d,f).text.length,null,!0,1);b<0&&(b=0);for(var g=B(d,e);;){var h=rc(a,g,e,b,c),i=ja(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=F(g=j.to.line)}}function pc(a,b,c,d){var e=function(d){return ic(a,b,$b(a,c,d),"line")},f=b.text.length,g=z(function(a){return e(a-1).bottom<=d},f,0);return f=z(function(a){return e(a).top>d},g,f),{begin:g,end:f}}function qc(a,b,c,d){var e=ic(a,b,$b(a,c,d),"line").top;return pc(a,b,c,e)}function rc(a,b,c,d,e){e-=sa(b);var f,g=0,h=b.text.length,i=Zb(a,b),j=xa(b,a.doc.direction);if(j){if(a.options.lineWrapping){var k;k=pc(a,b,i,e),g=k.begin,h=k.end,k}f=new J(c,Math.floor(g+(h-g)/2));var l,m,n=lc(a,f,"line",b,i).left,o=n<d?1:-1,p=n-d,q=Math.ceil((h-g)/4);a:do{l=p,m=f;for(var r=0;r<q;++r){var s=f;if(f=Ba(a,b,f,o),null==f||f.ch<g||h<=("before"==f.sticky?f.ch-1:f.ch)){f=s;break a}}if(p=lc(a,f,"line",b,i).left-d,q>1){var t=Math.abs(p-l)/q;q=Math.min(q,Math.ceil(Math.abs(p)/t)),o=p<0?1:-1}}while(0!=p&&(q>1||o<0!=p<0&&Math.abs(p)<=Math.abs(l)));if(Math.abs(p)>Math.abs(l)){if(p<0==l<0)throw new Error("Broke out of infinite loop in coordsCharInner");f=m}}else{var u=z(function(c){var f=ic(a,b,$b(a,i,c),"line");return f.top>e?(h=Math.min(c,h),!0):!(f.bottom<=e)&&(f.left>d||!(f.right<d)&&d-f.left<f.right-d)},g,h);u=y(b.text,u,1),f=new J(c,u,u==h?"before":"after")}var v=lc(a,f,"line",b,i);return(e<v.top||v.bottom<e)&&(f.outside=!0),f.xRel=d<v.left?-1:d>v.right?1:0,f}function sc(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==jh){jh=d("pre");for(var e=0;e<49;++e)jh.appendChild(document.createTextNode("x")),jh.appendChild(d("br"));jh.appendChild(document.createTextNode("x"))}c(a.measure,jh);var f=jh.offsetHeight/50;return f>3&&(a.cachedTextHeight=f),b(a.measure),f||1}function tc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=d("span","xxxxxxxxxx"),e=d("pre",[b]);c(a.measure,e);var f=b.getBoundingClientRect(),g=(f.right-f.left)/10;return g>2&&(a.cachedCharWidth=g),g||10}function uc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft,f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:vc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function vc(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function wc(a){var b=sc(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/tc(a.display)-3);return function(e){if(qa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function xc(a){var b=a.doc,c=wc(a);b.iter(function(a){var b=c(a);b!=a.height&&E(a,b)})}function yc(a,b,c,d){var e=a.display;if(!c&&"true"==Na(b).getAttribute("cm-not-content"))return null;var f,g,h=e.lineSpace.getBoundingClientRect();try{f=b.clientX-h.left,g=b.clientY-h.top}catch(b){return null}var i,j=oc(a,f,g);if(d&&1==j.xRel&&(i=B(a.doc,j.line).text).length==j.ch){var k=l(i,i.length,a.options.tabSize)-i.length;j=J(j.line,Math.max(0,Math.round((f-Qb(a.display).left)/tc(a.display))-k))}return j}function zc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,b<0)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,b<0)return d}function Ac(a){a.display.input.showSelection(a.display.input.prepareSelection())}function Bc(a,b){for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(b!==!1||g!=c.sel.primIndex){var h=c.sel.ranges[g];if(!(h.from().line>=a.display.viewTo||h.to().line<a.display.viewFrom)){var i=h.empty();(i||a.options.showCursorWhenSelecting)&&Cc(a,h.head,e),i||Dc(a,h,f)}}return d}function Cc(a,b,c){var e=lc(a,b,"div",null,null,!a.options.singleCursorHeightPerLine),f=c.appendChild(d("div"," ","CodeMirror-cursor"));if(f.style.left=e.left+"px",f.style.top=e.top+"px",f.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px",e.other){var g=c.appendChild(d("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));g.style.display="",g.style.left=e.other.left+"px",g.style.top=e.other.top+"px",g.style.height=.85*(e.other.bottom-e.other.top)+"px"}}function Dc(a,b,c){function e(a,b,c,e){b<0&&(b=0),b=Math.round(b),e=Math.round(e),i.appendChild(d("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px;\n top: "+b+"px; width: "+(null==c?l-a:c)+"px;\n height: "+(e-b)+"px"))}function f(b,c,d){function f(c,d){return kc(a,J(b,c),"div",j,d)}var g,i,j=B(h,b),m=j.text.length;return va(xa(j,h.direction),c||0,null==d?m:d,function(a,b,h){var j,n,o,p=f(a,"left");if(a==b)j=p,n=o=p.left;else{if(j=f(b-1,"right"),"rtl"==h){var q=p;p=j,j=q}n=p.left,o=j.right}null==c&&0==a&&(n=k),j.top-p.top>3&&(e(n,p.top,null,p.bottom),n=k,p.bottom<j.top&&e(n,p.bottom,null,j.top)),null==d&&b==m&&(o=l),(!g||p.top<g.top||p.top==g.top&&p.left<g.left)&&(g=p),(!i||j.bottom>i.bottom||j.bottom==i.bottom&&j.right>i.right)&&(i=j),n<k+1&&(n=k),e(n,j.top,o-n,j.bottom)}),{start:g,end:i}}var g=a.display,h=a.doc,i=document.createDocumentFragment(),j=Qb(a.display),k=j.left,l=Math.max(g.sizerWidth,Sb(a)-g.sizer.offsetLeft)-j.right,m=b.from(),n=b.to();if(m.line==n.line)f(m.line,m.ch,n.ch);else{var o=B(h,m.line),p=B(h,n.line),q=la(o)==la(p),r=f(m.line,m.ch,q?o.text.length+1:null).end,s=f(n.line,q?0:null,n.ch).start;q&&(r.top<s.top-2?(e(r.right,r.top,null,r.bottom),e(k,s.top,s.left,s.bottom)):e(r.right,r.top,s.left-r.right,r.bottom)),r.bottom<s.top&&e(k,r.bottom,null,s.top)}c.appendChild(i)}function Ec(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="",a.options.cursorBlinkRate>0?b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):a.options.cursorBlinkRate<0&&(b.cursorDiv.style.visibility="hidden")}}function Fc(a){a.state.focused||(a.display.input.focus(),Hc(a))}function Gc(a){a.state.delayingBlurEvent=!0,setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Ic(a))},100)}function Hc(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1),"nocursor"!=a.options.readOnly&&(a.state.focused||(Ea(a,"focus",a,b),a.state.focused=!0,h(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),og&&setTimeout(function(){return a.display.input.reset(!0)},20)),a.display.input.receivedFocus()),Ec(a))}function Ic(a,b){a.state.delayingBlurEvent||(a.state.focused&&(Ea(a,"blur",a,b),a.state.focused=!1,Fg(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function Jc(a){for(var b=a.display,c=b.lineDiv.offsetTop,d=0;d<b.view.length;d++){var e=b.view[d],f=void 0;if(!e.hidden){if(mg&&ng<8){var g=e.node.offsetTop+e.node.offsetHeight;f=g-c,c=g}else{var h=e.node.getBoundingClientRect();f=h.bottom-h.top}var i=e.line.height-f;if(f<2&&(f=sc(b)),(i>.005||i<-.005)&&(E(e.line,f),Kc(e.line),e.rest))for(var j=0;j<e.rest.length;j++)Kc(e.rest[j])}}}function Kc(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b)a.widgets[b].height=a.widgets[b].node.parentNode.offsetHeight}function Lc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop;d=Math.floor(d-Ob(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=G(b,d),g=G(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;h<f?(f=h,g=G(b,sa(B(b,h))+a.wrapper.clientHeight)):Math.min(i,b.lastLine())>=g&&(f=G(b,sa(B(b,i))-a.wrapper.clientHeight),g=i)}return{from:f,to:Math.max(g,f+1)}}function Mc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=vc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&(c[g].gutter&&(c[g].gutter.style.left=f),c[g].gutterBackground&&(c[g].gutterBackground.style.left=f));var h=c[g].alignable;if(h)for(var i=0;i<h.length;i++)h[i].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Nc(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=I(a.options,b.first+b.size-1),e=a.display;if(c.length!=e.lineNumChars){var f=e.measure.appendChild(d("div",[d("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),g=f.firstChild.offsetWidth,h=f.offsetWidth-g;return e.lineGutter.style.width="",e.lineNumInnerWidth=Math.max(g,e.lineGutter.offsetWidth-h)+1,e.lineNumWidth=e.lineNumInnerWidth+h,e.lineNumChars=e.lineNumInnerWidth?c.length:-1,e.lineGutter.style.width=e.lineNumWidth+"px",Ed(a),!0}return!1}function Oc(a,b){if(!Fa(a,"scrollCursorIntoView")){var c=a.display,e=c.sizer.getBoundingClientRect(),f=null;if(b.top+e.top<0?f=!0:b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)&&(f=!1),null!=f&&!ug){var g=d("div","​",null,"position: absolute;\n top: "+(b.top-c.viewOffset-Ob(a.display))+"px;\n height: "+(b.bottom-b.top+Rb(a)+c.barHeight)+"px;\n left: "+b.left+"px; width: "+Math.max(2,b.right-b.left)+"px;");a.display.lineSpace.appendChild(g),g.scrollIntoView(f),a.display.lineSpace.removeChild(g)}}}function Pc(a,b,c,d){null==d&&(d=0);var e;a.options.lineWrapping||b!=c||(b=b.ch?J(b.line,"before"==b.sticky?b.ch-1:b.ch,"after"):b,c="before"==b.sticky?J(b.line,b.ch+1,"before"):b);for(var f=0;f<5;f++){var g=!1,h=lc(a,b),i=c&&c!=b?lc(a,c):h;e={left:Math.min(h.left,i.left),top:Math.min(h.top,i.top)-d,right:Math.max(h.left,i.left),bottom:Math.max(h.bottom,i.bottom)+d};var j=Rc(a,e),k=a.doc.scrollTop,l=a.doc.scrollLeft;if(null!=j.scrollTop&&(Yc(a,j.scrollTop),Math.abs(a.doc.scrollTop-k)>1&&(g=!0)),null!=j.scrollLeft&&($c(a,j.scrollLeft),Math.abs(a.doc.scrollLeft-l)>1&&(g=!0)),!g)break}return e}function Qc(a,b){var c=Rc(a,b);null!=c.scrollTop&&Yc(a,c.scrollTop),null!=c.scrollLeft&&$c(a,c.scrollLeft)}function Rc(a,b){var c=a.display,d=sc(a.display);b.top<0&&(b.top=0);var e=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:c.scroller.scrollTop,f=Tb(a),g={};b.bottom-b.top>f&&(b.bottom=b.top+f);var h=a.doc.height+Pb(c),i=b.top<d,j=b.bottom>h-d;if(b.top<e)g.scrollTop=i?0:b.top;else if(b.bottom>e+f){var k=Math.min(b.top,(j?h:b.bottom)-f);k!=e&&(g.scrollTop=k)}var l=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:c.scroller.scrollLeft,m=Sb(a)-(a.options.fixedGutter?c.gutters.offsetWidth:0),n=b.right-b.left>m;return n&&(b.right=b.left+m),b.left<10?g.scrollLeft=0:b.left<l?g.scrollLeft=Math.max(0,b.left-(n?0:10)):b.right>m+l-3&&(g.scrollLeft=b.right+(n?0:10)-m),g}function Sc(a,b){null!=b&&(Wc(a),a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+b)}function Tc(a){Wc(a);var b=a.getCursor();a.curOp.scrollToPos={from:b,to:b,margin:a.options.cursorScrollMargin}}function Uc(a,b,c){null==b&&null==c||Wc(a),null!=b&&(a.curOp.scrollLeft=b),null!=c&&(a.curOp.scrollTop=c)}function Vc(a,b){Wc(a),a.curOp.scrollToPos=b}function Wc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=mc(a,b.from),d=mc(a,b.to);Xc(a,c,d,b.margin)}}function Xc(a,b,c,d){var e=Rc(a,{left:Math.min(b.left,c.left),top:Math.min(b.top,c.top)-d,right:Math.max(b.right,c.right),bottom:Math.max(b.bottom,c.bottom)+d});Uc(a,e.scrollLeft,e.scrollTop)}function Yc(a,b){Math.abs(a.doc.scrollTop-b)<2||(ig||Cd(a,{top:b}),Zc(a,b,!0),ig&&Cd(a),vd(a,100))}function Zc(a,b,c){b=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,b),(a.display.scroller.scrollTop!=b||c)&&(a.doc.scrollTop=b,a.display.scrollbars.setScrollTop(b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b))}function $c(a,b,c,d){b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)&&!d||(a.doc.scrollLeft=b,Mc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function _c(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Pb(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+Rb(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function ad(a,b){b||(b=_c(a));var c=a.display.barWidth,d=a.display.barHeight;bd(a,b);for(var e=0;e<4&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Jc(a),bd(a,_c(a)),c=a.display.barWidth,d=a.display.barHeight}function bd(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px",c.heightForcer.style.borderBottom=d.bottom+"px solid transparent",d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="",d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function cd(a){a.display.scrollbars&&(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&Fg(a.display.wrapper,a.display.scrollbars.addClass)),a.display.scrollbars=new rh[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller),Xg(b,"mousedown",function(){a.state.focused&&setTimeout(function(){return a.display.input.focus()},0)}),b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?$c(a,b):Yc(a,b)},a),a.display.scrollbars.addClass&&h(a.display.wrapper,a.display.scrollbars.addClass)}function dd(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++sh},vb(a.curOp)}function ed(a){var b=a.curOp;xb(b,function(a){for(var b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;fd(a)})}function fd(a){for(var b=a.ops,c=0;c<b.length;c++)gd(b[c]);for(var d=0;d<b.length;d++)hd(b[d]);for(var e=0;e<b.length;e++)id(b[e]);for(var f=0;f<b.length;f++)jd(b[f]);for(var g=0;g<b.length;g++)kd(b[g])}function gd(a){var b=a.cm,c=b.display;xd(b),a.updateMaxLine&&ua(b),a.mustUpdate=a.viewChanged||a.forceUpdate||null!=a.scrollTop||a.scrollToPos&&(a.scrollToPos.from.line<c.viewFrom||a.scrollToPos.to.line>=c.viewTo)||c.maxLineChanged&&b.options.lineWrapping,a.update=a.mustUpdate&&new th(b,a.mustUpdate&&{top:a.scrollTop,ensure:a.scrollToPos},a.forceUpdate)}function hd(a){a.updatedDisplay=a.mustUpdate&&Ad(a.cm,a.update)}function id(a){var b=a.cm,c=b.display;a.updatedDisplay&&Jc(b),a.barMeasure=_c(b),c.maxLineChanged&&!b.options.lineWrapping&&(a.adjustWidthTo=Xb(b,c.maxLine,c.maxLine.text.length).left+3,b.display.sizerWidth=a.adjustWidthTo,a.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+a.adjustWidthTo+Rb(b)+b.display.barWidth),a.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+a.adjustWidthTo-Sb(b))),(a.updatedDisplay||a.selectionChanged)&&(a.preparedSelection=c.input.prepareSelection(a.focus))}function jd(a){var b=a.cm;null!=a.adjustWidthTo&&(b.display.sizer.style.minWidth=a.adjustWidthTo+"px",a.maxScrollLeft<b.doc.scrollLeft&&$c(b,Math.min(b.display.scroller.scrollLeft,a.maxScrollLeft),!0),b.display.maxLineChanged=!1);var c=a.focus&&a.focus==g()&&(!document.hasFocus||document.hasFocus());a.preparedSelection&&b.display.input.showSelection(a.preparedSelection,c),(a.updatedDisplay||a.startHeight!=b.doc.height)&&ad(b,a.barMeasure),a.updatedDisplay&&Fd(b,a.barMeasure),a.selectionChanged&&Ec(b),b.state.focused&&a.updateInput&&b.display.input.reset(a.typing),c&&Fc(a.cm)}function kd(a){var b=a.cm,c=b.display,d=b.doc;if(a.updatedDisplay&&Bd(b,a.update),null==c.wheelStartX||null==a.scrollTop&&null==a.scrollLeft&&!a.scrollToPos||(c.wheelStartX=c.wheelStartY=null),null!=a.scrollTop&&Zc(b,a.scrollTop,a.forceScroll),null!=a.scrollLeft&&$c(b,a.scrollLeft,!0,!0),a.scrollToPos){var e=Pc(b,Q(d,a.scrollToPos.from),Q(d,a.scrollToPos.to),a.scrollToPos.margin);Oc(b,e)}var f=a.maybeHiddenMarkers,g=a.maybeUnhiddenMarkers;if(f)for(var h=0;h<f.length;++h)f[h].lines.length||Ea(f[h],"hide");if(g)for(var i=0;i<g.length;++i)g[i].lines.length&&Ea(g[i],"unhide");c.wrapper.offsetHeight&&(d.scrollTop=b.display.scroller.scrollTop),a.changeObjs&&Ea(b,"changes",b,a.changeObjs),a.update&&a.update.finish()}function ld(a,b){if(a.curOp)return b();dd(a);try{return b()}finally{ed(a)}}function md(a,b){return function(){if(a.curOp)return b.apply(a,arguments);dd(a);try{return b.apply(a,arguments)}finally{ed(a)}}}function nd(a){return function(){if(this.curOp)return a.apply(this,arguments);dd(this);try{return a.apply(this,arguments)}finally{ed(this)}}}function od(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this,arguments);dd(b);try{return a.apply(this,arguments)}finally{ed(b)}}}function pd(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&c<e.viewTo&&(null==e.updateLineNumbers||e.updateLineNumbers>b)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)Tg&&oa(a.doc,b)<e.viewTo&&rd(a);else if(c<=e.viewFrom)Tg&&pa(a.doc,c+d)>e.viewFrom?rd(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)rd(a);else if(b<=e.viewFrom){var f=sd(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):rd(a)}else if(c>=e.viewTo){var g=sd(a,b,b,-1);g?(e.view=e.view.slice(0,g.index),e.viewTo=g.lineN):rd(a)}else{var h=sd(a,b,b,-1),i=sd(a,c,c+d,1);h&&i?(e.view=e.view.slice(0,h.index).concat(ub(a,h.lineN,i.lineN)).concat(e.view.slice(i.index)),e.viewTo+=d):rd(a)}var j=e.externalMeasured;j&&(c<j.lineN?j.lineN+=d:b<j.lineN+j.size&&(e.externalMeasured=null))}function qd(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;if(e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null),!(b<d.viewFrom||b>=d.viewTo)){var f=d.view[zc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);m(g,c)==-1&&g.push(c)}}}function rd(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function sd(a,b,c,d){var e,f=zc(a,b),g=a.display.view;if(!Tg||c==a.doc.first+a.doc.size)return{index:f,lineN:c};for(var h=a.display.viewFrom,i=0;i<f;i++)h+=g[i].size;if(h!=b){if(d>0){if(f==g.length-1)return null;e=h+g[f].size-b,f++}else e=h-b;b+=e,c+=e}for(;oa(a.doc,c)!=c;){if(f==(d<0?0:g.length-1))return null;c+=d*g[f-(d<0?1:0)].size,f+=d}return{index:f,lineN:c}}function td(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=ub(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=ub(a,b,d.viewFrom).concat(d.view):d.viewFrom<b&&(d.view=d.view.slice(zc(a,b))),d.viewFrom=b,d.viewTo<c?d.view=d.view.concat(ub(a,d.viewTo,c)):d.viewTo>c&&(d.view=d.view.slice(0,zc(a,c)))),d.viewTo=c}function ud(a){for(var b=a.display.view,c=0,d=0;d<b.length;d++){var e=b[d];e.hidden||e.node&&!e.changes||++c}return c}function vd(a,b){a.doc.highlightFrontier<a.display.viewTo&&a.state.highlight.set(b,j(wd,a))}function wd(a){var b=a.doc;if(!(b.highlightFrontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=ab(a,b.highlightFrontier),e=[];b.iter(d.line,Math.min(b.first+b.size,a.display.viewTo+500),function(f){if(d.line>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength?Xa(b.mode,d.state):null,i=$a(a,f,d,!0);h&&(d.state=h),f.styles=i.styles;var j=f.styleClasses,k=i.classes;k?f.styleClasses=k:j&&(f.styleClasses=null);for(var l=!g||g.length!=f.styles.length||j!=k&&(!j||!k||j.bgClass!=k.bgClass||j.textClass!=k.textClass),m=0;!l&&m<g.length;++m)l=g[m]!=f.styles[m];l&&e.push(d.line),f.stateAfter=d.save(),d.nextLine()}else f.text.length<=a.options.maxHighlightLength&&bb(a,f.text,d),f.stateAfter=d.line%5==0?d.save():null,d.nextLine();if(+new Date>c)return vd(a,a.options.workDelay),!0}),b.highlightFrontier=d.line,b.modeFrontier=Math.max(b.modeFrontier,d.line),e.length&&ld(a,function(){for(var b=0;b<e.length;b++)qd(a,e[b],"text")})}}function xd(a){var b=a.display;!b.scrollbarsClipped&&b.scroller.offsetWidth&&(b.nativeBarWidth=b.scroller.offsetWidth-b.scroller.clientWidth,b.heightForcer.style.height=Rb(a)+"px",b.sizer.style.marginBottom=-b.nativeBarWidth+"px",b.sizer.style.borderRightWidth=Rb(a)+"px",b.scrollbarsClipped=!0)}function yd(a){if(a.hasFocus())return null;var b=g();if(!b||!f(a.display.lineDiv,b))return null;var c={activeElt:b};if(window.getSelection){var d=window.getSelection();d.anchorNode&&d.extend&&f(a.display.lineDiv,d.anchorNode)&&(c.anchorNode=d.anchorNode,c.anchorOffset=d.anchorOffset,c.focusNode=d.focusNode,c.focusOffset=d.focusOffset)}return c}function zd(a){if(a&&a.activeElt&&a.activeElt!=g()&&(a.activeElt.focus(),a.anchorNode&&f(document.body,a.anchorNode)&&f(document.body,a.focusNode))){var b=window.getSelection(),c=document.createRange();c.setEnd(a.anchorNode,a.anchorOffset),c.collapse(!1),b.removeAllRanges(),b.addRange(c),b.extend(a.focusNode,a.focusOffset)}}function Ad(a,c){var d=a.display,e=a.doc;if(c.editorIsHidden)return rd(a),!1;if(!c.force&&c.visible.from>=d.viewFrom&&c.visible.to<=d.viewTo&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo)&&d.renderedView==d.view&&0==ud(a))return!1;Nc(a)&&(rd(a),c.dims=uc(a));var f=e.first+e.size,g=Math.max(c.visible.from-a.options.viewportMargin,e.first),h=Math.min(f,c.visible.to+a.options.viewportMargin);d.viewFrom<g&&g-d.viewFrom<20&&(g=Math.max(e.first,d.viewFrom)),d.viewTo>h&&d.viewTo-h<20&&(h=Math.min(f,d.viewTo)),Tg&&(g=oa(a.doc,g),h=pa(a.doc,h));var i=g!=d.viewFrom||h!=d.viewTo||d.lastWrapHeight!=c.wrapperHeight||d.lastWrapWidth!=c.wrapperWidth;td(a,g,h),d.viewOffset=sa(B(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var j=ud(a);if(!i&&0==j&&!c.force&&d.renderedView==d.view&&(null==d.updateLineNumbers||d.updateLineNumbers>=d.viewTo))return!1;var k=yd(a);return j>4&&(d.lineDiv.style.display="none"),Dd(a,d.updateLineNumbers,c.dims),j>4&&(d.lineDiv.style.display=""),d.renderedView=d.view,zd(k),b(d.cursorDiv),b(d.selectionDiv),d.gutters.style.height=d.sizer.style.minHeight=0,i&&(d.lastWrapHeight=c.wrapperHeight,d.lastWrapWidth=c.wrapperWidth,vd(a,400)),d.updateLineNumbers=null,!0}function Bd(a,b){for(var c=b.viewport,d=!0;(d&&a.options.lineWrapping&&b.oldDisplayWidth!=Sb(a)||(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Pb(a.display)-Tb(a),c.top)}),b.visible=Lc(a.display,a.doc,c),!(b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)))&&Ad(a,b);d=!1){Jc(a);var e=_c(a);Ac(a),ad(a,e),Fd(a,e),b.force=!1}b.signal(a,"update",a),a.display.viewFrom==a.display.reportedViewFrom&&a.display.viewTo==a.display.reportedViewTo||(b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo)}function Cd(a,b){var c=new th(a,b);if(Ad(a,c)){Jc(a),Bd(a,c);var d=_c(a);Ac(a),ad(a,d),Fd(a,d),c.finish()}}function Dd(a,c,d){function e(b){var c=b.nextSibling;return og&&yg&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b),c}for(var f=a.display,g=a.options.lineNumbers,h=f.lineDiv,i=h.firstChild,j=f.view,k=f.viewFrom,l=0;l<j.length;l++){var n=j[l];if(n.hidden);else if(n.node&&n.node.parentNode==h){for(;i!=n.node;)i=e(i);var o=g&&null!=c&&c<=k&&n.lineNumber;n.changes&&(m(n.changes,"gutter")>-1&&(o=!1),Ab(a,n,k,d)),o&&(b(n.lineNumber),n.lineNumber.appendChild(document.createTextNode(I(a.options,k)))),i=n.node.nextSibling}else{var p=Ib(a,n,k,d);h.insertBefore(p,i)}k+=n.size}for(;i;)i=e(i)}function Ed(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function Fd(a,b){a.display.sizer.style.minHeight=b.docHeight+"px",a.display.heightForcer.style.top=b.docHeight+"px",a.display.gutters.style.height=b.docHeight+a.display.barHeight+Rb(a)+"px"}function Gd(a){var c=a.display.gutters,e=a.options.gutters;b(c);for(var f=0;f<e.length;++f){var g=e[f],h=c.appendChild(d("div",null,"CodeMirror-gutter "+g));"CodeMirror-linenumbers"==g&&(a.display.lineGutter=h,h.style.width=(a.display.lineNumWidth||1)+"px")}c.style.display=f?"":"none",Ed(a)}function Hd(a){var b=m(a.gutters,"CodeMirror-linenumbers");b==-1&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Id(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}}function Jd(a){var b=Id(a);return b.x*=vh,b.y*=vh,b}function Kd(a,b){var c=Id(b),d=c.x,e=c.y,f=a.display,g=f.scroller,h=g.scrollWidth>g.clientWidth,i=g.scrollHeight>g.clientHeight;if(d&&h||e&&i){if(e&&yg&&og)a:for(var j=b.target,k=f.view;j!=g;j=j.parentNode)for(var l=0;l<k.length;l++)if(k[l].node==j){a.display.currentWheelTarget=j;break a}if(d&&!ig&&!rg&&null!=vh)return e&&i&&Yc(a,Math.max(0,g.scrollTop+e*vh)),$c(a,Math.max(0,g.scrollLeft+d*vh)),(!e||e&&i)&&Ja(b),void(f.wheelStartX=null);if(e&&null!=vh){var m=e*vh,n=a.doc.scrollTop,o=n+f.wrapper.clientHeight;m<0?n=Math.max(0,n+m-50):o=Math.min(a.doc.height,o+m+50),Cd(a,{top:n,bottom:o})}uh<20&&(null==f.wheelStartX?(f.wheelStartX=g.scrollLeft,f.wheelStartY=g.scrollTop,f.wheelDX=d,f.wheelDY=e,setTimeout(function(){if(null!=f.wheelStartX){var a=g.scrollLeft-f.wheelStartX,b=g.scrollTop-f.wheelStartY,c=b&&f.wheelDY&&b/f.wheelDY||a&&f.wheelDX&&a/f.wheelDX;f.wheelStartX=f.wheelStartY=null,c&&(vh=(vh*uh+c)/(uh+1),++uh)}},200)):(f.wheelDX+=d,f.wheelDY+=e))}}function Ld(a,b){var c=a[b];a.sort(function(a,b){return K(a.from(),b.from())}),b=m(a,c);for(var d=1;d<a.length;d++){var e=a[d],f=a[d-1];if(K(f.to(),e.from())>=0){var g=O(f.from(),e.from()),h=N(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;d<=b&&--b,a.splice(--d,2,new xh(i?h:g,i?g:h))}}return new wh(a,b)}function Md(a,b){return new wh([new xh(a,b||a)],0)}function Nd(a){return a.text?J(a.from.line+a.text.length-1,p(a.text).length+(1==a.text.length?a.from.ch:0)):a.to}function Od(a,b){if(K(a,b.from)<0)return a;if(K(a,b.to)<=0)return Nd(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=Nd(b).ch-b.to.ch),J(c,d)}function Pd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){
3
+ var e=a.sel.ranges[d];c.push(new xh(Od(e.anchor,b),Od(e.head,b)))}return Ld(c,a.sel.primIndex)}function Qd(a,b,c){return a.line==b.line?J(c.line,a.ch-b.ch+c.ch):J(c.line+(a.line-b.line),a.ch)}function Rd(a,b,c){for(var d=[],e=J(a.first,0),f=e,g=0;g<b.length;g++){var h=b[g],i=Qd(h.from,e,f),j=Qd(Nd(h),e,f);if(e=h.to,f=j,"around"==c){var k=a.sel.ranges[g],l=K(k.head,k.anchor)<0;d[g]=new xh(l?j:i,l?i:j)}else d[g]=new xh(i,i)}return new wh(d,a.sel.primIndex)}function Sd(a){a.doc.mode=Va(a.options,a.doc.modeOption),Td(a)}function Td(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)}),a.doc.modeFrontier=a.doc.highlightFrontier=a.doc.first,vd(a,100),a.state.modeGen++,a.curOp&&pd(a)}function Ud(a,b){return 0==b.from.ch&&0==b.to.ch&&""==p(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function Vd(a,b,c,d){function e(a){return c?c[a]:null}function f(a,c,e){jb(a,c,e,d),yb(a,"change",a,b)}function g(a,b){for(var c=[],f=a;f<b;++f)c.push(new ih(j[f],e(f),d));return c}var h=b.from,i=b.to,j=b.text,k=B(a,h.line),l=B(a,i.line),m=p(j),n=e(j.length-1),o=i.line-h.line;if(b.full)a.insert(0,g(0,j.length)),a.remove(j.length,a.size-j.length);else if(Ud(a,b)){var q=g(0,j.length-1);f(l,l.text,n),o&&a.remove(h.line,o),q.length&&a.insert(h.line,q)}else if(k==l)if(1==j.length)f(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{var r=g(1,j.length-1);r.push(new ih(m+k.text.slice(i.ch),n,d)),f(k,k.text.slice(0,h.ch)+j[0],e(0)),a.insert(h.line+1,r)}else if(1==j.length)f(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),e(0)),a.remove(h.line+1,o);else{f(k,k.text.slice(0,h.ch)+j[0],e(0)),f(l,m+l.text.slice(i.ch),n);var s=g(1,j.length-1);o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,s)}yb(a,"change",a,b)}function Wd(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;c&&!i||(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function Xd(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,xc(a),Sd(a),Yd(a),a.options.lineWrapping||ua(a),a.options.mode=b.modeOption,pd(a)}function Yd(a){("rtl"==a.doc.direction?h:Fg)(a.display.lineDiv,"CodeMirror-rtl")}function Zd(a){ld(a,function(){Yd(a),pd(a)})}function $d(a){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=a||1}function _d(a,b){var c={from:M(b.from),to:Nd(b),text:C(a,b.from,b.to)};return ge(a,c,b.from.line,b.to.line+1),Wd(a,function(a){return ge(a,c,b.from.line,b.to.line+1)},!0),c}function ae(a){for(;a.length;){var b=p(a);if(!b.ranges)break;a.pop()}}function be(a,b){return b?(ae(a.done),p(a.done)):a.done.length&&!p(a.done).ranges?p(a.done):a.done.length>1&&!a.done[a.done.length-2].ranges?(a.done.pop(),p(a.done)):void 0}function ce(a,b,c,d){var e=a.history;e.undone.length=0;var f,g,h=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>h-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=be(e,e.lastOp==d)))g=p(f.changes),0==K(b.from,b.to)&&0==K(b.from,g.to)?g.to=Nd(b):f.changes.push(_d(a,b));else{var i=p(e.done);for(i&&i.ranges||fe(a.sel,e.done),f={changes:[_d(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=e.lastSelTime=h,e.lastOp=e.lastSelOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,g||Ea(a,"historyAdded")}function de(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function ee(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastSelOp||f&&e.lastSelOrigin==f&&(e.lastModTime==e.lastSelTime&&e.lastOrigin==f||de(a,f,p(e.done),b))?e.done[e.done.length-1]=b:fe(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastSelOp=c,d&&d.clearRedo!==!1&&ae(e.undone)}function fe(a,b){var c=p(b);c&&c.ranges&&c.equals(a)||b.push(a)}function ge(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f})}function he(a){if(!a)return null;for(var b,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return b?b.length?b:null:a}function ie(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=[],e=0;e<b.text.length;++e)d.push(he(c[e]));return d}function je(a,b){var c=ie(a,b),d=_(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function ke(a,b,c){for(var d=[],e=0;e<a.length;++e){var f=a[e];if(f.ranges)d.push(c?wh.prototype.deepCopy.call(f):f);else{var g=f.changes,h=[];d.push({changes:h});for(var i=0;i<g.length;++i){var j=g[i],k=void 0;if(h.push({from:j.from,to:j.to,text:j.text}),b)for(var l in j)(k=l.match(/^spans_(\d+)$/))&&m(b,Number(k[1]))>-1&&(p(h)[l]=j[l],delete j[l])}}}return d}function le(a,b,c,d){if(d){var e=a.anchor;if(c){var f=K(b,e)<0;f!=K(c,e)<0?(e=b,b=c):f!=K(b,c)<0&&(b=c)}return new xh(e,b)}return new xh(c||b,b)}function me(a,b,c,d,e){null==e&&(e=a.cm&&(a.cm.display.shift||a.extend)),se(a,new wh([le(a.sel.primary(),b,c,e)],0),d)}function ne(a,b,c){for(var d=[],e=a.cm&&(a.cm.display.shift||a.extend),f=0;f<a.sel.ranges.length;f++)d[f]=le(a.sel.ranges[f],b[f],null,e);var g=Ld(d,a.sel.primIndex);se(a,g,c)}function oe(a,b,c,d){var e=a.sel.ranges.slice(0);e[b]=c,se(a,Ld(e,a.sel.primIndex),d)}function pe(a,b,c,d){se(a,Md(b,c),d)}function qe(a,b,c){var d={ranges:b.ranges,update:function(b){var c=this;this.ranges=[];for(var d=0;d<b.length;d++)c.ranges[d]=new xh(Q(a,b[d].anchor),Q(a,b[d].head))},origin:c&&c.origin};return Ea(a,"beforeSelectionChange",a,d),a.cm&&Ea(a.cm,"beforeSelectionChange",a.cm,d),d.ranges!=b.ranges?Ld(d.ranges,d.ranges.length-1):b}function re(a,b,c){var d=a.history.done,e=p(d);e&&e.ranges?(d[d.length-1]=b,te(a,b,c)):se(a,b,c)}function se(a,b,c){te(a,b,c),ee(a,a.sel,a.cm?a.cm.curOp.id:NaN,c)}function te(a,b,c){(Ha(a,"beforeSelectionChange")||a.cm&&Ha(a.cm,"beforeSelectionChange"))&&(b=qe(a,b,c));var d=c&&c.bias||(K(b.primary().head,a.sel.primary().head)<0?-1:1);ue(a,we(a,b,d,!0)),c&&c.scroll===!1||!a.cm||Tc(a.cm)}function ue(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,Ga(a.cm)),yb(a,"cursorActivity",a))}function ve(a){ue(a,we(a,a.sel,null,!1))}function we(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=b.ranges.length==a.sel.ranges.length&&a.sel.ranges[f],i=ye(a,g.anchor,h&&h.anchor,c,d),j=ye(a,g.head,h&&h.head,c,d);(e||i!=g.anchor||j!=g.head)&&(e||(e=b.ranges.slice(0,f)),e[f]=new xh(i,j))}return e?Ld(e,b.primIndex):b}function xe(a,b,c,d,e){var f=B(a,b.line);if(f.markedSpans)for(var g=0;g<f.markedSpans.length;++g){var h=f.markedSpans[g],i=h.marker;if((null==h.from||(i.inclusiveLeft?h.from<=b.ch:h.from<b.ch))&&(null==h.to||(i.inclusiveRight?h.to>=b.ch:h.to>b.ch))){if(e&&(Ea(i,"beforeCursorEnter"),i.explicitlyCleared)){if(f.markedSpans){--g;continue}break}if(!i.atomic)continue;if(c){var j=i.find(d<0?1:-1),k=void 0;if((d<0?i.inclusiveRight:i.inclusiveLeft)&&(j=ze(a,j,-d,j&&j.line==b.line?f:null)),j&&j.line==b.line&&(k=K(j,c))&&(d<0?k<0:k>0))return xe(a,j,b,d,e)}var l=i.find(d<0?-1:1);return(d<0?i.inclusiveLeft:i.inclusiveRight)&&(l=ze(a,l,d,l.line==b.line?f:null)),l?xe(a,l,b,d,e):null}}return b}function ye(a,b,c,d,e){var f=d||1,g=xe(a,b,c,f,e)||!e&&xe(a,b,c,f,!0)||xe(a,b,c,-f,e)||!e&&xe(a,b,c,-f,!0);return g?g:(a.cantEdit=!0,J(a.first,0))}function ze(a,b,c,d){return c<0&&0==b.ch?b.line>a.first?Q(a,J(b.line-1)):null:c>0&&b.ch==(d||B(a,b.line)).text.length?b.line<a.first+a.size-1?J(b.line+1,0):null:new J(b.line,b.ch+c)}function Ae(a){a.setSelection(J(a.firstLine(),0),J(a.lastLine()),Mg)}function Be(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){return d.canceled=!0}};return c&&(d.update=function(b,c,e,f){b&&(d.from=Q(a,b)),c&&(d.to=Q(a,c)),e&&(d.text=e),void 0!==f&&(d.origin=f)}),Ea(a,"beforeChange",a,d),a.cm&&Ea(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function Ce(a,b,c){if(a.cm){if(!a.cm.curOp)return md(a.cm,Ce)(a,b,c);if(a.cm.state.suppressEdits)return}if(!(Ha(a,"beforeChange")||a.cm&&Ha(a.cm,"beforeChange"))||(b=Be(a,b,!0))){var d=Sg&&!c&&ba(a,b.from,b.to);if(d)for(var e=d.length-1;e>=0;--e)De(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text,origin:b.origin});else De(a,b)}}function De(a,b){if(1!=b.text.length||""!=b.text[0]||0!=K(b.from,b.to)){var c=Pd(a,b);ce(a,b,c,a.cm?a.cm.curOp.id:NaN),Ge(a,b,c,_(a,b));var d=[];Wd(a,function(a,c){c||m(d,a.history)!=-1||(Le(a.history,b),d.push(a.history)),Ge(a,b,null,_(a,b))})}}function Ee(a,b,c){if(!a.cm||!a.cm.state.suppressEdits||c){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i<g.length&&(d=g[i],c?!d.ranges||d.equals(a.sel):d.ranges);i++);if(i!=g.length){for(e.lastOrigin=e.lastSelOrigin=null;d=g.pop(),d.ranges;){if(fe(d,h),c&&!d.equals(a.sel))return void se(a,d,{clearRedo:!1});f=d}var j=[];fe(f,h),h.push({changes:j,generation:e.generation}),e.generation=d.generation||++e.maxGeneration;for(var k=Ha(a,"beforeChange")||a.cm&&Ha(a.cm,"beforeChange"),l=function(c){var e=d.changes[c];if(e.origin=b,k&&!Be(a,e,!1))return g.length=0,{};j.push(_d(a,e));var f=c?Pd(a,e):p(g);Ge(a,e,f,je(a,e)),!c&&a.cm&&a.cm.scrollIntoView({from:e.from,to:Nd(e)});var h=[];Wd(a,function(a,b){b||m(h,a.history)!=-1||(Le(a.history,e),h.push(a.history)),Ge(a,e,null,je(a,e))})},n=d.changes.length-1;n>=0;--n){var o=l(n);if(o)return o.v}}}}function Fe(a,b){if(0!=b&&(a.first+=b,a.sel=new wh(q(a.sel.ranges,function(a){return new xh(J(a.anchor.line+b,a.anchor.ch),J(a.head.line+b,a.head.ch))}),a.sel.primIndex),a.cm)){pd(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)qd(a.cm,d,"gutter")}}function Ge(a,b,c,d){if(a.cm&&!a.cm.curOp)return md(a.cm,Ge)(a,b,c,d);if(b.to.line<a.first)return void Fe(a,b.text.length-1-(b.to.line-b.from.line));if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Fe(a,e),b={from:J(a.first,0),to:J(b.to.line+e,b.to.ch),text:[p(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:J(f,B(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=C(a,b.from,b.to),c||(c=Pd(a,b)),a.cm?He(a.cm,b,d):Vd(a,b,d),te(a,c,Mg)}}function He(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,i=f.line;a.options.lineWrapping||(i=F(la(B(d,f.line))),d.iter(i,g.line+1,function(a){if(a==e.maxLine)return h=!0,!0})),d.sel.contains(b.from,b.to)>-1&&Ga(a),Vd(d,b,c,wc(a)),a.options.lineWrapping||(d.iter(i,f.line+b.text.length,function(a){var b=ta(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)}),h&&(a.curOp.updateMaxLine=!0)),ib(d,f.line),vd(a,400);var j=b.text.length-(g.line-f.line)-1;b.full?pd(a):f.line!=g.line||1!=b.text.length||Ud(a.doc,b)?pd(a,f.line,g.line+1,j):qd(a,f.line,"text");var k=Ha(a,"changes"),l=Ha(a,"change");if(l||k){var m={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin};l&&yb(a,"change",a,m),k&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(m)}a.display.selForContextMenu=null}function Ie(a,b,c,d,e){if(d||(d=c),K(d,c)<0){var f=d;d=c,c=f}"string"==typeof b&&(b=a.splitLines(b)),Ce(a,{from:c,to:d,text:b,origin:e})}function Je(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Ke(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)Je(f.ranges[h].anchor,b,c,d),Je(f.ranges[h].head,b,c,d)}else{for(var i=0;i<f.changes.length;++i){var j=f.changes[i];if(c<j.from.line)j.from=J(j.from.line+d,j.from.ch),j.to=J(j.to.line+d,j.to.ch);else if(b<=j.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Le(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Ke(a.done,c,d,e),Ke(a.undone,c,d,e)}function Me(a,b,c,d){var e=b,f=b;return"number"==typeof b?f=B(a,P(a,b)):e=F(b),null==e?null:(d(f,e)&&a.cm&&qd(a.cm,e,c),f)}function Ne(a){var b=this;this.lines=a,this.parent=null;for(var c=0,d=0;d<a.length;++d)a[d].parent=b,c+=a[d].height;this.height=c}function Oe(a){var b=this;this.children=a;for(var c=0,d=0,e=0;e<a.length;++e){var f=a[e];c+=f.chunkSize(),d+=f.height,f.parent=b}this.size=c,this.height=d,this.parent=null}function Pe(a,b,c){sa(b)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&Sc(a,c)}function Qe(a,b,c,d){var e=new yh(a,c,d),f=a.cm;return f&&e.noHScroll&&(f.display.alignWidgets=!0),Me(a,b,"widget",function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,f&&!qa(a,b)){var d=sa(b)<a.scrollTop;E(b,b.height+Mb(e)),d&&Sc(f,e.height),f.curOp.forceUpdate=!0}return!0}),yb(f,"lineWidgetAdded",f,e,"number"==typeof b?b:F(b)),e}function Re(a,b,c,d,f){if(d&&d.shared)return Se(a,b,c,d,f);if(a.cm&&!a.cm.curOp)return md(a.cm,Re)(a,b,c,d,f);var g=new Ah(a,f),h=K(b,c);if(d&&k(d,g,!1),h>0||0==h&&g.clearWhenEmpty!==!1)return g;if(g.replacedWith&&(g.collapsed=!0,g.widgetNode=e("span",[g.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||g.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(g.widgetNode.insertLeft=!0)),g.collapsed){if(ka(a,b.line,b,c,g)||b.line!=c.line&&ka(a,c.line,b,c,g))throw new Error("Inserting collapsed marker partially overlapping an existing one");U()}g.addToHistory&&ce(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var i,j=b.line,l=a.cm;if(a.iter(j,c.line+1,function(a){l&&g.collapsed&&!l.options.lineWrapping&&la(a)==l.display.maxLine&&(i=!0),g.collapsed&&j!=b.line&&E(a,0),Y(a,new V(g,j==b.line?b.ch:null,j==c.line?c.ch:null)),++j}),g.collapsed&&a.iter(b.line,c.line+1,function(b){qa(a,b)&&E(b,0)}),g.clearOnEnter&&Xg(g,"beforeCursorEnter",function(){return g.clear()}),g.readOnly&&(T(),(a.history.done.length||a.history.undone.length)&&a.clearHistory()),g.collapsed&&(g.id=++zh,g.atomic=!0),l){if(i&&(l.curOp.updateMaxLine=!0),g.collapsed)pd(l,b.line,c.line+1);else if(g.className||g.title||g.startStyle||g.endStyle||g.css)for(var m=b.line;m<=c.line;m++)qd(l,m,"text");g.atomic&&ve(l.doc),yb(l,"markerAdded",l,g)}return g}function Se(a,b,c,d,e){d=k(d),d.shared=!1;var f=[Re(a,b,c,d,e)],g=f[0],h=d.widgetNode;return Wd(a,function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(Re(a,Q(a,b),Q(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=p(f)}),new Bh(f,g)}function Te(a){return a.findMarks(J(a.first,0),a.clipPos(J(a.lastLine())),function(a){return a.parent})}function Ue(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=d.find(),f=a.clipPos(e.from),g=a.clipPos(e.to);if(K(f,g)){var h=Re(a,f,g,d.primary,d.primary.type);d.markers.push(h),h.parent=d}}}function Ve(a){for(var b=function(b){var c=a[b],d=[c.primary.doc];Wd(c.primary.doc,function(a){return d.push(a)});for(var e=0;e<c.markers.length;e++){var f=c.markers[e];m(d,f.doc)==-1&&(f.parent=null,c.markers.splice(e--,1))}},c=0;c<a.length;c++)b(c)}function We(a){var b=this;if(Ze(b),!Fa(b,a)&&!Nb(b.display,a)){Ja(a),mg&&(Eh=+new Date);var c=yc(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){if(!b.options.allowDropFileTypes||m(b.options.allowDropFileTypes,a.type)!=-1){var h=new FileReader;h.onload=md(b,function(){var a=h.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a=""),f[d]=a,++g==e){c=Q(b.doc,c);var i={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"};Ce(b.doc,i),re(b.doc,Md(c,Nd(i)))}}),h.readAsText(a)}},i=0;i<e;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout(function(){return b.display.input.focus()},20);try{var j=a.dataTransfer.getData("Text");if(j){var k;if(b.state.draggingText&&!b.state.draggingText.copy&&(k=b.listSelections()),te(b.doc,Md(c,c)),k)for(var l=0;l<k.length;++l)Ie(b.doc,"",k[l].anchor,k[l].head,"drag");b.replaceSelection(j,"around","paste"),b.display.input.focus()}}catch(a){}}}}function Xe(a,b){if(mg&&(!a.state.draggingText||+new Date-Eh<100))return void Ma(b);if(!Fa(a,b)&&!Nb(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!sg)){var c=d("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",rg&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop),b.dataTransfer.setDragImage(c,0,0),rg&&c.parentNode.removeChild(c)}}function Ye(a,b){var e=yc(a,b);if(e){var f=document.createDocumentFragment();Cc(a,e,f),a.display.dragCursor||(a.display.dragCursor=d("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv)),c(a.display.dragCursor,f)}}function Ze(a){a.display.dragCursor&&(a.display.lineSpace.removeChild(a.display.dragCursor),a.display.dragCursor=null)}function $e(a){if(document.getElementsByClassName)for(var b=document.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function _e(){Fh||(af(),Fh=!0)}function af(){var a;Xg(window,"resize",function(){null==a&&(a=setTimeout(function(){a=null,$e(bf)},100))}),Xg(window,"blur",function(){return $e(Ic)})}function bf(a){var b=a.display;b.lastWrapHeight==b.wrapper.clientHeight&&b.lastWrapWidth==b.wrapper.clientWidth||(b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize())}function cf(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else{if(!/^s(hift)?$/i.test(h))throw new Error("Unrecognized modifier name: "+h);e=!0}}return c&&(a="Alt-"+a),d&&(a="Ctrl-"+a),f&&(a="Cmd-"+a),e&&(a="Shift-"+a),a}function df(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=q(c.split(" "),cf),f=0;f<e.length;f++){var g=void 0,h=void 0;f==e.length-1?(h=e.join(" "),g=d):(h=e.slice(0,f+1).join(" "),g="...");var i=b[h];if(i){if(i!=g)throw new Error("Inconsistent bindings for "+h)}else b[h]=g}delete a[c]}for(var j in b)a[j]=b[j];return a}function ef(a,b,c,d){b=jf(b);var e=b.call?b.call(a,d):b[a];if(e===!1)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!=Object.prototype.toString.call(b.fallthrough))return ef(a,b.fallthrough,c,d);for(var f=0;f<b.fallthrough.length;f++){var g=ef(a,b.fallthrough[f],c,d);if(g)return g}}}function ff(a){var b="string"==typeof a?a:Gh[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function gf(a,b,c){var d=a;return b.altKey&&"Alt"!=d&&(a="Alt-"+a),(Dg?b.metaKey:b.ctrlKey)&&"Ctrl"!=d&&(a="Ctrl-"+a),(Dg?b.ctrlKey:b.metaKey)&&"Cmd"!=d&&(a="Cmd-"+a),!c&&b.shiftKey&&"Shift"!=d&&(a="Shift-"+a),a}function hf(a,b){if(rg&&34==a.keyCode&&a["char"])return!1;var c=Gh[a.keyCode];return null!=c&&!a.altGraphKey&&gf(c,a,b)}function jf(a){return"string"==typeof a?Kh[a]:a}function kf(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&K(f.from,p(d).to)<=0;){var g=d.pop();if(K(g.from,f.from)<0){f.from=g.from;break}}d.push(f)}ld(a,function(){for(var b=d.length-1;b>=0;b--)Ie(a.doc,"",d[b].from,d[b].to,"+delete");Tc(a)})}function lf(a,b){var c=B(a.doc,b),d=la(c);return d!=c&&(b=F(d)),Aa(!0,a,d,b,1)}function mf(a,b){var c=B(a.doc,b),d=ma(c);return d!=c&&(b=F(d)),Aa(!0,a,c,b,-1)}function nf(a,b){var c=lf(a,b.line),d=B(a.doc,c.line),e=xa(d,a.doc.direction);if(!e||0==e[0].level){var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;return J(c.line,g?0:f,c.sticky)}return c}function of(a,b,c){if("string"==typeof b&&(b=Lh[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Lg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function pf(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=ef(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&ef(b,a.options.extraKeys,c,a)||ef(b,a.options.keyMap,c,a)}function qf(a,b,c,d){var e=a.state.keySeq;if(e){if(ff(b))return"handled";Mh.set(50,function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())}),b=e+" "+b}var f=pf(a,b,d);return"multi"==f&&(a.state.keySeq=b),"handled"==f&&yb(a,"keyHandled",a,b,c),"handled"!=f&&"multi"!=f||(Ja(c),Ec(a)),e&&!f&&/\'$/.test(b)?(Ja(c),!0):!!f}function rf(a,b){var c=hf(b,!0);return!!c&&(b.shiftKey&&!a.state.keySeq?qf(a,"Shift-"+c,b,function(b){return of(a,b,!0)})||qf(a,c,b,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return of(a,b)}):qf(a,c,b,function(b){return of(a,b)}))}function sf(a,b,c){return qf(a,"'"+c+"'",b,function(b){return of(a,b,!0)})}function tf(a){var b=this;if(b.curOp.focus=g(),!Fa(b,a)){mg&&ng<11&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=rf(b,a);rg&&(Nh=d?c:null,!d&&88==c&&!_g&&(yg?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut")),18!=c||/\bCodeMirror-crosshair\b/.test(b.display.lineDiv.className)||uf(b)}}function uf(a){function b(a){18!=a.keyCode&&a.altKey||(Fg(c,"CodeMirror-crosshair"),Da(document,"keyup",b),Da(document,"mouseover",b))}var c=a.display.lineDiv;h(c,"CodeMirror-crosshair"),Xg(document,"keyup",b),Xg(document,"mouseover",b)}function vf(a){16==a.keyCode&&(this.doc.sel.shift=!1),Fa(this,a)}function wf(a){var b=this;if(!(Nb(b.display,a)||Fa(b,a)||a.ctrlKey&&!a.altKey||yg&&a.metaKey)){var c=a.keyCode,d=a.charCode;if(rg&&c==Nh)return Nh=null,void Ja(a);if(!rg||a.which&&!(a.which<10)||!rf(b,a)){var e=String.fromCharCode(null==d?c:d);"\b"!=e&&(sf(b,a,e)||b.display.input.onKeyPress(a))}}}function xf(a,b){var c=+new Date;return Rh&&Rh.compare(c,a,b)?(Qh=Rh=null,"triple"):Qh&&Qh.compare(c,a,b)?(Rh=new Ph(c,a,b),Qh=null,"double"):(Qh=new Ph(c,a,b),Rh=null,"single")}function yf(a){var b=this,c=b.display;if(!(Fa(b,a)||c.activeTouch&&c.input.supportsTouch())){if(c.input.ensurePolled(),c.shift=a.shiftKey,Nb(c,a))return void(og||(c.scroller.draggable=!1,setTimeout(function(){return c.scroller.draggable=!0},100)));if(!Gf(b,a)){var d=yc(b,a),e=Oa(a),f=d?xf(d,e):"single";window.focus(),1==e&&b.state.selectingText&&b.state.selectingText(a),d&&zf(b,e,d,f,a)||(1==e?d?Bf(b,d,f,a):Na(a)==c.scroller&&Ja(a):2==e?(d&&me(b.doc,d),setTimeout(function(){return c.input.focus()},20)):3==e&&(Eg?Hf(b,a):Gc(b)))}}}function zf(a,b,c,d,e){var f="Click";return"double"==d?f="Double"+f:"triple"==d&&(f="Triple"+f),f=(1==b?"Left":2==b?"Middle":"Right")+f,qf(a,gf(f,e),e,function(b){if("string"==typeof b&&(b=Lh[b]),!b)return!1;var d=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),d=b(a,c)!=Lg}finally{a.state.suppressEdits=!1}return d})}function Af(a,b,c){var d=a.getOption("configureMouse"),e=d?d(a,b,c):{};if(null==e.unit){var f=zg?c.shiftKey&&c.metaKey:c.altKey;e.unit=f?"rectangle":"single"==b?"char":"double"==b?"word":"line"}return(null==e.extend||a.doc.extend)&&(e.extend=a.doc.extend||c.shiftKey),null==e.addNew&&(e.addNew=yg?c.metaKey:c.ctrlKey),null==e.moveOnDrag&&(e.moveOnDrag=!(yg?c.altKey:c.ctrlKey)),e}function Bf(a,b,c,d){mg?setTimeout(j(Fc,a),0):a.curOp.focus=g();var e,f=Af(a,c,d),h=a.doc.sel;a.options.dragDrop&&Yg&&!a.isReadOnly()&&"single"==c&&(e=h.contains(b))>-1&&(K((e=h.ranges[e]).from(),b)<0||b.xRel>0)&&(K(e.to(),b)>0||b.xRel<0)?Cf(a,d,b,f):Ef(a,d,b,f)}function Cf(a,b,c,d){var e=a.display,f=!1,g=md(a,function(b){og&&(e.scroller.draggable=!1),a.state.draggingText=!1,Da(document,"mouseup",g),Da(document,"mousemove",h),Da(e.scroller,"dragstart",i),Da(e.scroller,"drop",g),f||(Ja(b),d.addNew||me(a.doc,c,null,null,d.extend),og||mg&&9==ng?setTimeout(function(){document.body.focus(),e.input.focus()},20):e.input.focus())}),h=function(a){f=f||Math.abs(b.clientX-a.clientX)+Math.abs(b.clientY-a.clientY)>=10},i=function(){return f=!0};og&&(e.scroller.draggable=!0),a.state.draggingText=g,g.copy=!d.moveOnDrag,e.scroller.dragDrop&&e.scroller.dragDrop(),Xg(document,"mouseup",g),Xg(document,"mousemove",h),Xg(e.scroller,"dragstart",i),Xg(e.scroller,"drop",g),Gc(a),setTimeout(function(){return e.input.focus()},20)}function Df(a,b,c){if("char"==c)return new xh(b,b);if("word"==c)return a.findWordAt(b);if("line"==c)return new xh(J(b.line,0),Q(a.doc,J(b.line+1,0)));var d=c(a,b);return new xh(d.from,d.to)}function Ef(a,b,c,d){function e(b){if(0!=K(r,b))if(r=b,"rectangle"==d.unit){for(var e=[],f=a.options.tabSize,g=l(B(j,c.line).text,c.ch,f),h=l(B(j,b.line).text,b.ch,f),i=Math.min(g,h),p=Math.max(g,h),q=Math.min(c.line,b.line),s=Math.min(a.lastLine(),Math.max(c.line,b.line));q<=s;q++){var t=B(j,q).text,u=n(t,i,f);i==p?e.push(new xh(J(q,u),J(q,u))):t.length>u&&e.push(new xh(J(q,u),J(q,n(t,p,f))))}e.length||e.push(new xh(c,c)),se(j,Ld(o.ranges.slice(0,m).concat(e),m),{origin:"*mouse",scroll:!1}),a.scrollIntoView(b)}else{var v,w=k,x=Df(a,b,d.unit),y=w.anchor;K(x.anchor,y)>0?(v=x.head,y=O(w.from(),x.anchor)):(v=x.anchor,y=N(w.to(),x.head));var z=o.ranges.slice(0);z[m]=new xh(Q(j,y),v),se(j,Ld(z,m),Ng)}}function f(b){var c=++t,h=yc(a,b,!0,"rectangle"==d.unit);if(h)if(0!=K(h,r)){a.curOp.focus=g(),e(h);var k=Lc(i,j);(h.line>=k.to||h.line<k.from)&&setTimeout(md(a,function(){t==c&&f(b)}),150)}else{var l=b.clientY<s.top?-20:b.clientY>s.bottom?20:0;l&&setTimeout(md(a,function(){t==c&&(i.scroller.scrollTop+=l,f(b))}),50)}}function h(b){a.state.selectingText=!1,t=1/0,Ja(b),i.input.focus(),Da(document,"mousemove",u),Da(document,"mouseup",v),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Ja(b);var k,m,o=j.sel,p=o.ranges;if(d.addNew&&!d.extend?(m=j.sel.contains(c),k=m>-1?p[m]:new xh(c,c)):(k=j.sel.primary(),m=j.sel.primIndex),"rectangle"==d.unit)d.addNew||(k=new xh(c,c)),c=yc(a,b,!0,!0),m=-1;else{var q=Df(a,c,d.unit);k=d.extend?le(k,q.anchor,q.head,d.extend):q}d.addNew?m==-1?(m=p.length,se(j,Ld(p.concat([k]),m),{scroll:!1,origin:"*mouse"})):p.length>1&&p[m].empty()&&"char"==d.unit&&!d.extend?(se(j,Ld(p.slice(0,m).concat(p.slice(m+1)),0),{scroll:!1,origin:"*mouse"}),o=j.sel):oe(j,m,k,Ng):(m=0,se(j,new wh([k],0),Ng),o=j.sel);var r=c,s=i.wrapper.getBoundingClientRect(),t=0,u=md(a,function(a){Oa(a)?f(a):h(a)}),v=md(a,h);a.state.selectingText=v,Xg(document,"mousemove",u),Xg(document,"mouseup",v)}function Ff(a,b,c,d){var e,f;try{e=b.clientX,f=b.clientY}catch(b){return!1}if(e>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Ja(b);var g=a.display,h=g.lineDiv.getBoundingClientRect();if(f>h.bottom||!Ha(a,c))return La(b);f-=h.top-g.viewOffset;for(var i=0;i<a.options.gutters.length;++i){var j=g.gutters.childNodes[i];if(j&&j.getBoundingClientRect().right>=e){var k=G(a.doc,f),l=a.options.gutters[i];return Ea(a,c,a,k,l,b),La(b)}}}function Gf(a,b){return Ff(a,b,"gutterClick",!0)}function Hf(a,b){Nb(a.display,b)||If(a,b)||Fa(a,b,"contextmenu")||a.display.input.onContextMenu(b)}function If(a,b){return!!Ha(a,"gutterContextMenu")&&Ff(a,b,"gutterContextMenu",!1)}function Jf(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),fc(a)}function Kf(a){function b(b,d,e,f){a.defaults[b]=d,e&&(c[b]=f?function(a,b,c){c!=Sh&&e(a,b,c)}:e)}var c=a.optionHandlers;a.defineOption=b,a.Init=Sh,b("value","",function(a,b){return a.setValue(b)},!0),b("mode",null,function(a,b){a.doc.modeOption=b,Sd(a)},!0),b("indentUnit",2,Sd,!0),b("indentWithTabs",!1),b("smartIndent",!0),b("tabSize",4,function(a){Td(a),fc(a),pd(a)},!0),b("lineSeparator",null,function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter(function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(f==-1)break;e=f+b.length,c.push(J(d,f))}d++});for(var e=c.length-1;e>=0;e--)Ie(a.doc,b,c[e],J(c[e].line,c[e].ch+b.length))}}),b("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g"),c!=Sh&&a.refresh()}),b("specialCharPlaceholder",nb,function(a){return a.refresh()},!0),b("electricChars",!0),b("inputStyle",xg?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),b("spellcheck",!1,function(a,b){return a.getInputField().spellcheck=b},!0),b("rtlMoveVisually",!Ag),b("wholeLineUpdateBefore",!0),b("theme","default",function(a){Jf(a),Lf(a)},!0),b("keyMap","default",function(a,b,c){var d=jf(b),e=c!=Sh&&jf(c);e&&e.detach&&e.detach(a,d),d.attach&&d.attach(a,e||null)}),b("extraKeys",null),b("configureMouse",null),b("lineWrapping",!1,Nf,!0),b("gutters",[],function(a){Hd(a.options),Lf(a)},!0),b("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?vc(a.display)+"px":"0",a.refresh()},!0),b("coverGutterNextToScrollbar",!1,function(a){return ad(a)},!0),b("scrollbarStyle","native",function(a){cd(a),ad(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)},!0),b("lineNumbers",!1,function(a){Hd(a.options),Lf(a)},!0),b("firstLineNumber",1,Lf,!0),b("lineNumberFormatter",function(a){return a},Lf,!0),b("showCursorWhenSelecting",!1,Ac,!0),b("resetSelectionOnContextMenu",!0),b("lineWiseCopyCut",!0),b("pasteLinesPerSelection",!0),b("readOnly",!1,function(a,b){"nocursor"==b&&(Ic(a),a.display.input.blur()),a.display.input.readOnlyChanged(b)}),b("disableInput",!1,function(a,b){b||a.display.input.reset()},!0),b("dragDrop",!0,Mf),b("allowDropFileTypes",null),b("cursorBlinkRate",530),b("cursorScrollMargin",0),b("cursorHeight",1,Ac,!0),b("singleCursorHeightPerLine",!0,Ac,!0),b("workTime",100),b("workDelay",100),b("flattenSpans",!0,Td,!0),b("addModeClass",!1,Td,!0),b("pollInterval",100),b("undoDepth",200,function(a,b){return a.doc.history.undoDepth=b}),b("historyEventDelay",1250),b("viewportMargin",10,function(a){return a.refresh()},!0),b("maxHighlightLength",1e4,Td,!0),b("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()}),b("tabindex",null,function(a,b){return a.display.input.getField().tabIndex=b||""}),b("autofocus",null),b("direction","ltr",function(a,b){return a.doc.setDirection(b)},!0)}function Lf(a){Gd(a),pd(a),Mc(a)}function Mf(a,b,c){var d=c&&c!=Sh;if(!b!=!d){var e=a.display.dragFunctions,f=b?Xg:Da;f(a.display.scroller,"dragstart",e.start),f(a.display.scroller,"dragenter",e.enter),f(a.display.scroller,"dragover",e.over),f(a.display.scroller,"dragleave",e.leave),f(a.display.scroller,"drop",e.drop)}}function Nf(a){a.options.lineWrapping?(h(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Fg(a.display.wrapper,"CodeMirror-wrap"),ua(a)),xc(a),pd(a),fc(a),setTimeout(function(){return ad(a)},100)}function Of(a,b){var c=this;if(!(this instanceof Of))return new Of(a,b);this.options=b=b?k(b):{},k(Th,b,!1),Hd(b);var d=b.value;"string"==typeof d&&(d=new Dh(d,b.mode,null,b.lineSeparator,b.direction)),this.doc=d;var e=new Of.inputStyles[b.inputStyle](this),f=this.display=new A(a,d,e);f.wrapper.CodeMirror=this,Gd(this),Jf(this),b.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),cd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Hg,keySeq:null,specialChars:null},b.autofocus&&!xg&&f.input.focus(),mg&&ng<11&&setTimeout(function(){return c.display.input.reset(!0)},20),Pf(this),_e(),dd(this),this.curOp.forceUpdate=!0,Xd(this,d),b.autofocus&&!xg||this.hasFocus()?setTimeout(j(Hc,this),20):Ic(this);for(var g in Uh)Uh.hasOwnProperty(g)&&Uh[g](c,b[g],Sh);
4
+ Nc(this),b.finishInit&&b.finishInit(this);for(var h=0;h<Vh.length;++h)Vh[h](c);ed(this),og&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(f.lineDiv).textRendering&&(f.lineDiv.style.textRendering="auto")}function Pf(a){function b(){e.activeTouch&&(f=setTimeout(function(){return e.activeTouch=null},1e3),g=e.activeTouch,g.end=+new Date)}function c(a){if(1!=a.touches.length)return!1;var b=a.touches[0];return b.radiusX<=1&&b.radiusY<=1}function d(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return c*c+d*d>400}var e=a.display;Xg(e.scroller,"mousedown",md(a,yf)),mg&&ng<11?Xg(e.scroller,"dblclick",md(a,function(b){if(!Fa(a,b)){var c=yc(a,b);if(c&&!Gf(a,b)&&!Nb(a.display,b)){Ja(b);var d=a.findWordAt(c);me(a.doc,d.anchor,d.head)}}})):Xg(e.scroller,"dblclick",function(b){return Fa(a,b)||Ja(b)}),Eg||Xg(e.scroller,"contextmenu",function(b){return Hf(a,b)});var f,g={end:0};Xg(e.scroller,"touchstart",function(b){if(!Fa(a,b)&&!c(b)){e.input.ensurePolled(),clearTimeout(f);var d=+new Date;e.activeTouch={start:d,moved:!1,prev:d-g.end<=300?g:null},1==b.touches.length&&(e.activeTouch.left=b.touches[0].pageX,e.activeTouch.top=b.touches[0].pageY)}}),Xg(e.scroller,"touchmove",function(){e.activeTouch&&(e.activeTouch.moved=!0)}),Xg(e.scroller,"touchend",function(c){var f=e.activeTouch;if(f&&!Nb(e,c)&&null!=f.left&&!f.moved&&new Date-f.start<300){var g,h=a.coordsChar(e.activeTouch,"page");g=!f.prev||d(f,f.prev)?new xh(h,h):!f.prev.prev||d(f,f.prev.prev)?a.findWordAt(h):new xh(J(h.line,0),Q(a.doc,J(h.line+1,0))),a.setSelection(g.anchor,g.head),a.focus(),Ja(c)}b()}),Xg(e.scroller,"touchcancel",b),Xg(e.scroller,"scroll",function(){e.scroller.clientHeight&&(Yc(a,e.scroller.scrollTop),$c(a,e.scroller.scrollLeft,!0),Ea(a,"scroll",a))}),Xg(e.scroller,"mousewheel",function(b){return Kd(a,b)}),Xg(e.scroller,"DOMMouseScroll",function(b){return Kd(a,b)}),Xg(e.wrapper,"scroll",function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0}),e.dragFunctions={enter:function(b){Fa(a,b)||Ma(b)},over:function(b){Fa(a,b)||(Ye(a,b),Ma(b))},start:function(b){return Xe(a,b)},drop:md(a,We),leave:function(b){Fa(a,b)||Ze(a)}};var h=e.input.getField();Xg(h,"keyup",function(b){return vf.call(a,b)}),Xg(h,"keydown",md(a,tf)),Xg(h,"keypress",md(a,wf)),Xg(h,"focus",function(b){return Hc(a,b)}),Xg(h,"blur",function(b){return Ic(a,b)})}function Qf(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(f.mode.indent?e=ab(a,b).state:c="prev");var g=a.options.tabSize,h=B(f,b),i=l(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=f.mode.indent(e,h.text.slice(k.length),h.text),j==Lg||j>150)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?l(B(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var m="",n=0;if(a.options.indentWithTabs)for(var p=Math.floor(j/g);p;--p)n+=g,m+="\t";if(n<j&&(m+=o(j-n)),m!=k)return Ie(f,m,J(b,0),J(b,k.length),"+input"),h.stateAfter=null,!0;for(var q=0;q<f.sel.ranges.length;q++){var r=f.sel.ranges[q];if(r.head.line==b&&r.head.ch<k.length){var s=J(b,k.length);oe(f,q,new xh(s,s));break}}}function Rf(a){Wh=a}function Sf(a,b,c,d,e){var f=a.doc;a.display.shift=!1,d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=Zg(b),i=null;if(g&&d.ranges.length>1)if(Wh&&Wh.text.join("\n")==b){if(d.ranges.length%Wh.text.length==0){i=[];for(var j=0;j<Wh.text.length;j++)i.push(f.splitLines(Wh.text[j]))}}else h.length==d.ranges.length&&a.options.pasteLinesPerSelection&&(i=q(h,function(a){return[a]}));for(var k,l=d.ranges.length-1;l>=0;l--){var m=d.ranges[l],n=m.from(),o=m.to();m.empty()&&(c&&c>0?n=J(n.line,n.ch-c):a.state.overwrite&&!g?o=J(o.line,Math.min(B(f,o.line).text.length,o.ch+p(h).length)):Wh&&Wh.lineWise&&Wh.text.join("\n")==b&&(n=o=J(n.line,0))),k=a.curOp.updateInput;var r={from:n,to:o,text:i?i[l%i.length]:h,origin:e||(g?"paste":a.state.cutIncoming?"cut":"+input")};Ce(a.doc,r),yb(a,"inputRead",a,r)}b&&!g&&Uf(a,b),Tc(a),a.curOp.updateInput=k,a.curOp.typing=!0,a.state.pasteIncoming=a.state.cutIncoming=!1}function Tf(a,b){var c=a.clipboardData&&a.clipboardData.getData("Text");if(c)return a.preventDefault(),b.isReadOnly()||b.options.disableInput||ld(b,function(){return Sf(b,c,0,null,"paste")}),!0}function Uf(a,b){if(a.options.electricChars&&a.options.smartIndent)for(var c=a.doc.sel,d=c.ranges.length-1;d>=0;d--){var e=c.ranges[d];if(!(e.head.ch>100||d&&c.ranges[d-1].head.line==e.head.line)){var f=a.getModeAt(e.head),g=!1;if(f.electricChars){for(var h=0;h<f.electricChars.length;h++)if(b.indexOf(f.electricChars.charAt(h))>-1){g=Qf(a,e.head.line,"smart");break}}else f.electricInput&&f.electricInput.test(B(a.doc,e.head.line).text.slice(0,e.head.ch))&&(g=Qf(a,e.head.line,"smart"));g&&yb(a,"electricInput",a,e.head.line)}}}function Vf(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e=a.doc.sel.ranges[d].head.line,f={anchor:J(e,0),head:J(e+1,0)};c.push(f),b.push(a.getRange(f.anchor,f.head))}return{text:b,ranges:c}}function Wf(a,b){a.setAttribute("autocorrect","off"),a.setAttribute("autocapitalize","off"),a.setAttribute("spellcheck",!!b)}function Xf(){var a=d("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),b=d("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return og?a.style.width="1000px":a.setAttribute("wrap","off"),vg&&(a.style.border="1px solid black"),Wf(a),b}function Yf(a,b,c,d,e){function f(){var d=b.line+c;return!(d<a.first||d>=a.first+a.size)&&(b=new J(d,b.ch,b.sticky),j=B(a,d))}function g(d){var g;if(g=e?Ba(a.cm,j,b,c):za(j,b,c),null==g){if(d||!f())return!1;b=Aa(e,a.cm,j,b.line,c)}else b=g;return!0}var h=b,i=c,j=B(a,b.line);if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var k=null,l="group"==d,m=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(c<0)||g(!n);n=!1){var o=j.text.charAt(b.ch)||"\n",p=v(o,m)?"w":l&&"\n"==o?"n":!l||/\s/.test(o)?null:"p";if(!l||n||p||(p="s"),k&&k!=p){c<0&&(c=1,g(),b.sticky="after");break}if(p&&(k=p),c>0&&!g(!n))break}var q=ye(a,b,h,i,!0);return L(h,q)&&(q.hitSide=!0),q}function Zf(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(h-.5*sc(a.display),3);e=(c>0?b.bottom:b.top)+c*i}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(var j;j=oc(a,g,e),j.outside;){if(c<0?e<=0:e>=f.height){j.hitSide=!0;break}e+=5*c}return j}function $f(a,b){var c=Yb(a,b.line);if(!c||c.hidden)return null;var d=B(a.doc,b.line),e=Vb(c,d,b.line),f=xa(d,a.doc.direction),g="left";if(f){var h=wa(f,b.ch);g=h%2?"right":"left"}var i=_b(e.map,b.ch,g);return i.offset="right"==i.collapse?i.end:i.start,i}function _f(a){for(var b=a;b;b=b.parentNode)if(/CodeMirror-gutter-wrapper/.test(b.className))return!0;return!1}function ag(a,b){return b&&(a.bad=!0),a}function bg(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(){k&&(j+=l,k=!1)}function h(a){a&&(g(),j+=a)}function i(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)return void h(c||b.textContent.replace(/\u200b/g,""));var j,m=b.getAttribute("cm-marker");if(m){var n=a.findMarks(J(d,0),J(e+1,0),f(+m));return void(n.length&&(j=n[0].find(0))&&h(C(a.doc,j.from,j.to).join(l)))}if("false"==b.getAttribute("contenteditable"))return;var o=/^(pre|div|p)$/i.test(b.nodeName);o&&g();for(var p=0;p<b.childNodes.length;p++)i(b.childNodes[p]);o&&(k=!0)}else 3==b.nodeType&&h(b.nodeValue)}for(var j="",k=!1,l=a.doc.lineSeparator();i(b),b!=c;)b=b.nextSibling;return j}function cg(a,b,c){var d;if(b==a.display.lineDiv){if(d=a.display.lineDiv.childNodes[c],!d)return ag(a.clipPos(J(a.display.viewTo-1)),!0);b=null,c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return dg(f,b,c)}}function dg(a,b,c){function d(b,c,d){for(var e=-1;e<(l?l.length:0);e++)for(var f=e<0?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){var i=F(e<0?a.line:a.rest[e]),j=f[g]+d;return(d<0||h!=b)&&(j=f[g+(d?1:0)]),J(i,j)}}}var e=a.text.firstChild,g=!1;if(!b||!f(e,b))return ag(J(F(a.line),0),!0);if(b==e&&(g=!0,b=e.childNodes[c],c=0,!b)){var h=a.rest?p(a.rest):a.line;return ag(J(F(h),h.text.length),g)}var i=3==b.nodeType?b:null,j=b;for(i||1!=b.childNodes.length||3!=b.firstChild.nodeType||(i=b.firstChild,c&&(c=i.nodeValue.length));j.parentNode!=e;)j=j.parentNode;var k=a.measure,l=k.maps,m=d(i,j,c);if(m)return ag(m,g);for(var n=j.nextSibling,o=i?i.nodeValue.length-c:0;n;n=n.nextSibling){if(m=d(n,n.firstChild,0))return ag(J(m.line,m.ch-o),g);o+=n.textContent.length}for(var q=j.previousSibling,r=c;q;q=q.previousSibling){if(m=d(q,q.firstChild,-1))return ag(J(m.line,m.ch+r),g);r+=q.textContent.length}}function eg(a,b){function c(){a.value=j.getValue()}if(b=b?k(b):{},b.value=a.value,!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var d=g();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}var e;if(a.form&&(Xg(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form;e=f.submit;try{var h=f.submit=function(){c(),f.submit=e,f.submit(),f.submit=h}}catch(i){}}b.finishInit=function(b){b.save=c,b.getTextArea=function(){return a},b.toTextArea=function(){b.toTextArea=isNaN,c(),a.parentNode.removeChild(b.getWrapperElement()),a.style.display="",a.form&&(Da(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=e))}},a.style.display="none";var j=Of(function(b){return a.parentNode.insertBefore(b,a.nextSibling)},b);return j}function fg(a){a.off=Da,a.on=Xg,a.wheelEventPixels=Jd,a.Doc=Dh,a.splitLines=Zg,a.countColumn=l,a.findColumn=n,a.isWordChar=u,a.Pass=Lg,a.signal=Ea,a.Line=ih,a.changeEnd=Nd,a.scrollbarModel=rh,a.Pos=J,a.cmpPos=K,a.modes=bh,a.mimeModes=ch,a.resolveMode=Ua,a.getMode=Va,a.modeExtensions=dh,a.extendMode=Wa,a.copyState=Xa,a.startState=Za,a.innerMode=Ya,a.commands=Lh,a.keyMap=Kh,a.keyName=hf,a.isModifierKey=ff,a.lookupKey=ef,a.normalizeKeyMap=df,a.StringStream=eh,a.SharedTextMarker=Bh,a.TextMarker=Ah,a.LineWidget=yh,a.e_preventDefault=Ja,a.e_stopPropagation=Ka,a.e_stop=Ma,a.addClass=h,a.contains=f,a.rmClass=Fg,a.keyNames=Gh}var gg=navigator.userAgent,hg=navigator.platform,ig=/gecko\/\d/i.test(gg),jg=/MSIE \d/.test(gg),kg=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(gg),lg=/Edge\/(\d+)/.exec(gg),mg=jg||kg||lg,ng=mg&&(jg?document.documentMode||6:+(lg||kg)[1]),og=!lg&&/WebKit\//.test(gg),pg=og&&/Qt\/\d+\.\d+/.test(gg),qg=!lg&&/Chrome\//.test(gg),rg=/Opera\//.test(gg),sg=/Apple Computer/.test(navigator.vendor),tg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(gg),ug=/PhantomJS/.test(gg),vg=!lg&&/AppleWebKit/.test(gg)&&/Mobile\/\w+/.test(gg),wg=/Android/.test(gg),xg=vg||wg||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(gg),yg=vg||/Mac/.test(hg),zg=/\bCrOS\b/.test(gg),Ag=/win/i.test(hg),Bg=rg&&gg.match(/Version\/(\d*\.\d*)/);Bg&&(Bg=Number(Bg[1])),Bg&&Bg>=15&&(rg=!1,og=!0);var Cg,Dg=yg&&(pg||rg&&(null==Bg||Bg<12.11)),Eg=ig||mg&&ng>=9,Fg=function(b,c){var d=b.className,e=a(c).exec(d);if(e){var f=d.slice(e.index+e[0].length);b.className=d.slice(0,e.index)+(f?e[1]+f:"")}};Cg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(e){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Gg=function(a){a.select()};vg?Gg=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:mg&&(Gg=function(a){try{a.select()}catch(b){}});var Hg=function(){this.id=null};Hg.prototype.set=function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)};var Ig,Jg,Kg=30,Lg={toString:function(){return"CodeMirror.Pass"}},Mg={scroll:!1},Ng={origin:"*mouse"},Og={origin:"+move"},Pg=[""],Qg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Rg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Sg=!1,Tg=!1,Ug=null,Vg=function(){function a(a){return a<=247?c.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1785?d.charAt(a-1536):1774<=a&&a<=2220?"r":8192<=a&&a<=8203?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/;return function(c,d){var j="ltr"==d?"L":"R";if(0==c.length||"ltr"==d&&!e.test(c))return!1;for(var k=c.length,l=[],m=0;m<k;++m)l.push(a(c.charCodeAt(m)));for(var n=0,o=j;n<k;++n){var q=l[n];"m"==q?l[n]=o:o=q}for(var r=0,s=j;r<k;++r){var t=l[r];"1"==t&&"r"==s?l[r]="n":g.test(t)&&(s=t,"r"==t&&(l[r]="R"))}for(var u=1,v=l[0];u<k-1;++u){var w=l[u];"+"==w&&"1"==v&&"1"==l[u+1]?l[u]="1":","!=w||v!=l[u+1]||"1"!=v&&"n"!=v||(l[u]=v),v=w}for(var x=0;x<k;++x){var y=l[x];if(","==y)l[x]="N";else if("%"==y){var z=void 0;for(z=x+1;z<k&&"%"==l[z];++z);for(var A=x&&"!"==l[x-1]||z<k&&"1"==l[z]?"1":"N",B=x;B<z;++B)l[B]=A;x=z-1}}for(var C=0,D=j;C<k;++C){var E=l[C];"L"==D&&"1"==E?l[C]="L":g.test(E)&&(D=E)}for(var F=0;F<k;++F)if(f.test(l[F])){var G=void 0;for(G=F+1;G<k&&f.test(l[G]);++G);for(var H="L"==(F?l[F-1]:j),I="L"==(G<k?l[G]:j),J=H==I?H?"L":"R":j,K=F;K<G;++K)l[K]=J;F=G-1}for(var L,M=[],N=0;N<k;)if(h.test(l[N])){var O=N;for(++N;N<k&&h.test(l[N]);++N);M.push(new b(0,O,N))}else{var P=N,Q=M.length;for(++N;N<k&&"L"!=l[N];++N);for(var R=P;R<N;)if(i.test(l[R])){P<R&&M.splice(Q,0,new b(1,P,R));var S=R;for(++R;R<N&&i.test(l[R]);++R);M.splice(Q,0,new b(2,S,R)),P=R}else++R;P<N&&M.splice(Q,0,new b(1,P,N))}return 1==M[0].level&&(L=c.match(/^\s+/))&&(M[0].from=L[0].length,M.unshift(new b(0,0,L[0].length))),1==p(M).level&&(L=c.match(/\s+$/))&&(p(M).to-=L[0].length,M.push(new b(0,k-L[0].length,k))),"rtl"==d?M.reverse():M}}(),Wg=[],Xg=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={});d[b]=(d[b]||Wg).concat(c)}},Yg=function(){if(mg&&ng<9)return!1;var a=d("div");return"draggable"in a||"dragDrop"in a}(),Zg=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);e==-1&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");g!=-1?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},$g=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){var b;try{b=a.ownerDocument.selection.createRange()}catch(c){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)},_g=function(){var a=d("div");return"oncopy"in a||(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)}(),ah=null,bh={},ch={},dh={},eh=function(a,b,c){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};eh.prototype.eol=function(){return this.pos>=this.string.length},eh.prototype.sol=function(){return this.pos==this.lineStart},eh.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},eh.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eh.prototype.eat=function(a){var b,c=this.string.charAt(this.pos);if(b="string"==typeof a?c==a:c&&(a.test?a.test(c):a(c)))return++this.pos,c},eh.prototype.eatWhile=function(a){for(var b=this.pos;this.eat(a););return this.pos>b},eh.prototype.eatSpace=function(){for(var a=this,b=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++a.pos;return this.pos>b},eh.prototype.skipToEnd=function(){this.pos=this.string.length},eh.prototype.skipTo=function(a){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},eh.prototype.backUp=function(a){this.pos-=a},eh.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=l(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},eh.prototype.indentation=function(){return l(this.string,null,this.tabSize)-(this.lineStart?l(this.string,this.lineStart,this.tabSize):0)},eh.prototype.match=function(a,b,c){if("string"!=typeof a){var d=this.string.slice(this.pos).match(a);return d&&d.index>0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);if(e(f)==e(a))return b!==!1&&(this.pos+=a.length),!0},eh.prototype.current=function(){return this.string.slice(this.start,this.pos)},eh.prototype.hideFirstChars=function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}},eh.prototype.lookAhead=function(a){var b=this.lineOracle;return b&&b.lookAhead(a)};var fh=function(a,b){this.state=a,this.lookAhead=b},gh=function(a,b,c,d){this.state=b,this.doc=a,this.line=c,this.maxLookAhead=d||0};gh.prototype.lookAhead=function(a){var b=this.doc.getLine(this.line+a);return null!=b&&a>this.maxLookAhead&&(this.maxLookAhead=a),b},gh.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},gh.fromSaved=function(a,b,c){return b instanceof fh?new gh(a,Xa(a.mode,b.state),c,b.lookAhead):new gh(a,Xa(a.mode,b),c)},gh.prototype.save=function(a){var b=a!==!1?Xa(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new fh(b,this.maxLookAhead):b};var hh=function(a,b,c){this.start=a.start,this.end=a.pos,this.string=a.current(),this.type=b||null,this.state=c},ih=function(a,b,c){this.text=a,da(this,b),this.height=c?c(this):1};ih.prototype.lineNo=function(){return F(this)},Ia(ih);var jh,kh={},lh={},mh=null,nh=null,oh={left:0,right:0,top:0,bottom:0},ph=function(a,b,c){this.cm=c;var e=this.vert=d("div",[d("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),f=this.horiz=d("div",[d("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(e),a(f),Xg(e,"scroll",function(){e.clientHeight&&b(e.scrollTop,"vertical")}),Xg(f,"scroll",function(){f.clientWidth&&b(f.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,mg&&ng<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};ph.prototype.update=function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0";var e=a.viewHeight-(b?d:0);this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+e)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(b){this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px";var f=a.viewWidth-a.barLeft-(c?d:0);this.horiz.firstChild.style.width=Math.max(0,a.scrollWidth-a.clientWidth+f)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&a.clientHeight>0&&(0==d&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?d:0,bottom:b?d:0}},ph.prototype.setScrollLeft=function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},ph.prototype.setScrollTop=function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},ph.prototype.zeroWidthHack=function(){var a=yg&&!tg?"12px":"18px";this.horiz.style.height=this.vert.style.width=a,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Hg,this.disableVert=new Hg},ph.prototype.enableZeroWidthBar=function(a,b,c){function d(){var e=a.getBoundingClientRect(),f="vert"==c?document.elementFromPoint(e.right-1,(e.top+e.bottom)/2):document.elementFromPoint((e.right+e.left)/2,e.bottom-1);f!=a?a.style.pointerEvents="none":b.set(1e3,d)}a.style.pointerEvents="auto",b.set(1e3,d)},ph.prototype.clear=function(){var a=this.horiz.parentNode;a.removeChild(this.horiz),a.removeChild(this.vert)};var qh=function(){};qh.prototype.update=function(){return{bottom:0,right:0}},qh.prototype.setScrollLeft=function(){},qh.prototype.setScrollTop=function(){},qh.prototype.clear=function(){};var rh={"native":ph,"null":qh},sh=0,th=function(a,b,c){var d=a.display;this.viewport=b,this.visible=Lc(d,a.doc,b),this.editorIsHidden=!d.wrapper.offsetWidth,this.wrapperHeight=d.wrapper.clientHeight,this.wrapperWidth=d.wrapper.clientWidth,this.oldDisplayWidth=Sb(a),this.force=c,this.dims=uc(a),this.events=[]};th.prototype.signal=function(a,b){Ha(a,b)&&this.events.push(arguments)},th.prototype.finish=function(){for(var a=this,b=0;b<this.events.length;b++)Ea.apply(null,a.events[b])};var uh=0,vh=null;mg?vh=-.53:ig?vh=15:qg?vh=-.7:sg&&(vh=-1/3);var wh=function(a,b){this.ranges=a,this.primIndex=b};wh.prototype.primary=function(){return this.ranges[this.primIndex]},wh.prototype.equals=function(a){var b=this;if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var c=0;c<this.ranges.length;c++){var d=b.ranges[c],e=a.ranges[c];if(!L(d.anchor,e.anchor)||!L(d.head,e.head))return!1}return!0},wh.prototype.deepCopy=function(){for(var a=this,b=[],c=0;c<this.ranges.length;c++)b[c]=new xh(M(a.ranges[c].anchor),M(a.ranges[c].head));return new wh(b,this.primIndex)},wh.prototype.somethingSelected=function(){for(var a=this,b=0;b<this.ranges.length;b++)if(!a.ranges[b].empty())return!0;return!1},wh.prototype.contains=function(a,b){var c=this;b||(b=a);for(var d=0;d<this.ranges.length;d++){var e=c.ranges[d];if(K(b,e.from())>=0&&K(a,e.to())<=0)return d}return-1};var xh=function(a,b){this.anchor=a,this.head=b};xh.prototype.from=function(){return O(this.anchor,this.head)},xh.prototype.to=function(){return N(this.anchor,this.head)},xh.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Ne.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=this,d=a,e=a+b;d<e;++d){var f=c.lines[d];c.height-=f.height,kb(f),yb(f,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){var d=this;this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var e=0;e<b.length;++e)b[e].parent=d},iterN:function(a,b,c){for(var d=this,e=a+b;a<e;++a)if(c(d.lines[a]))return!0}},Oe.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){var c=this;this.size-=b;for(var d=0;d<this.children.length;++d){var e=c.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.removeInner(a,g),c.height-=h-e.height,f==g&&(c.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Ne))){var i=[];this.collapse(i),this.children=[new Ne(i)],this.children[0].parent=this}},collapse:function(a){for(var b=this,c=0;c<this.children.length;++c)b.children[c].collapse(a)},insertInner:function(a,b,c){var d=this;this.size+=b.length,this.height+=c;for(var e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<=g){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(var h=f.lines.length%25+25,i=h;i<f.lines.length;){var j=new Ne(f.lines.slice(i,i+=25));f.height-=j.height,d.children.splice(++e,0,j),j.parent=d}f.lines=f.lines.slice(0,h),d.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Oe(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=m(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Oe(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=this,e=0;e<this.children.length;++e){var f=d.children[e],g=f.chunkSize();if(a<g){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var yh=function(a,b,c){var d=this;if(c)for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);this.doc=a,this.node=b};yh.prototype.clear=function(){var a=this,b=this.doc.cm,c=this.line.widgets,d=this.line,e=F(d);if(null!=e&&c){for(var f=0;f<c.length;++f)c[f]==a&&c.splice(f--,1);c.length||(d.widgets=null);var g=Mb(this);E(d,Math.max(0,d.height-g)),b&&(ld(b,function(){Pe(b,d,-g),qd(b,e,"widget")}),yb(b,"lineWidgetCleared",b,this,e))}},yh.prototype.changed=function(){var a=this,b=this.height,c=this.doc.cm,d=this.line;this.height=null;var e=Mb(this)-b;e&&(E(d,d.height+e),c&&ld(c,function(){c.curOp.forceUpdate=!0,Pe(c,d,e),yb(c,"lineWidgetChanged",c,a,F(d))}))},Ia(yh);var zh=0,Ah=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++zh};Ah.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){var b=this.doc.cm,c=b&&!b.curOp;if(c&&dd(b),Ha(this,"clear")){var d=this.find();d&&yb(this,"clear",d.from,d.to)}for(var e=null,f=null,g=0;g<this.lines.length;++g){var h=a.lines[g],i=W(h.markedSpans,a);b&&!a.collapsed?qd(b,F(h),"text"):b&&(null!=i.to&&(f=F(h)),null!=i.from&&(e=F(h))),h.markedSpans=X(h.markedSpans,i),null==i.from&&a.collapsed&&!qa(a.doc,h)&&b&&E(h,sc(b.display))}if(b&&this.collapsed&&!b.options.lineWrapping)for(var j=0;j<this.lines.length;++j){var k=la(a.lines[j]),l=ta(k);l>b.display.maxLineLength&&(b.display.maxLine=k,b.display.maxLineLength=l,b.display.maxLineChanged=!0)}null!=e&&b&&this.collapsed&&pd(b,e,f+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,b&&ve(b.doc)),b&&yb(b,"markerCleared",b,this,e,f),c&&ed(b),this.parent&&this.parent.clear()}},Ah.prototype.find=function(a,b){var c=this;null==a&&"bookmark"==this.type&&(a=1);for(var d,e,f=0;f<this.lines.length;++f){var g=c.lines[f],h=W(g.markedSpans,c);if(null!=h.from&&(d=J(b?g:F(g),h.from),a==-1))return d;if(null!=h.to&&(e=J(b?g:F(g),h.to),1==a))return e}return d&&{from:d,to:e}},Ah.prototype.changed=function(){var a=this,b=this.find(-1,!0),c=this,d=this.doc.cm;b&&d&&ld(d,function(){var e=b.line,f=F(b.line),g=Yb(d,f);if(g&&(dc(g),d.curOp.selectionChanged=d.curOp.forceUpdate=!0),d.curOp.updateMaxLine=!0,!qa(c.doc,e)&&null!=c.height){var h=c.height;c.height=null;var i=Mb(c)-h;i&&E(e,e.height+i)}yb(d,"markerChanged",d,a)})},Ah.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&m(b.maybeHiddenMarkers,this)!=-1||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},Ah.prototype.detachLine=function(a){if(this.lines.splice(m(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},Ia(Ah);var Bh=function(a,b){var c=this;this.markers=a,this.primary=b;for(var d=0;d<a.length;++d)a[d].parent=c};Bh.prototype.clear=function(){var a=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var b=0;b<this.markers.length;++b)a.markers[b].clear();yb(this,"clear")}},Bh.prototype.find=function(a,b){return this.primary.find(a,b)},Ia(Bh);var Ch=0,Dh=function(a,b,c,d,e){if(!(this instanceof Dh))return new Dh(a,b,c,d,e);null==c&&(c=0),Oe.call(this,[new Ne([new ih("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=c;var f=J(c,0);this.sel=Md(f),this.history=new $d(null),this.id=++Ch,this.modeOption=b,this.lineSep=d,this.direction="rtl"==e?"rtl":"ltr",this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Vd(this,{from:f,to:f,text:a}),se(this,Md(f),Mg)};Dh.prototype=t(Oe.prototype,{constructor:Dh,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=D(this,this.first,this.first+this.size);return a===!1?b:b.join(a||this.lineSeparator())},setValue:od(function(a){var b=J(this.first,0),c=this.first+this.size-1;Ce(this,{from:b,to:J(c,B(this,c).text.length),text:this.splitLines(a),origin:"setValue",full:!0},!0),this.cm&&Uc(this.cm,0,0),se(this,Md(b),Mg)}),replaceRange:function(a,b,c,d){b=Q(this,b),c=c?Q(this,c):b,Ie(this,a,b,c,d)},getRange:function(a,b,c){var d=C(this,Q(this,a),Q(this,b));return c===!1?d:d.join(c||this.lineSeparator())},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},getLineHandle:function(a){if(H(this,a))return B(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=B(this,a)),la(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Q(this,a)},getCursor:function(a){var b,c=this.sel.primary();return b=null==a||"head"==a?c.head:"anchor"==a?c.anchor:"end"==a||"to"==a||a===!1?c.to():c.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:od(function(a,b,c){pe(this,Q(this,"number"==typeof a?J(a,b||0):a),null,c)}),setSelection:od(function(a,b,c){pe(this,Q(this,a),Q(this,b||a),c)}),extendSelection:od(function(a,b,c){me(this,Q(this,a),b&&Q(this,b),c)}),extendSelections:od(function(a,b){ne(this,S(this,a),b)}),extendSelectionsBy:od(function(a,b){var c=q(this.sel.ranges,a);ne(this,S(this,c),b)}),setSelections:od(function(a,b,c){var d=this;if(a.length){for(var e=[],f=0;f<a.length;f++)e[f]=new xh(Q(d,a[f].anchor),Q(d,a[f].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex)),
5
+ se(this,Ld(e,b),c)}}),addSelection:od(function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new xh(Q(this,a),Q(this,b||a))),se(this,Ld(d,d.length-1),c)}),getSelection:function(a){for(var b,c=this,d=this.sel.ranges,e=0;e<d.length;e++){var f=C(c,d[e].from(),d[e].to());b=b?b.concat(f):f}return a===!1?b:b.join(a||this.lineSeparator())},getSelections:function(a){for(var b=this,c=[],d=this.sel.ranges,e=0;e<d.length;e++){var f=C(b,d[e].from(),d[e].to());a!==!1&&(f=f.join(a||b.lineSeparator())),c[e]=f}return c},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:od(function(a,b,c){for(var d=this,e=[],f=this.sel,g=0;g<f.ranges.length;g++){var h=f.ranges[g];e[g]={from:h.from(),to:h.to(),text:d.splitLines(a[g]),origin:c}}for(var i=b&&"end"!=b&&Rd(this,e,b),j=e.length-1;j>=0;j--)Ce(d,e[j]);i?re(this,i):this.cm&&Tc(this.cm)}),undo:od(function(){Ee(this,"undo")}),redo:od(function(){Ee(this,"redo")}),undoSelection:od(function(){Ee(this,"undo",!0)}),redoSelection:od(function(){Ee(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(var e=0;e<a.undone.length;e++)a.undone[e].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new $d(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){return a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:ke(this.history.done),undone:ke(this.history.undone)}},setHistory:function(a){var b=this.history=new $d(this.history.maxGeneration);b.done=ke(a.done.slice(0),null,!0),b.undone=ke(a.undone.slice(0),null,!0)},setGutterMarker:od(function(a,b,c){return Me(this,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&w(d)&&(a.gutterMarkers=null),!0})}),clearGutter:od(function(a){var b=this;this.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&Me(b,c,"gutter",function(){return c.gutterMarkers[a]=null,w(c.gutterMarkers)&&(c.gutterMarkers=null),!0})})}),lineInfo:function(a){var b;if("number"==typeof a){if(!H(this,a))return null;if(b=a,a=B(this,a),!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},addLineClass:od(function(b,c,d){return Me(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass";if(b[e]){if(a(d).test(b[e]))return!1;b[e]+=" "+d}else b[e]=d;return!0})}),removeLineClass:od(function(b,c,d){return Me(this,b,"gutter"==c?"gutter":"class",function(b){var e="text"==c?"textClass":"background"==c?"bgClass":"gutter"==c?"gutterClass":"wrapClass",f=b[e];if(!f)return!1;if(null==d)b[e]=null;else{var g=f.match(a(d));if(!g)return!1;var h=g.index+g[0].length;b[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}return!0})}),addLineWidget:od(function(a,b,c){return Qe(this,a,b,c)}),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Re(this,Q(this,a),Q(this,b),c,c&&c.type||"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};return a=Q(this,a),Re(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Q(this,a);var b=[],c=B(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=Q(this,a),b=Q(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,function(f){var g=f.markedSpans;if(g)for(var h=0;h<g.length;h++){var i=g[h];null!=i.to&&e==a.line&&a.ch>=i.to||null==i.from&&e!=a.line||null!=i.from&&e==b.line&&i.from>=b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e}),d},getAllMarks:function(){var a=[];return this.iter(function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)}),a},posFromIndex:function(a){var b,c=this.first,d=this.lineSeparator().length;return this.iter(function(e){var f=e.text.length+d;return f>a?(b=a,!0):(a-=f,void++c)}),Q(this,J(c,b))},indexFromPos:function(a){a=Q(this,a);var b=a.ch;if(a.line<this.first||a.ch<0)return 0;var c=this.lineSeparator().length;return this.iter(this.first,a.line,function(a){b+=a.text.length+c}),b},copy:function(a){var b=new Dh(D(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel=this.sel,b.extend=!1,a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new Dh(D(this,b,c),a.mode||this.modeOption,b,this.lineSep,this.direction);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],Ue(d,Te(this)),d},unlinkDoc:function(a){var b=this;if(a instanceof Of&&(a=a.doc),this.linked)for(var c=0;c<this.linked.length;++c){var d=b.linked[c];if(d.doc==a){b.linked.splice(c,1),a.unlinkDoc(b),Ve(Te(b));break}}if(a.history==this.history){var e=[a.id];Wd(a,function(a){return e.push(a.id)},!0),a.history=new $d(null),a.history.done=ke(this.history.done,e),a.history.undone=ke(this.history.undone,e)}},iterLinkedDocs:function(a){Wd(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(a){return this.lineSep?a.split(this.lineSep):Zg(a)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:od(function(a){"rtl"!=a&&(a="ltr"),a!=this.direction&&(this.direction=a,this.iter(function(a){return a.order=null}),this.cm&&Zd(this.cm))})}),Dh.prototype.eachLine=Dh.prototype.iter;for(var Eh=0,Fh=!1,Gh={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Hh=0;Hh<10;Hh++)Gh[Hh+48]=Gh[Hh+96]=String(Hh);for(var Ih=65;Ih<=90;Ih++)Gh[Ih]=String.fromCharCode(Ih);for(var Jh=1;Jh<=12;Jh++)Gh[Jh+111]=Gh[Jh+63235]="F"+Jh;var Kh={};Kh.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Kh.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Kh.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Kh.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Kh["default"]=yg?Kh.macDefault:Kh.pcDefault;var Lh={selectAll:Ae,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Mg)},killLine:function(a){return kf(a,function(b){if(b.empty()){var c=B(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:J(b.head.line+1,0)}:{from:b.head,to:J(b.head.line,c)}}return{from:b.from(),to:b.to()}})},deleteLine:function(a){return kf(a,function(b){return{from:J(b.from().line,0),to:Q(a.doc,J(b.to().line+1,0))}})},delLineLeft:function(a){return kf(a,function(a){return{from:J(a.from().line,0),to:a.from()}})},delWrappedLineLeft:function(a){return kf(a,function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return{from:d,to:b.from()}})},delWrappedLineRight:function(a){return kf(a,function(b){var c=a.charCoords(b.head,"div").top+5,d=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:d}})},undo:function(a){return a.undo()},redo:function(a){return a.redo()},undoSelection:function(a){return a.undoSelection()},redoSelection:function(a){return a.redoSelection()},goDocStart:function(a){return a.extendSelection(J(a.firstLine(),0))},goDocEnd:function(a){return a.extendSelection(J(a.lastLine()))},goLineStart:function(a){return a.extendSelectionsBy(function(b){return lf(a,b.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(a){return a.extendSelectionsBy(function(b){return nf(a,b.head)},{origin:"+move",bias:1})},goLineEnd:function(a){return a.extendSelectionsBy(function(b){return mf(a,b.head.line)},{origin:"+move",bias:-1})},goLineRight:function(a){return a.extendSelectionsBy(function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div")},Og)},goLineLeft:function(a){return a.extendSelectionsBy(function(b){var c=a.cursorCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:c},"div")},Og)},goLineLeftSmart:function(a){return a.extendSelectionsBy(function(b){var c=a.cursorCoords(b.head,"div").top+5,d=a.coordsChar({left:0,top:c},"div");return d.ch<a.getLine(d.line).search(/\S/)?nf(a,b.head):d},Og)},goLineUp:function(a){return a.moveV(-1,"line")},goLineDown:function(a){return a.moveV(1,"line")},goPageUp:function(a){return a.moveV(-1,"page")},goPageDown:function(a){return a.moveV(1,"page")},goCharLeft:function(a){return a.moveH(-1,"char")},goCharRight:function(a){return a.moveH(1,"char")},goColumnLeft:function(a){return a.moveH(-1,"column")},goColumnRight:function(a){return a.moveH(1,"column")},goWordLeft:function(a){return a.moveH(-1,"word")},goGroupRight:function(a){return a.moveH(1,"group")},goGroupLeft:function(a){return a.moveH(-1,"group")},goWordRight:function(a){return a.moveH(1,"word")},delCharBefore:function(a){return a.deleteH(-1,"char")},delCharAfter:function(a){return a.deleteH(1,"char")},delWordBefore:function(a){return a.deleteH(-1,"word")},delWordAfter:function(a){return a.deleteH(1,"word")},delGroupBefore:function(a){return a.deleteH(-1,"group")},delGroupAfter:function(a){return a.deleteH(1,"group")},indentAuto:function(a){return a.indentSelection("smart")},indentMore:function(a){return a.indentSelection("add")},indentLess:function(a){return a.indentSelection("subtract")},insertTab:function(a){return a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),g=l(a.getLine(f.line),f.ch,d);b.push(o(d-g%d))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){return ld(a,function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++)if(b[d].empty()){var e=b[d].head,f=B(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new J(e.line,e.ch-1)),e.ch>0)e=new J(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),J(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=B(a.doc,e.line-1).text;g&&(e=new J(e.line,1),a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),J(e.line-1,g.length-1),e,"+transpose"))}c.push(new xh(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){return ld(a,function(){for(var b=a.listSelections(),c=b.length-1;c>=0;c--)a.replaceRange(a.doc.lineSeparator(),b[c].anchor,b[c].head,"+input");b=a.listSelections();for(var d=0;d<b.length;d++)a.indentLine(b[d].from().line,null,!0);Tc(a)})},openLine:function(a){return a.replaceSelection("\n","start")},toggleOverwrite:function(a){return a.toggleOverwrite()}},Mh=new Hg,Nh=null,Oh=400,Ph=function(a,b,c){this.time=a,this.pos=b,this.button=c};Ph.prototype.compare=function(a,b,c){return this.time+Oh>a&&0==K(b,this.pos)&&c==this.button};var Qh,Rh,Sh={toString:function(){return"CodeMirror.Init"}},Th={},Uh={};Of.defaults=Th,Of.optionHandlers=Uh;var Vh=[];Of.defineInitHook=function(a){return Vh.push(a)};var Wh=null,Xh=function(a){var b=a.optionHandlers,c=a.helpers={};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,c){var d=this.options,e=d[a];d[a]==c&&"mode"!=a||(d[a]=c,b.hasOwnProperty(a)&&md(this,b[a])(this,c,e),Ea(this,"optionChange",this,a))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](jf(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:nd(function(b,c){var d=b.token?b:a.getMode(this.options,b);if(d.startState)throw new Error("Overlays may not be stateful.");r(this.state.overlays,{mode:d,modeSpec:b,opaque:c&&c.opaque,priority:c&&c.priority||0},function(a){return a.priority}),this.state.modeGen++,pd(this)}),removeOverlay:nd(function(a){for(var b=this,c=this.state.overlays,d=0;d<c.length;++d){var e=c[d].modeSpec;if(e==a||"string"==typeof a&&e.name==a)return c.splice(d,1),b.state.modeGen++,void pd(b)}}),indentLine:nd(function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),H(this.doc,a)&&Qf(this,a,b,c)}),indentSelection:nd(function(a){for(var b=this,c=this.doc.sel.ranges,d=-1,e=0;e<c.length;e++){var f=c[e];if(f.empty())f.head.line>d&&(Qf(b,f.head.line,a,!0),d=f.head.line,e==b.doc.sel.primIndex&&Tc(b));else{var g=f.from(),h=f.to(),i=Math.max(d,g.line);d=Math.min(b.lastLine(),h.line-(h.ch?0:1))+1;for(var j=i;j<d;++j)Qf(b,j,a);var k=b.doc.sel.ranges;0==g.ch&&c.length==k.length&&k[e].from().ch>0&&oe(b.doc,e,new xh(g,k[e].to()),Mg)}}}),getTokenAt:function(a,b){return eb(this,a,b)},getLineTokens:function(a,b){return eb(this,J(a),b,!0)},getTokenTypeAt:function(a){a=Q(this.doc,a);var b,c=_a(this,B(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]<f)){b=c[2*g+2];break}d=g+1}}var h=b?b.indexOf("overlay "):-1;return h<0?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var d=this,e=[];if(!c.hasOwnProperty(b))return e;var f=c[b],g=this.getModeAt(a);if("string"==typeof g[b])f[g[b]]&&e.push(f[g[b]]);else if(g[b])for(var h=0;h<g[b].length;h++){var i=f[g[b][h]];i&&e.push(i)}else g.helperType&&f[g.helperType]?e.push(f[g.helperType]):f[g.name]&&e.push(f[g.name]);for(var j=0;j<f._global.length;j++){var k=f._global[j];k.pred(g,d)&&m(e,k.val)==-1&&e.push(k.val)}return e},getStateAfter:function(a,b){var c=this.doc;return a=P(c,null==a?c.first+c.size-1:a),ab(this,a+1,b).state},cursorCoords:function(a,b){var c,d=this.doc.sel.primary();return c=null==a?d.head:"object"==typeof a?Q(this.doc,a):a?d.from():d.to(),lc(this,c,b||"page")},charCoords:function(a,b){return kc(this,Q(this.doc,a),b||"page")},coordsChar:function(a,b){return a=jc(this,a,b||"page"),oc(this,a.left,a.top)},lineAtHeight:function(a,b){return a=jc(this,{top:a,left:0},b||"page").top,G(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b,c){var d,e=!1;if("number"==typeof a){var f=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>f&&(a=f,e=!0),d=B(this.doc,a)}else d=a;return ic(this,d,{top:0,left:0},b||"page",c||e).top+(e?this.doc.height-sa(d):0)},defaultTextHeight:function(){return sc(this.display)},defaultCharWidth:function(){return tc(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=lc(this,Q(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Qc(this,{left:h,top:g,right:h+b.offsetWidth,bottom:g+b.offsetHeight})},triggerOnKeyDown:nd(tf),triggerOnKeyPress:nd(wf),triggerOnKeyUp:vf,triggerOnMouseDown:nd(yf),execCommand:function(a){if(Lh.hasOwnProperty(a))return Lh[a].call(null,this)},triggerElectric:nd(function(a){Uf(this,a)}),findPosH:function(a,b,c,d){var e=this,f=1;b<0&&(f=-1,b=-b);for(var g=Q(this.doc,a),h=0;h<b&&(g=Yf(e.doc,g,f,c,d),!g.hitSide);++h);return g},moveH:nd(function(a,b){var c=this;this.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?Yf(c.doc,d.head,a,b,c.options.rtlMoveVisually):a<0?d.from():d.to()},Og)}),deleteH:nd(function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):kf(this,function(c){var e=Yf(d,c.head,a,b,!1);return a<0?{from:e,to:c.head}:{from:c.head,to:e}})}),findPosV:function(a,b,c,d){var e=this,f=1,g=d;b<0&&(f=-1,b=-b);for(var h=Q(this.doc,a),i=0;i<b;++i){var j=lc(e,h,"div");if(null==g?g=j.left:j.left=g,h=Zf(e,j,f,c),h.hitSide)break}return h},moveV:nd(function(a,b){var c=this,d=this.doc,e=[],f=!this.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy(function(g){if(f)return a<0?g.from():g.to();var h=lc(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=Zf(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Sc(c,kc(c,i,"div").top-h.top),i},Og),e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]}),findWordAt:function(a){var b=this.doc,c=B(b,a.line).text,d=a.ch,e=a.ch;if(c){var f=this.getHelper(a,"wordChars");"before"!=a.sticky&&e!=c.length||!d?++e:--d;for(var g=c.charAt(d),h=v(g,f)?function(a){return v(a,f)}:/\s/.test(g)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!v(a)};d>0&&h(c.charAt(d-1));)--d;for(;e<c.length&&h(c.charAt(e));)++e}return new xh(J(a.line,d),J(a.line,e))},toggleOverwrite:function(a){null!=a&&a==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?h(this.display.cursorDiv,"CodeMirror-overwrite"):Fg(this.display.cursorDiv,"CodeMirror-overwrite"),Ea(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==g()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:nd(function(a,b){Uc(this,a,b)}),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-Rb(this)-this.display.barHeight,width:a.scrollWidth-Rb(this)-this.display.barWidth,clientHeight:Tb(this),clientWidth:Sb(this)}},scrollIntoView:nd(function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:J(a,0),to:null}:null==a.from&&(a={from:a,to:null}),a.to||(a.to=a.from),a.margin=b||0,null!=a.from.line?Vc(this,a):Xc(this,a.from,a.to,a.margin)}),setSize:nd(function(a,b){var c=this,d=function(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a};null!=a&&(this.display.wrapper.style.width=d(a)),null!=b&&(this.display.wrapper.style.height=d(b)),this.options.lineWrapping&&ec(this);var e=this.display.viewFrom;this.doc.iter(e,this.display.viewTo,function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){qd(c,e,"widget");break}++e}),this.curOp.forceUpdate=!0,Ea(this,"refresh",this)}),operation:function(a){return ld(this,a)},startOperation:function(){return dd(this)},endOperation:function(){return ed(this)},refresh:nd(function(){var a=this.display.cachedTextHeight;pd(this),this.curOp.forceUpdate=!0,fc(this),Uc(this,this.doc.scrollLeft,this.doc.scrollTop),Ed(this),(null==a||Math.abs(a-sc(this.display))>.5)&&xc(this),Ea(this,"refresh",this)}),swapDoc:nd(function(a){var b=this.doc;return b.cm=null,Xd(this,a),fc(this),this.display.input.reset(),Uc(this,a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,yb(this,"swapDoc",this,b),b}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ia(a),a.registerHelper=function(b,d,e){c.hasOwnProperty(b)||(c[b]=a[b]={_global:[]}),c[b][d]=e},a.registerGlobalHelper=function(b,d,e,f){a.registerHelper(b,d,f),c[b]._global.push({pred:e,val:f})}},Yh=function(a){this.cm=a,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Hg,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Yh.prototype.init=function(a){function b(a){if(!Fa(e,a)){if(e.somethingSelected())Rf({lineWise:!1,text:e.getSelections()}),"cut"==a.type&&e.replaceSelection("",null,"cut");else{if(!e.options.lineWiseCopyCut)return;var b=Vf(e);Rf({lineWise:!0,text:b.text}),"cut"==a.type&&e.operation(function(){e.setSelections(b.ranges,0,Mg),e.replaceSelection("",null,"cut")})}if(a.clipboardData){a.clipboardData.clearData();var c=Wh.text.join("\n");if(a.clipboardData.setData("Text",c),a.clipboardData.getData("Text")==c)return void a.preventDefault()}var g=Xf(),h=g.firstChild;e.display.lineSpace.insertBefore(g,e.display.lineSpace.firstChild),h.value=Wh.text.join("\n");var i=document.activeElement;Gg(h),setTimeout(function(){e.display.lineSpace.removeChild(g),i.focus(),i==f&&d.showPrimarySelection()},50)}}var c=this,d=this,e=d.cm,f=d.div=a.lineDiv;Wf(f,e.options.spellcheck),Xg(f,"paste",function(a){Fa(e,a)||Tf(a,e)||ng<=11&&setTimeout(md(e,function(){return c.updateFromDOM()}),20)}),Xg(f,"compositionstart",function(a){c.composing={data:a.data,done:!1}}),Xg(f,"compositionupdate",function(a){c.composing||(c.composing={data:a.data,done:!1})}),Xg(f,"compositionend",function(a){c.composing&&(a.data!=c.composing.data&&c.readFromDOMSoon(),c.composing.done=!0)}),Xg(f,"touchstart",function(){return d.forceCompositionEnd()}),Xg(f,"input",function(){c.composing||c.readFromDOMSoon()}),Xg(f,"copy",b),Xg(f,"cut",b)},Yh.prototype.prepareSelection=function(){var a=Bc(this.cm,!1);return a.focus=this.cm.state.focused,a},Yh.prototype.showSelection=function(a,b){a&&this.cm.display.view.length&&((a.focus||b)&&this.showPrimarySelection(),this.showMultipleSelections(a))},Yh.prototype.showPrimarySelection=function(){var a=window.getSelection(),b=this.cm,c=b.doc.sel.primary(),d=c.from(),e=c.to();if(b.display.viewTo==b.display.viewFrom||d.line>=b.display.viewTo||e.line<b.display.viewFrom)return void a.removeAllRanges();var f=cg(b,a.anchorNode,a.anchorOffset),g=cg(b,a.focusNode,a.focusOffset);if(!f||f.bad||!g||g.bad||0!=K(O(f,g),d)||0!=K(N(f,g),e)){var h=b.display.view,i=d.line>=b.display.viewFrom&&$f(b,d)||{node:h[0].measure.map[2],offset:0},j=e.line<b.display.viewTo&&$f(b,e);if(!j){var k=h[h.length-1].measure,l=k.maps?k.maps[k.maps.length-1]:k.map;j={node:l[l.length-1],offset:l[l.length-2]-l[l.length-3]}}if(!i||!j)return void a.removeAllRanges();var m,n=a.rangeCount&&a.getRangeAt(0);try{m=Cg(i.node,i.offset,j.offset,j.node)}catch(o){}m&&(!ig&&b.state.focused?(a.collapse(i.node,i.offset),m.collapsed||(a.removeAllRanges(),a.addRange(m))):(a.removeAllRanges(),a.addRange(m)),n&&null==a.anchorNode?a.addRange(n):ig&&this.startGracePeriod()),this.rememberSelection()}},Yh.prototype.startGracePeriod=function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation(function(){return a.cm.curOp.selectionChanged=!0})},20)},Yh.prototype.showMultipleSelections=function(a){c(this.cm.display.cursorDiv,a.cursors),c(this.cm.display.selectionDiv,a.selection)},Yh.prototype.rememberSelection=function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},Yh.prototype.selectionInEditor=function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return f(this.div,b)},Yh.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Yh.prototype.blur=function(){this.div.blur()},Yh.prototype.getField=function(){return this.div},Yh.prototype.supportsTouch=function(){return!0},Yh.prototype.receivedFocus=function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():ld(this.cm,function(){return b.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,a)},Yh.prototype.selectionChanged=function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},Yh.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;if(wg&&qg&&this.cm.options.gutters.length&&_f(a.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var c=cg(b,a.anchorNode,a.anchorOffset),d=cg(b,a.focusNode,a.focusOffset);c&&d&&ld(b,function(){se(b.doc,Md(c,d),Mg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)})}}},Yh.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(0==d.ch&&d.line>a.firstLine()&&(d=J(d.line-1,B(a.doc,d.line-1).length)),e.ch==B(a.doc,e.line).text.length&&e.line<a.lastLine()&&(e=J(e.line+1,0)),d.line<b.viewFrom||e.line>b.viewTo-1)return!1;var f,g,h;d.line==b.viewFrom||0==(f=zc(a,d.line))?(g=F(b.view[0].line),h=b.view[0].node):(g=F(b.view[f].line),h=b.view[f-1].node.nextSibling);var i,j,k=zc(a,e.line);if(k==b.view.length-1?(i=b.viewTo-1,j=b.lineDiv.lastChild):(i=F(b.view[k+1].line)-1,j=b.view[k+1].node.previousSibling),!h)return!1;for(var l=a.doc.splitLines(bg(a,h,j,g,i)),m=C(a.doc,J(g,0),J(i,B(a.doc,i).text.length));l.length>1&&m.length>1;)if(p(l)==p(m))l.pop(),m.pop(),i--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,q=l[0],r=m[0],s=Math.min(q.length,r.length);n<s&&q.charCodeAt(n)==r.charCodeAt(n);)++n;for(var t=p(l),u=p(m),v=Math.min(t.length-(1==l.length?n:0),u.length-(1==m.length?n:0));o<v&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)++o;if(1==l.length&&1==m.length&&g==d.line)for(;n&&n>d.ch&&t.charCodeAt(t.length-o-1)==u.charCodeAt(u.length-o-1);)n--,o++;l[l.length-1]=t.slice(0,t.length-o).replace(/^\u200b+/,""),l[0]=l[0].slice(n).replace(/\u200b+$/,"");var w=J(g,n),x=J(i,m.length?p(m).length-o:0);return l.length>1||l[0]||K(w,x)?(Ie(a.doc,l,w,x,"+input"),!0):void 0},Yh.prototype.ensurePolled=function(){this.forceCompositionEnd()},Yh.prototype.reset=function(){this.forceCompositionEnd()},Yh.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Yh.prototype.readFromDOMSoon=function(){var a=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(a.readDOMTimeout=null,a.composing){if(!a.composing.done)return;a.composing=null}a.updateFromDOM()},80))},Yh.prototype.updateFromDOM=function(){var a=this;!this.cm.isReadOnly()&&this.pollContent()||ld(this.cm,function(){return pd(a.cm)})},Yh.prototype.setUneditable=function(a){a.contentEditable="false"},Yh.prototype.onKeyPress=function(a){0!=a.charCode&&(a.preventDefault(),this.cm.isReadOnly()||md(this.cm,Sf)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0))},Yh.prototype.readOnlyChanged=function(a){this.div.contentEditable=String("nocursor"!=a)},Yh.prototype.onContextMenu=function(){},Yh.prototype.resetPosition=function(){},Yh.prototype.needsContentAttribute=!0;var Zh=function(a){this.cm=a,this.prevInput="",this.pollingFast=!1,this.polling=new Hg,this.hasSelection=!1,this.composing=null};Zh.prototype.init=function(a){function b(a){if(!Fa(e,a)){if(e.somethingSelected())Rf({lineWise:!1,text:e.getSelections()});else{if(!e.options.lineWiseCopyCut)return;var b=Vf(e);Rf({lineWise:!0,text:b.text}),"cut"==a.type?e.setSelections(b.ranges,null,Mg):(d.prevInput="",g.value=b.text.join("\n"),Gg(g))}"cut"==a.type&&(e.state.cutIncoming=!0)}}var c=this,d=this,e=this.cm,f=this.wrapper=Xf(),g=this.textarea=f.firstChild;a.wrapper.insertBefore(f,a.wrapper.firstChild),vg&&(g.style.width="0px"),Xg(g,"input",function(){mg&&ng>=9&&c.hasSelection&&(c.hasSelection=null),d.poll()}),Xg(g,"paste",function(a){Fa(e,a)||Tf(a,e)||(e.state.pasteIncoming=!0,d.fastPoll())}),Xg(g,"cut",b),Xg(g,"copy",b),Xg(a.scroller,"paste",function(b){Nb(a,b)||Fa(e,b)||(e.state.pasteIncoming=!0,d.focus())}),Xg(a.lineSpace,"selectstart",function(b){Nb(a,b)||Ja(b)}),Xg(g,"compositionstart",function(){var a=e.getCursor("from");d.composing&&d.composing.range.clear(),d.composing={start:a,range:e.markText(a,e.getCursor("to"),{className:"CodeMirror-composing"})}}),Xg(g,"compositionend",function(){d.composing&&(d.poll(),d.composing.range.clear(),d.composing=null)})},Zh.prototype.prepareSelection=function(){var a=this.cm,b=a.display,c=a.doc,d=Bc(a);if(a.options.moveInputWithCursor){var e=lc(a,c.sel.primary().head,"div"),f=b.wrapper.getBoundingClientRect(),g=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,e.top+g.top-f.top)),d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,e.left+g.left-f.left));
6
+ }return d},Zh.prototype.showSelection=function(a){var b=this.cm,d=b.display;c(d.cursorDiv,a.cursors),c(d.selectionDiv,a.selection),null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left=a.teLeft+"px")},Zh.prototype.reset=function(a){if(!this.contextMenuPending&&!this.composing){var b=this.cm;if(b.somethingSelected()){this.prevInput="";var c=b.getSelection();this.textarea.value=c,b.state.focused&&Gg(this.textarea),mg&&ng>=9&&(this.hasSelection=c)}else a||(this.prevInput=this.textarea.value="",mg&&ng>=9&&(this.hasSelection=null))}},Zh.prototype.getField=function(){return this.textarea},Zh.prototype.supportsTouch=function(){return!1},Zh.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!xg||g()!=this.textarea))try{this.textarea.focus()}catch(a){}},Zh.prototype.blur=function(){this.textarea.blur()},Zh.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Zh.prototype.receivedFocus=function(){this.slowPoll()},Zh.prototype.slowPoll=function(){var a=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){a.poll(),a.cm.state.focused&&a.slowPoll()})},Zh.prototype.fastPoll=function(){function a(){var d=c.poll();d||b?(c.pollingFast=!1,c.slowPoll()):(b=!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0,c.polling.set(20,a)},Zh.prototype.poll=function(){var a=this,b=this.cm,c=this.textarea,d=this.prevInput;if(this.contextMenuPending||!b.state.focused||$g(c)&&!d&&!this.composing||b.isReadOnly()||b.options.disableInput||b.state.keySeq)return!1;var e=c.value;if(e==d&&!b.somethingSelected())return!1;if(mg&&ng>=9&&this.hasSelection===e||yg&&/[\uf700-\uf7ff]/.test(e))return b.display.input.reset(),!1;if(b.doc.sel==b.display.selForContextMenu){var f=e.charCodeAt(0);if(8203!=f||d||(d="​"),8666==f)return this.reset(),this.cm.execCommand("undo")}for(var g=0,h=Math.min(d.length,e.length);g<h&&d.charCodeAt(g)==e.charCodeAt(g);)++g;return ld(b,function(){Sf(b,e.slice(g),d.length-g,null,a.composing?"*compose":null),e.length>1e3||e.indexOf("\n")>-1?c.value=a.prevInput="":a.prevInput=e,a.composing&&(a.composing.range.clear(),a.composing.range=b.markText(a.composing.start,b.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Zh.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Zh.prototype.onKeyPress=function(){mg&&ng>=9&&(this.hasSelection=null),this.fastPoll()},Zh.prototype.onContextMenu=function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚",g.value=b,d.prevInput=a?"":"​",g.selectionStart=1,g.selectionEnd=b.length,f.selForContextMenu=e.doc.sel}}function c(){if(d.contextMenuPending=!1,d.wrapper.style.cssText=l,g.style.cssText=k,mg&&ng<9&&f.scrollbars.setScrollTop(f.scroller.scrollTop=i),null!=g.selectionStart){(!mg||mg&&ng<9)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&g.selectionEnd>0&&"​"==d.prevInput?md(e,Ae)(e):a++<10?f.detectingSelectAll=setTimeout(c,500):(f.selForContextMenu=null,f.input.reset())};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=yc(e,a),i=f.scroller.scrollTop;if(h&&!rg){var j=e.options.resetSelectionOnContextMenu;j&&e.doc.sel.contains(h)==-1&&md(e,se)(e.doc,Md(h),Mg);var k=g.style.cssText,l=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";var m=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(a.clientY-m.top-5)+"px; left: "+(a.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(mg?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var n;if(og&&(n=window.scrollY),f.input.focus(),og&&window.scrollTo(null,n),f.input.reset(),e.somethingSelected()||(g.value=d.prevInput=" "),d.contextMenuPending=!0,f.selForContextMenu=e.doc.sel,clearTimeout(f.detectingSelectAll),mg&&ng>=9&&b(),Eg){Ma(a);var o=function(){Da(window,"mouseup",o),setTimeout(c,20)};Xg(window,"mouseup",o)}else setTimeout(c,50)}},Zh.prototype.readOnlyChanged=function(a){a||this.reset(),this.textarea.disabled="nocursor"==a},Zh.prototype.setUneditable=function(){},Zh.prototype.needsContentAttribute=!1,Kf(Of),Xh(Of);var $h="iter insert remove copy getEditor constructor".split(" ");for(var _h in Dh.prototype)Dh.prototype.hasOwnProperty(_h)&&m($h,_h)<0&&(Of.prototype[_h]=function(a){return function(){return a.apply(this.doc,arguments)}}(Dh.prototype[_h]));return Ia(Dh),Of.inputStyles={textarea:Zh,contenteditable:Yh},Of.defineMode=function(a){Of.defaults.mode||"null"==a||(Of.defaults.mode=a),Sa.apply(this,arguments)},Of.defineMIME=Ta,Of.defineMode("null",function(){return{token:function(a){return a.skipToEnd()}}}),Of.defineMIME("text/plain","null"),Of.defineExtension=function(a,b){Of.prototype[a]=b},Of.defineDocExtension=function(a,b){Dh.prototype[a]=b},Of.fromTextArea=eg,fg(Of),Of.version="5.29.0",Of}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";function b(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.info=d,this.align=e,this.prev=f}function c(a,c,d,e){var f=a.indented;return a.context&&"statement"==a.context.type&&"statement"!=d&&(f=a.context.indented),a.context=new b(f,c,d,e,null,a.context)}function d(a){var b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}function e(a,b,c){return"variable"==b.prevToken||"type"==b.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(a.string.slice(0,c))||(!(!b.typeAtEndOfLine||a.column()!=a.indentation())||void 0))}function f(a){for(;;){if(!a||"top"==a.type)return!0;if("}"==a.type&&"namespace"!=a.prev.info)return!1;a=a.prev}}function g(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function h(a,b){return"function"==typeof a?a(b):a.propertyIsEnumerable(b)}function i(a,b){if(!b.startOfLine)return!1;for(var c,d=null;c=a.peek();){if("\\"==c&&a.match(/^.$/)){d=i;break}if("/"==c&&a.match(/^\/[\/\*]/,!1))break;a.next()}return b.tokenize=d,"meta"}function j(a,b){return"type"==b.prevToken&&"type"}function k(a){return a.eatWhile(/[\w\.']/),"number"}function l(a,b){if(a.backUp(1),a.match(/(R|u8R|uR|UR|LR)/)){var c=a.match(/"([^\s\\()]{0,16})\(/);return!!c&&(b.cpp11RawStringDelim=c[1],b.tokenize=o,o(a,b))}return a.match(/(u8|u|U|L)/)?!!a.match(/["']/,!1)&&"string":(a.next(),!1)}function m(a){var b=/(\w+)::~?(\w+)$/.exec(a);return b&&b[1]==b[2]}function n(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function o(a,b){var c=b.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),d=a.match(new RegExp(".*?\\)"+c+'"'));return d?b.tokenize=null:a.skipToEnd(),"string"}function p(b,c){function d(a){if(a)for(var b in a)a.hasOwnProperty(b)&&e.push(b)}"string"==typeof b&&(b=[b]);var e=[];d(c.keywords),d(c.types),d(c.builtin),d(c.atoms),e.length&&(c.helperType=b[0],a.registerHelper("hintWords",b[0],e));for(var f=0;f<b.length;++f)a.defineMIME(b[f],c)}function q(a,b){for(var c=!1;!a.eol();){if(!c&&a.match('"""')){b.tokenize=null;break}c="\\"==a.next()&&!c}return"string"}function r(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!a&&!e&&b.match('"')){f=!0;break}if(a&&b.match('"""')){f=!0;break}d=b.next(),!e&&"$"==d&&b.match("{")&&b.skipTo("}"),e=!e&&"\\"==d&&!a}return!f&&a||(c.tokenize=null),"string"}}function s(a){return function(b,c){for(var d,e=!1,f=!1;!b.eol();){if(!e&&b.match('"')&&("single"==a||b.match('""'))){f=!0;break}if(!e&&b.match("``")){v=s(a),f=!0;break}d=b.next(),e="single"==a&&!e&&"\\"==d}return f&&(c.tokenize=null),"string"}}a.defineMode("clike",function(g,i){function j(a,b){var c=a.next();if(y[c]){var d=y[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=k(c),b.tokenize(a,b);if(D.test(c))return n=c,null;if(E.test(c)){if(a.backUp(1),a.match(F))return"number";a.next()}if("/"==c){if(a.eat("*"))return b.tokenize=l,l(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(G.test(c)){for(;!a.match(/^\/[\/*]/,!1)&&a.eat(G););return"operator"}if(a.eatWhile(H),C)for(;a.match(C);)a.eatWhile(H);var e=a.current();return h(s,e)?(h(v,e)&&(n="newstatement"),h(w,e)&&(o=!0),"keyword"):h(t,e)?"type":h(u,e)?(h(v,e)&&(n="newstatement"),"builtin"):h(x,e)?"atom":"variable"}function k(a){return function(b,c){for(var d,e=!1,f=!1;null!=(d=b.next());){if(d==a&&!e){f=!0;break}e=!e&&"\\"==d}return(f||!e&&!z)&&(c.tokenize=null),"string"}}function l(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=null;break}d="*"==c}return"comment"}function m(a,b){i.typeFirstDefinitions&&a.eol()&&f(b.context)&&(b.typeAtEndOfLine=e(a,b,a.pos))}var n,o,p=g.indentUnit,q=i.statementIndentUnit||p,r=i.dontAlignCalls,s=i.keywords||{},t=i.types||{},u=i.builtin||{},v=i.blockKeywords||{},w=i.defKeywords||{},x=i.atoms||{},y=i.hooks||{},z=i.multiLineStrings,A=i.indentStatements!==!1,B=i.indentSwitch!==!1,C=i.namespaceSeparator,D=i.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=i.numberStart||/[\d\.]/,F=i.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,G=i.isOperatorChar||/[+\-*&%=<>!?|\/]/,H=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/;return{startState:function(a){return{tokenize:null,context:new b((a||0)-p,0,"top",null,(!1)),indented:0,startOfLine:!0,prevToken:null}},token:function(a,b){var g=b.context;if(a.sol()&&(null==g.align&&(g.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return m(a,b),null;n=o=null;var h=(b.tokenize||j)(a,b);if("comment"==h||"meta"==h)return h;if(null==g.align&&(g.align=!0),";"==n||":"==n||","==n&&a.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==b.context.type;)d(b);else if("{"==n)c(b,a.column(),"}");else if("["==n)c(b,a.column(),"]");else if("("==n)c(b,a.column(),")");else if("}"==n){for(;"statement"==g.type;)g=d(b);for("}"==g.type&&(g=d(b));"statement"==g.type;)g=d(b)}else n==g.type?d(b):A&&(("}"==g.type||"top"==g.type)&&";"!=n||"statement"==g.type&&"newstatement"==n)&&c(b,a.column(),"statement",a.current());if("variable"==h&&("def"==b.prevToken||i.typeFirstDefinitions&&e(a,b,a.start)&&f(b.context)&&a.match(/^\s*\(/,!1))&&(h="def"),y.token){var k=y.token(a,b,h);void 0!==k&&(h=k)}return"def"==h&&i.styleDefs===!1&&(h="variable"),b.startOfLine=!1,b.prevToken=o?"def":h||n,m(a,b),h},indent:function(b,c){if(b.tokenize!=j&&null!=b.tokenize||b.typeAtEndOfLine)return a.Pass;var d=b.context,e=c&&c.charAt(0);if("statement"==d.type&&"}"==e&&(d=d.prev),i.dontIndentStatements)for(;"statement"==d.type&&i.dontIndentStatements.test(d.info);)d=d.prev;if(y.indent){var f=y.indent(b,d,c);if("number"==typeof f)return f}var g=e==d.type,h=d.prev&&"switch"==d.prev.info;if(i.allmanIndentation&&/[{(]/.test(e)){for(;"top"!=d.type&&"}"!=d.type;)d=d.prev;return d.indented}return"statement"==d.type?d.indented+("{"==e?0:q):!d.align||r&&")"==d.type?")"!=d.type||g?d.indented+(g?0:p)+(g||!h||/^(?:case|default)\b/.test(c)?0:p):d.indented+q:d.column+(g?0:1)},electricInput:B?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}});var t="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile",u="int long char short double float unsigned signed void size_t ptrdiff_t";p(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:g(t),types:g(u+" bool _Complex _Bool float_t double_t intptr_t intmax_t int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t uint32_t uint64_t"),blockKeywords:g("case do else for if switch while struct"),defKeywords:g("struct"),typeFirstDefinitions:!0,atoms:g("null true false"),hooks:{"#":i,"*":j},modeProps:{fold:["brace","include"]}}),p(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:g(t+" asm dynamic_cast namespace reinterpret_cast try explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),types:g(u+" bool wchar_t"),blockKeywords:g("catch class do else finally for if struct switch try while"),defKeywords:g("class namespace struct enum union"),typeFirstDefinitions:!0,atoms:g("true false null"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,hooks:{"#":i,"*":j,u:l,U:l,L:l,R:l,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(a,b,c){if("variable"==c&&"("==a.peek()&&(";"==b.prevToken||null==b.prevToken||"}"==b.prevToken)&&m(a.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),p("text/x-java",{name:"clike",keywords:g("abstract assert break case catch class const continue default do else enum extends final finally float for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:g("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:g("catch class do else finally for if switch try while"),defKeywords:g("class interface package enum @interface"),typeFirstDefinitions:!0,atoms:g("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(a){return!a.match("interface",!1)&&(a.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),p("text/x-csharp",{name:"clike",keywords:g("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:g("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:g("catch class do else finally for foreach if struct switch try while"),defKeywords:g("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=n,n(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),p("text/x-scala",{name:"clike",keywords:g("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:g("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:g("catch class enum do else finally for forSome if match switch try while"),defKeywords:g("class enum def object package trait type val var"),atoms:g("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return!!a.match('""')&&(b.tokenize=q,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(a,c){var d=c.context;return!("}"!=d.type||!d.align||!a.eat(">"))&&(c.context=new b(d.indented,d.column,d.type,d.info,null,d.prev),"operator")}},modeProps:{closeBrackets:{triples:'"'}}}),p("text/x-kotlin",{name:"clike",keywords:g("package as typealias class interface this super val var fun for is in This throw return break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend"),types:g("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:g("catch class do else finally for if where try while enum"),defKeywords:g("class val var object package interface fun"),atoms:g("true false null this"),hooks:{'"':function(a,b){return b.tokenize=r(a.match('""')),b.tokenize(a,b)}},modeProps:{closeBrackets:{triples:'"'}}}),p(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:g("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:g("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:g("for while do if else struct"),builtin:g("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:g("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-nesc",{name:"clike",keywords:g(t+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:g(u),blockKeywords:g("case do else for if switch while struct"),atoms:g("null true false"),hooks:{"#":i},modeProps:{fold:["brace","include"]}}),p("text/x-objectivec",{name:"clike",keywords:g(t+"inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),types:g(u),atoms:g("YES NO NULL NILL ON OFF true false"),hooks:{"@":function(a){return a.eatWhile(/[\w\$]/),"keyword"},"#":i,indent:function(a,b,c){if("statement"==b.type&&/^@\w/.test(c))return b.indented}},modeProps:{fold:"brace"}}),p("text/x-squirrel",{name:"clike",keywords:g("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:g(u),blockKeywords:g("case catch class else for foreach if switch try while"),defKeywords:g("function local class"),typeFirstDefinitions:!0,atoms:g("true false null"),hooks:{"#":i},modeProps:{fold:["brace","include"]}});var v=null;p("text/x-ceylon",{name:"clike",keywords:g("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(a){var b=a.charAt(0);return b===b.toUpperCase()&&b!==b.toLowerCase()},blockKeywords:g("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:g("class dynamic function interface module object package value"),builtin:g("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:g("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"},'"':function(a,b){return b.tokenize=s(a.match('""')?"triple":"single"),b.tokenize(a,b)},"`":function(a,b){return!(!v||!a.match("`"))&&(b.tokenize=v,v=null,b.tokenize(a,b))},"'":function(a){return a.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(a,b,c){if(("variable"==c||"type"==c)&&"."==b.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],a):a(CodeMirror)}(function(a){"use strict";function b(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function c(a,b,e){return 0==a.length?d(b):function(f,g){for(var h=a[0],i=0;i<h.length;i++)if(f.match(h[i][0]))return g.tokenize=c(a.slice(1),b),h[i][1];return g.tokenize=d(b,e),"string"}}function d(a,b){return function(c,d){return e(c,d,a,b)}}function e(a,b,d,e){if(e!==!1&&a.match("${",!1)||a.match("{$",!1))return b.tokenize=null,"string";if(e!==!1&&a.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return a.match("[",!1)&&(b.tokenize=c([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],d,e)),a.match(/\-\>\w/,!1)&&(b.tokenize=c([[["->",null]],[[/[\w]+/,"variable"]]],d,e)),"variable-2";for(var f=!1;!a.eol()&&(f||e===!1||!a.match("{$",!1)&&!a.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!f&&a.match(d)){b.tokenize=null,b.tokStack.pop(),b.tokStack.pop();break}f="\\"==a.next()&&!f}return"string"}var f="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",g="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",h="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";
7
+ a.registerHelper("hintWords","php",[f,g,h].join(" ").split(" ")),a.registerHelper("wordChars","php",/[\w$]/);var i={name:"clike",helperType:"php",keywords:b(f),blockKeywords:b("catch do else elseif for foreach if switch try while finally"),defKeywords:b("class function interface namespace trait"),atoms:b(g),builtin:b(h),multiLineStrings:!0,hooks:{$:function(a){return a.eatWhile(/[\w\$_]/),"variable-2"},"<":function(a,b){var c;if(c=a.match(/<<\s*/)){var e=a.eat(/['"]/);a.eatWhile(/[\w\.]/);var f=a.current().slice(c[0].length+(e?2:1));if(e&&a.eat(e),f)return(b.tokStack||(b.tokStack=[])).push(f,0),b.tokenize=d(f,"'"!=e),"string"}return!1},"#":function(a){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"},"/":function(a){if(a.eat("/")){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"}return!1},'"':function(a,b){return(b.tokStack||(b.tokStack=[])).push('"',0),b.tokenize=d('"'),"string"},"{":function(a,b){return b.tokStack&&b.tokStack.length&&b.tokStack[b.tokStack.length-1]++,!1},"}":function(a,b){return b.tokStack&&b.tokStack.length>0&&!--b.tokStack[b.tokStack.length-1]&&(b.tokenize=d(b.tokStack[b.tokStack.length-2])),!1}}};a.defineMode("php",function(b,c){function d(b,c){var d=c.curMode==f;if(b.sol()&&c.pending&&'"'!=c.pending&&"'"!=c.pending&&(c.pending=null),d)return d&&null==c.php.tokenize&&b.match("?>")?(c.curMode=e,c.curState=c.html,c.php.context.prev||(c.php=null),"meta"):f.token(b,c.curState);if(b.match(/^<\?\w*/))return c.curMode=f,c.php||(c.php=a.startState(f,e.indent(c.html,""))),c.curState=c.php,"meta";if('"'==c.pending||"'"==c.pending){for(;!b.eol()&&b.next()!=c.pending;);var g="string"}else if(c.pending&&b.pos<c.pending.end){b.pos=c.pending.end;var g=c.pending.style}else var g=e.token(b,c.curState);c.pending&&(c.pending=null);var h,i=b.current(),j=i.search(/<\?/);return j!=-1&&("string"==g&&(h=i.match(/[\'\"]$/))&&!/\?>/.test(i)?c.pending=h[0]:c.pending={end:b.pos,style:g},b.backUp(i.length-j)),g}var e=a.getMode(b,"text/html"),f=a.getMode(b,i);return{startState:function(){var b=a.startState(e),d=c.startOpen?a.startState(f):null;return{html:b,php:d,curMode:c.startOpen?f:e,curState:c.startOpen?d:b,pending:null}},copyState:function(b){var c,d=b.html,g=a.copyState(e,d),h=b.php,i=h&&a.copyState(f,h);return c=b.curMode==e?g:i,{html:g,php:i,curMode:b.curMode,curState:c,pending:b.pending}},token:d,indent:function(a,b){return a.curMode!=f&&/^\s*<\//.test(b)||a.curMode==f&&/^\?>/.test(b)?e.indent(a.html,b):a.curMode.indent(a.curState,b)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(a){return{state:a.curState,mode:a.curMode}}}},"htmlmixed","clike"),a.defineMIME("application/x-httpd-php","php"),a.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),a.defineMIME("text/x-php",i)}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)}(function(a){function b(a,b,d){var e=a.getLineHandle(b.line),f=b.ch-1,i=d&&d.afterCursor;null==i&&(i=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var j=!i&&f>=0&&h[e.text.charAt(f)]||h[e.text.charAt(++f)];if(!j)return null;var k=">"==j.charAt(1)?1:-1;if(d&&d.strict&&k>0!=(f==b.ch))return null;var l=a.getTokenTypeAt(g(b.line,f+1)),m=c(a,g(b.line,f+(k>0?1:0)),k,l||null,d);return null==m?null:{from:g(b.line,f),to:m&&m.pos,match:m&&m.ch==j.charAt(0),forward:k>0}}function c(a,b,c,d,e){for(var f=e&&e.maxScanLineLength||1e4,i=e&&e.maxScanLines||1e3,j=[],k=e&&e.bracketRegex?e.bracketRegex:/[(){}[\]]/,l=c>0?Math.min(b.line+i,a.lastLine()+1):Math.max(a.firstLine()-1,b.line-i),m=b.line;m!=l;m+=c){var n=a.getLine(m);if(n){var o=c>0?0:n.length-1,p=c>0?n.length:-1;if(!(n.length>f))for(m==b.line&&(o=b.ch-(c<0?1:0));o!=p;o+=c){var q=n.charAt(o);if(k.test(q)&&(void 0===d||a.getTokenTypeAt(g(m,o+1))==d)){var r=h[q];if(">"==r.charAt(1)==c>0)j.push(q);else{if(!j.length)return{pos:g(m,o),ch:q};j.pop()}}}}}return m-c!=(c>0?a.lastLine():a.firstLine())&&null}function d(a,c,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,h=[],i=a.listSelections(),j=0;j<i.length;j++){var k=i[j].empty()&&b(a,i[j].head,d);if(k&&a.getLine(k.from.line).length<=e){var l=k.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";h.push(a.markText(k.from,g(k.from.line,k.from.ch+1),{className:l})),k.to&&a.getLine(k.to.line).length<=e&&h.push(a.markText(k.to,g(k.to.line,k.to.ch+1),{className:l}))}}if(h.length){f&&a.state.focused&&a.focus();var m=function(){a.operation(function(){for(var a=0;a<h.length;a++)h[a].clear()})};if(!c)return m;setTimeout(m,800)}}function e(a){a.operation(function(){i&&(i(),i=null),i=d(a,!1,a.state.matchBrackets)})}var f=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),g=a.Pos,h={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},i=null;a.defineOption("matchBrackets",!1,function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",e),i&&(i(),i=null)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",e))}),a.defineExtension("matchBrackets",function(){d(this,!0)}),a.defineExtension("findMatchingBracket",function(a,c,d){return(d||"boolean"==typeof c)&&(d?(d.strict=c,c=d):c=c?{strict:!0}:null),b(this,a,c)}),a.defineExtension("scanForBracket",function(a,b,d,e){return c(this,a,b,d,e)})});
languages/code-snippets-fr_CA.mo ADDED
Binary file
languages/code-snippets-fr_CA.po ADDED
@@ -0,0 +1,799 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of Plugins - code-snippets - Stable (latest release) in French (Canada)
2
+ # This file is distributed under the same license as the Plugins - code-snippets - Stable (latest release) package.
3
+ msgid ""
4
+ msgstr ""
5
+ "PO-Revision-Date: 2017-02-26 07:01:02+0000\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
10
+ "X-Generator: GlotPress/2.4.0-alpha\n"
11
+ "Language: fr_CA\n"
12
+ "Project-Id-Version: Plugins - code-snippets - Stable (latest release)\n"
13
+
14
+ #. Author URI of the plugin/theme
15
+ msgid "https://bungeshea.com"
16
+ msgstr "https://bungeshea.com"
17
+
18
+ #. Author of the plugin/theme
19
+ msgid "Shea Bunge"
20
+ msgstr "Shea Bunge"
21
+
22
+ #. Description of the plugin/theme
23
+ msgid "An easy, clean and simple way to add code snippets to your site. No need to edit to your theme's functions.php file again!"
24
+ msgstr "Une façon propre et simple d'ajouter des extraits de code (snippets) à votre site. Aucun besoin désormais d'éditer le fichier functions.php de votre thème!"
25
+
26
+ #. Plugin URI of the plugin/theme
27
+ msgid "https://github.com/sheabunge/code-snippets"
28
+ msgstr "https://github.com/sheabunge/code-snippets"
29
+
30
+ #: php/views/manage.php:34 trunk/php/views/manage.php:34
31
+ msgid "Search Installed Snippets"
32
+ msgstr "Recherche des Snippets installés"
33
+
34
+ #: php/views/import.php:39 trunk/php/views/import.php:39
35
+ msgid "Upload file and import"
36
+ msgstr "Envoi et importation du fichier"
37
+
38
+ #: php/views/import.php:33 trunk/php/views/import.php:33
39
+ msgid "(Maximum size: 8MB)"
40
+ msgstr "(Taille maximale: 8 Mo)"
41
+
42
+ #: php/views/import.php:32 trunk/php/views/import.php:32
43
+ msgid "Choose a file from your computer:"
44
+ msgstr "Choisir un fichier de votre ordinateur :"
45
+
46
+ #: php/views/import.php:25 trunk/php/views/import.php:25
47
+ msgid "Choose a Code Snippets (.xml) file to upload, then click Upload file and import."
48
+ msgstr "Choisissez un fichier de code (.xml) à téléverser, puis cliquez sur « Envoi et importation du fichier »."
49
+
50
+ #: php/views/import.php:23 trunk/php/views/import.php:23
51
+ msgid "You will need to go to the <a href=\"%s\">All Snippets</a> page to activate the imported snippets."
52
+ msgstr "Vous devrez aller dans la page <a href=\"%s\">Tous les snippets</a> pour activer les codes importés."
53
+
54
+ #: php/views/import.php:21 trunk/php/views/import.php:21
55
+ msgid "Howdy! Upload your Code Snippets export file and we&#8217;ll import the snippets to this site."
56
+ msgstr "Téléversez votre fichier de code exporté et nous allons l'importer sur ce site."
57
+
58
+ #: php/views/edit.php:118 trunk/php/views/edit.php:118
59
+ msgid "You are about to permanently delete this snippet."
60
+ msgstr "Vous êtes sur le point de supprimer définitivement cet extrait de code."
61
+
62
+ #: php/views/edit.php:101 trunk/php/views/edit.php:101
63
+ msgid "Save Changes and Deactivate"
64
+ msgstr "Sauvegarder les changements et désactiver"
65
+
66
+ #: php/views/edit.php:81 php/views/edit.php:95 trunk/php/views/edit.php:81
67
+ #: trunk/php/views/edit.php:95
68
+ msgid "Save Changes and Activate"
69
+ msgstr "Sauvegarder les changements et activer"
70
+
71
+ #: php/views/edit.php:49 trunk/php/views/edit.php:49
72
+ msgid "Enter title here"
73
+ msgstr "Entrer le titre ici"
74
+
75
+ #: php/views/edit.php:28 php/views/manage.php:22 trunk/php/views/edit.php:28
76
+ #: trunk/php/views/manage.php:22
77
+ msgctxt "snippet"
78
+ msgid "Add New"
79
+ msgstr "Ajouter un snippet"
80
+
81
+ #: php/settings/settings.php:176 trunk/php/settings/settings.php:176
82
+ msgid "Settings saved."
83
+ msgstr "Réglages sauvegardés."
84
+
85
+ #: php/settings/settings.php:119 trunk/php/settings/settings.php:119
86
+ msgid "Editor Preview"
87
+ msgstr "Aperçu de l'éditeur"
88
+
89
+ #: php/settings/settings.php:70 trunk/php/settings/settings.php:70
90
+ msgid "Code Editor"
91
+ msgstr "Éditeur de code"
92
+
93
+ #: php/settings/settings.php:69 trunk/php/settings/settings.php:69
94
+ msgid "Description Editor"
95
+ msgstr "Éditeur de description"
96
+
97
+ #: php/settings/settings.php:68 trunk/php/settings/settings.php:68
98
+ msgid "General"
99
+ msgstr "Général"
100
+
101
+ #: php/settings/settings-fields.php:164
102
+ #: trunk/php/settings/settings-fields.php:164
103
+ msgid "Highlight all instances of a currently selected word."
104
+ msgstr "Mettre en surbrillance toutes les instances d'un mot actuellement sélectionné."
105
+
106
+ #: php/settings/settings-fields.php:163
107
+ #: trunk/php/settings/settings-fields.php:163
108
+ msgid "Highlight Selection Matches"
109
+ msgstr "Surbrillance des sélections"
110
+
111
+ #: php/settings/settings-fields.php:157
112
+ #: trunk/php/settings/settings-fields.php:157
113
+ msgid "Auto-close brackets and quotes when typed."
114
+ msgstr "Fermer automatiquement les crochets et guillemets lors de la saisie."
115
+
116
+ #: php/settings/settings-fields.php:155
117
+ #: trunk/php/settings/settings-fields.php:155
118
+ msgid "Auto Close Brackets"
119
+ msgstr "Fermer auto. les crochets"
120
+
121
+ #: php/settings/settings-fields.php:149
122
+ #: trunk/php/settings/settings-fields.php:149
123
+ msgid "Show line numbers to the left of the editor."
124
+ msgstr "Afficher les numéros de ligne à gauche de l'éditeur."
125
+
126
+ #: php/settings/settings-fields.php:147
127
+ #: trunk/php/settings/settings-fields.php:147
128
+ msgid "Line Numbers"
129
+ msgstr "Numéros de ligne"
130
+
131
+ #: php/settings/settings-fields.php:141
132
+ #: trunk/php/settings/settings-fields.php:141
133
+ msgid "Whether the editor should scroll or wrap for long lines."
134
+ msgstr "Choisir si l'éditeur doit défiler ou s'allonger pour les grandes lignes."
135
+
136
+ #: php/settings/settings-fields.php:139
137
+ #: trunk/php/settings/settings-fields.php:139
138
+ msgid "Wrap Lines"
139
+ msgstr "S'ajuster aux lignes"
140
+
141
+ #: php/settings/settings-fields.php:132
142
+ #: trunk/php/settings/settings-fields.php:132
143
+ msgid "How many spaces a block should be indented."
144
+ msgstr "Combien d'espaces un bloc doit être indenté."
145
+
146
+ #: php/settings/settings-fields.php:130
147
+ #: trunk/php/settings/settings-fields.php:130
148
+ msgid "Indent Unit"
149
+ msgstr "Unité d'indentation."
150
+
151
+ #: php/settings/settings-fields.php:123
152
+ #: trunk/php/settings/settings-fields.php:123
153
+ msgid "The width of a tab character."
154
+ msgstr "La largeur d'un caractère de tabulation."
155
+
156
+ #: php/settings/settings-fields.php:121
157
+ #: trunk/php/settings/settings-fields.php:121
158
+ msgid "Tab Size"
159
+ msgstr "Taille de tabulation"
160
+
161
+ #: php/settings/settings-fields.php:115
162
+ #: trunk/php/settings/settings-fields.php:115
163
+ msgid "Use hard tabs (not spaces) for indentation."
164
+ msgstr "Utiliser des tabulations en dur (pas d'espaces) pour l'indentation."
165
+
166
+ #: php/settings/settings-fields.php:113
167
+ #: trunk/php/settings/settings-fields.php:113
168
+ msgid "Indent With Tabs"
169
+ msgstr "Indenter avec tabulations"
170
+
171
+ #: php/settings/settings-fields.php:106
172
+ #: trunk/php/settings/settings-fields.php:106
173
+ msgid "Theme"
174
+ msgstr "Thème"
175
+
176
+ #: php/settings/settings-fields.php:97
177
+ #: trunk/php/settings/settings-fields.php:97
178
+ msgid "Enable the add media buttons"
179
+ msgstr "Activer les boutons d'ajout de médias"
180
+
181
+ #: php/settings/settings-fields.php:95
182
+ #: trunk/php/settings/settings-fields.php:95
183
+ msgid "Media Buttons"
184
+ msgstr "Boutons de médias"
185
+
186
+ #: php/settings/settings-fields.php:90
187
+ #: trunk/php/settings/settings-fields.php:90
188
+ msgid "Enable all features of the visual editor"
189
+ msgstr "Activer toutes les fonctions de l'éditeur visuel"
190
+
191
+ #: php/settings/settings-fields.php:88
192
+ #: trunk/php/settings/settings-fields.php:88
193
+ msgid "Use Full Editor"
194
+ msgstr "Éditeur complet"
195
+
196
+ #: php/settings/settings-fields.php:82
197
+ #: trunk/php/settings/settings-fields.php:82
198
+ msgid "rows"
199
+ msgstr "lignes"
200
+
201
+ #: php/settings/settings-fields.php:80
202
+ #: trunk/php/settings/settings-fields.php:80
203
+ msgid "Row Height"
204
+ msgstr "Hauteur de ligne"
205
+
206
+ #: php/settings/settings-fields.php:71
207
+ #: trunk/php/settings/settings-fields.php:71
208
+ msgid "Disable the syntax highlighting for the [code_snippet] shortcode on the front-end"
209
+ msgstr "Désactiver la mise en surbrillance de la syntaxe pour le code abrégé [code_snippet] sur le front-end"
210
+
211
+ #: php/settings/settings-fields.php:69
212
+ #: trunk/php/settings/settings-fields.php:69
213
+ msgid "Disable shortcode syntax highlighter"
214
+ msgstr "Désactiver la surbrillance du code abrégé"
215
+
216
+ #: php/settings/settings-fields.php:65
217
+ #: trunk/php/settings/settings-fields.php:65
218
+ msgid "Show snippet descriptions on admin pages"
219
+ msgstr "Afficher la description des Snippets sur les pages admin"
220
+
221
+ #: php/settings/settings-fields.php:63
222
+ #: trunk/php/settings/settings-fields.php:63
223
+ msgid "Enable Snippet Descriptions"
224
+ msgstr "Activer la description des Snippets"
225
+
226
+ #: php/settings/settings-fields.php:58
227
+ #: trunk/php/settings/settings-fields.php:58
228
+ msgid "Show snippet tags on admin pages"
229
+ msgstr "Afficher les étiquettes des Snippets sur les pages admin"
230
+
231
+ #: php/settings/settings-fields.php:56
232
+ #: trunk/php/settings/settings-fields.php:56
233
+ msgid "Enable Snippet Tags"
234
+ msgstr "Activer les étiquettes des Snippets"
235
+
236
+ #: php/settings/settings-fields.php:51
237
+ #: trunk/php/settings/settings-fields.php:51
238
+ msgid "Enable the scope selector when editing a snippet"
239
+ msgstr "Activer le sélecteur de visibilité lors de l'édition d'un Snippet"
240
+
241
+ #: php/settings/settings-fields.php:49
242
+ #: trunk/php/settings/settings-fields.php:49
243
+ msgid "Enable Scope Selector"
244
+ msgstr "Activer le sélecteur de visibilité"
245
+
246
+ #: php/settings/settings-fields.php:44
247
+ #: trunk/php/settings/settings-fields.php:44
248
+ msgid "Make the 'Save and Activate' button the default action when saving a snippet."
249
+ msgstr "Faire du bouton « Enregistrer et activer » l'action par défaut lors de la sauvegarde d'un Snippet."
250
+
251
+ #: php/settings/settings-fields.php:42
252
+ #: trunk/php/settings/settings-fields.php:42
253
+ msgid "Activate by Default"
254
+ msgstr "Activer par défaut"
255
+
256
+ #: php/class-list-table.php:974 trunk/php/class-list-table.php:974
257
+ msgid "Clear Filters"
258
+ msgstr "Effacer les filtres"
259
+
260
+ #: php/class-list-table.php:966 trunk/php/class-list-table.php:966
261
+ msgid " in tag &#8220;%s&#8221;"
262
+ msgstr " dans l'étiquette &#8220;%s&#8221;"
263
+
264
+ #: php/class-list-table.php:962 trunk/php/class-list-table.php:962
265
+ msgid " for &#8220;%s&#8221;"
266
+ msgstr " pour &#8220;%s&#8221;"
267
+
268
+ #: php/class-list-table.php:959 trunk/php/class-list-table.php:959
269
+ msgid "Search results"
270
+ msgstr "Résultats de recherche"
271
+
272
+ #: php/class-list-table.php:686 trunk/php/class-list-table.php:686
273
+ msgid "You do not appear to have any snippets available at this time. <a href=\"%s\">Add New&rarr;</a>"
274
+ msgstr "Il semble que vous n'ayez aucun Snippet pour le moment. <a href=\"%s\">Ajouter un nouveau&rarr;</a>"
275
+
276
+ #: php/class-list-table.php:499 trunk/php/class-list-table.php:499
277
+ msgid "Clear List"
278
+ msgstr "Effacer la liste"
279
+
280
+ #: php/class-list-table.php:491 trunk/php/class-list-table.php:491
281
+ msgid "Filter"
282
+ msgstr "Filtre"
283
+
284
+ #: php/class-list-table.php:477 trunk/php/class-list-table.php:477
285
+ msgid "Show all tags"
286
+ msgstr "Afficher toutes les étiquettes"
287
+
288
+ #: php/class-list-table.php:414 trunk/php/class-list-table.php:414
289
+ msgid "Recently Active <span class=\"count\">(%s)</span>"
290
+ msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
291
+ msgstr[0] "Actif récemment <span class=\"count\">(%s)</span>"
292
+ msgstr[1] "Actifs récemment <span class=\"count\">(%s)</span>"
293
+
294
+ #: php/class-list-table.php:413 trunk/php/class-list-table.php:413
295
+ msgid "Inactive <span class=\"count\">(%s)</span>"
296
+ msgid_plural "Inactive <span class=\"count\">(%s)</span>"
297
+ msgstr[0] "Inactif <span class=\"count\">(%s)</span>"
298
+ msgstr[1] "Inactifs <span class=\"count\">(%s)</span>"
299
+
300
+ #: php/class-list-table.php:412 trunk/php/class-list-table.php:412
301
+ msgid "Active <span class=\"count\">(%s)</span>"
302
+ msgid_plural "Active <span class=\"count\">(%s)</span>"
303
+ msgstr[0] "Actif <span class=\"count\">(%s)</span>"
304
+ msgstr[1] "Actifs <span class=\"count\">(%s)</span>"
305
+
306
+ #: php/class-list-table.php:411 trunk/php/class-list-table.php:411
307
+ msgid "All <span class=\"count\">(%s)</span>"
308
+ msgid_plural "All <span class=\"count\">(%s)</span>"
309
+ msgstr[0] "Tout <span class=\"count\">(%s)</span>"
310
+ msgstr[1] "Tous <span class=\"count\">(%s)</span>"
311
+
312
+ #: php/class-list-table.php:373 trunk/php/class-list-table.php:373
313
+ msgid "Export to PHP"
314
+ msgstr "Exporter en PHP"
315
+
316
+ #: php/class-list-table.php:261 trunk/php/class-list-table.php:261
317
+ msgid "Shared on Network"
318
+ msgstr "Partagé en réseau"
319
+
320
+ #: php/class-list-table.php:244 trunk/php/class-list-table.php:244
321
+ msgid "Untitled #%d"
322
+ msgstr "Non titré #%d"
323
+
324
+ #: php/class-list-table.php:159 php/class-list-table.php:225
325
+ #: php/views/edit.php:119 trunk/php/class-list-table.php:159
326
+ #: trunk/php/class-list-table.php:225 trunk/php/views/edit.php:119
327
+ msgid "'Cancel' to stop, 'OK' to delete."
328
+ msgstr "'Annuler' pour arrêter, 'OK' pour supprimer."
329
+
330
+ #: php/class-list-table.php:158 php/class-list-table.php:224
331
+ #: trunk/php/class-list-table.php:158 trunk/php/class-list-table.php:224
332
+ msgid "You are about to permanently delete the selected item."
333
+ msgstr "Vous êtes sur le point de supprimer définitivement l'élément sélectionné."
334
+
335
+ #: php/class-list-table.php:142 php/class-list-table.php:202
336
+ #: php/class-list-table.php:371 php/views/edit.php:111
337
+ #: trunk/php/class-list-table.php:142 trunk/php/class-list-table.php:202
338
+ #: trunk/php/class-list-table.php:371 trunk/php/views/edit.php:111
339
+ msgid "Export"
340
+ msgstr "Exporter"
341
+
342
+ #: php/class-list-table.php:136 php/class-list-table.php:196
343
+ #: trunk/php/class-list-table.php:136 trunk/php/class-list-table.php:196
344
+ msgid "Edit"
345
+ msgstr "Éditer"
346
+
347
+ #: php/class-list-table.php:126 php/class-list-table.php:180
348
+ #: php/class-list-table.php:369 trunk/php/class-list-table.php:126
349
+ #: trunk/php/class-list-table.php:180 trunk/php/class-list-table.php:369
350
+ msgid "Activate"
351
+ msgstr "Activer"
352
+
353
+ #: php/class-list-table.php:126 php/class-list-table.php:369
354
+ #: trunk/php/class-list-table.php:126 trunk/php/class-list-table.php:369
355
+ msgid "Network Activate"
356
+ msgstr "Activation réseau"
357
+
358
+ #: php/class-list-table.php:117 php/class-list-table.php:180
359
+ #: php/class-list-table.php:370 trunk/php/class-list-table.php:117
360
+ #: trunk/php/class-list-table.php:180 trunk/php/class-list-table.php:370
361
+ msgid "Deactivate"
362
+ msgstr "Désactiver"
363
+
364
+ #: php/class-list-table.php:117 php/class-list-table.php:370
365
+ #: trunk/php/class-list-table.php:117 trunk/php/class-list-table.php:370
366
+ msgid "Network Deactivate"
367
+ msgstr "Désactivation réseau"
368
+
369
+ #: php/class-list-table.php:58 trunk/php/class-list-table.php:58
370
+ msgid "Snippets per page"
371
+ msgstr "Snippets par page"
372
+
373
+ #: php/class-export.php:96 trunk/php/class-export.php:96
374
+ msgid "7. You will then have to visit the 'Snippets: All Snippets' admin menu and activate desired snippets."
375
+ msgstr "7. Vous aurez alors à visiter le menu 'Snippets: Tous les Snippets' et activer les Snippets voulus."
376
+
377
+ #: php/class-export.php:95 trunk/php/class-export.php:95
378
+ msgid "6. Code Snippets will then import all of the snippets and associated information contained in this file into your site."
379
+ msgstr "6. Code Snippets va importer dans votre site tous les Snippets et les informations associées contenues dans le fichier. "
380
+
381
+ #: php/class-export.php:94 trunk/php/class-export.php:94
382
+ msgid "5. Upload this file using the form provided on that page."
383
+ msgstr "5. Téléversez ce fichier en utilisant le formulaire fourni sur cette page."
384
+
385
+ #: php/class-export.php:93 trunk/php/class-export.php:93
386
+ msgid "4. Click on the \"Code Snippets\" importer in the list"
387
+ msgstr "4. Cliquez sur l'importateur «Code Snippets\" dans la liste"
388
+
389
+ #: php/class-export.php:92 trunk/php/class-export.php:92
390
+ msgid "3. Go to 'Tools: Import' in the WordPress admin panel."
391
+ msgstr "3. Allez dans 'Outils: Importer' dans le panneau d'administration WordPress."
392
+
393
+ #: php/class-export.php:91 trunk/php/class-export.php:91
394
+ msgid "2. Install the Code Snippets plugin using the directions provided at the above link."
395
+ msgstr "2. Installez l'extension Code Snippets en utilisant les directives fournies dans le lien ci-dessus."
396
+
397
+ #: php/class-export.php:90 trunk/php/class-export.php:90
398
+ msgid "1. Log in to that site as an administrator."
399
+ msgstr "1. Connectez-vous à ce site en tant qu'administrateur."
400
+
401
+ #: php/class-export.php:89 trunk/php/class-export.php:89
402
+ msgid "To import these snippets a WordPress site follow these steps:"
403
+ msgstr "Suivez ces étapes pour importer ces Snippets sur un site WordPress:"
404
+
405
+ #: php/class-export.php:87 trunk/php/class-export.php:87
406
+ msgid "This is a code snippets export file generated by the Code Snippets WordPress plugin."
407
+ msgstr "Ceci est un fichier exporté qui a été généré par l'extension Wordpress Code Snippets."
408
+
409
+ #: php/class-contextual-help.php:128 trunk/php/class-contextual-help.php:128
410
+ msgid "You can save your snippets to a Code Snippets (.xml) export file using the <a href=\"%s\">Manage Snippets</a> page."
411
+ msgstr "Vous pouvez sauvegarder vos Snippets dans un fichier d'exportation Code Snippets (.xml) en utilisant la page <a href=\"%s\">Gérer les Snippets</a>."
412
+
413
+ #: php/class-contextual-help.php:127 trunk/php/class-contextual-help.php:127
414
+ msgid "Exporting"
415
+ msgstr "Exportation"
416
+
417
+ #: php/class-contextual-help.php:122 trunk/php/class-contextual-help.php:122
418
+ msgid "Snippets will be added to the database along with your existing snippets. Regardless of whether the snippets were active on the previous site, imported snippets are always inactive until activated using the <a href=\"%s\">All Snippets</a> page.</p>"
419
+ msgstr "Les Snippets seront ajoutés à la base de données avec vos Snippets existants. Indépendamment du fait que les Snippets étaient actifs sur le site précédent, les Snippets importés sont toujours inactifs jusqu'à ce qu'ils soient activés à l'aide de la page <a href=\"%s\"> Tous les Snippets </a>.</p>"
420
+
421
+ #: php/class-contextual-help.php:121 trunk/php/class-contextual-help.php:121
422
+ msgid "You can load your snippets from a code snippets (.xml) export file using this page."
423
+ msgstr "Vous pouvez charger vos Snippets depuis un fichier de Snippets exporté en utilisant cette page."
424
+
425
+ #: php/class-contextual-help.php:120 trunk/php/class-contextual-help.php:120
426
+ msgid "Importing"
427
+ msgstr "Importation"
428
+
429
+ #: php/class-contextual-help.php:115 trunk/php/class-contextual-help.php:115
430
+ msgid "Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can load snippets from a Code Snippets (.xml) import file into the database with your existing snippets."
431
+ msgstr "Les Snippets sont similaires aux extensions : ils étendent et développent les fonctionnalités de WordPress. Les Snippets sont plus légers, juste quelques lignes de code, et ne mettent pas autant de charge sur votre serveur. Ici, vous pouvez charger des Snippets depuis un fichier d'importation de Code Snippets (.xml) qui seront exécutés dans la base de données avec vos Snippets existants."
432
+
433
+ #: php/class-contextual-help.php:102 trunk/php/class-contextual-help.php:102
434
+ msgid "Please be sure to check that your snippet is valid PHP code and will not produce errors before adding it through this page. While doing so will not become active straight away, it will help to minimise the chance of a faulty snippet becoming active on your site."
435
+ msgstr "Assurez-vous de vérifier que votre Snippet est un code PHP valide et qu'il ne produira pas d'erreurs avant de l'ajouter à cette page. Il ne sera pas activé tout de suite, cela aidera à minimiser les risques qu'un Snippet défectueux devienne actif sur votre site."
436
+
437
+ #: php/class-contextual-help.php:101 trunk/php/class-contextual-help.php:101
438
+ msgid "You need to fill out the name and code fields for your snippet to be added. While the description field will add more information about how your snippet works, what is does and where you found it, it is completely optional."
439
+ msgstr "Vous devez compléter le nom et les champs de code pour que votre Snippet soit ajouté. Le champ de description permettant d'ajouter plus d'informations sur la façon dont votre Snippet fonctionne, ce qu'il fait et où vous l'avez trouvé, est complètement facultatif."
440
+
441
+ #: php/class-contextual-help.php:100 trunk/php/class-contextual-help.php:100
442
+ msgid "Adding Snippets"
443
+ msgstr "Ajout de Snippets"
444
+
445
+ #: php/class-contextual-help.php:95 trunk/php/class-contextual-help.php:95
446
+ msgid "More places to find snippets, as well as a selection of example snippets, can be found in the <a href=\"https://github.com/sheabunge/code-snippets/wiki/Finding-snippets\">plugin documentation</a>"
447
+ msgstr "Vous pouvez trouver plus de Snippets et des exemples dans la <a href=\"https://github.com/sheabunge/code-snippets/wiki/Finding-snippets\">documentation de l'extension</a>"
448
+
449
+ #: php/class-contextual-help.php:88 trunk/php/class-contextual-help.php:88
450
+ msgid ""
451
+ "Here are some links to websites which host a large number of snippets that you can add to your site.\n"
452
+ "\t\t\t\t<ul>\n"
453
+ "\t\t\t\t\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress Snippets\">WP-Snippets</a></li>\n"
454
+ "\t\t\t\t\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP Snipp</a></li>\n"
455
+ "\t\t\t\t\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" title=\"Cats Who Code Snippet Library\">Cats Who Code</a></li>\n"
456
+ "\t\t\t\t\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></li>\n"
457
+ "\t\t\t\t</ul>"
458
+ msgstr ""
459
+ "Voici quelques liens vers des sites qui hébergent un grand nombre de Snippets que vous pouvez ajouter à votre site.\n"
460
+ "\t\t\t\t<ul>\n"
461
+ "\t\t\t\t\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress Snippets\">WP-Snippets</a></li>\n"
462
+ "\t\t\t\t\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP Snipp</a></li>\n"
463
+ "\t\t\t\t\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" title=\"Cats Who Code Snippet Library\">Cats Who Code</a></li>\n"
464
+ "\t\t\t\t\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></li>\n"
465
+ "\t\t\t\t</ul>"
466
+
467
+ #: php/class-contextual-help.php:87 trunk/php/class-contextual-help.php:87
468
+ msgid "Finding Snippets"
469
+ msgstr "Recherche de Snippets"
470
+
471
+ #: php/class-contextual-help.php:82 trunk/php/class-contextual-help.php:82
472
+ msgid "Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can add a new snippet, or edit an existing one."
473
+ msgstr "Les Snippets sont similaires aux extensions : ils étendent et développent les fonctionnalités de WordPress. Les Snippets sont plus légers, juste quelques lignes de code, et ne mettent pas autant de charge sur votre serveur. Ici, vous pouvez ajouter un nouveau Snippet, ou en éditer un existant."
474
+
475
+ #: php/class-contextual-help.php:70 trunk/php/class-contextual-help.php:70
476
+ msgid "Even if you're sure that you don't want to use Code Snippets ever again on this WordPress installation, you may want to use the export feature to back up your snippets."
477
+ msgstr "Même si vous êtes sûr de ne jamais plus vouloir utiliser Code Snippets sur cette installation de WordPress, vous devriez utiliser la fonction d'exportation pour sauvegarder vos Snippets."
478
+
479
+ #: php/class-contextual-help.php:69 trunk/php/class-contextual-help.php:69
480
+ msgid "When you delete Code Snippets through the Plugins menu in WordPress it will clear up the <code>%1$s</code> table and a few other bits of data stored in the database. If you want to keep this data (ie: you are only temporally uninstalling Code Snippets) then remove the <code>%2$s</code> folder using FTP."
481
+ msgstr "Lorsque vous supprimez Code Snippets depuis le menu des Extensions de WordPress, cela efface la table <code>%1$s</code> et quelques autres données stockées dans la base de données. Si vous souhaitez conserver ces données (c.-à-d. que vous désinstallez temporairement Code Snippets), supprimez plutôt le dossier <code>%2$s</code> en utilisant le FTP."
482
+
483
+ #: php/class-contextual-help.php:68 trunk/php/class-contextual-help.php:68
484
+ msgid "Uninstall"
485
+ msgstr "Désinstallation"
486
+
487
+ #: php/class-contextual-help.php:63 trunk/php/class-contextual-help.php:63
488
+ msgid "If something goes wrong with a snippet and you can't use WordPress, you can cause all snippets to stop executing by adding <code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> to your <code>wp-config.php</code> file. After you have deactivated the offending snippet, you can turn off safe mode by removing this line or replacing <strong>true</strong> with <strong>false</strong>."
489
+ msgstr "Si quelque chose ne va pas avec un Snippet et que vous ne pouvez plus utiliser WordPress, vous pouvez provoquer l'arrêt de tous les Snippets en ajoutant <code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> à votre fichier <code>wp-config.php</code>. Une fois que vous avez désactivé le Snippet en problème, vous pouvez désactiver le mode sans échec en supprimant cette ligne ou en remplaçant <strong>true</strong> par <strong>false</strong>."
490
+
491
+ #: php/class-contextual-help.php:62 trunk/php/class-contextual-help.php:62
492
+ msgid "Be sure to check your snippets for errors before you activate them, as a faulty snippet could bring your whole blog down. If your site starts doing strange things, deactivate all your snippets and activate them one at a time."
493
+ msgstr "Assurez-vous de vérifier que vos Snippets n'ont pas d'erreurs avant de les activer, car un Snippet défectueux pourrait mettre complètement hors ligne votre blogue. Si votre site commence à faire des choses étranges, désactivez tous vos Snippets et activez-les un à la fois."
494
+
495
+ #: php/class-contextual-help.php:61 trunk/php/class-contextual-help.php:61
496
+ msgid "Safe Mode"
497
+ msgstr "Mode sans échec"
498
+
499
+ #: php/class-contextual-help.php:56 trunk/php/class-contextual-help.php:56
500
+ msgid "Snippets are similar to plugins - they both extend and expand the functionality of WordPress. Snippets are more light-weight, just a few lines of code, and do not put as much load on your server. Here you can manage your existing snippets and perform tasks on them such as activating, deactivating, deleting and exporting."
501
+ msgstr "Les Snippets sont similaires aux extensions : ils étendent et développent les fonctionnalités de WordPress. Les Snippets sont plus légers, juste quelques lignes de code, et ne mettent pas autant de charge sur votre serveur. Ici, vous pouvez gérer vos Snippets existants et exécuter des tâches sur ceux-ci comme l'activation, la désactivation, la suppression et l'exportation."
502
+
503
+ #: php/class-contextual-help.php:55 php/class-contextual-help.php:81
504
+ #: php/class-contextual-help.php:114 trunk/php/class-contextual-help.php:55
505
+ #: trunk/php/class-contextual-help.php:81
506
+ #: trunk/php/class-contextual-help.php:114
507
+ msgid "Overview"
508
+ msgstr "Aperçu"
509
+
510
+ #: php/class-contextual-help.php:44 trunk/php/class-contextual-help.php:44
511
+ msgid "Plugin Website"
512
+ msgstr "Site Web de l'extension"
513
+
514
+ #: php/class-contextual-help.php:43 trunk/php/class-contextual-help.php:43
515
+ msgid "Support Forums"
516
+ msgstr "Forums de support (anglais)"
517
+
518
+ #: php/class-contextual-help.php:42 trunk/php/class-contextual-help.php:42
519
+ msgid "FAQ"
520
+ msgstr "FAQ"
521
+
522
+ #: php/class-contextual-help.php:41 trunk/php/class-contextual-help.php:41
523
+ msgid "About Plugin"
524
+ msgstr "À propos de l'extension"
525
+
526
+ #: php/class-contextual-help.php:40 trunk/php/class-contextual-help.php:40
527
+ msgid "For more information:"
528
+ msgstr "Pour plus d'information:"
529
+
530
+ #: php/class-admin.php:223 trunk/php/class-admin.php:223
531
+ msgid "Dismiss"
532
+ msgstr "Rejeter"
533
+
534
+ #: php/class-admin.php:220 trunk/php/class-admin.php:220
535
+ msgid "Take the survey now"
536
+ msgstr "Répondre au sondage maintenant"
537
+
538
+ #: php/class-admin.php:216 trunk/php/class-admin.php:216
539
+ msgid "<strong>Have feedback on Code Snippets?</strong> Please take the time to answer a short survey on how you use this plugin and what you'd like to see changed or added in the future."
540
+ msgstr "<strong> Avez-vous des commentaires à propos de Code Snippets ?</strong> Prenez le temps de répondre à un court sondage sur la façon dont vous utilisez cette extension et ce que vous souhaitez voir modifier ou ajouter dans le futur."
541
+
542
+ #: php/class-admin.php:185 trunk/php/class-admin.php:185
543
+ msgid "Donate"
544
+ msgstr "Don"
545
+
546
+ #: php/class-admin.php:184 trunk/php/class-admin.php:184
547
+ msgid "Support this plugin's development"
548
+ msgstr "Supportez le développement de cette extension"
549
+
550
+ #: php/class-admin.php:180 trunk/php/class-admin.php:180
551
+ msgid "Support"
552
+ msgstr "Soutien"
553
+
554
+ #: php/class-admin.php:179 trunk/php/class-admin.php:179
555
+ msgid "Visit the support forums"
556
+ msgstr "Visiter les forums de soutien (anglais)"
557
+
558
+ #: php/class-admin.php:175 trunk/php/class-admin.php:175
559
+ msgid "About"
560
+ msgstr "À propos"
561
+
562
+ #: php/class-admin.php:174 trunk/php/class-admin.php:174
563
+ msgid "Visit the WordPress.org plugin page"
564
+ msgstr "Visiter la page de l'extension WordPress.org"
565
+
566
+ #: php/class-admin.php:143 trunk/php/class-admin.php:143
567
+ msgid "Manage your existing snippets"
568
+ msgstr "Gérer vos Snippets existants"
569
+
570
+ #: php/admin-menus/class-settings-menu.php:17
571
+ #: trunk/php/admin-menus/class-settings-menu.php:17
572
+ msgid "Snippets Settings"
573
+ msgstr "Paramètres des Snippets"
574
+
575
+ #: php/admin-menus/class-settings-menu.php:16
576
+ #: trunk/php/admin-menus/class-settings-menu.php:16
577
+ msgctxt "menu label"
578
+ msgid "Settings"
579
+ msgstr "Paramètres"
580
+
581
+ #: php/admin-menus/class-manage-menu.php:92
582
+ #: trunk/php/admin-menus/class-manage-menu.php:92
583
+ msgid "Selected snippets <strong>deleted</strong>."
584
+ msgstr "Les Snippets sélectionnés ont été <strong>supprimés</strong>."
585
+
586
+ #: php/admin-menus/class-manage-menu.php:91
587
+ #: trunk/php/admin-menus/class-manage-menu.php:91
588
+ msgid "Snippet <strong>deleted</strong>."
589
+ msgstr "Snippet <strong>supprimé</strong>."
590
+
591
+ #: php/admin-menus/class-manage-menu.php:90
592
+ #: trunk/php/admin-menus/class-manage-menu.php:90
593
+ msgid "Selected snippets <strong>deactivated</strong>."
594
+ msgstr "Les Snippets sélectionnés ont été <strong>désactivés</strong>."
595
+
596
+ #: php/admin-menus/class-manage-menu.php:89
597
+ #: trunk/php/admin-menus/class-manage-menu.php:89
598
+ msgid "Snippet <strong>deactivated</strong>."
599
+ msgstr "Snippet <strong>désactivé</strong>."
600
+
601
+ #: php/admin-menus/class-manage-menu.php:88
602
+ #: trunk/php/admin-menus/class-manage-menu.php:88
603
+ msgid "Selected snippets <strong>activated</strong>."
604
+ msgstr "Les Snippets sélectionnés ont été <strong>activés</strong>."
605
+
606
+ #: php/admin-menus/class-manage-menu.php:87
607
+ #: trunk/php/admin-menus/class-manage-menu.php:87
608
+ msgid "Snippet <strong>activated</strong>."
609
+ msgstr "Snippet <strong>activé</strong>."
610
+
611
+ #: php/admin-menus/class-manage-menu.php:81
612
+ #: trunk/php/admin-menus/class-manage-menu.php:81
613
+ msgid "<strong>Warning:</strong> Safe mode is active and snippets will not execute! Remove the <code>CODE_SNIPPETS_SAFE_MODE</code> constant from <code>wp-config.php</code> to turn off safe mode. <a href=\"https://github.com/sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank\">Help</a>"
614
+ msgstr "<strong>Attention:</strong> Le mode sans échec est activé et les Snippets ne s'exécuteront pas! Supprimez la constante <code>CODE_SNIPPETS_SAFE_MODE</code> du fichier <code>wp-config.php</code> pour désactiver le mode sans échec. <a href=\"https://github.com/sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank\">Aide (anglais)</a>"
615
+
616
+ #: php/admin-menus/class-manage-menu.php:46
617
+ #: trunk/php/admin-menus/class-manage-menu.php:46
618
+ msgctxt "top-level menu label"
619
+ msgid "Snippets"
620
+ msgstr "Snippets"
621
+
622
+ #: php/admin-menus/class-manage-menu.php:23
623
+ #: php/admin-menus/class-manage-menu.php:45 php/class-admin.php:61
624
+ #: php/class-admin.php:144 php/views/manage.php:19
625
+ #: trunk/php/admin-menus/class-manage-menu.php:23
626
+ #: trunk/php/admin-menus/class-manage-menu.php:45 trunk/php/class-admin.php:61
627
+ #: trunk/php/class-admin.php:144 trunk/php/views/manage.php:19
628
+ msgid "Snippets"
629
+ msgstr "Snippets"
630
+
631
+ #: php/admin-menus/class-manage-menu.php:22
632
+ #: trunk/php/admin-menus/class-manage-menu.php:22
633
+ msgctxt "menu label"
634
+ msgid "All Snippets"
635
+ msgstr "Tous les Snippets"
636
+
637
+ #: php/admin-menus/class-import-menu.php:112
638
+ #: trunk/php/admin-menus/class-import-menu.php:112
639
+ msgid "An error occurred when processing the import file."
640
+ msgstr "Une erreur est survenue durant l'importation du fichier."
641
+
642
+ #: php/admin-menus/class-import-menu.php:98
643
+ #: trunk/php/admin-menus/class-import-menu.php:98
644
+ msgid "Successfully imported <strong>%d</strong> snippet. <a href=\"%s\">Have fun!</a>"
645
+ msgid_plural "Successfully imported <strong>%d</strong> snippets. <a href=\"%s\">Have fun!</a>"
646
+ msgstr[0] "<strong>%d</strong> Snippet importé avec succès. <a href=\"%s\">Amusez-vous !</a>"
647
+ msgstr[1] "<strong>%d</strong> Snippets importés avec succès. <a href=\"%s\">Amusez-vous !</a>"
648
+
649
+ #: php/admin-menus/class-import-menu.php:85
650
+ #: trunk/php/admin-menus/class-import-menu.php:85
651
+ msgid "Import snippets from a code snippets export file"
652
+ msgstr "Importer des Snippets depuis un fichier d'exportation Code Snippets."
653
+
654
+ #. #-#-#-#-# tmp-code-snippets.pot (Code Snippets 2.8.2) #-#-#-#-#
655
+ #. Plugin Name of the plugin/theme
656
+ #: php/admin-menus/class-import-menu.php:84
657
+ #: trunk/php/admin-menus/class-import-menu.php:84
658
+ msgid "Code Snippets"
659
+ msgstr "Code Snippets"
660
+
661
+ #: php/admin-menus/class-import-menu.php:16 php/views/import.php:17
662
+ #: trunk/php/admin-menus/class-import-menu.php:16 trunk/php/views/import.php:17
663
+ msgid "Import Snippets"
664
+ msgstr "Importer des Snippets"
665
+
666
+ #: php/admin-menus/class-import-menu.php:15
667
+ #: trunk/php/admin-menus/class-import-menu.php:15
668
+ msgctxt "menu label"
669
+ msgid "Import"
670
+ msgstr "Importer"
671
+
672
+ #: php/admin-menus/class-edit-menu.php:447
673
+ #: trunk/php/admin-menus/class-edit-menu.php:447
674
+ msgid "Snippet <strong>updated</strong> and <strong>deactivated</strong>."
675
+ msgstr "Snippet <strong>mis à jour</strong> et <strong>désactivé</strong>."
676
+
677
+ #: php/admin-menus/class-edit-menu.php:446
678
+ #: trunk/php/admin-menus/class-edit-menu.php:446
679
+ msgid "Snippet <strong>updated</strong> and <strong>activated</strong>."
680
+ msgstr "Snippet <strong>mis à jour</strong> et <strong>activé</strong>."
681
+
682
+ #: php/admin-menus/class-edit-menu.php:445
683
+ #: trunk/php/admin-menus/class-edit-menu.php:445
684
+ msgid "Snippet <strong>added</strong> and <strong>activated</strong>."
685
+ msgstr "Snippet <strong>ajouté</strong> et <strong>activé</strong>."
686
+
687
+ #: php/admin-menus/class-edit-menu.php:444
688
+ #: trunk/php/admin-menus/class-edit-menu.php:444
689
+ msgid "Snippet <strong>updated</strong>."
690
+ msgstr "Snippet <strong>mis à jour</strong>."
691
+
692
+ #: php/admin-menus/class-edit-menu.php:443
693
+ #: trunk/php/admin-menus/class-edit-menu.php:443
694
+ msgid "Snippet <strong>added</strong>."
695
+ msgstr "Snippet <strong>ajouté</strong>."
696
+
697
+ #: php/admin-menus/class-edit-menu.php:438
698
+ #: trunk/php/admin-menus/class-edit-menu.php:438
699
+ msgid "An error occurred when saving the snippet."
700
+ msgstr "Une erreur est survenue lors de la sauvegarde du Snippet."
701
+
702
+ #: php/admin-menus/class-edit-menu.php:431
703
+ #: trunk/php/admin-menus/class-edit-menu.php:431
704
+ msgid "The snippet has been deactivated due to an error in the code."
705
+ msgstr "Le Snippet a été désactivé en raison d'une erreur dans le code."
706
+
707
+ #: php/admin-menus/class-edit-menu.php:426
708
+ #: trunk/php/admin-menus/class-edit-menu.php:426
709
+ msgid "The snippet has been deactivated due to an error on line %d:"
710
+ msgstr "Le Snippet a été désactivé en raison d'une erreur à la ligne %d :"
711
+
712
+ #: php/admin-menus/class-edit-menu.php:366
713
+ #: trunk/php/admin-menus/class-edit-menu.php:366
714
+ msgid "Allow this snippet to be activated on individual sites on the network"
715
+ msgstr "Permettre à ce Snippet d'être activé sur des sites individuels du réseau"
716
+
717
+ #: php/admin-menus/class-edit-menu.php:362
718
+ #: trunk/php/admin-menus/class-edit-menu.php:362
719
+ msgid "Sharing"
720
+ msgstr "Partage"
721
+
722
+ #: php/admin-menus/class-edit-menu.php:342
723
+ #: trunk/php/admin-menus/class-edit-menu.php:342
724
+ msgid "Scope"
725
+ msgstr "Visibilité"
726
+
727
+ #: php/admin-menus/class-edit-menu.php:338
728
+ #: trunk/php/admin-menus/class-edit-menu.php:338
729
+ msgid "Only run on site front-end"
730
+ msgstr "Exécuter seulement en front-end (sur le site)"
731
+
732
+ #: php/admin-menus/class-edit-menu.php:337
733
+ #: trunk/php/admin-menus/class-edit-menu.php:337
734
+ msgid "Only run in administration area"
735
+ msgstr "Exécuter seulement dans l'administration"
736
+
737
+ #: php/admin-menus/class-edit-menu.php:336
738
+ #: trunk/php/admin-menus/class-edit-menu.php:336
739
+ msgid "Run snippet everywhere"
740
+ msgstr "Exécuter le Snippet partout"
741
+
742
+ #: php/admin-menus/class-edit-menu.php:316
743
+ #: trunk/php/admin-menus/class-edit-menu.php:316
744
+ msgid "Enter a list of tags; separated by commas"
745
+ msgstr "Entrez une liste d'étiquettes; séparées par des virgules"
746
+
747
+ #: php/admin-menus/class-edit-menu.php:312 php/class-list-table.php:325
748
+ #: trunk/php/admin-menus/class-edit-menu.php:312
749
+ #: trunk/php/class-list-table.php:325
750
+ msgid "Tags"
751
+ msgstr "Étiquettes"
752
+
753
+ #: php/admin-menus/class-edit-menu.php:161
754
+ #: trunk/php/admin-menus/class-edit-menu.php:161
755
+ msgid "If you prefer, you can close this page and discard the changes you just made. No changes will be made to this site."
756
+ msgstr "Si vous préférez, vous pouvez fermer cette page et ignorer les modifications que vous venez de faire. Aucun changement ne sera apporté à ce site."
757
+
758
+ #: php/admin-menus/class-edit-menu.php:160
759
+ #: trunk/php/admin-menus/class-edit-menu.php:160
760
+ msgid "Please use the back button in your browser to return to the previous page and try to fix the code error."
761
+ msgstr "Veuillez utiliser le bouton Précédent de votre navigateur pour revenir à la page précédente et essayer de corriger l'erreur de code."
762
+
763
+ #: php/admin-menus/class-edit-menu.php:159
764
+ #: trunk/php/admin-menus/class-edit-menu.php:159
765
+ msgid "The previous version of the snippet is unchanged, and the rest of this site should be functioning normally as before."
766
+ msgstr "La version précédente du Snippet est inchangée, et le reste de ce site devrait fonctionner normalement comme avant."
767
+
768
+ #: php/admin-menus/class-edit-menu.php:157
769
+ #: trunk/php/admin-menus/class-edit-menu.php:157
770
+ msgid "The code snippet you are trying to save produced a fatal error on line %d:"
771
+ msgstr "Le code du Snippet que vous essayez de sauvegarder a produit une erreur fatale à la ligne %d :"
772
+
773
+ #: php/admin-menus/class-edit-menu.php:156
774
+ #: trunk/php/admin-menus/class-edit-menu.php:156
775
+ msgid "Don't Panic"
776
+ msgstr "Pas de panique"
777
+
778
+ #: php/admin-menus/class-edit-menu.php:40 php/views/edit.php:31
779
+ #: trunk/php/admin-menus/class-edit-menu.php:40 trunk/php/views/edit.php:31
780
+ msgid "Add New Snippet"
781
+ msgstr "Ajouter un Snippet"
782
+
783
+ #: php/admin-menus/class-edit-menu.php:39
784
+ #: trunk/php/admin-menus/class-edit-menu.php:39
785
+ msgctxt "menu label"
786
+ msgid "Add New"
787
+ msgstr "Ajouter"
788
+
789
+ #: php/admin-menus/class-edit-menu.php:13
790
+ #: php/admin-menus/class-edit-menu.php:14 php/views/edit.php:25
791
+ #: trunk/php/admin-menus/class-edit-menu.php:13
792
+ #: trunk/php/admin-menus/class-edit-menu.php:14 trunk/php/views/edit.php:25
793
+ msgid "Edit Snippet"
794
+ msgstr "Éditer le Snippet"
795
+
796
+ #: php/admin-menus/class-admin-menu.php:103
797
+ #: trunk/php/admin-menus/class-admin-menu.php:103
798
+ msgid "You are not authorized to access this page."
799
+ msgstr "Vous n'êtes pas autorisé à accéder à cette page."
languages/code-snippets-id_ID.mo CHANGED
Binary file
languages/code-snippets-id_ID.old.mo DELETED
Binary file
languages/code-snippets-id_ID.po CHANGED
@@ -1,44 +1,40 @@
 
 
 
 
 
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: Code Snippets v2.8.0\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2017-05-05 23:25+1000\n"
6
- "PO-Revision-Date: 2017-05-05 23:25+1000\n"
7
- "Last-Translator: Jordan Silaen <jordan.silaen@chameleonjohn.com>\n"
8
- "Language-Team: ChameleonJohn.com <jordan.silaen@chameleonjohn.com>\n"
9
- "Language: id_ID\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
- "X-Generator: Poedit 2.0.1\n"
15
- "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
17
- "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
18
- "X-Poedit-Basepath: ..\n"
19
- "X-Textdomain-Support: yes\n"
20
- "X-Poedit-SearchPath-0: .\n"
21
 
22
  #: php/admin-menus/class-admin-menu.php:103
23
  msgid "You are not authorized to access this page."
24
- msgstr "Kamu tidak diperbolehkan mengakses halaman ini."
25
 
26
- # @ code-snippets
27
  #: php/admin-menus/class-edit-menu.php:13
28
  #: php/admin-menus/class-edit-menu.php:14 php/views/edit.php:25
29
  msgid "Edit Snippet"
30
- msgstr "mengedit cuplikan"
31
 
32
- # @ code-snippets
33
  #: php/admin-menus/class-edit-menu.php:39
34
  msgctxt "menu label"
35
  msgid "Add New"
36
- msgstr "Tambah baru"
37
 
38
- # @ code-snippets
39
  #: php/admin-menus/class-edit-menu.php:40 php/views/edit.php:31
40
  msgid "Add New Snippet"
41
- msgstr "Add New Cuplikan"
42
 
43
  #: php/admin-menus/class-edit-menu.php:156
44
  msgid "Don't Panic"
@@ -49,57 +45,57 @@ msgstr "Jangan Panik"
49
  msgid ""
50
  "The code snippet you are trying to save produced a fatal error on line %d:"
51
  msgstr ""
52
- "Potongan kode Anda mencoba untuk menyimpan menghasilkan kesalahan fatal pada "
53
- "baris %d :"
54
 
55
  #: php/admin-menus/class-edit-menu.php:159
56
  msgid ""
57
  "The previous version of the snippet is unchanged, and the rest of this site "
58
  "should be functioning normally as before."
59
  msgstr ""
60
- "Versi sebelumnya dari potongan tidak berubah, dan sisanya dari situs ini "
61
- "harus berfungsi normal seperti sebelumnya."
62
 
63
  #: php/admin-menus/class-edit-menu.php:160
64
  msgid ""
65
  "Please use the back button in your browser to return to the previous page "
66
  "and try to fix the code error."
67
  msgstr ""
68
- "Gunakan tombol kembali browser Anda untuk kembali ke halaman sebelumnya dan "
69
- "mencoba untuk memperbaiki kesalahan kode."
70
 
71
  #: php/admin-menus/class-edit-menu.php:161
72
  msgid ""
73
  "If you prefer, you can close this page and discard the changes you just "
74
  "made. No changes will be made to this site."
75
  msgstr ""
76
- "Jika Anda suka, Anda dapat menutup halaman ini dan membuang perubahan yang "
77
- "baru saja dibuat. Tidak ada perubahan akan dilakukan untuk situs ini."
 
78
 
79
- # @ code-snippets
80
- #: php/admin-menus/class-edit-menu.php:281 php/class-list-table.php:341
81
  msgid "Description"
82
  msgstr "Deskripsi"
83
 
84
- #: php/admin-menus/class-edit-menu.php:312 php/class-list-table.php:342
85
  msgid "Tags"
86
- msgstr "Tags"
87
 
88
  #: php/admin-menus/class-edit-menu.php:316
89
  msgid "Enter a list of tags; separated by commas"
90
- msgstr "Masukkan daftar tag; dipisahkan dengan koma"
91
 
92
  #: php/admin-menus/class-edit-menu.php:336
93
  msgid "Run snippet everywhere"
94
- msgstr "Jalankan potongan di mana-mana"
95
 
96
  #: php/admin-menus/class-edit-menu.php:337
97
  msgid "Only run in administration area"
98
- msgstr "Hanya berjalan di daerah administrasi"
99
 
100
  #: php/admin-menus/class-edit-menu.php:338
101
  msgid "Only run on site front-end"
102
- msgstr "Hanya berjalan di situs front-end"
103
 
104
  #: php/admin-menus/class-edit-menu.php:342
105
  msgid "Scope"
@@ -107,68 +103,62 @@ msgstr "Cakupan"
107
 
108
  #: php/admin-menus/class-edit-menu.php:362
109
  msgid "Sharing"
110
- msgstr "berbagi"
111
 
112
  #: php/admin-menus/class-edit-menu.php:366
113
  msgid "Allow this snippet to be activated on individual sites on the network"
114
- msgstr ""
115
- "Izinkan potongan ini harus diaktifkan pada situs individu pada jaringan"
116
 
117
  #: php/admin-menus/class-edit-menu.php:426
118
  #, php-format
119
  msgid "The snippet has been deactivated due to an error on line %d:"
120
- msgstr "Potongan telah dinonaktifkan karena kesalahan pada baris %d :"
121
 
122
  #: php/admin-menus/class-edit-menu.php:431
123
  msgid "The snippet has been deactivated due to an error in the code."
124
- msgstr "potongan telah dinonaktifkan karena kesalahan dalam kode."
125
 
126
  #: php/admin-menus/class-edit-menu.php:438
127
  msgid "An error occurred when saving the snippet."
128
- msgstr "Terjadi kesalahan saat menyimpan potongan."
129
 
130
- # @ code-snippets
131
  #: php/admin-menus/class-edit-menu.php:443
132
  msgid "Snippet <strong>added</strong>."
133
- msgstr "Cuplikan <strong>menambahkan</strong>."
134
 
135
- # @ code-snippets
136
  #: php/admin-menus/class-edit-menu.php:444
137
  msgid "Snippet <strong>updated</strong>."
138
- msgstr "Cuplikan <strong>update</strong>."
139
 
140
- # @ code-snippets
141
  #: php/admin-menus/class-edit-menu.php:445
142
  msgid "Snippet <strong>added</strong> and <strong>activated</strong>."
143
- msgstr "Cuplikan <strong>menambahkan</strong> dan <strong>diaktifkan</strong>."
144
 
145
- # @ code-snippets
146
  #: php/admin-menus/class-edit-menu.php:446
147
  msgid "Snippet <strong>updated</strong> and <strong>activated</strong>."
148
- msgstr "Cuplikan <strong>update</strong> dan <strong>diaktifkan</strong>."
149
 
150
  #: php/admin-menus/class-edit-menu.php:447
151
  msgid "Snippet <strong>updated</strong> and <strong>deactivated</strong>."
152
- msgstr "Cuplikan <strong>update</strong> dan <strong>dinonaktifkan</strong>."
 
153
 
154
  #: php/admin-menus/class-import-menu.php:15
155
  msgctxt "menu label"
156
  msgid "Import"
157
  msgstr "Impor"
158
 
159
- # @ code-snippets
160
  #: php/admin-menus/class-import-menu.php:16 php/views/import.php:17
161
  msgid "Import Snippets"
162
- msgstr "impor Cuplikan"
163
 
164
- # @ code-snippets
165
  #: php/admin-menus/class-import-menu.php:84
166
  msgid "Code Snippets"
167
- msgstr "code Snippets"
168
 
169
  #: php/admin-menus/class-import-menu.php:85
170
  msgid "Import snippets from a code snippets export file"
171
- msgstr "Impor cuplikan dari kode cuplikan file ekspor"
172
 
173
  #: php/admin-menus/class-import-menu.php:99
174
  #, php-format
@@ -179,30 +169,28 @@ msgid_plural ""
179
  "Successfully imported <strong>%d</strong> snippets. <a href=\"%s\">Have fun!"
180
  "</a>"
181
  msgstr[0] ""
182
- "Berhasil diimpor <strong>%d</strong> potongan. <a href=\"%s\">Have fun!</a>"
183
- msgstr[1] ""
184
- "Berhasil diimpor <strong>%d</strong> potongan. <a href=\"%s\">Have fun!</a>"
185
 
186
  #: php/admin-menus/class-import-menu.php:112
187
  msgid "An error occurred when processing the import file."
188
- msgstr "Terjadi kesalahan saat memproses file impor."
189
 
190
  #: php/admin-menus/class-manage-menu.php:22
191
  msgctxt "menu label"
192
  msgid "All Snippets"
193
- msgstr "semua Cuplikan"
194
 
195
- # @ code-snippets
196
  #: php/admin-menus/class-manage-menu.php:23
197
  #: php/admin-menus/class-manage-menu.php:45 php/class-admin.php:61
198
  #: php/class-admin.php:144 php/views/manage.php:19
199
  msgid "Snippets"
200
- msgstr "cuplikan"
201
 
202
  #: php/admin-menus/class-manage-menu.php:46
203
  msgctxt "top-level menu label"
204
  msgid "Snippets"
205
- msgstr "cuplikan"
206
 
207
  #: php/admin-menus/class-manage-menu.php:81
208
  msgid ""
@@ -211,89 +199,76 @@ msgid ""
211
  "config.php</code> to turn off safe mode. <a href=\"https://github.com/"
212
  "sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank\">Help</a>"
213
  msgstr ""
214
- "<strong>Peringatan:</strong> Safe mode aktif dan potongan tidak akan "
215
- "mengeksekusi! Hapus <code>CODE_SNIPPETS_SAFE_MODE</code> konstan dari "
216
- "<code>wp-config.php</code> untuk mematikan mode aman. <a href=\"https://"
217
- "github.com/sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank\"> "
218
- "Bantuan</a>"
219
 
220
- # @ code-snippets
221
  #: php/admin-menus/class-manage-menu.php:87
222
  msgid "Snippet <strong>activated</strong>."
223
- msgstr "Cuplikan <strong>diaktifkan</strong>."
224
 
225
- # @ code-snippets
226
  #: php/admin-menus/class-manage-menu.php:88
227
  msgid "Selected snippets <strong>activated</strong>."
228
- msgstr "potongan yang dipilih <strong>diaktifkan</strong>."
229
 
230
- # @ code-snippets
231
  #: php/admin-menus/class-manage-menu.php:89
232
  msgid "Snippet <strong>deactivated</strong>."
233
- msgstr "Cuplikan <strong>dinonaktifkan</strong>."
234
 
235
- # @ code-snippets
236
  #: php/admin-menus/class-manage-menu.php:90
237
  msgid "Selected snippets <strong>deactivated</strong>."
238
- msgstr "potongan yang dipilih <strong>dinonaktifkan</strong>."
239
 
240
- # @ code-snippets
241
  #: php/admin-menus/class-manage-menu.php:91
242
  msgid "Snippet <strong>deleted</strong>."
243
- msgstr "Cuplikan <strong>dihapus</strong>."
244
 
245
- # @ code-snippets
246
  #: php/admin-menus/class-manage-menu.php:92
247
  msgid "Selected snippets <strong>deleted</strong>."
248
- msgstr "potongan yang dipilih <strong>dihapus</strong>."
249
 
250
  #: php/admin-menus/class-settings-menu.php:16
251
  msgctxt "menu label"
252
  msgid "Settings"
253
- msgstr "pengaturan"
254
 
255
  #: php/admin-menus/class-settings-menu.php:17
256
  msgid "Snippets Settings"
257
- msgstr "Pengaturan cuplikan"
258
 
259
  #: php/admin-menus/class-settings-menu.php:39 php/views/edit.php:135
260
  msgid "Settings"
261
- msgstr "pengaturan"
262
 
263
- # @ code-snippets
264
  #: php/class-admin.php:143
265
  msgid "Manage your existing snippets"
266
- msgstr "Mengelola potongan yang ada"
267
 
268
- # @ code-snippets
269
  #: php/class-admin.php:174
270
  msgid "Visit the WordPress.org plugin page"
271
- msgstr "Kunjungi laman plugin WordPress.org"
272
 
273
- # @ code-snippets
274
  #: php/class-admin.php:175
275
  msgid "About"
276
  msgstr "Tentang"
277
 
278
- # @ code-snippets
279
  #: php/class-admin.php:179
280
  msgid "Visit the support forums"
281
  msgstr "Kunjungi forum dukungan"
282
 
283
- # @ code-snippets
284
  #: php/class-admin.php:180
285
  msgid "Support"
286
- msgstr "Mendukung"
287
 
288
- # @ code-snippets
289
  #: php/class-admin.php:184
290
  msgid "Support this plugin's development"
291
- msgstr "Mendukung pembangunan plugin ini"
292
 
293
- # @ code-snippets
294
  #: php/class-admin.php:185
295
  msgid "Donate"
296
- msgstr "Menyumbangkan"
297
 
298
  #: php/class-admin.php:216
299
  msgid ""
@@ -301,20 +276,19 @@ msgid ""
301
  "answer a short survey on how you use this plugin and what you'd like to see "
302
  "changed or added in the future."
303
  msgstr ""
304
- "<strong>Punya umpan balik pada Code Snippets?</strong> Harap meluangkan "
305
- "waktu untuk menjawab survei singkat tentang bagaimana Anda menggunakan "
306
- "plugin ini dan apa yang Anda ingin lihat berubah atau ditambahkan di masa "
307
- "depan."
308
 
309
  #: php/class-admin.php:220
310
  msgid "Take the survey now"
311
- msgstr "Ambil survei sekarang"
312
 
313
  #: php/class-admin.php:223
314
  msgid "Dismiss"
315
- msgstr "Memberhentikan"
316
 
317
- # @ code-snippets
318
  #: php/class-contextual-help.php:40
319
  msgid "For more information:"
320
  msgstr "Untuk informasi lebih lanjut:"
@@ -333,15 +307,13 @@ msgstr "Forum Dukungan"
333
 
334
  #: php/class-contextual-help.php:44
335
  msgid "Plugin Website"
336
- msgstr "Plugin Situs Web"
337
 
338
- # @ code-snippets
339
  #: php/class-contextual-help.php:55 php/class-contextual-help.php:81
340
- #: php/class-contextual-help.php:122
341
  msgid "Overview"
342
- msgstr "Ikhtisar"
343
 
344
- # @ code-snippets
345
  #: php/class-contextual-help.php:56
346
  msgid ""
347
  "Snippets are similar to plugins - they both extend and expand the "
@@ -350,30 +322,27 @@ msgid ""
350
  "your existing snippets and perform tasks on them such as activating, "
351
  "deactivating, deleting and exporting."
352
  msgstr ""
353
- "Cuplikan mirip dengan plugin - mereka berdua memperluas dan memperluas "
354
- "fungsi WordPress. Cuplikan lebih ringan, hanya beberapa baris kode, dan "
355
- "tidak menempatkan sebanyak beban pada server Anda. Di sini Anda dapat "
356
- "mengelola potongan yang ada dan melakukan tugas-tugas mereka seperti "
357
- "mengaktifkan, menonaktifkan, menghapus dan mengekspor."
358
 
359
- # @ code-snippets
360
  #: php/class-contextual-help.php:61
361
  msgid "Safe Mode"
362
- msgstr "Mode aman"
363
 
364
- # @ code-snippets
365
  #: php/class-contextual-help.php:62
366
  msgid ""
367
  "Be sure to check your snippets for errors before you activate them, as a "
368
  "faulty snippet could bring your whole blog down. If your site starts doing "
369
  "strange things, deactivate all your snippets and activate them one at a time."
370
  msgstr ""
371
- "Pastikan untuk memeriksa potongan Anda untuk kesalahan sebelum Anda "
372
- "mengaktifkan mereka, sebagai potongan rusak bisa membawa seluruh blog Anda "
373
- "ke bawah. Jika situs Anda mulai melakukan hal-hal aneh, menonaktifkan semua "
374
- "potongan Anda dan mengaktifkan mereka satu per satu."
375
 
376
- # @ code-snippets
377
  #: php/class-contextual-help.php:63
378
  msgid ""
379
  "If something goes wrong with a snippet and you can't use WordPress, you can "
@@ -383,20 +352,17 @@ msgid ""
383
  "you can turn off safe mode by removing this line or replacing <strong>true</"
384
  "strong> with <strong>false</strong>."
385
  msgstr ""
386
- "Jika ada yang salah dengan potongan dan Anda tidak dapat menggunakan "
387
- "WordPress, Anda dapat menyebabkan semua potongan untuk menghentikan "
388
- "mengeksekusi dengan menambahkan <code>define ( 'CODE_SNIPPETS_SAFE_MODE', "
389
- "true);</code> untuk <code>wp-config Anda. php</code> berkas. Setelah Anda "
390
- "telah dinonaktifkan potongan menyinggung, Anda dapat menonaktifkan mode aman "
391
- "dengan menghapus baris ini atau mengganti <strong>true</strong> dengan "
392
- "<strong>palsu</strong>."
393
-
394
- # @ code-snippets
395
  #: php/class-contextual-help.php:68
396
  msgid "Uninstall"
397
- msgstr "Uninstall"
398
 
399
- # @ code-snippets
400
  #: php/class-contextual-help.php:69
401
  #, php-format
402
  msgid ""
@@ -406,24 +372,22 @@ msgid ""
406
  "uninstalling Code Snippets) then remove the <code>%2$s</code> folder using "
407
  "FTP."
408
  msgstr ""
409
- "Ketika Anda menghapus Code Snippets melalui menu Plugins di WordPress itu "
410
- "akan menjernihkan <code>%1$s</code> meja dan beberapa potongan lain data "
411
- "yang disimpan dalam database. Jika Anda ingin menyimpan data ini (yaitu: "
412
- "Anda hanya temporal menguninstall Code Snippets) kemudian hapus <code>%2$s</"
413
- "code> folder menggunakan FTP."
414
 
415
- # @ code-snippets
416
  #: php/class-contextual-help.php:70
417
  msgid ""
418
  "Even if you're sure that you don't want to use Code Snippets ever again on "
419
  "this WordPress installation, you may want to use the export feature to back "
420
  "up your snippets."
421
  msgstr ""
422
- "Bahkan jika Anda yakin bahwa Anda tidak ingin menggunakan Code Snippets lagi "
423
- "pada instalasi WordPress ini, Anda mungkin ingin menggunakan fitur ekspor "
424
- "untuk mendukung potongan Anda."
425
 
426
- # @ code-snippets
427
  #: php/class-contextual-help.php:82
428
  msgid ""
429
  "Snippets are similar to plugins - they both extend and expand the "
@@ -431,112 +395,92 @@ msgid ""
431
  "of code, and do not put as much load on your server. Here you can add a new "
432
  "snippet, or edit an existing one."
433
  msgstr ""
434
- "Cuplikan mirip dengan plugin - mereka berdua memperluas dan memperluas "
435
- "fungsi WordPress. Cuplikan lebih ringan, hanya beberapa baris kode, dan "
436
- "tidak menempatkan sebanyak beban pada server Anda. Di sini Anda dapat "
437
- "menambahkan potongan baru, atau mengedit yang sudah ada."
438
 
439
- # @ code-snippets
440
- #: php/class-contextual-help.php:87
441
- #, fuzzy
442
- #| msgid "Snippets"
443
  msgid "WP-Snippets"
444
- msgstr "cuplikan"
445
 
446
- # @ code-snippets
447
- #: php/class-contextual-help.php:87
448
- #, fuzzy
449
- #| msgid "http://bungeshea.com"
450
  msgid "http://wp-snippets.com"
451
- msgstr "http://bungeshea.com/"
452
 
453
- # @ code-snippets
454
- #: php/class-contextual-help.php:88
455
- #, fuzzy
456
- #| msgid "Snippets"
457
  msgid "WP Snipp"
458
- msgstr "cuplikan"
459
 
460
- # @ code-snippets
461
- #: php/class-contextual-help.php:88
462
- #, fuzzy
463
- #| msgid "http://bungeshea.com"
464
  msgid "http://wpsnipp.com"
465
- msgstr "http://bungeshea.com/"
466
 
467
- #: php/class-contextual-help.php:89
468
  msgid "Cats Who Code"
469
- msgstr ""
470
 
471
- # @ code-snippets
472
- #: php/class-contextual-help.php:89
473
- #, fuzzy
474
- #| msgid "http://bungeshea.com/plugins/code-snippets"
475
  msgid "http://www.catswhocode.com/blog/snippets"
476
- msgstr "http://bungeshea.com/plugins/code-snippets/"
477
 
478
- #: php/class-contextual-help.php:90
479
  msgid "WP Function Me"
480
- msgstr ""
481
 
482
- #: php/class-contextual-help.php:90
483
  msgid "http://www.wpfunction.me"
484
- msgstr ""
485
 
486
- # @ code-snippets
487
- #: php/class-contextual-help.php:100
488
  msgid "Finding Snippets"
489
- msgstr "temuan Cuplikan"
490
 
491
- #: php/class-contextual-help.php:101
492
  msgid ""
493
  "Here are some links to websites which host a large number of snippets that "
494
  "you can add to your site:"
495
  msgstr ""
 
 
496
 
497
- # @ code-snippets
498
- #: php/class-contextual-help.php:103
499
  msgid ""
500
  "More places to find snippets, as well as a selection of example snippets, "
501
  "can be found in the <a href=\"https://github.com/sheabunge/code-snippets/"
502
  "wiki/Finding-snippets\">plugin documentation</a>"
503
  msgstr ""
504
- "Lebih banyak tempat untuk menemukan potongan, serta pilihan contoh potongan, "
505
- "dapat ditemukan di <a href=\"https://github.com/sheabunge/code-snippets/wiki/"
506
- "Finding-snippets\"> dokumentasi plugin</a>"
507
 
508
- # @ code-snippets
509
- #: php/class-contextual-help.php:108
510
  msgid "Adding Snippets"
511
- msgstr "menambahkan Cuplikan"
512
 
513
- # @ code-snippets
514
- #: php/class-contextual-help.php:109
515
  msgid ""
516
  "You need to fill out the name and code fields for your snippet to be added. "
517
  "While the description field will add more information about how your snippet "
518
  "works, what is does and where you found it, it is completely optional."
519
  msgstr ""
520
- "Anda perlu mengisi nama dan kode kolom untuk potongan Anda akan ditambahkan. "
521
- "Sedangkan field deskripsi akan menambahkan informasi lebih lanjut tentang "
522
- "bagaimana potongan Anda bekerja, apa yang dilakukannya dan di mana Anda "
523
- "menemukannya, itu benar-benar opsional."
524
 
525
- # @ code-snippets
526
- #: php/class-contextual-help.php:110
527
  msgid ""
528
  "Please be sure to check that your snippet is valid PHP code and will not "
529
  "produce errors before adding it through this page. While doing so will not "
530
  "become active straight away, it will help to minimise the chance of a faulty "
531
  "snippet becoming active on your site."
532
  msgstr ""
533
- "Pastikan untuk memeriksa bahwa potongan Anda adalah kode PHP yang valid dan "
534
- "tidak akan menghasilkan kesalahan sebelum menambahkannya melalui halaman "
535
- "ini. Meskipun demikian tidak akan menjadi aktif langsung, ini akan membantu "
536
- "untuk meminimalkan kemungkinan potongan rusak menjadi aktif di situs Anda."
537
 
538
- # @ code-snippets
539
- #: php/class-contextual-help.php:123
540
  msgid ""
541
  "Snippets are similar to plugins - they both extend and expand the "
542
  "functionality of WordPress. Snippets are more light-weight, just a few lines "
@@ -544,27 +488,25 @@ msgid ""
544
  "snippets from a Code Snippets (.xml) import file into the database with your "
545
  "existing snippets."
546
  msgstr ""
547
- "Cuplikan mirip dengan plugin - mereka berdua memperluas dan memperluas "
548
- "fungsi WordPress. Cuplikan lebih ringan, hanya beberapa baris kode, dan "
549
- "tidak menempatkan sebanyak beban pada server Anda. Di sini Anda dapat memuat "
550
- "potongan dari file impor Code Snippets (xml) ke dalam database dengan "
551
- "potongan yang ada."
552
 
553
- # @ code-snippets
554
- #: php/class-contextual-help.php:128
555
  msgid "Importing"
556
- msgstr "Pengimporan"
557
 
558
- # @ code-snippets
559
- #: php/class-contextual-help.php:129
560
  msgid ""
561
  "You can load your snippets from a code snippets (.xml) export file using "
562
  "this page."
563
  msgstr ""
564
- "Anda dapat memuat potongan Anda dari file ekspor potongan kode (xml) "
565
- "menggunakan halaman ini."
566
 
567
- #: php/class-contextual-help.php:130
568
  #, php-format
569
  msgid ""
570
  "Snippets will be added to the database along with your existing snippets. "
@@ -572,371 +514,347 @@ msgid ""
572
  "imported snippets are always inactive until activated using the <a href=\"%s"
573
  "\">All Snippets</a> page.</p>"
574
  msgstr ""
575
- "Cuplikan akan ditambahkan ke database bersama dengan potongan yang ada. "
576
- "Terlepas dari apakah potongan aktif di situs sebelumnya, potongan impor "
577
- "selalu aktif sampai diaktifkan menggunakan <a href=\"%s\">halaman Semua "
578
- "Cuplikan</a>.</p>"
579
 
580
- # @ code-snippets
581
- #: php/class-contextual-help.php:135
582
  msgid "Exporting"
583
- msgstr "mengekspor"
584
 
585
- # @ code-snippets
586
- #: php/class-contextual-help.php:136
587
  #, php-format
588
  msgid ""
589
  "You can save your snippets to a Code Snippets (.xml) export file using the "
590
  "<a href=\"%s\">Manage Snippets</a> page."
591
  msgstr ""
592
- "Anda dapat menyimpan potongan Anda ke Cuplikan Kode (xml) file ekspor "
593
- "menggunakan <a href=\"%s\">Mengelola halaman Cuplikan</a>."
594
 
595
  #: php/class-export.php:87
596
  msgid ""
597
  "This is a code snippets export file generated by the Code Snippets WordPress "
598
  "plugin."
599
  msgstr ""
600
- "Ini adalah kode cuplikan file ekspor yang dihasilkan oleh plugin Code "
601
- "Snippets WordPress."
602
 
603
  #: php/class-export.php:89
604
  msgid "To import these snippets a WordPress site follow these steps:"
605
- msgstr "Untuk mengimpor potongan ini situs WordPress ikuti langkah berikut:"
 
606
 
607
  #: php/class-export.php:90
608
  msgid "1. Log in to that site as an administrator."
609
- msgstr "1. Masuk ke situs yang sebagai administrator."
610
 
611
  #: php/class-export.php:91
612
  msgid ""
613
  "2. Install the Code Snippets plugin using the directions provided at the "
614
  "above link."
615
  msgstr ""
616
- "2. Instal plugin Code Snippets menggunakan petunjuk yang disediakan di link "
617
- "di atas."
618
 
619
  #: php/class-export.php:92
620
  msgid "3. Go to 'Tools: Import' in the WordPress admin panel."
621
- msgstr "3. Pergi ke 'Tools: Impor' di panel admin WordPress."
622
 
623
  #: php/class-export.php:93
624
  msgid "4. Click on the \"Code Snippets\" importer in the list"
625
- msgstr "4. Klik pada \"Code Snippets \" importir dalam daftar"
626
 
627
  #: php/class-export.php:94
628
  msgid "5. Upload this file using the form provided on that page."
629
  msgstr ""
630
- "5. Upload file ini menggunakan formulir yang disediakan pada halaman "
631
- "tersebut."
632
 
633
  #: php/class-export.php:95
634
  msgid ""
635
  "6. Code Snippets will then import all of the snippets and associated "
636
  "information contained in this file into your site."
637
  msgstr ""
638
- "6. Code Snippets kemudian akan mengimpor semua potongan dan informasi "
639
- "terkait yang terdapat dalam file ini ke situs Anda."
640
 
641
  #: php/class-export.php:96
642
  msgid ""
643
  "7. You will then have to visit the 'Snippets: All Snippets' admin menu and "
644
  "activate desired snippets."
645
  msgstr ""
646
- "7. Anda kemudian akan harus mengunjungi 'Cuplikan: Semua Cuplikan' menu "
647
- "admin dan mengaktifkan potongan yang diinginkan."
648
 
649
- # @ code-snippets
650
  #: php/class-list-table.php:58
651
  msgid "Snippets per page"
652
- msgstr "Cuplikan per halaman"
653
 
654
- # @ code-snippets
655
- #: php/class-list-table.php:119 php/class-list-table.php:387
656
  msgid "Network Deactivate"
657
- msgstr "jaringan Nonaktifkan"
658
 
659
- # @ code-snippets
660
- #: php/class-list-table.php:119 php/class-list-table.php:191
661
- #: php/class-list-table.php:387
662
  msgid "Deactivate"
663
- msgstr "Menonaktifkan"
664
 
665
- # @ code-snippets
666
- #: php/class-list-table.php:128 php/class-list-table.php:386
667
  msgid "Network Activate"
668
- msgstr "jaringan Aktifkan"
669
 
670
- # @ code-snippets
671
- #: php/class-list-table.php:128 php/class-list-table.php:191
672
- #: php/class-list-table.php:386
673
  msgid "Activate"
674
- msgstr "Mengaktifkan"
675
 
676
- # @ code-snippets
677
- #: php/class-list-table.php:138 php/class-list-table.php:207
678
  msgid "Edit"
679
- msgstr "mengedit"
680
 
681
- # @ code-snippets
682
- #: php/class-list-table.php:144 php/class-list-table.php:213
683
- #: php/class-list-table.php:388 php/views/edit.php:111
684
  msgid "Export"
685
  msgstr "Ekspor"
686
 
687
- # @ code-snippets
688
- #: php/class-list-table.php:153 php/class-list-table.php:225
689
- #: php/class-list-table.php:389 php/views/edit.php:124
690
  msgid "Delete"
691
- msgstr "Menghapus"
692
 
693
- #: php/class-list-table.php:160 php/class-list-table.php:235
694
  msgid "You are about to permanently delete the selected item."
695
- msgstr "Anda akan menghapus item yang dipilih secara permanen."
696
 
697
- #: php/class-list-table.php:161 php/class-list-table.php:236
698
  #: php/views/edit.php:119
699
  msgid "'Cancel' to stop, 'OK' to delete."
700
- msgstr "'Batal' untuk menghentikan, 'OK' untuk menghapus."
701
-
702
- # @ code-snippets
703
- #: php/class-list-table.php:168
704
- #, fuzzy
705
- #| msgid "Network Activate"
706
- msgid "Network Active"
707
- msgstr "jaringan Aktifkan"
708
 
709
- #: php/class-list-table.php:170
710
- msgid "Network Only"
711
- msgstr ""
712
-
713
- #: php/class-list-table.php:255
714
  #, php-format
715
  msgid "Untitled #%d"
716
- msgstr "Untitled # %d"
717
 
718
- #: php/class-list-table.php:278
719
  msgid "Shared on Network"
720
- msgstr "Dibagikan di Jaringan"
721
 
722
- # @ code-snippets
723
- #: php/class-list-table.php:339 php/views/edit.php:48
724
  msgid "Name"
725
  msgstr "Nama"
726
 
727
- # @ code-snippets
728
- #: php/class-list-table.php:340
729
  msgid "ID"
730
  msgstr "ID"
731
 
732
- # @ code-snippets
733
- #: php/class-list-table.php:390
734
  msgid "Export to PHP"
735
  msgstr "Ekspor ke PHP"
736
 
737
- # @ code-snippets
738
- #: php/class-list-table.php:428
739
  #, php-format
740
  msgid "All <span class=\"count\">(%s)</span>"
741
  msgid_plural "All <span class=\"count\">(%s)</span>"
742
- msgstr[0] "Semua <span class=\"menghitung\">(%s)</span>"
743
- msgstr[1] "Semua <span class=\"menghitung\">(%s)</span>"
744
 
745
- # @ code-snippets
746
- #: php/class-list-table.php:429
747
  #, php-format
748
  msgid "Active <span class=\"count\">(%s)</span>"
749
  msgid_plural "Active <span class=\"count\">(%s)</span>"
750
- msgstr[0] "Aktif <span class=\"menghitung\">(%s)</span>"
751
- msgstr[1] "Aktif <span class=\"menghitung\">(%s)</span>"
752
 
753
- # @ code-snippets
754
- #: php/class-list-table.php:430
755
  #, php-format
756
  msgid "Inactive <span class=\"count\">(%s)</span>"
757
  msgid_plural "Inactive <span class=\"count\">(%s)</span>"
758
- msgstr[0] "Tidak aktif <span class=\"menghitung\">(%s)</span>"
759
- msgstr[1] "Tidak aktif <span class=\"menghitung\">(%s)</span>"
760
 
761
- # @ code-snippets
762
- #: php/class-list-table.php:431
763
  #, php-format
764
  msgid "Recently Active <span class=\"count\">(%s)</span>"
765
  msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
766
- msgstr[0] "Baru-baru ini aktif <span class=\"menghitung\">(%s)</span>"
767
- msgstr[1] "Baru-baru ini aktif <span class=\"menghitung\">(%s)</span>"
768
 
769
- #: php/class-list-table.php:494
770
  msgid "Show all tags"
771
  msgstr "Tampilkan semua tag"
772
 
773
- # @ code-snippets
774
- #: php/class-list-table.php:508
775
  msgid "Filter"
776
- msgstr "Menyaring"
777
 
778
- # @ code-snippets
779
- #: php/class-list-table.php:516
780
  msgid "Clear List"
781
- msgstr "Batal Daftar"
782
 
783
- #: php/class-list-table.php:702
784
  msgid "Whoops, it looks like no snippets could be found."
785
- msgstr ""
786
 
787
- #: php/class-list-table.php:706
788
  msgid "Perhaps you would like to add a new one?"
789
- msgstr ""
790
 
791
- # @ code-snippets
792
- #: php/class-list-table.php:985
793
  msgid "Search results"
794
- msgstr "Hasil Pencarian"
795
 
796
- # @ code-snippets
797
- #: php/class-list-table.php:988
798
  #, php-format
799
  msgid " for &#8220;%s&#8221;"
800
- msgstr "untuk & # 8220; %s & # 8221;"
801
 
802
- #: php/class-list-table.php:992
803
  #, php-format
804
  msgid " in tag &#8220;%s&#8221;"
805
- msgstr "di tag & # 8220; %s & # 8221;"
806
 
807
- # @ code-snippets
808
- #: php/class-list-table.php:1000
809
  msgid "Clear Filters"
810
- msgstr "jelas Filter"
811
 
812
  #: php/settings/settings-fields.php:42
813
  msgid "Activate by Default"
814
- msgstr "Aktifkan oleh default"
815
 
816
  #: php/settings/settings-fields.php:44
817
  msgid ""
818
  "Make the 'Save and Activate' button the default action when saving a snippet."
819
  msgstr ""
820
- "Membuat 'Simpan dan Aktifkan' tombol tindakan default saat menyimpan "
821
- "potongan."
822
 
823
  #: php/settings/settings-fields.php:49
824
  msgid "Enable Scope Selector"
825
- msgstr "Aktifkan Lingkup Pemilih"
826
 
827
  #: php/settings/settings-fields.php:51
828
  msgid "Enable the scope selector when editing a snippet"
829
- msgstr "Aktifkan pemilih lingkup saat mengedit potongan"
830
 
831
  #: php/settings/settings-fields.php:56
832
  msgid "Enable Snippet Tags"
833
- msgstr "Aktifkan Cuplikan Tags"
834
 
835
  #: php/settings/settings-fields.php:58
836
  msgid "Show snippet tags on admin pages"
837
- msgstr "tag acara snippet pada halaman admin"
838
 
839
  #: php/settings/settings-fields.php:63
840
  msgid "Enable Snippet Descriptions"
841
- msgstr "Aktifkan Cuplikan Deskripsi"
842
 
843
  #: php/settings/settings-fields.php:65
844
  msgid "Show snippet descriptions on admin pages"
845
- msgstr "deskripsi acara snippet pada halaman admin"
 
 
 
 
 
 
 
 
 
 
846
 
847
- #: php/settings/settings-fields.php:69
848
  msgid "Disable shortcode syntax highlighter"
849
- msgstr "Nonaktifkan shortcode sintaks stabilo"
850
 
851
- #: php/settings/settings-fields.php:71
852
  msgid ""
853
  "Disable the syntax highlighting for the [code_snippet] shortcode on the "
854
  "front-end"
855
- msgstr "Menonaktifkan sintaks untuk [CODE_SNIPPET] shortcode di front-end"
 
 
856
 
857
- #: php/settings/settings-fields.php:80
858
  msgid "Row Height"
859
- msgstr "Tinggi baris"
860
 
861
- #: php/settings/settings-fields.php:82
862
  msgid "rows"
863
  msgstr "baris"
864
 
865
- #: php/settings/settings-fields.php:88
866
  msgid "Use Full Editor"
867
- msgstr "Gunakan Full Editor"
868
 
869
- #: php/settings/settings-fields.php:90
870
  msgid "Enable all features of the visual editor"
871
- msgstr "Memungkinkan semua fitur dari editor visual"
872
 
873
- #: php/settings/settings-fields.php:95
874
  msgid "Media Buttons"
875
  msgstr "Tombol Media"
876
 
877
- #: php/settings/settings-fields.php:97
878
  msgid "Enable the add media buttons"
879
- msgstr "Aktifkan tombol media yang add"
880
 
881
- #: php/settings/settings-fields.php:106
882
  msgid "Theme"
883
  msgstr "Tema"
884
 
885
- #: php/settings/settings-fields.php:113
886
  msgid "Indent With Tabs"
887
- msgstr "Indent Dengan Tab"
888
 
889
- #: php/settings/settings-fields.php:115
890
  msgid "Use hard tabs (not spaces) for indentation."
891
- msgstr "Menggunakan tab keras (tidak spasi) untuk lekukan."
892
 
893
- #: php/settings/settings-fields.php:121
894
  msgid "Tab Size"
895
- msgstr "Ukuran tab"
896
 
897
- #: php/settings/settings-fields.php:123
898
  msgid "The width of a tab character."
899
  msgstr "Lebar karakter tab."
900
 
901
- #: php/settings/settings-fields.php:130
902
  msgid "Indent Unit"
903
- msgstr "Satuan indent"
904
 
905
- #: php/settings/settings-fields.php:132
906
  msgid "How many spaces a block should be indented."
907
- msgstr "Berapa banyak ruang blok harus menjorok."
908
 
909
- #: php/settings/settings-fields.php:139
910
  msgid "Wrap Lines"
911
- msgstr "wrap Garis"
912
 
913
- #: php/settings/settings-fields.php:141
914
  msgid "Whether the editor should scroll or wrap for long lines."
915
- msgstr "Apakah editor harus gulir atau bungkus untuk jalur panjang."
 
916
 
917
- #: php/settings/settings-fields.php:147
918
  msgid "Line Numbers"
919
- msgstr "Nomor baris"
920
 
921
- #: php/settings/settings-fields.php:149
922
  msgid "Show line numbers to the left of the editor."
923
- msgstr "Tampilkan nomor baris di sebelah kiri editor."
924
 
925
- #: php/settings/settings-fields.php:155
926
  msgid "Auto Close Brackets"
927
- msgstr "Auto Tutup Kurung"
928
 
929
- #: php/settings/settings-fields.php:157
930
  msgid "Auto-close brackets and quotes when typed."
931
- msgstr "Otomatis-tutup kurung dan kutipan ketika mengetik."
932
 
933
- #: php/settings/settings-fields.php:163
934
  msgid "Highlight Selection Matches"
935
- msgstr "Sorot Seleksi Cocok"
936
 
937
- #: php/settings/settings-fields.php:164
938
  msgid "Highlight all instances of a currently selected word."
939
- msgstr "Sorot semua contoh kata yang dipilih saat ini."
940
 
941
  #: php/settings/settings.php:68
942
  msgid "General"
@@ -944,55 +862,52 @@ msgstr "Umum"
944
 
945
  #: php/settings/settings.php:69
946
  msgid "Description Editor"
947
- msgstr "Deskripsi Editor"
948
 
949
  #: php/settings/settings.php:70
950
  msgid "Code Editor"
951
- msgstr "kode Editor"
952
 
953
  #: php/settings/settings.php:119
954
  msgid "Editor Preview"
955
- msgstr "Editor Preview"
956
 
957
  #: php/settings/settings.php:176
958
  msgid "Settings saved."
959
  msgstr "Pengaturan disimpan."
960
 
961
- # @ code-snippets
962
  #: php/views/edit.php:28 php/views/manage.php:22
963
  msgctxt "snippet"
964
  msgid "Add New"
965
- msgstr "Tambah baru"
966
 
967
  #: php/views/edit.php:49
968
  msgid "Enter title here"
969
  msgstr "Masukkan judul di sini"
970
 
971
- # @ code-snippets
972
  #: php/views/edit.php:54
973
  msgid "Code"
974
  msgstr "Kode"
975
 
976
  #: php/views/edit.php:81 php/views/edit.php:95
977
  msgid "Save Changes and Activate"
978
- msgstr "Simpan Perubahan dan Aktifkan"
979
 
980
  #: php/views/edit.php:101
981
  msgid "Save Changes and Deactivate"
982
- msgstr "Simpan Perubahan dan Nonaktifkan"
983
 
984
  #: php/views/edit.php:118
985
  msgid "You are about to permanently delete this snippet."
986
- msgstr "Anda akan menghapus potongan ini secara permanen."
987
 
988
- # @ code-snippets
989
  #: php/views/import.php:21
990
  msgid ""
991
  "Howdy! Upload your Code Snippets export file and we&#8217;ll import the "
992
  "snippets to this site."
993
  msgstr ""
994
- "Howdy! Upload Anda file ekspor Code Snippets dan kami & # 8217; akan "
995
- "mengimpor potongan ke situs ini."
996
 
997
  #: php/views/import.php:23
998
  #, php-format
@@ -1000,265 +915,29 @@ msgid ""
1000
  "You will need to go to the <a href=\"%s\">All Snippets</a> page to activate "
1001
  "the imported snippets."
1002
  msgstr ""
1003
- "Anda akan perlu untuk pergi ke <a href=\"%s\">halaman Semua Cuplikan</a> "
1004
- "untuk mengaktifkan potongan diimpor."
1005
 
1006
- # @ code-snippets
1007
  #: php/views/import.php:25
1008
  msgid ""
1009
  "Choose a Code Snippets (.xml) file to upload, then click Upload file and "
1010
  "import."
1011
  msgstr ""
1012
- "Pilih Code Snippets (xml) file yang untuk meng-upload, lalu klik File Upload "
1013
  "dan impor."
1014
 
1015
- # @ code-snippets
1016
  #: php/views/import.php:32
1017
  msgid "Choose a file from your computer:"
1018
- msgstr "Pilih file dari komputer Anda:"
1019
 
1020
- # @ code-snippets
1021
  #: php/views/import.php:33
1022
  msgid "(Maximum size: 8MB)"
1023
  msgstr "(Ukuran maksimum: 8MB)"
1024
 
1025
- # @ code-snippets
1026
  #: php/views/import.php:39
1027
  msgid "Upload file and import"
1028
- msgstr "Upload file dan impor"
1029
 
1030
- # @ code-snippets
1031
  #: php/views/manage.php:34
1032
  msgid "Search Installed Snippets"
1033
- msgstr "Cari Dipasang Cuplikan"
1034
-
1035
- # @ code-snippets
1036
- #~ msgid ""
1037
- #~ "You do not appear to have any snippets available at this time. <a href="
1038
- #~ "\"%s\">Add New&rarr;</a>"
1039
- #~ msgstr ""
1040
- #~ "Anda tidak muncul untuk memiliki potongan yang tersedia saat ini. <a href="
1041
- #~ "\"%s\">Add New & rarr;</a>"
1042
-
1043
- # @ code-snippets
1044
- #~ msgid "Import"
1045
- #~ msgstr "Importieren"
1046
-
1047
- # @ code-snippets
1048
- #~ msgid "Manage"
1049
- #~ msgstr "Verwalten"
1050
-
1051
- # @ code-snippets
1052
- #~ msgid ""
1053
- #~ "Snippets will be added to the database along with your existing snippets. "
1054
- #~ "Regardless of whether the snippets were active on the previous site, "
1055
- #~ "imported snippets are always inactive until activated using the <a href="
1056
- #~ "\"%s\">Manage Snippets</a> page.</p>"
1057
- #~ msgstr ""
1058
- #~ "Codeschnipsel werden der Datenbank hinzugefügt, zusammen mit Ihren "
1059
- #~ "bereits bestehenden Codeschnipseln. Unabhängig davon, ob diese "
1060
- #~ "Codeschnipsel auf der vorherigen Installation aktiv waren, sind "
1061
- #~ "importierte Codeschnipsel standardmäßig immer deaktiviert, solange Sie "
1062
- #~ "von Ihnen auf der <a href=\"%s\">Codeschnispel verwalten-Seite</a> "
1063
- #~ "aktiviert werden.</p>"
1064
-
1065
- #~ msgid ""
1066
- #~ "7. You will then have to visit the 'Snippets: Manage' admin menu and "
1067
- #~ "activate desired snippets."
1068
- #~ msgstr ""
1069
- #~ "7. Nach dem Import besuche die Seite 'Codeschnipsel: Verwalten' im "
1070
- #~ "Administrationsmenü und aktiviere die gewünschten Codeschnipsel."
1071
-
1072
- #~ msgid ""
1073
- #~ "You are about to permanently delete the selected item.\n"
1074
- #~ "\t\t\t\t\t'Cancel' to stop, 'OK' to delete."
1075
- #~ msgstr ""
1076
- #~ "Sie sind dabei die ausgewählten Einträge zu löschen.\n"
1077
- #~ "\t\t\t\t\t'Abbrechen zum Stoppen, 'OK' zum Löschen."
1078
-
1079
- # @ code-snippets
1080
- #~ msgid "Name (short title)"
1081
- #~ msgstr "Name (Kurztitel)"
1082
-
1083
- #~ msgid ""
1084
- #~ "You are about to permanently delete this snippet.\n"
1085
- #~ "'Cancel' to stop, 'OK' to delete."
1086
- #~ msgstr ""
1087
- #~ "Du bist dabei diesen Codeschnipsel endgültig zu löschen.\n"
1088
- #~ "'Abbrechen' um zu stoppen, 'OK' um zu löschen."
1089
-
1090
- # @ code-snippets
1091
- #~ msgid ""
1092
- #~ "You will need to go to the <a href=\"%s\">Manage Snippets</a> page to "
1093
- #~ "activate the imported snippets."
1094
- #~ msgstr ""
1095
- #~ "Danach müssen Sie zur <a href=\"%s\">Codeschnispel verwalten-Seite</a> "
1096
- #~ "gehen und die importierten Codeschnipsel entsprechend aktivieren."
1097
-
1098
- #~ msgid "Plugin Website</a>"
1099
- #~ msgstr "Plugin-Webseite</a>"
1100
-
1101
- #~ msgid ""
1102
- #~ "Here are some links to websites which host a large number of snippets "
1103
- #~ "that you can add to your site.\n"
1104
- #~ "\t\t\t<ul>\n"
1105
- #~ "\t\t\t\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress Snippets"
1106
- #~ "\">WP-Snippets</a></li>\n"
1107
- #~ "\t\t\t\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP Snipp</"
1108
- #~ "a></li>\n"
1109
- #~ "\t\t\t\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" title="
1110
- #~ "\"Cats Who Code Snippet Library\">Cats Who Code</a></li>\n"
1111
- #~ "\t\t\t\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></li>\n"
1112
- #~ "\t\t\t</ul>"
1113
- #~ msgstr ""
1114
- #~ "Hier sind ein Links zu Webseiten, welche eine Menge an Codeschnipsel "
1115
- #~ "bereitstellen und auf ihrer Webseite verwendet werden können.\n"
1116
- #~ "\t\t\t<ul>\n"
1117
- #~ "\t\t\t\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress Snippets"
1118
- #~ "\">WP-Snippets</a></li>\n"
1119
- #~ "\t\t\t\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP Snipp</"
1120
- #~ "a></li>\n"
1121
- #~ "\t\t\t\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" title="
1122
- #~ "\"Cats Who Code Snippet Library\">Cats Who Code</a></li>\n"
1123
- #~ "\t\t\t\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></li>\n"
1124
- #~ "\t\t\t</ul>"
1125
-
1126
- #~ msgid "http://wordpress.org/plugins/code-snippets"
1127
- #~ msgstr "http://wordpress.org/plugins/code-snippets"
1128
-
1129
- # @ code-snippets
1130
- #~ msgid ""
1131
- #~ "Here are some links to websites which host a large number of snippets "
1132
- #~ "that you can add to your site.\n"
1133
- #~ "\t\t<ul>\n"
1134
- #~ "\t\t\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress Snippets"
1135
- #~ "\">WP-Snippets</a></li>\n"
1136
- #~ "\t\t\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP Snipp</a></"
1137
- #~ "li>\n"
1138
- #~ "\t\t\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" title="
1139
- #~ "\"Cats Who Code Snippet Library\">Cats Who Code</a></li>\n"
1140
- #~ "\t\t\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></li>\n"
1141
- #~ "\t\t</ul>"
1142
- #~ msgstr ""
1143
- #~ "Hier sind einige Links zu Webseiten, welche eine große Anzahl von "
1144
- #~ "WordPress-Codeschnipseln anbieten, die Sie vielleicht für Ihre Webseite "
1145
- #~ "verwenden könnten. Bitte seien Sie äußerst vorsichtig mit fremden "
1146
- #~ "Codeschnipseln, überprüfen Sie immer den Anbieter/ Herausgeber. Setzen "
1147
- #~ "Sie nur vertrauenswürdige Quellen ein!\n"
1148
- #~ "\\\t\\\t<ul>\n"
1149
- #~ "\\\t\\\t\\\t<li><a href=\"http://wp-snippets.com\" title=\"WordPress "
1150
- #~ "Snippets\">WP-Snippets</a></li>\n"
1151
- #~ "\\\t\\\t\\\t<li><a href=\"http://wpsnipp.com\" title=\"WP Snipp\">WP "
1152
- #~ "Snipp</a></li>\n"
1153
- #~ "\\\t\\\t\\\t<li><a href=\"http://www.catswhocode.com/blog/snippets\" "
1154
- #~ "title=\"Cats Who Code Snippet Library\">Cats Who Code</a></li>\n"
1155
- #~ "\\\t\\\t\\\t<li><a href=\"http://www.wpfunction.me\">WP Function Me</a></"
1156
- #~ "li>\n"
1157
- #~ "\\\t\\\t</ul>"
1158
-
1159
- # @ code-snippets
1160
- #~ msgid ""
1161
- #~ "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
1162
- #~ "\">WordPress Extend</a>"
1163
- #~ msgstr ""
1164
- #~ "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
1165
- #~ "\">Plugin-Seite bei WordPress.org</a>"
1166
-
1167
- # @ code-snippets
1168
- #~ msgid ""
1169
- #~ "<a href=\"http://wordpress.org/support/plugin/code-snippets\" target="
1170
- #~ "\"_blank\">Support Forums</a>"
1171
- #~ msgstr ""
1172
- #~ "<a href=\"http://wordpress.org/support/plugin/code-snippets\" target="
1173
- #~ "\"_blank\">Offizielles Support-Forum (Engl.)</a>"
1174
-
1175
- # @ code-snippets
1176
- #~ msgid ""
1177
- #~ "<a href=\"http://bungeshea.com/plugins/code-snippets/\" target=\"_blank"
1178
- #~ "\">Project Website</a>"
1179
- #~ msgstr ""
1180
- #~ "<a href=\"http://bungeshea.com/plugins/code-snippets/\" target=\"_blank"
1181
- #~ "\">Projektwebseite</a>"
1182
-
1183
- #~ msgid "Only run in adminstration area"
1184
- #~ msgstr "Nur im Admin-Bereich ausführen"
1185
-
1186
- #~ msgid "You are not access this page."
1187
- #~ msgstr "Du kannst diese Seite nicht betreten."
1188
-
1189
- # @ code-snippets
1190
- #~ msgid ""
1191
- #~ "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
1192
- #~ "\">WordPress Extend</a></p>"
1193
- #~ msgstr ""
1194
- #~ "<a href=\"http://wordpress.org/plugins/code-snippets\" target=\"_blank"
1195
- #~ "\">Plugin-Seite auf WordPress.org</a></p>"
1196
-
1197
- # @ code-snippets
1198
- #~ msgid ""
1199
- #~ "You are about to permanently delete the selected item.\n"
1200
- #~ "\t\t\t\t'Cancel' to stop, 'OK' to delete."
1201
- #~ msgstr ""
1202
- #~ "Sie sind dabei das ausgewählte Element dauerhaft zu löschen.\n"
1203
- #~ "\t\t\t\t'Abbrechen', um das zu stoppen, 'OK', um wirklich zu löschen."
1204
-
1205
- #~ msgid "Admin <span class=\"count\">(%s)</span>"
1206
- #~ msgid_plural "Admin <span class=\"count\">(%s)</span>"
1207
- #~ msgstr[0] "Admin <span class=\"count\">(%s)</span>"
1208
- #~ msgstr[1] "Admin <span class=\"count\">(%s)</span>"
1209
-
1210
- #~ msgid "Front End <span class=\"count\">(%s)</span>"
1211
- #~ msgid_plural "Front End <span class=\"count\">(%s)</span>"
1212
- #~ msgstr[0] "Öffentliche Seite <span class=\"count\">(%s)</span>"
1213
- #~ msgstr[1] "Öffentliche Seiten <span class=\"count\">(%s)</span>"
1214
-
1215
- #~ msgid "Editor"
1216
- #~ msgstr "Editor"
1217
-
1218
- # @ code-snippets
1219
- #~ msgid ""
1220
- #~ "An easy, clean and simple way to add code snippets to your site. No need "
1221
- #~ "to edit to your theme's functions.php file again!"
1222
- #~ msgstr ""
1223
- #~ "Auf einfache, saubere und elegante Weise Codeschnipsel für Ihre Webseite "
1224
- #~ "hinzufügen. Änderungen an der 'functions.php' des Themes sind nicht mehr "
1225
- #~ "notwendig!"
1226
-
1227
- # @ code-snippets
1228
- #~ msgid "Shea Bunge"
1229
- #~ msgstr "Shea Bunge"
1230
-
1231
- # @ code-snippets
1232
- #~ msgid "Please provide a name for the snippet and its code."
1233
- #~ msgstr ""
1234
- #~ "Bitte geben Sie einen Namen für den Codeschnipsel und dessen Code an."
1235
-
1236
- # @ code-snippets
1237
- #~ msgid "(Optional)"
1238
- #~ msgstr "(optional, aber empfohlen für bessere Organisation &amp; Übersicht)"
1239
-
1240
- # @ code-snippets
1241
- #~ msgid "Import snippets from a <strong>Code Snippets</strong> export file"
1242
- #~ msgstr ""
1243
- #~ "Codeschnipsel aus einer <strong>Code Snippets</strong>-Exportdatei "
1244
- #~ "importieren"
1245
-
1246
- # @ code-snippets
1247
- #~ msgid "Imported <strong>%d</strong> snippet."
1248
- #~ msgid_plural "Imported <strong>%d</strong> snippets."
1249
- #~ msgstr[0] " <strong>%d</strong> Codeschnipsel importiert."
1250
- #~ msgstr[1] " <strong>%d</strong> Codeschnipsel importiert."
1251
-
1252
- # @ code-snippets
1253
- #~ msgid "1.7"
1254
- #~ msgstr "1.7"
1255
-
1256
- # @ code-snippets
1257
- #~ msgid "Sorry, you're not allowed to edit snippets"
1258
- #~ msgstr ""
1259
- #~ "Entschuldigung, aber Sie haben keine Berechtigung zum Bearbeiten von "
1260
- #~ "Codeschnipseln."
1261
-
1262
- # @ code-snippets
1263
- #~ msgid "Save Changes &amp; Activate"
1264
- #~ msgstr "Änderungen speichern &amp; Aktivieren"
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the code-snippets package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
  msgid ""
7
  msgstr ""
8
+ "Project-Id-Version: code-snippets 2.8.6\n"
9
  "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2017-05-14 17:56+0700\n"
11
+ "PO-Revision-Date: 2017-05-14 19:08+0700\n"
12
+ "Language-Team: \n"
 
 
13
  "MIME-Version: 1.0\n"
14
  "Content-Type: text/plain; charset=UTF-8\n"
15
  "Content-Transfer-Encoding: 8bit\n"
16
+ "Plural-Forms: nplurals=1; plural=0;\n"
17
+ "X-Generator: Poedit 2.0.2\n"
18
+ "Last-Translator: Zamani Karmana <zamani.karmana@gmail.com>\n"
19
+ "Language: id_ID\n"
 
 
 
 
20
 
21
  #: php/admin-menus/class-admin-menu.php:103
22
  msgid "You are not authorized to access this page."
23
+ msgstr "Anda tidak diizinkan mengakses halaman ini."
24
 
 
25
  #: php/admin-menus/class-edit-menu.php:13
26
  #: php/admin-menus/class-edit-menu.php:14 php/views/edit.php:25
27
  msgid "Edit Snippet"
28
+ msgstr "Sunting Snippet"
29
 
 
30
  #: php/admin-menus/class-edit-menu.php:39
31
  msgctxt "menu label"
32
  msgid "Add New"
33
+ msgstr "Tambah Baru"
34
 
 
35
  #: php/admin-menus/class-edit-menu.php:40 php/views/edit.php:31
36
  msgid "Add New Snippet"
37
+ msgstr "Tambah Snippet Baru"
38
 
39
  #: php/admin-menus/class-edit-menu.php:156
40
  msgid "Don't Panic"
45
  msgid ""
46
  "The code snippet you are trying to save produced a fatal error on line %d:"
47
  msgstr ""
48
+ "Kode snippet yang Anda coba simpan menghasilkan galat yang fatal pada baris "
49
+ "%d:"
50
 
51
  #: php/admin-menus/class-edit-menu.php:159
52
  msgid ""
53
  "The previous version of the snippet is unchanged, and the rest of this site "
54
  "should be functioning normally as before."
55
  msgstr ""
56
+ "Versi lama snippet tidak berubah, dan keseluruhan situs seharusnya bisa "
57
+ "berfungsi normal seperti sebelumnya."
58
 
59
  #: php/admin-menus/class-edit-menu.php:160
60
  msgid ""
61
  "Please use the back button in your browser to return to the previous page "
62
  "and try to fix the code error."
63
  msgstr ""
64
+ "Silakan gunakan tombol kembali pada peramban Anda untuk kembali ke halaman "
65
+ "sebelumnya dan coba perbaiki galat kode yang ada."
66
 
67
  #: php/admin-menus/class-edit-menu.php:161
68
  msgid ""
69
  "If you prefer, you can close this page and discard the changes you just "
70
  "made. No changes will be made to this site."
71
  msgstr ""
72
+ "Jika Anda mau, Anda bisa menutup halaman ini dan membatalkan semua perubahan "
73
+ "yang Anda baru saja buat. Tidak akan ada perubahan yang berdampak pada situs "
74
+ "ini."
75
 
76
+ #: php/admin-menus/class-edit-menu.php:281 php/class-list-table.php:337
 
77
  msgid "Description"
78
  msgstr "Deskripsi"
79
 
80
+ #: php/admin-menus/class-edit-menu.php:312 php/class-list-table.php:338
81
  msgid "Tags"
82
+ msgstr "Tag"
83
 
84
  #: php/admin-menus/class-edit-menu.php:316
85
  msgid "Enter a list of tags; separated by commas"
86
+ msgstr "Masukkan tag; pisahkan dengan koma"
87
 
88
  #: php/admin-menus/class-edit-menu.php:336
89
  msgid "Run snippet everywhere"
90
+ msgstr "Jalankan snippet di manapun"
91
 
92
  #: php/admin-menus/class-edit-menu.php:337
93
  msgid "Only run in administration area"
94
+ msgstr "Hanya jalankan di area administratif"
95
 
96
  #: php/admin-menus/class-edit-menu.php:338
97
  msgid "Only run on site front-end"
98
+ msgstr "Hanya jalankan di halaman depan situs"
99
 
100
  #: php/admin-menus/class-edit-menu.php:342
101
  msgid "Scope"
103
 
104
  #: php/admin-menus/class-edit-menu.php:362
105
  msgid "Sharing"
106
+ msgstr "Berbagi"
107
 
108
  #: php/admin-menus/class-edit-menu.php:366
109
  msgid "Allow this snippet to be activated on individual sites on the network"
110
+ msgstr "Izinkan snippet ini diaktifkan pada masing-masing situs pada jaringan"
 
111
 
112
  #: php/admin-menus/class-edit-menu.php:426
113
  #, php-format
114
  msgid "The snippet has been deactivated due to an error on line %d:"
115
+ msgstr "Snippet telah dinonaktifkan karena terdapat galat pada baris %d:"
116
 
117
  #: php/admin-menus/class-edit-menu.php:431
118
  msgid "The snippet has been deactivated due to an error in the code."
119
+ msgstr "Snippet telah dinonaktifkan karena terdapat galat di dalam kode."
120
 
121
  #: php/admin-menus/class-edit-menu.php:438
122
  msgid "An error occurred when saving the snippet."
123
+ msgstr "Terjadi kesalahan saat menyimpan snippet."
124
 
 
125
  #: php/admin-menus/class-edit-menu.php:443
126
  msgid "Snippet <strong>added</strong>."
127
+ msgstr "Snippet <strong>ditambahkan</strong>."
128
 
 
129
  #: php/admin-menus/class-edit-menu.php:444
130
  msgid "Snippet <strong>updated</strong>."
131
+ msgstr "Snippet <strong>diperbarui</strong>."
132
 
 
133
  #: php/admin-menus/class-edit-menu.php:445
134
  msgid "Snippet <strong>added</strong> and <strong>activated</strong>."
135
+ msgstr "Snippet <strong>ditambahkan</strong> dan <strong>diaktifkan</strong>."
136
 
 
137
  #: php/admin-menus/class-edit-menu.php:446
138
  msgid "Snippet <strong>updated</strong> and <strong>activated</strong>."
139
+ msgstr "Snippet <strong>diperbarui</strong> dan<strong>diaktifkan</strong>."
140
 
141
  #: php/admin-menus/class-edit-menu.php:447
142
  msgid "Snippet <strong>updated</strong> and <strong>deactivated</strong>."
143
+ msgstr ""
144
+ "Snippet <strong>diperbarui</strong> dan <strong>dinonaktifkan</strong>."
145
 
146
  #: php/admin-menus/class-import-menu.php:15
147
  msgctxt "menu label"
148
  msgid "Import"
149
  msgstr "Impor"
150
 
 
151
  #: php/admin-menus/class-import-menu.php:16 php/views/import.php:17
152
  msgid "Import Snippets"
153
+ msgstr "Impor Snippet"
154
 
 
155
  #: php/admin-menus/class-import-menu.php:84
156
  msgid "Code Snippets"
157
+ msgstr "Code Snippets"
158
 
159
  #: php/admin-menus/class-import-menu.php:85
160
  msgid "Import snippets from a code snippets export file"
161
+ msgstr "Impor snippet dari berkas kode snippet hasil ekspor"
162
 
163
  #: php/admin-menus/class-import-menu.php:99
164
  #, php-format
169
  "Successfully imported <strong>%d</strong> snippets. <a href=\"%s\">Have fun!"
170
  "</a>"
171
  msgstr[0] ""
172
+ "Berhasil mengimpor <strong>%d</strong> snippet. <a href=\"%s\">Selamat "
173
+ "menikmati!</a>"
 
174
 
175
  #: php/admin-menus/class-import-menu.php:112
176
  msgid "An error occurred when processing the import file."
177
+ msgstr "Terjadi kesalahan saat memproses berkas yang diimpor."
178
 
179
  #: php/admin-menus/class-manage-menu.php:22
180
  msgctxt "menu label"
181
  msgid "All Snippets"
182
+ msgstr "Semua Snippet"
183
 
 
184
  #: php/admin-menus/class-manage-menu.php:23
185
  #: php/admin-menus/class-manage-menu.php:45 php/class-admin.php:61
186
  #: php/class-admin.php:144 php/views/manage.php:19
187
  msgid "Snippets"
188
+ msgstr "Snippet"
189
 
190
  #: php/admin-menus/class-manage-menu.php:46
191
  msgctxt "top-level menu label"
192
  msgid "Snippets"
193
+ msgstr "Snippet"
194
 
195
  #: php/admin-menus/class-manage-menu.php:81
196
  msgid ""
199
  "config.php</code> to turn off safe mode. <a href=\"https://github.com/"
200
  "sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank\">Help</a>"
201
  msgstr ""
202
+ "<strong>Peringatan:</strong> Mode aman sedang aktif dan snippet tidak akan "
203
+ "dieksekusi! Buang konstanta <code>CODE_SNIPPETS_SAFE_MODE</code> dari "
204
+ "<code>wp-config.php</code> untuk menonaktifkan mode aman. <a href=\"https://"
205
+ "github.com/sheabunge/code-snippets/wiki/Safe-Mode\" target=\"_blank"
206
+ "\">Bantuan</a>"
207
 
 
208
  #: php/admin-menus/class-manage-menu.php:87
209
  msgid "Snippet <strong>activated</strong>."
210
+ msgstr "Snippet <strong>diaktifkan</strong>."
211
 
 
212
  #: php/admin-menus/class-manage-menu.php:88
213
  msgid "Selected snippets <strong>activated</strong>."
214
+ msgstr "Snippet terpilih <strong>diaktifkan</strong>."
215
 
 
216
  #: php/admin-menus/class-manage-menu.php:89
217
  msgid "Snippet <strong>deactivated</strong>."
218
+ msgstr "Snippet <strong>dinonaktifkan</strong>."
219
 
 
220
  #: php/admin-menus/class-manage-menu.php:90
221
  msgid "Selected snippets <strong>deactivated</strong>."
222
+ msgstr "Snippet terpilih <strong>dinonaktifkan</strong>."
223
 
 
224
  #: php/admin-menus/class-manage-menu.php:91
225
  msgid "Snippet <strong>deleted</strong>."
226
+ msgstr "Snippet <strong>dihapus</strong>."
227
 
 
228
  #: php/admin-menus/class-manage-menu.php:92
229
  msgid "Selected snippets <strong>deleted</strong>."
230
+ msgstr "Snippet terpilih <strong>dihapus</strong>."
231
 
232
  #: php/admin-menus/class-settings-menu.php:16
233
  msgctxt "menu label"
234
  msgid "Settings"
235
+ msgstr "Pengaturan"
236
 
237
  #: php/admin-menus/class-settings-menu.php:17
238
  msgid "Snippets Settings"
239
+ msgstr "Pengaturan Snippet"
240
 
241
  #: php/admin-menus/class-settings-menu.php:39 php/views/edit.php:135
242
  msgid "Settings"
243
+ msgstr "Pengaturan"
244
 
 
245
  #: php/class-admin.php:143
246
  msgid "Manage your existing snippets"
247
+ msgstr "Kelola snippet yang ada"
248
 
 
249
  #: php/class-admin.php:174
250
  msgid "Visit the WordPress.org plugin page"
251
+ msgstr "Kunjungi halaman plugin WordPress.org"
252
 
 
253
  #: php/class-admin.php:175
254
  msgid "About"
255
  msgstr "Tentang"
256
 
 
257
  #: php/class-admin.php:179
258
  msgid "Visit the support forums"
259
  msgstr "Kunjungi forum dukungan"
260
 
 
261
  #: php/class-admin.php:180
262
  msgid "Support"
263
+ msgstr "Dukungan"
264
 
 
265
  #: php/class-admin.php:184
266
  msgid "Support this plugin's development"
267
+ msgstr "Dukung pengembangan plugin ini"
268
 
 
269
  #: php/class-admin.php:185
270
  msgid "Donate"
271
+ msgstr "Donasi"
272
 
273
  #: php/class-admin.php:216
274
  msgid ""
276
  "answer a short survey on how you use this plugin and what you'd like to see "
277
  "changed or added in the future."
278
  msgstr ""
279
+ "<strong>Ada masukan untuk Code Snippets?</strong> Harap sediakan waktu "
280
+ "sejenak untuk menjawab survei tentang bagaimana Anda menggunakan plugin ini "
281
+ "dan perubahan apa yang Anda ingin lihat atau ditambahkan pada rilis "
282
+ "berikutnya."
283
 
284
  #: php/class-admin.php:220
285
  msgid "Take the survey now"
286
+ msgstr "Ikuti survei sekarang"
287
 
288
  #: php/class-admin.php:223
289
  msgid "Dismiss"
290
+ msgstr "Abaikan"
291
 
 
292
  #: php/class-contextual-help.php:40
293
  msgid "For more information:"
294
  msgstr "Untuk informasi lebih lanjut:"
307
 
308
  #: php/class-contextual-help.php:44
309
  msgid "Plugin Website"
310
+ msgstr "Situs Web Plugin"
311
 
 
312
  #: php/class-contextual-help.php:55 php/class-contextual-help.php:81
313
+ #: php/class-contextual-help.php:121
314
  msgid "Overview"
315
+ msgstr "Tinjauan"
316
 
 
317
  #: php/class-contextual-help.php:56
318
  msgid ""
319
  "Snippets are similar to plugins - they both extend and expand the "
322
  "your existing snippets and perform tasks on them such as activating, "
323
  "deactivating, deleting and exporting."
324
  msgstr ""
325
+ "Snippet hampir sama dengan plugin - keduanya mengembangkan fungsionalitas "
326
+ "WordPress. Snippet lebih ringan, hanya beberapa baris kode, tidak menambah "
327
+ "beban yang terlalu besar pada server Anda. Di sini Anda bisa mengelola "
328
+ "snippet Anda yang ada dan melakukan tindakan seperti mengaktifkan, "
329
+ "menonaktifkan, menghapus dan mengekspor."
330
 
 
331
  #: php/class-contextual-help.php:61
332
  msgid "Safe Mode"
333
+ msgstr "Mode Aman"
334
 
 
335
  #: php/class-contextual-help.php:62
336
  msgid ""
337
  "Be sure to check your snippets for errors before you activate them, as a "
338
  "faulty snippet could bring your whole blog down. If your site starts doing "
339
  "strange things, deactivate all your snippets and activate them one at a time."
340
  msgstr ""
341
+ "Pastikan untuk memeriksa snippet apakah terdapat kesalahan sebelum Anda "
342
+ "mengaktifkannya, snippet yang tidak valid bisa membuat seluruh situs Anda "
343
+ "tidak bisa digunakan, nonaktifkan snippet Anda dan aktifkan lagi satu "
344
+ "persatu."
345
 
 
346
  #: php/class-contextual-help.php:63
347
  msgid ""
348
  "If something goes wrong with a snippet and you can't use WordPress, you can "
352
  "you can turn off safe mode by removing this line or replacing <strong>true</"
353
  "strong> with <strong>false</strong>."
354
  msgstr ""
355
+ "Jika terjadi sesuatu yang salah dengan sebuah snippet dan Anda tidak bisa "
356
+ "menggunakan WordPress, Anda bisa menonaktifkan semua snippet dengan "
357
+ "menambahkan <code>define('CODE_SNIPPETS_SAFE_MODE', true);</code> ke berkas "
358
+ "<code>wp-config.php</code> Anda. Setelah Anda menonaktifkan snippet yang "
359
+ "bermasalah, Anda bisa mengaktifkan semua snippet lagi dengan membuang kode "
360
+ "tersebut atau mengganti <strong>true</strong> dengan <strong>false</strong>."
361
+
 
 
362
  #: php/class-contextual-help.php:68
363
  msgid "Uninstall"
364
+ msgstr "Copot"
365
 
 
366
  #: php/class-contextual-help.php:69
367
  #, php-format
368
  msgid ""
372
  "uninstalling Code Snippets) then remove the <code>%2$s</code> folder using "
373
  "FTP."
374
  msgstr ""
375
+ "Ketika Anda menghapus Code Snippets melalui menu Plugin WordPress, tindakan "
376
+ "tersebut juga akan membersihkan tabel <code>%1$s</code> dan beberapa data "
377
+ "lainnya yang tersimpan di basis data. Jika Anda ingin menyimpan data ini "
378
+ "(mis: Anda hanya sementara mencopot Code Snippets) maka cukup hapus folder "
379
+ "plugin <code>%2$s</code> menggunakan FTP."
380
 
 
381
  #: php/class-contextual-help.php:70
382
  msgid ""
383
  "Even if you're sure that you don't want to use Code Snippets ever again on "
384
  "this WordPress installation, you may want to use the export feature to back "
385
  "up your snippets."
386
  msgstr ""
387
+ "Walaupun Anda yakin tidak ingin menggunakan Code Snippets lagi pada "
388
+ "pemasangan WordPress ini, Anda mungkin ingin menggunakan fitur ekspor untuk "
389
+ "mencadangkan snippet Anda."
390
 
 
391
  #: php/class-contextual-help.php:82
392
  msgid ""
393
  "Snippets are similar to plugins - they both extend and expand the "
395
  "of code, and do not put as much load on your server. Here you can add a new "
396
  "snippet, or edit an existing one."
397
  msgstr ""
398
+ "Snippet hampir sama dengan plugin - keduanya mengembangkan fungsionalitas "
399
+ "WordPress. Snippet lebih ringan, hanya beberapa baris kode, tidak menambah "
400
+ "beban yang terlalu besar pada server Anda. Di sini Anda bisa menambahkan "
401
+ "snippet baru, atau menyunting yang ada."
402
 
403
+ #: php/class-contextual-help.php:86
 
 
 
404
  msgid "WP-Snippets"
405
+ msgstr "WP-Snippets"
406
 
407
+ #: php/class-contextual-help.php:86
 
 
 
408
  msgid "http://wp-snippets.com"
409
+ msgstr "http://wp-snippets.com"
410
 
411
+ #: php/class-contextual-help.php:87
 
 
 
412
  msgid "WP Snipp"
413
+ msgstr "WP Snipp"
414
 
415
+ #: php/class-contextual-help.php:87
 
 
 
416
  msgid "http://wpsnipp.com"
417
+ msgstr "http://wpsnipp.com"
418
 
419
+ #: php/class-contextual-help.php:88
420
  msgid "Cats Who Code"
421
+ msgstr "Cats Who Code"
422
 
423
+ #: php/class-contextual-help.php:88
 
 
 
424
  msgid "http://www.catswhocode.com/blog/snippets"
425
+ msgstr "http://www.catswhocode.com/blog/snippets"
426
 
427
+ #: php/class-contextual-help.php:89
428
  msgid "WP Function Me"
429
+ msgstr "WP Function Me"
430
 
431
+ #: php/class-contextual-help.php:89
432
  msgid "http://www.wpfunction.me"
433
+ msgstr "http://www.wpfunction.me"
434
 
435
+ #: php/class-contextual-help.php:99
 
436
  msgid "Finding Snippets"
437
+ msgstr "Mencari Snippet"
438
 
439
+ #: php/class-contextual-help.php:100
440
  msgid ""
441
  "Here are some links to websites which host a large number of snippets that "
442
  "you can add to your site:"
443
  msgstr ""
444
+ "Berikut beberapa tautan ke situs web yang menyediakan banyak snippet yang "
445
+ "bisa Anda gunakan dan tambahkan ke situs Anda:"
446
 
447
+ #: php/class-contextual-help.php:102
 
448
  msgid ""
449
  "More places to find snippets, as well as a selection of example snippets, "
450
  "can be found in the <a href=\"https://github.com/sheabunge/code-snippets/"
451
  "wiki/Finding-snippets\">plugin documentation</a>"
452
  msgstr ""
453
+ "Banyak tempat yang menyediakan snippet, juga beberapa contoh-contoh snippet, "
454
+ "semuanya bisa ditemukan di <a href=\"https://github.com/sheabunge/code-"
455
+ "snippets/wiki/Finding-snippets\">dokumentasi plugin</a>"
456
 
457
+ #: php/class-contextual-help.php:107
 
458
  msgid "Adding Snippets"
459
+ msgstr "Menambahkan Snippet"
460
 
461
+ #: php/class-contextual-help.php:108
 
462
  msgid ""
463
  "You need to fill out the name and code fields for your snippet to be added. "
464
  "While the description field will add more information about how your snippet "
465
  "works, what is does and where you found it, it is completely optional."
466
  msgstr ""
467
+ "Anda harus mengisi ruas nama dan kode untuk snippet Anda. Ruas deskripsi "
468
+ "akan menyediakan informasi tentang snippet Anda, cara kerja, dimana Anda "
469
+ "menemukannya, dan informasi ini sepenuhnya opsional."
 
470
 
471
+ #: php/class-contextual-help.php:109
 
472
  msgid ""
473
  "Please be sure to check that your snippet is valid PHP code and will not "
474
  "produce errors before adding it through this page. While doing so will not "
475
  "become active straight away, it will help to minimise the chance of a faulty "
476
  "snippet becoming active on your site."
477
  msgstr ""
478
+ "Pastikan untuk memeriksa snippet menggunakan kode PHP yang valid dan tidak "
479
+ "akan menghasilkan galat sebelum menambahkannya melalui halaman ini. Walaupun "
480
+ "tidak akan langsung aktif, hal tersebut akan membantu meminimalisir peluang "
481
+ "terjadinya kesalahan yang berdampak pada situs Anda."
482
 
483
+ #: php/class-contextual-help.php:122
 
484
  msgid ""
485
  "Snippets are similar to plugins - they both extend and expand the "
486
  "functionality of WordPress. Snippets are more light-weight, just a few lines "
488
  "snippets from a Code Snippets (.xml) import file into the database with your "
489
  "existing snippets."
490
  msgstr ""
491
+ "Snippet hampir sama dengan plugin - keduanya mengembangkan fungsionalitas "
492
+ "WordPress. Snippet lebih ringan, hanya beberapa baris kode, tidak menambah "
493
+ "beban yang terlalu besar pada server Anda. Di sini Anda bisa memuat snippet "
494
+ "dari berkas impor Code Snippets (.xml) ke dalam basis data bersama dengan "
495
+ "snippet Anda yang sudah ada."
496
 
497
+ #: php/class-contextual-help.php:127
 
498
  msgid "Importing"
499
+ msgstr "Mengimpor"
500
 
501
+ #: php/class-contextual-help.php:128
 
502
  msgid ""
503
  "You can load your snippets from a code snippets (.xml) export file using "
504
  "this page."
505
  msgstr ""
506
+ "Anda bisa memuat snippet Anda dari berkas snippet kode hasil ekspor (.xml) "
507
+ "melalui halaman ini."
508
 
509
+ #: php/class-contextual-help.php:129
510
  #, php-format
511
  msgid ""
512
  "Snippets will be added to the database along with your existing snippets. "
514
  "imported snippets are always inactive until activated using the <a href=\"%s"
515
  "\">All Snippets</a> page.</p>"
516
  msgstr ""
517
+ "Snippet akan ditambahkan ke basis data bersama snippet Anda yang sudah ada. "
518
+ "Tidak peduli apakah snippet telah aktif pada situs sebelumnya, snippet yang "
519
+ "diimpor akan selalu nonaktif sampai diaktifkan kembali melalui halaman <a "
520
+ "href=\"%s\">Semua Snippet</a>.</p>"
521
 
522
+ #: php/class-contextual-help.php:134
 
523
  msgid "Exporting"
524
+ msgstr "Mengekspor"
525
 
526
+ #: php/class-contextual-help.php:135
 
527
  #, php-format
528
  msgid ""
529
  "You can save your snippets to a Code Snippets (.xml) export file using the "
530
  "<a href=\"%s\">Manage Snippets</a> page."
531
  msgstr ""
532
+ "Anda bisa menyimpan snippet Anda ke berkas ekspor Code Snippets (.xml) "
533
+ "melalui halaman <a href=\"%s\">Kelola Snippet</a>."
534
 
535
  #: php/class-export.php:87
536
  msgid ""
537
  "This is a code snippets export file generated by the Code Snippets WordPress "
538
  "plugin."
539
  msgstr ""
540
+ "Ini adalah berkas snippet kode hasil ekspor yang dibuat oleh plugin "
541
+ "WordPress Code Snippets."
542
 
543
  #: php/class-export.php:89
544
  msgid "To import these snippets a WordPress site follow these steps:"
545
+ msgstr ""
546
+ "Untuk mengimpor snippet ini ke situs WordPress ikuti langkah berikut ini:"
547
 
548
  #: php/class-export.php:90
549
  msgid "1. Log in to that site as an administrator."
550
+ msgstr "1. Masuk ke situs sebagai administrator."
551
 
552
  #: php/class-export.php:91
553
  msgid ""
554
  "2. Install the Code Snippets plugin using the directions provided at the "
555
  "above link."
556
  msgstr ""
557
+ "2. Pasang plugin Code Snippets menggunakan petunjuk yang disediakan oleh "
558
+ "tautan di atas."
559
 
560
  #: php/class-export.php:92
561
  msgid "3. Go to 'Tools: Import' in the WordPress admin panel."
562
+ msgstr "3. Kunjungi 'Perkakas: Impor' pada panel admin WordPress."
563
 
564
  #: php/class-export.php:93
565
  msgid "4. Click on the \"Code Snippets\" importer in the list"
566
+ msgstr "4. Klik pengimpor \"Code Snippets\" pada daftar yang ada"
567
 
568
  #: php/class-export.php:94
569
  msgid "5. Upload this file using the form provided on that page."
570
  msgstr ""
571
+ "5. Unggah berkas menggunakan formulir yang disediakan pada halaman tersebut."
 
572
 
573
  #: php/class-export.php:95
574
  msgid ""
575
  "6. Code Snippets will then import all of the snippets and associated "
576
  "information contained in this file into your site."
577
  msgstr ""
578
+ "6. Code Snippets lalu akan mengimpor semua snippet dan informasi terkait "
579
+ "yang terdapat pada berkas ini ke dalam situs Anda."
580
 
581
  #: php/class-export.php:96
582
  msgid ""
583
  "7. You will then have to visit the 'Snippets: All Snippets' admin menu and "
584
  "activate desired snippets."
585
  msgstr ""
586
+ "7. Lalu Anda harus mengunjungi menu admin 'Snippet: Semua Snippet' dan "
587
+ "mengaktifkan snippet yang Anda inginkan."
588
 
 
589
  #: php/class-list-table.php:58
590
  msgid "Snippets per page"
591
+ msgstr "Snippet per halaman"
592
 
593
+ #: php/class-list-table.php:119 php/class-list-table.php:383
 
594
  msgid "Network Deactivate"
595
+ msgstr "Nonaktifkan di Jaringan"
596
 
597
+ #: php/class-list-table.php:119 php/class-list-table.php:187
598
+ #: php/class-list-table.php:383
 
599
  msgid "Deactivate"
600
+ msgstr "Nonaktifkan"
601
 
602
+ #: php/class-list-table.php:128 php/class-list-table.php:382
 
603
  msgid "Network Activate"
604
+ msgstr "Aktifkan di Jaringan"
605
 
606
+ #: php/class-list-table.php:128 php/class-list-table.php:187
607
+ #: php/class-list-table.php:382
 
608
  msgid "Activate"
609
+ msgstr "Aktifkan"
610
 
611
+ #: php/class-list-table.php:138 php/class-list-table.php:203
 
612
  msgid "Edit"
613
+ msgstr "Sunting"
614
 
615
+ #: php/class-list-table.php:144 php/class-list-table.php:209
616
+ #: php/class-list-table.php:384 php/views/edit.php:111
 
617
  msgid "Export"
618
  msgstr "Ekspor"
619
 
620
+ #: php/class-list-table.php:153 php/class-list-table.php:221
621
+ #: php/class-list-table.php:385 php/views/edit.php:124
 
622
  msgid "Delete"
623
+ msgstr "Hapus"
624
 
625
+ #: php/class-list-table.php:160 php/class-list-table.php:231
626
  msgid "You are about to permanently delete the selected item."
627
+ msgstr "Anda akan menghapus secara permanen item yang dipilih."
628
 
629
+ #: php/class-list-table.php:161 php/class-list-table.php:232
630
  #: php/views/edit.php:119
631
  msgid "'Cancel' to stop, 'OK' to delete."
632
+ msgstr "'Batal' untuk urung, 'OK' untuk menghapus."
 
 
 
 
 
 
 
633
 
634
+ #: php/class-list-table.php:251
 
 
 
 
635
  #, php-format
636
  msgid "Untitled #%d"
637
+ msgstr "Tak berjudul #%d"
638
 
639
+ #: php/class-list-table.php:274
640
  msgid "Shared on Network"
641
+ msgstr "Dibagikan pada Jaringan"
642
 
643
+ #: php/class-list-table.php:335 php/views/edit.php:48
 
644
  msgid "Name"
645
  msgstr "Nama"
646
 
647
+ #: php/class-list-table.php:336
 
648
  msgid "ID"
649
  msgstr "ID"
650
 
651
+ #: php/class-list-table.php:386
 
652
  msgid "Export to PHP"
653
  msgstr "Ekspor ke PHP"
654
 
655
+ #: php/class-list-table.php:424
 
656
  #, php-format
657
  msgid "All <span class=\"count\">(%s)</span>"
658
  msgid_plural "All <span class=\"count\">(%s)</span>"
659
+ msgstr[0] "Semua <span class=\"count\">(%s)</span>"
 
660
 
661
+ #: php/class-list-table.php:425
 
662
  #, php-format
663
  msgid "Active <span class=\"count\">(%s)</span>"
664
  msgid_plural "Active <span class=\"count\">(%s)</span>"
665
+ msgstr[0] "Aktif <span class=\"count\">(%s)</span>"
 
666
 
667
+ #: php/class-list-table.php:426
 
668
  #, php-format
669
  msgid "Inactive <span class=\"count\">(%s)</span>"
670
  msgid_plural "Inactive <span class=\"count\">(%s)</span>"
671
+ msgstr[0] "Nonaktif <span class=\"count\">(%s)</span>"
 
672
 
673
+ #: php/class-list-table.php:427
 
674
  #, php-format
675
  msgid "Recently Active <span class=\"count\">(%s)</span>"
676
  msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
677
+ msgstr[0] "Akhir-akhir ini Aktif <span class=\"count\">(%s)</span>"
 
678
 
679
+ #: php/class-list-table.php:490
680
  msgid "Show all tags"
681
  msgstr "Tampilkan semua tag"
682
 
683
+ #: php/class-list-table.php:504
 
684
  msgid "Filter"
685
+ msgstr "Penyaring"
686
 
687
+ #: php/class-list-table.php:512
 
688
  msgid "Clear List"
689
+ msgstr "Bersihkan Daftar"
690
 
691
+ #: php/class-list-table.php:698
692
  msgid "Whoops, it looks like no snippets could be found."
693
+ msgstr "Oops, sepertinya tidak ada snippet yang bisa ditemukan."
694
 
695
+ #: php/class-list-table.php:702
696
  msgid "Perhaps you would like to add a new one?"
697
+ msgstr "Mungkin Anda ingin menambahkan yang baru?"
698
 
699
+ #: php/class-list-table.php:996
 
700
  msgid "Search results"
701
+ msgstr "Hasil pencarian"
702
 
703
+ #: php/class-list-table.php:999
 
704
  #, php-format
705
  msgid " for &#8220;%s&#8221;"
706
+ msgstr " untuk &#8220;%s&#8221;"
707
 
708
+ #: php/class-list-table.php:1003
709
  #, php-format
710
  msgid " in tag &#8220;%s&#8221;"
711
+ msgstr " di dalam tag &#8220;%s&#8221;"
712
 
713
+ #: php/class-list-table.php:1011
 
714
  msgid "Clear Filters"
715
+ msgstr "Bersihkan Penyaring"
716
 
717
  #: php/settings/settings-fields.php:42
718
  msgid "Activate by Default"
719
+ msgstr "Aktifkan secara Bawaan"
720
 
721
  #: php/settings/settings-fields.php:44
722
  msgid ""
723
  "Make the 'Save and Activate' button the default action when saving a snippet."
724
  msgstr ""
725
+ "Buat tombol 'Simpan dan Aktifkan' sebagai tidakan baku ketika menyimpan "
726
+ "snippet."
727
 
728
  #: php/settings/settings-fields.php:49
729
  msgid "Enable Scope Selector"
730
+ msgstr "Aktifkan Pemilih Cakupan"
731
 
732
  #: php/settings/settings-fields.php:51
733
  msgid "Enable the scope selector when editing a snippet"
734
+ msgstr "Aktifkan pemilih cakupan ketika menyunting snippet"
735
 
736
  #: php/settings/settings-fields.php:56
737
  msgid "Enable Snippet Tags"
738
+ msgstr "Aktifkan Tag Snippet"
739
 
740
  #: php/settings/settings-fields.php:58
741
  msgid "Show snippet tags on admin pages"
742
+ msgstr "Tampilkan tag snippet pada laman admin"
743
 
744
  #: php/settings/settings-fields.php:63
745
  msgid "Enable Snippet Descriptions"
746
+ msgstr "Aktifkan Deskripsi Snippet"
747
 
748
  #: php/settings/settings-fields.php:65
749
  msgid "Show snippet descriptions on admin pages"
750
+ msgstr "Tampilkan deskripsi snippet pada laman admin"
751
+
752
+ #: php/settings/settings-fields.php:70
753
+ msgid "Show Network Snippets"
754
+ msgstr "Tampilkan Snippet Jaringan"
755
+
756
+ #: php/settings/settings-fields.php:72
757
+ msgid "Show network-wide snippets in the snippets table on subsites"
758
+ msgstr ""
759
+ "Tampilkan snippet jaringan di dalam tabel snippet pada masing-masing sub "
760
+ "situs"
761
 
762
+ #: php/settings/settings-fields.php:77
763
  msgid "Disable shortcode syntax highlighter"
764
+ msgstr "Nonaktifkan penyorotan sintaksis shortcode"
765
 
766
+ #: php/settings/settings-fields.php:79
767
  msgid ""
768
  "Disable the syntax highlighting for the [code_snippet] shortcode on the "
769
  "front-end"
770
+ msgstr ""
771
+ "Nonaktifkan penyorotan sintaksis untuk shortcode [code_snippet] di halaman "
772
+ "muka situs"
773
 
774
+ #: php/settings/settings-fields.php:92
775
  msgid "Row Height"
776
+ msgstr "Tinggi Baris"
777
 
778
+ #: php/settings/settings-fields.php:94
779
  msgid "rows"
780
  msgstr "baris"
781
 
782
+ #: php/settings/settings-fields.php:100
783
  msgid "Use Full Editor"
784
+ msgstr "Gunakan Penyunting Penuh"
785
 
786
+ #: php/settings/settings-fields.php:102
787
  msgid "Enable all features of the visual editor"
788
+ msgstr "Aktifkan semua fitur penyunting visual"
789
 
790
+ #: php/settings/settings-fields.php:107
791
  msgid "Media Buttons"
792
  msgstr "Tombol Media"
793
 
794
+ #: php/settings/settings-fields.php:109
795
  msgid "Enable the add media buttons"
796
+ msgstr "Tampilkan tombol untuk menambahkan media"
797
 
798
+ #: php/settings/settings-fields.php:118
799
  msgid "Theme"
800
  msgstr "Tema"
801
 
802
+ #: php/settings/settings-fields.php:125
803
  msgid "Indent With Tabs"
804
+ msgstr "Indentasi dengan Tab"
805
 
806
+ #: php/settings/settings-fields.php:127
807
  msgid "Use hard tabs (not spaces) for indentation."
808
+ msgstr "Gunakan hard tab (bukan spasi) untuk indentasi."
809
 
810
+ #: php/settings/settings-fields.php:133
811
  msgid "Tab Size"
812
+ msgstr "Ukuran Tab"
813
 
814
+ #: php/settings/settings-fields.php:135
815
  msgid "The width of a tab character."
816
  msgstr "Lebar karakter tab."
817
 
818
+ #: php/settings/settings-fields.php:142
819
  msgid "Indent Unit"
820
+ msgstr "Unit Indentasi"
821
 
822
+ #: php/settings/settings-fields.php:144
823
  msgid "How many spaces a block should be indented."
824
+ msgstr "Berapa banyak spasi untuk tiap blok indentasi."
825
 
826
+ #: php/settings/settings-fields.php:151
827
  msgid "Wrap Lines"
828
+ msgstr "Libat Baris"
829
 
830
+ #: php/settings/settings-fields.php:153
831
  msgid "Whether the editor should scroll or wrap for long lines."
832
+ msgstr ""
833
+ "Apakah perlu penyunting menggulir atau melibat baris yang terlalu panjang."
834
 
835
+ #: php/settings/settings-fields.php:159
836
  msgid "Line Numbers"
837
+ msgstr "Nomor Baris"
838
 
839
+ #: php/settings/settings-fields.php:161
840
  msgid "Show line numbers to the left of the editor."
841
+ msgstr "Tampilkan nomor baris di bagian kiri penyunting."
842
 
843
+ #: php/settings/settings-fields.php:167
844
  msgid "Auto Close Brackets"
845
+ msgstr "Tutup Otomatis Tanda Kurung"
846
 
847
+ #: php/settings/settings-fields.php:169
848
  msgid "Auto-close brackets and quotes when typed."
849
+ msgstr "Tutup otomatis tanda kurung dan petik ketika mengetik."
850
 
851
+ #: php/settings/settings-fields.php:175
852
  msgid "Highlight Selection Matches"
853
+ msgstr "Sorot Pilihan yang Cocok"
854
 
855
+ #: php/settings/settings-fields.php:176
856
  msgid "Highlight all instances of a currently selected word."
857
+ msgstr "Sorot semua kata yang cocok dengan kata yang dipilih."
858
 
859
  #: php/settings/settings.php:68
860
  msgid "General"
862
 
863
  #: php/settings/settings.php:69
864
  msgid "Description Editor"
865
+ msgstr "Penyunting Deskripsi"
866
 
867
  #: php/settings/settings.php:70
868
  msgid "Code Editor"
869
+ msgstr "Penyunting Kode"
870
 
871
  #: php/settings/settings.php:119
872
  msgid "Editor Preview"
873
+ msgstr "Pratinjau Penyunting"
874
 
875
  #: php/settings/settings.php:176
876
  msgid "Settings saved."
877
  msgstr "Pengaturan disimpan."
878
 
 
879
  #: php/views/edit.php:28 php/views/manage.php:22
880
  msgctxt "snippet"
881
  msgid "Add New"
882
+ msgstr "Tambah Baru"
883
 
884
  #: php/views/edit.php:49
885
  msgid "Enter title here"
886
  msgstr "Masukkan judul di sini"
887
 
 
888
  #: php/views/edit.php:54
889
  msgid "Code"
890
  msgstr "Kode"
891
 
892
  #: php/views/edit.php:81 php/views/edit.php:95
893
  msgid "Save Changes and Activate"
894
+ msgstr "Simpan Ubahan dan Aktifkan"
895
 
896
  #: php/views/edit.php:101
897
  msgid "Save Changes and Deactivate"
898
+ msgstr "Simpan Ubahan dan Nonaktifkan"
899
 
900
  #: php/views/edit.php:118
901
  msgid "You are about to permanently delete this snippet."
902
+ msgstr "Anda akan menghapus secara permanen snippet ini."
903
 
 
904
  #: php/views/import.php:21
905
  msgid ""
906
  "Howdy! Upload your Code Snippets export file and we&#8217;ll import the "
907
  "snippets to this site."
908
  msgstr ""
909
+ "Halo! Unggah berkas Code Snippets hasil ekspor dan kami akan impor snippet "
910
+ "tersebut ke situs ini."
911
 
912
  #: php/views/import.php:23
913
  #, php-format
915
  "You will need to go to the <a href=\"%s\">All Snippets</a> page to activate "
916
  "the imported snippets."
917
  msgstr ""
918
+ "Anda harus mengunjungi halaman <a href=\"%s\">Semua Snippet</a> untuk "
919
+ "mengaktifkan snippet yang diimpor."
920
 
 
921
  #: php/views/import.php:25
922
  msgid ""
923
  "Choose a Code Snippets (.xml) file to upload, then click Upload file and "
924
  "import."
925
  msgstr ""
926
+ "Pilih berkas Code Snippets (.xml) untuk diunggah, lalu klik Unggah berkas "
927
  "dan impor."
928
 
 
929
  #: php/views/import.php:32
930
  msgid "Choose a file from your computer:"
931
+ msgstr "Pilih berkas dari komputer Anda:"
932
 
 
933
  #: php/views/import.php:33
934
  msgid "(Maximum size: 8MB)"
935
  msgstr "(Ukuran maksimum: 8MB)"
936
 
 
937
  #: php/views/import.php:39
938
  msgid "Upload file and import"
939
+ msgstr "Unggah berkas dan impor"
940
 
 
941
  #: php/views/manage.php:34
942
  msgid "Search Installed Snippets"
943
+ msgstr "Cari Snippet Terpasang"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/code-snippets.pot CHANGED
@@ -6,9 +6,9 @@
6
  #, fuzzy
7
  msgid ""
8
  msgstr ""
9
- "Project-Id-Version: code-snippets 2.8.5\n"
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2017-05-13 16:11+1000\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -64,72 +64,72 @@ msgid ""
64
  "made. No changes will be made to this site."
65
  msgstr ""
66
 
67
- #: php/admin-menus/class-edit-menu.php:281 php/class-list-table.php:341
68
  msgid "Description"
69
  msgstr ""
70
 
71
- #: php/admin-menus/class-edit-menu.php:312 php/class-list-table.php:342
72
  msgid "Tags"
73
  msgstr ""
74
 
75
- #: php/admin-menus/class-edit-menu.php:316
76
  msgid "Enter a list of tags; separated by commas"
77
  msgstr ""
78
 
79
- #: php/admin-menus/class-edit-menu.php:336
80
  msgid "Run snippet everywhere"
81
  msgstr ""
82
 
83
- #: php/admin-menus/class-edit-menu.php:337
84
  msgid "Only run in administration area"
85
  msgstr ""
86
 
87
- #: php/admin-menus/class-edit-menu.php:338
88
  msgid "Only run on site front-end"
89
  msgstr ""
90
 
91
- #: php/admin-menus/class-edit-menu.php:342
92
  msgid "Scope"
93
  msgstr ""
94
 
95
- #: php/admin-menus/class-edit-menu.php:362
96
  msgid "Sharing"
97
  msgstr ""
98
 
99
- #: php/admin-menus/class-edit-menu.php:366
100
  msgid "Allow this snippet to be activated on individual sites on the network"
101
  msgstr ""
102
 
103
- #: php/admin-menus/class-edit-menu.php:426
104
  #, php-format
105
  msgid "The snippet has been deactivated due to an error on line %d:"
106
  msgstr ""
107
 
108
- #: php/admin-menus/class-edit-menu.php:431
109
  msgid "The snippet has been deactivated due to an error in the code."
110
  msgstr ""
111
 
112
- #: php/admin-menus/class-edit-menu.php:438
113
  msgid "An error occurred when saving the snippet."
114
  msgstr ""
115
 
116
- #: php/admin-menus/class-edit-menu.php:443
117
  msgid "Snippet <strong>added</strong>."
118
  msgstr ""
119
 
120
- #: php/admin-menus/class-edit-menu.php:444
121
  msgid "Snippet <strong>updated</strong>."
122
  msgstr ""
123
 
124
- #: php/admin-menus/class-edit-menu.php:445
125
  msgid "Snippet <strong>added</strong> and <strong>activated</strong>."
126
  msgstr ""
127
 
128
- #: php/admin-menus/class-edit-menu.php:446
129
  msgid "Snippet <strong>updated</strong> and <strong>activated</strong>."
130
  msgstr ""
131
 
132
- #: php/admin-menus/class-edit-menu.php:447
133
  msgid "Snippet <strong>updated</strong> and <strong>deactivated</strong>."
134
  msgstr ""
135
 
@@ -399,7 +399,7 @@ msgstr ""
399
  msgid ""
400
  "More places to find snippets, as well as a selection of example snippets, "
401
  "can be found in the <a href=\"https://github.com/sheabunge/code-snippets/"
402
- "wiki/Finding-snippets\">plugin documentation</a>"
403
  msgstr ""
404
 
405
  #: php/class-contextual-help.php:107
@@ -508,139 +508,139 @@ msgstr ""
508
  msgid "Snippets per page"
509
  msgstr ""
510
 
511
- #: php/class-list-table.php:119 php/class-list-table.php:387
512
  msgid "Network Deactivate"
513
  msgstr ""
514
 
515
- #: php/class-list-table.php:119 php/class-list-table.php:191
516
- #: php/class-list-table.php:387
517
  msgid "Deactivate"
518
  msgstr ""
519
 
520
- #: php/class-list-table.php:128 php/class-list-table.php:386
521
  msgid "Network Activate"
522
  msgstr ""
523
 
524
- #: php/class-list-table.php:128 php/class-list-table.php:191
525
- #: php/class-list-table.php:386
526
  msgid "Activate"
527
  msgstr ""
528
 
529
- #: php/class-list-table.php:138 php/class-list-table.php:207
530
  msgid "Edit"
531
  msgstr ""
532
 
533
- #: php/class-list-table.php:144 php/class-list-table.php:213
534
- #: php/class-list-table.php:388 php/views/edit.php:111
535
  msgid "Export"
536
  msgstr ""
537
 
538
- #: php/class-list-table.php:153 php/class-list-table.php:225
539
- #: php/class-list-table.php:389 php/views/edit.php:124
540
  msgid "Delete"
541
  msgstr ""
542
 
543
- #: php/class-list-table.php:160 php/class-list-table.php:235
544
  msgid "You are about to permanently delete the selected item."
545
  msgstr ""
546
 
547
- #: php/class-list-table.php:161 php/class-list-table.php:236
548
  #: php/views/edit.php:119
549
  msgid "'Cancel' to stop, 'OK' to delete."
550
  msgstr ""
551
 
552
- #: php/class-list-table.php:168
553
  msgid "Network Active"
554
  msgstr ""
555
 
556
- #: php/class-list-table.php:170
557
  msgid "Network Only"
558
  msgstr ""
559
 
560
- #: php/class-list-table.php:255
561
  #, php-format
562
  msgid "Untitled #%d"
563
  msgstr ""
564
 
565
- #: php/class-list-table.php:278
566
  msgid "Shared on Network"
567
  msgstr ""
568
 
569
- #: php/class-list-table.php:339 php/views/edit.php:48
570
  msgid "Name"
571
  msgstr ""
572
 
573
- #: php/class-list-table.php:340
574
  msgid "ID"
575
  msgstr ""
576
 
577
- #: php/class-list-table.php:390
578
  msgid "Export to PHP"
579
  msgstr ""
580
 
581
- #: php/class-list-table.php:428
582
  #, php-format
583
  msgid "All <span class=\"count\">(%s)</span>"
584
  msgid_plural "All <span class=\"count\">(%s)</span>"
585
  msgstr[0] ""
586
  msgstr[1] ""
587
 
588
- #: php/class-list-table.php:429
589
  #, php-format
590
  msgid "Active <span class=\"count\">(%s)</span>"
591
  msgid_plural "Active <span class=\"count\">(%s)</span>"
592
  msgstr[0] ""
593
  msgstr[1] ""
594
 
595
- #: php/class-list-table.php:430
596
  #, php-format
597
  msgid "Inactive <span class=\"count\">(%s)</span>"
598
  msgid_plural "Inactive <span class=\"count\">(%s)</span>"
599
  msgstr[0] ""
600
  msgstr[1] ""
601
 
602
- #: php/class-list-table.php:431
603
  #, php-format
604
  msgid "Recently Active <span class=\"count\">(%s)</span>"
605
  msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
606
  msgstr[0] ""
607
  msgstr[1] ""
608
 
609
- #: php/class-list-table.php:494
610
  msgid "Show all tags"
611
  msgstr ""
612
 
613
- #: php/class-list-table.php:508
614
  msgid "Filter"
615
  msgstr ""
616
 
617
- #: php/class-list-table.php:516
618
  msgid "Clear List"
619
  msgstr ""
620
 
621
- #: php/class-list-table.php:702
622
  msgid "Whoops, it looks like no snippets could be found."
623
  msgstr ""
624
 
625
- #: php/class-list-table.php:706
626
  msgid "Perhaps you would like to add a new one?"
627
  msgstr ""
628
 
629
- #: php/class-list-table.php:1000
630
  msgid "Search results"
631
  msgstr ""
632
 
633
- #: php/class-list-table.php:1003
634
  #, php-format
635
  msgid " for &#8220;%s&#8221;"
636
  msgstr ""
637
 
638
- #: php/class-list-table.php:1007
639
  #, php-format
640
  msgid " in tag &#8220;%s&#8221;"
641
  msgstr ""
642
 
643
- #: php/class-list-table.php:1015
644
  msgid "Clear Filters"
645
  msgstr ""
646
 
6
  #, fuzzy
7
  msgid ""
8
  msgstr ""
9
+ "Project-Id-Version: code-snippets 2.9.0\n"
10
  "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2017-09-07 00:19+1000\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
64
  "made. No changes will be made to this site."
65
  msgstr ""
66
 
67
+ #: php/admin-menus/class-edit-menu.php:284 php/class-list-table.php:347
68
  msgid "Description"
69
  msgstr ""
70
 
71
+ #: php/admin-menus/class-edit-menu.php:316 php/class-list-table.php:348
72
  msgid "Tags"
73
  msgstr ""
74
 
75
+ #: php/admin-menus/class-edit-menu.php:320
76
  msgid "Enter a list of tags; separated by commas"
77
  msgstr ""
78
 
79
+ #: php/admin-menus/class-edit-menu.php:341
80
  msgid "Run snippet everywhere"
81
  msgstr ""
82
 
83
+ #: php/admin-menus/class-edit-menu.php:342
84
  msgid "Only run in administration area"
85
  msgstr ""
86
 
87
+ #: php/admin-menus/class-edit-menu.php:343
88
  msgid "Only run on site front-end"
89
  msgstr ""
90
 
91
+ #: php/admin-menus/class-edit-menu.php:347
92
  msgid "Scope"
93
  msgstr ""
94
 
95
+ #: php/admin-menus/class-edit-menu.php:367
96
  msgid "Sharing"
97
  msgstr ""
98
 
99
+ #: php/admin-menus/class-edit-menu.php:371
100
  msgid "Allow this snippet to be activated on individual sites on the network"
101
  msgstr ""
102
 
103
+ #: php/admin-menus/class-edit-menu.php:431
104
  #, php-format
105
  msgid "The snippet has been deactivated due to an error on line %d:"
106
  msgstr ""
107
 
108
+ #: php/admin-menus/class-edit-menu.php:436
109
  msgid "The snippet has been deactivated due to an error in the code."
110
  msgstr ""
111
 
112
+ #: php/admin-menus/class-edit-menu.php:443
113
  msgid "An error occurred when saving the snippet."
114
  msgstr ""
115
 
116
+ #: php/admin-menus/class-edit-menu.php:448
117
  msgid "Snippet <strong>added</strong>."
118
  msgstr ""
119
 
120
+ #: php/admin-menus/class-edit-menu.php:449
121
  msgid "Snippet <strong>updated</strong>."
122
  msgstr ""
123
 
124
+ #: php/admin-menus/class-edit-menu.php:450
125
  msgid "Snippet <strong>added</strong> and <strong>activated</strong>."
126
  msgstr ""
127
 
128
+ #: php/admin-menus/class-edit-menu.php:451
129
  msgid "Snippet <strong>updated</strong> and <strong>activated</strong>."
130
  msgstr ""
131
 
132
+ #: php/admin-menus/class-edit-menu.php:452
133
  msgid "Snippet <strong>updated</strong> and <strong>deactivated</strong>."
134
  msgstr ""
135
 
399
  msgid ""
400
  "More places to find snippets, as well as a selection of example snippets, "
401
  "can be found in the <a href=\"https://github.com/sheabunge/code-snippets/"
402
+ "wiki/Finding-snippets\">plugin documentation</a>."
403
  msgstr ""
404
 
405
  #: php/class-contextual-help.php:107
508
  msgid "Snippets per page"
509
  msgstr ""
510
 
511
+ #: php/class-list-table.php:121 php/class-list-table.php:393
512
  msgid "Network Deactivate"
513
  msgstr ""
514
 
515
+ #: php/class-list-table.php:121 php/class-list-table.php:194
516
+ #: php/class-list-table.php:393
517
  msgid "Deactivate"
518
  msgstr ""
519
 
520
+ #: php/class-list-table.php:130 php/class-list-table.php:392
521
  msgid "Network Activate"
522
  msgstr ""
523
 
524
+ #: php/class-list-table.php:130 php/class-list-table.php:194
525
+ #: php/class-list-table.php:392
526
  msgid "Activate"
527
  msgstr ""
528
 
529
+ #: php/class-list-table.php:140 php/class-list-table.php:210
530
  msgid "Edit"
531
  msgstr ""
532
 
533
+ #: php/class-list-table.php:146 php/class-list-table.php:216
534
+ #: php/class-list-table.php:394 php/views/edit.php:111
535
  msgid "Export"
536
  msgstr ""
537
 
538
+ #: php/class-list-table.php:155 php/class-list-table.php:228
539
+ #: php/class-list-table.php:395 php/views/edit.php:124
540
  msgid "Delete"
541
  msgstr ""
542
 
543
+ #: php/class-list-table.php:162 php/class-list-table.php:238
544
  msgid "You are about to permanently delete the selected item."
545
  msgstr ""
546
 
547
+ #: php/class-list-table.php:163 php/class-list-table.php:239
548
  #: php/views/edit.php:119
549
  msgid "'Cancel' to stop, 'OK' to delete."
550
  msgstr ""
551
 
552
+ #: php/class-list-table.php:170
553
  msgid "Network Active"
554
  msgstr ""
555
 
556
+ #: php/class-list-table.php:172
557
  msgid "Network Only"
558
  msgstr ""
559
 
560
+ #: php/class-list-table.php:259
561
  #, php-format
562
  msgid "Untitled #%d"
563
  msgstr ""
564
 
565
+ #: php/class-list-table.php:282
566
  msgid "Shared on Network"
567
  msgstr ""
568
 
569
+ #: php/class-list-table.php:345 php/views/edit.php:48
570
  msgid "Name"
571
  msgstr ""
572
 
573
+ #: php/class-list-table.php:346
574
  msgid "ID"
575
  msgstr ""
576
 
577
+ #: php/class-list-table.php:396
578
  msgid "Export to PHP"
579
  msgstr ""
580
 
581
+ #: php/class-list-table.php:434
582
  #, php-format
583
  msgid "All <span class=\"count\">(%s)</span>"
584
  msgid_plural "All <span class=\"count\">(%s)</span>"
585
  msgstr[0] ""
586
  msgstr[1] ""
587
 
588
+ #: php/class-list-table.php:435
589
  #, php-format
590
  msgid "Active <span class=\"count\">(%s)</span>"
591
  msgid_plural "Active <span class=\"count\">(%s)</span>"
592
  msgstr[0] ""
593
  msgstr[1] ""
594
 
595
+ #: php/class-list-table.php:436
596
  #, php-format
597
  msgid "Inactive <span class=\"count\">(%s)</span>"
598
  msgid_plural "Inactive <span class=\"count\">(%s)</span>"
599
  msgstr[0] ""
600
  msgstr[1] ""
601
 
602
+ #: php/class-list-table.php:437
603
  #, php-format
604
  msgid "Recently Active <span class=\"count\">(%s)</span>"
605
  msgid_plural "Recently Active <span class=\"count\">(%s)</span>"
606
  msgstr[0] ""
607
  msgstr[1] ""
608
 
609
+ #: php/class-list-table.php:500
610
  msgid "Show all tags"
611
  msgstr ""
612
 
613
+ #: php/class-list-table.php:514
614
  msgid "Filter"
615
  msgstr ""
616
 
617
+ #: php/class-list-table.php:522
618
  msgid "Clear List"
619
  msgstr ""
620
 
621
+ #: php/class-list-table.php:709
622
  msgid "Whoops, it looks like no snippets could be found."
623
  msgstr ""
624
 
625
+ #: php/class-list-table.php:713
626
  msgid "Perhaps you would like to add a new one?"
627
  msgstr ""
628
 
629
+ #: php/class-list-table.php:1010
630
  msgid "Search results"
631
  msgstr ""
632
 
633
+ #: php/class-list-table.php:1013
634
  #, php-format
635
  msgid " for &#8220;%s&#8221;"
636
  msgstr ""
637
 
638
+ #: php/class-list-table.php:1017
639
  #, php-format
640
  msgid " in tag &#8220;%s&#8221;"
641
  msgstr ""
642
 
643
+ #: php/class-list-table.php:1025
644
  msgid "Clear Filters"
645
  msgstr ""
646
 
php/admin-menus/class-edit-menu.php CHANGED
@@ -166,18 +166,20 @@ class Code_Snippets_Edit_Menu extends Code_Snippets_Admin_Menu {
166
  /**
167
  * Validate the snippet code before saving to database
168
  *
169
- * @param Snippet $snippet
170
  *
171
  * @return bool true if code produces errors
172
  */
173
- private function validate_code( Snippet $snippet ) {
174
 
175
  if ( empty( $snippet->code ) ) {
176
  return false;
177
  }
178
 
179
  ob_start( array( $this, 'code_error_callback' ) );
180
- $result = eval( $snippet->code );
 
 
181
  ob_end_clean();
182
 
183
  return false === $result;
@@ -189,13 +191,13 @@ class Code_Snippets_Edit_Menu extends Code_Snippets_Admin_Menu {
189
  private function save_posted_snippet() {
190
 
191
  /* Build snippet object from fields with 'snippet_' prefix */
192
- $snippet = new Snippet();
 
193
  foreach ( $_POST as $field => $value ) {
194
  if ( 'snippet_' === substr( $field, 0, 8 ) ) {
195
 
196
- /* Remove 'snippet_' prefix from field name */
197
- $field = substr( $field, 8 );
198
- $snippet->$field = stripslashes( $value );
199
  }
200
  }
201
 
@@ -273,9 +275,10 @@ class Code_Snippets_Edit_Menu extends Code_Snippets_Admin_Menu {
273
 
274
  /**
275
  * Add a description editor to the single snippet page
276
- * @param Snippet $snippet The snippet being used for this page
 
277
  */
278
- function render_description_editor( Snippet $snippet ) {
279
  $settings = code_snippets_get_settings();
280
  $settings = $settings['description_editor'];
281
  $heading = __( 'Description', 'code-snippets' );
@@ -303,9 +306,10 @@ class Code_Snippets_Edit_Menu extends Code_Snippets_Admin_Menu {
303
 
304
  /**
305
  * Render the interface for editing snippet tags
306
- * @param Snippet $snippet the snippet currently being edited
 
307
  */
308
- function render_tags_editor( Snippet $snippet ) {
309
 
310
  ?>
311
  <label for="snippet_tags" style="cursor: auto;">
@@ -328,9 +332,10 @@ class Code_Snippets_Edit_Menu extends Code_Snippets_Admin_Menu {
328
 
329
  /**
330
  * Render the snippet scope setting
331
- * @param Snippet $snippet the snippet currently being edited
 
332
  */
333
- function render_scope_setting( Snippet $snippet ) {
334
 
335
  $scopes = array(
336
  __( 'Run snippet everywhere', 'code-snippets' ),
166
  /**
167
  * Validate the snippet code before saving to database
168
  *
169
+ * @param Code_Snippet $snippet
170
  *
171
  * @return bool true if code produces errors
172
  */
173
+ private function validate_code( Code_Snippet $snippet ) {
174
 
175
  if ( empty( $snippet->code ) ) {
176
  return false;
177
  }
178
 
179
  ob_start( array( $this, 'code_error_callback' ) );
180
+
181
+ $result = execute_snippet( $snippet->code, $snippet->id );
182
+
183
  ob_end_clean();
184
 
185
  return false === $result;
191
  private function save_posted_snippet() {
192
 
193
  /* Build snippet object from fields with 'snippet_' prefix */
194
+ $snippet = new Code_Snippet();
195
+
196
  foreach ( $_POST as $field => $value ) {
197
  if ( 'snippet_' === substr( $field, 0, 8 ) ) {
198
 
199
+ /* Remove the 'snippet_' prefix from field name and set it on the object */
200
+ $snippet->set_field( substr( $field, 8 ), stripslashes( $value ) );
 
201
  }
202
  }
203
 
275
 
276
  /**
277
  * Add a description editor to the single snippet page
278
+ *
279
+ * @param Code_Snippet $snippet The snippet being used for this page
280
  */
281
+ function render_description_editor( Code_Snippet $snippet ) {
282
  $settings = code_snippets_get_settings();
283
  $settings = $settings['description_editor'];
284
  $heading = __( 'Description', 'code-snippets' );
306
 
307
  /**
308
  * Render the interface for editing snippet tags
309
+ *
310
+ * @param Code_Snippet $snippet the snippet currently being edited
311
  */
312
+ function render_tags_editor( Code_Snippet $snippet ) {
313
 
314
  ?>
315
  <label for="snippet_tags" style="cursor: auto;">
332
 
333
  /**
334
  * Render the snippet scope setting
335
+ *
336
+ * @param Code_Snippet $snippet the snippet currently being edited
337
  */
338
+ function render_scope_setting( Code_Snippet $snippet ) {
339
 
340
  $scopes = array(
341
  __( 'Run snippet everywhere', 'code-snippets' ),
php/class-code-snippets.php CHANGED
@@ -43,6 +43,13 @@ class Code_Snippets {
43
  add_action( 'remove_super_admin', array( $this, 'remove_network_cap' ) );
44
 
45
  add_action( 'init', array( $this, 'load_textdomain' ), 9 );
 
 
 
 
 
 
 
46
  }
47
 
48
  function load_plugin() {
@@ -77,6 +84,20 @@ class Code_Snippets {
77
  $this->shortcode = new Code_Snippets_Shortcode();
78
  }
79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  /**
81
  * Fetch the admin menu slug for a snippets menu
82
  * @param string $menu The menu to retrieve the slug for
@@ -146,7 +167,7 @@ class Code_Snippets {
146
  /**
147
  * Determine whether the current user can perform actions on snippets.
148
  *
149
- * @since [NEXT_VERSION]
150
  * @return boolean Whether the current user has the required capability
151
  */
152
  public function current_user_can() {
@@ -242,4 +263,18 @@ class Code_Snippets {
242
  // wp-content/plugins/code-snippets/languages/code-snippets-[locale].mo
243
  load_plugin_textdomain( $domain, false, dirname( plugin_basename( $this->file ) ) . '/languages' );
244
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  }
43
  add_action( 'remove_super_admin', array( $this, 'remove_network_cap' ) );
44
 
45
  add_action( 'init', array( $this, 'load_textdomain' ), 9 );
46
+
47
+ add_filter( 'code_snippets/execute_snippets', array( $this, 'disable_snippet_execution' ), 5 );
48
+
49
+ if ( isset( $_REQUEST['snippets-safe-mode'] ) ) {
50
+ add_filter( 'home_url', array( $this, 'add_safe_mode_query_var' ) );
51
+ add_filter( 'admin_url', array( $this, 'add_safe_mode_query_var' ) );
52
+ }
53
  }
54
 
55
  function load_plugin() {
84
  $this->shortcode = new Code_Snippets_Shortcode();
85
  }
86
 
87
+ public function disable_snippet_execution( $execute_snippets ) {
88
+
89
+ /* Bail early if safe mode is active */
90
+ if ( defined( 'CODE_SNIPPETS_SAFE_MODE' ) && CODE_SNIPPETS_SAFE_MODE ) {
91
+ return false;
92
+ }
93
+
94
+ if ( isset( $_GET['snippets-safe-mode'] ) && $_GET['snippets-safe-mode'] && $this->current_user_can() ) {
95
+ return false;
96
+ }
97
+
98
+ return $execute_snippets;
99
+ }
100
+
101
  /**
102
  * Fetch the admin menu slug for a snippets menu
103
  * @param string $menu The menu to retrieve the slug for
167
  /**
168
  * Determine whether the current user can perform actions on snippets.
169
  *
170
+ * @since 2.8.6
171
  * @return boolean Whether the current user has the required capability
172
  */
173
  public function current_user_can() {
263
  // wp-content/plugins/code-snippets/languages/code-snippets-[locale].mo
264
  load_plugin_textdomain( $domain, false, dirname( plugin_basename( $this->file ) ) . '/languages' );
265
  }
266
+
267
+ /**
268
+ * Inject the safe mode query var into URLs
269
+ *
270
+ * @param string $url A URL
271
+ *
272
+ * @return string
273
+ */
274
+ function add_safe_mode_query_var( $url ) {
275
+ if ( isset( $_REQUEST['snippets-safe-mode'] ) ) {
276
+ return add_query_arg( 'snippets-safe-mode', $_REQUEST['snippets-safe-mode'], $url );
277
+ }
278
+ return $url;
279
+ }
280
  }
php/class-contextual-help.php CHANGED
@@ -90,8 +90,8 @@ class Code_Snippets_Contextual_Help {
90
  );
91
 
92
  $snippet_host_list = '';
93
- foreach ( $snippet_host_links as $link => $title ) {
94
- $snippet_host_list .= sprintf( '<li><a href="%s"></a></li>\n', esc_url( $link ), esc_html( $title ) );
95
  }
96
 
97
  $this->screen->add_help_tab( array(
@@ -99,7 +99,7 @@ class Code_Snippets_Contextual_Help {
99
  'title' => __( 'Finding Snippets', 'code-snippets' ),
100
  'content' => '<p>' . __( 'Here are some links to websites which host a large number of snippets that you can add to your site:', 'code-snippets' ) .
101
  '<ul>' . $snippet_host_list . '</ul>' .
102
- __( 'More places to find snippets, as well as a selection of example snippets, can be found in the <a href="https://github.com/sheabunge/code-snippets/wiki/Finding-snippets">plugin documentation</a>', 'code-snippets' ) . '</p>',
103
  ) );
104
 
105
  $this->screen->add_help_tab( array(
90
  );
91
 
92
  $snippet_host_list = '';
93
+ foreach ( $snippet_host_links as $title => $link ) {
94
+ $snippet_host_list .= sprintf( '<li><a href="%s">%s</a></li>', esc_url( $link ), esc_html( $title ) );
95
  }
96
 
97
  $this->screen->add_help_tab( array(
99
  'title' => __( 'Finding Snippets', 'code-snippets' ),
100
  'content' => '<p>' . __( 'Here are some links to websites which host a large number of snippets that you can add to your site:', 'code-snippets' ) .
101
  '<ul>' . $snippet_host_list . '</ul>' .
102
+ __( 'More places to find snippets, as well as a selection of example snippets, can be found in the <a href="https://github.com/sheabunge/code-snippets/wiki/Finding-snippets">plugin documentation</a>.', 'code-snippets' ) . '</p>',
103
  ) );
104
 
105
  $this->screen->add_help_tab( array(
php/class-db.php CHANGED
@@ -32,6 +32,28 @@ class Code_Snippets_DB {
32
  $wpdb->ms_snippets = $wpdb->base_prefix . 'ms_snippets';
33
  }
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  /**
36
  * Return the appropriate snippet table name
37
  *
@@ -49,18 +71,10 @@ class Code_Snippets_DB {
49
  return $multisite;
50
  }
51
 
52
- /* If $multisite is null, try to base it on the current admin page */
53
- if ( ! isset( $multisite ) && function_exists( 'get_current_screen' ) ) {
54
- $multisite = get_current_screen()->in_admin( 'network' );
55
- }
56
-
57
- /* If multisite is not active, always return the site-wide table name */
58
- if ( ! is_multisite() ) {
59
- $multisite = false;
60
- }
61
-
62
- /* Retrieve the table name from $wpdb depending on the above conditionals */
63
 
 
64
  return ( $multisite ? $wpdb->ms_snippets : $wpdb->snippets );
65
  }
66
 
32
  $wpdb->ms_snippets = $wpdb->base_prefix . 'ms_snippets';
33
  }
34
 
35
+ /**
36
+ * Validate the multisite parameter of the get_table_name() function
37
+ *
38
+ * @param bool|null $network
39
+ *
40
+ * @return bool
41
+ */
42
+ function validate_network_param( $network ) {
43
+
44
+ /* If multisite is not active, then the parameter should always be false */
45
+ if ( ! is_multisite() ) {
46
+ return false;
47
+ }
48
+
49
+ /* If $multisite is null, try to base it on the current admin page */
50
+ if ( is_null( $network ) && function_exists( 'get_current_screen' ) ) {
51
+ $network = get_current_screen()->in_admin( 'network' );
52
+ }
53
+
54
+ return $network;
55
+ }
56
+
57
  /**
58
  * Return the appropriate snippet table name
59
  *
71
  return $multisite;
72
  }
73
 
74
+ /* Validate the multisite parameter */
75
+ $multisite = $this->validate_network_param( $multisite );
 
 
 
 
 
 
 
 
 
76
 
77
+ /* Retrieve the table name from $wpdb depending on the value of $multisite */
78
  return ( $multisite ? $wpdb->ms_snippets : $wpdb->snippets );
79
  }
80
 
php/class-export.php CHANGED
@@ -136,7 +136,7 @@ class Code_Snippets_Export {
136
 
137
  /* Grab the snippet from the database */
138
  $snippet = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$this->table_name} WHERE id = %d", $id ), ARRAY_A );
139
- $snippet = new Snippet( $snippet );
140
 
141
  /* Process the snippet item */
142
  if ( 'php' === $this->format ) {
@@ -149,9 +149,10 @@ class Code_Snippets_Export {
149
 
150
  /**
151
  * Append a single snippet item to the document
152
- * @param Snippet $snippet
 
153
  */
154
- protected function do_item( Snippet $snippet ) {
155
  $item_element = $this->dom->createElement( 'snippet' );
156
  $item = $this->root->appendChild( $item_element );
157
 
@@ -183,9 +184,10 @@ class Code_Snippets_Export {
183
 
184
  /**
185
  * Format single snippet item as PHP code
186
- * @param Snippet $snippet
 
187
  */
188
- protected function do_item_php( Snippet $snippet ) {
189
  echo "\n/**\n * {$snippet->name}\n";
190
 
191
  if ( ! empty( $snippet->desc ) ) {
136
 
137
  /* Grab the snippet from the database */
138
  $snippet = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$this->table_name} WHERE id = %d", $id ), ARRAY_A );
139
+ $snippet = new Code_Snippet( $snippet );
140
 
141
  /* Process the snippet item */
142
  if ( 'php' === $this->format ) {
149
 
150
  /**
151
  * Append a single snippet item to the document
152
+ *
153
+ * @param Code_Snippet $snippet
154
  */
155
+ protected function do_item( Code_Snippet $snippet ) {
156
  $item_element = $this->dom->createElement( 'snippet' );
157
  $item = $this->root->appendChild( $item_element );
158
 
184
 
185
  /**
186
  * Format single snippet item as PHP code
187
+ *
188
+ * @param Code_Snippet $snippet
189
  */
190
+ protected function do_item_php( Code_Snippet $snippet ) {
191
  echo "\n/**\n * {$snippet->name}\n";
192
 
193
  if ( ! empty( $snippet->desc ) ) {
php/class-list-table.php CHANGED
@@ -84,9 +84,10 @@ class Code_Snippets_List_Table extends WP_List_Table {
84
  /**
85
  * Define the output of all columns that have no callback function
86
  *
87
- * @param Snippet $snippet The snippet used for the current row
88
- * @param string $column_name The name of the column being printed
89
- * @return string The content of the column to output
 
90
  */
91
  protected function column_default( $snippet, $column_name ) {
92
 
@@ -104,10 +105,11 @@ class Code_Snippets_List_Table extends WP_List_Table {
104
  /**
105
  * Build a list of action links for individual snippets
106
  *
107
- * @param Snippet $snippet The current snippet
 
108
  * @return array The action links HTML
109
  */
110
- private function get_snippet_action_links( Snippet $snippet ) {
111
  $actions = array();
112
  $link_format = '<a href="%2$s">%1$s</a>';
113
 
@@ -177,10 +179,11 @@ class Code_Snippets_List_Table extends WP_List_Table {
177
  /**
178
  * Build a list of action links for individual shared network snippets
179
  *
180
- * @param Snippet $snippet The current snippet
 
181
  * @return array The action links HTML
182
  */
183
- private function get_shared_network_snippet_action_links( Snippet $snippet ) {
184
  $actions = array();
185
  $link_format = '<a href="%2$s">%1$s</a>';
186
 
@@ -243,7 +246,8 @@ class Code_Snippets_List_Table extends WP_List_Table {
243
  /**
244
  * Build the content of the snippet name column
245
  *
246
- * @param Snippet $snippet The snippet being used for the current row
 
247
  * @return string The content of the column to output
248
  */
249
  protected function column_name( $snippet ) {
@@ -285,7 +289,8 @@ class Code_Snippets_List_Table extends WP_List_Table {
285
  /**
286
  * Builds the checkbox column content
287
  *
288
- * @param Snippet $snippet The snippet being used for the current row
 
289
  * @return string The column content to be printed
290
  */
291
  protected function column_cb( $snippet ) {
@@ -305,7 +310,8 @@ class Code_Snippets_List_Table extends WP_List_Table {
305
  *
306
  * @since 2.0
307
  *
308
- * @param Snippet $snippet The snippet being used for the current row
 
309
  * @return string The column output
310
  */
311
  protected function column_tags( $snippet ) {
@@ -663,8 +669,9 @@ class Code_Snippets_List_Table extends WP_List_Table {
663
  /* Process the shared network snippets */
664
  if ( isset( $_POST['shared_ids'] ) && is_multisite() && ! $this->is_network ) {
665
  $active_shared_snippets = get_option( 'active_shared_network_snippets', array() );
 
666
  $active_shared_snippets = array_diff( $active_shared_snippets, $_POST['shared_ids'] );
667
- update_option( 'active_shared_network_snippets', $$active_shared_snippets );
668
  }
669
 
670
  wp_redirect( esc_url_raw( add_query_arg( 'result', 'deactivated-multi' ) ) );
@@ -721,7 +728,7 @@ class Code_Snippets_List_Table extends WP_List_Table {
721
  if ( $this->is_network ) {
722
  $limit = count( $snippets['all'] );
723
 
724
- /** @var Snippet $snippet */
725
  for ( $i = 0; $i < $limit; $i++ ) {
726
  $snippet = &$snippets['all'][ $i ];
727
 
@@ -742,7 +749,7 @@ class Code_Snippets_List_Table extends WP_List_Table {
742
  $shared_snippets = $wpdb->get_results( $wpdb->prepare( $sql, $ids ), ARRAY_A );
743
 
744
  foreach ( $shared_snippets as $index => $snippet ) {
745
- $snippet = new Snippet( $snippet );
746
  $snippet->network = true;
747
  $snippet->shared_network = true;
748
  $snippet->tags = array_merge( $snippet->tags, array( 'shared on network' ) );
@@ -903,7 +910,7 @@ class Code_Snippets_List_Table extends WP_List_Table {
903
  *
904
  * @ignore
905
  *
906
- * @param Snippet $snippet The current snippet item being filtered
907
  *
908
  * @return bool false if the snippet is a shared network snippet
909
  */
@@ -916,8 +923,9 @@ class Code_Snippets_List_Table extends WP_List_Table {
916
  *
917
  * @ignore
918
  *
919
- * @param Snippet $a The first snippet to compare
920
- * @param Snippet $b The second snippet to compare
 
921
  * @return int The sort order
922
  */
923
  private function usort_reorder_callback( $a, $b ) {
@@ -951,7 +959,8 @@ class Code_Snippets_List_Table extends WP_List_Table {
951
  * Callback for search function
952
  * @ignore
953
  *
954
- * @param Snippet $snippet The snippet being filtered
 
955
  * @return bool The result of the filter
956
  */
957
  private function search_callback( $snippet ) {
@@ -976,7 +985,8 @@ class Code_Snippets_List_Table extends WP_List_Table {
976
  *
977
  * @ignore
978
  *
979
- * @param Snippet $snippet The snippet being filtered
 
980
  * @return bool The result of the filter
981
  */
982
  private function tags_filter_callback( $snippet ) {
@@ -1020,7 +1030,7 @@ class Code_Snippets_List_Table extends WP_List_Table {
1020
  /**
1021
  * Outputs content for a single row of the table
1022
  *
1023
- * @param Snippet $snippet The snippet being used for the current row
1024
  */
1025
  public function single_row( $snippet ) {
1026
  $row_class = ( $snippet->active ? 'active' : 'inactive' );
84
  /**
85
  * Define the output of all columns that have no callback function
86
  *
87
+ * @param Code_Snippet $snippet The snippet used for the current row
88
+ * @param string $column_name The name of the column being printed
89
+ *
90
+ * @return string The content of the column to output
91
  */
92
  protected function column_default( $snippet, $column_name ) {
93
 
105
  /**
106
  * Build a list of action links for individual snippets
107
  *
108
+ * @param Code_Snippet $snippet The current snippet
109
+ *
110
  * @return array The action links HTML
111
  */
112
+ private function get_snippet_action_links( Code_Snippet $snippet ) {
113
  $actions = array();
114
  $link_format = '<a href="%2$s">%1$s</a>';
115
 
179
  /**
180
  * Build a list of action links for individual shared network snippets
181
  *
182
+ * @param Code_Snippet $snippet The current snippet
183
+ *
184
  * @return array The action links HTML
185
  */
186
+ private function get_shared_network_snippet_action_links( Code_Snippet $snippet ) {
187
  $actions = array();
188
  $link_format = '<a href="%2$s">%1$s</a>';
189
 
246
  /**
247
  * Build the content of the snippet name column
248
  *
249
+ * @param Code_Snippet $snippet The snippet being used for the current row
250
+ *
251
  * @return string The content of the column to output
252
  */
253
  protected function column_name( $snippet ) {
289
  /**
290
  * Builds the checkbox column content
291
  *
292
+ * @param Code_Snippet $snippet The snippet being used for the current row
293
+ *
294
  * @return string The column content to be printed
295
  */
296
  protected function column_cb( $snippet ) {
310
  *
311
  * @since 2.0
312
  *
313
+ * @param Code_Snippet $snippet The snippet being used for the current row
314
+ *
315
  * @return string The column output
316
  */
317
  protected function column_tags( $snippet ) {
669
  /* Process the shared network snippets */
670
  if ( isset( $_POST['shared_ids'] ) && is_multisite() && ! $this->is_network ) {
671
  $active_shared_snippets = get_option( 'active_shared_network_snippets', array() );
672
+ $active_shared_snippets = ( '' === $active_shared_snippets ) ? array() : $active_shared_snippets;
673
  $active_shared_snippets = array_diff( $active_shared_snippets, $_POST['shared_ids'] );
674
+ update_option( 'active_shared_network_snippets', $active_shared_snippets );
675
  }
676
 
677
  wp_redirect( esc_url_raw( add_query_arg( 'result', 'deactivated-multi' ) ) );
728
  if ( $this->is_network ) {
729
  $limit = count( $snippets['all'] );
730
 
731
+ /** @var Code_Snippet $snippet */
732
  for ( $i = 0; $i < $limit; $i++ ) {
733
  $snippet = &$snippets['all'][ $i ];
734
 
749
  $shared_snippets = $wpdb->get_results( $wpdb->prepare( $sql, $ids ), ARRAY_A );
750
 
751
  foreach ( $shared_snippets as $index => $snippet ) {
752
+ $snippet = new Code_Snippet( $snippet );
753
  $snippet->network = true;
754
  $snippet->shared_network = true;
755
  $snippet->tags = array_merge( $snippet->tags, array( 'shared on network' ) );
910
  *
911
  * @ignore
912
  *
913
+ * @param Code_Snippet $snippet The current snippet item being filtered
914
  *
915
  * @return bool false if the snippet is a shared network snippet
916
  */
923
  *
924
  * @ignore
925
  *
926
+ * @param Code_Snippet $a The first snippet to compare
927
+ * @param Code_Snippet $b The second snippet to compare
928
+ *
929
  * @return int The sort order
930
  */
931
  private function usort_reorder_callback( $a, $b ) {
959
  * Callback for search function
960
  * @ignore
961
  *
962
+ * @param Code_Snippet $snippet The snippet being filtered
963
+ *
964
  * @return bool The result of the filter
965
  */
966
  private function search_callback( $snippet ) {
985
  *
986
  * @ignore
987
  *
988
+ * @param Code_Snippet $snippet The snippet being filtered
989
+ *
990
  * @return bool The result of the filter
991
  */
992
  private function tags_filter_callback( $snippet ) {
1030
  /**
1031
  * Outputs content for a single row of the table
1032
  *
1033
+ * @param Code_Snippet $snippet The snippet being used for the current row
1034
  */
1035
  public function single_row( $snippet ) {
1036
  $row_class = ( $snippet->active ? 'active' : 'inactive' );
php/class-snippet.php CHANGED
@@ -19,7 +19,7 @@
19
  * @property-read array $tags_list The tags in string list format
20
  * @property-read string $scope_name The name of the scope
21
  */
22
- class Snippet {
23
 
24
  /**
25
  * The snippet metadata fields.
@@ -38,6 +38,10 @@ class Snippet {
38
  'shared_network' => null,
39
  );
40
 
 
 
 
 
41
  /**
42
  * Set all of the snippet fields from an array or object.
43
  * Invalid fields will be ignored
@@ -70,18 +74,30 @@ class Snippet {
70
  $this->set_fields( $fields );
71
  }
72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  /**
74
  * Check if a field is set
75
  * @param string $field The field name
76
  * @return bool Whether the field is set
77
  */
78
  public function __isset( $field ) {
79
-
80
- /* Rename the description field */
81
- if ( 'description' === $field ) {
82
- $field = 'desc';
83
- }
84
-
85
  return isset( $this->fields[ $field ] ) || method_exists( $this, 'get_' . $field );
86
  }
87
 
@@ -91,11 +107,7 @@ class Snippet {
91
  * @return mixed The field value
92
  */
93
  public function __get( $field ) {
94
-
95
- /* Rename the description field */
96
- if ( 'description' === $field ) {
97
- $field = 'desc';
98
- }
99
 
100
  if ( method_exists( $this, 'get_' . $field ) ) {
101
  return call_user_func( array( $this, 'get_' . $field ) );
@@ -113,14 +125,15 @@ class Snippet {
113
  * @param mixed $value The field value
114
  */
115
  public function __set( $field, $value ) {
116
-
117
- /* Rename the description field */
118
- if ( 'description' === $field ) {
119
- $field = 'desc';
120
- }
121
 
122
  if ( ! $this->is_allowed_field( $field ) ) {
123
- throw new ErrorException( 'Trying to set invalid property on Snippets class: ' . $field, 0, E_WARNING );
 
 
 
 
 
124
  }
125
 
126
  /* Check if the field value should be filtered */
@@ -137,7 +150,7 @@ class Snippet {
137
  * @return array
138
  */
139
  public function get_allowed_fields() {
140
- return array_keys( $this->fields );
141
  }
142
 
143
  /**
@@ -148,7 +161,7 @@ class Snippet {
148
  * @return bool true if the is allowed, false if invalid
149
  */
150
  public function is_allowed_field( $field ) {
151
- return array_key_exists( $field, $this->fields );
152
  }
153
 
154
  /**
19
  * @property-read array $tags_list The tags in string list format
20
  * @property-read string $scope_name The name of the scope
21
  */
22
+ class Code_Snippet {
23
 
24
  /**
25
  * The snippet metadata fields.
38
  'shared_network' => null,
39
  );
40
 
41
+ private $field_aliases = array(
42
+ 'description' => 'desc',
43
+ );
44
+
45
  /**
46
  * Set all of the snippet fields from an array or object.
47
  * Invalid fields will be ignored
74
  $this->set_fields( $fields );
75
  }
76
 
77
+ /**
78
+ * Internal function for validating the name of a field
79
+ *
80
+ * @param string $field A field name
81
+ *
82
+ * @return string The validated field name
83
+ */
84
+ private function validate_field_name( $field ) {
85
+
86
+ /* If a field alias is set, remap it to the valid field name */
87
+ if ( isset( $this->field_aliases[ $field ] ) ) {
88
+ return $this->field_aliases[ $field ];
89
+ }
90
+
91
+ return $field;
92
+ }
93
+
94
  /**
95
  * Check if a field is set
96
  * @param string $field The field name
97
  * @return bool Whether the field is set
98
  */
99
  public function __isset( $field ) {
100
+ $field = $this->validate_field_name( $field );
 
 
 
 
 
101
  return isset( $this->fields[ $field ] ) || method_exists( $this, 'get_' . $field );
102
  }
103
 
107
  * @return mixed The field value
108
  */
109
  public function __get( $field ) {
110
+ $field = $this->validate_field_name( $field );
 
 
 
 
111
 
112
  if ( method_exists( $this, 'get_' . $field ) ) {
113
  return call_user_func( array( $this, 'get_' . $field ) );
125
  * @param mixed $value The field value
126
  */
127
  public function __set( $field, $value ) {
128
+ $field = $this->validate_field_name( $field );
 
 
 
 
129
 
130
  if ( ! $this->is_allowed_field( $field ) ) {
131
+
132
+ if ( WP_DEBUG ) {
133
+ trigger_error( 'Trying to set invalid property on Snippets class: ' . esc_html( $field ), E_WARNING );
134
+ }
135
+
136
+ return;
137
  }
138
 
139
  /* Check if the field value should be filtered */
150
  * @return array
151
  */
152
  public function get_allowed_fields() {
153
+ return array_keys( $this->fields ) + array_keys( $this->field_aliases );
154
  }
155
 
156
  /**
161
  * @return bool true if the is allowed, false if invalid
162
  */
163
  public function is_allowed_field( $field ) {
164
+ return array_key_exists( $field, $this->fields ) || array_key_exists( $field, $this->field_aliases );
165
  }
166
 
167
  /**
php/snippet-ops.php CHANGED
@@ -21,28 +21,38 @@
21
  function get_snippets( array $ids = array(), $multisite = null ) {
22
  /** @var wpdb $wpdb */
23
  global $wpdb;
24
- $table = code_snippets()->db->get_table_name( $multisite );
25
- $sql = "SELECT * FROM $table";
 
 
 
26
  $ids_count = count( $ids );
27
 
 
28
  if ( 1 == $ids_count ) {
29
  return array( get_snippet( $ids[0] ) );
30
  }
31
 
 
32
  if ( $ids_count > 1 ) {
33
- $sql .= ' WHERE id IN (';
34
- $sql .= implode( ',', array_fill( 0, $ids_count, '%d' ) );
35
- $sql .= ')';
36
-
 
37
  $sql = $wpdb->prepare( $sql, $ids );
 
 
 
38
  }
39
 
 
40
  $snippets = $wpdb->get_results( $sql, ARRAY_A );
41
 
42
  /* Convert snippets to snippet objects */
43
  foreach ( $snippets as $index => $snippet ) {
44
- $snippet['network'] = is_multisite() && $multisite;
45
- $snippets[ $index ] = new Snippet( $snippet );
46
  }
47
 
48
  return apply_filters( 'code_snippets/get_snippets', $snippets, $multisite );
@@ -107,7 +117,8 @@ function code_snippets_build_tags_array( $tags ) {
107
  *
108
  * @param int $id The ID of the snippet to retrieve. 0 to build a new snippet
109
  * @param boolean|null $multisite Retrieve a multisite-wide or site-wide snippet?
110
- * @return Snippet A single snippet object
 
111
  */
112
  function get_snippet( $id = 0, $multisite = null ) {
113
  /** @var wpdb $wpdb */
@@ -122,12 +133,12 @@ function get_snippet( $id = 0, $multisite = null ) {
122
  $snippet = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHERE id = %d", $id ) );
123
 
124
  /* Unescape the snippet data, ready for use */
125
- $snippet = new Snippet( $snippet );
126
 
127
  } else {
128
 
129
  /* Get an empty snippet object */
130
- $snippet = new Snippet();
131
  }
132
 
133
  $snippet->network = $multisite;
@@ -244,10 +255,11 @@ function delete_snippet( $id, $multisite = null ) {
244
  * @uses $wpdb to update/add the snippet to the database
245
  * @uses code_snippets()->db->get_table_name() To dynamically retrieve the name of the snippet table
246
  *
247
- * @param Snippet $snippet The snippet to add/update to the database
 
248
  * @return int The ID of the snippet
249
  */
250
- function save_snippet( Snippet $snippet ) {
251
  /** @var wpdb $wpdb */
252
  global $wpdb;
253
 
@@ -295,7 +307,7 @@ function update_snippet_fields( $snippet_id, $fields, $network = null ) {
295
  $table = code_snippets()->db->get_table_name( $network );
296
 
297
  /* Build a new snippet object for the validation */
298
- $snippet = new Snippet();
299
  $snippet->id = $snippet_id;
300
 
301
  /* Validate fields through the snippet class and copy them into a clean array */
@@ -341,7 +353,7 @@ function import_snippets( $file, $multisite = null ) {
341
 
342
  /** @var DOMElement $snippet_xml */
343
  foreach ( $snippets_xml as $snippet_xml ) {
344
- $snippet = new Snippet();
345
  $snippet->network = $multisite;
346
 
347
  /* Build a snippet object by looping through the field names */
@@ -352,7 +364,7 @@ function import_snippets( $file, $multisite = null ) {
352
 
353
  /* If the field element exists, add it to the snippet object */
354
  if ( isset( $field->nodeValue ) ) {
355
- $snippet->$field_name = $field->nodeValue;
356
  }
357
  }
358
 
@@ -412,9 +424,7 @@ function execute_snippet( $code, $id = 0 ) {
412
  return false;
413
  }
414
 
415
- ob_start();
416
  $result = eval( $code );
417
- ob_end_clean();
418
 
419
  do_action( 'code_snippets/after_execute_snippet', $id, $code, $result );
420
 
@@ -430,12 +440,7 @@ function execute_snippet( $code, $id = 0 ) {
430
  */
431
  function execute_active_snippets() {
432
 
433
- /* Bail early if safe mode is active */
434
- if ( defined( 'CODE_SNIPPETS_SAFE_MODE' ) && CODE_SNIPPETS_SAFE_MODE ) {
435
- return false;
436
- }
437
-
438
- if ( isset( $_GET['snippets-safe-mode'] ) && $_GET['snippets-safe-mode'] && code_snippets()->current_user_can() ) {
439
  return false;
440
  }
441
 
@@ -444,37 +449,34 @@ function execute_active_snippets() {
444
 
445
  $current_scope = is_admin() ? 1 : 2;
446
 
447
- /* Check if the snippets tables exist */
448
- $table_exists = $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->snippets'" ) === $wpdb->snippets;
449
- $ms_table_exists = is_multisite() && $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->ms_snippets'" ) === $wpdb->ms_snippets;
450
- $sql = '';
451
-
452
  /* Fetch snippets from site table */
453
- if ( $table_exists ) {
454
- $sql = $wpdb->prepare( "SELECT id, code FROM {$wpdb->snippets} WHERE active=1 AND (scope=0 OR scope=%d)", $current_scope );
455
  }
456
 
457
  /* Fetch snippets from the network table */
458
- if ( $ms_table_exists ) {
 
459
 
460
- if ( ! empty( $sql ) ) {
461
- $sql .= ' UNION ALL ';
462
- }
 
 
463
 
464
- /* Only select snippets in the current scope */
465
- $sql .= $wpdb->prepare( "SELECT id, code FROM {$wpdb->ms_snippets} WHERE active=1 AND (scope=0 OR scope=%d)", $current_scope );
466
-
467
- /* Add shared network snippets */
468
- if ( $active_shared_ids = get_option( 'active_shared_network_snippets', false ) ) {
469
- $sql .= ' UNION ALL ';
470
- $sql .= $wpdb->prepare(
471
- sprintf(
472
- "SELECT id, code FROM {$wpdb->ms_snippets} WHERE id IN (%s)",
473
- implode( ',', array_fill( 0, count( $active_shared_ids ), '%d' ) )
474
- ),
475
- $active_shared_ids
476
- );
477
  }
 
 
 
478
  }
479
 
480
  /* Return false if there is no query */
@@ -497,23 +499,3 @@ function execute_active_snippets() {
497
  }
498
 
499
 
500
- if ( isset( $_REQUEST['snippets-safe-mode'] ) ) {
501
-
502
- /**
503
- * Inject the safe mode query var into URLs
504
- *
505
- * @param $url
506
- *
507
- * @return string
508
- */
509
- function code_snippets_safe_mode_query_var( $url ) {
510
- if ( isset( $_REQUEST['snippets-safe-mode'] ) ) {
511
- return add_query_arg( 'snippets-safe-mode', $_REQUEST['snippets-safe-mode'], $url );
512
- }
513
- return $url;
514
- }
515
-
516
- add_filter( 'home_url', 'code_snippets_safe_mode_query_var' );
517
- add_filter( 'admin_url', 'code_snippets_safe_mode_query_var' );
518
- }
519
-
21
  function get_snippets( array $ids = array(), $multisite = null ) {
22
  /** @var wpdb $wpdb */
23
  global $wpdb;
24
+
25
+ $db = code_snippets()->db;
26
+ $multisite = $db->validate_network_param( $multisite );
27
+ $table = $db->get_table_name( $multisite );
28
+
29
  $ids_count = count( $ids );
30
 
31
+ /* If only one ID has been passed in, defer to the get_snippet() function */
32
  if ( 1 == $ids_count ) {
33
  return array( get_snippet( $ids[0] ) );
34
  }
35
 
36
+ /* Build a query containing the specified IDs if there are any */
37
  if ( $ids_count > 1 ) {
38
+ $sql = sprintf(
39
+ 'SELECT * FROM %s WHERE id IN (%s);',
40
+ $table,
41
+ implode( ',', array_fill( 0, $ids_count, '%d' ) )
42
+ );
43
  $sql = $wpdb->prepare( $sql, $ids );
44
+
45
+ } else {
46
+ $sql = "SELECT * FROM $table;";
47
  }
48
 
49
+ /* Retrieve the results from the database */
50
  $snippets = $wpdb->get_results( $sql, ARRAY_A );
51
 
52
  /* Convert snippets to snippet objects */
53
  foreach ( $snippets as $index => $snippet ) {
54
+ $snippet['network'] = $multisite;
55
+ $snippets[ $index ] = new Code_Snippet( $snippet );
56
  }
57
 
58
  return apply_filters( 'code_snippets/get_snippets', $snippets, $multisite );
117
  *
118
  * @param int $id The ID of the snippet to retrieve. 0 to build a new snippet
119
  * @param boolean|null $multisite Retrieve a multisite-wide or site-wide snippet?
120
+ *
121
+ * @return Code_Snippet A single snippet object
122
  */
123
  function get_snippet( $id = 0, $multisite = null ) {
124
  /** @var wpdb $wpdb */
133
  $snippet = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHERE id = %d", $id ) );
134
 
135
  /* Unescape the snippet data, ready for use */
136
+ $snippet = new Code_Snippet( $snippet );
137
 
138
  } else {
139
 
140
  /* Get an empty snippet object */
141
+ $snippet = new Code_Snippet();
142
  }
143
 
144
  $snippet->network = $multisite;
255
  * @uses $wpdb to update/add the snippet to the database
256
  * @uses code_snippets()->db->get_table_name() To dynamically retrieve the name of the snippet table
257
  *
258
+ * @param Code_Snippet $snippet The snippet to add/update to the database
259
+ *
260
  * @return int The ID of the snippet
261
  */
262
+ function save_snippet( Code_Snippet $snippet ) {
263
  /** @var wpdb $wpdb */
264
  global $wpdb;
265
 
307
  $table = code_snippets()->db->get_table_name( $network );
308
 
309
  /* Build a new snippet object for the validation */
310
+ $snippet = new Code_Snippet();
311
  $snippet->id = $snippet_id;
312
 
313
  /* Validate fields through the snippet class and copy them into a clean array */
353
 
354
  /** @var DOMElement $snippet_xml */
355
  foreach ( $snippets_xml as $snippet_xml ) {
356
+ $snippet = new Code_Snippet();
357
  $snippet->network = $multisite;
358
 
359
  /* Build a snippet object by looping through the field names */
364
 
365
  /* If the field element exists, add it to the snippet object */
366
  if ( isset( $field->nodeValue ) ) {
367
+ $snippet->set_field( $field_name, $field->nodeValue );
368
  }
369
  }
370
 
424
  return false;
425
  }
426
 
 
427
  $result = eval( $code );
 
428
 
429
  do_action( 'code_snippets/after_execute_snippet', $id, $code, $result );
430
 
440
  */
441
  function execute_active_snippets() {
442
 
443
+ if ( ! apply_filters( 'code_snippets/execute_snippets', true ) ) {
 
 
 
 
 
444
  return false;
445
  }
446
 
449
 
450
  $current_scope = is_admin() ? 1 : 2;
451
 
 
 
 
 
 
452
  /* Fetch snippets from site table */
453
+ if ( $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->snippets'" ) === $wpdb->snippets ) {
454
+ $sql = $wpdb->prepare( "SELECT id, code FROM {$wpdb->snippets} WHERE (scope=0 OR scope=%d) AND active=1", $current_scope );
455
  }
456
 
457
  /* Fetch snippets from the network table */
458
+ if ( is_multisite() && $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->ms_snippets'" ) === $wpdb->ms_snippets ) {
459
+ $active_shared_ids = get_option( 'active_shared_network_snippets', array() );
460
 
461
+ /* If there are active shared snippets, include them in the query */
462
+ if ( count( $active_shared_ids ) ) {
463
+
464
+ /* Build a list of "%d, %d, %d ..." for every active network shared snippet we have */
465
+ $active_shared_ids_format = implode( ',', array_fill( 0, count( $active_shared_ids ), '%d' ) );
466
 
467
+ /* Include them in the query */
468
+ $mu_sql = "SELECT id, code FROM {$wpdb->snippets} WHERE (scope=0 OR scope=%d) AND (active=1 OR id IN ($active_shared_ids_format))";
469
+
470
+ /* Add the scope number to the IDs array, so that it is the first variable in the query */
471
+ array_unshift( $active_shared_ids, $current_scope );
472
+ $mu_sql = $wpdb->prepare( $mu_sql, $active_shared_ids );
473
+
474
+ } else {
475
+ $mu_sql = $wpdb->prepare( "SELECT id, code FROM {$wpdb->ms_snippets} WHERE (scope=0 OR scope=%d) AND active=1", $current_scope );
 
 
 
 
476
  }
477
+
478
+ /* Join the two SQL queries together */
479
+ $sql = ( empty( $sql ) ? '' : $sql . ' UNION ALL ' ) . $mu_sql;
480
  }
481
 
482
  /* Return false if there is no query */
499
  }
500
 
501
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: bungeshea
3
  Donate link: https://bungeshea.com/donate/
4
  Tags: code-snippets, snippets, code, php, network, multisite
5
  Requires at least: 3.6
6
- Tested up to: 4.7.4
7
- Stable tag: 2.8.5
8
  License: MIT
9
  License URI: license.txt
10
 
@@ -26,6 +26,7 @@ If you have any feedback, issues, or suggestions for improvements please leave a
26
 
27
  Code Snippets can be used in these different languages thanks to the following translators:
28
 
 
29
  * Indonesian - [Jordan Silaen from ChameleonJohn.com](https://www.chameleonjohn.com/)
30
  * German - [Mario Siegmann](http://web-alltag.de/), [Joerg Knoerchen](http://www.sensorgrafie.de/), and [David Decker](http://deckerweb.de)
31
  * Dutch - [Sander Spies](https://github.com/sander1)
@@ -109,6 +110,20 @@ That's fantastic! Fork the [repository on GitHub](http://github.com/sheabunge/co
109
 
110
  == Changelog ==
111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  = 2.8.5 (13 May 2017) =
113
  * Ensured HTML in snippet titles is escaped in snippets table
114
  * Added Indonesian translation by Jordan Silaen from ChameleonJohn.com
3
  Donate link: https://bungeshea.com/donate/
4
  Tags: code-snippets, snippets, code, php, network, multisite
5
  Requires at least: 3.6
6
+ Tested up to: 4.8.1
7
+ Stable tag: 2.9.0
8
  License: MIT
9
  License URI: license.txt
10
 
26
 
27
  Code Snippets can be used in these different languages thanks to the following translators:
28
 
29
+ * French (Canada) - [Dominic Desbiens](http://www.dominicdesbiens.com/)
30
  * Indonesian - [Jordan Silaen from ChameleonJohn.com](https://www.chameleonjohn.com/)
31
  * German - [Mario Siegmann](http://web-alltag.de/), [Joerg Knoerchen](http://www.sensorgrafie.de/), and [David Decker](http://deckerweb.de)
32
  * Dutch - [Sander Spies](https://github.com/sander1)
110
 
111
  == Changelog ==
112
 
113
+ = 2.9.0 (6 Sep 2017) =
114
+ * Fixed: Prevented invalid properties from being set when saving a snippet
115
+ * Fixed: Use the correct protocol when saving a snippet
116
+ * Improved: Moved code to disable snippet execution into a filter hook
117
+ * Fixed: Active shared snippets not being updated correctly
118
+ * Improved: execute_active_snippets() function updated with improved efficiency
119
+ * Improved: Renamed Snippet class to avoid name collisions with other plugins
120
+ * Improved: Don't hide output when executing a snippet
121
+ * Updated CodeMirror to version 5.28.0
122
+
123
+ = 2.8.6 (14 May 2017) =
124
+ * Ensure that get_snippets() function retrieves snippets with the correct 'network' setting. Fixes snippet edit links in network admin.
125
+ * Fix snippet description field alias not mapping correctly
126
+
127
  = 2.8.5 (13 May 2017) =
128
  * Ensured HTML in snippet titles is escaped in snippets table
129
  * Added Indonesian translation by Jordan Silaen from ChameleonJohn.com