Hex Artifact Content Вы: nobody
Вход

Artifact 32a0ac8755c338aec9114249f4134bdc50f4cd0d:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 53 70 65 6c 6c  pt..$uname Spell
0020: 43 68 65 63 6b 65 72 0d 0a 24 64 6e 61 6d 65 20  Checker..$dname 
0030: d0 9a d0 bb d0 b0 d1 81 d1 81 20 53 70 65 6c 6c  .......... Spell
0040: 43 68 65 63 6b 65 72 0d 0a 24 61 64 64 69 6e 20  Checker..$addin 
0050: 67 6c 6f 62 61 6c 0d 0a 24 61 64 64 69 6e 20 73  global..$addin s
0060: 74 64 63 6f 6d 6d 61 6e 64 73 0d 0a 24 61 64 64  tdcommands..$add
0070: 69 6e 20 73 74 64 6c 69 62 0d 0a 0d 0a 2f 2f 2f  in stdlib....///
0080: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0090: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00d0: 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 43 d0 ba  /////..////{ C..
00e0: d1 80 d0 b8 d0 bf d1 82 2d d0 b1 d0 b8 d0 b1 d0  ........-.......
00f0: bb d0 b8 d0 be d1 82 d0 b5 d0 ba d0 b0 20 53 70  ............. Sp
0100: 65 6c 6c 43 68 65 63 6b 65 72 20 28 53 70 65 6c  ellChecker (Spel
0110: 6c 43 68 65 63 6b 65 72 2e 6a 73 29 20 d0 b4 d0  lChecker.js) ...
0120: bb d1 8f 20 d0 bf d1 80 d0 be d0 b5 d0 ba d1 82  ... ............
0130: d0 b0 20 22 d0 a1 d0 bd d0 b5 d0 b3 d0 be d0 bf  .. "............
0140: d0 b0 d1 82 22 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f  ...."..////..///
0150: 2f 20 d0 9e d0 bf d0 b8 d1 81 d0 b0 d0 bd d0 b8  / ..............
0160: d0 b5 3a 20 d0 a0 d0 b5 d0 b0 d0 bb d0 b8 d0 b7  ..: ............
0170: d1 83 d0 b5 d1 82 20 d1 84 d1 83 d0 bd d0 ba d1  ...... .........
0180: 86 d0 b8 d0 be d0 bd d0 b0 d0 bb 20 d0 bf d0 be  ........... ....
0190: 20 d0 be d1 80 d1 84 d0 be d0 b3 d1 80 d0 b0 d1   ...............
01a0: 84 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 be d0 bc d1  ................
01b0: 83 20 d0 ba d0 be d0 bd d1 82 d1 80 d0 be d0 bb  . ..............
01c0: d1 8e 20 d0 b8 d1 81 d1 85 d0 be d0 b4 d0 bd d0  .. .............
01d0: be d0 b3 d0 be 20 d0 ba d0 be d0 b4 d0 b0 20 d0  ..... ........ .
01e0: bd d0 b0 20 0d 0a 2f 2f 2f 2f 20 d0 b2 d0 bd d1  ... ..//// .....
01f0: 83 d1 82 d1 80 d0 b5 d0 bd d0 bd d0 b5 d0 bc 20  ............... 
0200: d1 8f d0 b7 d1 8b d0 ba d0 b5 20 31 d0 a1 3a d0  .......... 1..:.
0210: 9f d1 80 d0 b5 d0 b4 d0 bf d1 80 d0 b8 d1 8f d1  ................
0220: 82 d0 b8 d1 8f 20 38 2e 0d 0a 2f 2f 2f 2f 20 0d  ..... 8...//// .
0230: 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 20 d0 90 d0 b2  .////..//// ....
0240: d1 82 d0 be d1 80 20 d0 a1 d0 be d1 81 d0 bd d0  ...... .........
0250: b0 20 d0 95 d0 b2 d0 b3 d0 b5 d0 bd d0 b8 d0 b9  . ..............
0260: 20 3c 73 68 65 6e 6a 61 40 73 6f 73 6e 61 2e 7a   <shenja@sosna.z
0270: 70 2e 75 61 3e 0d 0a 2f 2f 2f 2f 7d 0d 0a 2f 2f  p.ua>..////}..//
0280: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0290: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02d0: 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 0d 0a 73 74 64 6c  //////......stdl
02e0: 69 62 2e 72 65 71 75 69 72 65 28 27 53 65 74 74  ib.require('Sett
02f0: 69 6e 67 73 4d 61 6e 61 67 65 6d 65 6e 74 2e 6a  ingsManagement.j
0300: 73 27 2c 20 53 65 6c 66 53 63 72 69 70 74 29 3b  s', SelfScript);
0310: 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75 69 72 65  ..stdlib.require
0320: 28 27 54 65 78 74 57 69 6e 64 6f 77 2e 6a 73 27  ('TextWindow.js'
0330: 2c 20 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a  , SelfScript);..
0340: 67 6c 6f 62 61 6c 2e 63 6f 6e 6e 65 63 74 47 6c  global.connectGl
0350: 6f 62 61 6c 73 28 53 65 6c 66 53 63 72 69 70 74  obals(SelfScript
0360: 29 0d 0a 0d 0a 76 61 72 20 6d 61 69 6e 46 6f 6c  )....var mainFol
0370: 64 65 72 20 3d 20 70 72 6f 66 69 6c 65 52 6f 6f  der = profileRoo
0380: 74 2e 67 65 74 56 61 6c 75 65 28 22 53 6e 65 67  t.getValue("Sneg
0390: 6f 70 61 74 2f 4d 61 69 6e 46 6f 6c 64 65 72 22  opat/MainFolder"
03a0: 29 0d 0a 76 61 72 20 73 65 74 74 69 6e 67 73 3b  )..var settings;
03b0: 20 2f 2f 20 d0 a5 d1 80 d0 b0 d0 bd d0 b8 d1 82   // ............
03c0: 20 d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0   ...............
03d0: ba d0 b8 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 82  ... ............
03e0: d0 b0 20 28 d1 8d d0 ba d0 b7 d0 b5 d0 bc d0 bf  .. (............
03f0: d0 bb d1 8f d1 80 20 53 65 74 74 69 6e 67 73 4d  ...... SettingsM
0400: 61 6e 61 67 65 72 27 d0 b0 29 2e 0d 0a 0d 0a 53  anager'..).....S
0410: 65 6c 66 53 63 72 69 70 74 2e 53 65 6c 66 5b 27  elfScript.Self['
0420: 6d 61 63 72 6f 73 d0 9f d1 80 d0 be d0 b2 d0 b5  macros..........
0430: d1 80 d0 ba d0 b0 d0 92 d1 8b d0 b4 d0 b5 d0 bb  ................
0440: d0 b5 d0 bd d0 bd d0 be d0 b3 d0 be d0 a2 d0 b5  ................
0450: d0 ba d1 81 d1 82 d0 b0 27 5d 20 3d 20 66 75 6e  ........'] = fun
0460: 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20  ction () {..    
0470: 0d 0a 20 20 20 20 76 61 72 20 77 6e 64 20 3d 20  ..    var wnd = 
0480: 47 65 74 54 65 78 74 57 69 6e 64 6f 77 28 29 3b  GetTextWindow();
0490: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 74 65      ..    var te
04a0: 78 74 20 3d 20 22 22 3b 0d 0a 20 20 20 20 69 66  xt = "";..    if
04b0: 20 28 77 6e 64 29 20 0d 0a 20 20 20 20 20 20 20   (wnd) ..       
04c0: 20 74 65 78 74 20 3d 20 77 6e 64 2e 47 65 74 53   text = wnd.GetS
04d0: 65 6c 65 63 74 65 64 54 65 78 74 28 29 3b 0d 0a  electedText();..
04e0: 20 20 20 20 0d 0a 20 20 20 20 73 70 65 6c 6c 20      ..    spell 
04f0: 3d 20 47 65 74 53 70 65 6c 6c 43 68 65 63 6b 65  = GetSpellChecke
0500: 72 28 29 3b 0d 0a 20 20 20 20 73 70 65 6c 6c 2e  r();..    spell.
0510: 53 70 65 6c 6c 54 65 78 74 28 74 65 78 74 29 3b  SpellText(text);
0520: 0d 0a 20 20 20 20 69 66 20 28 73 70 65 6c 6c 2e  ..    if (spell.
0530: 70 72 6f 76 69 64 65 72 21 3d 6e 75 6c 6c 29 7b  provider!=null){
0540: 0d 0a 20 20 20 20 20 20 20 20 73 70 65 6c 6c 2e  ..        spell.
0550: 70 72 6f 76 69 64 65 72 2e 44 69 73 63 6f 6e 6e  provider.Disconn
0560: 65 63 74 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d  ect();..    }...
0570: 0a 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66  .    ..}....Self
0580: 53 63 72 69 70 74 2e 53 65 6c 66 5b 27 6d 61 63  Script.Self['mac
0590: 72 6f 73 d0 9d d0 b0 d1 81 d1 82 d1 80 d0 be d0  ros.............
05a0: b9 d0 ba d0 b0 53 70 65 6c 6c 43 68 65 63 6b 65  .....SpellChecke
05b0: 72 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28  r'] = function (
05c0: 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76  ) {..    ..    v
05d0: 61 72 20 77 6e 64 20 3d 20 47 65 74 54 65 78 74  ar wnd = GetText
05e0: 57 69 6e 64 6f 77 28 29 3b 20 20 20 20 0d 0a 20  Window();    .. 
05f0: 20 20 20 76 61 72 20 74 65 78 74 20 3d 20 22 22     var text = ""
0600: 3b 0d 0a 20 20 20 20 69 66 20 28 77 6e 64 29 20  ;..    if (wnd) 
0610: 0d 0a 20 20 20 20 20 20 20 20 74 65 78 74 20 3d  ..        text =
0620: 20 77 6e 64 2e 47 65 74 53 65 6c 65 63 74 65 64   wnd.GetSelected
0630: 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 0d 0a 20  Text();..    .. 
0640: 20 20 20 73 70 65 6c 6c 20 3d 20 47 65 74 53 70     spell = GetSp
0650: 65 6c 6c 43 68 65 63 6b 65 72 28 29 3b 0d 0a 20  ellChecker();.. 
0660: 20 20 20 73 70 65 6c 6c 2e 66 6f 72 6d 50 61 72     spell.formPar
0670: 61 6d 73 2e d0 9e d1 82 d0 ba d1 80 d1 8b d1 82  ams.............
0680: d1 8c d0 9c d0 be d0 b4 d0 b0 d0 bb d1 8c d0 bd  ................
0690: d0 be 28 29 3b 0d 0a 20 20 20 20 0d 0a 7d 0d 0a  ..();..    ..}..
06a0: 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 53 65 6c  ..SelfScript.Sel
06b0: 66 5b 27 6d 61 63 72 6f 73 d0 9f d1 80 d0 be d0  f['macros.......
06c0: b2 d0 b5 d1 80 d0 ba d0 b0 d0 a2 d0 b5 d0 ba d1  ................
06d0: 83 d1 89 d0 b5 d0 b3 d0 be d0 9c d0 be d0 b4 d1  ................
06e0: 83 d0 bb d1 8f 27 5d 20 3d 20 66 75 6e 63 74 69  .....'] = functi
06f0: 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20  on() {..    ..  
0700: 20 20 76 61 72 20 77 6e 64 20 3d 20 47 65 74 54    var wnd = GetT
0710: 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20  extWindow();..  
0720: 20 20 76 61 72 20 74 65 78 74 20 3d 20 22 22 3b    var text = "";
0730: 0d 0a 20 20 20 20 69 66 20 28 77 6e 64 29 0d 0a  ..    if (wnd)..
0740: 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 77          text = w
0750: 6e 64 2e 47 65 74 54 65 78 74 28 29 3b 0d 0a 20  nd.GetText();.. 
0760: 20 20 20 73 70 65 6c 6c 20 3d 20 47 65 74 53 70     spell = GetSp
0770: 65 6c 6c 43 68 65 63 6b 65 72 28 29 3b 0d 0a 20  ellChecker();.. 
0780: 20 20 20 73 70 65 6c 6c 2e 53 70 65 6c 6c 4d 6f     spell.SpellMo
0790: 64 75 6c 65 28 74 65 78 74 2c 20 77 6e 64 29 3b  dule(text, wnd);
07a0: 0d 0a 20 20 20 20 69 66 20 28 73 70 65 6c 6c 2e  ..    if (spell.
07b0: 70 72 6f 76 69 64 65 72 21 3d 6e 75 6c 6c 29 7b  provider!=null){
07c0: 0d 0a 20 20 20 20 20 20 20 20 73 70 65 6c 6c 2e  ..        spell.
07d0: 70 72 6f 76 69 64 65 72 2e 44 69 73 63 6f 6e 6e  provider.Disconn
07e0: 65 63 74 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d  ect();..    }...
07f0: 0a 7d 0d 0a 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e  .}......function
0800: 20 67 65 74 44 65 66 61 75 6c 74 4d 61 63 72 6f   getDefaultMacro
0810: 73 28 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72  s() {..    retur
0820: 6e 20 22 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0  n ".............
0830: ba d0 b0 d0 92 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0  ................
0840: bd d0 bd d0 be d0 b3 d0 be d0 a2 d0 b5 d0 ba d1  ................
0850: 81 d1 82 d0 b0 22 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f  .....";..}....//
0860: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0870: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0880: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0890: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
08a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
08b0: 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 53 70  //////..////{ Sp
08c0: 65 6c 6c 43 68 65 63 6b 65 72 0d 0a 2f 2f 2f 2f  ellChecker..////
08d0: 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65 74 53 70  ..function GetSp
08e0: 65 6c 6c 43 68 65 63 6b 65 72 28 29 20 7b 0d 0a  ellChecker() {..
08f0: 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 5f      return new _
0900: 53 70 65 6c 6c 43 68 65 63 6b 65 72 28 73 65 74  SpellChecker(set
0910: 74 69 6e 67 73 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75  tings);..}....fu
0920: 6e 63 74 69 6f 6e 20 5f 53 70 65 6c 6c 43 68 65  nction _SpellChe
0930: 63 6b 65 72 28 73 65 74 74 69 6e 67 73 29 20 7b  cker(settings) {
0940: 0d 0a 20 20 20 20 74 68 69 73 2e 73 65 74 74 69  ..    this.setti
0950: 6e 67 73 20 3d 20 7b 20 0d 0a 20 20 20 20 20 20  ngs = { ..      
0960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70                'p
0970: 72 6f 76 69 64 65 72 27 3a 20 22 22 20 2c 0d 0a  rovider': "" ,..
0980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0990: 20 20 20 20 27 64 69 63 74 27 3a 76 38 4e 65 77      'dict':v8New
09a0: 28 22 56 61 6c 75 65 4c 69 73 74 22 29 2c 20 0d  ("ValueList"), .
09b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
09c0: 20 20 20 20 20 27 70 72 65 66 69 78 27 3a 76 38       'prefix':v8
09d0: 4e 65 77 28 22 56 61 6c 75 65 4c 69 73 74 22 29  New("ValueList")
09e0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
09f0: 20 20 20 20 20 20 20 27 73 75 66 66 69 78 27 3a         'suffix':
0a00: 76 38 4e 65 77 28 22 56 61 6c 75 65 4c 69 73 74  v8New("ValueList
0a10: 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ")..            
0a20: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
0a30: 20 20 73 65 74 74 69 6e 67 73 2e 41 70 70 6c 79    settings.Apply
0a40: 54 6f 46 6f 72 6d 28 74 68 69 73 2e 73 65 74 74  ToForm(this.sett
0a50: 69 6e 67 73 29 3b 0d 0a 20 20 20 20 20 20 20 74  ings);..       t
0a60: 68 69 73 2e 73 65 74 74 69 6e 67 73 4d 61 6e 61  his.settingsMana
0a70: 67 65 72 20 3d 20 73 65 74 74 69 6e 67 73 3b 0d  ger = settings;.
0a80: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 74  .        ..    t
0a90: 68 69 73 2e 77 6f 72 64 73 3d 20 7b 7d 3b 0d 0a  his.words= {};..
0aa0: 20 20 20 20 74 68 69 73 2e 70 72 6f 76 69 64 65      this.provide
0ab0: 72 20 3d 20 6e 75 6c 6c 0d 0a 20 20 20 20 73 77  r = null..    sw
0ac0: 69 74 63 68 20 28 74 68 69 73 2e 73 65 74 74 69  itch (this.setti
0ad0: 6e 67 73 2e 70 72 6f 76 69 64 65 72 29 20 0d 0a  ngs.provider) ..
0ae0: 20 20 20 20 7b 0d 0a 20 20 20 20 63 61 73 65 20      {..    case 
0af0: 22 6c 69 62 72 65 6f 66 66 69 63 65 22 3a 0d 0a  "libreoffice":..
0b00: 20 20 20 20 20 20 20 20 74 68 69 73 2e 70 72 6f          this.pro
0b10: 76 69 64 65 72 20 3d 20 6e 65 77 20 5f 53 70 65  vider = new _Spe
0b20: 6c 6c 4c 69 62 72 65 4f 66 66 69 63 65 28 29 0d  llLibreOffice().
0b30: 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d  .        break;.
0b40: 0a 20 20 20 20 63 61 73 65 20 22 77 6f 72 64 22  .    case "word"
0b50: 3a 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  :..        this.
0b60: 70 72 6f 76 69 64 65 72 20 3d 20 6e 65 77 20 5f  provider = new _
0b70: 53 70 65 6c 6c 57 6f 72 64 28 29 3b 0d 0a 20 20  SpellWord();..  
0b80: 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20        break;..  
0b90: 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f    }..    ..    /
0ba0: 2f 74 68 69 73 2e 70 72 6f 76 69 64 65 72 20 3d  /this.provider =
0bb0: 20 6e 65 77 20 5f 53 70 65 6c 6c 57 6f 72 64 28   new _SpellWord(
0bc0: 29 3b 0d 0a 20 20 20 20 76 61 72 20 70 61 74 68  );..    var path
0bd0: 54 6f 46 6f 72 6d 20 3d 20 53 65 6c 66 53 63 72  ToForm = SelfScr
0be0: 69 70 74 2e 66 75 6c 6c 50 61 74 68 2e 72 65 70  ipt.fullPath.rep
0bf0: 6c 61 63 65 28 2f 6a 73 24 2f 2c 20 27 73 73 66  lace(/js$/, 'ssf
0c00: 27 29 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72  ')..    this.for
0c10: 6d 20 3d 20 6c 6f 61 64 53 63 72 69 70 74 46 6f  m = loadScriptFo
0c20: 72 6d 28 70 61 74 68 54 6f 46 6f 72 6d 2c 20 74  rm(pathToForm, t
0c30: 68 69 73 29 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0  his) // ........
0c40: d0 b1 d0 be d1 82 d0 ba d1 83 20 d1 81 d0 be d0  .......... .....
0c50: b1 d1 8b d1 82 d0 b8 d0 b9 20 d1 84 d0 be d1 80  ......... ......
0c60: d0 bc d1 8b 20 d0 bf d1 80 d0 b8 d0 b2 d1 8f d0  .... ...........
0c70: b6 d0 b5 d0 bc 20 d0 ba 20 d1 81 d0 b0 d0 bc d0  ..... .. .......
0c80: be d0 bc d1 83 20 d1 81 d0 ba d1 80 d0 b8 d0 bf  ..... ..........
0c90: d1 82 d1 83 0d 0a 20 20 20 20 74 68 69 73 2e 66  ......    this.f
0ca0: 6f 72 6d 2e d0 9a d0 bb d1 8e d1 87 d0 a1 d0 be  orm.............
0cb0: d1 85 d1 80 d0 b0 d0 bd d0 b5 d0 bd d0 b8 d1 8f  ................
0cc0: d0 9f d0 be d0 bb d0 be d0 b6 d0 b5 d0 bd d0 b8  ................
0cd0: d1 8f d0 9e d0 ba d0 bd d0 b0 20 3d 20 53 65 6c  .......... = Sel
0ce0: 66 53 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61  fScript.uniqueNa
0cf0: 6d 65 3b 0d 0a 20 20 20 20 76 61 72 20 70 61 74  me;..    var pat
0d00: 68 54 6f 46 6f 72 6d 53 65 74 74 69 6e 67 73 20  hToFormSettings 
0d10: 3d 20 53 65 6c 66 53 63 72 69 70 74 2e 66 75 6c  = SelfScript.ful
0d20: 6c 50 61 74 68 2e 72 65 70 6c 61 63 65 28 2f 6a  lPath.replace(/j
0d30: 73 24 2f 2c 20 27 70 61 72 61 6d 2e 73 73 66 27  s$/, 'param.ssf'
0d40: 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72  );..    this.for
0d50: 6d 50 61 72 61 6d 73 20 3d 20 6c 6f 61 64 53 63  mParams = loadSc
0d60: 72 69 70 74 46 6f 72 6d 28 70 61 74 68 54 6f 46  riptForm(pathToF
0d70: 6f 72 6d 53 65 74 74 69 6e 67 73 2c 20 74 68 69  ormSettings, thi
0d80: 73 29 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1  s) // ..........
0d90: d0 be d1 82 d0 ba d1 83 20 d1 81 d0 be d0 b1 d1  ........ .......
0da0: 8b d1 82 d0 b8 d0 b9 20 d1 84 d0 be d1 80 d0 bc  ....... ........
0db0: d1 8b 20 d0 bf d1 80 d0 b8 d0 b2 d1 8f d0 b6 d0  .. .............
0dc0: b5 d0 bc 20 d0 ba 20 d1 81 d0 b0 d0 bc d0 be d0  ... .. .........
0dd0: bc d1 83 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 82  ... ............
0de0: d1 83 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 68  ....    ..    th
0df0: 69 73 2e 65 78 74 53 65 61 72 63 68 20 3d 20 73  is.extSearch = s
0e00: 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28 6d 61  tdlib.require(ma
0e10: 69 6e 46 6f 6c 64 65 72 2b 27 73 63 72 69 70 74  inFolder+'script
0e20: 73 5c 5c 65 78 74 53 65 61 72 63 68 2e 6a 73 27  s\\extSearch.js'
0e30: 29 2e 47 65 74 45 78 74 53 65 61 72 63 68 28 29  ).GetExtSearch()
0e40: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 77 6e 64 20  ;..    this.wnd 
0e50: 3d 20 47 65 74 54 65 78 74 57 69 6e 64 6f 77 28  = GetTextWindow(
0e60: 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 69 66  );..    ..    if
0e70: 20 28 74 68 69 73 2e 70 72 6f 76 69 64 65 72 3d   (this.provider=
0e80: 3d 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20  =null)..        
0e90: 4d 65 73 73 61 67 65 28 22 d0 9d d0 b5 20 d1 83  Message(".... ..
0ea0: d0 b4 d0 b0 d0 bb d0 be d1 81 d1 8c 20 d0 bf d0  ............ ...
0eb0: be d0 b4 d0 ba d0 bb d1 8e d1 87 d0 b8 d1 82 d1  ................
0ec0: 8c d1 81 d1 8f 20 d0 ba 20 22 2b 74 68 69 73 2e  ..... .. "+this.
0ed0: 73 65 74 74 69 6e 67 73 2e 70 72 6f 76 69 64 65  settings.provide
0ee0: 72 20 2b 20 22 20 d0 bf d1 80 d0 be d0 b2 d0 b5  r + " ..........
0ef0: d1 80 d1 8c d1 82 d0 b5 20 d0 bd d0 b0 d1 81 d1  ........ .......
0f00: 82 d1 80 d0 be d0 b9 d0 ba d0 b8 21 20 5c 6e 20  ...........! \n 
0f10: 28 d0 ba d0 bb d0 b0 d1 86 d0 bd d0 b8 d1 82 d0  (...............
0f20: b5 20 32 20 d1 80 d0 b0 d0 b7 d0 b0 20 d0 bd d0  . 2 ........ ...
0f30: b0 20 d1 8d d1 82 d0 be d0 b9 20 d1 81 d0 be d0  . ........ .....
0f40: be d0 b1 d1 89 d0 b5 d0 bd d0 b8 d0 b8 29 22 2c  .............)",
0f50: 20 6d 45 78 63 31 2c 20 28 66 75 6e 63 74 69 6f   mExc1, (functio
0f60: 6e 28 70 61 72 61 6d 29 7b 0d 0a 20 20 20 20 20  n(param){..     
0f70: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
0f80: 20 7d 29 2c 20 74 68 69 73 29 0d 0a 7d 0d 0a 0d   }), this)..}...
0f90: 0a 0d 0a 5f 53 70 65 6c 6c 43 68 65 63 6b 65 72  ..._SpellChecker
0fa0: 2e 70 72 6f 74 6f 74 79 70 65 2e 43 68 65 63 6b  .prototype.Check
0fb0: 57 6f 72 64 73 20 3d 20 66 75 6e 63 74 69 6f 6e  Words = function
0fc0: 28 77 6f 72 64 73 29 20 7b 0d 0a 0d 0a 20 20 20  (words) {....   
0fd0: 20 74 68 69 73 2e d0 9f d1 83 d1 81 d1 82 d0 be   this...........
0fe0: d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 3d  .............. =
0ff0: 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0d 0a 20   new Array();.. 
1000: 20 20 20 66 6f 72 20 28 76 61 72 20 6b 65 79 20     for (var key 
1010: 69 6e 20 77 6f 72 64 73 29 7b 0d 0a 20 20 20 20  in words){..    
1020: 20 20 20 20 69 66 20 28 77 6f 72 64 73 5b 6b 65      if (words[ke
1030: 79 5d 5b 22 73 70 65 6c 6c 22 5d 20 26 26 20 21  y]["spell"] && !
1040: 77 6f 72 64 73 5b 6b 65 79 5d 5b 22 69 73 56 61  words[key]["isVa
1050: 6c 69 64 22 5d 29 20 0d 0a 20 20 20 20 20 20 20  lid"]) ..       
1060: 20 77 6f 72 64 73 5b 6b 65 79 5d 5b 22 69 73 56   words[key]["isV
1070: 61 6c 69 64 22 5d 20 3d 20 74 68 69 73 2e 70 72  alid"] = this.pr
1080: 6f 76 69 64 65 72 2e 43 68 65 63 6b 57 6f 72 64  ovider.CheckWord
1090: 28 6b 65 79 29 3b 0d 0a 20 20 20 20 20 20 20 20  (key);..        
10a0: 77 6f 72 64 73 5b 6b 65 79 5d 5b 22 73 70 65 6c  words[key]["spel
10b0: 6c 22 5d 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20  l"] = false;..  
10c0: 20 20 7d 0d 0a 20 20 20 20 72 65 74 75 72 6e 20    }..    return 
10d0: 77 6f 72 64 73 0d 0a 7d 0d 0a 5f 53 70 65 6c 6c  words..}.._Spell
10e0: 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70  Checker.prototyp
10f0: 65 2e 67 65 74 41 6c 74 65 72 6e 61 74 69 76 65  e.getAlternative
1100: 73 20 3d 20 66 75 6e 63 74 69 6f 6e 28 77 6f 72  s = function(wor
1110: 64 73 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 72  ds) {..    var r
1120: 65 73 75 6c 74 73 20 3d 20 7b 7d 3b 0d 0a 20 20  esults = {};..  
1130: 20 20 66 6f 72 20 28 76 61 72 20 6b 65 79 20 69    for (var key i
1140: 6e 20 77 6f 72 64 73 29 7b 0d 0a 20 20 20 20 20  n words){..     
1150: 20 20 20 72 65 73 75 6c 74 73 5b 6b 65 79 5d 20     results[key] 
1160: 3d 20 74 68 69 73 2e 70 72 6f 76 69 64 65 72 2e  = this.provider.
1170: 67 65 74 41 6c 74 65 72 6e 61 74 69 76 65 73 28  getAlternatives(
1180: 6b 65 79 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20  key);..    }..  
1190: 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 73    return results
11a0: 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c 43 68 65  ..}...._SpellChe
11b0: 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 57  cker.prototype.W
11c0: 6f 72 64 4a 6f 69 6e 20 3d 20 66 75 6e 63 74 69  ordJoin = functi
11d0: 6f 6e 28 77 6f 72 64 2c 20 70 72 65 66 69 78 2c  on(word, prefix,
11e0: 20 73 75 66 66 69 78 29 20 7b 0d 0a 20 20 20 20   suffix) {..    
11f0: 76 61 72 20 72 65 73 75 6c 74 73 20 3d 20 7b 7d  var results = {}
1200: 3b 0d 0a 20 20 20 20 69 66 20 28 70 72 65 66 69  ;..    if (prefi
1210: 78 20 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20  x == undefined) 
1220: 70 72 65 66 69 78 20 3d 20 76 38 4e 65 77 28 27  prefix = v8New('
1230: 56 61 6c 75 65 4c 69 73 74 27 29 3b 0d 0a 20 20  ValueList');..  
1240: 20 20 69 66 20 28 73 75 66 66 69 78 20 3d 3d 20    if (suffix == 
1250: 75 6e 64 65 66 69 6e 65 64 29 20 73 75 66 66 69  undefined) suffi
1260: 78 20 3d 20 76 38 4e 65 77 28 27 56 61 6c 75 65  x = v8New('Value
1270: 4c 69 73 74 27 29 3b 0d 0a 20 20 20 20 0d 0a 20  List');..    .. 
1280: 20 20 20 69 66 20 28 74 68 69 73 2e 77 6f 72 64     if (this.word
1290: 73 5b 77 6f 72 64 5d 29 20 0d 0a 20 20 20 20 20  s[word]) ..     
12a0: 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 77     return this.w
12b0: 6f 72 64 73 5b 77 6f 72 64 5d 3b 0d 0a 20 20 20  ords[word];..   
12c0: 20 0d 0a 20 20 20 20 66 6f 72 20 28 76 61 72 20   ..    for (var 
12d0: 69 3d 30 3b 20 69 3c 20 70 72 65 66 69 78 2e 43  i=0; i< prefix.C
12e0: 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 20 7b 0d 0a  ount(); i++) {..
12f0: 20 20 20 20 20 20 20 20 76 61 72 20 6b 65 79 20          var key 
1300: 3d 20 70 72 65 66 69 78 2e 47 65 74 28 69 29 2e  = prefix.Get(i).
1310: 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20  value;..        
1320: 76 61 72 20 72 65 20 3d 20 6e 65 77 20 52 65 67  var re = new Reg
1330: 45 78 70 28 27 5e 28 27 2b 6b 65 79 2b 27 29 28  Exp('^('+key+')(
1340: 2e 2a 29 27 2c 27 27 29 3b 0d 0a 20 20 20 20 20  .*)','');..     
1350: 20 20 20 76 61 72 20 4d 61 74 63 68 65 73 20 3d     var Matches =
1360: 20 77 6f 72 64 2e 6d 61 74 63 68 28 72 65 29 3b   word.match(re);
1370: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
1380: 20 20 20 20 69 66 20 28 4d 61 74 63 68 65 73 20      if (Matches 
1390: 26 26 20 4d 61 74 63 68 65 73 2e 6c 65 6e 67 74  && Matches.lengt
13a0: 68 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  h) {..          
13b0: 20 20 72 65 73 75 6c 74 73 5b 4d 61 74 63 68 65    results[Matche
13c0: 73 5b 31 5d 5d 20 3d 20 7b 22 73 70 65 6c 6c 22  s[1]] = {"spell"
13d0: 3a 66 61 6c 73 65 2c 20 22 61 6c 74 65 72 6e 61  :false, "alterna
13e0: 74 69 76 65 73 22 3a 6e 65 77 20 41 72 72 61 79  tives":new Array
13f0: 28 29 2c 20 22 69 73 56 61 6c 69 64 22 3a 74 72  (), "isValid":tr
1400: 75 65 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  ue};..          
1410: 20 20 77 6f 72 64 20 3d 20 4d 61 74 63 68 65 73    word = Matches
1420: 5b 32 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  [2];..          
1430: 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20    break;..      
1440: 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20    }..    }..    
1450: 66 6f 72 20 28 76 61 72 20 69 3d 30 3b 20 69 3c  for (var i=0; i<
1460: 73 75 66 66 69 78 2e 43 6f 75 6e 74 28 29 3b 20  suffix.Count(); 
1470: 69 2b 2b 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  i++) {..        
1480: 76 61 72 20 6b 65 79 20 3d 20 73 75 66 66 69 78  var key = suffix
1490: 2e 47 65 74 28 69 29 2e 76 61 6c 75 65 3b 0d 0a  .Get(i).value;..
14a0: 20 20 20 20 20 20 20 20 76 61 72 20 72 65 20 3d          var re =
14b0: 20 6e 65 77 20 52 65 67 45 78 70 28 27 5e 28 2e   new RegExp('^(.
14c0: 2a 29 28 27 2b 6b 65 79 2b 27 29 27 2c 27 27 29  *)('+key+')','')
14d0: 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 4d  ;..        var M
14e0: 61 74 63 68 65 73 20 3d 20 77 6f 72 64 2e 6d 61  atches = word.ma
14f0: 74 63 68 28 72 65 29 3b 0d 0a 20 20 20 20 20 20  tch(re);..      
1500: 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28    ..        if (
1510: 4d 61 74 63 68 65 73 20 26 26 20 4d 61 74 63 68  Matches && Match
1520: 65 73 2e 6c 65 6e 67 74 68 29 20 7b 0d 0a 20 20  es.length) {..  
1530: 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74            result
1540: 73 5b 4d 61 74 63 68 65 73 5b 32 5d 5d 20 3d 20  s[Matches[2]] = 
1550: 7b 22 73 70 65 6c 6c 22 3a 66 61 6c 73 65 2c 20  {"spell":false, 
1560: 22 61 6c 74 65 72 6e 61 74 69 76 65 73 22 3a 6e  "alternatives":n
1570: 65 77 20 41 72 72 61 79 28 29 2c 20 22 69 73 56  ew Array(), "isV
1580: 61 6c 69 64 22 3a 74 72 75 65 7d 3b 0d 0a 20 20  alid":true};..  
1590: 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 20 3d            word =
15a0: 20 4d 61 74 63 68 65 73 5b 31 5d 3b 0d 0a 20 20   Matches[1];..  
15b0: 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b            break;
15c0: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
15d0: 20 7d 0d 0a 20 20 20 20 76 61 72 20 72 65 20 3d   }..    var re =
15e0: 20 6e 65 77 20 52 65 67 45 78 70 28 27 28 5b d0   new RegExp('([.
15f0: 90 2d d0 af 41 2d 5a 5d 29 28 5b 61 2d 7a d0 b0  .-..A-Z])([a-z..
1600: 2d d1 8f 5d 2a 29 27 2c 20 27 67 27 29 3b 0d 0a  -..]*)', 'g');..
1610: 20 20 20 20 76 61 72 20 66 69 6e 64 20 3d 20 66      var find = f
1620: 61 6c 73 65 0d 0a 20 20 20 20 2f 2f 20 64 65 62  alse..    // deb
1630: 75 67 67 65 72 0d 0a 20 20 20 20 76 61 72 20 4d  ugger..    var M
1640: 61 74 63 68 65 73 20 3d 20 6e 75 6c 6c 0d 0a 20  atches = null.. 
1650: 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65             while
1660: 28 20 28 4d 61 74 63 68 65 73 20 3d 20 72 65 2e  ( (Matches = re.
1670: 65 78 65 63 28 77 6f 72 64 29 29 20 21 3d 20 6e  exec(word)) != n
1680: 75 6c 6c 20 29 20 7b 0d 0a 20 20 20 20 20 20 20  ull ) {..       
1690: 20 20 20 20 20 69 66 20 28 4d 61 74 63 68 65 73       if (Matches
16a0: 5b 30 5d 2e 6c 65 6e 67 74 68 3e 30 29 20 7b 0d  [0].length>0) {.
16b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
16c0: 20 66 69 6e 64 20 3d 20 74 72 75 65 3b 0d 0a 20   find = true;.. 
16d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
16e0: 65 73 75 6c 74 73 5b 4d 61 74 63 68 65 73 5b 30  esults[Matches[0
16f0: 5d 2e 74 6f 53 74 72 69 6e 67 28 29 5d 20 3d 20  ].toString()] = 
1700: 7b 22 73 70 65 6c 6c 22 3a 28 4d 61 74 63 68 65  {"spell":(Matche
1710: 73 5b 30 5d 2e 74 6f 53 74 72 69 6e 67 28 29 2e  s[0].toString().
1720: 6c 65 6e 67 74 68 3e 32 29 2c 20 22 61 6c 74 65  length>2), "alte
1730: 72 6e 61 74 69 76 65 73 22 3a 6e 65 77 20 41 72  rnatives":new Ar
1740: 72 61 79 28 29 2c 20 22 69 73 56 61 6c 69 64 22  ray(), "isValid"
1750: 3a 28 4d 61 74 63 68 65 73 5b 30 5d 2e 74 6f 53  :(Matches[0].toS
1760: 74 72 69 6e 67 28 29 2e 6c 65 6e 67 74 68 3c 33  tring().length<3
1770: 29 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  )};..           
1780: 20 20 20 20 20 69 66 20 28 21 28 74 68 69 73 2e       if (!(this.
1790: 73 65 74 74 69 6e 67 73 2e 64 69 63 74 2e 46 69  settings.dict.Fi
17a0: 6e 64 42 79 56 61 6c 75 65 28 4d 61 74 63 68 65  ndByValue(Matche
17b0: 73 5b 30 5d 2e 74 6f 53 74 72 69 6e 67 28 29 2e  s[0].toString().
17c0: 74 6f 4c 6f 77 65 72 43 61 73 65 28 29 29 20 3d  toLowerCase()) =
17d0: 3d 20 75 6e 64 65 66 69 6e 65 64 29 29 20 7b 0d  = undefined)) {.
17e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
17f0: 20 20 20 20 20 72 65 73 75 6c 74 73 5b 4d 61 74       results[Mat
1800: 63 68 65 73 5b 30 5d 2e 74 6f 53 74 72 69 6e 67  ches[0].toString
1810: 28 29 5d 20 3d 20 7b 22 73 70 65 6c 6c 22 3a 66  ()] = {"spell":f
1820: 61 6c 73 65 2c 20 22 61 6c 74 65 72 6e 61 74 69  alse, "alternati
1830: 76 65 73 22 3a 6e 65 77 20 41 72 72 61 79 28 29  ves":new Array()
1840: 2c 20 22 69 73 56 61 6c 69 64 22 3a 74 72 75 65  , "isValid":true
1850: 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  };..            
1860: 20 20 20 20 7d 20 0d 0a 20 20 20 20 20 20 20 20      } ..        
1870: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
1880: 7d 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21  }..        if (!
1890: 66 69 6e 64 20 26 26 20 77 6f 72 64 2e 6c 65 6e  find && word.len
18a0: 67 74 68 3e 30 29 20 7b 0d 0a 20 20 20 20 20 20  gth>0) {..      
18b0: 20 20 20 20 20 20 72 65 73 75 6c 74 73 5b 77 6f        results[wo
18c0: 72 64 5d 20 3d 20 7b 22 73 70 65 6c 6c 22 3a 28  rd] = {"spell":(
18d0: 77 6f 72 64 2e 6c 65 6e 67 74 68 3e 32 29 2c 20  word.length>2), 
18e0: 22 61 6c 74 65 72 6e 61 74 69 76 65 73 22 3a 6e  "alternatives":n
18f0: 65 77 20 41 72 72 61 79 28 29 2c 20 22 69 73 56  ew Array(), "isV
1900: 61 6c 69 64 22 3a 28 77 6f 72 64 2e 6c 65 6e 67  alid":(word.leng
1910: 74 68 3c 33 29 7d 3b 0d 0a 20 20 20 20 20 20 20  th<3)};..       
1920: 20 20 20 20 20 69 66 20 28 21 28 74 68 69 73 2e       if (!(this.
1930: 73 65 74 74 69 6e 67 73 2e 64 69 63 74 2e 46 69  settings.dict.Fi
1940: 6e 64 42 79 56 61 6c 75 65 28 77 6f 72 64 2e 74  ndByValue(word.t
1950: 6f 4c 6f 77 65 72 43 61 73 65 28 29 29 20 3d 3d  oLowerCase()) ==
1960: 20 75 6e 64 65 66 69 6e 65 64 29 29 20 7b 0d 0a   undefined)) {..
1970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1980: 20 20 20 20 72 65 73 75 6c 74 73 5b 77 6f 72 64      results[word
1990: 5d 20 3d 20 7b 22 73 70 65 6c 6c 22 3a 66 61 6c  ] = {"spell":fal
19a0: 73 65 2c 20 22 61 6c 74 65 72 6e 61 74 69 76 65  se, "alternative
19b0: 73 22 3a 6e 65 77 20 41 72 72 61 79 28 29 2c 20  s":new Array(), 
19c0: 22 69 73 56 61 6c 69 64 22 3a 74 72 75 65 7d 3b  "isValid":true};
19d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d  ..             }
19e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20  ..          }.. 
19f0: 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74     return result
1a00: 73 3b 0d 0a 7d 0d 0a 5f 53 70 65 6c 6c 43 68 65  s;..}.._SpellChe
1a10: 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 53  cker.prototype.S
1a20: 70 65 6c 6c 54 65 78 74 20 3d 20 66 75 6e 63 74  pellText = funct
1a30: 69 6f 6e 28 74 65 78 74 29 20 7b 0d 0a 20 20 20  ion(text) {..   
1a40: 20 76 61 72 20 72 65 20 3d 20 6e 65 77 20 52 65   var re = new Re
1a50: 67 45 78 70 28 27 28 5b 5c 77 d0 90 2d d1 8f d1  gExp('([\w..-...
1a60: 91 d0 81 d1 96 d1 94 d1 97 d2 91 5c 64 5d 2b 29  ...........\d]+)
1a70: 27 2c 27 67 69 27 29 3b 0d 0a 20 20 20 20 77 6f  ','gi');..    wo
1a80: 72 64 73 70 61 72 73 65 20 3d 20 6e 65 77 20 41  rdsparse = new A
1a90: 72 72 61 79 28 29 3b 0d 0a 20 20 20 20 76 61 72  rray();..    var
1aa0: 20 69 20 3d 20 20 30 3b 0d 0a 20 20 20 20 77 68   i =  0;..    wh
1ab0: 69 6c 65 28 20 28 4d 61 74 63 68 65 73 20 3d 20  ile( (Matches = 
1ac0: 72 65 2e 65 78 65 63 28 74 65 78 74 29 29 20 21  re.exec(text)) !
1ad0: 3d 20 6e 75 6c 6c 20 29 20 7b 0d 0a 20 20 20 20  = null ) {..    
1ae0: 20 20 20 20 77 6f 72 64 73 70 61 72 73 65 2e 70      wordsparse.p
1af0: 75 73 68 28 4d 61 74 63 68 65 73 5b 31 5d 29 3b  ush(Matches[1]);
1b00: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 2f 2f 74  ..    }..    //t
1b10: 68 69 73 2e 77 6f 72 64 73 20 3d 20 7b 7d 3b 0d  his.words = {};.
1b20: 0a 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 3d  .    for (var i=
1b30: 30 3b 20 69 3c 77 6f 72 64 73 70 61 72 73 65 2e  0; i<wordsparse.
1b40: 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0d 0a 20  length; i++){.. 
1b50: 20 20 20 2f 2f 64 65 62 75 67 67 65 72 3b 0d 0a     //debugger;..
1b60: 20 20 20 20 20 20 20 20 69 66 20 28 21 74 68 69          if (!thi
1b70: 73 2e 77 6f 72 64 73 5b 77 6f 72 64 73 70 61 72  s.words[wordspar
1b80: 73 65 5b 69 5d 5d 29 20 7b 0d 0a 20 20 20 20 20  se[i]]) {..     
1b90: 20 20 20 20 20 20 20 69 66 20 28 21 28 74 68 69         if (!(thi
1ba0: 73 2e 73 65 74 74 69 6e 67 73 2e 64 69 63 74 2e  s.settings.dict.
1bb0: 46 69 6e 64 42 79 56 61 6c 75 65 28 77 6f 72 64  FindByValue(word
1bc0: 73 70 61 72 73 65 5b 69 5d 2e 74 6f 4c 6f 77 65  sparse[i].toLowe
1bd0: 72 43 61 73 65 28 29 29 20 3d 3d 20 75 6e 64 65  rCase()) == unde
1be0: 66 69 6e 65 64 29 29 20 7b 0d 0a 20 20 20 20 20  fined)) {..     
1bf0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72             var r
1c00: 65 73 75 6c 74 20 3d 20 7b 7d 0d 0a 20 20 20 20  esult = {}..    
1c10: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75              resu
1c20: 6c 74 5b 77 6f 72 64 73 70 61 72 73 65 5b 69 5d  lt[wordsparse[i]
1c30: 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 29 5d 20  .toLowerCase()] 
1c40: 3d 20 7b 22 73 70 65 6c 6c 22 3a 66 61 6c 73 65  = {"spell":false
1c50: 2c 20 22 61 6c 74 65 72 6e 61 74 69 76 65 73 22  , "alternatives"
1c60: 3a 6e 65 77 20 41 72 72 61 79 28 29 2c 20 22 69  :new Array(), "i
1c70: 73 56 61 6c 69 64 22 3a 74 72 75 65 7d 0d 0a 20  sValid":true}.. 
1c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74                 t
1c90: 68 69 73 2e 77 6f 72 64 73 5b 77 6f 72 64 73 70  his.words[wordsp
1ca0: 61 72 73 65 5b 69 5d 5d 20 3d 20 72 65 73 75 6c  arse[i]] = resul
1cb0: 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  t;..            
1cc0: 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20      continue;.. 
1cd0: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20             }..  
1ce0: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 77            this.w
1cf0: 6f 72 64 73 5b 77 6f 72 64 73 70 61 72 73 65 5b  ords[wordsparse[
1d00: 69 5d 5d 20 3d 20 74 68 69 73 2e 57 6f 72 64 4a  i]] = this.WordJ
1d10: 6f 69 6e 28 77 6f 72 64 73 70 61 72 73 65 5b 69  oin(wordsparse[i
1d20: 5d 2c 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73  ], this.settings
1d30: 2e 70 72 65 66 69 78 2c 20 74 68 69 73 2e 73 65  .prefix, this.se
1d40: 74 74 69 6e 67 73 2e 73 75 66 66 69 78 29 0d 0a  ttings.suffix)..
1d50: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0              // .
1d60: b0 20 d1 82 d0 b5 d0 bf d0 b5 d1 80 d1 8c 20 d0  . ............ .
1d70: bf d1 80 d0 be d0 b2 d0 b5 d1 80 d0 b8 d0 bc 20  ............... 
1d80: d1 82 d0 b5 d0 ba d1 81 d1 82 2e 2e 2e 20 0d 0a  ............. ..
1d90: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
1da0: 2e 77 6f 72 64 73 5b 77 6f 72 64 73 70 61 72 73  .words[wordspars
1db0: 65 5b 69 5d 5d 20 3d 20 74 68 69 73 2e 43 68 65  e[i]] = this.Che
1dc0: 63 6b 57 6f 72 64 73 28 74 68 69 73 2e 77 6f 72  ckWords(this.wor
1dd0: 64 73 5b 77 6f 72 64 73 70 61 72 73 65 5b 69 5d  ds[wordsparse[i]
1de0: 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 7d 0d  ]);..         }.
1df0: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20  .    }..    ..  
1e00: 20 20 74 68 69 73 2e 66 6f 72 6d 2e 4f 70 65 6e    this.form.Open
1e10: 28 29 3b 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c  ();..}...._Spell
1e20: 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70  Checker.prototyp
1e30: 65 2e 53 70 65 6c 6c 4d 6f 64 75 6c 65 20 3d 20  e.SpellModule = 
1e40: 66 75 6e 63 74 69 6f 6e 28 74 65 78 74 2c 20 77  function(text, w
1e50: 6e 64 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 72  nd) {..    var r
1e60: 65 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28 27  e = new RegExp('
1e70: 28 5b 5c 77 d0 90 2d d1 8f d1 91 d0 81 d1 96 d1  ([\w..-.........
1e80: 94 d1 97 d2 91 5c 64 5d 2b 29 27 2c 27 67 69 27  .....\d]+)','gi'
1e90: 29 3b 0d 0a 20 20 20 20 76 61 72 20 4c 69 6e 65  );..    var Line
1ea0: 73 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 27  s = text.split('
1eb0: 5c 6e 27 29 0d 0a 20 20 20 20 76 61 72 20 6e 20  \n')..    var n 
1ec0: 3d 20 4c 69 6e 65 73 2e 6c 65 6e 67 74 68 3b 0d  = Lines.length;.
1ed0: 0a 20 20 20 20 76 61 72 20 69 20 3d 20 20 30 3b  .    var i =  0;
1ee0: 0d 0a 20 20 20 20 76 61 72 20 69 73 56 61 6c 69  ..    var isVali
1ef0: 64 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 77  d = true;..    w
1f00: 68 69 6c 65 20 28 69 3c 6e 29 7b 0d 0a 0d 0a 20  hile (i<n){.... 
1f10: 20 20 20 20 20 20 20 76 61 72 20 73 74 72 20 3d         var str =
1f20: 20 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 73 74   '';..        st
1f30: 72 20 3d 20 4c 69 6e 65 73 5b 69 5d 3b 0d 0a 20  r = Lines[i];.. 
1f40: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
1f50: 20 77 6f 72 64 73 70 61 72 73 65 20 3d 20 6e 65   wordsparse = ne
1f60: 77 20 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 20  w Array();..    
1f70: 20 20 20 20 77 68 69 6c 65 28 20 28 4d 61 74 63      while( (Matc
1f80: 68 65 73 20 3d 20 72 65 2e 65 78 65 63 28 73 74  hes = re.exec(st
1f90: 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 20 7b 0d  r)) != null ) {.
1fa0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72  .            wor
1fb0: 64 73 70 61 72 73 65 2e 70 75 73 68 28 4d 61 74  dsparse.push(Mat
1fc0: 63 68 65 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20  ches[1]);..     
1fd0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 66 6f     }..        fo
1fe0: 72 20 28 76 61 72 20 7a 3d 30 3b 20 7a 3c 77 6f  r (var z=0; z<wo
1ff0: 72 64 73 70 61 72 73 65 2e 6c 65 6e 67 74 68 3b  rdsparse.length;
2000: 20 7a 2b 2b 29 7b 0d 0a 20 20 20 20 20 20 20 20   z++){..        
2010: 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 77 6f      if (!this.wo
2020: 72 64 73 5b 77 6f 72 64 73 70 61 72 73 65 5b 7a  rds[wordsparse[z
2030: 5d 5d 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20  ]]) {..         
2040: 20 20 20 20 20 20 20 69 66 20 28 21 28 74 68 69         if (!(thi
2050: 73 2e 73 65 74 74 69 6e 67 73 2e 64 69 63 74 2e  s.settings.dict.
2060: 46 69 6e 64 42 79 56 61 6c 75 65 28 77 6f 72 64  FindByValue(word
2070: 73 70 61 72 73 65 5b 7a 5d 2e 74 6f 4c 6f 77 65  sparse[z].toLowe
2080: 72 43 61 73 65 28 29 29 20 3d 3d 20 75 6e 64 65  rCase()) == unde
2090: 66 69 6e 65 64 29 29 20 7b 0d 0a 20 20 20 20 20  fined)) {..     
20a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
20b0: 61 72 20 72 65 73 75 6c 74 20 3d 20 7b 7d 0d 0a  ar result = {}..
20c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20d0: 20 20 20 20 72 65 73 75 6c 74 5b 77 6f 72 64 73      result[words
20e0: 70 61 72 73 65 5b 7a 5d 2e 74 6f 4c 6f 77 65 72  parse[z].toLower
20f0: 43 61 73 65 28 29 5d 20 3d 20 7b 22 73 70 65 6c  Case()] = {"spel
2100: 6c 22 3a 66 61 6c 73 65 2c 20 22 61 6c 74 65 72  l":false, "alter
2110: 6e 61 74 69 76 65 73 22 3a 6e 65 77 20 41 72 72  natives":new Arr
2120: 61 79 28 29 2c 20 22 69 73 56 61 6c 69 64 22 3a  ay(), "isValid":
2130: 74 72 75 65 7d 0d 0a 20 20 20 20 20 20 20 20 20  true}..         
2140: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
2150: 77 6f 72 64 73 5b 77 6f 72 64 73 70 61 72 73 65  words[wordsparse
2160: 5b 7a 5d 5d 20 3d 20 72 65 73 75 6c 74 3b 0d 0a  [z]] = result;..
2170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2180: 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20      continue;.. 
2190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
21a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
21b0: 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 77 6f 72    this.words[wor
21c0: 64 73 70 61 72 73 65 5b 7a 5d 5d 20 3d 20 74 68  dsparse[z]] = th
21d0: 69 73 2e 57 6f 72 64 4a 6f 69 6e 28 77 6f 72 64  is.WordJoin(word
21e0: 73 70 61 72 73 65 5b 7a 5d 2c 20 74 68 69 73 2e  sparse[z], this.
21f0: 73 65 74 74 69 6e 67 73 2e 70 72 65 66 69 78 2c  settings.prefix,
2200: 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e 73   this.settings.s
2210: 75 66 66 69 78 29 0d 0a 20 20 20 20 20 20 20 20  uffix)..        
2220: 20 20 20 20 20 20 20 20 2f 2f 20 d0 b0 20 d1 82          // .. ..
2230: d0 b5 d0 bf d0 b5 d1 80 d1 8c 20 d0 bf d1 80 d0  .......... .....
2240: be d0 b2 d0 b5 d1 80 d0 b8 d0 bc 20 d1 82 d0 b5  ........... ....
2250: d0 ba d1 81 d1 82 2e 2e 2e 20 0d 0a 20 20 20 20  ......... ..    
2260: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
2270: 2e 77 6f 72 64 73 5b 77 6f 72 64 73 70 61 72 73  .words[wordspars
2280: 65 5b 7a 5d 5d 20 3d 20 74 68 69 73 2e 43 68 65  e[z]] = this.Che
2290: 63 6b 57 6f 72 64 73 28 74 68 69 73 2e 77 6f 72  ckWords(this.wor
22a0: 64 73 5b 77 6f 72 64 73 70 61 72 73 65 5b 7a 5d  ds[wordsparse[z]
22b0: 5d 29 3b 20 20 20 20 0d 0a 20 20 20 20 20 20 20  ]);    ..       
22c0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
22d0: 7d 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 77  }..        var w
22e0: 6f 72 64 73 4e 6f 74 56 61 6c 69 64 20 3d 20 6e  ordsNotValid = n
22f0: 65 77 20 41 72 72 61 79 28 29 0d 0a 20 20 20 20  ew Array()..    
2300: 20 20 20 20 66 6f 72 20 28 76 61 72 20 7a 3d 30      for (var z=0
2310: 3b 20 7a 3c 77 6f 72 64 73 70 61 72 73 65 2e 6c  ; z<wordsparse.l
2320: 65 6e 67 74 68 3b 20 7a 2b 2b 29 7b 20 0d 0a 20  ength; z++){ .. 
2330: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 77             var w
2340: 6f 72 64 73 20 3d 20 74 68 69 73 2e 77 6f 72 64  ords = this.word
2350: 73 5b 77 6f 72 64 73 70 61 72 73 65 5b 7a 5d 5d  s[wordsparse[z]]
2360: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66  ;..            f
2370: 6f 72 20 28 76 61 72 20 6b 65 79 20 69 6e 20 77  or (var key in w
2380: 6f 72 64 73 29 20 7b 0d 0a 20 20 20 20 20 20 20  ords) {..       
2390: 20 20 20 20 20 20 20 20 20 69 66 20 28 21 77 6f           if (!wo
23a0: 72 64 73 5b 6b 65 79 5d 5b 27 69 73 56 61 6c 69  rds[key]['isVali
23b0: 64 27 5d 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  d']){..         
23c0: 20 20 20 20 20 20 20 20 20 20 20 69 73 56 61 6c             isVal
23d0: 69 64 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20  id = false;..   
23e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
23f0: 20 77 6f 72 64 73 4e 6f 74 56 61 6c 69 64 2e 70   wordsNotValid.p
2400: 75 73 68 28 77 6f 72 64 73 70 61 72 73 65 5b 7a  ush(wordsparse[z
2410: 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ]);..           
2420: 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0d 0a           break..
2430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2440: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d  }..            }
2450: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
2460: 20 20 20 20 20 2f 2f 20 d0 b7 d0 b0 d0 bf d0 b8       // ........
2470: d1 88 d0 b5 d0 bc 20 d1 81 d0 be d0 be d0 b1 d1  ...... .........
2480: 89 d0 b5 d0 bd d0 b8 d0 b5 20 d0 be d0 b1 20 d0  ......... .... .
2490: be d1 88 d0 b8 d0 b1 d0 ba d0 b5 2e 2e 2e 20 0d  .............. .
24a0: 0a 20 20 20 20 20 20 20 20 69 66 20 28 77 6f 72  .        if (wor
24b0: 64 73 4e 6f 74 56 61 6c 69 64 2e 6c 65 6e 67 74  dsNotValid.lengt
24c0: 68 20 3e 20 30 29 20 7b 0d 0a 20 20 20 20 20 20  h > 0) {..      
24d0: 20 20 20 20 20 20 76 61 72 20 65 72 72 6f 72 73        var errors
24e0: 74 72 20 3d 20 27 d0 9e d1 88 d0 b8 d0 b1 d0 ba  tr = '..........
24f0: d0 b8 20 d0 b2 20 d1 81 d0 bb d0 be d0 b2 d0 b0  .. .. ..........
2500: d1 85 3a 20 27 3b 0d 0a 20 20 20 20 20 20 20 20  ..: ';..        
2510: 20 20 20 20 66 6f 72 20 28 76 61 72 20 7a 20 3d      for (var z =
2520: 20 30 3b 20 7a 3c 77 6f 72 64 73 4e 6f 74 56 61   0; z<wordsNotVa
2530: 6c 69 64 2e 6c 65 6e 67 74 68 3b 20 7a 2b 2b 29  lid.length; z++)
2540: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
2550: 20 20 20 20 65 72 72 6f 72 73 74 72 20 3d 20 28      errorstr = (
2560: 7a 3d 3d 30 29 3f 20 65 72 72 6f 72 73 74 72 2b  z==0)? errorstr+
2570: 77 6f 72 64 73 4e 6f 74 56 61 6c 69 64 5b 7a 5d  wordsNotValid[z]
2580: 3a 65 72 72 6f 72 73 74 72 2b 27 3b 20 27 2b 77  :errorstr+'; '+w
2590: 6f 72 64 73 4e 6f 74 56 61 6c 69 64 5b 7a 5d 0d  ordsNotValid[z].
25a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a  .            }..
25b0: 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f              erro
25c0: 72 73 74 72 20 3d 20 65 72 72 6f 72 73 74 72 20  rstr = errorstr 
25d0: 2b 20 27 5c 6e 27 2b 73 74 72 3b 0d 0a 20 20 20  + '\n'+str;..   
25e0: 20 20 20 20 20 20 20 20 20 76 61 72 20 70 61 72           var par
25f0: 61 6d 20 3d 20 7b 7d 0d 0a 20 20 20 20 20 20 20  am = {}..       
2600: 20 20 20 20 20 70 61 72 61 6d 5b 27 77 6e 64 27       param['wnd'
2610: 5d 20 3d 20 77 6e 64 3b 0d 0a 20 20 20 20 20 20  ] = wnd;..      
2620: 20 20 20 20 20 20 70 61 72 61 6d 5b 27 77 6f 72        param['wor
2630: 64 73 27 5d 20 3d 20 77 6f 72 64 73 4e 6f 74 56  ds'] = wordsNotV
2640: 61 6c 69 64 3b 0d 0a 20 20 20 20 20 20 20 20 20  alid;..         
2650: 20 20 20 70 61 72 61 6d 5b 27 4c 69 6e 65 4e 6f     param['LineNo
2660: 27 5d 20 3d 20 69 3b 0d 0a 20 20 20 20 20 20 20  '] = i;..       
2670: 20 20 20 20 20 70 61 72 61 6d 5b 27 73 74 72 27       param['str'
2680: 5d 20 3d 20 73 74 72 3b 0d 0a 0d 0a 20 20 20 20  ] = str;....    
2690: 20 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 28          Message(
26a0: 65 72 72 6f 72 73 74 72 2c 20 6d 45 78 63 31 2c  errorstr, mExc1,
26b0: 20 28 66 75 6e 63 74 69 6f 6e 28 70 61 72 61 6d   (function(param
26c0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
26d0: 0d 0a 20 20 20 20 69 66 20 28 21 70 61 72 61 6d  ..    if (!param
26e0: 5b 27 77 6e 64 27 5d 29 20 7b 0d 0a 20 20 20 20  ['wnd']) {..    
26f0: 20 20 20 20 72 65 74 75 72 6e 20 7d 0d 0a 20 20      return }..  
2700: 20 20 69 66 20 28 21 70 61 72 61 6d 5b 27 77 6e    if (!param['wn
2710: 64 27 5d 2e 49 73 41 63 74 69 76 65 28 29 29 20  d'].IsActive()) 
2720: 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72  {..        retur
2730: 6e 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f  n }..    ..    /
2740: 2f 46 49 58 4d 45 3a 20 d0 bc d0 b0 d0 b3 d0 b8  /FIXME: ........
2750: d1 8f 2c 20 d0 ba d0 be d0 b3 d0 b4 d0 b0 20 d0  .., .......... .
2760: bf d0 b5 d1 80 d0 b5 d1 81 d1 82 d0 b0 d0 bd d0  ................
2770: b5 d1 82 20 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 b0  ... ............
2780: d1 82 d1 8c 20 d0 bd d0 b5 20 d0 b7 d0 bd d0 b0  .... .... ......
2790: d1 8e 2e 20 d0 98 d1 81 d0 bf d1 80 d0 b0 d0 b2  ... ............
27a0: d1 8c 20 d0 bd d0 b0 20 77 69 6e 64 6f 77 73 2e  .. .... windows.
27b0: 61 63 74 69 76 61 74 65 28 29 2c 20 d0 bd d0 be  activate(), ....
27c0: 20 68 77 6e 64 20 d0 be d1 82 20 41 63 74 69 76   hwnd .... Activ
27d0: 65 54 65 78 74 57 69 6e 64 6f 77 20 3c 3e 20 68  eTextWindow <> h
27e0: 77 6e 64 20 d0 b8 d0 b7 20 d1 81 d0 bf d0 b8 d1  wnd .... .......
27f0: 81 d0 ba d0 b0 20 77 69 6e 64 6f 77 73 2e 6c 69  ..... windows.li
2800: 73 74 2e 2e 2e 0d 0a 20 20 20 20 73 74 64 63 6f  st.....    stdco
2810: 6d 6d 61 6e 64 73 2e 46 72 61 6d 65 2e 47 6f 74  mmands.Frame.Got
2820: 6f 42 61 63 6b 2e 73 65 6e 64 28 29 3b 0d 0a 20  oBack.send();.. 
2830: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 76 61 72         ..    var
2840: 20 63 6f 6c 4e 6f 20 3d 20 31 3b 0d 0a 20 20 20   colNo = 1;..   
2850: 20 69 66 20 28 70 61 72 61 6d 5b 27 77 6f 72 64   if (param['word
2860: 73 27 5d 2e 6c 65 6e 67 74 68 3e 30 29 7b 0d 0a  s'].length>0){..
2870: 20 20 20 20 20 20 20 20 76 61 72 20 73 65 61 72          var sear
2880: 63 68 50 61 74 74 65 72 6e 20 3d 20 70 61 72 61  chPattern = para
2890: 6d 5b 27 77 6f 72 64 73 27 5d 5b 30 5d 3b 0d 0a  m['words'][0];..
28a0: 20 20 20 20 20 20 20 20 76 61 72 20 72 65 20 3d          var re =
28b0: 20 6e 65 77 20 52 65 67 45 78 70 28 73 65 61 72   new RegExp(sear
28c0: 63 68 50 61 74 74 65 72 6e 2c 20 27 67 27 29 3b  chPattern, 'g');
28d0: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d 61  ..        var ma
28e0: 74 63 68 65 73 20 3d 20 72 65 2e 65 78 65 63 28  tches = re.exec(
28f0: 70 61 72 61 6d 5b 27 73 74 72 27 5d 29 3b 0d 0a  param['str']);..
2900: 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 74 63          if (matc
2910: 68 65 73 29 20 0d 0a 20 20 20 20 20 20 20 20 7b  hes) ..        {
2920: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
2930: 20 63 6f 6c 4e 6f 20 3d 20 72 65 2e 6c 61 73 74   colNo = re.last
2940: 49 6e 64 65 78 20 2d 20 70 61 72 61 6d 5b 27 77  Index - param['w
2950: 6f 72 64 73 27 5d 5b 30 5d 2e 6c 65 6e 67 74 68  ords'][0].length
2960: 20 2b 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 7d   + 1;..        }
2970: 0d 0a 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d  ....    }..    .
2980: 0a 20 20 20 20 70 61 72 61 6d 5b 27 77 6e 64 27  .    param['wnd'
2990: 5d 2e 53 65 74 43 61 72 65 74 50 6f 73 28 70 61  ].SetCaretPos(pa
29a0: 72 61 6d 5b 27 4c 69 6e 65 4e 6f 27 5d 2b 31 2c  ram['LineNo']+1,
29b0: 20 63 6f 6c 4e 6f 29 3b 0d 0a 20 20 20 20 70 61   colNo);..    pa
29c0: 72 61 6d 5b 27 77 6e 64 27 5d 2e 53 65 74 53 65  ram['wnd'].SetSe
29d0: 6c 65 63 74 69 6f 6e 28 70 61 72 61 6d 5b 27 4c  lection(param['L
29e0: 69 6e 65 4e 6f 27 5d 2b 31 2c 20 63 6f 6c 4e 6f  ineNo']+1, colNo
29f0: 2c 20 70 61 72 61 6d 5b 27 4c 69 6e 65 4e 6f 27  , param['LineNo'
2a00: 5d 2b 31 2c 20 63 6f 6c 4e 6f 20 2b 70 61 72 61  ]+1, colNo +para
2a10: 6d 5b 27 77 6f 72 64 73 27 5d 5b 30 5d 2e 6c 65  m['words'][0].le
2a20: 6e 67 74 68 29 3b 0d 0a 20 20 20 20 0d 0a 20 20  ngth);..    ..  
2a30: 20 20 70 61 72 61 6d 20 3d 20 6e 75 6c 6c 3b 0d    param = null;.
2a40: 0a 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 29 2c  .}..    ..    ),
2a50: 20 70 61 72 61 6d 29 3b 0d 0a 20 20 20 20 20 20   param);..      
2a60: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 69 2b 2b    }..        i++
2a70: 3b 0d 0a 20 20 20 20 20 20 20 20 d0 a1 d0 be d1  ;..        .....
2a80: 81 d1 82 d0 be d1 8f d0 bd d0 b8 d0 b5 28 22 d0  .............(".
2a90: 92 d1 81 d0 b5 d0 b3 d0 be 20 d1 81 d1 82 d1 80  ......... ......
2aa0: d0 be d0 ba 20 22 2b 4c 69 6e 65 73 2e 6c 65 6e  .... "+Lines.len
2ab0: 67 74 68 2b 22 20 d0 bf d1 80 d0 be d0 b2 d0 b5  gth+" ..........
2ac0: d1 80 d1 8f d0 b5 d1 82 d1 81 d1 8f 20 d1 81 d1  ............ ...
2ad0: 82 d1 80 d0 be d0 ba d0 b0 20 22 2b 69 29 3b 0d  ......... "+i);.
2ae0: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 69 66 20 28  .    }..    if (
2af0: 69 73 56 61 6c 69 64 29 20 7b 0d 0a 20 20 20 20  isValid) {..    
2b00: 20 20 20 20 2f 2f 54 4f 44 4f 3a 20 d0 b4 d0 be      //TODO: ....
2b10: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20 d0 b2 20  ............ .. 
2b20: d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba  ................
2b30: d1 83 20 0d 0a 20 20 20 20 20 20 20 20 4d 65 73  .. ..        Mes
2b40: 73 61 67 65 28 27 d0 9e d1 88 d0 b8 d0 b1 d0 be  sage('..........
2b50: d0 ba 20 d0 bd d0 b5 20 d0 be d0 b1 d0 bd d0 b0  .. .... ........
2b60: d1 80 d1 83 d0 b6 d0 b5 d0 bd d0 bd d0 be 21 27  ..............!'
2b70: 2c 20 6d 49 6e 66 6f 29 3b 0d 0a 20 20 20 20 7d  , mInfo);..    }
2b80: 0d 0a 20 20 20 20 69 66 20 28 21 73 6e 65 67 6f  ..    if (!snego
2b90: 70 61 74 2e 61 63 74 69 76 65 54 65 78 74 57 69  pat.activeTextWi
2ba0: 6e 64 6f 77 28 29 29 20 7b 0d 0a 20 20 20 20 20  ndow()) {..     
2bb0: 20 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 46     stdcommands.F
2bc0: 72 61 6d 65 2e 47 6f 74 6f 42 61 63 6b 2e 73 65  rame.GotoBack.se
2bd0: 6e 64 28 29 3b 7d 0d 0a 7d 0d 0a 0d 0a 5f 53 70  nd();}..}...._Sp
2be0: 65 6c 6c 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f  ellChecker.proto
2bf0: 74 79 70 65 2e 53 70 65 6c 6c 4c 69 6e 65 20 3d  type.SpellLine =
2c00: 20 66 75 6e 63 74 69 6f 6e 28 74 65 78 74 2c 20   function(text, 
2c10: 77 6e 64 2c 20 69 29 20 7b 0d 0a 20 20 20 20 76  wnd, i) {..    v
2c20: 61 72 20 72 65 20 3d 20 6e 65 77 20 52 65 67 45  ar re = new RegE
2c30: 78 70 28 27 28 5b 5c 77 d0 90 2d d1 8f d1 91 d0  xp('([\w..-.....
2c40: 81 d1 96 d1 94 d1 97 d2 91 5c 64 5d 2b 29 27 2c  .........\d]+)',
2c50: 27 67 69 27 29 3b 0d 0a 20 20 20 20 2f 2f 76 61  'gi');..    //va
2c60: 72 20 4c 69 6e 65 73 20 3d 20 74 65 78 74 2e 73  r Lines = text.s
2c70: 70 6c 69 74 28 27 5c 6e 27 29 0d 0a 20 20 20 20  plit('\n')..    
2c80: 2f 2f 76 61 72 20 6e 20 3d 20 4c 69 6e 65 73 2e  //var n = Lines.
2c90: 6c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 2f 2f 76  length;..    //v
2ca0: 61 72 20 69 20 3d 20 20 30 3b 0d 0a 20 20 20 20  ar i =  0;..    
2cb0: 76 61 72 20 69 73 56 61 6c 69 64 20 3d 20 74 72  var isValid = tr
2cc0: 75 65 3b 0d 0a 20 20 20 20 2f 2f 77 68 69 6c 65  ue;..    //while
2cd0: 20 28 69 3c 6e 29 7b 0d 0a 0d 0a 20 20 20 20 20   (i<n){....     
2ce0: 20 20 20 76 61 72 20 73 74 72 20 3d 20 27 27 3b     var str = '';
2cf0: 0d 0a 20 20 20 20 20 20 20 20 73 74 72 20 3d 20  ..        str = 
2d00: 74 65 78 74 3b 0d 0a 20 20 20 20 20 20 20 20 0d  text;..        .
2d10: 0a 20 20 20 20 20 20 20 20 77 6f 72 64 73 70 61  .        wordspa
2d20: 72 73 65 20 3d 20 6e 65 77 20 41 72 72 61 79 28  rse = new Array(
2d30: 29 3b 0d 0a 20 20 20 20 20 20 20 20 77 68 69 6c  );..        whil
2d40: 65 28 20 28 4d 61 74 63 68 65 73 20 3d 20 72 65  e( (Matches = re
2d50: 2e 65 78 65 63 28 73 74 72 29 29 20 21 3d 20 6e  .exec(str)) != n
2d60: 75 6c 6c 20 29 20 7b 0d 0a 20 20 20 20 20 20 20  ull ) {..       
2d70: 20 20 20 20 20 77 6f 72 64 73 70 61 72 73 65 2e       wordsparse.
2d80: 70 75 73 68 28 4d 61 74 63 68 65 73 5b 31 5d 29  push(Matches[1])
2d90: 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  ;..        }..  
2da0: 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 7a        for (var z
2db0: 3d 30 3b 20 7a 3c 77 6f 72 64 73 70 61 72 73 65  =0; z<wordsparse
2dc0: 2e 6c 65 6e 67 74 68 3b 20 7a 2b 2b 29 7b 0d 0a  .length; z++){..
2dd0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
2de0: 21 74 68 69 73 2e 77 6f 72 64 73 5b 77 6f 72 64  !this.words[word
2df0: 73 70 61 72 73 65 5b 7a 5d 5d 29 20 7b 0d 0a 20  sparse[z]]) {.. 
2e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
2e10: 66 20 28 21 28 74 68 69 73 2e 73 65 74 74 69 6e  f (!(this.settin
2e20: 67 73 2e 64 69 63 74 2e 46 69 6e 64 42 79 56 61  gs.dict.FindByVa
2e30: 6c 75 65 28 77 6f 72 64 73 70 61 72 73 65 5b 7a  lue(wordsparse[z
2e40: 5d 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 29 29  ].toLowerCase())
2e50: 20 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 29 20   == undefined)) 
2e60: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
2e70: 20 20 20 20 20 20 20 76 61 72 20 72 65 73 75 6c         var resul
2e80: 74 20 3d 20 7b 7d 0d 0a 20 20 20 20 20 20 20 20  t = {}..        
2e90: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75              resu
2ea0: 6c 74 5b 77 6f 72 64 73 70 61 72 73 65 5b 7a 5d  lt[wordsparse[z]
2eb0: 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 29 5d 20  .toLowerCase()] 
2ec0: 3d 20 7b 22 73 70 65 6c 6c 22 3a 66 61 6c 73 65  = {"spell":false
2ed0: 2c 20 22 61 6c 74 65 72 6e 61 74 69 76 65 73 22  , "alternatives"
2ee0: 3a 6e 65 77 20 41 72 72 61 79 28 29 2c 20 22 69  :new Array(), "i
2ef0: 73 56 61 6c 69 64 22 3a 74 72 75 65 7d 0d 0a 20  sValid":true}.. 
2f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f10: 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 77 6f     this.words[wo
2f20: 72 64 73 70 61 72 73 65 5b 7a 5d 5d 20 3d 20 72  rdsparse[z]] = r
2f30: 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20  esult;..        
2f40: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74              cont
2f50: 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20  inue;..         
2f60: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
2f70: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 77            this.w
2f80: 6f 72 64 73 5b 77 6f 72 64 73 70 61 72 73 65 5b  ords[wordsparse[
2f90: 7a 5d 5d 20 3d 20 74 68 69 73 2e 57 6f 72 64 4a  z]] = this.WordJ
2fa0: 6f 69 6e 28 77 6f 72 64 73 70 61 72 73 65 5b 7a  oin(wordsparse[z
2fb0: 5d 2c 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73  ], this.settings
2fc0: 2e 70 72 65 66 69 78 2c 20 74 68 69 73 2e 73 65  .prefix, this.se
2fd0: 74 74 69 6e 67 73 2e 73 75 66 66 69 78 29 0d 0a  ttings.suffix)..
2fe0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ff0: 2f 2f 20 d0 b0 20 d1 82 d0 b5 d0 bf d0 b5 d1 80  // .. ..........
3000: d1 8c 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 80 d0  .. .............
3010: b8 d0 bc 20 d1 82 d0 b5 d0 ba d1 81 d1 82 2e 2e  ... ............
3020: 2e 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  . ..            
3030: 20 20 20 20 74 68 69 73 2e 77 6f 72 64 73 5b 77      this.words[w
3040: 6f 72 64 73 70 61 72 73 65 5b 7a 5d 5d 20 3d 20  ordsparse[z]] = 
3050: 74 68 69 73 2e 43 68 65 63 6b 57 6f 72 64 73 28  this.CheckWords(
3060: 74 68 69 73 2e 77 6f 72 64 73 5b 77 6f 72 64 73  this.words[words
3070: 70 61 72 73 65 5b 7a 5d 5d 29 3b 20 20 20 20 0d  parse[z]]);    .
3080: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a  .            }..
3090: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
30a0: 20 20 20 76 61 72 20 77 6f 72 64 73 4e 6f 74 56     var wordsNotV
30b0: 61 6c 69 64 20 3d 20 6e 65 77 20 41 72 72 61 79  alid = new Array
30c0: 28 29 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 20  ()..        for 
30d0: 28 76 61 72 20 7a 3d 30 3b 20 7a 3c 77 6f 72 64  (var z=0; z<word
30e0: 73 70 61 72 73 65 2e 6c 65 6e 67 74 68 3b 20 7a  sparse.length; z
30f0: 2b 2b 29 7b 20 0d 0a 20 20 20 20 20 20 20 20 20  ++){ ..         
3100: 20 20 20 76 61 72 20 77 6f 72 64 73 20 3d 20 74     var words = t
3110: 68 69 73 2e 77 6f 72 64 73 5b 77 6f 72 64 73 70  his.words[wordsp
3120: 61 72 73 65 5b 7a 5d 5d 3b 0d 0a 20 20 20 20 20  arse[z]];..     
3130: 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20         for (var 
3140: 6b 65 79 20 69 6e 20 77 6f 72 64 73 29 20 7b 0d  key in words) {.
3150: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3160: 20 69 66 20 28 21 77 6f 72 64 73 5b 6b 65 79 5d   if (!words[key]
3170: 5b 27 69 73 56 61 6c 69 64 27 5d 29 7b 0d 0a 20  ['isValid']){.. 
3180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3190: 20 20 20 69 73 56 61 6c 69 64 20 3d 20 66 61 6c     isValid = fal
31a0: 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  se;..           
31b0: 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 4e 6f           wordsNo
31c0: 74 56 61 6c 69 64 2e 70 75 73 68 28 77 6f 72 64  tValid.push(word
31d0: 73 70 61 72 73 65 5b 7a 5d 29 3b 0d 0a 20 20 20  sparse[z]);..   
31e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
31f0: 20 62 72 65 61 6b 0d 0a 20 20 20 20 20 20 20 20   break..        
3200: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
3210: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
3220: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20    }..        // 
3230: d0 b7 d0 b0 d0 bf d0 b8 d1 88 d0 b5 d0 bc 20 d1  .............. .
3240: 81 d0 be d0 be d0 b1 d1 89 d0 b5 d0 bd d0 b8 d0  ................
3250: b5 20 d0 be d0 b1 20 d0 be d1 88 d0 b8 d0 b1 d0  . .... .........
3260: ba d0 b5 2e 2e 2e 20 0d 0a 20 20 20 20 20 20 20  ...... ..       
3270: 20 69 66 20 28 77 6f 72 64 73 4e 6f 74 56 61 6c   if (wordsNotVal
3280: 69 64 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b  id.length > 0) {
3290: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61  ..            va
32a0: 72 20 65 72 72 6f 72 73 74 72 20 3d 20 27 d0 9e  r errorstr = '..
32b0: d1 88 d0 b8 d0 b1 d0 ba d0 b8 20 d0 b2 20 d1 81  .......... .. ..
32c0: d0 bb d0 be d0 b2 d0 b0 d1 85 3a 20 27 3b 0d 0a  ..........: ';..
32d0: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20              for 
32e0: 28 76 61 72 20 7a 20 3d 20 30 3b 20 7a 3c 77 6f  (var z = 0; z<wo
32f0: 72 64 73 4e 6f 74 56 61 6c 69 64 2e 6c 65 6e 67  rdsNotValid.leng
3300: 74 68 3b 20 7a 2b 2b 29 20 7b 0d 0a 20 20 20 20  th; z++) {..    
3310: 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f              erro
3320: 72 73 74 72 20 3d 20 28 7a 3d 3d 30 29 3f 20 65  rstr = (z==0)? e
3330: 72 72 6f 72 73 74 72 2b 77 6f 72 64 73 4e 6f 74  rrorstr+wordsNot
3340: 56 61 6c 69 64 5b 7a 5d 3a 65 72 72 6f 72 73 74  Valid[z]:errorst
3350: 72 2b 27 3b 20 27 2b 77 6f 72 64 73 4e 6f 74 56  r+'; '+wordsNotV
3360: 61 6c 69 64 5b 7a 5d 0d 0a 20 20 20 20 20 20 20  alid[z]..       
3370: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
3380: 20 20 20 20 65 72 72 6f 72 73 74 72 20 3d 20 65      errorstr = e
3390: 72 72 6f 72 73 74 72 20 2b 20 27 5c 6e 27 2b 73  rrorstr + '\n'+s
33a0: 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  tr;..           
33b0: 20 76 61 72 20 70 61 72 61 6d 20 3d 20 7b 7d 0d   var param = {}.
33c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72  .            par
33d0: 61 6d 5b 27 77 6e 64 27 5d 20 3d 20 77 6e 64 3b  am['wnd'] = wnd;
33e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61  ..            pa
33f0: 72 61 6d 5b 27 77 6f 72 64 73 27 5d 20 3d 20 77  ram['words'] = w
3400: 6f 72 64 73 4e 6f 74 56 61 6c 69 64 3b 0d 0a 20  ordsNotValid;.. 
3410: 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d             param
3420: 5b 27 4c 69 6e 65 4e 6f 27 5d 20 3d 20 69 3b 0d  ['LineNo'] = i;.
3430: 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72  .            par
3440: 61 6d 5b 27 73 74 72 27 5d 20 3d 20 73 74 72 3b  am['str'] = str;
3450: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
3460: 4d 65 73 73 61 67 65 28 65 72 72 6f 72 73 74 72  Message(errorstr
3470: 2c 20 6d 45 78 63 31 2c 20 28 66 75 6e 63 74 69  , mExc1, (functi
3480: 6f 6e 28 70 61 72 61 6d 29 7b 0d 0a 20 20 20 20  on(param){..    
3490: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 69 66          ..    if
34a0: 20 28 21 70 61 72 61 6d 5b 27 77 6e 64 27 5d 29   (!param['wnd'])
34b0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75   {..        retu
34c0: 72 6e 20 7d 0d 0a 20 20 20 20 69 66 20 28 21 70  rn }..    if (!p
34d0: 61 72 61 6d 5b 27 77 6e 64 27 5d 2e 49 73 41 63  aram['wnd'].IsAc
34e0: 74 69 76 65 28 29 29 20 7b 0d 0a 20 20 20 20 20  tive()) {..     
34f0: 20 20 20 72 65 74 75 72 6e 20 7d 0d 0a 20 20 20     return }..   
3500: 20 0d 0a 20 20 20 20 2f 2f 46 49 58 4d 45 3a 20   ..    //FIXME: 
3510: d0 bc d0 b0 d0 b3 d0 b8 d1 8f 2c 20 d0 ba d0 be  .........., ....
3520: d0 b3 d0 b4 d0 b0 20 d0 bf d0 b5 d1 80 d0 b5 d1  ...... .........
3530: 81 d1 82 d0 b0 d0 bd d0 b5 d1 82 20 d1 80 d0 b0  ........... ....
3540: d0 b1 d0 be d1 82 d0 b0 d1 82 d1 8c 20 d0 bd d0  ............ ...
3550: b5 20 d0 b7 d0 bd d0 b0 d1 8e 2e 20 d0 98 d1 81  . ......... ....
3560: d0 bf d1 80 d0 b0 d0 b2 d1 8c 20 d0 bd d0 b0 20  .......... .... 
3570: 77 69 6e 64 6f 77 73 2e 61 63 74 69 76 61 74 65  windows.activate
3580: 28 29 2c 20 d0 bd d0 be 20 68 77 6e 64 20 d0 be  (), .... hwnd ..
3590: d1 82 20 41 63 74 69 76 65 54 65 78 74 57 69 6e  .. ActiveTextWin
35a0: 64 6f 77 20 3c 3e 20 68 77 6e 64 20 d0 b8 d0 b7  dow <> hwnd ....
35b0: 20 d1 81 d0 bf d0 b8 d1 81 d0 ba d0 b0 20 77 69   ............ wi
35c0: 6e 64 6f 77 73 2e 6c 69 73 74 2e 2e 2e 0d 0a 20  ndows.list..... 
35d0: 20 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 46     stdcommands.F
35e0: 72 61 6d 65 2e 47 6f 74 6f 42 61 63 6b 2e 73 65  rame.GotoBack.se
35f0: 6e 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d  nd();..        .
3600: 0a 20 20 20 20 76 61 72 20 63 6f 6c 4e 6f 20 3d  .    var colNo =
3610: 20 31 3b 0d 0a 20 20 20 20 69 66 20 28 70 61 72   1;..    if (par
3620: 61 6d 5b 27 77 6f 72 64 73 27 5d 2e 6c 65 6e 67  am['words'].leng
3630: 74 68 3e 30 29 7b 0d 0a 20 20 20 20 20 20 20 20  th>0){..        
3640: 76 61 72 20 73 65 61 72 63 68 50 61 74 74 65 72  var searchPatter
3650: 6e 20 3d 20 70 61 72 61 6d 5b 27 77 6f 72 64 73  n = param['words
3660: 27 5d 5b 30 5d 3b 0d 0a 20 20 20 20 20 20 20 20  '][0];..        
3670: 76 61 72 20 72 65 20 3d 20 6e 65 77 20 52 65 67  var re = new Reg
3680: 45 78 70 28 73 65 61 72 63 68 50 61 74 74 65 72  Exp(searchPatter
3690: 6e 2c 20 27 67 27 29 3b 0d 0a 20 20 20 20 20 20  n, 'g');..      
36a0: 20 20 76 61 72 20 6d 61 74 63 68 65 73 20 3d 20    var matches = 
36b0: 72 65 2e 65 78 65 63 28 70 61 72 61 6d 5b 27 73  re.exec(param['s
36c0: 74 72 27 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20  tr']);..        
36d0: 69 66 20 28 6d 61 74 63 68 65 73 29 20 0d 0a 20  if (matches) .. 
36e0: 20 20 20 20 20 20 20 7b 20 20 20 0d 0a 20 20 20         {   ..   
36f0: 20 20 20 20 20 20 20 20 20 63 6f 6c 4e 6f 20 3d           colNo =
3700: 20 72 65 2e 6c 61 73 74 49 6e 64 65 78 20 2d 20   re.lastIndex - 
3710: 70 61 72 61 6d 5b 27 77 6f 72 64 73 27 5d 5b 30  param['words'][0
3720: 5d 2e 6c 65 6e 67 74 68 20 2b 20 31 3b 0d 0a 20  ].length + 1;.. 
3730: 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20         }....    
3740: 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 70 61 72  }..    ..    par
3750: 61 6d 5b 27 77 6e 64 27 5d 2e 53 65 74 43 61 72  am['wnd'].SetCar
3760: 65 74 50 6f 73 28 70 61 72 61 6d 5b 27 4c 69 6e  etPos(param['Lin
3770: 65 4e 6f 27 5d 2b 31 2c 20 63 6f 6c 4e 6f 29 3b  eNo']+1, colNo);
3780: 0d 0a 20 20 20 20 70 61 72 61 6d 5b 27 77 6e 64  ..    param['wnd
3790: 27 5d 2e 53 65 74 53 65 6c 65 63 74 69 6f 6e 28  '].SetSelection(
37a0: 70 61 72 61 6d 5b 27 4c 69 6e 65 4e 6f 27 5d 2b  param['LineNo']+
37b0: 31 2c 20 63 6f 6c 4e 6f 2c 20 70 61 72 61 6d 5b  1, colNo, param[
37c0: 27 4c 69 6e 65 4e 6f 27 5d 2b 31 2c 20 63 6f 6c  'LineNo']+1, col
37d0: 4e 6f 20 2b 70 61 72 61 6d 5b 27 77 6f 72 64 73  No +param['words
37e0: 27 5d 5b 30 5d 2e 6c 65 6e 67 74 68 29 3b 0d 0a  '][0].length);..
37f0: 20 20 20 20 0d 0a 20 20 20 20 70 61 72 61 6d 20      ..    param 
3800: 3d 20 6e 75 6c 6c 3b 0d 0a 7d 0d 0a 20 20 20 20  = null;..}..    
3810: 0d 0a 20 20 20 20 29 2c 20 70 61 72 61 6d 29 3b  ..    ), param);
3820: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
3830: 20 20 20 20 20 2f 2f 69 2b 2b 3b 0d 0a 20 20 20       //i++;..   
3840: 20 20 20 20 20 2f 2f d0 a1 d0 be d1 81 d1 82 d0       //.........
3850: be d1 8f d0 bd d0 b8 d0 b5 28 22 d0 92 d1 81 d0  .........(".....
3860: b5 d0 b3 d0 be 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
3870: 20 22 2b 4c 69 6e 65 73 2e 6c 65 6e 67 74 68 2b   "+Lines.length+
3880: 22 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 80 d1 8f  " ..............
3890: d0 b5 d1 82 d1 81 d1 8f 20 d1 81 d1 82 d1 80 d0  ........ .......
38a0: be d0 ba d0 b0 20 22 2b 69 29 3b 0d 0a 20 20 20  ..... "+i);..   
38b0: 20 2f 2f 7d 0d 0a 20 20 20 20 2f 2f 69 66 20 28   //}..    //if (
38c0: 69 73 56 61 6c 69 64 29 20 7b 0d 0a 20 20 20 20  isValid) {..    
38d0: 20 20 20 20 2f 2f 54 4f 44 4f 3a 20 d0 b4 d0 be      //TODO: ....
38e0: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20 d0 b2 20  ............ .. 
38f0: d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba  ................
3900: d1 83 20 0d 0a 20 20 20 20 2f 2f 20 20 20 20 4d  .. ..    //    M
3910: 65 73 73 61 67 65 28 27 d0 9e d1 88 d0 b8 d0 b1  essage('........
3920: d0 be d0 ba 20 d0 bd d0 b5 20 d0 be d0 b1 d0 bd  .... .... ......
3930: d0 b0 d1 80 d1 83 d0 b6 d0 b5 d0 bd d0 bd d0 be  ................
3940: 21 27 2c 20 6d 49 6e 66 6f 29 3b 0d 0a 20 20 20  !', mInfo);..   
3950: 20 2f 2f 7d 0d 0a 20 20 20 20 2f 2f 69 66 20 28   //}..    //if (
3960: 21 73 6e 65 67 6f 70 61 74 2e 61 63 74 69 76 65  !snegopat.active
3970: 54 65 78 74 57 69 6e 64 6f 77 28 29 29 20 7b 0d  TextWindow()) {.
3980: 0a 20 20 20 20 2f 2f 20 20 20 20 73 74 64 63 6f  .    //    stdco
3990: 6d 6d 61 6e 64 73 2e 46 72 61 6d 65 2e 47 6f 74  mmands.Frame.Got
39a0: 6f 42 61 63 6b 2e 73 65 6e 64 28 29 3b 7d 0d 0a  oBack.send();}..
39b0: 7d 0d 0a 0d 0a 0d 0a 0d 0a 5f 53 70 65 6c 6c 43  }........_SpellC
39c0: 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65  hecker.prototype
39d0: 2e d0 9a d0 bd d0 97 d0 b0 d0 bc d0 b5 d0 bd d0  ................
39e0: b8 d1 82 d1 8c d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0  ................
39f0: b8 d0 b5 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28  ... = function (
3a00: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20  ..............) 
3a10: 7b 0d 0a 0d 0a 20 20 20 20 4d 65 73 73 61 67 65  {....    Message
3a20: 28 22 d0 b5 d1 89 d0 b5 20 d0 bd d0 b5 20 d1 80  ("...... .... ..
3a30: d0 b5 d0 b0 d0 bb d0 b8 d0 b7 d0 be d0 b2 d0 b0  ................
3a40: d0 bd d0 be 22 29 0d 0a 7d 0d 0a 0d 0a 5f 53 70  ....")..}...._Sp
3a50: 65 6c 6c 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f  ellChecker.proto
3a60: 74 79 70 65 2e d0 9a d0 bd d0 94 d0 be d0 b1 d0  type............
3a70: b0 d0 b2 d0 b8 d1 82 d1 8c d0 9d d0 b0 d0 b6 d0  ................
3a80: b0 d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e 63 74 69  ....... = functi
3a90: 6f 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd  on (............
3aa0: d1 82 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 61 72  ..) {....    var
3ab0: 20 d0 a2 d0 b5 d0 ba d0 a1 d1 82 d1 80 d0 be d0   ...............
3ac0: ba d0 b0 20 20 3d 20 74 68 69 73 2e 66 6f 72 6d  ...  = this.form
3ad0: 2e 43 6f 6e 74 72 6f 6c 73 2e d0 94 d0 b5 d1 80  .Controls.......
3ae0: d0 b5 d0 b2 d0 be d0 9f d1 80 d0 be d0 b2 d0 b5  ................
3af0: d1 80 d0 ba d0 b8 2e 43 75 72 72 65 6e 74 52 6f  .......CurrentRo
3b00: 77 3b 0d 0a 20 20 20 20 69 66 20 28 21 28 d0 a2  w;..    if (!(..
3b10: d0 b5 d0 ba d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0  ................
3b20: 3d 3d 75 6e 64 65 66 69 6e 65 64 29 29 20 7b 0d  ==undefined)) {.
3b30: 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61  .        //Messa
3b40: 67 65 28 22 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0  ge("............
3b50: 20 d1 81 d1 83 d1 89 d0 b5 d1 81 d1 82 d0 b2 d1   ...............
3b60: 83 d0 b5 d1 82 21 22 20 2b 20 d0 a2 d0 b5 d0 ba  .....!" + ......
3b70: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 2e d0 a1 d0  ................
3b80: bb d0 be d0 b2 d0 be 29 3b 0d 0a 20 20 20 20 20  .......);..     
3b90: 20 20 20 69 66 20 28 d0 a2 d0 b5 d0 ba d0 a1 d1     if (.........
3ba0: 82 d1 80 d0 be d0 ba d0 b0 2e 69 73 56 61 6c 69  ..........isVali
3bb0: 64 20 3e 20 30 29 7b 0d 0a 20 20 20 20 20 20 20  d > 0){..       
3bc0: 20 20 20 20 20 76 61 72 20 77 6f 72 64 20 3d 20       var word = 
3bd0: d0 a2 d0 b5 d0 ba d0 a1 d1 82 d1 80 d0 be d0 ba  ................
3be0: d0 b0 2e d0 a1 d0 bb d0 be d0 b2 d0 be 3b 0d 0a  .............;..
3bf0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
3c00: 2e 73 65 74 74 69 6e 67 73 2e 64 69 63 74 2e 61  .settings.dict.a
3c10: 64 64 28 77 6f 72 64 2e 74 6f 4c 6f 77 65 72 43  dd(word.toLowerC
3c20: 61 73 65 28 29 29 3b 0d 0a 20 20 20 20 20 20 20  ase());..       
3c30: 20 7d 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a   }..    }..}....
3c40: 5f 53 70 65 6c 6c 43 68 65 63 6b 65 72 2e 70 72  _SpellChecker.pr
3c50: 6f 74 6f 74 79 70 65 2e d0 9a d0 bd d0 9d d0 b0  ototype.........
3c60: d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba d0 b8 d0 9d  ................
3c70: d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b5 20 3d 20 66  ............ = f
3c80: 75 6e 63 74 69 6f 6e 20 28 d0 ad d0 bb d0 b5 d0  unction (.......
3c90: bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 0d 0a 20 20  .......) {....  
3ca0: 20 20 74 68 69 73 2e 66 6f 72 6d 50 61 72 61 6d    this.formParam
3cb0: 73 2e d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c  s...............
3cc0: d0 9c d0 be d0 b4 d0 b0 d0 bb d1 8c d0 bd d0 be  ................
3cd0: 28 29 3b 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c  ();..}...._Spell
3ce0: 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70  Checker.prototyp
3cf0: 65 2e d0 9a d0 bd d0 97 d0 b0 d0 ba d1 80 d1 8b  e...............
3d00: d1 82 d1 8c d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8  ................
3d10: d0 b5 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 d0  .. = function (.
3d20: ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b  .............) {
3d30: 0d 0a 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72  ....    this.for
3d40: 6d 2e 43 6c 6f 73 65 28 29 3b 0d 0a 7d 0d 0a 0d  m.Close();..}...
3d50: 0a 5f 53 70 65 6c 6c 43 68 65 63 6b 65 72 2e 70  ._SpellChecker.p
3d60: 72 6f 74 6f 74 79 70 65 2e d0 94 d0 b5 d1 80 d0  rototype........
3d70: b5 d0 b2 d0 be d0 9f d1 80 d0 be d0 b2 d0 b5 d1  ................
3d80: 80 d0 ba d0 b8 d0 9f d1 80 d0 b8 d0 90 d0 ba d1  ................
3d90: 82 d0 b8 d0 b2 d0 b8 d0 b7 d0 b0 d1 86 d0 b8 d0  ................
3da0: b8 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 20 3d 20  ............. = 
3db0: 66 75 6e 63 74 69 6f 6e 20 28 d0 ad d0 bb d0 b5  function (......
3dc0: d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 0d 0a 20  ........) {.... 
3dd0: 20 20 20 0d 0a 7d 0d 0a 5f 53 70 65 6c 6c 43 68     ..}.._SpellCh
3de0: 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e  ecker.prototype.
3df0: d0 94 d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 9f d1 80  ................
3e00: d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 d0 9f d0 b5  ................
3e10: d1 80 d0 b5 d0 b4 d0 9d d0 b0 d1 87 d0 b0 d0 bb  ................
3e20: d0 be d0 bc d0 98 d0 b7 d0 bc d0 b5 d0 bd d0 b5  ................
3e30: d0 bd d0 b8 d1 8f 20 3d 20 66 75 6e 63 74 69 6f  ...... = functio
3e40: 6e 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82  n(..............
3e50: 2c 20 d0 9e d1 82 d0 ba d0 b0 d0 b7 29 20 7b 0d  , ..........) {.
3e60: 0a 20 20 20 20 d0 9e d1 82 d0 ba d0 b0 d0 b7 20  .    .......... 
3e70: 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 76 61  = false;..    va
3e80: 72 20 d0 a2 d0 b5 d0 ba d0 a1 d1 82 d1 80 d0 be  r ..............
3e90: d0 ba d0 b0 20 20 3d 20 74 68 69 73 2e 66 6f 72  ....  = this.for
3ea0: 6d 2e 43 6f 6e 74 72 6f 6c 73 2e d0 94 d0 b5 d1  m.Controls......
3eb0: 80 d0 b5 d0 b2 d0 be d0 9f d1 80 d0 be d0 b2 d0  ................
3ec0: b5 d1 80 d0 ba d0 b8 2e 43 75 72 72 65 6e 74 52  ........CurrentR
3ed0: 6f 77 3b 0d 0a 20 20 20 20 76 61 72 20 73 65 6c  ow;..    var sel
3ee0: 54 65 78 74 20 3d 20 d0 a2 d0 b5 d0 ba d0 a1 d1  Text = .........
3ef0: 82 d1 80 d0 be d0 ba d0 b0 2e d0 a1 d0 bb d0 be  ................
3f00: d0 b2 d0 be 3b 0d 0a 20 20 20 20 74 68 69 73 2e  ....;..    this.
3f10: 61 63 74 69 76 61 74 65 45 64 69 74 6f 72 28 29  activateEditor()
3f20: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 65 78 74 53  ;..    this.extS
3f30: 65 61 72 63 68 2e 73 65 74 53 69 6d 70 6c 65 51  earch.setSimpleQ
3f40: 75 65 72 79 28 73 65 6c 54 65 78 74 29 3b 0d 0a  uery(selText);..
3f50: 20 20 20 20 74 68 69 73 2e 65 78 74 53 65 61 72      this.extSear
3f60: 63 68 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20  ch.show();..    
3f70: 0d 0a 20 20 20 20 69 66 20 28 73 65 6c 54 65 78  ..    if (selTex
3f80: 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 7b 0d  t == '')..    {.
3f90: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 65 78  .        this.ex
3fa0: 74 53 65 61 72 63 68 2e 63 6c 65 61 72 53 65 61  tSearch.clearSea
3fb0: 72 63 68 52 65 73 75 6c 74 73 28 29 3b 0d 0a 20  rchResults();.. 
3fc0: 20 20 20 20 20 20 20 74 68 69 73 2e 65 78 74 53         this.extS
3fd0: 65 61 72 63 68 2e 73 65 74 44 65 66 61 75 6c 74  earch.setDefault
3fe0: 53 65 61 72 63 68 51 75 65 72 79 28 29 3b 0d 0a  SearchQuery();..
3ff0: 20 20 20 20 7d 0d 0a 20 20 20 20 65 6c 73 65 0d      }..    else.
4000: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 65 78  .        this.ex
4010: 74 53 65 61 72 63 68 2e 73 65 61 72 63 68 41 63  tSearch.searchAc
4020: 74 69 76 65 44 6f 63 28 74 72 75 65 29 3b 20 2f  tiveDoc(true); /
4030: 2f 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d0 bb  / ..............
4040: 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1   ...............
4050: 80 20 d0 ba d0 be d1 82 d0 be d1 80 d1 8b d0 b9  . ..............
4060: 20 d1 81 d0 b8 d0 b3 d0 bd d0 b0 d0 bb d0 b8 d0   ...............
4070: b7 d0 b8 d1 80 d1 83 d0 b5 d1 82 20 d1 87 d1 82  ........... ....
4080: d0 be 20 d0 b8 d0 b4 d0 b5 d1 82 20 d0 bf d0 be  .. ........ ....
4090: d0 b8 d1 81 d0 ba 20 d1 82 d0 b5 d0 ba d1 83 d1  ...... .........
40a0: 89 d0 b5 d0 b3 d0 be 20 d1 81 d0 bb d0 be d0 b2  ....... ........
40b0: d0 b0 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c 43  ....}...._SpellC
40c0: 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65  hecker.prototype
40d0: 2e d0 94 d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 9f d1  ................
40e0: 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 d0 92 d1  ................
40f0: 8b d0 b1 d0 be d1 80 20 3d 20 66 75 6e 63 74 69  ....... = functi
4100: 6f 6e 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  on(.............
4110: 82 2c 20 d0 92 d1 8b d0 b1 d1 80 d0 b0 d0 bd d0  ., .............
4120: bd d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0  ................
4130: b0 2c 20 d0 9a d0 be d0 bb d0 be d0 bd d0 ba d0  ., .............
4140: b0 2c 20 d0 a1 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1  ., .............
4150: 80 d1 82 d0 bd d0 b0 d1 8f d0 9e d0 b1 d1 80 d0  ................
4160: b0 d0 b1 d0 be d1 82 d0 ba d0 b0 29 7b 0d 0a 20  ...........){.. 
4170: 20 20 20 d0 a1 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1     .............
4180: 80 d1 82 d0 bd d0 b0 d1 8f d0 9e d0 b1 d1 80 d0  ................
4190: b0 d0 b1 d0 be d1 82 d0 ba d0 b0 20 3d 20 66 61  ........... = fa
41a0: 6c 73 65 3b 0d 0a 20 20 20 20 76 61 72 20 d0 a2  lse;..    var ..
41b0: d0 b5 d0 ba d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0  ................
41c0: 20 20 3d 20 d0 92 d1 8b d0 b1 d1 80 d0 b0 d0 bd    = ............
41d0: d0 bd d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba  ................
41e0: d0 b0 3b 0d 0a 20 20 20 20 76 61 72 20 73 65 6c  ..;..    var sel
41f0: 54 65 78 74 20 3d 20 d0 a2 d0 b5 d0 ba d0 a1 d1  Text = .........
4200: 82 d1 80 d0 be d0 ba d0 b0 2e d0 a1 d0 bb d0 be  ................
4210: d0 b2 d0 be 3b 0d 0a 20 20 20 20 74 68 69 73 2e  ....;..    this.
4220: 61 63 74 69 76 61 74 65 45 64 69 74 6f 72 28 29  activateEditor()
4230: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 65 78 74 53  ;..    this.extS
4240: 65 61 72 63 68 2e 73 65 74 53 69 6d 70 6c 65 51  earch.setSimpleQ
4250: 75 65 72 79 28 73 65 6c 54 65 78 74 29 3b 0d 0a  uery(selText);..
4260: 20 20 20 20 74 68 69 73 2e 65 78 74 53 65 61 72      this.extSear
4270: 63 68 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20  ch.show();..    
4280: 0d 0a 20 20 20 20 69 66 20 28 73 65 6c 54 65 78  ..    if (selTex
4290: 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 7b 0d  t == '')..    {.
42a0: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 65 78  .        this.ex
42b0: 74 53 65 61 72 63 68 2e 63 6c 65 61 72 53 65 61  tSearch.clearSea
42c0: 72 63 68 52 65 73 75 6c 74 73 28 29 3b 0d 0a 20  rchResults();.. 
42d0: 20 20 20 20 20 20 20 74 68 69 73 2e 65 78 74 53         this.extS
42e0: 65 61 72 63 68 2e 73 65 74 44 65 66 61 75 6c 74  earch.setDefault
42f0: 53 65 61 72 63 68 51 75 65 72 79 28 29 3b 0d 0a  SearchQuery();..
4300: 20 20 20 20 7d 0d 0a 20 20 20 20 65 6c 73 65 0d      }..    else.
4310: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 65 78  .        this.ex
4320: 74 53 65 61 72 63 68 2e 73 65 61 72 63 68 41 63  tSearch.searchAc
4330: 74 69 76 65 44 6f 63 28 74 72 75 65 29 3b 20 2f  tiveDoc(true); /
4340: 2f 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d0 bb  / ..............
4350: 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1   ...............
4360: 80 20 d0 ba d0 be d1 82 d0 be d1 80 d1 8b d0 b9  . ..............
4370: 20 d1 81 d0 b8 d0 b3 d0 bd d0 b0 d0 bb d0 b8 d0   ...............
4380: b7 d0 b8 d1 80 d1 83 d0 b5 d1 82 20 d1 87 d1 82  ........... ....
4390: d0 be 20 d0 b8 d0 b4 d0 b5 d1 82 20 d0 bf d0 be  .. ........ ....
43a0: d0 b8 d1 81 d0 ba 20 d1 82 d0 b5 d0 ba d1 83 d1  ...... .........
43b0: 89 d0 b5 d0 b3 d0 be 20 d1 81 d0 bb d0 be d0 b2  ....... ........
43c0: d0 b0 0d 0a 7d 0d 0a 5f 53 70 65 6c 6c 43 68 65  ....}.._SpellChe
43d0: 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e d0  cker.prototype..
43e0: 94 d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 9f d1 80 d0  ................
43f0: be d0 b2 d0 b5 d1 80 d0 ba d0 b8 d0 9f d1 80 d0  ................
4400: b8 d0 92 d1 8b d0 b2 d0 be d0 b4 d0 b5 d0 a1 d1  ................
4410: 82 d1 80 d0 be d0 ba d0 b8 20 3d 20 66 75 6e 63  ......... = func
4420: 74 69 6f 6e 20 28 d0 bf d0 ad d0 bb d0 b5 d0 bc  tion (..........
4430: d0 b5 d0 bd d1 82 2c 20 d0 bf d0 9e d1 84 d0 be  ......, ........
4440: d1 80 d0 bc d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 a1  ................
4450: d1 82 d1 80 d0 be d0 ba d0 b8 2c 20 d0 bf d0 94  .........., ....
4460: d0 b0 d0 bd d0 bd d1 8b d0 b5 d0 a1 d1 82 d1 80  ................
4470: d0 be d0 ba d0 b8 29 20 7b 0d 0a 09 0d 0a 20 20  ......) {.....  
4480: 20 20 69 66 20 28 d0 bf d0 94 d0 b0 d0 bd d0 bd    if (..........
4490: d1 8b d0 b5 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8  ................
44a0: 2e 76 61 6c 2e 69 73 56 61 6c 69 64 3e 30 20 26  .val.isValid>0 &
44b0: 26 20 d0 bf d0 94 d0 b0 d0 bd d0 bd d1 8b d0 b5  & ..............
44c0: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e 76 61 6c  .............val
44d0: 2e d0 a0 d0 be d0 b4 d0 b8 d1 82 d0 b5 d0 bb d1  ................
44e0: 8c 21 3d 75 6e 64 65 66 69 6e 65 64 29 0d 0a 20  .!=undefined).. 
44f0: 20 20 20 20 20 20 20 d0 bf d0 9e d1 84 d0 be d1         .........
4500: 80 d0 bc d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 a1 d1  ................
4510: 82 d1 80 d0 be d0 ba d0 b8 2e 76 61 6c 2e d0 af  ..........val...
4520: d1 87 d0 b5 d0 b9 d0 ba d0 b8 2e d0 a1 d0 bb d0  ................
4530: be d0 b2 d0 be 2e d0 a6 d0 b2 d0 b5 d1 82 d0 a4  ................
4540: d0 be d0 bd d0 b0 20 3d 20 d0 bc d0 a6 d0 b2 d0  ...... = .......
4550: b5 d1 82 3b 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c  ...;..}...._Spel
4560: 6c 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79  lChecker.prototy
4570: 70 65 2e d0 9f d1 80 d0 b8 d0 9e d1 82 d0 ba d1  pe..............
4580: 80 d1 8b d1 82 d0 b8 d0 b8 20 3d 20 66 75 6e 63  ......... = func
4590: 74 69 6f 6e 20 28 29 20 7b 0d 0a 0d 0a 20 20 20  tion () {....   
45a0: 20 66 6f 72 20 28 76 61 72 20 6b 65 79 20 69 6e   for (var key in
45b0: 20 74 68 69 73 2e 77 6f 72 64 73 29 20 7b 0d 0a   this.words) {..
45c0: 20 20 20 20 20 20 20 76 61 72 20 69 73 56 61 6c         var isVal
45d0: 69 64 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20  id = true;..    
45e0: 20 20 20 20 66 6f 72 20 28 76 61 72 20 6b 65 79      for (var key
45f0: 73 20 69 6e 20 74 68 69 73 2e 77 6f 72 64 73 5b  s in this.words[
4600: 6b 65 79 5d 29 20 7b 0d 0a 20 20 20 20 20 20 20  key]) {..       
4610: 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 77       if (!this.w
4620: 6f 72 64 73 5b 6b 65 79 5d 5b 6b 65 79 73 5d 5b  ords[key][keys][
4630: 22 69 73 56 61 6c 69 64 22 5d 29 20 7b 0d 0a 20  "isValid"]) {.. 
4640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
4650: 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0d  sValid = false;.
4660: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d  .             }.
4670: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
4680: 20 20 20 20 69 66 20 28 21 69 73 56 61 6c 69 64      if (!isValid
4690: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
46a0: 2f 2f 4d 65 73 73 61 67 65 28 22 d0 9e d1 88 d0  //Message(".....
46b0: b8 d0 b1 d0 ba d0 b0 20 d0 b2 20 d1 81 d0 bb d0  ....... .. .....
46c0: be d0 b2 d0 b5 20 22 2b 6b 65 79 29 3b 0d 0a 20  ..... "+key);.. 
46d0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 d0             var .
46e0: 9d d0 be d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0  ................
46f0: be d0 ba d0 b0 20 3d 20 74 68 69 73 2e 66 6f 72  ..... = this.for
4700: 6d 2e d0 94 d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 9f  m...............
4710: d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 2e d0  ................
4720: a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 94 d0 be  ................
4730: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 3b 0d  ............();.
4740: 0a 20 20 20 20 20 20 20 20 20 20 20 20 d0 9d d0  .            ...
4750: be d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0  ................
4760: ba d0 b0 2e d0 a1 d0 bb d0 be d0 b2 d0 be 20 3d  .............. =
4770: 20 6b 65 79 3b 0d 0a 20 20 20 20 20 20 20 20 20   key;..         
4780: 20 20 20 d0 9d d0 be d0 b2 d0 b0 d1 8f d0 a1 d1     .............
4790: 82 d1 80 d0 be d0 ba d0 b0 2e 69 73 56 61 6c 69  ..........isVali
47a0: 64 20 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20  d = 1;..        
47b0: 20 20 20 20 66 6f 72 20 28 76 61 72 20 6b 65 79      for (var key
47c0: 73 20 69 6e 20 74 68 69 73 2e 77 6f 72 64 73 5b  s in this.words[
47d0: 6b 65 79 5d 29 20 7b 0d 0a 20 20 20 20 20 20 20  key]) {..       
47e0: 20 20 20 20 20 20 20 20 20 76 61 72 20 d0 9d d0           var ...
47f0: be d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0  ................
4800: ba d0 b0 43 61 6d 65 6c 43 61 73 65 20 3d 20 d0  ...CamelCase = .
4810: 9d d0 be d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0  ................
4820: be d0 ba d0 b0 2e d0 a1 d1 82 d1 80 d0 be d0 ba  ................
4830: d0 b8 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1  ................
4840: 82 d1 8c 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  ...();..        
4850: 20 20 20 20 20 20 20 20 d0 9d d0 be d0 b2 d0 b0          ........
4860: d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 43 61  ..............Ca
4870: 6d 65 6c 43 61 73 65 2e d0 a1 d0 bb d0 be d0 b2  melCase.........
4880: d0 be 20 3d 20 6b 65 79 73 3b 0d 0a 20 20 20 20  .. = keys;..    
4890: 20 20 20 20 20 20 20 20 20 20 20 20 d0 9d d0 be              ....
48a0: d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba  ................
48b0: d0 b0 43 61 6d 65 6c 43 61 73 65 2e 69 73 56 61  ..CamelCase.isVa
48c0: 6c 69 64 20 3d 20 74 68 69 73 2e 77 6f 72 64 73  lid = this.words
48d0: 5b 6b 65 79 5d 5b 6b 65 79 73 5d 5b 22 69 73 56  [key][keys]["isV
48e0: 61 6c 69 64 22 5d 20 3f 20 30 3a 31 3b 0d 0a 20  alid"] ? 0:1;.. 
48f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
4900: 66 20 28 21 74 68 69 73 2e 77 6f 72 64 73 5b 6b  f (!this.words[k
4910: 65 79 5d 5b 6b 65 79 73 5d 5b 22 69 73 56 61 6c  ey][keys]["isVal
4920: 69 64 22 5d 29 20 7b 20 0d 0a 20 20 20 20 20 20  id"]) { ..      
4930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
4940: 72 20 72 65 73 75 6c 74 20 3d 20 7b 7d 0d 0a 20  r result = {}.. 
4950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4960: 20 20 20 72 65 73 75 6c 74 5b 6b 65 79 73 5d 20     result[keys] 
4970: 3d 20 22 22 3b 0d 0a 20 20 20 20 20 20 20 20 20  = "";..         
4980: 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c             resul
4990: 74 20 3d 20 74 68 69 73 2e 67 65 74 41 6c 74 65  t = this.getAlte
49a0: 72 6e 61 74 69 76 65 73 28 72 65 73 75 6c 74 29  rnatives(result)
49b0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
49c0: 20 20 20 20 20 20 20 74 68 69 73 2e 77 6f 72 64         this.word
49d0: 73 5b 6b 65 79 5d 5b 6b 65 79 73 5d 5b 22 61 6c  s[key][keys]["al
49e0: 74 65 72 6e 61 74 69 76 65 73 22 5d 20 3d 20 72  ternatives"] = r
49f0: 65 73 75 6c 74 5b 6b 65 79 73 5d 3b 0d 0a 20 20  esult[keys];..  
4a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4a10: 20 20 66 6f 72 20 28 76 61 72 20 7a 3d 30 3b 20    for (var z=0; 
4a20: 7a 3c 20 74 68 69 73 2e 77 6f 72 64 73 5b 6b 65  z< this.words[ke
4a30: 79 5d 5b 6b 65 79 73 5d 5b 22 61 6c 74 65 72 6e  y][keys]["altern
4a40: 61 74 69 76 65 73 22 5d 2e 6c 65 6e 67 74 68 3b  atives"].length;
4a50: 20 7a 2b 2b 20 29 7b 0d 0a 20 20 20 20 20 20 20   z++ ){..       
4a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4a70: 20 20 20 76 61 72 20 d0 9d d0 be d0 b2 d0 b0 d1     var .........
4a80: 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 90 d0  ................
4a90: bb d1 8c d1 82 d0 b5 d1 80 d0 bd d0 b0 d1 82 d0  ................
4aa0: b8 d0 b2 d0 b0 20 3d 20 d0 9d d0 be d0 b2 d0 b0  ..... = ........
4ab0: d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 43 61  ..............Ca
4ac0: 6d 65 6c 43 61 73 65 2e d0 a1 d1 82 d1 80 d0 be  melCase.........
4ad0: d0 ba d0 b8 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0  ................
4ae0: b8 d1 82 d1 8c 28 29 3b 0d 0a 20 20 20 20 20 20  .....();..      
4af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b00: 20 20 20 20 d0 9d d0 be d0 b2 d0 b0 d1 8f d0 a1      ............
4b10: d1 82 d1 80 d0 be d0 ba d0 b0 d0 90 d0 bb d1 8c  ................
4b20: d1 82 d0 b5 d1 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2  ................
4b30: d0 b0 2e d0 a1 d0 bb d0 be d0 b2 d0 be 20 3d 20  ............. = 
4b40: 74 68 69 73 2e 77 6f 72 64 73 5b 6b 65 79 5d 5b  this.words[key][
4b50: 6b 65 79 73 5d 5b 22 61 6c 74 65 72 6e 61 74 69  keys]["alternati
4b60: 76 65 73 22 5d 5b 7a 5d 3b 0d 0a 20 20 20 20 20  ves"][z];..     
4b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4b80: 20 20 20 20 20 d0 9d d0 be d0 b2 d0 b0 d1 8f d0       ...........
4b90: a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 90 d0 bb d1  ................
4ba0: 8c d1 82 d0 b5 d1 80 d0 bd d0 b0 d1 82 d0 b8 d0  ................
4bb0: b2 d0 b0 2e 69 73 56 61 6c 69 64 20 3d 20 30 3b  ....isValid = 0;
4bc0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4bd0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
4be0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
4bf0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
4c00: 20 20 7d 0d 0a 20 20 20 20 20 20 20 7d 0d 0a 20    }..       }.. 
4c10: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 69 66        ..      if
4c20: 20 28 74 68 69 73 2e 66 6f 72 6d 2e d0 94 d0 b5   (this.form.....
4c30: d1 80 d0 b5 d0 b2 d0 be d0 9f d1 80 d0 be d0 b2  ................
4c40: d0 b5 d1 80 d0 ba d0 b8 2e d0 a1 d1 82 d1 80 d0  ................
4c50: be d0 ba d0 b8 2e 43 6f 75 6e 74 28 29 3d 3d 30  ......Count()==0
4c60: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 4d 65 73  ) {..        Mes
4c70: 73 61 67 65 28 22 d0 9e d1 88 d0 b8 d0 b1 d0 be  sage("..........
4c80: d0 ba 20 d0 bd d0 b5 20 d0 be d0 b1 d0 bd d0 b0  .. .... ........
4c90: d1 80 d1 83 d0 b6 d0 b5 d0 bd d0 bd d0 be 21 22  ..............!"
4ca0: 2c 20 6d 49 6e 66 6f 29 3b 0d 0a 20 20 20 20 20  , mInfo);..     
4cb0: 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6c 6f     this.form.Clo
4cc0: 73 65 28 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a  se();..      }..
4cd0: 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c 43 68 65 63 6b  }...._SpellCheck
4ce0: 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e d0 9f d1  er.prototype....
4cf0: 80 d0 b8 d0 97 d0 b0 d0 ba d1 80 d1 8b d1 82 d0  ................
4d00: b8 d0 b8 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28  ... = function (
4d10: 29 20 7b 0d 0a 20 20 20 20 74 68 69 73 2e 73 65  ) {..    this.se
4d20: 74 74 69 6e 67 73 4d 61 6e 61 67 65 72 2e 52 65  ttingsManager.Re
4d30: 61 64 46 72 6f 6d 46 6f 72 6d 28 74 68 69 73 2e  adFromForm(this.
4d40: 73 65 74 74 69 6e 67 73 29 3b 0d 0a 20 20 20 20  settings);..    
4d50: 74 68 69 73 2e 73 65 74 74 69 6e 67 73 4d 61 6e  this.settingsMan
4d60: 61 67 65 72 2e 53 61 76 65 53 65 74 74 69 6e 67  ager.SaveSetting
4d70: 73 28 29 3b 0d 0a 20 20 20 20 69 66 20 28 74 68  s();..    if (th
4d80: 69 73 2e 70 72 6f 76 69 64 65 72 21 3d 6e 75 6c  is.provider!=nul
4d90: 6c 29 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  l)..        this
4da0: 2e 70 72 6f 76 69 64 65 72 2e 44 69 73 63 6f 6e  .provider.Discon
4db0: 6e 65 63 74 28 29 3b 0d 0a 7d 0d 0a 0d 0a 0d 0a  nect();..}......
4dc0: 5f 53 70 65 6c 6c 43 68 65 63 6b 65 72 2e 70 72  _SpellChecker.pr
4dd0: 6f 74 6f 74 79 70 65 2e d0 9f d0 b0 d1 80 d0 b0  ototype.........
4de0: d0 bc d0 b5 d1 82 d1 80 d1 8b d0 9a d0 be d0 bc  ................
4df0: d0 b0 d0 bd d0 b4 d0 bd d0 b0 d1 8f d0 9f d0 b0  ................
4e00: d0 bd d0 b5 d0 bb d1 8c d0 a1 d0 bb d0 be d0 b2  ................
4e10: d0 b0 d1 80 d1 8c d0 94 d0 b5 d0 b9 d1 81 d1 82  ................
4e20: d0 b2 d0 b8 d0 b5 d0 a3 d0 b4 d0 b0 d0 bb d0 b8  ................
4e30: d1 82 d1 8c d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8  ................
4e40: d1 82 d1 8c d0 a1 d0 bb d0 be d0 b2 d0 be 20 3d  .............. =
4e50: 20 66 75 6e 63 74 69 6f 6e 20 28 d0 9a d0 bd d0   function (.....
4e60: be d0 bf d0 ba d0 b0 29 20 7b 0d 0a 09 2f 2f 20  .......) {...// 
4e70: d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c  ................
4e80: 20 d1 81 d0 be d0 b4 d0 b5 d1 80 d0 b6 d0 b8 d0   ...............
4e90: bc d0 be d0 b5 20 d0 be d0 b1 d1 80 d0 b0 d0 b1  ..... ..........
4ea0: d0 be d1 82 d1 87 d0 b8 d0 ba d0 b0 2e 0d 0a 7d  ...............}
4eb0: 0d 0a 0d 0a 5f 53 70 65 6c 6c 43 68 65 63 6b 65  ...._SpellChecke
4ec0: 72 2e 70 72 6f 74 6f 74 79 70 65 2e d0 9f d0 b0  r.prototype.....
4ed0: d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d1 8b d0 9a  ................
4ee0: d0 be d0 bc d0 b0 d0 bd d0 b4 d0 bd d0 b0 d1 8f  ................
4ef0: d0 9f d0 b0 d0 bd d0 b5 d0 bb d1 8c d0 a1 d0 bb  ................
4f00: d0 be d0 b2 d0 b0 d1 80 d1 8c d0 94 d0 b5 d0 b9  ................
4f10: d1 81 d1 82 d0 b2 d0 b8 d0 b5 d0 98 d0 b7 d0 bc  ................
4f20: d0 b5 d0 bd d0 b8 d1 82 d1 8c 20 3d 20 66 75 6e  .......... = fun
4f30: 63 74 69 6f 6e 20 28 d0 9a d0 bd d0 be d0 bf d0  ction (.........
4f40: ba d0 b0 29 20 7b 0d 0a 09 2f 2f 20 d0 92 d1 81  ...) {...// ....
4f50: d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20 d1 81 d0  ............ ...
4f60: be d0 b4 d0 b5 d1 80 d0 b6 d0 b8 d0 bc d0 be d0  ................
4f70: b5 20 d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82  . ..............
4f80: d1 87 d0 b8 d0 ba d0 b0 2e 0d 0a 7d 0d 0a 0d 0a  ...........}....
4f90: 5f 53 70 65 6c 6c 43 68 65 63 6b 65 72 2e 70 72  _SpellChecker.pr
4fa0: 6f 74 6f 74 79 70 65 2e d0 9f d0 b0 d1 80 d0 b0  ototype.........
4fb0: d0 bc d0 b5 d1 82 d1 80 d1 8b d0 9a d0 be d0 bc  ................
4fc0: d0 b0 d0 bd d0 b4 d0 bd d0 b0 d1 8f d0 9f d0 b0  ................
4fd0: d0 bd d0 b5 d0 bb d1 8c d0 a1 d0 bb d0 be d0 b2  ................
4fe0: d0 b0 d1 80 d1 8c d0 94 d0 b5 d0 b9 d1 81 d1 82  ................
4ff0: d0 b2 d0 b8 d0 b5 d0 a3 d0 b4 d0 b0 d0 bb d0 b8  ................
5000: d1 82 d1 8c 20 3d 20 66 75 6e 63 74 69 6f 6e 20  .... = function 
5010: 28 d0 9a d0 bd d0 be d0 bf d0 ba d0 b0 29 20 7b  (............) {
5020: 0d 0a 09 2f 2f 20 d0 92 d1 81 d1 82 d0 b0 d0 b2  ...// ..........
5030: d0 b8 d1 82 d1 8c 20 d1 81 d0 be d0 b4 d0 b5 d1  ...... .........
5040: 80 d0 b6 d0 b8 d0 bc d0 be d0 b5 20 d0 be d0 b1  ........... ....
5050: d1 80 d0 b0 d0 b1 d0 be d1 82 d1 87 d0 b8 d0 ba  ................
5060: d0 b0 2e 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c  .....}...._Spell
5070: 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70  Checker.prototyp
5080: 65 2e d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82  e...............
5090: d1 80 d1 8b d0 a1 d0 bf d0 9f d1 80 d0 be d0 b2  ................
50a0: d0 b0 d0 b9 d0 b4 d0 b5 d1 80 d0 9f d1 80 d0 be  ................
50b0: d0 b2 d0 b5 d1 80 d0 ba d0 b8 d0 9f d1 80 d0 b8  ................
50c0: d0 98 d0 b7 d0 bc d0 b5 d0 bd d0 b5 d0 bd d0 b8  ................
50d0: d0 b8 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 d0  .. = function (.
50e0: ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b  .............) {
50f0: 0d 0a 09 2f 2f 20 d0 92 d1 81 d1 82 d0 b0 d0 b2  ...// ..........
5100: d0 b8 d1 82 d1 8c 20 d1 81 d0 be d0 b4 d0 b5 d1  ...... .........
5110: 80 d0 b6 d0 b8 d0 bc d0 be d0 b5 20 d0 be d0 b1  ........... ....
5120: d1 80 d0 b0 d0 b1 d0 be d1 82 d1 87 d0 b8 d0 ba  ................
5130: d0 b0 2e 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c  .....}...._Spell
5140: 43 68 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70  Checker.prototyp
5150: 65 2e d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82  e...............
5160: d1 80 d1 8b d0 9f d1 80 d0 b8 d0 9e d1 82 d0 ba  ................
5170: d1 80 d1 8b d1 82 d0 b8 d0 b8 20 3d 20 66 75 6e  .......... = fun
5180: 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 09 2f 2f 20  ction () {...// 
5190: d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c  ................
51a0: 20 d1 81 d0 be d0 b4 d0 b5 d1 80 d0 b6 d0 b8 d0   ...............
51b0: bc d0 be d0 b5 20 d0 be d0 b1 d1 80 d0 b0 d0 b1  ..... ..........
51c0: d0 be d1 82 d1 87 d0 b8 d0 ba d0 b0 2e 0d 0a 20  ............... 
51d0: 20 20 20 76 61 72 20 d0 a1 d0 bf d0 b8 d1 81 d0     var .........
51e0: be d0 ba d0 92 d1 8b d0 b1 d0 be d1 80 d0 b0 20  ............... 
51f0: 3d 20 76 38 4e 65 77 28 22 56 61 6c 75 65 4c 69  = v8New("ValueLi
5200: 73 74 22 29 3b 0d 0a 20 20 20 20 d0 a1 d0 bf d0  st");..    .....
5210: b8 d1 81 d0 be d0 ba d0 92 d1 8b d0 b1 d0 be d1  ................
5220: 80 d0 b0 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8  ................
5230: d1 82 d1 8c 28 22 6c 69 62 72 65 6f 66 66 69 63  ....("libreoffic
5240: 65 22 29 3b 0d 0a 20 20 20 20 d0 a1 d0 bf d0 b8  e");..    ......
5250: d1 81 d0 be d0 ba d0 92 d1 8b d0 b1 d0 be d1 80  ................
5260: d0 b0 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1  ................
5270: 82 d1 8c 28 22 77 6f 72 64 22 29 3b 0d 0a 20 20  ...("word");..  
5280: 20 20 74 68 69 73 2e 66 6f 72 6d 50 61 72 61 6d    this.formParam
5290: 73 2e 43 6f 6e 74 72 6f 6c 73 2e d0 a1 d0 bf d0  s.Controls......
52a0: 9f d1 80 d0 be d0 b2 d0 b0 d0 b9 d0 b4 d0 b5 d1  ................
52b0: 80 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0  ................
52c0: b8 2e d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba d0 92  ................
52d0: d1 8b d0 b1 d0 be d1 80 d0 b0 20 3d 20 d0 a1 d0  .......... = ...
52e0: bf d0 b8 d1 81 d0 be d0 ba d0 92 d1 8b d0 b1 d0  ................
52f0: be d1 80 d0 b0 3b 0d 0a 20 20 20 20 2f 2f 64 65  .....;..    //de
5300: 62 75 67 67 65 72 3b 0d 0a 20 20 20 20 69 66 20  bugger;..    if 
5310: 28 74 68 69 73 2e 66 6f 72 6d 50 61 72 61 6d 73  (this.formParams
5320: 2e 43 6f 6e 74 72 6f 6c 73 2e d0 a1 d0 bf d0 9f  .Controls.......
5330: d1 80 d0 be d0 b2 d0 b0 d0 b9 d0 b4 d0 b5 d1 80  ................
5340: d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8  ................
5350: 2e d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba d0 92 d1  ................
5360: 8b d0 b1 d0 be d1 80 d0 b0 2e 66 69 6e 64 42 79  ..........findBy
5370: 56 61 6c 75 65 28 74 68 69 73 2e 73 65 74 74 69  Value(this.setti
5380: 6e 67 73 2e 70 72 6f 76 69 64 65 72 29 21 3d 75  ngs.provider)!=u
5390: 6e 64 65 66 69 6e 65 64 29 0d 0a 20 20 20 20 20  ndefined)..     
53a0: 20 20 20 74 68 69 73 2e 66 6f 72 6d 50 61 72 61     this.formPara
53b0: 6d 73 2e 43 6f 6e 74 72 6f 6c 73 2e d0 a1 d0 bf  ms.Controls.....
53c0: d0 9f d1 80 d0 be d0 b2 d0 b0 d0 b9 d0 b4 d0 b5  ................
53d0: d1 80 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba  ................
53e0: d0 b8 2e d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0  ................
53f0: b8 d0 b5 20 3d 20 74 68 69 73 2e 73 65 74 74 69  ... = this.setti
5400: 6e 67 73 2e 70 72 6f 76 69 64 65 72 3b 0d 0a 20  ngs.provider;.. 
5410: 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f     ..    this.fo
5420: 72 6d 50 61 72 61 6d 73 2e d0 9f d0 be d0 bb d1  rmParams........
5430: 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1  ................
5440: 8c d1 81 d0 ba d0 b8 d0 b9 d0 a1 d0 bb d0 be d0  ................
5450: b2 d0 b0 d1 80 d1 8c 20 3d 20 74 68 69 73 2e 73  ....... = this.s
5460: 65 74 74 69 6e 67 73 2e 64 69 63 74 3b 0d 0a 20  ettings.dict;.. 
5470: 20 20 20 0d 0a 20 20 20 20 66 6f 72 20 28 76 61     ..    for (va
5480: 72 20 69 3d 30 20 3b 20 69 3c 74 68 69 73 2e 73  r i=0 ; i<this.s
5490: 65 74 74 69 6e 67 73 2e 70 72 65 66 69 78 2e 43  ettings.prefix.C
54a0: 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 20 7b 0d 0a  ount(); i++) {..
54b0: 20 20 20 20 20 20 20 20 76 61 72 20 d0 9d d0 be          var ....
54c0: d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba  ................
54d0: d0 b0 20 3d 20 74 68 69 73 2e 66 6f 72 6d 50 61  .. = this.formPa
54e0: 72 61 6d 73 2e d0 a2 d0 b0 d0 b1 d0 bb d0 b8 d1  rams............
54f0: 86 d0 b0 d0 9f d1 80 d0 b5 d1 84 d0 b8 d0 ba d1  ................
5500: 81 d0 be d0 b2 2e 41 64 64 28 29 3b 0d 0a 20 20  ......Add();..  
5510: 20 20 20 20 20 20 76 61 72 20 6b 65 79 20 3d 20        var key = 
5520: 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e 70 72  this.settings.pr
5530: 65 66 69 78 2e 47 65 74 28 69 29 2e 76 61 6c 75  efix.Get(i).valu
5540: 65 3b 0d 0a 20 20 20 20 20 20 20 20 d0 9d d0 be  e;..        ....
5550: d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba  ................
5560: d0 b0 2e d0 9f d1 80 d0 b5 d1 84 d0 b8 d0 ba d1  ................
5570: 81 20 3d 20 6b 65 79 0d 0a 20 20 20 20 7d 0d 0a  . = key..    }..
5580: 20 20 20 20 0d 0a 20 20 20 20 66 6f 72 20 28 76      ..    for (v
5590: 61 72 20 69 3d 30 20 3b 20 69 3c 74 68 69 73 2e  ar i=0 ; i<this.
55a0: 73 65 74 74 69 6e 67 73 2e 73 75 66 66 69 78 2e  settings.suffix.
55b0: 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 20 7b 0d  Count(); i++) {.
55c0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 d0 9d d0  .        var ...
55d0: be d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0  ................
55e0: ba d0 b0 20 3d 20 74 68 69 73 2e 66 6f 72 6d 50  ... = this.formP
55f0: 61 72 61 6d 73 2e d0 a2 d0 b0 d0 b1 d0 bb d0 b8  arams...........
5600: d1 86 d0 b0 d0 a1 d1 83 d1 84 d1 84 d0 b8 d0 ba  ................
5610: d1 81 d0 be d0 b2 2e 41 64 64 28 29 3b 0d 0a 20  .......Add();.. 
5620: 20 20 20 20 20 20 20 76 61 72 20 6b 65 79 20 3d         var key =
5630: 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e 73   this.settings.s
5640: 75 66 66 69 78 2e 47 65 74 28 69 29 2e 76 61 6c  uffix.Get(i).val
5650: 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 d0 9d d0  ue;..        ...
5660: be d0 b2 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0  ................
5670: ba d0 b0 2e d0 a1 d1 83 d1 84 d1 84 d0 b8 d0 ba  ................
5680: d1 81 20 3d 20 6b 65 79 0d 0a 20 20 20 20 7d 0d  .. = key..    }.
5690: 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c 43 68 65 63  .}...._SpellChec
56a0: 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e d0 9f  ker.prototype...
56b0: d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d1 8b  ................
56c0: d0 9a d0 bd d0 9e d0 ba d0 9d d0 b0 d0 b6 d0 b0  ................
56d0: d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e 63 74 69 6f  ...... = functio
56e0: 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  n (.............
56f0: 82 29 20 7b 0d 0a 09 2f 2f 20 d0 92 d1 81 d1 82  .) {...// ......
5700: d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20 d1 81 d0 be d0  .......... .....
5710: b4 d0 b5 d1 80 d0 b6 d0 b8 d0 bc d0 be d0 b5 20  ............... 
5720: d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d1 87  ................
5730: d0 b8 d0 ba d0 b0 2e 0d 0a 20 20 20 20 74 68 69  .........    thi
5740: 73 2e 73 65 74 74 69 6e 67 73 2e 64 69 63 74 20  s.settings.dict 
5750: 3d 20 74 68 69 73 2e 66 6f 72 6d 50 61 72 61 6d  = this.formParam
5760: 73 2e d0 9f d0 be d0 bb d1 8c d0 b7 d0 be d0 b2  s...............
5770: d0 b0 d1 82 d0 b5 d0 bb d1 8c d1 81 d0 ba d0 b8  ................
5780: d0 b9 d0 a1 d0 bb d0 be d0 b2 d0 b0 d1 80 d1 8c  ................
5790: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 73 65 74 74  ;..    this.sett
57a0: 69 6e 67 73 2e 70 72 6f 76 69 64 65 72 20 3d 20  ings.provider = 
57b0: 74 68 69 73 2e 66 6f 72 6d 50 61 72 61 6d 73 2e  this.formParams.
57c0: 43 6f 6e 74 72 6f 6c 73 2e d0 a1 d0 bf d0 9f d1  Controls........
57d0: 80 d0 be d0 b2 d0 b0 d0 b9 d0 b4 d0 b5 d1 80 d0  ................
57e0: 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 2e  ................
57f0: d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5  ................
5800: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 73 65 74 74  ;..    this.sett
5810: 69 6e 67 73 2e 70 72 65 66 69 78 20 3d 20 74 68  ings.prefix = th
5820: 69 73 2e 66 6f 72 6d 50 61 72 61 6d 73 2e d0 a2  is.formParams...
5830: d0 b0 d0 b1 d0 bb d0 b8 d1 86 d0 b0 d0 9f d1 80  ................
5840: d0 b5 d1 84 d0 b8 d0 ba d1 81 d0 be d0 b2 3b 0d  ..............;.
5850: 0a 20 20 20 20 2f 2f 64 65 62 75 67 67 65 72 3b  .    //debugger;
5860: 0d 0a 20 20 20 20 70 72 65 66 69 78 20 3d 20 76  ..    prefix = v
5870: 38 4e 65 77 28 27 56 61 6c 75 65 4c 69 73 74 27  8New('ValueList'
5880: 29 3b 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20  );..    for(var 
5890: 69 3d 30 3b 20 69 3c 74 68 69 73 2e 66 6f 72 6d  i=0; i<this.form
58a0: 50 61 72 61 6d 73 2e d0 a2 d0 b0 d0 b1 d0 bb d0  Params..........
58b0: b8 d1 86 d0 b0 d0 9f d1 80 d0 b5 d1 84 d0 b8 d0  ................
58c0: ba d1 81 d0 be d0 b2 2e 43 6f 75 6e 74 28 29 3b  ........Count();
58d0: 20 69 2b 2b 29 20 7b 0d 0a 20 20 20 20 20 20 20   i++) {..       
58e0: 20 76 61 72 20 d0 a2 d0 b5 d0 ba d1 83 d1 89 d0   var ...........
58f0: b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 20  ............... 
5900: 3d 20 74 68 69 73 2e 66 6f 72 6d 50 61 72 61 6d  = this.formParam
5910: 73 2e d0 a2 d0 b0 d0 b1 d0 bb d0 b8 d1 86 d0 b0  s...............
5920: d0 9f d1 80 d0 b5 d1 84 d0 b8 d0 ba d1 81 d0 be  ................
5930: d0 b2 2e 47 65 74 28 69 29 3b 0d 0a 20 20 20 20  ...Get(i);..    
5940: 20 20 20 20 70 72 65 66 69 78 2e 61 64 64 28 d0      prefix.add(.
5950: a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1  ................
5960: 82 d1 80 d0 be d0 ba d0 b0 2e d0 9f d1 80 d0 b5  ................
5970: d1 84 d0 b8 d0 ba d1 81 29 3b 0d 0a 20 20 20 20  ........);..    
5980: 7d 0d 0a 0d 0a 20 20 20 20 73 75 66 66 69 78 20  }....    suffix 
5990: 3d 20 76 38 4e 65 77 28 27 56 61 6c 75 65 4c 69  = v8New('ValueLi
59a0: 73 74 27 29 3b 0d 0a 20 20 20 20 66 6f 72 28 76  st');..    for(v
59b0: 61 72 20 69 3d 30 3b 20 69 3c 74 68 69 73 2e 66  ar i=0; i<this.f
59c0: 6f 72 6d 50 61 72 61 6d 73 2e d0 a2 d0 b0 d0 b1  ormParams.......
59d0: d0 bb d0 b8 d1 86 d0 b0 d0 a1 d1 83 d1 84 d1 84  ................
59e0: d0 b8 d0 ba d1 81 d0 be d0 b2 2e 43 6f 75 6e 74  ...........Count
59f0: 28 29 3b 20 69 2b 2b 29 20 7b 0d 0a 20 20 20 20  (); i++) {..    
5a00: 20 20 20 20 76 61 72 20 d0 a2 d0 b5 d0 ba d1 83      var ........
5a10: d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba  ................
5a20: d0 b0 20 3d 20 74 68 69 73 2e 66 6f 72 6d 50 61  .. = this.formPa
5a30: 72 61 6d 73 2e d0 a2 d0 b0 d0 b1 d0 bb d0 b8 d1  rams............
5a40: 86 d0 b0 d0 a1 d1 83 d1 84 d1 84 d0 b8 d0 ba d1  ................
5a50: 81 d0 be d0 b2 2e 47 65 74 28 69 29 3b 0d 0a 20  ......Get(i);.. 
5a60: 20 20 20 20 20 20 20 73 75 66 66 69 78 2e 61 64         suffix.ad
5a70: 64 28 d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f  d(..............
5a80: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 2e d0 a1 d1  ................
5a90: 83 d1 84 d1 84 d0 b8 d0 ba d1 81 29 3b 0d 0a 20  ...........);.. 
5aa0: 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20     }..    ..    
5ab0: 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e 70 72  this.settings.pr
5ac0: 65 66 69 78 20 3d 20 70 72 65 66 69 78 3b 0d 0a  efix = prefix;..
5ad0: 20 20 20 20 74 68 69 73 2e 73 65 74 74 69 6e 67      this.setting
5ae0: 73 2e 73 75 66 66 69 78 20 3d 20 73 75 66 66 69  s.suffix = suffi
5af0: 78 3b 0d 0a 20 20 20 20 74 68 69 73 2e 73 65 74  x;..    this.set
5b00: 74 69 6e 67 73 4d 61 6e 61 67 65 72 2e 52 65 61  tingsManager.Rea
5b10: 64 46 72 6f 6d 46 6f 72 6d 28 74 68 69 73 2e 73  dFromForm(this.s
5b20: 65 74 74 69 6e 67 73 29 3b 0d 0a 20 20 20 20 74  ettings);..    t
5b30: 68 69 73 2e 73 65 74 74 69 6e 67 73 4d 61 6e 61  his.settingsMana
5b40: 67 65 72 2e 53 61 76 65 53 65 74 74 69 6e 67 73  ger.SaveSettings
5b50: 28 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f  ();..    this.fo
5b60: 72 6d 50 61 72 61 6d 73 2e 43 6c 6f 73 65 28 29  rmParams.Close()
5b70: 3b 0d 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c 43 68  ;..}...._SpellCh
5b80: 65 63 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e  ecker.prototype.
5b90: d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80  ................
5ba0: d1 8b d0 9a d0 bd d0 9e d1 82 d0 bc d0 b5 d0 bd  ................
5bb0: d0 b0 d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b5  ................
5bc0: 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 d0 ad d0   = function (...
5bd0: bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a  ...........) {..
5be0: 09 2f 2f 20 d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8  .// ............
5bf0: d1 82 d1 8c 20 d1 81 d0 be d0 b4 d0 b5 d1 80 d0  .... ...........
5c00: b6 d0 b8 d0 bc d0 be d0 b5 20 d0 be d0 b1 d1 80  ......... ......
5c10: d0 b0 d0 b1 d0 be d1 82 d1 87 d0 b8 d0 ba d0 b0  ................
5c20: 2e 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d  ...    this.form
5c30: 50 61 72 61 6d 73 2e 43 6c 6f 73 65 28 29 3b 0d  Params.Close();.
5c40: 0a 7d 0d 0a 0d 0a 5f 53 70 65 6c 6c 43 68 65 63  .}...._SpellChec
5c50: 6b 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 61 63  ker.prototype.ac
5c60: 74 69 76 61 74 65 45 64 69 74 6f 72 20 3d 20 66  tivateEditor = f
5c70: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20  unction () {..  
5c80: 20 20 76 61 72 20 76 69 65 77 20 3d 20 74 68 69    var view = thi
5c90: 73 2e 77 6e 64 2e 47 65 74 56 69 65 77 28 29 3b  s.wnd.GetView();
5ca0: 0d 0a 20 20 20 20 69 66 20 28 76 69 65 77 29 0d  ..    if (view).
5cb0: 0a 20 20 20 20 20 20 20 20 76 69 65 77 2e 61 63  .        view.ac
5cc0: 74 69 76 61 74 65 28 29 3b 0d 0a 20 20 20 20 0d  tivate();..    .
5cd0: 0a 7d 0d 0a 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f  .}......////////
5ce0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
5cf0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
5d00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
5d10: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
5d20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
5d30: 0d 0a 2f 2f 2f 2f 7b 20 5f 31 43 57 6f 72 64 57  ..////{ _1CWordW
5d40: 72 61 70 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  rap....function 
5d50: 5f 31 43 57 6f 72 64 57 72 61 70 28 57 6f 72 64  _1CWordWrap(Word
5d60: 29 20 7b 0d 0a 20 20 20 20 74 68 69 73 2e 77 6f  ) {..    this.wo
5d70: 72 64 20 3d 20 57 6f 72 64 3b 0d 0a 7d 0d 0a 0d  rd = Word;..}...
5d80: 0a 2f 2a 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0  ./* ............
5d90: d1 89 d0 b0 d0 b5 d1 82 20 d0 b8 d1 81 d1 85 d0  ........ .......
5da0: be d0 b4 d0 bd d1 8b d0 b9 20 d0 ba d0 be d0 b4  ......... ......
5db0: 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 20 d0 bf   ............ ..
5dc0: d0 be 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0  .. .............
5dd0: b8 d1 8e 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0  ... ............
5de0: 2e 20 2a 2f 0d 0a 5f 31 43 57 6f 72 64 57 72 61  . */.._1CWordWra
5df0: 70 2e 70 72 6f 74 6f 74 79 70 65 2e 53 70 6c 69  p.prototype.Spli
5e00: 74 20 3d 20 66 75 6e 63 74 69 6f 6e 28 70 72 65  t = function(pre
5e10: 66 69 78 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20  fix) {..    ..  
5e20: 20 20 76 61 72 20 6c 69 73 74 20 3d 20 7b 7d 0d    var list = {}.
5e30: 0a 20 20 20 20 76 61 72 20 73 74 72 20 3d 20 74  .    var str = t
5e40: 68 69 73 2e 77 6f 72 64 3b 0d 0a 20 20 20 20 69  his.word;..    i
5e50: 66 20 28 70 72 65 66 69 78 3d 3d 75 6e 64 65 66  f (prefix==undef
5e60: 69 6e 65 64 29 20 0d 0a 20 20 20 20 20 20 20 20  ined) ..        
5e70: 70 72 65 66 69 78 20 3d 20 7b 7d 3b 0d 0a 20 20  prefix = {};..  
5e80: 20 20 20 0d 0a 20 20 20 20 20 66 6f 72 20 28 6b     ..     for (k
5e90: 65 79 20 69 6e 20 70 72 65 66 69 78 29 7b 0d 0a  ey in prefix){..
5ea0: 20 20 20 20 20 20 20 20 2f 2f 54 4f 44 4f 3a 20          //TODO: 
5eb0: d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 8c 20 d1  .............. .
5ec0: 80 d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 d0 ba d1  ................
5ed0: 83 20 d0 bf d0 be 20 d0 b2 d1 8b d1 80 d0 b5 d0  . .... .........
5ee0: b7 d0 b0 d0 bd d0 b8 d1 8e 20 d0 b8 d0 b7 20 d1  ......... .... .
5ef0: 81 d0 bb d0 be d0 b2 d0 b0 20 d0 bf d1 80 d0 b5  ......... ......
5f00: d1 84 d0 b8 d0 ba d1 81 d0 b0 20 28 d0 b2 20 d0  .......... (.. .
5f10: bf d1 80 d0 b5 d1 84 d0 b8 d0 ba d1 81 d0 b0 d1  ................
5f20: 85 20 d1 83 20 d0 bd d0 b0 d1 81 20 d0 b1 d1 83  . .. ...... ....
5f30: d0 b4 d1 83 d1 82 20 d1 82 d0 b8 d0 bf 20 d0 91  ...... ...... ..
5f40: d0 a1 d0 9f 2c 20 d0 b8 d1 80 2c 20 d0 bb d0 ba  ...., ...., ....
5f50: d1 81 20 2d 20 d0 bf d0 b5 d1 80 d0 b2 d1 8b d0  .. - ...........
5f60: b9 20 d0 b2 d1 81 d1 82 d1 80 d0 b5 d1 87 d0 bd  . ..............
5f70: d1 8b d0 b9 20 d0 b2 d0 b5 d1 80 d0 b5 d0 b7 d0  .... ...........
5f80: b0 d0 b5 d0 bc 20 d0 b8 20 d0 bf d1 80 d0 be d0  ..... .. .......
5f90: b4 d0 b0 d0 bb d0 b6 d0 b0 d0 b5 d0 bc 2e 0d 0a  ................
5fa0: 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 2e          if (str.
5fb0: 69 6e 64 65 78 4f 66 28 6b 65 79 29 21 3d 2d 31  indexOf(key)!=-1
5fc0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
5fd0: 6c 69 73 74 5b 6b 65 79 5d 20 3d 20 66 61 6c 73  list[key] = fals
5fe0: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  e..            s
5ff0: 74 72 20 3d 20 73 74 72 2e 73 75 62 73 74 72 28  tr = str.substr(
6000: 6b 65 79 2e 6c 65 6e 67 74 68 2d 31 29 3b 0d 0a  key.length-1);..
6010: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61              brea
6020: 6b 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  k;..        }.. 
6030: 20 20 20 20 7d 0d 0a 20 20 20 20 20 6c 69 73 74      }..     list
6040: 5b 73 74 72 5d 3d 74 72 75 65 0d 0a 20 20 20 20  [str]=true..    
6050: 20 20 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e    ..      return
6060: 20 6c 69 73 74 0d 0a 20 20 20 20 0d 0a 7d 0d 0a   list..    ..}..
6070: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 5f 53 70  ....function _Sp
6080: 65 6c 6c 4c 69 62 72 65 4f 66 66 69 63 65 28 29  ellLibreOffice()
6090: 20 7b 0d 0a 20 20 20 20 74 68 69 73 2e 53 65 72   {..    this.Ser
60a0: 76 69 63 65 4d 61 6e 61 67 65 72 20 3d 20 6e 75  viceManager = nu
60b0: 6c 6c 3b 0d 0a 20 20 20 20 74 68 69 73 2e d0 9f  ll;..    this...
60c0: d1 83 d1 81 d1 82 d0 be d0 b9 d0 9c d0 b0 d1 81  ................
60d0: d1 81 d0 b8 d0 b2 20 3d 20 6e 65 77 20 41 72 72  ...... = new Arr
60e0: 61 79 28 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e  ay();..    this.
60f0: 43 6f 6e 6e 65 63 74 28 29 0d 0a 7d 0d 0a 0d 0a  Connect()..}....
6100: 5f 53 70 65 6c 6c 4c 69 62 72 65 4f 66 66 69 63  _SpellLibreOffic
6110: 65 2e 70 72 6f 74 6f 74 79 70 65 2e 43 6f 6e 6e  e.prototype.Conn
6120: 65 63 74 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29  ect = function()
6130: 7b 0d 0a 20 20 20 20 74 72 79 7b 0d 0a 20 20 20  {..    try{..   
6140: 20 20 20 20 74 68 69 73 2e 53 65 72 76 69 63 65      this.Service
6150: 4d 61 6e 61 67 65 72 20 3d 20 6e 65 77 20 41 63  Manager = new Ac
6160: 74 69 76 65 58 4f 62 6a 65 63 74 28 27 63 6f 6d  tiveXObject('com
6170: 2e 73 75 6e 2e 73 74 61 72 2e 53 65 72 76 69 63  .sun.star.Servic
6180: 65 4d 61 6e 61 67 65 72 27 29 3b 0d 0a 20 20 20  eManager');..   
6190: 20 20 20 20 74 68 69 73 2e d0 9f d0 b0 d1 80 d0      this........
61a0: b0 d0 bc 3d 74 68 69 73 2e 53 65 72 76 69 63 65  ...=this.Service
61b0: 4d 61 6e 61 67 65 72 2e 42 72 69 64 67 65 5f 47  Manager.Bridge_G
61c0: 65 74 53 74 72 75 63 74 28 27 63 6f 6d 2e 73 75  etStruct('com.su
61d0: 6e 2e 73 74 61 72 2e 62 65 61 6e 73 2e 50 72 6f  n.star.beans.Pro
61e0: 70 65 72 74 79 56 61 6c 75 65 27 29 3b 0d 0a 20  pertyValue');.. 
61f0: 20 20 20 20 20 20 74 68 69 73 2e d0 9f d1 80 d0        this......
6200: be d0 b2 d0 b5 d1 80 d0 ba d0 b0 d0 9e d1 80 d1  ................
6210: 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8 d0 b8 3d  ...............=
6220: 74 68 69 73 2e 53 65 72 76 69 63 65 4d 61 6e 61  this.ServiceMana
6230: 67 65 72 2e 63 72 65 61 74 65 49 6e 73 74 61 6e  ger.createInstan
6240: 63 65 28 22 63 6f 6d 2e 73 75 6e 2e 73 74 61 72  ce("com.sun.star
6250: 2e 6c 69 6e 67 75 69 73 74 69 63 32 2e 53 70 65  .linguistic2.Spe
6260: 6c 6c 43 68 65 63 6b 65 72 22 29 3b 0d 0a 20 20  llChecker");..  
6270: 20 20 20 20 20 74 68 69 73 2e d0 9b d0 be d0 ba       this.......
6280: d0 b0 d0 bb 3d 74 68 69 73 2e 53 65 72 76 69 63  ....=this.Servic
6290: 65 4d 61 6e 61 67 65 72 2e 42 72 69 64 67 65 5f  eManager.Bridge_
62a0: 47 65 74 53 74 72 75 63 74 28 27 63 6f 6d 2e 73  GetStruct('com.s
62b0: 75 6e 2e 73 74 61 72 2e 6c 61 6e 67 2e 4c 6f 63  un.star.lang.Loc
62c0: 61 6c 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 74  ale');..       t
62d0: 68 69 73 2e d0 9b d0 be d0 ba d0 b0 d0 bb 2e 4c  his............L
62e0: 61 6e 67 75 61 67 65 20 3d 20 22 72 75 22 3b 0d  anguage = "ru";.
62f0: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e d0 9b  .        this...
6300: d0 be d0 ba d0 b0 d0 bb 2e 43 6f 75 6e 74 72 79  .........Country
6310: 20 3d 20 22 52 55 22 3b 0d 0a 20 20 20 20 7d 63   = "RU";..    }c
6320: 61 74 63 68 20 28 65 29 20 7b 0d 0a 20 20 20 20  atch (e) {..    
6330: 20 20 20 20 4d 65 73 73 61 67 65 28 22 d0 9d d0      Message("...
6340: b5 20 d1 83 d0 b4 d0 b0 d0 bb d0 be d1 81 d1 8c  . ..............
6350: 20 d1 81 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1 8c 20   .............. 
6360: d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 22 29 3b 0d  ............");.
6370: 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 5f 53 70  .    }..}...._Sp
6380: 65 6c 6c 4c 69 62 72 65 4f 66 66 69 63 65 2e 70  ellLibreOffice.p
6390: 72 6f 74 6f 74 79 70 65 2e 43 68 65 63 6b 57 6f  rototype.CheckWo
63a0: 72 64 20 3d 20 66 75 6e 63 74 69 6f 6e 28 77 6f  rd = function(wo
63b0: 72 64 29 20 7b 0d 0a 0d 0a 20 20 20 20 74 68 69  rd) {....    thi
63c0: 73 2e d0 9f d1 83 d1 81 d1 82 d0 be d0 b9 d0 9c  s...............
63d0: d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 3d 20 6e 65 77  .......... = new
63e0: 20 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 20 72   Array();..    r
63f0: 65 74 75 72 6e 20 74 68 69 73 2e d0 9f d1 80 d0  eturn this......
6400: be d0 b2 d0 b5 d1 80 d0 ba d0 b0 d0 9e d1 80 d1  ................
6410: 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8 d0 b8 2e  ................
6420: 69 73 56 61 6c 69 64 28 77 6f 72 64 2c 74 68 69  isValid(word,thi
6430: 73 2e d0 9b d0 be d0 ba d0 b0 d0 bb 2c 74 68 69  s...........,thi
6440: 73 2e d0 9f d1 83 d1 81 d1 82 d0 be d0 b9 d0 9c  s...............
6450: d0 b0 d1 81 d1 81 d0 b8 d0 b2 29 3b 0d 0a 7d 0d  ..........);..}.
6460: 0a 5f 53 70 65 6c 6c 4c 69 62 72 65 4f 66 66 69  ._SpellLibreOffi
6470: 63 65 2e 70 72 6f 74 6f 74 79 70 65 2e 67 65 74  ce.prototype.get
6480: 41 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 66  Alternatives = f
6490: 75 6e 63 74 69 6f 6e 28 77 6f 72 64 29 20 7b 0d  unction(word) {.
64a0: 0a 20 20 20 20 d0 90 d0 bb d1 8c d1 82 d0 b5 d1  .    ...........
64b0: 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2 d1 8b 3d 6e 65  .............=ne
64c0: 77 20 56 42 41 72 72 61 79 28 74 68 69 73 2e d0  w VBArray(this..
64d0: 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b0 d0  ................
64e0: 9e d1 80 d1 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0  ................
64f0: b8 d0 b8 2e 73 70 65 6c 6c 28 77 6f 72 64 2c 74  ....spell(word,t
6500: 68 69 73 2e d0 9b d0 be d0 ba d0 b0 d0 bb 2c 74  his...........,t
6510: 68 69 73 2e d0 9f d1 83 d1 81 d1 82 d0 be d0 b9  his.............
6520: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 29 2e 67 65  ............).ge
6530: 74 41 6c 74 65 72 6e 61 74 69 76 65 73 28 29 29  tAlternatives())
6540: 3b 0d 0a 20 20 20 20 76 61 72 20 61 6c 74 65 72  ;..    var alter
6550: 6e 61 74 69 76 65 20 3d 20 6e 65 77 20 41 72 72  native = new Arr
6560: 61 79 28 29 3b 0d 0a 20 20 20 20 66 6f 72 28 76  ay();..    for(v
6570: 61 72 20 69 69 3d d0 90 d0 bb d1 8c d1 82 d0 b5  ar ii=..........
6580: d1 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2 d1 8b 2e 6c  ...............l
6590: 62 6f 75 6e 64 28 31 29 3b 20 69 69 3c d0 90 d0  bound(1); ii<...
65a0: bb d1 8c d1 82 d0 b5 d1 80 d0 bd d0 b0 d1 82 d0  ................
65b0: b8 d0 b2 d1 8b 2e 75 62 6f 75 6e 64 28 31 29 3b  ......ubound(1);
65c0: 20 69 69 2b 2b 29 20 7b 0d 0a 20 20 20 20 20 20   ii++) {..      
65d0: 20 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65       alternative
65e0: 2e 70 75 73 68 28 d0 90 d0 bb d1 8c d1 82 d0 b5  .push(..........
65f0: d1 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2 d1 8b 2e 67  ...............g
6600: 65 74 49 74 65 6d 28 69 69 29 29 3b 0d 0a 20 20  etItem(ii));..  
6610: 20 20 7d 0d 0a 20 20 20 20 72 65 74 75 72 6e 20    }..    return 
6620: 61 6c 74 65 72 6e 61 74 69 76 65 3b 0d 0a 7d 0d  alternative;..}.
6630: 0a 5f 53 70 65 6c 6c 4c 69 62 72 65 4f 66 66 69  ._SpellLibreOffi
6640: 63 65 2e 70 72 6f 74 6f 74 79 70 65 2e 44 69 73  ce.prototype.Dis
6650: 63 6f 6e 6e 65 63 74 20 3d 20 66 75 6e 63 74 69  connect = functi
6660: 6f 6e 28 29 7b 0d 0a 20 20 20 20 72 65 74 75 72  on(){..    retur
6670: 6e 20 27 27 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74  n ''..}....funct
6680: 69 6f 6e 20 5f 53 70 65 6c 6c 57 6f 72 64 28 29  ion _SpellWord()
6690: 20 7b 0d 0a 20 20 20 20 74 68 69 73 2e 57 6f 72   {..    this.Wor
66a0: 64 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 74  d = null;..    t
66b0: 68 69 73 2e 43 6f 6e 6e 65 63 74 28 29 0d 0a 7d  his.Connect()..}
66c0: 0d 0a 0d 0a 5f 53 70 65 6c 6c 57 6f 72 64 2e 70  ...._SpellWord.p
66d0: 72 6f 74 6f 74 79 70 65 2e 43 6f 6e 6e 65 63 74  rototype.Connect
66e0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a   = function(){..
66f0: 20 20 20 20 74 72 79 7b 0d 0a 20 20 20 20 20 20      try{..      
6700: 20 74 68 69 73 2e 57 6f 72 64 20 3d 6e 65 77 20   this.Word =new 
6710: 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 27 57  ActiveXObject('W
6720: 6f 72 64 2e 41 70 70 6c 69 63 61 74 69 6f 6e 27  ord.Application'
6730: 29 3b 0d 0a 20 20 20 20 20 20 20 69 66 20 28 74  );..       if (t
6740: 68 69 73 2e 57 6f 72 64 2e 44 6f 63 75 6d 65 6e  his.Word.Documen
6750: 74 73 2e 43 6f 75 6e 74 20 3d 3d 20 30 20 29 0d  ts.Count == 0 ).
6760: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69  .            thi
6770: 73 2e 57 6f 72 64 2e 44 6f 63 75 6d 65 6e 74 73  s.Word.Documents
6780: 2e 41 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20  .Add();..       
6790: 20 20 20 20 20 0d 0a 20 20 20 20 7d 63 61 74 63       ..    }catc
67a0: 68 20 28 65 29 20 7b 0d 0a 20 20 20 20 20 20 20  h (e) {..       
67b0: 4d 65 73 73 61 67 65 28 22 d0 9d d0 b5 20 d1 83  Message(".... ..
67c0: d0 b4 d0 b0 d0 bb d0 be d1 81 d1 8c 20 d1 81 d0  ............ ...
67d0: be d0 b7 d0 b4 d0 b0 d1 82 d1 8c 20 d0 be d0 b1  ........... ....
67e0: d1 8a d0 b5 d0 ba d1 82 20 57 6f 72 64 2e 41 70  ........ Word.Ap
67f0: 70 6c 69 63 61 74 69 6f 6e 22 29 3b 0d 0a 20 20  plication");..  
6800: 20 20 7d 0d 0a 20 20 20 20 0d 0a 7d 0d 0a 0d 0a    }..    ..}....
6810: 5f 53 70 65 6c 6c 57 6f 72 64 2e 70 72 6f 74 6f  _SpellWord.proto
6820: 74 79 70 65 2e 43 68 65 63 6b 57 6f 72 64 20 3d  type.CheckWord =
6830: 20 66 75 6e 63 74 69 6f 6e 28 77 6f 72 64 29 20   function(word) 
6840: 7b 0d 0a 20 20 20 20 2f 2f 76 61 72 20 72 65 73  {..    //var res
6850: 75 6c 74 73 20 3d 20 7b 7d 3b 0d 0a 20 20 20 20  ults = {};..    
6860: 2f 2f 74 68 69 73 2e d0 9f d1 83 d1 81 d1 82 d0  //this..........
6870: be d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 20  ............... 
6880: 3d 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0d 0a  = new Array();..
6890: 20 20 20 20 2f 2f 64 65 62 75 67 67 65 72 0d 0a      //debugger..
68a0: 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e      return this.
68b0: 57 6f 72 64 2e 43 68 65 63 6b 53 70 65 6c 6c 69  Word.CheckSpelli
68c0: 6e 67 28 77 6f 72 64 29 3b 0d 0a 20 20 20 20 2f  ng(word);..    /
68d0: 2f 72 65 74 75 72 6e 20 74 68 69 73 2e d0 9f d1  /return this....
68e0: 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b0 d0 9e d1  ................
68f0: 80 d1 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8 d0  ................
6900: b8 2e 69 73 56 61 6c 69 64 28 77 6f 72 64 2c 74  ..isValid(word,t
6910: 68 69 73 2e d0 9b d0 be d0 ba d0 b0 d0 bb 2c 74  his...........,t
6920: 68 69 73 2e d0 9f d1 83 d1 81 d1 82 d0 be d0 b9  his.............
6930: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 29 3b 0d 0a  ............);..
6940: 7d 0d 0a 5f 53 70 65 6c 6c 57 6f 72 64 2e 70 72  }.._SpellWord.pr
6950: 6f 74 6f 74 79 70 65 2e 67 65 74 41 6c 74 65 72  ototype.getAlter
6960: 6e 61 74 69 76 65 73 20 3d 20 66 75 6e 63 74 69  natives = functi
6970: 6f 6e 28 77 6f 72 64 29 20 7b 0d 0a 20 20 20 20  on(word) {..    
6980: 20 20 20 69 66 20 28 74 68 69 73 2e 57 6f 72 64     if (this.Word
6990: 2e 44 6f 63 75 6d 65 6e 74 73 2e 43 6f 75 6e 74  .Documents.Count
69a0: 20 3d 3d 20 30 20 29 20 7b 0d 0a 20 20 20 20 20   == 0 ) {..     
69b0: 20 20 20 20 20 20 20 76 61 72 20 d0 94 d0 be d0         var .....
69c0: ba 20 3d 20 74 68 69 73 2e 57 6f 72 64 2e 44 6f  . = this.Word.Do
69d0: 63 75 6d 65 6e 74 73 2e 41 64 64 28 29 3b 20 2f  cuments.Add(); /
69e0: 2f 20 d0 a1 d0 be d0 b7 d0 b4 d0 b0 d0 b4 d0 b8  / ..............
69f0: d0 bc 20 d0 bd d0 be d0 b2 d1 8b d0 b9 20 d0 b4  .. .......... ..
6a00: d0 be d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82 20 20  ..............  
6a10: 20 0d 0a 20 20 20 20 20 20 20 7d 20 65 6c 73 65   ..       } else
6a20: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
6a30: 76 61 72 20 d0 94 d0 be d0 ba 20 3d 20 74 68 69  var ...... = thi
6a40: 73 2e 57 6f 72 64 2e 44 6f 63 75 6d 65 6e 74 73  s.Word.Documents
6a50: 2e 49 74 65 6d 28 31 29 3b 20 2f 2f 20 d0 a1 d0  .Item(1); // ...
6a60: be d0 b7 d0 b4 d0 b0 d0 b4 d0 b8 d0 bc 20 d0 bd  ............. ..
6a70: d0 be d0 b2 d1 8b d0 b9 20 d0 b4 d0 be d0 ba d1  ........ .......
6a80: 83 d0 bc d0 b5 d0 bd d1 82 20 20 20 0d 0a 20 20  .........   ..  
6a90: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 76       }..       v
6aa0: 61 72 20 d0 9e d0 b1 d0 bb d0 b0 d1 81 d1 82 d1  ar .............
6ab0: 8c 20 3d 20 d0 94 d0 be d0 ba 2e 52 61 6e 67 65  . = .......Range
6ac0: 28 30 2c 30 29 3b 20 2f 2f 20 d0 9f d0 be d0 bb  (0,0); // ......
6ad0: d1 83 d1 87 d0 b8 d0 bc 20 d0 bf d1 83 d1 81 d1  ........ .......
6ae0: 82 d1 83 d1 8e 20 d0 be d0 b1 d0 bb d0 b0 d1 81  ..... ..........
6af0: d1 82 d1 8c 20 d0 b2 20 d0 bd d0 b0 d1 87 d0 b0  .... .. ........
6b00: d0 bb d0 b5 20 d0 b4 d0 be d0 ba d1 83 d0 bc d0  .... ...........
6b10: b5 d0 bd d1 82 d0 b0 20 20 20 0d 0a 20 20 20 20  .......   ..    
6b20: 20 20 d0 9e d0 b1 d0 bb d0 b0 d1 81 d1 82 d1 8c    ..............
6b30: 2e 49 6e 73 65 72 74 42 65 66 6f 72 65 28 77 6f  .InsertBefore(wo
6b40: 72 64 29 3b 20 2f 2f 20 d0 94 d0 be d0 b1 d0 b0  rd); // ........
6b50: d0 b2 d0 b8 d0 bc 20 d0 b2 20 d0 b4 d0 be d0 ba  ...... .. ......
6b60: d1 83 d0 bc d0 b5 d0 bd d1 82 20 d1 82 d0 b5 d0  .......... .....
6b70: ba d1 81 d1 82 20 20 20 0d 0a 20 20 20 20 20 20  .....   ..      
6b80: 76 61 72 20 61 6c 74 65 72 6e 61 74 69 76 65 20  var alternative 
6b90: 3d 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0d 0a  = new Array();..
6ba0: 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6b        for (var k
6bb0: 65 79 20 69 6e 20 d0 9e d0 b1 d0 bb d0 b0 d1 81  ey in ..........
6bc0: d1 82 d1 8c 2e 57 6f 72 64 73 29 7b 0d 0a 20 20  .....Words){..  
6bd0: 20 20 20 20 20 20 20 76 61 72 20 d0 92 d0 b0 d1         var .....
6be0: 80 d0 b8 d0 b0 d0 bd d1 82 d1 8b 20 3d 20 6b 65  ........... = ke
6bf0: 79 2e 47 65 74 53 70 65 6c 6c 69 6e 67 53 75 67  y.GetSpellingSug
6c00: 67 65 73 74 69 6f 6e 73 28 29 3b 0d 0a 20 20 20  gestions();..   
6c10: 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6b        for (var k
6c20: 65 79 73 20 69 6e 20 d0 92 d0 b0 d1 80 d0 b8 d0  eys in .........
6c30: b0 d0 bd d1 82 d1 8b 29 20 7b 0d 0a 20 20 20 20  .......) {..    
6c40: 20 20 20 20 20 20 20 20 61 6c 74 65 72 6e 61 74          alternat
6c50: 69 76 65 2e 70 75 73 68 28 6b 65 79 73 2e 4e 61  ive.push(keys.Na
6c60: 6d 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 7d  me);..         }
6c70: 0d 0a 20 20 20 20 7d 20 20 20 0d 0a 20 20 20 20  ..    }   ..    
6c80: d0 94 d0 be d0 ba 2e 43 6c 6f 73 65 28 30 29 3b  .......Close(0);
6c90: 20 2f 2f 20 d0 b7 d0 b0 d0 ba d1 80 d0 be d0 b5   // ............
6ca0: d0 bc 20 d0 b4 d0 be d0 ba d1 83 d0 bc d0 b5 d0  .. .............
6cb0: bd d1 82 20 d0 b1 d0 b5 d0 b7 20 d1 81 d0 be d1  ... ...... .....
6cc0: 85 d1 80 d0 b0 d0 bd d0 b5 d0 bd d0 b8 d1 8f 20  ............... 
6cd0: 77 64 44 6f 4e 6f 74 53 61 76 65 43 68 61 6e 67  wdDoNotSaveChang
6ce0: 65 73 20 20 20 0d 0a 20 20 20 20 72 65 74 75 72  es   ..    retur
6cf0: 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 3b 0d 0a  n alternative;..
6d00: 7d 0d 0a 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 5f 31 43  }......////} _1C
6d10: 57 6f 72 64 57 72 61 70 0d 0a 5f 53 70 65 6c 6c  WordWrap.._Spell
6d20: 57 6f 72 64 2e 70 72 6f 74 6f 74 79 70 65 2e 44  Word.prototype.D
6d30: 69 73 63 6f 6e 6e 65 63 74 20 3d 20 66 75 6e 63  isconnect = func
6d40: 74 69 6f 6e 28 29 7b 0d 0a 20 20 20 20 74 72 79  tion(){..    try
6d50: 7b 0d 0a 20 20 20 20 20 20 20 74 68 69 73 2e 57  {..       this.W
6d60: 6f 72 64 2e 51 75 69 74 28 29 3b 0d 0a 20 20 20  ord.Quit();..   
6d70: 20 7d 63 61 74 63 68 20 28 65 29 20 7b 0d 0a 20   }catch (e) {.. 
6d80: 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 22 d0        Message(".
6d90: 9d d0 b5 20 d1 83 d0 b4 d0 b0 d0 bb d0 be d1 81  ... ............
6da0: d1 8c 20 d1 81 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1  .. .............
6db0: 8c 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 22 29  . ............")
6dc0: 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20  ;..    }....    
6dd0: 64 65 6c 65 74 65 20 74 68 69 73 2e 57 6f 72 64  delete this.Word
6de0: 3b 0d 0a 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 0d 0a  ;..    ..}......
6df0: 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ....////////////
6e00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6e10: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6e20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6e30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6e40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f  ////////////..//
6e50: 2f 2f 7b 20 d0 92 d1 81 d0 bf d0 be d0 bc d0 be  //{ ............
6e60: d0 b3 d0 b0 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 8b  ................
6e70: d0 b5 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d0  .. .............
6e80: b8 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 b0  . ..............
6e90: 20 41 72 72 61 79 0d 0a 69 66 28 21 41 72 72 61   Array..if(!Arra
6ea0: 79 2e 70 72 6f 74 6f 74 79 70 65 2e 69 6e 64 65  y.prototype.inde
6eb0: 78 4f 66 29 20 7b 0d 0a 20 20 20 20 41 72 72 61  xOf) {..    Arra
6ec0: 79 2e 70 72 6f 74 6f 74 79 70 65 2e 69 6e 64 65  y.prototype.inde
6ed0: 78 4f 66 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73  xOf = function(s
6ee0: 65 61 72 63 68 45 6c 65 6d 65 6e 74 2c 20 66 72  earchElement, fr
6ef0: 6f 6d 49 6e 64 65 78 29 20 7b 0d 0a 20 20 20 20  omIndex) {..    
6f00: 20 20 20 20 66 6f 72 28 76 61 72 20 69 20 3d 20      for(var i = 
6f10: 66 72 6f 6d 49 6e 64 65 78 7c 7c 30 2c 20 6c 65  fromIndex||0, le
6f20: 6e 67 74 68 20 3d 20 74 68 69 73 2e 6c 65 6e 67  ngth = this.leng
6f30: 74 68 3b 20 69 3c 6c 65 6e 67 74 68 3b 20 69 2b  th; i<length; i+
6f40: 2b 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  +)..            
6f50: 69 66 28 74 68 69 73 5b 69 5d 20 3d 3d 3d 20 73  if(this[i] === s
6f60: 65 61 72 63 68 45 6c 65 6d 65 6e 74 29 20 72 65  earchElement) re
6f70: 74 75 72 6e 20 69 3b 0d 0a 20 20 20 20 20 20 20  turn i;..       
6f80: 20 72 65 74 75 72 6e 20 2d 31 0d 0a 20 20 20 20   return -1..    
6f90: 7d 3b 0d 0a 7d 3b 0d 0a 2f 2f 2f 2f 7d 20 d0 92  };..};..////} ..
6fa0: d1 81 d0 bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 82  ................
6fb0: d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d1 84 d1  ............ ...
6fc0: 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 20 d0 be d0 b1  ........... ....
6fd0: d1 8a d0 b5 d0 ba d1 82 d0 b0 20 41 72 72 61 79  .......... Array
6fe0: 0d 0a 0d 0a 2f 2f 2f 2f 2f 7b 20 d0 9f d1 80 d0  ..../////{ .....
6ff0: b8 d0 bc d0 b5 d1 80 20 6f 70 65 6e 6f 66 66 69  ....... openoffi
7000: 63 65 0d 0a 2f 2a 20 d0 a4 d1 83 d0 bd d0 ba d1  ce../* .........
7010: 86 d0 b8 d1 8f 20 d0 a1 d0 be d0 b7 d0 b4 d0 b0  ..... ..........
7020: d1 82 d1 8c d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2  ................
7030: 28 d0 a1 d0 bf 2c d0 97 d0 bd d0 b0 d1 87 20 d0  (....,........ .
7040: a1 d0 ba d1 80 d0 b8 d0 bf d1 82 d0 97 d0 bd 3d  ...............=
7050: 22 22 29 0d 0a 20 20 20 20 d0 9f d0 b5 d1 80 d0  "")..    .......
7060: b5 d0 bc 20 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2  ... ............
7070: 3b 0d 0a 20 20 20 20 d0 a1 d0 ba d1 80 d0 b8 d0  ;..    .........
7080: bf d1 82 3d d0 a1 d0 be d0 b7 d0 b4 d0 b0 d1 82  ...=............
7090: d1 8c d0 9e d0 b1 d1 8a d0 b5 d0 ba d1 82 28 22  ..............("
70a0: 4d 53 53 63 72 69 70 74 43 6f 6e 74 72 6f 6c 2e  MSScriptControl.
70b0: 53 63 72 69 70 74 43 6f 6e 74 72 6f 6c 22 29 3b  ScriptControl");
70c0: 0d 0a 20 20 20 20 d0 a1 d0 ba d1 80 d0 b8 d0 bf  ..    ..........
70d0: d1 82 2e 6c 61 6e 67 75 61 67 65 3d 22 6a 61 76  ...language="jav
70e0: 61 73 63 72 69 70 74 22 3b 0d 0a 20 20 20 20 d0  ascript";..    .
70f0: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 3d d0 a1 d0 ba  ...........=....
7100: d1 80 d0 b8 d0 bf d1 82 2e 65 76 61 6c 28 22 d0  .........eval(".
7110: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 3d 6e 65 77 20  ...........=new 
7120: 41 72 72 61 79 28 29 22 29 3b 0d 0a 20 20 20 20  Array()");..    
7130: d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5  ................
7140: 3d 22 22 3b 0d 0a 20 20 20 20 d0 94 d0 bb d1 8f  ="";..    ......
7150: 20 d0 ba 3d 30 20 d0 9f d0 be 20 d0 a1 d0 bf 2e   ..=0 .... .....
7160: d0 a0 d0 b0 d0 b7 d0 bc d0 b5 d1 80 d0 a1 d0 bf  ................
7170: d0 b8 d1 81 d0 ba d0 b0 28 29 2d 31 20 d0 a6 d0  ........()-1 ...
7180: b8 d0 ba d0 bb 0d 0a 20 20 20 20 20 20 20 20 d0  .......        .
7190: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 2e 70 75 73 68  ............push
71a0: 28 d0 a1 d0 bf 2e d0 9f d0 be d0 bb d1 83 d1 87  (...............
71b0: d0 b8 d1 82 d1 8c d0 97 d0 bd d0 b0 d1 87 d0 b5  ................
71c0: d0 bd d0 b8 d0 b5 28 d0 ba 2b 31 29 29 3b 0d 0a  ......(..+1));..
71d0: 20 20 20 20 20 20 20 20 d0 9f d0 be d0 bf d1 8b          ........
71e0: d1 82 d0 ba d0 b0 0d 0a 20 20 20 20 20 20 20 20  ........        
71f0: 20 20 20 20 d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd      ............
7200: d0 b8 d0 b5 3d d0 a1 d0 bf 2e d0 9f d0 be d0 bb  ....=...........
7210: d1 83 d1 87 d0 b8 d1 82 d1 8c d0 97 d0 bd d0 b0  ................
7220: d1 87 d0 b5 d0 bd d0 b8 d0 b5 28 d0 ba 2b 31 29  ..........(..+1)
7230: 2e 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20  .Value;..       
7240: 20 d0 98 d1 81 d0 ba d0 bb d1 8e d1 87 d0 b5 d0   ...............
7250: bd d0 b8 d0 b5 0d 0a 20 20 20 20 20 20 20 20 d0  .......        .
7260: 9a d0 be d0 bd d0 b5 d1 86 d0 9f d0 be d0 bf d1  ................
7270: 8b d1 82 d0 ba d0 b8 3b 0d 0a 20 20 20 20 20 20  .......;..      
7280: 20 20 d0 95 d1 81 d0 bb d0 b8 20 d0 97 d0 bd d0    ........ .....
7290: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 3d 22 d0 98 d1  ...........="...
72a0: 81 d1 82 d0 b8 d0 bd d0 b0 22 20 d0 a2 d0 be d0  ........." .....
72b0: b3 d0 b4 d0 b0 0d 0a 20 20 20 20 20 20 20 20 20  .......         
72c0: 20 20 20 d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 2e     .............
72d0: 45 76 61 6c 28 22 d0 9c d0 b0 d1 81 d1 81 d0 b8  Eval("..........
72e0: d0 b2 5b 22 2b d0 ba 2b 22 5d 2e 56 61 6c 75 65  ..["+..+"].Value
72f0: 3d 74 72 75 65 22 29 3b 0d 0a 20 20 20 20 20 20  =true");..      
7300: 20 20 d0 98 d0 bd d0 b0 d1 87 d0 b5 d0 95 d1 81    ..............
7310: d0 bb d0 b8 20 d0 97 d0 bd d0 b0 d1 87 d0 b5 d0  .... ...........
7320: bd d0 b8 d0 b5 3d 22 d0 9b d0 be d0 b6 d1 8c 22  .....="........"
7330: 20 d0 a2 d0 be d0 b3 d0 b4 d0 b0 0d 0a 20 20 20   ............   
7340: 20 20 20 20 20 20 20 20 20 d0 a1 d0 ba d1 80 d0           .......
7350: b8 d0 bf d1 82 2e 45 76 61 6c 28 22 d0 9c d0 b0  ......Eval("....
7360: d1 81 d1 81 d0 b8 d0 b2 5b 22 2b d0 ba 2b 22 5d  ........["+..+"]
7370: 2e 56 61 6c 75 65 3d 66 61 6c 73 65 22 29 3b 0d  .Value=false");.
7380: 0a 20 20 20 20 20 20 20 20 d0 9a d0 be d0 bd d0  .        .......
7390: b5 d1 86 d0 95 d1 81 d0 bb d0 b8 3b 0d 0a 20 20  ...........;..  
73a0: 20 20 d0 9a d0 be d0 bd d0 b5 d1 86 d0 a6 d0 b8    ..............
73b0: d0 ba d0 bb d0 b0 3b 0d 0a 20 20 20 20 d0 95 d1  ......;..    ...
73c0: 81 d0 bb d0 b8 20 d0 9f d1 83 d1 81 d1 82 d0 be  ..... ..........
73d0: d0 b5 d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8  ................
73e0: d0 b5 28 d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 d0  ..(.............
73f0: 97 d0 bd 29 3d 30 20 d0 a2 d0 be d0 b3 d0 b4 d0  ...)=0 .........
7400: b0 0d 0a 20 20 20 20 20 20 20 20 d0 a1 d1 82 d1  ...        .....
7410: 80 3d 22 22 3b 0d 0a 20 20 20 20 20 20 20 20 d0  .="";..        .
7420: a1 d0 bf 2e d0 9f d0 be d0 bb d1 83 d1 87 d0 b8  ................
7430: d1 82 d1 8c d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd  ................
7440: d0 b8 d0 b5 28 31 2c d0 a1 d1 82 d1 80 29 3b 0d  ....(1,......);.
7450: 0a 20 20 20 20 20 20 20 20 d0 95 d1 81 d0 bb d0  .        .......
7460: b8 20 d0 9f d1 83 d1 81 d1 82 d0 be d0 b5 d0 97  . ..............
7470: d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 28 d0  ..............(.
7480: a1 d1 82 d1 80 29 3d 31 20 d0 a2 d0 be d0 b3 d0  .....)=1 .......
7490: b4 d0 b0 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .....           
74a0: 20 d0 a1 d1 82 d1 80 3d 22 d0 9c d0 b0 d1 81 d1   ......=".......
74b0: 81 d0 b8 d0 b2 22 3b 0d 0a 20 20 20 20 20 20 20  .....";..       
74c0: 20 d0 9a d0 be d0 bd d0 b5 d1 86 d0 95 d1 81 d0   ...............
74d0: bb d0 b8 3b 0d 0a 20 20 20 20 20 20 20 20 d0 a1  ...;..        ..
74e0: d0 ba d1 80 d0 b8 d0 bf d1 82 d0 97 d0 bd 2e 41  ...............A
74f0: 64 64 4f 62 6a 65 63 74 28 d0 a1 d1 82 d1 80 2c  ddObject(......,
7500: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 29 3b 0d 0a  ............);..
7510: 20 20 20 20 d0 9a d0 be d0 bd d0 b5 d1 86 d0 95      ............
7520: d1 81 d0 bb d0 b8 3b 0d 0a 20 20 20 20 d0 92 d0  ......;..    ...
7530: be d0 b7 d0 b2 d1 80 d0 b0 d1 82 20 d0 9c d0 b0  ........... ....
7540: d1 81 d1 81 d0 b8 d0 b2 3b 0d 0a d0 9a d0 be d0  ........;.......
7550: bd d0 b5 d1 86 d0 a4 d1 83 d0 bd d0 ba d1 86 d0  ................
7560: b8 d0 b8 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 2a 2a 2a  ...........//***
7570: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7580: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7590: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 0d 0a d0 9f d1  ********.. .....
75a0: 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 20  ............... 
75b0: d0 a1 d1 84 d0 be d1 80 d0 bc d0 b8 d1 80 d0 be  ................
75c0: d0 b2 d0 b0 d1 82 d1 8c 28 29 0d 0a 20 20 20 20  ........()..    
75d0: d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 3d d0 a1 d0  ............=...
75e0: be d0 b7 d0 b4 d0 b0 d1 82 d1 8c d0 9e d0 b1 d1  ................
75f0: 8a d0 b5 d0 ba d1 82 28 22 4d 53 53 63 72 69 70  .......("MSScrip
7600: 74 43 6f 6e 74 72 6f 6c 2e 53 63 72 69 70 74 43  tControl.ScriptC
7610: 6f 6e 74 72 6f 6c 22 29 3b 0d 0a 20 20 20 20 d0  ontrol");..    .
7620: a1 d0 ba d1 80 d0 b8 d0 bf d1 82 2e 6c 61 6e 67  ............lang
7630: 75 61 67 65 3d 22 6a 61 76 61 73 63 72 69 70 74  uage="javascript
7640: 22 3b 0d 0a 20 20 20 20 d0 a1 d0 bf d0 a1 d0 bb  ";..    ........
7650: d0 be d0 b2 3d d0 a1 d0 be d0 b7 d0 b4 d0 b0 d1  ....=...........
7660: 82 d1 8c d0 9e d0 b1 d1 8a d0 b5 d0 ba d1 82 28  ...............(
7670: 22 d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba d0 97 d0  "...............
7680: bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b9 22 29 3b  .............");
7690: 0d 0a 20 20 20 20 d0 a1 d0 bf d0 a1 d0 bb d0 be  ..    ..........
76a0: d0 b2 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1  ................
76b0: 82 d1 8c d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0  ................
76c0: b8 d0 b5 28 22 d0 bf d1 80 d0 b0 d0 b2 d0 b5 d1  ...("...........
76d0: 80 d0 ba d0 b0 22 29 3b 0d 0a 20 20 20 20 d0 a1  .....");..    ..
76e0: d0 bf d0 a1 d0 bb d0 be d0 b2 2e d0 94 d0 be d0  ................
76f0: b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c d0 97 d0 bd d0  ................
7700: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 28 22 d0 be d1  ...........("...
7710: 80 d1 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8 d0  ................
7720: b8 22 29 3b 0d 0a 20 20 20 20 d0 a1 d0 bf d0 a1  .");..    ......
7730: d0 bb d0 be d0 b2 2e d0 94 d0 be d0 b1 d0 b0 d0  ................
7740: b2 d0 b8 d1 82 d1 8c d0 97 d0 bd d0 b0 d1 87 d0  ................
7750: b5 d0 bd d0 b8 d0 b5 28 22 d0 bf d1 80 d0 b0 d1  .......(".......
7760: 85 d0 be d0 b4 d0 b8 d1 82 22 29 3b 0d 0a 20 20  .........");..  
7770: 20 20 d0 a1 d0 bf d0 a1 d0 bb d0 be d0 b2 2e d0    ..............
7780: 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c d0  ................
7790: 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 28  ...............(
77a0: 22 d0 b7 d0 b4 d0 b5 d0 b7 d1 8c 22 29 3b 0d 0a  "..........");..
77b0: 20 20 20 20 d0 a1 d0 b5 d1 80 d0 b2 d0 b8 d1 81      ............
77c0: d0 9c d0 b0 d0 bd d0 b0 d0 b3 d0 b5 d1 80 3d d0  ..............=.
77d0: a1 d0 ba d1 80 d0 b8 d0 bf d1 82 2e 65 76 61 6c  ............eval
77e0: 28 22 d0 a1 d0 b5 d1 80 d0 b2 d0 b8 d1 81 d0 9c  ("..............
77f0: d0 b0 d0 bd d0 b0 d0 b3 d0 b5 d1 80 3d 6e 65 77  ............=new
7800: 20 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 27   ActiveXObject('
7810: 63 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 53 65 72  com.sun.star.Ser
7820: 76 69 63 65 4d 61 6e 61 67 65 72 27 29 22 29 3b  viceManager')");
7830: 0d 0a 20 20 20 20 d0 a1 d1 82 d1 80 d0 9f d0 b0  ..    ..........
7840: d1 80 d0 b0 d0 bc 3d 22 d0 9f d0 b0 d1 80 d0 b0  ......="........
7850: d0 bc 3d d0 a1 d0 b5 d1 80 d0 b2 d0 b8 d1 81 d0  ..=.............
7860: 9c d0 b0 d0 bd d0 b0 d0 b3 d0 b5 d1 80 2e 42 72  ..............Br
7870: 69 64 67 65 5f 47 65 74 53 74 72 75 63 74 28 27  idge_GetStruct('
7880: 63 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 62 65 61  com.sun.star.bea
7890: 6e 73 2e 50 72 6f 70 65 72 74 79 56 61 6c 75 65  ns.PropertyValue
78a0: 27 29 22 3b 0d 0a 20 20 20 20 d0 9c d0 b0 d1 81  ')";..    ......
78b0: d1 81 d0 b8 d0 b2 d0 a1 d0 bb d0 be d0 b2 3d d0  ..............=.
78c0: a1 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1 8c d0 9c d0  ................
78d0: b0 d1 81 d1 81 d0 b8 d0 b2 28 d0 a1 d0 bf d0 a1  .........(......
78e0: d0 bb d0 be d0 b2 29 3b 0d 0a 20 20 20 20 d0 9f  ......);..    ..
78f0: d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b0 d0 9e  ................
7900: d1 80 d1 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8  ................
7910: d0 b8 3d d0 a1 d0 b5 d1 80 d0 b2 d0 b8 d1 81 d0  ..=.............
7920: 9c d0 b0 d0 bd d0 b0 d0 b3 d0 b5 d1 80 2e 63 72  ..............cr
7930: 65 61 74 65 49 6e 73 74 61 6e 63 65 28 22 63 6f  eateInstance("co
7940: 6d 2e 73 75 6e 2e 73 74 61 72 2e 6c 69 6e 67 75  m.sun.star.lingu
7950: 69 73 74 69 63 32 2e 53 70 65 6c 6c 43 68 65 63  istic2.SpellChec
7960: 6b 65 72 22 29 3b 0d 0a 20 20 20 20 d0 a1 d0 ba  ker");..    ....
7970: d1 80 d0 b8 d0 bf d1 82 2e 41 64 64 4f 62 6a 65  .........AddObje
7980: 63 74 28 22 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80  ct("............
7990: d0 ba d0 b0 d0 9e d1 80 d1 84 d0 be d0 b3 d1 80  ................
79a0: d0 b0 d1 84 d0 b8 d0 b8 22 2c d0 9f d1 80 d0 be  ........",......
79b0: d0 b2 d0 b5 d1 80 d0 ba d0 b0 d0 9e d1 80 d1 84  ................
79c0: d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8 d0 b8 29 3b  ..............);
79d0: 0d 0a 20 20 20 20 d0 a1 d0 bf 3d d0 a1 d0 be d0  ..    ....=.....
79e0: b7 d0 b4 d0 b0 d1 82 d1 8c d0 9e d0 b1 d1 8a d0  ................
79f0: b5 d0 ba d1 82 28 22 d0 a1 d0 bf d0 b8 d1 81 d0  .....(".........
7a00: be d0 ba d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0  ................
7a10: b8 d0 b9 22 29 3b 0d 0a 20 20 20 20 d0 a1 d0 bf  ...");..    ....
7a20: 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1  ................
7a30: 8c d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0  ................
7a40: b5 28 d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 2e 65  .(.............e
7a50: 76 61 6c 28 d0 a1 d1 82 d1 80 d0 9f d0 b0 d1 80  val(............
7a60: d0 b0 d0 bc 29 2c 22 d0 9f d1 83 d1 81 d1 82 d0  ....),".........
7a70: be d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 22  ..............."
7a80: 29 3b 0d 0a 20 20 20 20 d0 9f d1 83 d1 81 d1 82  );..    ........
7a90: d0 be d0 b9 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2  ................
7aa0: 3d d0 a1 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1 8c d0  =...............
7ab0: 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 28 d0 a1 d0 bf  ...........(....
7ac0: 2c d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 29 3b 0d  ,............);.
7ad0: 0a 20 20 20 20 d0 9b d0 be d0 ba d0 b0 d0 bb 3d  .    ..........=
7ae0: d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 2e 65 76 61  .............eva
7af0: 6c 28 22 d0 9b d0 be d0 ba d0 b0 d0 bb 3d d0 a1  l("..........=..
7b00: d0 b5 d1 80 d0 b2 d0 b8 d1 81 d0 9c d0 b0 d0 bd  ................
7b10: d0 b0 d0 b3 d0 b5 d1 80 2e 42 72 69 64 67 65 5f  .........Bridge_
7b20: 47 65 74 53 74 72 75 63 74 28 27 63 6f 6d 2e 73  GetStruct('com.s
7b30: 75 6e 2e 73 74 61 72 2e 6c 61 6e 67 2e 4c 6f 63  un.star.lang.Loc
7b40: 61 6c 65 27 29 22 29 3b 0d 0a 20 20 20 20 d0 9b  ale')");..    ..
7b50: d0 be d0 ba d0 b0 d0 bb 2e 4c 61 6e 67 75 61 67  .........Languag
7b60: 65 20 3d 20 22 72 75 22 3b 0d 0a 20 20 20 20 d0  e = "ru";..    .
7b70: 9b d0 be d0 ba d0 b0 d0 bb 2e 43 6f 75 6e 74 72  ..........Countr
7b80: 79 20 3d 20 22 52 55 22 3b 0d 0a 20 20 20 20 d0  y = "RU";..    .
7b90: 94 d0 bb d1 8f 20 d0 ba 3d 30 20 d0 9f d0 be 20  ..... ..=0 .... 
7ba0: d0 a1 d0 bf d0 a1 d0 bb d0 be d0 b2 2e d0 a0 d0  ................
7bb0: b0 d0 b7 d0 bc d0 b5 d1 80 d0 a1 d0 bf d0 b8 d1  ................
7bc0: 81 d0 ba d0 b0 28 29 2d 31 20 d0 a6 d0 b8 d0 ba  .....()-1 ......
7bd0: d0 bb 0d 0a 20 20 20 20 20 20 20 20 d0 95 d1 81  ....        ....
7be0: d0 bb d0 b8 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1  .... ...........
7bf0: 80 d0 ba d0 b0 d0 9e d1 80 d1 84 d0 be d0 b3 d1  ................
7c00: 80 d0 b0 d1 84 d0 b8 d0 b8 2e 69 73 56 61 6c 69  ..........isVali
7c10: 64 28 d0 a1 d0 bf d0 a1 d0 bb d0 be d0 b2 2e d0  d(..............
7c20: 9f d0 be d0 bb d1 83 d1 87 d0 b8 d1 82 d1 8c d0  ................
7c30: 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 28  ...............(
7c40: d0 ba 2b 31 29 2c d0 9b d0 be d0 ba d0 b0 d0 bb  ..+1),..........
7c50: 2c d0 9f d1 83 d1 81 d1 82 d0 be d0 b9 d0 9c d0  ,...............
7c60: b0 d1 81 d1 81 d0 b8 d0 b2 29 3d 30 20 d0 a2 d0  .........)=0 ...
7c70: be d0 b3 d0 b4 d0 b0 0d 0a 20 20 20 20 20 20 20  .........       
7c80: 20 20 20 20 20 d0 90 d0 bb d1 8c d1 82 d0 b5 d1       ...........
7c90: 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2 d1 8b 3d d0 a1  .............=..
7ca0: d0 ba d1 80 d0 b8 d0 bf d1 82 2e 45 76 61 6c 28  ...........Eval(
7cb0: 22 6e 65 77 20 56 42 41 72 72 61 79 28 d0 9f d1  "new VBArray(...
7cc0: 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b0 d0 9e d1  ................
7cd0: 80 d1 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8 d0  ................
7ce0: b8 2e 73 70 65 6c 6c 28 27 22 2b d0 a1 d0 bf d0  ..spell('"+.....
7cf0: a1 d0 bb d0 be d0 b2 2e d0 9f d0 be d0 bb d1 83  ................
7d00: d1 87 d0 b8 d1 82 d1 8c d0 97 d0 bd d0 b0 d1 87  ................
7d10: d0 b5 d0 bd d0 b8 d0 b5 28 d0 ba 2b 31 29 2b 22  ........(..+1)+"
7d20: 27 2c d0 9b d0 be d0 ba d0 b0 d0 bb 2c d0 9f d1  ',..........,...
7d30: 83 d1 81 d1 82 d0 be d0 b9 d0 9c d0 b0 d1 81 d1  ................
7d40: 81 d0 b8 d0 b2 29 2e 67 65 74 41 6c 74 65 72 6e  .....).getAltern
7d50: 61 74 69 76 65 73 28 29 29 22 29 3b 0d 0a 20 20  atives())");..  
7d60: 20 20 20 20 20 20 20 20 20 20 d0 94 d0 bb d1 8f            ......
7d70: 20 d0 bd 3d d0 90 d0 bb d1 8c d1 82 d0 b5 d1 80   ..=............
7d80: d0 bd d0 b0 d1 82 d0 b8 d0 b2 d1 8b 2e 6c 62 6f  .............lbo
7d90: 75 6e 64 28 31 29 20 d0 9f d0 be 20 d0 90 d0 bb  und(1) .... ....
7da0: d1 8c d1 82 d0 b5 d1 80 d0 bd d0 b0 d1 82 d0 b8  ................
7db0: d0 b2 d1 8b 2e 75 62 6f 75 6e 64 28 31 29 20 d0  .....ubound(1) .
7dc0: a6 d0 b8 d0 ba d0 bb 0d 0a 20 20 20 20 20 20 20  .........       
7dd0: 20 20 20 20 20 20 20 20 20 d0 a1 d0 be d0 be d0           .......
7de0: b1 d1 89 d0 b8 d1 82 d1 8c 28 d0 90 d0 bb d1 8c  .........(......
7df0: d1 82 d0 b5 d1 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2  ................
7e00: d1 8b 2e 67 65 74 49 74 65 6d 28 d0 bd 29 29 3b  ...getItem(..));
7e10: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 d0 9a  ..            ..
7e20: d0 be d0 bd d0 b5 d1 86 d0 a6 d0 b8 d0 ba d0 bb  ................
7e30: d0 b0 3b 0d 0a 20 20 20 20 20 20 20 20 d0 9a d0  ..;..        ...
7e40: be d0 bd d0 b5 d1 86 d0 95 d1 81 d0 bb d0 b8 3b  ...............;
7e50: 0d 0a 20 20 20 20 d0 9a d0 be d0 bd d0 b5 d1 86  ..    ..........
7e60: d0 a6 d0 b8 d0 ba d0 bb d0 b0 3b 0d 0a d0 9a d0  ..........;.....
7e70: be d0 bd d0 b5 d1 86 d0 9f d1 80 d0 be d1 86 d0  ................
7e80: b5 d0 b4 d1 83 d1 80 d1 8b 20 2a 2f 0d 0a 0d 0a  ......... */....
7e90: 2f 2f 2f 2f 2f 2f 7d 0d 0a 0d 0a 2f 2f 2f 2f 7b  //////}....////{
7ea0: 20 d0 9f d1 80 d0 b8 d0 bc d0 b5 d1 80 20 57 6f   ............ Wo
7eb0: 72 64 0d 0a 2f 2a 20 d0 9f d1 80 d0 be d1 86 d0  rd../* .........
7ec0: b5 d0 b4 d1 83 d1 80 d0 b0 20 d0 9a d0 bd d0 be  ......... ......
7ed0: d0 bf d0 ba d0 b0 d0 92 d1 8b d0 bf d0 be d0 bb  ................
7ee0: d0 bd d0 b8 d1 82 d1 8c d0 9d d0 b0 d0 b6 d0 b0  ................
7ef0: d1 82 d0 b8 d0 b5 28 d0 9a d0 bd d0 be d0 bf d0  ......(.........
7f00: ba d0 b0 29 0d 0a 2f 2f d0 a2 d0 b5 d0 ba d1 81  ...)..//........
7f10: d1 82 d0 94 d0 bb d1 8f d0 9f d1 80 d0 be d0 b2  ................
7f20: d0 b5 d1 80 d0 ba d0 b8 20 3d 20 22 d0 94 d0 b0  ........ = "....
7f30: d0 bd d0 bd d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1  ........ .......
7f40: 81 d1 82 20 d1 81 d0 b0 d0 b4 d0 b5 d1 80 d0 b6  ... ............
7f50: d0 b8 d1 82 20 d0 ba d0 b0 d0 ba 20 d0 bc d0 b8  .... ...... ....
7f60: d0 bd d0 b5 d0 bc d1 83 d0 bc 20 d1 82 d1 80 d0  .......... .....
7f70: b8 20 d0 be d1 88 d0 b8 d0 bf d0 ba d0 b8 20 21  . ............ !
7f80: 22 3b 20 0d 0a d0 a2 d0 b5 d0 ba d1 81 d1 82 d0  "; .............
7f90: 94 d0 bb d1 8f d0 9f d1 80 d0 be d0 b2 d0 b5 d1  ................
7fa0: 80 d0 ba d0 b8 20 3d 20 d0 ad d0 bb d0 b5 d0 bc  ..... = ........
7fb0: d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc  ................
7fc0: d1 8b 2e d0 9f d0 be d0 bb d0 b5 d0 92 d0 b2 d0  ................
7fd0: be d0 b4 d0 b0 31 2e d0 97 d0 bd d0 b0 d1 87 d0  .....1..........
7fe0: b5 d0 bd d0 b8 d0 b5 3b 0d 0a 20 20 20 2f 2f 20  .......;..   // 
7ff0: d0 a1 d0 be d0 b7 d0 b4 d0 b0 d0 b4 d0 b8 d0 bc  ................
8000: 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 20 4d 53   ............ MS
8010: 20 57 6f 72 64 2c 20 d0 be d0 bd 20 d0 b4 d0 be   Word, .... ....
8020: d0 bb d0 b6 d0 b5 d0 bd 20 d0 b1 d1 8b d1 82 d1  ........ .......
8030: 8c 20 d1 83 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2  . ..............
8040: d0 bb d0 b5 d0 bd 20 20 20 0d 0a 20 20 20 d0 9f  ......   ..   ..
8050: d0 be d0 bf d1 8b d1 82 d0 ba d0 b0 0d 0a 20 20  ..............  
8060: 20 20 20 20 57 6f 72 64 20 3d 20 d0 9d d0 be d0      Word = .....
8070: b2 d1 8b d0 b9 20 43 4f 4d d0 9e d0 b1 d1 8a d0  ..... COM.......
8080: b5 d0 ba d1 82 28 22 57 6f 72 64 2e 41 70 70 6c  .....("Word.Appl
8090: 69 63 61 74 69 6f 6e 22 29 3b 0d 0a 20 20 20 d0  ication");..   .
80a0: 98 d1 81 d0 ba d0 bb d1 8e d1 87 d0 b5 d0 bd d0  ................
80b0: b8 d0 b5 0d 0a 20 20 20 20 20 20 d0 9f d1 80 d0  .....      .....
80c0: b5 d0 b4 d1 83 d0 bf d1 80 d0 b5 d0 b6 d0 b4 d0  ................
80d0: b5 d0 bd d0 b8 d0 b5 28 22 4d 69 63 72 6f 73 6f  .......("Microso
80e0: 66 74 20 57 6f 72 64 20 d0 bd d0 b5 20 d1 83 d1  ft Word .... ...
80f0: 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 bb d0 b5 d0  ................
8100: bd 21 22 2c 2c 22 d0 9e d1 88 d0 b8 d0 b1 d0 ba  .!",,"..........
8110: d0 b0 21 22 29 3b 0d 0a 20 20 20 20 20 20 d0 92  ..!");..      ..
8120: d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 82 3b 0d 0a 20  ............;.. 
8130: 20 20 d0 9a d0 be d0 bd d0 b5 d1 86 d0 9f d0 be    ..............
8140: d0 bf d1 8b d1 82 d0 ba d0 b8 3b 0d 0a 20 20 20  ..........;..   
8150: 0d 0a 20 20 20 d0 9d d0 b5 d1 82 d0 9e d1 88 d0  ..   ...........
8160: b8 d0 b1 d0 be d0 ba 20 3d 20 57 6f 72 64 2e 43  ....... = Word.C
8170: 68 65 63 6b 53 70 65 6c 6c 69 6e 67 28 d0 a2 d0  heckSpelling(...
8180: b5 d0 ba d1 81 d1 82 d0 94 d0 bb d1 8f d0 9f d1  ................
8190: 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 29 3b 0d  .............);.
81a0: 0a 20 20 20 d0 95 d1 81 d0 bb d0 b8 20 d0 9d d0  .   ........ ...
81b0: b5 d1 82 d0 9e d1 88 d0 b8 d0 b1 d0 be d0 ba 20  ............... 
81c0: d0 a2 d0 be d0 b3 d0 b4 d0 b0 20 2f 2f 20 d0 92  .......... // ..
81d0: d1 81 d0 b5 20 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0  .... ...........
81e0: bb d1 8c d0 bd d0 be 20 20 20 0d 0a 20 20 20 20  .......   ..    
81f0: 20 20 d0 a1 d0 be d0 be d0 b1 d1 89 d0 b8 d1 82    ..............
8200: d1 8c 28 22 d0 9d d0 b5 d1 82 20 d0 be d1 88 d0  ..("...... .....
8210: b8 d0 b1 d0 be d0 ba 22 29 3b 0d 0a 20 20 20 d0  .......");..   .
8220: 98 d0 bd d0 b0 d1 87 d0 b5 20 2f 2f 20 d1 82 d0  ......... // ...
8230: b5 d0 ba d1 81 d1 82 20 d1 81 d0 be d0 b4 d0 b5  ....... ........
8240: d1 80 d0 b6 d0 b8 d1 82 20 d0 be d1 88 d0 b8 d0  ........ .......
8250: b1 d0 ba d0 b8 2e 20 d0 9f d1 80 d0 be d0 b2 d0  ...... .........
8260: b5 d1 80 d0 b8 d0 bc 20 d0 ba d0 b0 d0 b6 d0 b4  ....... ........
8270: d0 be d0 b5 20 d1 81 d0 bb d0 be d0 b2 d0 be 20  .... .......... 
8280: d0 b8 20 d0 b2 d1 8b d0 b2 d0 b5 d0 b4 d0 b5 d0  .. .............
8290: bc 20 d0 be d1 88 d0 b8 d0 b1 d0 be d1 87 d0 bd  . ..............
82a0: d1 8b d0 b5 2e 20 20 20 0d 0a 20 20 20 20 20 20  .....   ..      
82b0: d0 94 d0 be d0 ba 20 3d 20 57 6f 72 64 2e 44 6f  ...... = Word.Do
82c0: 63 75 6d 65 6e 74 73 2e 41 64 64 28 29 3b 20 2f  cuments.Add(); /
82d0: 2f 20 d0 a1 d0 be d0 b7 d0 b4 d0 b0 d0 b4 d0 b8  / ..............
82e0: d0 bc 20 d0 bd d0 be d0 b2 d1 8b d0 b9 20 d0 b4  .. .......... ..
82f0: d0 be d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82 20 20  ..............  
8300: 20 0d 0a 20 20 20 20 20 20 d0 9e d0 b1 d0 bb d0   ..      .......
8310: b0 d1 81 d1 82 d1 8c 20 3d 20 d0 94 d0 be d0 ba  ....... = ......
8320: 2e 52 61 6e 67 65 28 30 2c 30 29 3b 20 2f 2f 20  .Range(0,0); // 
8330: d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 d0 bc 20 d0  .............. .
8340: bf d1 83 d1 81 d1 82 d1 83 d1 8e 20 d0 be d0 b1  ........... ....
8350: d0 bb d0 b0 d1 81 d1 82 d1 8c 20 d0 b2 20 d0 bd  .......... .. ..
8360: d0 b0 d1 87 d0 b0 d0 bb d0 b5 20 d0 b4 d0 be d0  .......... .....
8370: ba d1 83 d0 bc d0 b5 d0 bd d1 82 d0 b0 20 20 20  .............   
8380: 0d 0a 20 20 20 20 20 20 d0 9e d0 b1 d0 bb d0 b0  ..      ........
8390: d1 81 d1 82 d1 8c 2e 49 6e 73 65 72 74 42 65 66  .......InsertBef
83a0: 6f 72 65 28 d0 a2 d0 b5 d0 ba d1 81 d1 82 d0 94  ore(............
83b0: d0 bb d1 8f d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80  ................
83c0: d0 ba d0 b8 29 3b 20 2f 2f 20 d0 94 d0 be d0 b1  ....); // ......
83d0: d0 b0 d0 b2 d0 b8 d0 bc 20 d0 b2 20 d0 b4 d0 be  ........ .. ....
83e0: d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82 20 d1 82 d0  ............ ...
83f0: b5 d0 ba d1 81 d1 82 20 20 20 0d 0a 20 20 20 20  .......   ..    
8400: 20 20 d0 94 d0 bb d1 8f 20 d0 ba d0 b0 d0 b6 d0    ...... .......
8410: b4 d0 be d0 b3 d0 be 20 d0 a1 d0 bb d0 be d0 b2  ....... ........
8420: d0 be 20 d0 98 d0 b7 20 d0 9e d0 b1 d0 bb d0 b0  .. .... ........
8430: d1 81 d1 82 d1 8c 2e 57 6f 72 64 73 20 d0 a6 d0  .......Words ...
8440: b8 d0 ba d0 bb 0d 0a 20 20 20 20 20 20 20 20 20  .......         
8450: d0 a1 d0 bb d0 be d0 b2 d0 be d0 94 d0 bb d1 8f  ................
8460: d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8  ................
8470: 20 3d 20 d0 a1 d0 be d0 ba d1 80 d0 9b d0 9f 28   = ............(
8480: d0 a1 d0 bb d0 be d0 b2 d0 be 2e 54 65 78 74 29  ...........Text)
8490: 3b 0d 0a 20 20 20 20 20 20 20 20 20 d0 9d d0 b5  ;..         ....
84a0: d1 82 d0 9e d1 88 d0 b8 d0 b1 d0 be d0 ba 20 3d  .............. =
84b0: 20 57 6f 72 64 2e 43 68 65 63 6b 53 70 65 6c 6c   Word.CheckSpell
84c0: 69 6e 67 28 d0 a1 d0 bb d0 be d0 b2 d0 be d0 94  ing(............
84d0: d0 bb d1 8f d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80  ................
84e0: d0 ba d0 b8 29 3b 0d 0a 20 20 20 20 20 20 20 20  ....);..        
84f0: 20 d0 95 d1 81 d0 bb d0 b8 20 d0 9d d0 95 20 d0   ........ .... .
8500: 9d d0 b5 d1 82 d0 9e d1 88 d0 b8 d0 b1 d0 be d0  ................
8510: ba 20 d0 a2 d0 be d0 b3 d0 b4 d0 b0 20 2f 2f 20  . .......... // 
8520: d0 a1 d0 bb d0 be d0 b2 d0 be 20 d0 be d1 88 d0  .......... .....
8530: b8 d0 b1 d0 be d1 87 d0 bd d0 be 20 20 20 0d 0a  ...........   ..
8540: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0              // .
8550: bf d0 be d0 ba d0 b0 d0 b6 d0 b5 d0 bc 20 d0 b2  ............. ..
8560: d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d1 8b d0 b5  ................
8570: 20 d0 b7 d0 b0 d0 bc d0 b5 d0 bd d1 8b 20 d0 bd   ............ ..
8580: d0 b5 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c  ................
8590: d0 bd d0 be d0 b3 d0 be 20 d1 81 d0 bb d0 be d0  ........ .......
85a0: b2 d0 b0 20 20 20 0d 0a 20 20 20 20 20 20 20 20  ...   ..        
85b0: 20 20 20 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0      ............
85c0: d0 92 d0 b0 d1 80 d0 b8 d0 b0 d0 bd d1 82 d0 be  ................
85d0: d0 b2 20 3d 20 22 22 3b 0d 0a 20 20 20 20 20 20  .. = "";..      
85e0: 20 20 20 20 20 20 2f 2f 20 d0 9f d0 be d0 bb d1        // .......
85f0: 83 d1 87 d0 b8 d0 bc 20 d0 b2 d0 b0 d1 80 d0 b8  ....... ........
8600: d0 b0 d0 bd d1 82 d1 8b 20 d0 bf d1 80 d0 b0 d0  ........ .......
8610: b2 d0 be d0 bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d1  ................
8620: 8f 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20  .   ..          
8630: 20 20 d0 92 d0 b0 d1 80 d0 b8 d0 b0 d0 bd d1 82    ..............
8640: d1 8b 20 3d 20 d0 a1 d0 bb d0 be d0 b2 d0 be 2e  .. = ...........
8650: 47 65 74 53 70 65 6c 6c 69 6e 67 53 75 67 67 65  GetSpellingSugge
8660: 73 74 69 6f 6e 73 28 20 2c 31 2c 20 2c 30 29 3b  stions( ,1, ,0);
8670: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 d0 94  ..            ..
8680: d0 bb d1 8f 20 d0 ba d0 b0 d0 b6 d0 b4 d0 be d0  .... ...........
8690: b3 d0 be 20 d0 92 d0 b0 d1 80 d0 b8 d0 b0 d0 bd  ... ............
86a0: d1 82 20 d0 98 d0 b7 20 d0 92 d0 b0 d1 80 d0 b8  .. .... ........
86b0: d0 b0 d0 bd d1 82 d1 8b 20 d0 a6 d0 b8 d0 ba d0  ........ .......
86c0: bb 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
86d0: 20 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 92    ..............
86e0: d0 b0 d1 80 d0 b8 d0 b0 d0 bd d1 82 d0 be d0 b2  ................
86f0: 20 3d 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0   = .............
8700: 92 d0 b0 d1 80 d0 b8 d0 b0 d0 bd d1 82 d0 be d0  ................
8710: b2 20 2b 20 22 2c 20 22 20 2b 20 d0 92 d0 b0 d1  . + ", " + .....
8720: 80 d0 b8 d0 b0 d0 bd d1 82 2e 4e 61 6d 65 3b 0d  ..........Name;.
8730: 0a 20 20 20 20 20 20 20 20 20 20 20 20 d0 9a d0  .            ...
8740: be d0 bd d0 b5 d1 86 d0 a6 d0 b8 d0 ba d0 bb d0  ................
8750: b0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  .;..            
8760: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 92 d0 b0  ................
8770: d1 80 d0 b8 d0 b0 d0 bd d1 82 d0 be d0 b2 20 3d  .............. =
8780: 20 22 2e 20 d0 92 d0 b0 d1 80 d0 b8 d0 b0 d0 bd   ". ............
8790: d1 82 d1 8b 20 d0 b7 d0 b0 d0 bc d0 b5 d0 bd d1  .... ...........
87a0: 8b 3a 20 22 20 2b 20 d0 a1 d1 80 d0 b5 d0 b4 28  .: " + ........(
87b0: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 92 d0 b0  ................
87c0: d1 80 d0 b8 d0 b0 d0 bd d1 82 d0 be d0 b2 2c 20  .............., 
87d0: 32 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  2);..           
87e0: 20 d0 a1 d0 be d0 be d0 b1 d1 89 d0 b8 d1 82 d1   ...............
87f0: 8c 28 22 d0 9e d1 88 d0 b8 d0 b1 d0 ba d0 b0 20  .("............ 
8800: d0 b2 20 d1 81 d0 bb d0 be d0 b2 d0 b5 3a 20 22  .. ..........: "
8810: 20 2b 20 d0 a1 d0 bb d0 be d0 b2 d0 be d0 94 d0   + .............
8820: bb d1 8f d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0  ................
8830: ba d0 b8 20 2b 20 d0 a1 d1 82 d1 80 d0 be d0 ba  ... + ..........
8840: d0 b0 d0 92 d0 b0 d1 80 d0 b8 d0 b0 d0 bd d1 82  ................
8850: d0 be d0 b2 29 3b 0d 0a 20 20 20 20 20 20 20 20  ....);..        
8860: 20 d0 9a d0 be d0 bd d0 b5 d1 86 d0 95 d1 81 d0   ...............
8870: bb d0 b8 3b 0d 0a 20 20 20 20 20 d0 9a d0 be d0  ...;..     .....
8880: bd d0 b5 d1 86 d0 a6 d0 b8 d0 ba d0 bb d0 b0 3b  ...............;
8890: 0d 0a 20 20 20 d0 94 d0 be d0 ba 2e 43 6c 6f 73  ..   .......Clos
88a0: 65 28 30 2c 2c 29 3b 20 2f 2f 20 d0 b7 d0 b0 d0  e(0,,); // .....
88b0: ba d1 80 d0 be d0 b5 d0 bc 20 d0 b4 d0 be d0 ba  ......... ......
88c0: d1 83 d0 bc d0 b5 d0 bd d1 82 20 d0 b1 d0 b5 d0  .......... .....
88d0: b7 20 d1 81 d0 be d1 85 d1 80 d0 b0 d0 bd d0 b5  . ..............
88e0: d0 bd d0 b8 d1 8f 20 77 64 44 6f 4e 6f 74 53 61  ...... wdDoNotSa
88f0: 76 65 43 68 61 6e 67 65 73 20 20 20 0d 0a 20 20  veChanges   ..  
8900: 20 d0 9a d0 be d0 bd d0 b5 d1 86 d0 95 d1 81 d0   ...............
8910: bb d0 b8 3b 0d 0a 20 20 20 57 6f 72 64 2e 51 75  ...;..   Word.Qu
8920: 69 74 28 29 3b 20 2f 2f 20 d0 b7 d0 b0 d0 ba d1  it(); // .......
8930: 80 d0 be d0 b5 d0 bc 20 57 6f 72 64 20 20 20 0d  ....... Word   .
8940: 0a d0 9a d0 be d0 bd d0 b5 d1 86 d0 9f d1 80 d0  ................
8950: be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 20 2a 2f  ............. */
8960: 0d 0a 0d 0a 2f 2f 2f 2f 2f 7d 0d 0a 0d 0a 0d 0a  ..../////}......
8970: 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ..//////////////
8980: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8990: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
89a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
89b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
89c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f  //////////..////
89d0: 7b 20 53 74 61 72 74 20 75 70 0d 0a 2f 2f 2f 2f  { Start up..////
89e0: 0d 0a 0d 0a 76 61 72 20 56 61 6c 75 65 4c 69 73  ....var ValueLis
89f0: 74 20 3d 20 76 38 4e 65 77 28 22 56 61 6c 75 65  t = v8New("Value
8a00: 4c 69 73 74 22 29 3b 0d 0a 76 61 72 20 70 72 65  List");..var pre
8a10: 66 69 78 4c 69 73 74 20 3d 20 76 38 4e 65 77 28  fixList = v8New(
8a20: 22 56 61 6c 75 65 4c 69 73 74 22 29 3b 0d 0a 76  "ValueList");..v
8a30: 61 72 20 73 75 66 66 69 78 4c 69 73 74 20 3d 20  ar suffixList = 
8a40: 76 38 4e 65 77 28 22 56 61 6c 75 65 4c 69 73 74  v8New("ValueList
8a50: 22 29 3b 0d 0a 73 65 74 74 69 6e 67 73 20 3d 20  ");..settings = 
8a60: 53 65 74 74 69 6e 67 73 4d 61 6e 61 67 65 6d 65  SettingsManageme
8a70: 6e 74 2e 43 72 65 61 74 65 4d 61 6e 61 67 65 72  nt.CreateManager
8a80: 28 27 53 70 65 6c 6c 43 68 65 63 6b 65 72 27 2c  ('SpellChecker',
8a90: 20 7b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20   { ..           
8aa0: 20 20 20 20 20 20 20 20 20 27 70 72 6f 76 69 64           'provid
8ab0: 65 72 27 3a 20 22 6c 69 62 72 65 6f 66 66 69 63  er': "libreoffic
8ac0: 65 22 2c 20 20 2f 2f 77 6f 72 64 2c 20 6c 69 62  e",  //word, lib
8ad0: 72 65 6f 66 66 69 63 65 2c 20 61 73 70 65 6c 6c  reoffice, aspell
8ae0: 2c 20 69 6e 74 65 72 6e 65 74 20 59 61 6e 64 65  , internet Yande
8af0: 78 2e 2e 2e 20 0d 0a 20 20 20 20 20 20 20 20 20  x... ..         
8b00: 20 20 20 20 20 20 20 20 20 20 20 27 64 69 63 74             'dict
8b10: 27 3a 20 56 61 6c 75 65 4c 69 73 74 2c 20 2f 2f  ': ValueList, //
8b20: 20 d1 81 d1 82 d1 80 d1 83 d0 ba d1 82 d1 83 d1   ...............
8b30: 80 d0 b0 20 d1 81 20 d0 b8 d0 b3 d0 bd d0 be d1  ... .. .........
8b40: 80 d0 b8 d1 80 d1 83 d0 b5 d0 bc d1 8b d0 bc d0  ................
8b50: b8 20 d1 81 d0 bb d0 be d0 b2 d0 b0 d0 bc d0 b8  . ..............
8b60: 2e 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  . ..            
8b70: 20 20 20 20 20 20 20 20 27 70 72 65 66 69 78 27          'prefix'
8b80: 3a 70 72 65 66 69 78 4c 69 73 74 2c 0d 0a 20 20  :prefixList,..  
8b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8ba0: 20 20 27 73 75 66 66 69 78 27 3a 73 75 66 66 69    'suffix':suffi
8bb0: 78 4c 69 73 74 0d 0a 20 20 20 20 20 20 20 20 20  xList..         
8bc0: 20 20 20 20 20 20 20 20 20 20 20 7d 29 0d 0a 73             })..s
8bd0: 65 74 74 69 6e 67 73 2e 4c 6f 61 64 53 65 74 74  ettings.LoadSett
8be0: 69 6e 67 73 28 29 3b 0d 0a 76 61 72 20 d0 bc d0  ings();..var ...
8bf0: a6 d0 b2 d0 b5 d1 82 20 3d 20 76 38 4e 65 77 28  ....... = v8New(
8c00: 22 d0 a6 d0 b2 d0 b5 d1 82 22 2c 20 32 35 35 2c  "........", 255,
8c10: 20 30 2c 20 30 29 3b 0d 0a 2f 2f 2f 2f 0d 0a 2f   0, 0);..////../
8c20: 2f 2f 2f 7d 20 53 74 61 72 74 20 75 70 0d 0a 2f  ///} Start up../
8c30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8c40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8c50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8c60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8c70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
8c80: 2f 2f 2f 2f 2f 2f 2f 0d 0a                       ///////..