/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: February 18, 1993 4:43:14 pm PST */
/* C2C version: January 29, 1993 (sun4) */
/* ref-counting: off */
/* file: XTkBiScrollerFrameImpl, module: XTkBiScrollerFrameImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3525460147,1492720328] XTkBiScrollerFrameImpl";
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 struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W9 *W9Pt;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W16 f; W3 r;} W19;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W2 *W2Pt;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc29 = -1.0;
static float fc37 = 0.0;
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
static void NoName←Q2352();
static void XTkBiScrollerFrameImpl←P0();
static word CreateClass←P60();
static word CreateBiScrollerFrame←P120();
static word IsBiScrollerFrame←P180();
static void VSProc←P240();
static void HSProc←P300();
static void RegisterInterActiveData←P360();
static void SetScrollProc←P420();
static word BiScrollerInternalEnumerateChildren←P540();
static void AssertScrollBars←P600();
static void BiScrollerInitInstPart←P660();
static void ResetButtonHit←P720();
static word Child←P780();
static void BiScrollerAddChildLR←P840();
static word BiScrollerRemoveChildLR←P900();
static void ReplaceChild←P960();
static void action←P1668();
static void BiScrollerPreferredSizeLR←P1020();
static word SizeSubtract←P1080();
static void BiScrollerConfigureLR←P1140();
static void PublicSetState←P1200();
static void ForwardCallScrollProc←P1260();
static void ForwardedCallScrollProc←P1320();
static void ParentalSetState←P1380();
static void GetState←P1440();
static void EntrySetState←P1500();
static void EntryGetState←P1560();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\322\042\100\263\300\130\371\032\310\101\144\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\322\042\100\263\300\130\371\032\310\100\340\000\000"};
static struct {unsigned f; char r[4];} string5 = {196611, "\004D\341"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\322\042\100\263\300\130\371\032\310\100\274\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004\015\000"};
static struct {unsigned f; char r[48];} string8 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\322\042\100\263\300\130\371\032\310\100\274\005\004\162\145\163\164\214\216\257\300\322\042\100\263\300\130\371\032\310\100\274\261\000\000\000"};
static struct {unsigned f; char r[4];} string9 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string10 = {983056, "biScrollerFrame"};
static struct {unsigned f; char r[24];} string11 = {1310744, "BiScrollerFrameState\000\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\322\042\100\263\300\130\371\032\310\100\164\000\000"};
static struct {unsigned f; char r[12];} string13 = {655370, "\006\003 \001$\001@P\004\003\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\141\025\232\152\300\166\121\005\142\100\164\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\325\065\000\072\300\160\340\122\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\116\324\147\077\300\024\110\066\207\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\245\223\103\375\300\127\103\204\036\100\150\000\000"};
static struct {
   word f0[22]; 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; 
   word f49; word f50; word f51; word f52; 
   word f53; word f54; word f55; word f56; 
   word f57; word f58; word f59; word f60; 
   word f61; word f62; word f63; word f64; 
   word f65; word f66; word f67; word f68; 
   word f69; word f70; word f71; word f72; 
   word f73[2]; word f75; word f76; word f77; 
   word f78; word f79; word f80; word f81[2]; 
   word f83; word f84; word f85[9]; 
   } globalframe = {
   {0}, (word) EntryGetState←P1560, 0, (word) EntrySetState←P1500, 
   0, (word) GetState←P1440, 0, (word) ParentalSetState←P1380, 
   0, (word) ForwardedCallScrollProc←P1320, 0, (word) ForwardCallScrollProc←P1260, 
   0, (word) PublicSetState←P1200, 0, (word) BiScrollerConfigureLR←P1140, 
   0, (word) SizeSubtract←P1080, 0, (word) BiScrollerPreferredSizeLR←P1020, 
   0, (word) ReplaceChild←P960, 0, (word) BiScrollerRemoveChildLR←P900, 
   0, (word) BiScrollerAddChildLR←P840, 0, (word) Child←P780, 
   0, (word) ResetButtonHit←P720, 0, (word) BiScrollerInitInstPart←P660, 
   0, (word) AssertScrollBars←P600, 0, (word) BiScrollerInternalEnumerateChildren←P540, 
   0, (word) SetScrollProc←P420, 0, (word) RegisterInterActiveData←P360, 
   0, (word) HSProc←P300, 0, (word) VSProc←P240, 
   0, (word) IsBiScrollerFrame←P180, 0, (word) CreateBiScrollerFrame←P120, 
   0, (word) CreateClass←P60, 0, (word) XTkBiScrollerFrameImpl←P0, 
   {0}, (word) 2147483648, (word) 2147483648, (word) 2147483648, 
   (word) 2147483648, (word) 2147483648, (word) 3, {0}, 
   (word) 4294967295, (word) 4294967295, {0}
   };

static void NoName←Q2352()
   {
   register ptr gf←c0191 =  (ptr) &globalframe;
   word var←c24840;
   (* (( (ptr) gf←c0191)+13) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0191)+14) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
   (* (( (ptr) gf←c0191)+17) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0191)+18) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0191)+19) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (*  (ptr) (( (bPt) gf←c0191)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+13) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0191)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+13) ), (word) &string11);
   (void) XR←DeclareGlobalFrame((word) "XTkBiScrollerFrameImpl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
      , (word) (( (bPt) gf←c0191)+288)/* var←c23688 */ );
   var←c24840 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string14)), 218);
   (* (( (ptr) gf←c0191)+92)/* var←c24456 */  ) = var←c24840;
   (void) XR←ImportProcS(var←c24840, 1063940);
   (void) XR←ImportProcS(var←c24840, 539906);
   var←c24840 = (word) XR←ImportInterface((word) "XTkCollections", (word) XR←GetTypeIndexS((word) (&string15)), 16);
   (* (( (ptr) gf←c0191)+87)/* var←c23880 */  ) = var←c24840;
   (void) XR←ImportProcS(var←c24840, 1049604);
   (void) XR←ImportProcS(var←c24840, 1049092);
   (void) XR←ImportProcS(var←c24840, 1052164);
   (void) XR←ImportProcS(var←c24840, 67636226);
   (void) XR←ImportProcS(var←c24840, 67373825);
   var←c24840 = (word) XR←ImportInterface((word) "XTkScrollbar", (word) XR←GetTypeIndexS((word) (&string16)), 9);
   (* (( (ptr) gf←c0191)+90)/* var←c24168 */  ) = var←c24840;
   (void) XR←ImportProcS(var←c24840, 1049859);
   (void) XR←ImportProcS(var←c24840, 70254851);
   (void) XR←ImportProcS(var←c24840, 1050628);
   var←c24840 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string17)), 50);
   (* (( (ptr) gf←c0191)+89)/* var←c23944 */  ) = var←c24840;
   (void) XR←ImportProcS(var←c24840, 67642370);
   (void) XR←ImportProcS(var←c24840, 786947);
   (void) XR←ImportProcS(var←c24840, 69992451);
   var←c24840 = (word) XR←ImportInterface((word) "XTkButtons", (word) XR←GetTypeIndexS((word) (&string18)), 5);
   (* (( (ptr) gf←c0191)+91)/* var←c24264 */  ) = var←c24840;
   (void) XR←ImportProcS(var←c24840, 72089608);
   var←c24840 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string19)), 33);
   (* (( (ptr) gf←c0191)+88)/* var←c23912 */  ) = var←c24840;
   (void) XR←ImportProcS(var←c24840, 1048580);
   (void) XR←ImportProcS(var←c24840, 2098180);
   (void) XR←ImportProcS(var←c24840, 2102532);
   (void) XR←ImportProcS(var←c24840, 265217);
   (void) XR←ImportProcS(var←c24840, 531202);
   (void) XR←ImportProcS(var←c24840, 73666049);
   var←c24840 = (word) XR←ExportInterface((word) "XTkBiScrollerFrame", (word) XR←GetTypeIndexS((word) (&string20)), 10);
   (* (( (ptr) gf←c0191)+93)/* var←c24872 */  ) = var←c24840;
   (void) XR←ExportVar(var←c24840, 0, (word) (( (bPt) gf←c0191)+36)/* biScrollerFrameClass←v2888 */ );
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+272)/* var←c23624 */ , 70779141);
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+264)/* var←c23592 */ , 67371521);
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+192)/* var←c23304 */ , 67371777);
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+168)/* var←c23208 */ , 1049604);
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+104)/* var←c22952 */ , 268698881);
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+112)/* var←c22984 */ , 1574403);
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+136)/* var←c23080 */ , 1574662);
   (void) XR←ExportVar(var←c24840, 8, (word) (( (bPt) gf←c0191)+32)/* stateChanged←v2860 */ );
   (void) XR←ExportProcS(var←c24840, (word) (( (bPt) gf←c0191)+232)/* var←c23464 */ , 1050884);
   }

static void XTkBiScrollerFrameImpl←P0(formal←c046, formal←c045)
   word formal←c046;
   word formal←c045;
   {
   register ptr gf←c24904 =  (ptr) &globalframe;
   /* XTkBiScrollerFrameImpl: */ 
SOURCE(95, 11196)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(410, 49)
   (* (( (ptr) gf←c24904)+8)/* stateChanged←v2860 */  ) = (* (( (ptr) gf←c24904)+21) );
SOURCE(462, 54)
   (* (( (ptr) gf←c24904)+9)/* biScrollerFrameClass←v2888 */  ) = (word) CreateClass←P60();
SOURCE(3834, 13)
   (* (( (ptr) gf←c24904)+10)/* sbW←v3252 */  ) = 10;
SOURCE(3915, 22)
   (* (( (ptr) gf←c24904)+12)/* sbtW←v3308 */  ) = ((* (( (ptr) gf←c24904)+10)/* sbW←v3252 */  ) + IOP2( * ,  (int)2,  (int)(* (
         ( (ptr) gf←c24904)+11)/* sbbW←v3280 */  )));
   }

static word CreateClass←P60()
   {
   register ptr gf←c24936 =  (ptr) &globalframe;
   word var←c3948;
   word class←v6712;
   word ccPart←v6740;
   /* CreateClass: */ 
SOURCE(518, 554)
SOURCE(563, 360)
   {
      W25 var←c050;
      (*  (ptr) &var←c050 ) = (* (( (ptr) gf←c24936)+20) );
      (* (( (ptr) &var←c050)+1) ) = 0;
      (* (( (ptr) &var←c050)+2) ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c24936)+87)/* var←c23880 */  ))+14) ) );
      (* (( (ptr) &var←c050)+3) ) = 1;
      (* (( (ptr) &var←c050)+4) ) = 0;
      (* (( (ptr) &var←c050)+5) ) = 0;
      (* (( (ptr) &var←c050)+6) ) = (word) (( (bPt) gf←c24936)+160)/* var←c23176 */ ;
      (* (( (ptr) &var←c050)+7) ) = (word) (( (bPt) gf←c24936)+144)/* var←c23112 */ ;
      (* (( (ptr) &var←c050)+8) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+9) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+10) ) = (word) (( (bPt) gf←c24936)+176)/* var←c23240 */ ;
      (* (( (ptr) &var←c050)+11) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+12) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+13) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+14) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+15) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+16) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+17) ) = (word) (( (bPt) gf←c24936)+224)/* var←c23432 */ ;
      (* (( (ptr) &var←c050)+18) ) = (word) (( (bPt) gf←c24936)+208)/* var←c23368 */ ;
      (* (( (ptr) &var←c050)+19) ) = 0;
      (* (( (ptr) &var←c050)+20) ) = 0;
      (* (( (ptr) &var←c050)+21) ) = 0;
      (* (( (ptr) &var←c050)+22) ) = 0;
      (* (( (ptr) &var←c050)+23) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c050)+24) ) = XR←CheckProc(0);
      {
         word pd21;
         pd21 = (* (( (ptr) (* (( (ptr) gf←c24936)+88)/* var←c23912 */  ))+18) );
         class←v6712 = (word) ( *( (fPt) ((*  (ptr) pd21 ))))((word) (&var←c050), pd21);
         };
      };
SOURCE(925, 89)
   {
      word pd22;
      pd22 = (* (( (ptr) (* (( (ptr) gf←c24936)+87)/* var←c23880 */  ))+15) );
      ccPart←v6740 = (word) ( *( (fPt) ((*  (ptr) pd22 ))))(class←v6712, pd22);
      };
SOURCE(1016, 40)
   (* (( (ptr) ccPart←v6740)+1) ) = (word) (( (bPt) gf←c24936)+184)/* var←c23272 */ ;
SOURCE(1058, 14)
   return(class←v6712);
   }

static word CreateBiScrollerFrame←P120(widgetSpec←v4008, child←v4036, insideSize←v4064, vsbar←v4092, hsbar←v4120)
   W9 widgetSpec←v4008;
   word child←v4036;
   W2 insideSize←v4064;
   word vsbar←v4092;
   word hsbar←v4120;
   {
   register ptr gf←c24968 =  (ptr) &globalframe;
   word var←c4164;
   /* CreateBiScrollerFrame: */ 
SOURCE(1117, 876)
SOURCE(1318, 165)
   if (( (int)insideSize←v4064.f0 >  (int)0)) {
SOURCE(1348, 49)
      (* (( (ptr) &widgetSpec←v4008)+3) ) = insideSize←v4064.f0;
SOURCE(1399, 84)
      if ((0 != vsbar←v4092)) {
SOURCE(1413, 70)
         (* (( (ptr) &widgetSpec←v4008)+3) ) = ((* (( (ptr) &widgetSpec←v4008)+3) ) + (* (( (ptr) gf←c24968)+12)/* sbtW←v3308 */  ));
         };
      };
SOURCE(1488, 170)
   if (( (int)insideSize←v4064.f1 >  (int)0)) {
SOURCE(1519, 51)
      (* (( (ptr) &widgetSpec←v4008)+4) ) = insideSize←v4064.f1;
SOURCE(1572, 86)
      if ((0 != hsbar←v4120)) {
SOURCE(1586, 72)
         (* (( (ptr) &widgetSpec←v4008)+4) ) = ((* (( (ptr) &widgetSpec←v4008)+4) ) + (* (( (ptr) gf←c24968)+12)/* sbtW←v3308 */  ));
         };
      };
SOURCE(1663, 332)
   {
      word biScrollerFrame←v6784;
      word bsfd←v6812;
SOURCE(1669, 80)
      {
         word pd23;
         pd23 = (* (( (ptr) (* (( (ptr) gf←c24968)+89)/* var←c23944 */  ))+4) );
         biScrollerFrame←v6784 = (word) ( *( (fPt) ((*  (ptr) pd23 ))))(widgetSpec←v4008, (* (( (ptr) gf←c24968)+9)/* biScrollerFrameClass←v2888 */  ), 0, pd23)
         ;
         };
SOURCE(1751, 50)
      {
         word idx24;
         word limit25;
         bsfd←v6812 = XR←Narrow((* ((( (ptr) biScrollerFrame←v6784)+49)+(
                  idx24 = (* (( (ptr) (* (( (ptr) gf←c24968)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
                  limit25 = (* (( (ptr) biScrollerFrame←v6784)+48) ),
                  BCK(idx24, limit25)
                  )) ), (* (( (ptr) gf←c24968)+17) ));
         };
SOURCE(1803, 53)
      (void) AssertScrollBars←P600(biScrollerFrame←v6784, bsfd←v6812, vsbar←v4092, hsbar←v4120);
SOURCE(1858, 60)
      if ((child←v4036 != 0)) {
SOURCE(1876, 42)
         (void) ReplaceChild←P960(biScrollerFrame←v6784, child←v4036, 1, 0);
         };
SOURCE(1920, 47)
      {
         word pd26;
         pd26 = (* (( (ptr) (* (( (ptr) gf←c24968)+89)/* var←c23944 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd26 ))))(biScrollerFrame←v6784, 6, 1, pd26);
         };
SOURCE(1969, 24)
      return(biScrollerFrame←v6784);
      };
   }

static word IsBiScrollerFrame←P180(widget←v4224)
   word widget←v4224;
   {
   register ptr gf←c25000 =  (ptr) &globalframe;
   word var←c4268;
   /* IsBiScrollerFrame: */ 
SOURCE(2004, 123)
SOURCE(2075, 52)
   {
      word var←c24008;
      word widget←v22840;
      widget←v22840 = widget←v4224;
      {
         word pd27;
         if (((* (( (ptr) widget←v22840)+4) ) == (* (( (ptr) gf←c25000)+9)/* biScrollerFrameClass←v2888 */  ))) {
            var←c24008 = 1;
            }
         else {
            pd27 = (* (( (ptr) (* (( (ptr) gf←c25000)+89)/* var←c23944 */  ))+40) );
            var←c24008 = (word) ( *( (fPt) ((*  (ptr) pd27 ))))(widget←v22840, (* (( (ptr) gf←c25000)+9)/* biScrollerFrameClass←v2888 */  ), pd27)
            ;
            };
         };
      return(var←c24008);
      };
   }

static void VSProc←P240(scrollbar←v12256, action←v12284, value←v12312, event←v12340, clientData←v12368)
   word scrollbar←v12256;
   word action←v12284;
   word value←v12312;
   word event←v12340;
   word clientData←v12368;
   {
   register ptr gf←c25032 =  (ptr) &globalframe;
   word id←v6856;
   /* VSProc: */ 
SOURCE(2354, 236)
SOURCE(2390, 47)
   id←v6856 = XR←Narrow(clientData←v12368, (* (( (ptr) gf←c25032)+18) ));
SOURCE(2439, 151)
   {
      word pd28;
      pd28 = (* (( (ptr) id←v6856)+1) );
      (void) ( *( (fPt) ((*  (ptr) pd28 ))))((*  (ptr) id←v6856 ), 0, action←v12284, (*  (ptr) &fc29 ), value←v12312, event←v12340
         , (* (( (ptr) id←v6856)+2) ), pd28);
      };
   }

static void HSProc←P300(scrollbar←v12428, action←v12456, value←v12484, event←v12512, clientData←v12540)
   word scrollbar←v12428;
   word action←v12456;
   word value←v12484;
   word event←v12512;
   word clientData←v12540;
   {
   register ptr gf←c25064 =  (ptr) &globalframe;
   word id←v6900;
   /* HSProc: */ 
SOURCE(2594, 236)
SOURCE(2630, 47)
   id←v6900 = XR←Narrow(clientData←v12540, (* (( (ptr) gf←c25064)+18) ));
SOURCE(2679, 151)
   {
      word pd30;
      pd30 = (* (( (ptr) id←v6900)+1) );
      (void) ( *( (fPt) ((*  (ptr) pd30 ))))((*  (ptr) id←v6900 ), action←v12456, 0, value←v12484, (*  (ptr) &fc29 ), event←v12512
         , (* (( (ptr) id←v6900)+2) ), pd30);
      };
   }

static void RegisterInterActiveData←P360(bsfd←v4484, id←v4512)
   word bsfd←v4484;
   word id←v4512;
   {
   register ptr gf←c25096 =  (ptr) &globalframe;
   /* RegisterInterActiveData: */ 
SOURCE(2834, 119)
SOURCE(2922, 31)
   {
      word var←c24072;
      word var←c24104;
      var←c24072 = XR←NewObject(8, (* (( (ptr) gf←c25096)+19) ));
      var←c24104 = var←c24072;
      (*  (ptr) var←c24104 ) = id←v4512;
      (* (( (ptr) bsfd←v4484)+10) ) = var←c24072;
      };
   }

static void SetScrollProc←P420(biScrollerFrame←v4572, scrollProc←v4600, clientData←v4628, tq←v4656)
   word biScrollerFrame←v4572;
   word scrollProc←v4600;
   word clientData←v4628;
   word tq←v4656;
   {
   register ptr gf←c25128 =  (ptr) &globalframe;
   word bsfd←v6944;
   word id←v6972;
   /* SetScrollProc: */ 
SOURCE(2957, 573)
SOURCE(3106, 50)
   {
      word idx31;
      word limit32;
      bsfd←v6944 = XR←Narrow((* ((( (ptr) biScrollerFrame←v4572)+49)+(
               idx31 = (* (( (ptr) (* (( (ptr) gf←c25128)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit32 = (* (( (ptr) biScrollerFrame←v4572)+48) ),
               BCK(idx31, limit32)
               )) ), (* (( (ptr) gf←c25128)+17) ));
      };
SOURCE(3158, 133)
   id←v6972 = XR←NewObject(16, (* (( (ptr) gf←c25128)+18) ));
   (*  (ptr) id←v6972 ) = biScrollerFrame←v4572;
   (* (( (ptr) id←v6972)+1) ) = XR←CheckProc(scrollProc←v4600);
   (* (( (ptr) id←v6972)+2) ) = clientData←v4628;
SOURCE(3293, 35)
   if ((bsfd←v6944 == 0) || (scrollProc←v4600 == 0)) {
SOURCE(3328, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(3335, 10)
   (* (( (ptr) id←v6972)+3) ) = tq←v4656;
SOURCE(3347, 73)
   if (((* (( (ptr) bsfd←v6944)+5) ) != 0)) {
SOURCE(3368, 52)
      {
         word pd33;
         pd33 = (* (( (ptr) (* (( (ptr) gf←c25128)+90)/* var←c24168 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd33 ))))((* (( (ptr) bsfd←v6944)+5) ), (word) (( (bPt) gf←c25128)+256)/* var←c23560 */ , id←v6972, tq←v4656, pd33)
         ;
         };
      };
SOURCE(3422, 73)
   if (((* (( (ptr) bsfd←v6944)+6) ) != 0)) {
SOURCE(3443, 52)
      {
         word pd34;
         pd34 = (* (( (ptr) (* (( (ptr) gf←c25128)+90)/* var←c24168 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) bsfd←v6944)+6) ), (word) (( (bPt) gf←c25128)+248)/* var←c23528 */ , id←v6972, tq←v4656, pd34)
         ;
         };
      };
SOURCE(3497, 33)
   (void) RegisterInterActiveData←P360(bsfd←v6944, id←v6972);
   }

static word BiScrollerInternalEnumerateChildren←P540(self←v12776, classLevel←v12804, proc←v12832, data←v12860)
   word self←v12776;
   word classLevel←v12804;
   word proc←v12832;
   word data←v12860;
   {
   register ptr gf←c25160 =  (ptr) &globalframe;
   word stop←v12904;
   word bsfd←v7016;
   /* BiScrollerInternalEnumerateChildren: */ 
SOURCE(4116, 357)
SOURCE(4116, 357)
   stop←v12904 = 0;
SOURCE(4191, 39)
   {
      word idx35;
      word limit36;
      bsfd←v7016 = XR←Narrow((* ((( (ptr) self←v12776)+49)+(
               idx35 = (* (( (ptr) (* (( (ptr) gf←c25160)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit36 = (* (( (ptr) self←v12776)+48) ),
               BCK(idx35, limit36)
               )) ), (* (( (ptr) gf←c25160)+17) ));
      };
SOURCE(4232, 83)
   if (((* (( (ptr) bsfd←v7016)+5) ) != 0)) {
SOURCE(4255, 38)
      stop←v12904 = (word) ( *( (fPt) ((*  (ptr) proc←v12832 ))))(self←v12776, (* (( (ptr) bsfd←v7016)+5) ), data←v12860, proc←v12832)
      ;
SOURCE(4296, 19)
      if ((0 != stop←v12904)) {
SOURCE(4309, 6)
         return(stop←v12904);
         };
      };
SOURCE(4320, 83)
   if (((* (( (ptr) bsfd←v7016)+6) ) != 0)) {
SOURCE(4343, 38)
      stop←v12904 = (word) ( *( (fPt) ((*  (ptr) proc←v12832 ))))(self←v12776, (* (( (ptr) bsfd←v7016)+6) ), data←v12860, proc←v12832)
      ;
SOURCE(4384, 19)
      if ((0 != stop←v12904)) {
SOURCE(4397, 6)
         return(stop←v12904);
         };
      };
SOURCE(4408, 65)
   if (((* (( (ptr) bsfd←v7016)+7) ) != 0)) {
SOURCE(4433, 40)
      stop←v12904 = (word) ( *( (fPt) ((*  (ptr) proc←v12832 ))))(self←v12776, (* (( (ptr) bsfd←v7016)+7) ), data←v12860, proc←v12832)
      ;
      };
SOURCE(4116, 357)
   return(stop←v12904);
   }

static void AssertScrollBars←P600(widget←v5168, bsfd←v5196, vsbar←v5224, hsbar←v5252)
   word widget←v5168;
   word bsfd←v5196;
   word vsbar←v5224;
   word hsbar←v5252;
   {
   register ptr gf←c25192 =  (ptr) &globalframe;
   /* AssertScrollBars: */ 
SOURCE(4483, 663)
SOURCE(4566, 33)
   if ((0 != vsbar←v5224)) {
SOURCE(4580, 19)
      (* (( (ptr) bsfd←v5196)+8) ) = 1;
      };
SOURCE(4601, 33)
   if ((0 != hsbar←v5252)) {
SOURCE(4615, 19)
      (* (( (ptr) bsfd←v5196)+9) ) = 1;
      };
SOURCE(4636, 159)
   if ( ( (0 != (* (( (ptr) bsfd←v5196)+9) )) ? ((* (( (ptr) bsfd←v5196)+6) ) == 0) : 0 ) ) {
SOURCE(4676, 93)
      {
         W2 var←c24200;
         var←c24200.f0 = (*  (ptr) &fc37 );
         var←c24200.f1 = (*  (ptr) &fc37 );
         {
            word pd38;
            pd38 = (* (( (ptr) (* (( (ptr) gf←c25192)+90)/* var←c24168 */  ))+5) );
            (* (( (ptr) bsfd←v5196)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd38 ))))((*  (W9Pt) (( (ptr) gf←c25192)+74)/* var←c23752 */  ), 0, var←c24200, pd38)
            ;
            };
         };
SOURCE(4771, 24)
      (* (( (ptr) (* (( (ptr) bsfd←v5196)+6) ))+31) ) = widget←v5168;
      };
SOURCE(4800, 157)
   if ( ( (0 != (* (( (ptr) bsfd←v5196)+8) )) ? ((* (( (ptr) bsfd←v5196)+5) ) == 0) : 0 ) ) {
SOURCE(4840, 91)
      {
         W2 var←c24232;
         var←c24232.f0 = (*  (ptr) &fc37 );
         var←c24232.f1 = (*  (ptr) &fc37 );
         {
            word pd39;
            pd39 = (* (( (ptr) (* (( (ptr) gf←c25192)+90)/* var←c24168 */  ))+5) );
            (* (( (ptr) bsfd←v5196)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd39 ))))((*  (W9Pt) (( (ptr) gf←c25192)+74)/* var←c23752 */  ), 1, var←c24232, pd39)
            ;
            };
         };
SOURCE(4933, 24)
      (* (( (ptr) (* (( (ptr) bsfd←v5196)+5) ))+31) ) = widget←v5168;
      };
SOURCE(4962, 184)
   if ( (  ( (0 != (* (( (ptr) bsfd←v5196)+8) )) ? (0 != (* (( (ptr) bsfd←v5196)+9) )) : 0 )  ? ((* (( (ptr) bsfd←v5196)+7) ) == 0) : 0 ) ) {
SOURCE(5021, 97)
      {
         W19 var←c098;
         (*  (W9Pt) (word) &var←c098 ) = (*  (W9Pt) (( (ptr) gf←c25192)+74)/* var←c23752 */  );
         (* (( (ptr) (word) &var←c098) + 9) ) = 0;
         (*  (W4Pt) (( (ptr) (word) &var←c098) + 10) ) = (*  (W4Pt) (( (ptr) gf←c25192)+83)/* var←c23816 */  );
         (* (( (ptr) (word) &var←c098) + 14) ) = (word) (( (bPt) gf←c25192)+200)/* var←c23336 */ ;
         (* (( (ptr) (word) &var←c098) + 15) ) = bsfd←v5196;
         (* (( (ptr) (word) &var←c098) + 16) ) = 0;
         (* (( (ptr) (word) &var←c098) + 17) ) = 0;
         (* (( (ptr) (word) &var←c098) + 18) ) = 0;
         {
            word pd40;
            pd40 = (* (( (ptr) (* (( (ptr) gf←c25192)+91)/* var←c24264 */  ))+4) );
            (* (( (ptr) bsfd←v5196)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd40 ))))((word) (&var←c098), pd40);
            };
         };
SOURCE(5120, 26)
      (* (( (ptr) (* (( (ptr) bsfd←v5196)+7) ))+31) ) = widget←v5168;
      };
   }

static void BiScrollerInitInstPart←P660(widget←v12964, arguments←v12992)
   word widget←v12964;
   word arguments←v12992;
   {
   register ptr gf←c25224 =  (ptr) &globalframe;
   word bsfd←v7060;
   /* BiScrollerInitInstPart: */ 
SOURCE(5155, 148)
SOURCE(5208, 32)
   bsfd←v7060 = XR←NewObject(44, (* (( (ptr) gf←c25224)+17) ));
   (* (( (ptr) bsfd←v7060)+1) ) = (*  (ptr) &fc37 );
   (* (( (ptr) bsfd←v7060)+2) ) = (*  (ptr) &fc37 );
   (* (( (ptr) bsfd←v7060)+3) ) = (*  (ptr) &fc37 );
   (* (( (ptr) bsfd←v7060)+4) ) = (*  (ptr) &fc37 );
SOURCE(5242, 61)
   {
      word val←v22792;
      val←v22792 = bsfd←v7060;
      {
         word idx41;
         word limit42;
         (* ((( (ptr) widget←v12964)+49)+(
               idx41 = (* (( (ptr) (* (( (ptr) gf←c25224)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit42 = (* (( (ptr) widget←v12964)+48) ),
               BCK(idx41, limit42)
               )) ) = val←v22792;
         };
      };
   }

static void ResetButtonHit←P720(widget←v13052, registerData←v13080, callData←v13108, event←v13136)
   word widget←v13052;
   word registerData←v13080;
   word callData←v13108;
   word event←v13136;
   {
   register ptr gf←c25256 =  (ptr) &globalframe;
   /* ResetButtonHit: */ 
SOURCE(5309, 148)
SOURCE(5350, 107)
   {
      word var←c24328;
      var←c24328 = XR←Narrow(registerData←v13080, (* (( (ptr) gf←c25256)+17) ));
      (void) ForwardCallScrollProc←P1260(var←c24328, 3, 3, (*  (ptr) &fc37 ), (*  (ptr) &fc37 ), event←v13136);
      };
   }

static word Child←P780(biScrollerFrame←v5312)
   word biScrollerFrame←v5312;
   {
   register ptr gf←c25288 =  (ptr) &globalframe;
   word var←c5356;
   word bsfd←v7104;
   /* Child: */ 
SOURCE(5463, 151)
SOURCE(5463, 151)
   var←c5356 = 0;
SOURCE(5543, 50)
   {
      word idx43;
      word limit44;
      bsfd←v7104 = XR←Narrow((* ((( (ptr) biScrollerFrame←v5312)+49)+(
               idx43 = (* (( (ptr) (* (( (ptr) gf←c25288)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit44 = (* (( (ptr) biScrollerFrame←v5312)+48) ),
               BCK(idx43, limit44)
               )) ), (* (( (ptr) gf←c25288)+17) ));
      };
SOURCE(5595, 19)
   return((*  (ptr) bsfd←v7104 ));
   }

static void BiScrollerAddChildLR←P840(collection←v13196, newChild←v13224, position←v13252, reConsiderNow←v13280)
   word collection←v13196;
   word newChild←v13224;
   word position←v13252;
   word reConsiderNow←v13280;
   {
   register ptr gf←c25320 =  (ptr) &globalframe;
   word bsfd←v7148;
   /* BiScrollerAddChildLR: */ 
SOURCE(5620, 533)
SOURCE(5674, 45)
   {
      word idx45;
      word limit46;
      bsfd←v7148 = XR←Narrow((* ((( (ptr) collection←v13196)+49)+(
               idx45 = (* (( (ptr) (* (( (ptr) gf←c25320)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit46 = (* (( (ptr) collection←v13196)+48) ),
               BCK(idx45, limit46)
               )) ), (* (( (ptr) gf←c25320)+17) ));
      };
SOURCE(5721, 209)
   if (((*  (ptr) bsfd←v7148 ) != 0)) {
SOURCE(5746, 79)
      {
         word var←c24360;
         word pd47;
         pd47 = (* (( (ptr) (* (( (ptr) gf←c25320)+87)/* var←c23880 */  ))+16) );
         var←c24360 = (word) ( *( (fPt) ((*  (ptr) pd47 ))))(collection←v13196, (*  (ptr) bsfd←v7148 ), pd47);
         };
SOURCE(5827, 103)
      {
         word pd48;
         pd48 = (* (( (ptr) (* (( (ptr) gf←c25320)+88)/* var←c23912 */  ))+31) );
         (void) ( *( (fPt) ((*  (ptr) pd48 ))))((*  (ptr) bsfd←v7148 ),  ( ((* (( (ptr) collection←v13196)+37) ) == 0) ? 0 : 2 ) , pd48)
         ;
         };
      };
SOURCE(5935, 21)
   (*  (ptr) bsfd←v7148 ) = newChild←v13224;
SOURCE(5958, 124)
   if ((newChild←v13224 != 0)) {
SOURCE(5981, 101)
      {
         word pd49;
         pd49 = (* (( (ptr) (* (( (ptr) gf←c25320)+87)/* var←c23880 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd49 ))))(collection←v13196, newChild←v13224, 0, 1, pd49);
         };
      };
SOURCE(6087, 66)
   if ((0 != reConsiderNow←v13280)) {
SOURCE(6109, 44)
      {
         word pd50;
         pd50 = (* (( (ptr) (* (( (ptr) gf←c25320)+88)/* var←c23912 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd50 ))))(collection←v13196, pd50);
         };
      };
   }

static word BiScrollerRemoveChildLR←P900(widget←v13340, child←v13368)
   word widget←v13340;
   word child←v13368;
   {
   register ptr gf←c25352 =  (ptr) &globalframe;
   word done←v13412;
   word bsfd←v7192;
   /* BiScrollerRemoveChildLR: */ 
SOURCE(6159, 221)
SOURCE(6159, 221)
   done←v13412 = 0;
SOURCE(6208, 41)
   {
      word idx51;
      word limit52;
      bsfd←v7192 = XR←Narrow((* ((( (ptr) widget←v13340)+49)+(
               idx51 = (* (( (ptr) (* (( (ptr) gf←c25352)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit52 = (* (( (ptr) widget←v13340)+48) ),
               BCK(idx51, limit52)
               )) ), (* (( (ptr) gf←c25352)+17) ));
      };
SOURCE(6251, 129)
   if ((child←v13368 == (*  (ptr) bsfd←v7192 ))) {
SOURCE(6279, 16)
      (*  (ptr) bsfd←v7192 ) = 0;
SOURCE(6297, 70)
      {
         word var←c24392;
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c25352)+87)/* var←c23880 */  ))+16) );
         var←c24392 = (word) ( *( (fPt) ((*  (ptr) pd53 ))))(widget←v13340, child←v13368, pd53);
         };
SOURCE(6369, 11)
      done←v13412 = 1;
      };
SOURCE(6159, 221)
   return(done←v13412);
   }

static void ReplaceChild←P960(formal←c0220, formal←c0221, formal←c0222, formal←c0223)
   word formal←c0220;
   word formal←c0221;
   word formal←c0222;
   word formal←c0223;
   {
   W10 var←c25384;
   /* declaration of biScrollerFrame←v5416 skipped */ 
   /* declaration of child←v5444 skipped */ 
   /* declaration of delayed←v5472 skipped */ 
   /* declaration of preventDestructionOfOldChild←v5500 skipped */ 
   register ptr gf←c25416 =  (ptr) &globalframe;
   /* declaration of var←c24424 skipped */ 
   (* (( (ptr) &var←c25384)+4)/* biScrollerFrame←v5416 */  ) = formal←c0220;
   (* (( (ptr) &var←c25384)+5)/* child←v5444 */  ) = formal←c0221;
   (* (( (ptr) &var←c25384)+6)/* delayed←v5472 */  ) = formal←c0222;
   (* (( (ptr) &var←c25384)+7)/* preventDestructionOfOldChild←v5500 */  ) = formal←c0223;
   /* ReplaceChild: */ 
SOURCE(6389, 730)
   {
      word tmpAddr54;
      tmpAddr54 = (word) (( (ptr) &var←c25384)+8)/* var←c24424 */ ;
      (*  (ptr) tmpAddr54 ) = ( ((word)  (fPt) action←P1668) );
      (* (( (ptr) tmpAddr54) + 1) ) = 1;
      };
SOURCE(7021, 98)
   if (((* (( (ptr) (* (( (ptr) &var←c25384)+4)/* biScrollerFrame←v5416 */  ))+45) ) == 0)) {
SOURCE(7057, 15)
      (void) action←P1668((word) ((( (bPt) &var←c25384)+32)/* var←c24424 */ ));
      }
   else {
SOURCE(7072, 47)
      {
         word pd55;
         pd55 = (* (( (ptr) (* (( (ptr) gf←c25416)+92)/* var←c24456 */  ))+65) );
         (void) ( *( (fPt) ((*  (ptr) pd55 ))))((* (( (ptr) (* (( (ptr) &var←c25384)+4)/* biScrollerFrame←v5416 */  ))+45) ), (word) (
               ( (bPt) &var←c25384)+32)/* var←c24424 */ , pd55);
         };
      };
   }

static void action←P1668(formal←c25480)
   word formal←c25480;
   {
   register ptr gf←c25448 =  (ptr) &globalframe;
   word bs←v7296;
   word bsfd←v7324;
   word oldChild←v7352;
   formal←c25480 = (formal←c25480 - 32);
   /* action: */ 
SOURCE(6535, 478)
SOURCE(6555, 32)
   bs←v7296 = (* (( (ptr) formal←c25480)+4) );
SOURCE(6589, 37)
   {
      word idx56;
      word limit57;
      bsfd←v7324 = XR←Narrow((* ((( (ptr) bs←v7296)+49)+(
               idx56 = (* (( (ptr) (* (( (ptr) gf←c25448)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit57 = (* (( (ptr) bs←v7296)+48) ),
               BCK(idx56, limit57)
               )) ), (* (( (ptr) gf←c25448)+17) ));
      };
SOURCE(6628, 33)
   oldChild←v7352 = (*  (ptr) bsfd←v7324 );
SOURCE(6663, 154)
   if ((oldChild←v7352 != 0)) {
SOURCE(6684, 133)
      {
         word pd58;
         pd58 = (* (( (ptr) (* (( (ptr) gf←c25448)+87)/* var←c23880 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd58 ))))(bs←v7296, oldChild←v7352, 0, (* (( (ptr) formal←c25480)+7) ), pd58);
         };
      };
SOURCE(6819, 98)
   if (((* (( (ptr) formal←c25480)+5) ) != 0)) {
SOURCE(6837, 80)
      {
         word pd59;
         pd59 = (* (( (ptr) (* (( (ptr) gf←c25448)+87)/* var←c23880 */  ))+8) );
         (void) ( *( (fPt) ((*  (ptr) pd59 ))))(bs←v7296, (* (( (ptr) formal←c25480)+5) ), 0, 0, pd59);
         };
      };
SOURCE(6919, 94)
   if (((* (( (ptr) (* (( (ptr) formal←c25480)+4) ))+38) ) == 0)) {
SOURCE(6960, 53)
      if ((0 == (* (( (ptr) formal←c25480)+6) ))) {
SOURCE(6977, 36)
         {
            word pd60;
            pd60 = (* (( (ptr) (* (( (ptr) gf←c25448)+88)/* var←c23912 */  ))+16) );
            (void) ( *( (fPt) ((*  (ptr) pd60 ))))(bs←v7296, pd60);
            };
         };
      };
   }

static void BiScrollerPreferredSizeLR←P1020(formal←c0135, widget←v13472, mode←v13500, proposed←v13528, maySkip←v13556)
   word formal←c0135;
   word widget←v13472;
   word mode←v13500;
   W5 proposed←v13528;
   word maySkip←v13556;
   {
   W5 preferred←v13600;
   /* BiScrollerPreferredSizeLR: */ 
SOURCE(7125, 392)
SOURCE(7125, 392)
   preferred←v13600.f0 = 2147483648;
   preferred←v13600.f1 = 2147483648;
   preferred←v13600.f2 = 2147483648;
   preferred←v13600.f3 = 2147483648;
   preferred←v13600.f4 = 2147483648;
SOURCE(7178, 157)
   (*  (W2Pt) &preferred←v13600 ) = (*  (W2Pt) (( (ptr) widget←v13472)+5) );
   preferred←v13600.f2 = (* (( (ptr) widget←v13472)+7) );
   preferred←v13600.f3 = (* (( (ptr) widget←v13472)+8) );
   preferred←v13600.f4 = (* (( (ptr) widget←v13472)+9) );
SOURCE(7338, 57)
   if (( (int)preferred←v13600.f4 <  (int)0)) {
SOURCE(7370, 25)
      preferred←v13600.f4 = 0;
      };
SOURCE(7397, 58)
   if (( (int)preferred←v13600.f2 <=  (int)0)) {
SOURCE(7429, 26)
      preferred←v13600.f2 = 200;
      };
SOURCE(7457, 60)
   if (( (int)preferred←v13600.f3 <=  (int)0)) {
SOURCE(7490, 27)
      preferred←v13600.f3 = 200;
      };
   /* removed tail goto */ 
   (*  (W5Pt) formal←c0135 ) = preferred←v13600;
   return;
   }

static word SizeSubtract←P1080(szVal←v5560, sub←v5588)
   word szVal←v5560;
   word sub←v5588;
   {
   word var←c5632;
   /* SizeSubtract: */ 
SOURCE(7523, 118)
SOURCE(7583, 41)
   if (( (int)szVal←v5560 >  (int)0)) {
SOURCE(7599, 25)
      szVal←v5560 = (MAX((int)(word), (szVal←v5560 - sub←v5588), 1));
      };
SOURCE(7626, 15)
   return(szVal←v5560);
   }

static void BiScrollerConfigureLR←P1140(widget←v13660, geometry←v13688, mapping←v13716, reConsiderChildren←v13744)
   word widget←v13660;
   W5 geometry←v13688;
   word mapping←v13716;
   word reConsiderChildren←v13744;
   {
   register ptr gf←c25512 =  (ptr) &globalframe;
   word bsfd←v7396;
   word child←v7424;
   W2 userPos←v7452;
   /* BiScrollerConfigureLR: */ 
SOURCE(7645, 1703)
SOURCE(7690, 41)
   {
      word idx61;
      word limit62;
      bsfd←v7396 = XR←Narrow((* ((( (ptr) widget←v13660)+49)+(
               idx61 = (* (( (ptr) (* (( (ptr) gf←c25512)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit62 = (* (( (ptr) widget←v13660)+48) ),
               BCK(idx61, limit62)
               )) ), (* (( (ptr) gf←c25512)+17) ));
      };
SOURCE(7733, 30)
   child←v7424 = (*  (ptr) bsfd←v7396 );
SOURCE(7765, 26)
   userPos←v7452.f0 = 0;
   userPos←v7452.f1 = 0;
SOURCE(7793, 65)
   if (( (int)(* (( (ptr) widget←v13660)+43) ) <  (int)0)) {
SOURCE(7829, 29)
      (* (( (ptr) widget←v13660)+43) ) = 0;
      };
SOURCE(7860, 87)
   if ((0 != reConsiderChildren←v13744)) {
SOURCE(7887, 60)
      {
         word pd63;
         pd63 = (* (( (ptr) (* (( (ptr) gf←c25512)+89)/* var←c23944 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd63 ))))(widget←v13660, 0, 0, pd63);
         };
      };
SOURCE(7949, 63)
   {
      word pd64;
      pd64 = (* (( (ptr) (* (( (ptr) gf←c25512)+88)/* var←c23912 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd64 ))))(widget←v13660, geometry←v13688, mapping←v13716, 0, pd64);
      };
SOURCE(8014, 54)
   if ( ( (0 != (* (( (ptr) bsfd←v7396)+8) )) ? ((* (( (ptr) bsfd←v7396)+5) ) != 0) : 0 ) ) {
SOURCE(8052, 16)
      userPos←v7452.f0 = (* (( (ptr) gf←c25512)+12)/* sbtW←v3308 */  );
      };
SOURCE(8070, 54)
   if ( ( (0 != (* (( (ptr) bsfd←v7396)+9) )) ? ((* (( (ptr) bsfd←v7396)+6) ) != 0) : 0 ) ) {
SOURCE(8108, 16)
      userPos←v7452.f1 = (* (( (ptr) gf←c25512)+12)/* sbtW←v3308 */  );
      };
SOURCE(8126, 240)
   if (((* (( (ptr) bsfd←v7396)+5) ) != 0)) {
SOURCE(8147, 221)
      {
         word mapping←v7496;
SOURCE(8149, 68)
         mapping←v7496 =  ( (0 != (* (( (ptr) bsfd←v7396)+8) )) ? 0 : 2 ) ;
SOURCE(8219, 147)
         {
            word var←c24520;
            var←c24520 = (word) SizeSubtract←P1080(geometry←v13688.f3, userPos←v7452.f1);
            {
               W5 var←c24552;
               var←c24552.f0 = 0;
               var←c24552.f1 = userPos←v7452.f1;
               var←c24552.f2 = (* (( (ptr) gf←c25512)+10)/* sbW←v3252 */  );
               var←c24552.f3 = var←c24520;
               var←c24552.f4 = (* (( (ptr) gf←c25512)+11)/* sbbW←v3280 */  );
               {
                  word pd65;
                  pd65 = (* (( (ptr) (* (( (ptr) gf←c25512)+88)/* var←c23912 */  ))+8) );
                  (void) ( *( (fPt) ((*  (ptr) pd65 ))))((* (( (ptr) bsfd←v7396)+5) ), var←c24552, mapping←v7496, 0, pd65);
                  };
               };
            };
         };
      };
SOURCE(8371, 240)
   if (((* (( (ptr) bsfd←v7396)+6) ) != 0)) {
SOURCE(8392, 221)
      {
         word mapping←v7540;
SOURCE(8394, 68)
         mapping←v7540 =  ( (0 != (* (( (ptr) bsfd←v7396)+9) )) ? 0 : 2 ) ;
SOURCE(8464, 147)
         {
            word var←c24584;
            var←c24584 = (word) SizeSubtract←P1080(geometry←v13688.f2, userPos←v7452.f0);
            {
               W5 var←c24616;
               var←c24616.f0 = userPos←v7452.f0;
               var←c24616.f1 = 0;
               var←c24616.f2 = var←c24584;
               var←c24616.f3 = (* (( (ptr) gf←c25512)+10)/* sbW←v3252 */  );
               var←c24616.f4 = (* (( (ptr) gf←c25512)+11)/* sbbW←v3280 */  );
               {
                  word pd66;
                  pd66 = (* (( (ptr) (* (( (ptr) gf←c25512)+88)/* var←c23912 */  ))+8) );
                  (void) ( *( (fPt) ((*  (ptr) pd66 ))))((* (( (ptr) bsfd←v7396)+6) ), var←c24616, mapping←v7540, 0, pd66);
                  };
               };
            };
         };
      };
SOURCE(8616, 219)
   if (((* (( (ptr) bsfd←v7396)+7) ) != 0)) {
SOURCE(8639, 198)
      {
         word mapping←v7584;
SOURCE(8641, 85)
         mapping←v7584 =  (  ( (0 != (* (( (ptr) bsfd←v7396)+9) )) ? (0 != (* (( (ptr) bsfd←v7396)+8) )) : 0 )  ? 0 : 2 ) ;
SOURCE(8728, 107)
         {
            W5 var←c24648;
            var←c24648.f0 = 0;
            var←c24648.f1 = 0;
            var←c24648.f2 = userPos←v7452.f0;
            var←c24648.f3 = userPos←v7452.f1;
            var←c24648.f4 = 0;
            {
               word pd67;
               pd67 = (* (( (ptr) (* (( (ptr) gf←c25512)+88)/* var←c23912 */  ))+8) );
               (void) ( *( (fPt) ((*  (ptr) pd67 ))))((* (( (ptr) bsfd←v7396)+7) ), var←c24648, mapping←v7584, 0, pd67);
               };
            };
         };
      };
SOURCE(8840, 508)
   if ((child←v7424 != 0)) {
SOURCE(8858, 492)
      {
         W5 g←v7628;
SOURCE(8860, 36)
         XR←FillWords(&g←v7628, 5, 0);
SOURCE(8898, 15)
         (*  (W2Pt) &g←v7628 ) = userPos←v7452;
SOURCE(8915, 44)
         g←v7628.f4 = (* (( (ptr) child←v7424)+9) );
SOURCE(8961, 41)
         if (( (int)g←v7628.f4 <  (int)0)) {
SOURCE(8985, 17)
            g←v7628.f4 = 0;
            };
SOURCE(9004, 59)
         g←v7628.f2 = (word) SizeSubtract←P1080(geometry←v13688.f2, userPos←v7452.f0);
SOURCE(9065, 61)
         g←v7628.f3 = (word) SizeSubtract←P1080(geometry←v13688.f3, userPos←v7452.f1);
SOURCE(9128, 146)
         if (( (int)g←v7628.f4 >  (int)0)) {
SOURCE(9154, 58)
            g←v7628.f2 = (word) SizeSubtract←P1080(g←v7628.f2, IOP2( * ,  (int)2,  (int)g←v7628.f4));
SOURCE(9214, 60)
            g←v7628.f3 = (word) SizeSubtract←P1080(g←v7628.f3, IOP2( * ,  (int)2,  (int)g←v7628.f4));
            };
SOURCE(9279, 69)
         {
            word pd68;
            pd68 = (* (( (ptr) (* (( (ptr) gf←c25512)+88)/* var←c23912 */  ))+8) );
            (void) ( *( (fPt) ((*  (ptr) pd68 ))))(child←v7424, g←v7628, (* (( (ptr) child←v7424)+10) ), reConsiderChildren←v13744, pd68)
            ;
            };
         };
      };
   }

static void PublicSetState←P1200(biScrollerFrame←v5692, hAction←v5720, vAction←v5748, x←v5776, y←v5804, event←v5832)
   word biScrollerFrame←v5692;
   word hAction←v5720;
   word vAction←v5748;
   word x←v5776;
   word y←v5804;
   word event←v5832;
   {
   register ptr gf←c25544 =  (ptr) &globalframe;
   word bsfd←v7672;
   /* PublicSetState: */ 
SOURCE(9357, 276)
SOURCE(9486, 50)
   {
      word idx69;
      word limit70;
      bsfd←v7672 = XR←Narrow((* ((( (ptr) biScrollerFrame←v5692)+49)+(
               idx69 = (* (( (ptr) (* (( (ptr) gf←c25544)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit70 = (* (( (ptr) biScrollerFrame←v5692)+48) ),
               BCK(idx69, limit70)
               )) ), (* (( (ptr) gf←c25544)+17) ));
      };
SOURCE(9538, 95)
   (void) ForwardCallScrollProc←P1260(bsfd←v7672, hAction←v5720, vAction←v5748, x←v5776, y←v5804, event←v5832);
   }

static void ForwardCallScrollProc←P1260(bsfd←v6132, hAction←v6160, vAction←v6188, x←v6216, y←v6244, event←v6272)
   word bsfd←v6132;
   word hAction←v6160;
   word vAction←v6188;
   word x←v6216;
   word y←v6244;
   word event←v6272;
   {
   register ptr gf←c25576 =  (ptr) &globalframe;
   /* ForwardCallScrollProc: */ 
SOURCE(9747, 476)
SOURCE(9857, 366)
   {
      register word spl←v7716;
      spl←v7716 = (* (( (ptr) bsfd←v6132)+10) );
      lab←L100005: ;
      if ((spl←v7716 != 0)) {
         }
      else {
         goto lab←L100002;
         };
      {
         word fd←v7844;
         word tq←v7872;
SOURCE(9946, 99)
         fd←v7844 = XR←NewObject(20, (* (( (ptr) gf←c25576)+14) ));
         (*  (ptr) fd←v7844 ) = spl←v7716;
         (* (( (ptr) fd←v7844)+1) ) = hAction←v6160;
         (* (( (ptr) fd←v7844)+2) ) = vAction←v6188;
         (* (( (ptr) fd←v7844)+3) ) = x←v6216;
         (* (( (ptr) fd←v7844)+4) ) = y←v6244;
SOURCE(10047, 24)
         tq←v7872 = (* (( (ptr) (*  (ptr) spl←v7716 ))+3) );
SOURCE(10073, 70)
         if ((tq←v7872 == 0)) {
SOURCE(10089, 37)
            tq←v7872 = (* (( (ptr) (*  (ptr) (*  (ptr) spl←v7716 ) ))+45) );
SOURCE(10128, 15)
            if ((tq←v7872 == 0)) {
SOURCE(10143, 4)
               goto lab←L100003;
               };
            };
SOURCE(10150, 73)
         {
            word pd71;
            pd71 = (* (( (ptr) (* (( (ptr) gf←c25576)+92)/* var←c24456 */  ))+64) );
            (void) ( *( (fPt) ((*  (ptr) pd71 ))))(tq←v7872, (word) (( (bPt) gf←c25576)+120)/* var←c23016 */ , fd←v7844, event←v6272, pd71)
            ;
            };
         };
      spl←v7716 = (* (( (ptr) spl←v7716)+1) );
      goto lab←L100005;
      lab←L100002: ;
      lab←L100003: ;
      };
   }

static void ForwardedCallScrollProc←P1320(event←v13804, clientData←v13832, tq←v13860)
   word event←v13804;
   word clientData←v13832;
   word tq←v13860;
   {
   register ptr gf←c25608 =  (ptr) &globalframe;
   word fd←v7928;
   /* ForwardedCallScrollProc: */ 
SOURCE(10237, 269)
SOURCE(10283, 40)
   fd←v7928 = XR←Narrow(clientData←v13832, (* (( (ptr) gf←c25608)+14) ));
SOURCE(10325, 181)
   {
      word pd72;
      pd72 = (* (( (ptr) (*  (ptr) (*  (ptr) fd←v7928 ) ))+1) );
      (void) ( *( (fPt) ((*  (ptr) pd72 ))))((*  (ptr) (*  (ptr) (*  (ptr) fd←v7928 ) ) ), (* (( (ptr) fd←v7928)+1) ), (* (( (ptr) fd←v7928)+2)
          ), (* (( (ptr) fd←v7928)+3) ), (* (( (ptr) fd←v7928)+4) ), event←v13804
         , (* (( (ptr) (*  (ptr) (*  (ptr) fd←v7928 ) ))+2) ), pd72);
      };
   }

static void ParentalSetState←P1380(biScrollerFrame←v6332, state←v6360, event←v6388)
   word biScrollerFrame←v6332;
   W4 state←v6360;
   word event←v6388;
   {
   register ptr gf←c25640 =  (ptr) &globalframe;
   word bsfd←v7984;
   /* ParentalSetState: */ 
SOURCE(10512, 432)
SOURCE(10620, 50)
   {
      word idx73;
      word limit74;
      bsfd←v7984 = XR←Narrow((* ((( (ptr) biScrollerFrame←v6332)+49)+(
               idx73 = (* (( (ptr) (* (( (ptr) gf←c25640)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit74 = (* (( (ptr) biScrollerFrame←v6332)+48) ),
               BCK(idx73, limit74)
               )) ), (* (( (ptr) gf←c25640)+17) ));
      };
SOURCE(10672, 26)
   (void) EntrySetState←P1500(bsfd←v7984, state←v6360);
SOURCE(10700, 86)
   if (((* (( (ptr) bsfd←v7984)+6) ) != 0)) {
SOURCE(10721, 65)
      {
         word pd75;
         pd75 = (* (( (ptr) (* (( (ptr) gf←c25640)+90)/* var←c24168 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd75 ))))((* (( (ptr) bsfd←v7984)+6) ), (*  (W2Pt) &state←v6360 ), event←v6388, pd75);
         };
      };
SOURCE(10788, 86)
   if (((* (( (ptr) bsfd←v7984)+5) ) != 0)) {
SOURCE(10809, 65)
      {
         word pd76;
         pd76 = (* (( (ptr) (* (( (ptr) gf←c25640)+90)/* var←c24168 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd76 ))))((* (( (ptr) bsfd←v7984)+5) ), (*  (W2Pt) (( (ptr) &state←v6360)+2) ), event←v6388, pd76)
         ;
         };
      };
SOURCE(10876, 68)
   {
      word pd77;
      pd77 = (* (( (ptr) (* (( (ptr) gf←c25640)+88)/* var←c23912 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd77 ))))(biScrollerFrame←v6332, (* (( (ptr) gf←c25640)+8)/* stateChanged←v2860 */  ), bsfd←v7984, event←v6388, pd77)
      ;
      };
   }

static void GetState←P1440(formal←c0184, biScrollerFrame←v6448)
   word formal←c0184;
   word biScrollerFrame←v6448;
   {
   register ptr gf←c25672 =  (ptr) &globalframe;
   W4 state←v6492;
   word bsfd←v8028;
   /* GetState: */ 
SOURCE(10951, 165)
SOURCE(11036, 50)
   {
      word idx78;
      word limit79;
      bsfd←v8028 = XR←Narrow((* ((( (ptr) biScrollerFrame←v6448)+49)+(
               idx78 = (* (( (ptr) (* (( (ptr) gf←c25672)+9)/* biScrollerFrameClass←v2888 */  ))+4) ),
               limit79 = (* (( (ptr) biScrollerFrame←v6448)+48) ),
               BCK(idx78, limit79)
               )) ), (* (( (ptr) gf←c25672)+17) ));
      };
SOURCE(11088, 28)
   {
      W4 var←c24776;
      (void) EntryGetState←P1560((word) &var←c24776, bsfd←v8028);
      state←v6492 = var←c24776;
      /* removed tail goto */ 
      };
   (*  (W4Pt) formal←c0184 ) = state←v6492;
   return;
   }

static void EntrySetState←P1500(bsfd←v6552, state←v6580)
   word bsfd←v6552;
   W4 state←v6580;
   {
   register ptr gf←c25704 =  (ptr) &globalframe;
   /* EntrySetState: */ 
SOURCE(11123, 80)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c25704)+16)/* LOCK←v2748 */ ));
SOURCE(11184, 19)
   (*  (W4Pt) (( (ptr) bsfd←v6552)+1) ) = state←v6580;
SOURCE(11123, 80)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c25704)+16)/* LOCK←v2748 */ ));
   return;
   }

static void EntryGetState←P1560(formal←c0190, bsfd←v6640)
   word formal←c0190;
   word bsfd←v6640;
   {
   register ptr gf←c25736 =  (ptr) &globalframe;
   W4 var←c6684;
   /* EntryGetState: */ 
SOURCE(11208, 83)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c25736)+16)/* LOCK←v2748 */ ));
SOURCE(11271, 20)
   var←c6684 = (*  (W4Pt) (( (ptr) bsfd←v6640)+1) );
   /* removed tail goto */ 
   (void) (XR←MonitorExit((word) (( (bPt) gf←c25736)+16)/* LOCK←v2748 */ ));
   (*  (W4Pt) formal←c0190 ) = var←c6684;
   return;
   }

/* file: XTkBiScrollerFrameImpl, module: XTkBiScrollerFrameImpl, compiled at: February 18, 1993 4:43:13 pm PST */ 
extern void XR←install←XTkBiScrollerFrameImpl() {
   NoName←Q2352();
   }
extern void XR←run←XTkBiScrollerFrameImpl() { XR←Start(&globalframe); }