/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: January 4, 1993 12:30:10 pm PST */
/* C2C version: October 7, 1992 (native) */
/* ref-counting: off */
/* file: XlBitmapImpl, module: XlBitmapImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [4291413784,636852062] XlBitmapImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1;} W2;
typedef W4 *W4Pt;
typedef W2 *W2Pt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q2100();
static void XlBitmapImpl←P0();
static word NarrowBitmap←P60();
static word IsBitmap←P120();
static void Noop←P180();
static word CreateFromSM←P240();
static word GetSM←P300();
static void GetBox←P360();
static word Create←P420();
static void SetColormap←P480();
static word GetColormap←P540();
static void RegisterInterceptionProcs←P600();
static void RemoveInterceptionProcs←P660();
static void Entry←P1200();
static word ReplaceICClosures←P1260();
static void Refresh←P720();
static void PromiseRepaintLater←P780();
static void EndPromiseRepaint←P840();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\340\211\223\046\300\245\333\237\361\100\214\000\000"};
static struct {unsigned f; char r[4];} string2 = {196611, "\004a\201"};
static struct {unsigned f; char r[44];} string3 = {2752556, "\260\006\005\146\151\162\163\164\257\300\265\371\352\317\300\364\125\216\164\100\164\005\004\162\145\163\164\214\257\300\265\371\352\317\300\364\125\216\164\100\164\261\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\003\001\000"};
static struct {unsigned f; char r[44];} string5 = {2752556, "\260\006\005\146\151\162\163\164\257\300\340\211\223\046\300\245\333\237\361\100\164\005\004\162\145\163\164\214\257\300\340\211\223\046\300\245\333\237\361\100\164\261\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\006\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\377\311\307\030\300\045\365\227\136\100\164\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\313\043\035\351\300\322\261\377\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\256\061\211\265\300\052\170\134\271\100\150\000\000"};
static struct {unsigned f; char r[24];} string11 = {1441816, "\211\012\011\102\151\164\155\141\160\122\145\160\300\256\061\211\265\300\052\170\134\271\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\075\020\157\107\300\117\026\055\251\100\150\000\000"};
static struct {
   word f0[14]; word f14; word f15; word f16; 
   word f17; word f18; word f19; 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; word f38; word f39; word f40; 
   word f41; word f42; word f43; word f44; 
   word f45; word f46; word f47; word f48[4]; 
   } globalframe = {
   {0}, (word) EndPromiseRepaint←P840, 0, (word) PromiseRepaintLater←P780, 
   0, (word) Refresh←P720, 0, (word) RemoveInterceptionProcs←P660, 
   0, (word) RegisterInterceptionProcs←P600, 0, (word) GetColormap←P540, 
   0, (word) SetColormap←P480, 0, (word) Create←P420, 
   0, (word) GetBox←P360, 0, (word) GetSM←P300, 
   0, (word) CreateFromSM←P240, 0, (word) Noop←P180, 
   0, (word) IsBitmap←P120, 0, (word) NarrowBitmap←P60, 
   0, (word) XlBitmapImpl←P0, 0, (word) 2147483647, 
   (word) 2147483647, (word) 2147483648, (word) 2147483648, {0}
   };

static void NoName←Q2100()
   {
   register ptr gf←c0108 =  (ptr) &globalframe;
   word var←c11068;
   (* (( (ptr) gf←c0108)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0108)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0108)+12) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (void) XR←DeclareGlobalFrame((word) "XlBitmapImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string7)), (word) (( (bPt) gf←c0108)+168)
      /* var←c10140 */ );
   var←c11068 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string8)), 60);
   (* (( (ptr) gf←c0108)+49)/* var←c10652 */  ) = var←c11068;
   (void) XR←ImportProcS(var←c11068, 68685571);
   var←c11068 = (word) XR←ImportInterface((word) "XlShmPixmaps", (word) XR←GetTypeIndexS((word) (&string9)), 5);
   (* (( (ptr) gf←c0108)+48)/* var←c10588 */  ) = var←c11068;
   (void) XR←ImportProcS(var←c11068, 68419586);
   var←c11068 = (word) XR←ExportInterface((word) "XlBitmap", (word) XR←GetTypeIndexS((word) (&string10)), 14);
   (* (( (ptr) gf←c0108)+50)/* var←c11100 */  ) = var←c11068;
   (void) XR←ExportType((word) "BitmapRep", (word) XR←GetTypeIndexS((word) (&string11)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2)
      );
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+160)/* var←c10108 */ , 67371265);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+152)/* var←c10076 */ , 67371521);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+136)/* var←c10012 */ , 67371777);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+112)/* var←c9916 */ , 68158467);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+104)/* var←c9884 */ , 525570);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+128)/* var←c9980 */ , 67372545);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+120)/* var←c9948 */ , 268699393);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+72)/* var←c9756 */ , 1575171);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+88)/* var←c9820 */ , 1051140);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+80)/* var←c9788 */ , 527106);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+64)/* var←c9724 */ , 1313794);
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+56)/* var←c9692 */ , 1838340);
   var←c11068 = (word) XR←ExportInterface((word) "XlBitmapExtras", (word) XR←GetTypeIndexS((word) (&string12)), 1);
   (* (( (ptr) gf←c0108)+51)/* var←c11132 */  ) = var←c11068;
   (void) XR←ExportProcS(var←c11068, (word) (( (bPt) gf←c0108)+96)/* var←c9852 */ , 67371009);
   }

static void XlBitmapImpl←P0(formal←c025, formal←c024)
   word formal←c025;
   word formal←c024;
   {
   /* XlBitmapImpl: */ 
SOURCE(105, 3719)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   }

static word NarrowBitmap←P60(x←v3220)
   word x←v3220;
   {
   register ptr gf←c11164 =  (ptr) &globalframe;
   word var←c3280;
   /* NarrowBitmap: */ 
SOURCE(311, 105)
SOURCE(380, 36)
   return(XR←Narrow(x←v3220, (* (( (ptr) gf←c11164)+8) )));
   }

static word IsBitmap←P120(x←v3340)
   word x←v3340;
   {
   register ptr gf←c11196 =  (ptr) &globalframe;
   word var←c3396;
   /* IsBitmap: */ 
SOURCE(420, 90)
SOURCE(474, 36)
   {
      word tc13;
      if ((x←v3340 == 0)) {
         tc13 =  (word) 1;
         }
      else {
         tc13 =  (word) ((* (( (ptr) gf←c11196)+8) ) == XR←GetReferentType(x←v3340));
         };
      return(tc13);
      };
   }

static void Noop←P180(box←v7000, data←v7028, delayOk←v7056)
   W4 box←v7000;
   word data←v7028;
   word delayOk←v7056;
   {
   /* Noop: */ 
   }

static word CreateFromSM←P240(sm←v3456)
   word sm←v3456;
   {
   register ptr gf←c11228 =  (ptr) &globalframe;
   word b←v3500;
   /* CreateFromSM: */ 
SOURCE(539, 201)
SOURCE(539, 201)
   b←v3500 = 0;
   {
      W2 var←c10460;
SOURCE(624, 89)
      {
         W2 var←c10268;
         W4 var←c10364;
         word var←c10428;
         {
            W2 var←c10300;
            word map←v9644;
            map←v9644 = sm←v3456;
            {
               W4 b←v7464;
               b←v7464 = (*  (W4Pt) map←v9644 );
               var←c10300.f0 = (b←v7464.f2 - b←v7464.f0);
               var←c10300.f1 = (b←v7464.f3 - b←v7464.f1);
               };
            var←c10268 = var←c10300;
            };
         {
            W4 var←c10396;
            word map←v9596;
            map←v9596 = sm←v3456;
            var←c10396 = (*  (W4Pt) map←v9596 );
            var←c10364 = var←c10396;
            };
         var←c10428 = XR←NewObject(56, (* (( (ptr) gf←c11228)+8) ));
         (*  (ptr) var←c10428 ) = sm←v3456;
         (*  (W2Pt) (( (ptr) var←c10428)+1) ) = var←c10268;
         (*  (W4Pt) (( (ptr) var←c10428)+3) ) = var←c10364;
         (*  (W4Pt) (( (ptr) var←c10428)+9) ) = (*  (W4Pt) (( (ptr) gf←c11228)+44)/* var←c10204 */  );
         b←v3500 = var←c10428;
         };
SOURCE(715, 25)
      var←c10460.f0 = 0;
      var←c10460.f1 = 0;
      if ( ! XR←EqualWords((( (ptr) b←v3500)+3), &var←c10460, 2)) {
SOURCE(740, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
SOURCE(539, 201)
   return(b←v3500);
   }

static word GetSM←P300(b←v3560)
   word b←v3560;
   {
   word var←c3604;
   /* GetSM: */ 
SOURCE(751, 119)
SOURCE(825, 45)
   if ((b←v3560 != 0)) {
SOURCE(839, 19)
      return((*  (ptr) b←v3560 ));
      }
   else {
SOURCE(858, 12)
      return(0);
      };
   }

static void GetBox←P360(formal←c050, b←v3664)
   word formal←c050;
   word b←v3664;
   {
   register ptr gf←c11260 =  (ptr) &globalframe;
   W4 var←c3708;
   /* GetBox: */ 
SOURCE(876, 104)
SOURCE(929, 51)
   if ((b←v3664 != 0)) {
SOURCE(943, 20)
      var←c3708 = (*  (W4Pt) (( (ptr) b←v3664)+3) );
      /* removed tail goto */ 
      }
   else {
SOURCE(963, 17)
      var←c3708 = (*  (W4Pt) (( (ptr) gf←c11260)+44)/* var←c10204 */  );
      /* removed tail goto */ 
      };
   (*  (W4Pt) formal←c050 ) = var←c3708;
   return;
   }

static word Create←P420(size←v3768, bpp←v3796, sharedMemory←v3824)
   W2 size←v3768;
   word bpp←v3796;
   word sharedMemory←v3824;
   {
   register ptr gf←c11292 =  (ptr) &globalframe;
   word b←v3868;
   word sm←v4856 = 0;
   /* Create: */ 
SOURCE(985, 420)
SOURCE(985, 420)
   b←v3868 = 0;
SOURCE(1125, 109)
   if ((0 != sharedMemory←v3824)) {
SOURCE(1147, 87)
      {
         W4 var←c10556;
         var←c10556.f0 = 0;
         var←c10556.f1 = 0;
         (*  (W2Pt) (( (ptr) &var←c10556)+2) ) = size←v3768;
         {
            word pd14;
            pd14 = (* (( (ptr) (* (( (ptr) gf←c11292)+48)/* var←c10588 */  ))+4) );
            sm←v4856 = (word) ( *( (fPt) ((*  (ptr) pd14 ))))(var←c10556, BCK(bpp←v3796, 33), pd14);
            };
         };
      };
SOURCE(1236, 97)
   if ((sm←v4856 == 0)) {
SOURCE(1252, 81)
      {
         W4 var←c10620;
         var←c10620.f0 = 0;
         var←c10620.f1 = 0;
         (*  (W2Pt) (( (ptr) &var←c10620)+2) ) = size←v3768;
         {
            word pd15;
            pd15 = (* (( (ptr) (* (( (ptr) gf←c11292)+49)/* var←c10652 */  ))+19) );
            sm←v4856 = (word) ( *( (fPt) ((*  (ptr) pd15 ))))(var←c10620, BCK(bpp←v3796, 33), 0, pd15);
            };
         };
      };
SOURCE(1335, 70)
   {
      word var←c10684;
      var←c10684 = XR←NewObject(56, (* (( (ptr) gf←c11292)+8) ));
      (*  (ptr) var←c10684 ) = sm←v4856;
      (*  (W2Pt) (( (ptr) var←c10684)+1) ) = size←v3768;
      (*  (W2Pt) (( (ptr) var←c10684)+5) ) = size←v3768;
      (* (( (ptr) var←c10684)+9) ) = 2147483647;
      (* (( (ptr) var←c10684)+10) ) = 2147483647;
      (* (( (ptr) var←c10684)+11) ) = 2147483648;
      (* (( (ptr) var←c10684)+12) ) = 2147483648;
      b←v3868 = var←c10684;
      };
SOURCE(985, 420)
   return(b←v3868);
   }

static void SetColormap←P480(bitmap←v3928, colormap←v3956)
   word bitmap←v3928;
   word colormap←v3956;
   {
   register ptr gf←c11324 =  (ptr) &globalframe;
   /* SetColormap: */ 
SOURCE(1411, 146)
SOURCE(1472, 85)
   {
      word var←c10716;
      var←c10716 = colormap←v3956;
      if ((var←c10716 == 0)) {
         goto lab←L100003;
         };
      if (((* (( (ptr) gf←c11324)+11) ) == XR←GetReferentType(var←c10716))) {
         {
            word cme←v4900;
            cme←v4900 = var←c10716;
SOURCE(1517, 40)
            (* (( (ptr) bitmap←v3928)+13) ) = cme←v4900;
            };
         }
      else {
         lab←L100003: ;
         };
      };
   }

static word GetColormap←P540(bitmap←v4028)
   word bitmap←v4028;
   {
   word var←c4072;
   /* GetColormap: */ 
SOURCE(1564, 96)
SOURCE(1628, 32)
   return((* (( (ptr) bitmap←v4028)+13) ));
   }

static void RegisterInterceptionProcs←P600(bitmap←v4144, refresh←v4172, preRefresh←v4200, data←v4228)
   word bitmap←v4144;
   word refresh←v4172;
   word preRefresh←v4200;
   word data←v4228;
   {
   register ptr gf←c11356 =  (ptr) &globalframe;
   /* RegisterInterceptionProcs: */ 
SOURCE(1663, 717)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c11356)+16)/* LOCK←v2692 */ ));
SOURCE(1774, 302)
   if ((preRefresh←v4200 != 0)) {
SOURCE(1797, 279)
      {
         word ok←v4944 = 0;
SOURCE(1817, 151)
         {
            register word preList←v4988;
            preList←v4988 = (* (( (ptr) bitmap←v4144)+8) );
            lab←L100007: ;
            if ((preList←v4988 != 0)) {
               }
            else {
               goto lab←L100004;
               };
SOURCE(1893, 75)
            if (((* (( (ptr) preList←v4988)+1) ) == data←v4228)) {
SOURCE(1926, 31)
               (*  (ptr) preList←v4988 ) = XR←CheckProc(preRefresh←v4200);
SOURCE(1959, 9)
               ok←v4944 = 1;
SOURCE(1970, 4)
               goto lab←L100005;
               };
            preList←v4988 = (* (( (ptr) preList←v4988)+2) );
            goto lab←L100007;
            lab←L100004: ;
            lab←L100005: ;
            };
SOURCE(1986, 90)
         if ( ( (0 == ok←v4944) ? (preRefresh←v4200 != (word) (( (bPt) gf←c11356)+144)/* var←c10044 */ ) : 0 ) ) {
SOURCE(2018, 58)
            {
               word var←c10748;
               var←c10748 = XR←NewObject(12, (* (( (ptr) gf←c11356)+12) ));
               (*  (ptr) var←c10748 ) = XR←CheckProc(preRefresh←v4200);
               (* (( (ptr) var←c10748)+1) ) = data←v4228;
               (* (( (ptr) var←c10748)+2) ) = (* (( (ptr) bitmap←v4144)+8) );
               (* (( (ptr) bitmap←v4144)+8) ) = var←c10748;
               };
            };
         };
      };
SOURCE(2079, 301)
   if ((refresh←v4172 != 0)) {
SOURCE(2099, 281)
      {
         word ok←v5032 = 0;
SOURCE(2119, 154)
         {
            register word postList←v5076;
            postList←v5076 = (* (( (ptr) bitmap←v4144)+7) );
            lab←L100011: ;
            if ((postList←v5076 != 0)) {
               }
            else {
               goto lab←L100008;
               };
SOURCE(2199, 74)
            if (((* (( (ptr) postList←v5076)+1) ) == data←v4228)) {
SOURCE(2233, 29)
               (*  (ptr) postList←v5076 ) = XR←CheckProc(refresh←v4172);
SOURCE(2264, 9)
               ok←v5032 = 1;
SOURCE(2275, 4)
               goto lab←L100009;
               };
            postList←v5076 = (* (( (ptr) postList←v5076)+2) );
            goto lab←L100011;
            lab←L100008: ;
            lab←L100009: ;
            };
SOURCE(2291, 89)
         if ( ( (0 == ok←v5032) ? (preRefresh←v4200 != (word) (( (bPt) gf←c11356)+144)/* var←c10044 */ ) : 0 ) ) {
SOURCE(2323, 57)
            {
               word var←c10780;
               var←c10780 = XR←NewObject(12, (* (( (ptr) gf←c11356)+12) ));
               (*  (ptr) var←c10780 ) = XR←CheckProc(refresh←v4172);
               (* (( (ptr) var←c10780)+1) ) = data←v4228;
               (* (( (ptr) var←c10780)+2) ) = (* (( (ptr) bitmap←v4144)+7) );
               (* (( (ptr) bitmap←v4144)+7) ) = var←c10780;
               };
            };
         };
      };
SOURCE(1663, 717)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c11356)+16)/* LOCK←v2692 */ ));
   return;
   }

static void RemoveInterceptionProcs←P660(bitmap←v4300, data←v4328)
   word bitmap←v4300;
   word data←v4328;
   {
   W6 var←c11388;
   register ptr gf←c11420 =  (ptr) &globalframe;
   /* declaration of var←c10812 skipped */ 
   /* RemoveInterceptionProcs: */ 
SOURCE(2387, 484)
   {
      word tmpAddr16;
      tmpAddr16 = (word) (( (ptr) &var←c11388)+4)/* var←c10812 */ ;
      (*  (ptr) tmpAddr16 ) = ( ((word)  (fPt) Entry←P1200) );
      (* (( (ptr) tmpAddr16) + 1) ) = 1;
      };
SOURCE(2799, 51)
   (void) RegisterInterceptionProcs←P600(bitmap←v4300, (word) (( (bPt) gf←c11420)+144)/* var←c10044 */ , (word) (( (bPt) gf←c11420)+144)
      /* var←c10044 */ , data←v4328);
SOURCE(2852, 19)
   (void) Entry←P1200(bitmap←v4300, data←v4328, (word) (( (bPt) &var←c11388)+16)/* var←c10812 */ );
   }

static void Entry←P1200(bitmap←v5196, data←v5224, formal←c11516)
   word bitmap←v5196;
   word data←v5224;
   word formal←c11516;
   {
   W6 var←c11452;
   register ptr gf←c11484 =  (ptr) &globalframe;
   /* declaration of var←c10844 skipped */ 
   formal←c11516 = (formal←c11516 - 16);
   var←c11452.f0 = formal←c11516;
   /* Entry: */ 
SOURCE(2456, 338)
   {
      word tmpAddr17;
      tmpAddr17 = (word) (( (ptr) &var←c11452)+4)/* var←c10844 */ ;
      (*  (ptr) tmpAddr17 ) = ( ((word)  (fPt) ReplaceICClosures←P1260) );
      (* (( (ptr) tmpAddr17) + 1) ) = 1;
      };
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c11484)+16)/* LOCK←v2692 */ ));
SOURCE(2690, 52)
   (* (( (ptr) bitmap←v5196)+7) ) = (word) ReplaceICClosures←P1260((* (( (ptr) bitmap←v5196)+7) ), (word) (( (bPt) &var←c11452)+16)
      /* var←c10844 */ );
SOURCE(2744, 50)
   (* (( (ptr) bitmap←v5196)+8) ) = (word) ReplaceICClosures←P1260((* (( (ptr) bitmap←v5196)+8) ), (word) (( (bPt) &var←c11452)+16)
      /* var←c10844 */ );
SOURCE(2456, 338)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c11484)+16)/* LOCK←v2692 */ ));
   return;
   }

static word ReplaceICClosures←P1260(c←v5340, formal←c11580)
   word c←v5340;
   word formal←c11580;
   {
   register ptr gf←c11548 =  (ptr) &globalframe;
   word new←v5384;
   formal←c11580 = (formal←c11580 - 16);
   /* ReplaceICClosures: */ 
SOURCE(2506, 179)
SOURCE(2506, 179)
   new←v5384 = 0;
SOURCE(2582, 103)
   {
      register word l←v5412;
      l←v5412 = c←v5340;
      lab←L100015: ;
      if ((l←v5412 != 0)) {
         }
      else {
         goto lab←L100012;
         };
SOURCE(2627, 58)
      if (((*  (ptr) l←v5412 ) != (word) (( (bPt) gf←c11548)+144)/* var←c10044 */ )) {
SOURCE(2653, 32)
         {
            word var←c10876;
            var←c10876 = XR←NewObject(12, (* (( (ptr) gf←c11548)+12) ));
            (*  (W2Pt) var←c10876 ) = (*  (W2Pt) l←v5412 );
            (* (( (ptr) var←c10876)+2) ) = new←v5384;
            new←v5384 = var←c10876;
            };
         };
      l←v5412 = (* (( (ptr) l←v5412)+2) );
      goto lab←L100015;
      lab←L100012: ;
      };
SOURCE(2506, 179)
   return(new←v5384);
   }

static void Refresh←P720(bitmap←v4400, box←v4428, delayOk←v4456)
   word bitmap←v4400;
   W4 box←v4428;
   word delayOk←v4456;
   {
   /* Refresh: */ 
SOURCE(2877, 113)
SOURCE(2955, 35)
   {
      word b←v9236;
      W4 box←v9264;
      word delayOk←v9292;
      word var←c10908;
      W4 outer←v9356;
      b←v9236 = bitmap←v4400;
      box←v9264 = box←v4428;
      delayOk←v9292 = delayOk←v4456;
SOURCE(3639, 185)
      outer←v9356 = (*  (W4Pt) (( (ptr) b←v9236)+9) );
      if ( (  ( ( (int)box←v9264.f0 >=  (int)outer←v9356.f0) ? ( (int)box←v9264.f1 >=  (int)outer←v9356.f1) : 0 )  ? ( (int)box←v9264.f2 <=  (int)outer←v9356.f2) : 0 ) ) {
         var←c10908 = ( (int)box←v9264.f3 <=  (int)outer←v9356.f3);
         }
      else {
         var←c10908 = 0;
         };
      if ((0 == var←c10908)) {
SOURCE(3695, 129)
         {
            register word postList←v5456;
            postList←v5456 = (* (( (ptr) b←v9236)+7) );
            lab←L100020: ;
            if ((postList←v5456 != 0)) {
               }
            else {
               goto lab←L100017;
               };
SOURCE(3770, 54)
            {
               word pd18;
               pd18 = (*  (ptr) postList←v5456 );
               (void) ( *( (fPt) ((*  (ptr) pd18 ))))(box←v9264, (* (( (ptr) postList←v5456)+1) ), delayOk←v9292, pd18);
               };
            postList←v5456 = (* (( (ptr) postList←v5456)+2) );
            goto lab←L100020;
            lab←L100017: ;
            };
         };
      };
   }

static void PromiseRepaintLater←P780(bitmap←v4516, box←v4544)
   word bitmap←v4516;
   W4 box←v4544;
   {
   word var←c10940;
   W4 box←v9548;
   word var←c10972;
   W4 outer←v9500;
   /* PromiseRepaintLater: */ 
SOURCE(2996, 185)
SOURCE(3063, 118)
   box←v9548 = (*  (W4Pt) (( (ptr) bitmap←v4516)+9) );
   if (( (int)box←v9548.f0 >=  (int)box←v9548.f2)) {
      var←c10940 = 1;
      }
   else {
      var←c10940 = ( (int)box←v9548.f1 >=  (int)box←v9548.f3);
      };
   if ((0 != var←c10940)) { goto then019;};
   outer←v9500 = (*  (W4Pt) (( (ptr) bitmap←v4516)+9) );
   if ( (  ( ( (int)box←v4544.f0 >=  (int)outer←v9500.f0) ? ( (int)box←v4544.f1 >=  (int)outer←v9500.f1) : 0 )  ? ( (int)box←v4544.f2 <=  (int)outer←v9500.f2) : 0 ) ) {
      var←c10972 = ( (int)box←v4544.f3 <=  (int)outer←v9500.f3);
      }
   else {
      var←c10972 = 0;
      };
   if ((0 == var←c10972)) {
      then019: ;
SOURCE(3159, 22)
      (*  (W4Pt) (( (ptr) bitmap←v4516)+9) ) = box←v4544;
      };
   }

static void EndPromiseRepaint←P840(bitmap←v4604, box←v4632, refresh←v4660, delayOk←v4688)
   word bitmap←v4604;
   W4 box←v4632;
   word refresh←v4660;
   word delayOk←v4688;
   {
   word var←c11004;
   W4 inner←v9452;
   word var←c11036;
   W4 outer←v9404;
   /* EndPromiseRepaint: */ 
SOURCE(3185, 374)
SOURCE(3307, 252)
   inner←v9452 = (*  (W4Pt) (( (ptr) bitmap←v4604)+9) );
   if ( (  ( ( (int)inner←v9452.f0 >=  (int)box←v4632.f0) ? ( (int)inner←v9452.f1 >=  (int)box←v4632.f1) : 0 )  ? ( (int)inner←v9452.f2 <=  (int)box←v4632.f2) : 0 ) ) {
      var←c11004 = ( (int)inner←v9452.f3 <=  (int)box←v4632.f3);
      }
   else {
      var←c11004 = 0;
      };
   if ((0 != var←c11004)) {
SOURCE(3369, 26)
      (* (( (ptr) bitmap←v4604)+9) ) = 2147483647;
      (* (( (ptr) bitmap←v4604)+10) ) = 2147483647;
      (* (( (ptr) bitmap←v4604)+11) ) = 2147483648;
      (* (( (ptr) bitmap←v4604)+12) ) = 2147483648;
SOURCE(3397, 45)
      if ((0 != refresh←v4660)) {
SOURCE(3413, 29)
         (void) Refresh←P720(bitmap←v4604, box←v4632, delayOk←v4688);
         };
      }
   else {
SOURCE(3451, 108)
      if ((0 != refresh←v4660)) {
SOURCE(3469, 90)
         outer←v9404 = (*  (W4Pt) (( (ptr) bitmap←v4604)+9) );
         if ( (  ( ( (int)box←v4632.f0 >=  (int)outer←v9404.f0) ? ( (int)box←v4632.f1 >=  (int)outer←v9404.f1) : 0 )  ? ( (int)box←v4632.f2 <=  (int)outer←v9404.f2) : 0 ) ) {
            var←c11036 = ( (int)box←v4632.f3 <=  (int)outer←v9404.f3);
            }
         else {
            var←c11036 = 0;
            };
         if ((0 == var←c11036)) {
SOURCE(3530, 29)
            (void) Refresh←P720(bitmap←v4604, box←v4632, delayOk←v4688);
            };
         };
      };
   }

/* file: XlBitmapImpl, module: XlBitmapImpl, compiled at: January 4, 1993 12:30:08 pm PST */ 
extern void XR←install←XlBitmapImpl() {
   NoName←Q2100();
   }
extern void XR←run←XlBitmapImpl() { XR←Start(&globalframe); }