/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: June 7, 1992 11:36:36 am PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: VoiceInterestImpl, module: VoiceInterestImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1828325956,678806671] VoiceInterestImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {W8 f; W4 r;} W12;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q1248();
static void VoiceInterestImpl←P0();
static void DoFileInterests←P120();
static void GetFileNameAndDate←P180();
static word NoName←Q1308();
static word IsTiogaFile←P240();
static word GetVoiceList←P300();
static void RegisterFileInterests←P360();
static void RegisterVoiceInterestCmd←P420();
static word NoName←Q1368();
static word NoName←Q1428();
static void BackgroundCommentaryInit←P480();
static void RegisterViewerInterests←P540();
static word DoViewerInterests←P600();
static void NoName←Q1488();
static void NoName←Q1548();
static void NoName←Q1608();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string2 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\013\170\373\103\300\170\332\235\162\100\164\000\000"};
static struct {unsigned f; char r[4];} string6 = {131076, "\216\251\000"};
static struct {unsigned f; char r[24];} string7 = {1310744, "   Not a Tioga file\012\000\000\000"};
static struct {unsigned f; char r[24];} string8 = {1310744, "   No voice in file\012\000\000\000"};
static struct {unsigned f; char r[12];} string9 = {589836, "File %g:\012\000\000"};
static struct {unsigned f; char r[20];} string10 = {1048596, "File is global:\012\000\000\000"};
static struct {unsigned f; char r[40];} string11 = {2359336, "File is attached to global file %g:\012\000\000\000"};
static struct {unsigned f; char r[92];} string12 = {5832796, "InterestInfo: registers an output stream for commentary about voice interest registration\000\000"};
static struct {unsigned f; char r[12];} string13 = {589836, "voicelist\000\000"};
static struct {unsigned f; char r[16];} string14 = {786448, "InterestInfo\000\000\000"};
static struct {unsigned f; char r[124];} string15 = {7864444, "RegisterVoiceInterest inFile: register loganberry interests for all voice messages in a global or globally attached file\000\000\000"};
static struct {unsigned f; char r[28];} string16 = {1638428, "   Voice message IDs are\012\000\000"};
static struct {unsigned f; char r[4];} string17 = {65540, "&\000\000"};
static struct {unsigned f; char r[24];} string18 = {1376280, "RegisterVoiceInterest\000\000"};
static struct {unsigned f; char r[12];} string19 = {655372, "TiogaVoice\000"};
static struct {unsigned f; char r[4];} string20 = {65540, " \000\000"};
static struct {unsigned f; char r[4];} string21 = {65540, "\012\000\000"};
static struct {unsigned f; char r[48];} string22 = {3080240, "File must be global or have a global attachment"};
static struct {unsigned f; char r[36];} string23 = {2293796, "Usage: RegisterVoiceInterest inFile"};
static struct {unsigned f; char r[8];} string24 = {458760, "Failure"};
static struct {unsigned f; char r[12];} string25 = {589836, "VoiceList\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "VoiceEventReg\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\154\372\012\104\300\050\165\304\217\100\164\000\000"};
static struct {unsigned f; char r[12];} string28 = {655370, "\006\002\020\001\064\010\000\004\024\001\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\311\235\133\064\300\165\175\234\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\344\212\014\176\300\070\230\121\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\056\236\052\251\300\206\175\213\250\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\203\256\002\131\300\364\237\146\374\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {1416195943, "aVoicePrivate"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\260\261\352\205\300\233\126\263\156\100\150\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\244\340\135\243\300\261\211\021\257\100\150\000\000"};
static struct {
   word f0[33]; word f33; word f34; word f35; 
   word f36; word f37; word f38; word f39; 
   word f40; word f41; word f42; word f43; 
   word f44; word f45; word f46; word f47; 
   word f48; word f49; word f50; word f51; 
   word f52[14]; 
   } globalframe = {
   {0}, (word) DoViewerInterests←P600, 0, (word) RegisterViewerInterests←P540, 
   0, (word) BackgroundCommentaryInit←P480, 0, (word) RegisterVoiceInterestCmd←P420, 
   0, (word) RegisterFileInterests←P360, 0, (word) GetVoiceList←P300, 
   0, (word) IsTiogaFile←P240, 0, (word) GetFileNameAndDate←P180, 
   0, (word) DoFileInterests←P120, 0, (word) VoiceInterestImpl←P0, 
   {0}
   };

static void NoName←Q1248()
   {
   register ptr gf←c0127 =  (ptr) &globalframe;
   word var←c19136;
   (* (( (ptr) gf←c0127)+7) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0127)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0127)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string4);
   (* (( (ptr) gf←c0127)+12) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string4);
   (*  (ptr) (( (bPt) gf←c0127)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c0127)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0127)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0127)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0127)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0127)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0127)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+12) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0127)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0127)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0127)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0127)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0127)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0127)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0127)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0127)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0127)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0127)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+8) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0127)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+12) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0127)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+12) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0127)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0127)+12) ), (word) &string26);
   (void) XR←DeclareGlobalFrame((word) "VoiceInterestImpl", &globalframe, (word) XR←GetTypeIndex((word) &string27, 0, (word) &string28)
      , (word) (( (bPt) gf←c0127)+204)/* var←c18272 */ );
   var←c19136 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string29)), 3);
   (* (( (ptr) gf←c0127)+53)/* var←c18304 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 1310725);
   var←c19136 = (word) XR←ImportInterface((word) "CommanderOps", (word) XR←GetTypeIndexS((word) (&string30)), 14);
   (* (( (ptr) gf←c0127)+62)/* var←c18912 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 67633666);
   var←c19136 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string31)), 73);
   (* (( (ptr) gf←c0127)+59)/* var←c18816 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 68689158);
   var←c19136 = (word) XR←ImportInterface((word) "FS", (word) XR←GetTypeIndexS((word) (&string32)), 36);
   (* (( (ptr) gf←c0127)+55)/* var←c18400 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 70522636);
   (void) XR←ImportProcS(var←c19136, 403703812);
   var←c19136 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string33)), 103);
   (* (( (ptr) gf←c0127)+54)/* var←c18368 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 530434);
   (void) XR←ImportProcS(var←c19136, 67910402);
   (void) XR←ImportProcS(var←c19136, 1071364);
   var←c19136 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string34)), 43);
   (* (( (ptr) gf←c0127)+58)/* var←c18656 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 68419845);
   (void) XR←ImportProcS(var←c19136, 67898627);
   (void) XR←ImportProcS(var←c19136, 68159236);
   (void) XR←ImportProcS(var←c19136, 67634434);
   (void) XR←ImportProcS(var←c19136, 67373569);
   var←c19136 = (word) XR←ImportInterface((word) "TiogaAccess", (word) XR←GetTypeIndexS((word) (&string35)), 32);
   (* (( (ptr) gf←c0127)+57)/* var←c18592 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 335808513);
   (void) XR←ImportProcS(var←c19136, 67372289);
   var←c19136 = (word) XR←ImportInterface((word) "TiogaFileIO", (word) XR←GetTypeIndexS((word) (&string36)), 2);
   (* (( (ptr) gf←c0127)+56)/* var←c18560 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 470548483);
   var←c19136 = (word) XR←ImportInterface((word) &string37, (word) XR←GetTypeIndexS((word) (&string38)), 84);
   (* (( (ptr) gf←c0127)+60)/* var←c18848 */  ) = var←c19136;
   var←c19136 = (word) XR←ImportInterface((word) "ViewerEvents", (word) XR←GetTypeIndexS((word) (&string39)), 3);
   (* (( (ptr) gf←c0127)+64)/* var←c19008 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 524546);
   (void) XR←ImportProcS(var←c19136, 68157444);
   var←c19136 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string40)), 43);
   (* (( (ptr) gf←c0127)+63)/* var←c18976 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 67639554);
   (void) XR←ImportProcS(var←c19136, 792579);
   var←c19136 = (word) XR←ImportInterface((word) "VoiceRope", (word) XR←GetTypeIndexS((word) (&string41)), 20);
   (* (( (ptr) gf←c0127)+61)/* var←c18880 */  ) = var←c19136;
   (void) XR←ImportProcS(var←c19136, 1313797);
   var←c19136 = (word) XR←ExportInterface((word) &string37, (word) XR←GetTypeIndexS((word) (&string38)), 84);
   (* (( (ptr) gf←c0127)+65)/* var←c19168 */  ) = var←c19136;
   (void) XR←ExportProcS(var←c19136, (word) (( (bPt) gf←c0127)+140)/* var←c18016 */ , 545538);
   }

static void VoiceInterestImpl←P0(formal←c037, formal←c036)
   word formal←c037;
   word formal←c036;
   {
   register ptr gf←c19200 =  (ptr) &globalframe;
   /* VoiceInterestImpl: */ 
SOURCE(721, 5325)
SOURCE(5665, 209)
   {
      word pd42;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c19200)+53)/* var←c18304 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) gf←c19200)+24) ), (word) (( (bPt) gf←c19200)+156)/* var←c18080 */ , (* (
            ( (ptr) gf←c19200)+21) ), 0, 1, pd42);
      };
SOURCE(5877, 169)
   {
      word pd43;
      pd43 = (* (( (ptr) (* (( (ptr) gf←c19200)+53)/* var←c18304 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd43 ))))((* (( (ptr) gf←c19200)+20) ), (word) (( (bPt) gf←c19200)+148)/* var←c18048 */ , (* (
            ( (ptr) gf←c19200)+18) ), 0, 1, pd43);
      };
   }

static void DoFileInterests←P120(file←v3632, commentary←v3660)
   word file←v3632;
   word commentary←v3660;
   {
   register ptr gf←c19232 =  (ptr) &globalframe;
   word globalName←v4288 = 0;
   word voiceList←v4316 = 0;
   word createDate←v4344;
   /* DoFileInterests: */ 
SOURCE(1141, 3248)
SOURCE(1287, 3102)
   {
      W2 var←c18336;
      (void) GetFileNameAndDate←P180((word) &var←c18336, file←v3632, commentary←v3660);
      createDate←v4344 = var←c18336.f1;
      globalName←v4288 = var←c18336.f0;
      };
SOURCE(1352, 3037)
   if ((0 == (word) IsTiogaFile←P240(globalName←v4288))) {
SOURCE(1390, 47)
SOURCE(1065, 51)
      if ((commentary←v3660 != 0)) {
SOURCE(1090, 26)
         {
            word pd44;
            pd44 = (* (( (ptr) (* (( (ptr) gf←c19232)+54)/* var←c18368 */  ))+93) );
            (void) ( *( (fPt) ((*  (ptr) pd44 ))))(commentary←v3660, (* (( (ptr) gf←c19232)+13) ), 0, 2147483647, pd44);
            };
         };
SOURCE(1439, 7)
      return;
      };
SOURCE(1449, 2940)
   voiceList←v4316 = (word) GetVoiceList←P300(globalName←v4288);
SOURCE(1487, 145)
   if ((voiceList←v4316 == 0)) {
SOURCE(1511, 53)
SOURCE(1065, 51)
      if ((commentary←v3660 != 0)) {
SOURCE(1090, 26)
         {
            word pd45;
            pd45 = (* (( (ptr) (* (( (ptr) gf←c19232)+54)/* var←c18368 */  ))+93) );
            (void) ( *( (fPt) ((*  (ptr) pd45 ))))(commentary←v3660, (* (( (ptr) gf←c19232)+14) ), 0, 2147483647, pd45);
            };
         };
      }
   else {
SOURCE(1564, 68)
      (void) RegisterFileInterests←P360(globalName←v4288, createDate←v4344, voiceList←v4316, commentary←v3660);
      };
   }

static void GetFileNameAndDate←P180(formal←c059, formal←c0154, commentary←v3748)
   word formal←c059;
   word formal←c0154;
   word commentary←v3748;
   {
   W12 var←c19264;
   /* declaration of file←v3720 skipped */ 
   register ptr gf←c19296 =  (ptr) &globalframe;
   word globalName←v3792;
   word createDate←v3820;
   (* (( (ptr) &var←c19264)+4)/* file←v3720 */  ) = formal←c0154;
   /* GetFileNameAndDate: */ 
SOURCE(1638, 2751)
SOURCE(1638, 2751)
   globalName←v3792 = 0;
SOURCE(1765, 2624)
SOURCE(1767, 32)
   {
      word fullFName←v4388 = 0;
      word attachedTo←v4416 = 0;
      word keep←v4444;
SOURCE(1818, 2571)
      {
         W6 var←c18432;
         {
            /* declaration of var←c01 skipped */ 
            (* (( (ptr) &var←c19264)+5)/* var←c01 */  ) = (* (( (ptr) (* (( (ptr) gf←c19296)+55)/* var←c18400 */  ))+12) );
            {
               /* declaration of var←c02 skipped */ 
               {
                  word var←c03;
                  {
                     word var←c0145;
                     var←c0145 = (word) &var←c19264;
                     var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1308) ), ( ((word)  (fPt) NoName←Q1608) ), var←c0145);
                     };
                  if ((var←c03 == 2)) {
                     goto lab←L100001;
                     };
                  };
               var←c18432 = (*  (W6Pt) (( (ptr) &var←c19264)+6)/* var←c02 */  );
               };
            };
         createDate←v3820 = var←c18432.f4;
         keep←v4444 = var←c18432.f2;
         attachedTo←v4416 = var←c18432.f1;
         fullFName←v4388 = var←c18432.f0;
         };
SOURCE(2066, 2323)
      {
         word remark←v17812;
         word commentary←v17840;
         {
            W2 var←c18464;
            var←c18464.f0 = 11;
            var←c18464.f1 = fullFName←v4388;
            {
               word pd46;
               pd46 = (* (( (ptr) (* (( (ptr) gf←c19296)+54)/* var←c18368 */  ))+63) );
               remark←v17812 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))((* (( (ptr) gf←c19296)+15) ), var←c18464, pd46);
               };
            };
         commentary←v17840 = commentary←v3748;
SOURCE(1065, 51)
         if ((commentary←v17840 != 0)) {
SOURCE(1090, 26)
            {
               word pd47;
               pd47 = (* (( (ptr) (* (( (ptr) gf←c19296)+54)/* var←c18368 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd47 ))))(commentary←v17840, remark←v17812, 0, 2147483647, pd47);
               };
            };
         };
SOURCE(2135, 2254)
      if ((attachedTo←v4416 == 0)) {
SOURCE(2162, 22)
         globalName←v3792 = fullFName←v4388;
SOURCE(2186, 45)
SOURCE(1065, 51)
         if ((commentary←v3748 != 0)) {
SOURCE(1090, 26)
            {
               word pd48;
               pd48 = (* (( (ptr) (* (( (ptr) gf←c19296)+54)/* var←c18368 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd48 ))))(commentary←v3748, (* (( (ptr) gf←c19296)+16) ), 0, 2147483647, pd48);
               };
            };
         }
      else {
SOURCE(2240, 23)
         globalName←v3792 = attachedTo←v4416;
SOURCE(2265, 2124)
         {
            word remark←v17688;
            word commentary←v17716;
            {
               W2 var←c18496;
               var←c18496.f0 = 11;
               var←c18496.f1 = globalName←v3792;
               {
                  word pd49;
                  pd49 = (* (( (ptr) (* (( (ptr) gf←c19296)+54)/* var←c18368 */  ))+63) );
                  remark←v17688 = (word) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) gf←c19296)+17) ), var←c18496, pd49);
                  };
               };
            commentary←v17716 = commentary←v3748;
SOURCE(1065, 51)
            if ((commentary←v17716 != 0)) {
SOURCE(1090, 26)
               {
                  word pd50;
                  pd50 = (* (( (ptr) (* (( (ptr) gf←c19296)+54)/* var←c18368 */  ))+93) );
                  (void) ( *( (fPt) ((*  (ptr) pd50 ))))(commentary←v17716, remark←v17688, 0, 2147483647, pd50);
                  };
               };
            };
         };
      };
   goto lab←L100004;
   lab←L100001: ;
SOURCE(2378, 6)
   goto lab←L100000;
   lab←L100004: ;
   /* removed tail goto */ 
   lab←L100000: ;
   (*  (ptr) formal←c059 ) = globalName←v3792;
   (* (( (ptr) formal←c059)+1) ) = createDate←v3820;
   return;
   }

static word NoName←Q1308(formal←c0131)
   word formal←c0131;
   {
SOURCE(1818, 2571)
   {
      word pd51;
      pd51 = (* (( (ptr) formal←c0131)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd51 ))))((word) (( (bPt) formal←c0131)+24), (* (( (ptr) formal←c0131)+4) ), 2147483647, 1, 0, pd51)
      ;
      };
   return(0);
   }

static word IsTiogaFile←P240(filename←v3880)
   word filename←v3880;
   {
   register ptr gf←c19328 =  (ptr) &globalframe;
   word tiogaFile←v3924;
   word fileStream←v4488 = 0;
   word streamOptions←v4516 = 7;
   /* IsTiogaFile: */ 
SOURCE(2391, 1998)
   {
      W7 var←c066;
SOURCE(2544, 1845)
      streamOptions←v4516 = (streamOptions←v4516 & 4294967291) | (((0)) << 2);
SOURCE(2578, 1811)
      {
         W2 var←c18528;
         var←c18528.f0 = 7;
         var←c18528.f1 = 1;
         {
            word pd52;
            pd52 = (* (( (ptr) (* (( (ptr) gf←c19328)+55)/* var←c18400 */  ))+27) );
            fileStream←v4488 = (word) ( *( (fPt) ((*  (ptr) pd52 ))))(filename←v3880, 0, streamOptions←v4516, 1, 2560, var←c18528
               , 0, 2147483647, 1, 0, 0, 0, pd52);
            };
         };
SOURCE(2656, 1733)
      {
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c19328)+56)/* var←c18560 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd53 ))))((word) &var←c066, fileStream←v4488, 0, 2147483647, pd53);
         };
      tiogaFile←v3924 = var←c066.f0;
SOURCE(2710, 18)
      {
         word pd54;
         pd54 = (* (( (ptr) (* (( (ptr) gf←c19328)+54)/* var←c18368 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd54 ))))(fileStream←v4488, 0, pd54);
         };
      };
SOURCE(2391, 1998)
   return(tiogaFile←v3924);
   }

static word GetVoiceList←P300(filename←v3984)
   word filename←v3984;
   {
   register ptr gf←c19360 =  (ptr) &globalframe;
   word voiceList←v4028;
   word fileStream←v4560;
   W5 rootChar←v4588;
   /* GetVoiceList: */ 
SOURCE(2734, 1655)
SOURCE(2734, 1655)
   voiceList←v4028 = 0;
SOURCE(2810, 63)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c19360)+57)/* var←c18592 */  ))+9) );
      fileStream←v4560 = (word) ( *( (fPt) ((*  (ptr) pd55 ))))(filename←v3984, pd55);
      };
SOURCE(2875, 61)
   {
      word pd56;
      pd56 = (* (( (ptr) (* (( (ptr) gf←c19360)+57)/* var←c18592 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd56 ))))((word) &rootChar←v4588, fileStream←v4560, pd56);
      };
SOURCE(2986, 216)
   {
      register word rootProps←v4632;
      rootProps←v4632 = rootChar←v4588.f4;
      lab←L100008: ;
      if ((rootProps←v4632 != 0)) {
         }
      else {
         goto lab←L100005;
         };
SOURCE(3077, 125)
      if (((*  (ptr) rootProps←v4632 ) == (* (( (ptr) gf←c19360)+19) ))) {
SOURCE(3121, 81)
         if ((voiceList←v4028 == 0)) {
SOURCE(3145, 57)
            {
               word var←c18624;
               var←c18624 = XR←Narrow((* (( (ptr) rootProps←v4632)+1) ), (* (( (ptr) gf←c19360)+7) ));
               if ((var←c18624 == 0)) {
                  goto lab←L100009;
                  };
               if (((*(int*)var←c18624<0) == 0)) {
                  goto lab←L100009;
                  };
               (void) XR←RaiseError(XR←NarrowFault, 0);
               lab←L100009: ;
               voiceList←v4028 = var←c18624;
               };
            }
         else {
SOURCE(3202, 6)
            (void) XR←RaiseUnnamedError();
            };
         };
      rootProps←v4632 = (* (( (ptr) rootProps←v4632)+2) );
      goto lab←L100008;
      lab←L100005: ;
      };
SOURCE(2734, 1655)
   return(voiceList←v4028);
   }

static void RegisterFileInterests←P360(filename←v4088, createDate←v4116, voiceList←v4144, commentary←v4172)
   word filename←v4088;
   word createDate←v4116;
   word voiceList←v4144;
   word commentary←v4172;
   {
   register ptr gf←c19392 =  (ptr) &globalframe;
   word nextVoice←v4676 = 0;
   word startOfID←v4704 = 1;
   word endOfID←v4732;
   /* RegisterFileInterests: */ 
SOURCE(3222, 1167)
SOURCE(3404, 52)
SOURCE(1065, 51)
   if ((commentary←v4172 != 0)) {
SOURCE(1090, 26)
      {
         word pd57;
         pd57 = (* (( (ptr) (* (( (ptr) gf←c19392)+54)/* var←c18368 */  ))+93) );
         (void) ( *( (fPt) ((*  (ptr) pd57 ))))(commentary←v4172, (* (( (ptr) gf←c19392)+22) ), 0, 2147483647, pd57);
         };
      };
SOURCE(3459, 930)
   {
      word pd58;
      word pd60;
      pd58 = (* (( (ptr) (* (( (ptr) gf←c19392)+58)/* var←c18656 */  ))+14) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd58 ))))(voiceList←v4144, pd58) <=  (int)0)) { goto then059;};
      pd60 = (* (( (ptr) (* (( (ptr) gf←c19392)+58)/* var←c18656 */  ))+9) );
      if (((word) ( *( (fPt) ((*  (ptr) pd60 ))))(voiceList←v4144, 0, pd60) != 38)) {
         then059: ;
SOURCE(3524, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
SOURCE(3532, 857)
   lab←L100012: ;
SOURCE(3535, 854)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c19392)+58)/* var←c18656 */  ))+11) );
      endOfID←v4732 = (word) ( *( (fPt) ((*  (ptr) pd61 ))))(voiceList←v4144, (* (( (ptr) gf←c19392)+23) ), startOfID←v4704, 1, pd61)
      ;
      };
SOURCE(3578, 811)
   {
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c19392)+58)/* var←c18656 */  ))+17) );
      nextVoice←v4676 = (word) ( *( (fPt) ((*  (ptr) pd62 ))))(voiceList←v4144, startOfID←v4704,  ( ( (int)endOfID←v4732 ==  (int) (word) -1) ? 2147483647 : (endOfID←v4732 - startOfID←v4704) ) , pd62)
      ;
      };
SOURCE(3678, 29)
   {
      word pd63;
      pd63 = (* (( (ptr) (* (( (ptr) gf←c19392)+58)/* var←c18656 */  ))+14) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd63 ))))(nextVoice←v4676, pd63) ==  (int)0)) {
SOURCE(3707, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
SOURCE(3715, 674)
   {
      word var←c18688;
      word var←c18752;
      {
         word var←c18720;
         var←c18720 = XR←NewObject(12, (* (( (ptr) gf←c19392)+9) ));
         (*  (ptr) var←c18720 ) = nextVoice←v4676;
         var←c18688 = var←c18720;
         };
      {
         word var←c18784;
         {
            word pd64;
            pd64 = (* (( (ptr) (* (( (ptr) gf←c19392)+59)/* var←c18816 */  ))+33) );
            var←c18784 = (word) ( *( (fPt) ((*  (ptr) pd64 ))))(createDate←v4116, 0, 4, 0, 1, 1, pd64);
            };
         {
            word pd65;
            pd65 = (* (( (ptr) (* (( (ptr) gf←c19392)+58)/* var←c18656 */  ))+5) );
            var←c18752 = (word) ( *( (fPt) ((*  (ptr) pd65 ))))(filename←v4088, (* (( (ptr) gf←c19392)+26) ), var←c18784, 0, 0, pd65)
            ;
            };
         };
      {
         word pd66;
         pd66 = (* (( (ptr) (* (( (ptr) gf←c19392)+61)/* var←c18880 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd66 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c19392)+60)/* var←c18848 */  ))+6) ) ), var←c18688, (* (
               ( (ptr) gf←c19392)+25) ), var←c18752, 0, pd66);
         };
      };
SOURCE(3914, 33)
SOURCE(1065, 51)
   if ((commentary←v4172 != 0)) {
SOURCE(1090, 26)
      {
         word pd67;
         pd67 = (* (( (ptr) (* (( (ptr) gf←c19392)+54)/* var←c18368 */  ))+93) );
         (void) ( *( (fPt) ((*  (ptr) pd67 ))))(commentary←v4172, nextVoice←v4676, 0, 2147483647, pd67);
         };
      };
SOURCE(3949, 28)
SOURCE(1065, 51)
   if ((commentary←v4172 != 0)) {
SOURCE(1090, 26)
      {
         word pd68;
         pd68 = (* (( (ptr) (* (( (ptr) gf←c19392)+54)/* var←c18368 */  ))+93) );
         (void) ( *( (fPt) ((*  (ptr) pd68 ))))(commentary←v4172, (* (( (ptr) gf←c19392)+27) ), 0, 2147483647, pd68);
         };
      };
SOURCE(3980, 27)
   if (( (int)endOfID←v4732 ==  (int) (word) -1)) {
SOURCE(4001, 6)
      return;
      };
SOURCE(4009, 32)
   startOfID←v4704 = (endOfID←v4732 + 1);
   goto lab←L100012;
   }

static void RegisterVoiceInterestCmd←P420(formal←c089, formal←c0155)
   word formal←c089;
   word formal←c0155;
   {
   W6 var←c19424;
   /* declaration of cmd←v13792 skipped */ 
   register ptr gf←c19456 =  (ptr) &globalframe;
   word result←v13836;
   /* declaration of msg←v13864 skipped */ 
   var←c19424.f4/* cmd←v13792 */  = formal←c0155;
   /* RegisterVoiceInterestCmd: */ 
SOURCE(4045, 513)
SOURCE(4045, 513)
   result←v13836 = 0;
SOURCE(4045, 513)
   var←c19424.f5/* msg←v13864 */  = 0;
SOURCE(4097, 461)
SOURCE(4099, 428)
   {
      word var←c07;
      {
         word var←c0146;
         var←c0146 = (word) &var←c19424;
         var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1368) ), ( ((word)  (fPt) NoName←Q1488) ), var←c0146);
         };
      if ((var←c07 == 3)) {
         goto lab←L100014;
         };
      };
   goto lab←L100019;
   lab←L100014: ;
SOURCE(4535, 23)
   result←v13836 = (* (( (ptr) gf←c19456)+30) );
   /* removed bogus assignment */ 
   goto lab←L100013;
   lab←L100019: ;
   /* removed tail goto */ 
   lab←L100013: ;
   (*  (ptr) formal←c089 ) = result←v13836;
   (* (( (ptr) formal←c089)+1) ) = var←c19424.f5/* msg←v13864 */ ;
   return;
   }

static word NoName←Q1368(formal←c0137)
   word formal←c0137;
   {
   W6 var←c0153;
   register ptr gf←c0136 =  (ptr) &globalframe;
   var←c0153.f0 = formal←c0137;
SOURCE(4284, 33)
   {
      word argv←v4776 = 0;
SOURCE(4319, 70)
      {
         /* declaration of var←c04 skipped */ 
         var←c0153.f4/* var←c04 */  = (* (( (ptr) (* (( (ptr) gf←c0136)+62)/* var←c18912 */  ))+6) );
         {
            /* declaration of var←c05 skipped */ 
            {
               word var←c06;
               {
                  word var←c0147;
                  var←c0147 = (word) &var←c0153;
                  var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1428) ), ( ((word)  (fPt) NoName←Q1548) ), var←c0147);
                  };
               if ((var←c06 == 3)) {
                  return(3);
                  };
               };
            argv←v4776 = var←c0153.f5/* var←c05 */ ;
            };
         };
SOURCE(4404, 67)
      if (((*  (ptr) argv←v4776 ) != 2)) {
SOURCE(4428, 43)
         (* (( (ptr) formal←c0137)+5) ) = (* (( (ptr) gf←c0136)+29) );
SOURCE(4473, 9)
         return(3);
         };
SOURCE(4487, 40)
      {
         word limit69;
         (void) DoFileInterests←P120((* ((( (ptr) argv←v4776)+1)+(
                  limit69 = (*  (ptr) argv←v4776 ),
                  BCK(1, limit69)
                  )) ), (* (( (ptr) (* (( (ptr) formal←c0137)+4) ))+1) ));
         };
      };
   return(0);
   }

static word NoName←Q1428(formal←c0138)
   word formal←c0138;
   {
SOURCE(4319, 70)
   {
      word pd70;
      pd70 = (* (( (ptr) formal←c0138)+4) );
      (* (( (ptr) formal←c0138)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd70 ))))((* (( (ptr) (*  (ptr) formal←c0138 ))+4) ), 0, pd70)
      ;
      };
   return(0);
   }

static void BackgroundCommentaryInit←P480(formal←c094, cmd←v13924)
   word formal←c094;
   word cmd←v13924;
   {
   register ptr gf←c19488 =  (ptr) &globalframe;
   word result←v13968;
   word msg←v13996;
   /* BackgroundCommentaryInit: */ 
SOURCE(4563, 83)
SOURCE(4563, 83)
   result←v13968 = 0;
SOURCE(4563, 83)
   msg←v13996 = 0;
SOURCE(4615, 31)
   (* (( (ptr) gf←c19488)+4)/* backgroundCommentary←v3140 */  ) = (* (( (ptr) cmd←v13924)+1) );
   /* removed tail goto */ 
   (*  (ptr) formal←c094 ) = result←v13968;
   (* (( (ptr) formal←c094)+1) ) = msg←v13996;
   return;
   }

static void RegisterViewerInterests←P540(viewer←v4232, voiceList←v4260)
   word viewer←v4232;
   word voiceList←v4260;
   {
   register ptr gf←c19520 =  (ptr) &globalframe;
   word eventReg←v4820 = 0;
   /* RegisterViewerInterests: */ 
SOURCE(4650, 443)
SOURCE(4786, 89)
   if ((voiceList←v4260 == 0)) {
SOURCE(4810, 57)
SOURCE(1065, 51)
      if (((* (( (ptr) gf←c19520)+4)/* backgroundCommentary←v3140 */  ) != 0)) {
SOURCE(1090, 26)
         {
            word pd71;
            pd71 = (* (( (ptr) (* (( (ptr) gf←c19520)+54)/* var←c18368 */  ))+93) );
            (void) ( *( (fPt) ((*  (ptr) pd71 ))))((* (( (ptr) gf←c19520)+4)/* backgroundCommentary←v3140 */  ), (* (( (ptr) gf←c19520)+14)
                ), 0, 2147483647, pd71);
            };
         };
SOURCE(4869, 6)
      return;
      };
SOURCE(4880, 48)
   {
      word pd72;
      pd72 = (* (( (ptr) (* (( (ptr) gf←c19520)+63)/* var←c18976 */  ))+28) );
      (void) ( *( (fPt) ((*  (ptr) pd72 ))))(viewer←v4232, (* (( (ptr) gf←c19520)+31) ), voiceList←v4260, pd72);
      };
SOURCE(4930, 110)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c19520)+64)/* var←c19008 */  ))+4) );
      eventReg←v4820 = (word) ( *( (fPt) ((*  (ptr) pd73 ))))((word) (( (bPt) gf←c19520)+132)/* var←c17984 */ , 0, viewer←v4232, 0, pd73)
      ;
      };
SOURCE(5042, 51)
   {
      word pd74;
      pd74 = (* (( (ptr) (* (( (ptr) gf←c19520)+63)/* var←c18976 */  ))+28) );
      (void) ( *( (fPt) ((*  (ptr) pd74 ))))(viewer←v4232, (* (( (ptr) gf←c19520)+32) ), eventReg←v4820, pd74);
      };
   }

static word DoViewerInterests←P600(viewer←v14056, event←v14084, before←v14112)
   word viewer←v14056;
   word event←v14084;
   word before←v14112;
   {
   register ptr gf←c19552 =  (ptr) &globalframe;
   word abort←v14156;
   word globalName←v4864 = 0;
   word voiceList←v4892 = 0;
   word createDate←v4920;
   /* DoViewerInterests: */ 
SOURCE(5099, 558)
SOURCE(5099, 558)
   abort←v14156 = 0;
SOURCE(5224, 80)
   {
      W2 var←c19040;
      (void) GetFileNameAndDate←P180((word) &var←c19040, (* (( (ptr) viewer←v14056)+14) ), (* (( (ptr) gf←c19552)+4)/* backgroundCommentary←v3140 */  ))
      ;
      createDate←v4920 = var←c19040.f1;
      globalName←v4864 = var←c19040.f0;
      };
SOURCE(5306, 59)
   {
      word var←c19072;
      {
         word pd75;
         pd75 = (* (( (ptr) (* (( (ptr) gf←c19552)+63)/* var←c18976 */  ))+29) );
         var←c19072 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd75 ))))(viewer←v14056, (* (( (ptr) gf←c19552)+31) ), pd75), (* (( (ptr) gf←c19552)+7)
             ));
         };
      if ((var←c19072 == 0)) {
         goto lab←L100021;
         };
      if (((*(int*)var←c19072<0) == 0)) {
         goto lab←L100021;
         };
      (void) XR←RaiseError(XR←NarrowFault, 0);
      lab←L100021: ;
      voiceList←v4892 = var←c19072;
      };
SOURCE(5367, 100)
   if ((voiceList←v4892 != 0)) {
SOURCE(5389, 78)
      (void) RegisterFileInterests←P360(globalName←v4864, createDate←v4920, voiceList←v4892, (* (( (ptr) gf←c19552)+4)/* backgroundCommentary←v3140 */  ))
      ;
      };
SOURCE(5469, 42)
   {
      word pd76;
      pd76 = (* (( (ptr) (* (( (ptr) gf←c19552)+63)/* var←c18976 */  ))+28) );
      (void) ( *( (fPt) ((*  (ptr) pd76 ))))(viewer←v14056, (* (( (ptr) gf←c19552)+31) ), 0, pd76);
      };
SOURCE(5513, 96)
   {
      word var←c19104;
      {
         word pd77;
         pd77 = (* (( (ptr) (* (( (ptr) gf←c19552)+63)/* var←c18976 */  ))+29) );
         var←c19104 = (word) ( *( (fPt) ((*  (ptr) pd77 ))))(viewer←v14056, (* (( (ptr) gf←c19552)+32) ), pd77);
         };
      {
         word pd78;
         pd78 = (* (( (ptr) (* (( (ptr) gf←c19552)+64)/* var←c19008 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd78 ))))(var←c19104, 0, pd78);
         };
      };
SOURCE(5611, 46)
   {
      word pd79;
      pd79 = (* (( (ptr) (* (( (ptr) gf←c19552)+63)/* var←c18976 */  ))+28) );
      (void) ( *( (fPt) ((*  (ptr) pd79 ))))(viewer←v14056, (* (( (ptr) gf←c19552)+32) ), 0, pd79);
      };
SOURCE(5099, 558)
   return(abort←v14156);
   }

static void NoName←Q1488(formal←c0114, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0114;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0142 =  (ptr) &globalframe;
   if ((formal←c200005 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0142)+55)/* var←c18400 */  ))+4) ) ))) {
      {
         W4 error←v17076;
         error←v17076 = (*  (W4Pt) formal←c200007 );
SOURCE(4120, 63)
         if ((error←v17076.f0 != 4)) {
            /* removed tail goto */ 
            }
         else {
SOURCE(4160, 23)
            (* (( (ptr) formal←c200004)+5) ) = error←v17076.f2;
SOURCE(4185, 9)
            (*  (ptr) formal←c0114 ) = 2;
            (* (( (ptr) formal←c0114)+1) ) = 3;
            return;
            };
         };
      }
   else {
      if ((formal←c200005 == (* (( (ptr) gf←c0142)+5)/* LocalFile←v3196 */  ))) {
SOURCE(4211, 55)
         (* (( (ptr) formal←c200004)+5) ) = (* (( (ptr) gf←c0142)+28) );
SOURCE(4268, 9)
         (*  (ptr) formal←c0114 ) = 2;
         (* (( (ptr) formal←c0114)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0114 ) = 0;
   (* (( (ptr) formal←c0114)+1) ) = 0;
   return;
   }

static void NoName←Q1548(formal←c0120, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0120;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0143 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0143)+62)/* var←c18912 */  ))+4) ))) {
      {
         word errorMsg←v17184;
         errorMsg←v17184 = (*  (ptr) formal←c200011 );
SOURCE(4375, 14)
         (* (( (ptr) (*  (ptr) formal←c200008 ))+5) ) = errorMsg←v17184;
SOURCE(4391, 9)
         (*  (ptr) formal←c0120 ) = 2;
         (* (( (ptr) formal←c0120)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0120 ) = 0;
   (* (( (ptr) formal←c0120)+1) ) = 0;
   return;
   }

static void NoName←Q1608(formal←c0126, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0126;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0144 =  (ptr) &globalframe;
   if ((formal←c200001 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0144)+55)/* var←c18400 */  ))+4) ) ))) {
      {
         W4 error←v16688;
         error←v16688 = (*  (W4Pt) formal←c200003 );
SOURCE(1932, 10)
         (*  (ptr) formal←c0126 ) = 2;
         (* (( (ptr) formal←c0126)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0126 ) = 0;
   (* (( (ptr) formal←c0126)+1) ) = 0;
   return;
   }

/* file: VoiceInterestImpl, module: VoiceInterestImpl, compiled at: June 7, 1992 11:36:35 am PDT */ 
extern void XR←install←VoiceInterestImpl() {
   NoName←Q1248();
   }
extern void XR←run←VoiceInterestImpl() { XR←Start(&globalframe); }