Hex Artifact Content Вы: nobody
Вход

Artifact 57aecc41ca567917e37fc8074e2a6a7fd973bea2:


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 44 65 62 75 67  pt..$uname Debug
0020: 49 6e 73 74 72 75 6d 65 6e 74 73 0d 0a 24 64 6e  Instruments..$dn
0030: 61 6d 65 20 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba  ame ............
0040: d0 b0 20 d1 81 20 d0 98 d0 bd d1 81 d1 82 d1 80  .. .. ..........
0050: d1 83 d0 bc d0 b5 d0 bd d1 82 d0 b0 d0 bc d0 b8  ................
0060: 20 d1 80 d0 b0 d0 b7 d1 80 d0 b0 d0 b1 d0 be d1   ...............
0070: 82 d1 87 d0 b8 d0 ba d0 b0 0d 0a 24 61 64 64 69  ...........$addi
0080: 6e 20 73 74 64 6c 69 62 0d 0a 24 61 64 64 69 6e  n stdlib..$addin
0090: 20 68 6f 74 6b 65 79 73 0d 0a 24 61 64 64 69 6e   hotkeys..$addin
00a0: 20 67 6c 6f 62 61 6c 0d 0a 24 61 64 64 69 6e 20   global..$addin 
00b0: 73 74 64 63 6f 6d 6d 61 6e 64 73 0d 0a 0d 0a 2f  stdcommands..../
00c0: 2f 20 28 63 29 20 d0 a1 d0 be d1 81 d0 bd d0 b0  / (c) ..........
00d0: 20 d0 95 d0 b2 d0 b3 d0 b5 d0 bd d0 b8 d0 b9 20   .............. 
00e0: 3c 73 68 65 6e 6a 61 40 73 6f 73 6e 61 2e 7a 70  <shenja@sosna.zp
00f0: 2e 75 61 3e 0d 0a 2f 2f 20 28 d1 81 29 20 32 30  .ua>..// (..) 20
0100: 30 37 2c 20 d0 a1 d1 82 d0 b0 d1 80 d1 8b d1 85  07, ............
0110: 20 d0 a1 2e d0 90 2e 0d 0a 2f 2f 20 0d 0a 2f 2f   ........// ..//
0120: 20 0d 0a 0d 0a 0d 0a 73 74 64 6c 69 62 2e 72 65   ......stdlib.re
0130: 71 75 69 72 65 28 27 53 63 72 69 70 74 46 6f 72  quire('ScriptFor
0140: 6d 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72 69 70  m.js', SelfScrip
0150: 74 29 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75  t);..stdlib.requ
0160: 69 72 65 28 27 54 65 78 74 57 69 6e 64 6f 77 2e  ire('TextWindow.
0170: 6a 73 27 2c 20 53 65 6c 66 53 63 72 69 70 74 29  js', SelfScript)
0180: 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75 69 72  ;..stdlib.requir
0190: 65 28 27 6c 6f 67 34 6a 73 2e 6a 73 27 2c 20 53  e('log4js.js', S
01a0: 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 0d 0a 2f  elfScript);..../
01b0: 2f 73 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28  /stdlib.require(
01c0: 73 74 64 6c 69 62 2e 67 65 74 53 6e 65 67 6f 70  stdlib.getSnegop
01d0: 61 74 4d 61 69 6e 46 6f 6c 64 65 72 28 29 20 2b  atMainFolder() +
01e0: 20 27 73 63 72 69 70 74 73 5c 5c 65 70 66 5c 5c   'scripts\\epf\\
01f0: 65 70 66 6c 6f 61 64 65 72 2e 6a 73 27 2c 20 53  epfloader.js', S
0200: 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 67 6c 6f  elfScript);..glo
0210: 62 61 6c 2e 63 6f 6e 6e 65 63 74 47 6c 6f 62 61  bal.connectGloba
0220: 6c 73 28 53 65 6c 66 53 63 72 69 70 74 29 3b 0d  ls(SelfScript);.
0230: 0a 0d 0a 76 61 72 20 6c 6f 67 67 65 72 20 3d 20  ...var logger = 
0240: 4c 6f 67 34 6a 73 2e 67 65 74 4c 6f 67 67 65 72  Log4js.getLogger
0250: 28 53 65 6c 66 53 63 72 69 70 74 2e 75 6e 69 71  (SelfScript.uniq
0260: 75 65 4e 61 6d 65 29 3b 0d 0a 76 61 72 20 61 70  ueName);..var ap
0270: 70 65 6e 64 65 72 20 3d 20 6e 65 77 20 4c 6f 67  pender = new Log
0280: 34 6a 73 2e 42 72 6f 77 73 65 72 43 6f 6e 73 6f  4js.BrowserConso
0290: 6c 65 41 70 70 65 6e 64 65 72 28 29 3b 0d 0a 61  leAppender();..a
02a0: 70 70 65 6e 64 65 72 2e 73 65 74 4c 61 79 6f 75  ppender.setLayou
02b0: 74 28 6e 65 77 20 4c 6f 67 34 6a 73 2e 50 61 74  t(new Log4js.Pat
02c0: 74 65 72 6e 4c 61 79 6f 75 74 28 4c 6f 67 34 6a  ternLayout(Log4j
02d0: 73 2e 50 61 74 74 65 72 6e 4c 61 79 6f 75 74 2e  s.PatternLayout.
02e0: 54 54 43 43 5f 43 4f 4e 56 45 52 53 49 4f 4e 5f  TTCC_CONVERSION_
02f0: 50 41 54 54 45 52 4e 29 29 3b 0d 0a 6c 6f 67 67  PATTERN));..logg
0300: 65 72 2e 61 64 64 41 70 70 65 6e 64 65 72 28 61  er.addAppender(a
0310: 70 70 65 6e 64 65 72 29 3b 0d 0a 6c 6f 67 67 65  ppender);..logge
0320: 72 2e 73 65 74 4c 65 76 65 6c 28 4c 6f 67 34 6a  r.setLevel(Log4j
0330: 73 2e 4c 65 76 65 6c 2e 45 52 52 4f 52 29 3b 0d  s.Level.ERROR);.
0340: 0a 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .....///////////
0350: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0360: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
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 0d 0a 2f  /////////////../
03a0: 2f 2f 2f 7b 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1  ///{ ...........
03b0: 81 d1 8b 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 53 65 6c  .....////....Sel
03c0: 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61  fScript.self['ma
03d0: 63 72 6f 73 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 b8  cros............
03e0: d1 82 d1 8c 20 d0 b7 d0 b0 d0 bf d1 80 d0 be d1  .... ...........
03f0: 81 20 d0 bc d0 be d0 b4 d0 b0 d0 bb d1 8c d0 bd  . ..............
0400: d0 be 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28  ..'] = function(
0410: 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 73 6d 20  ) {..    var sm 
0420: 3d 20 47 65 74 44 65 62 75 67 49 6e 73 74 72 75  = GetDebugInstru
0430: 6d 65 6e 74 73 28 29 3b 0d 0a 20 20 20 20 0d 0a  ments();..    ..
0440: 20 20 20 20 76 61 72 20 77 20 3d 20 47 65 74 54      var w = GetT
0450: 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20  extWindow();..  
0460: 20 20 69 66 20 28 21 77 29 20 72 65 74 75 72 6e    if (!w) return
0470: 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 20   false;..    .. 
0480: 20 20 20 76 61 72 20 73 65 6c 54 65 78 74 20 3d     var selText =
0490: 20 77 2e 47 65 74 53 65 6c 65 63 74 65 64 54 65   w.GetSelectedTe
04a0: 78 74 28 29 3b 0d 0a 20 20 20 20 69 66 20 28 73  xt();..    if (s
04b0: 65 6c 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a 20  elText == '').. 
04c0: 20 20 20 20 20 20 20 73 65 6c 54 65 78 74 20 3d         selText =
04d0: 20 77 2e 47 65 74 57 6f 72 64 55 6e 64 65 72 43   w.GetWordUnderC
04e0: 75 72 73 6f 72 28 29 3b 0d 0a 20 20 20 20 0d 0a  ursor();..    ..
04f0: 20 20 20 20 73 6d 2e 64 65 62 75 67 51 75 65 72      sm.debugQuer
0500: 79 28 73 65 6c 54 65 78 74 2c 20 74 72 75 65 29  y(selText, true)
0510: 3b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72  ;..    return tr
0520: 75 65 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63  ue;..}....SelfSc
0530: 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f  ript.self['macro
0540: 73 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 b8 d1 82 d1  s...............
0550: 8c 20 d0 b7 d0 b0 d0 bf d1 80 d0 be d1 81 20 d0  . ............ .
0560: bd d0 b5 20 d0 bc d0 be d0 b4 d0 b0 d0 bb d1 8c  ... ............
0570: d0 bd d0 be 27 5d 20 3d 20 66 75 6e 63 74 69 6f  ....'] = functio
0580: 6e 28 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 73  n() {..    var s
0590: 6d 20 3d 20 47 65 74 44 65 62 75 67 49 6e 73 74  m = GetDebugInst
05a0: 72 75 6d 65 6e 74 73 28 29 3b 0d 0a 20 20 20 20  ruments();..    
05b0: 76 61 72 20 77 20 3d 20 47 65 74 54 65 78 74 57  var w = GetTextW
05c0: 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 69 66  indow();..    if
05d0: 20 28 21 77 29 20 72 65 74 75 72 6e 20 66 61 6c   (!w) return fal
05e0: 73 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76  se;..    ..    v
05f0: 61 72 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47  ar selText = w.G
0600: 65 74 53 65 6c 65 63 74 65 64 54 65 78 74 28 29  etSelectedText()
0610: 3b 0d 0a 20 20 20 20 69 66 20 28 73 65 6c 54 65  ;..    if (selTe
0620: 78 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 20  xt == '')..     
0630: 20 20 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47     selText = w.G
0640: 65 74 57 6f 72 64 55 6e 64 65 72 43 75 72 73 6f  etWordUnderCurso
0650: 72 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20  r();..    ..    
0660: 73 6d 2e 64 65 62 75 67 51 75 65 72 79 28 73 65  sm.debugQuery(se
0670: 6c 54 65 78 74 2c 20 66 61 6c 73 65 29 3b 0d 0a  lText, false);..
0680: 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b      return true;
0690: 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70  ..}....SelfScrip
06a0: 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 98  t.self['macros..
06b0: d1 81 d1 81 d0 bb d0 b5 d0 b4 d0 be d0 b2 d0 b0  ................
06c0: d1 82 d1 8c 27 5d 20 3d 20 66 75 6e 63 74 69 6f  ....'] = functio
06d0: 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20  n() {..    ..   
06e0: 20 76 61 72 20 73 6d 20 3d 20 47 65 74 44 65 62   var sm = GetDeb
06f0: 75 67 49 6e 73 74 72 75 6d 65 6e 74 73 28 29 3b  ugInstruments();
0700: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20  ..    ..    var 
0710: 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e 64 6f  w = GetTextWindo
0720: 77 28 29 3b 0d 0a 20 20 20 20 69 66 20 28 21 77  w();..    if (!w
0730: 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d  ) return false;.
0740: 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73  .    ..    var s
0750: 65 6c 54 65 78 74 20 3d 20 77 2e 47 65 74 53 65  elText = w.GetSe
0760: 6c 65 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20  lectedText();.. 
0770: 20 20 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d     if (selText =
0780: 3d 20 27 27 29 0d 0a 20 20 20 20 20 20 20 20 73  = '')..        s
0790: 65 6c 54 65 78 74 20 3d 20 77 2e 47 65 74 57 6f  elText = w.GetWo
07a0: 72 64 55 6e 64 65 72 43 75 72 73 6f 72 28 29 3b  rdUnderCursor();
07b0: 0d 0a 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62  ..    logger.deb
07c0: 75 67 28 22 6d 61 63 72 6f 73 d0 98 d1 81 d1 81  ug("macros......
07d0: d0 bb d0 b5 d0 b4 d0 be d0 b2 d0 b0 d1 82 d1 8c  ................
07e0: 22 29 3b 0d 0a 20 20 20 20 73 6d 2e 72 65 73 65  ");..    sm.rese
07f0: 61 72 63 68 28 73 65 6c 54 65 78 74 29 3b 0d 0a  arch(selText);..
0800: 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e      ..    return
0810: 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 0d 0a 53   true;..}......S
0820: 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27  elfScript.self['
0830: 6d 61 63 72 6f 73 d0 9f d1 80 28 d0 9f d1 80 d0  macros....(.....
0840: b8 d1 81 d0 b2 d0 be d0 b8 d1 82 d1 8c 29 27 5d  .............)']
0850: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d   = function() {.
0860: 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73  .    ..    var s
0870: 6d 20 3d 20 47 65 74 44 65 62 75 67 49 6e 73 74  m = GetDebugInst
0880: 72 75 6d 65 6e 74 73 28 29 3b 0d 0a 20 20 20 20  ruments();..    
0890: 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27 6d 61  logger.debug('ma
08a0: 63 72 6f 73 d0 9f d1 80 28 d0 9f d1 80 d0 b8 d1  cros....(.......
08b0: 81 d0 b2 d0 be d0 b8 d1 82 d1 8c 29 27 29 3b 0d  ...........)');.
08c0: 0a 20 20 20 20 76 61 72 20 77 20 3d 20 47 65 74  .    var w = Get
08d0: 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20  TextWindow();.. 
08e0: 20 20 20 69 66 20 28 21 77 29 20 72 65 74 75 72     if (!w) retur
08f0: 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a  n false;..    ..
0900: 20 20 20 20 76 61 72 20 73 65 6c 54 65 78 74 20      var selText 
0910: 3d 20 77 2e 47 65 74 53 65 6c 65 63 74 65 64 54  = w.GetSelectedT
0920: 65 78 74 28 29 3b 0d 0a 20 20 20 20 69 66 20 28  ext();..    if (
0930: 73 65 6c 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a  selText == '')..
0940: 20 20 20 20 20 20 20 20 73 65 6c 54 65 78 74 20          selText 
0950: 3d 20 77 2e 47 65 74 57 6f 72 64 55 6e 64 65 72  = w.GetWordUnder
0960: 43 75 72 73 6f 72 28 29 3b 0d 0a 20 20 20 20 73  Cursor();..    s
0970: 6d 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20 73  m.show();..    s
0980: 6d 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e  m.form.Controls.
0990: d0 9f d0 b0 d0 bd d0 b5 d0 bb d1 8c 31 2e 43 75  ............1.Cu
09a0: 72 72 65 6e 74 50 61 67 65 20 3d 20 73 6d 2e 66  rrentPage = sm.f
09b0: 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e d0 9f d0  orm.Controls....
09c0: b0 d0 bd d0 b5 d0 bb d1 8c 31 2e 50 61 67 65 73  .........1.Pages
09d0: 2e d0 a1 d1 82 d1 80 d0 b0 d0 bd d0 b8 d1 86 d0  ................
09e0: b0 d0 9f d1 80 3b 0d 0a 20 20 20 20 69 66 20 28  .....;..    if (
09f0: 73 65 6c 54 65 78 74 2e 6c 65 6e 67 74 68 3e 30  selText.length>0
0a00: 29 7b 0d 0a 20 20 20 20 20 20 20 20 73 6d 2e 66  ){..        sm.f
0a10: 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 54 65 78  orm.Controls.Tex
0a20: 74 44 6f 63 75 6d 65 6e 74 46 69 65 6c 64 50 31  tDocumentFieldP1
0a30: 2e 53 65 74 54 65 78 74 28 73 65 6c 54 65 78 74  .SetText(selText
0a40: 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 2f  );..    }..    /
0a50: 2f 70 6f 70 20 3d 20 73 6d 2e 70 6f 70 28 73 65  /pop = sm.pop(se
0a60: 6c 54 65 78 74 2c 20 66 61 6c 73 65 29 3b 0d 0a  lText, false);..
0a70: 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e      ..    return
0a80: 20 74 72 75 65 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66   true..}....Self
0a90: 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63  Script.self['mac
0aa0: 72 6f 73 d0 94 d1 83 27 5d 20 3d 20 66 75 6e 63  ros....'] = func
0ab0: 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a  tion() {..    ..
0ac0: 20 20 20 20 76 61 72 20 73 6d 20 3d 20 47 65 74      var sm = Get
0ad0: 44 65 62 75 67 49 6e 73 74 72 75 6d 65 6e 74 73  DebugInstruments
0ae0: 28 29 3b 0d 0a 20 20 20 20 6c 6f 67 67 65 72 2e  ();..    logger.
0af0: 64 65 62 75 67 28 27 6d 61 63 72 6f 73 d0 94 d1  debug('macros...
0b00: 83 27 29 3b 0d 0a 20 20 20 20 76 61 72 20 77 20  .');..    var w 
0b10: 3d 20 47 65 74 54 65 78 74 57 69 6e 64 6f 77 28  = GetTextWindow(
0b20: 29 3b 0d 0a 20 20 20 20 69 66 20 28 21 77 29 20  );..    if (!w) 
0b30: 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20  return false;.. 
0b40: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c     ..    var sel
0b50: 54 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c 65  Text = w.GetSele
0b60: 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20  ctedText();..   
0b70: 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d 3d 20   if (selText == 
0b80: 27 27 29 0d 0a 20 20 20 20 20 20 20 20 73 65 6c  '')..        sel
0b90: 54 65 78 74 20 3d 20 77 2e 47 65 74 57 6f 72 64  Text = w.GetWord
0ba0: 55 6e 64 65 72 43 75 72 73 6f 72 28 29 3b 0d 0a  UnderCursor();..
0bb0: 20 20 20 20 73 6d 2e 73 68 6f 77 28 29 3b 0d 0a      sm.show();..
0bc0: 20 20 20 20 73 6d 2e 66 6f 72 6d 2e 43 6f 6e 74      sm.form.Cont
0bd0: 72 6f 6c 73 2e d0 9f d0 b0 d0 bd d0 b5 d0 bb d1  rols............
0be0: 8c 31 2e 43 75 72 72 65 6e 74 50 61 67 65 20 3d  .1.CurrentPage =
0bf0: 20 73 6d 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c   sm.form.Control
0c00: 73 2e d0 9f d0 b0 d0 bd d0 b5 d0 bb d1 8c 31 2e  s.............1.
0c10: 50 61 67 65 73 2e d0 a1 d1 82 d1 80 d0 b0 d0 bd  Pages...........
0c20: d0 b8 d1 86 d0 b0 d0 94 d1 83 3b 0d 0a 20 20 20  ..........;..   
0c30: 20 69 66 20 28 73 65 6c 54 65 78 74 2e 6c 65 6e   if (selText.len
0c40: 67 74 68 3e 30 29 7b 0d 0a 20 20 20 20 20 20 20  gth>0){..       
0c50: 20 73 6d 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c   sm.form.Control
0c60: 73 2e 54 65 78 74 44 6f 63 75 6d 65 6e 74 46 69  s.TextDocumentFi
0c70: 65 6c 64 50 72 6f 67 54 65 78 74 2e 53 65 74 54  eldProgText.SetT
0c80: 65 78 74 28 73 65 6c 54 65 78 74 29 3b 0d 0a 20  ext(selText);.. 
0c90: 20 20 20 7d 0d 0a 20 20 20 20 2f 2f 70 6f 70 20     }..    //pop 
0ca0: 3d 20 73 6d 2e 70 6f 70 28 73 65 6c 54 65 78 74  = sm.pop(selText
0cb0: 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 0d  , false);..    .
0cc0: 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65  .    return true
0cd0: 0d 0a 7d 0d 0a 0d 0a 0d 0a 0d 0a 53 65 6c 66 53  ..}........SelfS
0ce0: 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72  cript.self['macr
0cf0: 6f 73 d0 9d d0 b0 d1 87 d0 b0 d1 82 d1 8c 20 d1  os............ .
0d00: 82 d1 80 d0 b0 d1 81 d1 81 d1 83 20 d0 b2 20 d1  ........... .. .
0d10: 82 d0 b5 d1 85 d0 bd d0 be d0 bb d0 be d0 b3 d0  ................
0d20: b8 d1 87 d0 b5 d1 81 d0 ba d0 be d0 bc 20 d0 b6  ............. ..
0d30: d1 83 d1 80 d0 bd d0 b0 d0 bb d0 b5 27 5d 20 3d  ............'] =
0d40: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20   function() {.. 
0d50: 20 20 20 76 61 72 20 73 6d 20 3d 20 47 65 74 44     var sm = GetD
0d60: 65 62 75 67 49 6e 73 74 72 75 6d 65 6e 74 73 28  ebugInstruments(
0d70: 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 6d  );..    ..    sm
0d80: 2e 73 74 61 72 74 54 65 63 68 4c 6f 67 28 29 3b  .startTechLog();
0d90: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75  ..    ..    retu
0da0: 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 53  rn true;..}....S
0db0: 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27  elfScript.self['
0dc0: 6d 61 63 72 6f 73 d0 9a d0 be d0 bd d1 87 d0 b8  macros..........
0dd0: d1 82 d1 8c 20 d1 82 d1 80 d0 b0 d1 81 d1 81 d1  .... ...........
0de0: 83 20 d0 b2 20 d1 82 d0 b5 d1 85 d0 bd d0 be d0  . .. ...........
0df0: bb d0 be d0 b3 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0  ................
0e00: be d0 bc 20 d0 b6 d1 83 d1 80 d0 bd d0 b0 d0 bb  ... ............
0e10: d0 b5 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28  ..'] = function(
0e20: 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 73 6d 20  ) {..    var sm 
0e30: 3d 20 47 65 74 44 65 62 75 67 49 6e 73 74 72 75  = GetDebugInstru
0e40: 6d 65 6e 74 73 28 29 3b 0d 0a 20 20 20 20 0d 0a  ments();..    ..
0e50: 20 20 20 20 73 6d 2e 73 74 6f 70 54 65 63 68 4c      sm.stopTechL
0e60: 6f 67 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20  og();..    ..   
0e70: 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d   return true;..}
0e80: 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73  ....SelfScript.s
0e90: 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 9f d0 be d0  elf['macros.....
0ea0: bf 20 d0 bc d0 be d0 b4 d0 b0 d0 bb d1 8c d0 bd  . ..............
0eb0: d0 be 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28  ..'] = function(
0ec0: 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 73 6d 20  ) {..    var sm 
0ed0: 3d 20 47 65 74 44 65 62 75 67 49 6e 73 74 72 75  = GetDebugInstru
0ee0: 6d 65 6e 74 73 28 29 3b 0d 0a 20 20 20 20 0d 0a  ments();..    ..
0ef0: 20 20 20 20 76 61 72 20 77 20 3d 20 47 65 74 54      var w = GetT
0f00: 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20  extWindow();..  
0f10: 20 20 69 66 20 28 21 77 29 20 72 65 74 75 72 6e    if (!w) return
0f20: 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 20   false;..    .. 
0f30: 20 20 20 76 61 72 20 73 65 6c 54 65 78 74 20 3d     var selText =
0f40: 20 77 2e 47 65 74 53 65 6c 65 63 74 65 64 54 65   w.GetSelectedTe
0f50: 78 74 28 29 3b 0d 0a 20 20 20 20 69 66 20 28 73  xt();..    if (s
0f60: 65 6c 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a 20  elText == '').. 
0f70: 20 20 20 20 20 20 20 73 65 6c 54 65 78 74 20 3d         selText =
0f80: 20 77 2e 47 65 74 57 6f 72 64 55 6e 64 65 72 43   w.GetWordUnderC
0f90: 75 72 73 6f 72 28 29 3b 0d 0a 20 20 20 20 0d 0a  ursor();..    ..
0fa0: 20 20 20 20 70 6f 70 20 3d 20 73 6d 2e 70 6f 70      pop = sm.pop
0fb0: 28 73 65 6c 54 65 78 74 2c 20 74 72 75 65 29 3b  (selText, true);
0fc0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 4d 65 73 73  ..    ..    Mess
0fd0: 61 67 65 28 22 22 2b 70 6f 70 29 3b 0d 0a 20 20  age(""+pop);..  
0fe0: 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74    ..    return t
0ff0: 72 75 65 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63  rue..}....SelfSc
1000: 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f  ript.self['macro
1010: 73 d0 9f d0 be d0 bf 20 d0 bd d0 b5 20 d0 bc d0  s...... .... ...
1020: be d0 b4 d0 b0 d0 bb d1 8c d0 bd d0 be 27 5d 20  .............'] 
1030: 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a  = function() {..
1040: 20 20 20 20 76 61 72 20 73 6d 20 3d 20 47 65 74      var sm = Get
1050: 44 65 62 75 67 49 6e 73 74 72 75 6d 65 6e 74 73  DebugInstruments
1060: 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76  ();..    ..    v
1070: 61 72 20 77 20 3d 20 47 65 74 54 65 78 74 57 69  ar w = GetTextWi
1080: 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 69 66 20  ndow();..    if 
1090: 28 21 77 29 20 72 65 74 75 72 6e 20 66 61 6c 73  (!w) return fals
10a0: 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61  e;..    ..    va
10b0: 72 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47 65  r selText = w.Ge
10c0: 74 53 65 6c 65 63 74 65 64 54 65 78 74 28 29 3b  tSelectedText();
10d0: 0d 0a 20 20 20 20 69 66 20 28 73 65 6c 54 65 78  ..    if (selTex
10e0: 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 20 20  t == '')..      
10f0: 20 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47 65    selText = w.Ge
1100: 74 57 6f 72 64 55 6e 64 65 72 43 75 72 73 6f 72  tWordUnderCursor
1110: 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 70  ();..    ..    p
1120: 6f 70 20 3d 20 73 6d 2e 70 6f 70 28 73 65 6c 54  op = sm.pop(selT
1130: 65 78 74 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20  ext, false);..  
1140: 20 20 0d 0a 20 20 20 20 4d 65 73 73 61 67 65 28    ..    Message(
1150: 22 22 2b 70 6f 70 29 3b 0d 0a 20 20 20 20 0d 0a  ""+pop);..    ..
1160: 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 0d      return true.
1170: 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74  .}....SelfScript
1180: 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 9d d0  .self['macros...
1190: b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba d0 b0 27  ...............'
11a0: 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  ] = function() {
11b0: 0d 0a 20 20 20 20 76 61 72 20 73 6d 20 3d 20 47  ..    var sm = G
11c0: 65 74 44 65 62 75 67 49 6e 73 74 72 75 6d 65 6e  etDebugInstrumen
11d0: 74 73 28 29 3b 0d 0a 20 20 20 20 73 6d 2e 63 68  ts();..    sm.ch
11e0: 61 6e 67 65 53 65 74 74 69 6e 67 73 28 29 3b 0d  angeSettings();.
11f0: 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65  .    return true
1200: 3b 0d 0a 7d 0d 0a 0d 0a 0d 0a 0d 0a 53 65 6c 66  ;..}........Self
1210: 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63  Script.self['mac
1220: 72 6f 73 d0 a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0  ros.............
1230: b2 d0 b8 d1 82 d1 8c 20 d1 82 d0 be d1 87 d0 ba  ....... ........
1240: d1 83 20 d0 be d1 81 d1 82 d0 b0 d0 bd d0 be d0  .. .............
1250: b2 d0 b0 20 d0 bf d0 be 20 d1 83 d1 81 d0 bb d0  ... .... .......
1260: be d0 b2 d0 b8 d1 8e 20 3d 27 5d 20 3d 20 66 75  ....... ='] = fu
1270: 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20 20 20 76  nction(){..    v
1280: 61 72 20 73 6d 20 3d 20 47 65 74 44 65 62 75 67  ar sm = GetDebug
1290: 49 6e 73 74 72 75 6d 65 6e 74 73 28 29 3b 0d 0a  Instruments();..
12a0: 20 20 20 20 65 78 70 20 3d 20 73 6d 2e 67 65 74      exp = sm.get
12b0: 44 65 62 75 67 67 65 72 45 78 70 72 28 29 3b 0d  DebuggerExpr();.
12c0: 0a 20 20 20 20 69 66 20 28 21 65 78 70 29 0d 0a  .    if (!exp)..
12d0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66          return f
12e0: 61 6c 73 65 3b 0d 0a 20 20 20 20 73 6d 2e 73 65  alse;..    sm.se
12f0: 74 44 65 62 75 67 67 65 72 4f 6e 69 66 28 22 22  tDebuggerOnif(""
1300: 2b 65 78 70 2e 65 78 70 72 65 73 73 69 6f 6e 2b  +exp.expression+
1310: 22 3d 22 2b 65 78 70 2e 65 78 70 72 65 73 73 69  "="+exp.expressi
1320: 6f 6e 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 72  onvalue);..    r
1330: 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 0d 0a 20  eturn true;.... 
1340: 20 20 20 2f 2f 20 69 66 20 28 21 66 6f 72 6d 2e     // if (!form.
1350: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b  ................
1360: d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9f d0 b5 d1  ................
1370: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0  ................
1380: 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e d0 a2  ................
1390: d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82  ................
13a0: d1 80 d0 be d0 ba d0 b0 29 20 7b 0d 0a 20 20 20  ........) {..   
13b0: 20 2f 2f 20 20 20 20 20 6c 6f 67 67 65 72 2e 65   //     logger.e
13c0: 72 72 6f 72 28 22 d0 9d d0 b5 20 d0 be d0 bf d1  rror(".... .....
13d0: 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d0  ................
13e0: b0 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f  . ..............
13f0: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 d0 b4   ............ ..
1400: d0 bb d1 8f 20 d0 b2 d1 8b d1 80 d0 b0 d0 b6 d0  .... ...........
1410: b5 d0 bd d0 b8 d1 8f 22 29 3b 0d 0a 20 20 20 20  .......");..    
1420: 2f 2f 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a  //     return;..
1430: 20 20 20 20 2f 2f 20 7d 0d 0a 20 20 20 20 0d 0a      // }..    ..
1440: 20 20 20 20 2f 2f 20 65 76 65 6e 74 73 2e 63 6f      // events.co
1450: 6e 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c 20 22  nnect(windows, "
1460: 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c 66  onDoModal", Self
1470: 53 63 72 69 70 74 2e 73 65 6c 66 2c 20 22 68 6f  Script.self, "ho
1480: 6f 6b 42 72 6b 70 74 43 6f 6e 64 22 29 3b 0d 0a  okBrkptCond");..
1490: 20 20 20 20 2f 2f 20 76 61 72 20 73 74 61 74 65      // var state
14a0: 20 3d 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 43   = stdcommands.C
14b0: 44 65 62 75 67 2e 42 72 6b 70 74 43 6f 6e 64 2e  Debug.BrkptCond.
14c0: 67 65 74 53 74 61 74 65 28 29 3b 0d 0a 20 20 20  getState();..   
14d0: 20 2f 2f 20 76 61 72 20 63 75 72 52 6f 77 20 3d   // var curRow =
14e0: 20 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5   form...........
14f0: d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b  ................
1500: 2e d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0  ................
1510: bd d1 8b d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0  ................
1520: ba d0 b8 2e d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0  ................
1530: d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 3b 0d  ..............;.
1540: 0a 20 20 20 20 2f 2f 20 76 61 72 20 63 75 72 56  .    // var curV
1550: 61 6c 75 65 20 3d 20 27 27 2b 63 75 72 52 6f 77  alue = ''+curRow
1560: 2e d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0  ................
1570: b5 3b 0d 0a 20 20 20 20 2f 2f 20 76 61 72 20 6e  .;..    // var n
1580: 61 6d 65 20 3d 20 66 75 6c 6c 4e 61 6d 65 28 63  ame = fullName(c
1590: 75 72 52 6f 77 29 3b 0d 0a 20 20 20 20 2f 2f 20  urRow);..    // 
15a0: 76 61 6c 75 65 42 72 6b 70 74 43 6f 6e 64 20 3d  valueBrkptCond =
15b0: 20 22 22 2b 20 6e 61 6d 65 20 2b 20 22 20 3d 20   ""+ name + " = 
15c0: 22 2b 63 75 72 56 61 6c 75 65 3b 0d 0a 20 20 20  "+curValue;..   
15d0: 20 2f 2f 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e   // stdcommands.
15e0: 43 44 65 62 75 67 2e 42 72 6b 70 74 43 6f 6e 64  CDebug.BrkptCond
15f0: 2e 73 65 6e 64 28 29 3b 0d 0a 20 20 20 20 2f 2f  .send();..    //
1600: 20 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e 6e 65   events.disconne
1610: 63 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f 6e 44  ct(windows, "onD
1620: 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c 66 53 63 72  oModal", SelfScr
1630: 69 70 74 2e 73 65 6c 66 2c 20 22 68 6f 6f 6b 42  ipt.self, "hookB
1640: 72 6b 70 74 43 6f 6e 64 22 29 3b 0d 0a 20 20 20  rkptCond");..   
1650: 20 0d 0a 7d 0d 0a 0d 0a 0d 0a 2f 2a 20 d0 92 d0   ..}....../* ...
1660: be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1  ................
1670: 82 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8  . ..............
1680: d0 b5 20 d0 bc d0 b0 d0 ba d1 80 d0 be d1 81 d0  .. .............
1690: b0 20 d0 bf d0 be 20 d1 83 d0 bc d0 be d0 bb d1  . .... .........
16a0: 87 d0 b0 d0 bd d0 b8 d1 8e 20 2d 20 d0 b2 d1 8b  ......... - ....
16b0: d0 b7 d1 8b d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f  ................
16c0: 2c 20 d0 ba d0 be d0 b3 d0 b4 d0 b0 20 d0 bf d0  , .......... ...
16d0: be d0 bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0  ................
16e0: b5 d0 bb d1 8c 20 0d 0a d0 b4 d0 b2 d0 b0 d0 b6  ..... ..........
16f0: d0 b4 d1 8b 20 d1 89 d0 b5 d0 bb d0 ba d0 b0 d0  .... ...........
1700: b5 d1 82 20 d0 bc d1 8b d1 88 d1 8c d1 8e 20 d0  ... .......... .
1710: bf d0 be 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd  ... ............
1720: d0 b8 d1 8e 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1  .... ...........
1730: 82 d0 b0 20 d0 b2 20 d0 be d0 ba d0 bd d0 b5 20  ... .. ........ 
1740: d0 a1 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82  ................
1750: d0 b0 2e 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e  ... */..function
1760: 20 67 65 74 44 65 66 61 75 6c 74 4d 61 63 72 6f   getDefaultMacro
1770: 73 28 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72  s() {..    retur
1780: 6e 20 27 d0 9d d0 b0 d1 81 d1 82 d1 80 d0 be d0  n '.............
1790: b9 d0 ba d0 b0 27 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f  .....';..}....//
17a0: 2f 2f 7d 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 81  //} ............
17b0: d1 8b 0d 0a 0d 0a 44 65 62 75 67 49 6e 73 74 72  ......DebugInstr
17c0: 75 6d 65 6e 74 73 20 3d 20 53 63 72 69 70 74 46  uments = ScriptF
17d0: 6f 72 6d 2e 65 78 74 65 6e 64 28 7b 0d 0a 0d 0a  orm.extend({....
17e0: 20 20 20 20 73 65 74 74 69 6e 67 73 52 6f 6f 74      settingsRoot
17f0: 50 61 74 68 20 3a 20 53 65 6c 66 53 63 72 69 70  Path : SelfScrip
1800: 74 2e 75 6e 69 71 75 65 4e 61 6d 65 2c 0d 0a 20  t.uniqueName,.. 
1810: 20 20 20 0d 0a 20 20 20 20 73 65 74 74 69 6e 67     ..    setting
1820: 73 20 3a 20 7b 0d 0a 20 20 20 20 20 20 20 20 70  s : {..        p
1830: 66 6c 42 61 73 65 20 3a 20 7b 0d 0a 20 20 20 20  flBase : {..    
1840: 20 20 20 20 20 20 20 20 27 70 61 74 68 54 6f 45          'pathToE
1850: 70 66 27 3a 20 22 2e 5c 5c d0 98 d1 80 d0 9c d0  pf': ".\\.......
1860: be d0 b1 d0 b8 d0 bb d1 8c d0 bd d1 8b d0 b5 5c  ...............\
1870: 5c d0 b8 d1 80 d0 9c d0 be d0 b1 d0 b8 d0 bb d1  \...............
1880: 8c d0 bd d1 8b d0 b5 2e 65 70 66 22 2c 20 2f 2f  ........epf", //
1890: 20 d0 9f d1 83 d1 82 d1 8c 20 d0 ba 20 d1 84 d0   ........ .. ...
18a0: b0 d0 b9 d0 bb d1 83 20 d0 b2 d0 bd d0 b5 d1 88  ....... ........
18b0: d0 bd d0 b5 d0 b9 20 d0 be d0 b1 d1 80 d0 b0 d0  ...... .........
18c0: b1 d0 be d1 82 d0 ba d0 b8 2c 20 d0 bf d0 be 20  ........., .... 
18d0: d1 83 d0 bc d0 be d0 bb d1 87 d0 b0 d0 bd d0 b8  ................
18e0: d1 8e 20 d0 b2 20 d0 ba d0 be d1 80 d0 bd d0 b5  .. .. ..........
18f0: 20 d1 81 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1   ...............
1900: 82 d0 b0 2e 20 0d 0a 20 20 20 20 20 20 20 20 20  .... ..         
1910: 20 20 20 27 75 73 65 45 70 66 27 20 20 20 3a 20     'useEpf'   : 
1920: 66 61 6c 73 65 2c 20 2f 2f d0 9f d0 be 20 d1 83  false, //.... ..
1930: d0 bc d0 be d0 bb d1 87 d0 b0 d0 bd d0 b8 d1 8e  ................
1940: 20 d0 b8 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d1   ...............
1950: 83 d0 b5 d0 bc 20 d0 b2 d1 81 d1 82 d1 80 d0 be  ..... ..........
1960: d0 b5 d0 bd d0 bd d1 8b d0 b5 2e 20 20 0d 0a 20  ...........  .. 
1970: 20 20 20 20 20 20 20 20 20 20 20 27 71 75 65 72             'quer
1980: 79 43 6f 6d 6d 61 6e 64 27 20 3a 20 22 d0 9e d1  yCommand' : "...
1990: 82 d0 bb d0 b0 d0 b4 d0 b8 d1 82 d1 8c 22 2c 20  .............", 
19a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 73  ..            's
19b0: 74 61 72 74 54 65 63 68 4c 6f 67 27 20 3a 20 22  tartTechLog' : "
19c0: d0 a2 d0 b5 d1 85 d0 9d 22 2c 0d 0a 20 20 20 20  ........",..    
19d0: 20 20 20 20 20 20 20 20 27 73 74 6f 70 54 65 63          'stopTec
19e0: 68 4c 6f 67 27 3a 20 22 d0 a2 d0 b5 d1 85 d0 9a  hLog': "........
19f0: 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ",..            
1a00: 27 70 6f 6f 70 43 6f 6d 6d 61 6e 64 27 3a 20 22  'poopCommand': "
1a10: d0 9f d0 be d0 bf 22 2c 0d 0a 20 20 20 20 20 20  ......",..      
1a20: 20 20 20 20 20 20 27 72 65 73 65 61 72 63 68 43        'researchC
1a30: 6f 6d 6d 61 6e 64 27 3a 20 22 d0 98 d1 81 d1 81  ommand': "......
1a40: d0 bb d0 b5 d0 b4 d0 be d0 b2 d0 b0 d1 82 d1 8c  ................
1a50: 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ",..            
1a60: 27 64 75 43 6f 6d 6d 61 6e 64 27 3a 22 d0 94 d1  'duCommand':"...
1a70: 83 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .",..           
1a80: 20 27 70 72 43 6f 6d 6d 61 6e 64 27 20 3a 20 22   'prCommand' : "
1a90: d0 9f d1 80 22 2c 0d 0a 20 20 20 20 20 20 20 20  ....",..        
1aa0: 20 20 20 20 27 70 65 72 43 6f 6d 6d 61 6e 64 27      'perCommand'
1ab0: 20 3a 20 22 d0 9f d0 b5 d1 80 22 2c 0d 0a 20 20   : "......",..  
1ac0: 20 20 20 20 20 20 20 20 20 20 27 6f 70 65 72 61            'opera
1ad0: 74 65 43 6f 6d 6d 61 6e 64 27 20 3a 20 22 d0 9e  teCommand' : "..
1ae0: d0 bf d0 b5 d1 80 d0 b8 d1 80 d0 be d0 b2 d0 b0  ................
1af0: d1 82 d1 8c 22 0d 0a 20 20 20 20 20 20 20 20 7d  ...."..        }
1b00: 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20  ..    },....    
1b10: 63 6f 6e 73 74 72 75 63 74 20 3a 20 66 75 6e 63  construct : func
1b20: 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20  tion () {..     
1b30: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74 68 69     ..        thi
1b40: 73 2e 5f 73 75 70 65 72 28 22 73 63 72 69 70 74  s._super("script
1b50: 73 5c 5c 44 65 62 75 67 49 6e 73 74 72 75 6d 65  s\\DebugInstrume
1b60: 6e 74 73 2e 73 73 66 22 29 3b 0d 0a 0d 0a 0d 0a  nts.ssf");......
1b70: 20 20 20 20 20 20 20 20 74 68 69 73 2e 6c 6f 61          this.loa
1b80: 64 53 65 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20  dSettings();..  
1b90: 20 20 20 20 20 20 74 68 69 73 2e 6c 61 73 74 4d        this.lastM
1ba0: 6f 64 61 6c 46 6f 72 6d 20 3d 20 6e 75 6c 6c 3b  odalForm = null;
1bb0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 44 65 62 75  ....        Debu
1bc0: 67 49 6e 73 74 72 75 6d 65 6e 74 73 2e 5f 69 6e  gInstruments._in
1bd0: 73 74 61 6e 63 65 20 3d 20 74 68 69 73 3b 0d 0a  stance = this;..
1be0: 0d 0a 20 20 20 20 7d 2c 20 0d 0a 20 20 20 20 0d  ..    }, ..    .
1bf0: 0a 20 20 20 20 6c 6f 61 64 53 65 74 74 69 6e 67  .    loadSetting
1c00: 73 20 3a 20 66 75 6e 63 74 69 6f 6e 28 29 7b 0d  s : function(){.
1c10: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f 73  .        this._s
1c20: 75 70 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 20  uper();..       
1c30: 20 69 66 20 28 74 68 69 73 2e 66 6f 72 6d 2e 75   if (this.form.u
1c40: 73 65 45 70 66 29 7b 0d 0a 20 20 20 20 20 20 20  seEpf){..       
1c50: 20 20 20 20 20 74 72 79 20 7b 0d 0a 20 20 20 20       try {..    
1c60: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
1c70: 21 66 69 6c 65 45 78 69 73 74 73 28 67 65 74 41  !fileExists(getA
1c80: 62 73 6f 6c 75 74 65 50 61 74 68 28 74 68 69 73  bsolutePath(this
1c90: 2e 66 6f 72 6d 2e 70 61 74 68 54 6f 45 70 66 29  .form.pathToEpf)
1ca0: 29 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  )){..           
1cb0: 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 6f 74           var not
1cc0: 69 66 79 73 65 6e 64 20 3d 20 73 74 64 6c 69 62  ifysend = stdlib
1cd0: 2e 72 65 71 75 69 72 65 28 27 4e 6f 74 69 66 79  .require('Notify
1ce0: 53 65 6e 64 2e 6a 73 27 29 2e 47 65 74 4e 6f 74  Send.js').GetNot
1cf0: 69 66 79 53 65 6e 64 28 29 3b 0d 0a 20 20 20 20  ifySend();..    
1d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d10: 76 61 72 20 d0 a1 d0 b8 d1 81 d1 82 d0 b5 d0 bc  var ............
1d20: d0 bd d0 b0 d1 8f d0 98 d0 bd d1 84 d0 be d1 80  ................
1d30: d0 bc d0 b0 d1 86 d0 b8 d1 8f 20 3d 20 76 38 4e  .......... = v8N
1d40: 65 77 28 22 d0 a1 d0 b8 d1 81 d1 82 d0 b5 d0 bc  ew("............
1d50: d0 bd d0 b0 d1 8f d0 98 d0 bd d1 84 d0 be d1 80  ................
1d60: d0 bc d0 b0 d1 86 d0 b8 d1 8f 22 29 3b 0d 0a 20  ..........");.. 
1d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d80: 20 20 20 76 61 72 20 d0 b2 d0 b5 d1 80 d1 81 d0     var .........
1d90: b8 d1 8f 20 3d 20 d0 a1 d0 b8 d1 81 d1 82 d0 b5  ... = ..........
1da0: d0 bc d0 bd d0 b0 d1 8f d0 98 d0 bd d1 84 d0 be  ................
1db0: d1 80 d0 bc d0 b0 d1 86 d0 b8 d1 8f 2e d0 92 d0  ................
1dc0: b5 d1 80 d1 81 d0 b8 d1 8f d0 9f d1 80 d0 b8 d0  ................
1dd0: bb d0 be d0 b6 d0 b5 d0 bd d0 b8 d1 8f 3b 0d 0a  .............;..
1de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df0: 20 20 20 20 69 66 20 28 d0 b2 d0 b5 d1 80 d1 81      if (........
1e00: d0 b8 d1 8f 2e 69 6e 64 65 78 4f 66 28 22 38 2e  .....indexOf("8.
1e10: 32 2e 31 33 22 29 3d 3d 2d 31 29 7b 0d 0a 20 20  2.13")==-1){..  
1e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e30: 20 20 20 20 6e 6f 74 69 66 79 73 65 6e 64 2e 70      notifysend.p
1e40: 72 6f 76 69 64 65 72 20 3d 20 6e 6f 74 69 66 79  rovider = notify
1e50: 73 65 6e 64 2e 69 6e 69 74 70 72 6f 76 69 64 65  send.initprovide
1e60: 72 28 22 d0 92 d1 81 d1 82 d1 80 d0 be d0 b5 d0  r(".............
1e70: bd d0 bd d1 8b d0 b9 31 d0 a1 22 29 3b 0d 0a 20  .......1..");.. 
1e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e90: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
1ea0: 20 20 20 20 20 20 20 20 20 20 6e 6f 74 69 66 79            notify
1eb0: 73 65 6e 64 2e 45 72 72 6f 72 28 22 d0 9d d0 b5  send.Error("....
1ec0: 20 d0 bd d0 b0 d1 88 d0 bb d0 b8 20 22 2c 20 22   .......... ", "
1ed0: d0 9d d0 b5 20 d1 81 d0 bc d0 be d0 b3 d0 bb d0  .... ...........
1ee0: b8 20 d0 bd d0 b0 d0 b9 d1 82 d0 b8 20 d1 84 d0  . .......... ...
1ef0: b0 d0 b9 d0 bb 20 d0 b2 d0 bd d0 b5 d1 88 d0 bd  ..... ..........
1f00: d0 b5 d0 b9 20 d0 be d0 b1 d1 80 d0 b0 d0 b1 d0  .... ...........
1f10: be d1 82 d0 ba d0 b8 20 5c 6e 20 d0 bf d1 83 d1  ....... \n .....
1f20: 82 d1 8c 20 22 2b 67 65 74 41 62 73 6f 6c 75 74  ... "+getAbsolut
1f30: 65 50 61 74 68 28 74 68 69 73 2e 66 6f 72 6d 2e  ePath(this.form.
1f40: 70 61 74 68 54 6f 45 70 66 29 2c 20 33 29 3b 0d  pathToEpf), 3);.
1f50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1f60: 20 20 20 20 20 6e 6f 74 69 66 79 20 3d 20 66 61       notify = fa
1f70: 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  lse;..          
1f80: 20 20 20 20 20 20 20 20 20 20 73 74 64 6c 69 62            stdlib
1f90: 2e 73 65 74 54 69 6d 65 6f 75 74 28 66 75 6e 63  .setTimeout(func
1fa0: 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20  tion () {..     
1fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc0: 20 6e 6f 74 69 66 79 20 3d 20 74 72 75 65 3b 0d   notify = true;.
1fd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1fe0: 20 20 20 20 20 7d 2c 20 33 30 30 30 29 3b 0d 0a       }, 3000);..
1ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2000: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 7d 20  }..           } 
2010: 63 61 74 63 68 20 28 65 29 20 7b 0d 0a 20 20 20  catch (e) {..   
2020: 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67               log
2030: 67 65 72 2e 65 72 72 6f 72 28 22 d0 9d d0 b5 20  ger.error(".... 
2040: d1 81 d0 bc d0 be d0 b3 d0 bb d0 b8 20 d0 bd d0  ............ ...
2050: b0 d0 b9 d1 82 d0 b8 20 d1 84 d0 b0 d0 b9 d0 bb  ....... ........
2060: 20 d0 b2 d0 bd d0 b5 d1 88 d0 bd d0 b5 d0 b9 20   .............. 
2070: d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba  ................
2080: d0 b8 20 5c 6e 20 d0 bf d1 83 d1 82 d1 8c 20 22  .. \n ........ "
2090: 2b 67 65 74 41 62 73 6f 6c 75 74 65 50 61 74 68  +getAbsolutePath
20a0: 28 74 68 69 73 2e 66 6f 72 6d 2e 70 61 74 68 54  (this.form.pathT
20b0: 6f 45 70 66 29 29 3b 0d 0a 20 20 20 20 20 20 20  oEpf));..       
20c0: 20 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e           logger.
20d0: 65 72 72 6f 72 28 22 20 22 2b 65 2e 64 65 73 63  error(" "+e.desc
20e0: 72 69 70 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20  ription);..     
20f0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
2100: 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 72   }....        tr
2110: 79 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  y{..            
2120: 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63  events.disconnec
2130: 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f  t(windows, "onDo
2140: 4d 6f 64 61 6c 22 2c 20 74 68 69 73 29 0d 0a 20  Modal", this).. 
2150: 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28         } catch (
2160: 65 29 20 7b 7d 0d 0a 0d 0a 20 20 20 20 20 20 20  e) {}....       
2170: 20 2f 2f 65 76 65 6e 74 73 2e 63 6f 6e 6e 65 63   //events.connec
2180: 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f  t(windows, "onDo
2190: 4d 6f 64 61 6c 22 2c 20 74 68 69 73 29 3b 0d 0a  Modal", this);..
21a0: 20 20 20 20 20 20 20 20 73 74 64 63 6f 6d 6d 61          stdcomma
21b0: 6e 64 73 2e 43 44 65 62 75 67 2e 45 76 61 6c 45  nds.CDebug.EvalE
21c0: 78 70 72 2e 61 64 64 48 61 6e 64 6c 65 72 28 74  xpr.addHandler(t
21d0: 68 69 73 2c 20 22 6f 6e 45 76 61 6c 45 78 70 72  his, "onEvalExpr
21e0: 22 29 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20  ")..    },..    
21f0: 0d 0a 20 20 20 20 76 38 64 65 62 75 67 45 76 61  ..    v8debugEva
2200: 6c 3a 66 75 6e 63 74 69 6f 6e 28 63 6f 6d 6d 61  l:function(comma
2210: 6e 64 29 7b 0d 0a 20 20 20 20 20 20 20 20 76 61  nd){..        va
2220: 72 20 72 65 73 75 6c 74 20 3d 20 6e 75 6c 6c 3b  r result = null;
2230: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 74  ..        if (!t
2240: 68 69 73 2e 69 73 44 65 62 75 67 45 76 61 6c 45  his.isDebugEvalE
2250: 6e 61 62 6c 65 64 28 29 29 7b 0d 0a 20 20 20 20  nabled()){..    
2260: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72          return r
2270: 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20  esult;..        
2280: 7d 0d 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b  }..        try {
2290: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  ..            re
22a0: 73 75 6c 74 20 3d 20 76 38 64 65 62 75 67 2e 65  sult = v8debug.e
22b0: 76 61 6c 28 63 6f 6d 6d 61 6e 64 29 3b 0d 0a 20  val(command);.. 
22c0: 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 28 65         } catch(e
22d0: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ) {..           
22e0: 20 6c 6f 67 67 65 72 2e 65 72 72 6f 72 28 65 2e   logger.error(e.
22f0: 64 65 73 63 72 69 70 74 69 6f 6e 29 0d 0a 20 20  description)..  
2300: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
2310: 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d   return result;.
2320: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d  .        ..    }
2330: 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 69 73 44  ,..    ..    isD
2340: 65 62 75 67 45 76 61 6c 45 6e 61 62 6c 65 64 3a  ebugEvalEnabled:
2350: 20 66 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20   function(){..  
2360: 20 20 20 20 20 20 2f 2f 20 d0 9a d0 be d0 bc d0        // .......
2370: b0 d0 bd d0 b4 d0 b0 20 22 d0 a8 d0 b0 d0 b3 d0  ....... ".......
2380: bd d1 83 d1 82 d1 8c 20 d0 b2 22 20 d0 bd d0 b5  ....... .." ....
2390: d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0 bd d0 b0 20 2d  .............. -
23a0: 20 d0 b7 d0 bd d0 b0 d1 87 d0 b8 d1 82 2c 20 d0   ............, .
23b0: bc d1 8b 20 d0 bd d0 b5 20 d0 b2 20 d0 be d1 81  ... .... .. ....
23c0: d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b5 2e 20 d0 a1  ............. ..
23d0: d1 87 d0 b8 d1 82 d0 b0 d1 82 d1 8c 20 d0 bf d0  ............ ...
23e0: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0  ................
23f0: b5 20 d0 bd d0 b5 d0 bb d1 8c d0 b7 d1 8f 2c 20  . ............, 
2400: d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 b5 d0 bd  ................
2410: 20 d0 b2 d1 8b d0 bb d0 b5 d1 82 0d 0a 20 20 20   ............   
2420: 20 20 20 20 20 76 61 72 20 73 74 61 74 65 20 3d       var state =
2430: 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 43 44 65   stdcommands.CDe
2440: 62 75 67 2e 53 74 65 70 49 6e 2e 67 65 74 53 74  bug.StepIn.getSt
2450: 61 74 65 28 29 0d 0a 20 20 20 20 20 20 20 20 72  ate()..        r
2460: 65 74 75 72 6e 20 73 74 61 74 65 20 26 26 20 73  eturn state && s
2470: 74 61 74 65 2e 65 6e 61 62 6c 65 64 0d 0a 20 20  tate.enabled..  
2480: 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20    },..    ..    
2490: 65 78 70 72 54 65 78 74 20 3a 20 66 75 6e 63 74  exprText : funct
24a0: 69 6f 6e 28 74 65 78 74 29 7b 0d 0a 20 20 20 20  ion(text){..    
24b0: 20 20 20 20 76 61 72 20 65 78 70 54 65 78 74 20      var expText 
24c0: 3d 20 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 69  = '';..        i
24d0: 66 20 28 21 74 65 78 74 29 20 74 65 78 74 20 3d  f (!text) text =
24e0: 20 27 27 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20   ''..        .. 
24f0: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
2500: 66 6f 72 6d 2e 75 73 65 45 70 66 29 7b 0d 0a 20  form.useEpf){.. 
2510: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66             var f
2520: 20 3d 20 76 38 4e 65 77 28 27 46 69 6c 65 27 2c   = v8New('File',
2530: 20 67 65 74 41 62 73 6f 6c 75 74 65 50 61 74 68   getAbsolutePath
2540: 28 74 68 69 73 2e 66 6f 72 6d 2e 70 61 74 68 54  (this.form.pathT
2550: 6f 45 70 66 29 29 3b 0d 0a 20 20 20 20 20 20 20  oEpf));..       
2560: 20 20 20 20 20 69 66 20 28 66 2e 49 73 46 69 6c       if (f.IsFil
2570: 65 28 29 20 26 26 20 66 2e 45 78 69 73 74 28 29  e() && f.Exist()
2580: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
2590: 20 20 20 20 65 78 70 54 65 78 74 20 3d 20 27 d0      expText = '.
25a0: 92 d0 bd d0 b5 d1 88 d0 bd d0 b8 d0 b5 d0 9e d0  ................
25b0: b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba d0 b8 2e  ................
25c0: d0 a1 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1 8c 28 22  ..............("
25d0: 27 20 2b 66 2e 46 75 6c 6c 4e 61 6d 65 20 2b 27  ' +f.FullName +'
25e0: 22 29 2e 27 0d 0a 20 20 20 20 20 20 20 20 20 20  ").'..          
25f0: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a    }..        }..
2600: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65          return e
2610: 78 70 54 65 78 74 20 2b 20 74 65 78 74 3b 0d 0a  xpText + text;..
2620: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
2630: 20 20 64 65 62 75 67 51 75 65 72 79 20 3a 20 66    debugQuery : f
2640: 75 6e 63 74 69 6f 6e 28 74 65 78 74 2c 20 64 6f  unction(text, do
2650: 4d 6f 64 61 6c 29 7b 0d 0a 20 20 20 20 20 20 20  Modal){..       
2660: 20 69 66 20 28 21 74 68 69 73 2e 69 73 44 65 62   if (!this.isDeb
2670: 75 67 45 76 61 6c 45 6e 61 62 6c 65 64 28 29 29  ugEvalEnabled())
2680: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  ..            re
2690: 74 75 72 6e 0d 0a 20 20 20 20 20 20 20 20 0d 0a  turn..        ..
26a0: 20 20 20 20 20 20 20 20 65 78 70 72 43 74 72 6c          exprCtrl
26b0: 20 3d 20 27 27 2b 20 74 68 69 73 2e 66 6f 72 6d   = ''+ this.form
26c0: 2e 71 75 65 72 79 43 6f 6d 6d 61 6e 64 20 2b 20  .queryCommand + 
26d0: 27 28 27 20 2b 20 74 65 78 74 20 2b 20 27 2c 20  '(' + text + ', 
26e0: 27 20 2b 20 28 64 6f 4d 6f 64 61 6c 20 3f 20 27  ' + (doModal ? '
26f0: d0 98 d1 81 d1 82 d0 b8 d0 bd d0 b0 27 20 3a 20  ............' : 
2700: 20 27 d0 9b d0 be d0 b6 d1 8c 27 29 20 2b 20 27   '........') + '
2710: 29 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  )';..        .. 
2720: 20 20 20 20 20 20 20 65 78 70 72 43 74 72 6c 20         exprCtrl 
2730: 3d 20 74 68 69 73 2e 65 78 70 72 54 65 78 74 28  = this.exprText(
2740: 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20  exprCtrl);..    
2750: 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d      var result =
2760: 20 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f   '';..        //
2770: 20 d0 a0 d0 b0 d1 81 d1 81 d1 87 d0 b8 d1 82 d0   ...............
2780: b0 d0 b5 d0 bc 20 d0 be d1 82 d0 bb d0 b0 d0 b4  ..... ..........
2790: d0 be d1 87 d0 bd d0 be d0 b5 20 d0 b7 d0 bd d0  .......... .....
27a0: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 d0 b2 20 d1  ........... .. .
27b0: 81 d1 82 d1 80 d0 be d0 ba d0 b5 0d 0a 20 20 20  .............   
27c0: 20 20 20 20 20 76 61 72 20 65 78 70 72 20 3d 20       var expr = 
27d0: 74 68 69 73 2e 76 38 64 65 62 75 67 45 76 61 6c  this.v8debugEval
27e0: 28 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20  (exprCtrl);..   
27f0: 20 20 20 20 20 69 66 20 28 21 65 78 70 72 29 7b       if (!expr){
2800: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
2810: 20 28 65 78 70 72 2e 76 61 6c 75 65 2e 6c 65 6e   (expr.value.len
2820: 67 74 68 3e 30 29 7b 0d 0a 20 20 20 20 20 20 20  gth>0){..       
2830: 20 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e           logger.
2840: 65 72 72 6f 72 28 65 78 70 72 2e 76 61 6c 75 65  error(expr.value
2850: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
2860: 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  }..        }..  
2870: 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20    },..    ..    
2880: 73 74 61 72 74 54 65 63 68 4c 6f 67 20 3a 20 66  startTechLog : f
2890: 75 6e 63 74 69 6f 6e 20 28 29 7b 0d 0a 20 20 20  unction (){..   
28a0: 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 69       if (!this.i
28b0: 73 44 65 62 75 67 45 76 61 6c 45 6e 61 62 6c 65  sDebugEvalEnable
28c0: 64 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20  d())..          
28d0: 20 20 72 65 74 75 72 6e 0d 0a 20 20 20 20 20 20    return..      
28e0: 20 20 0d 0a 20 20 20 20 20 20 20 20 65 78 70 72    ..        expr
28f0: 43 74 72 6c 20 3d 20 27 27 2b 20 74 68 69 73 2e  Ctrl = ''+ this.
2900: 66 6f 72 6d 2e 73 74 61 72 74 54 65 63 68 4c 6f  form.startTechLo
2910: 67 20 2b 20 27 28 29 27 3b 0d 0a 20 20 20 20 20  g + '()';..     
2920: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 65 78 70     ..        exp
2930: 72 43 74 72 6c 20 3d 20 74 68 69 73 2e 65 78 70  rCtrl = this.exp
2940: 72 54 65 78 74 28 65 78 70 72 43 74 72 6c 29 3b  rText(exprCtrl);
2950: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
2960: 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d      var result =
2970: 20 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f   '';..        //
2980: 20 d0 a0 d0 b0 d1 81 d1 81 d1 87 d0 b8 d1 82 d0   ...............
2990: b0 d0 b5 d0 bc 20 d0 be d1 82 d0 bb d0 b0 d0 b4  ..... ..........
29a0: d0 be d1 87 d0 bd d0 be d0 b5 20 d0 b7 d0 bd d0  .......... .....
29b0: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 d0 b2 20 d1  ........... .. .
29c0: 81 d1 82 d1 80 d0 be d0 ba d0 b5 0d 0a 20 20 20  .............   
29d0: 20 20 20 20 20 76 61 72 20 65 78 70 72 20 3d 20       var expr = 
29e0: 74 68 69 73 2e 76 38 64 65 62 75 67 45 76 61 6c  this.v8debugEval
29f0: 28 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20  (exprCtrl);..   
2a00: 20 20 20 20 20 69 66 20 28 21 65 78 70 72 29 7b       if (!expr){
2a10: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
2a20: 20 28 65 78 70 72 2e 76 61 6c 75 65 2e 6c 65 6e   (expr.value.len
2a30: 67 74 68 3e 30 29 7b 0d 0a 20 20 20 20 20 20 20  gth>0){..       
2a40: 20 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e           logger.
2a50: 65 72 72 6f 72 28 65 78 70 72 2e 76 61 6c 75 65  error(expr.value
2a60: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
2a70: 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  }..        }..  
2a80: 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20    },..    ..    
2a90: 73 74 6f 70 54 65 63 68 4c 6f 67 20 3a 20 66 75  stopTechLog : fu
2aa0: 6e 63 74 69 6f 6e 20 28 29 7b 0d 0a 20 20 20 20  nction (){..    
2ab0: 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 69 73      if (!this.is
2ac0: 44 65 62 75 67 45 76 61 6c 45 6e 61 62 6c 65 64  DebugEvalEnabled
2ad0: 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ())..           
2ae0: 20 72 65 74 75 72 6e 0d 0a 20 20 20 20 20 20 20   return..       
2af0: 20 0d 0a 20 20 20 20 20 20 20 20 65 78 70 72 43   ..        exprC
2b00: 74 72 6c 20 3d 20 27 27 2b 20 74 68 69 73 2e 66  trl = ''+ this.f
2b10: 6f 72 6d 2e 73 74 6f 70 54 65 63 68 4c 6f 67 20  orm.stopTechLog 
2b20: 2b 20 27 28 29 27 3b 0d 0a 20 20 20 20 20 20 20  + '()';..       
2b30: 20 0d 0a 20 20 20 20 20 20 20 20 65 78 70 72 43   ..        exprC
2b40: 74 72 6c 20 3d 20 74 68 69 73 2e 65 78 70 72 54  trl = this.exprT
2b50: 65 78 74 28 65 78 70 72 43 74 72 6c 29 3b 0d 0a  ext(exprCtrl);..
2b60: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
2b70: 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d 20 27    var result = '
2b80: 27 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0  ';..        // .
2b90: a0 d0 b0 d1 81 d1 81 d1 87 d0 b8 d1 82 d0 b0 d0  ................
2ba0: b5 d0 bc 20 d0 be d1 82 d0 bb d0 b0 d0 b4 d0 be  ... ............
2bb0: d1 87 d0 bd d0 be d0 b5 20 d0 b7 d0 bd d0 b0 d1  ........ .......
2bc0: 87 d0 b5 d0 bd d0 b8 d0 b5 20 d0 b2 20 d1 81 d1  ......... .. ...
2bd0: 82 d1 80 d0 be d0 ba d0 b5 0d 0a 20 20 20 20 20  ...........     
2be0: 20 20 20 76 61 72 20 65 78 70 72 20 3d 20 74 68     var expr = th
2bf0: 69 73 2e 76 38 64 65 62 75 67 45 76 61 6c 28 65  is.v8debugEval(e
2c00: 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20 20  xprCtrl);..     
2c10: 20 20 20 69 66 20 28 21 65 78 70 72 29 7b 0d 0a     if (!expr){..
2c20: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
2c30: 65 78 70 72 2e 76 61 6c 75 65 2e 6c 65 6e 67 74  expr.value.lengt
2c40: 68 3e 30 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  h>0){..         
2c50: 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 65 72         logger.er
2c60: 72 6f 72 28 65 78 70 72 2e 76 61 6c 75 65 29 3b  ror(expr.value);
2c70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d  ..            }.
2c80: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
2c90: 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65  },..    ..    re
2ca0: 73 65 61 72 63 68 20 3a 20 66 75 6e 63 74 69 6f  search : functio
2cb0: 6e 28 74 65 78 74 2c 20 64 6f 4d 6f 64 61 6c 29  n(text, doModal)
2cc0: 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  {..        ..   
2cd0: 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 69       if (!this.i
2ce0: 73 44 65 62 75 67 45 76 61 6c 45 6e 61 62 6c 65  sDebugEvalEnable
2cf0: 64 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20  d())..          
2d00: 20 20 72 65 74 75 72 6e 0d 0a 20 20 20 20 20 20    return..      
2d10: 20 20 69 66 20 28 21 64 6f 4d 6f 64 61 6c 29 20    if (!doModal) 
2d20: 64 6f 4d 6f 64 61 6c 20 3d 20 74 72 75 65 3b 0d  doModal = true;.
2d30: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
2d40: 20 20 20 69 66 20 28 74 65 78 74 2e 6c 65 6e 67     if (text.leng
2d50: 74 68 3d 3d 30 29 7b 0d 0a 20 20 20 20 20 20 20  th==0){..       
2d60: 20 20 20 20 20 65 78 70 20 3d 20 74 68 69 73 2e       exp = this.
2d70: 67 65 74 44 65 62 75 67 67 65 72 45 78 70 72 28  getDebuggerExpr(
2d80: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
2d90: 69 66 20 28 21 65 78 70 29 7b 0d 0a 20 20 20 20  if (!exp){..    
2da0: 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74              text
2db0: 20 3d 20 65 78 70 2e 65 78 70 72 65 73 73 69 6f   = exp.expressio
2dc0: 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  n;..            
2dd0: 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  }..        }..  
2de0: 20 20 20 20 20 20 65 78 70 72 43 74 72 6c 20 3d        exprCtrl =
2df0: 20 27 27 2b 20 74 68 69 73 2e 66 6f 72 6d 2e 72   ''+ this.form.r
2e00: 65 73 65 61 72 63 68 43 6f 6d 6d 61 6e 64 20 2b  esearchCommand +
2e10: 20 27 28 27 20 2b 20 74 65 78 74 20 2b 20 27 2c   '(' + text + ',
2e20: 20 27 20 2b 20 28 64 6f 4d 6f 64 61 6c 20 3f 20   ' + (doModal ? 
2e30: 27 d0 98 d1 81 d1 82 d0 b8 d0 bd d0 b0 27 20 3a  '............' :
2e40: 20 20 27 d0 9b d0 be d0 b6 d1 8c 27 29 20 2b 20    '........') + 
2e50: 27 29 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  ')';..        ..
2e60: 20 20 20 20 20 20 20 20 65 78 70 72 43 74 72 6c          exprCtrl
2e70: 20 3d 20 74 68 69 73 2e 65 78 70 72 54 65 78 74   = this.exprText
2e80: 28 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20  (exprCtrl);..   
2e90: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 6c       ..        l
2ea0: 6f 67 67 65 72 2e 64 65 62 75 67 28 27 72 65 73  ogger.debug('res
2eb0: 65 61 72 63 68 27 29 3b 0d 0a 20 20 20 20 20 20  earch');..      
2ec0: 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 65    logger.debug(e
2ed0: 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20 20  xprCtrl);..     
2ee0: 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d 20     var result = 
2ef0: 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  '';..        .. 
2f00: 20 20 20 20 20 20 20 2f 2f 20 d0 a0 d0 b0 d1 81         // ......
2f10: d1 81 d1 87 d0 b8 d1 82 d0 b0 d0 b5 d0 bc 20 d0  .............. .
2f20: be d1 82 d0 bb d0 b0 d0 b4 d0 be d1 87 d0 bd d0  ................
2f30: be d0 b5 20 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd  ... ............
2f40: d0 b8 d0 b5 20 d0 b2 20 d1 81 d1 82 d1 80 d0 be  .... .. ........
2f50: d0 ba d0 b5 0d 0a 20 20 20 20 20 20 20 20 76 61  ......        va
2f60: 72 20 65 78 70 72 20 3d 20 74 68 69 73 2e 76 38  r expr = this.v8
2f70: 64 65 62 75 67 45 76 61 6c 28 65 78 70 72 43 74  debugEval(exprCt
2f80: 72 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  rl);..        ..
2f90: 20 20 20 20 20 20 20 20 69 66 20 28 21 65 78 70          if (!exp
2fa0: 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  r)..            
2fb0: 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a  return result;..
2fc0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
2fd0: 20 20 69 66 20 28 21 65 78 70 72 2e 76 61 6c 75    if (!expr.valu
2fe0: 65 2e 6d 61 74 63 68 28 2f 5e 5c 73 2a 24 2f 29  e.match(/^\s*$/)
2ff0: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  )..            r
3000: 65 73 75 6c 74 20 3d 20 27 27 2b 65 78 70 72 2e  esult = ''+expr.
3010: 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20  value;..        
3020: 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72  ..        logger
3030: 2e 64 65 62 75 67 28 72 65 73 75 6c 74 29 3b 0d  .debug(result);.
3040: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
3050: 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 7d 2c 0d  result;..    },.
3060: 0a 20 20 20 20 0d 0a 20 20 20 20 70 6f 70 20 3a  .    ..    pop :
3070: 20 66 75 6e 63 74 69 6f 6e 28 74 65 78 74 2c 20   function(text, 
3080: 64 6f 4d 6f 64 61 6c 29 7b 0d 0a 20 20 20 20 20  doModal){..     
3090: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20     ..        if 
30a0: 28 21 74 68 69 73 2e 69 73 44 65 62 75 67 45 76  (!this.isDebugEv
30b0: 61 6c 45 6e 61 62 6c 65 64 28 29 29 0d 0a 20 20  alEnabled())..  
30c0: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
30d0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
30e0: 20 20 20 20 65 78 70 72 43 74 72 6c 20 3d 20 27      exprCtrl = '
30f0: 27 2b 20 74 68 69 73 2e 66 6f 72 6d 2e 70 6f 6f  '+ this.form.poo
3100: 70 43 6f 6d 6d 61 6e 64 20 2b 20 27 28 22 27 20  pCommand + '("' 
3110: 2b 20 74 65 78 74 2e 72 65 70 6c 61 63 65 28 2f  + text.replace(/
3120: 22 2f 67 2c 20 27 22 22 27 29 20 2b 20 27 22 20  "/g, '""') + '" 
3130: 2c 20 27 20 2b 20 28 64 6f 4d 6f 64 61 6c 20 3f  , ' + (doModal ?
3140: 20 27 31 27 20 3a 20 20 27 30 27 29 20 2b 20 27   '1' :  '0') + '
3150: 29 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  )';..        .. 
3160: 20 20 20 20 20 20 20 65 78 70 72 43 74 72 6c 20         exprCtrl 
3170: 3d 20 74 68 69 73 2e 65 78 70 72 54 65 78 74 28  = this.exprText(
3180: 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20  exprCtrl);..    
3190: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 6c 6f      ..        lo
31a0: 67 67 65 72 2e 64 65 62 75 67 28 27 70 6f 70 27  gger.debug('pop'
31b0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67  );..        logg
31c0: 65 72 2e 64 65 62 75 67 28 65 78 70 72 43 74 72  er.debug(exprCtr
31d0: 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  l);..        .. 
31e0: 20 20 20 20 20 20 20 76 61 72 20 72 65 73 75 6c         var resul
31f0: 74 20 3d 20 27 27 3b 0d 0a 20 20 20 20 20 20 20  t = '';..       
3200: 20 2f 2f 20 d0 a0 d0 b0 d1 81 d1 81 d1 87 d0 b8   // ............
3210: d1 82 d0 b0 d0 b5 d0 bc 20 d0 be d1 82 d0 bb d0  ........ .......
3220: b0 d0 b4 d0 be d1 87 d0 bd d0 be d0 b5 20 d0 b7  ............. ..
3230: d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 d0  .............. .
3240: b2 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b5 0d 0a  . ..............
3250: 20 20 20 20 20 20 20 20 76 61 72 20 65 78 70 72          var expr
3260: 20 3d 20 74 68 69 73 2e 76 38 64 65 62 75 67 45   = this.v8debugE
3270: 76 61 6c 28 65 78 70 72 43 74 72 6c 29 0d 0a 20  val(exprCtrl).. 
3280: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
3290: 20 69 66 20 28 21 65 78 70 72 29 0d 0a 20 20 20   if (!expr)..   
32a0: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20           return 
32b0: 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20  result;..       
32c0: 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21   ..        if (!
32d0: 65 78 70 72 2e 76 61 6c 75 65 2e 6d 61 74 63 68  expr.value.match
32e0: 28 2f 5e 5c 73 2a 24 2f 29 29 0d 0a 20 20 20 20  (/^\s*$/))..    
32f0: 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d          result =
3300: 20 27 27 2b 65 78 70 72 2e 76 61 6c 75 65 3b 0d   ''+expr.value;.
3310: 0a 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e  .        logger.
3320: 64 65 62 75 67 28 27 72 65 73 75 6c 74 3a 27 2b  debug('result:'+
3330: 72 65 73 75 6c 74 29 3b 0d 0a 20 20 20 20 20 20  result);..      
3340: 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b    return result;
3350: 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a  ..    },..    ..
3360: 20 20 20 20 70 72 20 3a 20 66 75 6e 63 74 69 6f      pr : functio
3370: 6e 28 70 31 2c 20 70 32 29 7b 0d 0a 20 20 20 20  n(p1, p2){..    
3380: 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 69 73      if (!this.is
3390: 44 65 62 75 67 45 76 61 6c 45 6e 61 62 6c 65 64  DebugEvalEnabled
33a0: 28 29 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ()){..          
33b0: 20 20 6c 6f 67 67 65 72 2e 65 72 72 6f 72 28 27    logger.error('
33c0: d0 9c d1 8b 20 d0 bd d0 b5 20 d0 b2 20 d1 80 d0  .... .... .. ...
33d0: b5 d0 b6 d0 b8 d0 bc d0 b5 20 d0 be d1 82 d0 bb  ......... ......
33e0: d0 b0 d0 b4 d0 ba d0 b8 2c 20 d0 b2 d1 8b d1 85  ........, ......
33f0: d0 be d0 b4 d0 b8 d0 bc 20 d0 b8 d0 b7 20 d0 bf  ........ .... ..
3400: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b  ................
3410: 27 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ')..            
3420: 72 65 74 75 72 6e 0d 0a 20 20 20 20 20 20 20 20  return..        
3430: 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  }..        ..   
3440: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 65       ..        e
3450: 78 70 72 43 74 72 6c 20 3d 20 27 27 2b 20 74 68  xprCtrl = ''+ th
3460: 69 73 2e 66 6f 72 6d 2e 70 72 43 6f 6d 6d 61 6e  is.form.prComman
3470: 64 20 2b 20 27 28 27 20 2b 20 70 31 20 2b 20 27  d + '(' + p1 + '
3480: 2c 20 27 20 2b 20 70 32 2e 72 65 70 6c 61 63 65  , ' + p2.replace
3490: 28 2f 22 2f 67 2c 20 27 22 22 27 29 20 2b 20 27  (/"/g, '""') + '
34a0: 29 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  )';..        .. 
34b0: 20 20 20 20 20 20 20 65 78 70 72 43 74 72 6c 20         exprCtrl 
34c0: 3d 20 74 68 69 73 2e 65 78 70 72 54 65 78 74 28  = this.exprText(
34d0: 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20  exprCtrl);..    
34e0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 6c 6f      ..        lo
34f0: 67 67 65 72 2e 64 65 62 75 67 28 27 70 72 27 29  gger.debug('pr')
3500: 3b 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67 65  ;..        logge
3510: 72 2e 64 65 62 75 67 28 65 78 70 72 43 74 72 6c  r.debug(exprCtrl
3520: 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  );..        ..  
3530: 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 27        result = '
3540: 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  ';..        ..  
3550: 20 20 20 20 20 20 2f 2f 20 d0 a0 d0 b0 d1 81 d1        // .......
3560: 81 d1 87 d0 b8 d1 82 d0 b0 d0 b5 d0 bc 20 d0 be  ............. ..
3570: d1 82 d0 bb d0 b0 d0 b4 d0 be d1 87 d0 bd d0 be  ................
3580: d0 b5 20 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0  .. .............
3590: b8 d0 b5 20 d0 b2 20 d1 81 d1 82 d1 80 d0 be d0  ... .. .........
35a0: ba d0 b5 0d 0a 20 20 20 20 20 20 20 20 76 61 72  .....        var
35b0: 20 65 78 70 72 20 3d 20 74 68 69 73 2e 76 38 64   expr = this.v8d
35c0: 65 62 75 67 45 76 61 6c 28 65 78 70 72 43 74 72  ebugEval(exprCtr
35d0: 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20  l);..        if 
35e0: 28 21 65 78 70 72 29 0d 0a 20 20 20 20 20 20 20  (!expr)..       
35f0: 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75       return resu
3600: 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  lt;..        .. 
3610: 20 20 20 20 20 20 20 2f 2f 76 61 72 20 65 78 70         //var exp
3620: 72 20 3d 20 74 68 69 73 2e 76 38 64 65 62 75 67  r = this.v8debug
3630: 45 76 61 6c 28 65 78 70 72 43 74 72 6c 29 0d 0a  Eval(exprCtrl)..
3640: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
3650: 20 20 69 66 20 28 21 65 78 70 72 2e 76 61 6c 75    if (!expr.valu
3660: 65 2e 6d 61 74 63 68 28 2f 5e 5c 73 2a 24 2f 29  e.match(/^\s*$/)
3670: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  )..            r
3680: 65 73 75 6c 74 20 3d 20 27 27 2b 65 78 70 72 2e  esult = ''+expr.
3690: 76 61 6c 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20  value;....      
36a0: 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b    return result;
36b0: 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a  ..    },..    ..
36c0: 20 20 20 20 6f 70 65 72 61 74 65 3a 66 75 6e 63      operate:func
36d0: 74 69 6f 6e 28 74 65 78 74 29 7b 0d 0a 20 20 20  tion(text){..   
36e0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 65       ..        e
36f0: 78 70 72 43 74 72 6c 20 3d 20 27 27 2b 20 74 65  xprCtrl = ''+ te
3700: 78 74 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  xt;..        .. 
3710: 20 20 20 20 20 20 20 65 78 70 72 43 74 72 6c 20         exprCtrl 
3720: 3d 20 74 68 69 73 2e 65 78 70 72 54 65 78 74 28  = this.exprText(
3730: 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20  exprCtrl);..    
3740: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 6c 6f      ..        lo
3750: 67 67 65 72 2e 64 65 62 75 67 28 27 6f 70 65 72  gger.debug('oper
3760: 61 74 65 27 29 3b 0d 0a 20 20 20 20 20 20 20 20  ate');..        
3770: 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 65 78 70  logger.debug(exp
3780: 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20 20 20 20  rCtrl);..       
3790: 20 0d 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c   ..        resul
37a0: 74 20 3d 20 27 27 3b 0d 0a 20 20 20 20 20 20 20  t = '';..       
37b0: 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 a0   ..        // ..
37c0: d0 b0 d1 81 d1 81 d1 87 d0 b8 d1 82 d0 b0 d0 b5  ................
37d0: d0 bc 20 d0 be d1 82 d0 bb d0 b0 d0 b4 d0 be d1  .. .............
37e0: 87 d0 bd d0 be d0 b5 20 d0 b7 d0 bd d0 b0 d1 87  ....... ........
37f0: d0 b5 d0 bd d0 b8 d0 b5 20 d0 b2 20 d1 81 d1 82  ........ .. ....
3800: d1 80 d0 be d0 ba d0 b5 0d 0a 20 20 20 20 20 20  ..........      
3810: 20 20 76 61 72 20 65 78 70 72 20 3d 20 74 68 69    var expr = thi
3820: 73 2e 76 38 64 65 62 75 67 45 76 61 6c 28 65 78  s.v8debugEval(ex
3830: 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20 20 20 20  prCtrl);..      
3840: 20 20 69 66 20 28 21 65 78 70 72 29 0d 0a 20 20    if (!expr)..  
3850: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
3860: 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 20   result;..      
3870: 20 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 76 61    ..        //va
3880: 72 20 65 78 70 72 20 3d 20 74 68 69 73 2e 76 38  r expr = this.v8
3890: 64 65 62 75 67 45 76 61 6c 28 65 78 70 72 43 74  debugEval(exprCt
38a0: 72 6c 29 0d 0a 20 20 20 20 20 20 20 20 69 66 20  rl)..        if 
38b0: 28 21 65 78 70 72 2e 73 75 63 65 73 73 65 64 29  (!expr.sucessed)
38c0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c  {..            l
38d0: 6f 67 67 65 72 2e 65 72 72 6f 72 28 27 d0 9e d1  ogger.error('...
38e0: 88 d0 b8 d0 b1 d0 ba d0 b0 20 d0 b2 d1 8b d0 bf  ......... ......
38f0: d0 be d0 bb d0 bd d0 b5 d0 bd d0 b8 d1 8f 20 d0  .............. .
3900: ba d0 be d0 bc d0 bc d0 b0 d0 bd d0 b4 d1 8b 20  ............... 
3910: 27 2b 65 78 70 72 20 2b 27 20 5c 6e 20 d0 9e d1  '+expr +' \n ...
3920: 88 d0 b8 d0 b1 d0 ba d0 b0 3a 27 2b 65 78 70 72  .........:'+expr
3930: 2e 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20  .value);..      
3940: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 69 66 20    }..        if 
3950: 28 21 65 78 70 72 2e 76 61 6c 75 65 2e 6d 61 74  (!expr.value.mat
3960: 63 68 28 2f 5e 5c 73 2a 24 2f 29 29 0d 0a 20 20  ch(/^\s*$/))..  
3970: 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74            result
3980: 20 3d 20 27 27 2b 65 78 70 72 2e 76 61 6c 75 65   = ''+expr.value
3990: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 72 65 74  ;....        ret
39a0: 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20  urn result;..   
39b0: 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 64   },..    ..    d
39c0: 75 20 3a 20 66 75 6e 63 74 69 6f 6e 28 70 72 6f  u : function(pro
39d0: 67 54 65 78 74 2c 20 70 31 2c 20 70 32 2c 20 70  gText, p1, p2, p
39e0: 33 2c 20 70 34 29 7b 0d 0a 20 20 20 20 20 20 20  3, p4){..       
39f0: 20 2f 2f d0 94 d1 83 28 d0 97 d0 bd d0 b0 d1 87   //....(........
3a00: 20 d0 a2 d0 b5 d0 ba d1 81 d1 82 d0 9f d1 80 d0   ...............
3a10: be d0 b3 d1 80 d0 b0 d0 bc d0 bc d1 8b 2c 20 d0  ............., .
3a20: bf 31 20 3d 20 30 2c 20 d0 bf 32 20 3d 20 30 2c  .1 = 0, ..2 = 0,
3a30: 20 d0 bf 33 20 3d 20 30 2c 20 d0 bf 34 20 3d 20   ..3 = 0, ..4 = 
3a40: 30 29 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  0)..        ..  
3a50: 20 20 20 20 20 20 69 66 20 28 21 70 31 29 20 70        if (!p1) p
3a60: 31 3d 27 30 27 3b 0d 0a 20 20 20 20 20 20 20 20  1='0';..        
3a70: 69 66 20 28 21 70 32 29 20 70 32 3d 27 30 27 3b  if (!p2) p2='0';
3a80: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 70  ..        if (!p
3a90: 33 29 20 70 33 3d 27 30 27 3b 0d 0a 20 20 20 20  3) p3='0';..    
3aa0: 20 20 20 20 69 66 20 28 21 70 34 29 20 70 34 3d      if (!p4) p4=
3ab0: 27 30 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  '0';..        ..
3ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3ad0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
3ae0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 65 78      ..        ex
3af0: 70 72 43 74 72 6c 20 3d 20 27 27 2b 20 74 68 69  prCtrl = ''+ thi
3b00: 73 2e 66 6f 72 6d 2e 64 75 43 6f 6d 6d 61 6e 64  s.form.duCommand
3b10: 20 2b 20 27 28 22 27 20 2b 20 70 72 6f 67 54 65   + '("' + progTe
3b20: 78 74 2e 72 65 70 6c 61 63 65 28 2f 22 2f 67 2c  xt.replace(/"/g,
3b30: 20 27 22 22 27 29 20 2b 20 27 22 20 2c 20 27 2b   '""') + '" , '+
3b40: 70 31 20 2b 20 27 2c 27 2b 70 32 2b 20 27 2c 27  p1 + ','+p2+ ','
3b50: 20 2b 20 70 33 20 2b 20 27 2c 27 2b 20 70 34 2b   + p3 + ','+ p4+
3b60: 27 29 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  ')';..        ..
3b70: 20 20 20 20 20 20 20 20 65 78 70 72 43 74 72 6c          exprCtrl
3b80: 20 3d 20 74 68 69 73 2e 65 78 70 72 54 65 78 74   = this.exprText
3b90: 28 65 78 70 72 43 74 72 6c 29 3b 0d 0a 20 20 20  (exprCtrl);..   
3ba0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 6c       ..        l
3bb0: 6f 67 67 65 72 2e 64 65 62 75 67 28 27 64 75 27  ogger.debug('du'
3bc0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67  );..        logg
3bd0: 65 72 2e 64 65 62 75 67 28 65 78 70 72 43 74 72  er.debug(exprCtr
3be0: 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  l);..        .. 
3bf0: 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20         result = 
3c00: 27 27 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  '';..        .. 
3c10: 20 20 20 20 20 20 20 2f 2f 20 d0 a0 d0 b0 d1 81         // ......
3c20: d1 81 d1 87 d0 b8 d1 82 d0 b0 d0 b5 d0 bc 20 d0  .............. .
3c30: be d1 82 d0 bb d0 b0 d0 b4 d0 be d1 87 d0 bd d0  ................
3c40: be d0 b5 20 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd  ... ............
3c50: d0 b8 d0 b5 20 d0 b2 20 d1 81 d1 82 d1 80 d0 be  .... .. ........
3c60: d0 ba d0 b5 0d 0a 20 20 20 20 20 20 20 20 76 61  ......        va
3c70: 72 20 65 78 70 72 20 3d 20 74 68 69 73 2e 76 38  r expr = this.v8
3c80: 64 65 62 75 67 45 76 61 6c 28 65 78 70 72 43 74  debugEval(exprCt
3c90: 72 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66  rl);..        if
3ca0: 20 28 21 65 78 70 72 29 7b 0d 0a 20 20 20 20 20   (!expr){..     
3cb0: 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64 65         logger.de
3cc0: 62 75 67 28 27 d0 a0 d0 b5 d0 b7 d1 83 d0 bb d1  bug('...........
3cd0: 8c d1 82 d0 b0 d1 82 20 d0 b2 d1 8b d1 87 d0 b8  ....... ........
3ce0: d1 81 d0 bb d0 b5 d0 bd d0 b8 d1 8f 20 d0 bd d0  ............ ...
3cf0: b5 d1 83 d0 b4 d0 b0 d1 87 d0 bd d1 8b d0 b9 27  ...............'
3d00: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
3d10: 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a  return result;..
3d20: 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20          }....   
3d30: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 2f       ..        /
3d40: 2f 76 61 72 20 65 78 70 72 20 3d 20 74 68 69 73  /var expr = this
3d50: 2e 76 38 64 65 62 75 67 45 76 61 6c 28 65 78 70  .v8debugEval(exp
3d60: 72 43 74 72 6c 29 0d 0a 20 20 20 20 20 20 20 20  rCtrl)..        
3d70: 6c 6f 67 67 65 72 2e 74 72 61 63 65 28 65 78 70  logger.trace(exp
3d80: 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20  r);..        if 
3d90: 28 21 65 78 70 72 2e 76 61 6c 75 65 2e 6d 61 74  (!expr.value.mat
3da0: 63 68 28 2f 5e 5c 73 2a 24 2f 29 29 0d 0a 20 20  ch(/^\s*$/))..  
3db0: 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74            result
3dc0: 20 3d 20 27 27 2b 65 78 70 72 2e 76 61 6c 75 65   = ''+expr.value
3dd0: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 72 65 74  ;....        ret
3de0: 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20  urn result;..   
3df0: 20 20 20 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a 0d       ..    },...
3e00: 0a 20 20 20 20 67 65 74 44 65 62 75 67 67 65 72  .    getDebugger
3e10: 45 78 70 72 3a 66 75 6e 63 74 69 6f 6e 28 29 7b  Expr:function(){
3e20: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  ....        if (
3e30: 77 69 6e 64 6f 77 73 2e 6d 6f 64 61 6c 4d 6f 64  windows.modalMod
3e40: 65 20 21 3d 20 6d 73 4d 6f 64 61 6c 29 0d 0a 20  e != msModal).. 
3e50: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
3e60: 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20  n false;....    
3e70: 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 67       if (!this.g
3e80: 72 69 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20  rid)..          
3e90: 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d    return false;.
3ea0: 0a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72  .....        var
3eb0: 20 72 6f 77 20 3d 20 74 68 69 73 2e 67 72 69 64   row = this.grid
3ec0: 2e 63 75 72 72 65 6e 74 52 6f 77 3b 0d 0a 20 20  .currentRow;..  
3ed0: 20 20 20 20 20 20 69 66 28 21 72 6f 77 29 20 72        if(!row) r
3ee0: 6f 77 20 3d 20 74 68 69 73 2e 67 72 69 64 2e 64  ow = this.grid.d
3ef0: 61 74 61 53 6f 75 72 63 65 2e 72 6f 6f 74 2e 66  ataSource.root.f
3f00: 69 72 73 74 43 68 69 6c 64 3b 0d 0a 20 20 20 20  irstChild;..    
3f10: 20 20 20 20 76 61 72 20 65 78 70 72 65 73 73 69      var expressi
3f20: 6f 6e 76 61 6c 75 65 20 3d 20 72 6f 77 2e 67 65  onvalue = row.ge
3f30: 74 43 65 6c 6c 56 61 6c 75 65 28 31 29 3b 0d 0a  tCellValue(1);..
3f40: 20 20 20 20 20 20 20 20 64 65 62 75 67 67 65 72          debugger
3f50: 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21  ;..        if (!
3f60: 21 74 68 69 73 2e 6c 61 73 74 4d 6f 64 61 6c 46  !this.lastModalF
3f70: 6f 72 6d 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  orm){..         
3f80: 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 20 3d     var control =
3f90: 20 74 68 69 73 2e 6c 61 73 74 4d 6f 64 61 6c 46   this.lastModalF
3fa0: 6f 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 22  orm.getControl("
3fb0: 45 78 70 72 65 73 73 69 6f 6e 22 29 3b 0d 0a 20  Expression");.. 
3fc0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65             var e
3fd0: 78 70 72 65 73 73 69 6f 6e 20 3d 20 63 6f 6e 74  xpression = cont
3fe0: 72 6f 6c 2e 76 61 6c 75 65 3b 0d 0a 20 20 20 20  rol.value;..    
3ff0: 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20      } else {..  
4000: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 78            var ex
4010: 70 72 65 73 73 69 6f 6e 20 3d 20 72 6f 77 2e 67  pression = row.g
4020: 65 74 43 65 6c 6c 56 61 6c 75 65 28 30 29 3b 20  etCellValue(0); 
4030: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
4040: 20 20 20 20 20 7d 0d 0a 0d 0a 0d 0a 0d 0a 20 20       }........  
4050: 20 20 20 20 20 20 72 65 74 75 72 6e 20 7b 0d 0a        return {..
4060: 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 70              "exp
4070: 72 65 73 73 69 6f 6e 22 3a 65 78 70 72 65 73 73  ression":express
4080: 69 6f 6e 2c 20 0d 0a 20 20 20 20 20 20 20 20 20  ion, ..         
4090: 20 20 20 22 65 78 70 72 65 73 73 69 6f 6e 76 61     "expressionva
40a0: 6c 75 65 22 3a 65 78 70 72 65 73 73 69 6f 6e 76  lue":expressionv
40b0: 61 6c 75 65 20 20 20 20 20 20 20 20 20 20 20 0d  alue           .
40c0: 0a 20 20 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20  .        };.... 
40d0: 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 73 65 74     },....    set
40e0: 44 65 62 75 67 67 65 72 4f 6e 69 66 3a 66 75 6e  DebuggerOnif:fun
40f0: 63 74 69 6f 6e 28 65 78 70 2c 20 61 75 74 6f 63  ction(exp, autoc
4100: 6c 6f 73 65 29 7b 0d 0a 20 20 20 20 20 20 20 20  lose){..        
4110: 69 66 20 28 21 65 78 70 29 0d 0a 20 20 20 20 20  if (!exp)..     
4120: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61         return fa
4130: 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20  lse;....        
4140: 69 66 20 28 21 61 75 74 6f 63 6c 6f 73 65 29 20  if (!autoclose) 
4150: 61 75 74 6f 63 6c 6f 73 65 20 3d 20 74 72 75 65  autoclose = true
4160: 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  ;..        this.
4170: 61 75 74 6f 63 6c 6f 73 65 45 78 70 72 65 73 73  autocloseExpress
4180: 69 6f 6e 20 3d 20 61 75 74 6f 63 6c 6f 73 65 3b  ion = autoclose;
4190: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  ....        if (
41a0: 77 69 6e 64 6f 77 73 2e 6d 6f 64 61 6c 4d 6f 64  windows.modalMod
41b0: 65 20 3d 3d 20 6d 73 4d 6f 64 61 6c 20 26 26 20  e == msModal && 
41c0: 21 21 74 68 69 73 2e 6c 61 73 74 4d 6f 64 61 6c  !!this.lastModal
41d0: 46 6f 72 6d 29 7b 0d 0a 20 20 20 20 20 20 20 20  Form){..        
41e0: 20 20 20 20 74 68 69 73 2e 6c 61 73 74 4d 6f 64      this.lastMod
41f0: 61 6c 46 6f 72 6d 2e 73 65 6e 64 45 76 65 6e 74  alForm.sendEvent
4200: 28 74 68 69 73 2e 6c 61 73 74 4d 6f 64 61 6c 46  (this.lastModalF
4210: 6f 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 27  orm.getControl('
4220: 42 75 74 74 6f 6e 43 6c 6f 73 65 27 29 2e 69 64  ButtonClose').id
4230: 2c 20 30 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d  , 0);..        }
4240: 0d 0a 20 20 20 20 20 20 20 20 77 6e 64 20 3d 6e  ..        wnd =n
4250: 65 77 20 54 65 78 74 57 69 6e 64 6f 77 28 29 3b  ew TextWindow();
4260: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 77  ..        if (!w
4270: 6e 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  nd)..           
4280: 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a   return false;..
4290: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
42a0: 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 73 74    var state = st
42b0: 64 63 6f 6d 6d 61 6e 64 73 2e 43 44 65 62 75 67  dcommands.CDebug
42c0: 2e 42 72 6b 70 74 43 6f 6e 64 2e 67 65 74 53 74  .BrkptCond.getSt
42d0: 61 74 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  ate();..        
42e0: 69 66 20 28 73 74 61 74 65 20 26 26 20 73 74 61  if (state && sta
42f0: 74 65 2e 65 6e 61 62 6c 65 64 29 7b 0d 0a 20 20  te.enabled){..  
4300: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 76            this.v
4310: 61 6c 75 65 42 72 6b 70 74 43 6f 6e 64 20 3d 20  alueBrkptCond = 
4320: 65 78 70 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  exp;..          
4330: 20 20 76 61 72 20 65 73 20 3d 20 74 68 69 73 0d    var es = this.
4340: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  ...            s
4350: 74 64 6c 69 62 2e 73 65 74 54 69 6d 65 6f 75 74  tdlib.setTimeout
4360: 28 66 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20  (function(){..  
4370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 76                ev
4380: 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 77 69 6e  ents.connect(win
4390: 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c  dows, "onDoModal
43a0: 22 2c 20 65 73 2c 20 22 68 6f 6f 6b 42 72 6b 70  ", es, "hookBrkp
43b0: 74 43 6f 6e 64 31 22 29 3b 20 20 20 20 20 20 20  tCond1");       
43c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
43d0: 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 43 44    stdcommands.CD
43e0: 65 62 75 67 2e 42 72 6b 70 74 43 6f 6e 64 2e 73  ebug.BrkptCond.s
43f0: 65 6e 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  end();..        
4400: 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e 64          events.d
4410: 69 73 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77  isconnect(window
4420: 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20  s, "onDoModal", 
4430: 65 73 2c 20 22 68 6f 6f 6b 42 72 6b 70 74 43 6f  es, "hookBrkptCo
4440: 6e 64 31 22 29 3b 20 20 20 20 0d 0a 20 20 20 20  nd1");    ..    
4450: 20 20 20 20 20 20 20 20 7d 2c 20 31 30 30 30 29          }, 1000)
4460: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d  ;..            .
4470: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
4480: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 0d 0a      ..        ..
4490: 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a  ..    },..    ..
44a0: 20 20 20 20 68 6f 6f 6b 42 72 6b 70 74 43 6f 6e      hookBrkptCon
44b0: 64 31 3a 66 75 6e 63 74 69 6f 6e 28 64 6c 67 49  d1:function(dlgI
44c0: 6e 66 6f 29 7b 0d 0a 20 20 20 20 20 20 20 20 74  nfo){..        t
44d0: 72 79 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ry{..           
44e0: 20 69 66 28 64 6c 67 49 6e 66 6f 2e 73 74 61 67   if(dlgInfo.stag
44f0: 65 20 3d 3d 20 62 65 66 6f 72 65 44 6f 4d 6f 64  e == beforeDoMod
4500: 61 6c 20 26 26 20 64 6c 67 49 6e 66 6f 2e 66 6f  al && dlgInfo.fo
4510: 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 30 29  rm.getControl(0)
4520: 2e 6e 61 6d 65 20 3d 3d 20 22 43 6f 6e 64 69 74  .name == "Condit
4530: 69 6f 6e 22 29 0d 0a 20 20 20 20 20 20 20 20 20  ion")..         
4540: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
4550: 20 20 20 20 20 20 64 6c 67 49 6e 66 6f 2e 66 6f        dlgInfo.fo
4560: 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 22 43  rm.getControl("C
4570: 6f 6e 64 69 74 69 6f 6e 22 29 2e 76 61 6c 75 65  ondition").value
4580: 20 3d 20 74 68 69 73 2e 76 61 6c 75 65 42 72 6b   = this.valueBrk
4590: 70 74 43 6f 6e 64 3b 0d 0a 0d 0a 20 20 20 20 20  ptCond;....     
45a0: 20 20 20 20 20 20 20 20 20 20 20 64 6c 67 49 6e             dlgIn
45b0: 66 6f 2e 63 61 6e 63 65 6c 20 3d 20 21 74 68 69  fo.cancel = !thi
45c0: 73 2e 61 75 74 6f 63 6c 6f 73 65 45 78 70 72 65  s.autocloseExpre
45d0: 73 73 69 6f 6e 3f 66 61 6c 73 65 3a 74 72 75 65  ssion?false:true
45e0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
45f0: 20 20 20 64 6c 67 49 6e 66 6f 2e 72 65 73 75 6c     dlgInfo.resul
4600: 74 20 3d 20 6d 62 61 4f 6b 3b 0d 0a 20 20 20 20  t = mbaOk;..    
4610: 20 20 20 20 20 20 20 20 7d 20 0d 0a 20 20 20 20          } ..    
4620: 20 20 20 20 7d 20 63 61 74 63 68 28 65 29 7b 7d      } catch(e){}
4630: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
4640: 7d 2c 0d 0a 0d 0a 20 20 20 20 6f 6e 45 76 61 6c  },....    onEval
4650: 45 78 70 72 3a 66 75 6e 63 74 69 6f 6e 28 63 6d  Expr:function(cm
4660: 64 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66  d) {..        if
4670: 28 63 6d 64 2e 69 73 42 65 66 6f 72 65 29 20 20  (cmd.isBefore)  
4680: 20 20 2f 2f 20 d0 92 d1 8b d0 b7 d1 8b d0 b2 d0    // ...........
4690: b0 d0 b5 d1 82 d1 81 d1 8f 20 d0 b4 d0 be 20 d0  ......... .... .
46a0: be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba d0  ................
46b0: b8 20 d0 ba d0 be d0 bc d0 b0 d0 bd d0 b4 d1 8b  . ..............
46c0: 20 31 d0 a1 0d 0a 20 20 20 20 20 20 20 20 20 20   1....          
46d0: 20 20 65 76 65 6e 74 73 2e 63 6f 6e 6e 65 63 74    events.connect
46e0: 28 77 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d  (windows, "onDoM
46f0: 6f 64 61 6c 22 2c 20 74 68 69 73 2c 20 22 6f 6e  odal", this, "on
4700: 44 6f 4d 6f 64 61 6c 22 29 0d 0a 20 20 20 20 20  DoModal")..     
4710: 20 20 20 65 6c 73 65 20 20 20 20 20 20 20 20 20     else         
4720: 20 20 20 20 20 20 20 2f 2f 20 d0 b2 d1 8b d0 b7         // ......
4730: d1 8b d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d0  .............. .
4740: bf d0 be d1 81 d0 bb d0 b5 20 d0 be d0 b1 d1 80  ......... ......
4750: d0 b0 d0 b1 d0 be d1 82 d0 ba d0 b8 20 d0 ba d0  ............ ...
4760: be d0 bc d0 b0 d0 bd d0 b4 d1 8b 20 31 d0 a1 0d  ........... 1...
4770: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20  .        {..    
4780: 20 20 20 20 20 20 20 20 74 72 79 7b 0d 0a 20 20          try{..  
4790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 76                ev
47a0: 65 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63 74 28  ents.disconnect(
47b0: 77 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f  windows, "onDoMo
47c0: 64 61 6c 22 2c 20 74 68 69 73 2c 20 22 6f 6e 44  dal", this, "onD
47d0: 6f 4d 6f 64 61 6c 22 29 3b 0d 0a 20 20 20 20 20  oModal");..     
47e0: 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 28 65         } catch(e
47f0: 29 7b 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  ){};..          
4800: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
4810: 74 68 69 73 2e 67 72 69 64 20 3d 20 6e 75 6c 6c  this.grid = null
4820: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
4830: 69 73 2e 6c 61 73 74 4d 6f 64 61 6c 46 6f 72 6d  is.lastModalForm
4840: 20 3d 20 6e 75 6c 6c 3b 20 0d 0a 20 20 20 20 20   = null; ..     
4850: 20 20 20 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a     }..    },....
4860: 20 20 20 20 6f 6e 44 6f 4d 6f 64 61 6c 3a 66 75      onDoModal:fu
4870: 6e 63 74 69 6f 6e 20 28 64 6c 67 49 6e 66 6f 29  nction (dlgInfo)
4880: 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 72 79 7b   {..        try{
4890: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
48a0: 28 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20 3d  (dlgInfo.stage =
48b0: 3d 20 61 66 74 65 72 49 6e 69 74 69 61 6c 29 7b  = afterInitial){
48c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
48d0: 20 20 69 66 20 28 64 6c 67 49 6e 66 6f 2e 66 6f    if (dlgInfo.fo
48e0: 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c 28 30 29  rm.getControl(0)
48f0: 2e 6e 61 6d 65 20 3d 3d 20 22 45 78 70 72 65 73  .name == "Expres
4900: 73 69 6f 6e 22 29 7b 0d 0a 20 20 20 20 20 20 20  sion"){..       
4910: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69               thi
4920: 73 2e 67 72 69 64 20 3d 20 64 6c 67 49 6e 66 6f  s.grid = dlgInfo
4930: 2e 66 6f 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c  .form.getControl
4940: 28 27 52 65 73 75 6c 74 47 72 69 64 27 29 2e 65  ('ResultGrid').e
4950: 78 74 49 6e 74 65 72 66 61 63 65 3b 0d 0a 20 20  xtInterface;..  
4960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4970: 20 20 74 68 69 73 2e 6c 61 73 74 4d 6f 64 61 6c    this.lastModal
4980: 46 6f 72 6d 20 3d 20 64 6c 67 49 6e 66 6f 2e 66  Form = dlgInfo.f
4990: 6f 72 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  orm;..          
49a0: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
49b0: 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20   true;..        
49c0: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b          } else {
49d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
49e0: 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20        return;.. 
49f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
4a00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4a10: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
4a20: 7d 0d 0a 20 20 20 20 20 20 20 20 7d 63 61 74 63  }..        }catc
4a30: 68 28 65 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  h(e){..         
4a40: 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 65 29 0d     //Message(e).
4a50: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
4a60: 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65      return false
4a70: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  ;..    },....   
4a80: 20 0d 0a 20 20 20 20 62 65 66 6f 72 65 45 78 69   ..    beforeExi
4a90: 74 41 70 70 20 3a 20 66 75 6e 63 74 69 6f 6e 20  tApp : function 
4aa0: 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f  () {..        //
4ab0: 74 68 69 73 2e 77 61 74 63 68 65 72 2e 73 74 6f  this.watcher.sto
4ac0: 70 57 61 74 63 68 28 29 3b 0d 0a 20 20 20 20 7d  pWatch();..    }
4ad0: 2c 20 0d 0a 20 20 20 20 0d 0a 20 20 20 20 42 75  , ..    ..    Bu
4ae0: 74 74 6f 6e 50 52 5f 43 6c 69 63 6b 20 3a 20 66  ttonPR_Click : f
4af0: 75 6e 63 74 69 6f 6e 20 28 42 75 74 74 6f 6e 29  unction (Button)
4b00: 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 70  {..        var p
4b10: 31 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f  1 = this.form.Co
4b20: 6e 74 72 6f 6c 73 2e 54 65 78 74 44 6f 63 75 6d  ntrols.TextDocum
4b30: 65 6e 74 46 69 65 6c 64 50 31 2e 47 65 74 54 65  entFieldP1.GetTe
4b40: 78 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 76  xt();..        v
4b50: 61 72 20 70 32 20 3d 20 74 68 69 73 2e 66 6f 72  ar p2 = this.for
4b60: 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 54 65 78 74 44  m.Controls.TextD
4b70: 6f 63 75 6d 65 6e 74 46 69 65 6c 64 50 32 2e 47  ocumentFieldP2.G
4b80: 65 74 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 20  etText();..     
4b90: 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28     logger.debug(
4ba0: 27 42 75 74 74 6f 6e 50 52 5f 43 6c 69 63 6b 27  'ButtonPR_Click'
4bb0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67  );..        logg
4bc0: 65 72 2e 64 65 62 75 67 28 27 70 31 3a 27 2b 70  er.debug('p1:'+p
4bd0: 31 20 2b 20 27 5c 6e 20 70 32 3a 27 2b 70 32 29  1 + '\n p2:'+p2)
4be0: 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c  ;..        resul
4bf0: 74 20 3d 20 74 68 69 73 2e 70 72 28 70 31 2c 20  t = this.pr(p1, 
4c00: 70 32 29 3b 0d 0a 20 20 20 20 20 20 20 20 4d 65  p2);..        Me
4c10: 73 73 61 67 65 28 27 27 2b 72 65 73 75 6c 74 29  ssage(''+result)
4c20: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d  ;..    },..    .
4c30: 0a 20 20 20 20 42 75 74 74 6f 6e 44 75 43 61 6c  .    ButtonDuCal
4c40: 63 75 6c 61 74 65 5f 43 6c 69 63 6b 20 3a 20 66  culate_Click : f
4c50: 75 6e 63 74 69 6f 6e 28 42 75 74 74 6f 6e 29 7b  unction(Button){
4c60: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 65  ..        var te
4c70: 78 74 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 43  xt = this.form.C
4c80: 6f 6e 74 72 6f 6c 73 2e 54 65 78 74 44 6f 63 75  ontrols.TextDocu
4c90: 6d 65 6e 74 46 69 65 6c 64 50 72 6f 67 54 65 78  mentFieldProgTex
4ca0: 74 2e 47 65 74 54 65 78 74 28 29 3b 0d 0a 20 20  t.GetText();..  
4cb0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
4cc0: 76 61 72 20 70 31 20 3d 20 74 68 69 73 2e 66 6f  var p1 = this.fo
4cd0: 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 54 65 78 74  rm.Controls.Text
4ce0: 44 6f 63 75 6d 65 6e 74 46 69 65 6c 64 44 75 50  DocumentFieldDuP
4cf0: 31 2e 47 65 74 54 65 78 74 28 29 3b 0d 0a 20 20  1.GetText();..  
4d00: 20 20 20 20 20 20 76 61 72 20 70 32 20 3d 20 74        var p2 = t
4d10: 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c  his.form.Control
4d20: 73 2e 54 65 78 74 44 6f 63 75 6d 65 6e 74 46 69  s.TextDocumentFi
4d30: 65 6c 64 44 75 50 32 2e 47 65 74 54 65 78 74 28  eldDuP2.GetText(
4d40: 29 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20  );..        var 
4d50: 70 33 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 43  p3 = this.form.C
4d60: 6f 6e 74 72 6f 6c 73 2e 54 65 78 74 44 6f 63 75  ontrols.TextDocu
4d70: 6d 65 6e 74 46 69 65 6c 64 44 75 50 33 2e 47 65  mentFieldDuP3.Ge
4d80: 74 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 20 20  tText();..      
4d90: 20 20 76 61 72 20 70 34 20 3d 20 74 68 69 73 2e    var p4 = this.
4da0: 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 54 65  form.Controls.Te
4db0: 78 74 44 6f 63 75 6d 65 6e 74 46 69 65 6c 64 44  xtDocumentFieldD
4dc0: 75 50 34 2e 47 65 74 54 65 78 74 28 29 3b 0d 0a  uP4.GetText();..
4dd0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
4de0: 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27    logger.debug('
4df0: 42 75 74 74 6f 6e 44 75 43 61 6c 63 75 6c 61 74  ButtonDuCalculat
4e00: 65 5f 43 6c 69 63 6b 27 29 3b 0d 0a 20 20 20 20  e_Click');..    
4e10: 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67      logger.debug
4e20: 28 27 74 65 78 74 3a 27 2b 74 65 78 74 29 3b 0d  ('text:'+text);.
4e30: 0a 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e  .        logger.
4e40: 64 65 62 75 67 28 27 70 31 3a 27 2b 70 31 20 2b  debug('p1:'+p1 +
4e50: 27 20 70 32 3a 27 2b 70 32 2b 27 20 70 33 3a 27  ' p2:'+p2+' p3:'
4e60: 2b 70 33 2b 27 20 70 34 3a 27 2b 70 34 29 3b 0d  +p3+' p4:'+p4);.
4e70: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
4e80: 20 20 20 72 65 73 75 6c 74 20 3d 20 74 68 69 73     result = this
4e90: 2e 64 75 28 74 65 78 74 2c 20 70 31 2c 20 70 32  .du(text, p1, p2
4ea0: 2c 20 70 33 2c 20 70 34 29 3b 0d 0a 20 20 20 20  , p3, p4);..    
4eb0: 20 20 20 20 69 66 20 28 72 65 73 75 6c 74 2e 6c      if (result.l
4ec0: 65 6e 67 74 68 3e 30 29 7b 0d 0a 20 20 20 20 20  ength>0){..     
4ed0: 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 27         Message('
4ee0: 27 2b 72 65 73 75 6c 74 29 3b 0d 0a 20 20 20 20  '+result);..    
4ef0: 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 7d 2c 0d      }....    },.
4f00: 0a 20 20 20 20 0d 0a 20 20 20 20 42 75 74 74 6f  .    ..    Butto
4f10: 6e 50 6f 70 5f 43 6c 69 63 6b 3a 66 75 6e 63 74  nPop_Click:funct
4f20: 69 6f 6e 28 42 75 74 74 6f 6e 29 7b 0d 0a 20 20  ion(Button){..  
4f30: 20 20 20 20 20 20 76 61 72 20 74 65 78 74 20 3d        var text =
4f40: 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72   this.form.Contr
4f50: 6f 6c 73 2e 54 65 78 74 44 6f 63 75 6d 65 6e 74  ols.TextDocument
4f60: 46 69 65 6c 64 4f 70 54 65 78 74 2e 47 65 74 54  FieldOpText.GetT
4f70: 65 78 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  ext();..        
4f80: 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f  this.form.Contro
4f90: 6c 73 2e 54 65 78 74 44 6f 63 75 6d 65 6e 74 46  ls.TextDocumentF
4fa0: 69 65 6c 64 4f 70 54 65 78 74 43 61 6c 63 75 6c  ieldOpTextCalcul
4fb0: 61 74 65 2e 53 65 74 54 65 78 74 28 74 68 69 73  ate.SetText(this
4fc0: 2e 70 6f 70 28 74 65 78 74 2c 20 74 72 75 65 29  .pop(text, true)
4fd0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  );..        ..  
4fe0: 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20    },..    ..    
4ff0: 42 75 74 74 6f 6e 4f 70 43 61 6c 63 75 6c 61 74  ButtonOpCalculat
5000: 65 5f 43 6c 69 63 6b 3a 66 75 6e 63 74 69 6f 6e  e_Click:function
5010: 28 42 75 74 74 6f 6e 29 7b 0d 0a 20 20 20 20 20  (Button){..     
5020: 20 20 20 76 61 72 20 74 65 78 74 20 3d 20 74 68     var text = th
5030: 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73  is.form.Controls
5040: 2e 54 65 78 74 44 6f 63 75 6d 65 6e 74 46 69 65  .TextDocumentFie
5050: 6c 64 4f 70 54 65 78 74 43 61 6c 63 75 6c 61 74  ldOpTextCalculat
5060: 65 2e 47 65 74 54 65 78 74 28 29 3b 0d 0a 20 20  e.GetText();..  
5070: 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74        result = t
5080: 68 69 73 2e 6f 70 65 72 61 74 65 28 74 65 78 74  his.operate(text
5090: 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20  );..    },..    
50a0: 0d 0a 20 20 20 20 63 68 61 6e 67 65 53 65 74 74  ..    changeSett
50b0: 69 6e 67 73 20 3a 20 66 75 6e 63 74 69 6f 6e 28  ings : function(
50c0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  ){..        this
50d0: 2e 73 68 6f 77 28 66 61 6c 73 65 29 3b 0d 0a 20  .show(false);.. 
50e0: 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20     },..    ..   
50f0: 20 73 61 76 65 53 65 74 74 69 6e 67 73 5f 43 6c   saveSettings_Cl
5100: 69 63 6b 20 3a 20 66 75 6e 63 74 69 6f 6e 28 42  ick : function(B
5110: 75 74 74 6f 6e 29 7b 0d 0a 20 20 20 20 20 20 20  utton){..       
5120: 20 74 68 69 73 2e 73 61 76 65 53 65 74 74 69 6e   this.saveSettin
5130: 67 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 74  gs();..        t
5140: 68 69 73 2e 6c 6f 61 64 53 65 74 74 69 6e 67 73  his.loadSettings
5150: 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20  ();..    },..   
5160: 20 0d 0a 20 20 20 20 43 61 6e 63 65 6c 5f 43 6c   ..    Cancel_Cl
5170: 69 63 6b 20 3a 20 66 75 6e 63 74 69 6f 6e 28 42  ick : function(B
5180: 75 74 74 6f 6e 29 7b 0d 0a 20 20 20 20 20 20 20  utton){..       
5190: 20 74 68 69 73 2e 63 6c 6f 73 65 28 29 3b 0d 0a   this.close();..
51a0: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
51b0: 20 20 70 61 74 68 54 6f 45 70 66 5f 53 74 61 72    pathToEpf_Star
51c0: 74 43 68 6f 69 63 65 3a 66 75 6e 63 74 69 6f 6e  tChoice:function
51d0: 28 43 6f 6e 74 72 6f 6c 2c 20 44 65 66 61 75 6c  (Control, Defaul
51e0: 74 48 61 6e 64 6c 65 72 29 7b 0d 0a 20 20 20 20  tHandler){..    
51f0: 20 20 20 20 d0 94 d0 b8 d0 b0 d0 bb d0 be d0 b3      ............
5200: d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d0 b8 d1 8f  ................
5210: d0 a4 d0 b0 d0 b9 d0 bb d0 b0 3d 76 38 4e 65 77  ..........=v8New
5220: 28 22 d0 94 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 92  ("..............
5230: d1 8b d0 b1 d0 be d1 80 d0 b0 d0 a4 d0 b0 d0 b9  ................
5240: d0 bb d0 b0 22 2c 20 d0 a0 d0 b5 d0 b6 d0 b8 d0  ....", .........
5250: bc d0 94 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 b0 d0  ................
5260: 92 d1 8b d0 b1 d0 be d1 80 d0 b0 d0 a4 d0 b0 d0  ................
5270: b9 d0 bb d0 b0 2e d0 9e d1 82 d0 ba d1 80 d1 8b  ................
5280: d1 82 d0 b8 d0 b5 29 0d 0a 20 20 20 20 20 20 20  ......)..       
5290: 20 d0 94 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 9e d1   ...............
52a0: 82 d0 ba d1 80 d1 8b d1 82 d0 b8 d1 8f d0 a4 d0  ................
52b0: b0 d0 b9 d0 bb d0 b0 2e d0 9f d0 be d0 bb d0 bd  ................
52c0: d0 be d0 b5 d0 98 d0 bc d1 8f d0 a4 d0 b0 d0 b9  ................
52d0: d0 bb d0 b0 20 3d 20 22 22 2b 43 6f 6e 74 72 6f  .... = ""+Contro
52e0: 6c 2e 76 61 6c 2e d0 97 d0 bd d0 b0 d1 87 d0 b5  l.val...........
52f0: d0 bd d0 b8 d0 b5 3b 0d 0a 20 20 20 20 20 20 20  ......;..       
5300: 20 d0 94 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 9e d1   ...............
5310: 82 d0 ba d1 80 d1 8b d1 82 d0 b8 d1 8f d0 a4 d0  ................
5320: b0 d0 b9 d0 bb d0 b0 2e d0 97 d0 b0 d0 b3 d0 be  ................
5330: d0 bb d0 be d0 b2 d0 be d0 ba 20 3d 20 22 d0 92  .......... = "..
5340: d1 8b d0 b1 d0 b5 d1 80 d0 b8 d1 82 d0 b5 20 d0  .............. .
5350: b2 d0 bd d0 b5 d1 88 d0 bd d1 8e d1 8e 20 d0 be  ............. ..
5360: d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba d1 83  ................
5370: 22 0d 0a 20 20 20 20 20 20 20 20 69 66 28 d0 94  "..        if(..
5380: d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 9e d1 82 d0 ba  ................
5390: d1 80 d1 8b d1 82 d0 b8 d1 8f d0 a4 d0 b0 d0 b9  ................
53a0: d0 bb d0 b0 2e d0 92 d1 8b d0 b1 d1 80 d0 b0 d1  ................
53b0: 82 d1 8c 28 29 3d 3d 66 61 6c 73 65 29 20 7b 0d  ...()==false) {.
53c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20  .            .. 
53d0: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d         } else {.
53e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e  .            Con
53f0: 74 72 6f 6c 2e 76 61 6c 2e d0 97 d0 bd d0 b0 d1  trol.val........
5400: 87 d0 b5 d0 bd d0 b8 d0 b5 20 3d 20 d0 94 d0 b8  ......... = ....
5410: d0 b0 d0 bb d0 be d0 b3 d0 9e d1 82 d0 ba d1 80  ................
5420: d1 8b d1 82 d0 b8 d1 8f d0 a4 d0 b0 d0 b9 d0 bb  ................
5430: d0 b0 2e d0 9f d0 be d0 bb d0 bd d0 be d0 b5 d0  ................
5440: 98 d0 bc d1 8f d0 a4 d0 b0 d0 b9 d0 bb d0 b0 3b  ...............;
5450: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
5460: 20 7d 20 0d 0a 0d 0a 7d 29 0d 0a 0d 0a 0d 0a 0d   } ....}).......
5470: 0a 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .....///////////
5480: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
5490: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
54a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
54b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
54c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f  /////////////../
54d0: 2f 2f 2f 7b 20 54 65 78 74 57 69 6e 64 6f 77 73  ///{ TextWindows
54e0: 57 61 74 63 68 65 72 20 2d 20 d0 be d1 82 d1 81  Watcher - ......
54f0: d0 bb d0 b5 d0 b6 d0 b8 d0 b2 d0 b0 d0 b5 d1 82  ................
5500: 20 d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0 b8 d0 b7 d0   ...............
5510: b0 d1 86 d0 b8 d1 8e 20 d1 82 d0 b5 d0 ba d1 81  ....... ........
5520: d1 82 d0 be d0 b2 d1 8b d1 85 20 d0 be d0 ba d0  .......... .....
5530: be d0 bd 20 d0 b8 20 d0 b7 d0 b0 d0 bf d0 be d0  ... .. .........
5540: bc d0 b8 d0 bd d0 b0 d0 b5 d1 82 20 d0 bf d0 be  ........... ....
5550: d1 81 d0 bb d0 b5 d0 b4 d0 bd d0 b5 d0 b5 2e 0d  ................
5560: 0a 2f 2f 2f 2f 0d 0a 0d 0a 54 65 78 74 57 69 6e  .////....TextWin
5570: 64 6f 77 73 57 61 74 63 68 65 72 20 3d 20 73 74  dowsWatcher = st
5580: 64 6c 69 62 2e 43 6c 61 73 73 2e 65 78 74 65 6e  dlib.Class.exten
5590: 64 28 7b 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73 74  d({....    const
55a0: 72 75 63 74 20 3a 20 66 75 6e 63 74 69 6f 6e 28  ruct : function(
55b0: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69  ) {..        thi
55c0: 73 2e 74 69 6d 65 72 49 64 20 3d 20 30 3b 0d 0a  s.timerId = 0;..
55d0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 6c 61 73          this.las
55e0: 74 41 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f  tActiveTextWindo
55f0: 77 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20  w = null;..     
5600: 20 20 20 74 68 69 73 2e 73 74 61 72 74 57 61 74     this.startWat
5610: 63 68 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d  ch();..    },...
5620: 0a 20 20 20 20 67 65 74 41 63 74 69 76 65 54 65  .    getActiveTe
5630: 78 74 57 69 6e 64 6f 77 20 3a 20 66 75 6e 63 74  xtWindow : funct
5640: 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20 20  ion () {..      
5650: 20 20 69 66 20 28 74 68 69 73 2e 6c 61 73 74 41    if (this.lastA
5660: 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f 77 20  ctiveTextWindow 
5670: 26 26 20 74 68 69 73 2e 6c 61 73 74 41 63 74 69  && this.lastActi
5680: 76 65 54 65 78 74 57 69 6e 64 6f 77 2e 49 73 41  veTextWindow.IsA
5690: 63 74 69 76 65 28 29 29 0d 0a 20 20 20 20 20 20  ctive())..      
56a0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 68 69        return thi
56b0: 73 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78 74  s.lastActiveText
56c0: 57 69 6e 64 6f 77 3b 0d 0a 20 20 20 20 20 20 20  Window;..       
56d0: 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20   return null;.. 
56e0: 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 73 74 61     },....    sta
56f0: 72 74 57 61 74 63 68 20 3a 20 66 75 6e 63 74 69  rtWatch : functi
5700: 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20 20 20  on () {..       
5710: 20 69 66 20 28 74 68 69 73 2e 74 69 6d 65 72 49   if (this.timerI
5720: 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  d)..            
5730: 74 68 69 73 2e 73 74 6f 70 57 61 74 63 68 28 29  this.stopWatch()
5740: 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  ;..        this.
5750: 74 69 6d 65 72 49 64 20 3d 20 63 72 65 61 74 65  timerId = create
5760: 54 69 6d 65 72 28 35 30 30 2c 20 74 68 69 73 2c  Timer(500, this,
5770: 20 27 6f 6e 54 69 6d 65 72 27 29 3b 0d 0a 20 20   'onTimer');..  
5780: 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 73 74 6f 70    },....    stop
5790: 57 61 74 63 68 20 3a 20 66 75 6e 63 74 69 6f 6e  Watch : function
57a0: 20 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 69   () {..        i
57b0: 66 20 28 21 74 68 69 73 2e 74 69 6d 65 72 49 64  f (!this.timerId
57c0: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  )..            r
57d0: 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20  eturn;..        
57e0: 6b 69 6c 6c 54 69 6d 65 72 28 74 68 69 73 2e 74  killTimer(this.t
57f0: 69 6d 65 72 49 64 29 3b 0d 0a 20 20 20 20 20 20  imerId);..      
5800: 20 20 74 68 69 73 2e 74 69 6d 65 72 49 64 20 3d    this.timerId =
5810: 20 30 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20   0;..    },.... 
5820: 20 20 20 6f 6e 54 69 6d 65 72 20 3a 20 66 75 6e     onTimer : fun
5830: 63 74 69 6f 6e 20 28 74 69 6d 65 72 49 64 29 20  ction (timerId) 
5840: 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 77  {..        var w
5850: 6e 64 20 3d 20 47 65 74 54 65 78 74 57 69 6e 64  nd = GetTextWind
5860: 6f 77 28 29 3b 20 20 20 20 0d 0a 20 20 20 20 20  ow();    ..     
5870: 20 20 20 69 66 20 28 77 6e 64 29 0d 0a 20 20 20     if (wnd)..   
5880: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 6c 61           this.la
5890: 73 74 41 63 74 69 76 65 54 65 78 74 57 69 6e 64  stActiveTextWind
58a0: 6f 77 20 3d 20 77 6e 64 3b 0d 0a 20 20 20 20 20  ow = wnd;..     
58b0: 20 20 20 65 6c 73 65 20 69 66 20 28 74 68 69 73     else if (this
58c0: 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78 74 57  .lastActiveTextW
58d0: 69 6e 64 6f 77 20 26 26 20 21 74 68 69 73 2e 6c  indow && !this.l
58e0: 61 73 74 41 63 74 69 76 65 54 65 78 74 57 69 6e  astActiveTextWin
58f0: 64 6f 77 2e 49 73 41 63 74 69 76 65 28 29 29 0d  dow.IsActive()).
5900: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69  .            thi
5910: 73 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78 74  s.lastActiveText
5920: 57 69 6e 64 6f 77 20 3d 20 6e 75 6c 6c 3b 0d 0a  Window = null;..
5930: 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 7d 29 3b      }..    ..});
5940: 20 2f 2f 20 65 6e 64 20 6f 66 20 54 65 78 74 57   // end of TextW
5950: 69 6e 64 6f 77 73 57 61 74 63 68 65 72 20 63 6c  indowsWatcher cl
5960: 61 73 73 0d 0a 0d 0a 2f 2f 7d 20 54 65 78 74 57  ass....//} TextW
5970: 69 6e 64 6f 77 73 57 61 74 63 68 65 72 20 0d 0a  indowsWatcher ..
5980: 0d 0a 66 75 6e 63 74 69 6f 6e 20 66 69 6c 65 45  ..function fileE
5990: 78 69 73 74 73 28 70 61 74 68 29 20 7b 0d 0a 0d  xists(path) {...
59a0: 0a 20 20 20 20 69 66 20 28 70 61 74 68 29 20 0d  .    if (path) .
59b0: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20  .    {..        
59c0: 76 61 72 20 66 20 3d 20 76 38 4e 65 77 28 27 46  var f = v8New('F
59d0: 69 6c 65 27 2c 20 70 61 74 68 29 3b 0d 0a 20 20  ile', path);..  
59e0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 2e 49        return f.I
59f0: 73 46 69 6c 65 28 29 20 26 26 20 66 2e 45 78 69  sFile() && f.Exi
5a00: 73 74 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20  st();..    }..  
5a10: 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 66    ..    return f
5a20: 61 6c 73 65 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63  alse;..}....func
5a30: 74 69 6f 6e 20 70 61 74 68 45 78 69 73 74 73 28  tion pathExists(
5a40: 70 61 74 68 29 20 7b 0d 0a 0d 0a 20 20 20 20 69  path) {....    i
5a50: 66 20 28 70 61 74 68 29 20 0d 0a 20 20 20 20 7b  f (path) ..    {
5a60: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 66 20  ..        var f 
5a70: 3d 20 76 38 4e 65 77 28 27 46 69 6c 65 27 2c 20  = v8New('File', 
5a80: 70 61 74 68 29 3b 0d 0a 20 20 20 20 20 20 20 20  path);..        
5a90: 72 65 74 75 72 6e 20 66 2e 45 78 69 73 74 28 29  return f.Exist()
5aa0: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a  ;..    }..    ..
5ab0: 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65      return false
5ac0: 3b 0d 0a 7d 0d 0a 0d 0a 0d 0a 0d 0a 66 75 6e 63  ;..}........func
5ad0: 74 69 6f 6e 20 67 65 74 41 62 73 6f 6c 75 74 65  tion getAbsolute
5ae0: 50 61 74 68 28 70 61 74 68 29 20 7b 0d 0a 0d 0a  Path(path) {....
5af0: 20 20 20 20 2f 2f 20 d0 9f d1 83 d1 82 d1 8c 20      // ........ 
5b00: d0 be d1 82 d0 bd d0 be d1 81 d0 b8 d1 82 d0 b5  ................
5b10: d0 bb d1 8c d0 bd d1 8b d0 b9 3f 0d 0a 20 20 20  ..........?..   
5b20: 20 69 66 20 28 70 61 74 68 2e 6d 61 74 63 68 28   if (path.match(
5b30: 2f 5e 5c 2e 7b 31 2c 32 7d 5b 5c 2f 5c 5c 5d 2f  /^\.{1,2}[\/\\]/
5b40: 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20  ))..    {..     
5b50: 20 20 20 2f 2f 20 d0 9e d1 82 d0 bd d0 be d1 81     // ..........
5b60: d0 b8 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b5  ................
5b70: 20 d0 bf d1 83 d1 82 d0 b8 20 d0 b4 d0 be d0 bb   ........ ......
5b80: d0 b6 d0 bd d1 8b 20 d0 b7 d0 b0 d0 b4 d0 b0 d0  ...... .........
5b90: b2 d0 b0 d1 82 d1 8c d1 81 d1 8f 20 d0 be d1 82  ........... ....
5ba0: d0 bd d0 be d1 81 d0 b8 d1 82 d0 b5 d0 bb d1 8c  ................
5bb0: d0 bd d0 be 20 d0 b3 d0 bb d0 b0 d0 b2 d0 bd d0  .... ...........
5bc0: be d0 b3 d0 be 20 d0 ba d0 b0 d1 82 d0 b0 d0 bb  ..... ..........
5bd0: d0 be d0 b3 d0 b0 20 d0 a1 d0 bd d0 b5 d0 b3 d0  ...... .........
5be0: be d0 bf d0 b0 d1 82 d0 b0 2e 0d 0a 20 20 20 20  ............    
5bf0: 20 20 20 20 76 61 72 20 6d 61 69 6e 46 6f 6c 64      var mainFold
5c00: 65 72 20 3d 20 70 72 6f 66 69 6c 65 52 6f 6f 74  er = profileRoot
5c10: 2e 67 65 74 56 61 6c 75 65 28 22 53 6e 65 67 6f  .getValue("Snego
5c20: 70 61 74 2f 4d 61 69 6e 46 6f 6c 64 65 72 22 29  pat/MainFolder")
5c30: 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72  ;..        retur
5c40: 6e 20 6d 61 69 6e 46 6f 6c 64 65 72 20 2b 20 70  n mainFolder + p
5c50: 61 74 68 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20  ath;..    }..   
5c60: 20 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 70 61   ..    return pa
5c70: 74 68 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69  th;..}....functi
5c80: 6f 6e 20 47 65 74 44 65 62 75 67 49 6e 73 74 72  on GetDebugInstr
5c90: 75 6d 65 6e 74 73 28 29 20 7b 0d 0a 20 20 20 20  uments() {..    
5ca0: 69 66 20 28 21 44 65 62 75 67 49 6e 73 74 72 75  if (!DebugInstru
5cb0: 6d 65 6e 74 73 2e 5f 69 6e 73 74 61 6e 63 65 29  ments._instance)
5cc0: 0d 0a 20 20 20 20 20 20 20 20 6e 65 77 20 44 65  ..        new De
5cd0: 62 75 67 49 6e 73 74 72 75 6d 65 6e 74 73 28 29  bugInstruments()
5ce0: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65 74  ;..    ..    ret
5cf0: 75 72 6e 20 44 65 62 75 67 49 6e 73 74 72 75 6d  urn DebugInstrum
5d00: 65 6e 74 73 2e 5f 69 6e 73 74 61 6e 63 65 3b 0d  ents._instance;.
5d10: 0a 7d 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 76 61 72 20  .}........//var 
5d20: 63 68 74 20 3d 20 47 65 74 46 6f 72 6d 61 74 4d  cht = GetFormatM
5d30: 6f 64 75 6c 65 28 29 3b 0d 0a 65 76 65 6e 74 73  odule();..events
5d40: 2e 63 6f 6e 6e 65 63 74 28 44 65 73 69 67 6e 65  .connect(Designe
5d50: 72 2c 20 22 62 65 66 6f 72 65 45 78 69 74 41 70  r, "beforeExitAp
5d60: 70 22 2c 20 47 65 74 44 65 62 75 67 49 6e 73 74  p", GetDebugInst
5d70: 72 75 6d 65 6e 74 73 28 29 29 3b                 ruments());