/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: May 11, 1992 10:34:59 am PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XTkMigrationImpl, module: XTkMigrationImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3923991155,1985978248] XTkMigrationImpl";
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 {W8 f; W8 r;} W16;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q1152();
static void XTkMigrationImpl←P0();
static void TryMigrate←P60();
static word NoName←Q1212();
static word NoName←Q1272();
static void SetMigrationOwner←P120();
static word Migrate←P180();
static word NoName←Q1332();
static word NoName←Q1392();
static word SetMigrating←P240();
static void ClearMigrating←P300();
static void SetMigrationOwnerProperty←P360();
static void RegisterMigrator←P420();
static void PostWindowCreation←P480();
static word StandardMigrator←P540();
static word NoName←Q1452();
static void NoName←Q1512();
static void NoName←Q1572();
static void NoName←Q1632();
static void NoName←Q1692();
static void NoName←Q1752();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\244\000\000"};
static struct {unsigned f; char r[40];} string2 = {2555943, "\011\000\004\106\000\040\006\011\020\004\101\201\100\174\001\100\200\001\100\204\001\100\210\001\100\220\001\100\264\001\100\270\001\100\274\001\100\304\001"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string4 = {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];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string6 = {65537, "\001\000\000"};
static struct {unsigned f; char r[48];} string7 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"};
static struct {unsigned f; char r[4];} string9 = {65540, "\242\000\000"};
static struct {unsigned f; char r[4];} string10 = {131076, "\216\251\000"};
static struct {unsigned f; char r[76];} string11 = {4718668, "\262\260\006\005\163\150\145\154\154\216\257\300\033\115\307\000\300\214\060\055\310\100\244\014\013\144\145\163\164\151\156\141\164\151\157\156\216\257\300\351\276\264\273\300\115\104\320\264\126\304\261\260\004\003\155\163\147\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\126\304\000\000"};
static struct {unsigned f; char r[60];} string13 = {3735609, "\006\023\040\001\070\001\100\100\001\100\104\001\100\110\001\100\140\001\100\144\001\100\150\001\100\154\001\100\160\001\100\164\001\100\170\001\100\174\001\100\200\001\100\224\001\100\234\001\100\240\001\100\244\001\100\250\001\000\000"};
static struct {unsigned f; char r[32];} string14 = {1900576, "migration already in progress\000\000"};
static struct {unsigned f; char r[12];} string15 = {589836, "migration\000\000"};
static struct {unsigned f; char r[16];} string16 = {917520, "MigrationOwner\000"};
static struct {unsigned f; char r[12];} string17 = {589836, "Migrating\000\000"};
static struct {unsigned f; char r[24];} string18 = {1310744, "PARC←Migration←Owner\000\000\000"};
static struct {unsigned f; char r[16];} string19 = {917520, "PARC←Migration\000"};
static struct {unsigned f; char r[24];} string20 = {1310744, "connection not alive\000\000\000"};
static struct {unsigned f; char r[16];} string21 = {786448, "WM←PROTOCOLS\000\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\351\343\132\163\300\166\137\237\210\100\164\000\000"};
static struct {unsigned f; char r[8];} string23 = {458759, "\006\001@L\004@\377"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\054\174\025\242\300\120\014\117\154\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\273`R#\300\206CBt@h\000\000"};
static struct {
   word f0[27]; 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; word f52[4]; 
   } globalframe = {
   {0}, (word) StandardMigrator←P540, 0, (word) PostWindowCreation←P480, 
   0, (word) RegisterMigrator←P420, 0, (word) SetMigrationOwnerProperty←P360, 
   0, (word) ClearMigrating←P300, 0, (word) SetMigrating←P240, 
   0, (word) Migrate←P180, 0, (word) SetMigrationOwner←P120, 
   0, (word) TryMigrate←P60, 0, (word) XTkMigrationImpl←P0, 
   0, 2147483648, 2147483648, 2147483648, 
   2147483648, 2147483648, {0}
   };

static void NoName←Q1152()
   {
   register ptr gf←c0121 =  (ptr) &globalframe;
   word var←c31108;
   (* (( (ptr) gf←c0121)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0121)+10) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0121)+11) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0121)+13) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0121)+14) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c0121)+15) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string6);
   (* (( (ptr) gf←c0121)+16) ) = (word) XR←GetTypeIndexS((word) (&string11));
   (* (( (ptr) gf←c0121)+18) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (*  (ptr) (( (bPt) gf←c0121)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+11) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0121)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+15) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0121)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+15) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0121)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+15) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0121)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+11) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0121)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+11) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0121)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+11) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0121)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0121)+11) ), (word) &string21);
   (void) XR←DeclareGlobalFrame((word) "XTkMigrationImpl", &globalframe, (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23)
      , (word) (( (bPt) gf←c0121)+180)/* var←c30404 */ );
   var←c31108 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string24)), 218);
   (* (( (ptr) gf←c0121)+52)/* var←c30500 */  ) = var←c31108;
   (void) XR←ImportProcS(var←c31108, 533506);
   (void) XR←ImportProcS(var←c31108, 67910403);
   (void) XR←ImportProcS(var←c31108, 68207876);
   (void) XR←ImportProcS(var←c31108, 2371849);
   (void) XR←ImportProcS(var←c31108, 533762);
   (void) XR←ImportProcS(var←c31108, 271873);
   (void) XR←ImportProcS(var←c31108, 68690438);
   (void) XR←ImportProcS(var←c31108, 270545672);
   (void) XR←ImportProcS(var←c31108, 67644930);
   var←c31108 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string25)), 50);
   (* (( (ptr) gf←c0121)+53)/* var←c30692 */  ) = var←c31108;
   (void) XR←ImportProcS(var←c31108, 1050628);
   (void) XR←ImportProcS(var←c31108, 1579523);
   (void) XR←ImportProcS(var←c31108, 67634690);
   (void) XR←ImportProcS(var←c31108, 788227);
   var←c31108 = (word) XR←ImportInterface((word) "XTkShellWidgets", (word) XR←GetTypeIndexS((word) (&string26)), 26);
   (* (( (ptr) gf←c0121)+54)/* var←c30916 */  ) = var←c31108;
   (void) XR←ImportProcS(var←c31108, 2099204);
   (void) XR←ImportProcS(var←c31108, 786947);
   (void) XR←ImportProcS(var←c31108, 262913);
   (void) XR←ImportProcS(var←c31108, 67376641);
   var←c31108 = (word) XR←ExportInterface((word) "XTkMigration", (word) XR←GetTypeIndexS((word) (&string27)), 3);
   (* (( (ptr) gf←c0121)+55)/* var←c31140 */  ) = var←c31108;
   (void) XR←ExportProcS(var←c31108, (word) (( (bPt) gf←c0121)+156)/* var←c30308 */ , 67633154);
   (void) XR←ExportProcS(var←c31108, (word) (( (bPt) gf←c0121)+124)/* var←c30180 */ , 524546);
   (void) XR←ExportProcS(var←c31108, (word) (( (bPt) gf←c0121)+108)/* var←c30116 */ , 67633666);
   }

static void XTkMigrationImpl←P0(formal←c033, formal←c032)
   word formal←c033;
   word formal←c032;
   {
   /* XTkMigrationImpl: */ 
SOURCE(58, 4493)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   }

static void TryMigrate←P60(event←v5516, clientData←v5544, tq←v5572)
   word event←v5516;
   word clientData←v5544;
   word tq←v5572;
   {
   W16 var←c31172;
   register ptr gf←c31204 =  (ptr) &globalframe;
   /* TryMigrate: */ 
SOURCE(179, 1221)
SOURCE(210, 1190)
SOURCE(212, 41)
   {
      /* declaration of migrateAtom←v3484 skipped */ 
      /* declaration of migrationOwnerAtom←v3512 skipped */ 
      word shell←v3540;
      /* declaration of ev←v3568 skipped */ 
      /* declaration of connection←v3596 skipped */ 
SOURCE(255, 38)
      shell←v3540 = XR←Narrow(clientData←v5544, (* (( (ptr) gf←c31204)+8) ));
SOURCE(295, 41)
      if ((event←v5516 == 0)) {
         goto lab←L100001;
         };
      if (((* (( (ptr) event←v5516)+4) ) == 33)) {
         goto lab←L100001;
         };
      (void) XR←RaiseError(XR←NarrowFault, 0);
      lab←L100001: ;
      (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ) = event←v5516;
SOURCE(338, 41)
      (* (( (ptr) &var←c31172)+7)/* connection←v3596 */  ) = (* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+2) );
SOURCE(381, 53)
      if (((* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+7) ) != (* (( (ptr) shell←v3540)+35) )) || ((* (( (ptr) (* (
            ( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+5) ) != 32)) {
SOURCE(428, 6)
         return;
         };
SOURCE(436, 36)
      if (((* (( (ptr) &var←c31172)+7)/* connection←v3596 */  ) == 0) || (0 == (* (( (ptr) (* (( (ptr) &var←c31172)+7)/* connection←v3596 */  ))+15)
       ))) {
SOURCE(466, 6)
         return;
         };
SOURCE(480, 290)
      {
         word var←c01;
         {
            word var←c0143;
            var←c0143 = (word) &var←c31172;
            var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1272) ), ( ((word)  (fPt) NoName←Q1752) ), var←c0143);
            };
         if ((var←c01 == 2)) {
            goto lab←L100000;
            }
         else {
            if ((var←c01 == 1)) {
               goto lab←L02;
               };
            };
         };
SOURCE(777, 603)
      {
         word var←c30532;
         var←c30532 = (* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+9) );
         if ((var←c30532 == (* (( (ptr) &var←c31172)+4)/* migrateAtom←v3484 */  )) || (var←c30532 == (* (( (ptr) &var←c31172)+5)/* migrationOwnerAtom←v3512 */  ))) {
SOURCE(832, 528)
            {
               W4 pr←v3640;
               word unusedTimeStamp←v3668;
               /* declaration of window←v3696 skipped */ 
               /* declaration of property←v3724 skipped */ 
SOURCE(834, 24)
               pr←v3640.f0 = 0;
               pr←v3640.f1 = 0;
               pr←v3640.f2 = 0;
               pr←v3640.f3 = 0;
SOURCE(860, 41)
               unusedTimeStamp←v3668 = (* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+10) );
SOURCE(904, 31)
               (* (( (ptr) &var←c31172)+8)/* window←v3696 */  ) = (* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+11) );
SOURCE(938, 30)
               (* (( (ptr) &var←c31172)+9)/* property←v3724 */  ) = (* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+12) );
SOURCE(971, 36)
               if (((* (( (ptr) &var←c31172)+9)/* property←v3724 */  ) == 0)) {
SOURCE(1001, 6)
                  return;
                  };
SOURCE(1009, 35)
               if (((* (( (ptr) &var←c31172)+8)/* window←v3696 */  ) == 0)) {
SOURCE(1038, 6)
                  return;
                  };
SOURCE(1046, 83)
               {
                  /* declaration of var←c02 skipped */ 
                  /* declaration of var←c03 skipped */ 
                  (* (( (ptr) &var←c31172)+10)/* var←c02 */  ) = (* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+2) );
                  (* (( (ptr) &var←c31172)+11)/* var←c03 */  ) = (* (( (ptr) (* (( (ptr) gf←c31204)+52)/* var←c30500 */  ))+55) );
                  {
                     /* declaration of var←c04 skipped */ 
                     {
                        word var←c05;
                        {
                           word var←c0144;
                           var←c0144 = (word) &var←c31172;
                           var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1212) ), ( ((word)  (fPt) NoName←Q1692) ), var←c0144);
                           };
                        if ((var←c05 == 2)) {
                           goto lab←L100000;
                           };
                        };
                     pr←v3640 = (*  (W4Pt) (( (ptr) &var←c31172)+12)/* var←c04 */  );
                     };
                  };
SOURCE(1142, 193)
               {
                  word var←c30596;
                  var←c30596 = pr←v3640.f2;
                  if ((var←c30596 == 0)) {
                     goto lab←L100006;
                     };
                  {
                     word tc28;
                     if (((* (( (ptr) gf←c31204)+10) ) == XR←GetReferentType(var←c30596))) {
                        tc28 =  (word) ((*(int*)var←c30596<0) == 0);
                        }
                     else {
                        tc28 =  (word) 0;
                        };
                     if (tc28) {
                        {
                           word r←v3768;
                           r←v3768 = var←c30596;
SOURCE(1186, 149)
                           {
/*1*/   word var←c30628;
/*1*/   var←c30628 = (* (( (ptr) (* (( (ptr) &var←c31172)+6)/* ev←v3568 */  ))+9) );
/*1*/   if ((var←c30628 == (* (( (ptr) &var←c31172)+4)/* migrateAtom←v3484 */  ))) {
SOURCE(1222, 22)
/*1*/      {
/*1*/         word var←c30660;
/*1*/         var←c30660 = (word) Migrate←P180(shell←v3540, r←v3768);
/*1*/         };
SOURCE(1246, 6)
/*1*/      return;
/*1*/      }
/*1*/   else {
/*1*/      if ((var←c30628 == (* (( (ptr) &var←c31172)+5)/* migrationOwnerAtom←v3512 */  ))) {
SOURCE(1278, 27)
/*1*/         (void) SetMigrationOwner←P120(shell←v3540, r←v3768);
SOURCE(1307, 6)
/*1*/         return;
/*1*/         }
/*1*/      else {
SOURCE(1327, 8)
/*1*/         return;
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        }
                     else {
                        lab←L100006: ;
SOURCE(1349, 9)
                        goto lab←L100000;
                        };
                     };
                  };
               };
            }
         else {
SOURCE(1374, 6)
            return;
            };
         };
      };
   /* c2c skipped dead code */ 
   lab←L100000: ;
   lab←L02: ;
   return;
   }

static word NoName←Q1212(formal←c0123)
   word formal←c0123;
   {
SOURCE(1046, 83)
   {
      word pd29;
      pd29 = (* (( (ptr) formal←c0123)+11) );
      (void) ( *( (fPt) ((*  (ptr) pd29 ))))((word) (( (bPt) formal←c0123)+48), (* (( (ptr) formal←c0123)+10) ), (* (( (ptr) formal←c0123)+8)
          ), (* (( (ptr) formal←c0123)+9) ), 0, 0
         , 0, 2147483647, 0, pd29);
      };
   return(0);
   }

static word NoName←Q1272(formal←c0125)
   word formal←c0125;
   {
   register ptr gf←c0124 =  (ptr) &globalframe;
SOURCE(577, 66)
   {
      word pd30;
      pd30 = (* (( (ptr) (* (( (ptr) gf←c0124)+52)/* var←c30500 */  ))+50) );
      if (((* (( (ptr) (* (( (ptr) formal←c0125)+6) ))+8) ) != (word) ( *( (fPt) ((*  (ptr) pd30 ))))((* (( (ptr) formal←c0125)+7)
          ), (* (( (ptr) gf←c0124)+26) ), pd30))) {
SOURCE(637, 6)
         return(1);
         };
      };
SOURCE(645, 55)
   {
      word pd31;
      pd31 = (* (( (ptr) (* (( (ptr) gf←c0124)+52)/* var←c30500 */  ))+50) );
      (* (( (ptr) formal←c0125)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd31 ))))((* (( (ptr) formal←c0125)+7) ), (* (( (ptr) gf←c0124)+24)
          ), pd31);
      };
SOURCE(702, 68)
   {
      word pd32;
      pd32 = (* (( (ptr) (* (( (ptr) gf←c0124)+52)/* var←c30500 */  ))+50) );
      (* (( (ptr) formal←c0125)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd32 ))))((* (( (ptr) formal←c0125)+7) ), (* (( (ptr) gf←c0124)+23)
          ), pd32);
      };
   return(0);
   }

static void SetMigrationOwner←P120(shell←v2940, owner←v2968)
   word shell←v2940;
   word owner←v2968;
   {
   register ptr gf←c31236 =  (ptr) &globalframe;
   /* SetMigrationOwner: */ 
SOURCE(1404, 156)
SOURCE(1470, 48)
   {
      word pd33;
      pd33 = (* (( (ptr) (* (( (ptr) gf←c31236)+53)/* var←c30692 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd33 ))))(shell←v2940, (* (( (ptr) gf←c31236)+21) ), owner←v2968, pd33);
      };
SOURCE(1520, 40)
   (void) SetMigrationOwnerProperty←P360(shell←v2940, owner←v2968);
   }

static word Migrate←P180(formal←c0154, destination←v3056)
   word formal←c0154;
   word destination←v3056;
   {
   W11 var←c31268;
   /* declaration of shell←v3028 skipped */ 
   register ptr gf←c31300 =  (ptr) &globalframe;
   /* declaration of msg←v3116 skipped */ 
   (* (( (ptr) &var←c31268)+4)/* shell←v3028 */  ) = formal←c0154;
   /* Migrate: */ 
SOURCE(1564, 834)
SOURCE(1564, 834)
   (* (( (ptr) &var←c31268)+5)/* msg←v3116 */  ) = 0;
SOURCE(1656, 742)
SOURCE(1658, 703)
   {
      word var←c30724;
      {
         word pd34;
         pd34 = (* (( (ptr) (* (( (ptr) gf←c31300)+53)/* var←c30692 */  ))+10) );
         var←c30724 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) &var←c31268)+4)/* shell←v3028 */  ), (* (( (ptr) gf←c31300)+20)
             ), pd34);
         };
      if ((var←c30724 == 0)) {
         goto lab←L100009;
         };
      if (((* (( (ptr) gf←c31300)+16) ) == XR←GetReferentType(var←c30724))) {
         {
            word proc←v3812;
            proc←v3812 = var←c30724;
SOURCE(1752, 611)
            {
               /* declaration of iMadeIt←v3868 skipped */ 
               /* declaration of newConnection←v3896 skipped */ 
SOURCE(1754, 21)
               (* (( (ptr) &var←c31268)+6)/* iMadeIt←v3868 */  ) = 0;
SOURCE(1777, 28)
               (* (( (ptr) &var←c31268)+7)/* newConnection←v3896 */  ) = 0;
SOURCE(1807, 72)
               if ((0 == (word) SetMigrating←P240((* ((( (ptr) &var←c31268)+4)/* shell←v3028 */ ) )))) {
SOURCE(1839, 40)
                  return((* (( (ptr) gf←c31300)+19) ));
                  };
SOURCE(1881, 271)
               {
                  word var←c30756;
                  word var←c30788;
                  var←c30756 = destination←v3056;
                  if ((var←c30756 == 0)) {
                     goto lab←L100010;
                     };
                  var←c30788 = XR←GetReferentType(var←c30756);
                  {
                     word tc35;
                     if (((* (( (ptr) gf←c31300)+18) ) == var←c30788)) {
                        {
                           word c←v3940;
                           c←v3940 = var←c30756;
SOURCE(1930, 17)
                           (* (( (ptr) &var←c31268)+7)/* newConnection←v3896 */  ) = c←v3940;
                           };
                        }
                     else {
                        if (((* (( (ptr) gf←c31300)+10) ) == var←c30788)) {
                           tc35 =  (word) ((*(int*)var←c30756<0) == 0);
                           }
                        else {
                           tc35 =  (word) 0;
                           };
                        if (tc35) {
                           {
/*1*/   /* declaration of r←v3984 skipped */ 
/*1*/   (* (( (ptr) &var←c31268)+8)/* r←v3984 */  ) = var←c30756;
SOURCE(1967, 14)
/*1*/   (* (( (ptr) &var←c31268)+6)/* iMadeIt←v3868 */  ) = 1;
SOURCE(1983, 116)
/*1*/   {
/*1*/      /* declaration of var←c06 skipped */ 
/*1*/      (* (( (ptr) &var←c31268)+9)/* var←c06 */  ) = (* (( (ptr) (* (( (ptr) gf←c31300)+52)/* var←c30500 */  ))+38) );
/*1*/      {
/*1*/         /* declaration of var←c07 skipped */ 
/*1*/         {
/*1*/            word var←c08;
/*1*/            {
/*1*/               word var←c0145;
/*1*/               var←c0145 = (word) &var←c31268;
/*1*/               var←c08 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1392) ), ( ((word)  (fPt) NoName←Q1632) ), var←c0145);
/*1*/               };
/*1*/            if ((var←c08 == 3)) {
/*1*/               goto lab←L100008;
/*1*/               };
/*1*/            };
/*1*/         (* (( (ptr) &var←c31268)+7)/* newConnection←v3896 */  ) = (* (( (ptr) &var←c31268)+10)/* var←c07 */  );
/*1*/         };
/*1*/      };
/*1*/   };
                           }
                        else {
                           lab←L100010: ;
SOURCE(2131, 21)
                           (void) ClearMigrating←P300((* ((( (ptr) &var←c31268)+4)/* shell←v3028 */ ) ));
SOURCE(2154, 5)
                           (void) XR←RaiseUnnamedError();
                           };
                        };
                     };
                  };
SOURCE(2164, 118)
               {
                  /* declaration of var←c09 skipped */ 
                  (* (( (ptr) &var←c31268)+8)/* var←c09 */  ) = (*  (ptr) proc←v3812 );
                  {
                     /* declaration of var←c010 skipped */ 
                     {
                        word var←c0146;
                        var←c0146 = (word) &var←c31268;
                         (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q1332) ), ( ((word)  (fPt) NoName←Q1572) ), var←c0146);
                        };
                     (* (( (ptr) &var←c31268)+5)/* msg←v3116 */  ) = (* (( (ptr) &var←c31268)+9)/* var←c010 */  );
                     };
                  };
SOURCE(2288, 21)
               (void) ClearMigrating←P300((* ((( (ptr) &var←c31268)+4)/* shell←v3028 */ ) ));
SOURCE(2311, 50)
               if ((0 != (* (( (ptr) &var←c31268)+6)/* iMadeIt←v3868 */  ))) {
SOURCE(2327, 34)
                  {
                     word pd36;
                     pd36 = (* (( (ptr) (* (( (ptr) gf←c31300)+52)/* var←c30500 */  ))+41) );
                     (void) ( *( (fPt) ((*  (ptr) pd36 ))))((* (( (ptr) &var←c31268)+7)/* newConnection←v3896 */  ), 0, pd36);
                     };
                  };
               };
            };
         }
      else {
         lab←L100009: ;
         };
      };
   goto lab←L100015;
   lab←L100008: ;
   lab←L100015: ;
SOURCE(1564, 834)
   return((* (( (ptr) &var←c31268)+5)/* msg←v3116 */  ));
   }

static word NoName←Q1332(formal←c0128)
   word formal←c0128;
   {
SOURCE(2164, 118)
   {
      word pd37;
      pd37 = (* (( (ptr) formal←c0128)+8) );
      (* (( (ptr) formal←c0128)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd37 ))))((* (( (ptr) formal←c0128)+4) ), (* (( (ptr) formal←c0128)+7)
          ), pd37);
      };
   return(0);
   }

static word NoName←Q1392(formal←c0129)
   word formal←c0129;
   {
SOURCE(1983, 116)
   {
      word pd38;
      pd38 = (* (( (ptr) formal←c0129)+9) );
      (* (( (ptr) formal←c0129)+10) ) = (word) ( *( (fPt) ((*  (ptr) pd38 ))))((* (( (ptr) formal←c0129)+8) ), 0, 0, 0, 0, 0, pd38)
      ;
      };
   return(0);
   }

static word SetMigrating←P240(shell←v3176)
   word shell←v3176;
   {
   register ptr gf←c31332 =  (ptr) &globalframe;
   word ok←v3220;
   /* SetMigrating: */ 
SOURCE(2402, 194)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c31332)+16)/* LOCK←v2608 */ ));
SOURCE(2470, 63)
   {
      word pd39;
      pd39 = (* (( (ptr) (* (( (ptr) gf←c31332)+53)/* var←c30692 */  ))+10) );
      if (((word) ( *( (fPt) ((*  (ptr) pd39 ))))(shell←v3176, (* (( (ptr) gf←c31332)+22) ), pd39) != 0)) {
SOURCE(2519, 14)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c31332)+16)/* LOCK←v2608 */ ));
         return(0);
         };
      };
SOURCE(2535, 46)
   {
      word var←c30820;
      var←c30820 = XR←NewObject(4, (* (( (ptr) gf←c31332)+14) ));
      {
         word pd40;
         pd40 = (* (( (ptr) (* (( (ptr) gf←c31332)+53)/* var←c30692 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd40 ))))(shell←v3176, (* (( (ptr) gf←c31332)+22) ), var←c30820, pd40);
         };
      };
SOURCE(2583, 13)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c31332)+16)/* LOCK←v2608 */ ));
   return(1);
   }

static void ClearMigrating←P300(shell←v3280)
   word shell←v3280;
   {
   register ptr gf←c31364 =  (ptr) &globalframe;
   /* ClearMigrating: */ 
SOURCE(2602, 86)
SOURCE(2647, 41)
   {
      word pd41;
      pd41 = (* (( (ptr) (* (( (ptr) gf←c31364)+53)/* var←c30692 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd41 ))))(shell←v3280, (* (( (ptr) gf←c31364)+22) ), 0, pd41);
      };
   }

static void SetMigrationOwnerProperty←P360(shell←v3340, owner←v3368)
   word shell←v3340;
   word owner←v3368;
   {
   register ptr gf←c31396 =  (ptr) &globalframe;
   word migrationOwnerAtom←v4028;
   /* SetMigrationOwnerProperty: */ 
SOURCE(2694, 285)
SOURCE(2768, 84)
   {
      word pd42;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c31396)+52)/* var←c30500 */  ))+50) );
      migrationOwnerAtom←v4028 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) shell←v3340)+34) ), (* (( (ptr) gf←c31396)+23)
          ), pd42);
      };
SOURCE(2854, 125)
   {
      word pd43;
      pd43 = (* (( (ptr) (* (( (ptr) gf←c31396)+52)/* var←c30500 */  ))+53) );
      (void) ( *( (fPt) ((*  (ptr) pd43 ))))((* (( (ptr) shell←v3340)+34) ), (* (( (ptr) shell←v3340)+35) ), migrationOwnerAtom←v4028, migrationOwnerAtom←v4028, 0, owner←v3368
         , 0, 2147483647, 0, pd43);
      };
   }

static void RegisterMigrator←P420(shell←v3428, migrator←v3456)
   word shell←v3428;
   word migrator←v3456;
   {
   register ptr gf←c31428 =  (ptr) &globalframe;
   word old←v4072;
   /* RegisterMigrator: */ 
SOURCE(2984, 654)
SOURCE(3082, 47)
   {
      word pd44;
      pd44 = (* (( (ptr) (* (( (ptr) gf←c31428)+53)/* var←c30692 */  ))+10) );
      old←v4072 = (word) ( *( (fPt) ((*  (ptr) pd44 ))))(shell←v3428, (* (( (ptr) gf←c31428)+20) ), pd44);
      };
SOURCE(3131, 48)
   if ((migrator←v3456 == 0)) {
SOURCE(3152, 27)
      migrator←v3456 = (word) (( (bPt) gf←c31428)+108)/* var←c30116 */ ;
      };
SOURCE(3181, 80)
   {
      word var←c30852;
      {
         word var←c30884;
         var←c30884 = XR←NewObject(4, (* (( (ptr) gf←c31428)+16) ));
         (*  (ptr) var←c30884 ) = XR←CheckProc(migrator←v3456);
         var←c30852 = var←c30884;
         };
      {
         word pd45;
         pd45 = (* (( (ptr) (* (( (ptr) gf←c31428)+53)/* var←c30692 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd45 ))))(shell←v3428, (* (( (ptr) gf←c31428)+20) ), var←c30852, pd45);
         };
      };
SOURCE(3263, 375)
   if ((old←v4072 == 0)) {
SOURCE(3279, 361)
      {
         word hints←v4128;
SOURCE(3281, 71)
         {
            word pd46;
            pd46 = (* (( (ptr) (* (( (ptr) gf←c31428)+54)/* var←c30916 */  ))+26) );
            hints←v4128 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))(shell←v3428, pd46);
            };
SOURCE(3354, 77)
         if ((hints←v4128 != 0)) {
SOURCE(3374, 57)
            {
               word var←c30948;
               var←c30948 = XR←NewObject(8, (* (( (ptr) gf←c31428)+13) ));
               (*  (ptr) var←c30948 ) = (* (( (ptr) gf←c31428)+24) );
               (* (( (ptr) var←c30948)+1) ) = (* (( (ptr) hints←v4128)+44) );
               (* (( (ptr) hints←v4128)+44) ) = var←c30948;
               };
            };
SOURCE(3436, 126)
         {
            word var←c30980;
            word var←c31012;
            {
               word pd47;
               pd47 = (* (( (ptr) (* (( (ptr) gf←c31428)+52)/* var←c30500 */  ))+201) );
               var←c30980 = (word) ( *( (fPt) ((*  (ptr) pd47 ))))(33, 35, 35, 35, pd47);
               };
            {
               word pd48;
               pd48 = (* (( (ptr) (* (( (ptr) gf←c31428)+52)/* var←c30500 */  ))+63) );
               var←c31012 = (word) ( *( (fPt) ((*  (ptr) pd48 ))))(0, 0, 0, pd48);
               };
            {
               W4 var←c31044;
               var←c31044.f0 = (word) (( (bPt) gf←c31428)+172)/* var←c30372 */ ;
               var←c31044.f1 = var←c30980;
               var←c31044.f2 = var←c31012;
               var←c31044.f3 = shell←v3428;
               {
                  word pd49;
                  pd49 = (* (( (ptr) (* (( (ptr) gf←c31428)+53)/* var←c30692 */  ))+30) );
                  (void) ( *( (fPt) ((*  (ptr) pd49 ))))(shell←v3428, var←c31044, 0, pd49);
                  };
               };
            };
SOURCE(3564, 74)
         {
            word pd50;
            pd50 = (* (( (ptr) (* (( (ptr) gf←c31428)+53)/* var←c30692 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd50 ))))(shell←v3428, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c31428)+53)/* var←c30692 */  ))+17)
                ) ), (word) (( (bPt) gf←c31428)+116)/* var←c30148 */ , 0, pd50);
            };
         };
      };
   }

static void PostWindowCreation←P480(widget←v5632, registerData←v5660, callData←v5688, event←v5716)
   word widget←v5632;
   word registerData←v5660;
   word callData←v5688;
   word event←v5716;
   {
   register ptr gf←c31460 =  (ptr) &globalframe;
   /* PostWindowCreation: */ 
SOURCE(3647, 177)
SOURCE(3692, 132)
   {
      word var←c31076;
      {
         word pd51;
         pd51 = (* (( (ptr) (* (( (ptr) gf←c31460)+53)/* var←c30692 */  ))+10) );
         var←c31076 = (word) ( *( (fPt) ((*  (ptr) pd51 ))))(widget←v5632, (* (( (ptr) gf←c31460)+21) ), pd51);
         };
      if ((var←c31076 == 0)) {
         goto lab←L100016;
         };
      {
         word tc52;
         if (((* (( (ptr) gf←c31460)+10) ) == XR←GetReferentType(var←c31076))) {
            tc52 =  (word) ((*(int*)var←c31076<0) == 0);
            }
         else {
            tc52 =  (word) 0;
            };
         if (tc52) {
            {
               word owner←v4184;
               owner←v4184 = var←c31076;
SOURCE(3772, 52)
               (void) SetMigrationOwnerProperty←P360(widget←v5632, owner←v4184);
               };
            }
         else {
            lab←L100016: ;
            };
         };
      };
   }

static word StandardMigrator←P540(formal←c0155, destination←v5804)
   word formal←c0155;
   word destination←v5804;
   {
   W8 var←c31492;
   /* declaration of shell←v5776 skipped */ 
   register ptr gf←c31524 =  (ptr) &globalframe;
   /* declaration of msg←v5848 skipped */ 
   /* declaration of failed←v4228 skipped */ 
   word oldConnection←v4256;
   var←c31492.f4/* shell←v5776 */  = formal←c0155;
   /* StandardMigrator: */ 
SOURCE(3832, 719)
SOURCE(3832, 719)
   var←c31492.f5/* msg←v5848 */  = 0;
SOURCE(3888, 20)
   var←c31492.f6/* failed←v4228 */  = 0;
SOURCE(3910, 47)
   oldConnection←v4256 = (* (( (ptr) var←c31492.f4/* shell←v5776 */ )+34) );
SOURCE(3959, 62)
   if ((destination←v5804 == 0) || (0 == (* (( (ptr) destination←v5804)+15) ))) {
SOURCE(3990, 31)
      return((* (( (ptr) gf←c31524)+25) ));
      };
SOURCE(4023, 68)
   if ( ( (oldConnection←v4256 != 0) ? (0 != (* (( (ptr) oldConnection←v4256)+15) )) : 0 ) ) {
SOURCE(4055, 36)
      {
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c31524)+52)/* var←c30500 */  ))+40) );
         (void) ( *( (fPt) ((*  (ptr) pd53 ))))(oldConnection←v4256, var←c31492.f4/* shell←v5776 */ , pd53);
         };
      };
SOURCE(4093, 40)
   {
      word pd54;
      pd54 = (* (( (ptr) (* (( (ptr) gf←c31524)+54)/* var←c30916 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd54 ))))(var←c31492.f4/* shell←v5776 */ , pd54);
      };
SOURCE(4135, 51)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c31524)+54)/* var←c30916 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd55 ))))(var←c31492.f4/* shell←v5776 */ , destination←v5804, 0, pd55);
      };
SOURCE(4188, 88)
SOURCE(4188, 88)
   {
      /* declaration of var←c011 skipped */ 
      var←c31492.f7/* var←c011 */  = (* (( (ptr) (* (( (ptr) gf←c31524)+54)/* var←c30916 */  ))+12) );
      {
         word var←c012;
         {
            word var←c0147;
            var←c0147 = (word) &var←c31492;
            var←c012 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1452) ), ( ((word)  (fPt) NoName←Q1512) ), var←c0147);
            };
         /* removed trivial cond node */ 
         };
      };
SOURCE(4292, 183)
   if ((0 != var←c31492.f6/* failed←v4228 */ )) {
SOURCE(4309, 40)
      {
         word pd56;
         pd56 = (* (( (ptr) (* (( (ptr) gf←c31524)+54)/* var←c30916 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd56 ))))(var←c31492.f4/* shell←v5776 */ , pd56);
         };
SOURCE(4351, 124)
      if ( ( (oldConnection←v4256 != 0) ? (0 != (* (( (ptr) oldConnection←v4256)+15) )) : 0 ) ) {
SOURCE(4385, 53)
         {
            word pd57;
            pd57 = (* (( (ptr) (* (( (ptr) gf←c31524)+54)/* var←c30916 */  ))+6) );
            (void) ( *( (fPt) ((*  (ptr) pd57 ))))(var←c31492.f4/* shell←v5776 */ , oldConnection←v4256, 0, pd57);
            };
SOURCE(4440, 35)
         {
            word pd58;
            pd58 = (* (( (ptr) (* (( (ptr) gf←c31524)+54)/* var←c30916 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd58 ))))(var←c31492.f4/* shell←v5776 */ , (*  (W5Pt) (( (ptr) gf←c31524)+47)/* var←c30468 */  ), 0, 1, pd58)
            ;
            };
         };
      };
SOURCE(4483, 68)
   if ( ( (oldConnection←v4256 != 0) ? (0 != (* (( (ptr) oldConnection←v4256)+15) )) : 0 ) ) {
SOURCE(4515, 36)
      {
         word pd59;
         pd59 = (* (( (ptr) (* (( (ptr) gf←c31524)+52)/* var←c30500 */  ))+41) );
         (void) ( *( (fPt) ((*  (ptr) pd59 ))))(oldConnection←v4256, var←c31492.f4/* shell←v5776 */ , pd59);
         };
      };
SOURCE(3832, 719)
   return(var←c31492.f5/* msg←v5848 */ );
   }

static word NoName←Q1452(formal←c0137)
   word formal←c0137;
   {
   register ptr gf←c0136 =  (ptr) &globalframe;
SOURCE(4188, 88)
   {
      word pd60;
      pd60 = (* (( (ptr) formal←c0137)+7) );
      (void) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) formal←c0137)+4) ), (*  (W5Pt) (( (ptr) gf←c0136)+47)/* var←c30468 */  ), 0, 1, pd60)
      ;
      };
   return(0);
   }

static void NoName←Q1512(formal←c098, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c098;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c0138 =  (ptr) &globalframe;
   if ((formal←c200017 == (* (( (ptr) (* (( (ptr) gf←c0138)+52)/* var←c30500 */  ))+4) ))) {
      {
         word err←v29936;
         err←v29936 = (*  (ptr) formal←c200019 );
SOURCE(4240, 21)
         (* (( (ptr) formal←c200016)+5) ) = (* (( (ptr) err←v29936)+5) );
SOURCE(4263, 13)
         (* (( (ptr) formal←c200016)+6) ) = 1;
SOURCE(4279, 9)
         (*  (ptr) formal←c098 ) = 2;
         (* (( (ptr) formal←c098)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c098 ) = 0;
   (* (( (ptr) formal←c098)+1) ) = 0;
   return;
   }

static void NoName←Q1572(formal←c0103, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0103;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0139 =  (ptr) &globalframe;
   if ((formal←c200013 == XR←Unwind)) {
SOURCE(2210, 21)
      (void) ClearMigrating←P300((* ((( (ptr) formal←c200012)+4)) ));
SOURCE(2233, 49)
      if ((0 != (* (( (ptr) formal←c200012)+6) ))) {
SOURCE(2249, 33)
         {
            word pd61;
            pd61 = (* (( (ptr) (* (( (ptr) gf←c0139)+52)/* var←c30500 */  ))+42) );
            (void) ( *( (fPt) ((*  (ptr) pd61 ))))((* ((( (ptr) formal←c200012)+7)) ), pd61);
            };
         };
      };
   (*  (ptr) formal←c0103 ) = 0;
   (* (( (ptr) formal←c0103)+1) ) = 0;
   return;
   }

static void NoName←Q1632(formal←c0109, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0109;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0140 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0140)+52)/* var←c30500 */  ))+39) ))) {
      {
         word why←v26908;
         why←v26908 = (*  (ptr) formal←c200011 );
SOURCE(2060, 16)
         (* (( (ptr) formal←c200008)+5) ) = (* (( (ptr) why←v26908)+1) );
SOURCE(2078, 21)
         (void) ClearMigrating←P300((* ((( (ptr) formal←c200008)+4)) ));
SOURCE(2101, 9)
         (*  (ptr) formal←c0109 ) = 2;
         (* (( (ptr) formal←c0109)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0109 ) = 0;
   (* (( (ptr) formal←c0109)+1) ) = 0;
   return;
   }

static void NoName←Q1692(formal←c0115, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0115;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0141 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0141)+52)/* var←c30500 */  ))+4) ))) {
      {
         word err←v23668;
         err←v23668 = (*  (ptr) formal←c200007 );
SOURCE(1129, 11)
         (*  (ptr) formal←c0115 ) = 2;
         (* (( (ptr) formal←c0115)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0115 ) = 0;
   (* (( (ptr) formal←c0115)+1) ) = 0;
   return;
   }

static void NoName←Q1752(formal←c0120, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0120;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0142 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0142)+52)/* var←c30500 */  ))+4) )) || (formal←c200001 == XR←Uncaught)) {
SOURCE(510, 9)
      (*  (ptr) formal←c0120 ) = 2;
      (* (( (ptr) formal←c0120)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0120 ) = 0;
   (* (( (ptr) formal←c0120)+1) ) = 0;
   return;
   }

/* file: XTkMigrationImpl, module: XTkMigrationImpl, compiled at: May 11, 1992 10:34:58 am PDT */ 
extern void XR←install←XTkMigrationImpl() {
   NoName←Q1152();
   }
extern void XR←run←XTkMigrationImpl() { XR←Start(&globalframe); }