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 );..}....