Hex Artifact Content Вы: nobody
Вход

Artifact abae9466fda1d3cbe9f535cfeaa29071e5279682:


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 77 61 74 63 68  pt..$uname watch
0020: 5f 65 78 74 0d 0a 24 64 6e 61 6d 65 20 d0 a0 d0  _ext..$dname ...
0030: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 bd d0  ................
0040: be d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 be 0d 0a  ... ............
0050: 24 61 64 64 69 6e 20 73 74 64 63 6f 6d 6d 61 6e  $addin stdcomman
0060: 64 73 0d 0a 24 61 64 64 69 6e 20 73 74 64 6c 69  ds..$addin stdli
0070: 62 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62 61 6c  b..$addin global
0080: 0d 0a 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75 69  ....stdlib.requi
0090: 72 65 28 27 53 79 6e 74 61 78 41 6e 61 6c 79 73  re('SyntaxAnalys
00a0: 69 73 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72 69  is.js', SelfScri
00b0: 70 74 29 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71  pt);..stdlib.req
00c0: 75 69 72 65 28 27 54 65 78 74 57 69 6e 64 6f 77  uire('TextWindow
00d0: 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72 69 70 74  .js', SelfScript
00e0: 29 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75 69  );..stdlib.requi
00f0: 72 65 28 27 53 65 74 74 69 6e 67 73 4d 61 6e 61  re('SettingsMana
0100: 67 65 6d 65 6e 74 2e 6a 73 27 2c 20 53 65 6c 66  gement.js', Self
0110: 53 63 72 69 70 74 29 3b 0d 0a 0d 0a 73 74 64 6c  Script);....stdl
0120: 69 62 2e 72 65 71 75 69 72 65 28 27 6c 6f 67 34  ib.require('log4
0130: 6a 73 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72 69  js.js', SelfScri
0140: 70 74 29 3b 0d 0a 0d 0a 67 6c 6f 62 61 6c 2e 63  pt);....global.c
0150: 6f 6e 6e 65 63 74 47 6c 6f 62 61 6c 73 28 53 65  onnectGlobals(Se
0160: 6c 66 53 63 72 69 70 74 29 3b 0d 0a 0d 0a 0d 0a  lfScript);......
0170: 76 61 72 20 6c 6f 67 67 65 72 20 3d 20 4c 6f 67  var logger = Log
0180: 34 6a 73 2e 67 65 74 4c 6f 67 67 65 72 28 53 65  4js.getLogger(Se
0190: 6c 66 53 63 72 69 70 74 2e 75 6e 69 71 75 65 4e  lfScript.uniqueN
01a0: 61 6d 65 29 3b 0d 0a 76 61 72 20 61 70 70 65 6e  ame);..var appen
01b0: 64 65 72 20 3d 20 6e 65 77 20 4c 6f 67 34 6a 73  der = new Log4js
01c0: 2e 42 72 6f 77 73 65 72 43 6f 6e 73 6f 6c 65 41  .BrowserConsoleA
01d0: 70 70 65 6e 64 65 72 28 29 3b 0d 0a 61 70 70 65  ppender();..appe
01e0: 6e 64 65 72 2e 73 65 74 4c 61 79 6f 75 74 28 6e  nder.setLayout(n
01f0: 65 77 20 4c 6f 67 34 6a 73 2e 50 61 74 74 65 72  ew Log4js.Patter
0200: 6e 4c 61 79 6f 75 74 28 4c 6f 67 34 6a 73 2e 50  nLayout(Log4js.P
0210: 61 74 74 65 72 6e 4c 61 79 6f 75 74 2e 54 54 43  atternLayout.TTC
0220: 43 5f 43 4f 4e 56 45 52 53 49 4f 4e 5f 50 41 54  C_CONVERSION_PAT
0230: 54 45 52 4e 29 29 3b 0d 0a 6c 6f 67 67 65 72 2e  TERN));..logger.
0240: 61 64 64 41 70 70 65 6e 64 65 72 28 61 70 70 65  addAppender(appe
0250: 6e 64 65 72 29 3b 0d 0a 6c 6f 67 67 65 72 2e 73  nder);..logger.s
0260: 65 74 4c 65 76 65 6c 28 4c 6f 67 34 6a 73 2e 4c  etLevel(Log4js.L
0270: 65 76 65 6c 2e 45 52 52 4f 52 29 3b 0d 0a 76 61  evel.ERROR);..va
0280: 72 20 6c 6f 67 67 65 72 49 6e 66 6f 20 3d 20 4c  r loggerInfo = L
0290: 6f 67 34 6a 73 2e 67 65 74 4c 6f 67 67 65 72 28  og4js.getLogger(
02a0: 53 65 6c 66 53 63 72 69 70 74 2e 75 6e 69 71 75  SelfScript.uniqu
02b0: 65 4e 61 6d 65 2b 22 69 6e 66 6f 22 29 3b 0d 0a  eName+"info");..
02c0: 6c 6f 67 67 65 72 49 6e 66 6f 2e 61 64 64 41 70  loggerInfo.addAp
02d0: 70 65 6e 64 65 72 28 61 70 70 65 6e 64 65 72 29  pender(appender)
02e0: 3b 0d 0a 6c 6f 67 67 65 72 49 6e 66 6f 2e 73 65  ;..loggerInfo.se
02f0: 74 4c 65 76 65 6c 28 4c 6f 67 34 6a 73 2e 4c 65  tLevel(Log4js.Le
0300: 76 65 6c 2e 49 4e 46 4f 29 3b 0d 0a 0d 0a 0d 0a  vel.INFO);......
0310: 0d 0a 65 76 65 6e 74 73 2e 63 6f 6e 6e 65 63 74  ..events.connect
0320: 28 76 38 64 65 62 75 67 2c 20 22 6f 6e 44 65 62  (v8debug, "onDeb
0330: 75 67 45 76 65 6e 74 22 2c 20 53 65 6c 66 53 63  ugEvent", SelfSc
0340: 72 69 70 74 2e 53 65 6c 66 29 0d 0a 73 74 64 63  ript.Self)..stdc
0350: 6f 6d 6d 61 6e 64 73 2e 43 44 65 62 75 67 2e 42  ommands.CDebug.B
0360: 72 65 61 6b 2e 61 64 64 48 61 6e 64 6c 65 72 28  reak.addHandler(
0370: 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 2c  SelfScript.self,
0380: 20 22 6f 6e 53 74 6f 70 44 65 62 75 67 22 29 0d   "onStopDebug").
0390: 0a 0d 0a 76 61 72 20 66 6f 72 6d 20 3d 20 6c 6f  ...var form = lo
03a0: 61 64 53 63 72 69 70 74 46 6f 72 6d 28 53 65 6c  adScriptForm(Sel
03b0: 66 53 63 72 69 70 74 2e 66 75 6c 6c 50 61 74 68  fScript.fullPath
03c0: 2e 72 65 70 6c 61 63 65 28 2f 6a 73 24 2f 69 2c  .replace(/js$/i,
03d0: 20 22 73 73 66 22 29 2c 20 53 65 6c 66 53 63 72   "ssf"), SelfScr
03e0: 69 70 74 2e 73 65 6c 66 29 0d 0a 66 6f 72 6d 2e  ipt.self)..form.
03f0: d0 9a d0 bb d1 8e d1 87 d0 a1 d0 be d1 85 d1 80  ................
0400: d0 b0 d0 bd d0 b5 d0 bd d0 b8 d1 8f d0 9f d0 be  ................
0410: d0 bb d0 be d0 b6 d0 b5 d0 bd d0 b8 d1 8f d0 9e  ................
0420: d0 ba d0 bd d0 b0 20 3d 20 22 77 61 74 63 68 5f  ...... = "watch_
0430: 65 78 74 22 0d 0a 66 6f 72 6d 2e d0 9f d0 b5 d1  ext"..form......
0440: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0  ................
0450: 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e d0 9a  ................
0460: d0 be d0 bb d0 be d0 bd d0 ba d0 b8 2e d0 94 d0  ................
0470: be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 22 4d  .............("M
0480: 6f 64 69 66 69 65 64 22 29 0d 0a 76 61 72 20 72  odified")..var r
0490: 4d 6f 64 75 6c 65 20 3d 20 66 6f 72 6d 2e d0 9f  Module = form...
04a0: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b  ................
04b0: d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8  ................
04c0: 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 94  ................
04d0: d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29  ..............()
04e0: 3b 0d 0a 72 4d 6f 64 75 6c 65 2e d0 9d d0 b0 d0  ;..rModule......
04f0: b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 3d 20 22 d0  ........... = ".
0500: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1  ................
0510: 8b d0 b5 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f  ... ............
0520: 22 3b 0d 0a 76 61 72 20 72 50 61 72 61 6d 73 20  ";..var rParams 
0530: 3d 20 66 6f 72 6d 2e d0 9f d0 b5 d1 80 d0 b5 d0  = form..........
0540: bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e d1 82 d0  ................
0550: bb d0 b0 d0 b4 d0 ba d0 b8 2e d0 a1 d1 82 d1 80  ................
0560: d0 be d0 ba d0 b8 2e d0 94 d0 be d0 b1 d0 b0 d0  ................
0570: b2 d0 b8 d1 82 d1 8c 28 29 3b 0d 0a 72 50 61 72  .......();..rPar
0580: 61 6d 73 2e d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd  ams.............
0590: d0 b8 d0 b5 20 3d 20 22 d0 9f d0 b0 d1 80 d0 b0  .... = "........
05a0: d0 bc d0 b5 d1 82 d1 80 d1 8b 20 d0 bc d0 b5 d1  .......... .....
05b0: 82 d0 be d0 b4 d0 b0 22 3b 0d 0a 76 61 72 20 72  .......";..var r
05c0: 4c 6f 63 61 6c 20 3d 20 66 6f 72 6d 2e d0 9f d0  Local = form....
05d0: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0  ................
05e0: b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e  ................
05f0: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 94 d0  ................
0600: be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 3b  .............();
0610: 0d 0a 72 4c 6f 63 61 6c 2e d0 9d d0 b0 d0 b7 d0  ..rLocal........
0620: b2 d0 b0 d0 bd d0 b8 d0 b5 20 3d 20 22 d0 9b d0  ......... = "...
0630: be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b5 20  ............... 
0640: d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd  ................
0650: d1 8b d0 b5 22 3b 0d 0a 76 61 72 20 72 48 61 6e  ....";..var rHan
0660: 64 73 20 3d 20 66 6f 72 6d 2e d0 9f d0 b5 d1 80  ds = form.......
0670: d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e  ................
0680: d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e d0 a1 d1  ................
0690: 82 d1 80 d0 be d0 ba d0 b8 2e d0 94 d0 be d0 b1  ................
06a0: d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 3b 0d 0a 72  ..........();..r
06b0: 48 61 6e 64 73 2e d0 9d d0 b0 d0 b7 d0 b2 d0 b0  Hands...........
06c0: d0 bd d0 b8 d0 b5 20 3d 20 22 d0 a2 d0 b0 d0 b1  ...... = "......
06d0: d0 bb d0 be 22 3b 0d 0a 67 65 74 52 6f 77 28 72  ....";..getRow(r
06e0: 48 61 6e 64 73 2c 20 27 27 29 3b 0d 0a 76 61 72  Hands, '');..var
06f0: 20 63 6f 6c 6f 72 52 65 64 20 3d 20 76 38 6e 65   colorRed = v8ne
0700: 77 28 22 d0 a6 d0 b2 d0 b5 d1 82 22 2c 20 32 35  w("........", 25
0710: 35 2c 20 30 2c 20 30 29 2c 20 63 6f 6c 6f 72 47  5, 0, 0), colorG
0720: 72 61 79 20 3d 20 76 38 6e 65 77 28 22 d0 a6 d0  ray = v8new("...
0730: b2 d0 b5 d1 82 22 2c 20 32 30 30 2c 20 32 30 30  .....", 200, 200
0740: 2c 20 32 30 30 29 0d 0a 76 61 72 20 63 75 72 56  , 200)..var curV
0750: 69 65 77 48 77 6e 64 20 3d 20 22 22 3b 0d 0a 76  iewHwnd = "";..v
0760: 61 72 20 63 75 72 53 79 6e 74 61 78 41 6e 61 6c  ar curSyntaxAnal
0770: 79 73 69 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 76 61  ysis = null;..va
0780: 72 20 6e 65 65 64 54 65 73 74 4d 6f 64 69 66 69  r needTestModifi
0790: 65 64 20 3d 20 66 61 6c 73 65 3b 0d 0a 76 61 72  ed = false;..var
07a0: 20 74 69 6d 65 72 45 78 70 72 65 73 73 69 6f 6e   timerExpression
07b0: 55 70 64 61 74 65 72 20 3d 20 6e 75 6c 6c 3b 0d  Updater = null;.
07c0: 0a 76 61 72 20 76 61 6c 75 65 42 72 6b 70 74 43  .var valueBrkptC
07d0: 6f 6e 64 20 3d 20 22 22 3b 0d 0a 0d 0a 53 65 6c  ond = "";....Sel
07e0: 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61  fScript.self['ma
07f0: 63 72 6f 73 d0 9e d1 82 d0 ba d1 80 d1 8b d1 82  cros............
0800: d1 8c 20 d0 be d0 ba d0 bd d0 be 20 d0 be d1 82  .. ........ ....
0810: d0 bb d0 b0 d0 b4 d0 ba d0 b8 27 5d 20 3d 20 66  ..........'] = f
0820: 75 6e 63 74 69 6f 6e 28 29 0d 0a 7b 0d 0a 09 0d  unction()..{....
0830: 0a 20 20 20 20 66 6f 72 6d 2e 4f 70 65 6e 28 29  .    form.Open()
0840: 20 2f 2f 20 d0 9f d0 be d0 ba d0 b0 d0 b6 d0 b5   // ............
0850: d0 bc 20 d0 be d0 ba d0 bd d0 be 0d 0a 7d 0d 0a  .. ..........}..
0860: 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c  ..SelfScript.sel
0870: 66 5b 27 6d 61 63 72 6f 73 d0 9f d0 b5 d1 80 d0  f['macros.......
0880: b5 d0 ba d0 bb d1 8e d1 87 d0 b8 d1 82 d1 8c d0  ................
0890: b0 d0 b2 d1 82 d0 be d0 be d0 b1 d0 bd d0 be d0  ................
08a0: b2 d0 bb d0 b5 d0 bd d0 b8 d0 b5 27 5d 20 3d 20  ...........'] = 
08b0: 66 75 6e 63 74 69 6f 6e 28 29 0d 0a 7b 0d 0a 20  function()..{.. 
08c0: 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28     logger.debug(
08d0: 74 68 69 73 2e 6e 61 6d 65 29 3b 0d 0a 20 20 20  this.name);..   
08e0: 20 69 66 20 28 21 74 69 6d 65 72 45 78 70 72 65   if (!timerExpre
08f0: 73 73 69 6f 6e 55 70 64 61 74 65 72 29 7b 0d 0a  ssionUpdater){..
0900: 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64          logger.d
0910: 65 62 75 67 28 22 74 69 6d 65 72 45 78 70 72 65  ebug("timerExpre
0920: 73 73 69 6f 6e 55 70 64 61 74 65 72 3a 20 22 2b  ssionUpdater: "+
0930: 74 69 6d 65 72 45 78 70 72 65 73 73 69 6f 6e 55  timerExpressionU
0940: 70 64 61 74 65 72 29 3b 0d 0a 20 20 20 20 7d 0d  pdater);..    }.
0950: 0a 20 20 20 20 65 6c 73 65 20 7b 0d 0a 0d 0a 20  .    else {.... 
0960: 20 20 20 20 20 20 20 74 69 6d 65 72 45 78 70 72         timerExpr
0970: 65 73 73 69 6f 6e 55 70 64 61 74 65 72 2e 73 74  essionUpdater.st
0980: 6f 70 20 3d 20 21 74 69 6d 65 72 45 78 70 72 65  op = !timerExpre
0990: 73 73 69 6f 6e 55 70 64 61 74 65 72 2e 73 74 6f  ssionUpdater.sto
09a0: 70 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65  p;..        //Me
09b0: 73 73 61 67 65 28 22 d0 a2 d0 b5 d0 bf d0 b5 d1  ssage(".........
09c0: 80 d1 8c 20 d0 b0 d0 b2 d1 82 d0 be d0 be d0 b1  ... ............
09d0: d0 bd d0 be d0 b2 d0 bb d0 b5 d0 bd d0 b8 d0 b5  ................
09e0: 20 22 2b 74 69 6d 65 72 45 78 70 72 65 73 73 69   "+timerExpressi
09f0: 6f 6e 55 70 64 61 74 65 72 2e 73 74 6f 70 3f 22  onUpdater.stop?"
0a00: d0 be d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 bb  ................
0a10: d0 b5 d0 bd d0 bd d0 be 22 20 3a 20 22 d0 b2 d0  ........" : "...
0a20: ba d0 bb d1 8e d1 87 d0 b5 d0 bd d0 be 22 29 3b  .............");
0a30: 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72  ..        logger
0a40: 49 6e 66 6f 2e 69 6e 66 6f 28 22 74 69 6d 65 72  Info.info("timer
0a50: 45 78 70 72 65 73 73 69 6f 6e 55 70 64 61 74 65  ExpressionUpdate
0a60: 72 2e 73 74 6f 70 20 69 73 20 22 2b 74 69 6d 65  r.stop is "+time
0a70: 72 45 78 70 72 65 73 73 69 6f 6e 55 70 64 61 74  rExpressionUpdat
0a80: 65 72 2e 73 74 6f 70 29 3b 0d 0a 20 20 20 20 7d  er.stop);..    }
0a90: 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 92 d0 be d0 b7  ..}..../* ......
0aa0: d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0  .............. .
0ab0: bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20  ............... 
0ac0: d0 bc d0 b0 d0 ba d1 80 d0 be d1 81 d0 b0 20 d0  .............. .
0ad0: bf d0 be 20 d1 83 d0 bc d0 be d0 bb d1 87 d0 b0  ... ............
0ae0: d0 bd d0 b8 d1 8e 20 2d 20 d0 b2 d1 8b d0 b7 d1  ...... - .......
0af0: 8b d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 2c 20 d0  ............., .
0b00: ba d0 be d0 b3 d0 b4 d0 b0 20 d0 bf d0 be d0 bb  ......... ......
0b10: d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb  ................
0b20: d1 8c 20 0d 0a d0 b4 d0 b2 d0 b0 d0 b6 d0 b4 d1  .. .............
0b30: 8b 20 d1 89 d0 b5 d0 bb d0 ba d0 b0 d0 b5 d1 82  . ..............
0b40: 20 d0 bc d1 8b d1 88 d1 8c d1 8e 20 d0 bf d0 be   .......... ....
0b50: 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d1   ...............
0b60: 8e 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 82 d0 b0  . ..............
0b70: 20 d0 b2 20 d0 be d0 ba d0 bd d0 b5 20 d0 a1 d0   .. ........ ...
0b80: bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82 d0 b0 2e  ................
0b90: 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65   */..function ge
0ba0: 74 44 65 66 61 75 6c 74 4d 61 63 72 6f 73 28 29  tDefaultMacros()
0bb0: 20 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 27   {..    return '
0bc0: d0 9f d0 b5 d1 80 d0 b5 d0 ba d0 bb d1 8e d1 87  ................
0bd0: d0 b8 d1 82 d1 8c d0 b0 d0 b2 d1 82 d0 be d0 be  ................
0be0: d0 b1 d0 bd d0 be d0 b2 d0 bb d0 b5 d0 bd d0 b8  ................
0bf0: d0 b5 27 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74  ..';..}....funct
0c00: 69 6f 6e 20 73 65 74 54 69 6d 65 46 6f 72 55 70  ion setTimeForUp
0c10: 64 61 74 65 45 78 70 72 65 73 73 69 6f 6e 28 74  dateExpression(t
0c20: 69 6d 65 6f 75 74 29 20 7b 0d 0a 0d 0a 20 20 20  imeout) {....   
0c30: 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 74 68   logger.debug(th
0c40: 69 73 2e 6e 61 6d 65 29 3b 0d 0a 20 20 20 20 69  is.name);..    i
0c50: 66 20 28 21 74 69 6d 65 72 45 78 70 72 65 73 73  f (!timerExpress
0c60: 69 6f 6e 55 70 64 61 74 65 72 29 7b 0d 0a 20 20  ionUpdater){..  
0c70: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20    } else {..    
0c80: 20 20 20 20 69 66 20 28 28 74 69 6d 65 72 45 78      if ((timerEx
0c90: 70 72 65 73 73 69 6f 6e 55 70 64 61 74 65 72 2e  pressionUpdater.
0ca0: 74 69 6d 65 6f 75 74 20 2b 20 74 69 6d 65 6f 75  timeout + timeou
0cb0: 74 29 20 3c 20 30 20 29 20 7b 0d 0a 20 20 20 20  t) < 0 ) {..    
0cc0: 20 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 28          Message(
0cd0: 22 d0 92 d1 80 d0 b5 d0 bc d1 8f 20 d0 bd d0 b8  ".......... ....
0ce0: d0 b6 d0 b5 20 d0 bd d1 83 d0 bb d1 8f 20 d0 bd  .... ........ ..
0cf0: d0 b5 d0 bb d1 8c d0 b7 d1 8f 2e 20 22 2b 28 74  ........... "+(t
0d00: 69 6d 65 72 45 78 70 72 65 73 73 69 6f 6e 55 70  imerExpressionUp
0d10: 64 61 74 65 72 2e 74 69 6d 65 6f 75 74 20 2b 20  dater.timeout + 
0d20: 74 69 6d 65 6f 75 74 29 29 3b 0d 0a 20 20 20 20  timeout));..    
0d30: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d          return;.
0d40: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
0d50: 20 20 20 20 74 69 6d 65 72 45 78 70 72 65 73 73      timerExpress
0d60: 69 6f 6e 55 70 64 61 74 65 72 2e 74 69 6d 65 6f  ionUpdater.timeo
0d70: 75 74 20 3d 20 74 69 6d 65 72 45 78 70 72 65 73  ut = timerExpres
0d80: 73 69 6f 6e 55 70 64 61 74 65 72 2e 74 69 6d 65  sionUpdater.time
0d90: 6f 75 74 20 2b 20 74 69 6d 65 6f 75 74 3b 0d 0a  out + timeout;..
0da0: 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 6c 6f 67      }....    log
0db0: 67 65 72 2e 64 65 62 75 67 28 74 69 6d 65 72 45  ger.debug(timerE
0dc0: 78 70 72 65 73 73 69 6f 6e 55 70 64 61 74 65 72  xpressionUpdater
0dd0: 2e 74 69 6d 65 6f 75 74 29 3b 0d 0a 0d 0a 7d 0d  .timeout);....}.
0de0: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 68 6f 6f 6b  ...function hook
0df0: 42 72 6b 70 74 43 6f 6e 64 28 64 6c 67 49 6e 66  BrkptCond(dlgInf
0e00: 6f 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 28 64 6c  o)..{..    if(dl
0e10: 67 49 6e 66 6f 2e 73 74 61 67 65 20 3d 3d 20 6f  gInfo.stage == o
0e20: 70 65 6e 4d 6f 64 61 6c 57 6e 64 29 0d 0a 20 20  penModalWnd)..  
0e30: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 64 6c 67    {..        dlg
0e40: 49 6e 66 6f 2e 66 6f 72 6d 2e 67 65 74 43 6f 6e  Info.form.getCon
0e50: 74 72 6f 6c 28 22 43 6f 6e 64 69 74 69 6f 6e 22  trol("Condition"
0e60: 29 2e 76 61 6c 75 65 20 3d 20 76 61 6c 75 65 42  ).value = valueB
0e70: 72 6b 70 74 43 6f 6e 64 3b 0d 0a 0d 0a 20 20 20  rkptCond;....   
0e80: 20 20 20 20 20 64 6c 67 49 6e 66 6f 2e 63 61 6e       dlgInfo.can
0e90: 63 65 6c 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20  cel = false;..  
0ea0: 20 20 20 20 20 20 64 6c 67 49 6e 66 6f 2e 72 65        dlgInfo.re
0eb0: 73 75 6c 74 20 3d 20 6d 62 61 4f 6b 3b 0d 0a 20  sult = mbaOk;.. 
0ec0: 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74     }..}....funct
0ed0: 69 6f 6e 20 68 6f 6f 6b 42 72 6b 70 74 43 6f 6e  ion hookBrkptCon
0ee0: 64 41 75 74 6f 28 64 6c 67 49 6e 66 6f 29 0d 0a  dAuto(dlgInfo)..
0ef0: 7b 0d 0a 20 20 20 20 69 66 28 64 6c 67 49 6e 66  {..    if(dlgInf
0f00: 6f 2e 73 74 61 67 65 20 3d 3d 20 6f 70 65 6e 4d  o.stage == openM
0f10: 6f 64 61 6c 57 6e 64 29 0d 0a 20 20 20 20 7b 0d  odalWnd)..    {.
0f20: 0a 20 20 20 20 20 20 20 20 64 6c 67 49 6e 66 6f  .        dlgInfo
0f30: 2e 66 6f 72 6d 2e 67 65 74 43 6f 6e 74 72 6f 6c  .form.getControl
0f40: 28 22 43 6f 6e 64 69 74 69 6f 6e 22 29 2e 76 61  ("Condition").va
0f50: 6c 75 65 20 3d 20 76 61 6c 75 65 42 72 6b 70 74  lue = valueBrkpt
0f60: 43 6f 6e 64 3b 0d 0a 0d 0a 20 20 20 20 20 20 20  Cond;....       
0f70: 20 64 6c 67 49 6e 66 6f 2e 63 61 6e 63 65 6c 20   dlgInfo.cancel 
0f80: 3d 20 74 72 75 65 20 20 20 2f 2f 20 d0 9e d1 82  = true   // ....
0f90: d0 bc d0 b5 d0 bd d1 8f d0 b5 d0 bc 20 d0 bf d0  ............ ...
0fa0: be d0 ba d0 b0 d0 b7 20 d0 b4 d0 b8 d0 b0 d0 bb  ....... ........
0fb0: d0 be d0 b3 d0 b0 0d 0a 20 20 20 20 20 20 20 20  ........        
0fc0: 64 6c 67 49 6e 66 6f 2e 72 65 73 75 6c 74 20 3d  dlgInfo.result =
0fd0: 20 31 20 20 20 20 20 20 2f 2f 20 d0 ba d0 b0 d0   1      // .....
0fe0: ba 20 d0 b1 d1 83 d0 b4 d1 82 d0 be 20 d0 b2 20  . .......... .. 
0ff0: d0 bd d0 b5 d0 bc 20 d0 bd d0 b0 d0 b6 d0 b0 d0  ...... .........
1000: bb d0 b8 20 d0 9e d0 ba 0d 0a 20 20 20 20 7d 0d  ... ......    }.
1010: 0a 7d 0d 0a 0d 0a 0d 0a 0d 0a 53 65 6c 66 53 63  .}........SelfSc
1020: 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f  ript.self['macro
1030: 73 d0 a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0  s...............
1040: b8 d1 82 d1 8c 20 d1 82 d0 be d1 87 d0 ba d1 83  ..... ..........
1050: 20 d0 be d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0   ...............
1060: b0 20 d0 bf d0 be 20 d1 83 d1 81 d0 bb d0 be d0  . .... .........
1070: b2 d0 b8 d1 8e 27 5d 20 3d 20 66 75 6e 63 74 69  .....'] = functi
1080: 6f 6e 28 29 7b 0d 0a 20 20 20 20 69 66 20 28 21  on(){..    if (!
1090: 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0  form............
10a0: bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e  ................
10b0: d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd  ................
10c0: d1 8b d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba  ................
10d0: d0 b8 2e d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1  ................
10e0: 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 29 20 7b  .............) {
10f0: 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72  ..        logger
1100: 2e 65 72 72 6f 72 28 22 d0 9d d0 b5 20 d0 be d0  .error(".... ...
1110: bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0  ................
1120: bd d0 b0 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b0  ... ............
1130: d1 8f 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20  .. ............ 
1140: d0 b4 d0 bb d1 8f 20 d0 b2 d1 8b d1 80 d0 b0 d0  ...... .........
1150: b6 d0 b5 d0 bd d0 b8 d1 8f 22 29 3b 0d 0a 20 20  .........");..  
1160: 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20        return;.. 
1170: 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20     }..    ..    
1180: 65 76 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 77  events.connect(w
1190: 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64  indows, "onDoMod
11a0: 61 6c 22 2c 20 53 65 6c 66 53 63 72 69 70 74 2e  al", SelfScript.
11b0: 73 65 6c 66 2c 20 22 68 6f 6f 6b 42 72 6b 70 74  self, "hookBrkpt
11c0: 43 6f 6e 64 22 29 3b 0d 0a 20 20 20 20 76 61 72  Cond");..    var
11d0: 20 73 74 61 74 65 20 3d 20 73 74 64 63 6f 6d 6d   state = stdcomm
11e0: 61 6e 64 73 2e 43 44 65 62 75 67 2e 42 72 6b 70  ands.CDebug.Brkp
11f0: 74 43 6f 6e 64 2e 67 65 74 53 74 61 74 65 28 29  tCond.getState()
1200: 3b 0d 0a 20 20 20 20 76 61 72 20 63 75 72 52 6f  ;..    var curRo
1210: 77 20 3d 20 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0  w = form........
1220: bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0  ................
1230: bc d1 8b 2e d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5  ................
1240: d0 bd d0 bd d1 8b d0 b5 d0 9e d1 82 d0 bb d0 b0  ................
1250: d0 b4 d0 ba d0 b8 2e d0 a2 d0 b5 d0 ba d1 83 d1  ................
1260: 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0  ................
1270: b0 3b 0d 0a 20 20 20 20 76 61 72 20 63 75 72 56  .;..    var curV
1280: 61 6c 75 65 20 3d 20 27 27 2b 63 75 72 52 6f 77  alue = ''+curRow
1290: 2e d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0  ................
12a0: b5 3b 0d 0a 20 20 20 20 76 61 72 20 6e 61 6d 65  .;..    var name
12b0: 20 3d 20 66 75 6c 6c 4e 61 6d 65 28 63 75 72 52   = fullName(curR
12c0: 6f 77 29 3b 0d 0a 20 20 20 20 76 61 6c 75 65 42  ow);..    valueB
12d0: 72 6b 70 74 43 6f 6e 64 20 3d 20 22 22 2b 20 6e  rkptCond = ""+ n
12e0: 61 6d 65 20 2b 20 22 20 3d 20 22 2b 63 75 72 56  ame + " = "+curV
12f0: 61 6c 75 65 3b 0d 0a 20 20 20 20 73 74 64 63 6f  alue;..    stdco
1300: 6d 6d 61 6e 64 73 2e 43 44 65 62 75 67 2e 42 72  mmands.CDebug.Br
1310: 6b 70 74 43 6f 6e 64 2e 73 65 6e 64 28 29 3b 0d  kptCond.send();.
1320: 0a 20 20 20 20 65 76 65 6e 74 73 2e 64 69 73 63  .    events.disc
1330: 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c 20  onnect(windows, 
1340: 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c  "onDoModal", Sel
1350: 66 53 63 72 69 70 74 2e 73 65 6c 66 2c 20 22 68  fScript.self, "h
1360: 6f 6f 6b 42 72 6b 70 74 43 6f 6e 64 22 29 3b 0d  ookBrkptCond");.
1370: 0a 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66  .    ..}....Self
1380: 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63  Script.self['mac
1390: 72 6f 73 d0 a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0  ros.............
13a0: b2 d0 b8 d1 82 d1 8c 20 d1 82 d0 be d1 87 d0 ba  ....... ........
13b0: d1 83 20 d0 be d1 81 d1 82 d0 b0 d0 bd d0 be d0  .. .............
13c0: b2 d0 b0 20 d0 bf d0 be 20 d1 83 d1 81 d0 bb d0  ... .... .......
13d0: be d0 b2 d0 b8 d1 8e 20 d0 b4 d0 bb d1 8f 20 d0  ....... ...... .
13e0: b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d1  ................
13f0: 8b d1 85 20 d1 81 d1 82 d1 80 d0 be d0 ba 27 5d  ... ..........']
1400: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a   = function(){..
1410: 20 20 20 20 69 66 20 28 21 66 6f 72 6d 2e d0 ad      if (!form...
1420: d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 a4  ................
1430: d0 be d1 80 d0 bc d1 8b 2e d0 9f d0 b5 d1 80 d0  ................
1440: b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e d1  ................
1450: 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e d0 a2 d0 b5  ................
1460: d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80  ................
1470: d0 be d0 ba d0 b0 29 20 7b 0d 0a 20 20 20 20 20  ......) {..     
1480: 20 20 20 6c 6f 67 67 65 72 2e 65 72 72 6f 72 28     logger.error(
1490: 22 d0 9d d0 b5 20 d0 be d0 bf d1 80 d0 b5 d0 b4  ".... ..........
14a0: d0 b5 d0 bb d0 b5 d0 bd d0 bd d0 b0 20 d1 82 d0  ............ ...
14b0: b5 d0 ba d1 83 d1 89 d0 b0 d1 8f 20 d1 81 d1 82  ........... ....
14c0: d1 80 d0 be d0 ba d0 b0 20 d0 b4 d0 bb d1 8f 20  ........ ...... 
14d0: d0 b2 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8  ................
14e0: d1 8f 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 72  ..");..        r
14f0: 65 74 75 72 6e 3b 0d 0a 20 20 20 20 7d 0d 0a 0d  eturn;..    }...
1500: 0a 20 20 20 20 76 61 72 20 77 6e 64 20 3d 20 47  .    var wnd = G
1510: 65 74 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d  etTextWindow();.
1520: 0a 20 20 20 20 69 66 28 21 77 6e 64 29 0d 0a 20  .    if(!wnd).. 
1530: 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a         return;..
1540: 20 20 20 20 76 69 65 77 20 3d 20 77 6e 64 2e 47      view = wnd.G
1550: 65 74 56 69 65 77 28 29 3b 0d 0a 0d 0a 20 20 20  etView();....   
1560: 20 76 61 72 20 63 75 72 52 6f 77 20 3d 20 66 6f   var curRow = fo
1570: 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  rm..............
1580: 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9f  ................
1590: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b  ................
15a0: d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8  ................
15b0: 2e d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0  ................
15c0: a1 d1 82 d1 80 d0 be d0 ba d0 b0 3b 0d 0a 20 20  ...........;..  
15d0: 20 20 76 61 72 20 63 75 72 56 61 6c 75 65 20 3d    var curValue =
15e0: 20 27 27 2b 63 75 72 52 6f 77 2e d0 97 d0 bd d0   ''+curRow......
15f0: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 3b 0d 0a 20 20  ...........;..  
1600: 20 20 76 61 72 20 6e 61 6d 65 20 3d 20 66 75 6c    var name = ful
1610: 6c 4e 61 6d 65 28 63 75 72 52 6f 77 29 3b 0d 0a  lName(curRow);..
1620: 20 20 20 20 76 61 6c 75 65 42 72 6b 70 74 43 6f      valueBrkptCo
1630: 6e 64 20 3d 20 22 22 2b 20 6e 61 6d 65 20 2b 20  nd = ""+ name + 
1640: 22 20 3d 20 22 2b 63 75 72 56 61 6c 75 65 3b 0d  " = "+curValue;.
1650: 0a 0d 0a 20 20 20 20 76 61 72 20 76 62 73 20 3d  ...    var vbs =
1660: 20 61 64 64 69 6e 73 2e 62 79 55 6e 69 71 75 65   addins.byUnique
1670: 4e 61 6d 65 28 22 76 62 73 22 29 2e 6f 62 6a 65  Name("vbs").obje
1680: 63 74 0d 0a 20 20 20 20 76 62 73 2e 76 61 72 30  ct..    vbs.var0
1690: 20 3d 20 76 61 6c 75 65 42 72 6b 70 74 43 6f 6e   = valueBrkptCon
16a0: 64 3b 20 76 62 73 2e 76 61 72 31 20 3d 20 22 d0  d; vbs.var1 = ".
16b0: 92 d0 b2 d0 b5 d0 b4 d0 b8 d1 82 d0 b5 20 d0 b2  ............. ..
16c0: d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d0 b5  ................
16d0: 22 3b 20 76 62 73 2e 76 61 72 32 20 3d 20 30 2c  "; vbs.var2 = 0,
16e0: 20 76 62 73 2e 76 61 72 33 20 3d 20 66 61 6c 73   vbs.var3 = fals
16f0: 65 3b 0d 0a 20 20 20 20 69 66 20 28 76 62 73 2e  e;..    if (vbs.
1700: 44 6f 45 76 61 6c 28 22 49 6e 70 75 74 53 74 72  DoEval("InputStr
1710: 69 6e 67 28 76 61 72 30 2c 20 76 61 72 31 2c 20  ing(var0, var1, 
1720: 76 61 72 32 2c 20 76 61 72 33 29 22 29 29 20 7b  var2, var3)")) {
1730: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61  ..            va
1740: 6c 75 65 42 72 6b 70 74 43 6f 6e 64 20 20 3d 20  lueBrkptCond  = 
1750: 76 62 73 2e 76 61 72 30 3b 0d 0a 20 20 20 20 7d  vbs.var0;..    }
1760: 0d 0a 20 20 20 20 69 66 20 28 76 61 6c 75 65 42  ..    if (valueB
1770: 72 6b 70 74 43 6f 6e 64 2e 6c 65 6e 67 74 68 20  rkptCond.length 
1780: 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 72 65  = 0)..        re
1790: 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 65 76 65  turn;....    eve
17a0: 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 77 69 6e 64  nts.connect(wind
17b0: 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22  ows, "onDoModal"
17c0: 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c  , SelfScript.sel
17d0: 66 2c 20 22 68 6f 6f 6b 42 72 6b 70 74 43 6f 6e  f, "hookBrkptCon
17e0: 64 41 75 74 6f 22 29 3b 0d 0a 20 20 20 20 76 61  dAuto");..    va
17f0: 72 20 73 74 61 74 65 20 3d 20 73 74 64 63 6f 6d  r state = stdcom
1800: 6d 61 6e 64 73 2e 43 44 65 62 75 67 2e 42 72 6b  mands.CDebug.Brk
1810: 70 74 43 6f 6e 64 2e 67 65 74 53 74 61 74 65 28  ptCond.getState(
1820: 29 3b 0d 0a 0d 0a 20 20 20 20 73 65 6c 20 3d 20  );....    sel = 
1830: 77 6e 64 2e 47 65 74 53 65 6c 65 63 74 69 6f 6e  wnd.GetSelection
1840: 28 29 3b 0d 0a 20 20 20 20 66 6f 72 20 28 76 61  ();..    for (va
1850: 72 20 69 20 3d 20 73 65 6c 2e 62 65 67 69 6e 52  r i = sel.beginR
1860: 6f 77 3b 20 69 3c 73 65 6c 2e 65 6e 64 52 6f 77  ow; i<sel.endRow
1870: 3b 20 69 2b 2b 29 7b 0d 0a 20 20 20 20 20 20 20  ; i++){..       
1880: 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 43 44 65   stdcommands.CDe
1890: 62 75 67 2e 42 72 6b 70 74 43 6f 6e 64 2e 73 65  bug.BrkptCond.se
18a0: 6e 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 77  nd();..        w
18b0: 6e 64 2e 53 65 74 43 61 72 65 74 50 6f 73 28 69  nd.SetCaretPos(i
18c0: 2c 20 73 65 6c 2e 62 65 67 69 6e 43 6f 6c 29 3b  , sel.beginCol);
18d0: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20  ..    }..    .. 
18e0: 20 20 20 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e     events.discon
18f0: 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f  nect(windows, "o
1900: 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c 66 53  nDoModal", SelfS
1910: 63 72 69 70 74 2e 73 65 6c 66 2c 20 22 68 6f 6f  cript.self, "hoo
1920: 6b 42 72 6b 70 74 43 6f 6e 64 41 75 74 6f 22 29  kBrkptCondAuto")
1930: 3b 0d 0a 20 20 20 20 76 61 6c 75 65 42 72 6b 70  ;..    valueBrkp
1940: 74 43 6f 6e 64 20 3d 20 22 22 3b 0d 0a 20 20 20  tCond = "";..   
1950: 20 6c 6f 67 67 65 72 49 6e 66 6f 2e 69 6e 66 6f   loggerInfo.info
1960: 28 22 d0 a2 d0 be d1 87 d0 ba d0 b8 20 d0 be d1  (".......... ...
1970: 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b0 20 d1 83  ............. ..
1980: d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 bb d0 b5  ................
1990: d0 bd d0 bd d1 8b 21 22 29 3b 0d 0a 20 20 20 20  ......!");..    
19a0: 0d 0a 7d 0d 0a 0d 0a 0d 0a 53 65 6c 66 53 63 72  ..}......SelfScr
19b0: 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73  ipt.self['macros
19c0: d0 a3 d0 b2 d0 b5 d0 bb d0 b8 d1 87 d0 b8 d1 82  ................
19d0: d1 8c 20 d0 bf d0 b5 d1 80 d0 b8 d0 be d0 b4 20  .. ............ 
19e0: d0 be d0 b1 d0 bd d0 be d0 b2 d0 bb d0 b5 d0 bd  ................
19f0: d0 b8 d1 8f 20 d0 bd d0 b0 20 31 20 d1 81 d0 b5  .... .... 1 ....
1a00: d0 ba 2e 20 27 5d 20 3d 20 66 75 6e 63 74 69 6f  ... '] = functio
1a10: 6e 28 29 20 7b 0d 0a 20 20 20 20 73 65 74 54 69  n() {..    setTi
1a20: 6d 65 46 6f 72 55 70 64 61 74 65 45 78 70 72 65  meForUpdateExpre
1a30: 73 73 69 6f 6e 28 31 30 30 30 29 3b 0d 0a 7d 0d  ssion(1000);..}.
1a40: 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ...SelfScript.se
1a50: 6c 66 5b 27 6d 61 63 72 6f 73 d0 a3 d0 bc d0 b5  lf['macros......
1a60: d0 bd d1 8c d1 88 d0 b8 d1 82 d1 8c 20 d0 bf d0  ............ ...
1a70: b5 d1 80 d0 b8 d0 be d0 b4 20 d0 be d0 b1 d0 bd  ......... ......
1a80: d0 be d0 b2 d0 bb d0 b5 d0 bd d0 b8 d1 8f 20 d0  .............. .
1a90: bd d0 b0 20 31 20 d1 81 d0 b5 d0 ba 2e 20 27 5d  ... 1 ....... ']
1aa0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d   = function() {.
1ab0: 0a 20 20 20 20 73 65 74 54 69 6d 65 46 6f 72 55  .    setTimeForU
1ac0: 70 64 61 74 65 45 78 70 72 65 73 73 69 6f 6e 28  pdateExpression(
1ad0: 2d 31 30 30 30 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f  -1000);..}....//
1ae0: 54 4f 44 4f 3a 20 d0 94 d0 be d0 b1 d0 b0 d0 b2  TODO: ..........
1af0: d0 b8 d1 82 d1 8c 20 d0 b2 d1 8b d1 87 d0 b8 d1  ...... .........
1b00: 81 d0 bb d0 b5 d0 bd d0 b8 d0 b5 20 d0 b2 d1 8b  ........... ....
1b10: d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d1 8f 2e 20  ............... 
1b20: 0d 0a 66 75 6e 63 74 69 6f 6e 20 6f 6e 44 65 62  ..function onDeb
1b30: 75 67 45 76 65 6e 74 28 65 76 65 6e 74 49 44 2c  ugEvent(eventID,
1b40: 20 65 76 65 6e 74 50 61 72 61 6d 29 0d 0a 7b 0d   eventParam)..{.
1b50: 0a 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75  .    logger.debu
1b60: 67 28 74 68 69 73 2e 6e 61 6d 65 29 3b 0d 0a 20  g(this.name);.. 
1b70: 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28     logger.debug(
1b80: 65 76 65 6e 74 49 44 29 3b 0d 0a 20 20 20 20 69  eventID);..    i
1b90: 66 20 28 21 74 69 6d 65 72 45 78 70 72 65 73 73  f (!timerExpress
1ba0: 69 6f 6e 55 70 64 61 74 65 72 29 7b 0d 0a 20 20  ionUpdater){..  
1bb0: 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62        logger.deb
1bc0: 75 67 28 22 74 69 6d 65 72 45 78 70 72 65 73 73  ug("timerExpress
1bd0: 69 6f 6e 55 70 64 61 74 65 72 20 d0 bd d0 b5 20  ionUpdater .... 
1be0: d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5  ................
1bf0: d0 bd 20 22 2b 74 69 6d 65 72 45 78 70 72 65 73  .. "+timerExpres
1c00: 73 69 6f 6e 55 70 64 61 74 65 72 29 0d 0a 20 20  sionUpdater)..  
1c10: 20 20 20 20 20 20 74 69 6d 65 72 45 78 70 72 65        timerExpre
1c20: 73 73 69 6f 6e 55 70 64 61 74 65 72 20 3d 20 47  ssionUpdater = G
1c30: 65 74 54 69 6d 65 72 45 78 70 72 65 73 73 69 6f  etTimerExpressio
1c40: 6e 55 70 64 61 74 65 72 28 29 3b 0d 0a 20 20 20  nUpdater();..   
1c50: 20 7d 0d 0a 20 20 20 20 2f 2f 4d 65 73 73 61 67   }..    //Messag
1c60: 65 28 22 53 43 52 49 50 54 20 22 20 2b 20 65 76  e("SCRIPT " + ev
1c70: 65 6e 74 49 44 20 2b 20 22 2c 20 22 20 2b 20 65  entID + ", " + e
1c80: 76 65 6e 74 50 61 72 61 6d 29 3b 0d 0a 20 20 20  ventParam);..   
1c90: 20 69 66 28 65 76 65 6e 74 49 44 20 3d 3d 20 22   if(eventID == "
1ca0: 7b 46 45 37 43 36 44 44 44 2d 37 43 39 39 2d 34  {FE7C6DDD-7C99-4
1cb0: 32 46 38 2d 42 41 31 34 2d 43 44 44 33 30 45 44  2F8-BA14-CDD30ED
1cc0: 46 32 45 46 31 7d 22 29 0d 0a 20 20 20 20 7b 0d  F2EF1}")..    {.
1cd0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 76 69 65  .        var vie
1ce0: 77 20 3d 20 77 69 6e 64 6f 77 73 2e 67 65 74 41  w = windows.getA
1cf0: 63 74 69 76 65 56 69 65 77 28 29 0d 0a 20 20 20  ctiveView()..   
1d00: 20 20 20 20 20 66 6f 72 6d 2e 4f 70 65 6e 28 29       form.Open()
1d10: 20 2f 2f 20 d0 9f d0 be d0 ba d0 b0 d0 b6 d0 b5   // ............
1d20: d0 bc 20 d0 be d0 ba d0 bd d0 be 0d 0a 20 20 20  .. ..........   
1d30: 20 20 20 20 20 69 66 28 76 69 65 77 29 0d 0a 20       if(view).. 
1d40: 20 20 20 20 20 20 20 20 20 20 20 76 69 65 77 2e             view.
1d50: 61 63 74 69 76 61 74 65 28 29 0d 0a 20 20 20 20  activate()..    
1d60: 7d 0d 0a 20 20 20 20 65 6c 73 65 20 69 66 28 65  }..    else if(e
1d70: 76 65 6e 74 49 44 20 3d 3d 20 22 7b 37 31 35 30  ventID == "{7150
1d80: 31 41 39 44 2d 43 44 33 34 2d 34 32 37 44 2d 38  1A9D-CD34-427D-8
1d90: 31 42 36 2d 35 36 32 34 39 31 42 45 46 39 34 35  1B6-562491BEF945
1da0: 7d 22 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20  }")..    {..    
1db0: 20 20 20 20 63 6c 65 61 72 45 78 70 72 65 73 73      clearExpress
1dc0: 69 6f 6e 73 28 29 3b 0d 0a 20 20 20 20 20 20 20  ions();..       
1dd0: 20 74 69 6d 65 72 45 78 70 72 65 73 73 69 6f 6e   timerExpression
1de0: 55 70 64 61 74 65 72 2e 73 74 6f 70 57 61 74 63  Updater.stopWatc
1df0: 68 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20  h();..    }..   
1e00: 20 69 66 28 65 76 65 6e 74 49 44 20 3d 3d 20 22   if(eventID == "
1e10: 7b 35 42 35 46 39 32 38 44 2d 44 46 32 44 2d 34  {5B5F928D-DF2D-4
1e20: 38 30 34 2d 42 32 44 30 2d 42 34 35 33 31 36 33  804-B2D0-B453163
1e30: 41 32 43 34 43 7d 22 29 0d 0a 20 20 20 20 7b 0d  A2C4C}")..    {.
1e40: 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61  .        //Messa
1e50: 67 65 28 22 65 76 65 6e 74 50 61 72 61 6d 20 22  ge("eventParam "
1e60: 20 2b 20 65 76 65 6e 74 50 61 72 61 6d 29 3b 0d   + eventParam);.
1e70: 0a 20 20 20 20 20 20 20 20 69 66 28 65 76 65 6e  .        if(even
1e80: 74 50 61 72 61 6d 20 3d 3d 20 33 37 20 7c 7c 20  tParam == 37 || 
1e90: 65 76 65 6e 74 50 61 72 61 6d 20 3d 3d 20 32 34  eventParam == 24
1ea0: 20 29 20 20 20 20 2f 2f 20 d0 9e d1 81 d1 82 d0   )    // .......
1eb0: b0 d0 bd d0 be d0 b2 d0 b8 d0 bb d0 b8 d1 81 d1  ................
1ec0: 8c 20 d0 b2 20 d1 82 d0 be d1 87 d0 ba d0 b5 20  . .. .......... 
1ed0: d0 be d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b0  ................
1ee0: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20  ..        {..   
1ef0: 20 20 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61           //Messa
1f00: 67 65 28 22 53 43 52 49 50 54 20 d0 9e d1 81 d1  ge("SCRIPT .....
1f10: 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 d0 bb d0 b8 d1  ................
1f20: 81 d1 8c 20 d0 b2 20 d1 82 d0 be d1 87 d0 ba d0  ... .. .........
1f30: b5 20 d0 be d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2  . ..............
1f40: d0 b0 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20  ..")..          
1f50: 20 20 6e 65 65 64 54 65 73 74 4d 6f 64 69 66 69    needTestModifi
1f60: 65 64 20 3d 20 74 72 75 65 0d 0a 20 20 20 20 20  ed = true..     
1f70: 20 20 20 20 20 20 20 66 69 6c 6c 4c 6f 63 61 6c         fillLocal
1f80: 56 61 72 69 61 62 6c 65 73 28 29 20 20 20 20 2f  Variables()    /
1f90: 2f 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b8  / ..............
1fa0: d0 bc 20 d0 bb d0 be d0 ba d0 b0 d0 bb d1 8c d0  .. .............
1fb0: bd d1 8b d0 b5 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc  ..... ..........
1fc0: d0 b5 d0 bd d0 bd d1 8b d0 b5 0d 0a 20 20 20 20  ............    
1fd0: 20 20 20 20 20 20 20 20 2f 2f 65 76 65 6e 74 73          //events
1fe0: 2e 63 6f 6e 6e 65 63 74 28 44 65 73 69 67 6e 65  .connect(Designe
1ff0: 72 2c 20 22 6f 6e 49 64 6c 65 22 2c 20 53 65 6c  r, "onIdle", Sel
2000: 66 53 63 72 69 70 74 2e 73 65 6c 66 29 20 2f 2f  fScript.self) //
2010: 20 d0 91 d1 83 d0 b4 d0 b5 d0 bc 20 d0 b8 d1 85   .......... ....
2020: 20 d0 be d0 b1 d0 bd d0 be d0 b2 d0 bb d1 8f d1   ...............
2030: 82 d1 8c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .....           
2040: 20 74 69 6d 65 72 45 78 70 72 65 73 73 69 6f 6e   timerExpression
2050: 55 70 64 61 74 65 72 2e 75 70 64 61 74 65 54 69  Updater.updateTi
2060: 6d 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  mer();..        
2070: 7d 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 0d  }..    }..}.....
2080: 0a 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75  .function isDebu
2090: 67 45 76 61 6c 45 6e 61 62 6c 65 64 28 29 0d 0a  gEvalEnabled()..
20a0: 7b 0d 0a 20 20 20 20 2f 2f 20 d0 9a d0 be d0 bc  {..    // ......
20b0: d0 b0 d0 bd d0 b4 d0 b0 20 22 d0 a8 d0 b0 d0 b3  ........ "......
20c0: d0 bd d1 83 d1 82 d1 8c 20 d0 b2 22 20 d0 bd d0  ........ .." ...
20d0: b5 d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0 bd d0 b0 20  ............... 
20e0: 2d 20 d0 b7 d0 bd d0 b0 d1 87 d0 b8 d1 82 2c 20  - ............, 
20f0: d0 bc d1 8b 20 d0 bd d0 b5 20 d0 b2 20 d0 be d1  .... .... .. ...
2100: 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b5 2e 20 d0  .............. .
2110: a1 d1 87 d0 b8 d1 82 d0 b0 d1 82 d1 8c 20 d0 bf  ............. ..
2120: d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b  ................
2130: d0 b5 20 d0 bd d0 b5 d0 bb d1 8c d0 b7 d1 8f 2c  .. ............,
2140: 20 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 b5 d0   ...............
2150: bd 20 d0 b2 d1 8b d0 bb d0 b5 d1 82 0d 0a 20 20  . ............  
2160: 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 73 74    var state = st
2170: 64 63 6f 6d 6d 61 6e 64 73 2e 43 44 65 62 75 67  dcommands.CDebug
2180: 2e 53 74 65 70 49 6e 2e 67 65 74 53 74 61 74 65  .StepIn.getState
2190: 28 29 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 73  ()..    return s
21a0: 74 61 74 65 20 26 26 20 73 74 61 74 65 2e 65 6e  tate && state.en
21b0: 61 62 6c 65 64 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63  abled..}....func
21c0: 74 69 6f 6e 20 6f 6e 53 74 6f 70 44 65 62 75 67  tion onStopDebug
21d0: 28 29 0d 0a 7b 0d 0a 20 20 20 20 63 6c 65 61 72  ()..{..    clear
21e0: 45 78 70 72 65 73 73 69 6f 6e 73 28 29 0d 0a 7d  Expressions()..}
21f0: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6f 6e 49  ....function onI
2200: 64 6c 65 28 29 0d 0a 7b 0d 0a 20 20 20 20 69 66  dle()..{..    if
2210: 28 21 69 73 44 65 62 75 67 45 76 61 6c 45 6e 61  (!isDebugEvalEna
2220: 62 6c 65 64 28 29 29 0d 0a 20 20 20 20 7b 0d 0a  bled())..    {..
2230: 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e 64          events.d
2240: 69 73 63 6f 6e 6e 65 63 74 28 44 65 73 69 67 6e  isconnect(Design
2250: 65 72 2c 20 22 6f 6e 49 64 6c 65 22 2c 20 53 65  er, "onIdle", Se
2260: 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 29 0d 0a  lfScript.self)..
2270: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0d 0a          return..
2280: 20 20 20 20 7d 0d 0a 20 20 20 20 74 72 79 7b 0d      }..    try{.
2290: 0a 20 20 20 20 20 20 20 20 75 70 64 61 74 65 44  .        updateD
22a0: 65 62 75 67 45 78 70 72 65 73 73 69 6f 6e 73 28  ebugExpressions(
22b0: 29 0d 0a 20 20 20 20 7d 63 61 74 63 68 28 65 29  )..    }catch(e)
22c0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
22d0: 20 2f 2f 20 d0 92 d1 81 d0 b5 20 d0 be d1 88 d0   // ...... .....
22e0: b8 d0 b1 d0 ba d0 b8 20 d0 b1 d1 83 d0 b4 d0 b5  ....... ........
22f0: d0 bc 20 d0 b3 d0 b0 d1 81 d0 b8 d1 82 d1 8c 0d  .. .............
2300: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 65 76 65 6e  .    }..    even
2310: 74 73 2e 64 69 73 63 6f 6e 6e 65 63 74 28 44 65  ts.disconnect(De
2320: 73 69 67 6e 65 72 2c 20 22 6f 6e 49 64 6c 65 22  signer, "onIdle"
2330: 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c  , SelfScript.sel
2340: 66 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f  f)..}....functio
2350: 6e 20 63 6c 65 61 72 45 78 70 72 65 73 73 69 6f  n clearExpressio
2360: 6e 73 28 29 0d 0a 7b 0d 0a 20 20 20 20 72 4d 6f  ns()..{..    rMo
2370: 64 75 6c 65 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0  dule............
2380: b8 2e d0 9e d1 87 d0 b8 d1 81 d1 82 d0 b8 d1 82  ................
2390: d1 8c 28 29 0d 0a 20 20 20 20 72 50 61 72 61 6d  ..()..    rParam
23a0: 73 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0  s...............
23b0: 9e d1 87 d0 b8 d1 81 d1 82 d0 b8 d1 82 d1 8c 28  ...............(
23c0: 29 0d 0a 20 20 20 20 72 4c 6f 63 61 6c 2e d0 a1  )..    rLocal...
23d0: d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 9e d1 87 d0  ................
23e0: b8 d1 81 d1 82 d0 b8 d1 82 d1 8c 28 29 0d 0a 20  ...........().. 
23f0: 20 20 20 69 66 28 66 6f 72 6d 2e d0 9e d1 82 d0     if(form......
2400: ba d1 80 d1 8b d1 82 d0 b0 28 29 29 0d 0a 20 20  .........())..  
2410: 20 20 20 20 20 20 66 6f 72 6d 2e d0 97 d0 b0 d0        form......
2420: ba d1 80 d1 8b d1 82 d1 8c 28 29 0d 0a 7d 0d 0a  .........()..}..
2430: 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f  ..function getRo
2440: 77 28 70 61 72 65 6e 74 2c 20 6e 61 6d 65 29 0d  w(parent, name).
2450: 0a 7b 0d 0a 20 20 20 20 76 61 72 20 72 20 3d 20  .{..    var r = 
2460: 70 61 72 65 6e 74 2e d0 a1 d1 82 d1 80 d0 be d0  parent..........
2470: ba d0 b8 2e d0 9d d0 b0 d0 b9 d1 82 d0 b8 28 6e  ..............(n
2480: 61 6d 65 2c 20 22 d0 9d d0 b0 d0 b7 d0 b2 d0 b0  ame, "..........
2490: d0 bd d0 b8 d0 b5 22 29 0d 0a 20 20 20 20 69 66  ......")..    if
24a0: 28 21 72 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  (!r)..    {..   
24b0: 20 20 20 20 20 72 20 3d 20 70 61 72 65 6e 74 2e       r = parent.
24c0: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 94 d0  ................
24d0: be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 0d  .............().
24e0: 0a 20 20 20 20 20 20 20 20 72 2e d0 9d d0 b0 d0  .        r......
24f0: b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 3d 20 6e 61  ........... = na
2500: 6d 65 0d 0a 20 20 20 20 20 20 20 20 72 2e 4d 6f  me..        r.Mo
2510: 64 69 66 69 65 64 20 3d 20 30 0d 0a 20 20 20 20  dified = 0..    
2520: 7d 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 72 0d  }..    return r.
2530: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 72  .}....function r
2540: 65 6d 6f 76 65 52 6f 77 73 28 70 61 72 65 6e 74  emoveRows(parent
2550: 2c 20 61 6c 6c 29 0d 0a 7b 0d 0a 20 20 20 20 76  , all)..{..    v
2560: 61 72 20 64 65 6c 20 3d 20 5b 5d 0d 0a 20 20 20  ar del = []..   
2570: 20 66 6f 72 28 76 61 72 20 6b 20 3d 20 6e 65 77   for(var k = new
2580: 20 45 6e 75 6d 65 72 61 74 6f 72 28 70 61 72 65   Enumerator(pare
2590: 6e 74 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 29  nt.............)
25a0: 3b 20 21 6b 2e 61 74 45 6e 64 28 29 3b 20 6b 2e  ; !k.atEnd(); k.
25b0: 6d 6f 76 65 4e 65 78 74 28 29 29 0d 0a 20 20 20  moveNext())..   
25c0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20   {..        var 
25d0: 72 20 3d 20 6b 2e 69 74 65 6d 28 29 0d 0a 20 20  r = k.item()..  
25e0: 20 20 20 20 20 20 69 66 28 21 61 6c 6c 5b 72 2e        if(!all[r.
25f0: d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5  ................
2600: 5d 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ])..            
2610: 64 65 6c 2e 70 75 73 68 28 72 29 0d 0a 20 20 20  del.push(r)..   
2620: 20 7d 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20   }..    for(var 
2630: 6b 20 69 6e 20 64 65 6c 29 0d 0a 20 20 20 20 20  k in del)..     
2640: 20 20 20 70 61 72 65 6e 74 2e d0 a1 d1 82 d1 80     parent.......
2650: d0 be d0 ba d0 b8 2e d0 a3 d0 b4 d0 b0 d0 bb d0  ................
2660: b8 d1 82 d1 8c 28 64 65 6c 5b 6b 5d 29 0d 0a 7d  .....(del[k])..}
2670: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 66 69 6c  ....function fil
2680: 6c 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 73 28  lLocalVariables(
2690: 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 77 6e  )..{..    var wn
26a0: 64 20 3d 20 47 65 74 54 65 78 74 57 69 6e 64 6f  d = GetTextWindo
26b0: 77 28 29 3b 0d 0a 20 20 20 20 69 66 28 21 77 6e  w();..    if(!wn
26c0: 64 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75  d)..        retu
26d0: 72 6e 0d 0a 20 20 20 20 76 69 65 77 20 3d 20 77  rn..    view = w
26e0: 6e 64 2e 47 65 74 56 69 65 77 28 29 3b 0d 0a 20  nd.GetView();.. 
26f0: 20 20 20 74 69 74 6c 65 20 3d 20 22 22 3b 0d 0a     title = "";..
2700: 20 20 20 20 69 66 20 28 21 76 69 65 77 29 7b 0d      if (!view){.
2710: 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20  .    } else {.. 
2720: 20 20 20 20 20 20 20 69 66 20 28 76 69 65 77 2e         if (view.
2730: 6d 64 4f 62 6a 20 26 26 20 76 69 65 77 2e 6d 64  mdObj && view.md
2740: 50 72 6f 70 29 20 7b 0d 0a 20 20 20 20 20 20 20  Prop) {..       
2750: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
2760: 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d     function getM
2770: 64 4e 61 6d 65 28 6d 64 4f 62 6a 29 20 7b 20 20  dName(mdObj) {  
2780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2790: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
27a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
27b0: 28 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 20 26 26  (mdObj.parent &&
27c0: 20 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 2e 6d 64   mdObj.parent.md
27d0: 43 6c 61 73 73 2e 6e 61 6d 65 28 31 29 20 21 3d  Class.name(1) !=
27e0: 20 27 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83   '..............
27f0: d1 80 d0 b0 d1 86 d0 b8 d1 8f 27 29 0d 0a 20 20  ..........')..  
2800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2810: 20 20 72 65 74 75 72 6e 20 67 65 74 4d 64 4e 61    return getMdNa
2820: 6d 65 28 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 29  me(mdObj.parent)
2830: 20 2b 20 27 2e 27 20 2b 20 6d 64 4f 62 6a 2e 6d   + '.' + mdObj.m
2840: 64 43 6c 61 73 73 2e 6e 61 6d 65 28 31 29 20 2b  dClass.name(1) +
2850: 20 27 20 27 20 2b 20 6d 64 4f 62 6a 2e 6e 61 6d   ' ' + mdObj.nam
2860: 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  e;..            
2870: 20 20 20 20 76 61 72 20 63 6e 61 6d 65 20 3d 20      var cname = 
2880: 6d 64 4f 62 6a 2e 6d 64 43 6c 61 73 73 2e 6e 61  mdObj.mdClass.na
2890: 6d 65 28 31 29 3b 0d 0a 20 20 20 20 20 20 20 20  me(1);..        
28a0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 20          return  
28b0: 28 63 6e 61 6d 65 20 3f 20 63 6e 61 6d 65 20 2b  (cname ? cname +
28c0: 20 27 20 27 20 3a 20 27 27 29 20 2b 20 6d 64 4f   ' ' : '') + mdO
28d0: 62 6a 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20  bj.name;..      
28e0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
28f0: 20 20 20 20 20 74 69 74 6c 65 20 3d 20 67 65 74       title = get
2900: 4d 64 4e 61 6d 65 28 76 69 65 77 2e 6d 64 4f 62  MdName(view.mdOb
2910: 6a 29 20 2b 20 27 3a 20 27 20 2b 20 76 69 65 77  j) + ': ' + view
2920: 2e 6d 64 50 72 6f 70 2e 6e 61 6d 65 28 31 29 3b  .mdProp.name(1);
2930: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a  ..            ..
2940: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
2950: 77 6e 64 2e 47 65 74 48 77 6e 64 28 29 20 21 3d  wnd.GetHwnd() !=
2960: 20 63 75 72 56 69 65 77 48 77 6e 64 29 0d 0a 20   curViewHwnd).. 
2970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63                 c
2980: 75 72 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73  urSyntaxAnalysis
2990: 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20   = null;..      
29a0: 20 20 20 20 20 20 20 20 20 20 63 75 72 4d 64 4f            curMdO
29b0: 62 6a 65 63 74 20 3d 20 77 6e 64 2e 47 65 74 48  bject = wnd.GetH
29c0: 77 6e 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  wnd();..        
29d0: 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a  }..    }..    ..
29e0: 20 20 20 20 69 66 20 28 21 63 75 72 53 79 6e 74      if (!curSynt
29f0: 61 78 41 6e 61 6c 79 73 69 73 20 7c 7c 20 21 76  axAnalysis || !v
2a00: 69 65 77 29 7b 0d 0a 20 20 20 20 20 20 20 20 76  iew){..        v
2a10: 61 72 20 6d 6f 64 20 3d 20 53 79 6e 74 61 78 41  ar mod = SyntaxA
2a20: 6e 61 6c 79 73 69 73 2e 41 6e 61 6c 79 73 65 54  nalysis.AnalyseT
2a30: 65 78 74 44 6f 63 75 6d 65 6e 74 28 77 6e 64 29  extDocument(wnd)
2a40: 3b 0d 0a 20 20 20 20 20 20 20 20 63 75 72 53 79  ;..        curSy
2a50: 6e 74 61 78 41 6e 61 6c 79 73 69 73 20 3d 20 6d  ntaxAnalysis = m
2a60: 6f 64 3b 0d 0a 20 20 20 20 7d 20 65 6c 73 65 20  od;..    } else 
2a70: 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d  {..        var m
2a80: 6f 64 20 3d 20 63 75 72 53 79 6e 74 61 78 41 6e  od = curSyntaxAn
2a90: 61 6c 79 73 69 73 3b 0d 0a 20 20 20 20 7d 0d 0a  alysis;..    }..
2aa0: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 6d 65      ..    var me
2ab0: 74 68 20 3d 20 6d 6f 64 2e 67 65 74 41 63 74 69  th = mod.getActi
2ac0: 76 65 4c 69 6e 65 4d 65 74 68 6f 64 28 29 0d 0a  veLineMethod()..
2ad0: 20 20 20 20 72 4d 6f 64 75 6c 65 2e d0 97 d0 bd      rModule.....
2ae0: d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 3d 20 74  ............ = t
2af0: 69 74 6c 65 3b 0d 0a 20 20 20 20 2f 2f 64 65 62  itle;..    //deb
2b00: 75 67 67 65 72 0d 0a 20 20 20 20 2f 2f 20 d0 97  ugger..    // ..
2b10: d0 b0 d0 bf d0 be d0 bb d0 bd d0 b8 d0 bc 20 d0  .............. .
2b20: bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1  ................
2b30: 8b d0 b5 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f  ... ............
2b40: 0d 0a 20 20 20 20 76 61 72 20 61 6c 6c 20 3d 20  ..    var all = 
2b50: 7b 7d 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20  {}..    for(var 
2b60: 6b 20 69 6e 20 6d 6f 64 2e 63 6f 6e 74 65 78 74  k in mod.context
2b70: 2e 4d 6f 64 75 6c 65 56 61 72 73 29 0d 0a 20 20  .ModuleVars)..  
2b80: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 67 65 74    {..        get
2b90: 52 6f 77 28 72 4d 6f 64 75 6c 65 2c 20 6d 6f 64  Row(rModule, mod
2ba0: 2e 63 6f 6e 74 65 78 74 2e 4d 6f 64 75 6c 65 56  .context.ModuleV
2bb0: 61 72 73 5b 6b 5d 29 0d 0a 20 20 20 20 20 20 20  ars[k])..       
2bc0: 20 61 6c 6c 5b 6d 6f 64 2e 63 6f 6e 74 65 78 74   all[mod.context
2bd0: 2e 4d 6f 64 75 6c 65 56 61 72 73 5b 6b 5d 5d 20  .ModuleVars[k]] 
2be0: 3d 20 74 72 75 65 0d 0a 20 20 20 20 7d 0d 0a 20  = true..    }.. 
2bf0: 20 20 20 72 65 6d 6f 76 65 52 6f 77 73 28 72 4d     removeRows(rM
2c00: 6f 64 75 6c 65 2c 20 61 6c 6c 29 0d 0a 20 20 20  odule, all)..   
2c10: 20 69 66 20 28 21 6d 65 74 68 29 7b 0d 0a 20 20   if (!meth){..  
2c20: 20 20 20 20 20 20 72 50 61 72 61 6d 73 2e d0 97        rParams...
2c30: d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 3d  .............. =
2c40: 20 22 3c d0 92 d0 bd d0 b5 20 d0 bf d1 80 d0 be   "<...... ......
2c50: d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 2f d1 84 d1  ............/...
2c60: 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 3e 22 0d 0a 20  ...........>".. 
2c70: 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20     } else {..   
2c80: 20 20 20 20 20 2f 2f 20 d0 97 d0 b0 d0 bf d0 be       // ........
2c90: d0 bb d0 bd d0 b8 d0 bc 20 d0 bf d0 b0 d1 80 d0  ........ .......
2ca0: b0 d0 bc d0 b5 d1 82 d1 80 d1 8b 0d 0a 20 20 20  .............   
2cb0: 20 20 20 20 20 72 50 61 72 61 6d 73 2e d0 97 d0       rParams....
2cc0: bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 3d 20  ............. = 
2cd0: 6d 65 74 68 2e 4e 61 6d 65 3b 0d 0a 20 20 20 20  meth.Name;..    
2ce0: 20 20 20 20 69 66 28 21 6d 65 74 68 2e 50 61 72      if(!meth.Par
2cf0: 61 6d 73 29 7b 0d 0a 0d 0a 20 20 20 20 20 20 20  ams){....       
2d00: 20 7d 65 6c 73 65 7b 0d 0a 20 20 20 20 20 20 20   }else{..       
2d10: 20 20 20 20 20 76 61 72 20 61 6c 6c 20 3d 20 7b       var all = {
2d20: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66  }..            f
2d30: 6f 72 28 76 61 72 20 6b 20 69 6e 20 6d 65 74 68  or(var k in meth
2d40: 2e 50 61 72 61 6d 73 29 0d 0a 20 20 20 20 20 20  .Params)..      
2d50: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
2d60: 20 20 20 20 20 20 20 20 20 67 65 74 52 6f 77 28           getRow(
2d70: 72 50 61 72 61 6d 73 2c 20 6d 65 74 68 2e 50 61  rParams, meth.Pa
2d80: 72 61 6d 73 5b 6b 5d 29 0d 0a 20 20 20 20 20 20  rams[k])..      
2d90: 20 20 20 20 20 20 20 20 20 20 61 6c 6c 5b 6d 65            all[me
2da0: 74 68 2e 50 61 72 61 6d 73 5b 6b 5d 5d 20 3d 20  th.Params[k]] = 
2db0: 74 72 75 65 0d 0a 20 20 20 20 20 20 20 20 20 20  true..          
2dc0: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
2dd0: 20 72 65 6d 6f 76 65 52 6f 77 73 28 72 50 61 72   removeRows(rPar
2de0: 61 6d 73 2c 20 61 6c 6c 29 0d 0a 20 20 20 20 20  ams, all)..     
2df0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 2f 2f     }..        //
2e00: 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b8 d0   ...............
2e10: bc 20 d0 bb d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd  . ..............
2e20: d1 8b d0 b5 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0  .... ...........
2e30: b5 d0 bd d0 bd d1 8b d0 b5 0d 0a 20 20 20 20 20  ...........     
2e40: 20 20 20 76 61 72 20 61 6c 6c 20 3d 20 7b 7d 0d     var all = {}.
2e50: 0a 20 20 20 20 20 20 20 20 66 6f 72 28 76 61 72  .        for(var
2e60: 20 6b 20 69 6e 20 6d 65 74 68 2e 44 65 63 6c 61   k in meth.Decla
2e70: 72 65 64 56 61 72 73 29 0d 0a 20 20 20 20 20 20  redVars)..      
2e80: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
2e90: 20 67 65 74 52 6f 77 28 72 4c 6f 63 61 6c 2c 20   getRow(rLocal, 
2ea0: 6d 65 74 68 2e 44 65 63 6c 61 72 65 64 56 61 72  meth.DeclaredVar
2eb0: 73 5b 6b 5d 29 0d 0a 20 20 20 20 20 20 20 20 20  s[k])..         
2ec0: 20 20 20 61 6c 6c 5b 6d 65 74 68 2e 44 65 63 6c     all[meth.Decl
2ed0: 61 72 65 64 56 61 72 73 5b 6b 5d 5d 20 3d 20 74  aredVars[k]] = t
2ee0: 72 75 65 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a  rue..        }..
2ef0: 20 20 20 20 20 20 20 20 66 6f 72 28 76 61 72 20          for(var 
2f00: 6b 20 69 6e 20 6d 65 74 68 2e 41 75 74 6f 6d 61  k in meth.Automa
2f10: 74 69 63 56 61 72 73 29 0d 0a 20 20 20 20 20 20  ticVars)..      
2f20: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
2f30: 20 67 65 74 52 6f 77 28 72 4c 6f 63 61 6c 2c 20   getRow(rLocal, 
2f40: 6d 65 74 68 2e 41 75 74 6f 6d 61 74 69 63 56 61  meth.AutomaticVa
2f50: 72 73 5b 6b 5d 29 0d 0a 20 20 20 20 20 20 20 20  rs[k])..        
2f60: 20 20 20 20 61 6c 6c 5b 6d 65 74 68 2e 41 75 74      all[meth.Aut
2f70: 6f 6d 61 74 69 63 56 61 72 73 5b 6b 5d 5d 20 3d  omaticVars[k]] =
2f80: 20 74 72 75 65 0d 0a 20 20 20 20 20 20 20 20 7d   true..        }
2f90: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20  ..    }..    .. 
2fa0: 20 20 20 72 65 6d 6f 76 65 52 6f 77 73 28 72 4c     removeRows(rL
2fb0: 6f 63 61 6c 2c 20 61 6c 6c 29 0d 0a 20 20 20 20  ocal, all)..    
2fc0: 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0  form............
2fd0: bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e  ................
2fe0: d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd  ................
2ff0: d1 8b d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba  ................
3000: d0 b8 2e d0 a0 d0 b0 d0 b7 d0 b2 d0 b5 d1 80 d0  ................
3010: bd d1 83 d1 82 d1 8c 28 72 4d 6f 64 75 6c 65 2c  .......(rModule,
3020: 20 66 61 6c 73 65 29 0d 0a 20 20 20 20 66 6f 72   false)..    for
3030: 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82  m...............
3040: d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9f d0  ................
3050: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0  ................
3060: b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e  ................
3070: d0 a0 d0 b0 d0 b7 d0 b2 d0 b5 d1 80 d0 bd d1 83  ................
3080: d1 82 d1 8c 28 72 50 61 72 61 6d 73 2c 20 66 61  ....(rParams, fa
3090: 6c 73 65 29 0d 0a 20 20 20 20 66 6f 72 6d 2e d0  lse)..    form..
30a0: ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0  ................
30b0: a4 d0 be d1 80 d0 bc d1 8b 2e d0 9f d0 b5 d1 80  ................
30c0: d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e  ................
30d0: d1 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e d0 a0 d0  ................
30e0: b0 d0 b7 d0 b2 d0 b5 d1 80 d0 bd d1 83 d1 82 d1  ................
30f0: 8c 28 72 4c 6f 63 61 6c 2c 20 66 61 6c 73 65 29  .(rLocal, false)
3100: 0d 0a 20 20 20 20 66 6f 72 6d 2e d0 ad d0 bb d0  ..    form......
3110: b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1  ................
3120: 80 d0 bc d1 8b 2e d0 9f d0 b5 d1 80 d0 b5 d0 bc  ................
3130: d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e d1 82 d0 bb  ................
3140: d0 b0 d0 b4 d0 ba d0 b8 2e d0 a0 d0 b0 d0 b7 d0  ................
3150: b2 d0 b5 d1 80 d0 bd d1 83 d1 82 d1 8c 28 72 48  .............(rH
3160: 61 6e 64 73 2c 20 66 61 6c 73 65 29 3b 0d 0a 7d  ands, false);..}
3170: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 73 65 74  ....function set
3180: 52 6f 77 56 61 6c 75 65 28 72 6f 77 2c 20 76 61  RowValue(row, va
3190: 6c 75 65 2c 20 74 79 70 65 29 0d 0a 7b 0d 0a 20  lue, type)..{.. 
31a0: 20 20 20 69 66 28 6e 65 65 64 54 65 73 74 4d 6f     if(needTestMo
31b0: 64 69 66 69 65 64 29 0d 0a 20 20 20 20 7b 0d 0a  dified)..    {..
31c0: 20 20 20 20 20 20 20 20 69 66 28 72 6f 77 2e 4d          if(row.M
31d0: 6f 64 69 66 69 65 64 20 3d 3d 20 30 29 20 20 20  odified == 0)   
31e0: 2f 2f 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 20  // ............ 
31f0: d1 82 d0 be d0 bb d1 8c d0 ba d0 be 20 d1 87 d1  ............ ...
3200: 82 d0 be 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 b8  ... ............
3210: d0 bb d0 b0 d1 81 d1 8c 0d 0a 20 20 20 20 20 20  ..........      
3220: 20 20 20 20 20 20 72 6f 77 2e 4d 6f 64 69 66 69        row.Modifi
3230: 65 64 20 3d 20 31 20 20 20 20 2f 2f 20 d0 92 20  ed = 1    // .. 
3240: d1 81 d0 bb d0 b5 d0 b4 d1 83 d1 8e d1 89 d0 b8  ................
3250: d0 b9 20 d1 80 d0 b0 d0 b7 20 d0 bf d1 80 d0 be  .. ...... ......
3260: d0 b2 d0 b5 d1 80 d1 8f d1 82 d1 8c 20 d1 81 d1  ............ ...
3270: 82 d1 80 d0 be d0 ba d1 83 20 d0 bd d0 b0 20 d0  ......... .... .
3280: b8 d0 b7 d0 bc d0 b5 d0 bd d0 b5 d0 bd d0 b8 d0  ................
3290: b5 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0d  ...        else.
32a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77  .            row
32b0: 2e 4d 6f 64 69 66 69 65 64 20 3d 20 72 6f 77 2e  .Modified = row.
32c0: d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5  ................
32d0: 20 21 3d 3d 20 76 61 6c 75 65 20 3f 20 32 20 3a   !== value ? 2 :
32e0: 20 31 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 72   1..    }..    r
32f0: 6f 77 2e d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0  ow..............
3300: b8 d0 b5 20 3d 20 76 61 6c 75 65 0d 0a 20 20 20  ... = value..   
3310: 20 72 6f 77 2e d0 a2 d0 b8 d0 bf 20 3d 20 74 79   row....... = ty
3320: 70 65 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f  pe..}....functio
3330: 6e 20 75 70 64 61 74 65 4f 6e 65 45 78 70 72 65  n updateOneExpre
3340: 73 73 69 6f 6e 28 72 6f 77 2c 20 70 61 72 65 6e  ssion(row, paren
3350: 74 4e 61 6d 65 29 0d 0a 7b 0d 0a 20 20 20 20 2f  tName)..{..    /
3360: 2f 20 d0 a0 d0 b0 d1 81 d1 81 d1 87 d0 b8 d1 82  / ..............
3370: d0 b0 d0 b5 d0 bc 20 d0 be d1 82 d0 bb d0 b0 d0  ...... .........
3380: b4 d0 be d1 87 d0 bd d0 be d0 b5 20 d0 b7 d0 bd  ........... ....
3390: d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 d0 b2 20  ............ .. 
33a0: d1 81 d1 82 d1 80 d0 be d0 ba d0 b5 0d 0a 20 20  ..............  
33b0: 20 20 69 66 20 28 72 6f 77 2e d0 9d d0 b0 d0 b7    if (row.......
33c0: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 2e 6c 65 6e 67 74  ...........lengt
33d0: 68 3c 31 29 7b 0d 0a 20 20 20 20 20 20 20 20 73  h<1){..        s
33e0: 65 74 52 6f 77 56 61 6c 75 65 28 72 6f 77 2c 20  etRowValue(row, 
33f0: 27 27 2c 20 27 27 29 3b 0d 0a 20 20 20 20 20 20  '', '');..      
3400: 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 7d    return;..    }
3410: 0d 0a 20 20 20 20 76 61 72 20 65 78 70 72 20 3d  ..    var expr =
3420: 20 76 38 64 65 62 75 67 2e 65 76 61 6c 28 70 61   v8debug.eval(pa
3430: 72 65 6e 74 4e 61 6d 65 20 2b 20 72 6f 77 2e d0  rentName + row..
3440: 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 29  ...............)
3450: 0d 0a 20 20 20 20 2f 2f 20 d0 a3 d1 81 d1 82 d0  ..    // .......
3460: b0 d0 bd d0 be d0 b2 d0 b8 d0 bc 20 d0 b7 d0 bd  ........... ....
3470: d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 d0 b8 20  ............ .. 
3480: d0 bc d0 be d0 b4 d0 b8 d1 84 d0 b8 d1 86 d0 b8  ................
3490: d1 80 d0 be d0 b2 d0 b0 d0 bd d0 bd d0 be d1 81  ................
34a0: d1 82 d1 8c 0d 0a 20 20 20 20 73 65 74 52 6f 77  ......    setRow
34b0: 56 61 6c 75 65 28 72 6f 77 2c 20 65 78 70 72 2e  Value(row, expr.
34c0: 76 61 6c 75 65 2c 20 65 78 70 72 2e 74 79 70 65  value, expr.type
34d0: 29 0d 0a 20 20 20 20 2f 2f 20 d0 9f d0 b5 d1 80  )..    // ......
34e0: d0 b5 d0 b1 d0 b5 d1 80 d0 b5 d0 bc 20 d1 81 d0  ............ ...
34f0: b2 d0 be d0 b9 d1 81 d1 82 d0 b2 d0 b0 20 d0 b2  ............. ..
3500: d1 8b d1 87 d0 b8 d1 81 d0 bb d0 b5 d0 bd d0 bd  ................
3510: d0 be d0 b3 d0 be 20 d0 b2 d1 8b d1 80 d0 b0 d0  ...... .........
3520: b6 d0 b5 d0 bd d0 b8 d1 8f 0d 0a 20 20 20 20 76  ...........    v
3530: 61 72 20 61 6c 6c 20 3d 20 7b 7d 0d 0a 20 20 20  ar all = {}..   
3540: 20 66 6f 72 28 76 61 72 20 6b 20 3d 20 30 3b 20   for(var k = 0; 
3550: 6b 20 3c 20 65 78 70 72 2e 70 72 6f 70 43 6f 75  k < expr.propCou
3560: 6e 74 3b 20 6b 2b 2b 29 0d 0a 20 20 20 20 7b 0d  nt; k++)..    {.
3570: 0a 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f  .        var pro
3580: 70 20 3d 20 65 78 70 72 2e 70 72 6f 70 28 6b 29  p = expr.prop(k)
3590: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 72 20  ..        var r 
35a0: 3d 20 67 65 74 52 6f 77 28 72 6f 77 2c 20 70 72  = getRow(row, pr
35b0: 6f 70 2e 6e 61 6d 65 29 0d 0a 20 20 20 20 20 20  op.name)..      
35c0: 20 20 61 6c 6c 5b 70 72 6f 70 2e 6e 61 6d 65 5d    all[prop.name]
35d0: 20 3d 20 74 72 75 65 0d 0a 20 20 20 20 20 20 20   = true..       
35e0: 20 73 65 74 52 6f 77 56 61 6c 75 65 28 72 2c 20   setRowValue(r, 
35f0: 70 72 6f 70 2e 76 61 6c 75 65 2c 20 70 72 6f 70  prop.value, prop
3600: 2e 74 79 70 65 29 0d 0a 20 20 20 20 20 20 20 20  .type)..        
3610: 0d 0a 20 20 20 20 20 20 20 20 69 66 28 70 72 6f  ..        if(pro
3620: 70 2e 65 78 70 61 6e 64 61 62 6c 65 29 0d 0a 20  p.expandable).. 
3630: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
3640: 20 20 20 20 20 20 2f 2f 20 d0 a1 d0 b2 d0 be d0        // .......
3650: b9 d1 81 d1 82 d0 b2 d0 be 20 d0 b8 d0 bc d0 b5  ......... ......
3660: d0 b5 d1 82 20 d0 bf d0 be d0 b4 d1 81 d0 b2 d0  .... ...........
3670: be d0 b9 d1 81 d1 82 d0 b2 d0 b0 2c 20 d0 bd d0  ..........., ...
3680: b0 d0 b4 d0 be 20 d0 bf d0 be d0 ba d0 b0 d0 b7  ..... ..........
3690: d1 8b d0 b2 d0 b0 d1 82 d1 8c 20 d0 bf d0 bb d1  .......... .....
36a0: 8e d1 81 d0 b8 d0 ba 0d 0a 20 20 20 20 20 20 20  .........       
36b0: 20 20 20 20 20 69 66 28 21 72 2e d0 a1 d1 82 d1       if(!r......
36c0: 80 d0 be d0 ba d0 b8 2e d0 9a d0 be d0 bb d0 b8  ................
36d0: d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 28 29 29 20  ............()) 
36e0: 2f 2f 20 d0 94 d0 bb d1 8f 20 d1 8d d1 82 d0 be  // ...... ......
36f0: d0 b3 d0 be 20 d0 bf d1 80 d0 b8 20 d0 bd d0 b5  .... ...... ....
3700: d0 be d0 b1 d1 85 d0 be d0 b4 d0 b8 d0 bc d0 be  ................
3710: d1 81 d1 82 d0 b8 20 d0 b4 d0 be d0 b1 d0 b0 d0  ...... .........
3720: b2 d0 b8 d0 bc 20 d0 bf d1 83 d1 81 d1 82 d1 83  ..... ..........
3730: d1 8e 20 d1 81 d1 82 d1 80 d0 be d0 ba d1 83 0d  .. .............
3740: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3750: 20 72 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e   r..............
3760: d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c  ................
3770: 28 29 2e d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0  ()..............
3780: b8 d0 b5 20 3d 20 22 2d 22 0d 0a 20 20 20 20 20  ... = "-"..     
3790: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
37a0: 20 20 20 20 20 20 20 20 20 2f 2f 20 d0 95 d1 81           // ....
37b0: d0 bb d0 b8 20 d1 81 d0 b2 d0 be d0 b9 d1 81 d1  .... ...........
37c0: 82 d0 b2 d0 be 20 d1 81 d0 b0 d0 bc d0 be 20 d1  ..... ........ .
37d0: 80 d0 b0 d0 b7 d0 b2 d0 b5 d1 80 d0 bd d1 83 d1  ................
37e0: 82 d0 be 2c 20 d0 b5 d0 b3 d0 be 20 d0 bd d0 b0  ..., ...... ....
37f0: d0 b4 d0 be 20 d1 82 d0 be d0 b6 d0 b5 20 d0 be  .... ........ ..
3800: d0 b1 d0 bd d0 be d0 b2 d0 b8 d1 82 d1 8c 0d 0a  ................
3810: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 66              if(f
3820: 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd  orm.............
3830: d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0  ................
3840: 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1  ................
3850: 8b d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba d0  ................
3860: b8 2e d0 a0 d0 b0 d0 b7 d0 b2 d0 b5 d1 80 d0 bd  ................
3870: d1 83 d1 82 28 72 29 29 0d 0a 20 20 20 20 20 20  ....(r))..      
3880: 20 20 20 20 20 20 20 20 20 20 75 70 64 61 74 65            update
3890: 4f 6e 65 45 78 70 72 65 73 73 69 6f 6e 28 72 2c  OneExpression(r,
38a0: 20 70 61 72 65 6e 74 4e 61 6d 65 20 2b 20 72 6f   parentName + ro
38b0: 77 2e d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8  w...............
38c0: d0 b5 20 2b 20 22 2e 22 29 0d 0a 20 20 20 20 20  .. + ".")..     
38d0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 65 6c     }..        el
38e0: 73 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20  se..        {.. 
38f0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0 9d             // ..
3900: d0 b5 20 d1 80 d0 b0 d0 b7 d0 b2 d0 be d1 80 d0  .. .............
3910: b0 d1 87 d0 b8 d0 b2 d0 b0 d0 b5 d0 bc d0 be d0  ................
3920: b5 20 d1 81 d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2  . ..............
3930: d0 be 2c 20 d0 bd d0 b0 20 d0 b2 d1 81 d1 8f d0  .., .... .......
3940: ba d0 b8 d0 b9 20 d1 81 d0 bb d1 83 d1 87 d0 b0  ..... ..........
3950: d0 b9 20 d1 83 d0 b4 d0 b0 d0 bb d0 b8 d0 bc 20  .. ............ 
3960: d0 bf d0 be d0 b4 d1 87 d0 b8 d0 bd d0 b5 d0 bd  ................
3970: d0 bd d1 8b d0 b5 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
3980: ba d0 b8 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .....           
3990: 20 72 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e   r..............
39a0: d0 9e d1 87 d0 b8 d1 81 d1 82 d0 b8 d1 82 d1 8c  ................
39b0: 28 29 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  ()..        }.. 
39c0: 20 20 20 7d 0d 0a 20 20 20 20 72 65 6d 6f 76 65     }..    remove
39d0: 52 6f 77 73 28 72 6f 77 2c 20 61 6c 6c 29 0d 0a  Rows(row, all)..
39e0: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 75 70  }....function up
39f0: 64 61 74 65 52 6f 77 73 28 70 61 72 65 6e 74 29  dateRows(parent)
3a00: 0d 0a 7b 0d 0a 20 20 20 20 66 6f 72 28 76 61 72  ..{..    for(var
3a10: 20 72 6f 77 73 20 3d 20 6e 65 77 20 45 6e 75 6d   rows = new Enum
3a20: 65 72 61 74 6f 72 28 70 61 72 65 6e 74 2e d0 a1  erator(parent...
3a30: d1 82 d1 80 d0 be d0 ba d0 b8 29 3b 20 21 72 6f  ..........); !ro
3a40: 77 73 2e 61 74 45 6e 64 28 29 3b 20 72 6f 77 73  ws.atEnd(); rows
3a50: 2e 6d 6f 76 65 4e 65 78 74 28 29 29 0d 0a 20 20  .moveNext())..  
3a60: 20 20 20 20 20 20 75 70 64 61 74 65 4f 6e 65 45        updateOneE
3a70: 78 70 72 65 73 73 69 6f 6e 28 72 6f 77 73 2e 69  xpression(rows.i
3a80: 74 65 6d 28 29 2c 20 22 22 29 0d 0a 7d 0d 0a 0d  tem(), "")..}...
3a90: 0a 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65  .function update
3aa0: 44 65 62 75 67 45 78 70 72 65 73 73 69 6f 6e 73  DebugExpressions
3ab0: 28 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 28 21 66  ()..{..    if(!f
3ac0: 6f 72 6d 2e d0 9e d1 82 d0 ba d1 80 d1 8b d1 82  orm.............
3ad0: d0 b0 28 29 29 0d 0a 20 20 20 20 20 20 20 20 72  ..())..        r
3ae0: 65 74 75 72 6e 0d 0a 20 20 20 20 2f 2f 64 65 62  eturn..    //deb
3af0: 75 67 67 65 72 0d 0a 20 20 20 20 75 70 64 61 74  ugger..    updat
3b00: 65 52 6f 77 73 28 72 4d 6f 64 75 6c 65 29 0d 0a  eRows(rModule)..
3b10: 20 20 20 20 75 70 64 61 74 65 52 6f 77 73 28 72      updateRows(r
3b20: 50 61 72 61 6d 73 29 0d 0a 20 20 20 20 75 70 64  Params)..    upd
3b30: 61 74 65 52 6f 77 73 28 72 4c 6f 63 61 6c 29 0d  ateRows(rLocal).
3b40: 0a 20 20 20 20 75 70 64 61 74 65 52 6f 77 73 28  .    updateRows(
3b50: 72 48 61 6e 64 73 29 3b 0d 0a 20 20 20 20 6e 65  rHands);..    ne
3b60: 65 64 54 65 73 74 4d 6f 64 69 66 69 65 64 20 3d  edTestModified =
3b70: 20 66 61 6c 73 65 0d 0a 7d 0d 0a 0d 0a 66 75 6e   false..}....fun
3b80: 63 74 69 6f 6e 20 66 75 6c 6c 4e 61 6d 65 28 72  ction fullName(r
3b90: 6f 77 29 0d 0a 7b 0d 0a 20 20 20 20 6c 6f 67 67  ow)..{..    logg
3ba0: 65 72 2e 64 65 62 75 67 28 74 68 69 73 2e 6e 61  er.debug(this.na
3bb0: 6d 65 20 2b 20 22 20 d1 83 d1 80 d0 be d0 b2 d0  me + " .........
3bc0: b5 d0 bd d1 8c 20 22 2b 72 6f 77 2e d0 a3 d1 80  ..... "+row.....
3bd0: d0 be d0 b2 d0 b5 d0 bd d1 8c 28 29 29 3b 0d 0a  ..........());..
3be0: 20 20 20 20 76 61 72 20 74 20 3d 20 72 6f 77 2e      var t = row.
3bf0: d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5  ................
3c00: 0d 0a 20 20 20 20 69 66 20 28 72 6f 77 2e d0 a3  ..    if (row...
3c10: d1 80 d0 be d0 b2 d0 b5 d0 bd d1 8c 28 29 20 3e  ............() >
3c20: 20 31 29 7b 0d 0a 20 20 20 20 20 20 20 20 74 20   1){..        t 
3c30: 3d 20 66 75 6c 6c 4e 61 6d 65 28 72 6f 77 2e d0  = fullName(row..
3c40: a0 d0 be d0 b4 d0 b8 d1 82 d0 b5 d0 bb d1 8c 29  ...............)
3c50: 20 2b 22 2e 22 2b 74 3b 0d 0a 20 20 20 20 7d 0d   +"."+t;..    }.
3c60: 0a 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75  .    logger.debu
3c70: 67 28 22 22 2b 74 29 3b 0d 0a 20 20 20 20 72 65  g(""+t);..    re
3c80: 74 75 72 6e 20 74 0d 0a 7d 0d 0a 0d 0a 66 75 6e  turn t..}....fun
3c90: 63 74 69 6f 6e 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc  ction ..........
3ca0: d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e d1 82 d0 bb  ................
3cb0: d0 b0 d0 b4 d0 ba d0 b8 d0 92 d1 8b d0 b1 d0 be  ................
3cc0: d1 80 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  ..(.............
3cd0: 82 2c 20 d0 92 d1 8b d0 b1 d1 80 d0 b0 d0 bd d0  ., .............
3ce0: bd d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0  ................
3cf0: b0 2c 20 d0 9a d0 be d0 bb d0 be d0 bd d0 ba d0  ., .............
3d00: b0 2c 20 d0 a1 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1  ., .............
3d10: 80 d1 82 d0 bd d0 b0 d1 8f d0 9e d0 b1 d1 80 d0  ................
3d20: b0 d0 b1 d0 be d1 82 d0 ba d0 b0 29 0d 0a 7b 0d  ...........)..{.
3d30: 0a 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 27  .    //Message('
3d40: d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd  ................
3d50: d1 8b d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba  ................
3d60: d0 b8 d0 92 d1 8b d0 b1 d0 be d1 80 27 29 3b 0d  ............');.
3d70: 0a 20 20 20 20 76 61 72 20 76 61 6c 75 65 20 3d  .    var value =
3d80: 20 d0 92 d1 8b d0 b1 d1 80 d0 b0 d0 bd d0 bd d0   ...............
3d90: b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 2e  ................
3da0: 76 61 6c 2e d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd  val.............
3db0: d0 b8 d0 b5 0d 0a 20 20 20 20 69 66 28 76 61 6c  ......    if(val
3dc0: 75 65 2e 69 6e 64 65 78 4f 66 28 27 5c 6e 27 29  ue.indexOf('\n')
3dd0: 20 3e 3d 20 30 29 0d 0a 20 20 20 20 7b 0d 0a 20   >= 0)..    {.. 
3de0: 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 22         Message("
3df0: d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5  ................
3e00: 20 27 22 20 2b 20 66 75 6c 6c 4e 61 6d 65 28 d0   '" + fullName(.
3e10: 92 d1 8b d0 b1 d1 80 d0 b0 d0 bd d0 bd d0 b0 d1  ................
3e20: 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 2e 76 61  ..............va
3e30: 6c 29 20 2b 20 22 27 3a 22 2c 20 6d 49 6e 66 6f  l) + "':", mInfo
3e40: 29 0d 0a 20 20 20 20 20 20 20 20 4d 65 73 73 61  )..        Messa
3e50: 67 65 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 7d  ge(value)..    }
3e60: 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  ..}....function 
3e70: d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd  ................
3e80: d1 8b d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0 ba  ................
3e90: d0 b8 d0 9f d1 80 d0 b8 d0 92 d1 8b d0 b2 d0 be  ................
3ea0: d0 b4 d0 b5 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8  ................
3eb0: 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 2c  (..............,
3ec0: 20 d0 9e d1 84 d0 be d1 80 d0 bc d0 bb d0 b5 d0   ...............
3ed0: bd d0 b8 d0 b5 d0 a1 d1 82 d1 80 d0 be d0 ba d0  ................
3ee0: b8 2c 20 d0 94 d0 b0 d0 bd d0 bd d1 8b d0 b5 d0  ., .............
3ef0: a1 d1 82 d1 80 d0 be d0 ba d0 b8 29 0d 0a 7b 0d  ...........)..{.
3f00: 0a 20 20 20 20 69 66 28 d0 94 d0 b0 d0 bd d0 bd  .    if(........
3f10: d1 8b d0 b5 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8  ................
3f20: 2e 76 61 6c 2e d0 a3 d1 80 d0 be d0 b2 d0 b5 d0  .val............
3f30: bd d1 8c 28 29 20 3d 3d 20 30 29 0d 0a 20 20 20  ...() == 0)..   
3f40: 20 20 20 20 20 d0 9e d1 84 d0 be d1 80 d0 bc d0       ...........
3f50: bb d0 b5 d0 bd d0 b8 d0 b5 d0 a1 d1 82 d1 80 d0  ................
3f60: be d0 ba d0 b8 2e 76 61 6c 2e d0 a6 d0 b2 d0 b5  ......val.......
3f70: d1 82 d0 a4 d0 be d0 bd d0 b0 20 3d 20 63 6f 6c  .......... = col
3f80: 6f 72 47 72 61 79 0d 0a 20 20 20 20 65 6c 73 65  orGray..    else
3f90: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
3fa0: 20 69 66 28 d0 94 d0 b0 d0 bd d0 bd d1 8b d0 b5   if(............
3fb0: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e 76 61 6c  .............val
3fc0: 2e 4d 6f 64 69 66 69 65 64 20 3d 3d 20 32 29 0d  .Modified == 2).
3fd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 d0 9e d1  .            ...
3fe0: 84 d0 be d1 80 d0 bc d0 bb d0 b5 d0 bd d0 b8 d0  ................
3ff0: b5 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e 76 61  ..............va
4000: 6c 2e d0 a6 d0 b2 d0 b5 d1 82 d0 a2 d0 b5 d0 ba  l...............
4010: d1 81 d1 82 d0 b0 20 3d 20 63 6f 6c 6f 72 52 65  ...... = colorRe
4020: 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 94  d..        // ..
4030: d0 bb d1 8f 20 d1 81 d1 82 d1 80 d0 be d0 ba 20  .... .......... 
4040: d1 81 20 d0 bf d0 b5 d1 80 d0 b5 d0 bd d0 be d1  .. .............
4050: 81 d0 be d0 bc 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
4060: d0 b8 20 d0 bf d0 be d0 ba d0 b0 d0 b6 d0 b5 d0  .. .............
4070: bc 20 d0 ba d0 b0 d1 80 d1 82 d0 b8 d0 bd d0 ba  . ..............
4080: d1 83 2c 20 d1 87 d1 82 d0 be 20 d0 bd d0 b0 20  .., ...... .... 
4090: d0 bd d0 b5 d0 b5 20 d0 bc d0 be d0 b6 d0 bd d0  ...... .........
40a0: be 20 d1 89 d0 b5 d0 bb d0 ba d0 bd d1 83 d1 82  . ..............
40b0: d1 8c 0d 0a 20 20 20 20 20 20 20 20 69 66 28 d0  ....        if(.
40c0: 94 d0 b0 d0 bd d0 bd d1 8b d0 b5 d0 a1 d1 82 d1  ................
40d0: 80 d0 be d0 ba d0 b8 2e 76 61 6c 2e d0 97 d0 bd  ........val.....
40e0: d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 2e 69 6e 64  .............ind
40f0: 65 78 4f 66 28 27 5c 6e 27 29 20 3e 3d 20 30 29  exOf('\n') >= 0)
4100: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20  ..        {..   
4110: 20 20 20 20 20 20 20 20 20 76 61 72 20 63 65 6c           var cel
4120: 6c 20 3d 20 d0 9e d1 84 d0 be d1 80 d0 bc d0 bb  l = ............
4130: d0 b5 d0 bd d0 b8 d0 b5 d0 a1 d1 82 d1 80 d0 be  ................
4140: d0 ba d0 b8 2e 76 61 6c 2e d0 af d1 87 d0 b5 d0  .....val........
4150: b9 d0 ba d0 b8 2e d0 97 d0 bd d0 b0 d1 87 d0 b5  ................
4160: d0 bd d0 b8 d0 b5 0d 0a 20 20 20 20 20 20 20 20  ........        
4170: 20 20 20 20 63 65 6c 6c 2e d0 9e d1 82 d0 be d0      cell........
4180: b1 d1 80 d0 b0 d0 b6 d0 b0 d1 82 d1 8c d0 9a d0  ................
4190: b0 d1 80 d1 82 d0 b8 d0 bd d0 ba d1 83 20 3d 20  ............. = 
41a0: 74 72 75 65 0d 0a 20 20 20 20 20 20 20 20 20 20  true..          
41b0: 20 20 63 65 6c 6c 2e d0 98 d0 bd d0 b4 d0 b5 d0    cell..........
41c0: ba d1 81 d0 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd d0  ................
41d0: ba d0 b8 20 3d 20 30 0d 0a 20 20 20 20 20 20 20  ... = 0..       
41e0: 20 7d 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a   }..    }..}....
41f0: 66 75 6e 63 74 69 6f 6e 20 d0 9f d0 b5 d1 80 d0  function .......
4200: b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e d1  ................
4210: 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 d0 9f d0 b5 d1  ................
4220: 80 d0 b5 d0 b4 d0 a0 d0 b0 d0 b7 d0 b2 d0 be d1  ................
4230: 80 d0 b0 d1 87 d0 b8 d0 b2 d0 b0 d0 bd d0 b8 d0  ................
4240: b5 d0 bc 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd  ...(............
4250: d1 82 2c 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0  .., ............
4260: 2c 20 d0 9e d1 82 d0 ba d0 b0 d0 b7 29 0d 0a 7b  , ..........)..{
4270: 0d 0a 20 20 20 20 69 66 28 69 73 44 65 62 75 67  ..    if(isDebug
4280: 45 76 61 6c 45 6e 61 62 6c 65 64 28 29 29 20 20  EvalEnabled())  
4290: 20 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 20 d0 b2    // ........ ..
42a0: d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be 20 d0  .............. .
42b0: b2 d1 8b d1 87 d0 b8 d1 81 d0 bb d0 b5 d0 bd d0  ................
42c0: b8 d0 b5 20 d0 be d1 82 d0 bb d0 b0 d0 b4 d0 be  ... ............
42d0: d1 87 d0 bd d1 8b d1 85 20 d0 b2 d1 8b d1 80 d0  ........ .......
42e0: b0 d0 b6 d0 b5 d0 bd d0 b8 d0 b9 0d 0a 20 20 20  .............   
42f0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20   {..        var 
4300: 72 6f 77 20 3d 20 d0 a1 d1 82 d1 80 d0 be d0 ba  row = ..........
4310: d0 b0 2e 76 61 6c 0d 0a 20 20 20 20 20 20 20 20  ...val..        
4320: 69 66 28 72 6f 77 2e d0 a3 d1 80 d0 be d0 b2 d0  if(row..........
4330: b5 d0 bd d1 8c 28 29 20 3e 20 30 29 20 20 20 2f  .....() > 0)   /
4340: 2f 20 d0 ad d1 82 d0 be 20 d0 bd d0 b5 20 d1 81  / ...... .... ..
4350: d1 82 d1 80 d0 be d0 ba d0 b0 20 d1 81 20 d0 b8  .......... .. ..
4360: d0 bc d0 b5 d0 bd d0 b5 d0 bc 20 d1 80 d0 b0 d0  .......... .....
4370: b7 d0 b4 d0 b5 d0 bb d0 b0 0d 0a 20 20 20 20 20  ...........     
4380: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
4390: 20 20 69 66 28 72 6f 77 2e d0 a1 d1 82 d1 80 d0    if(row........
43a0: be d0 ba d0 b8 2e d0 9a d0 be d0 bb d0 b8 d1 87  ................
43b0: d0 b5 d1 81 d1 82 d0 b2 d0 be 28 29 20 3d 3d 20  ..........() == 
43c0: 31 20 26 26 20 72 6f 77 2e d0 a1 d1 82 d1 80 d0  1 && row........
43d0: be d0 ba d0 b8 2e d0 9f d0 be d0 bb d1 83 d1 87  ................
43e0: d0 b8 d1 82 d1 8c 28 30 29 2e d0 9d d0 b0 d0 b7  ......(0).......
43f0: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 3d 3d 20 22 2d  .......... == "-
4400: 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ")..            
4410: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
4420: 20 20 20 2f 2f 20 d0 a0 d0 b0 d0 b7 d0 b2 d0 be     // ..........
4430: d1 80 d0 b0 d1 87 d0 b8 d0 b2 d0 b0 d0 b5 d0 bc  ................
4440: 20 d0 bf d0 b5 d1 80 d0 b2 d1 8b d0 b9 20 d1 80   ............ ..
4450: d0 b0 d0 b7 0d 0a 20 20 20 20 20 20 20 20 20 20  ......          
4460: 20 20 20 20 20 20 75 70 64 61 74 65 4f 6e 65 45        updateOneE
4470: 78 70 72 65 73 73 69 6f 6e 28 72 6f 77 2c 20 66  xpression(row, f
4480: 75 6c 6c 4e 61 6d 65 28 72 6f 77 2e d0 a0 d0 be  ullName(row.....
4490: d0 b4 d0 b8 d1 82 d0 b5 d0 bb d1 8c 29 20 2b 20  ............) + 
44a0: 22 2e 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20  ".")..          
44b0: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a    }..        }..
44c0: 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63      }..}....func
44d0: 74 69 6f 6e 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc d0  tion ...........
44e0: b5 d0 bd d0 bd d1 8b d0 b5 d0 9e d1 82 d0 bb d0  ................
44f0: b0 d0 b4 d0 ba d0 b8 d0 9f d0 b5 d1 80 d0 b5 d0  ................
4500: b4 d0 9d d0 b0 d1 87 d0 b0 d0 bb d0 be d0 bc d0  ................
4510: 94 d0 be d0 b1 d0 b0 d0 b2 d0 bb d0 b5 d0 bd d0  ................
4520: b8 d1 8f 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd  ...(............
4530: d1 82 2c 20 d0 9e d1 82 d0 ba d0 b0 d0 b7 2c 20  .., .........., 
4540: d0 9a d0 be d0 bf d0 b8 d1 80 d0 be d0 b2 d0 b0  ................
4550: d0 bd d0 b8 d0 b5 2c 20 d0 a0 d0 be d0 b4 d0 b8  ......, ........
4560: d1 82 d0 b5 d0 bb d1 8c 29 7b 0d 0a 0d 0a 20 20  ........){....  
4570: 20 20 4d 65 73 73 61 67 65 28 d0 a0 d0 be d0 b4    Message(......
4580: d0 b8 d1 82 d0 b5 d0 bb d1 8c 2e d0 9d d0 b0 d0  ................
4590: b8 d0 bc d0 b5 d0 bd d0 be d0 b2 d0 b0 d0 bd d0  ................
45a0: b8 d0 b5 29 3b 0d 0a 20 20 20 20 69 66 20 28 21  ...);..    if (!
45b0: d0 a0 d0 be d0 b4 d0 b8 d1 82 d0 b5 d0 bb d1 8c  ................
45c0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 d0 9e d1 82  ){..        ....
45d0: d0 ba d0 b0 d0 b7 20 3d 20 74 72 75 65 3b 0d 0a  ...... = true;..
45e0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d          return;.
45f0: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20  .    }..    ..  
4600: 20 20 2f 2f 69 66 20 28 d0 a0 d0 be d0 b4 d0 b8    //if (........
4610: d1 82 d0 b5 d0 bb d1 8c 2e d0 a3 d1 80 d0 be d0  ................
4620: b2 d0 b5 d0 bd d1 8c 28 29 20 3e 20 30 29 7b 0d  .......() > 0){.
4630: 0a 20 20 20 20 2f 2f 20 20 20 20 d0 9e d1 82 d0  .    //    .....
4640: ba d0 b0 d0 b7 20 3d 20 74 72 75 65 3b 0d 0a 20  ..... = true;.. 
4650: 20 20 20 2f 2f 20 20 20 20 72 65 74 75 72 6e 3b     //    return;
4660: 0d 0a 20 20 20 20 2f 2f 7d 0d 0a 20 20 20 20 0d  ..    //}..    .
4670: 0a 20 20 20 20 69 66 20 28 d0 a0 d0 be d0 b4 d0  .    if (.......
4680: b8 d1 82 d0 b5 d0 bb d1 8c 2e d0 9d d0 b0 d0 b8  ................
4690: d0 bc d0 b5 d0 bd d0 be d0 b2 d0 b0 d0 bd d0 b8  ................
46a0: d0 b5 20 21 3d 20 72 48 61 6e 64 73 2e d0 9d d0  .. != rHands....
46b0: b0 d0 b8 d0 bc d0 b5 d0 bd d0 be d0 b2 d0 b0 d0  ................
46c0: bd d0 b8 d0 b5 29 7b 0d 0a 20 20 20 20 20 20 20  .....){..       
46d0: 20 d0 9e d1 82 d0 ba d0 b0 d0 b7 20 3d 20 74 72   .......... = tr
46e0: 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 74  ue;..        ret
46f0: 75 72 6e 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20  urn;..    }..   
4700: 20 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e   ..}....function
4710: 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0   ...............
4720: bd d1 8b d0 b5 d0 9e d1 82 d0 bb d0 b0 d0 b4 d0  ................
4730: ba d0 b8 d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0  ................
4740: b8 d0 b5 d0 9f d1 80 d0 b8 d0 98 d0 b7 d0 bc d0  ................
4750: b5 d0 bd d0 b5 d0 bd d0 b8 d0 b8 28 d0 ad d0 bb  ...........(....
4760: d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 0d  ..........) {...
4770: 0a 20 20 20 20 75 70 64 61 74 65 4f 6e 65 45 78  .    updateOneEx
4780: 70 72 65 73 73 69 6f 6e 28 66 6f 72 6d 2e d0 ad  pression(form...
4790: d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 a4  ................
47a0: d0 be d1 80 d0 bc d1 8b 2e d0 9f d0 b5 d1 80 d0  ................
47b0: b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 9e d1  ................
47c0: 82 d0 bb d0 b0 d0 b4 d0 ba d0 b8 2e d0 a2 d0 b5  ................
47d0: d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80  ................
47e0: d0 be d0 ba d0 b0 2c 20 22 22 29 3b 0d 0a 20 20  ......, "");..  
47f0: 20 20 0d 0a 7d 0d 0a 0d 0a 0d 0a 66 75 6e 63 74    ..}......funct
4800: 69 6f 6e 20 47 65 74 54 69 6d 65 72 45 78 70 72  ion GetTimerExpr
4810: 65 73 73 69 6f 6e 55 70 64 61 74 65 72 28 29 7b  essionUpdater(){
4820: 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ..    //////////
4830: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4840: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4850: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4860: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4870: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
4880: 2f 2f 2f 2f 7b 20 54 69 6d 65 72 45 78 70 72 65  ////{ TimerExpre
4890: 73 73 69 6f 6e 55 70 64 61 74 65 72 20 2d 20 d0  ssionUpdater - .
48a0: bf d0 b5 d1 80 d0 b5 d0 be d0 b4 d0 b8 d1 87 d0  ................
48b0: b5 d1 81 d0 ba d0 b8 20 d0 be d0 b1 d0 bd d0 be  ....... ........
48c0: d0 b2 d0 bb d1 8f d0 b5 d0 bc 20 d0 b7 d0 bd d0  .......... .....
48d0: b0 d1 87 d0 b5 d0 bd d0 b8 d1 8f 20 d0 bf d0 b5  ........... ....
48e0: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85  ................
48f0: 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 54 69 6d 65 72 45  ..////....TimerE
4900: 78 70 72 65 73 73 69 6f 6e 55 70 64 61 74 65 72  xpressionUpdater
4910: 20 3d 20 73 74 64 6c 69 62 2e 43 6c 61 73 73 2e   = stdlib.Class.
4920: 65 78 74 65 6e 64 28 7b 0d 0a 0d 0a 20 20 20 20  extend({....    
4930: 63 6f 6e 73 74 72 75 63 74 20 3a 20 66 75 6e 63  construct : func
4940: 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 20  tion() {..      
4950: 20 20 74 68 69 73 2e 74 69 6d 65 72 49 64 20 3d    this.timerId =
4960: 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69   0;..        thi
4970: 73 2e 73 74 6f 70 20 3d 20 66 61 6c 73 65 3b 0d  s.stop = false;.
4980: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 74 69  .        this.ti
4990: 6d 65 6f 75 74 20 3d 20 31 30 30 3b 0d 0a 20 20  meout = 100;..  
49a0: 20 20 20 20 20 20 2f 2f 74 68 69 73 2e 73 74 61        //this.sta
49b0: 72 74 57 61 74 63 68 28 29 3b 0d 0a 20 20 20 20  rtWatch();..    
49c0: 7d 2c 0d 0a 0d 0a 20 20 20 20 75 70 64 61 74 65  },....    update
49d0: 54 69 6d 65 72 3a 20 66 75 6e 63 74 69 6f 6e 28  Timer: function(
49e0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67  ){..        logg
49f0: 65 72 2e 64 65 62 75 67 28 74 68 69 73 2e 6e 61  er.debug(this.na
4a00: 6d 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 74 68  me);..        th
4a10: 69 73 2e 73 74 6f 70 57 61 74 63 68 28 29 3b 0d  is.stopWatch();.
4a20: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 74  .        this.st
4a30: 61 72 74 57 61 74 63 68 28 29 0d 0a 20 20 20 20  artWatch()..    
4a40: 7d 2c 0d 0a 0d 0a 20 20 20 20 73 74 61 72 74 57  },....    startW
4a50: 61 74 63 68 20 3a 20 66 75 6e 63 74 69 6f 6e 20  atch : function 
4a60: 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 6c 6f  () {..        lo
4a70: 67 67 65 72 2e 64 65 62 75 67 28 74 68 69 73 2e  gger.debug(this.
4a80: 6e 61 6d 65 20 2b 20 22 20 22 2b 20 74 68 69 73  name + " "+ this
4a90: 2e 63 6f 6e 73 74 72 75 63 74 6f 72 2e 6e 61 6d  .constructor.nam
4aa0: 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69  e);....        i
4ab0: 66 20 28 74 68 69 73 2e 74 69 6d 65 72 49 64 29  f (this.timerId)
4ac0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
4ad0: 69 73 2e 73 74 6f 70 57 61 74 63 68 28 29 3b 0d  is.stopWatch();.
4ae0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
4af0: 20 20 20 69 66 20 28 74 68 69 73 2e 73 74 6f 70     if (this.stop
4b00: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
4b10: 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 d0 a2  logger.debug("..
4b20: d0 b0 d0 b9 d0 bc d0 b5 d1 80 20 d0 be d1 82 d0  .......... .....
4b30: ba d0 bb d1 8e d1 87 d0 b5 d0 bd 20 22 2b 74 68  ........... "+th
4b40: 69 73 2e 73 74 6f 70 29 3b 0d 0a 20 20 20 20 20  is.stop);..     
4b50: 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a         return;..
4b60: 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20          }....   
4b70: 20 20 20 20 20 74 68 69 73 2e 74 69 6d 65 72 49       this.timerI
4b80: 64 20 3d 20 63 72 65 61 74 65 54 69 6d 65 72 28  d = createTimer(
4b90: 74 68 69 73 2e 74 69 6d 65 6f 75 74 2c 20 74 68  this.timeout, th
4ba0: 69 73 2c 20 27 6f 6e 54 69 6d 65 72 27 29 3b 0d  is, 'onTimer');.
4bb0: 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 73  .    },....    s
4bc0: 74 6f 70 57 61 74 63 68 20 3a 20 66 75 6e 63 74  topWatch : funct
4bd0: 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20 20  ion () {..      
4be0: 20 20 69 66 20 28 21 74 68 69 73 2e 74 69 6d 65    if (!this.time
4bf0: 72 49 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20  rId)..          
4c00: 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20    return;..     
4c10: 20 20 20 6b 69 6c 6c 54 69 6d 65 72 28 74 68 69     killTimer(thi
4c20: 73 2e 74 69 6d 65 72 49 64 29 3b 0d 0a 20 20 20  s.timerId);..   
4c30: 20 20 20 20 20 74 68 69 73 2e 74 69 6d 65 72 49       this.timerI
4c40: 64 20 3d 20 30 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  d = 0;..    },..
4c50: 0d 0a 20 20 20 20 6f 6e 54 69 6d 65 72 20 3a 20  ..    onTimer : 
4c60: 66 75 6e 63 74 69 6f 6e 20 28 74 69 6d 65 72 49  function (timerI
4c70: 64 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  d) {..        ..
4c80: 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 74 6f          this.sto
4c90: 70 57 61 74 63 68 28 29 3b 0d 0a 20 20 20 20 20  pWatch();..     
4ca0: 20 20 20 69 66 28 21 69 73 44 65 62 75 67 45 76     if(!isDebugEv
4cb0: 61 6c 45 6e 61 62 6c 65 64 28 29 29 7b 0d 0a 20  alEnabled()){.. 
4cc0: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
4cd0: 6e 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d  n;..        }...
4ce0: 0a 20 20 20 20 20 20 20 20 69 66 28 21 66 6f 72  .        if(!for
4cf0: 6d 2e d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d0 b0  m...............
4d00: 28 29 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ()){..          
4d10: 20 20 74 68 69 73 2e 73 74 6f 70 57 61 74 63 68    this.stopWatch
4d20: 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ();..           
4d30: 20 72 65 74 75 72 6e 0d 0a 20 20 20 20 20 20 20   return..       
4d40: 20 7d 0d 0a 20 20 20 20 20 20 20 20 74 72 79 20   }..        try 
4d50: 7b 0d 0a 20 20 20 20 20 20 20 20 75 70 64 61 74  {..        updat
4d60: 65 52 6f 77 73 28 72 4d 6f 64 75 6c 65 29 0d 0a  eRows(rModule)..
4d70: 20 20 20 20 20 20 20 20 75 70 64 61 74 65 52 6f          updateRo
4d80: 77 73 28 72 50 61 72 61 6d 73 29 0d 0a 20 20 20  ws(rParams)..   
4d90: 20 20 20 20 20 75 70 64 61 74 65 52 6f 77 73 28       updateRows(
4da0: 72 4c 6f 63 61 6c 29 0d 0a 20 20 20 20 20 20 20  rLocal)..       
4db0: 20 75 70 64 61 74 65 52 6f 77 73 28 72 48 61 6e   updateRows(rHan
4dc0: 64 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  ds);..        ..
4dd0: 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20          } catch 
4de0: 28 65 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20  (e) {..         
4df0: 20 20 20 20 2f 2f 20 d0 92 d1 81 d0 b5 20 d0 be      // ...... ..
4e00: d1 88 d0 b8 d0 b1 d0 ba d0 b8 20 d0 b1 d1 83 d0  .......... .....
4e10: b4 d0 b5 d0 bc 20 d0 b3 d0 b0 d1 81 d0 b8 d1 82  ..... ..........
4e20: d1 8c 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  ....        }.. 
4e30: 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 7d 29 3b 20     }..    ..}); 
4e40: 2f 2f 20 65 6e 64 20 6f 66 20 54 69 6d 65 72 45  // end of TimerE
4e50: 78 70 72 65 73 73 69 6f 6e 55 70 64 61 74 65 72  xpressionUpdater
4e60: 20 63 6c 61 73 73 0d 0a 0d 0a 20 20 20 20 72 65   class....    re
4e70: 74 75 72 6e 20 6e 65 77 20 54 69 6d 65 72 45 78  turn new TimerEx
4e80: 70 72 65 73 73 69 6f 6e 55 70 64 61 74 65 72 28  pressionUpdater(
4e90: 29 3b 0d 0a 7d 0d 0a 0d 0a                       );..}....