/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: September 25, 1992 5:56:20 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XTkDBImpl, module: XTkDBImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1571192195,3501018244] XTkDBImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
#define INEG(x)  ( (word) ( - ((int) (word) (x)) ) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
static void NoName←Q1392();
static void XTkDBImpl←P0();
static void ScanGeometry←P60();
static word NoName←Q1452();
static word ScanInt←P120();
static word NoName←Q1512();
static void ScanSize←P180();
static word NoName←Q1572();
static word BuildQueryFromWidget←P240();
static word RecurseDown←P1008();
static word DoQueryFromWidget←P300();
static void GetGeometryFromDB←P360();
static void GetSizeFromDB←P420();
static void NoName←Q1632();
static void NoName←Q1692();
static void NoName←Q1752();
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 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\102\060\000\000"};
static struct {unsigned f; char r[4];} string4 = {65540, "\242\000\000"};
static struct {unsigned f; char r[12];} string5 = {524300, "\210\241\000\300\177\377\377\377\000\000\000"};
static struct {unsigned f; char r[4];} string6 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string7 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string8 = {131076, "bw\000"};
static struct {unsigned f; char r[8];} string9 = {327688, "color\000\000"};
static struct {unsigned f; char r[12];} string10 = {524300, "geometry\000\000\000"};
static struct {unsigned f; char r[8];} string11 = {262152, "size\000\000\000"};
static struct {unsigned f; char r[12];} string12 = {589836, "anyscreen\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\135\246\175\203\300\320\255\114\204\100\164\000\000"};
static struct {unsigned f; char r[8];} string14 = {327685, "\006\001<\004\037\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\047\312\257\214\300\225\003\264\361\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\264\326\343\056\300\340\077\001\214\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\313\123\221\202\300\154\256\060\341\100\150\000\000"};
static struct {
   word f0[20]; word f20; word f21; word f22; 
   word f23; word f24; word f25; word f26; 
   word f27; word f28; word f29; word f30; 
   word f31; word f32; word f33; word f34; 
   word f35[6]; 
   } globalframe = {
   {0}, (word) GetSizeFromDB←P420, 0, (word) GetGeometryFromDB←P360, 
   0, (word) DoQueryFromWidget←P300, 0, (word) BuildQueryFromWidget←P240, 
   0, (word) ScanSize←P180, 0, (word) ScanInt←P120, 
   0, (word) ScanGeometry←P60, 0, (word) XTkDBImpl←P0, 
   {0}
   };

static void NoName←Q1392()
   {
   register ptr gf←c0110 =  (ptr) &globalframe;
   word var←c14204;
   (* (( (ptr) gf←c0110)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0110)+9) ) = (word) XR←GetTypeIndexS((word) (&string3));
   (* (( (ptr) gf←c0110)+10) ) = (word) XR←GetTypeIndexS((word) (&string4));
   (* (( (ptr) gf←c0110)+11) ) = (word) XR←GetTypeIndexS((word) (&string5));
   (* (( (ptr) gf←c0110)+12) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (*  (ptr) (( (bPt) gf←c0110)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0110)+12) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0110)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0110)+12) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0110)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0110)+12) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0110)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0110)+12) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0110)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0110)+12) ), (word) &string12);
   (void) XR←DeclareGlobalFrame((word) "XTkDBImpl", &globalframe, (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14)
      , (word) (( (bPt) gf←c0110)+136)/* var←c13500 */ );
   var←c14204 = (word) XR←ImportInterface((word) "Customize", (word) XR←GetTypeIndexS((word) (&string15)), 19);
   (* (( (ptr) gf←c0110)+37)/* var←c14044 */  ) = var←c14204;
   (void) XR←ImportProcS(var←c14204, 266241);
   (void) XR←ImportProcS(var←c14204, 67634690);
   (void) XR←ImportProcS(var←c14204, 67636738);
   (void) XR←ImportProcS(var←c14204, 67899139);
   (void) XR←ImportProcS(var←c14204, 67635714);
   var←c14204 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string16)), 103);
   (* (( (ptr) gf←c0110)+36)/* var←c13532 */  ) = var←c14204;
   (void) XR←ImportProcS(var←c14204, 67372801);
   (void) XR←ImportProcS(var←c14204, 67653890);
   (void) XR←ImportProcS(var←c14204, 67388417);
   (void) XR←ImportProcS(var←c14204, 67640578);
   var←c14204 = (word) XR←ImportInterface((word) "XlDB", (word) XR←GetTypeIndexS((word) (&string17)), 4);
   (* (( (ptr) gf←c0110)+39)/* var←c14140 */  ) = var←c14204;
   (void) XR←ImportProcS(var←c14204, 67371265);
   var←c14204 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string18)), 33);
   (* (( (ptr) gf←c0110)+38)/* var←c14076 */  ) = var←c14204;
   (void) XR←ImportProcS(var←c14204, 270337);
   var←c14204 = (word) XR←ExportInterface((word) "XTkDB", (word) XR←GetTypeIndexS((word) (&string19)), 7);
   (* (( (ptr) gf←c0110)+40)/* var←c14236 */  ) = var←c14204;
   (void) XR←ExportProcS(var←c14204, (word) (( (bPt) gf←c0110)+104)/* var←c13372 */ , 67633154);
   (void) XR←ExportProcS(var←c14204, (word) (( (bPt) gf←c0110)+96)/* var←c13340 */ , 68157700);
   (void) XR←ExportProcS(var←c14204, (word) (( (bPt) gf←c0110)+128)/* var←c13468 */ , 402915841);
   (void) XR←ExportProcS(var←c14204, (word) (( (bPt) gf←c0110)+112)/* var←c13404 */ , 134480641);
   (void) XR←ExportProcS(var←c14204, (word) (( (bPt) gf←c0110)+120)/* var←c13436 */ , 67372033);
   (void) XR←ExportProcS(var←c14204, (word) (( (bPt) gf←c0110)+88)/* var←c13308 */ , 335807745);
   (void) XR←ExportProcS(var←c14204, (word) (( (bPt) gf←c0110)+80)/* var←c13276 */ , 134481409);
   }

static void XTkDBImpl←P0(formal←c022, formal←c021)
   word formal←c022;
   word formal←c021;
   {
   /* XTkDBImpl: */ 
   }

static void ScanGeometry←P60(formal←c028, formal←c0137)
   word formal←c028;
   word formal←c0137;
   {
   W11 var←c14268;
   /* declaration of val←v3136 skipped */ 
   /* declaration of s←v3196 skipped */ 
   /* declaration of p←v3224 skipped */ 
   /* declaration of xneg←v3252 skipped */ 
   /* declaration of yneg←v3280 skipped */ 
   (* (( (ptr) &var←c14268)+4)/* val←v3136 */  ) = formal←c0137;
   /* ScanGeometry: */ 
SOURCE(219, 909)
SOURCE(219, 909)
   (* (( (ptr) &var←c14268)+5) ) = 2147483648;
   (* (( (ptr) &var←c14268)+6) ) = 2147483648;
SOURCE(219, 909)
   (* (( (ptr) &var←c14268)+7) ) = 2147483648;
   (* (( (ptr) &var←c14268)+8) ) = 2147483648;
SOURCE(219, 909)
   (* (( (ptr) &var←c14268)+9)/* xneg←v3252 */  ) = 0;
SOURCE(219, 909)
   (* (( (ptr) &var←c14268)+10)/* yneg←v3280 */  ) = 0;
SOURCE(372, 756)
SOURCE(374, 720)
   {
      word var←c01;
      {
         word var←c0126;
         var←c0126 = (word) &var←c14268;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1452) ), ( ((word)  (fPt) NoName←Q1752) ), var←c0126);
         };
      if ((var←c01 == 2)) {
         goto lab←L100001;
         };
      };
   goto lab←L100005;
   lab←L100001: ;
   lab←L100005: ;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c028 ) = (*  (W2Pt) (( (ptr) &var←c14268)+5)/* s←v3196 */  );
   (*  (W2Pt) (( (ptr) formal←c028)+2) ) = (*  (W2Pt) (( (ptr) &var←c14268)+7)/* p←v3224 */  );
   (* (( (ptr) formal←c028)+4) ) = (* (( (ptr) &var←c14268)+9)/* xneg←v3252 */  );
   (* (( (ptr) formal←c028)+5) ) = (* (( (ptr) &var←c14268)+10)/* yneg←v3280 */  );
   return;
   }

static word NoName←Q1452(formal←c0112)
   word formal←c0112;
   {
   register ptr gf←c0111 =  (ptr) &globalframe;
SOURCE(420, 674)
   {
      word var←c13564;
      word var←c13596;
      var←c13564 = (* (( (ptr) formal←c0112)+4) );
      if ((var←c13564 == 0)) {
         goto lab←L100004;
         };
      var←c13596 = XR←GetReferentType(var←c13564);
      {
         word tc20;
         if (((* (( (ptr) gf←c0111)+8) ) == var←c13596)) {
            tc20 =  (word) ((*(int*)var←c13564<0) == 0);
            }
         else {
            tc20 =  (word) 0;
            };
         if (tc20) {
            {
               word r←v4080;
               r←v4080 = var←c13564;
SOURCE(457, 608)
               {
                  word i←v4124;
                  word char0←v4152 = 43;
                  word char1←v4180;
                  word stream←v4208;
SOURCE(499, 29)
                  {
                     word pd21;
                     pd21 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+33) );
                     stream←v4208 = (word) ( *( (fPt) ((*  (ptr) pd21 ))))(r←v4080, 0, pd21);
                     };
SOURCE(530, 21)
                  {
                     word pd22;
                     pd22 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+72) );
                     i←v4124 = (word) ( *( (fPt) ((*  (ptr) pd22 ))))(stream←v4208, pd22);
                     };
SOURCE(553, 30)
                  {
                     word var←c13628;
                     word pd23;
                     pd23 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+85) );
                     var←c13628 = (word) ( *( (fPt) ((*  (ptr) pd23 ))))(stream←v4208, 1, pd23);
                     };
SOURCE(587, 26)
                  {
                     word pd24;
                     pd24 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+11) );
                     char1←v4180 = (word) ( *( (fPt) ((*  (ptr) pd24 ))))(stream←v4208, pd24);
                     };
SOURCE(615, 218)
                  if (( ( ((char1←v4180 - 97) <= 25) ? (char1←v4180 - 32) : char1←v4180 )  == 88)) {
SOURCE(647, 11)
                     (* (( (ptr) formal←c0112)+5) ) = i←v4124;
SOURCE(660, 28)
                     {
                        word pd25;
                        pd25 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+72) );
                        (* (( (ptr) formal←c0112)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd25 ))))(stream←v4208, pd25);
                        };
SOURCE(690, 30)
                     {
                        word var←c13660;
                        word pd26;
                        pd26 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+85) );
                        var←c13660 = (word) ( *( (fPt) ((*  (ptr) pd26 ))))(stream←v4208, 1, pd26);
                        };
SOURCE(724, 26)
                     {
                        word pd27;
                        pd27 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+11) );
                        char0←v4152 = (word) ( *( (fPt) ((*  (ptr) pd27 ))))(stream←v4208, pd27);
                        };
SOURCE(752, 21)
                     {
                        word pd28;
                        pd28 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+72) );
                        i←v4124 = (word) ( *( (fPt) ((*  (ptr) pd28 ))))(stream←v4208, pd28);
                        };
SOURCE(775, 30)
                     {
                        word var←c13692;
                        word pd29;
                        pd29 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+85) );
                        var←c13692 = (word) ( *( (fPt) ((*  (ptr) pd29 ))))(stream←v4208, 1, pd29);
                        };
SOURCE(807, 26)
                     {
                        word pd30;
                        pd30 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+11) );
                        char1←v4180 = (word) ( *( (fPt) ((*  (ptr) pd30 ))))(stream←v4208, pd30);
                        };
                     };
SOURCE(838, 46)
                  {
                     word var←c13724;
                     var←c13724 = char0←v4152;
                     if ((var←c13724 == 43)) {
                        }
                     else {
                        if ((var←c13724 == 45)) {
SOURCE(873, 11)
                           (* (( (ptr) formal←c0112)+9) ) = 1;
                           }
                        else {
SOURCE(898, 9)
                           return(2);
                           };
                        };
                     };
SOURCE(909, 28)
                  if (( (int)i←v4124 >=  (int)0)) {
                     (* (( (ptr) formal←c0112)+7) ) = i←v4124;
                     }
                  else {
                     (* (( (ptr) formal←c0112)+7) ) = INEG(i←v4124);
                     };
SOURCE(969, 46)
                  {
                     word var←c13756;
                     var←c13756 = char1←v4180;
                     if ((var←c13756 == 43)) {
                        }
                     else {
                        if ((var←c13756 == 45)) {
SOURCE(1004, 11)
                           (* (( (ptr) formal←c0112)+10) ) = 1;
                           }
                        else {
SOURCE(1029, 9)
                           return(2);
                           };
                        };
                     };
SOURCE(1040, 23)
                  {
                     word pd31;
                     pd31 = (* (( (ptr) (* (( (ptr) gf←c0111)+36)/* var←c13532 */  ))+72) );
                     (* (( (ptr) formal←c0112)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd31 ))))(stream←v4208, pd31);
                     };
                  };
               };
            }
         else {
            if (((* (( (ptr) gf←c0111)+9) ) == var←c13596)) {
               {
                  word rs←v4252;
                  rs←v4252 = var←c13564;
SOURCE(1087, 7)
                  (*  (W2Pt) (( (ptr) formal←c0112)+5) ) = (*  (W2Pt) rs←v4252 );
                  };
               }
            else {
               lab←L100004: ;
               };
            };
         };
      };
   return(0);
   }

static word ScanInt←P120(formal←c0138)
   word formal←c0138;
   {
   W6 var←c14300;
   /* declaration of val←v3340 skipped */ 
   /* declaration of i←v3396 skipped */ 
   var←c14300.f4/* val←v3340 */  = formal←c0138;
   /* ScanInt: */ 
SOURCE(1132, 316)
SOURCE(1132, 316)
   var←c14300.f5/* i←v3396 */  = 2147483648;
SOURCE(1196, 252)
SOURCE(1198, 216)
   {
      word var←c02;
      {
         word var←c0127;
         var←c0127 = (word) &var←c14300;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1512) ), ( ((word)  (fPt) NoName←Q1692) ), var←c0127);
         };
      if ((var←c02 == 3)) {
         goto lab←L100006;
         };
      };
   goto lab←L100010;
   lab←L100006: ;
   lab←L100010: ;
SOURCE(1132, 316)
   return(var←c14300.f5/* i←v3396 */ );
   }

static word NoName←Q1512(formal←c0114)
   word formal←c0114;
   {
   register ptr gf←c0113 =  (ptr) &globalframe;
SOURCE(1244, 170)
   {
      word var←c13788;
      word var←c13820;
      var←c13788 = (* (( (ptr) formal←c0114)+4) );
      if ((var←c13788 == 0)) {
         goto lab←L100009;
         };
      var←c13820 = XR←GetReferentType(var←c13788);
      {
         word var←c13852;
         {
            word tc33;
            if (((* (( (ptr) gf←c0113)+8) ) == var←c13820)) {
               tc33 =  (word) ((*(int*)var←c13788<0) == 0);
               }
            else {
               tc33 =  (word) 0;
               };
            if (tc33) {
               {
                  word r←v4308;
                  r←v4308 = var←c13788;
SOURCE(1281, 56)
                  {
                     word stream←v4352;
SOURCE(1283, 29)
                     {
                        word pd34;
                        pd34 = (* (( (ptr) (* (( (ptr) gf←c0113)+36)/* var←c13532 */  ))+33) );
                        stream←v4352 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(r←v4308, 0, pd34);
                        };
SOURCE(1314, 21)
                     {
                        word pd35;
                        pd35 = (* (( (ptr) (* (( (ptr) gf←c0113)+36)/* var←c13532 */  ))+72) );
                        (* (( (ptr) formal←c0114)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd35 ))))(stream←v4352, pd35);
                        };
                     };
                  };
               goto endif032;
               };
            if (((
               var←c13852 = (* (( (ptr) gf←c0113)+10) )
               ) == var←c13820)) {
               {
                  word ri←v4396;
                  ri←v4396 = var←c13788;
SOURCE(1355, 7)
                  (* (( (ptr) formal←c0114)+5) ) = (*  (ptr) ri←v4396 );
                  };
               goto endif032;
               };
            if (((* (( (ptr) gf←c0113)+11) ) == var←c13820)) {
               {
                  word rn←v4452;
                  rn←v4452 = var←c13788;
SOURCE(1379, 7)
                  (* (( (ptr) formal←c0114)+5) ) = (*  (ptr) rn←v4452 );
                  };
               goto endif032;
               };
            if ((var←c13852 == var←c13820)) {
               {
                  word ri←v4508;
                  ri←v4508 = var←c13788;
SOURCE(1407, 7)
                  (* (( (ptr) formal←c0114)+5) ) = (*  (ptr) ri←v4508 );
                  };
               goto endif032;
               };
            lab←L100009: ;
            goto endif032;
            endif032: ;
            };
         };
      };
   return(0);
   }

static void ScanSize←P180(formal←c054, formal←c0139)
   word formal←c054;
   word formal←c0139;
   {
   W7 var←c14332;
   /* declaration of val←v3456 skipped */ 
   /* declaration of s←v3512 skipped */ 
   var←c14332.f4/* val←v3456 */  = formal←c0139;
   /* ScanSize: */ 
SOURCE(1452, 410)
SOURCE(1452, 410)
   var←c14332.f5 = 2147483648;
   var←c14332.f6 = 2147483648;
SOURCE(1535, 327)
SOURCE(1537, 291)
   {
      word var←c03;
      {
         word var←c0128;
         var←c0128 = (word) &var←c14332;
         var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1572) ), ( ((word)  (fPt) NoName←Q1632) ), var←c0128);
         };
      if ((var←c03 == 4)) {
         goto lab←L100012;
         };
      };
   goto lab←L100017;
   lab←L100012: ;
   lab←L100017: ;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c054 ) = (*  (W2Pt) (( (ptr) &var←c14332)+5)/* s←v3512 */  );
   return;
   }

static word NoName←Q1572(formal←c0116)
   word formal←c0116;
   {
   register ptr gf←c0115 =  (ptr) &globalframe;
SOURCE(1583, 245)
   {
      word var←c13884;
      word var←c13916;
      var←c13884 = (* (( (ptr) formal←c0116)+4) );
      if ((var←c13884 == 0)) {
         goto lab←L100015;
         };
      var←c13916 = XR←GetReferentType(var←c13884);
      {
         word tc36;
         if (((* (( (ptr) gf←c0115)+8) ) == var←c13916)) {
            tc36 =  (word) ((*(int*)var←c13884<0) == 0);
            }
         else {
            tc36 =  (word) 0;
            };
         if (tc36) {
            {
               word r←v4564;
               r←v4564 = var←c13884;
SOURCE(1620, 179)
               {
                  word stream←v4608;
                  word var←c13980;
                  word ch←v13228;
SOURCE(1622, 29)
                  {
                     word pd37;
                     pd37 = (* (( (ptr) (* (( (ptr) gf←c0115)+36)/* var←c13532 */  ))+33) );
                     stream←v4608 = (word) ( *( (fPt) ((*  (ptr) pd37 ))))(r←v4564, 0, pd37);
                     };
SOURCE(1653, 27)
                  {
                     word pd38;
                     pd38 = (* (( (ptr) (* (( (ptr) gf←c0115)+36)/* var←c13532 */  ))+72) );
                     (* (( (ptr) formal←c0116)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd38 ))))(stream←v4608, pd38);
                     };
SOURCE(1682, 30)
                  {
                     word var←c13948;
                     word pd39;
                     pd39 = (* (( (ptr) (* (( (ptr) gf←c0115)+36)/* var←c13532 */  ))+85) );
                     var←c13948 = (word) ( *( (fPt) ((*  (ptr) pd39 ))))(stream←v4608, 1, pd39);
                     };
SOURCE(1715, 43)
                  {
                     word pd40;
                     pd40 = (* (( (ptr) (* (( (ptr) gf←c0115)+36)/* var←c13532 */  ))+11) );
                     ch←v13228 = (word) ( *( (fPt) ((*  (ptr) pd40 ))))(stream←v4608, pd40);
                     };
                  if (((ch←v13228 - 97) <= 25)) {
                     var←c13980 = (ch←v13228 - 32);
                     }
                  else {
                     var←c13980 = ch←v13228;
                     };
                  if ((var←c13980 != 88)) {
SOURCE(1758, 9)
                     return(4);
                     };
SOURCE(1769, 28)
                  {
                     word pd41;
                     pd41 = (* (( (ptr) (* (( (ptr) gf←c0115)+36)/* var←c13532 */  ))+72) );
                     (* (( (ptr) formal←c0116)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd41 ))))(stream←v4608, pd41);
                     };
                  };
               };
            }
         else {
            if (((* (( (ptr) gf←c0115)+9) ) == var←c13916)) {
               {
                  word rs←v4652;
                  rs←v4652 = var←c13884;
SOURCE(1821, 7)
                  (*  (W2Pt) (( (ptr) formal←c0116)+5) ) = (*  (W2Pt) rs←v4652 );
                  };
               }
            else {
               lab←L100015: ;
               };
            };
         };
      };
   return(0);
   }

static word BuildQueryFromWidget←P240(w←v3572, screenPrefix←v3600)
   word w←v3572;
   word screenPrefix←v3600;
   {
   W6 var←c14364;
   register ptr gf←c14396 =  (ptr) &globalframe;
   word query←v3644;
   /* declaration of var←c14012 skipped */ 
   /* BuildQueryFromWidget: */ 
SOURCE(1866, 813)
   {
      word tmpAddr42;
      tmpAddr42 = (word) (( (ptr) &var←c14364)+4)/* var←c14012 */ ;
      (*  (ptr) tmpAddr42 ) = ( ((word)  (fPt) RecurseDown←P1008) );
      (* (( (ptr) tmpAddr42) + 1) ) = 1;
      };
SOURCE(1866, 813)
   query←v3644 = 0;
SOURCE(2267, 28)
   {
      word pd43;
      pd43 = (* (( (ptr) (* (( (ptr) gf←c14396)+37)/* var←c14044 */  ))+14) );
      query←v3644 = (word) ( *( (fPt) ((*  (ptr) pd43 ))))(16, 0, pd43);
      };
SOURCE(2297, 348)
   if ((0 != screenPrefix←v3600)) {
SOURCE(2320, 30)
      {
         word pd44;
         pd44 = (* (( (ptr) (* (( (ptr) gf←c14396)+38)/* var←c14076 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd44 ))))(w←v3572, pd44);
         };
      if (((* (( (ptr) w←v3572)+36) ) == 0)) {
SOURCE(2392, 52)
         {
            word pd45;
            pd45 = (* (( (ptr) (* (( (ptr) gf←c14396)+37)/* var←c14044 */  ))+19) );
            query←v3644 = (word) ( *( (fPt) ((*  (ptr) pd45 ))))(query←v3644, (* (( (ptr) gf←c14396)+19) ), (* (( (ptr) gf←c14396)+15)
                ), pd45);
            };
SOURCE(2446, 49)
         {
            word pd46;
            pd46 = (* (( (ptr) (* (( (ptr) gf←c14396)+37)/* var←c14044 */  ))+18) );
            query←v3644 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))(query←v3644, (* (( (ptr) gf←c14396)+16) ), pd46);
            };
         }
      else {
         if (((* (( (ptr) (* (( (ptr) w←v3572)+36) ))+3) ) == 1)) {
SOURCE(2525, 52)
            {
               word pd47;
               pd47 = (* (( (ptr) (* (( (ptr) gf←c14396)+37)/* var←c14044 */  ))+19) );
               query←v3644 = (word) ( *( (fPt) ((*  (ptr) pd47 ))))(query←v3644, (* (( (ptr) gf←c14396)+15) ), (* (( (ptr) gf←c14396)+19)
                   ), pd47);
               };
            }
         else {
SOURCE(2590, 55)
            {
               word pd48;
               pd48 = (* (( (ptr) (* (( (ptr) gf←c14396)+37)/* var←c14044 */  ))+19) );
               query←v3644 = (word) ( *( (fPt) ((*  (ptr) pd48 ))))(query←v3644, (* (( (ptr) gf←c14396)+16) ), (* (( (ptr) gf←c14396)+19)
                   ), pd48);
               };
            };
         };
      };
SOURCE(2650, 29)
   query←v3644 = (word) RecurseDown←P1008(query←v3644, w←v3572, (word) (( (bPt) &var←c14364)+16)/* var←c14012 */ );
SOURCE(1866, 813)
   return(query←v3644);
   }

static word RecurseDown←P1008(query←v4784, w←v4812, formal←c14460)
   word query←v4784;
   word w←v4812;
   word formal←c14460;
   {
   register ptr gf←c14428 =  (ptr) &globalframe;
   word var←c4856;
   word inst←v4884;
   formal←c14460 = (formal←c14460 - 16);
   /* RecurseDown: */ 
SOURCE(1980, 282)
SOURCE(2068, 25)
   inst←v4884 = (* (( (ptr) w←v4812)+11) );
SOURCE(2095, 57)
   if (((* (( (ptr) w←v4812)+31) ) != 0)) {
SOURCE(2116, 36)
      query←v4784 = (word) RecurseDown←P1008(query←v4784, (* (( (ptr) w←v4812)+31) ), (word) (( (bPt) formal←c14460)+16));
      };
SOURCE(2154, 92)
   if ((inst←v4884 != 0) || ((* (( (ptr) w←v4812)+31) ) == 0)) {
SOURCE(2187, 59)
      {
         word var←c14108;
         {
            word pd49;
            pd49 = (* (( (ptr) (* (( (ptr) w←v4812)+4) ))+25) );
            var←c14108 = (word) ( *( (fPt) ((*  (ptr) pd49 ))))(w←v4812, pd49);
            };
         {
            word pd50;
            pd50 = (* (( (ptr) (* (( (ptr) gf←c14428)+37)/* var←c14044 */  ))+19) );
            query←v4784 = (word) ( *( (fPt) ((*  (ptr) pd50 ))))(query←v4784, inst←v4884, var←c14108, pd50);
            };
         };
      };
SOURCE(2248, 14)
   return(query←v4784);
   }

static word DoQueryFromWidget←P300(w←v3704, screenPrefix←v3732, key1←v3760, key2←v3788)
   word w←v3704;
   word screenPrefix←v3732;
   word key1←v3760;
   word key2←v3788;
   {
   register ptr gf←c14492 =  (ptr) &globalframe;
   word val←v3832;
   word c←v4928;
   /* DoQueryFromWidget: */ 
SOURCE(2685, 408)
SOURCE(2685, 408)
   val←v3832 = 0;
SOURCE(2812, 31)
   c←v4928 = (* (( (ptr) w←v3704)+34) );
SOURCE(2846, 247)
   if ( ( (c←v4928 != 0) ? (0 != (* (( (ptr) c←v4928)+15) )) : 0 ) ) {
SOURCE(2866, 229)
      {
         word db←v4972;
         word query←v5000;
SOURCE(2868, 48)
         {
            word pd51;
            pd51 = (* (( (ptr) (* (( (ptr) gf←c14492)+39)/* var←c14140 */  ))+5) );
            db←v4972 = (word) ( *( (fPt) ((*  (ptr) pd51 ))))(c←v4928, pd51);
            };
SOURCE(2918, 62)
         query←v5000 = (word) BuildQueryFromWidget←P240(w←v3704, screenPrefix←v3732);
SOURCE(2982, 47)
         {
            word pd52;
            pd52 = (* (( (ptr) (* (( (ptr) gf←c14492)+37)/* var←c14044 */  ))+19) );
            query←v5000 = (word) ( *( (fPt) ((*  (ptr) pd52 ))))(query←v5000, key1←v3760, key2←v3788, pd52);
            };
SOURCE(3031, 34)
         {
            word pd53;
            pd53 = (* (( (ptr) (* (( (ptr) gf←c14492)+37)/* var←c14044 */  ))+10) );
            val←v3832 = (word) ( *( (fPt) ((*  (ptr) pd53 ))))(db←v4972, query←v5000, pd53);
            };
SOURCE(3067, 26)
         {
            word pd54;
            pd54 = (* (( (ptr) (* (( (ptr) gf←c14492)+37)/* var←c14044 */  ))+20) );
            (void) ( *( (fPt) ((*  (ptr) pd54 ))))(query←v5000, pd54);
            };
         };
      };
SOURCE(2685, 408)
   return(val←v3832);
   }

static void GetGeometryFromDB←P360(formal←c089, w←v3904)
   word formal←c089;
   word w←v3904;
   {
   register ptr gf←c14524 =  (ptr) &globalframe;
   W5 g←v3948;
   word val←v5044;
   /* GetGeometryFromDB: */ 
SOURCE(3102, 618)
SOURCE(3102, 618)
   g←v3948.f0 = 2147483648;
   g←v3948.f1 = 2147483648;
   g←v3948.f2 = 2147483648;
   g←v3948.f3 = 2147483648;
   g←v3948.f4 = 2147483648;
SOURCE(3178, 55)
   val←v5044 = (word) DoQueryFromWidget←P300(w←v3904, 1, (* (( (ptr) gf←c14524)+17) ), (* (( (ptr) gf←c14524)+18) ));
SOURCE(3235, 485)
   if ((val←v5044 != 0)) {
SOURCE(3251, 490)
      {
         W2 p←v5100;
         word xneg←v5128;
         word yneg←v5156;
         W2 ss←v5184;
SOURCE(3284, 47)
         ss←v5184 = (*  (W2Pt) (( (ptr) (* (( (ptr) (* (( (ptr) w←v3904)+36) ))+1) ))+5) );
SOURCE(3333, 43)
         {
            W6 var←c14172;
            (void) ScanGeometry←P60((word) &var←c14172, val←v5044);
            yneg←v5156 = var←c14172.f5;
            xneg←v5128 = var←c14172.f4;
            p←v5100 = (*  (W2Pt) (( (ptr) &var←c14172)+2) );
            (*  (W2Pt) (( (ptr) &g←v3948)+2) ) = (*  (W2Pt) &var←c14172 );
            };
SOURCE(3379, 158)
         if (( (int)p←v5100.f0 !=  (int)2147483648)) {
            if ( ( (0 == xneg←v5128) ? ( (int)p←v5100.f0 <  (int)ss←v5184.f0) : 0 ) ) {
SOURCE(3448, 13)
               g←v3948.f0 = p←v5100.f0;
               }
            else {
               if ( ( (0 != xneg←v5128) ? ( (int)p←v5100.f0 <  (int)ss←v5184.f0) : 0 ) ) {
SOURCE(3490, 47)
                  {
                     word x55;
                     g←v3948.f0 = ((ss←v5184.f0 - (x55 = g←v3948.f2,
                        MAX((int)(word), x55, 0))) - p←v5100.f0);
                     };
                  };
               };
            };
SOURCE(3558, 162)
         if (( (int)p←v5100.f1 !=  (int)2147483648)) {
            if ( ( (0 == xneg←v5128) ? ( (int)p←v5100.f1 <  (int)ss←v5184.f1) : 0 ) ) {
SOURCE(3628, 13)
               g←v3948.f1 = p←v5100.f1;
               }
            else {
               if ( ( (0 != xneg←v5128) ? ( (int)p←v5100.f1 <  (int)ss←v5184.f1) : 0 ) ) {
SOURCE(3671, 49)
                  {
                     word x56;
                     g←v3948.f1 = ((ss←v5184.f1 - (x56 = g←v3948.f3,
                        MAX((int)(word), x56, 0))) - p←v5100.f1);
                     };
                  };
               };
            };
         };
      };
   /* removed tail goto */ 
   (*  (W5Pt) formal←c089 ) = g←v3948;
   return;
   }

static void GetSizeFromDB←P420(formal←c094, w←v4008)
   word formal←c094;
   word w←v4008;
   {
   register ptr gf←c14556 =  (ptr) &globalframe;
   W2 s←v4052;
   word val←v5228;
   /* GetSizeFromDB: */ 
SOURCE(3748, 185)
SOURCE(3748, 185)
   s←v4052.f0 = 2147483648;
   s←v4052.f1 = 2147483648;
SOURCE(3843, 55)
   val←v5228 = (word) DoQueryFromWidget←P300(w←v4008, 1, (* (( (ptr) gf←c14556)+18) ), (* (( (ptr) gf←c14556)+17) ));
SOURCE(3900, 33)
   if ((val←v5228 != 0)) {
SOURCE(3916, 17)
      (void) ScanSize←P180((word) &s←v4052, val←v5228);
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c094 ) = s←v4052;
   return;
   }

static void NoName←Q1632(formal←c099, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c099;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0123 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0123)+36)/* var←c13532 */  ))+5) )) || (formal←c200009 == (* (( (ptr) (* (
         ( (ptr) gf←c0123)+36)/* var←c13532 */  ))+4) ))) {
SOURCE(1572, 9)
      (*  (ptr) formal←c099 ) = 2;
      (* (( (ptr) formal←c099)+1) ) = 4;
      return;
      };
   (*  (ptr) formal←c099 ) = 0;
   (* (( (ptr) formal←c099)+1) ) = 0;
   return;
   }

static void NoName←Q1692(formal←c0104, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0104;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0124 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0124)+36)/* var←c13532 */  ))+5) )) || (formal←c200005 == (* (( (ptr) (* (
         ( (ptr) gf←c0124)+36)/* var←c13532 */  ))+4) ))) {
SOURCE(1233, 9)
      (*  (ptr) formal←c0104 ) = 2;
      (* (( (ptr) formal←c0104)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0104 ) = 0;
   (* (( (ptr) formal←c0104)+1) ) = 0;
   return;
   }

static void NoName←Q1752(formal←c0109, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0109;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0125 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0125)+36)/* var←c13532 */  ))+5) )) || (formal←c200001 == (* (( (ptr) (* (
         ( (ptr) gf←c0125)+36)/* var←c13532 */  ))+4) ))) {
SOURCE(409, 9)
      (*  (ptr) formal←c0109 ) = 2;
      (* (( (ptr) formal←c0109)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0109 ) = 0;
   (* (( (ptr) formal←c0109)+1) ) = 0;
   return;
   }

/* file: XTkDBImpl, module: XTkDBImpl, compiled at: September 25, 1992 5:56:18 pm PDT */ 
extern void XR←install←XTkDBImpl() {
   NoName←Q1392();
   }
extern void XR←run←XTkDBImpl() { XR←Start(&globalframe); }