Hex Artifact Content Вы: nobody
Вход

Artifact 872323f9c1468f9516144bbdfd4bfda414e7f30f:


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 63 6f 64 65 67  pt..$uname codeg
0020: 65 6e 5f 63 72 65 61 74 65 5f 72 65 66 73 0d 0a  en_create_refs..
0030: 24 64 6e 61 6d 65 20 d0 93 d0 b5 d0 bd d0 b5 d1  $dname .........
0040: 80 d0 b0 d1 82 d0 be d1 80 20 d0 a1 d0 bf d1 80  ......... ......
0050: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 be  ................
0060: d0 b2 0d 0a 24 61 64 64 69 6e 20 63 6f 64 65 67  ....$addin codeg
0070: 65 6e 5f 6d 61 6e 61 67 65 72 0d 0a 24 61 64 64  en_manager..$add
0080: 69 6e 20 73 74 64 6c 69 62 0d 0a 24 61 64 64 69  in stdlib..$addi
0090: 6e 20 76 62 73 0d 0a 0d 0a 2f 2f 20 28 63 29 20  n vbs....// (c) 
00a0: d0 90 d0 bb d0 b5 d0 ba d1 81 d0 b0 d0 bd d0 b4  ................
00b0: d1 80 20 d0 9e d1 80 d0 b5 d1 84 d0 ba d0 be d0  .. .............
00c0: b2 20 6f 72 65 66 6b 6f 76 20 61 74 20 67 6d 61  . orefkov at gma
00d0: 69 6c 2e 63 6f 6d 0d 0a 2f 2f 20 20 20 20 20 20  il.com..//      
00e0: d0 a1 d0 be d1 81 d0 bd d0 b0 20 d0 95 d0 b2 d0  .......... .....
00f0: b3 d0 b5 d0 bd d0 b8 d0 b9 20 3c 73 68 65 6e 6a  ......... <shenj
0100: 61 40 73 6f 73 6e 61 2e 7a 70 2e 75 61 3e 0d 0a  a@sosna.zp.ua>..
0110: 2f 2f 20 d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 20  // ............ 
0120: 2d 20 d0 b3 d0 b5 d0 bd d0 b5 d1 80 d0 b0 d1 82  - ..............
0130: d0 be d1 80 20 d0 ba d0 be d0 b4 d0 b0 20 d1 81  .... ........ ..
0140: d0 be d0 b7 d0 b4 d0 b0 d0 bd d0 b8 d1 8f 20 d0  .............. .
0150: bd d0 be d0 b2 d0 be d0 b3 d0 be 20 d1 81 d0 bf  ........... ....
0160: d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba  ................
0170: d0 b0 0d 0a 2f 2f 0d 0a 0d 0a 76 61 72 20 61 74  ....//....var at
0180: 74 72 54 79 70 65 43 61 74 65 67 6f 72 79 20 20  trTypeCategory  
0190: 20 20 20 20 20 20 3d 20 22 7b 33 30 45 35 37 31        = "{30E571
01a0: 42 43 2d 41 38 39 37 2d 34 41 37 38 2d 42 32 45  BC-A897-4A78-B2E
01b0: 35 2d 31 45 41 36 44 34 38 42 35 37 34 32 7d 22  5-1EA6D48B5742}"
01c0: 20 0d 0a 76 61 72 20 d0 a1 d1 82 d0 b0 d0 bd d0   ..var .........
01d0: b4 d0 b0 d1 80 d1 82 d0 bd d1 8b d0 b5 d0 a0 d0  ................
01e0: b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 20  ............... 
01f0: 20 20 20 3d 20 5b 22 d0 9a d0 be d0 b4 22 2c 20     = ["......", 
0200: 22 d0 9d d0 b0 d0 b8 d0 bc d0 b5 d0 bd d0 be d0  "...............
0210: b2 d0 b0 d0 bd d0 b8 d0 b5 22 2c 20 22 d0 a0 d0  .........", "...
0220: be d0 b4 d0 b8 d1 82 d0 b5 d0 bb d1 8c 22 2c 20  .............", 
0230: 22 d0 92 d0 bb d0 b0 d0 b4 d0 b5 d0 bb d0 b5 d1  "...............
0240: 86 22 2c 20 22 d0 9f d0 be d0 bc d0 b5 d1 82 d0  .", "...........
0250: ba d0 b0 d0 a3 d0 b4 d0 b0 d0 bb d0 b5 d0 bd d0  ................
0260: b8 d1 8f 22 2c 20 22 d0 a1 d1 81 d1 8b d0 bb d0  ...", ".........
0270: ba d0 b0 22 5d 0d 0a 63 6f 64 65 67 65 6e 5f 6d  ..."]..codegen_m
0280: 61 6e 61 67 65 72 2e 72 65 67 69 73 74 65 72 43  anager.registerC
0290: 6f 64 65 47 65 6e 28 22 d0 a1 d0 bf d1 80 d0 b0  odeGen("........
02a0: d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b8 2f d0  ............../.
02b0: 9d d0 be d0 b2 d1 8b d0 b9 2f d0 ad d0 bb d0 b5  ........./......
02c0: d0 bc d0 b5 d0 bd d1 82 20 d1 81 20 d0 b7 d0 b0  ........ .. ....
02d0: d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd d0 b8 d0 b5  ................
02e0: d0 bc 20 d0 b2 d1 81 d0 b5 d1 85 20 d1 80 d0 b5  .. ........ ....
02f0: d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d0 be d0 b2  ................
0300: 22 2c 20 67 65 6e 61 72 61 74 65 4e 65 77 52 65  ", genarateNewRe
0310: 66 73 45 6c 65 6d 65 6e 74 29 3b 0d 0a 63 6f 64  fsElement);..cod
0320: 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 72 65 67  egen_manager.reg
0330: 69 73 74 65 72 43 6f 64 65 47 65 6e 28 22 d0 a1  isterCodeGen("..
0340: d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8  ................
0350: d0 ba d0 b8 2f d0 9d d0 be d0 b2 d1 8b d0 b9 2f  ..../........../
0360: d0 93 d1 80 d1 83 d0 bf d0 bf d0 b0 20 d1 81 20  ............ .. 
0370: d0 b7 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd  ................
0380: d0 b8 d0 b5 d0 bc 20 d0 b2 d1 81 d0 b5 d1 85 20  ...... ........ 
0390: d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82  ................
03a0: d0 be d0 b2 22 2c 20 67 65 6e 61 72 61 74 65 4e  ....", genarateN
03b0: 65 77 52 65 66 73 47 72 6f 75 70 29 3b 0d 0a 0d  ewRefsGroup);...
03c0: 0a 66 75 6e 63 74 69 6f 6e 20 67 65 6e 61 72 61  .function genara
03d0: 74 65 4e 65 77 52 65 66 73 45 6c 65 6d 65 6e 74  teNewRefsElement
03e0: 28 70 61 72 61 6d 29 0d 0a 7b 0d 0a 20 20 20 20  (param)..{..    
03f0: 2f 2f 20 d0 94 d0 bb d1 8f 20 d0 bd d0 b0 d1 87  // ...... ......
0400: d0 b0 d0 bb d0 b0 20 d0 b2 d1 8b d0 b1 d0 b5 d1  ...... .........
0410: 80 d0 b5 d0 bc 20 d0 b2 d0 b8 d0 b4 20 d1 81 d0  ..... ...... ...
0420: bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0  ................
0430: ba d0 b0 0d 0a 20 20 20 20 76 61 72 20 64 6f 63  .....    var doc
0440: 4b 69 6e 64 20 3d 20 73 6e 65 67 6f 70 61 74 2e  Kind = snegopat.
0450: 70 61 72 73 65 54 65 6d 70 6c 61 74 65 53 74 72  parseTemplateStr
0460: 69 6e 67 28 27 3c 3f 22 d0 92 d1 8b d0 b1 d0 b5  ing('<?"........
0470: d1 80 d0 b8 d1 82 d0 b5 20 d0 b2 d0 b8 d0 b4 20  ........ ...... 
0480: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd  ................
0490: d0 b8 d0 ba d0 b0 22 2c 20 d0 a1 d0 bf d1 80 d0  ......", .......
04a0: b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba 3e 27 29  .............>')
04b0: 0d 0a 20 20 20 20 69 66 28 21 64 6f 63 4b 69 6e  ..    if(!docKin
04c0: 64 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20  d.length)..     
04d0: 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0d     return false.
04e0: 0a 20 20 20 20 76 62 73 2e 72 65 73 75 6c 74 20  .    vbs.result 
04f0: 3d 20 22 d1 81 d0 bf d1 80 22 20 2b 20 64 6f 63  = "......" + doc
0500: 4b 69 6e 64 0d 0a 20 20 20 20 76 61 72 20 76 61  Kind..    var va
0510: 72 4e 61 6d 65 20 3d 20 76 62 73 2e 44 6f 45 78  rName = vbs.DoEx
0520: 65 63 75 74 65 28 27 49 6e 70 75 74 53 74 72 69  ecute('InputStri
0530: 6e 67 20 72 65 73 75 6c 74 2c 20 22 d0 a3 d0 ba  ng result, "....
0540: d0 b0 d0 b6 d0 b8 d1 82 d0 b5 20 d0 bd d0 b0 d0  .......... .....
0550: b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bf d0 b5  ........... ....
0560: d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0 be d0 b9  ................
0570: 22 27 29 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f  "')..    ..    /
0580: 2f 20 d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 d0 bc  / ..............
0590: 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 20 d0 b2   ............ ..
05a0: d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d1 8b d1 85  ................
05b0: 20 d1 82 d0 b8 d0 bf d0 be d0 b2 0d 0a 20 20 20   ............   
05c0: 20 76 61 72 20 74 66 20 3d 20 6e 65 77 20 63 6f   var tf = new co
05d0: 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 54 79  degen_manager.Ty
05e0: 70 65 46 69 6e 64 65 72 28 29 0d 0a 20 20 20 20  peFinder()..    
05f0: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 6d 64      ..    var md
0600: 4f 62 6a 20 3d 20 70 61 72 61 6d 2e 6d 64 43 6f  Obj = param.mdCo
0610: 6e 74 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 63 68  nt.rootObject.ch
0620: 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a1 d0 bf d1  ildObject(".....
0630: 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0  ................
0640: b8 22 2c 20 64 6f 63 4b 69 6e 64 29 0d 0a 20 20  .", docKind)..  
0650: 20 20 0d 0a 20 20 20 20 76 61 72 20 64 65 66 4c    ..    var defL
0660: 61 6e 67 49 44 20 3d 20 73 74 64 6c 69 62 2e 67  angID = stdlib.g
0670: 65 74 55 75 69 64 46 6f 6d 4d 44 52 65 66 28 70  etUuidFomMDRef(p
0680: 61 72 61 6d 2e 6d 64 43 6f 6e 74 2e 72 6f 6f 74  aram.mdCont.root
0690: 4f 62 6a 65 63 74 2e 70 72 6f 70 65 72 74 79 28  Object.property(
06a0: 22 d0 9e d1 81 d0 bd d0 be d0 b2 d0 bd d0 be d0  "...............
06b0: b9 d0 af d0 b7 d1 8b d0 ba 22 29 29 0d 0a 20 20  ........."))..  
06c0: 20 20 2f 2f 76 61 72 20 64 65 66 4c 61 6e 67 4d    //var defLangM
06d0: 44 20 3d 20 6d 65 74 61 64 61 74 61 2e 63 75 72  D = metadata.cur
06e0: 72 65 6e 74 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e  rent.rootObject.
06f0: 63 68 69 6c 64 4f 62 6a 65 63 74 28 22 d0 af d0  childObject("...
0700: b7 d1 8b d0 ba d0 b8 22 2c 20 64 65 66 4c 61 6e  .......", defLan
0710: 67 49 44 29 0d 0a 20 20 20 20 76 61 72 20 64 65  gID)..    var de
0720: 66 4c 61 6e 67 4d 44 20 3d 20 70 61 72 61 6d 2e  fLangMD = param.
0730: 6d 64 43 6f 6e 74 2e 66 69 6e 64 42 79 55 55 49  mdCont.findByUUI
0740: 44 28 64 65 66 4c 61 6e 67 49 44 29 0d 0a 20 20  D(defLangID)..  
0750: 20 20 76 61 72 20 73 79 6e 20 3d 20 6d 64 4f 62    var syn = mdOb
0760: 6a 2e 73 79 6e 6f 6e 79 6d 28 64 65 66 4c 61 6e  j.synonym(defLan
0770: 67 4d 44 2e 70 72 6f 70 65 72 74 79 28 22 d0 9a  gMD.property("..
0780: d0 be d0 b4 d0 af d0 b7 d1 8b d0 ba d0 b0 22 29  ..............")
0790: 29 0d 0a 20 20 20 20 69 66 28 21 73 79 6e 2e 6c  )..    if(!syn.l
07a0: 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20  ength)..        
07b0: 73 79 6e 20 3d 20 64 6f 63 4b 69 6e 64 0d 0a 20  syn = docKind.. 
07c0: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 74 65 78     ..    var tex
07d0: 74 20 3d 20 27 2f 2f 7b 20 d0 a1 d0 be d0 b7 d0  t = '//{ .......
07e0: b4 d0 b0 d0 bd d0 b8 d0 b5 20 d1 81 d0 bf d1 80  ......... ......
07f0: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b0  ................
0800: 20 22 27 20 2b 20 73 79 6e 20 2b 20 27 22 20 d0   "' + syn + '" .
0810: b2 20 27 20 2b 20 76 61 72 4e 61 6d 65 20 2b 27  . ' + varName +'
0820: 5c 6e 27 20 2b 20 76 61 72 4e 61 6d 65 20 2b 20  \n' + varName + 
0830: 27 20 3d 20 d0 a1 d0 bf d1 80 d0 b0 d0 b2 d0 be  ' = ............
0840: d1 87 d0 bd d0 b8 d0 ba d0 b8 2e 27 20 2b 20 64  ...........' + d
0850: 6f 63 4b 69 6e 64 20 2b 20 27 2e d0 a1 d0 be d0  ocKind + '......
0860: b7 d0 b4 d0 b0 d1 82 d1 8c d0 ad d0 bb d0 b5 d0  ................
0870: bc d0 b5 d0 bd d1 82 28 29 3b 5c 6e 27 0d 0a 20  .......();\n'.. 
0880: 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1     // ..........
0890: d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1 81 d1 82 d0  .......... .....
08a0: b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1 8b d0  ................
08b0: b5 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8  . ..............
08c0: d1 82 d1 8b 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0  .... ...........
08d0: be d1 87 d0 bd d0 b8 d0 ba d0 b0 2e 20 0d 0a 20  ............ .. 
08e0: 20 20 20 74 65 78 74 20 2b 3d 20 70 72 6f 63 65     text += proce
08f0: 73 73 53 74 61 6e 64 61 72 74 41 74 74 72 69 62  ssStandartAttrib
0900: 73 28 22 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd  s(" ............
0910: d0 b5 d0 bd d0 b8 d0 b5 20 d1 81 d1 82 d0 b0 d0  ........ .......
0920: bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1 8b d1 85 20  ............... 
0930: d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82  ................
0940: d0 be d0 b2 22 2c 20 22 22 2c 20 22 22 2c 20 d0  ....", "", "", .
0950: a1 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0  ................
0960: bd d1 8b d0 b5 d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0  ................
0970: b7 d0 b8 d1 82 d1 8b 2c 76 61 72 4e 61 6d 65 2c  .......,varName,
0980: 20 6d 64 4f 62 6a 2c 20 74 66 29 3b 0d 0a 20 0d   mdObj, tf);.. .
0990: 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0  .    // ........
09a0: d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1 80 d0  ............ ...
09b0: b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 20  ............... 
09c0: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd  ................
09d0: d0 b8 d0 ba d0 b0 0d 0a 20 20 20 20 74 65 78 74  ........    text
09e0: 20 2b 3d 20 70 72 6f 63 65 73 73 41 74 74 72 69   += processAttri
09f0: 62 73 28 22 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0  bs(" ...........
0a00: bd d0 b5 d0 bd d0 b8 d0 b5 20 d1 80 d0 b5 d0 ba  ......... ......
0a10: d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d0 be d0 b2 22 2c  ..............",
0a20: 20 22 22 2c 20 22 22 2c 20 76 61 72 4e 61 6d 65   "", "", varName
0a30: 2c 20 6d 64 4f 62 6a 2c 20 74 66 29 0d 0a 20 20  , mdObj, tf)..  
0a40: 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0    // ...........
0a50: be d1 82 d0 b0 d0 b5 d0 bc 20 d1 82 d0 b0 d0 b1  ......... ......
0a60: d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 20 d1 87 d0  ............ ...
0a70: b0 d1 81 d1 82 d0 b8 0d 0a 20 20 20 20 76 61 72  .........    var
0a80: 20 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 3d   tabPartsCount =
0a90: 20 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65   mdObj.childObje
0aa0: 63 74 73 43 6f 75 6e 74 28 22 d0 a2 d0 b0 d0 b1  ctsCount("......
0ab0: d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7 d0 b0  ................
0ac0: d1 81 d1 82 d0 b8 22 29 0d 0a 20 20 20 20 69 66  ......")..    if
0ad0: 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 29 0d  (tabPartsCount).
0ae0: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20  .    {..        
0af0: 76 61 72 20 6c 69 6e 65 56 61 72 4e 61 6d 65 20  var lineVarName 
0b00: 3d 20 76 61 72 4e 61 6d 65 20 2b 20 22 d0 a1 d1  = varName + "...
0b10: 82 d1 80 d0 be d0 ba d0 b0 22 2c 0d 0a 20 20 20  .........",..   
0b20: 20 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 20           indent 
0b30: 3d 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 67 65  = profileRoot.ge
0b40: 74 56 61 6c 75 65 28 22 4d 6f 64 75 6c 65 54 65  tValue("ModuleTe
0b50: 78 74 45 64 69 74 6f 72 2f 52 65 70 6c 61 63 65  xtEditor/Replace
0b60: 54 61 62 4f 6e 49 6e 70 75 74 22 29 20 3f 20 63  TabOnInput") ? c
0b70: 6f 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 66  odegen_manager.f
0b80: 69 6c 6c 4c 69 6e 65 28 22 20 22 2c 20 70 72 6f  illLine(" ", pro
0b90: 66 69 6c 65 52 6f 6f 74 2e 67 65 74 56 61 6c 75  fileRoot.getValu
0ba0: 65 28 22 4d 6f 64 75 6c 65 54 65 78 74 45 64 69  e("ModuleTextEdi
0bb0: 74 6f 72 2f 54 61 62 53 69 7a 65 22 29 29 20 3a  tor/TabSize")) :
0bc0: 20 22 5c 74 22 0d 0a 20 20 20 20 20 20 20 20 69   "\t"..        i
0bd0: 66 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20  f(tabPartsCount 
0be0: 3e 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20  > 1)..          
0bf0: 20 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7b 20 20    text += "//{  
0c00: d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd  ................
0c10: d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1  .... ...........
0c20: 87 d0 bd d1 8b d1 85 20 d1 87 d0 b0 d1 81 d1 82  ....... ........
0c30: d0 b5 d0 b9 5c 6e 22 0d 0a 20 20 20 20 20 20 20  ....\n"..       
0c40: 20 66 6f 72 28 76 61 72 20 69 20 3d 20 30 3b 20   for(var i = 0; 
0c50: 69 20 3c 20 74 61 62 50 61 72 74 73 43 6f 75 6e  i < tabPartsCoun
0c60: 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 20 20 20  t; i++)..       
0c70: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
0c80: 76 61 72 20 74 70 20 3d 20 6d 64 4f 62 6a 2e 63  var tp = mdObj.c
0c90: 68 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a2 d0 b0  hildObject("....
0ca0: d0 b1 d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7  ................
0cb0: d0 b0 d1 81 d1 82 d0 b8 22 2c 20 69 29 0d 0a 20  ........", i).. 
0cc0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70             var p
0cd0: 72 6f 70 56 61 6c 20 3d 20 74 6f 56 38 56 61 6c  ropVal = toV8Val
0ce0: 75 65 28 74 70 2e 70 72 6f 70 65 72 74 79 28 22  ue(tp.property("
0cf0: d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be  ................
0d00: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29 3b 0d 0a  .........."));..
0d10: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
0d20: 70 72 6f 70 56 61 6c 2e 70 72 65 73 65 6e 74 61  propVal.presenta
0d30: 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94 d0 bb d1  tion() == ".....
0d40: 8f d0 93 d1 80 d1 83 d0 bf d0 bf d1 8b 22 29 7b  ............."){
0d50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
0d60: 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20    continue;..   
0d70: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
0d80: 20 20 20 20 20 20 20 20 74 65 78 74 20 2b 3d 20          text += 
0d90: 70 72 6f 63 65 73 73 41 74 74 72 69 62 73 28 22  processAttribs("
0da0: 20 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5    ..............
0db0: d0 bd d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0  ...... .........
0dc0: b8 d1 87 d0 bd d0 be d0 b9 20 d1 87 d0 b0 d1 81  ......... ......
0dd0: d1 82 d0 b8 20 22 20 2b 20 74 70 2e 6e 61 6d 65  .... " + tp.name
0de0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
0df0: 20 20 20 22 d0 94 d0 bb d1 8f 20 d0 9a d0 b0 d0     "...... .....
0e00: b6 d0 b4 d0 be d0 b3 d0 be 20 d0 98 d0 b7 20 d0  ......... .... .
0e10: a6 d0 b8 d0 ba d0 bb 5c 6e 22 20 2b 20 69 6e 64  .......\n" + ind
0e20: 65 6e 74 20 2b 20 6c 69 6e 65 56 61 72 4e 61 6d  ent + lineVarNam
0e30: 65 20 2b 20 22 20 3d 20 22 20 2b 20 76 61 72 4e  e + " = " + varN
0e40: 61 6d 65 20 2b 20 22 2e 22 20 2b 20 74 70 2e 6e  ame + "." + tp.n
0e50: 61 6d 65 20 2b 20 22 2e d0 94 d0 be d0 b1 d0 b0  ame + ".........
0e60: d0 b2 d0 b8 d1 82 d1 8c 28 29 3b 5c 6e 22 20 2c  ........();\n" ,
0e70: 20 22 d0 9a d0 be d0 bd d0 b5 d1 86 d0 a6 d0 b8   "..............
0e80: d0 ba d0 bb d0 b0 3b 5c 6e 22 2c 0d 0a 20 20 20  ......;\n",..   
0e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 64               ind
0ea0: 65 6e 74 20 2b 20 6c 69 6e 65 56 61 72 4e 61 6d  ent + lineVarNam
0eb0: 65 2c 20 74 70 2c 20 74 66 29 0d 0a 20 20 20 20  e, tp, tf)..    
0ec0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 69      }..        i
0ed0: 66 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20  f(tabPartsCount 
0ee0: 3e 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20  > 1)..          
0ef0: 20 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7d 20 20    text += "//}  
0f00: d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd  ................
0f10: d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1  .... ...........
0f20: 87 d0 bd d1 8b d1 85 20 d1 87 d0 b0 d1 81 d1 82  ....... ........
0f30: d0 b5 d0 b9 5c 6e 22 0d 0a 20 20 20 20 7d 0d 0a  ....\n"..    }..
0f40: 20 20 20 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7d      text += "//}
0f50: 20 d0 a1 d0 be d0 b7 d0 b4 d0 b0 d0 bd d0 b8 d0   ...............
0f60: b5 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87  . ..............
0f70: d0 bd d0 b8 d0 ba d0 b0 20 22 20 2b 20 64 6f 63  ........ " + doc
0f80: 4b 69 6e 64 20 2b 20 22 20 d0 b2 20 22 20 2b 20  Kind + " .. " + 
0f90: 76 61 72 4e 61 6d 65 0d 0a 20 20 20 20 70 61 72  varName..    par
0fa0: 61 6d 2e 74 65 78 74 20 3d 20 74 65 78 74 0d 0a  am.text = text..
0fb0: 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 0d      return true.
0fc0: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 67  .}....function g
0fd0: 65 6e 61 72 61 74 65 4e 65 77 52 65 66 73 47 72  enarateNewRefsGr
0fe0: 6f 75 70 28 70 61 72 61 6d 29 0d 0a 7b 0d 0a 20  oup(param)..{.. 
0ff0: 20 20 20 2f 2f 20 d0 94 d0 bb d1 8f 20 d0 bd d0     // ...... ...
1000: b0 d1 87 d0 b0 d0 bb d0 b0 20 d0 b2 d1 8b d0 b1  ......... ......
1010: d0 b5 d1 80 d0 b5 d0 bc 20 d0 b2 d0 b8 d0 b4 20  ........ ...... 
1020: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd  ................
1030: d0 b8 d0 ba d0 b0 0d 0a 20 20 20 20 76 61 72 20  ........    var 
1040: 64 6f 63 4b 69 6e 64 20 3d 20 73 6e 65 67 6f 70  docKind = snegop
1050: 61 74 2e 70 61 72 73 65 54 65 6d 70 6c 61 74 65  at.parseTemplate
1060: 53 74 72 69 6e 67 28 27 3c 3f 22 d0 92 d1 8b d0  String('<?".....
1070: b1 d0 b5 d1 80 d0 b8 d1 82 d0 b5 20 d0 b2 d0 b8  ........... ....
1080: d0 b4 20 d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1  .. .............
1090: 87 d0 bd d0 b8 d0 ba d0 b0 22 2c 20 d0 a1 d0 bf  .........", ....
10a0: d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba  ................
10b0: 3e 27 29 0d 0a 20 20 20 20 69 66 28 21 64 6f 63  >')..    if(!doc
10c0: 4b 69 6e 64 2e 6c 65 6e 67 74 68 29 0d 0a 20 20  Kind.length)..  
10d0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c        return fal
10e0: 73 65 0d 0a 20 20 20 20 76 62 73 2e 72 65 73 75  se..    vbs.resu
10f0: 6c 74 20 3d 20 22 d1 81 d0 bf d1 80 22 20 2b 20  lt = "......" + 
1100: 64 6f 63 4b 69 6e 64 0d 0a 20 20 20 20 76 61 72  docKind..    var
1110: 20 76 61 72 4e 61 6d 65 20 3d 20 76 62 73 2e 44   varName = vbs.D
1120: 6f 45 78 65 63 75 74 65 28 27 49 6e 70 75 74 53  oExecute('InputS
1130: 74 72 69 6e 67 20 72 65 73 75 6c 74 2c 20 22 d0  tring result, ".
1140: a3 d0 ba d0 b0 d0 b6 d0 b8 d1 82 d0 b5 20 d0 bd  ............. ..
1150: d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 d0  .............. .
1160: bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d0  ................
1170: be d0 b9 22 27 29 0d 0a 20 20 20 20 0d 0a 20 20  ..."')..    ..  
1180: 20 20 2f 2f 20 d0 9f d0 be d0 bb d1 83 d1 87 d0    // ...........
1190: b8 d0 bc 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba  ... ............
11a0: 20 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d1   ...............
11b0: 8b d1 85 20 d1 82 d0 b8 d0 bf d0 be d0 b2 0d 0a  ... ............
11c0: 20 20 20 20 76 61 72 20 74 66 20 3d 20 6e 65 77      var tf = new
11d0: 20 63 6f 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72   codegen_manager
11e0: 2e 54 79 70 65 46 69 6e 64 65 72 28 29 0d 0a 20  .TypeFinder().. 
11f0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 76 61 72         ..    var
1200: 20 6d 64 4f 62 6a 20 3d 20 70 61 72 61 6d 2e 6d   mdObj = param.m
1210: 64 43 6f 6e 74 2e 72 6f 6f 74 4f 62 6a 65 63 74  dCont.rootObject
1220: 2e 63 68 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a1  .childObject("..
1230: d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8  ................
1240: d0 ba d0 b8 22 2c 20 64 6f 63 4b 69 6e 64 29 0d  ....", docKind).
1250: 0a 20 20 20 20 2f 2f d0 9f d1 80 d0 be d0 b2 d0  .    //.........
1260: b5 d1 80 d0 b8 d0 bc 20 d0 bf d0 be d0 b4 d0 b4  ....... ........
1270: d0 b5 d1 80 d0 b6 d0 b8 d0 b2 d0 b0 d0 b5 d1 82  ................
1280: 20 d0 bb d0 b8 20 d1 81 d0 bf d1 80 d0 b0 d0 b2   .... ..........
1290: d0 be d1 87 d0 bd d0 b8 d0 ba 20 d0 b8 d0 b5 d1  .......... .....
12a0: 80 d0 b0 d1 80 d1 85 d0 b8 d1 8e 2e 20 0d 0a 20  ............ .. 
12b0: 20 20 20 76 61 72 20 69 73 48 69 65 72 61 72 63     var isHierarc
12c0: 68 69 63 61 6c 20 3d 20 74 6f 56 38 56 61 6c 75  hical = toV8Valu
12d0: 65 28 6d 64 4f 62 6a 2e 70 72 6f 70 65 72 74 79  e(mdObj.property
12e0: 28 22 d0 98 d0 b5 d1 80 d0 b0 d1 80 d1 85 d0 b8  ("..............
12f0: d1 87 d0 b5 d1 81 d0 ba d0 b8 d0 b9 22 29 29 3b  ............"));
1300: 0d 0a 20 20 20 20 69 66 20 28 69 73 48 69 65 72  ..    if (isHier
1310: 61 72 63 68 69 63 61 6c 2e 70 72 65 73 65 6e 74  archical.present
1320: 61 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 9b d0 be  ation() == "....
1330: d0 b6 d1 8c 22 29 7b 0d 0a 20 20 20 20 20 20 20  ...."){..       
1340: 20 4d 65 73 73 61 67 65 28 22 d0 a1 d0 bf d1 80   Message("......
1350: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba 20 22  .............. "
1360: 2b 64 6f 63 4b 69 6e 64 2b 22 20 d0 bd d0 b5 20  +docKind+" .... 
1370: d0 b8 d0 b5 d1 80 d0 b0 d1 80 d1 85 d0 b8 d1 87  ................
1380: d0 b5 d1 81 d0 ba d0 b8 d0 b9 20 22 29 3b 0d 0a  .......... ");..
1390: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d          return;.
13a0: 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 76 61  .    }....    va
13b0: 72 20 64 65 66 4c 61 6e 67 49 44 20 3d 20 73 74  r defLangID = st
13c0: 64 6c 69 62 2e 67 65 74 55 75 69 64 46 6f 6d 4d  dlib.getUuidFomM
13d0: 44 52 65 66 28 70 61 72 61 6d 2e 6d 64 43 6f 6e  DRef(param.mdCon
13e0: 74 2e 72 6f 6f 74 4f 62 6a 65 63 74 2e 70 72 6f  t.rootObject.pro
13f0: 70 65 72 74 79 28 22 d0 9e d1 81 d0 bd d0 be d0  perty(".........
1400: b2 d0 bd d0 be d0 b9 d0 af d0 b7 d1 8b d0 ba 22  ..............."
1410: 29 29 0d 0a 20 20 20 20 2f 2f 76 61 72 20 64 65  ))..    //var de
1420: 66 4c 61 6e 67 4d 44 20 3d 20 6d 65 74 61 64 61  fLangMD = metada
1430: 74 61 2e 63 75 72 72 65 6e 74 2e 72 6f 6f 74 4f  ta.current.rootO
1440: 62 6a 65 63 74 2e 63 68 69 6c 64 4f 62 6a 65 63  bject.childObjec
1450: 74 28 22 d0 af d0 b7 d1 8b d0 ba d0 b8 22 2c 20  t("..........", 
1460: 64 65 66 4c 61 6e 67 49 44 29 0d 0a 20 20 20 20  defLangID)..    
1470: 76 61 72 20 64 65 66 4c 61 6e 67 4d 44 20 3d 20  var defLangMD = 
1480: 70 61 72 61 6d 2e 6d 64 43 6f 6e 74 2e 66 69 6e  param.mdCont.fin
1490: 64 42 79 55 55 49 44 28 64 65 66 4c 61 6e 67 49  dByUUID(defLangI
14a0: 44 29 0d 0a 20 20 20 20 76 61 72 20 73 79 6e 20  D)..    var syn 
14b0: 3d 20 6d 64 4f 62 6a 2e 73 79 6e 6f 6e 79 6d 28  = mdObj.synonym(
14c0: 64 65 66 4c 61 6e 67 4d 44 2e 70 72 6f 70 65 72  defLangMD.proper
14d0: 74 79 28 22 d0 9a d0 be d0 b4 d0 af d0 b7 d1 8b  ty("............
14e0: d0 ba d0 b0 22 29 29 0d 0a 20 20 20 20 69 66 28  ...."))..    if(
14f0: 21 73 79 6e 2e 6c 65 6e 67 74 68 29 0d 0a 20 20  !syn.length)..  
1500: 20 20 20 20 20 20 73 79 6e 20 3d 20 64 6f 63 4b        syn = docK
1510: 69 6e 64 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76  ind..    ..    v
1520: 61 72 20 74 65 78 74 20 3d 20 27 2f 2f 7b 20 d0  ar text = '//{ .
1530: a1 d0 be d0 b7 d0 b4 d0 b0 d0 bd d0 b8 d0 b5 20  ............... 
1540: d1 81 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd  ................
1550: d0 b8 d0 ba d0 b0 20 22 27 20 2b 20 73 79 6e 20  ...... "' + syn 
1560: 2b 20 27 22 20 d0 b2 20 27 20 2b 20 76 61 72 4e  + '" .. ' + varN
1570: 61 6d 65 20 2b 27 5c 6e 27 20 2b 20 76 61 72 4e  ame +'\n' + varN
1580: 61 6d 65 20 2b 20 27 20 3d 20 d0 a1 d0 bf d1 80  ame + ' = ......
1590: d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b8  ................
15a0: 2e 27 20 2b 20 64 6f 63 4b 69 6e 64 20 2b 20 27  .' + docKind + '
15b0: 2e d0 a1 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1 8c d0  ................
15c0: 93 d1 80 d1 83 d0 bf d0 bf d1 83 28 29 3b 5c 6e  ...........();\n
15d0: 27 0d 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80  '..    // ......
15e0: d0 b0 d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1  .............. .
15f0: 81 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0  ................
1600: bd d1 8b d0 b5 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8  ..... ..........
1610: d0 b7 d0 b8 d1 82 d1 8b 20 d1 81 d0 bf d1 80 d0  ........ .......
1620: b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ba d0 b0 2e  ................
1630: 20 0d 0a 20 20 20 20 74 65 78 74 20 2b 3d 20 70   ..    text += p
1640: 72 6f 63 65 73 73 53 74 61 6e 64 61 72 74 41 74  rocessStandartAt
1650: 74 72 69 62 73 28 22 20 d0 97 d0 b0 d0 bf d0 be  tribs(" ........
1660: d0 bb d0 bd d0 b5 d0 bd d0 b8 d0 b5 20 d1 81 d1  ............ ...
1670: 82 d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1  ................
1680: 8b d1 85 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7  ... ............
1690: d0 b8 d1 82 d0 be d0 b2 22 2c 20 22 22 2c 20 22  ........", "", "
16a0: 22 2c 20 d0 a1 d1 82 d0 b0 d0 bd d0 b4 d0 b0 d1  ", .............
16b0: 80 d1 82 d0 bd d1 8b d0 b5 d0 a0 d0 b5 d0 ba d0  ................
16c0: b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b 2c 76 61 72 4e  ...........,varN
16d0: 61 6d 65 2c 20 6d 64 4f 62 6a 2c 20 74 66 29 3b  ame, mdObj, tf);
16e0: 0d 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0  ..    // .......
16f0: b0 d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 d1 80  ............. ..
1700: d0 b5 d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 8b  ................
1710: 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 b0 0d   ...............
1720: 0a 20 20 20 20 74 65 78 74 20 2b 3d 20 70 72 6f  .    text += pro
1730: 63 65 73 73 41 74 74 72 69 62 73 47 72 6f 75 70  cessAttribsGroup
1740: 73 28 22 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd  s(" ............
1750: d0 b5 d0 bd d0 b8 d0 b5 20 d1 80 d0 b5 d0 ba d0  ........ .......
1760: b2 d0 b8 d0 b7 d0 b8 d1 82 d0 be d0 b2 22 2c 20  .............", 
1770: 22 22 2c 20 22 22 2c 20 76 61 72 4e 61 6d 65 2c  "", "", varName,
1780: 20 6d 64 4f 62 6a 2c 20 74 66 29 0d 0a 20 20 20   mdObj, tf)..   
1790: 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be   // ............
17a0: d1 82 d0 b0 d0 b5 d0 bc 20 d1 82 d0 b0 d0 b1 d0  ........ .......
17b0: bb d0 b8 d1 87 d0 bd d1 8b d0 b5 20 d1 87 d0 b0  ........... ....
17c0: d1 81 d1 82 d0 b8 0d 0a 20 20 20 20 76 61 72 20  ........    var 
17d0: 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 3d 20  tabPartsCount = 
17e0: 6d 64 4f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65 63  mdObj.childObjec
17f0: 74 73 43 6f 75 6e 74 28 22 d0 a2 d0 b0 d0 b1 d0  tsCount(".......
1800: bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7 d0 b0 d1  ................
1810: 81 d1 82 d0 b8 22 29 0d 0a 20 20 20 20 69 66 28  .....")..    if(
1820: 74 61 62 50 61 72 74 73 43 6f 75 6e 74 29 0d 0a  tabPartsCount)..
1830: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76      {..        v
1840: 61 72 20 6c 69 6e 65 56 61 72 4e 61 6d 65 20 3d  ar lineVarName =
1850: 20 76 61 72 4e 61 6d 65 20 2b 20 22 d0 a1 d1 82   varName + "....
1860: d1 80 d0 be d0 ba d0 b0 22 2c 0d 0a 20 20 20 20  ........",..    
1870: 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 20 3d          indent =
1880: 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 67 65 74   profileRoot.get
1890: 56 61 6c 75 65 28 22 4d 6f 64 75 6c 65 54 65 78  Value("ModuleTex
18a0: 74 45 64 69 74 6f 72 2f 52 65 70 6c 61 63 65 54  tEditor/ReplaceT
18b0: 61 62 4f 6e 49 6e 70 75 74 22 29 20 3f 20 63 6f  abOnInput") ? co
18c0: 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e 66 69  degen_manager.fi
18d0: 6c 6c 4c 69 6e 65 28 22 20 22 2c 20 70 72 6f 66  llLine(" ", prof
18e0: 69 6c 65 52 6f 6f 74 2e 67 65 74 56 61 6c 75 65  ileRoot.getValue
18f0: 28 22 4d 6f 64 75 6c 65 54 65 78 74 45 64 69 74  ("ModuleTextEdit
1900: 6f 72 2f 54 61 62 53 69 7a 65 22 29 29 20 3a 20  or/TabSize")) : 
1910: 22 5c 74 22 0d 0a 20 20 20 20 20 20 20 20 69 66  "\t"..        if
1920: 28 74 61 62 50 61 72 74 73 43 6f 75 6e 74 20 3e  (tabPartsCount >
1930: 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20   1)..           
1940: 20 74 65 78 74 20 2b 3d 20 22 2f 2f 7b 20 20 d0   text += "//{  .
1950: 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd d0  ................
1960: b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1 87  ... ............
1970: d0 bd d1 8b d1 85 20 d1 87 d0 b0 d1 81 d1 82 d0  ...... .........
1980: b5 d0 b9 5c 6e 22 0d 0a 20 20 20 20 20 20 20 20  ...\n"..        
1990: 66 6f 72 28 76 61 72 20 69 20 3d 20 30 3b 20 69  for(var i = 0; i
19a0: 20 3c 20 74 61 62 50 61 72 74 73 43 6f 75 6e 74   < tabPartsCount
19b0: 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20  ; i++)..        
19c0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76  {..            v
19d0: 61 72 20 74 70 20 3d 20 6d 64 4f 62 6a 2e 63 68  ar tp = mdObj.ch
19e0: 69 6c 64 4f 62 6a 65 63 74 28 22 d0 a2 d0 b0 d0  ildObject(".....
19f0: b1 d0 bb d0 b8 d1 87 d0 bd d1 8b d0 b5 d0 a7 d0  ................
1a00: b0 d1 81 d1 82 d0 b8 22 2c 20 69 29 3b 0d 0a 20  .......", i);.. 
1a10: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70             var p
1a20: 72 6f 70 56 61 6c 20 3d 20 74 6f 56 38 56 61 6c  ropVal = toV8Val
1a30: 75 65 28 74 70 2e 70 72 6f 70 65 72 74 79 28 22  ue(tp.property("
1a40: d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be  ................
1a50: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29 3b 0d 0a  .........."));..
1a60: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
1a70: 70 72 6f 70 56 61 6c 2e 70 72 65 73 65 6e 74 61  propVal.presenta
1a80: 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94 d0 bb d1  tion() == ".....
1a90: 8f d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d0  ................
1aa0: b0 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ."){..          
1ab0: 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d        continue;.
1ac0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a  .            }..
1ad0: 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74              text
1ae0: 20 2b 3d 20 70 72 6f 63 65 73 73 41 74 74 72 69   += processAttri
1af0: 62 73 28 22 20 20 d0 97 d0 b0 d0 bf d0 be d0 bb  bs("  ..........
1b00: d0 bd d0 b5 d0 bd d0 b8 d0 b5 20 d1 82 d0 b0 d0  .......... .....
1b10: b1 d0 bb d0 b8 d1 87 d0 bd d0 be d0 b9 20 d1 87  ............. ..
1b20: d0 b0 d1 81 d1 82 d0 b8 20 22 20 2b 20 74 70 2e  ........ " + tp.
1b30: 6e 61 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20  name,..         
1b40: 20 20 20 20 20 20 20 22 d0 94 d0 bb d1 8f 20 d0         "...... .
1b50: 9a d0 b0 d0 b6 d0 b4 d0 be d0 b3 d0 be 20 d0 98  ............. ..
1b60: d0 b7 20 d0 a6 d0 b8 d0 ba d0 bb 5c 6e 22 20 2b  .. ........\n" +
1b70: 20 69 6e 64 65 6e 74 20 2b 20 6c 69 6e 65 56 61   indent + lineVa
1b80: 72 4e 61 6d 65 20 2b 20 22 20 3d 20 22 20 2b 20  rName + " = " + 
1b90: 76 61 72 4e 61 6d 65 20 2b 20 22 2e 22 20 2b 20  varName + "." + 
1ba0: 74 70 2e 6e 61 6d 65 20 2b 20 22 2e d0 94 d0 be  tp.name + ".....
1bb0: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 3b 5c  ............();\
1bc0: 6e 22 20 2c 20 22 d0 9a d0 be d0 bd d0 b5 d1 86  n" , "..........
1bd0: d0 a6 d0 b8 d0 ba d0 bb d0 b0 3b 5c 6e 22 2c 0d  ..........;\n",.
1be0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1bf0: 20 69 6e 64 65 6e 74 20 2b 20 6c 69 6e 65 56 61   indent + lineVa
1c00: 72 4e 61 6d 65 2c 20 74 70 2c 20 74 66 29 0d 0a  rName, tp, tf)..
1c10: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
1c20: 20 20 20 69 66 28 74 61 62 50 61 72 74 73 43 6f     if(tabPartsCo
1c30: 75 6e 74 20 3e 20 31 29 0d 0a 20 20 20 20 20 20  unt > 1)..      
1c40: 20 20 20 20 20 20 74 65 78 74 20 2b 3d 20 22 2f        text += "/
1c50: 2f 7d 20 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd  /}  ............
1c60: d0 b5 d0 bd d0 b8 d0 b5 20 d1 82 d0 b0 d0 b1 d0  ........ .......
1c70: bb d0 b8 d1 87 d0 bd d1 8b d1 85 20 d1 87 d0 b0  ........... ....
1c80: d1 81 d1 82 d0 b5 d0 b9 5c 6e 22 0d 0a 20 20 20  ........\n"..   
1c90: 20 7d 0d 0a 20 20 20 20 74 65 78 74 20 2b 3d 20   }..    text += 
1ca0: 22 2f 2f 7d 20 d0 a1 d0 be d0 b7 d0 b4 d0 b0 d0  "//} ...........
1cb0: bd d0 b8 d0 b5 20 d1 81 d0 bf d1 80 d0 b0 d0 b2  ..... ..........
1cc0: d0 be d1 87 d0 bd d0 b8 d0 ba d0 b0 20 22 20 2b  ............ " +
1cd0: 20 64 6f 63 4b 69 6e 64 20 2b 20 22 20 d0 b2 20   docKind + " .. 
1ce0: 22 20 2b 20 76 61 72 4e 61 6d 65 0d 0a 20 20 20  " + varName..   
1cf0: 20 70 61 72 61 6d 2e 74 65 78 74 20 3d 20 74 65   param.text = te
1d00: 78 74 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74  xt..    return t
1d10: 72 75 65 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69  rue..}....functi
1d20: 6f 6e 20 70 72 6f 63 65 73 73 53 74 61 6e 64 61  on processStanda
1d30: 72 74 41 74 74 72 69 62 73 28 63 6f 6d 6d 65 6e  rtAttribs(commen
1d40: 74 2c 20 68 65 61 64 65 72 2c 20 66 6f 6f 74 65  t, header, foote
1d50: 72 2c 20 61 74 74 72 69 62 75 74 65 73 2c 20 6c  r, attributes, l
1d60: 69 6e 65 2c 20 6f 62 6a 2c 20 74 66 29 20 7b 0d  ine, obj, tf) {.
1d70: 0a 20 20 20 20 76 61 72 20 6c 69 6e 65 73 20 3d  .    var lines =
1d80: 20 5b 5d 0d 0a 20 20 20 20 66 6f 72 20 28 76 61   []..    for (va
1d90: 72 20 6b 65 79 20 69 6e 20 61 74 74 72 69 62 75  r key in attribu
1da0: 74 65 73 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  tes) {..        
1db0: 76 61 72 20 6c 20 3d 20 6c 69 6e 65 20 2b 20 22  var l = line + "
1dc0: 2e 22 20 2b 20 61 74 74 72 69 62 75 74 65 73 5b  ." + attributes[
1dd0: 6b 65 79 5d 20 2b 20 22 20 3d 20 3b 20 2f 2f 20  key] + " = ; // 
1de0: 22 20 2f 2f 2b 20 74 66 2e 67 65 74 54 79 70 65  " //+ tf.getType
1df0: 53 74 72 69 6e 67 28 61 74 74 72 29 20 0d 0a 20  String(attr) .. 
1e00: 20 20 20 20 20 20 20 6c 69 6e 65 73 2e 70 75 73         lines.pus
1e10: 68 28 6c 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20  h(l);..    }..  
1e20: 20 20 69 66 28 6c 69 6e 65 73 2e 6c 65 6e 67 74    if(lines.lengt
1e30: 68 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75  h)..        retu
1e40: 72 6e 20 22 2f 2f 7b 20 22 20 2b 20 63 6f 6d 6d  rn "//{ " + comm
1e50: 65 6e 74 20 2b 20 22 5c 6e 22 20 2b 20 68 65 61  ent + "\n" + hea
1e60: 64 65 72 20 2b 20 63 6f 64 65 67 65 6e 5f 6d 61  der + codegen_ma
1e70: 6e 61 67 65 72 2e 66 6f 72 6d 61 74 41 73 73 69  nager.formatAssi
1e80: 67 6e 28 6c 69 6e 65 73 29 20 2b 20 66 6f 6f 74  gn(lines) + foot
1e90: 65 72 20 2b 20 22 2f 2f 7d 20 22 20 2b 20 63 6f  er + "//} " + co
1ea0: 6d 6d 65 6e 74 20 2b 20 22 5c 6e 22 0d 0a 20 20  mment + "\n"..  
1eb0: 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20    else..        
1ec0: 72 65 74 75 72 6e 20 22 22 0d 0a 7d 0d 0a 0d 0a  return ""..}....
1ed0: 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73  function process
1ee0: 41 74 74 72 69 62 73 28 63 6f 6d 6d 65 6e 74 2c  Attribs(comment,
1ef0: 20 68 65 61 64 65 72 2c 20 66 6f 6f 74 65 72 2c   header, footer,
1f00: 20 6c 69 6e 65 2c 20 6f 62 6a 2c 20 74 66 29 0d   line, obj, tf).
1f10: 0a 7b 0d 0a 20 20 20 20 76 61 72 20 6c 69 6e 65  .{..    var line
1f20: 73 20 3d 20 5b 5d 0d 0a 20 20 20 20 66 6f 72 28  s = []..    for(
1f30: 76 61 72 20 69 20 3d 20 30 2c 20 63 6e 74 20 3d  var i = 0, cnt =
1f40: 20 6f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65 63 74   obj.childObject
1f50: 73 43 6f 75 6e 74 28 22 d0 a0 d0 b5 d0 ba d0 b2  sCount("........
1f60: d0 b8 d0 b7 d0 b8 d1 82 d1 8b 22 29 3b 20 69 20  .........."); i 
1f70: 3c 20 63 6e 74 3b 20 69 2b 2b 29 0d 0a 20 20 20  < cnt; i++)..   
1f80: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20   {..        var 
1f90: 61 74 74 72 20 3d 20 6f 62 6a 2e 63 68 69 6c 64  attr = obj.child
1fa0: 4f 62 6a 65 63 74 28 22 d0 a0 d0 b5 d0 ba d0 b2  Object("........
1fb0: d0 b8 d0 b7 d0 b8 d1 82 d1 8b 22 2c 20 69 29 0d  ..........", i).
1fc0: 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0d 0a  .        try {..
1fd0: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20              var 
1fe0: 70 72 6f 70 56 61 6c 20 3d 20 74 6f 56 38 56 61  propVal = toV8Va
1ff0: 6c 75 65 28 61 74 74 72 2e 70 72 6f 70 65 72 74  lue(attr.propert
2000: 79 28 22 d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0  y(".............
2010: b7 d0 be d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29  ............."))
2020: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69  ;..            i
2030: 66 20 28 70 72 6f 70 56 61 6c 2e 70 72 65 73 65  f (propVal.prese
2040: 6e 74 61 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94  ntation() == "..
2050: d0 bb d1 8f d0 93 d1 80 d1 83 d0 bf d0 bf d1 8b  ................
2060: 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "){..           
2070: 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a       continue;..
2080: 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 20              }   
2090: 20 0d 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74   ..        } cat
20a0: 63 68 20 28 65 29 20 7b 7d 0d 0a 20 20 20 20 20  ch (e) {}..     
20b0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72     ..        var
20c0: 20 6c 20 3d 20 6c 69 6e 65 20 2b 20 22 2e 22 20   l = line + "." 
20d0: 2b 20 61 74 74 72 2e 6e 61 6d 65 20 2b 20 22 20  + attr.name + " 
20e0: 3d 20 3b 20 2f 2f 20 22 20 2b 20 74 66 2e 67 65  = ; // " + tf.ge
20f0: 74 54 79 70 65 53 74 72 69 6e 67 28 61 74 74 72  tTypeString(attr
2100: 29 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20  ) ..        var 
2110: 63 20 3d 20 61 74 74 72 2e 63 6f 6d 6d 65 6e 74  c = attr.comment
2120: 0d 0a 20 20 20 20 20 20 20 20 69 66 28 63 2e 6c  ..        if(c.l
2130: 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20  ength)..        
2140: 20 20 20 20 6c 20 2b 3d 20 22 20 2f 20 22 20 2b      l += " / " +
2150: 20 63 0d 0a 20 20 20 20 20 20 20 20 6c 69 6e 65   c..        line
2160: 73 2e 70 75 73 68 28 6c 29 0d 0a 20 20 20 20 7d  s.push(l)..    }
2170: 0d 0a 20 20 20 20 69 66 28 6c 69 6e 65 73 2e 6c  ..    if(lines.l
2180: 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20  ength)..        
2190: 72 65 74 75 72 6e 20 22 2f 2f 7b 20 22 20 2b 20  return "//{ " + 
21a0: 63 6f 6d 6d 65 6e 74 20 2b 20 22 5c 6e 22 20 2b  comment + "\n" +
21b0: 20 68 65 61 64 65 72 20 2b 20 63 6f 64 65 67 65   header + codege
21c0: 6e 5f 6d 61 6e 61 67 65 72 2e 66 6f 72 6d 61 74  n_manager.format
21d0: 41 73 73 69 67 6e 28 6c 69 6e 65 73 29 20 2b 20  Assign(lines) + 
21e0: 66 6f 6f 74 65 72 20 2b 20 22 2f 2f 7d 20 22 20  footer + "//} " 
21f0: 2b 20 63 6f 6d 6d 65 6e 74 20 2b 20 22 5c 6e 22  + comment + "\n"
2200: 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20  ..    else..    
2210: 20 20 20 20 72 65 74 75 72 6e 20 22 22 0d 0a 7d      return ""..}
2220: 0d 0a 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 70  ......function p
2230: 72 6f 63 65 73 73 41 74 74 72 69 62 73 47 72 6f  rocessAttribsGro
2240: 75 70 73 28 63 6f 6d 6d 65 6e 74 2c 20 68 65 61  ups(comment, hea
2250: 64 65 72 2c 20 66 6f 6f 74 65 72 2c 20 6c 69 6e  der, footer, lin
2260: 65 2c 20 6f 62 6a 2c 20 74 66 29 0d 0a 7b 0d 0a  e, obj, tf)..{..
2270: 20 20 20 20 76 61 72 20 6c 69 6e 65 73 20 3d 20      var lines = 
2280: 5b 5d 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20  []..    for(var 
2290: 69 20 3d 20 30 2c 20 63 6e 74 20 3d 20 6f 62 6a  i = 0, cnt = obj
22a0: 2e 63 68 69 6c 64 4f 62 6a 65 63 74 73 43 6f 75  .childObjectsCou
22b0: 6e 74 28 22 d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0 b7  nt("............
22c0: d0 b8 d1 82 d1 8b 22 29 3b 20 69 20 3c 20 63 6e  ......"); i < cn
22d0: 74 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 7b 0d 0a  t; i++)..    {..
22e0: 20 20 20 20 20 20 20 20 76 61 72 20 61 74 74 72          var attr
22f0: 20 3d 20 6f 62 6a 2e 63 68 69 6c 64 4f 62 6a 65   = obj.childObje
2300: 63 74 28 22 d0 a0 d0 b5 d0 ba d0 b2 d0 b8 d0 b7  ct("............
2310: d0 b8 d1 82 d1 8b 22 2c 20 69 29 3b 0d 0a 20 20  ......", i);..  
2320: 20 20 20 20 20 20 74 72 79 20 7b 0d 0a 20 20 20        try {..   
2330: 20 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f           var pro
2340: 70 56 61 6c 20 3d 20 74 6f 56 38 56 61 6c 75 65  pVal = toV8Value
2350: 28 61 74 74 72 2e 70 72 6f 70 65 72 74 79 28 22  (attr.property("
2360: d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be  ................
2370: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 22 29 29 3b 0d 0a  .........."));..
2380: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
2390: 70 72 6f 70 56 61 6c 2e 70 72 65 73 65 6e 74 61  propVal.presenta
23a0: 74 69 6f 6e 28 29 20 3d 3d 20 22 d0 94 d0 bb d1  tion() == ".....
23b0: 8f d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d0  ................
23c0: b0 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ."){..          
23d0: 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d        continue;.
23e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20  .            }  
23f0: 20 20 0d 0a 20 20 20 20 20 20 20 20 7d 20 63 61    ..        } ca
2400: 74 63 68 20 28 65 29 20 7b 7d 0d 0a 20 20 20 20  tch (e) {}..    
2410: 20 20 20 20 76 61 72 20 6c 20 3d 20 6c 69 6e 65      var l = line
2420: 20 2b 20 22 2e 22 20 2b 20 61 74 74 72 2e 6e 61   + "." + attr.na
2430: 6d 65 20 2b 20 22 20 3d 20 3b 20 2f 2f 20 22 20  me + " = ; // " 
2440: 2b 20 74 66 2e 67 65 74 54 79 70 65 53 74 72 69  + tf.getTypeStri
2450: 6e 67 28 61 74 74 72 29 0d 0a 20 20 20 20 20 20  ng(attr)..      
2460: 20 20 76 61 72 20 63 20 3d 20 61 74 74 72 2e 63    var c = attr.c
2470: 6f 6d 6d 65 6e 74 0d 0a 20 20 20 20 20 20 20 20  omment..        
2480: 69 66 28 63 2e 6c 65 6e 67 74 68 29 0d 0a 20 20  if(c.length)..  
2490: 20 20 20 20 20 20 20 20 20 20 6c 20 2b 3d 20 22            l += "
24a0: 20 2f 20 22 20 2b 20 63 0d 0a 20 20 20 20 20 20   / " + c..      
24b0: 20 20 6c 69 6e 65 73 2e 70 75 73 68 28 6c 29 0d    lines.push(l).
24c0: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 69 66 28 6c  .    }..    if(l
24d0: 69 6e 65 73 2e 6c 65 6e 67 74 68 29 0d 0a 20 20  ines.length)..  
24e0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 2f 2f        return "//
24f0: 7b 20 22 20 2b 20 63 6f 6d 6d 65 6e 74 20 2b 20  { " + comment + 
2500: 22 5c 6e 22 20 2b 20 68 65 61 64 65 72 20 2b 20  "\n" + header + 
2510: 63 6f 64 65 67 65 6e 5f 6d 61 6e 61 67 65 72 2e  codegen_manager.
2520: 66 6f 72 6d 61 74 41 73 73 69 67 6e 28 6c 69 6e  formatAssign(lin
2530: 65 73 29 20 2b 20 66 6f 6f 74 65 72 20 2b 20 22  es) + footer + "
2540: 2f 2f 7d 20 22 20 2b 20 63 6f 6d 6d 65 6e 74 20  //} " + comment 
2550: 2b 20 22 5c 6e 22 0d 0a 20 20 20 20 65 6c 73 65  + "\n"..    else
2560: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  ..        return
2570: 20 22 22 0d 0a 7d 0d 0a 0d 0a                     ""..}....