/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: April 21, 1992 12:54:41 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XlAsciiInputImpl, module: XlAsciiInputImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3221998953,32288589] XlAsciiInputImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4;} W5;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define IABS(i) ( ((int)(word)(i) > 0) ? (i) : (word)(-(int)(word)(i)) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q1788();
static void XlAsciiInputImpl←P0();
static void BroadCast←P60();
static word NoName←Q1848();
static word GetBuffer←P120();
static void DisposeBuffer←P180();
static word EnableAsciiInput←P240();
static void EventProc←P300();
static word NoName←Q1908();
static void TypeIn←P360();
static word NoName←Q1968();
static word EachChar←P1212();
static void QueueChar←P420();
static word NoName←Q2028();
static void InternalQueueChar←P480();
static word CharAvailable←P540();
static void EntryCharAvailable←P1320();
static word NoName←Q2088();
static word GetChar←P600();
static void EntryGetChar←P1380();
static word NoName←Q2148();
static void ResetBuffer←P660();
static word NoName←Q2208();
static void InitCond←P720();
static word NoName←Q2268();
static void NoName←Q2328();
static void NoName←Q2388();
static void NoName←Q2448();
static void NoName←Q2508();
static void NoName←Q2568();
static void NoName←Q2628();
static void NoName←Q2688();
static void NoName←Q2748();
static struct {unsigned f; char r[44];} string1 = {2752556, "\260\006\005\146\151\162\163\164\257\300\233\221\325\046\300\135\160\307\206\100\200\005\004\162\145\163\164\214\257\300\233\221\325\046\300\135\160\307\206\100\200\261\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\300\013\315\151\300\001\354\257\115\100\200\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\003 \000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\300\013\315\151\300\001\354\257\115\100\214\000\000"};
static struct {unsigned f; char r[4];} string6 = {196611, "\004@\320"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\107\320\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\016\000"};
static struct {unsigned f; char r[4];} string9 = {65540, "\243\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string11 = {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];} string12 = {851984, "\257\300\300\013\315\151\300\001\354\257\115\100\164\000\000"};
static struct {unsigned f; char r[12];} string13 = {655370, "\006\003\040\001\100\100\001\100\104\001\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\072\360\036\365\300\334\030\146\334\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\130\354\167\377\300\226\325\031\150\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\151\002\164\071\300\061\276\320\272\100\150\000\000"};
static struct {
   word f0[26]; word f26; word f27; word f28; 
   word f29; word f30; word f31; word f32; 
   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[7]; 
   } globalframe = {
   {0}, (word) InitCond←P720, 0, (word) ResetBuffer←P660, 
   0, (word) GetChar←P600, 0, (word) CharAvailable←P540, 
   0, (word) InternalQueueChar←P480, 0, (word) QueueChar←P420, 
   0, (word) TypeIn←P360, 0, (word) EventProc←P300, 
   0, (word) EnableAsciiInput←P240, 0, (word) DisposeBuffer←P180, 
   0, (word) GetBuffer←P120, 0, (word) BroadCast←P60, 
   0, (word) XlAsciiInputImpl←P0, {0}
   };

static void NoName←Q1788()
   {
   register ptr gf←c0146 =  (ptr) &globalframe;
   word var←c16492;
   (* (( (ptr) gf←c0146)+18) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0146)+20) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0146)+21) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0146)+22) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0146)+23) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c0146)+24) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (void) XR←DeclareGlobalFrame((word) "XlAsciiInputImpl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
      , (word) (( (bPt) gf←c0146)+200)/* var←c15436 */ );
   var←c16492 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string14)), 22);
   (* (( (ptr) gf←c0146)+56)/* var←c16204 */  ) = var←c16492;
   (void) XR←ImportProcS(var←c16492, 67371521);
   (void) XR←ImportProcS(var←c16492, 524546);
   (void) XR←ImportProcS(var←c16492, 3584);
   var←c16492 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string15)), 43);
   (* (( (ptr) gf←c0146)+55)/* var←c15980 */  ) = var←c16492;
   (void) XR←ImportProcS(var←c16492, 68163076);
   var←c16492 = (word) XR←ImportInterface((word) "XlAscii", (word) XR←GetTypeIndexS((word) (&string16)), 3);
   (* (( (ptr) gf←c0146)+53)/* var←c15724 */  ) = var←c16492;
   (void) XR←ImportProcS(var←c16492, 269484036);
   var←c16492 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string17)), 218);
   (* (( (ptr) gf←c0146)+52)/* var←c15468 */  ) = var←c16492;
   (void) XR←ImportProcS(var←c16492, 1329157);
   (void) XR←ImportProcS(var←c16492, 67910403);
   (void) XR←ImportProcS(var←c16492, 68207876);
   var←c16492 = (word) XR←ImportInterface((word) "XlCutBuffers", (word) XR←GetTypeIndexS((word) (&string18)), 2);
   (* (( (ptr) gf←c0146)+54)/* var←c15788 */  ) = var←c16492;
   (void) XR←ImportProcS(var←c16492, 67633154);
   var←c16492 = (word) XR←ExportInterface((word) "XlAsciiInput", (word) XR←GetTypeIndexS((word) (&string19)), 6);
   (* (( (ptr) gf←c0146)+57)/* var←c16524 */  ) = var←c16492;
   (void) XR←ExportVar(var←c16492, 0, (word) (( (bPt) gf←c0146)+100)/* var←c15020 */ );
   (void) XR←ExportProcS(var←c16492, (word) (( (bPt) gf←c0146)+168)/* var←c15308 */ , 67633410);
   (void) XR←ExportProcS(var←c16492, (word) (( (bPt) gf←c0146)+128)/* var←c15148 */ , 67633666);
   (void) XR←ExportProcS(var←c16492, (word) (( (bPt) gf←c0146)+120)/* var←c15116 */ , 67633922);
   (void) XR←ExportProcS(var←c16492, (word) (( (bPt) gf←c0146)+152)/* var←c15244 */ , 525314);
   (void) XR←ExportProcS(var←c16492, (word) (( (bPt) gf←c0146)+112)/* var←c15084 */ , 263425);
   }

static void XlAsciiInputImpl←P0(formal←c035, formal←c032)
   word formal←c035;
   word formal←c032;
   {
   register ptr gf←c16556 =  (ptr) &globalframe;
   /* XlAsciiInputImpl: */ 
SOURCE(104, 4975)
SOURCE(239, 64)
   {
      word pd20;
      pd20 = (* (( (ptr) (* (( (ptr) gf←c16556)+52)/* var←c15468 */  ))+201) );
      (* (( (ptr) gf←c16556)+8)/* events←v2804 */  ) = (word) ( *( (fPt) ((*  (ptr) pd20 ))))(17, 2, 35, 35, pd20);
      };
SOURCE(1473, 15)
   {
      word var←c15500;
      word var←c15532;
      var←c15500 = XR←NewObject(8, (* (( (ptr) gf←c16556)+18) ));
      var←c15532 = var←c15500;
      (*  (ptr) var←c15532 ) = 268828532;
      (* (( (ptr) var←c15532)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16556)+18) ));
      var←c15532 = (* (( (ptr) var←c15532)+1) );
      (*  (ptr) var←c15532 ) = 268762884;
      (* (( (ptr) var←c15532)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16556)+18) ));
      var←c15532 = (* (( (ptr) var←c15532)+1) );
      (*  (ptr) var←c15532 ) = 268500740;
      (* (( (ptr) gf←c16556)+17)/* listWithPaste←v3140 */  ) = var←c15500;
      };
SOURCE(5069, 10)
   (void) InitCond←P720();
   }

static void BroadCast←P60()
   {
   W4 var←c16588;
   register ptr gf←c16620 =  (ptr) &globalframe;
   /* BroadCast: */ 
SOURCE(325, 66)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c16620)+16)/* LOCK←v2776 */ ));
SOURCE(353, 38)
   {
      word var←c0187;
      var←c0187 = (word) &var←c16588;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q1848) ), ( ((word)  (fPt) NoName←Q2748) ), var←c0187);
      };
SOURCE(325, 66)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c16620)+16)/* LOCK←v2776 */ ));
   return;
   }

static word NoName←Q1848(formal←c0150)
   word formal←c0150;
   {
   register ptr gf←c0149 =  (ptr) &globalframe;
SOURCE(376, 15)
   (void) (XR←Broadcast((word) (( (bPt) gf←c0149)+36)/* check←v2832 */ ));
   return(0);
   }

static word GetBuffer←P120()
   {
   register ptr gf←c16652 =  (ptr) &globalframe;
   word buff←v3872;
   /* GetBuffer: */ 
SOURCE(793, 191)
SOURCE(793, 191)
   buff←v3872 = 0;
SOURCE(852, 132)
   if (((* (( (ptr) gf←c16652)+16)/* unused←v3028 */  ) == 0)) {
SOURCE(871, 24)
      buff←v3872 = XR←NewObject(132, (* (( (ptr) gf←c16652)+20) ));
      }
   else {
SOURCE(897, 13)
      buff←v3872 = (* (( (ptr) gf←c16652)+16)/* unused←v3028 */  );
SOURCE(912, 18)
      (* (( (ptr) gf←c16652)+16)/* unused←v3028 */  ) = (* (( (ptr) buff←v3872)+32) );
SOURCE(932, 22)
      (* (( (ptr) buff←v3872)+1) ) = 0;
      (*  (ptr) buff←v3872 ) = 0;
SOURCE(956, 15)
      (* (( (ptr) buff←v3872)+32) ) = 0;
SOURCE(973, 11)
      (* (( (ptr) gf←c16652)+15)/* cnt←v3000 */  ) = ((* (( (ptr) gf←c16652)+15)/* cnt←v3000 */  ) - 1);
      };
SOURCE(793, 191)
   return(buff←v3872);
   }

static void DisposeBuffer←P180(buff←v3944)
   word buff←v3944;
   {
   register ptr gf←c16684 =  (ptr) &globalframe;
   /* DisposeBuffer: */ 
SOURCE(993, 126)
SOURCE(1045, 74)
   if ( ( (buff←v3944 != 0) ? ( (int)(* (( (ptr) gf←c16684)+15)/* cnt←v3000 */  ) <  (int)4) : 0 ) ) {
SOURCE(1073, 11)
      (* (( (ptr) gf←c16684)+15)/* cnt←v3000 */  ) = ((* (( (ptr) gf←c16684)+15)/* cnt←v3000 */  ) + 1);
SOURCE(1086, 18)
      (* (( (ptr) buff←v3944)+32) ) = (* (( (ptr) gf←c16684)+16)/* unused←v3028 */  );
SOURCE(1106, 13)
      (* (( (ptr) gf←c16684)+16)/* unused←v3028 */  ) = buff←v3944;
      };
   }

static word EnableAsciiInput←P240(c←v4016, w←v4044)
   word c←v4016;
   word w←v4044;
   {
   register ptr gf←c16716 =  (ptr) &globalframe;
   word var←c4088;
   word h←v4844;
   word match←v4872;
   /* EnableAsciiInput: */ 
SOURCE(1129, 338)
SOURCE(1213, 62)
   h←v4844 = XR←NewObject(36, (* (( (ptr) gf←c16716)+21) ));
   (* (( (ptr) h←v4844)+4) ) = c←v4016;
   (* (( (ptr) h←v4844)+5) ) = w←v4044;
   (* (( (ptr) h←v4844)+8) ) = 1;
SOURCE(1277, 90)
   {
      word var←c15628;
      word var←c15660;
      {
         word pd21;
         pd21 = (* (( (ptr) (* (( (ptr) gf←c16716)+52)/* var←c15468 */  ))+63) );
         var←c15628 = (word) ( *( (fPt) ((*  (ptr) pd21 ))))(0, 0, 0, pd21);
         };
      var←c15660 = XR←NewObject(16, (* (( (ptr) gf←c16716)+22) ));
      (*  (ptr) var←c15660 ) = (word) (( (bPt) gf←c16716)+160)/* var←c15276 */ ;
      (* (( (ptr) var←c15660)+1) ) = (* (( (ptr) gf←c16716)+8)/* events←v2804 */  );
      (* (( (ptr) var←c15660)+2) ) = var←c15628;
      (* (( (ptr) var←c15660)+3) ) = h←v4844;
      match←v4872 = var←c15660;
      };
SOURCE(1369, 86)
   {
      word pd22;
      pd22 = (* (( (ptr) (* (( (ptr) gf←c16716)+52)/* var←c15468 */  ))+76) );
      (void) ( *( (fPt) ((*  (ptr) pd22 ))))(c←v4016, w←v4044, match←v4872, 131075, 0, pd22);
      };
SOURCE(1457, 10)
   return(h←v4844);
   }

static void EventProc←P300(formal←c0215, formal←c0216, tq←v7356)
   word formal←c0215;
   word formal←c0216;
   word tq←v7356;
   {
   W6 var←c16748;
   /* declaration of event←v7300 skipped */ 
   /* declaration of clientData←v7328 skipped */ 
   var←c16748.f4/* event←v7300 */  = formal←c0215;
   var←c16748.f5/* clientData←v7328 */  = formal←c0216;
   /* EventProc: */ 
SOURCE(1568, 756)
SOURCE(1595, 729)
SOURCE(1597, 687)
   {
      word var←c01;
      {
         word var←c0188;
         var←c0188 = (word) &var←c16748;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1908) ), ( ((word)  (fPt) NoName←Q2688) ), var←c0188);
         };
      if ((var←c01 == 2)) {
         goto lab←L100002;
         }
      else {
         if ((var←c01 == 1)) {
            goto lab←L03;
            };
         };
      };
   goto lab←L100006;
   lab←L100002: ;
   lab←L100006: ;
   lab←L03: ;
   return;
   }

static word NoName←Q1908(formal←c0155)
   word formal←c0155;
   {
   register ptr gf←c0154 =  (ptr) &globalframe;
SOURCE(1628, 37)
   {
      word h←v4928;
SOURCE(1628, 37)
      h←v4928 = XR←Narrow((* (( (ptr) formal←c0155)+5) ), (* (( (ptr) gf←c0154)+21) ));
SOURCE(1667, 617)
      {
         word var←c15692;
         var←c15692 = (* (( (ptr) formal←c0155)+4) );
         if ((var←c15692 == 0)) {
            goto lab←L100005;
            };
         {
            word var←c15820;
            var←c15820 = (* (( (ptr) var←c15692)+4) );
            if ((var←c15820 == 2)) {
               {
                  word keyPress←v4984;
                  keyPress←v4984 = var←c15692;
SOURCE(1717, 457)
                  {
                     word char←v5028;
                     word keysym←v5056;
                     word matched←v5084;
                     word isModifier←v5112;
SOURCE(1788, 155)
                     {
                        W4 var←c15756;
                        {
                           word pd23;
                           pd23 = (* (( (ptr) (* (( (ptr) gf←c0154)+53)/* var←c15724 */  ))+4) );
                           (void) ( *( (fPt) ((*  (ptr) pd23 ))))((word) &var←c15756, (* (( (ptr) (* (( (ptr) formal←c0155)+4) ))+2) ), (* (( (ptr) keyPress←v4984)+5)
/*1*/    ), (* (( (ptr) keyPress←v4984)+15) ), (* (( (ptr) gf←c0154)+17)/* listWithPaste←v3140 */  ), pd23);
                           };
                        isModifier←v5112 = var←c15756.f3;
                        matched←v5084 = var←c15756.f2;
                        keysym←v5056 = var←c15756.f1;
                        char←v5028 = var←c15756.f0;
                        };
SOURCE(1945, 25)
                     if ((0 != isModifier←v5112)) {
SOURCE(1964, 6)
                        return(1);
                        };
SOURCE(1972, 163)
                     switch (matched←v5084) {
                        case 268828532: case 268762884: case 268500740: 
SOURCE(2066, 69)
                           {
/*1*/   word r←v5156;
SOURCE(2068, 44)
/*1*/   {
/*1*/      word pd24;
/*1*/      pd24 = (* (( (ptr) (* (( (ptr) gf←c0154)+54)/* var←c15788 */  ))+4) );
/*1*/      r←v5156 = (word) ( *( (fPt) ((*  (ptr) pd24 ))))((* (( (ptr) (* (( (ptr) formal←c0155)+4) ))+2) ), 0, pd24);
/*1*/      };
SOURCE(2114, 12)
/*1*/   (void) TypeIn←P360(h←v4928, r←v5156);
SOURCE(2128, 7)
/*1*/   return(1);
/*1*/   };
                        };
SOURCE(2138, 34)
                     if ((char←v5028 != 0)) {
SOURCE(2154, 18)
                        (void) QueueChar←P420(h←v4928, char←v5028);
                        };
                     };
                  };
               }
            else {
               if ((var←c15820 == 17)) {
                  {
                     word destroyNotify←v5200;
                     destroyNotify←v5200 = var←c15692;
SOURCE(2216, 68)
                     if (((* (( (ptr) destroyNotify←v5200)+7) ) == (* (( (ptr) h←v4928)+5) ))) {
SOURCE(2256, 15)
                        (* (( (ptr) h←v4928)+8) ) = 0;
SOURCE(2273, 11)
                        (void) BroadCast←P60();
                        };
                     };
                  }
               else {
                  lab←L100005: ;
                  };
               };
            };
         };
      };
   return(0);
   }

static void TypeIn←P360(formal←c0217, formal←c0218)
   word formal←c0217;
   word formal←c0218;
   {
   W9 var←c16780;
   /* declaration of handle←v4232 skipped */ 
   /* declaration of chars←v4260 skipped */ 
   register ptr gf←c16812 =  (ptr) &globalframe;
   /* declaration of var←c15852 skipped */ 
   (* (( (ptr) &var←c16780)+4)/* handle←v4232 */  ) = formal←c0217;
   (* (( (ptr) &var←c16780)+5)/* chars←v4260 */  ) = formal←c0218;
   /* TypeIn: */ 
SOURCE(2329, 316)
   {
      word tmpAddr25;
      tmpAddr25 = (word) (( (ptr) &var←c16780)+6)/* var←c15852 */ ;
      (*  (ptr) tmpAddr25 ) = ( ((word)  (fPt) EachChar←P1212) );
      (* (( (ptr) tmpAddr25) + 1) ) = 1;
      };
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c16812)+16)/* LOCK←v2776 */ ));
SOURCE(2388, 257)
   {
      /* declaration of h←v5244 skipped */ 
      {
         word var←c0189;
         var←c0189 = (word) &var←c16780;
          (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q1968) ), ( ((word)  (fPt) NoName←Q2628) ), var←c0189);
         };
      };
SOURCE(2329, 316)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c16812)+16)/* LOCK←v2776 */ ));
   return;
   }

static word NoName←Q1968(formal←c0158)
   word formal←c0158;
   {
   register ptr gf←c0157 =  (ptr) &globalframe;
SOURCE(2411, 234)
   {
      word var←c15884;
      var←c15884 = (* (( (ptr) formal←c0158)+4) );
      if ((var←c15884 == 0)) {
         goto lab←L100009;
         };
      if (((* (( (ptr) gf←c0157)+21) ) == XR←GetReferentType(var←c15884))) {
         (* (( (ptr) formal←c0158)+8) ) = var←c15884;
SOURCE(2457, 188)
         {
            word var←c15916;
            word var←c15948;
            var←c15916 = (* (( (ptr) formal←c0158)+5) );
            if ((var←c15916 == 0)) {
               goto lab←L100010;
               };
            var←c15948 = XR←GetReferentType(var←c15916);
            {
               word tc26;
               if (((* (( (ptr) gf←c0157)+23) ) == var←c15948)) {
                  {
                     word ch←v5300;
                     ch←v5300 = var←c15916;
SOURCE(2496, 25)
                     (void) InternalQueueChar←P480((* (( (ptr) formal←c0158)+8) ), (*  (ptr) ch←v5300 ));
                     };
                  }
               else {
                  if (((* (( (ptr) gf←c0157)+24) ) == var←c15948)) {
                     tc26 =  (word) ((*(int*)var←c15916<0) == 0);
                     }
                  else {
                     tc26 =  (word) 0;
                     };
                  if (tc26) {
                     {
                        word r←v5356;
                        r←v5356 = var←c15916;
SOURCE(2539, 108)
SOURCE(2605, 40)
                        {
                           word var←c16012;
                           word pd27;
                           pd27 = (* (( (ptr) (* (( (ptr) gf←c0157)+55)/* var←c15980 */  ))+26) );
                           var←c16012 = (word) ( *( (fPt) ((*  (ptr) pd27 ))))(r←v5356, 0, 2147483647, (word) (( (bPt) formal←c0158)+24), pd27);
                           };
                        };
                     }
                  else {
                     lab←L100010: ;
                     };
                  };
               };
            };
         }
      else {
         lab←L100009: ;
         };
      };
   return(0);
   }

static word EachChar←P1212(c←v11204, formal←c16844)
   word c←v11204;
   word formal←c16844;
   {
   word quit←v11248;
   formal←c16844 = (formal←c16844 - 24);
   /* EachChar: */ 
SOURCE(2541, 37)
SOURCE(2541, 37)
   quit←v11248 = 0;
SOURCE(2579, 23)
   (void) InternalQueueChar←P480((* (( (ptr) formal←c16844)+8) ), c←v11204);
SOURCE(2541, 37)
   return(quit←v11248);
   }

static void QueueChar←P420(formal←c0219, formal←c0220)
   word formal←c0219;
   word formal←c0220;
   {
   W6 var←c16876;
   /* declaration of h←v4336 skipped */ 
   /* declaration of ch←v4364 skipped */ 
   register ptr gf←c16908 =  (ptr) &globalframe;
   var←c16876.f4/* h←v4336 */  = formal←c0219;
   var←c16876.f5/* ch←v4364 */  = formal←c0220;
   /* QueueChar: */ 
SOURCE(2687, 103)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c16908)+16)/* LOCK←v2776 */ ));
SOURCE(2742, 48)
   {
      word var←c0190;
      var←c0190 = (word) &var←c16876;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2028) ), ( ((word)  (fPt) NoName←Q2568) ), var←c0190);
      };
SOURCE(2687, 103)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c16908)+16)/* LOCK←v2776 */ ));
   return;
   }

static word NoName←Q2028(formal←c0161)
   word formal←c0161;
   {
SOURCE(2765, 25)
   (void) InternalQueueChar←P480((* (( (ptr) formal←c0161)+4) ), (* (( (ptr) formal←c0161)+5) ));
   return(0);
   }

static void InternalQueueChar←P480(h←v4436, ch←v4464)
   word h←v4436;
   word ch←v4464;
   {
   register ptr gf←c16940 =  (ptr) &globalframe;
   /* InternalQueueChar: */ 
SOURCE(2794, 402)
SOURCE(2860, 42)
   if ((ch←v4464 == 0)) {
SOURCE(2879, 15)
      (void) (XR←Broadcast((word) (( (bPt) gf←c16940)+36)/* check←v2832 */ ));
SOURCE(2896, 6)
      return;
      };
SOURCE(2905, 85)
   if (((* (( (ptr) h←v4436)+6) ) == 0)) {
SOURCE(2926, 66)
      {
         word buff←v5444;
SOURCE(2928, 30)
         buff←v5444 = (word) GetBuffer←P120();
SOURCE(2960, 30)
         (* (( (ptr) h←v4436)+7) ) = buff←v5444;
         (* (( (ptr) h←v4436)+6) ) = buff←v5444;
         };
      };
SOURCE(2995, 103)
   if (( (int)(*  (ptr) (* (( (ptr) h←v4436)+7) ) ) >=  (int)120)) {
SOURCE(3033, 31)
      (* (( (ptr) (* (( (ptr) h←v4436)+7) ))+32) ) = (word) GetBuffer←P120();
SOURCE(3066, 32)
      (* (( (ptr) h←v4436)+7) ) = (* (( (ptr) (* (( (ptr) h←v4436)+7) ))+32) );
      };
SOURCE(3103, 39)
   {
      word idx28;
      (* ((( (bPt) (* (( (ptr) h←v4436)+7) ))+8)+(
            idx28 = (*  (ptr) (* (( (ptr) h←v4436)+7) ) ),
            BCK(idx28, 120)
            )) ) = ch←v4464;
      };
SOURCE(3144, 35)
   (*  (ptr) (* (( (ptr) h←v4436)+7) ) ) = ((*  (ptr) (* (( (ptr) h←v4436)+7) ) ) + 1);
SOURCE(3181, 15)
   (void) (XR←Broadcast((word) (( (bPt) gf←c16940)+36)/* check←v2832 */ ));
   }

static word CharAvailable←P540(handle←v4536, formal←c0221)
   word handle←v4536;
   word formal←c0221;
   {
   W9 var←c16972;
   /* declaration of wait←v4564 skipped */ 
   register ptr gf←c17004 =  (ptr) &globalframe;
   /* declaration of n←v4608 skipped */ 
   /* declaration of var←c16076 skipped */ 
   /* declaration of h←v5528 skipped */ 
   (* (( (ptr) &var←c16972)+4)/* wait←v4564 */  ) = formal←c0221;
   /* CharAvailable: */ 
SOURCE(3202, 725)
   {
      word tmpAddr29;
      tmpAddr29 = (word) (( (ptr) &var←c16972)+6)/* var←c16076 */ ;
      (*  (ptr) tmpAddr29 ) = ( ((word)  (fPt) EntryCharAvailable←P1320) );
      (* (( (ptr) tmpAddr29) + 1) ) = 1;
      };
SOURCE(3202, 725)
   (* (( (ptr) &var←c16972)+5)/* n←v4608 */  ) = 0;
SOURCE(3761, 33)
   (* (( (ptr) &var←c16972)+8)/* h←v5528 */  ) = XR←Narrow(handle←v4536, (* (( (ptr) gf←c17004)+21) ));
   {
      word var←c16108;
      word c←v14972;
SOURCE(3796, 65)
      if ((0 == (* (( (ptr) (* (( (ptr) &var←c16972)+8)/* h←v5528 */  ))+8) ))) { goto then030;};
      c←v14972 = (* (( (ptr) (* (( (ptr) &var←c16972)+8)/* h←v5528 */  ))+4) );
      if ((c←v14972 != 0)) {
         var←c16108 = (0 != (* (( (ptr) c←v14972)+15) ));
         }
      else {
         var←c16108 = 0;
         };
      if ((0 == var←c16108)) {
         then030: ;
SOURCE(3840, 21)
         (void) XR←RaiseError((word) (( (bPt) gf←c17004)+100)/* var←c15020 */ , 0);
         };
SOURCE(3863, 41)
      if ( ( ((* (( (ptr) (* (( (ptr) &var←c16972)+8)/* h←v5528 */  ))+6) ) == 0) ? (0 == (* (( (ptr) &var←c16972)+4)/* wait←v4564 */  )) : 0 ) ) {
SOURCE(3894, 10)
         return(0);
         };
SOURCE(3906, 21)
      (void) EntryCharAvailable←P1320((word) ((( (bPt) &var←c16972)+24)/* var←c16076 */ ));
      };
SOURCE(3202, 725)
   return((* (( (ptr) &var←c16972)+5)/* n←v4608 */  ));
   }

static void EntryCharAvailable←P1320(formal←c17100)
   word formal←c17100;
   {
   W5 var←c17036;
   register ptr gf←c17068 =  (ptr) &globalframe;
   /* declaration of var←c16172 skipped */ 
   word var←c16236;
   formal←c17100 = (formal←c17100 - 24);
   var←c17036.f0 = formal←c17100;
   /* EntryCharAvailable: */ 
SOURCE(3291, 467)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c17068)+16)/* LOCK←v2776 */ ));
SOURCE(3327, 431)
SOURCE(3329, 382)
   {
      word var←c02;
      {
         word var←c0191;
         var←c0191 = (word) &var←c17036;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2088) ), ( ((word)  (fPt) NoName←Q2508) ), var←c0191);
         };
      if ((var←c02 == 4)) {
         goto lab←L100014;
         }
      else {
         if ((var←c02 == 3)) {
            goto lab←L100021;
            };
         };
      };
   goto lab←L100022;
   lab←L100014: ;
SOURCE(3731, 25)
   var←c16236 = XR←Aborted;
   (void) (XR←MonitorExit((word) (( (bPt) gf←c17068)+16)/* LOCK←v2776 */ ));
   goto lab←L100023;
   lab←L100022: ;
SOURCE(3291, 467)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c17068)+16)/* LOCK←v2776 */ ));
   return;
   /* c2c skipped dead code */ 
   lab←L100021: ;
SOURCE(3502, 33)
   (void) XR←RaiseError(var←c17036.f4/* var←c16172 */ , 0);
   lab←L100023: ;
SOURCE(3731, 25)
   (void) XR←RaiseError(var←c16236, 0);
   }

static word NoName←Q2088(formal←c0167)
   word formal←c0167;
   {
   register ptr gf←c0166 =  (ptr) &globalframe;
SOURCE(3379, 332)
   if ((0 != (* (( (ptr) (*  (ptr) formal←c0167 ))+4) ))) {
SOURCE(3395, 165)
      lab←L100019: ;
      if (((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+6) ) == 0) || ( (int)(* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8)
             ))+6) ))+1) ) >=  (int)(*  (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+6) ) ))) {
         }
      else {
         goto lab←L100017;
         };
      {
         word var←c16140;
         word c←v14924;
SOURCE(3446, 10)
         (void) (XR←Wait((word) (( (bPt) gf←c0166)+16)/* LOCK←v2776 */ , (word) (( (bPt) gf←c0166)+36)/* check←v2832 */ ));
SOURCE(3458, 77)
         if ((0 == (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+8) ))) { goto then031;};
         c←v14924 = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+4) );
         if ((c←v14924 != 0)) {
            var←c16140 = (0 != (* (( (ptr) c←v14924)+15) ));
            }
         else {
            var←c16140 = 0;
            };
         if ((0 == var←c16140)) {
            then031: ;
SOURCE(3502, 33)
            (* (( (ptr) formal←c0167)+4) ) = (word) (( (bPt) gf←c0166)+100)/* var←c15020 */ ;
            (void) (XR←MonitorExit((word) (( (bPt) gf←c0166)+16)/* LOCK←v2776 */ ));
            return(3);
            };
SOURCE(3537, 23)
         {
            word pd32;
            pd32 = (* (( (ptr) (* (( (ptr) gf←c0166)+56)/* var←c16204 */  ))+18) );
            (void) ( *( (fPt) ((*  (ptr) pd32 ))))(pd32);
            };
         };
      goto lab←L100019;
      lab←L100017: ;
SOURCE(3571, 33)
      {
         word x33;
         word idx34;
         (* (( (ptr) (*  (ptr) formal←c0167 ))+5) ) = (
            idx34 = (word) (
               x33 = ((*  (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+6) ) ) - (* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8)
                      ))+6) ))+1) )),
               IABS(x33)
               ),
            SGNCK(idx34)
            );
         };
      }
   else {
SOURCE(3615, 96)
      if (((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+6) ) == 0) || ( (int)(* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8)
             ))+6) ))+1) ) >=  (int)(*  (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+6) ) ))) {
SOURCE(3666, 12)
         (* (( (ptr) (*  (ptr) formal←c0167 ))+5) ) = 0;
         }
      else {
SOURCE(3678, 33)
         {
            word x35;
            word idx36;
            (* (( (ptr) (*  (ptr) formal←c0167 ))+5) ) = (
               idx36 = (word) (
                  x35 = ((*  (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8) ))+6) ) ) - (* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0167 ))+8)
                         ))+6) ))+1) )),
                  IABS(x35)
                  ),
               SGNCK(idx36)
               );
            };
         };
      };
   return(0);
   }

static word GetChar←P600(handle←v4668, formal←c0222)
   word handle←v4668;
   word formal←c0222;
   {
   W9 var←c17132;
   /* declaration of wait←v4696 skipped */ 
   register ptr gf←c17164 =  (ptr) &globalframe;
   /* declaration of ch←v4740 skipped */ 
   /* declaration of var←c16268 skipped */ 
   /* declaration of h←v5628 skipped */ 
   (* (( (ptr) &var←c17132)+4)/* wait←v4696 */  ) = formal←c0222;
   /* GetChar: */ 
SOURCE(3931, 805)
   {
      word tmpAddr37;
      tmpAddr37 = (word) (( (ptr) &var←c17132)+6)/* var←c16268 */ ;
      (*  (ptr) tmpAddr37 ) = ( ((word)  (fPt) EntryGetChar←P1380) );
      (* (( (ptr) tmpAddr37) + 1) ) = 1;
      };
SOURCE(3931, 805)
   (* (( (ptr) &var←c17132)+5)/* ch←v4740 */  ) = 0;
SOURCE(4620, 33)
   (* (( (ptr) &var←c17132)+8)/* h←v5628 */  ) = XR←Narrow(handle←v4668, (* (( (ptr) gf←c17164)+21) ));
   {
      word var←c16300;
      word c←v14876;
SOURCE(4655, 65)
      if ((0 == (* (( (ptr) (* (( (ptr) &var←c17132)+8)/* h←v5628 */  ))+8) ))) { goto then038;};
      c←v14876 = (* (( (ptr) (* (( (ptr) &var←c17132)+8)/* h←v5628 */  ))+4) );
      if ((c←v14876 != 0)) {
         var←c16300 = (0 != (* (( (ptr) c←v14876)+15) ));
         }
      else {
         var←c16300 = 0;
         };
      if ((0 == var←c16300)) {
         then038: ;
SOURCE(4699, 21)
         (void) XR←RaiseError((word) (( (bPt) gf←c17164)+100)/* var←c15020 */ , 0);
         };
SOURCE(4722, 14)
      (void) EntryGetChar←P1380((word) ((( (bPt) &var←c17132)+24)/* var←c16268 */ ));
      };
SOURCE(3931, 805)
   return((* (( (ptr) &var←c17132)+5)/* ch←v4740 */  ));
   }

static void EntryGetChar←P1380(formal←c17260)
   word formal←c17260;
   {
   W5 var←c17196;
   register ptr gf←c17228 =  (ptr) &globalframe;
   /* declaration of var←c16364 skipped */ 
   word var←c16396;
   formal←c17260 = (formal←c17260 - 24);
   var←c17196.f0 = formal←c17260;
   /* EntryGetChar: */ 
SOURCE(4014, 603)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c17228)+16)/* LOCK←v2776 */ ));
SOURCE(4044, 573)
SOURCE(4046, 525)
   {
      word var←c03;
      {
         word var←c0192;
         var←c0192 = (word) &var←c17196;
         var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2148) ), ( ((word)  (fPt) NoName←Q2448) ), var←c0192);
         };
      switch (var←c03) {
         case 6: 
            goto lab←L100026;
         case 5: 
            goto lab←L100033;
         case 1: 
            goto lab←L08;
         };
      };
   goto lab←L100034;
   lab←L100026: ;
SOURCE(4590, 25)
   var←c16396 = XR←Aborted;
   (void) (XR←MonitorExit((word) (( (bPt) gf←c17228)+16)/* LOCK←v2776 */ ));
   goto lab←L100035;
   lab←L100034: ;
SOURCE(4014, 603)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c17228)+16)/* LOCK←v2776 */ ));
   return;
   /* c2c skipped dead code */ 
   lab←L100033: ;
SOURCE(4219, 33)
   (void) XR←RaiseError(var←c17196.f4/* var←c16364 */ , 0);
   lab←L100035: ;
SOURCE(4590, 25)
   (void) XR←RaiseError(var←c16396, 0);
   lab←L08: ;
   return;
   }

static word NoName←Q2148(formal←c0172)
   word formal←c0172;
   {
   register ptr gf←c0171 =  (ptr) &globalframe;
SOURCE(4096, 256)
   if ((0 != (* (( (ptr) (*  (ptr) formal←c0172 ))+4) ))) {
SOURCE(4112, 165)
      lab←L100031: ;
      if (((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ) == 0) || ( (int)(* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8)
             ))+6) ))+1) ) >=  (int)(*  (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ) ))) {
         }
      else {
         goto lab←L100029;
         };
      {
         word var←c16332;
         word c←v14828;
SOURCE(4163, 10)
         (void) (XR←Wait((word) (( (bPt) gf←c0171)+16)/* LOCK←v2776 */ , (word) (( (bPt) gf←c0171)+36)/* check←v2832 */ ));
SOURCE(4175, 77)
         if ((0 == (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+8) ))) { goto then039;};
         c←v14828 = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+4) );
         if ((c←v14828 != 0)) {
            var←c16332 = (0 != (* (( (ptr) c←v14828)+15) ));
            }
         else {
            var←c16332 = 0;
            };
         if ((0 == var←c16332)) {
            then039: ;
SOURCE(4219, 33)
            (* (( (ptr) formal←c0172)+4) ) = (word) (( (bPt) gf←c0171)+100)/* var←c15020 */ ;
            (void) (XR←MonitorExit((word) (( (bPt) gf←c0171)+16)/* LOCK←v2776 */ ));
            return(5);
            };
SOURCE(4254, 23)
         {
            word pd40;
            pd40 = (* (( (ptr) (* (( (ptr) gf←c0171)+56)/* var←c16204 */  ))+18) );
            (void) ( *( (fPt) ((*  (ptr) pd40 ))))(pd40);
            };
         };
      goto lab←L100031;
      lab←L100029: ;
      }
   else {
SOURCE(4296, 56)
      if (((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ) == 0) || ( (int)(* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8)
             ))+6) ))+1) ) >=  (int)(*  (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ) ))) {
SOURCE(4346, 6)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0171)+16)/* LOCK←v2776 */ ));
         return(1);
         };
      };
SOURCE(4358, 32)
   {
      word idx41;
      (* (( (ptr) (*  (ptr) formal←c0172 ))+5) ) = (word) (* ((( (bPt) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6)
             ))+8)+(
            idx41 = (* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ))+1) ),
            BCK(idx41, 120)
            )) );
      };
SOURCE(4392, 29)
   (* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ))+1) ) = ((* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8)
          ))+6) ))+1) ) + 1);
SOURCE(4423, 148)
   if (( (int)(* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ))+1) ) >=  (int)120)) {
SOURCE(4456, 117)
      {
         word buf←v5700;
SOURCE(4458, 26)
         buf←v5700 = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) );
SOURCE(4486, 24)
         (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8)
                ))+6) ))+32) );
SOURCE(4512, 39)
         if (((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+6) ) == 0)) {
SOURCE(4533, 18)
            (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0172 ))+8) ))+7) ) = 0;
            };
SOURCE(4553, 18)
         (void) DisposeBuffer←P180(buf←v5700);
         };
      };
   return(0);
   }

static void ResetBuffer←P660(formal←c0223)
   word formal←c0223;
   {
   W5 var←c17292;
   /* declaration of handle←v4800 skipped */ 
   register ptr gf←c17324 =  (ptr) &globalframe;
   var←c17292.f4/* handle←v4800 */  = formal←c0223;
   /* ResetBuffer: */ 
SOURCE(4742, 175)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c17324)+16)/* LOCK←v2776 */ ));
SOURCE(4794, 123)
   {
      word var←c0193;
      var←c0193 = (word) &var←c17292;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2208) ), ( ((word)  (fPt) NoName←Q2388) ), var←c0193);
      };
SOURCE(4742, 175)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c17324)+16)/* LOCK←v2776 */ ));
   return;
   }

static word NoName←Q2208(formal←c0175)
   word formal←c0175;
   {
   register ptr gf←c0174 =  (ptr) &globalframe;
SOURCE(4817, 100)
   {
      word var←c16428;
      var←c16428 = (* (( (ptr) formal←c0175)+4) );
      if ((var←c16428 == 0)) {
         goto lab←L100039;
         };
      if (((* (( (ptr) gf←c0174)+21) ) == XR←GetReferentType(var←c16428))) {
         {
            word h←v5756;
            h←v5756 = var←c16428;
SOURCE(4863, 23)
            (void) DisposeBuffer←P180((* ((( (ptr) h←v5756)+6)) ));
SOURCE(4888, 29)
            (* (( (ptr) h←v5756)+7) ) = 0;
            (* (( (ptr) h←v5756)+6) ) = 0;
            };
         }
      else {
         lab←L100039: ;
         };
      };
   return(0);
   }

static void InitCond←P720()
   {
   W4 var←c17356;
   register ptr gf←c17388 =  (ptr) &globalframe;
   /* InitCond: */ 
SOURCE(4941, 122)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c17388)+16)/* LOCK←v2776 */ ));
SOURCE(4977, 86)
   {
      word var←c0194;
      var←c0194 = (word) &var←c17356;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2268) ), ( ((word)  (fPt) NoName←Q2328) ), var←c0194);
      };
SOURCE(4941, 122)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c17388)+16)/* LOCK←v2776 */ ));
   return;
   }

static word NoName←Q2268(formal←c0178)
   word formal←c0178;
   {
   register ptr gf←c0177 =  (ptr) &globalframe;
SOURCE(5000, 63)
   {
      word var←c16460;
      {
         word pd42;
         pd42 = (* (( (ptr) (* (( (ptr) gf←c0177)+56)/* var←c16204 */  ))+6) );
         var←c16460 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))(10000, pd42);
         };
      {
         word pd43;
         pd43 = (* (( (ptr) (* (( (ptr) gf←c0177)+56)/* var←c16204 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd43 ))))((word) (( (bPt) gf←c0177)+36)/* check←v2832 */ , var←c16460, pd43);
         };
      };
   return(0);
   }

static void NoName←Q2328(formal←c0109, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
   word formal←c0109;
   word formal←c200028;
   word formal←c200029;
   word formal←c200030;
   word formal←c200031;
   {
   register ptr gf←c0179 =  (ptr) &globalframe;
   if ((formal←c200029 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0179)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0109 ) = 0;
   (* (( (ptr) formal←c0109)+1) ) = 0;
   return;
   }

static void NoName←Q2388(formal←c0114, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
   word formal←c0114;
   word formal←c200024;
   word formal←c200025;
   word formal←c200026;
   word formal←c200027;
   {
   register ptr gf←c0180 =  (ptr) &globalframe;
   if ((formal←c200025 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0180)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0114 ) = 0;
   (* (( (ptr) formal←c0114)+1) ) = 0;
   return;
   }

static void NoName←Q2448(formal←c0119, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
   word formal←c0119;
   word formal←c200020;
   word formal←c200021;
   word formal←c200022;
   word formal←c200023;
   {
   register ptr gf←c0181 =  (ptr) &globalframe;
   if ((formal←c200021 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0181)+16)/* LOCK←v2776 */ ));
      }
   else {
      if ((formal←c200021 == XR←Aborted)) {
SOURCE(4082, 9)
         (*  (ptr) formal←c0119 ) = 2;
         (* (( (ptr) formal←c0119)+1) ) = 6;
         return;
         };
      };
   (*  (ptr) formal←c0119 ) = 0;
   (* (( (ptr) formal←c0119)+1) ) = 0;
   return;
   }

static void NoName←Q2508(formal←c0124, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0124;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c0182 =  (ptr) &globalframe;
   if ((formal←c200017 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0182)+16)/* LOCK←v2776 */ ));
      }
   else {
      if ((formal←c200017 == XR←Aborted)) {
SOURCE(3365, 9)
         (*  (ptr) formal←c0124 ) = 2;
         (* (( (ptr) formal←c0124)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c0124 ) = 0;
   (* (( (ptr) formal←c0124)+1) ) = 0;
   return;
   }

static void NoName←Q2568(formal←c0129, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0129;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0183 =  (ptr) &globalframe;
   if ((formal←c200013 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0183)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0129 ) = 0;
   (* (( (ptr) formal←c0129)+1) ) = 0;
   return;
   }

static void NoName←Q2628(formal←c0134, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0134;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0184 =  (ptr) &globalframe;
   if ((formal←c200009 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0184)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0134 ) = 0;
   (* (( (ptr) formal←c0134)+1) ) = 0;
   return;
   }

static void NoName←Q2688(formal←c0140, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0140;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0185 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0185)+52)/* var←c15468 */  ))+4) ))) {
      {
         word err←v9488;
         err←v9488 = (*  (ptr) formal←c200007 );
SOURCE(1617, 9)
         (*  (ptr) formal←c0140 ) = 2;
         (* (( (ptr) formal←c0140)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0140 ) = 0;
   (* (( (ptr) formal←c0140)+1) ) = 0;
   return;
   }

static void NoName←Q2748(formal←c0145, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0145;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0186 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0186)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0145 ) = 0;
   (* (( (ptr) formal←c0145)+1) ) = 0;
   return;
   }

/* file: XlAsciiInputImpl, module: XlAsciiInputImpl, compiled at: April 21, 1992 12:54:39 pm PDT */ 
extern void XR←install←XlAsciiInputImpl() {
   NoName←Q1788();
   }
extern void XR←run←XlAsciiInputImpl() { XR←Start(&globalframe); }