/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: January 11, 1993 11:41:39 am PST */
/* C2C version: October 7, 1992 (native) */
/* ref-counting: off */
/* file: XlDBImpl, module: XlDBImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [229537753,2421014498] XlDBImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
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 W4 *W4Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q972();
static void XlDBImpl←P0();
static void ResetProc←P60();
static word InitializeProp←P120();
static word ReloadDBCache←P180();
static word NoName←Q1032();
static word GetStandardDBReadWrite←P240();
static word GetStandardDB←P300();
static void ConsInvalidator←P360();
static void RegisterDBInvalidator←P420();
static word QueryStandardDB←P480();
static void NoName←Q1092();
static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string4 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\256\167\331\300\220\115\277\342\100\354\005\004\162\145\163\164\214\257\300\015\256\167\331\300\220\115\277\342\100\354\261\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\004\016\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\015\256\167\331\300\220\115\277\342\100\214\000\000"};
static struct {unsigned f; char r[4];} string7 = {196611, "\004@\360"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\107\320\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string10 = {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];} string11 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[44];} string12 = {2752556, "failed reading resource←manager property: \000"};
static struct {unsigned f; char r[32];} string13 = {1900576, "bad resource←manager property\000\000"};
static struct {unsigned f; char r[8];} string14 = {262152, "XlDB\000\000\000"};
static struct {unsigned f; char r[4];} string15 = {65540, "x\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\015\256\167\331\300\220\115\277\342\100\200\000\000"};
static struct {unsigned f; char r[12];} string17 = {655370, "\006\003\020\001\024\001\100\100\004\017\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\047\312\257\214\300\225\003\264\361\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\264\326\343\056\300\340\077\001\214\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; word f36; word f37[5]; 
   } globalframe = {
   {0}, (word) QueryStandardDB←P480, 0, (word) RegisterDBInvalidator←P420, 
   0, (word) ConsInvalidator←P360, 0, (word) GetStandardDB←P300, 
   0, (word) GetStandardDBReadWrite←P240, 0, (word) ReloadDBCache←P180, 
   0, (word) InitializeProp←P120, 0, (word) ResetProc←P60, 
   0, (word) XlDBImpl←P0, {0}
   };

static void NoName←Q972()
   {
   register ptr gf←c082 =  (ptr) &globalframe;
   word var←c14620;
   (* (( (ptr) gf←c082)+6) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c082)+7) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c082)+9) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c082)+11) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c082)+12) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string5);
   (* (( (ptr) gf←c082)+13) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c082)+14) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string3);
   (*  (ptr) (( (bPt) gf←c082)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c082)+14) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c082)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c082)+14) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c082)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c082)+7) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c082)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c082)+7) ), (word) &string15);
   (void) XR←DeclareGlobalFrame((word) "XlDBImpl", &globalframe, (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17)
      , (word) (( (bPt) gf←c082)+144)/* var←c13948 */ );
   var←c14620 = (word) XR←ImportInterface((word) "Customize", (word) XR←GetTypeIndexS((word) (&string18)), 19);
   (* (( (ptr) gf←c082)+40)/* var←c14396 */  ) = var←c14620;
   (void) XR←ImportProcS(var←c14620, 67634946);
   (void) XR←ImportProcS(var←c14620, 67633922);
   (void) XR←ImportProcS(var←c14620, 67109120);
   var←c14620 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string19)), 43);
   (* (( (ptr) gf←c082)+39)/* var←c14268 */  ) = var←c14620;
   (void) XR←ImportProcS(var←c14620, 67633666);
   var←c14620 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string20)), 218);
   (* (( (ptr) gf←c082)+38)/* var←c14012 */  ) = var←c14620;
   (void) XR←ImportProcS(var←c14620, 67901699);
   (void) XR←ImportProcS(var←c14620, 270545672);
   (void) XR←ImportProcS(var←c14620, 1329157);
   (void) XR←ImportProcS(var←c14620, 67910403);
   (void) XR←ImportProcS(var←c14620, 67375105);
   (void) XR←ImportProcS(var←c14620, 1063940);
   (void) XR←ImportProcS(var←c14620, 68207876);
   var←c14620 = (word) XR←ExportInterface((word) "XlDB", (word) XR←GetTypeIndexS((word) (&string21)), 4);
   (* (( (ptr) gf←c082)+41)/* var←c14652 */  ) = var←c14620;
   (void) XR←ExportProcS(var←c14620, (word) (( (bPt) gf←c082)+112)/* var←c13820 */ , 67371009);
   (void) XR←ExportProcS(var←c14620, (word) (( (bPt) gf←c082)+104)/* var←c13788 */ , 67371265);
   (void) XR←ExportProcS(var←c14620, (word) (( (bPt) gf←c082)+88)/* var←c13724 */ , 1049092);
   (void) XR←ExportProcS(var←c14620, (word) (( (bPt) gf←c082)+80)/* var←c13692 */ , 67633922);
   }

static void XlDBImpl←P0(formal←c024, formal←c022)
   word formal←c024;
   word formal←c022;
   {
   register ptr gf←c14684 =  (ptr) &globalframe;
   /* XlDBImpl: */ 
SOURCE(58, 3046)
SOURCE(327, 35)
   {
      word var←c13980;
      var←c13980 = XR←NewObject(4, (* (( (ptr) gf←c14684)+7) ));
      (*  (ptr) var←c13980 ) = (* (( (ptr) gf←c14684)+18) );
      (* (( (ptr) gf←c14684)+4)/* myKey←v2676 */  ) = var←c13980;
      };
SOURCE(365, 69)
   {
      word pd22;
      pd22 = (* (( (ptr) (* (( (ptr) gf←c14684)+38)/* var←c14012 */  ))+201) );
      (* (( (ptr) gf←c14684)+5)/* propertyEvents←v2704 */  ) = (word) ( *( (fPt) ((*  (ptr) pd22 ))))(28, 35, 35, 35, pd22);
      };
   }

static void ResetProc←P60(event←v6308, clientData←v6336, tq←v6364)
   word event←v6308;
   word clientData←v6336;
   word tq←v6364;
   {
   register ptr gf←c14716 =  (ptr) &globalframe;
   /* ResetProc: */ 
SOURCE(436, 331)
SOURCE(468, 299)
   {
      word var←c14044;
      var←c14044 = event←v6308;
      if ((var←c14044 == 0)) {
         goto lab←L100000;
         };
      if (((* (( (ptr) var←c14044)+4) ) == 28)) {
         {
            word pne←v4140;
            pne←v4140 = var←c14044;
SOURCE(522, 245)
            if (((* (( (ptr) pne←v4140)+7) ) == 23)) {
SOURCE(573, 205)
               {
                  word mr←v4184;
SOURCE(575, 34)
                  mr←v4184 = XR←Narrow(clientData←v6336, (* (( (ptr) gf←c14716)+11) ));
SOURCE(611, 12)
                  (* (( (ptr) mr←v4184)+4) ) = 0;
SOURCE(625, 11)
                  (* (( (ptr) mr←v4184)+5) ) = 0;
SOURCE(638, 129)
                  {
                     register word l←v4240;
                     l←v4240 = (* (( (ptr) mr←v4184)+7) );
                     lab←L100004: ;
                     if ((l←v4240 != 0)) {
                        }
                     else {
                        goto lab←L100001;
                        };
SOURCE(710, 57)
                     {
                        word pd23;
                        pd23 = (* (( (ptr) (* (( (ptr) gf←c14716)+38)/* var←c14012 */  ))+64) );
                        (void) ( *( (fPt) ((*  (ptr) pd23 ))))((* (( (ptr) l←v4240)+1) ), (*  (ptr) l←v4240 ), (* (( (ptr) l←v4240)+2) ), event←v6308, pd23)
                        ;
                        };
                     l←v4240 = (* (( (ptr) l←v4240)+3) );
                     goto lab←L100004;
                     lab←L100001: ;
                     };
                  };
               };
            };
         }
      else {
         lab←L100000: ;
         };
      };
   }

static word InitializeProp←P120(c←v6424, key←v6452)
   word c←v6424;
   word key←v6452;
   {
   register ptr gf←c14748 =  (ptr) &globalframe;
   word val←v6496;
   word rootWindow←v4368;
   word mr←v4396;
   word match←v4424;
   /* InitializeProp: */ 
SOURCE(800, 294)
SOURCE(800, 294)
   val←v6496 = (* (( (ptr) gf←c14748)+19) );
SOURCE(842, 39)
   {
      word pd24;
      pd24 = (* (( (ptr) (* (( (ptr) gf←c14748)+38)/* var←c14012 */  ))+20) );
      rootWindow←v4368 = (word) ( *( (fPt) ((*  (ptr) pd24 ))))(c←v6424, pd24);
      };
SOURCE(883, 26)
   mr←v4396 = XR←NewObject(32, (* (( (ptr) gf←c14748)+11) ));
SOURCE(911, 108)
   {
      word var←c14108;
      word var←c14140;
      {
         word pd25;
         pd25 = (* (( (ptr) (* (( (ptr) gf←c14748)+38)/* var←c14012 */  ))+63) );
         var←c14108 = (word) ( *( (fPt) ((*  (ptr) pd25 ))))(0, 0, 0, pd25);
         };
      var←c14140 = XR←NewObject(16, (* (( (ptr) gf←c14748)+12) ));
      (*  (ptr) var←c14140 ) = (word) (( (bPt) gf←c14748)+136)/* var←c13916 */ ;
      (* (( (ptr) var←c14140)+1) ) = (* (( (ptr) gf←c14748)+5)/* propertyEvents←v2704 */  );
      (* (( (ptr) var←c14140)+2) ) = var←c14108;
      (* (( (ptr) var←c14140)+3) ) = mr←v4396;
      match←v4424 = var←c14140;
      };
SOURCE(1021, 60)
   {
      word pd26;
      pd26 = (* (( (ptr) (* (( (ptr) gf←c14748)+38)/* var←c14012 */  ))+76) );
      (void) ( *( (fPt) ((*  (ptr) pd26 ))))(c←v6424, rootWindow←v4368, match←v4424, 4194304, 0, pd26);
      };
SOURCE(1083, 11)
   return(mr←v4396);
   }

static word ReloadDBCache←P180(formal←c097, formal←c098, readonly←v3344)
   word formal←c097;
   word formal←c098;
   word readonly←v3344;
   {
   W12 var←c14780;
   /* declaration of c←v3288 skipped */ 
   /* declaration of mr←v3316 skipped */ 
   register ptr gf←c14812 =  (ptr) &globalframe;
   word db←v3400;
   (* (( (ptr) &var←c14780)+4)/* c←v3288 */  ) = formal←c097;
   (* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ) = formal←c098;
   /* ReloadDBCache: */ 
SOURCE(1100, 731)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ));
SOURCE(1100, 731)
   db←v3400 = 0;
SOURCE(1213, 10)
   db←v3400 = (* (( (ptr) (* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ))+5) );
SOURCE(1225, 606)
   if ((0 == readonly←v3344) || (db←v3400 == 0)) {
SOURCE(1253, 580)
      {
         word val←v4480;
SOURCE(1256, 23)
         val←v4480 = (* (( (ptr) (* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ))+4) );
SOURCE(1281, 430)
         if ((val←v4480 == 0)) {
SOURCE(1297, 414)
SOURCE(1299, 24)
            {
               W4 pr←v4524;
               word var←c14300;
SOURCE(1299, 24)
               pr←v4524.f0 = 0;
               pr←v4524.f1 = 0;
               pr←v4524.f2 = 0;
               pr←v4524.f3 = 0;
SOURCE(1325, 193)
               {
                  /* declaration of var←c14204 skipped */ 
                  {
                     word pd27;
                     pd27 = (* (( (ptr) (* (( (ptr) gf←c14812)+38)/* var←c14012 */  ))+20) );
                     (* (( (ptr) &var←c14780)+6)/* var←c14204 */  ) = (word) ( *( (fPt) ((*  (ptr) pd27 ))))((* ((( (ptr) &var←c14780)+4)/* c←v3288 */ ) ), pd27)
                     ;
                     };
                  {
                     /* declaration of var←c01 skipped */ 
                     (* (( (ptr) &var←c14780)+7)/* var←c01 */  ) = (* (( (ptr) (* (( (ptr) gf←c14812)+38)/* var←c14012 */  ))+55) );
                     {
                        /* declaration of var←c02 skipped */ 
                        {
                           word var←c03;
                           {
/*1*/   word var←c094;
/*1*/   var←c094 = (word) &var←c14780;
/*1*/   var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1032) ), ( ((word)  (fPt) NoName←Q1092) ), var←c094);
/*1*/   };
                           if ((var←c03 == 2)) {
/*1*/   goto lab←L100005;
/*1*/   };
                           };
                        pr←v4524 = (*  (W4Pt) (( (ptr) &var←c14780)+8)/* var←c02 */  );
                        };
                     };
                  };
SOURCE(1535, 156)
               {
                  word tc28;
                  if ((pr←v4524.f0 == 31)) {
                     var←c14300 = pr←v4524.f2;
                     if ((var←c14300 == 0)) {
                        tc28 =  (word) 1;
                        }
                     else {
                        if (((* (( (ptr) gf←c14812)+13) ) == XR←GetReferentType(var←c14300))) {
                           tc28 =  (word) ((*(int*)var←c14300<0) == 0);
                           }
                        else {
                           tc28 =  (word) 0;
                           };
                        };
                     }
                  else {
                     tc28 =  (word) 0;
                     };
                  if (tc28) {
SOURCE(1611, 37)
                     {
                        word var←c14332;
                        {
                           word var←c14364;
                           var←c14364 = XR←Narrow(pr←v4524.f2, (* (( (ptr) gf←c14812)+13) ));
                           if ((var←c14364 == 0)) {
/*1*/   goto lab←L100008;
/*1*/   };
                           if (((*(int*)var←c14364<0) == 0)) {
/*1*/   goto lab←L100008;
/*1*/   };
                           (void) XR←RaiseError(XR←NarrowFault, 0);
                           lab←L100008: ;
                           var←c14332 = var←c14364;
                           };
                        val←v4480 = var←c14332;
                        (* (( (ptr) (* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ))+4) ) = var←c14332;
                        };
                     }
                  else {
SOURCE(1648, 43)
                     (* (( (ptr) (* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ))+6) ) = (* (( (ptr) gf←c14812)+17) );
                     };
                  };
               };
            goto lab←L100009;
            lab←L100005: ;
            lab←L100009: ;
            };
SOURCE(1714, 25)
         {
            word pd29;
            pd29 = (* (( (ptr) (* (( (ptr) gf←c14812)+40)/* var←c14396 */  ))+5) );
            db←v3400 = (word) ( *( (fPt) ((*  (ptr) pd29 ))))(pd29);
            };
SOURCE(1741, 61)
         if ((val←v4480 != 0)) {
SOURCE(1757, 45)
            {
               word pd30;
               pd30 = (* (( (ptr) (* (( (ptr) gf←c14812)+40)/* var←c14396 */  ))+7) );
               (* (( (ptr) (* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ))+6) ) = (word) ( *( (fPt) ((*  (ptr) pd30 ))))(db←v3400, val←v4480, pd30)
               ;
               };
            };
SOURCE(1804, 27)
         if ((0 != readonly←v3344)) {
SOURCE(1821, 10)
            (* (( (ptr) (* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ))+5) ) = db←v3400;
            };
         };
      };
SOURCE(1100, 731)
   (void) (XR←MonitorExit(* (( (ptr) &var←c14780)+5)/* mr←v3316 */  ));
   return(db←v3400);
   }

static word NoName←Q1032(formal←c087)
   word formal←c087;
   {
SOURCE(1325, 193)
   {
      word pd31;
      pd31 = (* (( (ptr) formal←c087)+7) );
      (void) ( *( (fPt) ((*  (ptr) pd31 ))))((word) (( (bPt) formal←c087)+32), (* (( (ptr) formal←c087)+4) ), (* (( (ptr) formal←c087)+6)
          ), 23, 0, 0
         , 0, 2147483647, 0, pd31);
      };
   return(0);
   }

static word GetStandardDBReadWrite←P240(c←v3460)
   word c←v3460;
   {
   register ptr gf←c14844 =  (ptr) &globalframe;
   word db←v3504;
   /* GetStandardDBReadWrite: */ 
SOURCE(1840, 208)
SOURCE(1840, 208)
   db←v3504 = 0;
SOURCE(1926, 122)
   {
      word var←c14428;
      {
         word pd32;
         pd32 = (* (( (ptr) (* (( (ptr) gf←c14844)+38)/* var←c14012 */  ))+29) );
         var←c14428 = (word) ( *( (fPt) ((*  (ptr) pd32 ))))(c←v3460, (* (( (ptr) gf←c14844)+4)/* myKey←v2676 */  ), (word) (( (bPt) gf←c14844)+128)
            /* var←c13884 */ , pd32);
         };
      if ((var←c14428 == 0)) {
         goto lab←L100010;
         };
      if (((* (( (ptr) gf←c14844)+11) ) == XR←GetReferentType(var←c14428))) {
         {
            word mr←v4568;
            mr←v4568 = var←c14428;
SOURCE(2016, 32)
            db←v3504 = (word) ReloadDBCache←P180(c←v3460, mr←v4568, 0);
            };
         }
      else {
         lab←L100010: ;
SOURCE(2064, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
SOURCE(1840, 208)
   return(db←v3504);
   }

static word GetStandardDB←P300(c←v3564)
   word c←v3564;
   {
   register ptr gf←c14876 =  (ptr) &globalframe;
   word db←v3608;
   /* GetStandardDB: */ 
SOURCE(2075, 234)
SOURCE(2075, 234)
   db←v3608 = 0;
SOURCE(2160, 149)
   {
      word var←c14460;
      {
         word pd33;
         pd33 = (* (( (ptr) (* (( (ptr) gf←c14876)+38)/* var←c14012 */  ))+29) );
         var←c14460 = (word) ( *( (fPt) ((*  (ptr) pd33 ))))(c←v3564, (* (( (ptr) gf←c14876)+4)/* myKey←v2676 */  ), (word) (( (bPt) gf←c14876)+128)
            /* var←c13884 */ , pd33);
         };
      if ((var←c14460 == 0)) {
         goto lab←L100011;
         };
      if (((* (( (ptr) gf←c14876)+11) ) == XR←GetReferentType(var←c14460))) {
         {
            word mr←v4624;
            mr←v4624 = var←c14460;
SOURCE(2250, 10)
            db←v3608 = (* (( (ptr) mr←v4624)+5) );
SOURCE(2263, 46)
            if ((db←v3608 == 0)) {
SOURCE(2278, 31)
               db←v3608 = (word) ReloadDBCache←P180(c←v3564, mr←v4624, 1);
               };
            };
         }
      else {
         lab←L100011: ;
SOURCE(2325, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
SOURCE(2075, 234)
   return(db←v3608);
   }

static void ConsInvalidator←P360(mr←v3784, ir←v3812)
   word mr←v3784;
   W3 ir←v3812;
   {
   register ptr gf←c14908 =  (ptr) &globalframe;
   /* ConsInvalidator: */ 
SOURCE(2416, 112)
   (void) (XR←MonitorEntry(mr←v3784));
SOURCE(2485, 43)
   {
      word var←c14492;
      var←c14492 = XR←NewObject(16, (* (( (ptr) gf←c14908)+9) ));
      (*  (W3Pt) var←c14492 ) = ir←v3812;
      (* (( (ptr) var←c14492)+3) ) = (* (( (ptr) mr←v3784)+7) );
      (* (( (ptr) mr←v3784)+7) ) = var←c14492;
      };
SOURCE(2416, 112)
   (void) (XR←MonitorExit(mr←v3784));
   return;
   }

static void RegisterDBInvalidator←P420(c←v3884, proc←v3912, tq←v3940, data←v3968)
   word c←v3884;
   word proc←v3912;
   word tq←v3940;
   word data←v3968;
   {
   register ptr gf←c14940 =  (ptr) &globalframe;
   /* RegisterDBInvalidator: */ 
SOURCE(2534, 297)
SOURCE(2644, 187)
   {
      word var←c14524;
      {
         word pd34;
         pd34 = (* (( (ptr) (* (( (ptr) gf←c14940)+38)/* var←c14012 */  ))+29) );
         var←c14524 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(c←v3884, (* (( (ptr) gf←c14940)+4)/* myKey←v2676 */  ), (word) (( (bPt) gf←c14940)+128)
            /* var←c13884 */ , pd34);
         };
      if ((var←c14524 == 0)) {
         goto lab←L100012;
         };
      if (((* (( (ptr) gf←c14940)+11) ) == XR←GetReferentType(var←c14524))) {
         {
            word mr←v4680;
            mr←v4680 = var←c14524;
SOURCE(2734, 23)
            if ((proc←v3912 == 0)) {
SOURCE(2751, 6)
               return;
               };
SOURCE(2759, 33)
            if ((tq←v3940 == 0)) {
SOURCE(2774, 18)
               {
                  word pd35;
                  pd35 = (* (( (ptr) (* (( (ptr) gf←c14940)+38)/* var←c14012 */  ))+63) );
                  tq←v3940 = (word) ( *( (fPt) ((*  (ptr) pd35 ))))(0, 0, 0, pd35);
                  };
               };
SOURCE(2794, 37)
            {
               W3 var←c14556;
               var←c14556.f0 = XR←CheckProc(proc←v3912);
               var←c14556.f1 = tq←v3940;
               var←c14556.f2 = data←v3968;
               (void) ConsInvalidator←P360(mr←v4680, var←c14556);
               };
            };
         }
      else {
         lab←L100012: ;
SOURCE(2847, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
   }

static word QueryStandardDB←P480(c←v4040, query←v4068)
   word c←v4040;
   word query←v4068;
   {
   register ptr gf←c14972 =  (ptr) &globalframe;
   word answer←v4112;
   word db←v4736;
   /* QueryStandardDB: */ 
SOURCE(2858, 246)
SOURCE(2858, 246)
   answer←v4112 = 0;
SOURCE(2956, 43)
   db←v4736 = (word) GetStandardDB←P300(c←v4040);
SOURCE(3001, 103)
   {
      word var←c14588;
      {
         word pd36;
         pd36 = (* (( (ptr) (* (( (ptr) gf←c14972)+40)/* var←c14396 */  ))+11) );
         var←c14588 = (word) ( *( (fPt) ((*  (ptr) pd36 ))))(db←v4736, query←v4068, pd36);
         };
      if ((var←c14588 == 0)) {
         goto lab←L100013;
         };
      {
         word tc37;
         if (((* (( (ptr) gf←c14972)+13) ) == XR←GetReferentType(var←c14588))) {
            tc37 =  (word) ((*(int*)var←c14588<0) == 0);
            }
         else {
            tc37 =  (word) 0;
            };
         if (tc37) {
            {
               word r←v4780;
               r←v4780 = var←c14588;
SOURCE(3069, 10)
               return(r←v4780);
               };
            }
         else {
            lab←L100013: ;
SOURCE(3092, 12)
            return(0);
            };
         };
      };
   }

static void NoName←Q1092(formal←c081, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c081;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c093 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c093)+38)/* var←c14012 */  ))+4) ))) {
      {
         word err←v10000;
         err←v10000 = (*  (ptr) formal←c200003 );
SOURCE(1432, 86)
         {
            word var←c14236;
            {
               word pd38;
               pd38 = (* (( (ptr) (* (( (ptr) gf←c093)+39)/* var←c14268 */  ))+6) );
               var←c14236 = (word) ( *( (fPt) ((*  (ptr) pd38 ))))((* (( (ptr) gf←c093)+16) ), (* (( (ptr) err←v10000)+5) ), pd38);
               };
            (* (( (ptr) (* (( (ptr) formal←c200000)+5) ))+6) ) = var←c14236;
            };
SOURCE(1520, 9)
         (*  (ptr) formal←c081 ) = 2;
         (* (( (ptr) formal←c081)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c081 ) = 0;
   (* (( (ptr) formal←c081)+1) ) = 0;
   return;
   }

/* file: XlDBImpl, module: XlDBImpl, compiled at: January 11, 1993 11:41:38 am PST */ 
extern void XR←install←XlDBImpl() {
   NoName←Q972();
   }
extern void XR←run←XlDBImpl() { XR←Start(&globalframe); }