Hex Artifact Content Вы: nobody
Вход

Artifact 635072cc647eb7721b829ba2c194d277b32fb8be:


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 73 6e 69 70 70  pt..$uname snipp
0020: 65 74 73 0d 0a 24 64 6e 61 6d 65 20 d0 a8 d0 b0  ets..$dname ....
0030: d0 b1 d0 bb d0 be d0 bd d1 8b 20 d0 ba d0 be d0  .......... .....
0040: b4 d0 b0 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62  .....$addin glob
0050: 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 6c 69  al..$addin stdli
0060: 62 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  b....///////////
0070: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
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 0d 0a 2f  /////////////../
00c0: 2f 2f 2f 7b 20 43 d0 ba d1 80 d0 b8 d0 bf d1 82  ///{ C..........
00d0: 20 22 d0 a8 d0 b0 d0 b1 d0 bb d0 be d0 bd d1 8b   "..............
00e0: 20 d0 ba d0 be d0 b4 d0 b0 22 20 28 73 6e 69 70   ........" (snip
00f0: 70 65 74 73 2e 6a 73 29 20 d0 b4 d0 bb d1 8f 20  pets.js) ...... 
0100: d0 bf d1 80 d0 be d0 b5 d0 ba d1 82 d0 b0 20 22  .............. "
0110: d0 a1 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82  ................
0120: 22 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 20 d0 9e  "..////..//// ..
0130: d0 bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 3a 20  ..............: 
0140: d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd  ................
0150: d0 b8 d0 b5 20 d0 b2 d0 be d0 b7 d0 bc d0 be d0  .... ...........
0160: b6 d0 bd d0 be d1 81 d1 82 d0 b5 d0 b9 20 d0 bc  ............. ..
0170: d0 b5 d1 85 d0 b0 d0 bd d0 b8 d0 b7 d0 bc d0 b0  ................
0180: 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 be d0   ...............
0190: b2 20 d0 ba d0 be d0 b4 d0 b0 20 31 d0 a1 3a d0  . ........ 1..:.
01a0: 9f d1 80 d0 b5 d0 b4 d0 bf d1 80 d0 b8 d1 8f d1  ................
01b0: 82 d0 b8 d1 8f 20 38 2e 0d 0a 2f 2f 2f 2f 20 d0  ..... 8...//// .
01c0: 90 d0 b2 d1 82 d0 be d1 80 3a 20 d0 90 d0 bb d0  .........: .....
01d0: b5 d0 ba d1 81 d0 b0 d0 bd d0 b4 d1 80 20 d0 9a  ............. ..
01e0: d1 83 d0 bd d1 82 d0 b0 d1 88 d0 be d0 b2 20 3c  .............. <
01f0: 6b 75 6e 74 61 73 68 6f 76 40 67 6d 61 69 6c 2e  kuntashov@gmail.
0200: 63 6f 6d 3e 2c 20 68 74 74 70 3a 2f 2f 63 6f 6d  com>, http://com
0210: 70 61 75 64 2e 72 75 2f 62 6c 6f 67 0d 0a 2f 2f  paud.ru/blog..//
0220: 2f 2f 7d 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  //}..///////////
0230: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0240: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0250: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0260: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0270: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d  /////////////...
0280: 0a 67 6c 6f 62 61 6c 2e 63 6f 6e 6e 65 63 74 47  .global.connectG
0290: 6c 6f 62 61 6c 73 28 53 65 6c 66 53 63 72 69 70  lobals(SelfScrip
02a0: 74 29 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75  t);..stdlib.requ
02b0: 69 72 65 28 27 54 65 78 74 57 69 6e 64 6f 77 2e  ire('TextWindow.
02c0: 6a 73 27 2c 20 53 65 6c 66 53 63 72 69 70 74 29  js', SelfScript)
02d0: 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75 69 72  ;..stdlib.requir
02e0: 65 28 27 53 74 72 65 61 6d 4c 69 62 2e 6a 73 27  e('StreamLib.js'
02f0: 2c 20 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a  , SelfScript);..
0300: 73 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28 27  stdlib.require('
0310: 53 65 74 74 69 6e 67 73 4d 61 6e 61 67 65 6d 65  SettingsManageme
0320: 6e 74 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72 69  nt.js', SelfScri
0330: 70 74 29 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71  pt);..stdlib.req
0340: 75 69 72 65 28 22 53 65 6c 65 63 74 56 61 6c 75  uire("SelectValu
0350: 65 44 69 61 6c 6f 67 2e 6a 73 22 2c 20 53 65 6c  eDialog.js", Sel
0360: 66 53 63 72 69 70 74 29 3b 0d 0a 0d 0a 2f 2f 2f  fScript);....///
0370: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0380: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0390: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
03a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
03b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
03c0: 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 d0 9c d0  /////..////{ ...
03d0: b0 d0 ba d1 80 d0 be d1 81 d1 8b 0d 0a 2f 2f 2f  .............///
03e0: 2f 0d 0a 0d 0a 2f 2a 20 d0 92 d1 8b d0 bf d0 be  /..../* ........
03f0: d0 bb d0 bd d1 8f d0 b5 d1 82 20 d0 bf d0 be d0  .......... .....
0400: b4 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 ba d1  ................
0410: 83 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 b0  . ..............
0420: 2c 20 d0 b2 d1 8b d0 b1 d1 80 d0 b0 d0 bd d0 bd  , ..............
0430: d0 be d0 b3 d0 be 20 d0 b8 d0 b7 20 d0 b2 d1 8b  ...... .... ....
0440: d0 bf d0 b0 d0 b4 d0 b0 d1 8e d1 89 d0 b5 d0 b3  ................
0450: d0 be 20 d1 81 d0 bf d0 b8 d1 81 d0 ba d0 b0 20  .. ............ 
0460: d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 be d0 b2  ................
0470: 2e 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d  . */..function m
0480: 61 63 72 6f 73 d0 92 d1 8b d0 bf d0 be d0 bb d0  acros...........
0490: bd d0 b8 d1 82 d1 8c d0 9f d0 be d0 b4 d1 81 d1  ................
04a0: 82 d0 b0 d0 bd d0 be d0 b2 d0 ba d1 83 d0 a8 d0  ................
04b0: b0 d0 b1 d0 bb d0 be d0 bd d0 b0 28 29 20 7b 0d  ...........() {.
04c0: 0a 20 20 20 20 76 61 72 20 73 6d 20 3d 20 47 65  .    var sm = Ge
04d0: 74 53 6e 69 70 70 65 74 73 4d 61 6e 61 67 65 72  tSnippetsManager
04e0: 28 29 3b 0d 0a 20 20 20 20 73 6d 2e 69 6e 73 65  ();..    sm.inse
04f0: 72 74 53 6e 69 70 70 65 74 28 29 3b 0d 0a 7d 0d  rtSnippet();..}.
0500: 0a 0d 0a 2f 2a 20 d0 9f d0 b5 d1 80 d0 b5 d0 b7  .../* ..........
0510: d0 b0 d0 b3 d1 80 d1 83 d0 b6 d0 b0 d0 b5 d1 82  ................
0520: 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 20 d1 88   ............ ..
0530: d0 b0 d0 b1 d0 bb d0 be d0 bd d0 be d0 b2 20 28  .............. (
0540: d0 bd d0 b0 d0 bf d1 80 d0 b8 d0 bc d0 b5 d1 80  ................
0550: 2c 20 d0 bf d0 be d1 81 d0 bb d0 b5 20 d1 80 d0  , .......... ...
0560: b5 d0 b4 d0 b0 d0 ba d1 82 d0 b8 d1 80 d0 be d0  ................
0570: b2 d0 b0 d0 bd d0 b8 d1 8f 20 d1 88 d0 b0 d0 b1  ......... ......
0580: d0 bb d0 be d0 bd d0 b0 29 2e 20 2a 2f 0d 0a 66  ........). */..f
0590: 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 d0 9f  unction macros..
05a0: d0 b5 d1 80 d0 b5 d0 b7 d0 b0 d0 b3 d1 80 d1 83  ................
05b0: d0 b7 d0 b8 d1 82 d1 8c d0 a8 d0 b0 d0 b1 d0 bb  ................
05c0: d0 be d0 bd d1 8b 28 29 20 7b 0d 0a 20 20 20 20  ......() {..    
05d0: 76 61 72 20 73 6d 20 3d 20 47 65 74 53 6e 69 70  var sm = GetSnip
05e0: 70 65 74 73 4d 61 6e 61 67 65 72 28 29 3b 0d 0a  petsManager();..
05f0: 20 20 20 20 73 6d 2e 72 65 6c 6f 61 64 54 65 6d      sm.reloadTem
0600: 70 6c 61 74 65 73 28 29 3b 0d 0a 7d 0d 0a 0d 0a  plates();..}....
0610: 2f 2a 20 d0 9e d1 82 d0 ba d1 80 d1 8b d0 b2 d0  /* .............
0620: b0 d0 b5 d1 82 20 d0 b4 d0 b8 d0 b0 d0 bb d0 be  ..... ..........
0630: d0 b3 20 d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0  .. .............
0640: b9 d0 ba d0 b8 20 d1 81 d0 ba d1 80 d0 b8 d0 bf  ..... ..........
0650: d1 82 d0 b0 2e 20 2a 2f 0d 0a 66 75 6e 63 74 69  ..... */..functi
0660: 6f 6e 20 6d 61 63 72 6f 73 d0 9e d1 82 d0 ba d1  on macros.......
0670: 80 d1 8b d1 82 d1 8c d0 9d d0 b0 d1 81 d1 82 d1  ................
0680: 80 d0 be d0 b9 d0 ba d0 b8 d0 a1 d0 ba d1 80 d0  ................
0690: b8 d0 bf d1 82 d0 b0 28 29 20 7b 0d 0a 20 20 20  .......() {..   
06a0: 20 76 61 72 20 73 6d 20 3d 20 47 65 74 53 6e 69   var sm = GetSni
06b0: 70 70 65 74 73 4d 61 6e 61 67 65 72 28 29 3b 0d  ppetsManager();.
06c0: 0a 20 20 20 20 76 61 72 20 73 65 74 74 69 6e 67  .    var setting
06d0: 73 44 69 61 6c 6f 67 20 3d 20 6e 65 77 20 53 65  sDialog = new Se
06e0: 74 74 69 6e 67 73 4d 61 6e 61 67 65 72 44 69 61  ttingsManagerDia
06f0: 6c 6f 67 28 73 6d 2e 73 65 74 74 69 6e 67 73 29  log(sm.settings)
0700: 3b 0d 0a 20 20 20 20 73 65 74 74 69 6e 67 73 44  ;..    settingsD
0710: 69 61 6c 6f 67 2e 4f 70 65 6e 28 29 3b 0d 0a 7d  ialog.Open();..}
0720: 0d 0a 0d 0a 2f 2a 20 d0 9f d0 be d0 b7 d0 b2 d0  ..../* .........
0730: be d0 bb d1 8f d0 b5 d1 82 20 d0 b2 d1 81 d1 82  ......... ......
0740: d0 b0 d0 b2 d0 bb d1 8f d1 82 d1 8c 20 d1 80 d0  ............ ...
0750: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 bd d1  ................
0760: 8b d0 b5 20 d1 83 d0 bf d1 80 d0 b0 d0 b2 d0 bb  ... ............
0770: d1 8f d1 8e d1 89 d0 b8 d0 b5 20 d0 ba d0 be d0  .......... .....
0780: bd d1 81 d1 82 d1 80 d1 83 d0 ba d1 86 d0 b8 d0  ................
0790: b8 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 be  . ..............
07a0: d0 b2 20 d0 b8 d0 b7 20 d1 81 d0 bf d0 b8 d1 81  .. .... ........
07b0: d0 ba d0 b0 20 d0 b2 d1 8b d0 b1 d0 be d1 80 d0  .... ...........
07c0: b0 2e 20 0d 0a d0 9f d1 80 d0 b5 d0 b4 d0 bd d0  .. .............
07d0: b0 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd 20 d0 b4  ............. ..
07e0: d0 bb d1 8f 20 d0 b8 d1 81 d0 bf d0 be d0 bb d1  .... ...........
07f0: 8c d0 b7 d0 be d0 b2 d0 b0 d0 bd d0 b8 d1 8f 20  ............... 
0800: d0 b2 20 d1 88 d1 82 d0 b0 d1 82 d0 bd d0 be d0  .. .............
0810: bc 20 d1 80 d0 b5 d0 b4 d0 b0 d0 ba d1 82 d0 be  . ..............
0820: d1 80 d0 b5 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0  .... ...........
0830: bd d0 be d0 b2 20 d0 b4 d0 bb d1 8f 20 d0 b2 d1  ..... ...... ...
0840: 81 d1 82 d0 b0 d0 b2 d0 ba d0 b8 20 d1 80 d0 b0  ........... ....
0850: d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 bd d1 8b  ................
0860: d1 85 20 0d 0a d1 83 d0 bf d1 80 d0 b0 d0 b2 d0  .. .............
0870: bb d1 8f d1 8e d1 89 d0 b8 d1 85 20 d0 ba d0 be  ........... ....
0880: d0 bd d1 81 d1 82 d1 80 d1 83 d0 ba d1 86 d0 b8  ................
0890: d0 b9 2e 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e  ... */..function
08a0: 20 6d 61 63 72 6f 73 d0 92 d1 81 d1 82 d0 b0 d0   macros.........
08b0: b2 d0 b8 d1 82 d1 8c d0 a0 d0 b0 d1 81 d1 88 d0  ................
08c0: b8 d1 80 d0 b5 d0 bd d0 bd d1 83 d1 8e d0 a3 d0  ................
08d0: bf d1 80 d0 b0 d0 b2 d0 bb d1 8f d1 8e d1 89 d1  ................
08e0: 83 d1 8e d0 9a d0 be d0 bd d1 81 d1 82 d1 80 d1  ................
08f0: 83 d0 ba d1 86 d0 b8 d1 8e 28 29 20 7b 0d 0a 0d  .........() {...
0900: 0a 20 20 20 20 76 61 72 20 77 20 3d 20 47 65 74  .    var w = Get
0910: 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20  TextWindow();.. 
0920: 20 20 20 69 66 20 28 21 77 29 20 72 65 74 75 72     if (!w) retur
0930: 6e 3b 0d 0a 0d 0a 20 20 20 20 76 61 72 20 73 6d  n;....    var sm
0940: 20 3d 20 47 65 74 53 6e 69 70 70 65 74 73 4d 61   = GetSnippetsMa
0950: 6e 61 67 65 72 28 29 3b 0d 0a 20 20 20 20 76 61  nager();..    va
0960: 72 20 70 61 72 61 6d 73 20 3d 20 73 6d 2e 70 61  r params = sm.pa
0970: 72 61 6d 73 4d 61 6e 61 67 65 72 2e 67 65 74 41  ramsManager.getA
0980: 6c 6c 50 61 72 61 6d 73 28 29 3b 0d 0a 20 20 20  llParams();..   
0990: 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c 50 61   ..    var selPa
09a0: 72 61 6d 20 3d 20 73 6d 2e 73 65 6c 65 63 74 56  ram = sm.selectV
09b0: 61 6c 75 65 28 70 61 72 61 6d 73 29 3b 0d 0a 20  alue(params);.. 
09c0: 20 20 20 69 66 20 28 73 65 6c 50 61 72 61 6d 29     if (selParam)
09d0: 0d 0a 20 20 20 20 20 20 20 20 77 2e 53 65 74 53  ..        w.SetS
09e0: 65 6c 65 63 74 65 64 54 65 78 74 28 27 3c 25 27  electedText('<%'
09f0: 20 2b 20 73 65 6c 50 61 72 61 6d 20 2b 20 27 3e   + selParam + '>
0a00: 27 29 3b 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 2f 2a  ');    ..}..../*
0a10: 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0   ...............
0a20: b0 d0 b5 d1 82 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0  ..... ..........
0a30: d0 bd d0 b8 d0 b5 20 d0 bc d0 b0 d0 ba d1 80 d0  ...... .........
0a40: be d1 81 d0 b0 20 d0 bf d0 be 20 d1 83 d0 bc d0  ..... .... .....
0a50: be d0 bb d1 87 d0 b0 d0 bd d0 b8 d1 8e 20 2d 20  ............. - 
0a60: d0 b2 d1 8b d0 b7 d1 8b d0 b2 d0 b0 d0 b5 d1 82  ................
0a70: d1 81 d1 8f 2c 20 d0 ba d0 be d0 b3 d0 b4 d0 b0  ...., ..........
0a80: 20 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be d0 b2 d0   ...............
0a90: b0 d1 82 d0 b5 d0 bb d1 8c 20 0d 0a d0 b4 d0 b2  ......... ......
0aa0: d0 b0 d0 b6 d0 b4 d1 8b 20 d1 89 d0 b5 d0 bb d0  ........ .......
0ab0: ba d0 b0 d0 b5 d1 82 20 d0 bc d1 8b d1 88 d1 8c  ....... ........
0ac0: d1 8e 20 d0 bf d0 be 20 d0 bd d0 b0 d0 b7 d0 b2  .. .... ........
0ad0: d0 b0 d0 bd d0 b8 d1 8e 20 d1 81 d0 ba d1 80 d0  ........ .......
0ae0: b8 d0 bf d1 82 d0 b0 20 d0 b2 20 d0 be d0 ba d0  ....... .. .....
0af0: bd d0 b5 20 d0 a1 d0 bd d0 b5 d0 b3 d0 be d0 bf  ... ............
0b00: d0 b0 d1 82 d0 b0 2e 20 2a 2f 0d 0a 66 75 6e 63  ....... */..func
0b10: 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 4d  tion getDefaultM
0b20: 61 63 72 6f 73 28 29 20 7b 0d 0a 20 20 20 20 72  acros() {..    r
0b30: 65 74 75 72 6e 20 27 d0 9e d1 82 d0 ba d1 80 d1  eturn '.........
0b40: 8b d1 82 d1 8c d0 9d d0 b0 d1 81 d1 82 d1 80 d0  ................
0b50: be d0 b9 d0 ba d0 b8 d0 a1 d0 ba d1 80 d0 b8 d0  ................
0b60: bf d1 82 d0 b0 27 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f  .....';..}....//
0b70: 2f 2f 7d 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 81  //} ............
0b80: d1 8b 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ......//////////
0b90: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0ba0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0bb0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0bc0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0bd0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
0be0: 2f 2f 2f 2f 7b 20 53 6e 69 70 70 65 74 73 4d 61  ////{ SnippetsMa
0bf0: 6e 61 67 65 72 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 66  nager..////....f
0c00: 75 6e 63 74 69 6f 6e 20 53 6e 69 70 70 65 74 73  unction Snippets
0c10: 4d 61 6e 61 67 65 72 28 29 20 7b 0d 0a 0d 0a 20  Manager() {.... 
0c20: 20 20 20 53 6e 69 70 70 65 74 73 4d 61 6e 61 67     SnippetsManag
0c30: 65 72 2e 5f 69 6e 73 74 61 6e 63 65 20 3d 20 74  er._instance = t
0c40: 68 69 73 3b 0d 0a 0d 0a 20 20 20 20 74 68 69 73  his;....    this
0c50: 2e 73 65 74 74 69 6e 67 73 20 3d 20 53 65 74 74  .settings = Sett
0c60: 69 6e 67 73 4d 61 6e 61 67 65 6d 65 6e 74 2e 43  ingsManagement.C
0c70: 72 65 61 74 65 4d 61 6e 61 67 65 72 28 53 65 6c  reateManager(Sel
0c80: 66 53 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61  fScript.uniqueNa
0c90: 6d 65 2c 20 7b 27 54 65 6d 70 6c 61 74 65 46 69  me, {'TemplateFi
0ca0: 6c 65 73 4c 69 73 74 27 3a 67 65 74 44 65 66 61  lesList':getDefa
0cb0: 75 6c 74 54 65 6d 70 6c 61 74 65 73 4c 69 73 74  ultTemplatesList
0cc0: 28 29 7d 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e  ()});..    this.
0cd0: 73 65 74 74 69 6e 67 73 2e 4c 6f 61 64 53 65 74  settings.LoadSet
0ce0: 74 69 6e 67 73 28 29 3b 20 20 20 20 0d 0a 20 20  tings();    ..  
0cf0: 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 5f 73 6e    ..    this._sn
0d00: 69 70 70 65 74 73 20 3d 20 7b 7d 3b 0d 0a 20 20  ippets = {};..  
0d10: 20 20 74 68 69 73 2e 5f 73 6e 69 70 70 65 74 4e    this._snippetN
0d20: 61 6d 65 73 20 3d 20 6e 65 77 20 41 72 72 61 79  ames = new Array
0d30: 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74  ();..    ..    t
0d40: 68 69 73 2e 70 61 72 61 6d 73 4d 61 6e 61 67 65  his.paramsManage
0d50: 72 20 3d 20 6e 65 77 20 53 6e 69 70 70 65 74 50  r = new SnippetP
0d60: 61 72 61 6d 65 74 65 72 73 4d 61 6e 61 67 65 72  arametersManager
0d70: 28 29 3b 20 20 20 20 20 20 20 20 20 0d 0a 20 20  ();         ..  
0d80: 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 6c 6f 61    ..    this.loa
0d90: 64 54 65 6d 70 6c 61 74 65 73 28 29 3b 0d 0a 7d  dTemplates();..}
0da0: 0d 0a 0d 0a 53 6e 69 70 70 65 74 73 4d 61 6e 61  ....SnippetsMana
0db0: 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 6c 6f  ger.prototype.lo
0dc0: 61 64 54 65 6d 70 6c 61 74 65 73 20 3d 20 66 75  adTemplates = fu
0dd0: 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20  nction() {..    
0de0: 76 61 72 20 73 74 46 69 6c 65 73 20 3d 20 74 68  var stFiles = th
0df0: 69 73 2e 73 65 74 74 69 6e 67 73 2e 63 75 72 72  is.settings.curr
0e00: 65 6e 74 2e 54 65 6d 70 6c 61 74 65 46 69 6c 65  ent.TemplateFile
0e10: 73 4c 69 73 74 3b 0d 0a 20 20 20 20 66 6f 72 28  sList;..    for(
0e20: 76 61 72 20 69 3d 30 3b 20 69 3c 73 74 46 69 6c  var i=0; i<stFil
0e30: 65 73 2e 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29  es.Count(); i++)
0e40: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 6c  ..        this.l
0e50: 6f 61 64 53 74 46 69 6c 65 28 67 65 74 41 62 73  oadStFile(getAbs
0e60: 6f 6c 75 74 65 50 61 74 68 28 73 74 46 69 6c 65  olutePath(stFile
0e70: 73 2e 47 65 74 28 69 29 2e 56 61 6c 75 65 29 29  s.Get(i).Value))
0e80: 3b 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70 70 65 74 73  ;..}....Snippets
0e90: 4d 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74 79 70  Manager.prototyp
0ea0: 65 2e 72 65 6c 6f 61 64 54 65 6d 70 6c 61 74 65  e.reloadTemplate
0eb0: 73 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  s = function() {
0ec0: 0d 0a 20 20 20 20 74 68 69 73 2e 5f 73 6e 69 70  ..    this._snip
0ed0: 70 65 74 73 20 3d 20 7b 7d 3b 0d 0a 20 20 20 20  pets = {};..    
0ee0: 74 68 69 73 2e 5f 73 6e 69 70 70 65 74 4e 61 6d  this._snippetNam
0ef0: 65 73 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29  es = new Array()
0f00: 3b 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e  ;    ..    this.
0f10: 6c 6f 61 64 54 65 6d 70 6c 61 74 65 73 28 29 3b  loadTemplates();
0f20: 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70 70 65 74 73 4d  ..}....SnippetsM
0f30: 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74 79 70 65  anager.prototype
0f40: 2e 6c 6f 61 64 53 74 46 69 6c 65 20 3d 20 66 75  .loadStFile = fu
0f50: 6e 63 74 69 6f 6e 28 66 69 6c 65 6e 61 6d 65 29  nction(filename)
0f60: 20 7b 0d 0a 20 20 20 20 76 61 72 20 73 70 20 3d   {..    var sp =
0f70: 20 53 74 72 65 61 6d 46 61 63 74 6f 72 79 2e 43   StreamFactory.C
0f80: 72 65 61 74 65 50 61 72 73 65 72 28 29 3b 0d 0a  reateParser();..
0f90: 20 20 20 20 69 66 20 28 73 70 2e 72 65 61 64 53      if (sp.readS
0fa0: 74 72 65 61 6d 46 72 6f 6d 46 69 6c 65 28 66 69  treamFromFile(fi
0fb0: 6c 65 6e 61 6d 65 29 29 0d 0a 20 20 20 20 7b 0d  lename))..    {.
0fc0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 72 72  .        var arr
0fd0: 20 3d 20 73 70 2e 70 61 72 73 65 28 29 0d 0a 20   = sp.parse().. 
0fe0: 20 20 20 20 20 20 20 69 66 20 28 21 61 72 72 29         if (!arr)
0ff0: 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20   return;..      
1000: 20 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0    ..        // .
1010: 97 d0 b0 d0 b3 d1 80 d1 83 d0 b6 d0 b0 d0 b5 d0  ................
1020: bc 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d1 8b  . ..............
1030: 2e 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72  ...        retur
1040: 6e 20 74 68 69 73 2e 5f 6c 6f 61 64 53 74 45 6c  n this._loadStEl
1050: 65 6d 65 6e 74 28 61 72 72 5b 31 5d 29 3b 0d 0a  ement(arr[1]);..
1060: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
1070: 20 20 7d 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70 70 65    }..}....Snippe
1080: 74 73 4d 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74  tsManager.protot
1090: 79 70 65 2e 5f 6c 6f 61 64 53 74 45 6c 65 6d 65  ype._loadStEleme
10a0: 6e 74 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 74  nt = function(st
10b0: 45 6c 65 6d 65 6e 74 29 20 7b 0d 0a 20 20 20 20  Element) {..    
10c0: 76 61 72 20 65 6c 43 6f 75 6e 74 20 3d 20 73 74  var elCount = st
10d0: 45 6c 65 6d 65 6e 74 5b 30 5d 3b 0d 0a 20 20 20  Element[0];..   
10e0: 20 76 61 72 20 65 6c 50 72 6f 70 73 20 3d 20 73   var elProps = s
10f0: 74 45 6c 65 6d 65 6e 74 5b 31 5d 3b 0d 0a 20 20  tElement[1];..  
1100: 20 20 69 66 20 28 65 6c 50 72 6f 70 73 5b 31 5d    if (elProps[1]
1110: 20 3d 3d 20 31 29 0d 0a 20 20 20 20 7b 0d 0a 20   == 1)..    {.. 
1120: 20 20 20 20 20 20 20 2f 2f 20 d0 ad d1 82 d0 be         // ......
1130: 20 d0 b3 d1 80 d1 83 d0 bf d0 bf d0 b0 2e 0d 0a   ...............
1140: 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72          for (var
1150: 20 69 3d 32 3b 20 69 3c 73 74 45 6c 65 6d 65 6e   i=2; i<stElemen
1160: 74 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 0d 0a  t.length; i++)..
1170: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
1180: 2e 5f 6c 6f 61 64 53 74 45 6c 65 6d 65 6e 74 28  ._loadStElement(
1190: 73 74 45 6c 65 6d 65 6e 74 5b 69 5d 29 3b 0d 0a  stElement[i]);..
11a0: 20 20 20 20 7d 0d 0a 20 20 20 20 65 6c 73 65 20      }..    else 
11b0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
11c0: 20 2f 2f 20 d0 ad d1 82 d0 be 20 d1 8d d0 bb d0   // ...... .....
11d0: b5 d0 bc d0 b5 d0 bd d1 82 2e 0d 0a 20 20 20 20  ............    
11e0: 20 20 20 20 74 68 69 73 2e 5f 61 64 64 53 6e 69      this._addSni
11f0: 70 70 65 74 28 65 6c 50 72 6f 70 73 29 3b 20 20  ppet(elProps);  
1200: 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 20 20 20        ..    }   
1210: 20 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70 70 65 74 73   ..}....Snippets
1220: 4d 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74 79 70  Manager.prototyp
1230: 65 2e 5f 61 64 64 53 6e 69 70 70 65 74 20 3d 20  e._addSnippet = 
1240: 66 75 6e 63 74 69 6f 6e 28 73 74 45 6c 65 6d 65  function(stEleme
1250: 6e 74 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 73  nt) {..    var s
1260: 6e 69 70 70 65 74 20 3d 20 6e 65 77 20 53 6e 69  nippet = new Sni
1270: 70 70 65 74 28 73 74 45 6c 65 6d 65 6e 74 29 3b  ppet(stElement);
1280: 0d 0a 0d 0a 20 20 20 20 69 66 20 28 21 74 68 69  ....    if (!thi
1290: 73 2e 5f 73 6e 69 70 70 65 74 73 5b 73 6e 69 70  s._snippets[snip
12a0: 70 65 74 2e 6e 61 6d 65 5d 29 0d 0a 20 20 20 20  pet.name])..    
12b0: 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  {..        this.
12c0: 5f 73 6e 69 70 70 65 74 73 5b 73 6e 69 70 70 65  _snippets[snippe
12d0: 74 2e 6e 61 6d 65 5d 20 3d 20 6e 65 77 20 41 72  t.name] = new Ar
12e0: 72 61 79 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  ray();..        
12f0: 74 68 69 73 2e 5f 73 6e 69 70 70 65 74 4e 61 6d  this._snippetNam
1300: 65 73 2e 70 75 73 68 28 73 6e 69 70 70 65 74 2e  es.push(snippet.
1310: 6e 61 6d 65 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20  name);..    }.. 
1320: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 74 68 69         ..    thi
1330: 73 2e 5f 73 6e 69 70 70 65 74 73 5b 73 6e 69 70  s._snippets[snip
1340: 70 65 74 2e 6e 61 6d 65 5d 2e 70 75 73 68 28 73  pet.name].push(s
1350: 6e 69 70 70 65 74 29 3b 0d 0a 20 20 20 20 0d 0a  nippet);..    ..
1360: 20 20 20 20 69 66 20 28 73 6e 69 70 70 65 74 2e      if (snippet.
1370: 68 61 73 4d 61 63 72 6f 73 28 29 29 0d 0a 20 20  hasMacros())..  
1380: 20 20 20 20 20 20 74 68 69 73 2e 63 72 65 61 74        this.creat
1390: 65 53 6e 69 70 70 65 74 4d 61 63 72 6f 73 28 73  eSnippetMacros(s
13a0: 6e 69 70 70 65 74 29 3b 20 20 20 20 20 20 20 20  nippet);        
13b0: 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70 70 65 74 73 4d  ..}....SnippetsM
13c0: 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74 79 70 65  anager.prototype
13d0: 2e 63 72 65 61 74 65 53 6e 69 70 70 65 74 4d 61  .createSnippetMa
13e0: 63 72 6f 73 20 3d 20 66 75 6e 63 74 69 6f 6e 28  cros = function(
13f0: 73 6e 69 70 70 65 74 29 20 20 7b 0d 0a 20 20 20  snippet)  {..   
1400: 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66   SelfScript.self
1410: 5b 27 6d 61 63 72 6f 73 d0 92 d1 81 d1 82 d0 b0  ['macros........
1420: d0 b2 d0 b8 d1 82 d1 8c 20 d1 88 d0 b0 d0 b1 d0  ........ .......
1430: bb d0 be d0 bd 20 27 20 2b 20 73 6e 69 70 70 65  ..... ' + snippe
1440: 74 2e 6d 61 63 72 6f 73 4e 61 6d 65 5d 20 3d 20  t.macrosName] = 
1450: 66 75 6e 63 74 69 6f 6e 28 29 20 7b 20 0d 0a 20  function() { .. 
1460: 20 20 20 20 20 20 20 73 6e 69 70 70 65 74 2e 69         snippet.i
1470: 6e 73 65 72 74 28 47 65 74 54 65 78 74 57 69 6e  nsert(GetTextWin
1480: 64 6f 77 28 29 29 3b 20 0d 0a 20 20 20 20 7d 3b  dow()); ..    };
1490: 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70 70 65 74 73 4d  ..}....SnippetsM
14a0: 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74 79 70 65  anager.prototype
14b0: 2e 67 65 74 53 6e 69 70 70 65 74 73 42 79 4e 61  .getSnippetsByNa
14c0: 6d 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6e 61  me = function(na
14d0: 6d 65 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72  me) {..    retur
14e0: 6e 20 74 68 69 73 2e 5f 73 6e 69 70 70 65 74 73  n this._snippets
14f0: 5b 6e 61 6d 65 5d 3b 0d 0a 7d 0d 0a 0d 0a 53 6e  [name];..}....Sn
1500: 69 70 70 65 74 73 4d 61 6e 61 67 65 72 2e 70 72  ippetsManager.pr
1510: 6f 74 6f 74 79 70 65 2e 69 6e 73 65 72 74 53 6e  ototype.insertSn
1520: 69 70 70 65 74 20 3d 20 66 75 6e 63 74 69 6f 6e  ippet = function
1530: 28 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 74 65  () {..    var te
1540: 78 74 57 69 6e 64 6f 77 20 3d 20 47 65 74 54 65  xtWindow = GetTe
1550: 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20  xtWindow();..   
1560: 20 69 66 20 28 21 74 65 78 74 57 69 6e 64 6f 77   if (!textWindow
1570: 29 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 0d  ) return;..    .
1580: 0a 20 20 20 20 76 61 72 20 73 6e 69 70 70 65 74  .    var snippet
1590: 4e 61 6d 65 20 3d 20 74 68 69 73 2e 73 65 6c 65  Name = this.sele
15a0: 63 74 56 61 6c 75 65 28 74 68 69 73 2e 5f 73 6e  ctValue(this._sn
15b0: 69 70 70 65 74 4e 61 6d 65 73 29 3b 0d 0a 20 20  ippetNames);..  
15c0: 20 20 69 66 20 28 21 73 6e 69 70 70 65 74 4e 61    if (!snippetNa
15d0: 6d 65 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74  me)..        ret
15e0: 75 72 6e 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20  urn;..    ..    
15f0: 76 61 72 20 73 6e 69 70 70 65 74 73 20 3d 20 74  var snippets = t
1600: 68 69 73 2e 5f 73 6e 69 70 70 65 74 73 5b 73 6e  his._snippets[sn
1610: 69 70 70 65 74 4e 61 6d 65 5d 3b 0d 0a 20 20 20  ippetName];..   
1620: 20 69 66 20 28 73 6e 69 70 70 65 74 73 20 26 26   if (snippets &&
1630: 20 73 6e 69 70 70 65 74 73 2e 6c 65 6e 67 74 68   snippets.length
1640: 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20  )..    {..      
1650: 20 20 73 6e 69 70 70 65 74 73 5b 30 5d 2e 69 6e    snippets[0].in
1660: 73 65 72 74 28 74 65 78 74 57 69 6e 64 6f 77 29  sert(textWindow)
1670: 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72  ;..        retur
1680: 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 7d 0d 0a  n true;..    }..
1690: 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e      ..    return
16a0: 3b 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70 70 65 74 73  ;..}....Snippets
16b0: 4d 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74 79 70  Manager.prototyp
16c0: 65 2e 73 65 6c 65 63 74 56 61 6c 75 65 20 3d 20  e.selectValue = 
16d0: 66 75 6e 63 74 69 6f 6e 28 76 61 6c 75 65 73 29  function(values)
16e0: 20 7b 0d 0a 20 20 20 20 2f 2f 46 49 58 4d 45 3a   {..    //FIXME:
16f0: 20 d1 81 d0 be d0 b7 d0 b4 d0 b0 d0 b2 d0 b0 d1   ...............
1700: 82 d1 8c 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82  ... ............
1710: 20 53 76 63 73 76 63 20 d0 be d0 b4 d0 b8 d0 bd   Svcsvc ........
1720: 20 d1 80 d0 b0 d0 b7 2c 20 d0 bf d1 80 d0 b8 20   ......, ...... 
1730: d1 81 d1 82 d0 b0 d1 80 d1 82 d0 b5 20 d1 81 d0  ............ ...
1740: ba d1 80 d0 b8 d0 bf d1 82 d0 b0 2e 20 0d 0a 20  ............ .. 
1750: 20 20 20 76 61 72 20 75 73 65 53 76 63 73 76 63     var useSvcsvc
1760: 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 74 72   = true;..    tr
1770: 79 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20  y..    {..      
1780: 20 20 76 61 72 20 73 65 6c 20 3d 20 6e 65 77 20    var sel = new 
1790: 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 27 53  ActiveXObject('S
17a0: 76 63 73 76 63 2e 53 65 72 76 69 63 65 27 29 0d  vcsvc.Service').
17b0: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 63 61 74 63  .    }..    catc
17c0: 68 28 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  h(e)..    {..   
17d0: 20 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 22       //Message("
17e0: d0 9d d0 b5 20 d1 83 d0 b4 d0 b0 d0 bb d0 be d1  .... ...........
17f0: 81 d1 8c 20 d1 81 d0 be d0 b7 d0 b4 d0 b0 d1 82  ... ............
1800: d1 8c 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 20  .. ............ 
1810: 27 53 76 63 73 76 63 2e 53 65 72 76 69 63 65 27  'Svcsvc.Service'
1820: 2e 20 d0 97 d0 b0 d1 80 d0 b5 d0 b3 d0 b8 d1 81  . ..............
1830: d1 82 d1 80 d0 b8 d1 80 d1 83 d0 b9 d1 82 d0 b5  ................
1840: 20 73 76 63 73 76 63 2e 64 6c 6c 22 29 3b 0d 0a   svcsvc.dll");..
1850: 20 20 20 20 20 20 20 20 75 73 65 53 76 63 73 76          useSvcsv
1860: 63 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20  c = false;..    
1870: 7d 0d 0a 20 20 20 20 2f 2f 64 65 62 75 67 67 65  }..    //debugge
1880: 72 3b 0d 0a 20 20 20 20 69 66 28 75 73 65 53 76  r;..    if(useSv
1890: 63 73 76 63 29 7b 0d 0a 20 20 20 20 20 20 20 20  csvc){..        
18a0: 72 65 74 75 72 6e 20 73 65 6c 2e 46 69 6c 74 65  return sel.Filte
18b0: 72 56 61 6c 75 65 28 76 61 6c 75 65 73 2e 6a 6f  rValue(values.jo
18c0: 69 6e 28 22 5c 72 5c 6e 22 29 2c 20 31 20 7c 20  in("\r\n"), 1 | 
18d0: 34 2c 20 27 27 2c 20 30 2c 20 30 2c 20 33 35 30  4, '', 0, 0, 350
18e0: 2c 20 32 35 30 29 3b 20 20 20 20 20 20 20 20 20  , 250);         
18f0: 0d 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a  ..    } else {..
1900: 20 20 20 20 20 20 20 20 76 61 72 20 64 6c 67 20          var dlg 
1910: 3d 20 6e 65 77 20 53 65 6c 65 63 74 56 61 6c 75  = new SelectValu
1920: 65 44 69 61 6c 6f 67 28 22 d0 92 d1 8b d0 b1 d0  eDialog(".......
1930: b5 d1 80 d0 b8 d1 82 d0 b5 20 d1 88 d0 b0 d0 b1  ......... ......
1940: d0 bb d0 be d0 bd 22 2c 20 76 61 6c 75 65 73 29  ......", values)
1950: 3b 0d 0a 20 20 20 20 20 20 20 20 64 6c 67 2e 66  ;..        dlg.f
1960: 6f 72 6d 2e 47 72 65 65 64 79 53 65 61 72 63 68  orm.GreedySearch
1970: 20 3d 20 74 72 75 65 3b 20 0d 0a 20 20 20 20 20   = true; ..     
1980: 20 20 20 73 65 6c 20 3d 20 64 6c 67 2e 73 65 6c     sel = dlg.sel
1990: 65 63 74 56 61 6c 75 65 28 29 3b 0d 0a 20 20 20  ectValue();..   
19a0: 20 20 20 20 20 72 65 74 75 72 6e 20 64 6c 67 2e       return dlg.
19b0: 73 65 6c 65 63 74 65 64 56 61 6c 75 65 0d 0a 20  selectedValue.. 
19c0: 20 20 20 7d 0d 0a 20 20 20 0d 0a 7d 0d 0a 0d 0a     }..   ..}....
19d0: 53 6e 69 70 70 65 74 73 4d 61 6e 61 67 65 72 2e  SnippetsManager.
19e0: 70 72 6f 74 6f 74 79 70 65 2e 6f 6e 50 72 6f 63  prototype.onProc
19f0: 65 73 73 54 65 6d 70 6c 61 74 65 20 3d 20 66 75  essTemplate = fu
1a00: 6e 63 74 69 6f 6e 28 70 61 72 61 6d 73 29 20 7b  nction(params) {
1a10: 0d 0a 20 20 20 20 2f 2a 20 d0 9f d1 80 d0 b8 20  ..    /* ...... 
1a20: d0 b2 d1 81 d1 82 d0 b0 d0 b2 d0 ba d0 b5 20 d1  .............. .
1a30: 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 b0 20 d1 88  ............. ..
1a40: d1 82 d0 b0 d1 82 d0 bd d1 8b d0 bc d0 b8 20 d1  .............. .
1a50: 81 d1 80 d0 b5 d0 b4 d1 81 d1 82 d0 b2 d0 b0 d0  ................
1a60: bc d0 b8 20 28 d0 bd d0 b0 d0 bf d1 80 d0 b8 d0  ... (...........
1a70: bc d0 b5 d1 80 2c 20 d0 bf d1 80 d0 b8 20 d0 bf  ....., ...... ..
1a80: d0 b5 d1 80 d0 b5 d1 82 d0 b0 d1 81 d0 ba d0 b8  ................
1a90: d0 b2 d0 b0 d0 bd d0 b8 d0 b8 20 d1 88 d0 b0 d0  .......... .....
1aa0: b1 d0 bb d0 be d0 bd d0 b0 20 d0 b8 d0 b7 20 d0  ......... .... .
1ab0: b4 d0 b5 d1 80 d0 b5 d0 b2 d0 b0 20 d1 88 d0 b0  ........... ....
1ac0: d0 b1 d0 bb d0 be d0 bd d0 be d0 b2 29 0d 0a 20  ............).. 
1ad0: 20 20 20 d1 83 d0 b4 d0 b0 d0 bb d0 b8 d0 bc 20     ............ 
1ae0: d1 81 d0 bb d1 83 d0 b6 d0 b5 d0 b1 d0 bd d1 8b  ................
1af0: d0 b5 20 d0 b4 d0 b8 d1 80 d0 b5 d0 ba d1 82 d0  .. .............
1b00: b8 d0 b2 d1 8b 20 d0 b8 20 d0 b2 d1 8b d0 bf d0  ..... .. .......
1b10: be d0 bb d0 bd d0 b8 d0 bc 20 d0 bf d0 be d0 b4  ......... ......
1b20: d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 ba d1 83  ................
1b30: 20 d0 bd d0 b0 d1 88 d0 b8 d1 85 20 d1 83 d0 bf   .......... ....
1b40: d1 80 d0 b0 d0 b2 d0 bb d1 8f d1 8e d1 89 d0 b8  ................
1b50: d1 85 20 d0 ba d0 be d0 bd d1 81 d1 82 d1 80 d1  .. .............
1b60: 83 d0 ba d1 86 d0 b8 d0 b9 2e 20 2a 2f 0d 0a 20  .......... */.. 
1b70: 20 20 20 76 61 72 20 72 65 73 20 3d 20 74 68 69     var res = thi
1b80: 73 2e 70 61 72 61 6d 73 4d 61 6e 61 67 65 72 2e  s.paramsManager.
1b90: 70 72 6f 63 65 73 73 41 64 64 4d 61 63 72 6f 73  processAddMacros
1ba0: 44 69 72 65 63 74 69 76 65 28 70 61 72 61 6d 73  Directive(params
1bb0: 2e 74 65 78 74 29 3b 0d 0a 20 20 20 20 70 61 72  .text);..    par
1bc0: 61 6d 73 2e 74 65 78 74 20 3d 20 74 68 69 73 2e  ams.text = this.
1bd0: 70 61 72 61 6d 73 4d 61 6e 61 67 65 72 2e 72 65  paramsManager.re
1be0: 70 6c 61 63 65 45 78 74 65 6e 64 65 64 50 61 72  placeExtendedPar
1bf0: 61 6d 73 28 72 65 73 2e 72 65 61 6c 54 70 6c 29  ams(res.realTpl)
1c00: 3b 0d 0a 7d 0d 0a 2f 2f 2f 2f 7d 20 53 6e 69 70  ;..}..////} Snip
1c10: 70 65 74 73 4d 61 6e 61 67 65 72 0d 0a 0d 0a 2f  petsManager..../
1c20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c70: 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 53  ///////..////{ S
1c80: 6e 69 70 70 65 74 50 61 72 61 6d 65 74 65 72 73  nippetParameters
1c90: 4d 61 6e 61 67 65 72 0d 0a 2f 2f 2f 2f 0d 0a 0d  Manager..////...
1ca0: 0a 66 75 6e 63 74 69 6f 6e 20 53 6e 69 70 70 65  .function Snippe
1cb0: 74 50 61 72 61 6d 65 74 65 72 73 4d 61 6e 61 67  tParametersManag
1cc0: 65 72 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 2f 2f  er() {....    //
1cd0: 20 d0 94 d0 bb d1 8f 20 d0 b8 d1 81 d0 bf d0 be   ...... ........
1ce0: d0 bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d0 bd d0 b8  ................
1cf0: d1 8f 20 d0 b2 20 d0 b7 d0 b0 d0 bc d1 8b d0 ba  .. .. ..........
1d00: d0 b0 d0 bd d0 b8 d1 8f d1 85 2e 0d 0a 20 20 20  .............   
1d10: 20 76 61 72 20 73 6d 20 3d 20 74 68 69 73 3b 0d   var sm = this;.
1d20: 0a 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e  .    ..    this.
1d30: 69 6e 69 74 45 78 74 65 6e 64 65 64 50 61 72 61  initExtendedPara
1d40: 6d 73 28 29 3b 0d 0a 7d 0d 0a 0d 0a 53 6e 69 70  ms();..}....Snip
1d50: 70 65 74 50 61 72 61 6d 65 74 65 72 73 4d 61 6e  petParametersMan
1d60: 61 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 69  ager.prototype.i
1d70: 6e 69 74 45 78 74 65 6e 64 65 64 50 61 72 61 6d  nitExtendedParam
1d80: 73 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 0d  s = function ().
1d90: 0a 7b 0d 0a 20 20 20 20 2f 2a 20 d0 98 d1 81 d0  .{..    /* .....
1da0: bf d0 be d0 bb d1 8c d0 b7 d1 83 d0 b5 d1 82 d1  ................
1db0: 81 d1 8f 20 d0 b4 d0 bb d1 8f 20 d0 be d0 bf d1  ... ...... .....
1dc0: 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d1  ................
1dd0: 8f 20 d1 83 d0 bf d1 80 d0 b0 d0 b2 d0 bb d1 8f  . ..............
1de0: d1 8e d1 89 d0 b8 d1 85 20 d0 ba d0 be d0 bd d1  ........ .......
1df0: 81 d1 82 d1 80 d1 83 d0 ba d1 86 d0 b8 d0 b9 2c  ...............,
1e00: 20 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d1   ...............
1e10: 8f 20 d0 bf d0 be d0 b4 d1 81 d1 82 d0 b0 d0 bd  . ..............
1e20: d0 be d0 b2 d0 ba d0 b8 20 0d 0a 20 20 20 20 d0  ........ ..    .
1e30: ba d0 be d1 82 d0 be d1 80 d1 8b d1 85 20 d0 bc  ............. ..
1e40: d0 be d0 b3 d1 83 d1 82 20 d0 bc d0 b5 d0 bd d1  ........ .......
1e50: 8f d1 82 d1 8c d1 81 d1 8f 20 d0 b2 20 d1 80 d0  ......... .. ...
1e60: b5 d0 b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 d0  ................
1e70: b5 20 d0 b8 d0 b7 d0 bc d0 b5 d0 bd d0 b5 d0 bd  . ..............
1e80: d0 b8 d1 8f 20 d0 ba d0 be d0 bd d1 84 d0 b8 d0  .... ...........
1e90: b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0 b8 2e 20 2a  .............. *
1ea0: 2f 0d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20  /..    function 
1eb0: 66 28 63 29 7b 72 65 74 75 72 6e 20 66 75 6e 63  f(c){return func
1ec0: 74 69 6f 6e 28 29 7b 74 72 79 7b 72 65 74 75 72  tion(){try{retur
1ed0: 6e 20 65 76 61 6c 28 63 29 3b 7d 63 61 74 63 68  n eval(c);}catch
1ee0: 28 65 29 7b 4d 65 73 73 61 67 65 28 65 2e 64 65  (e){Message(e.de
1ef0: 73 63 72 69 70 74 69 6f 6e 29 3b 72 65 74 75 72  scription);retur
1f00: 6e 20 27 27 7d 7d 7d 3b 0d 0a 20 20 20 20 0d 0a  n ''}}};..    ..
1f10: 20 20 20 20 74 68 69 73 2e 5f 70 61 72 61 6d 65      this._parame
1f20: 74 65 72 73 20 3d 20 7b 0d 0a 20 20 20 20 20 20  ters = {..      
1f30: 20 20 0d 0a 20 20 20 20 20 20 20 20 27 d0 9a d0    ..        '...
1f40: be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1  ................
1f50: 86 d0 b8 d1 8f 2e d0 98 d0 bc d1 8f 27 20 20 20  ............'   
1f60: 20 20 20 20 20 20 20 3a 20 66 28 27 d0 9c d0 b5         : f('....
1f70: d1 82 d0 b0 d0 b4 d0 b0 d0 bd d0 bd d1 8b d0 b5  ................
1f80: 2e d0 98 d0 bc d1 8f 27 29 2c 0d 0a 20 20 20 20  .......'),..    
1f90: 20 20 20 20 27 d0 9a d0 be d0 bd d1 84 d0 b8 d0      '...........
1fa0: b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d1 8f 2e d0 a1  ................
1fb0: d0 b8 d0 bd d0 be d0 bd d0 b8 d0 bc 27 20 20 20  ............'   
1fc0: 20 20 20 3a 20 66 28 27 d0 9c d0 b5 d1 82 d0 b0     : f('........
1fd0: d0 b4 d0 b0 d0 bd d0 bd d1 8b d0 b5 2e d0 a1 d0  ................
1fe0: b8 d0 bd d0 be d0 bd d0 b8 d0 bc 27 29 2c 0d 0a  ...........'),..
1ff0: 20 20 20 20 20 20 20 20 27 d0 9a d0 be d0 bd d1          '.......
2000: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d1  ................
2010: 8f 2e d0 9a d0 be d0 bc d0 bc d0 b5 d0 bd d1 82  ................
2020: d0 b0 d1 80 d0 b8 d0 b9 27 20 20 3a 20 66 28 27  ........'  : f('
2030: d0 9c d0 b5 d1 82 d0 b0 d0 b4 d0 b0 d0 bd d0 bd  ................
2040: d1 8b d0 b5 2e d0 9a d0 be d0 bc d0 bc d0 b5 d0  ................
2050: bd d1 82 d0 b0 d1 80 d0 b8 d0 b9 27 29 2c 0d 0a  ...........'),..
2060: 20 20 20 20 20 20 20 20 27 d0 9a d0 be d0 bd d1          '.......
2070: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d1  ................
2080: 8f 2e d0 9f d0 be d1 81 d1 82 d0 b0 d0 b2 d1 89  ................
2090: d0 b8 d0 ba 27 20 20 20 20 3a 20 66 28 27 d0 9c  ....'    : f('..
20a0: d0 b5 d1 82 d0 b0 d0 b4 d0 b0 d0 bd d0 bd d1 8b  ................
20b0: d0 b5 2e d0 9f d0 be d1 81 d1 82 d0 b0 d0 b2 d1  ................
20c0: 89 d0 b8 d0 ba 27 29 2c 0d 0a 20 20 20 20 20 20  .....'),..      
20d0: 20 20 0d 0a 20 20 20 20 20 20 20 20 27 d0 9a d0    ..        '...
20e0: be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1  ................
20f0: 86 d0 b8 d1 8f 2e d0 92 d0 b5 d1 80 d1 81 d0 b8  ................
2100: d1 8f 27 20 20 20 20 20 20 20 20 20 20 20 20 3a  ..'            :
2110: 20 66 28 27 d0 9c d0 b5 d1 82 d0 b0 d0 b4 d0 b0   f('............
2120: d0 bd d0 bd d1 8b d0 b5 2e d0 92 d0 b5 d1 80 d1  ................
2130: 81 d0 b8 d1 8f 27 29 2c 0d 0a 20 20 20 20 20 20  .....'),..      
2140: 20 20 27 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1    '.............
2150: 83 d1 80 d0 b0 d1 86 d0 b8 d1 8f 2e d0 90 d0 b2  ................
2160: d1 82 d0 be d1 80 d1 81 d0 ba d0 b8 d0 b5 d0 9f  ................
2170: d1 80 d0 b0 d0 b2 d0 b0 27 20 20 20 20 3a 20 66  ........'    : f
2180: 28 27 d0 9c d0 b5 d1 82 d0 b0 d0 b4 d0 b0 d0 bd  ('..............
2190: d0 bd d1 8b d0 b5 2e d0 90 d0 b2 d1 82 d0 be d1  ................
21a0: 80 d1 81 d0 ba d0 b8 d0 b5 d0 9f d1 80 d0 b0 d0  ................
21b0: b2 d0 b0 27 29 2c 0d 0a 20 20 20 20 20 20 20 20  ...'),..        
21c0: 27 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1  '...............
21d0: 80 d0 b0 d1 86 d0 b8 d1 8f 2e d0 9a d1 80 d0 b0  ................
21e0: d1 82 d0 ba d0 b0 d1 8f d0 98 d0 bd d1 84 d0 be  ................
21f0: d1 80 d0 bc d0 b0 d1 86 d0 b8 d1 8f 27 20 3a 20  ............' : 
2200: 66 28 27 d0 9c d0 b5 d1 82 d0 b0 d0 b4 d0 b0 d0  f('.............
2210: bd d0 bd d1 8b d0 b5 2e d0 9a d1 80 d0 b0 d1 82  ................
2220: d0 ba d0 b0 d1 8f d0 98 d0 bd d1 84 d0 be d1 80  ................
2230: d0 bc d0 b0 d1 86 d0 b8 d1 8f 27 29 2c 0d 0a 20  ..........'),.. 
2240: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
2250: 20 27 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83   '..............
2260: d1 80 d0 b0 d1 86 d0 b8 d1 8f 2e d0 9f d0 be d0  ................
2270: b4 d1 80 d0 be d0 b1 d0 bd d0 b0 d1 8f d0 98 d0  ................
2280: bd d1 84 d0 be d1 80 d0 bc d0 b0 d1 86 d0 b8 d1  ................
2290: 8f 27 20 20 20 20 20 20 20 20 20 20 20 3a 20 66  .'           : f
22a0: 28 27 d0 9c d0 b5 d1 82 d0 b0 d0 b4 d0 b0 d0 bd  ('..............
22b0: d0 bd d1 8b d0 b5 2e d0 9f d0 be d0 b4 d1 80 d0  ................
22c0: be d0 b1 d0 bd d0 b0 d1 8f d0 98 d0 bd d1 84 d0  ................
22d0: be d1 80 d0 bc d0 b0 d1 86 d0 b8 d1 8f 27 29 2c  .............'),
22e0: 0d 0a 20 20 20 20 20 20 20 20 27 d0 9a d0 be d0  ..        '.....
22f0: bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0  ................
2300: b8 d1 8f 2e d0 90 d0 b4 d1 80 d0 b5 d1 81 d0 98  ................
2310: d0 bd d1 84 d0 be d1 80 d0 bc d0 b0 d1 86 d0 b8  ................
2320: d0 b8 d0 9e d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3  ................
2330: d1 83 d1 80 d0 b0 d1 86 d0 b8 d0 b8 27 20 20 3a  ............'  :
2340: 20 66 28 27 d0 9c d0 b5 d1 82 d0 b0 d0 b4 d0 b0   f('............
2350: d0 bd d0 bd d1 8b d0 b5 2e d0 90 d0 b4 d1 80 d0  ................
2360: b5 d1 81 d0 98 d0 bd d1 84 d0 be d1 80 d0 bc d0  ................
2370: b0 d1 86 d0 b8 d0 b8 d0 9e d0 9a d0 be d0 bd d1  ................
2380: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0  ................
2390: b8 27 29 2c 0d 0a 20 20 20 20 20 20 20 20 27 d0  .'),..        '.
23a0: 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0  ................
23b0: b0 d1 86 d0 b8 d1 8f 2e d0 90 d0 b4 d1 80 d0 b5  ................
23c0: d1 81 d0 98 d0 bd d1 84 d0 be d1 80 d0 bc d0 b0  ................
23d0: d1 86 d0 b8 d0 b8 d0 9e d0 9f d0 be d1 81 d1 82  ................
23e0: d0 b0 d0 b2 d1 89 d0 b8 d0 ba d0 b5 27 20 20 20  ............'   
23f0: 20 3a 20 66 28 27 d0 9c d0 b5 d1 82 d0 b0 d0 b4   : f('..........
2400: d0 b0 d0 bd d0 bd d1 8b d0 b5 2e d0 90 d0 b4 d1  ................
2410: 80 d0 b5 d1 81 d0 98 d0 bd d1 84 d0 be d1 80 d0  ................
2420: bc d0 b0 d1 86 d0 b8 d0 b8 d0 9e d0 9f d0 be d1  ................
2430: 81 d1 82 d0 b0 d0 b2 d1 89 d0 b8 d0 ba d0 b5 27  ...............'
2440: 29 2c 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  ),..        ..  
2450: 20 20 20 20 20 20 27 d0 98 d0 bc d1 8f d0 9f d0        '.........
2460: be d0 bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0  ................
2470: b5 d0 bb d1 8f d0 9e d0 a1 27 3a 20 66 28 27 28  .........': f('(
2480: 6e 65 77 20 41 63 74 69 76 65 58 4f 62 6a 65 63  new ActiveXObjec
2490: 74 28 22 57 53 63 72 69 70 74 2e 53 68 65 6c 6c  t("WScript.Shell
24a0: 22 29 29 2e 45 78 70 61 6e 64 45 6e 76 69 72 6f  ")).ExpandEnviro
24b0: 6e 6d 65 6e 74 53 74 72 69 6e 67 73 28 22 25 55  nmentStrings("%U
24c0: 53 45 52 4e 41 4d 45 25 22 29 27 29 20 20 20 20  SERNAME%")')    
24d0: 20 20 20 20 0d 0a 20 20 20 20 7d 3b 0d 0a 7d 0d      ..    };..}.
24e0: 0a 0d 0a 53 6e 69 70 70 65 74 50 61 72 61 6d 65  ...SnippetParame
24f0: 74 65 72 73 4d 61 6e 61 67 65 72 2e 70 72 6f 74  tersManager.prot
2500: 6f 74 79 70 65 2e 67 65 74 41 6c 6c 50 61 72 61  otype.getAllPara
2510: 6d 73 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29  ms = function ()
2520: 20 7b 0d 0a 20 20 20 20 76 61 72 20 70 61 72 61   {..    var para
2530: 6d 73 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29  ms = new Array()
2540: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 66 6f 72  ;..    ..    for
2550: 20 28 76 61 72 20 70 61 72 61 6d 20 69 6e 20 74   (var param in t
2560: 68 69 73 2e 5f 70 61 72 61 6d 65 74 65 72 73 29  his._parameters)
2570: 0d 0a 20 20 20 20 20 20 20 20 70 61 72 61 6d 73  ..        params
2580: 2e 70 75 73 68 28 70 61 72 61 6d 29 3b 0d 0a 20  .push(param);.. 
2590: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 72 65 74         ..    ret
25a0: 75 72 6e 20 70 61 72 61 6d 73 3b 0d 0a 7d 0d 0a  urn params;..}..
25b0: 0d 0a 53 6e 69 70 70 65 74 50 61 72 61 6d 65 74  ..SnippetParamet
25c0: 65 72 73 4d 61 6e 61 67 65 72 2e 70 72 6f 74 6f  ersManager.proto
25d0: 74 79 70 65 2e 72 65 70 6c 61 63 65 45 78 74 65  type.replaceExte
25e0: 6e 64 65 64 50 61 72 61 6d 73 20 3d 20 66 75 6e  ndedParams = fun
25f0: 63 74 69 6f 6e 28 74 70 6c 29 20 7b 0d 0a 20 20  ction(tpl) {..  
2600: 20 20 76 61 72 20 63 6f 64 65 20 3d 20 74 70 6c    var code = tpl
2610: 3b 0d 0a 20 20 20 20 76 61 72 20 70 61 72 61 6d  ;..    var param
2620: 73 20 3d 20 74 68 69 73 2e 67 65 74 54 65 6d 70  s = this.getTemp
2630: 6c 61 74 65 50 61 72 61 6d 73 28 74 70 6c 29 3b  lateParams(tpl);
2640: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 66 6f 72 28  ..    ..    for(
2650: 76 61 72 20 70 61 72 61 6d 20 69 6e 20 70 61 72  var param in par
2660: 61 6d 73 29 0d 0a 20 20 20 20 20 20 20 20 63 6f  ams)..        co
2670: 64 65 20 3d 20 63 6f 64 65 2e 72 65 70 6c 61 63  de = code.replac
2680: 65 28 6e 65 77 20 52 65 67 45 78 70 28 53 74 72  e(new RegExp(Str
2690: 69 6e 67 55 74 69 6c 73 2e 61 64 64 53 6c 61 73  ingUtils.addSlas
26a0: 68 65 73 28 70 61 72 61 6d 29 2c 20 27 67 27 29  hes(param), 'g')
26b0: 2c 20 70 61 72 61 6d 73 5b 70 61 72 61 6d 5d 29  , params[param])
26c0: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
26d0: 20 72 65 74 75 72 6e 20 63 6f 64 65 3b 0d 0a 7d   return code;..}
26e0: 0d 0a 0d 0a 53 6e 69 70 70 65 74 50 61 72 61 6d  ....SnippetParam
26f0: 65 74 65 72 73 4d 61 6e 61 67 65 72 2e 70 72 6f  etersManager.pro
2700: 74 6f 74 79 70 65 2e 67 65 74 54 65 6d 70 6c 61  totype.getTempla
2710: 74 65 50 61 72 61 6d 73 20 3d 20 66 75 6e 63 74  teParams = funct
2720: 69 6f 6e 28 74 70 6c 29 0d 0a 7b 0d 0a 20 20 20  ion(tpl)..{..   
2730: 20 76 61 72 20 70 61 72 61 6d 73 20 3d 20 7b 7d   var params = {}
2740: 3b 0d 0a 20 20 20 20 2f 2f 20 3c 25 d0 9a d0 be  ;..    // <%....
2750: d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86  ................
2760: d0 b8 d1 8f 2e d0 98 d0 bc d1 8f 3e 20 d0 b8 20  ...........> .. 
2770: d1 82 2e d0 bf 2e 0d 0a 20 20 20 20 76 61 72 20  ........    var 
2780: 6d 61 74 63 68 65 73 20 3d 20 74 70 6c 2e 6d 61  matches = tpl.ma
2790: 74 63 68 28 2f 5c 3c 5c 25 28 5b 5c 77 d0 90 2d  tch(/\<\%([\w..-
27a0: d1 8f 5d 2b 7c 5b 5c 77 d0 90 2d d1 8f 5d 2b 5c  ..]+|[\w..-..]+\
27b0: 2e 5b 5c 77 d0 90 2d d1 8f 5d 2b 29 5c 3e 2f 67  .[\w..-..]+)\>/g
27c0: 69 29 3b 0d 0a 20 20 20 20 66 6f 72 20 28 76 61  i);..    for (va
27d0: 72 20 69 3d 30 3b 20 6d 61 74 63 68 65 73 20 26  r i=0; matches &
27e0: 26 20 69 3c 6d 61 74 63 68 65 73 2e 6c 65 6e 67  & i<matches.leng
27f0: 74 68 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 7b 0d  th; i++)..    {.
2800: 0a 20 20 20 20 20 20 20 20 76 61 72 20 6b 65 79  .        var key
2810: 20 3d 20 6d 61 74 63 68 65 73 5b 69 5d 3b 0d 0a   = matches[i];..
2820: 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6d 20          var prm 
2830: 3d 20 6b 65 79 2e 73 75 62 73 74 72 28 32 2c 20  = key.substr(2, 
2840: 6b 65 79 2e 6c 65 6e 67 74 68 20 2d 20 33 29 3b  key.length - 3);
2850: 0d 0a 20 20 20 20 20 20 20 20 70 61 72 61 6d 73  ..        params
2860: 5b 6b 65 79 5d 20 3d 20 74 68 69 73 2e 63 61 6c  [key] = this.cal
2870: 63 50 61 72 61 6d 56 61 6c 75 65 28 70 72 6d 29  cParamValue(prm)
2880: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 20 20  ;..    }..      
2890: 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 70    ..    return p
28a0: 61 72 61 6d 73 3b 0d 0a 7d 0d 0a 0d 0a 53 6e 69  arams;..}....Sni
28b0: 70 70 65 74 50 61 72 61 6d 65 74 65 72 73 4d 61  ppetParametersMa
28c0: 6e 61 67 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e  nager.prototype.
28d0: 63 61 6c 63 50 61 72 61 6d 56 61 6c 75 65 20 3d  calcParamValue =
28e0: 20 66 75 6e 63 74 69 6f 6e 28 6b 65 79 29 0d 0a   function(key)..
28f0: 7b 0d 0a 20 20 20 20 76 61 72 20 70 61 72 61 6d  {..    var param
2900: 20 3d 20 74 68 69 73 2e 5f 70 61 72 61 6d 65 74   = this._paramet
2910: 65 72 73 5b 6b 65 79 5d 3b 0d 0a 20 20 20 20 0d  ers[key];..    .
2920: 0a 20 20 20 20 69 66 20 28 21 70 61 72 61 6d 29  .    if (!param)
2930: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  ..        return
2940: 20 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a   '';..        ..
2950: 20 20 20 20 69 66 20 28 74 79 70 65 6f 66 20 70      if (typeof p
2960: 61 72 61 6d 20 3d 3d 20 27 66 75 6e 63 74 69 6f  aram == 'functio
2970: 6e 27 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74  n')..        ret
2980: 75 72 6e 20 70 61 72 61 6d 2e 63 61 6c 6c 28 29  urn param.call()
2990: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
29a0: 20 72 65 74 75 72 6e 20 70 61 72 61 6d 3b 0d 0a   return param;..
29b0: 7d 0d 0a 0d 0a 2f 2a 20 d0 9e d0 b1 d1 80 d0 b0  }..../* ........
29c0: d0 b1 d0 b0 d1 82 d1 8b d0 b2 d0 b0 d0 b5 d1 82  ................
29d0: 20 d1 81 d0 bb d1 83 d0 b6 d0 b5 d0 b1 d0 bd d1   ...............
29e0: 83 d1 8e 20 d0 b4 d0 b8 d1 80 d0 b5 d0 ba d1 82  ... ............
29f0: d0 b8 d0 b2 d1 83 20 d1 88 d0 b0 d0 b1 d0 bb d0  ...... .........
2a00: be d0 bd d0 b0 20 3c 25 d0 9c d0 b0 d0 ba d1 80  ..... <%........
2a10: d0 be d1 81 3a 20 d0 98 d0 bc d1 8f 20 d0 bc d0  ....: ...... ...
2a20: b0 d0 ba d1 80 d0 be d1 81 d0 b0 3e 20 2a 2f 0d  ...........> */.
2a30: 0a 53 6e 69 70 70 65 74 50 61 72 61 6d 65 74 65  .SnippetParamete
2a40: 72 73 4d 61 6e 61 67 65 72 2e 70 72 6f 74 6f 74  rsManager.protot
2a50: 79 70 65 2e 70 72 6f 63 65 73 73 41 64 64 4d 61  ype.processAddMa
2a60: 63 72 6f 73 44 69 72 65 63 74 69 76 65 20 3d 20  crosDirective = 
2a70: 66 75 6e 63 74 69 6f 6e 20 28 74 70 6c 29 20 7b  function (tpl) {
2a80: 0d 0a 20 20 20 20 76 61 72 20 6c 69 6e 65 73 20  ..    var lines 
2a90: 3d 20 53 74 72 69 6e 67 55 74 69 6c 73 2e 74 6f  = StringUtils.to
2aa0: 4c 69 6e 65 73 28 74 70 6c 29 3b 0d 0a 20 20 20  Lines(tpl);..   
2ab0: 20 76 61 72 20 72 65 73 75 6c 74 20 3d 20 7b 20   var result = { 
2ac0: 27 6d 61 63 72 6f 73 4e 61 6d 65 27 3a 27 27 2c  'macrosName':'',
2ad0: 20 27 72 65 61 6c 54 70 6c 27 3a 27 27 20 7d 3b   'realTpl':'' };
2ae0: 0d 0a 20 20 20 20 69 66 20 28 6c 69 6e 65 73 2e  ..    if (lines.
2af0: 6c 65 6e 67 74 68 20 3e 20 31 29 0d 0a 20 20 20  length > 1)..   
2b00: 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0   {..        // .
2b10: 9f d1 80 d0 b8 d0 bc d0 b5 d1 80 20 d0 b4 d0 b8  ........... ....
2b20: d1 80 d0 b5 d0 ba d1 82 d0 b8 d0 b2 d1 8b 20 d0  .............. .
2b30: b4 d0 bb d1 8f 20 73 6e 69 70 70 65 74 73 2e 6a  ..... snippets.j
2b40: 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 3c 25 d0  s..        //<%.
2b50: 9c d0 b0 d0 ba d1 80 d0 be d1 81 20 22 d0 90 d0  ........... "...
2b60: b2 d1 82 d0 be d1 80 d1 81 d0 ba d0 b8 d0 b9 20  ............... 
2b70: d0 ba d0 be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b0  ................
2b80: d1 80 d0 b8 d0 b9 3a 20 d0 94 d0 be d0 b1 d0 b0  ......: ........
2b90: d0 b2 d0 bb d0 b5 d0 bd d0 b8 d0 b5 22 3e 0d 0a  ............">..
2ba0: 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 74 63          var matc
2bb0: 68 65 73 20 3d 20 6c 69 6e 65 73 5b 30 5d 2e 6d  hes = lines[0].m
2bc0: 61 74 63 68 28 2f 5c 3c 5c 25 d0 9c d0 b0 d0 ba  atch(/\<\%......
2bd0: d1 80 d0 be d1 81 5c 73 2b 5c 22 28 2e 2b 3f 29  ......\s+\"(.+?)
2be0: 5c 22 5c 3e 2f 29 3b 0d 0a 20 20 20 20 20 20 20  \"\>/);..       
2bf0: 20 69 66 20 28 6d 61 74 63 68 65 73 29 0d 0a 20   if (matches).. 
2c00: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
2c10: 20 20 20 20 20 20 72 65 73 75 6c 74 2e 6d 61 63        result.mac
2c20: 72 6f 73 4e 61 6d 65 20 3d 20 6d 61 74 63 68 65  rosName = matche
2c30: 73 5b 31 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20  s[1];..         
2c40: 20 20 20 2f 2f 20 d0 a1 d1 82 d1 80 d0 be d0 ba     // ..........
2c50: d1 83 20 d1 81 20 d0 b4 d0 b8 d1 80 d0 b5 d0 ba  .. .. ..........
2c60: d1 82 d0 b8 d0 b2 d0 be d0 b9 20 d1 83 d0 b4 d0  .......... .....
2c70: b0 d0 bb d1 8f d0 b5 d0 bc 20 d0 b8 d0 b7 20 d1  ......... .... .
2c80: 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 b0 2e 0d 0a  ................
2c90: 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 6e 65              line
2ca0: 73 20 3d 20 6c 69 6e 65 73 2e 73 6c 69 63 65 28  s = lines.slice(
2cb0: 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a  1);..        }..
2cc0: 20 20 20 20 7d 0d 0a 20 20 20 20 72 65 73 75 6c      }..    resul
2cd0: 74 2e 72 65 61 6c 54 70 6c 20 3d 20 53 74 72 69  t.realTpl = Stri
2ce0: 6e 67 55 74 69 6c 73 2e 66 72 6f 6d 4c 69 6e 65  ngUtils.fromLine
2cf0: 73 28 6c 69 6e 65 73 29 3b 0d 0a 20 20 20 20 72  s(lines);..    r
2d00: 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 7d  eturn result;..}
2d10: 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 53 6e 69 70 70 65  ....////} Snippe
2d20: 74 50 61 72 61 6d 65 74 65 72 73 4d 61 6e 61 67  tParametersManag
2d30: 65 72 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  er....//////////
2d40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
2d50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
2d60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
2d70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
2d80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
2d90: 2f 2f 2f 2f 7b 20 53 6e 69 70 70 65 74 0d 0a 2f  ////{ Snippet../
2da0: 2f 2f 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 53 6e  ///..function Sn
2db0: 69 70 70 65 74 28 73 74 45 6c 65 6d 65 6e 74 29  ippet(stElement)
2dc0: 20 7b 0d 0a 2f 2f 20 5b 22 d0 98 d0 bc d1 8f 20   {..// ["...... 
2dd0: d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 b0 20 32  .............. 2
2de0: 22 2c 30 2c 31 2c 22 22 2c 22 d0 a8 d0 b0 d0 b1  ",0,1,"","......
2df0: d0 bb d0 be d0 bd 2c 20 d0 b2 d0 ba d0 bb d1 8e  ......, ........
2e00: d1 87 d0 b0 d0 b5 d0 bc d1 8b d0 b9 20 d0 b2 20  ............ .. 
2e10: d0 ba d0 be d0 bd d1 82 d0 b5 d0 ba d1 81 d1 82  ................
2e20: d0 bd d0 be 20 d0 bc d0 b5 d0 bd d1 8e 22 5d 0d  .... ........"].
2e30: 0a 0d 0a 20 20 20 20 74 68 69 73 2e 6e 61 6d 65  ...    this.name
2e40: 20 3d 20 73 74 45 6c 65 6d 65 6e 74 5b 30 5d 3b   = stElement[0];
2e50: 0d 0a 20 20 20 20 74 68 69 73 2e 69 6e 63 6c 75  ..    this.inclu
2e60: 64 65 49 6e 43 6f 6e 74 65 78 74 4d 65 6e 75 20  deInContextMenu 
2e70: 3d 20 28 73 74 45 6c 65 6d 65 6e 74 5b 32 5d 20  = (stElement[2] 
2e80: 3d 3d 20 31 29 3b 0d 0a 20 20 20 20 74 68 69 73  == 1);..    this
2e90: 2e 72 65 70 6c 61 63 65 6d 65 6e 74 53 74 72 69  .replacementStri
2ea0: 6e 67 20 3d 20 73 74 45 6c 65 6d 65 6e 74 5b 33  ng = stElement[3
2eb0: 5d 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 68  ];..    ..    th
2ec0: 69 73 2e 6d 61 63 72 6f 73 4e 61 6d 65 20 3d 20  is.macrosName = 
2ed0: 27 27 3b 0d 0a 20 20 20 20 74 68 69 73 2e 74 65  '';..    this.te
2ee0: 6d 70 6c 61 74 65 20 3d 20 27 27 3b 0d 0a 20 20  mplate = '';..  
2ef0: 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 5f 69 6e    ..    this._in
2f00: 69 74 54 65 6d 70 6c 61 74 65 54 65 78 74 28 73  itTemplateText(s
2f10: 74 45 6c 65 6d 65 6e 74 5b 34 5d 29 3b 0d 0a 7d  tElement[4]);..}
2f20: 0d 0a 0d 0a 53 6e 69 70 70 65 74 2e 70 72 6f 74  ....Snippet.prot
2f30: 6f 74 79 70 65 2e 5f 69 6e 69 74 54 65 6d 70 6c  otype._initTempl
2f40: 61 74 65 54 65 78 74 20 3d 20 66 75 6e 63 74 69  ateText = functi
2f50: 6f 6e 28 74 70 6c 29 20 7b 0d 0a 20 20 20 76 61  on(tpl) {..   va
2f60: 72 20 73 6d 20 3d 20 47 65 74 53 6e 69 70 70 65  r sm = GetSnippe
2f70: 74 73 4d 61 6e 61 67 65 72 28 29 3b 20 20 20 20  tsManager();    
2f80: 20 20 20 20 0d 0a 20 20 20 76 61 72 20 72 65 73      ..   var res
2f90: 20 3d 20 73 6d 2e 70 61 72 61 6d 73 4d 61 6e 61   = sm.paramsMana
2fa0: 67 65 72 2e 70 72 6f 63 65 73 73 41 64 64 4d 61  ger.processAddMa
2fb0: 63 72 6f 73 44 69 72 65 63 74 69 76 65 28 74 70  crosDirective(tp
2fc0: 6c 29 3b 20 20 0d 0a 20 20 20 74 68 69 73 2e 6d  l);  ..   this.m
2fd0: 61 63 72 6f 73 4e 61 6d 65 20 3d 20 72 65 73 2e  acrosName = res.
2fe0: 6d 61 63 72 6f 73 4e 61 6d 65 3b 0d 0a 20 20 20  macrosName;..   
2ff0: 74 68 69 73 2e 74 65 6d 70 6c 61 74 65 20 3d 20  this.template = 
3000: 72 65 73 2e 72 65 61 6c 54 70 6c 3b 0d 0a 7d 0d  res.realTpl;..}.
3010: 0a 0d 0a 53 6e 69 70 70 65 74 2e 70 72 6f 74 6f  ...Snippet.proto
3020: 74 79 70 65 2e 68 61 73 4d 61 63 72 6f 73 20 3d  type.hasMacros =
3030: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20   function() {.. 
3040: 20 20 20 72 65 74 75 72 6e 20 28 74 68 69 73 2e     return (this.
3050: 6d 61 63 72 6f 73 4e 61 6d 65 20 21 3d 20 27 27  macrosName != ''
3060: 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 92 d1 8b  );..}..../* ....
3070: d1 87 d0 b8 d1 81 d0 bb d1 8f d0 b5 d1 82 20 d0  .............. .
3080: be d1 82 d0 bd d0 be d1 81 d0 b8 d1 82 d0 b5 d0  ................
3090: bb d1 8c d0 bd d1 8b d0 b5 20 d0 ba d0 be d0 be  ......... ......
30a0: d1 80 d0 b4 d0 b8 d0 bd d0 b0 d1 82 d1 8b 20 d0  .............. .
30b0: bf d0 be d0 bb d0 be d0 b6 d0 b5 d0 bd d0 b8 d1  ................
30c0: 8f 20 d0 bc d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 b0  . ..............
30d0: 20 d0 ba d1 83 d1 80 d1 81 d0 be d1 80 d0 b0 20   .............. 
30e0: d0 b2 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0  .. .............
30f0: b5 2e 0d 0a d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0  ................
3100: d1 89 d0 b0 d0 b5 d1 82 20 d0 b0 d0 bd d0 be d0  ........ .......
3110: bd d0 b8 d0 bc d0 bd d1 8b d0 b9 20 d0 be d0 b1  ........... ....
3120: d1 8a d0 b5 d0 ba d1 82 20 d1 81 20 d0 b4 d0 b2  ........ .. ....
3130: d1 83 d0 bc d1 8f 20 d1 81 d0 b2 d0 be d0 b9 d1  ...... .........
3140: 81 d1 82 d0 b2 d0 b0 d0 bc d0 b8 20 72 6f 77 20  ........... row 
3150: 2d 20 d0 b8 d0 bd d0 b4 d0 b5 d0 ba d1 81 20 d1  - ............ .
3160: 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 d0 b8 20 0d  ........... .. .
3170: 0a 63 6f 6c 20 2d 20 d0 b8 d0 bd d0 b4 d0 b5 d0  .col - .........
3180: ba d1 81 20 d0 ba d0 be d0 bb d0 be d0 bd d0 ba  ... ............
3190: d0 b8 20 d0 b2 20 d1 81 d1 82 d1 80 d0 be d0 ba  .. .. ..........
31a0: d0 b5 2e 20 d0 9d d1 83 d0 bc d0 b5 d1 80 d0 b0  ... ............
31b0: d1 86 d0 b8 d1 8f 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
31c0: ba 20 d0 b8 20 d0 ba d0 be d0 bb d0 be d0 bd d0  . .. ...........
31d0: be d0 ba 20 2d 20 d1 81 20 30 2e 0d 0a d0 92 d0  ... - .. 0......
31e0: be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1  ................
31f0: 82 20 6e 75 6c 6c 2c 20 d0 b5 d1 81 d0 bb d0 b8  . null, ........
3200: 20 d0 bc d0 b0 d1 80 d0 ba d0 b5 d1 80 20 d0 bd   ............ ..
3210: d0 b5 20 d0 bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd 2e  .. .............
3220: 20 2a 2f 0d 0a 53 6e 69 70 70 65 74 2e 70 72 6f   */..Snippet.pro
3230: 74 6f 74 79 70 65 2e 67 65 74 43 75 72 73 6f 72  totype.getCursor
3240: 43 6f 6f 72 64 20 3d 20 66 75 6e 63 74 69 6f 6e  Coord = function
3250: 20 28 74 70 6c 2c 20 73 65 6c 65 63 74 65 64 52   (tpl, selectedR
3260: 6f 77 73 43 6f 75 6e 74 29 20 7b 20 20 20 20 0d  owsCount) {    .
3270: 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2a 20 d0 95  .    ..    /* ..
3280: d1 81 d0 bb d0 b8 20 d0 b5 d1 81 d1 82 d1 8c 20  ...... ........ 
3290: d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd  ................
32a0: d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1 81 d1 82 2c  .... ..........,
32b0: 20 d1 82 d0 be 20 d0 bf d0 be d0 b7 d0 b8 d1 86   .... ..........
32c0: d0 b8 d1 8f 20 d0 ba d1 83 d1 80 d1 81 d0 be d1  .... ...........
32d0: 80 d0 b0 20 d0 bc d0 be d0 b6 d0 b5 d1 82 20 d0  ... .......... .
32e0: b1 d1 8b d1 82 d1 8c 20 d1 83 d0 ba d0 b0 d0 b7  ....... ........
32f0: d0 b0 d0 bd d0 b0 0d 0a 20 20 20 20 d0 b2 20 d1  ........    .. .
3300: 83 d0 bf d1 80 d0 b0 d0 b2 d0 bb d1 8f d1 8e d1  ................
3310: 89 d0 b5 d0 b9 20 d0 ba d0 be d0 bd d1 81 d1 82  ..... ..........
3320: d1 80 d1 83 d0 ba d1 86 d0 b8 d0 b8 20 d0 bf d1  ............ ...
3330: 83 d1 82 d0 b5 d0 bc 20 d0 b4 d0 be d0 b1 d0 b0  ....... ........
3340: d0 b2 d0 bb d0 b5 d0 bd d0 b8 d1 8f 20 d1 81 d0  ............ ...
3350: b8 d0 bc d0 b2 d0 be d0 bb d0 b0 20 22 7c 22 20  ........... "|" 
3360: d0 bf d0 b5 d1 80 d0 b5 d0 b4 0d 0a 20 20 20 20  ............    
3370: d0 bf d0 b5 d1 80 d0 b2 d1 8b d0 bc 20 d1 81 d0  ............ ...
3380: b8 d0 bc d0 b2 d0 be d0 bb d0 be d0 bc 20 d0 bf  ............. ..
3390: d0 be d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 ba d0 b8  ................
33a0: 2c 20 d0 bd d0 b0 d0 bf d1 80 d0 b8 d0 bc d0 b5  , ..............
33b0: d1 80 20 3c 3f 22 7c d0 92 d0 b2 d0 b5 d0 b4 d0  .. <?"|.........
33c0: b8 d1 82 d0 b5 20 d1 83 d1 81 d0 bb d0 be d0 b2  ..... ..........
33d0: d0 b8 d0 b5 22 3e 2e 0d 0a 20 20 20 20 d0 95 d1  ....">...    ...
33e0: 81 d0 bb d0 b8 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb  ..... ..........
33f0: d0 b5 d0 bd d0 bd d0 be d0 b3 d0 be 20 d1 82 d0  ............ ...
3400: b5 d0 ba d1 81 d1 82 d0 b0 20 d0 bd d0 b5 d1 82  ......... ......
3410: 2c 20 d1 82 d0 be 20 d0 bf d0 be d0 b7 d0 b8 d1  , .... .........
3420: 86 d0 b8 d1 8f 20 d0 ba d1 83 d1 80 d1 81 d0 be  ..... ..........
3430: d1 80 d0 b0 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0  .... ...........
3440: b5 d0 bb d1 8f d0 b5 d1 82 d1 81 d1 8f 20 d0 bf  ............. ..
3450: d1 80 d0 b8 0d 0a 20 20 20 20 d0 bf d0 be d0 bc  ......    ......
3460: d0 be d1 89 d0 b8 20 d1 81 d1 82 d0 b0 d0 bd d0  ...... .........
3470: b4 d0 b0 d1 80 d1 82 d0 bd d0 be d0 b9 20 d1 83  ............. ..
3480: d0 bf d1 80 d0 b0 d0 b2 d0 bb d1 8f d1 8e d1 89  ................
3490: d0 b5 d0 b9 20 d0 ba d0 be d0 bd d1 81 d1 82 d1  .... ...........
34a0: 80 d1 83 d0 ba d1 86 d0 b8 d0 b8 20 3c 3f 3e 2e  ........... <?>.
34b0: 20 2a 2f 0d 0a 20 20 20 20 76 61 72 20 73 74 64   */..    var std
34c0: 4d 61 72 6b 65 72 20 3d 20 27 3c 3f 3e 27 3b 0d  Marker = '<?>';.
34d0: 0a 20 20 20 20 76 61 72 20 61 6c 74 4d 61 72 6b  .    var altMark
34e0: 65 72 20 3d 20 27 3c 3f 22 7c 27 3b 0d 0a 20 20  er = '<?"|';..  
34f0: 20 20 0d 0a 20 20 20 20 76 61 72 20 63 75 72 4d    ..    var curM
3500: 61 72 6b 65 72 20 3d 20 73 65 6c 65 63 74 65 64  arker = selected
3510: 52 6f 77 73 43 6f 75 6e 74 20 3f 20 61 6c 74 4d  RowsCount ? altM
3520: 61 72 6b 65 72 20 3a 20 73 74 64 4d 61 72 6b 65  arker : stdMarke
3530: 72 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61  r;..    ..    va
3540: 72 20 6c 69 6e 65 73 20 3d 20 53 74 72 69 6e 67  r lines = String
3550: 55 74 69 6c 73 2e 74 6f 4c 69 6e 65 73 28 74 70  Utils.toLines(tp
3560: 6c 29 3b 20 20 20 20 0d 0a 0d 0a 20 20 20 20 2f  l);    ....    /
3570: 2f 20 d0 94 d0 bb d1 8f 20 d0 be d0 bf d1 80 d0  / ...... .......
3580: b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d1 8f 20  ............... 
3590: d0 b2 d0 b7 d0 b0 d0 b8 d0 bc d0 bd d0 be d0 b3  ................
35a0: d0 be 20 d1 80 d0 b0 d1 81 d0 bf d0 be d0 bb d0  .. .............
35b0: be d0 b6 d0 b5 d0 bd d0 b8 d1 8f 20 d1 81 d1 82  ........... ....
35c0: d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d0 be  ................
35d0: d0 b3 d0 be 20 d0 b8 20 d0 b0 d0 bb d1 8c d1 82  .... .. ........
35e0: d0 b5 d1 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2 d0 bd  ................
35f0: d0 be d0 b3 d0 be 20 d0 bc d0 b0 d1 80 d0 ba d0  ...... .........
3600: b5 d1 80 d0 b0 2e 0d 0a 20 20 20 20 76 61 72 20  ........    var 
3610: 73 74 64 4d 61 72 6b 65 72 52 6f 77 20 3d 20 2d  stdMarkerRow = -
3620: 31 3b 0d 0a 20 20 20 20 76 61 72 20 61 6c 74 4d  1;..    var altM
3630: 61 72 6b 65 72 52 6f 77 20 3d 20 2d 31 3b 0d 0a  arkerRow = -1;..
3640: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 63 6f      ..    var co
3650: 6f 72 64 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20  ords = null;..  
3660: 20 20 0d 0a 20 20 20 20 66 6f 72 20 28 76 61 72    ..    for (var
3670: 20 72 6f 77 3d 30 3b 20 72 6f 77 3c 6c 69 6e 65   row=0; row<line
3680: 73 2e 6c 65 6e 67 74 68 3b 20 72 6f 77 2b 2b 29  s.length; row++)
3690: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
36a0: 20 69 66 20 28 73 74 64 4d 61 72 6b 65 72 52 6f   if (stdMarkerRo
36b0: 77 20 3c 20 30 20 26 26 20 6c 69 6e 65 73 5b 72  w < 0 && lines[r
36c0: 6f 77 5d 2e 69 6e 64 65 78 4f 66 28 73 74 64 4d  ow].indexOf(stdM
36d0: 61 72 6b 65 72 29 20 3e 3d 30 29 20 0d 0a 20 20  arker) >=0) ..  
36e0: 20 20 20 20 20 20 20 20 20 20 73 74 64 4d 61 72            stdMar
36f0: 6b 65 72 52 6f 77 20 3d 20 72 6f 77 3b 0d 0a 20  kerRow = row;.. 
3700: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
3710: 20 20 20 20 20 69 66 20 28 61 6c 74 4d 61 72 6b       if (altMark
3720: 65 72 52 6f 77 20 3c 20 30 20 26 26 20 6c 69 6e  erRow < 0 && lin
3730: 65 73 5b 72 6f 77 5d 2e 69 6e 64 65 78 4f 66 28  es[row].indexOf(
3740: 61 6c 74 4d 61 72 6b 65 72 29 20 3e 3d 30 29 0d  altMarker) >=0).
3750: 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 74  .            alt
3760: 4d 61 72 6b 65 72 52 6f 77 20 3d 20 72 6f 77 3b  MarkerRow = row;
3770: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
3780: 20 20 20 20 76 61 72 20 63 6f 6c 20 3d 20 6c 69      var col = li
3790: 6e 65 73 5b 72 6f 77 5d 2e 69 6e 64 65 78 4f 66  nes[row].indexOf
37a0: 28 63 75 72 4d 61 72 6b 65 72 29 3b 0d 0a 20 20  (curMarker);..  
37b0: 20 20 20 20 20 20 69 66 20 28 63 6f 6c 20 3e 3d        if (col >=
37c0: 20 30 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a   0)..        {..
37d0: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6f 72              coor
37e0: 64 73 20 3d 20 7b 20 27 72 6f 77 27 3a 20 72 6f  ds = { 'row': ro
37f0: 77 2c 20 27 63 6f 6c 27 3a 20 63 6f 6c 20 7d 3b  w, 'col': col };
3800: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a  ..            /*
3810: 20 d0 95 d1 81 d0 bb d0 b8 20 d0 bc d0 b0 d1 80   ........ ......
3820: d0 ba d0 b5 d1 80 20 d0 b0 d0 bb d1 8c d1 82 d0  ...... .........
3830: b5 d1 80 d0 bd d0 b0 d1 82 d0 b8 d0 b2 d0 bd d0  ................
3840: be d0 b9 20 d0 bf d0 be d0 b7 d0 b8 d1 86 d0 b8  ... ............
3850: d0 b8 20 d0 ba d1 83 d1 80 d1 81 d0 be d1 80 d0  .. .............
3860: b0 20 d0 bd d0 b8 d0 b6 d0 b5 20 d0 be d1 81 d0  . ........ .....
3870: bd d0 be d0 b2 d0 bd d0 be d0 b3 d0 be 2c 20 d1  ............., .
3880: 82 d0 be 20 d0 bf d1 80 d0 b8 0d 0a 20 20 20 20  ... ........    
3890: 20 20 20 20 20 20 20 20 d1 80 d0 b0 d1 81 d1 87          ........
38a0: d0 b5 d1 82 d0 b5 20 d0 ba d0 be d0 be d1 80 d0  ...... .........
38b0: b4 d0 b8 d0 bd d0 b0 d1 82 d1 8b 20 d1 81 d1 82  ........... ....
38c0: d1 80 d0 be d0 ba d0 b8 20 d0 bd d0 b0 d0 b4 d0  ........ .......
38d0: be 20 d1 83 d1 87 d0 b5 d1 81 d1 82 d1 8c 20 d0  . ............ .
38e0: b2 d1 8b d1 81 d0 be d1 82 d1 83 20 d0 b2 d1 8b  ........... ....
38f0: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d0 be d0 b3  ................
3900: d0 be 20 d0 b1 d0 bb d0 be d0 ba d0 b0 2e 20 2a  .. ........... *
3910: 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69  /..            i
3920: 66 20 28 63 75 72 4d 61 72 6b 65 72 20 3d 3d 20  f (curMarker == 
3930: 61 6c 74 4d 61 72 6b 65 72 20 26 26 20 73 74 64  altMarker && std
3940: 4d 61 72 6b 65 72 52 6f 77 20 3e 20 2d 31 20 26  MarkerRow > -1 &
3950: 26 20 61 6c 74 4d 61 72 6b 65 72 52 6f 77 20 3e  & altMarkerRow >
3960: 20 73 74 64 4d 61 72 6b 65 72 52 6f 77 29 0d 0a   stdMarkerRow)..
3970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3980: 63 6f 6f 72 64 73 2e 72 6f 77 20 2b 3d 20 73 65  coords.row += se
3990: 6c 65 63 74 65 64 52 6f 77 73 43 6f 75 6e 74 20  lectedRowsCount 
39a0: 2d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  - 1;..          
39b0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
39c0: 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6f 72 64      return coord
39d0: 73 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a  s;            ..
39e0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d          }..    }
39f0: 0d 0a 20 0d 0a 20 20 20 20 72 65 74 75 72 6e 20  .. ..    return 
3a00: 6e 75 6c 6c 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0  null;..}..../* .
3a10: 92 d1 8b d0 bf d0 be d0 bb d0 bd d1 8f d0 b5 d1  ................
3a20: 82 20 d0 bf d0 be d0 b4 d1 81 d1 82 d0 b0 d0 bd  . ..............
3a30: d0 be d0 b2 d0 ba d1 83 20 d0 b7 d0 bd d0 b0 d1  ........ .......
3a40: 87 d0 b5 d0 bd d0 b8 d0 b9 20 d0 b2 20 d1 88 d0  ......... .. ...
3a50: b0 d0 b1 d0 bb d0 be d0 bd 2e 20 2a 2f 0d 0a 53  .......... */..S
3a60: 6e 69 70 70 65 74 2e 70 72 6f 74 6f 74 79 70 65  nippet.prototype
3a70: 2e 70 61 72 73 65 54 65 6d 70 6c 61 74 65 53 74  .parseTemplateSt
3a80: 72 69 6e 67 20 3d 20 66 75 6e 63 74 69 6f 6e 20  ring = function 
3a90: 28 74 70 6c 29 20 7b 0d 0a 20 20 20 20 20 20 20  (tpl) {..       
3aa0: 20 0d 0a 20 20 20 20 76 61 72 20 73 6d 20 3d 20   ..    var sm = 
3ab0: 47 65 74 53 6e 69 70 70 65 74 73 4d 61 6e 61 67  GetSnippetsManag
3ac0: 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d  er();..        .
3ad0: 0a 20 20 20 20 74 70 6c 20 3d 20 73 6d 2e 70 61  .    tpl = sm.pa
3ae0: 72 61 6d 73 4d 61 6e 61 67 65 72 2e 72 65 70 6c  ramsManager.repl
3af0: 61 63 65 45 78 74 65 6e 64 65 64 50 61 72 61 6d  aceExtendedParam
3b00: 73 28 74 70 6c 29 3b 20 20 0d 0a 20 20 20 20 0d  s(tpl);  ..    .
3b10: 0a 20 20 20 20 2f 2a 20 d0 98 d1 81 d0 bf d0 be  .    /* ........
3b20: d0 bb d1 8c d0 b7 d1 83 d0 b5 d0 bc 20 d1 88 d1  ............ ...
3b30: 82 d0 b0 d1 82 d0 bd d1 8b d0 b9 20 d0 b8 d0 bd  ........... ....
3b40: d1 82 d0 b5 d1 80 d0 bf d1 80 d0 b5 d1 82 d0 b0  ................
3b50: d1 82 d0 be d1 80 20 d1 88 d0 b0 d0 b1 d0 bb d0  ...... .........
3b60: be d0 bd d0 be d0 b2 20 31 d0 a1 2c 0d 0a 20 20  ....... 1..,..  
3b70: 20 20 d0 b4 d0 be d1 81 d1 82 d1 83 d0 bf 20 d0    ............ .
3b80: ba 20 d0 ba d0 be d1 82 d0 be d1 80 d0 be d0 bc  . ..............
3b90: d1 83 20 d0 bd d0 b0 d0 bc 20 d0 bf d1 80 d0 b5  .. ...... ......
3ba0: d0 b4 d0 be d1 81 d1 82 d0 b0 d0 b2 d0 bb d1 8f  ................
3bb0: d0 b5 d1 82 20 d0 a1 d0 bd d0 b5 d0 b3 d0 be d0  .... ...........
3bc0: bf d0 b0 d1 82 2e 20 2a 2f 20 20 20 20 0d 0a 20  ...... */    .. 
3bd0: 20 20 20 72 65 74 75 72 6e 20 73 6e 65 67 6f 70     return snegop
3be0: 61 74 2e 70 61 72 73 65 54 65 6d 70 6c 61 74 65  at.parseTemplate
3bf0: 53 74 72 69 6e 67 28 74 70 6c 29 3b 0d 0a 7d 0d  String(tpl);..}.
3c00: 0a 0d 0a 2f 2a 20 d0 92 d1 8b d0 bf d0 be d0 bb  .../* ..........
3c10: d0 bd d1 8f d0 b5 d1 82 20 d0 bf d0 be d0 b4 d1  ........ .......
3c20: 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 ba d1 83 20  ............... 
3c30: d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 b0 20 d0  .............. .
3c40: b2 20 d1 82 d0 b5 d0 ba d1 81 d1 82 20 2a 2f 0d  . .......... */.
3c50: 0a 53 6e 69 70 70 65 74 2e 70 72 6f 74 6f 74 79  .Snippet.prototy
3c60: 70 65 2e 69 6e 73 65 72 74 20 3d 20 66 75 6e 63  pe.insert = func
3c70: 74 69 6f 6e 20 28 74 65 78 74 57 69 6e 64 6f 77  tion (textWindow
3c80: 29 20 7b 0d 0a 2f 2f 64 65 62 75 67 67 65 72 3b  ) {..//debugger;
3c90: 0d 0a 20 20 20 20 76 61 72 20 63 6f 64 65 20 3d  ..    var code =
3ca0: 20 74 68 69 73 2e 74 65 6d 70 6c 61 74 65 3b 0d   this.template;.
3cb0: 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 9e  .    ..    // ..
3cc0: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b8 d1 82  ................
3cd0: d1 8c 2c 20 d0 b5 d1 81 d1 82 d1 8c 20 d0 bb d0  .., ........ ...
3ce0: b8 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd  . ..............
3cf0: d0 bd d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1 81 d1  ...... .........
3d00: 82 2c 20 d0 ba d0 be d1 82 d0 be d1 80 d1 8b d0  ., .............
3d10: b9 20 d0 bd d0 b0 d0 b4 d0 be 20 d0 b1 d1 83 d0  . ........ .....
3d20: b4 d0 b5 d1 82 20 d0 bf d0 be d0 b4 d1 81 d1 82  ..... ..........
3d30: d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20 d0 b2 d0 bc d0  .......... .....
3d40: b5 d1 81 d1 82 d0 be 20 3c 3f 3e 2e 0d 0a 20 20  ....... <?>...  
3d50: 20 20 76 61 72 20 73 65 6c 65 63 74 69 6f 6e 20    var selection 
3d60: 3d 20 74 68 69 73 2e 67 65 74 53 65 6c 65 63 74  = this.getSelect
3d70: 69 6f 6e 28 74 65 78 74 57 69 6e 64 6f 77 29 3b  ion(textWindow);
3d80: 0d 0a 20 20 20 20 76 61 72 20 73 65 6c 65 63 74  ..    var select
3d90: 65 64 54 65 78 74 20 3d 20 74 65 78 74 57 69 6e  edText = textWin
3da0: 64 6f 77 2e 47 65 74 53 65 6c 65 63 74 65 64 54  dow.GetSelectedT
3db0: 65 78 74 28 29 3b 0d 0a 20 20 20 20 76 61 72 20  ext();..    var 
3dc0: 69 73 53 65 6c 65 63 74 65 64 20 3d 20 28 73 65  isSelected = (se
3dd0: 6c 65 63 74 65 64 54 65 78 74 20 21 3d 20 22 22  lectedText != ""
3de0: 29 3b 20 20 20 20 0d 0a 20 20 20 20 0d 0a 20 20  );    ..    ..  
3df0: 20 20 2f 2a 20 d0 95 d1 81 d0 bb d0 b8 20 d0 b2    /* ........ ..
3e00: 20 d1 85 d0 b2 d0 be d1 81 d1 82 d0 b5 20 d0 b5   ............ ..
3e10: d1 81 d1 82 d1 8c 20 d0 bf d0 b5 d1 80 d0 b5 d0  ...... .........
3e20: b2 d0 be d0 b4 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
3e30: d0 b8 20 28 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5  .. (............
3e40: d0 bd d1 8b 20 d1 81 20 73 68 69 66 74 27 d0 be  .... .. shift'..
3e50: d0 bc 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 20  .. ............ 
3e60: d0 b8 20 d0 b2 20 d0 b8 d1 82 d0 be d0 b3 d0 b5  .. .. ..........
3e70: 20 d0 ba d1 83 d1 80 d1 81 d0 be d1 80 20 20 0d   ............  .
3e80: 0a 20 20 20 20 d1 81 d1 82 d0 be d0 b8 d1 82 20  .    .......... 
3e90: d0 bd d0 b0 20 d1 81 d0 bb d0 b5 d0 b4 d1 83 d1  .... ...........
3ea0: 8e d1 89 d0 b5 d0 b9 20 d1 81 d1 82 d1 80 d0 be  ....... ........
3eb0: d0 ba d0 b5 29 2c 20 d1 82 d0 be 20 d0 bd d0 b0  ....), .... ....
3ec0: d0 bc 20 d1 8d d1 82 d0 be d1 82 20 d0 bf d0 b5  .. ........ ....
3ed0: d1 80 d0 b5 d0 b2 d0 be d0 b4 20 d1 81 d1 82 d1  .......... .....
3ee0: 80 d0 be d0 ba d0 b8 20 d0 bd d0 b5 d0 bb d1 8c  ....... ........
3ef0: d0 b7 d1 8f 20 d0 b2 d0 ba d0 bb d1 8e d1 87 d0  .... ...........
3f00: b0 d1 82 d1 8c 20 d0 b2 20 d0 b2 d1 8b d0 b4 d0  ..... .. .......
3f10: b5 d0 bb d0 b5 d0 bd d0 bd d1 8b d0 b9 0d 0a 20  ............... 
3f20: 20 20 20 d1 82 d0 b5 d0 ba d1 81 d1 82 2c 20 d0     .........., .
3f30: b0 20 d0 bd d0 b0 d0 b4 d0 be 20 d0 bf d0 b5 d1  . ........ .....
3f40: 80 d0 b5 d0 bd d0 b5 d1 81 d1 82 d0 b8 20 d0 bf  ............. ..
3f50: d0 be d1 81 d0 bb d0 b5 20 d0 b2 d1 81 d1 82 d0  ........ .......
3f60: b0 d0 b2 d0 bb d0 b5 d0 bd d0 bd d0 be d0 b3 d0  ................
3f70: be 20 d1 81 d0 bd d0 b8 d0 bf d0 bf d0 b5 d1 82  . ..............
3f80: d0 b0 2e 20 2a 2f 0d 0a 20 20 20 20 76 61 72 20  ... */..    var 
3f90: 69 73 54 72 61 69 6c 69 6e 67 4e 4c 20 3d 20 53  isTrailingNL = S
3fa0: 74 72 69 6e 67 55 74 69 6c 73 2e 65 6e 64 73 57  tringUtils.endsW
3fb0: 69 74 68 28 73 65 6c 65 63 74 65 64 54 65 78 74  ith(selectedText
3fc0: 2c 20 22 5c 6e 22 29 3b 0d 0a 20 20 20 20 69 66  , "\n");..    if
3fd0: 20 28 69 73 54 72 61 69 6c 69 6e 67 4e 4c 29 0d   (isTrailingNL).
3fe0: 0a 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65  .        selecte
3ff0: 64 54 65 78 74 20 3d 20 73 65 6c 65 63 74 65 64  dText = selected
4000: 54 65 78 74 2e 73 75 62 73 74 72 28 30 2c 20 73  Text.substr(0, s
4010: 65 6c 65 63 74 65 64 54 65 78 74 2e 6c 65 6e 67  electedText.leng
4020: 74 68 20 2d 20 31 29 3b 0d 0a 20 20 20 20 20 20  th - 1);..      
4030: 20 20 0d 0a 20 20 20 20 2f 2a 20 d0 9e d0 bf d1    ..    /* .....
4040: 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b8 d0 bc 20 d0 b8  ............. ..
4050: 20 d0 b7 d0 b0 d0 bf d0 be d0 bc d0 bd d0 b8 d0   ...............
4060: bc 20 d0 be d1 82 d1 81 d1 82 d1 83 d0 bf 2e 20  . ............. 
4070: d0 95 d1 81 d0 bb d0 b8 20 d0 b2 d1 8b d0 b4 d0  ........ .......
4080: b5 d0 bb d0 b5 d0 bd 20 d1 82 d0 b5 d0 ba d1 81  ....... ........
4090: d1 82 2c 20 d1 82 d0 be 20 d0 be d1 82 d1 81 d1  .., .... .......
40a0: 82 d1 83 d0 bf 20 d0 be d0 bf d1 80 d0 b5 d0 b4  ..... ..........
40b0: d0 b5 d0 bb d1 8f d0 b5 d0 bc 0d 0a 20 20 20 20  ............    
40c0: d0 bf d0 be 20 d0 bf d0 b5 d1 80 d0 b2 d0 be d0  .... ...........
40d0: b9 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b5 20 d0  . ............ .
40e0: b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d0  ................
40f0: be d0 b3 d0 be 20 d0 b1 d0 bb d0 be d0 ba d0 b0  ..... ..........
4100: 2e 20 d0 92 20 d0 bf d1 80 d0 be d1 82 d0 b8 d0  . .. ...........
4110: b2 d0 bd d0 be d0 bc 20 d1 81 d0 bb d1 83 d1 87  ....... ........
4120: d0 b0 d0 b5 20 d0 b8 d1 81 d0 bf d0 be d0 bb d1  .... ...........
4130: 8c d0 b7 d1 83 d0 b5 d0 bc 20 d0 be d1 82 d1 81  ......... ......
4140: d1 82 d1 83 d0 bf 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
4150: ba d0 b8 2c 0d 0a 20 20 20 20 d0 b2 20 d0 ba d0  ...,..    .. ...
4160: be d1 82 d0 be d1 80 d0 be d0 b9 20 d0 b1 d1 8b  ........... ....
4170: d0 bb 20 d1 83 d1 81 d1 82 d0 b0 d0 bd d0 be d0  .. .............
4180: b2 d0 bb d0 b5 d0 bd 20 d0 ba d1 83 d1 80 d1 81  ....... ........
4190: d0 be d1 80 20 d0 bd d0 b0 20 d0 bc d0 be d0 bc  .... .... ......
41a0: d0 b5 d0 bd d1 82 20 d0 b2 d1 81 d1 82 d0 b0 d0  ...... .........
41b0: b2 d0 ba d0 b8 20 d1 88 d0 b0 d0 b1 d0 bb d0 be  ..... ..........
41c0: d0 bd d0 b0 2e 20 2a 2f 0d 0a 20 20 20 20 76 61  ..... */..    va
41d0: 72 20 69 6e 64 20 3d 20 27 27 3b 0d 0a 20 20 20  r ind = '';..   
41e0: 20 69 66 20 28 69 73 53 65 6c 65 63 74 65 64 29   if (isSelected)
41f0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
4200: 20 69 6e 64 20 3d 20 53 74 72 69 6e 67 55 74 69   ind = StringUti
4210: 6c 73 2e 67 65 74 49 6e 64 65 6e 74 28 73 65 6c  ls.getIndent(sel
4220: 65 63 74 65 64 54 65 78 74 29 3b 0d 0a 20 20 20  ectedText);..   
4230: 20 7d 0d 0a 20 20 20 20 65 6c 73 65 20 0d 0a 20   }..    else .. 
4240: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61     {..        va
4250: 72 20 6c 65 66 74 50 61 72 74 20 3d 20 74 65 78  r leftPart = tex
4260: 74 57 69 6e 64 6f 77 2e 52 61 6e 67 65 28 73 65  tWindow.Range(se
4270: 6c 65 63 74 69 6f 6e 2e 62 65 67 69 6e 52 6f 77  lection.beginRow
4280: 2c 20 31 2c 20 73 65 6c 65 63 74 69 6f 6e 2e 62  , 1, selection.b
4290: 65 67 69 6e 52 6f 77 2c 20 73 65 6c 65 63 74 69  eginRow, selecti
42a0: 6f 6e 2e 62 65 67 69 6e 43 6f 6c 29 2e 47 65 74  on.beginCol).Get
42b0: 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 20 20 20  Text();..       
42c0: 20 69 6e 64 20 3d 20 6c 65 66 74 50 61 72 74 2e   ind = leftPart.
42d0: 6d 61 74 63 68 28 2f 5e 5c 73 2a 24 2f 29 20 3f  match(/^\s*$/) ?
42e0: 20 6c 65 66 74 50 61 72 74 20 3a 20 27 27 3b 0d   leftPart : '';.
42f0: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 20 0d 0a 20  .    }..     .. 
4300: 20 20 20 76 61 72 20 63 75 72 73 6f 72 43 6f 6f     var cursorCoo
4310: 72 64 73 20 3d 20 74 68 69 73 2e 67 65 74 43 75  rds = this.getCu
4320: 72 73 6f 72 43 6f 6f 72 64 28 63 6f 64 65 2c 20  rsorCoord(code, 
4330: 69 73 53 65 6c 65 63 74 65 64 20 3f 20 53 74 72  isSelected ? Str
4340: 69 6e 67 55 74 69 6c 73 2e 74 6f 4c 69 6e 65 73  ingUtils.toLines
4350: 28 73 65 6c 65 63 74 65 64 54 65 78 74 29 2e 6c  (selectedText).l
4360: 65 6e 67 74 68 20 3a 20 30 29 3b 0d 0a 20 20 20  ength : 0);..   
4370: 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 95 d1 81 d0    ..    // .....
4380: bb d0 b8 20 d0 b1 d1 8b d0 bb 20 d0 b2 d1 8b d0  ... ...... .....
4390: b4 d0 b5 d0 bb d0 b5 d0 bd 20 d1 82 d0 b5 d0 ba  ......... ......
43a0: d1 81 d1 82 2c 20 d1 82 d0 be 20 d0 bf d0 be d0  ...., .... .....
43b0: b4 d1 81 d1 82 d0 b0 d0 b2 d0 b8 d0 bc 20 d0 b5  ............. ..
43c0: d0 b3 d0 be 20 d0 b2 d0 bc d0 b5 d1 81 d1 82 d0  .... ...........
43d0: be 20 3c 3f 3e 2e 0d 0a 20 20 20 20 69 66 20 28  . <?>...    if (
43e0: 69 73 53 65 6c 65 63 74 65 64 29 0d 0a 20 20 20  isSelected)..   
43f0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0   {..        // .
4400: a3 d0 b4 d0 b0 d0 bb d0 b8 d0 bc 20 d0 b8 d1 81  ........... ....
4410: d1 85 d0 be d0 b4 d0 bd d1 8b d0 b9 20 d0 be d1  ............ ...
4420: 82 d1 81 d1 82 d1 83 d0 bf 2e 0d 0a 20 20 20 20  ............    
4430: 20 20 20 20 73 65 6c 65 63 74 65 64 54 65 78 74      selectedText
4440: 20 3d 20 53 74 72 69 6e 67 55 74 69 6c 73 2e 73   = StringUtils.s
4450: 68 69 66 74 4c 65 66 74 28 73 65 6c 65 63 74 65  hiftLeft(selecte
4460: 64 54 65 78 74 2c 20 69 6e 64 29 3b 0d 0a 20 20  dText, ind);..  
4470: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
4480: 2f 2f 20 d0 9e d1 82 d1 81 d1 82 d1 83 d0 bf 2c  // ............,
4490: 20 d1 83 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0   ...............
44a0: bb d0 b5 d0 bd d0 bd d1 8b d0 b9 20 d0 b2 20 d1  ........... .. .
44b0: 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 b5 20 d0 bf  ............. ..
44c0: d0 b5 d1 80 d0 b5 d0 b4 20 3c 3f 3e 20 d0 bd d0  ........ <?> ...
44d0: b0 d0 b4 d0 be 20 d1 80 d0 b0 d1 81 d0 bf d1 80  ..... ..........
44e0: d0 be d1 81 d1 82 d1 80 d0 b0 d0 bd d0 b8 d1 82  ................
44f0: d1 8c 20 d0 bd d0 b0 20 d0 b2 d0 b5 d1 81 d1 8c  .. .... ........
4500: 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0   ...............
4510: bd d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1 81 d1 82  ..... ..........
4520: 2e 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 72  ...        var r
4530: 65 20 3d 20 2f 5e 28 5b 20 7c 5c 74 5d 2b 29 5c  e = /^([ |\t]+)\
4540: 3c 5c 3f 5c 3e 2f 6d 3b 0d 0a 20 20 20 20 20 20  <\?\>/m;..      
4550: 20 20 76 61 72 20 6d 61 74 63 68 65 73 20 3d 20    var matches = 
4560: 63 6f 64 65 2e 6d 61 74 63 68 28 72 65 29 3b 0d  code.match(re);.
4570: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
4580: 20 20 20 69 66 20 28 6d 61 74 63 68 65 73 29 0d     if (matches).
4590: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20  .        {..    
45a0: 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65 64          selected
45b0: 54 65 78 74 20 3d 20 53 74 72 69 6e 67 55 74 69  Text = StringUti
45c0: 6c 73 2e 73 68 69 66 74 52 69 67 68 74 28 73 65  ls.shiftRight(se
45d0: 6c 65 63 74 65 64 54 65 78 74 2c 20 6d 61 74 63  lectedText, matc
45e0: 68 65 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 20  hes[1]);..      
45f0: 20 20 20 20 20 20 63 6f 64 65 20 3d 20 63 6f 64        code = cod
4600: 65 2e 72 65 70 6c 61 63 65 28 72 65 2c 20 73 65  e.replace(re, se
4610: 6c 65 63 74 65 64 54 65 78 74 29 3b 0d 0a 20 20  lectedText);..  
4620: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
4630: 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 7b   else..        {
4640: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
4650: 20 20 20 20 20 20 63 6f 64 65 20 3d 20 63 6f 64        code = cod
4660: 65 2e 72 65 70 6c 61 63 65 28 2f 5c 3c 5c 3f 5c  e.replace(/\<\?\
4670: 3e 2f 2c 20 73 65 6c 65 63 74 65 64 54 65 78 74  >/, selectedText
4680: 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  );..        }.. 
4690: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
46a0: 20 2f 2a 20 d0 a3 d0 b4 d0 b0 d0 bb d0 b8 d0 bc   /* ............
46b0: 20 d0 b0 d0 bb d1 8c d1 82 d0 b5 d1 80 d0 bd d0   ...............
46c0: b0 d1 82 d0 b8 d0 b2 d0 bd d1 8b d0 b9 20 d0 bc  ............. ..
46d0: d0 b0 d1 80 d0 ba d0 b5 d1 80 20 d0 bf d0 be d0  .......... .....
46e0: b7 d0 b8 d1 86 d0 b8 d0 b8 20 d0 ba d1 83 d1 80  ......... ......
46f0: d1 81 d0 be d1 80 d0 b0 20 28 d0 b5 d1 81 d0 bb  ........ (......
4700: d0 b8 20 d0 be d0 bd 20 d0 bf d1 80 d0 b8 d1 81  .. .... ........
4710: d1 83 d1 82 d1 81 d1 82 d0 b2 d1 83 d0 b5 d1 82  ................
4720: 29 2c 20 d0 bf d1 80 d0 b8 d1 87 d0 b5 d0 bc 0d  ), .............
4730: 0a 20 20 20 20 20 20 20 20 d0 b2 d0 bc d0 b5 d1  .        .......
4740: 81 d1 82 d0 b5 20 d1 81 20 d1 83 d0 bf d1 80 d0  ..... .. .......
4750: b0 d0 b2 d0 bb d1 8f d1 8e d1 89 d0 b5 d0 b9 20  ............... 
4760: d0 ba d0 be d0 bd d1 81 d1 82 d1 80 d1 83 d0 ba  ................
4770: d1 86 d0 b8 d0 b5 d0 b9 2c 20 d1 87 d1 82 d0 be  ........, ......
4780: d0 b1 d1 8b 20 d0 bf d0 be d0 b4 d1 81 d1 82 d0  .... ...........
4790: b0 d0 bd d0 be d0 b2 d0 ba d0 b0 20 d0 bf d0 be  ........... ....
47a0: 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d1 83 20   .............. 
47b0: d0 b4 d0 bb d1 8f 20 d0 bd d0 b5 d0 b5 20 d0 bd  ...... ...... ..
47c0: d0 b5 20 d0 b2 d1 8b d0 bf d0 be d0 bb d0 bd d1  .. .............
47d0: 8f d0 bb d0 b0 d1 81 d1 8c 2e 20 2a 2f 0d 0a 20  .......... */.. 
47e0: 20 20 20 20 20 20 20 63 6f 64 65 20 3d 20 63 6f         code = co
47f0: 64 65 2e 72 65 70 6c 61 63 65 28 2f 5c 3c 5c 3f  de.replace(/\<\?
4800: 5c 22 5c 7c 2e 2a 3f 5c 22 2e 2a 3f 5c 3e 2f 2c  \"\|.*?\".*?\>/,
4810: 20 27 27 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20   '');..    }..  
4820: 20 20 65 6c 73 65 0d 0a 20 20 20 20 7b 0d 0a 20    else..    {.. 
4830: 20 20 20 20 20 20 20 2f 2a 20 d0 95 d1 81 d0 bb         /* ......
4840: d0 b8 20 d0 b2 20 d0 bc d0 be d0 bc d0 b5 d0 bd  .. .. ..........
4850: d1 82 20 d0 b2 d1 81 d1 82 d0 b0 d0 b2 d0 ba d0  .. .............
4860: b8 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0 b0  . ..............
4870: 20 d0 bd d0 b5 20 d0 b1 d1 8b d0 bb d0 be 20 d0   .... ........ .
4880: b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 be 20  ............... 
4890: d1 82 d0 b5 d0 ba d1 81 d1 82 d0 b0 2c 20 d1 82  ............, ..
48a0: d0 be 20 d1 83 d0 b4 d0 b0 d0 bb d0 b8 d0 bc 20  .. ............ 
48b0: d1 88 d1 82 d0 b0 d1 82 d0 bd d1 8b d0 b9 20 d0  .............. .
48c0: bc d0 b0 d1 80 d0 ba d0 b5 d1 80 20 0d 0a 20 20  ........... ..  
48d0: 20 20 20 20 20 20 d0 bf d0 be d0 b7 d0 b8 d1 86        ..........
48e0: d0 b8 d0 b8 20 d0 ba d1 83 d1 80 d1 81 d0 be d1  .... ...........
48f0: 80 d0 b0 20 28 d0 b5 d1 81 d0 bb d0 b8 20 d0 b2  ... (........ ..
4900: d0 b4 d1 80 d1 83 d0 b3 20 d0 be d0 bd 20 d0 bf  ........ .... ..
4910: d1 80 d0 b8 d1 81 d1 83 d1 82 d1 81 d1 82 d0 b2  ................
4920: d1 83 d0 b5 d1 82 29 2c 20 d0 ba d1 83 d1 80 d1  ......), .......
4930: 81 d0 be d1 80 20 d0 bc d1 8b 20 d0 b1 d1 83 d0  ..... .... .....
4940: b4 d0 b5 d0 bc 20 d0 bf d0 be d0 b7 d0 b8 d1 86  ..... ..........
4950: d0 b8 d0 be d0 bd d0 b8 d1 80 d0 be d0 b2 d0 b0  ................
4960: d1 82 d1 8c 20 d1 81 d0 b0 d0 bc d0 be d1 81 d1  .... ...........
4970: 82 d0 be d1 8f d1 82 d0 b5 d0 bb d1 8c d0 bd d0  ................
4980: be 2e 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 63  .. */..        c
4990: 6f 64 65 20 3d 20 63 6f 64 65 2e 72 65 70 6c 61  ode = code.repla
49a0: 63 65 28 2f 5c 3c 5c 3f 5c 3e 2f 2c 20 27 27 29  ce(/\<\?\>/, '')
49b0: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 20 20  ;..    }..      
49c0: 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 92 d1 8b d0    ..    // .....
49d0: bf d0 be d0 bb d0 bd d0 b8 d0 bc 20 d0 bf d0 be  ........... ....
49e0: d0 b4 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 ba  ................
49f0: d1 83 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d0  .. .............
4a00: be d0 b2 20 31 d0 a1 2e 0d 0a 20 20 20 20 63 6f  ... 1.....    co
4a10: 64 65 20 3d 20 74 68 69 73 2e 70 61 72 73 65 54  de = this.parseT
4a20: 65 6d 70 6c 61 74 65 53 74 72 69 6e 67 28 63 6f  emplateString(co
4a30: 64 65 29 3b 20 0d 0a 20 20 20 20 20 20 20 20 0d  de); ..        .
4a40: 0a 20 20 20 20 2f 2f 20 d0 9f d1 80 d0 b8 d0 bc  .    // ........
4a50: d0 b5 d0 bd d0 b8 d0 bc 20 d0 be d1 82 d1 81 d1  ........ .......
4a60: 82 d1 83 d0 bf 20 d0 ba 20 d0 bf d0 be d0 bb d1  ..... .. .......
4a70: 83 d1 87 d0 b5 d0 bd d0 bd d0 be d0 bc d1 83 20  ............... 
4a80: d0 ba d0 be d0 b4 d1 83 20 d1 81 d0 bd d0 b8 d0  ........ .......
4a90: bf d0 bf d0 b5 d1 82 d0 b0 2e 0d 0a 20 20 20 20  ............    
4aa0: 63 6f 64 65 20 3d 20 53 74 72 69 6e 67 55 74 69  code = StringUti
4ab0: 6c 73 2e 73 68 69 66 74 52 69 67 68 74 28 63 6f  ls.shiftRight(co
4ac0: 64 65 2c 20 69 6e 64 29 3b 0d 0a 20 20 20 20 0d  de, ind);..    .
4ad0: 0a 20 20 20 20 2f 2a 20 d0 95 d1 81 d0 bb d0 b8  .    /* ........
4ae0: 20 d0 b2 d1 81 d1 82 d0 b0 d0 b2 d0 bb d1 8f d0   ...............
4af0: b5 d1 82 d1 81 d1 8f 20 d0 bc d0 bd d0 be d0 b3  ....... ........
4b00: d0 be d1 81 d1 82 d1 80 d0 be d1 87 d0 bd d1 8b  ................
4b10: d0 b9 20 d0 b1 d0 bb d0 be d0 ba 20 d0 b2 20 d1  .. ........ .. .
4b20: 82 d0 b5 d0 ba d1 83 d1 89 d1 83 d1 8e 20 d0 bf  ............. ..
4b30: d0 be d0 b7 d0 b8 d1 86 d0 b8 d1 8e 20 d0 ba d1  ............ ...
4b40: 83 d1 80 d1 81 d0 be d1 80 d0 b0 20 d0 b8 20 d0  ........... .. .
4b50: bd d0 b8 d0 ba d0 b0 d0 ba d0 be d0 b3 d0 be 20  ............... 
4b60: 0d 0a 20 20 20 20 d1 82 d0 b5 d0 ba d1 81 d1 82  ..    ..........
4b70: d0 b0 20 d0 bd d0 b5 20 d0 b2 d1 8b d0 b4 d0 b5  .. .... ........
4b80: d0 bb d0 b5 d0 bd d0 be 2c 20 d1 82 d0 be 20 d0  ........, .... .
4b90: bd d0 b0 d0 b4 d0 be 20 d0 be d1 87 d0 b8 d1 81  ....... ........
4ba0: d1 82 d0 b8 d1 82 d1 8c 20 d0 be d1 82 d1 81 d1  ........ .......
4bb0: 82 d1 83 d0 bf 20 d0 b2 20 d0 bf d0 b5 d1 80 d0  ..... .. .......
4bc0: b2 d0 be d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
4bd0: d0 b5 20 d0 b2 d1 81 d1 82 d0 b0 d0 b2 d0 bb d1  .. .............
4be0: 8f d0 b5 d0 bc d0 be d0 b3 d0 be 20 20 0d 0a 20  ...........  .. 
4bf0: 20 20 20 d0 b1 d0 bb d0 be d0 ba d0 b0 2c 20 d1     .........., .
4c00: 87 d1 82 d0 be d0 b1 d1 8b 20 d0 be d0 bd 20 d0  ......... .... .
4c10: bd d0 b5 20 d0 b4 d1 83 d0 b1 d0 bb d0 b8 d1 80  ... ............
4c20: d0 be d0 b2 d0 b0 d0 bb d1 81 d1 8f 2e 20 2a 2f  ............. */
4c30: 0d 0a 20 20 20 20 69 66 20 28 21 69 73 53 65 6c  ..    if (!isSel
4c40: 65 63 74 65 64 20 26 26 20 69 6e 64 20 21 3d 20  ected && ind != 
4c50: 27 27 29 0d 0a 20 20 20 20 20 20 20 20 63 6f 64  '')..        cod
4c60: 65 20 3d 20 63 6f 64 65 2e 72 65 70 6c 61 63 65  e = code.replace
4c70: 28 6e 65 77 20 52 65 67 45 78 70 28 27 5e 27 20  (new RegExp('^' 
4c80: 2b 20 69 6e 64 29 2c 20 27 27 29 3b 0d 0a 20 20  + ind), '');..  
4c90: 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 92 d0 b5 d1    ..    // .....
4ca0: 80 d0 bd d0 b5 d0 bc 20 d0 bf d0 b5 d1 80 d0 b5  ....... ........
4cb0: d0 b2 d0 be d0 b4 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
4cc0: ba d0 b8 20 d0 b2 20 d0 ba d0 be d0 bd d0 b5 d1  ... .. .........
4cd0: 86 20 d0 b2 d1 81 d1 82 d0 b0 d0 b2 d0 bb d1 8f  . ..............
4ce0: d0 b5 d0 bc d0 be d0 b3 d0 be 20 d1 82 d0 b5 d0  .......... .....
4cf0: ba d1 81 d1 82 d0 b0 20 28 d0 b5 d1 81 d0 bb d0  ....... (.......
4d00: b8 20 d0 be d0 bd 20 d0 b1 d1 8b d0 bb 20 d0 b2  . .... ...... ..
4d10: 20 d0 ba d0 be d0 bd d1 86 d0 b5 20 d0 b2 d1 8b   .......... ....
4d20: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d0 be d0 b3  ................
4d30: d0 be 20 d0 b1 d0 bb d0 be d0 ba d0 b0 29 2e 0d  .. ..........)..
4d40: 0a 20 20 20 20 69 66 20 28 69 73 54 72 61 69 6c  .    if (isTrail
4d50: 69 6e 67 4e 4c 29 0d 0a 20 20 20 20 20 20 20 20  ingNL)..        
4d60: 63 6f 64 65 20 2b 3d 20 22 5c 6e 22 3b 0d 0a 20  code += "\n";.. 
4d70: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20         ..    // 
4d80: d0 97 d0 b0 d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 8c  ................
4d90: 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0   ...............
4da0: bd d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1 81 d1 82  ..... ..........
4db0: 20 d0 b8 d0 bb d0 b8 20 d0 b2 d1 81 d1 82 d0 b0   ...... ........
4dc0: d0 b2 d0 b8 d1 82 d1 8c 20 d1 82 d0 b5 d0 ba d1  ........ .......
4dd0: 81 d1 82 20 d0 b2 20 d1 82 d0 b5 d0 ba d1 83 d1  ... .. .........
4de0: 89 d1 83 d1 8e 20 d0 bf d0 be d0 b7 d0 b8 d1 86  ..... ..........
4df0: d0 b8 d1 8e 2e 0d 0a 20 20 20 20 74 65 78 74 57  .......    textW
4e00: 69 6e 64 6f 77 2e 53 65 74 53 65 6c 65 63 74 65  indow.SetSelecte
4e10: 64 54 65 78 74 28 63 6f 64 65 29 3b 0d 0a 20 20  dText(code);..  
4e20: 20 20 0d 0a 20 20 20 20 2f 2a 20 d0 95 d1 81 d0    ..    /* .....
4e30: bb d0 b8 20 d0 b2 20 d1 82 d0 b5 d0 ba d1 81 d1  ... .. .........
4e40: 82 d0 b5 20 d0 b1 d1 8b d0 bb 20 d0 bd d0 b0 d0  ... ...... .....
4e50: b9 d0 b4 d0 b5 d0 bd 20 d0 bc d0 b0 d1 80 d0 ba  ....... ........
4e60: d0 b5 d1 80 20 d0 bf d0 be d0 bb d0 be d0 b6 d0  .... ...........
4e70: b5 d0 bd d0 b8 d1 8f 20 d0 ba d1 83 d1 80 d1 81  ....... ........
4e80: d0 be d1 80 d0 b0 2c 20 d1 82 d0 be 20 d0 b2 d1  ......, .... ...
4e90: 8b d0 bf d0 be d0 bb d0 bd d0 b8 d0 bc 20 0d 0a  ............. ..
4ea0: 20 20 20 20 d1 83 d1 81 d1 82 d0 b0 d0 bd d0 be      ............
4eb0: d0 b2 d0 ba d1 83 20 d0 ba d1 83 d1 80 d1 81 d0  ...... .........
4ec0: be d1 80 d0 b0 20 d0 b2 20 d0 bf d0 be d0 b7 d0  ..... .. .......
4ed0: b8 d1 86 d0 b8 d1 8e 20 d0 bc d0 b0 d1 80 d0 ba  ....... ........
4ee0: d0 b5 d1 80 d0 b0 2c 20 d1 80 d0 b0 d1 81 d1 81  ......, ........
4ef0: d1 87 d0 b8 d1 82 d0 b0 d0 b2 20 d0 b5 d0 b3 d0  .......... .....
4f00: be 20 d0 b0 d0 b1 d1 81 d0 be d0 bb d1 8e d1 82  . ..............
4f10: d0 bd d1 8b d0 b5 20 d0 ba d0 be d0 be d1 80 d0  ...... .........
4f20: b4 d0 b8 d0 bd d0 b0 d1 82 d1 8b 2e 20 2a 2f 20  ............ */ 
4f30: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 63 75 72     ..    if (cur
4f40: 73 6f 72 43 6f 6f 72 64 73 29 0d 0a 20 20 20 20  sorCoords)..    
4f50: 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 72  {..        var r
4f60: 6f 77 20 3d 20 73 65 6c 65 63 74 69 6f 6e 2e 62  ow = selection.b
4f70: 65 67 69 6e 52 6f 77 20 2b 20 63 75 72 73 6f 72  eginRow + cursor
4f80: 43 6f 6f 72 64 73 2e 72 6f 77 3b 0d 0a 20 20 20  Coords.row;..   
4f90: 20 20 20 20 20 76 61 72 20 63 6f 6c 20 3d 20 73       var col = s
4fa0: 65 6c 65 63 74 69 6f 6e 2e 62 65 67 69 6e 43 6f  election.beginCo
4fb0: 6c 20 2b 20 63 75 72 73 6f 72 43 6f 6f 72 64 73  l + cursorCoords
4fc0: 2e 63 6f 6c 20 2b 20 69 6e 64 2e 6c 65 6e 67 74  .col + ind.lengt
4fd0: 68 20 2d 20 28 69 73 53 65 6c 65 63 74 65 64 20  h - (isSelected 
4fe0: 3f 20 30 20 3a 20 31 29 3b 0d 0a 20 20 20 20 20  ? 0 : 1);..     
4ff0: 20 20 20 74 65 78 74 57 69 6e 64 6f 77 2e 53 65     textWindow.Se
5000: 74 43 61 72 65 74 50 6f 73 28 72 6f 77 2c 20 63  tCaretPos(row, c
5010: 6f 6c 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a  ol);..    }..}..
5020: 0d 0a 2f 2a 20 d0 9a d0 be d1 80 d1 80 d0 b5 d0  ../* ...........
5030: ba d1 82 d0 b8 d1 80 d1 83 d0 b5 d1 82 20 d1 82  ............. ..
5040: d0 b5 d0 ba d1 83 d1 89 d0 b5 d0 b5 20 d0 b2 d1  ............ ...
5050: 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 20  ............... 
5060: d0 b1 d0 bb d0 be d0 ba d0 b0 20 d0 b8 20 d0 b2  .......... .. ..
5070: d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5  ................
5080: d1 82 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0  .. .............
5090: bd d0 b8 d0 b5 20 28 49 53 65 6c 65 63 74 69 6f  ..... (ISelectio
50a0: 6e 29 2e 0d 0a d0 9a d0 be d1 80 d1 80 d0 b5 d0  n)..............
50b0: ba d1 82 d0 b8 d1 80 d0 be d0 b2 d0 ba d0 b0 20  ............... 
50c0: d0 b7 d0 b0 d0 ba d0 bb d1 8e d1 87 d0 b0 d0 b5  ................
50d0: d1 82 d1 81 d1 8f 20 d0 b2 20 d0 b8 d0 b7 d0 bc  ...... .. ......
50e0: d0 b5 d0 bd d0 b5 d0 bd d0 b8 d0 b8 20 20 d0 ba  ............  ..
50f0: d0 be d0 bb d0 be d0 bd d0 ba d0 b8 20 d0 b2 20  ............ .. 
5100: d0 bf d0 b5 d1 80 d0 b2 d0 be d0 b9 20 d1 81 d1  ............ ...
5110: 82 d1 80 d0 be d0 ba d0 b5 20 d0 b8 20 0d 0a d0  ......... .. ...
5120: bd d0 be d0 bc d0 b5 d1 80 d0 b0 20 d0 bf d0 be  ........... ....
5130: d1 81 d0 bb d0 b5 d0 b4 d0 bd d0 b5 d0 b9 20 d1  .............. .
5140: 81 d1 82 d1 80 d0 be d0 ba d0 b8 3a 0d 0a 20 20  ...........:..  
5150: 20 20 2d 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 bf d0    - ........ ...
5160: b5 d1 80 d0 b2 d0 b0 d1 8f 20 d1 81 d1 82 d1 80  ......... ......
5170: d0 be d0 ba d0 b0 20 d0 b2 d1 8b d0 b4 d0 b5 d0  ...... .........
5180: bb d0 b5 d0 bd d0 b0 20 d0 bd d0 b5 20 d1 81 20  ....... .... .. 
5190: d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 b0 2c 20 d0 bd  ............, ..
51a0: d0 be 20 d0 bb d0 b5 d0 b2 d0 b5 d0 b5 20 d0 b2  .. .......... ..
51b0: d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d1 8f  ................
51c0: 20 d0 b2 20 d0 bf d0 b5 d1 80 d0 b2 d0 be d0 b9   .. ............
51d0: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b5 20 d1 82   ............ ..
51e0: d0 be d0 bb d1 8c d0 ba d0 be 0d 0a 20 20 20 20  ............    
51f0: d0 bf d1 80 d0 be d0 b1 d0 b5 d0 bb d1 8c d0 bd  ................
5200: d1 8b d0 b5 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0  .... ...........
5210: bb d1 8b 2c 20 d1 82 d0 be 20 d0 b2 d1 8b d0 b4  ..., .... ......
5220: d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 20 d0 bd d0  ............ ...
5230: b0 d1 87 d0 b8 d0 bd d0 b0 d0 b5 d0 bc 20 d1 81  ............. ..
5240: 20 d0 bf d0 b5 d1 80 d0 b2 d0 be d0 b3 d0 be 20   .............. 
5250: d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb d0 b0 20 d0  .............. .
5260: bf d0 b5 d1 80 d0 b2 d0 be d0 b9 20 d1 81 d1 82  ........... ....
5270: d1 80 d0 be d0 ba d0 b8 3b 0d 0a 20 20 20 20 2d  ........;..    -
5280: 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 b2 d1 81 d0 b5   ........ ......
5290: 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb d1 8b 20   .............. 
52a0: d0 b8 d0 b7 20 d0 bf d0 be d1 81 d0 bb d0 b5 d0  .... ...........
52b0: b4 d0 bd d0 b5 d0 b9 20 d1 81 d1 82 d1 80 d0 be  ....... ........
52c0: d0 ba d0 b8 2c 20 d0 bf d0 be d0 bf d0 b0 d0 b2  ...., ..........
52d0: d1 88 d0 b8 d0 b5 20 d0 b2 20 d0 b2 d1 8b d0 b4  ...... .. ......
52e0: d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 20 2d 20 d0  ............ - .
52f0: bf d1 80 d0 be d0 b1 d0 b5 d0 bb d1 8c d0 bd d1  ................
5300: 8b d0 b5 2c 20 d1 82 d0 be 0d 0a 20 20 20 20 d1  ..., ......    .
5310: 8d d1 82 d1 83 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
5320: d1 83 20 d0 b8 d1 81 d0 ba d0 bb d1 8e d1 87 d0  .. .............
5330: b0 d0 b5 d0 bc 20 d0 b8 d0 b7 20 d0 b2 d1 8b d0  ..... .... .....
5340: b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d1 8f 2e 20 2a  .............. *
5350: 2f 0d 0a 53 6e 69 70 70 65 74 2e 70 72 6f 74 6f  /..Snippet.proto
5360: 74 79 70 65 2e 67 65 74 53 65 6c 65 63 74 69 6f  type.getSelectio
5370: 6e 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 74 65  n = function (te
5380: 78 74 57 69 6e 64 6f 77 29 20 7b 0d 0a 20 20 20  xtWindow) {..   
5390: 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c 20 3d   ..    var sel =
53a0: 20 74 65 78 74 57 69 6e 64 6f 77 2e 47 65 74 53   textWindow.GetS
53b0: 65 6c 65 63 74 69 6f 6e 28 29 3b 0d 0a 20 20 20  election();..   
53c0: 20 69 66 20 28 73 65 6c 2e 62 65 67 69 6e 52 6f   if (sel.beginRo
53d0: 77 20 21 3d 20 73 65 6c 2e 65 6e 64 52 6f 77 29  w != sel.endRow)
53e0: 20 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20   ..    {..      
53f0: 20 20 76 61 72 20 62 65 67 69 6e 43 6f 6c 20 3d    var beginCol =
5400: 20 73 65 6c 2e 62 65 67 69 6e 43 6f 6c 3b 0d 0a   sel.beginCol;..
5410: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
5420: 20 20 2f 2a 20 d0 95 d1 81 d0 bb d0 b8 20 d0 bb    /* ........ ..
5430: d0 b5 d0 b2 d0 b5 d0 b5 20 d0 bd d0 b0 d1 87 d0  ........ .......
5440: b0 d0 bb d0 b0 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb  ..... ..........
5450: d0 b5 d0 bd d0 b8 d1 8f 20 d1 82 d0 be d0 bb d1  ........ .......
5460: 8c d0 ba d0 be 20 d0 bf d1 80 d0 be d0 b1 d0 b5  ..... ..........
5470: d0 bb d1 8c d0 bd d1 8b d0 b5 20 d1 81 d0 b8 d0  .......... .....
5480: bc d0 b2 d0 be d0 bb d1 8b 2c 20 0d 0a 20 20 20  ........., ..   
5490: 20 20 20 20 20 d1 82 d0 be 20 d1 81 d1 87 d0 b8       .... ......
54a0: d1 82 d0 b0 d0 b5 d0 bc 20 d0 bd d0 b0 d1 87 d0  ........ .......
54b0: b0 d0 bb d0 be d0 bc 20 d0 b1 d0 bb d0 be d0 ba  ....... ........
54c0: d0 b0 20 d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 be 20  .. ............ 
54d0: d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 2e 20 2a 2f  ............. */
54e0: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6c 65  ..        var le
54f0: 66 74 50 61 72 74 20 3d 20 74 65 78 74 57 69 6e  ftPart = textWin
5500: 64 6f 77 2e 47 65 74 4c 69 6e 65 28 73 65 6c 2e  dow.GetLine(sel.
5510: 62 65 67 69 6e 52 6f 77 29 2e 73 75 62 73 74 72  beginRow).substr
5520: 28 30 2c 20 62 65 67 69 6e 43 6f 6c 20 2d 20 31  (0, beginCol - 1
5530: 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  );..        if (
5540: 6c 65 66 74 50 61 72 74 2e 6d 61 74 63 68 28 2f  leftPart.match(/
5550: 5e 5c 73 2b 24 2f 29 29 0d 0a 20 20 20 20 20 20  ^\s+$/))..      
5560: 20 20 20 20 20 20 62 65 67 69 6e 43 6f 6c 20 3d        beginCol =
5570: 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   1;..           
5580: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 2f       ..        /
5590: 2a 20 d0 92 20 d0 bf d0 be d1 81 d0 bb d0 b5 d0  * .. ...........
55a0: b4 d0 bd d0 b5 d0 b9 20 d1 81 d1 82 d1 80 d0 be  ....... ........
55b0: d0 ba d0 b5 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0  .... ...........
55c0: b5 d0 bd d0 b8 d1 8f 20 d0 be d1 82 20 d0 bd d0  ....... .... ...
55d0: b0 d1 87 d0 b0 d0 bb d0 b0 20 d1 81 d1 82 d1 80  ......... ......
55e0: d0 be d0 ba d0 b8 20 d0 b8 20 d0 b4 d0 be 20 d0  ...... .. .... .
55f0: ba d0 be d0 bd d1 86 d0 b0 0d 0a 20 20 20 20 20  ...........     
5600: 20 20 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0     .............
5610: bd d0 b8 d1 8f 20 2d 20 d0 bf d1 83 d1 81 d1 82  ..... - ........
5620: d0 b0 d1 8f 20 d1 81 d1 82 d1 80 d0 be d0 ba d0  .... ...........
5630: b0 2c 20 d1 82 d0 be 20 d0 b8 d1 81 d0 ba d0 bb  ., .... ........
5640: d1 8e d1 87 d0 b8 d0 bc 20 d1 8d d1 82 d1 83 20  ........ ...... 
5650: d1 81 d1 82 d1 80 d0 be d0 ba d1 83 20 d0 b8 d0  ............ ...
5660: b7 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd  . ..............
5670: d0 b8 d1 8f 2e 20 2a 2f 0d 0a 20 20 20 20 20 20  ..... */..      
5680: 20 20 76 61 72 20 65 6e 64 52 6f 77 20 3d 20 73    var endRow = s
5690: 65 6c 2e 65 6e 64 52 6f 77 3b 2f 2f 73 65 6c 2e  el.endRow;//sel.
56a0: 65 6e 64 43 6f 6c 20 3e 20 31 20 3f 20 73 65 6c  endCol > 1 ? sel
56b0: 2e 65 6e 64 52 6f 77 20 3a 20 73 65 6c 2e 65 6e  .endRow : sel.en
56c0: 64 52 6f 77 20 2d 20 31 3b 0d 0a 20 20 20 20 20  dRow - 1;..     
56d0: 20 20 20 6c 65 66 74 50 61 72 74 20 3d 20 74 65     leftPart = te
56e0: 78 74 57 69 6e 64 6f 77 2e 47 65 74 4c 69 6e 65  xtWindow.GetLine
56f0: 28 65 6e 64 52 6f 77 29 2e 73 75 62 73 74 72 28  (endRow).substr(
5700: 30 2c 20 73 65 6c 2e 65 6e 64 43 6f 6c 20 2d 20  0, sel.endCol - 
5710: 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20  1);..        if 
5720: 28 21 6c 65 66 74 50 61 72 74 20 7c 7c 20 6c 65  (!leftPart || le
5730: 66 74 50 61 72 74 2e 6d 61 74 63 68 28 2f 5e 5c  ftPart.match(/^\
5740: 73 2b 24 2f 29 29 0d 0a 20 20 20 20 20 20 20 20  s+$/))..        
5750: 20 20 20 20 65 6e 64 52 6f 77 2d 2d 3b 0d 0a 20      endRow--;.. 
5760: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
5770: 20 2f 2f 20 d0 9a d0 be d1 80 d1 80 d0 b5 d0 ba   // ............
5780: d1 82 d0 b8 d1 80 d1 83 d0 b5 d0 bc 20 d0 b2 d1  ............ ...
5790: 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 20  ............... 
57a0: d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8  ................
57b0: d0 b5 20 d0 b1 d0 bb d0 be d0 ba d0 b0 2e 0d 0a  .. .............
57c0: 20 20 20 20 20 20 20 20 74 65 78 74 57 69 6e 64          textWind
57d0: 6f 77 2e 53 65 74 53 65 6c 65 63 74 69 6f 6e 28  ow.SetSelection(
57e0: 73 65 6c 2e 62 65 67 69 6e 52 6f 77 2c 20 62 65  sel.beginRow, be
57f0: 67 69 6e 43 6f 6c 2c 20 65 6e 64 52 6f 77 2c 20  ginCol, endRow, 
5800: 74 65 78 74 57 69 6e 64 6f 77 2e 47 65 74 4c 69  textWindow.GetLi
5810: 6e 65 28 65 6e 64 52 6f 77 29 2e 6c 65 6e 67 74  ne(endRow).lengt
5820: 68 20 2b 20 31 29 3b 0d 0a 20 20 20 20 20 20 20  h + 1);..       
5830: 20 73 65 6c 20 3d 20 74 65 78 74 57 69 6e 64 6f   sel = textWindo
5840: 77 2e 47 65 74 53 65 6c 65 63 74 69 6f 6e 28 29  w.GetSelection()
5850: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a  ;..    }..    ..
5860: 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 3b 0d      return sel;.
5870: 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 53 6e 69 70  .}....////} Snip
5880: 70 65 74 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f  pet..../////////
5890: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
58a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
58b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
58c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
58d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d  ///////////////.
58e0: 0a 2f 2f 2f 2f 7b 20 53 65 74 74 69 6e 67 73 4d  .////{ SettingsM
58f0: 61 6e 61 67 65 72 44 69 61 6c 6f 67 0d 0a 2f 2f  anagerDialog..//
5900: 2f 2f 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 53  //....function S
5910: 65 74 74 69 6e 67 73 4d 61 6e 61 67 65 72 44 69  ettingsManagerDi
5920: 61 6c 6f 67 28 73 65 74 74 69 6e 67 73 29 20 7b  alog(settings) {
5930: 0d 0a 20 20 20 20 74 68 69 73 2e 73 65 74 74 69  ..    this.setti
5940: 6e 67 73 20 3d 20 73 65 74 74 69 6e 67 73 3b 0d  ngs = settings;.
5950: 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 20 3d  .    this.form =
5960: 20 6c 6f 61 64 53 63 72 69 70 74 46 6f 72 6d 28   loadScriptForm(
5970: 22 73 63 72 69 70 74 73 5c 5c 73 6e 69 70 70 65  "scripts\\snippe
5980: 74 73 2e 73 65 74 74 69 6e 67 73 2e 73 73 66 22  ts.settings.ssf"
5990: 2c 20 74 68 69 73 29 3b 0d 0a 20 20 20 20 74 68  , this);..    th
59a0: 69 73 2e 73 65 74 74 69 6e 67 73 2e 41 70 70 6c  is.settings.Appl
59b0: 79 54 6f 46 6f 72 6d 28 74 68 69 73 2e 66 6f 72  yToForm(this.for
59c0: 6d 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69 6e  m);..}....Settin
59d0: 67 73 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67 2e  gsManagerDialog.
59e0: 70 72 6f 74 6f 74 79 70 65 2e 4f 70 65 6e 20 3d  prototype.Open =
59f0: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20   function() {.. 
5a00: 20 74 68 69 73 2e 66 6f 72 6d 2e 4f 70 65 6e 28   this.form.Open(
5a10: 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69 6e 67  );..}....Setting
5a20: 73 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67 2e 70  sManagerDialog.p
5a30: 72 6f 74 6f 74 79 70 65 2e 5f 73 61 76 65 53 65  rototype._saveSe
5a40: 74 74 69 6e 67 73 20 3d 20 66 75 6e 63 74 69 6f  ttings = functio
5a50: 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20  n() {..    ..   
5a60: 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e 52   this.settings.R
5a70: 65 61 64 46 72 6f 6d 46 6f 72 6d 28 74 68 69 73  eadFromForm(this
5a80: 2e 66 6f 72 6d 29 3b 0d 0a 20 20 20 20 74 68 69  .form);..    thi
5a90: 73 2e 73 65 74 74 69 6e 67 73 2e 53 61 76 65 53  s.settings.SaveS
5aa0: 65 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20  ettings();..    
5ab0: 74 68 69 73 2e 66 6f 72 6d 2e 4d 6f 64 69 66 69  this.form.Modifi
5ac0: 65 64 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20  ed = false;..   
5ad0: 20 0d 0a 20 20 20 20 2f 2f 20 d0 9f d0 b5 d1 80   ..    // ......
5ae0: d0 b5 d0 b7 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 b8  ................
5af0: d0 bc 20 d1 88 d0 b0 d0 b1 d0 bb d0 be d0 bd d1  .. .............
5b00: 8b 20 d0 bf d0 be d1 81 d0 bb d0 b5 20 d0 b8 d0  . .......... ...
5b10: b7 d0 bc d0 b5 d0 bd d0 b5 d0 bd d0 b8 d1 8f 20  ............... 
5b20: d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0 b5 d0 ba  ................
5b30: 2e 0d 0a 20 20 20 20 76 61 72 20 73 6d 20 3d 20  ...    var sm = 
5b40: 47 65 74 53 6e 69 70 70 65 74 73 4d 61 6e 61 67  GetSnippetsManag
5b50: 65 72 28 29 3b 0d 0a 20 20 20 20 73 6d 2e 72 65  er();..    sm.re
5b60: 6c 6f 61 64 54 65 6d 70 6c 61 74 65 73 28 29 3b  loadTemplates();
5b70: 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69 6e 67 73 4d  ..}....SettingsM
5b80: 61 6e 61 67 65 72 44 69 61 6c 6f 67 2e 70 72 6f  anagerDialog.pro
5b90: 74 6f 74 79 70 65 2e 43 6d 64 42 61 72 53 61 76  totype.CmdBarSav
5ba0: 65 41 6e 64 43 6c 6f 73 65 20 3d 20 66 75 6e 63  eAndClose = func
5bb0: 74 69 6f 6e 28 62 75 74 74 6f 6e 29 20 7b 0d 0a  tion(button) {..
5bc0: 20 20 20 20 74 68 69 73 2e 5f 73 61 76 65 53 65      this._saveSe
5bd0: 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20 74  ttings();..    t
5be0: 68 69 73 2e 66 6f 72 6d 2e 43 6c 6f 73 65 28 29  his.form.Close()
5bf0: 3b 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69 6e 67 73  ;..}....Settings
5c00: 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67 2e 70 72  ManagerDialog.pr
5c10: 6f 74 6f 74 79 70 65 2e 43 6d 64 42 61 72 53 61  ototype.CmdBarSa
5c20: 76 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 62  ve = function (b
5c30: 75 74 74 6f 6e 29 20 7b 0d 0a 20 20 20 20 74 68  utton) {..    th
5c40: 69 73 2e 5f 73 61 76 65 53 65 74 74 69 6e 67 73  is._saveSettings
5c50: 28 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69 6e  ();..}....Settin
5c60: 67 73 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67 2e  gsManagerDialog.
5c70: 70 72 6f 74 6f 74 79 70 65 2e 43 6d 64 42 61 72  prototype.CmdBar
5c80: 43 6c 6f 73 65 20 3d 20 66 75 6e 63 74 69 6f 6e  Close = function
5c90: 20 28 62 75 74 74 6f 6e 29 20 7b 20 20 20 20 20   (button) {     
5ca0: 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f     ..    this.fo
5cb0: 72 6d 2e 43 6c 6f 73 65 28 29 3b 0d 0a 7d 0d 0a  rm.Close();..}..
5cc0: 0d 0a 53 65 74 74 69 6e 67 73 4d 61 6e 61 67 65  ..SettingsManage
5cd0: 72 44 69 61 6c 6f 67 2e 70 72 6f 74 6f 74 79 70  rDialog.prototyp
5ce0: 65 2e 43 6d 64 42 61 72 41 62 6f 75 74 20 3d 20  e.CmdBarAbout = 
5cf0: 66 75 6e 63 74 69 6f 6e 20 28 62 75 74 74 6f 6e  function (button
5d00: 29 20 7b 0d 0a 20 20 20 20 52 75 6e 41 70 70 28  ) {..    RunApp(
5d10: 27 68 74 74 70 3a 2f 2f 73 6e 65 67 6f 70 61 74  'http://snegopat
5d20: 2e 72 75 2f 73 63 72 69 70 74 73 2f 77 69 6b 69  .ru/scripts/wiki
5d30: 3f 6e 61 6d 65 3d 73 6e 69 70 70 65 74 73 2e 6a  ?name=snippets.j
5d40: 73 27 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69  s');..}....Setti
5d50: 6e 67 73 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67  ngsManagerDialog
5d60: 2e 70 72 6f 74 6f 74 79 70 65 2e 73 65 6c 65 63  .prototype.selec
5d70: 74 54 65 6d 70 6c 61 74 65 46 69 6c 65 73 20 3d  tTemplateFiles =
5d80: 20 66 75 6e 63 74 69 6f 6e 20 28 6d 75 6c 74 69   function (multi
5d90: 73 65 6c 65 63 74 29 20 7b 0d 0a 0d 0a 20 20 20  select) {....   
5da0: 20 76 61 72 20 64 6c 67 20 3d 20 76 38 4e 65 77   var dlg = v8New
5db0: 28 27 46 69 6c 65 44 69 61 6c 6f 67 27 2c 20 20  ('FileDialog',  
5dc0: 46 69 6c 65 44 69 61 6c 6f 67 4d 6f 64 65 2e 4f  FileDialogMode.O
5dd0: 70 65 6e 29 3b 0d 0a 20 20 20 20 64 6c 67 2e 4d  pen);..    dlg.M
5de0: 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 6d 75 6c  ultiselect = mul
5df0: 74 69 73 65 6c 65 63 74 20 3f 20 74 72 75 65 20  tiselect ? true 
5e00: 3a 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 64 6c  : false;..    dl
5e10: 67 2e 43 68 65 63 6b 46 69 6c 65 45 78 69 73 74  g.CheckFileExist
5e20: 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 64 6c   = true;..    dl
5e30: 67 2e 46 69 6c 74 65 72 20 3d 20 22 d0 a4 d0 b0  g.Filter = "....
5e40: d0 b9 d0 bb d1 8b 20 d1 88 d0 b0 d0 b1 d0 bb d0  ...... .........
5e50: be d0 bd d0 be d0 b2 20 28 2a 2e 73 74 29 7c 2a  ....... (*.st)|*
5e60: 2e 73 74 7c d0 92 d1 81 d0 b5 20 d1 84 d0 b0 d0  .st|...... .....
5e70: b9 d0 bb d1 8b 7c 2a 22 3b 0d 0a 20 20 20 20 0d  .....|*";..    .
5e80: 0a 20 20 20 20 69 66 20 28 64 6c 67 2e 43 68 6f  .    if (dlg.Cho
5e90: 6f 73 65 28 29 29 0d 0a 20 20 20 20 20 20 20 20  ose())..        
5ea0: 72 65 74 75 72 6e 20 6d 75 6c 74 69 73 65 6c 65  return multisele
5eb0: 63 74 20 3f 20 64 6c 67 2e 53 65 6c 65 63 74 65  ct ? dlg.Selecte
5ec0: 64 46 69 6c 65 73 20 3a 20 64 6c 67 2e 46 75 6c  dFiles : dlg.Ful
5ed0: 6c 46 69 6c 65 4e 61 6d 65 3b 0d 0a 20 20 20 20  lFileName;..    
5ee0: 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e      ..    return
5ef0: 20 6e 75 6c 6c 3b 0d 0a 7d 0d 0a 0d 0a 53 65 74   null;..}....Set
5f00: 74 69 6e 67 73 4d 61 6e 61 67 65 72 44 69 61 6c  tingsManagerDial
5f10: 6f 67 2e 70 72 6f 74 6f 74 79 70 65 2e 43 6d 64  og.prototype.Cmd
5f20: 42 61 72 53 74 4c 69 73 74 41 64 64 53 74 46 69  BarStListAddStFi
5f30: 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 62  le = function (b
5f40: 75 74 74 6f 6e 29 20 7b 0d 0a 0d 0a 20 20 20 20  utton) {....    
5f50: 76 61 72 20 73 65 6c 65 63 74 65 64 20 3d 20 74  var selected = t
5f60: 68 69 73 2e 73 65 6c 65 63 74 54 65 6d 70 6c 61  his.selectTempla
5f70: 74 65 46 69 6c 65 73 28 74 72 75 65 29 3b 20 20  teFiles(true);  
5f80: 20 20 0d 0a 20 20 20 20 69 66 20 28 73 65 6c 65    ..    if (sele
5f90: 63 74 65 64 29 0d 0a 20 20 20 20 7b 0d 0a 20 20  cted)..    {..  
5fa0: 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e        this.form.
5fb0: 4d 6f 64 69 66 69 65 64 20 3d 20 74 72 75 65 3b  Modified = true;
5fc0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
5fd0: 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 3d 30      for (var i=0
5fe0: 3b 20 69 3c 73 65 6c 65 63 74 65 64 2e 43 6f 75  ; i<selected.Cou
5ff0: 6e 74 28 29 3b 20 69 2b 2b 29 0d 0a 20 20 20 20  nt(); i++)..    
6000: 20 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72          this.for
6010: 6d 2e 54 65 6d 70 6c 61 74 65 46 69 6c 65 73 4c  m.TemplateFilesL
6020: 69 73 74 2e 41 64 64 28 29 2e 56 61 6c 75 65 20  ist.Add().Value 
6030: 3d 20 73 65 6c 65 63 74 65 64 2e 47 65 74 28 69  = selected.Get(i
6040: 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a  );..    }..}....
6050: 53 65 74 74 69 6e 67 73 4d 61 6e 61 67 65 72 44  SettingsManagerD
6060: 69 61 6c 6f 67 2e 70 72 6f 74 6f 74 79 70 65 2e  ialog.prototype.
6070: 43 6d 64 42 61 72 53 74 4c 69 73 74 44 65 6c 65  CmdBarStListDele
6080: 74 65 53 74 46 69 6c 65 20 3d 20 66 75 6e 63 74  teStFile = funct
6090: 69 6f 6e 20 28 62 75 74 74 6f 6e 29 20 7b 0d 0a  ion (button) {..
60a0: 20 20 20 20 76 61 72 20 63 75 72 52 6f 77 20 3d      var curRow =
60b0: 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72   this.form.Contr
60c0: 6f 6c 73 2e 54 65 6d 70 6c 61 74 65 46 69 6c 65  ols.TemplateFile
60d0: 73 4c 69 73 74 2e 43 75 72 72 65 6e 74 52 6f 77  sList.CurrentRow
60e0: 3b 0d 0a 20 20 20 20 69 66 20 28 63 75 72 52 6f  ;..    if (curRo
60f0: 77 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20  w)..    {..     
6100: 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 54 65 6d     this.form.Tem
6110: 70 6c 61 74 65 46 69 6c 65 73 4c 69 73 74 2e 44  plateFilesList.D
6120: 65 6c 65 74 65 28 63 75 72 52 6f 77 29 3b 0d 0a  elete(curRow);..
6130: 20 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72          this.for
6140: 6d 2e 4d 6f 64 69 66 69 65 64 20 3d 20 74 72 75  m.Modified = tru
6150: 65 3b 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  e;        ..    
6160: 7d 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69 6e 67 73  }..}....Settings
6170: 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67 2e 70 72  ManagerDialog.pr
6180: 6f 74 6f 74 79 70 65 2e 54 65 6d 70 6c 61 74 65  ototype.Template
6190: 46 69 6c 65 73 4c 69 73 74 56 61 6c 75 65 53 74  FilesListValueSt
61a0: 61 72 74 43 68 6f 69 63 65 20 3d 20 66 75 6e 63  artChoice = func
61b0: 74 69 6f 6e 20 28 43 6f 6e 74 72 6f 6c 2c 20 44  tion (Control, D
61c0: 65 66 61 75 6c 74 48 61 6e 64 6c 65 72 29 20 7b  efaultHandler) {
61d0: 0d 0a 0d 0a 20 20 20 20 44 65 66 61 75 6c 74 48  ....    DefaultH
61e0: 61 6e 64 6c 65 72 2e 76 61 6c 20 3d 20 66 61 6c  andler.val = fal
61f0: 73 65 3b 0d 0a 0d 0a 20 20 20 20 76 61 72 20 66  se;....    var f
6200: 6e 61 6d 65 20 3d 20 74 68 69 73 2e 73 65 6c 65  name = this.sele
6210: 63 74 54 65 6d 70 6c 61 74 65 46 69 6c 65 73 28  ctTemplateFiles(
6220: 66 61 6c 73 65 29 3b 20 20 20 20 0d 0a 20 20 20  false);    ..   
6230: 20 69 66 20 28 66 6e 61 6d 65 29 0d 0a 20 20 20   if (fname)..   
6240: 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73   {..        this
6250: 2e 66 6f 72 6d 2e 4d 6f 64 69 66 69 65 64 20 3d  .form.Modified =
6260: 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20   true;..        
6270: 43 6f 6e 74 72 6f 6c 2e 76 61 6c 2e 56 61 6c 75  Control.val.Valu
6280: 65 20 3d 20 66 6e 61 6d 65 3b 0d 0a 20 20 20 20  e = fname;..    
6290: 7d 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 53 65 74 74  }    ..}....Sett
62a0: 69 6e 67 73 4d 61 6e 61 67 65 72 44 69 61 6c 6f  ingsManagerDialo
62b0: 67 2e 70 72 6f 74 6f 74 79 70 65 2e 4f 6e 4f 70  g.prototype.OnOp
62c0: 65 6e 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20  en = function() 
62d0: 7b 0d 0a 7d 0d 0a 0d 0a 53 65 74 74 69 6e 67 73  {..}....Settings
62e0: 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67 2e 70 72  ManagerDialog.pr
62f0: 6f 74 6f 74 79 70 65 2e 42 65 66 6f 72 65 43 6c  ototype.BeforeCl
6300: 6f 73 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 43  ose = function(C
6310: 61 6e 63 65 6c 2c 20 53 74 61 6e 64 61 72 64 48  ancel, StandardH
6320: 61 6e 64 6c 65 72 29 20 7b 0d 0a 0d 0a 20 20 20  andler) {....   
6330: 20 53 74 61 6e 64 61 72 64 48 61 6e 64 6c 65 72   StandardHandler
6340: 2e 76 61 6c 20 3d 20 66 61 6c 73 65 3b 0d 0a 0d  .val = false;...
6350: 0a 20 20 20 20 69 66 20 28 74 68 69 73 2e 66 6f  .    if (this.fo
6360: 72 6d 2e 4d 6f 64 69 66 69 65 64 29 0d 0a 20 20  rm.Modified)..  
6370: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72    {..        var
6380: 20 61 6e 73 77 20 3d 20 44 6f 51 75 65 72 79 42   answ = DoQueryB
6390: 6f 78 28 22 d0 9d d0 b0 d1 81 d1 82 d1 80 d0 be  ox("............
63a0: d0 b9 d0 ba d0 b8 20 d0 b1 d1 8b d0 bb d0 b8 20  ...... ........ 
63b0: d0 b8 d0 b7 d0 bc d0 b5 d0 bd d0 b5 d0 bd d1 8b  ................
63c0: 2e 20 d0 a1 d0 be d1 85 d1 80 d0 b0 d0 bd d0 b8  . ..............
63d0: d1 82 d1 8c 3f 22 2c 20 51 75 65 73 74 69 6f 6e  ....?", Question
63e0: 44 69 61 6c 6f 67 4d 6f 64 65 2e 59 65 73 4e 6f  DialogMode.YesNo
63f0: 43 61 6e 63 65 6c 29 3b 0d 0a 20 20 20 20 20 20  Cancel);..      
6400: 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28    ..        if (
6410: 61 6e 73 77 20 3d 3d 20 44 69 61 6c 6f 67 52 65  answ == DialogRe
6420: 74 75 72 6e 43 6f 64 65 2e 43 61 6e 63 65 6c 29  turnCode.Cancel)
6430: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20  ..        {..   
6440: 20 20 20 20 20 20 20 20 20 43 61 6e 63 65 6c 2e           Cancel.
6450: 76 61 6c 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20  val = true;..   
6460: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b           return;
6470: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
6480: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
6490: 20 20 20 69 66 20 28 61 6e 73 77 20 3d 3d 20 44     if (answ == D
64a0: 69 61 6c 6f 67 52 65 74 75 72 6e 43 6f 64 65 2e  ialogReturnCode.
64b0: 59 65 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20  Yes)..          
64c0: 20 20 74 68 69 73 2e 5f 73 61 76 65 53 65 74 74    this._saveSett
64d0: 69 6e 67 73 28 29 3b 20 20 20 20 20 20 20 20 20  ings();         
64e0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 09 0d         ..    }..
64f0: 0a 20 20 20 20 0d 0a 20 20 20 20 43 61 6e 63 65  .    ..    Cance
6500: 6c 2e 76 61 6c 20 3d 20 66 61 6c 73 65 3b 0d 0a  l.val = false;..
6510: 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 53 65 74 74 69  }....////} Setti
6520: 6e 67 73 4d 61 6e 61 67 65 72 44 69 61 6c 6f 67  ngsManagerDialog
6530: 20 0d 0a 0d 0a 2f 2f 2f 2f 7b 20 d0 92 d1 81 d0   ....////{ .....
6540: bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 82 d0 b5 d0  ................
6550: bb d1 8c d0 bd d1 8b d0 b5 20 d1 84 d1 83 d0 bd  ......... ......
6560: d0 ba d1 86 d0 b8 d0 b8 2e 20 0d 0a 66 75 6e 63  ......... ..func
6570: 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 54  tion getDefaultT
6580: 65 6d 70 6c 61 74 65 73 4c 69 73 74 28 29 20 7b  emplatesList() {
6590: 0d 0a 20 20 20 20 76 61 72 20 74 70 6c 4c 69 73  ..    var tplLis
65a0: 74 20 3d 20 76 38 4e 65 77 28 27 56 61 6c 75 65  t = v8New('Value
65b0: 54 61 62 6c 65 27 29 3b 0d 0a 20 20 20 20 74 70  Table');..    tp
65c0: 6c 4c 69 73 74 2e 43 6f 6c 75 6d 6e 73 2e 41 64  lList.Columns.Ad
65d0: 64 28 27 56 61 6c 75 65 27 29 3b 0d 0a 20 20 20  d('Value');..   
65e0: 20 72 65 74 75 72 6e 20 74 70 6c 4c 69 73 74 3b   return tplList;
65f0: 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  ..}....function 
6600: 67 65 74 41 62 73 6f 6c 75 74 65 50 61 74 68 28  getAbsolutePath(
6610: 70 61 74 68 29 20 7b 0d 0a 0d 0a 20 20 20 20 2f  path) {....    /
6620: 2f 20 d0 9f d1 83 d1 82 d1 8c 20 d0 be d1 82 d0  / ........ .....
6630: bd d0 be d1 81 d0 b8 d1 82 d0 b5 d0 bb d1 8c d0  ................
6640: bd d1 8b d0 b9 3f 0d 0a 20 20 20 20 69 66 20 28  .....?..    if (
6650: 70 61 74 68 2e 6d 61 74 63 68 28 2f 5e 5c 2e 7b  path.match(/^\.{
6660: 31 2c 32 7d 5b 5c 2f 5c 5c 5d 2f 29 29 0d 0a 20  1,2}[\/\\]/)).. 
6670: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f     {..        //
6680: 20 d0 9e d1 82 d0 bd d0 be d1 81 d0 b8 d1 82 d0   ...............
6690: b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d0 bf d1 83  ........... ....
66a0: d1 82 d0 b8 20 d0 b4 d0 be d0 bb d0 b6 d0 bd d1  .... ...........
66b0: 8b 20 d0 b7 d0 b0 d0 b4 d0 b0 d0 b2 d0 b0 d1 82  . ..............
66c0: d1 8c d1 81 d1 8f 20 d0 be d1 82 d0 bd d0 be d1  ...... .........
66d0: 81 d0 b8 d1 82 d0 b5 d0 bb d1 8c d0 bd d0 be 20  ............... 
66e0: d0 b3 d0 bb d0 b0 d0 b2 d0 bd d0 be d0 b3 d0 be  ................
66f0: 20 d0 ba d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 d0   ...............
6700: b0 20 d0 a1 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0  . ..............
6710: d1 82 d0 b0 2e 0d 0a 20 20 20 20 20 20 20 20 76  .......        v
6720: 61 72 20 6d 61 69 6e 46 6f 6c 64 65 72 20 3d 20  ar mainFolder = 
6730: 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 67 65 74 56  profileRoot.getV
6740: 61 6c 75 65 28 22 53 6e 65 67 6f 70 61 74 2f 4d  alue("Snegopat/M
6750: 61 69 6e 46 6f 6c 64 65 72 22 29 3b 0d 0a 20 20  ainFolder");..  
6760: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69        return mai
6770: 6e 46 6f 6c 64 65 72 20 2b 20 70 61 74 68 3b 0d  nFolder + path;.
6780: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20  .    }..    ..  
6790: 20 20 72 65 74 75 72 6e 20 70 61 74 68 3b 0d 0a    return path;..
67a0: 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 d0 92 d1 81 d0  }....////} .....
67b0: bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 82 d0 b5 d0  ................
67c0: bb d1 8c d0 bd d1 8b d0 b5 20 d1 84 d1 83 d0 bd  ......... ......
67d0: d0 ba d1 86 d0 b8 d0 b8 2e 20 0d 0a 0d 0a 2f 2f  ......... ....//
67e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
67f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6800: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6810: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6820: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
6830: 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 53 74  //////..////{ St
6840: 61 72 74 75 70 0d 0a 2f 2f 2f 2f 0d 0a 66 75 6e  artup..////..fun
6850: 63 74 69 6f 6e 20 47 65 74 53 6e 69 70 70 65 74  ction GetSnippet
6860: 73 4d 61 6e 61 67 65 72 28 29 20 7b 0d 0a 20 20  sManager() {..  
6870: 20 20 69 66 20 28 21 53 6e 69 70 70 65 74 73 4d    if (!SnippetsM
6880: 61 6e 61 67 65 72 2e 5f 69 6e 73 74 61 6e 63 65  anager._instance
6890: 29 0d 0a 20 20 20 20 20 20 20 20 6e 65 77 20 53  )..        new S
68a0: 6e 69 70 70 65 74 73 4d 61 6e 61 67 65 72 28 29  nippetsManager()
68b0: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
68c0: 20 72 65 74 75 72 6e 20 53 6e 69 70 70 65 74 73   return Snippets
68d0: 4d 61 6e 61 67 65 72 2e 5f 69 6e 73 74 61 6e 63  Manager._instanc
68e0: 65 3b 0d 0a 7d 0d 0a 0d 0a 65 76 65 6e 74 73 2e  e;..}....events.
68f0: 63 6f 6e 6e 65 63 74 28 73 6e 65 67 6f 70 61 74  connect(snegopat
6900: 2c 20 22 6f 6e 50 72 6f 63 65 73 73 54 65 6d 70  , "onProcessTemp
6910: 6c 61 74 65 22 2c 20 47 65 74 53 6e 69 70 70 65  late", GetSnippe
6920: 74 73 4d 61 6e 61 67 65 72 28 29 29 3b 0d 0a 0d  tsManager());...
6930: 0a 2f 2f 2f 2f 7d 20 53 74 61 72 74 75 70 20     .////} Startup