Hex Artifact Content Вы: nobody
Вход

Artifact 0125f00ab11c24ea87d26a672b9add31759479c3:


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 45 78 74 65 6e  pt..$uname Exten
0020: 64 65 64 53 65 61 72 63 68 0d 0a 24 64 6e 61 6d  dedSearch..$dnam
0030: 65 20 d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5  e ..............
0040: d0 bd d0 bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1  ........ .......
0050: 81 d0 ba 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62  .....$addin glob
0060: 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 63 6f  al..$addin stdco
0070: 6d 6d 61 6e 64 73 0d 0a 24 61 64 64 69 6e 20 73  mmands..$addin s
0080: 74 64 6c 69 62 0d 0a 24 61 64 64 69 6e 20 68 6f  tdlib..$addin ho
0090: 74 6b 65 79 73 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f  tkeys....///////
00a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00f0: 2f 0d 0a 2f 2f 2f 2f 7b 20 43 d0 ba d1 80 d0 b8  /..////{ C......
0100: d0 bf d1 82 20 22 d0 a0 d0 b0 d1 81 d1 88 d0 b8  .... "..........
0110: d1 80 d0 b5 d0 bd d0 bd d1 8b d0 b9 20 d0 bf d0  ............ ...
0120: be d0 b8 d1 81 d0 ba 22 20 28 65 78 74 53 65 61  ......." (extSea
0130: 72 63 68 2e 6a 73 29 20 d0 b4 d0 bb d1 8f 20 d0  rch.js) ...... .
0140: bf d1 80 d0 be d0 b5 d0 ba d1 82 d0 b0 20 22 d0  ............. ".
0150: a1 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82 22  ..............."
0160: 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 20 d0 9e d0  ..////..//// ...
0170: bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 3a 20 d0  .............: .
0180: a0 d0 b5 d0 b0 d0 bb d0 b8 d0 b7 d1 83 d0 b5 d1  ................
0190: 82 20 d0 bf d0 be d0 b8 d1 81 d0 ba 20 d1 82 d0  . .......... ...
01a0: b5 d0 ba d1 81 d1 82 d0 b0 20 d0 bf d1 80 d0 b8  ......... ......
01b0: 20 d0 bf d0 be d0 bc d0 be d1 89 d0 b8 20 d1 80   ............ ..
01c0: d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 d0 bd d1 8b  ................
01d0: d1 85 20 d0 b2 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0  .. .............
01e0: bd d0 b8 d0 b9 20 d0 b2 20 d0 b0 d0 ba d1 82 d0  ..... .. .......
01f0: b8 d0 b2 d0 bd d0 be d0 bc 20 d0 be d0 ba d0 bd  ......... ......
0200: d0 b5 20 d1 80 d0 b5 d0 b4 d0 b0 d0 ba d1 82 d0  .. .............
0210: be d1 80 d0 b0 2e 0d 0a 2f 2f 2f 2f 20 d0 90 d0  ........//// ...
0220: b2 d1 82 d0 be d1 80 3a 20 d0 90 d0 bb d0 b5 d0  .......: .......
0230: ba d1 81 d0 b0 d0 bd d0 b4 d1 80 20 d0 9a d1 83  ........... ....
0240: d0 bd d1 82 d0 b0 d1 88 d0 be d0 b2 20 3c 6b 75  ............ <ku
0250: 6e 74 61 73 68 6f 76 40 67 6d 61 69 6c 2e 63 6f  ntashov@gmail.co
0260: 6d 3e 2c 20 68 74 74 70 3a 2f 2f 63 6f 6d 70 61  m>, http://compa
0270: 75 64 2e 72 75 2f 62 6c 6f 67 0d 0a 2f 2f 2f 2f  ud.ru/blog..////
0280: 7d 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  }../////////////
0290: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
02d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 73  ///////////....s
02e0: 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28 27 54  tdlib.require('T
02f0: 65 78 74 57 69 6e 64 6f 77 2e 6a 73 27 2c 20 53  extWindow.js', S
0300: 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 73 74 64  elfScript);..std
0310: 6c 69 62 2e 72 65 71 75 69 72 65 28 27 53 63 72  lib.require('Scr
0320: 69 70 74 46 6f 72 6d 2e 6a 73 27 2c 20 53 65 6c  iptForm.js', Sel
0330: 66 53 63 72 69 70 74 29 3b 0d 0a 67 6c 6f 62 61  fScript);..globa
0340: 6c 2e 63 6f 6e 6e 65 63 74 47 6c 6f 62 61 6c 73  l.connectGlobals
0350: 28 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 0d  (SelfScript);...
0360: 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .///////////////
0370: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0380: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0390: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
03a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
03b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b  /////////..////{
03c0: 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 81 d1 8b 0d   ...............
03d0: 0a 2f 2f 2f 2f 0d 0a 0d 0a 53 65 6c 66 53 63 72  .////....SelfScr
03e0: 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73  ipt.self['macros
03f0: d0 9d d0 b0 d0 b9 d1 82 d0 b8 20 d1 82 d0 b5 d0  .......... .....
0400: ba d1 81 d1 82 27 5d 20 3d 20 66 75 6e 63 74 69  .....'] = functi
0410: 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20  on() {..    ..  
0420: 20 20 76 61 72 20 77 20 3d 20 47 65 74 54 65 78    var w = GetTex
0430: 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20  tWindow();..    
0440: 69 66 20 28 21 77 29 20 72 65 74 75 72 6e 20 66  if (!w) return f
0450: 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20  alse;..    ..   
0460: 20 76 61 72 20 65 73 20 3d 20 47 65 74 45 78 74   var es = GetExt
0470: 53 65 61 72 63 68 28 29 3b 0d 0a 20 20 20 20 20  Search();..     
0480: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c     ..    var sel
0490: 54 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c 65  Text = w.GetSele
04a0: 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20  ctedText();..   
04b0: 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d 3d 20   if (selText == 
04c0: 27 27 29 0d 0a 20 20 20 20 20 20 20 20 73 65 6c  '')..        sel
04d0: 54 65 78 74 20 3d 20 77 2e 47 65 74 57 6f 72 64  Text = w.GetWord
04e0: 55 6e 64 65 72 43 75 72 73 6f 72 28 29 3b 0d 0a  UnderCursor();..
04f0: 20 20 20 20 0d 0a 20 20 20 20 65 73 2e 73 65 74      ..    es.set
0500: 53 69 6d 70 6c 65 51 75 65 72 79 28 73 65 6c 54  SimpleQuery(selT
0510: 65 78 74 29 3b 20 20 20 20 0d 0a 20 20 20 20 65  ext);    ..    e
0520: 73 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20 20  s.show();..     
0530: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 73 65 6c     ..    if (sel
0540: 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20  Text == '')..   
0550: 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 73 2e 63   {..        es.c
0560: 6c 65 61 72 53 65 61 72 63 68 52 65 73 75 6c 74  learSearchResult
0570: 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 73  s();..        es
0580: 2e 73 65 74 44 65 66 61 75 6c 74 53 65 61 72 63  .setDefaultSearc
0590: 68 51 75 65 72 79 28 29 3b 0d 0a 20 20 20 20 7d  hQuery();..    }
05a0: 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20  ..    else..    
05b0: 20 20 20 20 65 73 2e 73 65 61 72 63 68 41 63 74      es.searchAct
05c0: 69 76 65 44 6f 63 28 74 72 75 65 29 3b 0d 0a 20  iveDoc(true);.. 
05d0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 72 65 74         ..    ret
05e0: 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a  urn true;..}....
05f0: 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 5b  SelfScript.self[
0600: 27 6d 61 63 72 6f 73 d0 9d d0 b0 d0 b9 d1 82 d0  'macros.........
0610: b8 20 d0 b2 d0 be 20 d0 b2 d1 81 d0 b5 d1 85 20  . .... ........ 
0620: d0 be d1 82 d0 ba d1 80 d1 8b d1 82 d1 8b d1 85  ................
0630: 20 d0 b4 d0 be d0 ba d1 83 d0 bc d0 b5 d0 bd d1   ...............
0640: 82 d0 b0 d1 85 27 5d 20 3d 20 66 75 6e 63 74 69  .....'] = functi
0650: 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20  on() {..    ..  
0660: 20 20 76 61 72 20 77 20 3d 20 47 65 74 54 65 78    var w = GetTex
0670: 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20  tWindow();..    
0680: 69 66 20 28 21 77 29 20 72 65 74 75 72 6e 20 66  if (!w) return f
0690: 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20  alse;..    ..   
06a0: 20 76 61 72 20 65 73 20 3d 20 47 65 74 45 78 74   var es = GetExt
06b0: 53 65 61 72 63 68 28 29 3b 0d 0a 20 20 20 20 20  Search();..     
06c0: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c     ..    var sel
06d0: 54 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c 65  Text = w.GetSele
06e0: 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20  ctedText();..   
06f0: 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d 3d 20   if (selText == 
0700: 27 27 29 0d 0a 20 20 20 20 20 20 20 20 73 65 6c  '')..        sel
0710: 54 65 78 74 20 3d 20 77 2e 47 65 74 57 6f 72 64  Text = w.GetWord
0720: 55 6e 64 65 72 43 75 72 73 6f 72 28 29 3b 0d 0a  UnderCursor();..
0730: 20 20 20 20 0d 0a 20 20 20 20 65 73 2e 73 65 74      ..    es.set
0740: 53 69 6d 70 6c 65 51 75 65 72 79 28 73 65 6c 54  SimpleQuery(selT
0750: 65 78 74 29 3b 20 20 20 20 0d 0a 20 20 20 20 65  ext);    ..    e
0760: 73 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20 20  s.show();..     
0770: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 73 65 6c     ..    if (sel
0780: 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a 20 20 20  Text == '')..   
0790: 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 73 2e 63   {..        es.c
07a0: 6c 65 61 72 53 65 61 72 63 68 52 65 73 75 6c 74  learSearchResult
07b0: 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 73  s();..        es
07c0: 2e 73 65 74 44 65 66 61 75 6c 74 53 65 61 72 63  .setDefaultSearc
07d0: 68 51 75 65 72 79 28 29 3b 0d 0a 20 20 20 20 7d  hQuery();..    }
07e0: 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20  ..    else..    
07f0: 20 20 20 20 65 73 2e 73 65 61 72 63 68 4f 70 65      es.searchOpe
0800: 6e 65 64 57 69 6e 64 6f 77 73 28 74 72 75 65 29  nedWindows(true)
0810: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
0820: 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d   return true;..}
0830: 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73  ....SelfScript.s
0840: 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 93 d0 bb d0  elf['macros.....
0850: be d0 b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 20  ............... 
0860: d0 bf d0 be d0 b8 d1 81 d0 ba 27 5d 20 3d 20 66  ..........'] = f
0870: 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20  unction() {..   
0880: 20 0d 0a 20 20 20 20 76 61 72 20 65 73 20 3d 20   ..    var es = 
0890: 47 65 74 45 78 74 53 65 61 72 63 68 47 6c 6f 62  GetExtSearchGlob
08a0: 61 6c 28 29 3b 0d 0a 0d 0a 20 20 20 20 76 61 72  al();....    var
08b0: 20 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e 64   w = GetTextWind
08c0: 6f 77 28 29 3b 0d 0a 20 20 20 20 69 66 20 28 21  ow();..    if (!
08d0: 77 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61  w) {..        va
08e0: 72 20 73 65 6c 54 65 78 74 20 3d 20 27 27 3b 0d  r selText = '';.
08f0: 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20  .    } else {.. 
0900: 20 20 20 20 20 20 20 76 61 72 20 73 65 6c 54 65         var selTe
0910: 78 74 20 3d 20 77 2e 47 65 74 53 65 6c 65 63 74  xt = w.GetSelect
0920: 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 20  edText();..     
0930: 20 20 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d     if (selText =
0940: 3d 20 27 27 29 0d 0a 20 20 20 20 20 20 20 20 20  = '')..         
0950: 20 20 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47     selText = w.G
0960: 65 74 57 6f 72 64 55 6e 64 65 72 43 75 72 73 6f  etWordUnderCurso
0970: 72 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20  r();..    }..   
0980: 20 0d 0a 20 20 20 20 65 73 2e 69 73 47 6c 6f 62   ..    es.isGlob
0990: 61 6c 46 69 6e 64 20 3d 20 74 72 75 65 3b 0d 0a  alFind = true;..
09a0: 20 20 20 20 65 73 2e 61 63 74 69 76 65 56 69 65      es.activeVie
09b0: 77 20 3d 20 77 69 6e 64 6f 77 73 2e 67 65 74 41  w = windows.getA
09c0: 63 74 69 76 65 56 69 65 77 28 29 3b 0d 0a 20 20  ctiveView();..  
09d0: 20 20 65 73 2e 69 73 49 6e 43 75 72 72 65 6e 74    es.isInCurrent
09e0: 4d 64 43 6f 6e 74 65 69 6e 65 72 46 69 6e 64 20  MdConteinerFind 
09f0: 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 65 73  = false;..    es
0a00: 2e 73 65 74 53 69 6d 70 6c 65 51 75 65 72 79 28  .setSimpleQuery(
0a10: 73 65 6c 54 65 78 74 29 3b 20 20 20 20 0d 0a 20  selText);    .. 
0a20: 20 20 20 65 73 2e 73 68 6f 77 28 29 3b 0d 0a 0d     es.show();...
0a30: 0a 20 20 20 20 69 66 20 28 73 65 6c 54 65 78 74  .    if (selText
0a40: 20 3d 3d 20 27 27 29 0d 0a 20 20 20 20 7b 0d 0a   == '')..    {..
0a50: 20 20 20 20 20 20 20 20 65 73 2e 63 6c 65 61 72          es.clear
0a60: 53 65 61 72 63 68 52 65 73 75 6c 74 73 28 29 3b  SearchResults();
0a70: 0d 0a 20 20 20 20 20 20 20 20 65 73 2e 73 65 74  ..        es.set
0a80: 44 65 66 61 75 6c 74 53 65 61 72 63 68 51 75 65  DefaultSearchQue
0a90: 72 79 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20  ry();..    }..  
0aa0: 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20    else..        
0ab0: 65 73 2e 73 65 61 72 63 68 49 6e 4d 65 74 61 64  es.searchInMetad
0ac0: 61 74 61 28 74 72 75 65 29 3b 0d 0a 20 20 20 20  ata(true);..    
0ad0: 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e      ..    return
0ae0: 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c   true;..}....Sel
0af0: 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61  fScript.self['ma
0b00: 63 72 6f 73 d0 93 d0 bb d0 be d0 b1 d0 b0 d0 bb  cros............
0b10: d1 8c d0 bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1  ........ .......
0b20: 81 d0 ba 20 d0 bf d0 be 20 d1 82 d0 b5 d0 ba d1  ... .... .......
0b30: 83 d1 89 d0 b5 d0 bc d1 83 20 d0 ba d0 be d0 bd  ......... ......
0b40: d1 82 d0 b5 d0 b9 d0 bd d0 b5 d1 80 d1 83 27 5d  ..............']
0b50: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d   = function() {.
0b60: 0a 20 20 20 20 2f 2f d0 a2 d0 b5 d0 ba d1 83 d1  .    //.........
0b70: 89 d0 b8 d0 b9 20 d0 ba d0 be d0 bd d1 82 d0 b5  ..... ..........
0b80: d0 b9 d0 bd d0 b5 d1 80 20 d0 bc d0 b5 d1 82 d0  ........ .......
0b90: b0 d0 b4 d0 b0 d0 bd d0 bd d1 8b d1 85 20 d0 be  ............. ..
0ba0: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d1 8f d0 b5  ................
0bb0: d0 bc 20 d0 bf d0 be 20 d0 b0 d0 ba d1 82 d0 b8  .. .... ........
0bc0: d0 b2 d0 bd d0 be d0 bc d1 83 20 d0 be d0 ba d0  .......... .....
0bd0: bd d1 83 2e 20 0d 0a 20 20 20 20 2f 2f d0 b1 d1  .... ..    //...
0be0: 83 d0 b4 d0 b5 d1 82 20 d0 be d1 82 d0 ba d1 80  ....... ........
0bf0: d1 8b d1 82 d0 b0 20 d0 b2 d0 bd d0 b5 d1 88 d0  ...... .........
0c00: bd d1 8f d1 8f 20 d0 be d0 b1 d1 80 d0 b0 d0 b1  ..... ..........
0c10: d0 be d1 82 d0 ba d0 b0 2c 20 d0 b7 d0 b0 d0 bd  ........, ......
0c20: d1 87 d0 b8 d1 82 20 d0 b8 d1 89 d0 b5 d0 bc 20  ...... ........ 
0c30: d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0 bd  ................
0c40: d0 be 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 be 20  .. ............ 
0c50: d0 bf d0 be 20 d1 8d d1 82 d0 be d0 b9 20 d0 be  .... ........ ..
0c60: d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 ba d0 b5  ................
0c70: 2e 20 0d 0a 20 20 20 20 2f 2f d0 be d1 82 d0 ba  . ..    //......
0c80: d1 80 d1 8b d1 82 20 63 66 20 d1 84 d0 b0 d0 b9  ...... cf ......
0c90: d0 bb 20 d0 b8 d0 bb d0 b8 20 d0 b6 d0 b5 20 63  .. ...... .... c
0ca0: 66 20 d0 b1 d0 b0 d0 b7 d1 8b 20 d0 b4 d0 b0 d0  f ........ .....
0cb0: bd d0 bd d1 8b d1 85 20 d0 b8 20 d0 bc d1 8b 20  ....... .. .... 
0cc0: d0 bd d0 b0 d1 85 d0 be d0 b4 d0 b8 d0 bc d1 81  ................
0cd0: d1 8f 20 d0 b2 20 d1 82 d0 b5 d0 ba d1 81 d1 82  .. .. ..........
0ce0: d0 be d0 b2 d0 be d0 bc 20 d0 bc d0 be d0 b4 d1  ........ .......
0cf0: 83 d0 bb d0 b5 20 d0 be d0 bf d1 80 d0 b5 d0 b4  ..... ..........
0d00: d0 b5 d0 bb d0 b5 d0 bd d0 bd d0 be d0 b9 20 0d  .............. .
0d10: 0a 20 20 20 20 2f 2f d0 ba d0 be d0 bd d1 84 d0  .    //.........
0d20: b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0 b8 2c  ...............,
0d30: 20 d0 b7 d0 bd d0 b0 d1 87 d0 b8 d1 82 20 d0 b8   ............ ..
0d40: d1 81 d0 ba d0 b0 d1 82 d1 8c 20 d0 b1 d1 83 d0  .......... .....
0d50: b4 d0 b5 d1 82 20 d0 bf d0 be 20 d1 82 d0 b5 d0  ..... .... .....
0d60: ba d1 83 d1 89 d0 b5 d0 b9 20 d0 ba d0 be d0 bd  ......... ......
0d70: d1 82 d0 b5 d0 b9 d0 bd d0 b5 d1 80 d1 83 2e 20  ............... 
0d80: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 0d 0a 20 20  ..    ..    ..  
0d90: 20 20 76 61 72 20 65 73 20 3d 20 47 65 74 45 78    var es = GetEx
0da0: 74 53 65 61 72 63 68 47 6c 6f 62 61 6c 28 29 3b  tSearchGlobal();
0db0: 0d 0a 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61  ....    ..    va
0dc0: 72 20 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e  r w = GetTextWin
0dd0: 64 6f 77 28 29 3b 0d 0a 20 20 20 20 69 66 20 28  dow();..    if (
0de0: 21 77 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 76  !w) {..        v
0df0: 61 72 20 73 65 6c 54 65 78 74 20 3d 20 27 27 3b  ar selText = '';
0e00: 0d 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a  ..    } else {..
0e10: 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6c 54          var selT
0e20: 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c 65 63  ext = w.GetSelec
0e30: 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20 20  tedText();..    
0e40: 20 20 20 20 69 66 20 28 73 65 6c 54 65 78 74 20      if (selText 
0e50: 3d 3d 20 27 27 29 0d 0a 20 20 20 20 20 20 20 20  == '')..        
0e60: 20 20 20 20 73 65 6c 54 65 78 74 20 3d 20 77 2e      selText = w.
0e70: 47 65 74 57 6f 72 64 55 6e 64 65 72 43 75 72 73  GetWordUnderCurs
0e80: 6f 72 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20  or();..    }..  
0e90: 20 20 0d 0a 20 20 20 20 0d 0a 20 20 20 20 65 73    ..    ..    es
0ea0: 2e 69 73 47 6c 6f 62 61 6c 46 69 6e 64 20 3d 20  .isGlobalFind = 
0eb0: 74 72 75 65 3b 0d 0a 20 20 20 20 65 73 2e 61 63  true;..    es.ac
0ec0: 74 69 76 65 56 69 65 77 20 3d 20 77 69 6e 64 6f  tiveView = windo
0ed0: 77 73 2e 67 65 74 41 63 74 69 76 65 56 69 65 77  ws.getActiveView
0ee0: 28 29 3b 0d 0a 20 20 20 20 65 73 2e 69 73 49 6e  ();..    es.isIn
0ef0: 43 75 72 72 65 6e 74 4d 64 43 6f 6e 74 65 69 6e  CurrentMdContein
0f00: 65 72 46 69 6e 64 20 3d 20 74 72 75 65 3b 0d 0a  erFind = true;..
0f10: 20 20 20 20 65 73 2e 73 65 74 53 69 6d 70 6c 65      es.setSimple
0f20: 51 75 65 72 79 28 73 65 6c 54 65 78 74 29 3b 20  Query(selText); 
0f30: 20 20 20 0d 0a 20 20 20 20 65 73 2e 73 68 6f 77     ..    es.show
0f40: 28 29 3b 0d 0a 0d 0a 20 20 20 20 69 66 20 28 73  ();....    if (s
0f50: 65 6c 54 65 78 74 20 3d 3d 20 27 27 29 0d 0a 20  elText == '').. 
0f60: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 73     {..        es
0f70: 2e 63 6c 65 61 72 53 65 61 72 63 68 52 65 73 75  .clearSearchResu
0f80: 6c 74 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  lts();..        
0f90: 65 73 2e 73 65 74 44 65 66 61 75 6c 74 53 65 61  es.setDefaultSea
0fa0: 72 63 68 51 75 65 72 79 28 29 3b 0d 0a 20 20 20  rchQuery();..   
0fb0: 20 7d 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20   }..    else..  
0fc0: 20 20 20 20 20 20 65 73 2e 73 65 61 72 63 68 49        es.searchI
0fd0: 6e 4d 65 74 61 64 61 74 61 28 74 72 75 65 29 3b  nMetadata(true);
0fe0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
0ff0: 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d  return true;..}.
1000: 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ...SelfScript.se
1010: 6c 66 5b 27 6d 61 63 72 6f 73 d0 93 d0 bb 20 d0  lf['macros.... .
1020: bf d0 be d0 b8 d1 81 d0 ba 20 d1 84 d0 b8 d0 bb  ......... ......
1030: d1 8c d1 82 d1 80 20 d0 bf d0 be 20 d0 bc d0 b5  ...... .... ....
1040: d1 82 d0 b0 d0 b4 d0 b0 d0 bd d0 bd d1 8b d0 bc  ................
1050: 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20  '] = function() 
1060: 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72  {..    ..    var
1070: 20 65 73 20 3d 20 47 65 74 45 78 74 53 65 61 72   es = GetExtSear
1080: 63 68 47 6c 6f 62 61 6c 28 29 3b 0d 0a 20 20 20  chGlobal();..   
1090: 20 69 66 20 28 65 73 2e 69 73 47 6c 6f 62 61 6c   if (es.isGlobal
10a0: 46 69 6e 64 29 7b 0d 0a 20 20 20 20 20 20 20 20  Find){..        
10b0: 6d 64 20 3d 20 73 74 64 6c 69 62 2e 72 65 71 75  md = stdlib.requ
10c0: 69 72 65 28 73 74 64 6c 69 62 2e 67 65 74 53 6e  ire(stdlib.getSn
10d0: 65 67 6f 70 61 74 4d 61 69 6e 46 6f 6c 64 65 72  egopatMainFolder
10e0: 28 29 20 2b 20 27 73 63 72 69 70 74 73 5c 5c 6d  () + 'scripts\\m
10f0: 64 4e 61 76 69 67 61 74 6f 72 2e 6a 73 27 29 3b  dNavigator.js');
1100: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 73  ..        if (es
1110: 2e 66 69 6c 74 65 72 42 79 55 55 49 44 29 7b 0d  .filterByUUID){.
1120: 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 73 2e  .            es.
1130: 76 74 4d 44 20 3d 20 7b 7d 3b 0d 0a 20 20 20 20  vtMD = {};..    
1140: 20 20 20 20 20 20 20 20 65 73 2e 66 69 6c 74 65          es.filte
1150: 72 42 79 55 55 49 44 20 3d 20 6e 75 6c 6c 3b 0d  rByUUID = null;.
1160: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
1170: 20 20 20 20 65 73 2e 66 69 6c 74 65 72 42 79 55      es.filterByU
1180: 55 49 44 20 3d 20 6d 64 2e 53 65 6c 65 63 74 4d  UID = md.SelectM
1190: 64 55 55 49 44 28 29 3b 0d 0a 20 20 20 20 7d 20  dUUID();..    } 
11a0: 0d 0a 20 20 20 20 65 73 2e 73 68 6f 77 28 29 3b  ..    es.show();
11b0: 0d 0a 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74  ....    return t
11c0: 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53  rue;..}....SelfS
11d0: 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72  cript.self['macr
11e0: 6f 73 d0 9e d1 82 d0 bc d0 b5 d0 bd d0 b8 d1 82  os..............
11f0: d1 8c 20 d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1  .. .............
1200: 8c d0 bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1 81  ....... ........
1210: d0 ba 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28  ..'] = function(
1220: 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 65 73 20  ) {..    var es 
1230: 3d 20 47 65 74 45 78 74 53 65 61 72 63 68 47 6c  = GetExtSearchGl
1240: 6f 62 61 6c 28 29 3b 0d 0a 20 20 20 20 69 66 20  obal();..    if 
1250: 28 65 73 2e 73 74 61 72 74 47 6c 6f 62 61 6c 53  (es.startGlobalS
1260: 65 61 72 63 68 29 7b 0d 0a 20 20 20 20 20 20 20  earch){..       
1270: 20 65 73 2e 73 74 61 72 74 47 6c 6f 62 61 6c 53   es.startGlobalS
1280: 65 61 72 63 68 20 3d 20 66 61 6c 73 65 3b 0d 0a  earch = false;..
1290: 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f      }..}....////
12a0: 20 d0 9c d0 90 d0 9a d0 a0 d0 9e d0 a1 d0 ab 20   .............. 
12b0: d0 a1 20 d0 9f d0 a0 d0 95 d0 94 d0 92 d0 90 d0  .. .............
12c0: a0 d0 98 d0 a2 d0 95 d0 9b d0 ac d0 9d d0 ab d0  ................
12d0: 9c 20 d0 9e d0 a2 d0 9a d0 a0 d0 ab d0 a2 d0 98  . ..............
12e0: d0 95 d0 9c 20 d0 94 d0 98 d0 90 d0 9b d0 9e d0  .... ...........
12f0: 93 d0 90 20 d0 94 d0 9b d0 af 20 d0 9d d0 90 d0  ... ...... .....
1300: a1 d0 a2 d0 a0 d0 9e d0 99 d0 9a d0 98 20 d0 9f  ............. ..
1310: d0 90 d0 a0 d0 90 d0 9c d0 95 d0 a2 d0 a0 d0 9e  ................
1320: d0 92 20 d0 9f d0 9e d0 98 d0 a1 d0 9a d0 90 0d  .. .............
1330: 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ...SelfScript.se
1340: 6c 66 5b 27 6d 61 63 72 6f 73 d0 9d d0 b0 d0 b9  lf['macros......
1350: d1 82 d0 b8 20 d1 82 d0 b5 d0 ba d1 81 d1 82 20  .... .......... 
1360: d0 b2 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b5 d0  .. .............
1370: bc 20 d0 bc d0 be d0 b4 d1 83 d0 bb d0 b5 20 28  . ............ (
1380: d1 81 20 d0 b4 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0  .. .............
1390: be d0 bc 29 27 5d 20 3d 20 66 75 6e 63 74 69 6f  ...)'] = functio
13a0: 6e 28 29 20 7b 20 20 20 20 0d 0a 09 6f 70 65 6e  n() {    ...open
13b0: 53 65 61 72 63 68 44 69 61 6c 6f 67 28 53 65 61  SearchDialog(Sea
13c0: 72 63 68 41 72 65 61 73 2e 41 63 74 69 76 65 57  rchAreas.ActiveW
13d0: 69 6e 64 6f 77 29 3b 09 0d 0a 20 20 20 20 72 65  indow);...    re
13e0: 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d  turn true;..}...
13f0: 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66  .SelfScript.self
1400: 5b 27 6d 61 63 72 6f 73 d0 9d d0 b0 d0 b9 d1 82  ['macros........
1410: d0 b8 20 d1 82 d0 b5 d0 ba d1 81 d1 82 20 d0 b2  .. .......... ..
1420: 20 d0 be d1 82 d0 ba d1 80 d1 8b d1 82 d1 8b d1   ...............
1430: 85 20 d0 be d0 ba d0 bd d0 b0 d1 85 20 28 d1 81  . .......... (..
1440: 20 d0 b4 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 be d0   ...............
1450: bc 29 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28  .)'] = function(
1460: 29 20 7b 20 20 20 20 0d 0a 09 6f 70 65 6e 53 65  ) {    ...openSe
1470: 61 72 63 68 44 69 61 6c 6f 67 28 53 65 61 72 63  archDialog(Searc
1480: 68 41 72 65 61 73 2e 41 6c 6c 4f 70 65 6e 65 64  hAreas.AllOpened
1490: 57 69 6e 64 6f 77 73 29 3b 09 0d 0a 20 20 20 20  Windows);...    
14a0: 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d  return true;..}.
14b0: 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ...SelfScript.se
14c0: 6c 66 5b 27 6d 61 63 72 6f 73 d0 93 d0 bb d0 be  lf['macros......
14d0: d0 b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 20 d0  .............. .
14e0: bf d0 be d0 b8 d1 81 d0 ba 20 28 d1 81 20 d0 b4  ......... (.. ..
14f0: d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 be d0 bc 29 27  ..............)'
1500: 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  ] = function() {
1510: 20 20 20 20 0d 0a 09 6f 70 65 6e 53 65 61 72 63      ...openSearc
1520: 68 44 69 61 6c 6f 67 28 53 65 61 72 63 68 41 72  hDialog(SearchAr
1530: 65 61 73 2e 47 6c 6f 62 61 6c 29 3b 09 0d 0a 20  eas.Global);... 
1540: 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d     return true;.
1550: 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 20 d0 9c d0 90 d0  .}....//// .....
1560: 9a d0 a0 d0 9e d0 a1 d0 ab 20 d0 94 d0 9b d0 af  ......... ......
1570: 20 d0 a3 d0 9f d0 a0 d0 90 d0 92 d0 9b d0 95 d0   ...............
1580: 9d d0 98 d0 af 20 d0 9e d0 9a d0 9d d0 9e d0 9c  ..... ..........
1590: 20 d0 a0 d0 95 d0 97 d0 a3 d0 9b d0 ac d0 a2 d0   ...............
15a0: 90 d0 a2 d0 9e d0 92 20 d0 9f d0 9e d0 98 d0 a1  ....... ........
15b0: d0 9a d0 90 20 0d 0a 0d 0a 53 65 6c 66 53 63 72  .... ....SelfScr
15c0: 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73  ipt.self['macros
15d0: d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c 20 d0  .............. .
15e0: be d0 ba d0 bd d0 be 20 d0 bf d0 be d0 b8 d1 81  ....... ........
15f0: d0 ba d0 b0 27 5d 20 3d 20 66 75 6e 63 74 69 6f  ....'] = functio
1600: 6e 28 29 20 7b 0d 0a 20 20 20 20 47 65 74 45 78  n() {..    GetEx
1610: 74 53 65 61 72 63 68 28 29 2e 73 68 6f 77 28 29  tSearch().show()
1620: 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69  ;..}....SelfScri
1630: 70 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0  pt.self['macros.
1640: 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c 20 d0 be  ............. ..
1650: d0 ba d0 bd d0 be 20 d0 b3 d0 bb d0 be d0 b1 d0  ...... .........
1660: b0 d0 bb d1 8c d0 bd d0 be d0 b3 d0 be 20 d0 bf  ............. ..
1670: d0 be d0 b8 d1 81 d0 ba d0 b0 27 5d 20 3d 20 66  ..........'] = f
1680: 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20  unction() {..   
1690: 20 47 65 74 45 78 74 53 65 61 72 63 68 47 6c 6f   GetExtSearchGlo
16a0: 62 61 6c 28 29 2e 73 68 6f 77 28 29 3b 0d 0a 7d  bal().show();..}
16b0: 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73  ....SelfScript.s
16c0: 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 97 d0 b0 d0  elf['macros.....
16d0: ba d1 80 d1 8b d1 82 d1 8c 20 d0 be d0 ba d0 bd  ......... ......
16e0: d0 be 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 27  .. ............'
16f0: 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  ] = function() {
1700: 0d 0a 20 20 20 20 76 61 72 20 65 73 20 3d 20 47  ..    var es = G
1710: 65 74 45 78 74 53 65 61 72 63 68 28 29 3b 0d 0a  etExtSearch();..
1720: 20 20 20 20 69 66 20 28 65 73 2e 69 73 4f 70 65      if (es.isOpe
1730: 6e 28 29 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  n()) {..        
1740: 65 73 2e 63 6c 6f 73 65 28 29 3b 0d 0a 20 20 20  es.close();..   
1750: 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65       return true
1760: 3b 0d 0a 20 20 20 20 7d 0d 0a 09 65 73 20 3d 20  ;..    }...es = 
1770: 47 65 74 45 78 74 53 65 61 72 63 68 47 6c 6f 62  GetExtSearchGlob
1780: 61 6c 28 29 3b 0d 0a 09 69 66 20 28 65 73 2e 69  al();...if (es.i
1790: 73 4f 70 65 6e 28 29 29 20 7b 0d 0a 09 09 65 73  sOpen()) {....es
17a0: 2e 63 6c 6f 73 65 28 29 3b 0d 0a 09 09 72 65 74  .close();....ret
17b0: 75 72 6e 20 74 72 75 65 3b 0d 0a 09 7d 0d 0a 20  urn true;...}.. 
17c0: 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b     return false;
17d0: 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70  ..}....SelfScrip
17e0: 74 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 9f  t.self['macros..
17f0: d0 b5 d1 80 d0 b5 d0 b9 d1 82 d0 b8 20 d0 ba 20  ............ .. 
1800: d1 81 d0 bb d0 b5 d0 b4 d1 83 d1 8e d1 89 d0 b5  ................
1810: d0 bc d1 83 20 d1 81 d0 be d0 b2 d0 bf d0 b0 d0  .... ...........
1820: b4 d0 b5 d0 bd d0 b8 d1 8e 27 5d 20 3d 20 66 75  .........'] = fu
1830: 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20  nction() {..    
1840: 76 61 72 20 65 73 20 3d 20 47 65 74 45 78 74 53  var es = GetExtS
1850: 65 61 72 63 68 28 29 3b 0d 0a 20 20 20 20 65 73  earch();..    es
1860: 2e 73 68 6f 77 28 29 3b 0d 0a 20 20 20 20 65 73  .show();..    es
1870: 2e 6d 6f 76 65 52 6f 77 43 75 72 73 6f 72 28 74  .moveRowCursor(t
1880: 72 75 65 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66  rue);..}....Self
1890: 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61 63  Script.self['mac
18a0: 72 6f 73 d0 9f d0 b5 d1 80 d0 b5 d0 b9 d1 82 d0  ros.............
18b0: b8 20 d0 ba 20 d0 bf d1 80 d0 b5 d0 b4 d1 8b d0  . .. ...........
18c0: b4 d1 83 d1 89 d0 b5 d0 bc d1 83 20 d1 81 d0 be  ........... ....
18d0: d0 b2 d0 bf d0 b0 d0 b4 d0 b5 d0 bd d0 b8 d1 8e  ................
18e0: 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20  '] = function() 
18f0: 7b 0d 0a 20 20 20 20 76 61 72 20 65 73 20 3d 20  {..    var es = 
1900: 47 65 74 45 78 74 53 65 61 72 63 68 28 29 3b 0d  GetExtSearch();.
1910: 0a 20 20 20 20 65 73 2e 73 68 6f 77 28 29 3b 0d  .    es.show();.
1920: 0a 20 20 20 20 65 73 2e 6d 6f 76 65 52 6f 77 43  .    es.moveRowC
1930: 75 72 73 6f 72 28 66 61 6c 73 65 29 3b 0d 0a 7d  ursor(false);..}
1940: 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73  ....SelfScript.s
1950: 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 a1 d0 b2 d0  elf['macros.....
1960: b5 d1 80 d0 bd d1 83 d1 82 d1 8c 20 d0 b3 d1 80  ........... ....
1970: d1 83 d0 bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0 ba  ................
1980: d0 b8 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28  ..'] = function(
1990: 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 65 73 20  ) {..    var es 
19a0: 3d 20 47 65 74 45 78 74 53 65 61 72 63 68 28 29  = GetExtSearch()
19b0: 3b 0d 0a 20 20 20 20 65 73 2e 65 78 70 61 6e 64  ;..    es.expand
19c0: 54 72 65 65 28 74 72 75 65 29 3b 0d 0a 7d 0d 0a  Tree(true);..}..
19d0: 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c  ..SelfScript.sel
19e0: 66 5b 27 6d 61 63 72 6f 73 d0 a0 d0 b0 d0 b7 d0  f['macros.......
19f0: b2 d0 b5 d1 80 d0 bd d1 83 d1 82 d1 8c 20 d0 b3  ............. ..
1a00: d1 80 d1 83 d0 bf d0 bf d0 b8 d1 80 d0 be d0 b2  ................
1a10: d0 ba d0 b8 27 5d 20 3d 20 66 75 6e 63 74 69 6f  ....'] = functio
1a20: 6e 28 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 65  n() {..    var e
1a30: 73 20 3d 20 47 65 74 45 78 74 53 65 61 72 63 68  s = GetExtSearch
1a40: 28 29 3b 0d 0a 20 20 20 20 65 73 2e 65 78 70 61  ();..    es.expa
1a50: 6e 64 54 72 65 65 28 66 61 6c 73 65 29 3b 0d 0a  ndTree(false);..
1a60: 7d 0d 0a 0d 0a 2f 2a 20 d0 92 d0 be d0 b7 d0 b2  }..../* ........
1a70: d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0 bd d0  ............ ...
1a80: b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bc  ............. ..
1a90: d0 b0 d0 ba d1 80 d0 be d1 81 d0 b0 20 d0 bf d0  ............ ...
1aa0: be 20 d1 83 d0 bc d0 be d0 bb d1 87 d0 b0 d0 bd  . ..............
1ab0: d0 b8 d1 8e 20 2d 20 d0 b2 d1 8b d0 b7 d1 8b d0  .... - .........
1ac0: b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 2c 20 d0 ba d0  ..........., ...
1ad0: be d0 b3 d0 b4 d0 b0 20 d0 bf d0 be d0 bb d1 8c  ....... ........
1ae0: d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1 8c  ................
1af0: 20 0d 0a d0 b4 d0 b2 d0 b0 d0 b6 d0 b4 d1 8b 20   .............. 
1b00: d1 89 d0 b5 d0 bb d0 ba d0 b0 d0 b5 d1 82 20 d0  .............. .
1b10: bc d1 8b d1 88 d1 8c d1 8e 20 d0 bf d0 be 20 d0  ......... .... .
1b20: bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d1 8e 20  ............... 
1b30: d1 81 d0 ba d1 80 d0 b8 d0 bf d1 82 d0 b0 20 d0  .............. .
1b40: b2 20 d0 be d0 ba d0 bd d0 b5 20 d0 a1 d0 bd d0  . ........ .....
1b50: b5 d0 b3 d0 be d0 bf d0 b0 d1 82 d0 b0 2e 20 2a  .............. *
1b60: 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 44  /..function getD
1b70: 65 66 61 75 6c 74 4d 61 63 72 6f 73 28 29 20 7b  efaultMacros() {
1b80: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 27 d0 9e  ..    return '..
1b90: d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c 20 d0 be d0  ............ ...
1ba0: ba d0 bd d0 be 20 d0 bf d0 be d0 b8 d1 81 d0 ba  ..... ..........
1bb0: d0 b0 27 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d  ..';..}....////}
1bc0: 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 81 d1 8b 0d   ...............
1bd0: 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .../////////////
1be0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1bf0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c10: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1c20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f  ///////////..///
1c30: 2f 7b 20 45 78 74 53 65 61 72 63 68 20 2d 20 d0  /{ ExtSearch - .
1c40: a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0  ................
1c50: bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba  ..... ..........
1c60: 20 d0 b2 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 b5   .. ............
1c70: 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 2e 0d 0a   ...............
1c80: 2f 2f 2f 2f 0d 0a 0d 0a 52 6f 77 54 79 70 65 73  ////....RowTypes
1c90: 20 3d 20 7b 0d 0a 20 20 20 20 27 53 65 61 72 63   = {..    'Searc
1ca0: 68 52 65 73 75 6c 74 27 20 20 3a 20 30 2c 20 2f  hResult'  : 0, /
1cb0: 2f 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 20 d1  / ............ .
1cc0: 80 d0 b5 d0 b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1  ................
1cd0: 82 d0 b0 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0  ... ............
1ce0: 2e 0d 0a 20 20 20 20 27 50 72 6f 63 47 72 6f 75  ...    'ProcGrou
1cf0: 70 27 20 20 20 20 20 3a 20 31 2c 20 2f 2f 20 d0  p'     : 1, // .
1d00: a1 d1 82 d1 80 d0 be d0 ba d0 b0 20 d0 b3 d1 80  ........... ....
1d10: d1 83 d0 bf d0 bf d1 8b 2d d0 bf d1 80 d0 be d1  ........-.......
1d20: 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 20 28 d0 b2 20  ........... (.. 
1d30: d1 80 d0 b5 d0 b6 d0 b8 d0 bc d0 b5 20 d0 b3 d1  ............ ...
1d40: 80 d1 83 d0 bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0  ................
1d50: ba d0 b8 20 d0 bf d0 be 20 d0 bf d1 80 d0 be d1  ... .... .......
1d60: 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 d0 bc 20 d0 b8  ............. ..
1d70: 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f d0   ...............
1d80: bc 29 2e 0d 0a 20 20 20 20 27 46 75 6e 63 47 72  .)...    'FuncGr
1d90: 6f 75 70 27 20 20 20 20 20 3a 20 32 2c 20 2f 2f  oup'     : 2, //
1da0: 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 20 d0 b3   ............ ..
1db0: d1 80 d1 83 d0 bf d0 bf d1 8b 2d d1 84 d1 83 d0  ..........-.....
1dc0: bd d0 ba d1 86 d0 b8 d0 b8 20 28 d0 b2 20 d1 80  ......... (.. ..
1dd0: d0 b5 d0 b6 d0 b8 d0 bc d0 b5 20 d0 b3 d1 80 d1  .......... .....
1de0: 83 d0 bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0 ba d0  ................
1df0: b8 20 d0 bf d0 be 20 d0 bf d1 80 d0 be d1 86 d0  . .... .........
1e00: b5 d0 b4 d1 83 d1 80 d0 b0 d0 bc 20 d0 b8 20 d1  ........... .. .
1e10: 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f d0 bc 29  ...............)
1e20: 2e 0d 0a 20 20 20 20 27 53 65 61 72 63 68 44 6f  ...    'SearchDo
1e30: 63 27 20 20 20 20 20 3a 20 33 20 20 2f 2f 20 d0  c'     : 3  // .
1e40: a1 d1 82 d1 80 d0 be d0 ba d0 b0 20 d0 b4 d0 be  ........... ....
1e50: d0 ba d1 83 d0 bc d0 b5 d0 bd d1 82 d0 b0 2c 20  .............., 
1e60: d0 b2 20 d0 ba d0 be d1 82 d0 be d1 80 d0 be d0  .. .............
1e70: bc 20 d0 bf d1 80 d0 be d0 b8 d0 b7 d0 b2 d0 be  . ..............
1e80: d0 b4 d0 b8 d1 82 d1 81 d1 8f 20 d0 bf d0 be d0  .......... .....
1e90: b8 d1 81 d0 ba 2e 0d 0a 7d 0d 0a 0d 0a 52 45 20  ........}....RE 
1ea0: 3d 20 7b 0d 0a 20 20 20 20 4d 45 54 48 4f 44 5f  = {..    METHOD_
1eb0: 53 54 41 52 54 20 3a 20 2f 5e 5c 73 2a 28 28 3f  START : /^\s*((?
1ec0: 3a 70 72 6f 63 65 64 75 72 65 29 7c 28 3f 3a 66  :procedure)|(?:f
1ed0: 75 6e 63 74 69 6f 6e 29 7c 28 3f 3a d0 bf d1 80  unction)|(?:....
1ee0: d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 29 7c  ..............)|
1ef0: 28 3f 3a d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d1  (?:.............
1f00: 8f 29 29 5c 73 2b 28 5b 5c 77 d0 90 2d d1 8f d1  .))\s+([\w..-...
1f10: 91 d0 81 5c 64 5d 2b 29 5c 73 2a 5c 28 2f 69 2c  ...\d]+)\s*\(/i,
1f20: 0d 0a 20 20 20 20 4d 45 54 48 4f 44 5f 45 4e 44  ..    METHOD_END
1f30: 20 3a 20 2f 28 28 3f 3a 45 6e 64 50 72 6f 63 65   : /((?:EndProce
1f40: 64 75 72 65 29 7c 28 3f 3a 45 6e 64 46 75 6e 63  dure)|(?:EndFunc
1f50: 74 69 6f 6e 29 7c 28 3f 3a d0 9a d0 be d0 bd d0  tion)|(?:.......
1f60: b5 d1 86 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1  ................
1f70: 83 d1 80 d1 8b 29 7c 28 3f 3a d0 9a d0 be d0 bd  .....)|(?:......
1f80: d0 b5 d1 86 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8  ................
1f90: d0 b8 29 29 2f 69 0d 0a 7d 0d 0a 0d 0a 53 65 61  ..))/i..}....Sea
1fa0: 72 63 68 41 72 65 61 73 20 3d 20 7b 0d 0a 09 27  rchAreas = {...'
1fb0: 41 63 74 69 76 65 57 69 6e 64 6f 77 27 20 09 09  ActiveWindow' ..
1fc0: 3a 20 30 2c 20 2f 2f 20 d0 92 20 d1 82 d0 b5 d0  : 0, // .. .....
1fd0: ba d1 83 d1 89 d0 b5 d0 bc 20 d0 bc d0 be d0 b4  ......... ......
1fe0: d1 83 d0 bb d0 b5 0d 0a 09 27 41 6c 6c 4f 70 65  .........'AllOpe
1ff0: 6e 65 64 57 69 6e 64 6f 77 73 27 20 09 3a 20 31  nedWindows' .: 1
2000: 2c 20 2f 2f 20 d0 92 d0 be 20 d0 b2 d1 81 d0 b5  , // .... ......
2010: d1 85 20 d0 be d1 82 d0 ba d1 80 d1 8b d1 82 d1  .. .............
2020: 8b d1 85 20 d0 be d0 ba d0 bd d0 b0 d1 85 0d 0a  ... ............
2030: 09 27 47 6c 6f 62 61 6c 27 09 09 09 3a 20 32 2c  .'Global'...: 2,
2040: 20 2f 2f 20 d0 93 d0 bb d0 be d0 b1 d0 b0 d0 bb   // ............
2050: d1 8c d0 bd d0 be 20 28 d0 b2 d0 be 20 d0 b2 d1  ...... (.... ...
2060: 81 d0 b5 d1 85 20 d0 bc d0 be d0 b4 d1 83 d0 bb  ..... ..........
2070: d1 8f d1 85 20 d0 be d1 81 d0 bd d0 be d0 b2 d0  .... ...........
2080: bd d0 be d0 b9 20 d0 ba d0 be d0 bd d1 84 d0 b8  ..... ..........
2090: d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0 b8 29 0d  ..............).
20a0: 0a 09 27 43 75 72 72 65 6e 74 43 6f 6e 74 61 69  ..'CurrentContai
20b0: 6e 65 72 27 09 3a 20 33 20 20 2f 2f 20 d0 92 20  ner'.: 3  // .. 
20c0: d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b5 d0 bc 20 d0  .............. .
20d0: be d1 82 d0 ba d1 80 d1 8b d1 82 d0 be d0 bc 20  ............... 
20e0: d0 ba d0 be d0 bd d1 82 d0 b5 d0 b9 d0 bd d0 b5  ................
20f0: d1 80 d0 b5 20 28 d0 b2 d0 bd d0 b5 d1 88 d0 bd  .... (..........
2100: d0 b5 d0 b9 20 d0 be d0 b1 d1 80 d0 b0 d0 b1 d0  .... ...........
2110: be d1 82 d0 ba d0 b5 2c 20 d0 ba d0 be d0 bd d1  ......., .......
2120: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0  ................
2130: b8 20 d0 98 d0 91 20 d0 b8 20 d1 82 2e d0 bf 2e  . .... .. ......
2140: 29 0d 0a 7d 3b 0d 0a 0d 0a 2f 2a 20 d0 9e d1 81  )..};..../* ....
2150: d1 83 d1 89 d0 b5 d1 81 d1 82 d0 b2 d0 bb d1 8f  ................
2160: d0 b5 d1 82 20 d0 bf d0 be d0 b8 d1 81 d0 ba 20  .... .......... 
2170: d1 81 20 d0 bf d1 80 d0 b5 d0 b4 d0 b2 d0 b0 d1  .. .............
2180: 80 d0 b8 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 8b d0  ................
2190: bc 20 d0 be d1 82 d0 ba d1 80 d1 8b d1 82 d0 b8  . ..............
21a0: d0 b5 d0 bc 20 d0 b4 d0 b8 d0 b0 d0 bb d0 be d0  .... ...........
21b0: b3 d0 be d0 b2 d0 be d0 b3 d0 be 20 d0 be d0 ba  ........... ....
21c0: d0 bd d0 b0 2e 20 2a 2f 0d 0a 66 75 6e 63 74 69  ..... */..functi
21d0: 6f 6e 20 6f 70 65 6e 53 65 61 72 63 68 44 69 61  on openSearchDia
21e0: 6c 6f 67 28 69 6e 69 74 53 65 61 72 63 68 41 72  log(initSearchAr
21f0: 65 61 29 20 7b 0d 0a 09 0d 0a 09 69 66 20 28 21  ea) {......if (!
2200: 69 6e 69 74 53 65 61 72 63 68 41 72 65 61 29 0d  initSearchArea).
2210: 0a 09 09 69 6e 69 74 53 65 61 72 63 68 41 72 65  ...initSearchAre
2220: 61 20 3d 20 53 65 61 72 63 68 41 72 65 61 73 2e  a = SearchAreas.
2230: 41 63 74 69 76 65 57 69 6e 64 6f 77 3b 0d 0a 09  ActiveWindow;...
2240: 0d 0a 09 76 61 72 20 77 20 3d 20 47 65 74 54 65  ...var w = GetTe
2250: 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20  xtWindow();..   
2260: 20 69 66 20 28 21 77 29 20 72 65 74 75 72 6e 20   if (!w) return 
2270: 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20  false;..        
2280: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73 65      ..    var se
2290: 6c 54 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c  lText = w.GetSel
22a0: 65 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20  ectedText();..  
22b0: 20 20 69 66 20 28 73 65 6c 54 65 78 74 20 3d 3d    if (selText ==
22c0: 20 27 27 29 0d 0a 20 20 20 20 20 20 20 20 73 65   '')..        se
22d0: 6c 54 65 78 74 20 3d 20 77 2e 47 65 74 57 6f 72  lText = w.GetWor
22e0: 64 55 6e 64 65 72 43 75 72 73 6f 72 28 29 3b 0d  dUnderCursor();.
22f0: 0a 09 09 0d 0a 20 20 20 20 76 61 72 20 73 44 6c  .....    var sDl
2300: 67 20 3d 20 6e 65 77 20 45 78 74 53 65 61 72 63  g = new ExtSearc
2310: 68 44 69 61 6c 6f 67 28 73 65 6c 54 65 78 74 2c  hDialog(selText,
2320: 20 69 6e 69 74 53 65 61 72 63 68 41 72 65 61 29   initSearchArea)
2330: 3b 0d 0a 09 09 0d 0a 09 69 66 20 28 73 44 6c 67  ;.......if (sDlg
2340: 2e 73 68 6f 77 28 74 72 75 65 29 20 3d 3d 20 74  .show(true) == t
2350: 72 75 65 29 20 0d 0a 09 7b 0d 0a 09 09 76 61 72  rue) ...{....var
2360: 20 73 65 61 72 63 68 51 75 65 72 79 20 3d 20 73   searchQuery = s
2370: 44 6c 67 2e 67 65 74 53 65 61 72 63 68 51 75 65  Dlg.getSearchQue
2380: 72 79 50 61 72 61 6d 73 28 29 3b 0d 0a 09 09 0d  ryParams();.....
2390: 0a 09 20 20 20 20 69 66 20 28 73 65 61 72 63 68  ..    if (search
23a0: 51 75 65 72 79 2e 51 75 65 72 79 20 3d 3d 20 27  Query.Query == '
23b0: 27 29 0d 0a 09 20 20 20 20 7b 0d 0a 09 09 09 76  ')...    {.....v
23c0: 61 72 20 65 73 20 3d 20 47 65 74 45 78 74 53 65  ar es = GetExtSe
23d0: 61 72 63 68 28 29 3b 0d 0a 09 20 20 20 20 20 20  arch();...      
23e0: 20 20 65 73 2e 63 6c 65 61 72 53 65 61 72 63 68    es.clearSearch
23f0: 52 65 73 75 6c 74 73 28 29 3b 0d 0a 09 20 20 20  Results();...   
2400: 20 20 20 20 20 65 73 2e 73 65 74 44 65 66 61 75       es.setDefau
2410: 6c 74 53 65 61 72 63 68 51 75 65 72 79 28 29 3b  ltSearchQuery();
2420: 0d 0a 09 20 20 20 20 7d 0d 0a 09 09 65 6c 73 65  ...    }....else
2430: 0d 0a 09 09 7b 09 0d 0a 09 09 09 73 77 69 74 63  ....{......switc
2440: 68 28 73 44 6c 67 2e 67 65 74 53 65 61 72 63 68  h(sDlg.getSearch
2450: 41 72 65 61 28 29 29 20 0d 0a 09 09 09 7b 0d 0a  Area()) .....{..
2460: 09 09 09 63 61 73 65 20 53 65 61 72 63 68 41 72  ...case SearchAr
2470: 65 61 73 2e 41 6c 6c 4f 70 65 6e 65 64 57 69 6e  eas.AllOpenedWin
2480: 64 6f 77 73 3a 0d 0a 09 09 09 09 76 61 72 20 65  dows:......var e
2490: 73 20 3d 20 47 65 74 45 78 74 53 65 61 72 63 68  s = GetExtSearch
24a0: 28 29 3b 0d 0a 09 09 09 09 65 73 2e 73 65 74 51  ();......es.setQ
24b0: 75 65 72 79 28 73 65 61 72 63 68 51 75 65 72 79  uery(searchQuery
24c0: 29 3b 0d 0a 09 09 09 09 65 73 2e 73 68 6f 77 28  );......es.show(
24d0: 29 3b 0d 0a 09 09 09 09 65 73 2e 73 65 61 72 63  );......es.searc
24e0: 68 4f 70 65 6e 65 64 57 69 6e 64 6f 77 73 28 74  hOpenedWindows(t
24f0: 72 75 65 29 3b 0d 0a 09 09 09 09 62 72 65 61 6b  rue);......break
2500: 3b 0d 0a 09 09 09 09 0d 0a 09 09 09 63 61 73 65  ;...........case
2510: 20 53 65 61 72 63 68 41 72 65 61 73 2e 43 75 72   SearchAreas.Cur
2520: 72 65 6e 74 43 6f 6e 74 61 69 6e 65 72 3a 0d 0a  rentContainer:..
2530: 09 09 09 20 20 20 20 76 61 72 20 65 73 20 3d 20  ...    var es = 
2540: 47 65 74 45 78 74 53 65 61 72 63 68 47 6c 6f 62  GetExtSearchGlob
2550: 61 6c 28 29 3b 0d 0a 09 09 09 20 20 20 20 65 73  al();.....    es
2560: 2e 69 73 47 6c 6f 62 61 6c 46 69 6e 64 20 3d 20  .isGlobalFind = 
2570: 74 72 75 65 3b 0d 0a 09 09 09 20 20 20 20 65 73  true;.....    es
2580: 2e 61 63 74 69 76 65 56 69 65 77 20 3d 20 77 69  .activeView = wi
2590: 6e 64 6f 77 73 2e 67 65 74 41 63 74 69 76 65 56  ndows.getActiveV
25a0: 69 65 77 28 29 3b 0d 0a 09 09 09 20 20 20 20 65  iew();.....    e
25b0: 73 2e 69 73 49 6e 43 75 72 72 65 6e 74 4d 64 43  s.isInCurrentMdC
25c0: 6f 6e 74 65 69 6e 65 72 46 69 6e 64 20 3d 20 74  onteinerFind = t
25d0: 72 75 65 3b 0d 0a 09 09 09 09 65 73 2e 73 65 74  rue;......es.set
25e0: 51 75 65 72 79 28 73 65 61 72 63 68 51 75 65 72  Query(searchQuer
25f0: 79 29 3b 0d 0a 09 09 09 20 20 20 20 65 73 2e 73  y);.....    es.s
2600: 68 6f 77 28 29 3b 0d 0a 09 09 09 09 65 73 2e 73  how();......es.s
2610: 65 61 72 63 68 49 6e 4d 65 74 61 64 61 74 61 28  earchInMetadata(
2620: 74 72 75 65 29 3b 0d 0a 09 09 09 09 62 72 65 61  true);......brea
2630: 6b 3b 0d 0a 09 09 09 09 0d 0a 09 09 09 63 61 73  k;...........cas
2640: 65 20 53 65 61 72 63 68 41 72 65 61 73 2e 47 6c  e SearchAreas.Gl
2650: 6f 62 61 6c 3a 0d 0a 09 09 09 20 20 20 20 76 61  obal:.....    va
2660: 72 20 65 73 20 3d 20 47 65 74 45 78 74 53 65 61  r es = GetExtSea
2670: 72 63 68 47 6c 6f 62 61 6c 28 29 3b 0d 0a 09 09  rchGlobal();....
2680: 09 20 20 20 20 65 73 2e 69 73 47 6c 6f 62 61 6c  .    es.isGlobal
2690: 46 69 6e 64 20 3d 20 74 72 75 65 3b 0d 0a 09 09  Find = true;....
26a0: 09 20 20 20 20 65 73 2e 61 63 74 69 76 65 56 69  .    es.activeVi
26b0: 65 77 20 3d 20 77 69 6e 64 6f 77 73 2e 67 65 74  ew = windows.get
26c0: 41 63 74 69 76 65 56 69 65 77 28 29 3b 0d 0a 09  ActiveView();...
26d0: 09 09 20 20 20 20 65 73 2e 69 73 49 6e 43 75 72  ..    es.isInCur
26e0: 72 65 6e 74 4d 64 43 6f 6e 74 65 69 6e 65 72 46  rentMdConteinerF
26f0: 69 6e 64 20 3d 20 66 61 6c 73 65 3b 0d 0a 09 09  ind = false;....
2700: 09 09 65 73 2e 73 65 74 51 75 65 72 79 28 73 65  ..es.setQuery(se
2710: 61 72 63 68 51 75 65 72 79 29 3b 0d 0a 09 09 09  archQuery);.....
2720: 20 20 20 20 65 73 2e 73 68 6f 77 28 29 3b 0d 0a      es.show();..
2730: 09 09 09 09 65 73 2e 73 65 61 72 63 68 49 6e 4d  ....es.searchInM
2740: 65 74 61 64 61 74 61 28 74 72 75 65 29 3b 09 09  etadata(true);..
2750: 09 0d 0a 09 09 09 09 62 72 65 61 6b 3b 0d 0a 09  .......break;...
2760: 09 09 09 0d 0a 09 09 09 63 61 73 65 20 53 65 61  ........case Sea
2770: 72 63 68 41 72 65 61 73 2e 41 63 74 69 76 65 57  rchAreas.ActiveW
2780: 69 6e 64 6f 77 3a 0d 0a 09 09 09 64 65 66 61 75  indow:.....defau
2790: 6c 74 3a 0d 0a 09 09 09 09 76 61 72 20 65 73 20  lt:......var es 
27a0: 3d 20 47 65 74 45 78 74 53 65 61 72 63 68 28 29  = GetExtSearch()
27b0: 3b 0d 0a 09 09 09 09 65 73 2e 73 65 74 51 75 65  ;......es.setQue
27c0: 72 79 28 73 65 61 72 63 68 51 75 65 72 79 29 3b  ry(searchQuery);
27d0: 0d 0a 09 09 09 09 65 73 2e 73 68 6f 77 28 29 3b  ......es.show();
27e0: 0d 0a 09 20 20 20 20 20 20 20 20 09 65 73 2e 73  ...        .es.s
27f0: 65 61 72 63 68 41 63 74 69 76 65 44 6f 63 28 74  earchActiveDoc(t
2800: 72 75 65 29 3b 0d 0a 09 09 09 09 62 72 65 61 6b  rue);......break
2810: 3b 0d 0a 09 09 09 7d 0d 0a 09 09 7d 0d 0a 09 7d  ;.....}....}...}
2820: 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 a0 d0 b5 d0 b0  ..}..../* ......
2830: d0 bb d0 b8 d0 b7 d1 83 d0 b5 d1 82 20 d0 b4 d0  ............ ...
2840: b8 d0 b0 d0 bb d0 be d0 b3 20 d0 bd d0 b0 d1 81  ......... ......
2850: d1 82 d1 80 d0 be d0 b9 d0 ba d0 b8 20 d0 bf d0  ............ ...
2860: b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 be d0  ................
2870: b2 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 2e 2a  . .............*
2880: 2f 0d 0a 45 78 74 53 65 61 72 63 68 44 69 61 6c  /..ExtSearchDial
2890: 6f 67 20 3d 20 53 63 72 69 70 74 46 6f 72 6d 2e  og = ScriptForm.
28a0: 65 78 74 65 6e 64 28 7b 0d 0a 0d 0a 20 20 20 20  extend({....    
28b0: 73 65 74 74 69 6e 67 73 52 6f 6f 74 50 61 74 68  settingsRootPath
28c0: 20 3a 20 53 65 6c 66 53 63 72 69 70 74 2e 75 6e   : SelfScript.un
28d0: 69 71 75 65 4e 61 6d 65 2c 0d 0a 20 20 20 20 0d  iqueName,..    .
28e0: 0a 20 20 20 20 73 65 74 74 69 6e 67 73 20 3a 20  .    settings : 
28f0: 7b 0d 0a 20 20 20 20 20 20 20 20 70 66 6c 53 6e  {..        pflSn
2900: 65 67 6f 70 61 74 20 3a 20 7b 0d 0a 20 20 20 20  egopat : {..    
2910: 20 20 20 20 20 20 20 20 27 49 73 52 65 67 45 78          'IsRegEx
2920: 70 27 20 20 20 20 20 20 3a 20 66 61 6c 73 65 2c  p'      : false,
2930: 20 2f 2f 20 d0 9f d0 be d0 b8 d1 81 d0 ba 20 d1   // .......... .
2940: 80 d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 d0 bd d1  ................
2950: 8b d0 bc d0 b8 20 d0 b2 d1 8b d1 80 d0 b0 d0 b6  ..... ..........
2960: d0 b5 d0 bd d0 b8 d1 8f d0 bc d0 b8 2e 0d 0a 20  ............... 
2970: 20 20 20 20 20 20 20 20 20 20 20 27 43 61 73 65             'Case
2980: 53 65 6e 73 65 74 69 76 65 27 20 3a 20 66 61 6c  Sensetive' : fal
2990: 73 65 2c 20 2f 2f 20 d0 a3 d1 87 d0 b8 d1 82 d1  se, // .........
29a0: 8b d0 b2 d0 b0 d1 82 d1 8c 20 d1 80 d0 b5 d0 b3  ......... ......
29b0: d0 b8 d1 81 d1 82 d1 80 20 d0 bf d1 80 d0 b8 20  ........ ...... 
29c0: d0 bf d0 be d0 b8 d1 81 d0 ba d0 b5 2e 0d 0a 20  ............... 
29d0: 20 20 20 20 20 20 20 20 20 20 20 27 57 68 6f 6c             'Whol
29e0: 65 57 6f 72 64 73 27 20 20 20 20 3a 20 66 61 6c  eWords'    : fal
29f0: 73 65 2c 20 2f 2f 20 d0 9f d0 be d0 b8 d1 81 d0  se, // .........
2a00: ba 20 d1 81 d0 bb d0 be d0 b2 d0 b0 20 d1 86 d0  . .......... ...
2a10: b5 d0 bb d0 b8 d0 ba d0 be d0 bc 2e 0d 0a 20 20  ..............  
2a20: 20 20 20 20 20 20 20 20 20 20 27 53 65 61 72 63            'Searc
2a30: 68 48 69 73 74 6f 72 79 27 20 3a 20 76 38 4e 65  hHistory' : v8Ne
2a40: 77 28 27 56 61 6c 75 65 4c 69 73 74 27 29 2c 20  w('ValueList'), 
2a50: 2f 2f 20 d0 98 d1 81 d1 82 d0 be d1 80 d0 b8 d1  // .............
2a60: 8f 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 2e 0d  . ..............
2a70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 48 69  .            'Hi
2a80: 73 74 6f 72 79 44 65 70 74 68 27 20 20 3a 20 31  storyDepth'  : 1
2a90: 35 2c 20 2f 2f 20 d0 9a d0 be d0 bb d0 b8 d1 87  5, // ..........
2aa0: d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d1 8d d0 bb d0  .......... .....
2ab0: b5 d0 bc d0 b5 d0 bd d1 82 d0 be d0 b2 20 d0 b8  ............. ..
2ac0: d1 81 d1 82 d0 be d1 80 d0 b8 d0 b8 20 d0 bf d0  ............ ...
2ad0: be d0 b8 d1 81 d0 ba d0 b0 2e 0d 0a 20 20 20 20  ............    
2ae0: 20 20 20 20 20 20 20 20 27 54 72 65 65 56 69 65          'TreeVie
2af0: 77 27 20 20 20 20 20 20 3a 20 66 61 6c 73 65 20  w'      : false 
2b00: 2f 2f 20 d0 93 d1 80 d1 83 d0 bf d0 bf d0 b8 d1  // .............
2b10: 80 d0 be d0 b2 d0 b0 d1 82 d1 8c 20 d1 80 d0 b5  ........... ....
2b20: d0 b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 d1 8b  ................
2b30: 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 20 d0 bf   ............ ..
2b40: d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 d0  .. .............
2b50: bc 2e 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a  ..            ..
2b60: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d          }..    }
2b70: 2c 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73 74 72 75  ,....    constru
2b80: 63 74 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 71  ct : function (q
2b90: 75 65 72 79 2c 20 69 6e 69 74 53 65 61 72 63 68  uery, initSearch
2ba0: 41 72 65 61 29 20 7b 09 0d 0a 20 20 20 20 20 20  Area) {...      
2bb0: 20 20 74 68 69 73 2e 5f 73 75 70 65 72 28 22 73    this._super("s
2bc0: 63 72 69 70 74 73 5c 5c 65 78 74 53 65 61 72 63  cripts\\extSearc
2bd0: 68 2e 73 73 66 22 29 3b 20 20 20 20 20 20 20 20  h.ssf");        
2be0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
2bf0: 20 20 74 68 69 73 2e 66 6f 72 6d 2e d0 9a d0 bb    this.form.....
2c00: d1 8e d1 87 d0 a1 d0 be d1 85 d1 80 d0 b0 d0 bd  ................
2c10: d0 b5 d0 bd d0 b8 d1 8f d0 9f d0 be d0 bb d0 be  ................
2c20: d0 b6 d0 b5 d0 bd d0 b8 d1 8f d0 9e d0 ba d0 bd  ................
2c30: d0 b0 20 3d 20 22 65 78 74 53 65 61 72 63 68 2e  .. = "extSearch.
2c40: 64 69 61 6c 6f 67 2e 6a 73 22 0d 0a 20 20 20 20  dialog.js"..    
2c50: 20 20 20 20 74 68 69 73 2e 6c 6f 61 64 53 65 74      this.loadSet
2c60: 74 69 6e 67 73 28 29 3b 0d 0a 09 09 74 68 69 73  tings();....this
2c70: 2e 66 6f 72 6d 2e 51 75 65 72 79 20 3d 20 71 75  .form.Query = qu
2c80: 65 72 79 3b 0d 0a 09 09 74 68 69 73 2e 66 6f 72  ery;....this.for
2c90: 6d 2e 53 65 61 72 63 68 41 72 65 61 20 3d 20 69  m.SearchArea = i
2ca0: 6e 69 74 53 65 61 72 63 68 41 72 65 61 3b 09 09  nitSearchArea;..
2cb0: 0d 0a 09 7d 2c 0d 0a 09 0d 0a 09 67 65 74 53 65  ...},......getSe
2cc0: 61 72 63 68 51 75 65 72 79 50 61 72 61 6d 73 3a  archQueryParams:
2cd0: 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a   function () {..
2ce0: 09 09 76 61 72 20 70 61 72 61 6d 73 20 3d 20 76  ..var params = v
2cf0: 38 4e 65 77 28 27 53 74 72 75 63 74 75 72 65 27  8New('Structure'
2d00: 29 3b 0d 0a 09 09 70 61 72 61 6d 73 2e 49 6e 73  );....params.Ins
2d10: 65 72 74 28 27 51 75 65 72 79 27 2c 20 09 09 09  ert('Query', ...
2d20: 74 68 69 73 2e 66 6f 72 6d 2e 51 75 65 72 79 29  this.form.Query)
2d30: 3b 0d 0a 09 09 70 61 72 61 6d 73 2e 49 6e 73 65  ;....params.Inse
2d40: 72 74 28 27 57 68 6f 6c 65 57 6f 72 64 73 27 2c  rt('WholeWords',
2d50: 20 09 74 68 69 73 2e 66 6f 72 6d 2e 57 68 6f 6c   .this.form.Whol
2d60: 65 57 6f 72 64 73 29 3b 0d 0a 09 09 70 61 72 61  eWords);....para
2d70: 6d 73 2e 49 6e 73 65 72 74 28 27 43 61 73 65 53  ms.Insert('CaseS
2d80: 65 6e 73 65 74 69 76 65 27 2c 09 74 68 69 73 2e  ensetive',.this.
2d90: 66 6f 72 6d 2e 43 61 73 65 53 65 6e 73 65 74 69  form.CaseSenseti
2da0: 76 65 29 3b 0d 0a 09 09 70 61 72 61 6d 73 2e 49  ve);....params.I
2db0: 6e 73 65 72 74 28 27 49 73 52 65 67 45 78 70 27  nsert('IsRegExp'
2dc0: 2c 20 09 09 74 68 69 73 2e 66 6f 72 6d 2e 49 73  , ..this.form.Is
2dd0: 52 65 67 45 78 70 29 3b 0d 0a 09 09 72 65 74 75  RegExp);....retu
2de0: 72 6e 20 70 61 72 61 6d 73 3b 0d 0a 09 7d 2c 0d  rn params;...},.
2df0: 0a 09 0d 0a 09 67 65 74 53 65 61 72 63 68 41 72  .....getSearchAr
2e00: 65 61 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20  ea: function () 
2e10: 7b 0d 0a 09 09 72 65 74 75 72 6e 20 74 68 69 73  {....return this
2e20: 2e 66 6f 72 6d 2e 53 65 61 72 63 68 41 72 65 61  .form.SearchArea
2e30: 3b 0d 0a 09 7d 2c 0d 0a 09 0d 0a 20 20 20 20 46  ;...},.....    F
2e40: 6f 72 6d 5f 4f 6e 43 6c 6f 73 65 20 3a 20 66 75  orm_OnClose : fu
2e50: 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20  nction () {..   
2e60: 20 20 20 20 20 74 68 69 73 2e 73 61 76 65 53 65       this.saveSe
2e70: 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20 7d  ttings();..    }
2e80: 2c 0d 0a 09 0d 0a 20 20 20 20 51 75 65 72 79 5f  ,.....    Query_
2e90: 53 74 61 72 74 4c 69 73 74 43 68 6f 69 63 65 20  StartListChoice 
2ea0: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 63 6f 6e 74  : function (cont
2eb0: 72 6f 6c 2c 20 64 65 66 61 75 6c 74 48 61 6e 64  rol, defaultHand
2ec0: 6c 65 72 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  ler) {..        
2ed0: 63 6f 6e 74 72 6f 6c 2e 76 61 6c 2e 43 68 6f 69  control.val.Choi
2ee0: 63 65 4c 69 73 74 20 3d 20 74 68 69 73 2e 66 6f  ceList = this.fo
2ef0: 72 6d 2e 53 65 61 72 63 68 48 69 73 74 6f 72 79  rm.SearchHistory
2f00: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 09 0d 0a 09 62  ;..    },......b
2f10: 74 46 69 6e 64 5f 43 6c 69 63 6b 3a 20 66 75 6e  tFind_Click: fun
2f20: 63 74 69 6f 6e 20 28 62 74 6e 29 20 7b 0d 0a 09  ction (btn) {...
2f30: 09 74 68 69 73 2e 63 6c 6f 73 65 28 74 72 75 65  .this.close(true
2f40: 29 3b 0d 0a 09 7d 2c 0d 0a 09 0d 0a 09 62 74 43  );...},......btC
2f50: 61 6e 63 65 6c 5f 43 6c 69 63 6b 3a 20 66 75 6e  ancel_Click: fun
2f60: 63 74 69 6f 6e 20 28 62 74 6e 29 20 7b 0d 0a 09  ction (btn) {...
2f70: 09 74 68 69 73 2e 63 6c 6f 73 65 28 66 61 6c 73  .this.close(fals
2f80: 65 29 3b 0d 0a 09 7d 2c 0d 0a 09 0d 0a 20 20 20  e);...},.....   
2f90: 20 49 73 52 65 67 45 78 70 5f 4f 6e 43 68 61 6e   IsRegExp_OnChan
2fa0: 67 65 20 3a 20 66 75 6e 63 74 69 6f 6e 28 d0 ad  ge : function(..
2fb0: d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d  ............) {.
2fc0: 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69  .        if (thi
2fd0: 73 2e 66 6f 72 6d 2e 49 73 52 65 67 45 78 70 29  s.form.IsRegExp)
2fe0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
2ff0: 69 73 2e 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f 72  is.form.WholeWor
3000: 64 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20  ds = false;..   
3010: 20 7d 2c 0d 0a 0d 0a 20 20 20 20 57 68 6f 6c 65   },....    Whole
3020: 57 6f 72 64 73 5f 4f 6e 43 68 61 6e 67 65 20 3a  Words_OnChange :
3030: 20 66 75 6e 63 74 69 6f 6e 28 d0 ad d0 bb d0 b5   function(......
3040: d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 20 20 20  ........) {..   
3050: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 66 6f       if (this.fo
3060: 72 6d 2e 57 68 6f 6c 65 57 6f 72 64 73 29 0d 0a  rm.WholeWords)..
3070: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
3080: 2e 66 6f 72 6d 2e 49 73 52 65 67 45 78 70 20 3d  .form.IsRegExp =
3090: 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 7d 0d 0a   false;..    }..
30a0: 7d 29 3b 20 2f 2f 20 65 6e 64 20 6f 66 20 45 78  }); // end of Ex
30b0: 74 53 65 61 72 63 68 44 69 61 6c 6f 67 0d 0a 0d  tSearchDialog...
30c0: 0a 45 78 74 53 65 61 72 63 68 20 3d 20 53 63 72  .ExtSearch = Scr
30d0: 69 70 74 46 6f 72 6d 2e 65 78 74 65 6e 64 28 7b  iptForm.extend({
30e0: 0d 0a 0d 0a 20 20 20 20 73 65 74 74 69 6e 67 73  ....    settings
30f0: 52 6f 6f 74 50 61 74 68 20 3a 20 53 65 6c 66 53  RootPath : SelfS
3100: 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61 6d 65  cript.uniqueName
3110: 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 65 74  ,..    ..    set
3120: 74 69 6e 67 73 20 3a 20 7b 0d 0a 20 20 20 20 20  tings : {..     
3130: 20 20 20 70 66 6c 53 6e 65 67 6f 70 61 74 20 3a     pflSnegopat :
3140: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
3150: 27 49 73 52 65 67 45 78 70 27 20 20 20 20 20 20  'IsRegExp'      
3160: 3a 20 66 61 6c 73 65 2c 20 2f 2f 20 d0 9f d0 be  : false, // ....
3170: d0 b8 d1 81 d0 ba 20 d1 80 d0 b5 d0 b3 d1 83 d0  ...... .........
3180: bb d1 8f d1 80 d0 bd d1 8b d0 bc d0 b8 20 d0 b2  ............. ..
3190: d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d1 8f  ................
31a0: d0 bc d0 b8 2e 0d 0a 20 20 20 20 20 20 20 20 20  .......         
31b0: 20 20 20 27 43 61 73 65 53 65 6e 73 65 74 69 76     'CaseSensetiv
31c0: 65 27 20 3a 20 66 61 6c 73 65 2c 20 2f 2f 20 d0  e' : false, // .
31d0: a3 d1 87 d0 b8 d1 82 d1 8b d0 b2 d0 b0 d1 82 d1  ................
31e0: 8c 20 d1 80 d0 b5 d0 b3 d0 b8 d1 81 d1 82 d1 80  . ..............
31f0: 20 d0 bf d1 80 d0 b8 20 d0 bf d0 be d0 b8 d1 81   ...... ........
3200: d0 ba d0 b5 2e 0d 0a 20 20 20 20 20 20 20 20 20  .......         
3210: 20 20 20 27 57 68 6f 6c 65 57 6f 72 64 73 27 20     'WholeWords' 
3220: 20 20 20 3a 20 66 61 6c 73 65 2c 20 2f 2f 20 d0     : false, // .
3230: 9f d0 be d0 b8 d1 81 d0 ba 20 d1 81 d0 bb d0 be  ......... ......
3240: d0 b2 d0 b0 20 d1 86 d0 b5 d0 bb d0 b8 d0 ba d0  .... ...........
3250: be d0 bc 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  ......          
3260: 20 20 27 53 65 61 72 63 68 48 69 73 74 6f 72 79    'SearchHistory
3270: 27 20 3a 20 76 38 4e 65 77 28 27 56 61 6c 75 65  ' : v8New('Value
3280: 4c 69 73 74 27 29 2c 20 2f 2f 20 d0 98 d1 81 d1  List'), // .....
3290: 82 d0 be d1 80 d0 b8 d1 8f 20 d0 bf d0 be d0 b8  ......... ......
32a0: d1 81 d0 ba d0 b0 2e 0d 0a 20 20 20 20 20 20 20  .........       
32b0: 20 20 20 20 20 27 48 69 73 74 6f 72 79 44 65 70       'HistoryDep
32c0: 74 68 27 20 20 3a 20 31 35 2c 20 2f 2f 20 d0 9a  th'  : 15, // ..
32d0: d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2  ................
32e0: d0 be 20 d1 8d d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  .. .............
32f0: 82 d0 be d0 b2 20 d0 b8 d1 81 d1 82 d0 be d1 80  ..... ..........
3300: d0 b8 d0 b8 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0  .... ...........
3310: b0 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
3320: 27 54 72 65 65 56 69 65 77 27 20 20 20 20 20 20  'TreeView'      
3330: 3a 20 66 61 6c 73 65 20 2f 2f 20 d0 93 d1 80 d1  : false // .....
3340: 83 d0 bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0 b0 d1  ................
3350: 82 d1 8c 20 d1 80 d0 b5 d0 b7 d1 83 d0 bb d1 8c  ... ............
3360: d1 82 d0 b0 d1 82 d1 8b 20 d0 bf d0 be d0 b8 d1  ........ .......
3370: 81 d0 ba d0 b0 20 d0 bf d0 be 20 d0 bc d0 b5 d1  ..... .... .....
3380: 82 d0 be d0 b4 d0 b0 d0 bc 2e 20 20 20 20 20 20  ..........      
3390: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
33a0: 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  }..    },....   
33b0: 20 63 6f 6e 73 74 72 75 63 74 20 3a 20 66 75 6e   construct : fun
33c0: 63 74 69 6f 6e 20 28 69 73 45 78 74 65 6e 64 29  ction (isExtend)
33d0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20   {..        ..  
33e0: 20 20 20 20 20 20 69 66 20 28 69 73 45 78 74 65        if (isExte
33f0: 6e 64 20 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29  nd == undefined)
3400: 20 69 73 45 78 74 65 6e 64 20 3d 20 66 61 6c 73   isExtend = fals
3410: 65 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  e;..        this
3420: 2e 5f 73 75 70 65 72 28 22 73 63 72 69 70 74 73  ._super("scripts
3430: 5c 5c 65 78 74 53 65 61 72 63 68 2e 72 65 73 75  \\extSearch.resu
3440: 6c 74 73 2e 73 73 66 22 29 3b 0d 0a 20 20 20 20  lts.ssf");..    
3450: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
3460: 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e        this.form.
3470: d0 9a d0 bb d1 8e d1 87 d0 a1 d0 be d1 85 d1 80  ................
3480: d0 b0 d0 bd d0 b5 d0 bd d0 b8 d1 8f d0 9f d0 be  ................
3490: d0 bb d0 be d0 b6 d0 b5 d0 bd d0 b8 d1 8f d0 9e  ................
34a0: d0 ba d0 bd d0 b0 20 3d 20 22 65 78 74 53 65 61  ...... = "extSea
34b0: 72 63 68 2e 6a 73 22 0d 0a 20 20 20 20 20 20 20  rch.js"..       
34c0: 20 74 68 69 73 2e 72 65 73 75 6c 74 73 20 3d 20   this.results = 
34d0: 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f  this.form.Contro
34e0: 6c 73 2e 53 65 61 72 63 68 52 65 73 75 6c 74 73  ls.SearchResults
34f0: 2e 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20  .Value;..       
3500: 20 74 68 69 73 2e 72 65 73 75 6c 74 73 2e 43 6f   this.results.Co
3510: 6c 75 6d 6e 73 2e 41 64 64 28 27 5f 6d 65 74 68  lumns.Add('_meth
3520: 6f 64 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 74  od');..        t
3530: 68 69 73 2e 72 65 73 75 6c 74 73 2e 43 6f 6c 75  his.results.Colu
3540: 6d 6e 73 2e 41 64 64 28 27 67 72 6f 75 70 73 43  mns.Add('groupsC
3550: 61 63 68 65 27 29 3b 0d 0a 20 20 20 20 20 20 20  ache');..       
3560: 20 74 68 69 73 2e 72 65 73 75 6c 74 73 2e 43 6f   this.results.Co
3570: 6c 75 6d 6e 73 2e 41 64 64 28 27 5f 6f 62 6a 65  lumns.Add('_obje
3580: 63 74 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 74  ct');..        t
3590: 68 69 73 2e 72 65 73 75 6c 74 73 2e 43 6f 6c 75  his.results.Colu
35a0: 6d 6e 73 2e 41 64 64 28 27 5f 6d 61 74 63 68 27  mns.Add('_match'
35b0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  );..        this
35c0: 2e 72 65 73 75 6c 74 73 2e 43 6f 6c 75 6d 6e 73  .results.Columns
35d0: 2e 41 64 64 28 27 53 6f 72 74 4d 65 74 61 64 61  .Add('SortMetada
35e0: 74 61 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d  ta');..        .
35f0: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 77 61  .        this.wa
3600: 74 63 68 65 72 20 3d 20 6e 65 77 20 54 65 78 74  tcher = new Text
3610: 57 69 6e 64 6f 77 73 57 61 74 63 68 65 72 28 29  WindowsWatcher()
3620: 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  ;..        this.
3630: 77 61 74 63 68 65 72 2e 73 74 61 72 74 57 61 74  watcher.startWat
3640: 63 68 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  ch();..         
3650: 20 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e   ..        this.
3660: 6c 6f 61 64 53 65 74 74 69 6e 67 73 28 29 3b 0d  loadSettings();.
3670: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
3680: 20 20 20 74 68 69 73 2e 74 61 72 67 65 74 57 69     this.targetWi
3690: 6e 64 6f 77 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20  ndow = null;..  
36a0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
36b0: 74 68 69 73 2e 49 63 6f 6e 73 20 3d 20 7b 0d 0a  this.Icons = {..
36c0: 20 20 20 20 20 20 20 20 20 20 20 20 27 46 75 6e              'Fun
36d0: 63 27 3a 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f  c': this.form.Co
36e0: 6e 74 72 6f 6c 73 2e 50 69 63 46 75 6e 63 2e 50  ntrols.PicFunc.P
36f0: 69 63 74 75 72 65 2c 0d 0a 20 20 20 20 20 20 20  icture,..       
3700: 20 20 20 20 20 27 50 72 6f 63 27 3a 20 74 68 69       'Proc': thi
3710: 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e  s.form.Controls.
3720: 50 69 63 50 72 6f 63 2e 50 69 63 74 75 72 65 0d  PicProc.Picture.
3730: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
3740: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74 68      ..        th
3750: 69 73 2e 53 65 61 72 63 68 44 6f 63 52 6f 77 46  is.SearchDocRowF
3760: 6f 6e 74 20 3d 20 76 38 4e 65 77 28 27 46 6f 6e  ont = v8New('Fon
3770: 74 27 2c 20 75 6e 64 65 66 69 6e 65 64 2c 20 75  t', undefined, u
3780: 6e 64 65 66 69 6e 65 64 2c 20 74 72 75 65 29 3b  ndefined, true);
3790: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 69  ..        this.i
37a0: 73 47 6c 6f 62 61 6c 46 69 6e 64 20 3d 20 66 61  sGlobalFind = fa
37b0: 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  lse;..        ..
37c0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 53 65 74          this.Set
37d0: 43 6f 6e 74 72 6f 6c 73 56 69 73 69 62 6c 65 28  ControlsVisible(
37e0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  );..        if (
37f0: 21 69 73 45 78 74 65 6e 64 29 20 45 78 74 53 65  !isExtend) ExtSe
3800: 61 72 63 68 2e 5f 69 6e 73 74 61 6e 63 65 20 3d  arch._instance =
3810: 20 74 68 69 73 3b 0d 0a 20 20 20 20 0d 0a 20 20   this;..    ..  
3820: 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20    },..    ..    
3830: 73 65 74 53 69 6d 70 6c 65 51 75 65 72 79 20 3a  setSimpleQuery :
3840: 20 66 75 6e 63 74 69 6f 6e 20 28 71 75 65 72 79   function (query
3850: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69  ) {..        thi
3860: 73 2e 66 6f 72 6d 2e 51 75 65 72 79 20 3d 20 71  s.form.Query = q
3870: 75 65 72 79 3b 0d 0a 20 20 20 20 20 20 20 20 74  uery;..        t
3880: 68 69 73 2e 66 6f 72 6d 2e 49 73 52 65 67 45 78  his.form.IsRegEx
3890: 70 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20  p = false;..    
38a0: 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 61      this.form.Ca
38b0: 73 65 53 65 6e 73 65 74 69 76 65 20 3d 20 66 61  seSensetive = fa
38c0: 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 74 68  lse;..        th
38d0: 69 73 2e 61 64 64 54 6f 48 69 73 74 6f 72 79 28  is.addToHistory(
38e0: 71 75 65 72 79 29 3b 0d 0a 20 20 20 20 7d 2c 0d  query);..    },.
38f0: 0a 09 0d 0a 09 73 65 74 51 75 65 72 79 20 3a 20  .....setQuery : 
3900: 66 75 6e 63 74 69 6f 6e 20 28 73 65 61 72 63 68  function (search
3910: 51 75 65 72 79 50 61 72 61 6d 73 29 20 7b 0d 0a  QueryParams) {..
3920: 20 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72          this.for
3930: 6d 2e 51 75 65 72 79 20 09 09 3d 20 73 65 61 72  m.Query ..= sear
3940: 63 68 51 75 65 72 79 50 61 72 61 6d 73 2e 51 75  chQueryParams.Qu
3950: 65 72 79 3b 0d 0a 20 20 20 20 20 20 20 20 74 68  ery;..        th
3960: 69 73 2e 66 6f 72 6d 2e 49 73 52 65 67 45 78 70  is.form.IsRegExp
3970: 20 09 09 3d 20 73 65 61 72 63 68 51 75 65 72 79   ..= searchQuery
3980: 50 61 72 61 6d 73 2e 49 73 52 65 67 45 78 70 3b  Params.IsRegExp;
3990: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 66  ..        this.f
39a0: 6f 72 6d 2e 43 61 73 65 53 65 6e 73 65 74 69 76  orm.CaseSensetiv
39b0: 65 20 3d 20 73 65 61 72 63 68 51 75 65 72 79 50  e = searchQueryP
39c0: 61 72 61 6d 73 2e 43 61 73 65 53 65 6e 73 65 74  arams.CaseSenset
39d0: 69 76 65 3b 0d 0a 09 09 74 68 69 73 2e 66 6f 72  ive;....this.for
39e0: 6d 2e 57 68 6f 6c 65 57 6f 72 64 73 09 3d 20 73  m.WholeWords.= s
39f0: 65 61 72 63 68 51 75 65 72 79 50 61 72 61 6d 73  earchQueryParams
3a00: 2e 57 68 6f 6c 65 57 6f 72 64 73 3b 0d 0a 20 20  .WholeWords;..  
3a10: 20 20 20 20 20 20 74 68 69 73 2e 61 64 64 54 6f        this.addTo
3a20: 48 69 73 74 6f 72 79 28 74 68 69 73 2e 66 6f 72  History(this.for
3a30: 6d 2e 51 75 65 72 79 29 3b 0d 0a 20 20 20 20 7d  m.Query);..    }
3a40: 2c 0d 0a 0d 0a 20 20 20 20 65 78 70 61 6e 64 54  ,....    expandT
3a50: 72 65 65 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28  ree : function (
3a60: 63 6f 6c 6c 61 70 73 65 29 20 7b 0d 0a 20 20 20  collapse) {..   
3a70: 20 20 20 20 20 76 61 72 20 74 72 65 65 20 3d 20       var tree = 
3a80: 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f  this.form.Contro
3a90: 6c 73 2e 53 65 61 72 63 68 52 65 73 75 6c 74 73  ls.SearchResults
3aa0: 3b 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28  ;..        for (
3ab0: 76 61 72 20 69 3d 30 3b 20 69 20 3c 20 74 68 69  var i=0; i < thi
3ac0: 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 43  s.results.Rows.C
3ad0: 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 0d 0a 20 20  ount(); i++)..  
3ae0: 20 20 20 20 20 20 7b 20 20 20 20 20 20 20 20 0d        {        .
3af0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72  .            var
3b00: 20 64 6f 63 52 6f 77 20 3d 20 74 68 69 73 2e 72   docRow = this.r
3b10: 65 73 75 6c 74 73 2e 52 6f 77 73 2e 47 65 74 28  esults.Rows.Get(
3b20: 69 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  i);..           
3b30: 20 69 66 20 28 74 68 69 73 2e 66 6f 72 6d 2e 54   if (this.form.T
3b40: 72 65 65 56 69 65 77 29 0d 0a 20 20 20 20 20 20  reeView)..      
3b50: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
3b60: 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61           for (va
3b70: 72 20 6a 3d 30 3b 20 6a 20 3c 20 64 6f 63 52 6f  r j=0; j < docRo
3b80: 77 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 3b 20  w.Rows.Count(); 
3b90: 6a 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20 20 20  j++)..          
3ba0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
3bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
3bc0: 20 72 6f 77 20 3d 20 64 6f 63 52 6f 77 2e 52 6f   row = docRow.Ro
3bd0: 77 73 2e 47 65 74 28 6a 29 3b 0d 0a 20 20 20 20  ws.Get(j);..    
3be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3bf0: 63 6f 6c 6c 61 70 73 65 20 3f 20 74 72 65 65 2e  collapse ? tree.
3c00: 43 6f 6c 6c 61 70 73 65 28 72 6f 77 29 20 3a 20  Collapse(row) : 
3c10: 74 72 65 65 2e 45 78 70 61 6e 64 28 72 6f 77 2c  tree.Expand(row,
3c20: 20 74 72 75 65 29 3b 0d 0a 20 20 20 20 20 20 20   true);..       
3c30: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
3c40: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
3c50: 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20         else..   
3c60: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20           {..    
3c70: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c              coll
3c80: 61 70 73 65 20 3f 20 74 72 65 65 2e 43 6f 6c 6c  apse ? tree.Coll
3c90: 61 70 73 65 28 64 6f 63 52 6f 77 29 20 3a 20 74  apse(docRow) : t
3ca0: 72 65 65 2e 45 78 70 61 6e 64 28 64 6f 63 52 6f  ree.Expand(docRo
3cb0: 77 2c 20 74 72 75 65 29 3b 20 20 20 20 20 20 20  w, true);       
3cc0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
3cd0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d     }..        }.
3ce0: 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 20 20 20  .    },..       
3cf0: 20 0d 0a 20 20 20 20 67 65 74 57 69 6e 64 6f 77   ..    getWindow
3d00: 4f 62 6a 65 63 74 20 3a 20 66 75 6e 63 74 69 6f  Object : functio
3d10: 6e 20 28 76 69 65 77 29 20 7b 0d 0a 20 20 20 20  n (view) {..    
3d20: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20     ..        if 
3d30: 28 76 69 65 77 2e 6d 64 4f 62 6a 20 26 26 20 76  (view.mdObj && v
3d40: 69 65 77 2e 6d 64 50 72 6f 70 29 20 0d 0a 20 20  iew.mdProp) ..  
3d50: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
3d60: 20 6e 65 77 20 4d 64 4f 62 6a 65 63 74 28 76 69   new MdObject(vi
3d70: 65 77 2e 6d 64 4f 62 6a 2c 20 76 69 65 77 2e 6d  ew.mdObj, view.m
3d80: 64 50 72 6f 70 2c 20 76 69 65 77 2e 74 69 74 6c  dProp, view.titl
3d90: 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  e);..           
3da0: 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6f   ..        var o
3db0: 62 6a 20 3d 20 76 69 65 77 2e 67 65 74 4f 62 6a  bj = view.getObj
3dc0: 65 63 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  ect();..        
3dd0: 69 66 20 28 6f 62 6a 20 26 26 20 74 6f 56 38 56  if (obj && toV8V
3de0: 61 6c 75 65 28 6f 62 6a 29 2e 74 79 70 65 4e 61  alue(obj).typeNa
3df0: 6d 65 28 30 29 20 3d 3d 20 27 54 65 78 74 44 6f  me(0) == 'TextDo
3e00: 63 75 6d 65 6e 74 27 29 0d 0a 20 20 20 20 20 20  cument')..      
3e10: 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77        return new
3e20: 20 54 65 78 74 44 6f 63 4f 62 6a 65 63 74 28 6f   TextDocObject(o
3e30: 62 6a 2c 20 76 69 65 77 2e 74 69 74 6c 65 29 3b  bj, view.title);
3e40: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
3e50: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
3e60: 69 66 20 28 6f 62 6a 29 20 4d 65 73 73 61 67 65  if (obj) Message
3e70: 28 27 d0 9d d0 b5 d0 bf d0 be d0 b4 d0 b4 d0 b5  ('..............
3e80: d1 80 d0 b6 d0 b8 d0 b2 d0 b0 d0 b5 d0 bc d1 8b  ................
3e90: d0 b9 20 d1 82 d0 b8 d0 bf 20 d0 be d0 b1 d1 8a  .. ...... ......
3ea0: d0 b5 d0 ba d1 82 d0 b0 20 d0 b4 d0 bb d1 8f 20  ........ ...... 
3eb0: d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 3a 20 27 20  ............: ' 
3ec0: 2b 20 74 6f 56 38 56 61 6c 75 65 28 6f 62 6a 29  + toV8Value(obj)
3ed0: 2e 74 79 70 65 4e 61 6d 65 28 30 29 29 3b 0d 0a  .typeName(0));..
3ee0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
3ef0: 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a    return null;..
3f00: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
3f10: 20 20 73 65 61 72 63 68 4f 70 65 6e 65 64 57 69    searchOpenedWi
3f20: 6e 64 6f 77 73 3a 20 66 75 6e 63 74 69 6f 6e 20  ndows: function 
3f30: 28 66 72 6f 6d 48 6f 74 4b 65 79 29 20 7b 0d 0a  (fromHotKey) {..
3f40: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 63  ..        var ac
3f50: 74 69 76 65 57 69 6e 64 6f 77 20 3d 20 74 68 69  tiveWindow = thi
3f60: 73 2e 77 61 74 63 68 65 72 2e 67 65 74 41 63 74  s.watcher.getAct
3f70: 69 76 65 54 65 78 74 57 69 6e 64 6f 77 28 29 3b  iveTextWindow();
3f80: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 61  ..        if (!a
3f90: 63 74 69 76 65 57 69 6e 64 6f 77 29 20 72 65 74  ctiveWindow) ret
3fa0: 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  urn;..        ..
3fb0: 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69          var acti
3fc0: 76 65 56 69 65 77 20 3d 20 61 63 74 69 76 65 57  veView = activeW
3fd0: 69 6e 64 6f 77 2e 47 65 74 56 69 65 77 28 29 3b  indow.GetView();
3fe0: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 61  ..        if (!a
3ff0: 63 74 69 76 65 56 69 65 77 29 20 72 65 74 75 72  ctiveView) retur
4000: 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68  n;....        th
4010: 69 73 2e 63 6c 65 61 72 53 65 61 72 63 68 52 65  is.clearSearchRe
4020: 73 75 6c 74 73 28 29 3b 0d 0a 20 20 20 20 20 20  sults();..      
4030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d                 .
4040: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 72 65  .        this.re
4050: 20 3d 20 74 68 69 73 2e 62 75 69 6c 64 53 65 61   = this.buildSea
4060: 72 63 68 52 65 67 45 78 70 4f 62 6a 65 63 74 28  rchRegExpObject(
4070: 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  );..        if (
4080: 21 74 68 69 73 2e 72 65 29 20 72 65 74 75 72 6e  !this.re) return
4090: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
40a0: 20 20 20 20 20 76 61 72 20 61 63 74 69 76 65 57       var activeW
40b0: 6e 64 52 65 73 52 6f 77 20 3d 20 6e 75 6c 6c 3b  ndResRow = null;
40c0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
40d0: 20 20 20 20 76 61 72 20 65 73 20 3d 20 74 68 69      var es = thi
40e0: 73 3b 0d 0a 20 20 20 20 20 20 20 20 28 66 75 6e  s;..        (fun
40f0: 63 74 69 6f 6e 20 28 76 69 65 77 73 29 20 7b 20  ction (views) { 
4100: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
4110: 20 20 20 20 20 66 6f 72 28 76 61 72 20 69 20 3d       for(var i =
4120: 20 30 3b 20 69 20 3c 20 76 69 65 77 73 2e 63 6f   0; i < views.co
4130: 75 6e 74 3b 20 69 2b 2b 29 20 0d 0a 20 20 20 20  unt; i++) ..    
4140: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
4150: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 76             var v
4160: 20 3d 20 76 69 65 77 73 2e 69 74 65 6d 28 69 29   = views.item(i)
4170: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
4180: 20 20 20 69 66 28 76 2e 69 73 43 6f 6e 74 61 69     if(v.isContai
4190: 6e 65 72 20 21 3d 20 76 63 74 4e 6f 29 0d 0a 20  ner != vctNo).. 
41a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b                 {
41b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
41c0: 20 20 20 20 20 20 2f 2f 20 d0 95 d1 81 d0 bb d0        // .......
41d0: b8 20 d0 be d0 ba d0 bd d0 be 20 2d 20 d0 ba d0  . ........ - ...
41e0: be d0 bd d1 82 d0 b5 d0 b9 d0 bd d0 b5 d1 80 2c  ...............,
41f0: 20 d1 82 d0 be 20 d0 be d0 b1 d1 85 d0 be d0 b4   .... ..........
4200: d0 b8 d0 bc 20 d1 80 d0 b5 d0 ba d1 83 d1 80 d1  .... ...........
4210: 81 d0 b8 d0 b2 d0 bd d0 be 20 d0 b5 d0 b3 d0 be  ......... ......
4220: 20 d0 bf d0 be d1 82 d0 be d0 bc d0 ba d0 be d0   ...............
4230: b2 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
4240: 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74          argument
4250: 73 2e 63 61 6c 6c 65 65 28 76 2e 65 6e 75 6d 43  s.callee(v.enumC
4260: 68 69 6c 64 73 28 29 29 3b 0d 0a 20 20 20 20 20  hilds());..     
4270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63                 c
4280: 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20  ontinue;..      
4290: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
42a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
42b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
42c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
42d0: 61 72 20 6f 62 6a 20 3d 20 65 73 2e 67 65 74 57  ar obj = es.getW
42e0: 69 6e 64 6f 77 4f 62 6a 65 63 74 28 76 29 3b 0d  indowObject(v);.
42f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
4300: 20 69 66 20 28 21 6f 62 6a 29 20 63 6f 6e 74 69   if (!obj) conti
4310: 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  nue;..          
4320: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
4330: 20 20 20 20 20 20 20 20 76 61 72 20 64 6f 63 52          var docR
4340: 6f 77 20 3d 20 65 73 2e 73 65 61 72 63 68 28 6f  ow = es.search(o
4350: 62 6a 2c 20 65 73 2e 72 65 29 3b 0d 0a 20 20 20  bj, es.re);..   
4360: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
4370: 28 76 20 3d 3d 20 61 63 74 69 76 65 56 69 65 77  (v == activeView
4380: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  )..             
4390: 20 20 20 20 20 20 20 61 63 74 69 76 65 57 6e 64         activeWnd
43a0: 52 65 73 52 6f 77 20 3d 20 64 6f 63 52 6f 77 3b  ResRow = docRow;
43b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d  ..            }.
43c0: 0a 20 20 20 20 20 20 20 20 7d 29 28 77 69 6e 64  .        })(wind
43d0: 6f 77 73 2e 6d 64 69 56 69 65 77 2e 65 6e 75 6d  ows.mdiView.enum
43e0: 43 68 69 6c 64 73 28 29 29 3b 0d 0a 20 20 20 20  Childs());..    
43f0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74 68      ..        th
4400: 69 73 2e 73 68 6f 77 53 65 61 72 63 68 52 65 73  is.showSearchRes
4410: 75 6c 74 28 61 63 74 69 76 65 57 6e 64 52 65 73  ult(activeWndRes
4420: 52 6f 77 2c 20 66 72 6f 6d 48 6f 74 4b 65 79 29  Row, fromHotKey)
4430: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  ;..    },....   
4440: 20 73 65 61 72 63 68 41 63 74 69 76 65 44 6f 63   searchActiveDoc
4450: 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 66 72 6f   : function (fro
4460: 6d 48 6f 74 4b 65 79 29 20 7b 0d 0a 20 20 20 20  mHotKey) {..    
4470: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74 68      ..        th
4480: 69 73 2e 63 6c 65 61 72 53 65 61 72 63 68 52 65  is.clearSearchRe
4490: 73 75 6c 74 73 28 29 3b 0d 0a 20 20 20 20 20 20  sults();..      
44a0: 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20    ..        var 
44b0: 61 63 74 69 76 65 57 69 6e 64 6f 77 20 3d 20 74  activeWindow = t
44c0: 68 69 73 2e 77 61 74 63 68 65 72 2e 67 65 74 41  his.watcher.getA
44d0: 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f 77 28  ctiveTextWindow(
44e0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  );..        if (
44f0: 21 61 63 74 69 76 65 57 69 6e 64 6f 77 29 20 72  !activeWindow) r
4500: 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20  eturn;..        
4510: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74       ..        t
4520: 68 69 73 2e 72 65 20 3d 20 74 68 69 73 2e 62 75  his.re = this.bu
4530: 69 6c 64 53 65 61 72 63 68 52 65 67 45 78 70 4f  ildSearchRegExpO
4540: 62 6a 65 63 74 28 29 3b 0d 0a 20 20 20 20 20 20  bject();..      
4550: 20 20 69 66 20 28 21 74 68 69 73 2e 72 65 29 20    if (!this.re) 
4560: 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20  return;....     
4570: 20 20 20 76 61 72 20 6f 62 6a 20 3d 20 74 68 69     var obj = thi
4580: 73 2e 67 65 74 57 69 6e 64 6f 77 4f 62 6a 65 63  s.getWindowObjec
4590: 74 28 61 63 74 69 76 65 57 69 6e 64 6f 77 2e 47  t(activeWindow.G
45a0: 65 74 56 69 65 77 28 29 29 3b 0d 0a 20 20 20 20  etView());..    
45b0: 20 20 20 20 69 66 20 28 21 6f 62 6a 29 20 72 65      if (!obj) re
45c0: 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 0d  turn;..        .
45d0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 64 6f 63  .        var doc
45e0: 52 6f 77 20 3d 20 74 68 69 73 2e 73 65 61 72 63  Row = this.searc
45f0: 68 28 6f 62 6a 2c 20 74 68 69 73 2e 72 65 29 3b  h(obj, this.re);
4600: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
4610: 20 20 20 20 74 68 69 73 2e 73 68 6f 77 53 65 61      this.showSea
4620: 72 63 68 52 65 73 75 6c 74 28 64 6f 63 52 6f 77  rchResult(docRow
4630: 2c 20 66 72 6f 6d 48 6f 74 4b 65 79 29 3b 0d 0a  , fromHotKey);..
4640: 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 62 75      },....    bu
4650: 69 6c 64 53 65 61 72 63 68 52 65 67 45 78 70 4f  ildSearchRegExpO
4660: 62 6a 65 63 74 20 3a 20 66 75 6e 63 74 69 6f 6e  bject : function
4670: 20 28 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20   () {..    ..   
4680: 20 20 20 20 20 76 61 72 20 70 61 74 74 65 72 6e       var pattern
4690: 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 51 75 65   = this.form.Que
46a0: 72 79 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72  ry;..        var
46b0: 20 72 65 46 6c 61 67 73 20 3d 20 27 27 3b 0d 0a   reFlags = '';..
46c0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
46d0: 20 20 69 66 20 28 21 74 68 69 73 2e 66 6f 72 6d    if (!this.form
46e0: 2e 49 73 52 65 67 45 78 70 29 20 0d 0a 20 20 20  .IsRegExp) ..   
46f0: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20       {..        
4700: 20 20 20 20 70 61 74 74 65 72 6e 20 3d 20 53 74      pattern = St
4710: 72 69 6e 67 55 74 69 6c 73 2e 61 64 64 53 6c 61  ringUtils.addSla
4720: 73 68 65 73 28 70 61 74 74 65 72 6e 29 3b 0d 0a  shes(pattern);..
4730: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
4740: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 68            if (th
4750: 69 73 2e 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f 72  is.form.WholeWor
4760: 64 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ds)..           
4770: 20 20 20 20 20 70 61 74 74 65 72 6e 20 3d 20 22       pattern = "
4780: 28 5b 5e 5c 5c 77 5c 5c 64 d0 90 2d d1 8f 5d 7c  ([^\\w\\d..-..]|
4790: 5e 29 22 20 2b 20 70 61 74 74 65 72 6e 20 2b 20  ^)" + pattern + 
47a0: 22 28 5b 5e 5c 5c 77 5c 5c 64 d0 90 2d d1 8f 5d  "([^\\w\\d..-..]
47b0: 7c 24 29 22 3b 0d 0a 20 20 20 20 20 20 20 20 7d  |$)";..        }
47c0: 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a  ..        else..
47d0: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
47e0: 20 20 20 20 20 20 20 69 66 28 70 61 74 74 65 72         if(patter
47f0: 6e 2e 72 65 70 6c 61 63 65 28 22 5c 5c 5c 5c 22  n.replace("\\\\"
4800: 2c 20 22 22 29 2e 73 65 61 72 63 68 28 2f 5c 5c  , "").search(/\\
4810: 72 7c 5c 5c 6e 2f 29 20 21 3d 20 2d 31 29 0d 0a  r|\\n/) != -1)..
4820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4830: 72 65 46 6c 61 67 73 20 3d 20 27 67 6d 27 3b 0d  reFlags = 'gm';.
4840: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
4850: 20 20 20 20 69 66 28 21 74 68 69 73 2e 66 6f 72      if(!this.for
4860: 6d 2e 43 61 73 65 53 65 6e 73 65 74 69 76 65 29  m.CaseSensetive)
4870: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  ..            re
4880: 46 6c 61 67 73 20 2b 3d 20 27 69 27 3b 0d 0a 20  Flags += 'i';.. 
4890: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
48a0: 20 76 61 72 20 72 65 20 3d 20 6e 75 6c 6c 3b 0d   var re = null;.
48b0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
48c0: 20 20 20 74 72 79 20 0d 0a 20 20 20 20 20 20 20     try ..       
48d0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
48e0: 72 65 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28  re = new RegExp(
48f0: 70 61 74 74 65 72 6e 2c 20 72 65 46 6c 61 67 73  pattern, reFlags
4900: 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  );..        }.. 
4910: 20 20 20 20 20 20 20 63 61 74 63 68 20 28 65 29         catch (e)
4920: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20  ..        {..   
4930: 20 20 20 20 20 20 20 20 20 44 6f 4d 65 73 73 61           DoMessa
4940: 67 65 42 6f 78 28 22 d0 92 20 d1 80 d0 b5 d0 b3  geBox(".. ......
4950: d1 83 d0 bb d1 8f d1 80 d0 bd d0 be d0 bc 20 d0  .............. .
4960: b2 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d0  ................
4970: b8 20 d0 b4 d0 be d0 bf d1 83 d1 89 d0 b5 d0 bd  . ..............
4980: d0 b0 20 d0 be d1 88 d0 b8 d0 b1 d0 ba d0 b0 3a  .. ............:
4990: 20 5c 6e 22 20 2b 20 65 2e 6d 65 73 73 61 67 65   \n" + e.message
49a0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
49b0: 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20 20  return null;..  
49c0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20        }..    .. 
49d0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65         return re
49e0: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d  ;..    },..    .
49f0: 0a 20 20 20 20 73 65 61 72 63 68 20 3a 20 66 75  .    search : fu
4a00: 6e 63 74 69 6f 6e 20 28 6f 62 6a 2c 20 72 65 29  nction (obj, re)
4a10: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 0d 0a   {..          ..
4a20: 20 20 20 20 20 20 20 20 76 61 72 20 64 6f 63 52          var docR
4a30: 6f 77 20 3d 20 74 68 69 73 2e 72 65 73 75 6c 74  ow = this.result
4a40: 73 2e 52 6f 77 73 2e 41 64 64 28 29 3b 0d 0a 20  s.Rows.Add();.. 
4a50: 20 20 20 20 20 20 20 64 6f 63 52 6f 77 2e 46 6f         docRow.Fo
4a60: 75 6e 64 4c 69 6e 65 20 3d 20 6f 62 6a 2e 67 65  undLine = obj.ge
4a70: 74 54 69 74 6c 65 28 29 3b 0d 0a 20 20 20 20 20  tTitle();..     
4a80: 20 20 20 64 6f 63 52 6f 77 2e 5f 6f 62 6a 65 63     docRow._objec
4a90: 74 20 3d 20 6f 62 6a 3b 0d 0a 20 20 20 20 20 20  t = obj;..      
4aa0: 20 20 64 6f 63 52 6f 77 2e 52 6f 77 54 79 70 65    docRow.RowType
4ab0: 20 3d 20 52 6f 77 54 79 70 65 73 2e 53 65 61 72   = RowTypes.Sear
4ac0: 63 68 44 6f 63 3b 0d 0a 20 20 20 20 20 20 20 20  chDoc;..        
4ad0: 69 66 20 28 21 6f 62 6a 2e 73 6f 72 74 29 20 6f  if (!obj.sort) o
4ae0: 62 6a 2e 73 6f 72 74 20 3d 20 39 39 39 3b 0d 0a  bj.sort = 999;..
4af0: 20 20 20 20 20 20 20 20 76 61 72 20 73 74 72 53          var strS
4b00: 6f 72 74 20 3d 20 22 30 30 30 30 30 30 30 30 30  ort = "000000000
4b10: 30 22 2b 28 6f 62 6a 2e 73 6f 72 74 20 2b 20 74  0"+(obj.sort + t
4b20: 68 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73  his.results.Rows
4b30: 2e 43 6f 75 6e 74 28 29 29 3b 0d 0a 20 20 20 20  .Count());..    
4b40: 20 20 20 20 73 74 72 53 6f 72 74 20 3d 20 73 74      strSort = st
4b50: 72 53 6f 72 74 2e 73 75 62 73 74 72 28 73 74 72  rSort.substr(str
4b60: 53 6f 72 74 2e 6c 65 6e 67 74 68 2d 31 30 29 3b  Sort.length-10);
4b70: 0d 0a 20 20 20 20 20 20 20 20 64 6f 63 52 6f 77  ..        docRow
4b80: 2e 53 6f 72 74 4d 65 74 61 64 61 74 61 20 3d 20  .SortMetadata = 
4b90: 73 74 72 53 6f 72 74 3b 0d 0a 0d 0a 20 20 20 20  strSort;....    
4ba0: 20 20 20 20 64 6f 63 52 6f 77 2e 67 72 6f 75 70      docRow.group
4bb0: 73 43 61 63 68 65 20 3d 20 76 38 4e 65 77 28 27  sCache = v8New('
4bc0: 4d 61 70 27 29 3b 0d 0a 20 20 20 20 20 20 20 20  Map');..        
4bd0: 69 66 28 21 72 65 2e 6d 75 6c 74 69 6c 69 6e 65  if(!re.multiline
4be0: 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20  )..        {..  
4bf0: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75            var cu
4c00: 72 4d 65 74 68 6f 64 20 3d 20 7b 20 0d 0a 20 20  rMethod = { ..  
4c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 4e                'N
4c20: 61 6d 65 27 20 20 20 20 20 20 3a 20 27 d0 a0 d0  ame'      : '...
4c30: b0 d0 b7 d0 b4 d0 b5 d0 bb 20 d0 be d0 bf d0 b8  ......... ......
4c40: d1 81 d0 b0 d0 bd d0 b8 d1 8f 20 d0 bf d0 b5 d1  .......... .....
4c50: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 27  ...............'
4c60: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
4c70: 20 20 20 27 49 73 50 72 6f 63 27 20 20 20 20 3a     'IsProc'    :
4c80: 20 75 6e 64 65 66 69 6e 65 64 2c 0d 0a 20 20 20   undefined,..   
4c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 27 53 74               'St
4ca0: 61 72 74 4c 69 6e 65 27 20 3a 20 30 0d 0a 20 20  artLine' : 0..  
4cb0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
4cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ce0: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76   ..            v
4cf0: 61 72 20 6c 69 6e 65 73 20 3d 20 53 74 72 69 6e  ar lines = Strin
4d00: 67 55 74 69 6c 73 2e 74 6f 4c 69 6e 65 73 28 6f  gUtils.toLines(o
4d10: 62 6a 2e 67 65 74 54 65 78 74 28 29 29 3b 0d 0a  bj.getText());..
4d20: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 28              for(
4d30: 76 61 72 20 6c 69 6e 65 49 78 3d 30 3b 20 6c 69  var lineIx=0; li
4d40: 6e 65 49 78 20 3c 20 6c 69 6e 65 73 2e 6c 65 6e  neIx < lines.len
4d50: 67 74 68 3b 20 6c 69 6e 65 49 78 2b 2b 29 0d 0a  gth; lineIx++)..
4d60: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20              {.. 
4d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
4d80: 61 72 20 6c 69 6e 65 20 3d 20 6c 69 6e 65 73 5b  ar line = lines[
4d90: 6c 69 6e 65 49 78 5d 3b 0d 0a 20 20 20 20 20 20  lineIx];..      
4da0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
4db0: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0              // .
4dc0: 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 b8 d0 bc 2c  ...............,
4dd0: 20 d0 bd d0 b5 20 d0 b2 d1 81 d1 82 d1 80 d0 b5   .... ..........
4de0: d1 82 d0 b8 d0 bb d0 be d1 81 d1 8c 20 d0 bb d0  ............ ...
4df0: b8 20 d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 be 20 d0  . ............ .
4e00: bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 0d 0a 20 20  ..............  
4e10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
4e20: 72 20 6d 61 74 63 68 65 73 20 3d 20 6c 69 6e 65  r matches = line
4e30: 2e 6d 61 74 63 68 28 52 45 2e 4d 45 54 48 4f 44  .match(RE.METHOD
4e40: 5f 53 54 41 52 54 29 3b 0d 0a 20 20 20 20 20 20  _START);..      
4e50: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61            if (ma
4e60: 74 63 68 65 73 20 26 26 20 6d 61 74 63 68 65 73  tches && matches
4e70: 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20  .length)..      
4e80: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20            {..   
4e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ea0: 20 63 75 72 4d 65 74 68 6f 64 20 3d 20 7b 0d 0a   curMethod = {..
4eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ec0: 20 20 20 20 20 20 20 20 27 4e 61 6d 65 27 20 20          'Name'  
4ed0: 20 20 20 20 3a 20 6d 61 74 63 68 65 73 5b 32 5d      : matches[2]
4ee0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
4ef0: 20 20 20 20 20 20 20 20 20 20 20 27 49 73 50 72             'IsPr
4f00: 6f 63 27 20 20 20 20 3a 20 6d 61 74 63 68 65 73  oc'    : matches
4f10: 5b 31 5d 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28  [1].toLowerCase(
4f20: 29 20 3d 3d 20 27 d0 bf d1 80 d0 be d1 86 d0 b5  ) == '..........
4f30: d0 b4 d1 83 d1 80 d0 b0 27 20 7c 7c 20 6d 61 74  ........' || mat
4f40: 63 68 65 73 5b 31 5d 2e 74 6f 4c 6f 77 65 72 43  ches[1].toLowerC
4f50: 61 73 65 28 29 20 3d 3d 20 27 70 72 6f 63 65 64  ase() == 'proced
4f60: 75 72 65 27 2c 0d 0a 20 20 20 20 20 20 20 20 20  ure',..         
4f70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27                 '
4f80: 53 74 61 72 74 4c 69 6e 65 27 20 3a 20 6c 69 6e  StartLine' : lin
4f90: 65 49 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20  eIx..           
4fa0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
4fb0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
4fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d                 .
4fd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
4fe0: 20 6d 61 74 63 68 65 73 20 3d 20 6c 69 6e 65 2e   matches = line.
4ff0: 6d 61 74 63 68 28 72 65 29 3b 0d 0a 20 20 20 20  match(re);..    
5000: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
5010: 6d 61 74 63 68 65 73 20 26 26 20 6d 61 74 63 68  matches && match
5020: 65 73 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20  es.length)..    
5030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5040: 74 68 69 73 2e 61 64 64 53 65 61 72 63 68 52 65  this.addSearchRe
5050: 73 75 6c 74 28 64 6f 63 52 6f 77 2c 20 6c 69 6e  sult(docRow, lin
5060: 65 2c 20 6c 69 6e 65 49 78 20 2b 20 31 2c 20 6d  e, lineIx + 1, m
5070: 61 74 63 68 65 73 2c 20 63 75 72 4d 65 74 68 6f  atches, curMetho
5080: 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  d);..           
5090: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
50a0: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0 9f d1            // ...
50b0: 80 d0 be d0 b2 d0 b5 d1 80 d0 b8 d0 bc 2c 20 d0  ............., .
50c0: bd d0 b5 20 d0 b2 d1 81 d1 82 d1 80 d0 b5 d1 82  ... ............
50d0: d0 b8 d0 bb d1 81 d1 8f 20 d0 bb d0 b8 20 d0 ba  ........ .... ..
50e0: d0 be d0 bd d0 b5 d1 86 20 d0 bc d0 b5 d1 82 d0  ........ .......
50f0: be d0 b4 d0 b0 2e 0d 0a 20 20 20 20 20 20 20 20  ........        
5100: 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 73 20          matches 
5110: 3d 20 6c 69 6e 65 2e 6d 61 74 63 68 28 52 45 2e  = line.match(RE.
5120: 4d 45 54 48 4f 44 5f 45 4e 44 29 3b 0d 0a 20 20  METHOD_END);..  
5130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
5140: 20 28 6d 61 74 63 68 65 73 20 26 26 20 6d 61 74   (matches && mat
5150: 63 68 65 73 2e 6c 65 6e 67 74 68 29 0d 0a 20 20  ches.length)..  
5160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d                {.
5170: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
5180: 20 20 20 20 20 63 75 72 4d 65 74 68 6f 64 20 3d       curMethod =
5190: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
51a0: 20 20 20 20 20 20 20 20 20 20 20 20 27 4e 61 6d              'Nam
51b0: 65 27 20 20 20 20 20 20 3a 20 27 3c d0 a2 d0 b5  e'      : '<....
51c0: d0 ba d1 81 d1 82 20 d0 b2 d0 bd d0 b5 20 d0 bf  ...... ...... ..
51d0: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 20 d0  .............. .
51e0: b8 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b9  . ..............
51f0: 3e 27 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  >',..           
5200: 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 73               'Is
5210: 50 72 6f 63 27 20 20 20 20 3a 20 75 6e 64 65 66  Proc'    : undef
5220: 69 6e 65 64 2c 0d 0a 20 20 20 20 20 20 20 20 20  ined,..         
5230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27                 '
5240: 53 74 61 72 74 4c 69 6e 65 27 20 3a 20 6c 69 6e  StartLine' : lin
5250: 65 49 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20  eIx..           
5260: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
5270: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
5280: 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20 20             }    
5290: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
52a0: 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20       else..     
52b0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
52c0: 20 20 2f 2f 64 65 62 75 67 67 65 72 0d 0a 20 20    //debugger..  
52d0: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0 ad d1            // ...
52e0: 82 d0 be 20 d0 bc d0 bd d0 be d0 b3 d0 be d1 81  ... ............
52f0: d1 82 d1 80 d0 be d1 87 d0 bd d1 8b d0 b9 20 d0  .............. .
5300: bf d0 be d0 b8 d1 81 d0 ba 0d 0a 20 20 20 20 20  ...........     
5310: 20 20 20 20 20 20 20 2f 2f 20 d0 94 d0 bb d1 8f         // ......
5320: 20 d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 b0 20 d0 bd   ............ ..
5330: d0 b0 d0 b4 d0 be 20 d0 b2 d0 be d0 be d0 b1 d1  ...... .........
5340: 89 d0 b5 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 80  ... ............
5350: d0 b8 d1 82 d1 8c 2c 20 d0 bd d0 b0 d1 85 d0 be  ......, ........
5360: d0 b4 d0 b8 d1 82 d1 81 d1 8f 20 d0 bb d0 b8 20  .......... .... 
5370: d1 87 d1 82 d0 be 2d d0 bd d0 b8 d0 b1 d1 83 d0  ......-.........
5380: b4 d1 8c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .....           
5390: 20 76 61 72 20 74 65 78 74 20 3d 20 6f 62 6a 2e   var text = obj.
53a0: 67 65 74 54 65 78 74 28 29 0d 0a 20 20 20 20 20  getText()..     
53b0: 20 20 20 20 20 20 20 76 61 72 20 72 65 73 75 6c         var resul
53c0: 74 73 20 3d 20 5b 5d 2c 20 72 0d 0a 20 20 20 20  ts = [], r..    
53d0: 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 72 20          while(r 
53e0: 3d 20 72 65 2e 65 78 65 63 28 74 65 78 74 29 29  = re.exec(text))
53f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5400: 20 20 72 65 73 75 6c 74 73 2e 70 75 73 68 28 72    results.push(r
5410: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69  )..            i
5420: 66 28 72 65 73 75 6c 74 73 2e 6c 65 6e 67 74 68  f(results.length
5430: 29 20 20 2f 2f 20 d0 a7 d1 82 d0 be 2d d1 82 d0  )  // ......-...
5440: be 20 d0 bd d0 b0 d1 88 d0 bb d0 b8 2e 20 d0 a2  . ........... ..
5450: d0 b5 d0 bf d0 b5 d1 80 d1 8c 20 d0 bd d0 b0 d0  .......... .....
5460: b4 d0 be 20 d0 bf d0 be d0 bb d1 83 d1 87 d0 b8  ... ............
5470: d1 82 d1 8c 20 d0 bd d0 be d0 bc d0 b5 d1 80 d0  .... ...........
5480: b0 20 d1 81 d1 82 d1 80 d0 be d0 ba 20 d0 b4 d0  . .......... ...
5490: bb d1 8f 20 d0 ba d0 b0 d0 b6 d0 b4 d0 be d0 b3  ... ............
54a0: d0 be 20 d0 b2 d1 85 d0 be d0 b6 d0 b4 d0 b5 d0  .. .............
54b0: bd d0 b8 d1 8f 0d 0a 20 20 20 20 20 20 20 20 20  .......         
54c0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
54d0: 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e        this.form.
54e0: 54 72 65 65 56 69 65 77 20 3d 20 66 61 6c 73 65  TreeView = false
54f0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
5500: 20 20 20 76 61 72 20 69 64 78 20 3d 20 30 2c 20     var idx = 0, 
5510: 6c 69 6e 65 4e 75 6d 20 3d 20 30 2c 20 63 75 72  lineNum = 0, cur
5520: 72 65 6e 74 52 65 73 20 3d 20 72 65 73 75 6c 74  rentRes = result
5530: 73 5b 69 64 78 5d 2c 20 62 65 67 69 6e 49 64 78  s[idx], beginIdx
5540: 20 3d 20 63 75 72 72 65 6e 74 52 65 73 2e 69 6e   = currentRes.in
5550: 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20  dex..           
5560: 20 20 20 20 20 2f 2f 20 d0 94 d0 bb d1 8f 20 d0       // ...... .
5570: b8 d1 81 d0 ba d0 bb d1 8e d1 87 d0 b5 d0 bd d0  ................
5580: b8 d0 b5 20 d1 81 d0 b8 d1 82 d1 83 d0 b0 d1 86  ... ............
5590: d0 b8 d0 b8 2c 20 d0 ba d0 be d0 b3 d0 b4 d0 b0  ...., ..........
55a0: 20 d1 82 d0 b5 d0 ba d1 81 d1 82 20 d0 bd d0 b0   .......... ....
55b0: d0 b9 d0 b4 d0 b5 d0 bd 20 d0 b2 20 d0 bf d0 be  ........ .. ....
55c0: d1 81 d0 bb d0 b5 d0 b4 d0 bd d0 b5 d0 b9 20 d1  .............. .
55d0: 81 d1 82 d1 80 d0 be d0 ba d0 b5 2c 20 d0 bd d0  ..........., ...
55e0: b5 20 d0 b7 d0 b0 d0 ba d0 b0 d0 bd d1 87 d0 b8  . ..............
55f0: d0 b2 d0 b0 d1 8e d1 89 d0 b5 d0 b9 d1 81 d1 8f  ................
5600: 20 d0 bf d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 b4 d0   ...............
5610: be d0 bc 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8  ... ............
5620: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
5630: 20 20 20 2f 2f 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2     // ..........
5640: d0 b8 d0 bc 20 d0 ba 20 d1 82 d0 b5 d0 ba d1 81  .... .. ........
5650: d1 82 d1 83 20 d0 bf d0 b5 d1 80 d0 b5 d0 b2 d0  .... ...........
5660: be d0 b4 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8  ... ............
5670: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5680: 20 20 74 65 78 74 20 2b 3d 20 27 5c 6e 27 3b 0d    text += '\n';.
5690: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
56a0: 20 72 65 20 3d 20 2f 2e 2a 5c 6e 2f 67 0d 0a 20   re = /.*\n/g.. 
56b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77                 w
56c0: 68 69 6c 65 28 72 20 3d 20 72 65 2e 65 78 65 63  hile(r = re.exec
56d0: 28 74 65 78 74 29 29 0d 0a 20 20 20 20 20 20 20  (text))..       
56e0: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20           {..    
56f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5700: 6c 69 6e 65 4e 75 6d 2b 2b 0d 0a 20 20 20 20 20  lineNum++..     
5710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
5720: 66 28 72 2e 69 6e 64 65 78 20 3c 3d 20 62 65 67  f(r.index <= beg
5730: 69 6e 49 64 78 20 26 26 20 72 2e 6c 61 73 74 49  inIdx && r.lastI
5740: 6e 64 65 78 20 3e 20 62 65 67 69 6e 49 64 78 29  ndex > beginIdx)
5750: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5760: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
5770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5780: 20 63 75 72 72 65 6e 74 52 65 73 2e 69 6e 64 65   currentRes.inde
5790: 78 20 2d 3d 20 72 2e 69 6e 64 65 78 0d 0a 20 20  x -= r.index..  
57a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
57b0: 20 20 20 20 20 20 63 75 72 72 65 6e 74 52 65 73        currentRes
57c0: 2e 6c 61 73 74 49 6e 64 65 78 20 2d 3d 20 72 2e  .lastIndex -= r.
57d0: 69 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20  index..         
57e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
57f0: 2f 20 d0 94 d0 bb d1 8f 20 d0 be d1 82 d0 be d0  / ...... .......
5800: b1 d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d1 8f 20  ............... 
5810: d1 80 d0 b5 d0 b7 d1 83 d0 bb d1 8c d1 82 d0 b0  ................
5820: d1 82 d0 b0 20 d0 bc d0 bd d0 be d0 b3 d0 be d1  .... ...........
5830: 81 d1 82 d1 80 d0 be d1 87 d0 bd d0 be d0 b3 d0  ................
5840: be 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 20 d0  . ............ .
5850: bf d1 80 d0 b5 d0 be d0 b1 d1 80 d0 b0 d0 b7 d1  ................
5860: 83 d0 b5 d0 bc 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
5870: d1 83 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
5880: 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72              curr
5890: 65 6e 74 52 65 73 2e 72 65 61 6c 52 65 73 75 6c  entRes.realResul
58a0: 74 20 3d 20 63 75 72 72 65 6e 74 52 65 73 5b 30  t = currentRes[0
58b0: 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ]..             
58c0: 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65             curre
58d0: 6e 74 52 65 73 5b 30 5d 20 3d 20 63 75 72 72 65  ntRes[0] = curre
58e0: 6e 74 52 65 73 5b 30 5d 2e 72 65 70 6c 61 63 65  ntRes[0].replace
58f0: 28 2f 5e 5c 73 2b 2f 2c 20 27 27 29 2e 72 65 70  (/^\s+/, '').rep
5900: 6c 61 63 65 28 2f 5c 6e 5c 73 2a 2f 67 2c 20 27  lace(/\n\s*/g, '
5910: 20 5c 75 30 30 42 42 20 27 29 2e 73 75 62 73 74   \u00BB ').subst
5920: 72 28 30 2c 20 35 30 29 20 2b 20 27 5c 6e 27 0d  r(0, 50) + '\n'.
5930: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
5940: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 61 64           this.ad
5950: 64 53 65 61 72 63 68 52 65 73 75 6c 74 28 64 6f  dSearchResult(do
5960: 63 52 6f 77 2c 20 72 5b 30 5d 2c 20 6c 69 6e 65  cRow, r[0], line
5970: 4e 75 6d 2c 20 72 65 73 75 6c 74 73 5b 69 64 78  Num, results[idx
5980: 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ]);..           
5990: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 64 78               idx
59a0: 2b 2b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ++;..           
59b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28               if(
59c0: 69 64 78 20 3d 3d 20 72 65 73 75 6c 74 73 2e 6c  idx == results.l
59d0: 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20  ength)..        
59e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
59f0: 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20      break;..    
5a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5a10: 20 20 20 20 63 75 72 72 65 6e 74 52 65 73 20 3d      currentRes =
5a20: 20 72 65 73 75 6c 74 73 5b 69 64 78 5d 0d 0a 20   results[idx].. 
5a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5a40: 20 20 20 20 20 20 20 62 65 67 69 6e 49 64 78 20         beginIdx 
5a50: 3d 20 63 75 72 72 65 6e 74 52 65 73 2e 69 6e 64  = currentRes.ind
5a60: 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ex..            
5a70: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
5a80: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20             }..  
5a90: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
5aa0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
5ab0: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68  ..        if (th
5ac0: 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77  is.form.TreeView
5ad0: 20 26 26 20 64 6f 63 52 6f 77 2e 52 6f 77 73 2e   && docRow.Rows.
5ae0: 43 6f 75 6e 74 28 29 20 3e 20 30 29 0d 0a 20 20  Count() > 0)..  
5af0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
5b00: 20 20 20 20 20 76 61 72 20 6c 61 73 74 47 72 6f       var lastGro
5b10: 75 70 20 3d 20 74 68 69 73 2e 72 65 73 75 6c 74  up = this.result
5b20: 73 2e 52 6f 77 73 2e 47 65 74 28 74 68 69 73 2e  s.Rows.Get(this.
5b30: 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 43 6f 75  results.Rows.Cou
5b40: 6e 74 28 29 20 2d 20 31 29 3b 0d 0a 20 20 20 20  nt() - 1);..    
5b50: 20 20 20 20 20 20 20 20 69 66 20 28 6c 61 73 74          if (last
5b60: 47 72 6f 75 70 2e 46 6f 75 6e 64 4c 69 6e 65 20  Group.FoundLine 
5b70: 3d 3d 20 27 3c d0 a2 d0 b5 d0 ba d1 81 d1 82 20  == '<.......... 
5b80: d0 b2 d0 bd d0 b5 20 d0 bf d1 80 d0 be d1 86 d0  ...... .........
5b90: b5 d0 b4 d1 83 d1 80 20 d0 b8 20 d1 84 d1 83 d0  ....... .. .....
5ba0: bd d0 ba d1 86 d0 b8 d0 b9 3e 27 29 0d 0a 20 20  .........>')..  
5bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61                la
5bc0: 73 74 47 72 6f 75 70 2e 46 6f 75 6e 64 4c 69 6e  stGroup.FoundLin
5bd0: 65 20 3d 20 22 d0 a0 d0 b0 d0 b7 d0 b4 d0 b5 d0  e = "...........
5be0: bb 20 d0 be d1 81 d0 bd d0 be d0 b2 d0 bd d0 be  . ..............
5bf0: d0 b9 20 d0 bf d1 80 d0 be d0 b3 d1 80 d0 b0 d0  .. .............
5c00: bc d0 bc d1 8b 22 3b 0d 0a 20 20 20 20 20 20 20  .....";..       
5c10: 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20   }..        ..  
5c20: 20 20 20 20 20 20 69 66 20 28 21 64 6f 63 52 6f        if (!docRo
5c30: 77 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 29 0d  w.Rows.Count()).
5c40: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20  .        {..    
5c50: 20 20 20 20 20 20 20 20 74 68 69 73 2e 72 65 73          this.res
5c60: 75 6c 74 73 2e 52 6f 77 73 2e 44 65 6c 65 74 65  ults.Rows.Delete
5c70: 28 64 6f 63 52 6f 77 29 3b 0d 0a 20 20 20 20 20  (docRow);..     
5c80: 20 20 20 20 20 20 20 64 6f 63 52 6f 77 20 3d 20         docRow = 
5c90: 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 7d  null;..        }
5ca0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
5cb0: 20 20 20 20 72 65 74 75 72 6e 20 64 6f 63 52 6f      return docRo
5cc0: 77 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  w;..    },....  
5cd0: 20 20 73 68 6f 77 52 65 73 75 6c 74 3a 20 66 75    showResult: fu
5ce0: 6e 63 74 69 6f 6e 28 64 6f 63 52 6f 77 2c 20 66  nction(docRow, f
5cf0: 72 6f 6d 48 6f 74 4b 65 79 29 7b 0d 0a 20 20 20  romHotKey){..   
5d00: 20 20 20 20 20 74 68 69 73 2e 72 65 73 75 6c 74       this.result
5d10: 73 2e 52 6f 77 73 2e 53 6f 72 74 28 27 53 6f 72  s.Rows.Sort('Sor
5d20: 74 4d 65 74 61 64 61 74 61 2c 20 46 6f 75 6e 64  tMetadata, Found
5d30: 4c 69 6e 65 27 2c 20 66 61 6c 73 65 29 3b 0d 0a  Line', false);..
5d40: 20 20 20 20 20 20 20 20 2f 2f 20 d0 97 d0 b0 d0          // .....
5d50: bf d0 be d0 bc d0 bd d0 b8 d0 bc 20 d1 81 d1 82  ........... ....
5d60: d1 80 d0 be d0 ba d1 83 20 d0 bf d0 be d0 b8 d1  ........ .......
5d70: 81 d0 ba d0 b0 20 d0 b2 20 d0 b8 d1 81 d1 82 d0  ..... .. .......
5d80: be d1 80 d0 b8 d0 b8 2e 0d 0a 20 20 20 20 20 20  ..........      
5d90: 20 20 74 68 69 73 2e 61 64 64 54 6f 48 69 73 74    this.addToHist
5da0: 6f 72 79 28 74 68 69 73 2e 66 6f 72 6d 2e 51 75  ory(this.form.Qu
5db0: 65 72 79 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20  ery);....       
5dc0: 20 69 66 20 28 66 72 6f 6d 48 6f 74 4b 65 79 20   if (fromHotKey 
5dd0: 3d 3d 20 74 72 75 65 29 0d 0a 20 20 20 20 20 20  == true)..      
5de0: 20 20 7b 20 0d 0a 20 20 20 20 20 20 20 20 20 20    { ..          
5df0: 20 20 2f 2f 20 d0 94 d0 bb d1 8f 20 d1 82 d0 be    // ...... ....
5e00: d0 b3 d0 be 20 d1 87 d1 82 d0 be d0 b1 d1 8b 20  .... .......... 
5e10: d0 ba d1 83 d1 80 d1 81 d0 be d1 80 20 d0 bd d0  ............ ...
5e20: b5 20 d0 bf d1 80 d1 8b d0 b3 d0 b0 d0 bb 20 d0  . ............ .
5e30: bf d1 80 d0 b8 20 d0 bf d0 be d0 b8 d1 81 d0 ba  ..... ..........
5e40: d0 b5 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b5 d0  .. .............
5e50: b3 d0 be 20 d1 81 d0 bb d0 be d0 b2 d0 b0 2c 20  ... .........., 
5e60: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f  ..            //
5e70: 20 d1 82 d1 83 d1 82 20 d0 b1 d1 8b 20 d0 b5 d1   ...... .... ...
5e80: 89 d0 b5 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 b8  ... ............
5e90: d1 82 d1 8c 20 d1 87 d1 82 d0 be d0 b1 d1 8b 20  .... .......... 
5ea0: d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0 b8 d0 b7 d0 b8  ................
5eb0: d1 80 d0 be d0 b2 d0 b0 d0 bb d0 b0 d1 81 d1 8c  ................
5ec0: 20 d0 b8 d0 bc d0 b5 d0 bd d0 bd d0 be 20 d1 82   ............ ..
5ed0: d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f 20 d1 81 d1  ............ ...
5ee0: 82 d1 80 d0 be d0 ba d0 b0 0d 0a 20 20 20 20 20  ...........     
5ef0: 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d         this.form
5f00: 2e 4f 70 65 6e 28 29 3b 0d 0a 20 20 20 20 20 20  .Open();..      
5f10: 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e        this.form.
5f20: 43 75 72 72 65 6e 74 43 6f 6e 74 72 6f 6c 3d 74  CurrentControl=t
5f30: 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c  his.form.Control
5f40: 73 2e 53 65 61 72 63 68 52 65 73 75 6c 74 73 3b  s.SearchResults;
5f50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
5f60: 20 28 64 6f 63 52 6f 77 29 20 0d 0a 20 20 20 20   (docRow) ..    
5f70: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
5f80: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63             var c
5f90: 75 72 4c 69 6e 65 52 6f 77 20 3d 20 74 68 69 73  urLineRow = this
5fa0: 2e 67 65 74 52 6f 77 46 6f 72 54 68 65 43 75 72  .getRowForTheCur
5fb0: 72 65 6e 74 4c 69 6e 65 28 64 6f 63 52 6f 77 29  rentLine(docRow)
5fc0: 3b 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ;  ..           
5fd0: 20 20 20 20 20 69 66 20 28 63 75 72 4c 69 6e 65       if (curLine
5fe0: 52 6f 77 29 0d 0a 20 20 20 20 20 20 20 20 20 20  Row)..          
5ff0: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 66            this.f
6000: 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 53 65 61  orm.Controls.Sea
6010: 72 63 68 52 65 73 75 6c 74 73 2e 43 75 72 72 65  rchResults.Curre
6020: 6e 74 52 6f 77 20 3d 20 63 75 72 4c 69 6e 65 52  ntRow = curLineR
6030: 6f 77 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d  ow;            .
6040: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a  .            }..
6050: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
6060: 20 20 20 65 6c 73 65 20 69 66 20 28 64 6f 63 52     else if (docR
6070: 6f 77 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a  ow)..        {..
6080: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
6090: 74 68 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69  this.form.TreeVi
60a0: 65 77 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ew)..           
60b0: 20 20 20 20 20 74 68 69 73 2e 67 6f 54 6f 4c 69       this.goToLi
60c0: 6e 65 28 64 6f 63 52 6f 77 2e 52 6f 77 73 2e 47  ne(docRow.Rows.G
60d0: 65 74 28 30 29 2e 52 6f 77 73 2e 47 65 74 28 30  et(0).Rows.Get(0
60e0: 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ));..           
60f0: 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20   else..         
6100: 20 20 20 20 20 20 20 74 68 69 73 2e 67 6f 54 6f         this.goTo
6110: 4c 69 6e 65 28 64 6f 63 52 6f 77 2e 52 6f 77 73  Line(docRow.Rows
6120: 2e 47 65 74 28 30 29 29 3b 20 20 20 20 20 20 20  .Get(0));       
6130: 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a   ..        }....
6140: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
6150: 20 20 73 68 6f 77 53 65 61 72 63 68 52 65 73 75    showSearchResu
6160: 6c 74 3a 20 66 75 6e 63 74 69 6f 6e 20 28 64 6f  lt: function (do
6170: 63 52 6f 77 2c 20 66 72 6f 6d 48 6f 74 4b 65 79  cRow, fromHotKey
6180: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  ) {..        .. 
6190: 20 20 20 20 20 20 20 74 68 69 73 2e 73 68 6f 77         this.show
61a0: 52 65 73 75 6c 74 28 64 6f 63 52 6f 77 2c 20 66  Result(docRow, f
61b0: 72 6f 6d 48 6f 74 4b 65 79 29 3b 0d 0a 20 20 20  romHotKey);..   
61c0: 20 20 20 20 20 74 68 69 73 2e 65 78 70 61 6e 64       this.expand
61d0: 54 72 65 65 28 29 3b 0d 0a 20 20 20 20 20 20 20  Tree();..       
61e0: 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74   ..        if (t
61f0: 68 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73  his.results.Rows
6200: 2e 43 6f 75 6e 74 28 29 20 3d 3d 20 30 29 20 0d  .Count() == 0) .
6210: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20  .        {..    
6220: 20 20 20 20 20 20 20 20 44 6f 4d 65 73 73 61 67          DoMessag
6230: 65 42 6f 78 28 27 d0 a1 d0 be d0 b2 d0 bf d0 b0  eBox('..........
6240: d0 b4 d0 b5 d0 bd d0 b8 d0 b9 20 d0 bd d0 b5 20  .......... .... 
6250: d0 bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd d0 be 21 27  ..............!'
6260: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
6270: 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20  return;..       
6280: 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68   }....        th
6290: 69 73 2e 53 65 74 43 6f 6e 74 72 6f 6c 73 56 69  is.SetControlsVi
62a0: 73 69 62 6c 65 28 29 3b 20 20 20 20 0d 0a 20 20  sible();    ..  
62b0: 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20    },..    ..    
62c0: 67 65 74 52 6f 77 46 6f 72 54 68 65 43 75 72 72  getRowForTheCurr
62d0: 65 6e 74 4c 69 6e 65 3a 20 66 75 6e 63 74 69 6f  entLine: functio
62e0: 6e 28 64 6f 63 52 6f 77 29 20 7b 0d 0a 20 20 20  n(docRow) {..   
62f0: 20 20 20 20 20 76 61 72 20 74 77 6e 64 20 3d 20       var twnd = 
6300: 64 6f 63 52 6f 77 2e 5f 6f 62 6a 65 63 74 2e 61  docRow._object.a
6310: 63 74 69 76 61 74 65 28 29 3b 0d 0a 20 20 20 20  ctivate();..    
6320: 20 20 20 20 72 65 74 75 72 6e 20 64 6f 63 52 6f      return docRo
6330: 77 2e 52 6f 77 73 2e 46 69 6e 64 28 74 77 6e 64  w.Rows.Find(twnd
6340: 2e 47 65 74 43 61 72 65 74 50 6f 73 28 29 2e 62  .GetCaretPos().b
6350: 65 67 69 6e 52 6f 77 2c 20 22 4c 69 6e 65 4e 6f  eginRow, "LineNo
6360: 22 2c 20 74 72 75 65 29 3b 0d 0a 20 20 20 20 7d  ", true);..    }
6370: 2c 0d 0a 0d 0a 20 20 20 20 67 65 74 47 72 6f 75  ,....    getGrou
6380: 70 52 6f 77 3a 20 66 75 6e 63 74 69 6f 6e 20 28  pRow: function (
6390: 64 6f 63 52 6f 77 2c 20 6d 65 74 68 6f 64 44 61  docRow, methodDa
63a0: 74 61 29 20 7b 0d 0a 0d 0a 20 20 20 20 20 20 20  ta) {....       
63b0: 20 69 66 20 28 21 74 68 69 73 2e 66 6f 72 6d 2e   if (!this.form.
63c0: 54 72 65 65 56 69 65 77 20 7c 7c 20 74 68 69 73  TreeView || this
63d0: 2e 72 65 2e 6d 75 6c 74 69 6c 69 6e 65 29 0d 0a  .re.multiline)..
63e0: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
63f0: 72 6e 20 64 6f 63 52 6f 77 3b 0d 0a 0d 0a 20 20  rn docRow;....  
6400: 20 20 20 20 20 20 76 61 72 20 67 72 6f 75 70 52        var groupR
6410: 6f 77 20 3d 20 64 6f 63 52 6f 77 2e 67 72 6f 75  ow = docRow.grou
6420: 70 73 43 61 63 68 65 2e 47 65 74 28 6d 65 74 68  psCache.Get(meth
6430: 6f 64 44 61 74 61 29 3b 0d 0a 20 20 20 20 20 20  odData);..      
6440: 20 20 69 66 20 28 21 67 72 6f 75 70 52 6f 77 29    if (!groupRow)
6450: 20 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20   ..        {..  
6460: 20 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 52            groupR
6470: 6f 77 20 3d 20 64 6f 63 52 6f 77 2e 52 6f 77 73  ow = docRow.Rows
6480: 2e 41 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20  .Add();..       
6490: 20 20 20 20 20 67 72 6f 75 70 52 6f 77 2e 46 6f       groupRow.Fo
64a0: 75 6e 64 4c 69 6e 65 20 3d 20 28 21 6d 65 74 68  undLine = (!meth
64b0: 6f 64 44 61 74 61 2e 4e 61 6d 65 29 3f 22 22 3a  odData.Name)?"":
64c0: 6d 65 74 68 6f 64 44 61 74 61 2e 4e 61 6d 65 3b  methodData.Name;
64d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 72  ..            gr
64e0: 6f 75 70 52 6f 77 2e 4d 65 74 68 6f 64 20 3d 20  oupRow.Method = 
64f0: 28 21 6d 65 74 68 6f 64 44 61 74 61 2e 4e 61 6d  (!methodData.Nam
6500: 65 29 3f 22 22 3a 6d 65 74 68 6f 64 44 61 74 61  e)?"":methodData
6510: 2e 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20  .Name;..        
6520: 20 20 20 20 67 72 6f 75 70 52 6f 77 2e 5f 6f 62      groupRow._ob
6530: 6a 65 63 74 20 3d 20 64 6f 63 52 6f 77 2e 5f 6f  ject = docRow._o
6540: 62 6a 65 63 74 3b 0d 0a 20 20 20 20 20 20 20 20  bject;..        
6550: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20      ..          
6560: 20 20 69 66 20 28 6d 65 74 68 6f 64 44 61 74 61    if (methodData
6570: 2e 49 73 50 72 6f 63 20 21 3d 3d 20 75 6e 64 65  .IsProc !== unde
6580: 66 69 6e 65 64 29 0d 0a 20 20 20 20 20 20 20 20  fined)..        
6590: 20 20 20 20 20 20 20 20 67 72 6f 75 70 52 6f 77          groupRow
65a0: 2e 52 6f 77 54 79 70 65 20 3d 20 6d 65 74 68 6f  .RowType = metho
65b0: 64 44 61 74 61 2e 49 73 50 72 6f 63 20 3f 20 52  dData.IsProc ? R
65c0: 6f 77 54 79 70 65 73 2e 50 72 6f 63 47 72 6f 75  owTypes.ProcGrou
65d0: 70 20 3a 20 52 6f 77 54 79 70 65 73 2e 46 75 6e  p : RowTypes.Fun
65e0: 63 47 72 6f 75 70 3b 0d 0a 20 20 20 20 20 20 20  cGroup;..       
65f0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
6600: 20 20 20 20 20 20 20 67 72 6f 75 70 52 6f 77 2e         groupRow.
6610: 6c 69 6e 65 4e 6f 20 3d 20 6d 65 74 68 6f 64 44  lineNo = methodD
6620: 61 74 61 2e 53 74 61 72 74 4c 69 6e 65 20 2b 20  ata.StartLine + 
6630: 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  1;..            
6640: 67 72 6f 75 70 52 6f 77 2e 5f 6d 65 74 68 6f 64  groupRow._method
6650: 20 3d 20 6d 65 74 68 6f 64 44 61 74 61 3b 0d 0a   = methodData;..
6660: 20 20 20 20 20 20 20 20 20 20 20 20 67 72 6f 75              grou
6670: 70 52 6f 77 2e 53 6f 72 74 4d 65 74 61 64 61 74  pRow.SortMetadat
6680: 61 20 3d 20 6d 65 74 68 6f 64 44 61 74 61 2e 53  a = methodData.S
6690: 6f 72 74 4d 65 74 61 64 61 74 61 3b 0d 0a 20 20  ortMetadata;..  
66a0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
66b0: 20 20 20 20 20 20 20 20 64 6f 63 52 6f 77 2e 67          docRow.g
66c0: 72 6f 75 70 73 43 61 63 68 65 2e 49 6e 73 65 72  roupsCache.Inser
66d0: 74 28 6d 65 74 68 6f 64 44 61 74 61 2c 20 67 72  t(methodData, gr
66e0: 6f 75 70 52 6f 77 29 3b 20 0d 0a 20 20 20 20 20  oupRow); ..     
66f0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 72 65     }..        re
6700: 74 75 72 6e 20 67 72 6f 75 70 52 6f 77 3b 0d 0a  turn groupRow;..
6710: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
6720: 20 20 61 64 64 53 65 61 72 63 68 52 65 73 75 6c    addSearchResul
6730: 74 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 64 6f  t : function (do
6740: 63 52 6f 77 2c 20 6c 69 6e 65 2c 20 6c 69 6e 65  cRow, line, line
6750: 4e 6f 2c 20 6d 61 74 63 68 65 73 2c 20 6d 65 74  No, matches, met
6760: 68 6f 64 44 61 74 61 29 20 7b 0d 0a 0d 0a 20 20  hodData) {....  
6770: 20 20 20 20 20 20 76 61 72 20 67 72 6f 75 70 52        var groupR
6780: 6f 77 20 3d 20 74 68 69 73 2e 67 65 74 47 72 6f  ow = this.getGro
6790: 75 70 52 6f 77 28 64 6f 63 52 6f 77 2c 20 6d 65  upRow(docRow, me
67a0: 74 68 6f 64 44 61 74 61 29 3b 0d 0a 0d 0a 20 20  thodData);....  
67b0: 20 20 20 20 20 20 76 61 72 20 72 65 73 52 6f 77        var resRow
67c0: 20 3d 20 67 72 6f 75 70 52 6f 77 2e 52 6f 77 73   = groupRow.Rows
67d0: 2e 41 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20  .Add();..       
67e0: 20 72 65 73 52 6f 77 2e 46 6f 75 6e 64 4c 69 6e   resRow.FoundLin
67f0: 65 20 3d 20 6c 69 6e 65 3b 0d 0a 20 20 20 20 20  e = line;..     
6800: 20 20 20 72 65 73 52 6f 77 2e 6c 69 6e 65 4e 6f     resRow.lineNo
6810: 20 3d 20 6c 69 6e 65 4e 6f 3b 0d 0a 20 20 20 20   = lineNo;..    
6820: 20 20 20 20 72 65 73 52 6f 77 2e 5f 6f 62 6a 65      resRow._obje
6830: 63 74 20 3d 20 64 6f 63 52 6f 77 2e 5f 6f 62 6a  ct = docRow._obj
6840: 65 63 74 3b 0d 0a 20 20 20 20 20 20 20 20 69 66  ect;..        if
6850: 28 75 6e 64 65 66 69 6e 65 64 20 21 3d 20 6d 65  (undefined != me
6860: 74 68 6f 64 44 61 74 61 29 0d 0a 20 20 20 20 20  thodData)..     
6870: 20 20 20 20 20 20 20 72 65 73 52 6f 77 2e 4d 65         resRow.Me
6880: 74 68 6f 64 20 3d 20 6d 65 74 68 6f 64 44 61 74  thod = methodDat
6890: 61 2e 4e 61 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20  a.Name;....     
68a0: 20 20 20 72 65 73 52 6f 77 2e 5f 6d 65 74 68 6f     resRow._metho
68b0: 64 20 3d 20 6d 65 74 68 6f 64 44 61 74 61 3b 0d  d = methodData;.
68c0: 0a 20 20 20 20 20 20 20 20 72 65 73 52 6f 77 2e  .        resRow.
68d0: 5f 6d 61 74 63 68 20 3d 20 6d 61 74 63 68 65 73  _match = matches
68e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a  ..            ..
68f0: 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73          if (this
6900: 2e 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f 72 64 73  .form.WholeWords
6910: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  )..            r
6920: 65 73 52 6f 77 2e 45 78 61 63 74 4d 61 74 63 68  esRow.ExactMatch
6930: 20 3d 20 6d 61 74 63 68 65 73 5b 30 5d 2e 72 65   = matches[0].re
6940: 70 6c 61 63 65 28 2f 5e 5b 5e 5c 77 5c 64 d0 90  place(/^[^\w\d..
6950: 2d d1 8f 5d 2f 2c 20 27 27 29 2e 72 65 70 6c 61  -..]/, '').repla
6960: 63 65 28 2f 5b 5e 5c 77 5c 64 d0 90 2d d1 8f 5d  ce(/[^\w\d..-..]
6970: 24 2f 2c 20 27 27 29 3b 0d 0a 20 20 20 20 20 20  $/, '');..      
6980: 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20    else..        
6990: 20 20 20 20 72 65 73 52 6f 77 2e 45 78 61 63 74      resRow.Exact
69a0: 4d 61 74 63 68 20 3d 20 6d 61 74 63 68 65 73 5b  Match = matches[
69b0: 30 5d 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20  0];..    },..   
69c0: 20 0d 0a 20 20 20 20 67 6f 54 6f 4c 69 6e 65 20   ..    goToLine 
69d0: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 72 6f 77 29  : function (row)
69e0: 20 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68   {....        th
69f0: 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73  is.form.Controls
6a00: 2e 53 65 61 72 63 68 52 65 73 75 6c 74 73 2e 43  .SearchResults.C
6a10: 75 72 72 65 6e 74 52 6f 77 20 3d 20 72 6f 77 3b  urrentRow = row;
6a20: 20 20 20 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20      ....        
6a30: 2f 2f 20 d0 9e d1 82 d0 ba d1 80 d0 be d0 b5 d0  // .............
6a40: bc 20 d0 b8 2f d0 b8 d0 bb d0 b8 20 d0 b0 d0 ba  . ../...... ....
6a50: d1 82 d0 b8 d0 b2 d0 b8 d1 80 d1 83 d0 b5 d0 bc  ................
6a60: 20 d0 be d0 ba d0 bd d0 be 20 d0 be d0 b1 d1 8a   ........ ......
6a70: d0 b5 d0 ba d1 82 d0 b0 2c 20 d0 b2 20 d0 ba d0  ........, .. ...
6a80: be d1 82 d0 be d1 80 d0 be d0 bc 20 d0 b2 d1 8b  ........... ....
6a90: d0 bf d0 be d0 bb d0 bd d1 8f d0 bb d1 81 d1 8f  ................
6aa0: 20 d0 bf d0 be d0 b8 d1 81 d0 ba 2e 0d 0a 20 20   .............  
6ab0: 20 20 20 20 20 20 76 61 72 20 74 61 72 67 65 74        var target
6ac0: 57 69 6e 64 6f 77 20 3d 20 72 6f 77 2e 5f 6f 62  Window = row._ob
6ad0: 6a 65 63 74 2e 61 63 74 69 76 61 74 65 28 29 3b  ject.activate();
6ae0: 0d 0a 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20  ..     ..       
6af0: 20 69 66 20 28 21 74 61 72 67 65 74 57 69 6e 64   if (!targetWind
6b00: 6f 77 2e 49 73 41 63 74 69 76 65 28 29 29 0d 0a  ow.IsActive())..
6b10: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
6b20: 20 20 20 20 20 20 20 44 6f 4d 65 73 73 61 67 65         DoMessage
6b30: 42 6f 78 28 22 d0 9e d0 ba d0 bd d0 be 2c 20 d0  Box("........, .
6b40: b4 d0 bb d1 8f 20 d0 ba d0 be d1 82 d0 be d1 80  ..... ..........
6b50: d0 be d0 b3 d0 be 20 d0 b2 d1 8b d0 bf d0 be d0  ...... .........
6b60: bb d0 bd d1 8f d0 bb d1 81 d1 8f 20 d0 bf d0 be  ........... ....
6b70: d0 b8 d1 81 d0 ba 2c 20 d0 b1 d1 8b d0 bb d0 be  ......, ........
6b80: 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d1 82 d0 be 21   ..............!
6b90: 5c 6e d0 9e d0 ba d0 bd d0 be 20 d0 bf d0 be d0  \n........ .....
6ba0: b8 d1 81 d0 ba d0 b0 20 d1 81 20 d1 80 d0 b5 d0  ....... .. .....
6bb0: b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 d0 b0 d0  ................
6bc0: bc d0 b8 20 d1 81 d1 82 d0 b0 d0 bb d0 be 20 d0  ... .......... .
6bd0: bd d0 b5 20 d0 b0 d0 ba d1 82 d1 83 d0 b0 d0 bb  ... ............
6be0: d1 8c d0 bd d0 be 20 d0 b8 20 d0 b1 d1 83 d0 b4  ...... .. ......
6bf0: d0 b5 d1 82 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d1  .... ...........
6c00: 82 d0 be 2e 22 29 3b 0d 0a 20 20 20 20 20 20 20  ....");..       
6c10: 20 20 20 20 20 74 68 69 73 2e 63 6c 65 61 72 53       this.clearS
6c20: 65 61 72 63 68 52 65 73 75 6c 74 73 28 29 3b 0d  earchResults();.
6c30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69  .            thi
6c40: 73 2e 43 6c 6f 73 65 28 29 3b 0d 0a 20 20 20 20  s.Close();..    
6c50: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d          return;.
6c60: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
6c70: 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 9d   ..        // ..
6c80: d0 b0 d0 b9 d0 b4 d0 b5 d0 bc 20 d0 bf d0 be d0  .......... .....
6c90: b7 d0 b8 d1 86 d0 b8 d1 8e 20 d0 bd d0 b0 d0 b9  ......... ......
6ca0: d0 b4 d0 b5 d0 bd d0 bd d0 be d0 b3 d0 be 20 d1  .............. .
6cb0: 81 d0 bb d0 be d0 b2 d0 b0 20 d0 b2 20 d1 81 d1  ......... .. ...
6cc0: 82 d1 80 d0 be d0 ba d0 b5 2e 0d 0a 20 20 20 20  ............    
6cd0: 20 20 20 20 2f 2f 64 65 62 75 67 67 65 72 0d 0a      //debugger..
6ce0: 20 20 20 20 20 20 20 20 76 61 72 20 6c 69 6e 65          var line
6cf0: 53 74 61 72 74 20 3d 20 72 6f 77 2e 4c 69 6e 65  Start = row.Line
6d00: 4e 6f 2c 20 63 6f 6c 53 74 61 72 74 2c 20 6c 69  No, colStart, li
6d10: 6e 65 45 6e 64 20 3d 20 6c 69 6e 65 53 74 61 72  neEnd = lineStar
6d20: 74 2c 20 63 6f 6c 45 6e 64 0d 0a 20 20 20 20 20  t, colEnd..     
6d30: 20 20 20 69 66 28 72 6f 77 2e 45 78 61 63 74 4d     if(row.ExactM
6d40: 61 74 63 68 2e 73 75 62 73 74 72 28 72 6f 77 2e  atch.substr(row.
6d50: 45 78 61 63 74 4d 61 74 63 68 2e 6c 65 6e 67 74  ExactMatch.lengt
6d60: 68 20 2d 20 31 29 20 3d 3d 20 27 5c 6e 27 29 0d  h - 1) == '\n').
6d70: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20  .        {..    
6d80: 20 20 20 20 20 20 20 20 2f 2f 20 d1 80 d0 b5 d0          // .....
6d90: b7 d1 83 d0 bb d1 8c d1 82 d0 b0 d1 82 20 d0 bc  ............. ..
6da0: d0 bd d0 be d0 b3 d0 be d1 81 d1 82 d1 80 d0 be  ................
6db0: d1 87 d0 bd d0 be d0 b3 d0 be 20 d0 bf d0 be d0  .......... .....
6dc0: b8 d1 81 d0 ba d0 b0 0d 0a 20 20 20 20 20 20 20  .........       
6dd0: 20 20 20 20 20 76 61 72 20 74 65 78 74 20 3d 20       var text = 
6de0: 72 6f 77 2e 5f 6d 61 74 63 68 2e 72 65 61 6c 52  row._match.realR
6df0: 65 73 75 6c 74 0d 0a 20 20 20 20 20 20 20 20 20  esult..         
6e00: 20 20 20 63 6f 6c 53 74 61 72 74 20 3d 20 72 6f     colStart = ro
6e10: 77 2e 5f 6d 61 74 63 68 2e 69 6e 64 65 78 20 2b  w._match.index +
6e20: 20 31 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   1..            
6e30: 63 6f 6c 45 6e 64 20 3d 20 63 6f 6c 53 74 61 72  colEnd = colStar
6e40: 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66  t..            f
6e50: 6f 72 28 76 61 72 20 6b 20 3d 20 30 3b 20 6b 20  or(var k = 0; k 
6e60: 3c 20 74 65 78 74 2e 6c 65 6e 67 74 68 3b 20 6b  < text.length; k
6e70: 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ++)..           
6e80: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
6e90: 20 20 20 20 69 66 28 74 65 78 74 2e 63 68 61 72      if(text.char
6ea0: 41 74 28 6b 29 20 3d 3d 20 27 5c 6e 27 29 0d 0a  At(k) == '\n')..
6eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6ec0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
6ed0: 20 20 20 20 20 20 20 6c 69 6e 65 45 6e 64 2b 2b         lineEnd++
6ee0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6ef0: 20 20 20 20 20 20 63 6f 6c 45 6e 64 20 3d 20 31        colEnd = 1
6f00: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
6f10: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
6f20: 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20        else..    
6f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6f40: 63 6f 6c 45 6e 64 2b 2b 0d 0a 20 20 20 20 20 20  colEnd++..      
6f50: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
6f60: 20 7d 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 65   }..        else
6f70: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20  ..        {..   
6f80: 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 61           var sea
6f90: 72 63 68 50 61 74 74 65 72 6e 20 3d 20 74 68 69  rchPattern = thi
6fa0: 73 2e 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f 72 64  s.form.WholeWord
6fb0: 73 20 3f 20 22 28 3f 3a 5b 5e 5c 5c 77 5c 5c 64  s ? "(?:[^\\w\\d
6fc0: d0 90 2d d1 8f 5d 7c 5e 29 22 20 2b 20 72 6f 77  ..-..]|^)" + row
6fd0: 2e 45 78 61 63 74 4d 61 74 63 68 20 2b 20 22 28  .ExactMatch + "(
6fe0: 5b 5e 5c 5c 77 5c 5c 64 d0 90 2d d1 8f 5d 7c 24  [^\\w\\d..-..]|$
6ff0: 29 22 20 3a 20 53 74 72 69 6e 67 55 74 69 6c 73  )" : StringUtils
7000: 2e 61 64 64 53 6c 61 73 68 65 73 28 72 6f 77 2e  .addSlashes(row.
7010: 45 78 61 63 74 4d 61 74 63 68 29 3b 20 0d 0a 20  ExactMatch); .. 
7020: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72             var r
7030: 65 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28 73  e = new RegExp(s
7040: 65 61 72 63 68 50 61 74 74 65 72 6e 2c 20 27 67  earchPattern, 'g
7050: 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ');..           
7060: 20 76 61 72 20 6d 61 74 63 68 65 73 20 3d 20 72   var matches = r
7070: 65 2e 65 78 65 63 28 72 6f 77 2e 46 6f 75 6e 64  e.exec(row.Found
7080: 4c 69 6e 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20  Line);....      
7090: 20 20 20 20 20 20 63 6f 6c 53 74 61 72 74 20 3d        colStart =
70a0: 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20   1;..           
70b0: 20 69 66 20 28 6d 61 74 63 68 65 73 29 20 0d 0a   if (matches) ..
70c0: 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 20 20              {   
70d0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
70e0: 20 20 20 20 20 20 20 63 6f 6c 53 74 61 72 74 20         colStart 
70f0: 3d 20 72 65 2e 6c 61 73 74 49 6e 64 65 78 20 2d  = re.lastIndex -
7100: 20 72 6f 77 2e 45 78 61 63 74 4d 61 74 63 68 2e   row.ExactMatch.
7110: 6c 65 6e 67 74 68 20 2b 20 31 3b 0d 0a 20 20 20  length + 1;..   
7120: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
7130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
7140: 66 20 28 74 68 69 73 2e 66 6f 72 6d 2e 57 68 6f  f (this.form.Who
7150: 6c 65 57 6f 72 64 73 20 26 26 20 6d 61 74 63 68  leWords && match
7160: 65 73 2e 6c 65 6e 67 74 68 20 3e 20 31 29 20 20  es.length > 1)  
7170: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
7180: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 53              colS
7190: 74 61 72 74 20 2d 3d 20 6d 61 74 63 68 65 73 5b  tart -= matches[
71a0: 31 5d 2e 6c 65 6e 67 74 68 3b 20 0d 0a 20 20 20  1].length; ..   
71b0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
71c0: 20 20 20 20 20 20 20 20 63 6f 6c 45 6e 64 20 3d          colEnd =
71d0: 20 63 6f 6c 53 74 61 72 74 20 2b 20 72 6f 77 2e   colStart + row.
71e0: 45 78 61 63 74 4d 61 74 63 68 2e 6c 65 6e 67 74  ExactMatch.lengt
71f0: 68 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  h..        }..  
7200: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
7210: 2f 2f 20 d0 a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0  // .............
7220: b2 d0 b8 d0 bc 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb  ..... ..........
7230: d0 b5 d0 bd d0 b8 d0 b5 20 d0 bd d0 b0 20 d0 bd  ........ .... ..
7240: d0 b0 d0 b9 d0 b4 d0 b5 d0 bd d0 bd d0 be d0 b5  ................
7250: 20 d1 81 d0 be d0 b2 d0 bf d0 b0 d0 b4 d0 b5 d0   ...............
7260: bd d0 b8 d0 b5 20 d1 81 d0 be 20 d1 81 d1 82 d1  ..... .... .....
7270: 80 d0 be d0 ba d0 be d0 b9 20 d0 bf d0 be d0 b8  ......... ......
7280: d1 81 d0 ba d0 b0 2e 0d 0a 20 20 20 20 20 20 20  .........       
7290: 20 74 61 72 67 65 74 57 69 6e 64 6f 77 2e 53 65   targetWindow.Se
72a0: 74 43 61 72 65 74 50 6f 73 28 6c 69 6e 65 53 74  tCaretPos(lineSt
72b0: 61 72 74 2c 20 63 6f 6c 45 6e 64 29 3b 0d 0a 20  art, colEnd);.. 
72c0: 20 20 20 20 20 20 20 74 61 72 67 65 74 57 69 6e         targetWin
72d0: 64 6f 77 2e 53 65 74 53 65 6c 65 63 74 69 6f 6e  dow.SetSelection
72e0: 28 6c 69 6e 65 53 74 61 72 74 2c 20 63 6f 6c 53  (lineStart, colS
72f0: 74 61 72 74 2c 20 6c 69 6e 65 45 6e 64 2c 20 63  tart, lineEnd, c
7300: 6f 6c 45 6e 64 29 3b 0d 0a 20 20 20 20 7d 2c 0d  olEnd);..    },.
7310: 0a 0d 0a 20 20 20 20 6d 6f 76 65 52 6f 77 43 75  ...    moveRowCu
7320: 72 73 6f 72 20 3a 20 66 75 6e 63 74 69 6f 6e 20  rsor : function 
7330: 28 66 6f 72 77 61 72 64 29 20 7b 0d 0a 20 20 20  (forward) {..   
7340: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69       ..        i
7350: 66 20 28 21 74 68 69 73 2e 72 65 73 75 6c 74 73  f (!this.results
7360: 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 29 0d 0a  .Rows.Count())..
7370: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
7380: 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  rn;..           
7390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d                 .
73a0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 72 6f 77  .        var row
73b0: 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e   = this.form.Con
73c0: 74 72 6f 6c 73 2e 53 65 61 72 63 68 52 65 73 75  trols.SearchResu
73d0: 6c 74 73 2e 43 75 72 72 65 6e 74 52 6f 77 3b 0d  lts.CurrentRow;.
73e0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
73f0: 20 20 20 69 66 20 28 21 72 6f 77 29 0d 0a 20 20     if (!row)..  
7400: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
7410: 20 20 20 20 20 72 6f 77 20 3d 20 74 68 69 73 2e       row = this.
7420: 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 47 65 74  results.Rows.Get
7430: 28 30 29 2e 47 65 74 28 30 29 3b 0d 0a 20 20 20  (0).Get(0);..   
7440: 20 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69           if (thi
7450: 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69 65 77 29  s.form.TreeView)
7460: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7470: 20 20 72 6f 77 20 3d 20 72 6f 77 2e 52 6f 77 73    row = row.Rows
7480: 2e 47 65 74 28 30 29 3b 0d 0a 20 20 20 20 20 20  .Get(0);..      
7490: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
74a0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 67 6f 54          this.goT
74b0: 6f 4c 69 6e 65 28 72 6f 77 29 3b 20 20 20 20 0d  oLine(row);    .
74c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74  .            ret
74d0: 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d  urn;..        }.
74e0: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20  .        ..     
74f0: 20 20 20 69 66 20 28 66 6f 72 77 61 72 64 29 20     if (forward) 
7500: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20  ..        {..   
7510: 20 20 20 20 20 20 20 20 20 69 66 20 28 72 6f 77           if (row
7520: 2e 52 6f 77 54 79 70 65 20 3d 3d 20 52 6f 77 54  .RowType == RowT
7530: 79 70 65 73 2e 53 65 61 72 63 68 52 65 73 75 6c  ypes.SearchResul
7540: 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  t)..            
7550: 7b 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20  {    ..         
7560: 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 72 6f         while (ro
7570: 77 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  w)..            
7580: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20      {..         
7590: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72             var r
75a0: 6f 77 73 20 3d 20 72 6f 77 2e 50 61 72 65 6e 74  ows = row.Parent
75b0: 20 3f 20 72 6f 77 2e 50 61 72 65 6e 74 2e 52 6f   ? row.Parent.Ro
75c0: 77 73 20 3a 20 74 68 69 73 2e 72 65 73 75 6c 74  ws : this.result
75d0: 73 2e 52 6f 77 73 3b 0d 0a 20 20 20 20 20 20 20  s.Rows;..       
75e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
75f0: 20 69 6e 64 65 78 20 3d 20 72 6f 77 73 2e 49 6e   index = rows.In
7600: 64 65 78 4f 66 28 72 6f 77 29 3b 0d 0a 20 20 20  dexOf(row);..   
7610: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
7620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
7630: 66 20 28 69 6e 64 65 78 20 3c 20 72 6f 77 73 2e  f (index < rows.
7640: 43 6f 75 6e 74 28 29 20 2d 20 31 29 0d 0a 20 20  Count() - 1)..  
7650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7660: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
7670: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77               row
7680: 20 3d 20 72 6f 77 73 2e 47 65 74 28 69 6e 64 65   = rows.Get(inde
7690: 78 20 2b 20 31 29 3b 0d 0a 20 20 20 20 20 20 20  x + 1);..       
76a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
76b0: 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20   break;..       
76c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
76d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
76e0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20      ..          
76f0: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 72            if (!r
7700: 6f 77 2e 50 61 72 65 6e 74 29 0d 0a 20 20 20 20  ow.Parent)..    
7710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7720: 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20      break;..    
7730: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d                 .
7740: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7750: 20 20 20 20 20 72 6f 77 20 3d 20 72 6f 77 2e 50       row = row.P
7760: 61 72 65 6e 74 3b 20 20 20 20 20 20 20 20 20 20  arent;          
7770: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
7780: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
7790: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
77a0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
77b0: 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28           while (
77c0: 72 6f 77 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29  row.Rows.Count()
77d0: 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20   > 0)..         
77e0: 20 20 20 20 20 20 20 72 6f 77 20 3d 20 72 6f 77         row = row
77f0: 2e 52 6f 77 73 2e 47 65 74 28 30 29 3b 20 20 20  .Rows.Get(0);   
7800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7810: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 7d       ..        }
7820: 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a  ..        else..
7830: 20 20 20 20 20 20 20 20 7b 20 20 20 0d 0a 20 20          {   ..  
7840: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 6f            if (ro
7850: 77 2e 52 6f 77 54 79 70 65 20 3d 3d 20 52 6f 77  w.RowType == Row
7860: 54 79 70 65 73 2e 53 65 61 72 63 68 52 65 73 75  Types.SearchResu
7870: 6c 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  lt)..           
7880: 20 7b 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20   {    ..        
7890: 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 72          while (r
78a0: 6f 77 29 20 0d 0a 20 20 20 20 20 20 20 20 20 20  ow) ..          
78b0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
78c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
78d0: 20 72 6f 77 73 20 3d 20 72 6f 77 2e 50 61 72 65   rows = row.Pare
78e0: 6e 74 20 3f 20 72 6f 77 2e 50 61 72 65 6e 74 2e  nt ? row.Parent.
78f0: 52 6f 77 73 20 3a 20 74 68 69 73 2e 72 65 73 75  Rows : this.resu
7900: 6c 74 73 2e 52 6f 77 73 3b 0d 0a 20 20 20 20 20  lts.Rows;..     
7910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
7920: 61 72 20 69 6e 64 65 78 20 3d 20 72 6f 77 73 2e  ar index = rows.
7930: 49 6e 64 65 78 4f 66 28 72 6f 77 29 3b 0d 0a 20  IndexOf(row);.. 
7940: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
7950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7960: 20 69 66 20 28 69 6e 64 65 78 20 3e 20 30 29 0d   if (index > 0).
7970: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7980: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20       {..        
7990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
79a0: 72 6f 77 20 3d 20 72 6f 77 73 2e 47 65 74 28 69  row = rows.Get(i
79b0: 6e 64 65 78 20 2d 20 31 29 3b 0d 0a 20 20 20 20  ndex - 1);..    
79c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
79d0: 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20      break;..    
79e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
79f0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  }..             
7a00: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
7a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
7a20: 28 21 72 6f 77 2e 50 61 72 65 6e 74 29 0d 0a 20  (!row.Parent).. 
7a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7a40: 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20         break;.. 
7a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7a60: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
7a70: 20 20 20 20 20 20 20 20 20 72 6f 77 20 3d 20 72           row = r
7a80: 6f 77 2e 50 61 72 65 6e 74 3b 20 20 20 20 20 20  ow.Parent;      
7a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a                ..
7aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7ab0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
7ac0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d  }..            .
7ad0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69  .            whi
7ae0: 6c 65 20 28 72 6f 77 2e 52 6f 77 73 2e 43 6f 75  le (row.Rows.Cou
7af0: 6e 74 28 29 20 3e 20 30 29 0d 0a 20 20 20 20 20  nt() > 0)..     
7b00: 20 20 20 20 20 20 20 20 20 20 20 72 6f 77 20 3d             row =
7b10: 20 72 6f 77 2e 52 6f 77 73 2e 47 65 74 28 72 6f   row.Rows.Get(ro
7b20: 77 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 20 2d  w.Rows.Count() -
7b30: 20 31 29 3b 20 20 20 20 20 20 20 20 20 20 20 20   1);            
7b40: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
7b50: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
7b60: 20 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e   ..        this.
7b70: 67 6f 54 6f 4c 69 6e 65 28 72 6f 77 29 3b 0d 0a  goToLine(row);..
7b80: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
7b90: 20 20 63 6c 65 61 72 53 65 61 72 63 68 52 65 73    clearSearchRes
7ba0: 75 6c 74 73 20 3a 20 66 75 6e 63 74 69 6f 6e 20  ults : function 
7bb0: 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68  () {..        th
7bc0: 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e  is.results.Rows.
7bd0: 43 6c 65 61 72 28 29 3b 0d 0a 20 20 20 20 7d 2c  Clear();..    },
7be0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 65 74 44  ..    ..    setD
7bf0: 65 66 61 75 6c 74 53 65 61 72 63 68 51 75 65 72  efaultSearchQuer
7c00: 79 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20  y : function () 
7c10: 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  {..        this.
7c20: 66 6f 72 6d 2e 43 75 72 72 65 6e 74 43 6f 6e 74  form.CurrentCont
7c30: 72 6f 6c 3d 74 68 69 73 2e 66 6f 72 6d 2e 43 6f  rol=this.form.Co
7c40: 6e 74 72 6f 6c 73 2e 51 75 65 72 79 3b 0d 0a 20  ntrols.Query;.. 
7c50: 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20     },..    ..   
7c60: 20 61 64 64 54 6f 48 69 73 74 6f 72 79 20 3a 20   addToHistory : 
7c70: 66 75 6e 63 74 69 6f 6e 20 28 71 75 65 72 79 29  function (query)
7c80: 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20   {..        ..  
7c90: 20 20 20 20 20 20 69 66 20 28 21 71 75 65 72 79        if (!query
7ca0: 29 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ) ..            
7cb0: 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20  return;..       
7cc0: 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 94   ..        // ..
7cd0: d0 be d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc  ................
7ce0: 20 d0 b2 20 d0 b8 d1 81 d1 82 d0 be d1 80 d0 b8   .. ............
7cf0: d1 8e 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 be 20  .. ............ 
7d00: d0 b5 d1 81 d0 bb d0 b8 20 d1 82 d0 b0 d0 ba d0  ........ .......
7d10: be d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 be  ... ............
7d20: d0 b2 d0 be d0 b9 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
7d30: ba d0 b8 20 d1 82 d0 b0 d0 bc 20 d0 bd d0 b5 d1  ... ...... .....
7d40: 82 2e 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20  ....        var 
7d50: 68 69 73 74 6f 72 79 20 3d 20 74 68 69 73 2e 66  history = this.f
7d60: 6f 72 6d 2e 53 65 61 72 63 68 48 69 73 74 6f 72  orm.SearchHistor
7d70: 79 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  y;..        if (
7d80: 68 69 73 74 6f 72 79 2e 46 69 6e 64 42 79 56 61  history.FindByVa
7d90: 6c 75 65 28 71 75 65 72 79 29 29 0d 0a 20 20 20  lue(query))..   
7da0: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b           return;
7db0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a  ..            ..
7dc0: 20 20 20 20 20 20 20 20 69 66 20 28 68 69 73 74          if (hist
7dd0: 6f 72 79 2e 43 6f 75 6e 74 28 29 29 0d 0a 20 20  ory.Count())..  
7de0: 20 20 20 20 20 20 20 20 20 20 68 69 73 74 6f 72            histor
7df0: 79 2e 49 6e 73 65 72 74 28 30 2c 20 71 75 65 72  y.Insert(0, quer
7e00: 79 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 6c 73  y);..        els
7e10: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 68  e..            h
7e20: 69 73 74 6f 72 79 2e 41 64 64 28 71 75 65 72 79  istory.Add(query
7e30: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 0d  );..           .
7e40: 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 9d d0 b5  .        // ....
7e50: 20 d0 bf d0 be d0 b7 d0 b2 d0 be d0 bb d1 8f d0   ...............
7e60: b5 d0 bc 20 d0 b8 d1 81 d1 82 d0 be d1 80 d0 b8  ... ............
7e70: d0 b8 20 d1 80 d0 b0 d1 81 d1 82 d0 b8 20 d0 b1  .. .......... ..
7e80: d0 be d0 bb d0 b5 d0 b5 20 d0 b7 d0 b0 d0 b4 d0  ........ .......
7e90: b0 d0 bd d0 bd d0 be d0 b9 20 d0 b3 d0 bb d1 83  ......... ......
7ea0: d0 b1 d0 b8 d0 bd d1 8b 2e 0d 0a 20 20 20 20 20  ...........     
7eb0: 20 20 20 77 68 69 6c 65 20 28 68 69 73 74 6f 72     while (histor
7ec0: 79 2e 43 6f 75 6e 74 28 29 20 3e 20 74 68 69 73  y.Count() > this
7ed0: 2e 66 6f 72 6d 2e 48 69 73 74 6f 72 79 44 65 70  .form.HistoryDep
7ee0: 74 68 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  th)..           
7ef0: 20 68 69 73 74 6f 72 79 2e 44 65 6c 65 74 65 28   history.Delete(
7f00: 68 69 73 74 6f 72 79 2e 43 6f 75 6e 74 28 29 20  history.Count() 
7f10: 2d 20 31 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20  - 1);..    },.. 
7f20: 20 20 20 0d 0a 20 20 20 20 67 65 74 52 65 67 45     ..    getRegE
7f30: 78 70 45 64 69 74 6f 72 53 63 72 69 70 74 50 61  xpEditorScriptPa
7f40: 74 68 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29  th : function ()
7f50: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20   {..        var 
7f60: 6d 61 69 6e 46 6f 6c 64 65 72 20 3d 20 70 72 6f  mainFolder = pro
7f70: 66 69 6c 65 52 6f 6f 74 2e 67 65 74 56 61 6c 75  fileRoot.getValu
7f80: 65 28 22 53 6e 65 67 6f 70 61 74 2f 4d 61 69 6e  e("Snegopat/Main
7f90: 46 6f 6c 64 65 72 22 29 3b 0d 0a 20 20 20 20 20  Folder");..     
7fa0: 20 20 20 76 61 72 20 73 63 72 69 70 74 50 61 74     var scriptPat
7fb0: 68 20 3d 20 6d 61 69 6e 46 6f 6c 64 65 72 20 2b  h = mainFolder +
7fc0: 20 22 73 63 72 69 70 74 73 5c 5c 52 65 67 45 78   "scripts\\RegEx
7fd0: 70 45 64 69 74 6f 72 2e 6a 73 22 3b 0d 0a 20 20  pEditor.js";..  
7fe0: 20 20 20 20 20 20 76 61 72 20 66 20 3d 20 76 38        var f = v8
7ff0: 4e 65 77 28 27 46 69 6c 65 27 2c 20 73 63 72 69  New('File', scri
8000: 70 74 50 61 74 68 29 3b 0d 0a 20 20 20 20 20 20  ptPath);..      
8010: 20 20 69 66 20 28 66 2e 45 78 69 73 74 28 29 29    if (f.Exist())
8020: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  ..            re
8030: 74 75 72 6e 20 73 63 72 69 70 74 50 61 74 68 3b  turn scriptPath;
8040: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  ..        return
8050: 20 27 27 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20   '';..    },..  
8060: 20 20 0d 0a 20 20 20 20 46 6f 72 6d 5f 4f 6e 4f    ..    Form_OnO
8070: 70 65 6e 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28  pen : function (
8080: 29 20 7b 20 20 20 0d 0a 20 20 20 20 20 20 20 20  ) {   ..        
8090: 69 66 20 28 21 74 68 69 73 2e 67 65 74 52 65 67  if (!this.getReg
80a0: 45 78 70 45 64 69 74 6f 72 53 63 72 69 70 74 50  ExpEditorScriptP
80b0: 61 74 68 28 29 29 0d 0a 20 20 20 20 20 20 20 20  ath())..        
80c0: 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f      this.form.Co
80d0: 6e 74 72 6f 6c 73 2e 51 75 65 72 79 2e 43 68 6f  ntrols.Query.Cho
80e0: 69 63 65 42 75 74 74 6f 6e 20 3d 20 66 61 6c 73  iceButton = fals
80f0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  e;..        ..  
8100: 20 20 20 20 20 20 74 68 69 73 2e 53 65 74 43 6f        this.SetCo
8110: 6e 74 72 6f 6c 73 56 69 73 69 62 6c 65 28 29 3b  ntrolsVisible();
8120: 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20  ..    },....    
8130: 46 6f 72 6d 5f 4f 6e 43 6c 6f 73 65 20 3a 20 66  Form_OnClose : f
8140: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20  unction () {..  
8150: 20 20 20 20 20 20 74 68 69 73 2e 73 61 76 65 53        this.saveS
8160: 65 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20  ettings();..    
8170: 7d 2c 0d 0a 0d 0a 20 20 20 20 43 6d 64 42 61 72  },....    CmdBar
8180: 5f 42 74 50 72 65 76 20 3a 20 66 75 6e 63 74 69  _BtPrev : functi
8190: 6f 6e 20 28 63 6f 6e 74 72 6f 6c 29 20 7b 0d 0a  on (control) {..
81a0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 6d 6f 76          this.mov
81b0: 65 52 6f 77 43 75 72 73 6f 72 28 66 61 6c 73 65  eRowCursor(false
81c0: 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  );..    },....  
81d0: 20 20 43 6d 64 42 61 72 5f 42 74 4e 65 78 74 20    CmdBar_BtNext 
81e0: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 63 6f 6e 74  : function (cont
81f0: 72 6f 6c 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  rol) {..        
8200: 74 68 69 73 2e 6d 6f 76 65 52 6f 77 43 75 72 73  this.moveRowCurs
8210: 6f 72 28 74 72 75 65 29 3b 0d 0a 20 20 20 20 7d  or(true);..    }
8220: 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 51 75 65  ,..    ..    Que
8230: 72 79 5f 4f 6e 43 68 61 6e 67 65 20 3a 20 66 75  ry_OnChange : fu
8240: 6e 63 74 69 6f 6e 20 28 63 6f 6e 74 72 6f 6c 29  nction (control)
8250: 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28   {..        if (
8260: 74 68 69 73 2e 66 6f 72 6d 2e 51 75 65 72 79 20  this.form.Query 
8270: 21 3d 20 27 27 29 0d 0a 20 20 20 20 20 20 20 20  != '')..        
8280: 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 65 61          this.sea
8290: 72 63 68 41 63 74 69 76 65 44 6f 63 28 29 3b 0d  rchActiveDoc();.
82a0: 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 51  .    },....    Q
82b0: 75 65 72 79 5f 53 74 61 72 74 4c 69 73 74 43 68  uery_StartListCh
82c0: 6f 69 63 65 20 3a 20 66 75 6e 63 74 69 6f 6e 20  oice : function 
82d0: 28 63 6f 6e 74 72 6f 6c 2c 20 64 65 66 61 75 6c  (control, defaul
82e0: 74 48 61 6e 64 6c 65 72 29 20 7b 0d 0a 20 20 20  tHandler) {..   
82f0: 20 20 20 20 20 63 6f 6e 74 72 6f 6c 2e 76 61 6c       control.val
8300: 2e 43 68 6f 69 63 65 4c 69 73 74 20 3d 20 74 68  .ChoiceList = th
8310: 69 73 2e 66 6f 72 6d 2e 53 65 61 72 63 68 48 69  is.form.SearchHi
8320: 73 74 6f 72 79 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  story;..    },..
8330: 0d 0a 20 20 20 20 42 74 53 65 61 72 63 68 5f 43  ..    BtSearch_C
8340: 6c 69 63 6b 20 3a 20 66 75 6e 63 74 69 6f 6e 20  lick : function 
8350: 28 63 6f 6e 74 72 6f 6c 29 20 7b 0d 0a 0d 0a 20  (control) {.... 
8360: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
8370: 66 6f 72 6d 2e 51 75 65 72 79 20 3d 3d 20 27 27  form.Query == ''
8380: 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20  )..        {..  
8390: 20 20 20 20 20 20 20 20 20 20 44 6f 4d 65 73 73            DoMess
83a0: 61 67 65 42 6f 78 28 27 d0 9d d0 b5 20 d0 b7 d0  ageBox('.... ...
83b0: b0 d0 b4 d0 b0 d0 bd d0 b0 20 d1 81 d1 82 d1 80  ......... ......
83c0: d0 be d0 ba d0 b0 20 d0 bf d0 be d0 b8 d1 81 d0  ...... .........
83d0: ba d0 b0 27 29 3b 0d 0a 20 20 20 20 20 20 20 20  ...');..        
83e0: 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20      return;..   
83f0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
8400: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73  ..        this.s
8410: 65 61 72 63 68 41 63 74 69 76 65 44 6f 63 28 29  earchActiveDoc()
8420: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  ;..    },....   
8430: 20 43 6d 64 42 61 72 4f 70 74 69 6f 6e 73 5f 42   CmdBarOptions_B
8440: 74 41 62 6f 75 74 20 3a 20 66 75 6e 63 74 69 6f  tAbout : functio
8450: 6e 20 28 63 6f 6e 74 72 6f 6c 29 20 7b 0d 0a 20  n (control) {.. 
8460: 20 20 20 20 20 20 20 52 75 6e 41 70 70 28 27 68         RunApp('h
8470: 74 74 70 3a 2f 2f 73 6e 65 67 6f 70 61 74 2e 72  ttp://snegopat.r
8480: 75 2f 73 63 72 69 70 74 73 2f 77 69 6b 69 3f 6e  u/scripts/wiki?n
8490: 61 6d 65 3d 65 78 74 53 65 61 72 63 68 2e 6a 73  ame=extSearch.js
84a0: 27 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20  ');..    },.... 
84b0: 20 20 20 53 65 61 72 63 68 52 65 73 75 6c 74 73     SearchResults
84c0: 5f 53 65 6c 65 63 74 69 6f 6e 20 3a 20 66 75 6e  _Selection : fun
84d0: 63 74 69 6f 6e 20 28 63 6f 6e 74 72 6f 6c 2c 20  ction (control, 
84e0: 73 65 6c 65 63 74 65 64 52 6f 77 2c 20 73 65 6c  selectedRow, sel
84f0: 65 63 74 65 64 43 6f 6c 2c 20 64 65 66 61 75 6c  ectedCol, defaul
8500: 74 48 61 6e 64 6c 65 72 29 20 7b 0d 0a 20 20 20  tHandler) {..   
8510: 20 20 20 20 20 74 68 69 73 2e 67 6f 54 6f 4c 69       this.goToLi
8520: 6e 65 28 73 65 6c 65 63 74 65 64 52 6f 77 2e 76  ne(selectedRow.v
8530: 61 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 64 65  al);..        de
8540: 66 61 75 6c 74 48 61 6e 64 6c 65 72 2e 76 61 6c  faultHandler.val
8550: 20 3d 20 66 61 6c 73 65 3b 20 2f 2f 20 d0 ad d1   = false; // ...
8560: 82 d0 be 20 d0 b4 d0 bb d1 8f 20 d1 82 d0 be d0  ... ...... .....
8570: b3 d0 be 20 d1 87 d1 82 d0 be d0 b1 d1 8b 20 d0  ... .......... .
8580: bf d0 be d1 81 d0 bb d0 b5 20 d0 bd d0 b0 d0 b6  ......... ......
8590: d0 b0 d1 82 d0 b8 d1 8f 20 d0 bd d0 b0 20 d1 81  ........ .... ..
85a0: d1 82 d1 80 d0 be d0 ba d1 83 20 d0 ba d1 83 d1  .......... .....
85b0: 80 d1 81 d0 be d1 80 20 d0 bd d0 b5 20 d1 83 d1  ....... .... ...
85c0: 85 d0 be d0 b4 d0 b8 d1 82 20 d1 81 20 d1 82 d0  ......... .. ...
85d0: b0 d0 b1 d0 bb d0 b8 d1 87 d0 bd d0 be d0 b3 d0  ................
85e0: be 20 d0 bf d0 be d0 bb d1 8f 2c 20 d0 b8 20 d0  . ........, .. .
85f0: bf d1 80 d0 b8 20 d0 bd d0 be d0 b2 d0 be d0 b9  ..... ..........
8600: 20 d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0 b8 d0 b7 d0   ...............
8610: b0 d1 86 d0 b8 d0 b8 20 d1 84 d0 be d1 80 d0 bc  ....... ........
8620: d1 8b 20 d0 bc d0 be d0 b6 d0 bd d0 be 20 d0 b1  .. .......... ..
8630: d1 8b d0 bb d0 be 20 d0 ba d1 83 d1 80 d1 81 d0  ...... .........
8640: be d1 80 d0 be d0 bc 20 d0 bf d0 be d1 81 d0 bc  ....... ........
8650: d0 be d1 82 d1 80 d0 b5 d1 82 d1 8c 20 d0 b4 d1  ............ ...
8660: 80 d1 83 d0 b3 d0 b8 d0 b5 20 d0 b7 d0 bd d0 b0  ......... ......
8670: d1 87 d0 b5 d0 bd d0 b8 d1 8f 0d 0a 20 20 20 20  ............    
8680: 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 62 65  },..    ..    be
8690: 66 6f 72 65 45 78 69 74 41 70 70 20 3a 20 66 75  foreExitApp : fu
86a0: 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20  nction () {..   
86b0: 20 20 20 20 20 74 68 69 73 2e 77 61 74 63 68 65       this.watche
86c0: 72 2e 73 74 6f 70 57 61 74 63 68 28 29 3b 0d 0a  r.stopWatch();..
86d0: 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 49 73      },....    Is
86e0: 52 65 67 45 78 70 5f 4f 6e 43 68 61 6e 67 65 20  RegExp_OnChange 
86f0: 3a 20 66 75 6e 63 74 69 6f 6e 28 d0 ad d0 bb d0  : function(.....
8700: b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 20 20  .........) {..  
8710: 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 66        if (this.f
8720: 6f 72 6d 2e 49 73 52 65 67 45 78 70 29 0d 0a 20  orm.IsRegExp).. 
8730: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
8740: 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f 72 64 73 20  form.WholeWords 
8750: 3d 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20  = false;....    
8760: 20 20 20 20 74 68 69 73 2e 53 65 74 43 6f 6e 74      this.SetCont
8770: 72 6f 6c 73 56 69 73 69 62 6c 65 28 29 0d 0a 20  rolsVisible().. 
8780: 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 57 68 6f     },....    Who
8790: 6c 65 57 6f 72 64 73 5f 4f 6e 43 68 61 6e 67 65  leWords_OnChange
87a0: 20 3a 20 66 75 6e 63 74 69 6f 6e 28 d0 ad d0 bb   : function(....
87b0: d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 20  ..........) {.. 
87c0: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
87d0: 66 6f 72 6d 2e 57 68 6f 6c 65 57 6f 72 64 73 29  form.WholeWords)
87e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
87f0: 69 73 2e 66 6f 72 6d 2e 49 73 52 65 67 45 78 70  is.form.IsRegExp
8800: 20 3d 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20   = false;....   
8810: 20 20 20 20 20 74 68 69 73 2e 53 65 74 43 6f 6e       this.SetCon
8820: 74 72 6f 6c 73 56 69 73 69 62 6c 65 28 29 3b 0d  trolsVisible();.
8830: 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20  .    },..    .. 
8840: 20 20 20 51 75 65 72 79 5f 53 74 61 72 74 43 68     Query_StartCh
8850: 6f 69 63 65 20 3a 20 66 75 6e 63 74 69 6f 6e 20  oice : function 
8860: 28 43 6f 6e 74 72 6f 6c 2c 20 44 65 66 61 75 6c  (Control, Defaul
8870: 74 48 61 6e 64 6c 65 72 29 20 7b 0d 0a 20 20 20  tHandler) {..   
8880: 20 20 20 20 20 76 61 72 20 72 65 45 64 69 74 6f       var reEdito
8890: 72 50 61 74 68 20 3d 20 74 68 69 73 2e 67 65 74  rPath = this.get
88a0: 52 65 67 45 78 70 45 64 69 74 6f 72 53 63 72 69  RegExpEditorScri
88b0: 70 74 50 61 74 68 28 29 3b 0d 0a 20 20 20 20 20  ptPath();..     
88c0: 20 20 20 69 66 20 28 72 65 45 64 69 74 6f 72 50     if (reEditorP
88d0: 61 74 68 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d  ath)..        {.
88e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 66  .            Def
88f0: 61 75 6c 74 48 61 6e 64 6c 65 72 2e 76 61 6c 20  aultHandler.val 
8900: 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20  = false;..      
8910: 20 20 20 20 20 20 72 65 45 64 69 74 6f 72 41 64        reEditorAd
8920: 64 69 6e 20 3d 20 73 74 64 6c 69 62 2e 72 65 71  din = stdlib.req
8930: 75 69 72 65 28 72 65 45 64 69 74 6f 72 50 61 74  uire(reEditorPat
8940: 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  h);..           
8950: 20 69 66 20 28 72 65 45 64 69 74 6f 72 41 64 64   if (reEditorAdd
8960: 69 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  in)..           
8970: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
8980: 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 49 73      this.form.Is
8990: 52 65 67 45 78 70 20 3d 20 74 72 75 65 3b 0d 0a  RegExp = true;..
89a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
89b0: 76 61 72 20 72 65 45 64 69 74 6f 72 20 3d 20 72  var reEditor = r
89c0: 65 45 64 69 74 6f 72 41 64 64 69 6e 2e 43 72 65  eEditorAddin.Cre
89d0: 61 74 65 52 65 67 45 78 70 45 64 69 74 6f 72 28  ateRegExpEditor(
89e0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
89f0: 20 20 20 20 72 65 45 64 69 74 6f 72 2e 6f 70 65      reEditor.ope
8a00: 6e 28 43 6f 6e 74 72 6f 6c 2e 76 61 6c 29 3b 0d  n(Control.val);.
8a10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20  .            }  
8a20: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
8a30: 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d  }..    },..    .
8a40: 0a 20 20 20 20 53 65 61 72 63 68 52 65 73 75 6c  .    SearchResul
8a50: 74 73 5f 4f 6e 52 6f 77 4f 75 74 70 75 74 20 3a  ts_OnRowOutput :
8a60: 20 66 75 6e 63 74 69 6f 6e 20 28 43 6f 6e 74 72   function (Contr
8a70: 6f 6c 2c 20 52 6f 77 41 70 70 65 61 72 61 6e 63  ol, RowAppearanc
8a80: 65 2c 20 52 6f 77 44 61 74 61 29 20 7b 0d 0a 20  e, RowData) {.. 
8a90: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
8aa0: 20 76 61 72 20 63 65 6c 6c 20 3d 20 52 6f 77 41   var cell = RowA
8ab0: 70 70 65 61 72 61 6e 63 65 2e 76 61 6c 2e 43 65  ppearance.val.Ce
8ac0: 6c 6c 73 2e 46 6f 75 6e 64 4c 69 6e 65 3b 0d 0a  lls.FoundLine;..
8ad0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
8ae0: 20 20 73 77 69 74 63 68 20 28 52 6f 77 44 61 74    switch (RowDat
8af0: 61 2e 76 61 6c 2e 52 6f 77 54 79 70 65 29 0d 0a  a.val.RowType)..
8b00: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
8b10: 20 20 20 63 61 73 65 20 52 6f 77 54 79 70 65 73     case RowTypes
8b20: 2e 46 75 6e 63 47 72 6f 75 70 3a 0d 0a 20 20 20  .FuncGroup:..   
8b30: 20 20 20 20 20 20 20 20 20 63 65 6c 6c 2e 53 65           cell.Se
8b40: 74 50 69 63 74 75 72 65 28 74 68 69 73 2e 49 63  tPicture(this.Ic
8b50: 6f 6e 73 2e 46 75 6e 63 29 3b 0d 0a 20 20 20 20  ons.Func);..    
8b60: 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a          break;..
8b70: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
8b80: 20 20 63 61 73 65 20 52 6f 77 54 79 70 65 73 2e    case RowTypes.
8b90: 50 72 6f 63 47 72 6f 75 70 3a 0d 0a 20 20 20 20  ProcGroup:..    
8ba0: 20 20 20 20 20 20 20 20 63 65 6c 6c 2e 53 65 74          cell.Set
8bb0: 50 69 63 74 75 72 65 28 74 68 69 73 2e 49 63 6f  Picture(this.Ico
8bc0: 6e 73 2e 50 72 6f 63 29 3b 0d 0a 20 20 20 20 20  ns.Proc);..     
8bd0: 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d         break;...
8be0: 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 52 6f  .        case Ro
8bf0: 77 54 79 70 65 73 2e 53 65 61 72 63 68 44 6f 63  wTypes.SearchDoc
8c00: 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52  :..            R
8c10: 6f 77 41 70 70 65 61 72 61 6e 63 65 2e 76 61 6c  owAppearance.val
8c20: 2e 43 65 6c 6c 73 2e 4c 69 6e 65 4e 6f 2e 53 65  .Cells.LineNo.Se
8c30: 74 54 65 78 74 28 27 27 29 3b 0d 0a 20 20 20 20  tText('');..    
8c40: 20 20 20 20 20 20 20 20 52 6f 77 41 70 70 65 61          RowAppea
8c50: 72 61 6e 63 65 2e 76 61 6c 2e 46 6f 6e 74 20 3d  rance.val.Font =
8c60: 20 74 68 69 73 2e 53 65 61 72 63 68 44 6f 63 52   this.SearchDocR
8c70: 6f 77 46 6f 6e 74 3b 0d 0a 20 20 20 20 20 20 20  owFont;..       
8c80: 20 20 20 20 20 52 6f 77 41 70 70 65 61 72 61 6e       RowAppearan
8c90: 63 65 2e 76 61 6c 2e 54 65 78 74 43 6f 6c 6f 72  ce.val.TextColor
8ca0: 20 3d 20 57 65 62 43 6f 6c 6f 72 73 2e 44 61 72   = WebColors.Dar
8cb0: 6b 42 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20  kBlue;..        
8cc0: 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20      break;..    
8cd0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
8ce0: 20 20 64 65 66 61 75 6c 74 3a 0d 0a 20 20 20 20    default:..    
8cf0: 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a          break;..
8d00: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
8d10: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20     ..        if 
8d20: 28 52 6f 77 44 61 74 61 2e 76 61 6c 2e 5f 6d 65  (RowData.val._me
8d30: 74 68 6f 64 20 26 26 20 52 6f 77 44 61 74 61 2e  thod && RowData.
8d40: 76 61 6c 2e 5f 6d 65 74 68 6f 64 2e 49 73 50 72  val._method.IsPr
8d50: 6f 63 20 21 3d 3d 20 75 6e 64 65 66 69 6e 65 64  oc !== undefined
8d60: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52  )..            R
8d70: 6f 77 41 70 70 65 61 72 61 6e 63 65 2e 76 61 6c  owAppearance.val
8d80: 2e 43 65 6c 6c 73 2e 4d 65 74 68 6f 64 2e 53 65  .Cells.Method.Se
8d90: 74 50 69 63 74 75 72 65 28 52 6f 77 44 61 74 61  tPicture(RowData
8da0: 2e 76 61 6c 2e 5f 6d 65 74 68 6f 64 2e 49 73 50  .val._method.IsP
8db0: 72 6f 63 20 3f 20 74 68 69 73 2e 49 63 6f 6e 73  roc ? this.Icons
8dc0: 2e 50 72 6f 63 20 3a 20 74 68 69 73 2e 49 63 6f  .Proc : this.Ico
8dd0: 6e 73 2e 46 75 6e 63 29 3b 0d 0a 20 20 20 20 20  ns.Func);..     
8de0: 20 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20     ..    },..   
8df0: 20 0d 0a 20 20 20 20 73 77 69 74 63 68 56 69 65   ..    switchVie
8e00: 77 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 73 65  w : function (se
8e10: 74 54 72 65 65 56 69 65 77 29 20 7b 0d 0a 20 20  tTreeView) {..  
8e20: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
8e30: 76 61 72 20 72 65 73 75 6c 74 73 20 3d 20 74 68  var results = th
8e40: 69 73 2e 72 65 73 75 6c 74 73 2e 43 6f 70 79 28  is.results.Copy(
8e50: 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  );..        ..  
8e60: 20 20 20 20 20 20 74 68 69 73 2e 63 6c 65 61 72        this.clear
8e70: 53 65 61 72 63 68 52 65 73 75 6c 74 73 28 29 3b  SearchResults();
8e80: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
8e90: 20 20 20 20 66 6f 72 20 28 76 61 72 20 64 6f 63      for (var doc
8ea0: 52 6f 77 49 78 20 3d 20 30 3b 20 64 6f 63 52 6f  RowIx = 0; docRo
8eb0: 77 49 78 20 3c 20 72 65 73 75 6c 74 73 2e 52 6f  wIx < results.Ro
8ec0: 77 73 2e 43 6f 75 6e 74 28 29 3b 20 64 6f 63 52  ws.Count(); docR
8ed0: 6f 77 49 78 2b 2b 29 0d 0a 20 20 20 20 20 20 20  owIx++)..       
8ee0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
8ef0: 76 61 72 20 6f 6c 64 44 6f 63 52 6f 77 20 3d 20  var oldDocRow = 
8f00: 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e 47 65 74  results.Rows.Get
8f10: 28 64 6f 63 52 6f 77 49 78 29 3b 0d 0a 20 20 20  (docRowIx);..   
8f20: 20 20 20 20 20 20 20 20 20 76 61 72 20 64 6f 63           var doc
8f30: 52 6f 77 20 3d 20 74 68 69 73 2e 72 65 73 75 6c  Row = this.resul
8f40: 74 73 2e 52 6f 77 73 2e 41 64 64 28 29 3b 0d 0a  ts.Rows.Add();..
8f50: 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6c 6c              Fill
8f60: 50 72 6f 70 65 72 74 79 56 61 6c 75 65 73 28 64  PropertyValues(d
8f70: 6f 63 52 6f 77 2c 20 6f 6c 64 44 6f 63 52 6f 77  ocRow, oldDocRow
8f80: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
8f90: 64 6f 63 52 6f 77 2e 67 72 6f 75 70 73 43 61 63  docRow.groupsCac
8fa0: 68 65 20 3d 20 76 38 4e 65 77 28 27 4d 61 70 27  he = v8New('Map'
8fb0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
8fc0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
8fd0: 20 28 73 65 74 54 72 65 65 56 69 65 77 29 0d 0a   (setTreeView)..
8fe0: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20              {.. 
8ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66                 f
9000: 6f 72 20 28 76 61 72 20 69 3d 30 3b 20 69 3c 6f  or (var i=0; i<o
9010: 6c 64 44 6f 63 52 6f 77 2e 52 6f 77 73 2e 43 6f  ldDocRow.Rows.Co
9020: 75 6e 74 28 29 3b 20 69 2b 2b 29 0d 0a 20 20 20  unt(); i++)..   
9030: 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a               {..
9040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9050: 20 20 20 20 76 61 72 20 72 6f 77 20 3d 20 6f 6c      var row = ol
9060: 64 44 6f 63 52 6f 77 2e 52 6f 77 73 2e 47 65 74  dDocRow.Rows.Get
9070: 28 69 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  (i);..          
9080: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 67 72            var gr
9090: 6f 75 70 52 6f 77 20 3d 20 74 68 69 73 2e 67 65  oupRow = this.ge
90a0: 74 47 72 6f 75 70 52 6f 77 28 64 6f 63 52 6f 77  tGroupRow(docRow
90b0: 2c 20 72 6f 77 2e 5f 6d 65 74 68 6f 64 29 3b 0d  , row._method);.
90c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
90d0: 20 20 20 20 20 76 61 72 20 72 65 73 52 6f 77 20       var resRow 
90e0: 3d 20 67 72 6f 75 70 52 6f 77 2e 52 6f 77 73 2e  = groupRow.Rows.
90f0: 41 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  Add();..        
9100: 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6c 6c              Fill
9110: 50 72 6f 70 65 72 74 79 56 61 6c 75 65 73 28 72  PropertyValues(r
9120: 65 73 52 6f 77 2c 20 72 6f 77 29 3b 0d 0a 20 20  esRow, row);..  
9130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d                }.
9140: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a  .            }..
9150: 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65              else
9160: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d  ..            {.
9170: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9180: 20 66 6f 72 20 28 76 61 72 20 69 3d 30 3b 20 69   for (var i=0; i
9190: 3c 6f 6c 64 44 6f 63 52 6f 77 2e 52 6f 77 73 2e  <oldDocRow.Rows.
91a0: 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 0d 0a 20  Count(); i++).. 
91b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b                 {
91c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
91d0: 20 20 20 20 20 20 76 61 72 20 67 72 6f 75 70 52        var groupR
91e0: 6f 77 20 3d 20 6f 6c 64 44 6f 63 52 6f 77 2e 52  ow = oldDocRow.R
91f0: 6f 77 73 2e 47 65 74 28 69 29 3b 0d 0a 20 20 20  ows.Get(i);..   
9200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9210: 20 66 6f 72 20 28 76 61 72 20 6a 3d 30 3b 20 6a   for (var j=0; j
9220: 3c 67 72 6f 75 70 52 6f 77 2e 52 6f 77 73 2e 43  <groupRow.Rows.C
9230: 6f 75 6e 74 28 29 3b 20 6a 2b 2b 29 0d 0a 20 20  ount(); j++)..  
9240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9250: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
9260: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
9270: 20 72 6f 77 20 3d 20 67 72 6f 75 70 52 6f 77 2e   row = groupRow.
9280: 52 6f 77 73 2e 47 65 74 28 6a 29 3b 0d 0a 20 20  Rows.Get(j);..  
9290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
92a0: 20 20 20 20 20 20 76 61 72 20 72 65 73 52 6f 77        var resRow
92b0: 20 3d 20 64 6f 63 52 6f 77 2e 52 6f 77 73 2e 41   = docRow.Rows.A
92c0: 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  dd();..         
92d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46                 F
92e0: 69 6c 6c 50 72 6f 70 65 72 74 79 56 61 6c 75 65  illPropertyValue
92f0: 73 28 72 65 73 52 6f 77 2c 20 72 6f 77 29 3b 0d  s(resRow, row);.
9300: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9310: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
9320: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
9330: 20 20 20 20 20 20 20 7d 20 20 20 20 0d 0a 20 20         }    ..  
9340: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
9350: 20 74 68 69 73 2e 65 78 70 61 6e 64 54 72 65 65   this.expandTree
9360: 28 29 3b 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ();        ..   
9370: 20 20 20 20 20 74 68 69 73 2e 53 65 74 43 6f 6e       this.SetCon
9380: 74 72 6f 6c 73 56 69 73 69 62 6c 65 28 29 3b 0d  trolsVisible();.
9390: 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20  .    },..    .. 
93a0: 20 20 20 43 6d 64 42 61 72 5f 54 72 65 65 56 69     CmdBar_TreeVi
93b0: 65 77 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 42  ew : function (B
93c0: 75 74 74 6f 6e 29 20 7b 0d 0a 20 20 20 20 20 20  utton) {..      
93d0: 20 20 74 68 69 73 2e 66 6f 72 6d 2e 54 72 65 65    this.form.Tree
93e0: 56 69 65 77 20 3d 20 21 74 68 69 73 2e 66 6f 72  View = !this.for
93f0: 6d 2e 54 72 65 65 56 69 65 77 3b 0d 0a 20 20 20  m.TreeView;..   
9400: 20 20 20 20 20 42 75 74 74 6f 6e 2e 76 61 6c 2e       Button.val.
9410: 43 68 65 63 6b 20 3d 20 74 68 69 73 2e 66 6f 72  Check = this.for
9420: 6d 2e 54 72 65 65 56 69 65 77 3b 0d 0a 20 20 20  m.TreeView;..   
9430: 20 20 20 20 20 2f 2f 74 68 69 73 2e 66 6f 72 6d       //this.form
9440: 2e 43 6f 6e 74 72 6f 6c 73 2e 53 65 61 72 63 68  .Controls.Search
9450: 52 65 73 75 6c 74 73 2e 43 6f 6c 75 6d 6e 73 2e  Results.Columns.
9460: 46 6f 75 6e 64 4c 69 6e 65 2e 53 68 6f 77 48 69  FoundLine.ShowHi
9470: 65 72 61 72 63 68 79 20 3d 20 74 68 69 73 2e 66  erarchy = this.f
9480: 6f 72 6d 2e 54 72 65 65 56 69 65 77 3b 0d 0a 20  orm.TreeView;.. 
9490: 20 20 20 20 20 20 20 74 68 69 73 2e 73 77 69 74         this.swit
94a0: 63 68 56 69 65 77 28 74 68 69 73 2e 66 6f 72 6d  chView(this.form
94b0: 2e 54 72 65 65 56 69 65 77 29 3b 0d 0a 20 20 20  .TreeView);..   
94c0: 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 43   },..    ..    C
94d0: 6d 64 42 61 72 5f 45 78 70 61 6e 64 41 6c 6c 20  mdBar_ExpandAll 
94e0: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 42 75 74 74  : function (Butt
94f0: 6f 6e 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74  on) {..        t
9500: 68 69 73 2e 65 78 70 61 6e 64 54 72 65 65 28 66  his.expandTree(f
9510: 61 6c 73 65 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  alse);..    },..
9520: 20 20 20 20 0d 0a 20 20 20 20 43 6d 64 42 61 72      ..    CmdBar
9530: 5f 43 6f 6c 6c 61 70 73 65 41 6c 6c 20 3a 20 66  _CollapseAll : f
9540: 75 6e 63 74 69 6f 6e 20 28 42 75 74 74 6f 6e 29  unction (Button)
9550: 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73   {..        this
9560: 2e 65 78 70 61 6e 64 54 72 65 65 28 74 72 75 65  .expandTree(true
9570: 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  );..    },....  
9580: 20 20 53 65 74 43 6f 6e 74 72 6f 6c 73 56 69 73    SetControlsVis
9590: 69 62 6c 65 20 3a 20 66 75 6e 63 74 69 6f 6e 28  ible : function(
95a0: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20  ) {..        .. 
95b0: 20 20 20 20 20 20 20 76 61 72 20 63 74 72 20 3d         var ctr =
95c0: 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72   this.form.Contr
95d0: 6f 6c 73 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f  ols;..        //
95e0: 63 74 72 2e 53 65 61 72 63 68 52 65 73 75 6c 74  ctr.SearchResult
95f0: 73 2e 43 6f 6c 75 6d 6e 73 2e 46 6f 75 6e 64 4c  s.Columns.FoundL
9600: 69 6e 65 2e 53 68 6f 77 48 69 65 72 61 72 63 68  ine.ShowHierarch
9610: 79 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 54 72  y = this.form.Tr
9620: 65 65 56 69 65 77 3b 20 20 20 20 0d 0a 20 20 20  eeView;    ..   
9630: 20 20 20 20 20 63 74 72 2e 43 6d 64 42 61 72 2e       ctr.CmdBar.
9640: 42 75 74 74 6f 6e 73 2e 54 72 65 65 56 69 65 77  Buttons.TreeView
9650: 2e 43 68 65 63 6b 20 3d 20 74 68 69 73 2e 66 6f  .Check = this.fo
9660: 72 6d 2e 54 72 65 65 56 69 65 77 3b 0d 0a 20 20  rm.TreeView;..  
9670: 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e        this.form.
9680: 43 6f 6e 74 72 6f 6c 73 2e 53 65 61 72 63 68 52  Controls.SearchR
9690: 65 73 75 6c 74 73 2e 43 6f 6c 75 6d 6e 73 2e 4d  esults.Columns.M
96a0: 65 74 68 6f 64 2e 56 69 73 69 62 6c 65 20 3d 20  ethod.Visible = 
96b0: 21 74 68 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56  !this.form.TreeV
96c0: 69 65 77 3b 0d 0a 20 20 20 20 20 20 20 20 74 68  iew;..        th
96d0: 69 73 2e 66 6f 72 6d 2e 43 6f 6e 74 72 6f 6c 73  is.form.Controls
96e0: 2e 53 65 61 72 63 68 52 65 73 75 6c 74 73 2e 43  .SearchResults.C
96f0: 6f 6c 75 6d 6e 73 2e 45 78 61 63 74 4d 61 74 63  olumns.ExactMatc
9700: 68 2e 56 69 73 69 62 6c 65 20 3d 20 74 68 69 73  h.Visible = this
9710: 2e 66 6f 72 6d 2e 49 73 52 65 67 45 78 70 3b 0d  .form.IsRegExp;.
9720: 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 62  ...        var b
9730: 75 74 74 6f 6e 73 20 3d 20 74 68 69 73 2e 66 6f  uttons = this.fo
9740: 72 6d 2e 43 6f 6e 74 72 6f 6c 73 2e 43 6d 64 42  rm.Controls.CmdB
9750: 61 72 2e 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 20  ar.Buttons;..   
9760: 20 20 20 20 20 62 75 74 74 6f 6e 73 2e 45 78 70       buttons.Exp
9770: 61 6e 64 41 6c 6c 2e 45 6e 61 62 6c 65 64 20 3d  andAll.Enabled =
9780: 20 74 68 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56   this.form.TreeV
9790: 69 65 77 3b 0d 0a 20 20 20 20 20 20 20 20 62 75  iew;..        bu
97a0: 74 74 6f 6e 73 2e 41 63 74 69 6f 6e 73 2e 42 75  ttons.Actions.Bu
97b0: 74 74 6f 6e 73 2e 45 78 70 61 6e 64 41 6c 6c 2e  ttons.ExpandAll.
97c0: 45 6e 61 62 6c 65 64 20 3d 20 74 68 69 73 2e 66  Enabled = this.f
97d0: 6f 72 6d 2e 54 72 65 65 56 69 65 77 3b 0d 0a 20  orm.TreeView;.. 
97e0: 20 20 20 20 20 20 20 62 75 74 74 6f 6e 73 2e 43         buttons.C
97f0: 6f 6c 6c 61 70 73 65 41 6c 6c 2e 45 6e 61 62 6c  ollapseAll.Enabl
9800: 65 64 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 54  ed = this.form.T
9810: 72 65 65 56 69 65 77 3b 0d 0a 20 20 20 20 20 20  reeView;..      
9820: 20 20 62 75 74 74 6f 6e 73 2e 41 63 74 69 6f 6e    buttons.Action
9830: 73 2e 42 75 74 74 6f 6e 73 2e 43 6f 6c 6c 61 70  s.Buttons.Collap
9840: 73 65 41 6c 6c 2e 45 6e 61 62 6c 65 64 20 3d 20  seAll.Enabled = 
9850: 74 68 69 73 2e 66 6f 72 6d 2e 54 72 65 65 56 69  this.form.TreeVi
9860: 65 77 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74  ew;....        t
9870: 68 69 73 2e 66 6f 72 6d 2e 63 61 70 74 69 6f 6e  his.form.caption
9880: 20 3d 20 22 d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80   = "............
9890: d0 b5 d0 bd d0 bd d1 8b d0 b9 20 d0 bf d0 be d0  .......... .....
98a0: b8 d1 81 d0 ba 20 d0 b2 20 d0 bc d0 be d0 b4 d1  ..... .. .......
98b0: 83 d0 bb d0 b5 22 3b 0d 0a 20 20 20 20 7d 0d 0a  .....";..    }..
98c0: 20 20 0d 0a 7d 29 3b 20 2f 2f 20 65 6e 64 20 6f    ..}); // end o
98d0: 66 20 45 78 74 53 65 61 72 63 68 20 63 6c 61 73  f ExtSearch clas
98e0: 73 0d 0a 0d 0a 45 78 74 53 65 61 72 63 68 47 6c  s....ExtSearchGl
98f0: 6f 62 61 6c 20 3d 20 45 78 74 53 65 61 72 63 68  obal = ExtSearch
9900: 2e 65 78 74 65 6e 64 28 7b 0d 0a 0d 0a 20 20 20  .extend({....   
9910: 20 73 65 74 74 69 6e 67 73 52 6f 6f 74 50 61 74   settingsRootPat
9920: 68 20 3a 20 53 65 6c 66 53 63 72 69 70 74 2e 75  h : SelfScript.u
9930: 6e 69 71 75 65 4e 61 6d 65 2b 22 47 6c 6f 62 61  niqueName+"Globa
9940: 6c 22 2c 20 2f 2f 20 d1 82 d0 b5 d1 81 d1 82 2c  l", // ........,
9950: 20 d0 bf d1 83 d1 81 d0 ba d0 b0 d0 b9 20 d1 83   ............ ..
9960: 20 d0 bd d0 b0 d1 81 20 d0 b8 20 d0 bd d0 b0 d1   ...... .. .....
9970: 81 d1 82 d1 80 d0 be d0 b9 d0 ba d0 b8 20 d0 b1  ............. ..
9980: d1 83 d0 b4 d1 83 d1 82 20 d0 b3 d0 bb d0 be d0  ........ .......
9990: b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 bc d0 b8 2e  ................
99a0: 20 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 65 74   ..    ..    set
99b0: 74 69 6e 67 73 20 3a 20 7b 0d 0a 20 20 20 20 20  tings : {..     
99c0: 20 20 20 70 66 6c 53 6e 65 67 6f 70 61 74 20 3a     pflSnegopat :
99d0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
99e0: 27 49 73 52 65 67 45 78 70 27 20 20 20 20 20 20  'IsRegExp'      
99f0: 3a 20 66 61 6c 73 65 2c 20 2f 2f 20 d0 9f d0 be  : false, // ....
9a00: d0 b8 d1 81 d0 ba 20 d1 80 d0 b5 d0 b3 d1 83 d0  ...... .........
9a10: bb d1 8f d1 80 d0 bd d1 8b d0 bc d0 b8 20 d0 b2  ............. ..
9a20: d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d1 8f  ................
9a30: d0 bc d0 b8 2e 0d 0a 20 20 20 20 20 20 20 20 20  .......         
9a40: 20 20 20 27 43 61 73 65 53 65 6e 73 65 74 69 76     'CaseSensetiv
9a50: 65 27 20 3a 20 66 61 6c 73 65 2c 20 2f 2f 20 d0  e' : false, // .
9a60: a3 d1 87 d0 b8 d1 82 d1 8b d0 b2 d0 b0 d1 82 d1  ................
9a70: 8c 20 d1 80 d0 b5 d0 b3 d0 b8 d1 81 d1 82 d1 80  . ..............
9a80: 20 d0 bf d1 80 d0 b8 20 d0 bf d0 be d0 b8 d1 81   ...... ........
9a90: d0 ba d0 b5 2e 0d 0a 20 20 20 20 20 20 20 20 20  .......         
9aa0: 20 20 20 27 57 68 6f 6c 65 57 6f 72 64 73 27 20     'WholeWords' 
9ab0: 20 20 20 3a 20 66 61 6c 73 65 2c 20 2f 2f 20 d0     : false, // .
9ac0: 9f d0 be d0 b8 d1 81 d0 ba 20 d1 81 d0 bb d0 be  ......... ......
9ad0: d0 b2 d0 b0 20 d1 86 d0 b5 d0 bb d0 b8 d0 ba d0  .... ...........
9ae0: be d0 bc 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  ......          
9af0: 20 20 27 53 65 61 72 63 68 48 69 73 74 6f 72 79    'SearchHistory
9b00: 27 20 3a 20 76 38 4e 65 77 28 27 56 61 6c 75 65  ' : v8New('Value
9b10: 4c 69 73 74 27 29 2c 20 2f 2f 20 d0 98 d1 81 d1  List'), // .....
9b20: 82 d0 be d1 80 d0 b8 d1 8f 20 d0 bf d0 be d0 b8  ......... ......
9b30: d1 81 d0 ba d0 b0 2e 0d 0a 20 20 20 20 20 20 20  .........       
9b40: 20 20 20 20 20 27 48 69 73 74 6f 72 79 44 65 70       'HistoryDep
9b50: 74 68 27 20 20 3a 20 31 35 2c 20 2f 2f 20 d0 9a  th'  : 15, // ..
9b60: d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2  ................
9b70: d0 be 20 d1 8d d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  .. .............
9b80: 82 d0 be d0 b2 20 d0 b8 d1 81 d1 82 d0 be d1 80  ..... ..........
9b90: d0 b8 d0 b8 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0  .... ...........
9ba0: b0 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
9bb0: 27 54 72 65 65 56 69 65 77 27 20 20 20 20 20 20  'TreeView'      
9bc0: 3a 20 66 61 6c 73 65 20 2f 2f 20 d0 93 d1 80 d1  : false // .....
9bd0: 83 d0 bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0 b0 d1  ................
9be0: 82 d1 8c 20 d1 80 d0 b5 d0 b7 d1 83 d0 bb d1 8c  ... ............
9bf0: d1 82 d0 b0 d1 82 d1 8b 20 d0 bf d0 be d0 b8 d1  ........ .......
9c00: 81 d0 ba d0 b0 20 d0 bf d0 be 20 d0 bc d0 b5 d1  ..... .... .....
9c10: 82 d0 be d0 b4 d0 b0 d0 bc 2e 20 20 20 20 20 20  ..........      
9c20: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
9c30: 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  }..    },....   
9c40: 20 63 6f 6e 73 74 72 75 63 74 20 3a 20 66 75 6e   construct : fun
9c50: 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20  ction () {..    
9c60: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f  ..        this._
9c70: 73 75 70 65 72 28 74 72 75 65 29 3b 0d 0a 0d 0a  super(true);....
9c80: 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f 69 6e          this._in
9c90: 73 74 61 6e 63 65 20 3d 20 6e 75 6c 6c 3b 0d 0a  stance = null;..
9ca0: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 66  ..        this.f
9cb0: 6f 72 6d 2e d0 9a d0 bb d1 8e d1 87 d0 a1 d0 be  orm.............
9cc0: d1 85 d1 80 d0 b0 d0 bd d0 b5 d0 bd d0 b8 d1 8f  ................
9cd0: d0 9f d0 be d0 bb d0 be d0 b6 d0 b5 d0 bd d0 b8  ................
9ce0: d1 8f d0 9e d0 ba d0 bd d0 b0 20 3d 20 22 65 78  .......... = "ex
9cf0: 74 47 6c 6f 62 61 6c 53 65 61 72 63 68 2e 6a 73  tGlobalSearch.js
9d00: 22 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68  ";....        th
9d10: 69 73 2e 69 73 47 6c 6f 62 61 6c 46 69 6e 64 20  is.isGlobalFind 
9d20: 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20  = true;..       
9d30: 20 2f 2f 54 4f 44 4f 3a 20 d0 bf d1 80 d0 b8 d0   //TODO: .......
9d40: b7 d0 bd d0 b0 d0 ba 20 d0 b0 d0 b2 d1 82 d0 be  ....... ........
9d50: d0 bc d1 82 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 b8  ................
9d60: 20 d0 bd d0 b0 d0 b7 d0 bd d0 b0 d1 87 d0 b0 d0   ...............
9d70: b5 d0 bc d0 be d0 b3 d0 be 20 d1 85 d0 be d1 82  ......... ......
9d80: d0 ba d0 b5 d0 b9 2c 20 d0 b5 d1 81 d0 bb d0 b8  ......, ........
9d90: 20 d1 83 d0 b6 d0 b5 20 d0 bd d0 b0 d0 b7 d0 bd   ...... ........
9da0: d0 b0 d1 87 d0 b5 d0 bd 20 d0 bd d0 b0 20 d0 be  ........ .... ..
9db0: d1 82 d0 bc d0 b5 d0 bd d1 83 20 d0 bf d0 be d0  .......... .....
9dc0: b8 d1 81 d0 ba d0 b0 2c 20 d0 b0 d0 b2 d1 82 d0  ......., .......
9dd0: be d0 bc d0 b0 d1 82 d0 be d0 bc 20 d0 bd d0 b5  ........... ....
9de0: 20 d0 b1 d1 83 d0 b4 d0 b5 d1 82 20 d0 bd d0 b0   .......... ....
9df0: d0 b7 d0 bd d0 b0 d1 87 d0 b0 d1 82 d1 8c d1 81  ................
9e00: d1 8f 2e 20 0d 0a 20 20 20 20 20 20 20 20 74 68  ... ..        th
9e10: 69 73 2e 64 79 6e 61 6d 69 63 48 6f 74 4b 65 79  is.dynamicHotKey
9e20: 20 3d 20 74 72 75 65 3b 20 0d 0a 20 20 20 20 20   = true; ..     
9e30: 20 20 20 66 6f 72 28 76 61 72 20 69 20 3d 20 30     for(var i = 0
9e40: 3b 20 69 20 3c 20 48 6f 74 4b 65 79 73 2e 63 6f  ; i < HotKeys.co
9e50: 75 6e 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 20  unt; i++)..     
9e60: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
9e70: 20 20 76 61 72 20 68 6b 20 3d 20 48 6f 74 4b 65    var hk = HotKe
9e80: 79 73 2e 69 74 65 6d 28 69 29 3b 0d 0a 20 20 20  ys.item(i);..   
9e90: 20 20 20 20 20 20 20 20 20 d0 9a d0 be d0 bc d0           .......
9ea0: b0 d0 bd d0 b4 d0 b0 20 3d 20 68 6b 2e 61 64 64  ....... = hk.add
9eb0: 69 6e 20 2b 20 22 3a 3a 22 20 2b 20 68 6b 2e 6d  in + "::" + hk.m
9ec0: 61 63 72 6f 73 0d 0a 20 20 20 20 20 20 20 20 20  acros..         
9ed0: 20 20 20 69 66 20 28 d0 9a d0 be d0 bc d0 b0 d0     if (.........
9ee0: bd d0 b4 d0 b0 2e 69 6e 64 65 78 4f 66 28 22 45  ......indexOf("E
9ef0: 78 74 65 6e 64 65 64 53 65 61 72 63 68 3a 3a d0  xtendedSearch::.
9f00: 9e d1 82 d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 8c 20  ............... 
9f10: d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0 bd  ................
9f20: d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba 22  .... .........."
9f30: 29 21 3d 2d 31 29 7b 0d 0a 20 20 20 20 20 20 20  )!=-1){..       
9f40: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 64 79           this.dy
9f50: 6e 61 6d 69 63 48 6f 74 4b 65 79 20 3d 20 66 61  namicHotKey = fa
9f60: 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  lse;..          
9f70: 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20        break;..  
9f80: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
9f90: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
9fa0: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 65  ..        this.e
9fb0: 78 70 61 6e 64 65 74 52 6f 77 73 20 3d 20 7b 7d  xpandetRows = {}
9fc0: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  ;..        ..   
9fd0: 20 20 20 20 20 74 68 69 73 2e 53 65 74 43 6f 6e       this.SetCon
9fe0: 74 72 6f 6c 73 56 69 73 69 62 6c 65 28 29 3b 0d  trolsVisible();.
9ff0: 0a 20 20 20 20 20 20 20 20 2f 2f 46 49 58 4d 45  .        //FIXME
a000: 3a 20 d0 b2 d1 8b d0 bd d0 b5 d1 81 d1 82 d0 b8  : ..............
a010: 20 d0 b2 20 d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be   .. ............
a020: d0 b9 d0 ba d1 83 2e 20 0d 0a 20 20 20 20 20 20  ....... ..      
a030: 20 20 74 68 69 73 2e 63 6f 75 6e 74 52 6f 77 73    this.countRows
a040: 49 6e 49 64 6c 65 53 65 61 72 63 68 20 3d 20 32  InIdleSearch = 2
a050: 35 3b 20 2f 2f d0 9a d0 be d0 bb d0 b8 d1 87 d0  5; //...........
a060: b5 d1 81 d1 82 d0 b2 d0 be 20 d0 be d0 b1 d1 8a  ......... ......
a070: d0 b5 d0 ba d1 82 d0 be d0 b2 20 d0 bf d0 be d0  .......... .....
a080: b8 d1 81 d0 ba d0 b0 20 d0 b2 20 d1 84 d0 be d0  ....... .. .....
a090: bd d0 b5 28 d0 b4 d0 bb d1 8f 20 d1 81 d0 bb d0  ...(...... .....
a0a0: b0 d0 b1 d0 b5 d0 bd d1 8c d0 ba d0 b8 d1 85 20  ............... 
a0b0: d0 bc d0 b0 d1 88 d0 b8 d0 bd 20 d1 81 d1 82 d0  .......... .....
a0c0: b0 d0 b2 d0 b8 d0 bc 20 d0 bc d0 b5 d0 bd d1 8c  ....... ........
a0d0: d1 88 d0 b5 2c 20 d0 b4 d0 bb d1 8f 20 d1 84 d0  ...., ...... ...
a0e0: be d1 80 d0 bc d1 83 d0 bb d0 b0 31 20 2d 20 d0  ...........1 - .
a0f0: ba d0 b0 d0 ba 20 d1 83 d0 b4 d0 be d0 b1 d0 bd  ..... ..........
a100: d0 b5 d0 b9 29 0d 0a 20 20 20 20 20 20 20 20 74  ....)..        t
a110: 68 69 73 2e 72 65 20 3d 20 6e 65 77 20 52 65 67  his.re = new Reg
a120: 45 78 70 28 2f 28 28 5b d0 b0 2d d1 8f 61 2d 7a  Exp(/(([..-..a-z
a130: 30 2d 39 5d 7b 31 2c 7d 29 5c 73 5b d0 b0 2d d1  0-9]{1,})\s[..-.
a140: 8f 61 2d 7a 30 2d 39 5d 7b 31 2c 7d 29 28 5c 2e  .a-z0-9]{1,})(\.
a150: 7c 5c 3a 29 2f 69 29 3b 0d 0a 20 20 20 20 20 20  |\:)/i);..      
a160: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
a170: 74 68 69 73 2e 66 69 6c 74 65 72 42 79 55 55 49  this.filterByUUI
a180: 44 20 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20  D = null;....   
a190: 20 20 20 20 20 45 78 74 53 65 61 72 63 68 47 6c       ExtSearchGl
a1a0: 6f 62 61 6c 2e 5f 69 6e 73 74 61 6e 63 65 20 3d  obal._instance =
a1b0: 20 74 68 69 73 3b 0d 0a 20 20 20 20 7d 2c 0d 0a   this;..    },..
a1c0: 0d 0a 20 20 20 20 73 65 61 72 63 68 42 79 55 75  ..    searchByUu
a1d0: 69 64 3a 20 66 75 6e 63 74 69 6f 6e 28 72 6f 77  id: function(row
a1e0: 2c 20 73 6f 72 74 29 20 7b 0d 0a 20 20 20 20 20  , sort) {..     
a1f0: 20 20 20 6d 64 4f 62 6a 20 3d 20 66 69 6e 64 4d     mdObj = findM
a200: 64 4f 62 6a 28 74 68 69 73 2e 63 75 72 72 65 6e  dObj(this.curren
a210: 74 4d 64 43 6f 6e 74 61 69 6e 65 72 2c 20 72 6f  tMdContainer, ro
a220: 77 2e 55 55 49 44 29 3b 0d 0a 20 20 20 20 20 20  w.UUID);..      
a230: 20 20 69 66 20 28 73 6f 72 74 20 3d 3d 20 75 6e    if (sort == un
a240: 64 65 66 69 6e 65 64 29 20 73 6f 72 74 20 3d 20  defined) sort = 
a250: 39 39 39 3b 0d 0a 20 20 20 20 20 20 20 20 76 61  999;..        va
a260: 72 20 64 6f 63 52 6f 77 20 3d 20 6e 75 6c 6c 3b  r docRow = null;
a270: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6d 64  ..        if (md
a280: 4f 62 6a 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  Obj){..         
a290: 20 20 20 76 61 72 20 6f 62 6a 20 3d 20 74 68 69     var obj = thi
a2a0: 73 2e 67 65 74 57 69 6e 64 6f 77 4f 62 6a 65 63  s.getWindowObjec
a2b0: 74 28 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  t({..           
a2c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a2d0: 20 20 20 20 20 6d 64 4f 62 6a 3a 6d 64 4f 62 6a       mdObj:mdObj
a2e0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
a2f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a300: 20 20 20 6d 64 50 72 6f 70 3a 72 6f 77 2e 6d 64     mdProp:row.md
a310: 50 72 6f 70 2c 0d 0a 20 20 20 20 20 20 20 20 20  Prop,..         
a320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a330: 20 20 20 20 20 20 20 74 69 74 6c 65 3a 72 6f 77         title:row
a340: 2e 74 69 74 6c 65 7d 29 3b 0d 0a 20 20 20 20 20  .title});..     
a350: 20 20 20 20 20 20 20 6f 62 6a 2e 73 6f 72 74 20         obj.sort 
a360: 3d 20 73 6f 72 74 2b 31 3b 0d 0a 20 20 20 20 20  = sort+1;..     
a370: 20 20 20 20 20 20 20 64 6f 63 52 6f 77 20 3d 20         docRow = 
a380: 74 68 69 73 2e 73 65 61 72 63 68 28 6f 62 6a 2c  this.search(obj,
a390: 20 74 68 69 73 2e 72 65 29 3b 0d 0a 20 20 20 20   this.re);..    
a3a0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 72      }..        r
a3b0: 65 74 75 72 6e 20 64 6f 63 52 6f 77 3b 0d 0a 20  eturn docRow;.. 
a3c0: 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20 20     },..    ..   
a3d0: 20 73 65 61 72 63 68 49 6e 4d 65 74 61 64 61 74   searchInMetadat
a3e0: 61 20 3a 20 66 75 6e 63 74 69 6f 6e 28 66 72 6f  a : function(fro
a3f0: 6d 48 6f 74 4b 65 79 29 7b 0d 0a 0d 0a 20 20 20  mHotKey){....   
a400: 20 20 20 20 20 76 61 72 20 6d 64 20 3d 20 6e 75       var md = nu
a410: 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72  ll;..        var
a420: 20 6f 62 6a 54 69 74 6c 65 20 3d 20 22 22 3b 0d   objTitle = "";.
a430: 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74  .        var act
a440: 69 76 65 57 69 6e 64 6f 77 20 3d 20 74 68 69 73  iveWindow = this
a450: 2e 77 61 74 63 68 65 72 2e 67 65 74 41 63 74 69  .watcher.getActi
a460: 76 65 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d  veTextWindow();.
a470: 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 61 63  .        if (!ac
a480: 74 69 76 65 57 69 6e 64 6f 77 29 20 7b 20 0d 0a  tiveWindow) { ..
a490: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b          } else {
a4a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61  ..            va
a4b0: 72 20 61 63 74 69 76 65 56 69 65 77 20 3d 20 61  r activeView = a
a4c0: 63 74 69 76 65 57 69 6e 64 6f 77 2e 47 65 74 56  ctiveWindow.GetV
a4d0: 69 65 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  iew();..        
a4e0: 20 20 20 20 76 61 72 20 6f 62 6a 20 3d 20 74 68      var obj = th
a4f0: 69 73 2e 67 65 74 57 69 6e 64 6f 77 4f 62 6a 65  is.getWindowObje
a500: 63 74 28 61 63 74 69 76 65 56 69 65 77 29 3b 0d  ct(activeView);.
a510: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20  .            if 
a520: 28 6f 62 6a 21 3d 6e 75 6c 6c 29 7b 0d 0a 20 20  (obj!=null){..  
a530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62                ob
a540: 6a 54 69 74 6c 65 20 3d 20 6f 62 6a 2e 67 65 74  jTitle = obj.get
a550: 54 69 74 6c 65 28 29 3b 0d 0a 20 20 20 20 20 20  Title();..      
a560: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61            var ma
a570: 74 63 68 65 73 20 3d 20 74 68 69 73 2e 72 65 2e  tches = this.re.
a580: 65 78 65 63 28 6f 62 6a 54 69 74 6c 65 29 3b 0d  exec(objTitle);.
a590: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
a5a0: 20 69 66 20 28 6d 61 74 63 68 65 73 21 3d 6e 75   if (matches!=nu
a5b0: 6c 6c 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ll){..          
a5c0: 20 20 20 20 20 20 20 20 20 20 6f 62 6a 54 69 74            objTit
a5d0: 6c 65 20 3d 20 6d 61 74 63 68 65 73 5b 31 5d 3b  le = matches[1];
a5e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
a5f0: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20    } else {..    
a600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a610: 69 66 20 28 6f 62 6a 54 69 74 6c 65 2e 69 6e 64  if (objTitle.ind
a620: 65 78 4f 66 28 22 3a 22 29 21 3d 2d 31 29 7b 0d  exOf(":")!=-1){.
a630: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
a640: 20 20 20 20 20 20 20 20 20 6f 62 6a 54 69 74 6c           objTitl
a650: 65 20 3d 20 6f 62 6a 54 69 74 6c 65 2e 73 75 62  e = objTitle.sub
a660: 73 74 72 28 30 2c 20 6f 62 6a 54 69 74 6c 65 2e  str(0, objTitle.
a670: 69 6e 64 65 78 4f 66 28 22 3a 22 29 29 3b 0d 0a  indexOf(":"));..
a680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a690: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
a6a0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
a6b0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
a6c0: 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 6d 64   }....        md
a6d0: 20 3d 20 74 68 69 73 2e 67 65 74 43 75 72 72 65   = this.getCurre
a6e0: 6e 74 4d 64 28 29 3b 0d 0a 20 20 20 20 20 20 20  ntMd();..       
a6f0: 20 69 66 20 28 21 6d 64 29 20 72 65 74 75 72 6e   if (!md) return
a700: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68 69  ;....        thi
a710: 73 2e 63 75 72 72 65 6e 74 4d 64 43 6f 6e 74 61  s.currentMdConta
a720: 69 6e 65 72 20 3d 20 6d 64 3b 0d 0a 20 20 20 20  iner = md;..    
a730: 20 20 20 20 74 68 69 73 2e 63 6c 65 61 72 53 65      this.clearSe
a740: 61 72 63 68 52 65 73 75 6c 74 73 28 29 3b 0d 0a  archResults();..
a750: 20 20 20 20 20 20 20 20 74 68 69 73 2e 72 65 20          this.re 
a760: 3d 20 74 68 69 73 2e 62 75 69 6c 64 53 65 61 72  = this.buildSear
a770: 63 68 52 65 67 45 78 70 4f 62 6a 65 63 74 28 29  chRegExpObject()
a780: 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21  ;..        if (!
a790: 74 68 69 73 2e 72 65 29 20 72 65 74 75 72 6e 3b  this.re) return;
a7a0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
a7b0: 20 20 20 20 74 68 69 73 2e 63 75 72 43 61 70 74      this.curCapt
a7c0: 69 6f 6e 20 3d 20 77 69 6e 64 6f 77 73 2e 63 61  ion = windows.ca
a7d0: 70 74 69 6f 6e 3b 20 2f 2f d0 b0 20 d0 b2 d0 b4  ption; //.. ....
a7e0: d1 80 d1 83 d0 b3 2c 20 d0 b5 d1 89 d0 b5 20 d0  ......, ...... .
a7f0: ba d1 82 d0 be 2d d1 82 d0 be 20 d0 bd d0 b5 20  .....-.... .... 
a800: d0 bf d0 be d0 bb d1 8c d0 b7 d1 83 d0 b5 d1 82  ................
a810: d1 81 d1 8f 20 63 6f 6e 66 69 67 43 61 70 74 69  .... configCapti
a820: 6f 6e 2e 2e 2e 20 0d 0a 20 20 20 20 20 20 20 20  on... ..        
a830: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73  ..        this.s
a840: 74 61 72 74 47 6c 6f 62 61 6c 53 65 61 72 63 68  tartGlobalSearch
a850: 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20   = true;..      
a860: 20 20 69 66 20 28 21 74 68 69 73 2e 76 74 4d 44    if (!this.vtMD
a870: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
a880: 74 68 69 73 2e 76 74 4d 44 20 3d 20 7b 7d 3b 0d  this.vtMD = {};.
a890: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
a8a0: 20 20 20 20 74 68 69 73 2e 72 65 61 74 69 6e 67      this.reating
a8b0: 4d 64 4f 62 6a 65 63 74 73 20 3d 20 7b 22 d0 9e  MdObjects = {"..
a8c0: d0 b1 d1 89 d0 b8 d0 b9 d0 9c d0 be d0 b4 d1 83  ................
a8d0: d0 bb d1 8c 22 3a 32 2c 20 0d 0a 20 20 20 20 20  ....":2, ..     
a8e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a8f0: 20 20 20 20 20 20 20 20 20 20 20 22 d0 9a d0 be             "....
a900: d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86  ................
a910: d0 b8 d1 8f 22 3a 33 2c 0d 0a 20 20 20 20 20 20  ....":3,..      
a920: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a930: 20 20 20 20 20 20 20 20 20 20 22 d0 9f d0 bb d0            ".....
a940: b0 d0 bd d0 9e d0 b1 d0 bc d0 b5 d0 bd d0 b0 22  ..............."
a950: 3a 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  :4,..           
a960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a970: 20 20 20 20 20 22 d0 9e d0 b1 d1 89 d0 b0 d1 8f       "..........
a980: d0 a4 d0 be d1 80 d0 bc d0 b0 22 3a 35 0d 0a 20  ..........":5.. 
a990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a9a0: 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 20             };.. 
a9b0: 20 20 20 20 20 20 20 69 66 20 28 6f 62 6a 54 69         if (objTi
a9c0: 74 6c 65 2e 6c 65 6e 67 74 68 3e 30 29 7b 0d 0a  tle.length>0){..
a9d0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
a9e0: 2e 72 65 61 74 69 6e 67 4d 64 4f 62 6a 65 63 74  .reatingMdObject
a9f0: 73 5b 6f 62 6a 54 69 74 6c 65 5d 3d 31 3b 20 2f  s[objTitle]=1; /
aa00: 2f d0 a1 d0 b0 d0 bc d1 8b d0 b9 20 d0 b2 d1 8b  /.......... ....
aa10: d1 81 d0 be d0 ba d0 b8 d0 b9 20 d1 80 d0 b5 d0  .......... .....
aa20: b9 d1 82 d0 b8 d0 bd d0 b3 2e 2e 2e 20 20 20 20  ............    
aa30: 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20   ..        }..  
aa40: 20 20 20 20 20 20 0d 0a 0d 0a 20 20 20 20 20 20        ....      
aa50: 20 20 74 68 69 73 2e 72 65 61 64 4d 64 54 6f 56    this.readMdToV
aa60: 74 28 74 68 69 73 2e 63 75 72 72 65 6e 74 4d 64  t(this.currentMd
aa70: 43 6f 6e 74 61 69 6e 65 72 29 3b 0d 0a 20 20 20  Container);..   
aa80: 20 20 20 20 20 74 68 69 73 2e 65 78 70 61 6e 64       this.expand
aa90: 65 74 52 6f 77 73 20 3d 20 7b 7d 3b 0d 0a 20 20  etRows = {};..  
aaa0: 20 20 20 20 20 20 74 68 69 73 2e 63 75 72 49 64        this.curId
aab0: 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 69   = 0;..        i
aac0: 66 20 28 74 68 69 73 2e 64 79 6e 61 6d 69 63 48  f (this.dynamicH
aad0: 6f 74 4b 65 79 29 20 0d 0a 20 20 20 20 20 20 20  otKey) ..       
aae0: 20 20 20 20 20 68 6f 74 6b 65 79 73 2e 41 64 64       hotkeys.Add
aaf0: 48 6f 74 4b 65 79 28 22 43 74 72 6c 2b 53 68 69  HotKey("Ctrl+Shi
ab00: 66 74 2b 42 6b 53 70 61 63 65 22 2c 20 22 45 78  ft+BkSpace", "Ex
ab10: 74 65 6e 64 65 64 53 65 61 72 63 68 22 2c 20 22  tendedSearch", "
ab20: d0 9e d1 82 d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 8c  ................
ab30: 20 d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0   ...............
ab40: bd d1 8b d0 b9 20 d0 bf d0 be d0 b8 d1 81 d0 ba  ..... ..........
ab50: 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 76 65  ");..        eve
ab60: 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 44 65 73 69  nts.connect(Desi
ab70: 67 6e 65 72 2c 20 22 6f 6e 49 64 6c 65 22 2c 20  gner, "onIdle", 
ab80: 74 68 69 73 29 3b 0d 0a 20 20 20 20 20 20 20 0d  this);..       .
ab90: 0a 20 20 20 20 20 20 20 20 2f 2f 74 68 69 73 2e  .        //this.
aba0: 73 68 6f 77 53 65 61 72 63 68 52 65 73 75 6c 74  showSearchResult
abb0: 28 64 6f 63 52 6f 77 2c 20 66 72 6f 6d 48 6f 74  (docRow, fromHot
abc0: 4b 65 79 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f  Key);..        /
abd0: 2f 77 69 6e 64 6f 77 73 2e 63 61 70 74 69 6f 6e  /windows.caption
abe0: 20 3d 20 63 75 72 43 61 70 74 69 6f 6e 3b 0d 0a   = curCaption;..
abf0: 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 67 65      },....    ge
ac00: 74 43 75 72 72 65 6e 74 4d 64 3a 66 75 6e 63 74  tCurrentMd:funct
ac10: 69 6f 6e 28 29 7b 0d 0a 20 20 20 20 20 20 20 20  ion(){..        
ac20: 76 61 72 20 6d 64 20 3b 0d 0a 20 20 20 20 20 20  var md ;..      
ac30: 20 20 69 66 20 28 74 68 69 73 2e 69 73 49 6e 43    if (this.isInC
ac40: 75 72 72 65 6e 74 4d 64 43 6f 6e 74 65 69 6e 65  urrentMdConteine
ac50: 72 46 69 6e 64 20 29 20 7b 0d 0a 20 20 20 20 20  rFind ) {..     
ac60: 20 20 20 20 20 20 20 69 66 20 28 21 74 68 69 73         if (!this
ac70: 2e 61 63 74 69 76 65 56 69 65 77 29 7b 0d 0a 20  .activeView){.. 
ac80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
ac90: 61 72 20 61 63 74 69 76 65 57 69 6e 64 6f 77 20  ar activeWindow 
aca0: 3d 20 74 68 69 73 2e 77 61 74 63 68 65 72 2e 67  = this.watcher.g
acb0: 65 74 41 63 74 69 76 65 54 65 78 74 57 69 6e 64  etActiveTextWind
acc0: 6f 77 28 29 3b 20 20 20 20 0d 0a 20 20 20 20 20  ow();    ..     
acd0: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21             if (!
ace0: 61 63 74 69 76 65 57 69 6e 64 6f 77 29 7b 0d 0a  activeWindow){..
acf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ad00: 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20  } else {..      
ad10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
ad20: 72 20 61 63 74 69 76 65 56 69 65 77 20 3d 20 61  r activeView = a
ad30: 63 74 69 76 65 57 69 6e 64 6f 77 2e 47 65 74 56  ctiveWindow.GetV
ad40: 69 65 77 28 29 3b 20 20 20 20 0d 0a 20 20 20 20  iew();    ..    
ad50: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
ad60: 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73             } els
ad70: 65 20 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  e {....         
ad80: 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 76         var activ
ad90: 65 56 69 65 77 20 3d 20 74 68 69 73 2e 61 63 74  eView = this.act
ada0: 69 76 65 56 69 65 77 3b 20 20 20 20 0d 0a 20 20  iveView;    ..  
adb0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
adc0: 20 20 20 20 20 20 20 20 20 2f 2f d0 9e d0 bf d1           //.....
add0: 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b8 d0 bc 20 d0 be  ............. ..
ade0: d0 b1 d1 8a d0 b5 d0 ba d1 82 20 d0 ba d0 be d0  .......... .....
adf0: bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0  ................
ae00: b8 d0 b8 20 d0 bf d0 be 20 d1 82 d0 b5 d0 ba d1  ... .... .......
ae10: 83 d1 89 d0 b5 d0 bc d1 83 20 d0 be d0 ba d0 bd  ......... ......
ae20: d1 83 2e 20 0d 0a 20 20 20 20 20 20 20 20 20 20  ... ..          
ae30: 20 20 69 66 20 28 21 61 63 74 69 76 65 56 69 65    if (!activeVie
ae40: 77 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  w) {..          
ae50: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20    } else {..    
ae60: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
ae70: 61 63 74 69 76 65 56 69 65 77 2e 6d 64 4f 62 6a  activeView.mdObj
ae80: 20 26 26 20 61 63 74 69 76 65 56 69 65 77 2e 6d   && activeView.m
ae90: 64 50 72 6f 70 29 20 7b 0d 0a 20 20 20 20 20 20  dProp) {..      
aea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 64                md
aeb0: 20 3d 20 61 63 74 69 76 65 56 69 65 77 2e 6d 64   = activeView.md
aec0: 4f 62 6a 2e 63 6f 6e 74 61 69 6e 65 72 3b 0d 0a  Obj.container;..
aed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
aee0: 7d 20 65 6c 73 65 20 69 66 20 28 61 63 74 69 76  } else if (activ
aef0: 65 56 69 65 77 2e 6d 64 4f 62 6a 29 20 7b 0d 0a  eView.mdObj) {..
af00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
af10: 20 20 20 20 6d 64 20 3d 20 61 63 74 69 76 65 56      md = activeV
af20: 69 65 77 2e 6d 64 4f 62 6a 2e 63 6f 6e 74 61 69  iew.mdObj.contai
af30: 6e 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  ner;..          
af40: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
af50: 20 20 20 20 20 7d 20 0d 0a 20 20 20 20 20 20 20       } ..       
af60: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 7d       ..        }
af70: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
af80: 20 20 20 20 69 66 20 28 21 6d 64 29 20 7b 0d 0a      if (!md) {..
af90: 20 20 20 20 20 20 20 20 20 20 20 20 6d 64 20 3d              md =
afa0: 20 6d 65 74 61 64 61 74 61 2e 63 75 72 72 65 6e   metadata.curren
afb0: 74 3b 20 20 20 0d 0a 20 20 20 20 20 20 20 20 7d  t;   ..        }
afc0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75  ....        retu
afd0: 72 6e 20 6d 64 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  rn md;..    },..
afe0: 20 20 20 20 0d 0a 20 20 20 20 6f 6e 49 64 6c 65      ..    onIdle
aff0: 3a 66 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20  :function(){..  
b000: 20 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e        if (!this.
b010: 73 74 61 72 74 47 6c 6f 62 61 6c 53 65 61 72 63  startGlobalSearc
b020: 68 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  h) {..          
b030: 20 20 77 69 6e 64 6f 77 73 2e 63 61 70 74 69 6f    windows.captio
b040: 6e 20 3d 20 74 68 69 73 2e 63 75 72 43 61 70 74  n = this.curCapt
b050: 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  ion;..          
b060: 20 20 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e 6e    events.disconn
b070: 65 63 74 28 44 65 73 69 67 6e 65 72 2c 20 22 6f  ect(Designer, "o
b080: 6e 49 64 6c 65 22 2c 20 74 68 69 73 29 3b 0d 0a  nIdle", this);..
b090: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
b0a0: 2e 73 68 6f 77 53 65 61 72 63 68 52 65 73 75 6c  .showSearchResul
b0b0: 74 28 64 6f 63 52 6f 77 2c 20 66 61 6c 73 65 29  t(docRow, false)
b0c0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74  ;..            t
b0d0: 68 69 73 2e 65 78 70 61 6e 64 65 74 52 6f 77 73  his.expandetRows
b0e0: 20 3d 20 7b 7d 3b 0d 0a 20 20 20 20 20 20 20 20   = {};..        
b0f0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20      ..          
b100: 20 20 69 66 20 28 74 68 69 73 2e 64 79 6e 61 6d    if (this.dynam
b110: 69 63 48 6f 74 4b 65 79 29 20 7b 0d 0a 20 20 20  icHotKey) {..   
b120: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
b130: 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20  (var i = 0; i < 
b140: 48 6f 74 4b 65 79 73 2e 63 6f 75 6e 74 3b 20 69  HotKeys.count; i
b150: 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ++)..           
b160: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20       {..        
b170: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20              var 
b180: 68 6b 20 3d 20 48 6f 74 4b 65 79 73 2e 69 74 65  hk = HotKeys.ite
b190: 6d 28 69 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  m(i);..         
b1a0: 20 20 20 20 20 20 20 20 20 20 20 d0 9a d0 be d0             .....
b1b0: bc d0 b0 d0 bd d0 b4 d0 b0 20 3d 20 68 6b 2e 61  ......... = hk.a
b1c0: 64 64 69 6e 20 2b 20 22 3a 3a 22 20 2b 20 68 6b  ddin + "::" + hk
b1d0: 2e 6d 61 63 72 6f 73 0d 0a 20 20 20 20 20 20 20  .macros..       
b1e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
b1f0: 28 d0 9a d0 be d0 bc d0 b0 d0 bd d0 b4 d0 b0 2e  (...............
b200: 69 6e 64 65 78 4f 66 28 22 45 78 74 65 6e 64 65  indexOf("Extende
b210: 64 53 65 61 72 63 68 3a 3a d0 9e d1 82 d0 bc d0  dSearch::.......
b220: b5 d0 bd d0 b8 d1 82 d1 8c 20 d0 b3 d0 bb d0 be  ......... ......
b230: d0 b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 20 d0  .............. .
b240: bf d0 be d0 b8 d1 81 d0 ba 22 29 21 3d 2d 31 29  .........")!=-1)
b250: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
b260: 20 20 20 20 20 20 20 20 20 20 20 74 72 79 20 7b             try {
b270: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
b280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 6f                Ho
b290: 74 4b 65 79 73 2e 72 65 6d 6f 76 65 28 69 29 3b  tKeys.remove(i);
b2a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
b2b0: 20 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63            } catc
b2c0: 68 20 28 65 29 20 7b 7d 0d 0a 20 20 20 20 20 20  h (e) {}..      
b2d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d                }.
b2e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
b2f0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
b300: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  }..            r
b310: 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20  eturn;..        
b320: 7d 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63  }..        var c
b330: 75 72 72 65 6e 74 49 64 20 3d 20 74 68 69 73 2e  urrentId = this.
b340: 63 75 72 72 65 6e 74 4d 64 43 6f 6e 74 61 69 6e  currentMdContain
b350: 65 72 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 69 64  er.rootObject.id
b360: 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74  ;..        if (t
b370: 68 69 73 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74  his.vtMD[current
b380: 49 64 5d 2e 43 6f 75 6e 74 28 29 3c 31 29 20 7b  Id].Count()<1) {
b390: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
b3a0: 69 73 2e 73 74 61 72 74 47 6c 6f 62 61 6c 53 65  is.startGlobalSe
b3b0: 61 72 63 68 20 3d 20 66 61 6c 73 65 3b 0d 0a 20  arch = false;.. 
b3c0: 20 20 20 20 20 20 20 20 20 20 20 65 76 65 6e 74             event
b3d0: 73 2e 64 69 73 63 6f 6e 6e 65 63 74 28 44 65 73  s.disconnect(Des
b3e0: 69 67 6e 65 72 2c 20 22 6f 6e 49 64 6c 65 22 2c  igner, "onIdle",
b3f0: 20 74 68 69 73 29 3b 0d 0a 20 20 20 20 20 20 20   this);..       
b400: 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20       return;..  
b410: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
b420: 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63   ..        var c
b430: 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20  ount = 0;..     
b440: 20 20 20 76 61 72 20 64 6f 63 52 6f 77 20 3d 20     var docRow = 
b450: 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 77  null;..        w
b460: 68 69 6c 65 20 28 63 6f 75 6e 74 20 3c 20 74 68  hile (count < th
b470: 69 73 2e 63 6f 75 6e 74 52 6f 77 73 49 6e 49 64  is.countRowsInId
b480: 6c 65 53 65 61 72 63 68 29 7b 0d 0a 20 20 20 20  leSearch){..    
b490: 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73          if (this
b4a0: 2e 63 75 72 49 64 3c 74 68 69 73 2e 76 74 4d 44  .curId<this.vtMD
b4b0: 5b 63 75 72 72 65 6e 74 49 64 5d 2e 43 6f 75 6e  [currentId].Coun
b4c0: 74 28 29 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  t()){..         
b4d0: 20 20 20 20 20 20 20 2f 2f 64 6f 63 52 6f 77 20         //docRow 
b4e0: 3d 20 74 68 69 73 2e 73 65 61 72 63 68 42 79 55  = this.searchByU
b4f0: 75 69 64 28 74 68 69 73 2e 76 74 4d 44 5b 63 75  uid(this.vtMD[cu
b500: 72 72 65 6e 74 49 64 5d 5b 74 68 69 73 2e 63 75  rrentId][this.cu
b510: 72 49 64 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20  rId]);..        
b520: 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 72          var curr
b530: 52 6f 77 20 3d 20 74 68 69 73 2e 76 74 4d 44 5b  Row = this.vtMD[
b540: 63 75 72 72 65 6e 74 49 64 5d 2e 47 65 74 28 74  currentId].Get(t
b550: 68 69 73 2e 63 75 72 49 64 29 3b 0d 0a 20 20 20  his.curId);..   
b560: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63               doc
b570: 52 6f 77 20 3d 20 74 68 69 73 2e 73 65 61 72 63  Row = this.searc
b580: 68 42 79 55 75 69 64 28 63 75 72 72 52 6f 77 2c  hByUuid(currRow,
b590: 20 74 68 69 73 2e 63 75 72 49 64 29 3b 0d 0a 20   this.curId);.. 
b5a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77                 w
b5b0: 69 6e 64 6f 77 73 2e 63 61 70 74 69 6f 6e 20 3d  indows.caption =
b5c0: 20 63 75 72 72 52 6f 77 2e 6d 64 4e 61 6d 65 3b   currRow.mdName;
b5d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20  ..            } 
b5e0: 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20  else {..        
b5f0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 74 61          this.sta
b600: 72 74 47 6c 6f 62 61 6c 53 65 61 72 63 68 20 3d  rtGlobalSearch =
b610: 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20   false;..       
b620: 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d           break;.
b630: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a  .            }..
b640: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
b650: 2e 63 75 72 49 64 20 2b 2b 3b 0d 0a 20 20 20 20  .curId ++;..    
b660: 20 20 20 20 20 20 20 20 63 6f 75 6e 74 2b 2b 3b          count++;
b670: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
b680: 20 20 20 20 20 74 68 69 73 2e 73 68 6f 77 53 65       this.showSe
b690: 61 72 63 68 52 65 73 75 6c 74 28 6e 75 6c 6c 2c  archResult(null,
b6a0: 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 20 20   false);..      
b6b0: 20 20 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20    ..    },..    
b6c0: 0d 0a 20 20 20 20 72 65 61 64 4d 64 54 6f 56 74  ..    readMdToVt
b6d0: 3a 66 75 6e 63 74 69 6f 6e 28 4d 64 43 6f 6e 74  :function(MdCont
b6e0: 61 69 6e 65 72 29 7b 0d 0a 20 20 20 20 20 20 20  ainer){..       
b6f0: 20 76 61 72 20 63 75 72 72 65 6e 74 49 64 20 3d   var currentId =
b700: 20 4d 64 43 6f 6e 74 61 69 6e 65 72 2e 72 6f 6f   MdContainer.roo
b710: 74 4f 62 6a 65 63 74 2e 69 64 3b 20 0d 0a 20 20  tObject.id; ..  
b720: 20 20 20 20 20 20 69 66 20 28 21 74 68 69 73 2e        if (!this.
b730: 76 74 4d 44 5b 63 75 72 72 65 6e 74 49 64 5d 29  vtMD[currentId])
b740: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76  {..            v
b750: 61 72 20 64 6f 63 52 6f 77 20 3d 20 6e 75 6c 6c  ar docRow = null
b760: 3b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ; ..            
b770: 2f 2f 74 68 69 73 2e 76 74 4d 44 5b 63 75 72 72  //this.vtMD[curr
b780: 65 6e 74 49 64 5d 20 3d 20 5b 5d 3b 0d 0a 20 20  entId] = [];..  
b790: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 76            this.v
b7a0: 74 4d 44 5b 63 75 72 72 65 6e 74 49 64 5d 3d 76  tMD[currentId]=v
b7b0: 38 4e 65 77 28 22 56 61 6c 75 65 54 61 62 6c 65  8New("ValueTable
b7c0: 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ");..           
b7d0: 20 74 68 69 73 2e 76 74 4d 44 5b 63 75 72 72 65   this.vtMD[curre
b7e0: 6e 74 49 64 5d 2e 43 6f 6c 75 6d 6e 73 2e 41 64  ntId].Columns.Ad
b7f0: 64 28 22 55 55 49 44 22 29 3b 0d 0a 20 20 20 20  d("UUID");..    
b800: 20 20 20 20 20 20 20 20 74 68 69 73 2e 76 74 4d          this.vtM
b810: 44 5b 63 75 72 72 65 6e 74 49 64 5d 2e 43 6f 6c  D[currentId].Col
b820: 75 6d 6e 73 2e 41 64 64 28 22 6d 64 50 72 6f 70  umns.Add("mdProp
b830: 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ");..           
b840: 20 74 68 69 73 2e 76 74 4d 44 5b 63 75 72 72 65   this.vtMD[curre
b850: 6e 74 49 64 5d 2e 43 6f 6c 75 6d 6e 73 2e 41 64  ntId].Columns.Ad
b860: 64 28 22 6d 64 4e 61 6d 65 22 29 3b 0d 0a 20 20  d("mdName");..  
b870: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 76            this.v
b880: 74 4d 44 5b 63 75 72 72 65 6e 74 49 64 5d 2e 43  tMD[currentId].C
b890: 6f 6c 75 6d 6e 73 2e 41 64 64 28 22 74 69 74 6c  olumns.Add("titl
b8a0: 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  e");..          
b8b0: 20 20 74 68 69 73 2e 76 74 4d 44 5b 63 75 72 72    this.vtMD[curr
b8c0: 65 6e 74 49 64 5d 2e 43 6f 6c 75 6d 6e 73 2e 41  entId].Columns.A
b8d0: 64 64 28 22 73 6f 72 74 54 69 74 6c 65 22 29 3b  dd("sortTitle");
b8e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
b8f0: 69 73 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74 49  is.vtMD[currentI
b900: 64 5d 2e 43 6f 6c 75 6d 6e 73 2e 41 64 64 28 22  d].Columns.Add("
b910: 73 6f 72 74 22 29 3b 0d 0a 20 20 20 20 20 20 20  sort");..       
b920: 20 20 20 20 20 74 68 69 73 2e 76 74 4d 44 5b 63       this.vtMD[c
b930: 75 72 72 65 6e 74 49 64 5d 2e 43 6f 6c 75 6d 6e  urrentId].Column
b940: 73 2e 41 64 64 28 22 4c 69 6e 65 4e 75 6d 62 65  s.Add("LineNumbe
b950: 72 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20  r");....        
b960: 20 20 20 20 76 61 72 20 65 73 20 3d 20 74 68 69      var es = thi
b970: 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  s;..            
b980: 2f 2f d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8  //..............
b990: d1 82 d1 8b 20 d0 bf d1 80 d0 be d0 bf d1 83 d1  .... ...........
b9a0: 81 d1 82 d0 b8 d0 bc 0d 0a 20 20 20 20 20 20 20  .........       
b9b0: 20 20 20 20 20 76 61 72 20 69 67 6e 6f 72 65 64       var ignored
b9c0: 4d 64 43 6c 61 73 73 20 3d 20 7b 0d 0a 20 20 20  MdClass = {..   
b9d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 d0 a0               "..
b9e0: d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b  ................
b9f0: 22 3a 22 22 2c 0d 0a 20 20 20 20 20 20 20 20 20  ":"",..         
ba00: 20 20 20 20 20 20 20 22 d0 9c d0 b0 d0 ba d0 b5         "........
ba10: d1 82 d1 8b 22 20 3a 20 22 22 20 2c 0d 0a 20 20  ...." : "" ,..  
ba20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 d0                ".
ba30: 9e d0 b1 d1 89 d0 b8 d0 b5 d0 9a d0 b0 d1 80 d1  ................
ba40: 82 d0 b8 d0 bd d0 ba d0 b8 22 20 3a 20 22 22 20  ........." : "" 
ba50: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
ba60: 20 20 20 22 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd     "............
ba70: d1 82 d1 8b 20 d1 81 d1 82 d0 b8 d0 bb d1 8f 22  .... .........."
ba80: 20 3a 20 22 22 20 2c 0d 0a 20 20 20 20 20 20 20   : "" ,..       
ba90: 20 20 20 20 20 20 20 20 20 22 d0 9f d0 be d0 b4           "......
baa0: d1 81 d0 b8 d1 81 d1 82 d0 b5 d0 bc d1 8b 22 20  .............." 
bab0: 3a 20 22 22 20 2c 0d 0a 20 20 20 20 20 20 20 20  : "" ,..        
bac0: 20 20 20 20 20 20 20 20 22 d0 af d0 b7 d1 8b d0          ".......
bad0: ba d0 b8 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20  ..." : "" ,..   
bae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 d0 a1               "..
baf0: d1 82 d0 b8 d0 bb d0 b8 22 20 3a 20 22 22 20 2c  ........" : "" ,
bb00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
bb10: 20 20 22 d0 98 d0 bd d1 82 d0 b5 d1 80 d1 84 d0    ".............
bb20: b5 d0 b9 d1 81 d1 8b 22 20 3a 20 22 22 20 2c 0d  ......." : "" ,.
bb30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
bb40: 20 22 d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82   "..............
bb50: d1 80 d1 8b d0 a1 d0 b5 d0 b0 d0 bd d1 81 d0 b0  ................
bb60: 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20 20 20 20  " : "" ,..      
bb70: 20 20 20 20 20 20 20 20 20 20 22 d0 a0 d0 be d0            ".....
bb80: bb d0 b8 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20  ..." : "" ,..   
bb90: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 d0 9e               "..
bba0: d0 b1 d1 89 d0 b8 d0 b5 d0 9c d0 b0 d0 ba d0 b5  ................
bbb0: d1 82 d1 8b 22 20 3a 20 22 22 20 2c 0d 0a 20 20  ...." : "" ,..  
bbc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 d0                ".
bbd0: 9a d1 80 d0 b8 d1 82 d0 b5 d1 80 d0 b8 d0 b8 d0  ................
bbe0: 9e d1 82 d0 b1 d0 be d1 80 d0 b0 22 20 3a 20 22  ..........." : "
bbf0: 22 20 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  " ,..           
bc00: 20 20 20 20 20 22 d0 9e d0 b1 d1 89 d0 b8 d0 b5       "..........
bc10: d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82  ................
bc20: d1 8b 22 20 3a 20 22 22 20 2c 0d 0a 20 20 20 20  .." : "" ,..    
bc30: 20 20 20 20 20 20 20 20 20 20 20 20 22 d0 a2 d0              "...
bc40: b0 d0 b1 d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0  ................
bc50: a7 d0 b0 d1 81 d1 82 d0 b8 22 20 3a 20 22 22 20  ........." : "" 
bc60: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
bc70: 20 20 20 22 d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5     "............
bc80: d1 82 d1 80 d1 8b 22 20 3a 20 22 22 20 0d 0a 20  ......" : "" .. 
bc90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
bca0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
bcb0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
bcc0: 20 76 61 72 20 4c 69 6e 65 4e 75 6d 62 65 72 20   var LineNumber 
bcd0: 3d 20 30 3b 20 2f 2f d0 94 d0 bb d1 8f 20 d1 81  = 0; //...... ..
bce0: d0 be d1 80 d1 82 d0 b8 d1 80 d0 be d0 b2 d0 ba  ................
bcf0: d0 b8 20 d0 bc d0 be d0 b4 d1 83 d0 bb d0 b5 d0  .. .............
bd00: b9 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b9  . ..............
bd10: 20 d0 bf d0 be 20 d0 bf d0 be d1 80 d1 8f d0 b4   .... ..........
bd20: d0 ba d1 83 20 d0 be d0 b1 d1 85 d0 be d0 b4 d0  .... ...........
bd30: b0 2c 20 d0 b0 20 d0 bd d0 b5 20 d0 bf d0 be 20  ., .. .... .... 
bd40: d0 b0 d0 bb d1 84 d0 b0 d0 b2 d0 b8 d1 82 d1 83  ................
bd50: 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d  ...            .
bd60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75  .            (fu
bd70: 6e 63 74 69 6f 6e 20 28 6d 64 4f 62 6a 29 7b 0d  nction (mdObj){.
bd80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
bd90: 20 69 66 20 28 21 65 73 2e 73 74 61 72 74 47 6c   if (!es.startGl
bda0: 6f 62 61 6c 53 65 61 72 63 68 29 20 7b 72 65 74  obalSearch) {ret
bdb0: 75 72 6e 7d 20 0d 0a 20 20 20 20 20 20 20 20 20  urn} ..         
bdc0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
bdd0: 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 64 63           var mdc
bde0: 20 3d 20 6d 64 4f 62 6a 2e 6d 64 63 6c 61 73 73   = mdObj.mdclass
bdf0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d  ;..            .
be00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
be10: 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 64 4e   function getMdN
be20: 61 6d 65 28 6d 64 4f 62 6a 29 20 7b 20 20 20 20  ame(mdObj) {    
be30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
be40: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
be50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
be60: 66 20 28 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 20  f (mdObj.parent 
be70: 26 26 20 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 2e  && mdObj.parent.
be80: 6d 64 43 6c 61 73 73 2e 6e 61 6d 65 28 31 29 20  mdClass.name(1) 
be90: 21 3d 20 27 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3  != '............
bea0: d1 83 d1 80 d0 b0 d1 86 d0 b8 d1 8f 27 29 0d 0a  ............')..
beb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
bec0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67          return g
bed0: 65 74 4d 64 4e 61 6d 65 28 6d 64 4f 62 6a 2e 70  etMdName(mdObj.p
bee0: 61 72 65 6e 74 29 20 2b 20 27 2e 27 20 2b 20 6d  arent) + '.' + m
bef0: 64 4f 62 6a 2e 6d 64 43 6c 61 73 73 2e 6e 61 6d  dObj.mdClass.nam
bf00: 65 28 31 29 20 2b 20 27 20 27 20 2b 20 6d 64 4f  e(1) + ' ' + mdO
bf10: 62 6a 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20  bj.name;..      
bf20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
bf30: 72 20 63 6e 61 6d 65 20 3d 20 6d 64 4f 62 6a 2e  r cname = mdObj.
bf40: 6d 64 43 6c 61 73 73 2e 6e 61 6d 65 28 31 29 3b  mdClass.name(1);
bf50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
bf60: 20 20 20 20 20 20 72 65 74 75 72 6e 20 20 28 63        return  (c
bf70: 6e 61 6d 65 20 3f 20 63 6e 61 6d 65 20 2b 20 27  name ? cname + '
bf80: 20 27 20 3a 20 27 27 29 20 2b 20 6d 64 4f 62 6a   ' : '') + mdObj
bf90: 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20  .name;..        
bfa0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
bfb0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d             var m
bfc0: 64 4e 61 6d 65 20 3d 20 67 65 74 4d 64 4e 61 6d  dName = getMdNam
bfd0: 65 28 6d 64 4f 62 6a 29 0d 0a 20 20 20 20 20 20  e(mdObj)..      
bfe0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
bff0: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 28              for(
c000: 76 61 72 20 69 20 3d 20 30 2c 20 63 20 3d 20 6d  var i = 0, c = m
c010: 64 63 2e 70 72 6f 70 65 72 74 69 65 73 43 6f 75  dc.propertiesCou
c020: 6e 74 3b 20 69 20 3c 20 63 3b 20 69 2b 2b 29 7b  nt; i < c; i++){
c030: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
c040: 20 20 20 20 20 20 76 61 72 20 6d 64 50 72 6f 70        var mdProp
c050: 20 3d 20 6d 64 63 2e 70 72 6f 70 65 72 74 79 41   = mdc.propertyA
c060: 74 28 69 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  t(i);..         
c070: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d             var m
c080: 64 50 72 6f 70 4e 61 6d 65 20 3d 20 6d 64 63 2e  dPropName = mdc.
c090: 70 72 6f 70 65 72 74 79 41 74 28 69 29 2e 6e 61  propertyAt(i).na
c0a0: 6d 65 28 31 29 3b 0d 0a 0d 0a 20 20 20 20 20 20  me(1);....      
c0b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
c0c0: 20 28 6d 64 4f 62 6a 2e 69 73 50 72 6f 70 4d 6f   (mdObj.isPropMo
c0d0: 64 75 6c 65 28 6d 64 50 72 6f 70 2e 69 64 29 29  dule(mdProp.id))
c0e0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
c0f0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 76 61 72             //var
c100: 20 72 6f 77 20 3d 20 7b 55 55 49 44 20 3a 20 6d   row = {UUID : m
c110: 64 4f 62 6a 2e 69 64 7d 0d 0a 20 20 20 20 20 20  dObj.id}..      
c120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c130: 20 20 76 61 72 20 72 6f 77 20 3d 20 65 73 2e 76    var row = es.v
c140: 74 4d 44 5b 63 75 72 72 65 6e 74 49 64 5d 2e 41  tMD[currentId].A
c150: 64 64 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  dd();..         
c160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
c170: 6f 77 2e 55 55 49 44 20 3d 20 6d 64 4f 62 6a 2e  ow.UUID = mdObj.
c180: 69 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  id;..           
c190: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 77               row
c1a0: 2e 6d 64 50 72 6f 70 20 3d 20 6d 64 50 72 6f 70  .mdProp = mdProp
c1b0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
c1c0: 20 20 20 20 20 20 20 20 20 20 20 72 6f 77 2e 6d             row.m
c1d0: 64 4e 61 6d 65 20 3d 20 6d 64 4e 61 6d 65 3b 0d  dName = mdName;.
c1e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
c1f0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
c200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c210: 20 20 20 4c 69 6e 65 4e 75 6d 62 65 72 2b 2b 3b     LineNumber++;
c220: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
c230: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69            var ti
c240: 74 6c 65 20 3d 20 6d 64 4e 61 6d 65 20 2b 20 27  tle = mdName + '
c250: 3a 20 27 20 2b 20 6d 64 50 72 6f 70 4e 61 6d 65  : ' + mdPropName
c260: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
c270: 20 20 20 20 20 20 20 20 20 20 20 72 6f 77 2e 74             row.t
c280: 69 74 6c 65 20 3d 20 74 69 74 6c 65 3b 0d 0a 0d  itle = title;...
c290: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
c2a0: 20 20 20 20 20 20 20 20 20 72 6f 77 2e 73 6f 72           row.sor
c2b0: 74 20 3d 20 39 3b 0d 0a 20 20 20 20 20 20 20 20  t = 9;..        
c2c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c2d0: 72 6f 77 2e 4c 69 6e 65 4e 75 6d 62 65 72 20 3d  row.LineNumber =
c2e0: 20 4c 69 6e 65 4e 75 6d 62 65 72 3b 0d 0a 20 20   LineNumber;..  
c2f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c300: 20 20 20 20 20 20 76 61 72 20 6d 61 74 63 68 65        var matche
c310: 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  s;....          
c320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
c330: 72 20 72 65 20 3d 20 6e 65 77 20 52 65 67 45 78  r re = new RegEx
c340: 70 28 2f 28 28 5b d0 b0 2d d1 8f 61 2d 7a 30 2d  p(/(([..-..a-z0-
c350: 39 5d 7b 31 2c 7d 29 5c 73 5b d0 b0 2d d1 8f 61  9]{1,})\s[..-..a
c360: 2d 7a 30 2d 39 5d 7b 31 2c 7d 29 28 5c 2e 7c 3a  -z0-9]{1,})(\.|:
c370: 29 2f 69 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  )/i);..         
c380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d                 .
c390: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
c3a0: 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 73           matches
c3b0: 20 3d 20 72 65 2e 65 78 65 63 28 6d 64 4e 61 6d   = re.exec(mdNam
c3c0: 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  e);..           
c3d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
c3e0: 28 6d 61 74 63 68 65 73 21 3d 6e 75 6c 6c 29 7b  (matches!=null){
c3f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
c400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f                ro
c410: 77 2e 73 6f 72 74 54 69 74 6c 65 20 3d 20 6d 61  w.sortTitle = ma
c420: 74 63 68 65 73 5b 31 5d 3b 0d 0a 0d 0a 20 20 20  tches[1];....   
c430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c440: 20 20 20 20 20 20 20 20 20 69 66 20 28 21 65 73           if (!es
c450: 2e 72 65 61 74 69 6e 67 4d 64 4f 62 6a 65 63 74  .reatingMdObject
c460: 73 5b 6d 61 74 63 68 65 73 5b 31 5d 5d 29 7b 0d  s[matches[1]]){.
c470: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
c480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c490: 20 69 66 20 28 21 65 73 2e 72 65 61 74 69 6e 67   if (!es.reating
c4a0: 4d 64 4f 62 6a 65 63 74 73 5b 6d 61 74 63 68 65  MdObjects[matche
c4b0: 73 5b 32 5d 5d 29 20 7b 0d 0a 20 20 20 20 20 20  s[2]]) {..      
c4c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c4d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f                ro
c4e0: 77 2e 73 6f 72 74 20 3d 20 39 3b 20 0d 0a 20 20  w.sort = 9; ..  
c4f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c500: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65               } e
c510: 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20 20  lse {..         
c520: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c530: 20 20 20 20 20 20 20 20 20 20 20 72 6f 77 2e 73             row.s
c540: 6f 72 74 20 3d 20 65 73 2e 72 65 61 74 69 6e 67  ort = es.reating
c550: 4d 64 4f 62 6a 65 63 74 73 5b 6d 61 74 63 68 65  MdObjects[matche
c560: 73 5b 32 5d 5d 3b 0d 0a 20 20 20 20 20 20 20 20  s[2]];..        
c570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c580: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
c590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c5a0: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a        } else {..
c5b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c5c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c5d0: 72 6f 77 2e 73 6f 72 74 20 3d 20 65 73 2e 72 65  row.sort = es.re
c5e0: 61 74 69 6e 67 4d 64 4f 62 6a 65 63 74 73 5b 6d  atingMdObjects[m
c5f0: 61 74 63 68 65 73 5b 31 5d 5d 3b 20 20 20 0d 0a  atches[1]];   ..
c600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c610: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
c620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c630: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d                 .
c640: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
c650: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
c660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c670: 20 20 20 20 20 20 20 7d 20 20 20 20 20 20 20 20         }        
c680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c690: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
c6a0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
c6b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c6c0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  }..             
c6d0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
c6e0: 20 20 20 20 20 20 2f 2f 20 d0 9f d0 b5 d1 80 d0        // .......
c6f0: b5 d0 b1 d0 b8 d1 80 d0 b0 d0 b5 d0 bc 20 d0 ba  ............. ..
c700: d0 bb d0 b0 d1 81 d1 81 d1 8b 20 d0 bf d0 be d1  .......... .....
c710: 82 d0 be d0 bc d0 ba d0 be d0 b2 20 28 d0 bd d0  ........... (...
c720: b0 d0 bf d1 80 d0 b8 d0 bc d0 b5 d1 80 20 d1 83  ............. ..
c730: 20 d0 94 d0 be d0 ba d1 83 d0 bc d0 b5 d0 bd d1   ...............
c740: 82 d0 b0 20 d1 8d d1 82 d0 be 20 d0 a0 d0 b5 d0  ... ...... .....
c750: ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 2c 20 d0  ............., .
c760: a2 d0 b0 d0 b1 d0 bb d0 b8 d1 87 d0 bd d1 8b d0  ................
c770: b5 d0 a7 d0 b0 d1 81 d1 82 d0 b8 2c 20 d0 a4 d0  ..........., ...
c780: be d1 80 d0 bc d1 8b 29 0d 0a 20 20 20 20 20 20  .......)..      
c790: 20 20 20 20 20 20 20 20 20 20 66 6f 72 28 76 61            for(va
c7a0: 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 64 63  r i = 0; i < mdc
c7b0: 2e 63 68 69 6c 64 73 43 6c 61 73 73 65 73 43 6f  .childsClassesCo
c7c0: 75 6e 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 20  unt; i++)..     
c7d0: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20             {..  
c7e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c7f0: 20 20 76 61 72 20 63 68 69 6c 64 4d 64 43 6c 61    var childMdCla
c800: 73 73 20 3d 20 6d 64 63 2e 63 68 69 6c 64 43 6c  ss = mdc.childCl
c810: 61 73 73 41 74 28 69 29 0d 0a 20 20 20 20 20 20  assAt(i)..      
c820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a                ..
c830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c840: 20 20 20 20 69 66 20 28 21 28 69 67 6e 6f 72 65      if (!(ignore
c850: 64 4d 64 43 6c 61 73 73 5b 63 68 69 6c 64 4d 64  dMdClass[childMd
c860: 43 6c 61 73 73 2e 6e 61 6d 65 28 31 2c 20 74 72  Class.name(1, tr
c870: 75 65 29 5d 3d 3d 75 6e 64 65 66 69 6e 65 64 29  ue)]==undefined)
c880: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
c890: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74              cont
c8a0: 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20  inue;..         
c8b0: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20             }..  
c8c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c8d0: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
c8e0: 20 20 20 20 20 20 20 20 2f 2f 20 d0 94 d0 bb d1          // .....
c8f0: 8f 20 d0 be d1 81 d1 82 d0 b0 d0 bb d1 8c d0 bd  . ..............
c900: d0 be d0 b3 d0 be 20 d0 bf d0 b5 d1 80 d0 b5 d0  ...... .........
c910: b1 d0 b5 d1 80 d0 b5 d0 bc 20 d0 bf d0 be d1 82  ......... ......
c920: d0 be d0 bc d0 ba d0 be d0 b2 20 d1 8d d1 82 d0  .......... .....
c930: be d0 b3 d0 be 20 d0 ba d0 bb d0 b0 d1 81 d1 81  ..... ..........
c940: d0 b0 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .....           
c950: 20 20 20 20 20 20 20 20 20 66 6f 72 28 76 61 72           for(var
c960: 20 63 68 6c 64 69 64 78 20 3d 20 30 2c 20 63 20   chldidx = 0, c 
c970: 3d 20 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a  = mdObj.childObj
c980: 65 63 74 73 43 6f 75 6e 74 28 69 29 3b 20 63 68  ectsCount(i); ch
c990: 6c 64 69 64 78 20 3c 20 63 3b 20 63 68 6c 64 69  ldidx < c; chldi
c9a0: 64 78 2b 2b 29 7b 0d 0a 20 20 20 20 20 20 20 20  dx++){..        
c9b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c9c0: 76 61 72 20 63 68 69 6c 64 4f 62 6a 65 63 74 20  var childObject 
c9d0: 3d 20 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a  = mdObj.childObj
c9e0: 65 63 74 28 69 2c 20 63 68 6c 64 69 64 78 29 3b  ect(i, chldidx);
c9f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
ca00: 20 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65            argume
ca10: 6e 74 73 2e 63 61 6c 6c 65 65 28 63 68 69 6c 64  nts.callee(child
ca20: 4f 62 6a 65 63 74 29 3b 0d 0a 20 20 20 20 20 20  Object);..      
ca30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d                }.
ca40: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
ca50: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
ca60: 20 20 20 20 7d 29 28 4d 64 43 6f 6e 74 61 69 6e      })(MdContain
ca70: 65 72 2e 72 6f 6f 74 4f 62 6a 65 63 74 29 0d 0a  er.rootObject)..
ca80: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
ca90: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a        } else {..
caa0: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20              for 
cab0: 28 76 61 72 20 6b 65 79 20 69 6e 20 74 68 69 73  (var key in this
cac0: 2e 72 65 61 74 69 6e 67 4d 64 4f 62 6a 65 63 74  .reatingMdObject
cad0: 73 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  s){..           
cae0: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 72 65       if (this.re
caf0: 61 74 69 6e 67 4d 64 4f 62 6a 65 63 74 73 5b 6b  atingMdObjects[k
cb00: 65 79 5d 3c 32 29 20 7b 0d 0a 20 20 20 20 20 20  ey]<2) {..      
cb10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
cb20: 72 20 66 69 6c 74 65 72 20 3d 20 76 38 4e 65 77  r filter = v8New
cb30: 28 22 53 74 72 75 63 74 75 72 65 22 29 3b 0d 0a  ("Structure");..
cb40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cb50: 20 20 20 20 66 69 6c 74 65 72 2e 49 6e 73 65 72      filter.Inser
cb60: 74 28 22 73 6f 72 74 22 2c 20 31 29 3b 0d 0a 20  t("sort", 1);.. 
cb70: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
cb80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cb90: 20 76 61 72 20 66 69 6e 64 52 6f 77 73 20 3d 20   var findRows = 
cba0: 74 68 69 73 2e 76 74 4d 44 5b 63 75 72 72 65 6e  this.vtMD[curren
cbb0: 74 49 64 5d 2e 46 69 6e 64 52 6f 77 73 28 66 69  tId].FindRows(fi
cbc0: 6c 74 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20  lter);..        
cbd0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
cbe0: 66 69 6e 64 52 6f 77 73 2e 43 6f 75 6e 74 28 29  findRows.Count()
cbf0: 3e 30 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  >0){..          
cc00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
cc10: 72 20 28 76 61 72 20 69 3d 30 3b 20 69 3c 66 69  r (var i=0; i<fi
cc20: 6e 64 52 6f 77 73 2e 43 6f 75 6e 74 28 29 3b 20  ndRows.Count(); 
cc30: 69 2b 2b 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  i++){..         
cc40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cc50: 20 20 20 76 61 72 20 63 75 72 72 52 6f 77 20 3d     var currRow =
cc60: 20 66 69 6e 64 52 6f 77 73 2e 47 65 74 28 69 29   findRows.Get(i)
cc70: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
cc80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
cc90: 66 20 28 63 75 72 72 52 6f 77 2e 73 6f 72 74 54  f (currRow.sortT
cca0: 69 74 6c 65 20 21 3d 20 6b 65 79 29 7b 0d 0a 20  itle != key){.. 
ccb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ccc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63                 c
ccd0: 75 72 72 52 6f 77 2e 73 6f 72 74 20 3d 20 39 3b  urrRow.sort = 9;
cce0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
ccf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d                }.
cd00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
cd10: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
cd20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cd30: 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  }....           
cd40: 20 20 20 20 20 20 20 20 20 76 61 72 20 66 69 6c           var fil
cd50: 74 65 72 20 3d 20 76 38 4e 65 77 28 22 53 74 72  ter = v8New("Str
cd60: 75 63 74 75 72 65 22 29 3b 0d 0a 20 20 20 20 20  ucture");..     
cd70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66                 f
cd80: 69 6c 74 65 72 2e 49 6e 73 65 72 74 28 22 73 6f  ilter.Insert("so
cd90: 72 74 54 69 74 6c 65 22 2c 20 6b 65 79 29 3b 0d  rtTitle", key);.
cda0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
cdb0: 20 20 20 20 20 76 61 72 20 66 69 6e 64 52 6f 77       var findRow
cdc0: 73 20 3d 20 74 68 69 73 2e 76 74 4d 44 5b 63 75  s = this.vtMD[cu
cdd0: 72 72 65 6e 74 49 64 5d 2e 46 69 6e 64 52 6f 77  rrentId].FindRow
cde0: 73 28 66 69 6c 74 65 72 29 3b 0d 0a 20 20 20 20  s(filter);..    
cdf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ce00: 69 66 20 28 66 69 6e 64 52 6f 77 73 2e 43 6f 75  if (findRows.Cou
ce10: 6e 74 28 29 3e 30 29 7b 0d 0a 20 20 20 20 20 20  nt()>0){..      
ce20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ce30: 20 20 66 6f 72 20 28 76 61 72 20 69 3d 30 3b 20    for (var i=0; 
ce40: 69 3c 66 69 6e 64 52 6f 77 73 2e 43 6f 75 6e 74  i<findRows.Count
ce50: 28 29 3b 20 69 2b 2b 29 7b 0d 0a 20 20 20 20 20  (); i++){..     
ce60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ce70: 20 20 20 20 20 20 20 76 61 72 20 63 75 72 72 52         var currR
ce80: 6f 77 20 3d 20 66 69 6e 64 52 6f 77 73 2e 47 65  ow = findRows.Ge
ce90: 74 28 69 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  t(i);..         
cea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ceb0: 20 20 20 69 66 20 28 63 75 72 72 52 6f 77 2e 73     if (currRow.s
cec0: 6f 72 74 54 69 74 6c 65 20 21 3d 20 6b 65 79 29  ortTitle != key)
ced0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
cee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cef0: 20 20 20 63 75 72 72 52 6f 77 2e 73 6f 72 74 20     currRow.sort 
cf00: 3d 20 28 21 74 68 69 73 2e 72 65 61 74 69 6e 67  = (!this.reating
cf10: 4d 64 4f 62 6a 65 63 74 73 5b 6b 65 79 5d 29 20  MdObjects[key]) 
cf20: 3f 20 39 3a 20 74 68 69 73 2e 72 65 61 74 69 6e  ? 9: this.reatin
cf30: 67 4d 64 4f 62 6a 65 63 74 73 5b 6b 65 79 5d 3b  gMdObjects[key];
cf40: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
cf50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d                }.
cf60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
cf70: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
cf80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cf90: 7d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  }               
cfa0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
cfb0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
cfc0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20            ..    
cfd0: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
cfe0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
cff0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
d000: 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20     }....        
d010: 69 66 20 28 74 68 69 73 2e 66 69 6c 74 65 72 42  if (this.filterB
d020: 79 55 55 49 44 29 7b 0d 0a 20 20 20 20 20 20 20  yUUID){..       
d030: 20 20 20 20 20 76 61 72 20 61 72 72 61 79 54 6f       var arrayTo
d040: 46 69 6c 74 65 72 20 3d 20 76 38 4e 65 77 28 27  Filter = v8New('
d050: 41 72 72 61 79 27 29 3b 0d 0a 20 20 20 20 20 20  Array');..      
d060: 20 20 20 20 20 20 76 61 72 20 66 69 72 73 74 45        var firstE
d070: 6c 65 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0d  lement = false;.
d080: 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72  .            for
d090: 20 28 76 61 72 20 6b 20 69 6e 20 74 68 69 73 2e   (var k in this.
d0a0: 66 69 6c 74 65 72 42 79 55 55 49 44 29 7b 0d 0a  filterByUUID){..
d0b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d0c0: 66 69 72 73 74 45 6c 65 6d 65 6e 74 20 3d 20 74  firstElement = t
d0d0: 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  rue;..          
d0e0: 20 20 20 20 20 20 76 61 72 20 66 69 6c 74 65 72        var filter
d0f0: 20 3d 20 76 38 4e 65 77 28 22 53 74 72 75 63 74   = v8New("Struct
d100: 75 72 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20  ure");..        
d110: 20 20 20 20 20 20 20 20 66 69 6c 74 65 72 2e 49          filter.I
d120: 6e 73 65 72 74 28 22 55 55 49 44 22 2c 20 6b 29  nsert("UUID", k)
d130: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
d140: 20 20 20 76 61 72 20 66 69 6e 64 52 6f 77 73 20     var findRows 
d150: 3d 20 74 68 69 73 2e 76 74 4d 44 5b 63 75 72 72  = this.vtMD[curr
d160: 65 6e 74 49 64 5d 2e 46 69 6e 64 52 6f 77 73 28  entId].FindRows(
d170: 66 69 6c 74 65 72 29 3b 0d 0a 20 20 20 20 20 20  filter);..      
d180: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69            if (fi
d190: 6e 64 52 6f 77 73 2e 43 6f 75 6e 74 28 29 3e 30  ndRows.Count()>0
d1a0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
d1b0: 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72          for (var
d1c0: 20 69 3d 30 3b 20 69 3c 66 69 6e 64 52 6f 77 73   i=0; i<findRows
d1d0: 2e 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 7b 0d  .Count(); i++){.
d1e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
d1f0: 20 20 20 20 20 20 20 20 20 61 72 72 61 79 54 6f           arrayTo
d200: 46 69 6c 74 65 72 2e 41 64 64 28 66 69 6e 64 52  Filter.Add(findR
d210: 6f 77 73 2e 47 65 74 28 69 29 29 3b 0d 0a 20 20  ows.Get(i));..  
d220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d230: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
d240: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
d250: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
d260: 20 20 20 69 66 20 28 66 69 72 73 74 45 6c 65 6d     if (firstElem
d270: 65 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20  ent)..          
d280: 20 20 20 20 20 20 74 68 69 73 2e 76 74 4d 44 5b        this.vtMD[
d290: 63 75 72 72 65 6e 74 49 64 5d 20 3d 20 74 68 69  currentId] = thi
d2a0: 73 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74 49 64  s.vtMD[currentId
d2b0: 5d 2e 43 6f 70 79 28 61 72 72 61 79 54 6f 46 69  ].Copy(arrayToFi
d2c0: 6c 74 65 72 29 3b 0d 0a 0d 0a 20 20 20 20 20 20  lter);....      
d2d0: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 74 68 69    }..        thi
d2e0: 73 2e 76 74 4d 44 5b 63 75 72 72 65 6e 74 49 64  s.vtMD[currentId
d2f0: 5d 2e 53 6f 72 74 28 22 73 6f 72 74 2c 20 4c 69  ].Sort("sort, Li
d300: 6e 65 4e 75 6d 62 65 72 2c 20 74 69 74 6c 65 22  neNumber, title"
d310: 29 3b 0d 0a 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20  );....    },..  
d320: 20 20 0d 0a 0d 0a 20 20 20 20 51 75 65 72 79 5f    ....    Query_
d330: 4f 6e 43 68 61 6e 67 65 20 3a 20 66 75 6e 63 74  OnChange : funct
d340: 69 6f 6e 28 43 6f 6e 74 72 6f 6c 29 7b 0d 0a 0d  ion(Control){...
d350: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b  .        return;
d360: 0d 0a 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  ....    },....  
d370: 20 20 42 74 53 65 61 72 63 68 5f 43 6c 69 63 6b    BtSearch_Click
d380: 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 63 6f 6e   : function (con
d390: 74 72 6f 6c 29 20 7b 0d 0a 0d 0a 20 20 20 20 20  trol) {....     
d3a0: 20 20 20 69 66 20 28 74 68 69 73 2e 66 6f 72 6d     if (this.form
d3b0: 2e 51 75 65 72 79 20 3d 3d 20 27 27 29 0d 0a 20  .Query == '').. 
d3c0: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
d3d0: 20 20 20 20 20 20 44 6f 4d 65 73 73 61 67 65 42        DoMessageB
d3e0: 6f 78 28 27 d0 9d d0 b5 20 d0 b7 d0 b0 d0 b4 d0  ox('.... .......
d3f0: b0 d0 bd d0 b0 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
d400: d0 b0 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 b0 27  .. ............'
d410: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
d420: 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20  return;..       
d430: 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 74 68   }....        th
d440: 69 73 2e 73 65 61 72 63 68 49 6e 4d 65 74 61 64  is.searchInMetad
d450: 61 74 61 28 74 72 75 65 29 3b 0d 0a 20 20 20 20  ata(true);..    
d460: 7d 2c 0d 0a 0d 0a 0d 0a 20 20 20 20 53 65 74 43  },......    SetC
d470: 6f 6e 74 72 6f 6c 73 56 69 73 69 62 6c 65 20 3a  ontrolsVisible :
d480: 20 66 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20   function(){..  
d490: 20 20 20 20 20 20 74 68 69 73 2e 5f 73 75 70 65        this._supe
d4a0: 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66  r();..        if
d4b0: 20 28 74 68 69 73 2e 69 73 47 6c 6f 62 61 6c 46   (this.isGlobalF
d4c0: 69 6e 64 29 7b 0d 0a 20 20 20 20 20 20 20 20 20  ind){..         
d4d0: 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 63 61 70     this.form.cap
d4e0: 74 69 6f 6e 20 3d 20 22 d0 a0 d0 b0 d1 81 d1 88  tion = "........
d4f0: d0 b8 d1 80 d0 b5 d0 bd d0 bd d1 8b d0 b9 20 d0  .............. .
d500: bf d0 be d0 b8 d1 81 d0 ba 20 d0 b2 20 d0 bc d0  ......... .. ...
d510: be d0 b4 d1 83 d0 bb d0 b5 20 28 d0 b3 d0 bb d0  ......... (.....
d520: be d0 b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b9 29  ...............)
d530: 22 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  ";..        }.. 
d540: 20 20 20 7d 2c 20 0d 0a 0d 0a 20 20 20 20 73 68     }, ....    sh
d550: 6f 77 53 65 61 72 63 68 52 65 73 75 6c 74 3a 20  owSearchResult: 
d560: 66 75 6e 63 74 69 6f 6e 20 28 64 6f 63 52 6f 77  function (docRow
d570: 2c 20 66 72 6f 6d 48 6f 74 4b 65 79 29 20 7b 0d  , fromHotKey) {.
d580: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 68  .        this.sh
d590: 6f 77 52 65 73 75 6c 74 28 64 6f 63 52 6f 77 2c  owResult(docRow,
d5a0: 20 66 72 6f 6d 48 6f 74 4b 65 79 29 3b 0d 0a 20   fromHotKey);.. 
d5b0: 20 20 20 20 20 20 20 74 68 69 73 2e 65 78 70 61         this.expa
d5c0: 6e 64 54 72 65 65 28 29 3b 0d 0a 20 20 20 20 7d  ndTree();..    }
d5d0: 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 65 78 70  ,..    ..    exp
d5e0: 61 6e 64 54 72 65 65 20 3a 20 66 75 6e 63 74 69  andTree : functi
d5f0: 6f 6e 20 28 63 6f 6c 6c 61 70 73 65 29 20 7b 0d  on (collapse) {.
d600: 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 72 65  .        var tre
d610: 65 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6f  e = this.form.Co
d620: 6e 74 72 6f 6c 73 2e 53 65 61 72 63 68 52 65 73  ntrols.SearchRes
d630: 75 6c 74 73 3b 0d 0a 20 20 20 20 20 20 20 20 66  ults;..        f
d640: 6f 72 20 28 76 61 72 20 69 3d 30 3b 20 69 20 3c  or (var i=0; i <
d650: 20 74 68 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f   this.results.Ro
d660: 77 73 2e 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29  ws.Count(); i++)
d670: 0d 0a 20 20 20 20 20 20 20 20 7b 20 20 20 20 20  ..        {     
d680: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
d690: 20 76 61 72 20 64 6f 63 52 6f 77 20 3d 20 74 68   var docRow = th
d6a0: 69 73 2e 72 65 73 75 6c 74 73 2e 52 6f 77 73 2e  is.results.Rows.
d6b0: 47 65 74 28 69 29 3b 0d 0a 20 20 20 20 20 20 20  Get(i);..       
d6c0: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 66 6f       if (this.fo
d6d0: 72 6d 2e 54 72 65 65 56 69 65 77 29 0d 0a 20 20  rm.TreeView)..  
d6e0: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20            {..   
d6f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
d700: 20 28 76 61 72 20 6a 3d 30 3b 20 6a 20 3c 20 64   (var j=0; j < d
d710: 6f 63 52 6f 77 2e 52 6f 77 73 2e 43 6f 75 6e 74  ocRow.Rows.Count
d720: 28 29 3b 20 6a 2b 2b 29 0d 0a 20 20 20 20 20 20  (); j++)..      
d730: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20            {..   
d740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d750: 20 76 61 72 20 72 6f 77 20 3d 20 64 6f 63 52 6f   var row = docRo
d760: 77 2e 52 6f 77 73 2e 47 65 74 28 6a 29 3b 0d 0a  w.Rows.Get(j);..
d770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d780: 20 20 20 20 69 66 20 28 74 68 69 73 2e 65 78 70      if (this.exp
d790: 61 6e 64 65 74 52 6f 77 73 5b 22 22 2b 72 6f 77  andetRows[""+row
d7a0: 2e 4c 69 6e 65 4e 6f 2b 72 6f 77 2e 46 6f 75 6e  .LineNo+row.Foun
d7b0: 64 4c 69 6e 65 5d 29 7b 0d 0a 20 20 20 20 20 20  dLine]){..      
d7c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d7d0: 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20    continue;..   
d7e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d7f0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
d800: 20 20 20 20 20 20 20 20 63 6f 6c 6c 61 70 73 65          collapse
d810: 20 3f 20 74 72 65 65 2e 43 6f 6c 6c 61 70 73 65   ? tree.Collapse
d820: 28 72 6f 77 29 20 3a 20 74 72 65 65 2e 45 78 70  (row) : tree.Exp
d830: 61 6e 64 28 72 6f 77 2c 20 74 72 75 65 29 3b 0d  and(row, true);.
d840: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
d850: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 73 74       if (this.st
d860: 61 72 74 47 6c 6f 62 61 6c 53 65 61 72 63 68 29  artGlobalSearch)
d870: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
d880: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
d890: 65 78 70 61 6e 64 65 74 52 6f 77 73 5b 22 22 2b  expandetRows[""+
d8a0: 72 6f 77 2e 4c 69 6e 65 4e 6f 2b 72 6f 77 2e 46  row.LineNo+row.F
d8b0: 6f 75 6e 64 4c 69 6e 65 5d 20 3d 20 22 31 22 3b  oundLine] = "1";
d8c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
d8d0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
d8e0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
d8f0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
d900: 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20         else..   
d910: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20           {..    
d920: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
d930: 74 68 69 73 2e 65 78 70 61 6e 64 65 74 52 6f 77  this.expandetRow
d940: 73 5b 22 22 2b 64 6f 63 52 6f 77 2e 4c 69 6e 65  s[""+docRow.Line
d950: 4e 6f 2b 64 6f 63 52 6f 77 2e 46 6f 75 6e 64 4c  No+docRow.FoundL
d960: 69 6e 65 5d 29 7b 0d 0a 20 20 20 20 20 20 20 20  ine]){..        
d970: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74              cont
d980: 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20  inue;..         
d990: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
d9a0: 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 61 70            collap
d9b0: 73 65 20 3f 20 74 72 65 65 2e 43 6f 6c 6c 61 70  se ? tree.Collap
d9c0: 73 65 28 64 6f 63 52 6f 77 29 20 3a 20 74 72 65  se(docRow) : tre
d9d0: 65 2e 45 78 70 61 6e 64 28 64 6f 63 52 6f 77 2c  e.Expand(docRow,
d9e0: 20 74 72 75 65 29 3b 20 20 20 20 20 20 20 20 20   true);         
d9f0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
da00: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
da10: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e         if (this.
da20: 73 74 61 72 74 47 6c 6f 62 61 6c 53 65 61 72 63  startGlobalSearc
da30: 68 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  h){..           
da40: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 65 78           this.ex
da50: 70 61 6e 64 65 74 52 6f 77 73 5b 22 22 2b 64 6f  pandetRows[""+do
da60: 63 52 6f 77 2e 4c 69 6e 65 4e 6f 2b 64 6f 63 52  cRow.LineNo+docR
da70: 6f 77 2e 46 6f 75 6e 64 4c 69 6e 65 5d 20 3d 20  ow.FoundLine] = 
da80: 22 31 22 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  "1";..          
da90: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
daa0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
dab0: 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 20 0d  }..    }..     .
dac0: 0a 0d 0a 0d 0a 7d 29 0d 0a 0d 0a 2f 2f 2f 2f 7d  .....})....////}
dad0: 20 45 78 74 53 65 61 72 63 68 0d 0a 0d 0a 2f 2f   ExtSearch....//
dae0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
daf0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
db00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
db10: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
db20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
db30: 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 d0 92  //////..////{ ..
db40: d1 81 d0 bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 82  ................
db50: d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d0 be d0  ............ ...
db60: b1 d1 8a d0 b5 d0 ba d1 82 d1 8b 2e 0d 0a 2f 2f  ..............//
db70: 2f 2f 0d 0a 0d 0a 4d 64 4f 62 6a 65 63 74 20 3d  //....MdObject =
db80: 20 73 74 64 6c 69 62 2e 43 6c 61 73 73 2e 65 78   stdlib.Class.ex
db90: 74 65 6e 64 28 7b 20 20 20 20 20 20 20 20 20 20  tend({          
dba0: 20 0d 0a 20 20 20 20 63 6f 6e 73 74 72 75 63 74   ..    construct
dbb0: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6f 62 6a 2c  : function (obj,
dbc0: 20 70 72 6f 70 2c 20 74 69 74 6c 65 29 20 7b 0d   prop, title) {.
dbd0: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 6f 62  .        this.ob
dbe0: 6a 20 3d 20 6f 62 6a 3b 0d 0a 20 20 20 20 20 20  j = obj;..      
dbf0: 20 20 74 68 69 73 2e 70 72 6f 70 20 3d 20 70 72    this.prop = pr
dc00: 6f 70 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69  op;..        thi
dc10: 73 2e 74 69 74 6c 65 20 3d 20 74 69 74 6c 65 3b  s.title = title;
dc20: 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 67 65  ..    },..    ge
dc30: 74 54 65 78 74 3a 20 66 75 6e 63 74 69 6f 6e 28  tText: function(
dc40: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74  ) {..        ret
dc50: 75 72 6e 20 74 68 69 73 2e 6f 62 6a 2e 67 65 74  urn this.obj.get
dc60: 4d 6f 64 75 6c 65 54 65 78 74 28 74 68 69 73 2e  ModuleText(this.
dc70: 70 72 6f 70 2e 69 64 29 3b 0d 0a 20 20 20 20 7d  prop.id);..    }
dc80: 2c 0d 0a 20 20 20 20 61 63 74 69 76 61 74 65 3a  ,..    activate:
dc90: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20   function() {.. 
dca0: 20 20 20 20 20 20 20 74 68 69 73 2e 6f 62 6a 2e         this.obj.
dcb0: 6f 70 65 6e 4d 6f 64 75 6c 65 28 74 68 69 73 2e  openModule(this.
dcc0: 70 72 6f 70 2e 69 64 29 3b 0d 0a 20 20 20 20 20  prop.id);..     
dcd0: 20 20 20 72 65 74 75 72 6e 20 47 65 74 54 65 78     return GetTex
dce0: 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20  tWindow();..    
dcf0: 7d 2c 0d 0a 20 20 20 20 67 65 74 54 69 74 6c 65  },..    getTitle
dd00: 3a 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a  : function() {..
dd10: 20 20 20 20 20 20 20 20 69 66 20 28 21 74 68 69          if (!thi
dd20: 73 2e 74 69 74 6c 65 29 0d 0a 20 20 20 20 20 20  s.title)..      
dd30: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
dd40: 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 64 4e   function getMdN
dd50: 61 6d 65 28 6d 64 4f 62 6a 29 20 7b 20 20 20 20  ame(mdObj) {    
dd60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
dd70: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
dd80: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d             if (m
dd90: 64 4f 62 6a 2e 70 61 72 65 6e 74 20 26 26 20 6d  dObj.parent && m
dda0: 64 4f 62 6a 2e 70 61 72 65 6e 74 2e 6d 64 43 6c  dObj.parent.mdCl
ddb0: 61 73 73 2e 6e 61 6d 65 28 31 29 20 21 3d 20 27  ass.name(1) != '
ddc0: d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80  ................
ddd0: d0 b0 d1 86 d0 b8 d1 8f 27 29 0d 0a 20 20 20 20  ........')..    
dde0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ddf0: 72 65 74 75 72 6e 20 67 65 74 4d 64 4e 61 6d 65  return getMdName
de00: 28 6d 64 4f 62 6a 2e 70 61 72 65 6e 74 29 20 2b  (mdObj.parent) +
de10: 20 27 2e 27 20 2b 20 6d 64 4f 62 6a 2e 6d 64 43   '.' + mdObj.mdC
de20: 6c 61 73 73 2e 6e 61 6d 65 28 31 29 20 2b 20 27  lass.name(1) + '
de30: 20 27 20 2b 20 6d 64 4f 62 6a 2e 6e 61 6d 65 3b   ' + mdObj.name;
de40: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
de50: 20 20 76 61 72 20 63 6e 61 6d 65 20 3d 20 6d 64    var cname = md
de60: 4f 62 6a 2e 6d 64 43 6c 61 73 73 2e 6e 61 6d 65  Obj.mdClass.name
de70: 28 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  (1);..          
de80: 20 20 20 20 20 20 72 65 74 75 72 6e 20 20 28 63        return  (c
de90: 6e 61 6d 65 20 3f 20 63 6e 61 6d 65 20 2b 20 27  name ? cname + '
dea0: 20 27 20 3a 20 27 27 29 20 2b 20 6d 64 4f 62 6a   ' : '') + mdObj
deb0: 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20  .name;..        
dec0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
ded0: 20 20 20 74 68 69 73 2e 74 69 74 6c 65 20 3d 20     this.title = 
dee0: 67 65 74 4d 64 4e 61 6d 65 28 74 68 69 73 2e 6f  getMdName(this.o
def0: 62 6a 29 20 2b 20 27 3a 20 27 20 2b 20 74 68 69  bj) + ': ' + thi
df00: 73 2e 70 72 6f 70 2e 6e 61 6d 65 28 31 29 3b 0d  s.prop.name(1);.
df10: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
df20: 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e      return this.
df30: 74 69 74 6c 65 3b 0d 0a 20 20 20 20 7d 0d 0a 7d  title;..    }..}
df40: 29 3b 0d 0a 0d 0a 54 65 78 74 44 6f 63 4f 62 6a  );....TextDocObj
df50: 65 63 74 20 3d 20 73 74 64 6c 69 62 2e 43 6c 61  ect = stdlib.Cla
df60: 73 73 2e 65 78 74 65 6e 64 28 7b 0d 0a 20 20 20  ss.extend({..   
df70: 20 63 6f 6e 73 74 72 75 63 74 3a 20 66 75 6e 63   construct: func
df80: 74 69 6f 6e 20 28 74 78 74 44 6f 63 2c 20 74 69  tion (txtDoc, ti
df90: 74 6c 65 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  tle) {..        
dfa0: 74 68 69 73 2e 6f 62 6a 20 3d 20 74 78 74 44 6f  this.obj = txtDo
dfb0: 63 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  c;..        this
dfc0: 2e 74 69 74 6c 65 20 3d 20 74 69 74 6c 65 3b 0d  .title = title;.
dfd0: 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 67 65 74  .    },..    get
dfe0: 54 65 78 74 3a 20 66 75 6e 63 74 69 6f 6e 28 29  Text: function()
dff0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75   {..        retu
e000: 72 6e 20 74 68 69 73 2e 6f 62 6a 2e 47 65 74 54  rn this.obj.GetT
e010: 65 78 74 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a  ext();..    },..
e020: 20 20 20 20 61 63 74 69 76 61 74 65 3a 20 66 75      activate: fu
e030: 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20  nction() {..    
e040: 20 20 20 20 74 68 69 73 2e 6f 62 6a 2e 53 68 6f      this.obj.Sho
e050: 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 72 65  w();..        re
e060: 74 75 72 6e 20 47 65 74 54 65 78 74 57 69 6e 64  turn GetTextWind
e070: 6f 77 28 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 20  ow();..    },.. 
e080: 20 20 20 67 65 74 54 69 74 6c 65 3a 20 66 75 6e     getTitle: fun
e090: 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20  ction() {..     
e0a0: 20 20 20 69 66 20 28 21 74 68 69 73 2e 74 69 74     if (!this.tit
e0b0: 6c 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  le)..           
e0c0: 20 74 68 69 73 2e 74 69 74 6c 65 20 3d 20 74 68   this.title = th
e0d0: 69 73 2e 6f 62 6a 2e 55 73 65 64 46 69 6c 65 4e  is.obj.UsedFileN
e0e0: 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 72 65  ame;..        re
e0f0: 74 75 72 6e 20 74 68 69 73 2e 74 69 74 6c 65 3b  turn this.title;
e100: 0d 0a 20 20 20 20 7d 0d 0a 7d 29 3b 0d 0a 0d 0a  ..    }..});....
e110: 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 4d 64 4f  function findMdO
e120: 62 6a 28 63 75 72 72 65 6e 74 6d 64 2c 20 75 75  bj(currentmd, uu
e130: 69 64 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 28 75  id)..{..    if(u
e140: 75 69 64 20 3d 3d 20 63 75 72 72 65 6e 74 6d 64  uid == currentmd
e150: 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 69 64 29 0d  .rootObject.id).
e160: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
e170: 63 75 72 72 65 6e 74 6d 64 2e 72 6f 6f 74 4f 62  currentmd.rootOb
e180: 6a 65 63 74 0d 0a 20 20 20 20 72 65 74 75 72 6e  ject..    return
e190: 20 63 75 72 72 65 6e 74 6d 64 2e 66 69 6e 64 42   currentmd.findB
e1a0: 79 55 55 49 44 28 75 75 69 64 29 3b 0d 0a 7d 0d  yUUID(uuid);..}.
e1b0: 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7d 20 d0 92 d1  .////..////} ...
e1c0: 81 d0 bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 82 d0  ................
e1d0: b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d0 be d0 b1  ........... ....
e1e0: d1 8a d0 b5 d0 ba d1 82 d1 8b 2e 0d 0a 2f 2f 2f  .............///
e1f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e200: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e210: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e220: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e230: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e240: 2f 2f 2f 2f 2f 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f  /////....///////
e250: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e260: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e270: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e280: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e290: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e2a0: 2f 0d 0a 2f 2f 2f 2f 7b 20 54 65 78 74 57 69 6e  /..////{ TextWin
e2b0: 64 6f 77 73 57 61 74 63 68 65 72 20 2d 20 d0 be  dowsWatcher - ..
e2c0: d1 82 d1 81 d0 bb d0 b5 d0 b6 d0 b8 d0 b2 d0 b0  ................
e2d0: d0 b5 d1 82 20 d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0  .... ...........
e2e0: b8 d0 b7 d0 b0 d1 86 d0 b8 d1 8e 20 d1 82 d0 b5  ........... ....
e2f0: d0 ba d1 81 d1 82 d0 be d0 b2 d1 8b d1 85 20 d0  .............. .
e300: be d0 ba d0 be d0 bd 20 d0 b8 20 d0 b7 d0 b0 d0  ....... .. .....
e310: bf d0 be d0 bc d0 b8 d0 bd d0 b0 d0 b5 d1 82 20  ............... 
e320: d0 bf d0 be d1 81 d0 bb d0 b5 d0 b4 d0 bd d0 b5  ................
e330: d0 b5 2e 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 54 65 78  .....////....Tex
e340: 74 57 69 6e 64 6f 77 73 57 61 74 63 68 65 72 20  tWindowsWatcher 
e350: 3d 20 73 74 64 6c 69 62 2e 43 6c 61 73 73 2e 65  = stdlib.Class.e
e360: 78 74 65 6e 64 28 7b 0d 0a 0d 0a 20 20 20 20 63  xtend({....    c
e370: 6f 6e 73 74 72 75 63 74 20 3a 20 66 75 6e 63 74  onstruct : funct
e380: 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 20 20 20  ion() {..       
e390: 20 74 68 69 73 2e 74 69 6d 65 72 49 64 20 3d 20   this.timerId = 
e3a0: 30 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  0;..        this
e3b0: 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78 74 57  .lastActiveTextW
e3c0: 69 6e 64 6f 77 20 3d 20 6e 75 6c 6c 3b 0d 0a 20  indow = null;.. 
e3d0: 20 20 20 20 20 20 20 74 68 69 73 2e 73 74 61 72         this.star
e3e0: 74 57 61 74 63 68 28 29 3b 0d 0a 20 20 20 20 7d  tWatch();..    }
e3f0: 2c 0d 0a 0d 0a 20 20 20 20 67 65 74 41 63 74 69  ,....    getActi
e400: 76 65 54 65 78 74 57 69 6e 64 6f 77 20 3a 20 66  veTextWindow : f
e410: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20  unction () {..  
e420: 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 6c        if (this.l
e430: 61 73 74 41 63 74 69 76 65 54 65 78 74 57 69 6e  astActiveTextWin
e440: 64 6f 77 20 26 26 20 74 68 69 73 2e 6c 61 73 74  dow && this.last
e450: 41 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f 77  ActiveTextWindow
e460: 2e 49 73 41 63 74 69 76 65 28 29 29 0d 0a 20 20  .IsActive())..  
e470: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
e480: 20 74 68 69 73 2e 6c 61 73 74 41 63 74 69 76 65   this.lastActive
e490: 54 65 78 74 57 69 6e 64 6f 77 3b 0d 0a 20 20 20  TextWindow;..   
e4a0: 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c       return null
e4b0: 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20  ;..    },....   
e4c0: 20 73 74 61 72 74 57 61 74 63 68 20 3a 20 66 75   startWatch : fu
e4d0: 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20  nction () {..   
e4e0: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 74 69       if (this.ti
e4f0: 6d 65 72 49 64 29 0d 0a 20 20 20 20 20 20 20 20  merId)..        
e500: 20 20 20 20 74 68 69 73 2e 73 74 6f 70 57 61 74      this.stopWat
e510: 63 68 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 74  ch();..        t
e520: 68 69 73 2e 74 69 6d 65 72 49 64 20 3d 20 63 72  his.timerId = cr
e530: 65 61 74 65 54 69 6d 65 72 28 35 30 30 2c 20 74  eateTimer(500, t
e540: 68 69 73 2c 20 27 6f 6e 54 69 6d 65 72 27 29 3b  his, 'onTimer');
e550: 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20  ..    },....    
e560: 73 74 6f 70 57 61 74 63 68 20 3a 20 66 75 6e 63  stopWatch : func
e570: 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 20 20  tion () {..     
e580: 20 20 20 69 66 20 28 21 74 68 69 73 2e 74 69 6d     if (!this.tim
e590: 65 72 49 64 29 0d 0a 20 20 20 20 20 20 20 20 20  erId)..         
e5a0: 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20     return;..    
e5b0: 20 20 20 20 6b 69 6c 6c 54 69 6d 65 72 28 74 68      killTimer(th
e5c0: 69 73 2e 74 69 6d 65 72 49 64 29 3b 0d 0a 20 20  is.timerId);..  
e5d0: 20 20 20 20 20 20 74 68 69 73 2e 74 69 6d 65 72        this.timer
e5e0: 49 64 20 3d 20 30 3b 0d 0a 20 20 20 20 7d 2c 0d  Id = 0;..    },.
e5f0: 0a 0d 0a 20 20 20 20 6f 6e 54 69 6d 65 72 20 3a  ...    onTimer :
e600: 20 66 75 6e 63 74 69 6f 6e 20 28 74 69 6d 65 72   function (timer
e610: 49 64 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 76  Id) {..        v
e620: 61 72 20 77 6e 64 20 3d 20 47 65 74 54 65 78 74  ar wnd = GetText
e630: 57 69 6e 64 6f 77 28 29 3b 20 20 20 20 0d 0a 20  Window();    .. 
e640: 20 20 20 20 20 20 20 69 66 20 28 77 6e 64 29 0d         if (wnd).
e650: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69  .            thi
e660: 73 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78 74  s.lastActiveText
e670: 57 69 6e 64 6f 77 20 3d 20 77 6e 64 3b 0d 0a 20  Window = wnd;.. 
e680: 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28         else if (
e690: 74 68 69 73 2e 6c 61 73 74 41 63 74 69 76 65 54  this.lastActiveT
e6a0: 65 78 74 57 69 6e 64 6f 77 20 26 26 20 21 74 68  extWindow && !th
e6b0: 69 73 2e 6c 61 73 74 41 63 74 69 76 65 54 65 78  is.lastActiveTex
e6c0: 74 57 69 6e 64 6f 77 2e 49 73 41 63 74 69 76 65  tWindow.IsActive
e6d0: 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ())..           
e6e0: 20 74 68 69 73 2e 6c 61 73 74 41 63 74 69 76 65   this.lastActive
e6f0: 54 65 78 74 57 69 6e 64 6f 77 20 3d 20 6e 75 6c  TextWindow = nul
e700: 6c 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d  l;..    }..    .
e710: 0a 7d 29 3b 20 2f 2f 20 65 6e 64 20 6f 66 20 54  .}); // end of T
e720: 65 78 74 57 69 6e 64 6f 77 73 57 61 74 63 68 65  extWindowsWatche
e730: 72 20 63 6c 61 73 73 0d 0a 0d 0a 2f 2f 7d 20 54  r class....//} T
e740: 65 78 74 57 69 6e 64 6f 77 73 57 61 74 63 68 65  extWindowsWatche
e750: 72 20 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  r ....//////////
e760: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e770: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e780: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e790: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
e7a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
e7b0: 2f 2f 2f 2f 7b 20 53 74 61 72 74 55 70 0d 0a 2f  ////{ StartUp../
e7c0: 2f 2f 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65  ///..function Ge
e7d0: 74 45 78 74 53 65 61 72 63 68 28 29 20 7b 0d 0a  tExtSearch() {..
e7e0: 20 20 20 20 69 66 20 28 21 45 78 74 53 65 61 72      if (!ExtSear
e7f0: 63 68 2e 5f 69 6e 73 74 61 6e 63 65 29 0d 0a 20  ch._instance).. 
e800: 20 20 20 20 20 20 20 6e 65 77 20 45 78 74 53 65         new ExtSe
e810: 61 72 63 68 28 29 3b 0d 0a 20 20 20 20 0d 0a 20  arch();..    .. 
e820: 20 20 20 72 65 74 75 72 6e 20 45 78 74 53 65 61     return ExtSea
e830: 72 63 68 2e 5f 69 6e 73 74 61 6e 63 65 3b 0d 0a  rch._instance;..
e840: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65  }....function Ge
e850: 74 45 78 74 53 65 61 72 63 68 47 6c 6f 62 61 6c  tExtSearchGlobal
e860: 28 29 20 7b 0d 0a 20 20 20 20 69 66 20 28 21 45  () {..    if (!E
e870: 78 74 53 65 61 72 63 68 47 6c 6f 62 61 6c 2e 5f  xtSearchGlobal._
e880: 69 6e 73 74 61 6e 63 65 29 0d 0a 20 20 20 20 20  instance)..     
e890: 20 20 20 6e 65 77 20 45 78 74 53 65 61 72 63 68     new ExtSearch
e8a0: 47 6c 6f 62 61 6c 28 29 3b 0d 0a 20 20 20 20 0d  Global();..    .
e8b0: 0a 20 20 20 20 72 65 74 75 72 6e 20 45 78 74 53  .    return ExtS
e8c0: 65 61 72 63 68 47 6c 6f 62 61 6c 2e 5f 69 6e 73  earchGlobal._ins
e8d0: 74 61 6e 63 65 3b 0d 0a 7d 0d 0a 0d 0a 0d 0a 65  tance;..}......e
e8e0: 76 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 44 65  vents.connect(De
e8f0: 73 69 67 6e 65 72 2c 20 22 62 65 66 6f 72 65 45  signer, "beforeE
e900: 78 69 74 41 70 70 22 2c 20 47 65 74 45 78 74 53  xitApp", GetExtS
e910: 65 61 72 63 68 28 29 29 3b 0d 0a 65 76 65 6e 74  earch());..event
e920: 73 2e 63 6f 6e 6e 65 63 74 28 44 65 73 69 67 6e  s.connect(Design
e930: 65 72 2c 20 22 62 65 66 6f 72 65 45 78 69 74 41  er, "beforeExitA
e940: 70 70 22 2c 20 47 65 74 45 78 74 53 65 61 72 63  pp", GetExtSearc
e950: 68 47 6c 6f 62 61 6c 28 29 29 3b 0d 0a 2f 2f 2f  hGlobal());..///
e960: 2f 7d 0d 0a                                      /}..