/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: June 9, 1993 3:02:07 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TEditDocuments2Impl, module: TEditDocuments2Impl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2063655495,476411582] TEditDocuments2Impl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef W9 *W9Pt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W8 f; W6 r;} W14;
typedef struct {W16 f; W14 r;} W30;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W16 f; W12 r;} W28;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W16 f; W11 r;} W27;
typedef W27 *W27Pt;
typedef W28 *W28Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q7968();
static void TEditDocuments2Impl←P0();
static word ColumnOf←P60();
static void ForceInitialCaret←P120();
static word GetViewerForRootI←P180();
static void RecordViewerForRootI←P240();
static word GetViewerForRoot←P300();
static word NoName←Q8028();
static void RecordViewerForRoot←P360();
static word NoName←Q8088();
static void ForgetViewer←P420();
static word NoName←Q8148();
static void CopyLoadHistory←P480();
static word AllocLoadHistory←P540();
static void SetLoadHistoryInfo←P600();
static void SetLoadHistory←P660();
static void SaveLoadHistory←P720();
static void CopyPositionHistory←P780();
static void ClearPositionHistory←P840();
static void RememberCurrentPosition←P900();
static word PositionViewer←P960();
static word PositionViewerInternal←P1020();
static void CheckPosition←P5508();
static void CloseAndForkPaint←P1080();
static void ForkViewerPainter←P1140();
static void ViewerPainter←P1200();
static word NoName←Q8208();
static void KillSelections←P1260();
static void CancelLinks←P1320();
static void DefaultMenus←P1380();
static void DoLine←P5808();
static word MakeNewViewer←P1440();
static void inner←P5916();
static word MakeNewIcon←P1500();
static word ReplaceByNewViewer←P1560();
static void SwapViewers←P1620();
static void inner←P6072();
static word FindOldViewer←P1680();
static word Match←P6132();
static void Report←P1740();
static word NoName←Q8268();
static void Flash←P1800();
static void PleaseSelectFileName←P1860();
static void IllegalFileName←P1920();
static void ReloadedMessage←P1980();
static word RemoveVersion←P2040();
static word GetFileName←P2100();
static word NoName←Q8328();
static word CreateAndFillTiogaViewer←P2160();
static word NoName←Q8388();
static void DoLoad←P2220();
static word NoName←Q8448();
static void FlameOut←P2280();
static word NoName←Q8508();
static word TryToOpen←P2340();
static word NoName←Q8568();
static word TryExtensions←P2400();
static word IsAnExtension←P2460();
static void RegisterFileNameProc←P2520();
static word ReplaceFileNameProc←P2580();
static word TryVersionMap←P2640();
static word TryVersionMapExtensions←P2700();
static void LookupSource←P2760();
static void LookupImpl←P2820();
static word NoName←Q8628();
static word WorkingDirectoryFromViewer←P2880();
static word NoName←Q8688();
static word IsAWorkingDirectory←P2940();
static word CanonicalWorkingDirectory←P3000();
static word NoName←Q8748();
static word DoGetFile←P3060();
static word NoName←Q8808();
static void DoEmptyViewer←P3120();
static void inner←P7008();
static word NoName←Q8868();
static void EmptyViewer←P3180();
static word DoNewViewer←P3240();
static word NoName←Q8928();
static void NewViewer←P3300();
static word DoCloseAndNewViewer←P3360();
static word NoName←Q8988();
static void CloseAndNewViewer←P3420();
static word DoLoadFile←P3480();
static void LoadFile←P3540();
static word DoOpenFile←P3600();
static void OpenFile←P3660();
static word DoCloseAndOpenFile←P3720();
static void CloseAndOpenFile←P3780();
static word DoLoadImplFile←P3840();
static void LoadImplFile←P3900();
static word DoOpenImplFile←P3960();
static void OpenImplFile←P4020();
static word DoCloseAndOpenImplFile←P4080();
static void CloseAndOpenImplFile←P4140();
static void PreLoadPrevious←P4200();
static void DoLoadPreviousFile←P4260();
static word NoName←Q9048();
static void LoadPreviousFile←P4320();
static void OpenPreviousFile←P4380();
static void CloseAndOpenPreviousFile←P4440();
static word ForceCharLower←P4500();
static word ForceLower←P4560();
static void GetCreateName←P4620();
static word NoName←Q9108();
static word GetDirectory←P4680();
static word GetBase←P4740();
static word GetExtension←P4800();
static word IsNewFile←P4860();
static void PreStore←P4920();
static void AddFileExtension←P4980();
static void DoStoreFile←P5040();
static void inner←P7260();
static word NoName←Q9168();
static void LockTheWorks←P5100();
static void innerWorks←P7368();
static word NoName←Q9228();
static void StoreFile←P5160();
static word GetViewerContents←P5220();
static void DoAnonymousLoadFile←P5280();
static void AnonymousLoadFile←P5340();
static void AnonymousLoadImplFile←P5400();
static void NoName←Q9288();
static void NoName←Q9348();
static void NoName←Q9408();
static void NoName←Q9468();
static void NoName←Q9528();
static void NoName←Q9588();
static void NoName←Q9648();
static void NoName←Q9708();
static void NoName←Q9768();
static void NoName←Q9828();
static void NoName←Q9888();
static void NoName←Q9948();
static void NoName←Q10008();
static void NoName←Q10068();
static void NoName←Q10128();
static void NoName←Q10188();
static void NoName←Q10248();
static void NoName←Q10308();
static void NoName←Q10368();
static void NoName←Q10428();
static void NoName←Q10488();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\045\005\337\143\300\252\356\334\244\100\244\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string6 = {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];} string7 = {851984, "\257\300\165\053\345\211\300\333\235\216\021\100\310\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\005\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\113\175\243\331\300\252\247\212\133\100\164\000\000"};
static struct {unsigned f; char r[36];} string10 = {2162721, "\006\014\000\001\060\001\064\001\070\001\074\001\100\100\001\100\124\001\100\130\001\100\134\001\100\140\001\100\144\001\100\150\001\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\164\000\000"};
static struct {unsigned f; char r[16];} string12 = {851981, "\006\005\000\001\004\001\054\001\070\001\100\114\001\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\173\000\342\107\300\034\145\166\276\100\370\000\000"};
static struct {unsigned f; char r[12];} string14 = {720908, "LoadHistory"};
static struct {unsigned f; char r[16];} string15 = {983056, "PositionHistory"};
static struct {unsigned f; char r[16];} string16 = {851984, "FileExtension\000\000"};
static struct {unsigned f; char r[16];} string17 = {917520, "FileCreateDate\000"};
static struct {unsigned f; char r[16];} string18 = {786448, "LockedViewer\000\000\000"};
static struct {unsigned f; char r[8];} string19 = {393224, "Viewer\000"};
static struct {unsigned f; char r[24];} string20 = {1507352, "RememberCurrentPosition"};
static struct {unsigned f; char r[8];} string21 = {262152, "Text\000\000\000"};
static struct {unsigned f; char r[28];} string22 = {1572892, "Please select file name.\000\000\000"};
static struct {unsigned f; char r[20];} string23 = {1179668, "Illegal file name.\000"};
static struct {unsigned f; char r[40];} string24 = {2490408, " restored with previous unsaved edits.\000"};
static struct {unsigned f; char r[4];} string25 = {65540, "!\000\000"};
static struct {unsigned f; char r[24];} string26 = {1310744, " was already loaded.\000\000\000"};
static struct {unsigned f; char r[4];} string27 = {131076, "|*\000"};
static struct {unsigned f; char r[20];} string28 = {1245204, " is already loaded."};
static struct {unsigned f; char r[12];} string29 = {524300, "Loading \000\000\000"};
static struct {unsigned f; char r[8];} string30 = {393224, "DoLoad\000"};
static struct {unsigned f; char r[12];} string31 = {720908, "unknownFile"};
static struct {unsigned f; char r[4];} string32 = {65540, ".\000\000"};
static struct {unsigned f; char r[4];} string33 = {196612, "/R/"};
static struct {unsigned f; char r[24];} string34 = {1376280, "Directory lookup for \000\000"};
static struct {unsigned f; char r[32];} string35 = {1835040, "Get: trying version map for \000\000\000"};
static struct {unsigned f; char r[8];} string36 = {327688, "[]<>/\000\000"};
static struct {unsigned f; char r[40];} string37 = {2424872, "Load state lookup for implementor of \000\000"};
static struct {unsigned f; char r[8];} string38 = {262152, "Impl\000\000\000"};
static struct {unsigned f; char r[36];} string39 = {2097188, "GetImpl: trying version map for \000\000\000"};
static struct {unsigned f; char r[4];} string40 = {65540, "*\000\000"};
static struct {unsigned f; char r[8];} string41 = {262152, "[]<>\000\000\000"};
static struct {unsigned f; char r[4];} string42 = {131076, "*/\000"};
static struct {unsigned f; char r[4];} string43 = {131076, "*>\000"};
static struct {unsigned f; char r[36];} string44 = {2162724, " is an illegal working directory.\000\000"};
static struct {unsigned f; char r[12];} string45 = {720908, " not found."};
static struct {unsigned f; char r[12];} string46 = {720908, "EmptyViewer"};
static struct {unsigned f; char r[12];} string47 = {720908, "DoNewViewer"};
static struct {unsigned f; char r[20];} string48 = {1245204, "DoCloseAndNewViewer"};
static struct {unsigned f; char r[16];} string49 = {983056, "PreLoadPrevious"};
static struct {unsigned f; char r[52];} string50 = {3145780, "No record of previous file loaded in this viewer\000\000\000"};
static struct {unsigned f; char r[64];} string51 = {3932224, " ~ Click LEFT to load, MIDDLE for new, RIGHT for close & new\000\000\000"};
static struct {unsigned f; char r[20];} string52 = {1179668, "DoLoadPreviousFile\000"};
static struct {unsigned f; char r[24];} string53 = {1507352, "Confirm Store to file: "};
static struct {unsigned f; char r[12];} string54 = {720908, " [New File]"};
static struct {unsigned f; char r[12];} string55 = {720908, " [Old File]"};
static struct {unsigned f; char r[8];} string56 = {262152, "null\000\000\000"};
static struct {unsigned f; char r[12];} string57 = {589836, "StoreFile\000\000"};
static struct {unsigned f; char r[32];} string58 = {2031648, "Viewer already contains a file."};
static struct {unsigned f; char r[20];} string59 = {1179668, "Enter a file name.\000"};
static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\173\000\342\107\300\034\145\166\276\100\164\000\000"};
static struct {unsigned f; char r[16];} string61 = {983055, "\006\004\040\001\044\001\050\001\100\134\010\000\004\056\001"};
static struct {unsigned f; char r[16];} string62 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string64 = {851984, "\257\300\221\033\234\127\300\337\351\127\214\100\150\000\000"};
static struct {unsigned f; char r[16];} string65 = {851984, "\257\300\317\042\141\053\300\247\142\073\274\100\150\000\000"};
static struct {unsigned f; char r[16];} string66 = {851984, "\257\300\074\270\063\045\300\023\342\016\224\100\150\000\000"};
static struct {unsigned f; char r[16];} string67 = {851984, "\257\300\234\060\361\073\300\103\025\207\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string68 = {851984, "\257\300\136\334\260\200\300\074\241\343\352\100\150\000\000"};
static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string70 = {851984, "\257\300\263\221\075\070\300\264\022\010\174\100\164\000\000"};
static struct {unsigned f; char r[16];} string71 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[12];} string72 = {1413833833, "tDocument"};
static struct {unsigned f; char r[16];} string73 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\150\000\000"};
static struct {unsigned f; char r[20];} string74 = {1413833833, "tDocumentPrivate"};
static struct {unsigned f; char r[16];} string75 = {851984, "\257\300\165\053\345\211\300\333\235\216\021\100\150\000\000"};
static struct {unsigned f; char r[16];} string76 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string77 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string78 = {851984, "\257\300\320\263\152\354\300\340\215\053\236\100\150\000\000"};
static struct {unsigned f; char r[16];} string79 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"};
static struct {unsigned f; char r[16];} string80 = {851984, "\257\300\146\107\314\260\300\352\117\305\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string81 = {851984, "\257\300R-\356\251\300YX]$@h\000\000"};
static struct {unsigned f; char r[16];} string82 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string83 = {851984, "\257\300\040\353\020\254\300\226\145\363\233\100\150\000\000"};
static struct {unsigned f; char r[16];} string84 = {851984, "\257\300\312\253\314\243\300\267\126\271\104\100\150\000\000"};
static struct {unsigned f; char r[16];} string85 = {851984, "\257\300\304\277\342\227\300\257\071\007\130\100\150\000\000"};
static struct {unsigned f; char r[16];} string86 = {851984, "\257\300\254\253\350\355\300\233\126\335\104\100\150\000\000"};
static struct {unsigned f; char r[16];} string87 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string88 = {851984, "\257\300\234\330\257\310\300\272\273\374\141\100\150\000\000"};
static struct {unsigned f; char r[16];} string89 = {851984, "\257\300\045\005\337\143\300\252\356\334\244\100\150\000\000"};
static struct {unsigned f; char r[16];} string90 = {851984, "\257\300\351\360\047\051\300\272\273\201\332\100\150\000\000"};
static struct {
   word f0[70]; word f70; word f71; word f72; 
   word f73; word f74; word f75; word f76; 
   word f77; word f78; word f79; word f80; 
   word f81; word f82; word f83; word f84; 
   word f85; word f86; word f87; word f88; 
   word f89; word f90; word f91; word f92; 
   word f93; word f94; word f95; word f96; 
   word f97; word f98; word f99; word f100; 
   word f101; word f102; word f103; word f104; 
   word f105; word f106; word f107; word f108; 
   word f109; word f110; word f111; word f112; 
   word f113; word f114; word f115; word f116; 
   word f117; word f118; word f119; word f120; 
   word f121; word f122; word f123; word f124; 
   word f125; word f126; word f127; word f128; 
   word f129; word f130; word f131; word f132; 
   word f133; word f134; word f135; word f136; 
   word f137; word f138; word f139; word f140; 
   word f141; word f142; word f143; word f144; 
   word f145; word f146; word f147; word f148; 
   word f149; word f150; word f151; word f152; 
   word f153; word f154; word f155; word f156; 
   word f157; word f158; word f159; word f160; 
   word f161; word f162; word f163; word f164; 
   word f165; word f166; word f167; word f168; 
   word f169; word f170; word f171; word f172; 
   word f173; word f174; word f175; word f176; 
   word f177; word f178; word f179; word f180; 
   word f181; word f182; word f183; word f184; 
   word f185; word f186; word f187; word f188; 
   word f189; word f190; word f191; word f192; 
   word f193; word f194; word f195; word f196; 
   word f197; word f198; word f199; word f200; 
   word f201; word f202; word f203; word f204; 
   word f205; word f206; word f207; word f208; 
   word f209; word f210; word f211; word f212; 
   word f213; word f214; word f215; word f216; 
   word f217; word f218; word f219; word f220; 
   word f221; word f222; word f223; word f224; 
   word f225; word f226; word f227; word f228; 
   word f229; word f230; word f231; word f232; 
   word f233; word f234; word f235; word f236; 
   word f237; word f238; word f239; word f240; 
   word f241; word f242; word f243; word f244; 
   word f245; word f246; word f247; word f248; 
   word f249; word f250; word f251; word f252; 
   word f253[35]; 
   } globalframe = {
   {0}, (word) AnonymousLoadImplFile←P5400, 0, (word) AnonymousLoadFile←P5340, 
   0, (word) DoAnonymousLoadFile←P5280, 0, (word) GetViewerContents←P5220, 
   0, (word) StoreFile←P5160, 0, (word) LockTheWorks←P5100, 
   0, (word) DoStoreFile←P5040, 0, (word) AddFileExtension←P4980, 
   0, (word) PreStore←P4920, 0, (word) IsNewFile←P4860, 
   0, (word) GetExtension←P4800, 0, (word) GetBase←P4740, 
   0, (word) GetDirectory←P4680, 0, (word) GetCreateName←P4620, 
   0, (word) ForceLower←P4560, 0, (word) ForceCharLower←P4500, 
   0, (word) CloseAndOpenPreviousFile←P4440, 0, (word) OpenPreviousFile←P4380, 
   0, (word) LoadPreviousFile←P4320, 0, (word) DoLoadPreviousFile←P4260, 
   0, (word) PreLoadPrevious←P4200, 0, (word) CloseAndOpenImplFile←P4140, 
   0, (word) DoCloseAndOpenImplFile←P4080, 0, (word) OpenImplFile←P4020, 
   0, (word) DoOpenImplFile←P3960, 0, (word) LoadImplFile←P3900, 
   0, (word) DoLoadImplFile←P3840, 0, (word) CloseAndOpenFile←P3780, 
   0, (word) DoCloseAndOpenFile←P3720, 0, (word) OpenFile←P3660, 
   0, (word) DoOpenFile←P3600, 0, (word) LoadFile←P3540, 
   0, (word) DoLoadFile←P3480, 0, (word) CloseAndNewViewer←P3420, 
   0, (word) DoCloseAndNewViewer←P3360, 0, (word) NewViewer←P3300, 
   0, (word) DoNewViewer←P3240, 0, (word) EmptyViewer←P3180, 
   0, (word) DoEmptyViewer←P3120, 0, (word) DoGetFile←P3060, 
   0, (word) CanonicalWorkingDirectory←P3000, 0, (word) IsAWorkingDirectory←P2940, 
   0, (word) WorkingDirectoryFromViewer←P2880, 0, (word) LookupImpl←P2820, 
   0, (word) LookupSource←P2760, 0, (word) TryVersionMapExtensions←P2700, 
   0, (word) TryVersionMap←P2640, 0, (word) ReplaceFileNameProc←P2580, 
   0, (word) RegisterFileNameProc←P2520, 0, (word) IsAnExtension←P2460, 
   0, (word) TryExtensions←P2400, 0, (word) TryToOpen←P2340, 
   0, (word) FlameOut←P2280, 0, (word) DoLoad←P2220, 
   0, (word) CreateAndFillTiogaViewer←P2160, 0, (word) GetFileName←P2100, 
   0, (word) RemoveVersion←P2040, 0, (word) ReloadedMessage←P1980, 
   0, (word) IllegalFileName←P1920, 0, (word) PleaseSelectFileName←P1860, 
   0, (word) Flash←P1800, 0, (word) Report←P1740, 
   0, (word) FindOldViewer←P1680, 0, (word) SwapViewers←P1620, 
   0, (word) ReplaceByNewViewer←P1560, 0, (word) MakeNewIcon←P1500, 
   0, (word) MakeNewViewer←P1440, 0, (word) DefaultMenus←P1380, 
   0, (word) CancelLinks←P1320, 0, (word) KillSelections←P1260, 
   0, (word) ViewerPainter←P1200, 0, (word) ForkViewerPainter←P1140, 
   0, (word) CloseAndForkPaint←P1080, 0, (word) PositionViewerInternal←P1020, 
   0, (word) PositionViewer←P960, 0, (word) RememberCurrentPosition←P900, 
   0, (word) ClearPositionHistory←P840, 0, (word) CopyPositionHistory←P780, 
   0, (word) SaveLoadHistory←P720, 0, (word) SetLoadHistory←P660, 
   0, (word) SetLoadHistoryInfo←P600, 0, (word) AllocLoadHistory←P540, 
   0, (word) CopyLoadHistory←P480, 0, (word) ForgetViewer←P420, 
   0, (word) RecordViewerForRoot←P360, 0, (word) GetViewerForRoot←P300, 
   0, (word) RecordViewerForRootI←P240, 0, (word) GetViewerForRootI←P180, 
   0, (word) ForceInitialCaret←P120, 0, (word) ColumnOf←P60, 
   0, (word) TEditDocuments2Impl←P0, 0, (word) 2147483647, 
   {0}
   };

static void NoName←Q7968()
   {
   register ptr gf←c0729 =  (ptr) &globalframe;
   word var←c59112;
   (* (( (ptr) gf←c0729)+12) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c0729)+14) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c0729)+15) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string3);
   (* (( (ptr) gf←c0729)+17) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0729)+19) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0729)+20) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0729)+21) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12);
   (* (( (ptr) gf←c0729)+22) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string3);
   (*  (ptr) (( (bPt) gf←c0729)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0729)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0729)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0729)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0729)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0729)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0729)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0729)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0729)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0729)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0729)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0729)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0729)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0729)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0729)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0729)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0729)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0729)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0729)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0729)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0729)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0729)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0729)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0729)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0729)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0729)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0729)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0729)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0729)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0729)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0729)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0729)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c0729)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0729)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c0729)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c0729)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string49);
   (*  (ptr) (( (bPt) gf←c0729)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string50);
   (*  (ptr) (( (bPt) gf←c0729)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string51);
   (*  (ptr) (( (bPt) gf←c0729)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string52);
   (*  (ptr) (( (bPt) gf←c0729)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string53);
   (*  (ptr) (( (bPt) gf←c0729)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string54);
   (*  (ptr) (( (bPt) gf←c0729)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string55);
   (*  (ptr) (( (bPt) gf←c0729)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+14) ), (word) &string56);
   (*  (ptr) (( (bPt) gf←c0729)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string57);
   (*  (ptr) (( (bPt) gf←c0729)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string58);
   (*  (ptr) (( (bPt) gf←c0729)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0729)+15) ), (word) &string59);
   (void) XR←DeclareGlobalFrame((word) "TEditDocuments2Impl", &globalframe, (word) XR←GetTypeIndex((word) &string60, 0, (word) &string61)
      , (word) (( (bPt) gf←c0729)+1000)/* var←c54344 */ );
   var←c59112 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string62)), 16);
   (* (( (ptr) gf←c0729)+283)/* var←c58248 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 67895555);
   var←c59112 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string63)), 73);
   (* (( (ptr) gf←c0729)+277)/* var←c56232 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 67634690);
   var←c59112 = (word) XR←ImportInterface((word) "InstallationBasicComforts", (word) XR←GetTypeIndexS((word) (&string64)), 3)
   ;
   (* (( (ptr) gf←c0729)+281)/* var←c56936 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 67371521);
   (void) XR←ImportProcS(var←c59112, 67633154);
   var←c59112 = (word) XR←ImportInterface((word) "Menus", (word) XR←GetTypeIndexS((word) (&string65)), 21);
   (* (( (ptr) gf←c0729)+272)/* var←c55560 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 791299);
   var←c59112 = (word) XR←ImportInterface((word) "MessageWindow", (word) XR←GetTypeIndexS((word) (&string66)), 7);
   (* (( (ptr) gf←c0729)+275)/* var←c55880 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 0);
   (void) XR←ImportProcS(var←c59112, 512);
   (void) XR←ImportProcS(var←c59112, 524546);
   var←c59112 = (word) XR←ImportInterface((word) "NodeProps", (word) XR←GetTypeIndexS((word) (&string67)), 28);
   (* (( (ptr) gf←c0729)+261)/* var←c54536 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 786435);
   (void) XR←ImportProcS(var←c59112, 67633410);
   (void) XR←ImportProcS(var←c59112, 67638274);
   (void) XR←ImportProcS(var←c59112, 67638018);
   (void) XR←ImportProcS(var←c59112, 67637762);
   (void) XR←ImportProcS(var←c59112, 1052932);
   var←c59112 = (word) XR←ImportInterface((word) "NodeReader", (word) XR←GetTypeIndexS((word) (&string68)), 12);
   (* (( (ptr) gf←c0729)+266)/* var←c55144 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 262401);
   (void) XR←ImportProcS(var←c59112, 67634690);
   (void) XR←ImportProcS(var←c59112, 67633154);
   var←c59112 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string69)), 40);
   (* (( (ptr) gf←c0729)+276)/* var←c56040 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 67635970);
   (void) XR←ImportProcS(var←c59112, 70520326);
   (void) XR←ImportProcS(var←c59112, 67371265);
   (void) XR←ImportProcS(var←c59112, 67634178);
   (void) XR←ImportProcS(var←c59112, 134485505);
   (void) XR←ImportProcS(var←c59112, 67633154);
   var←c59112 = (word) XR←ImportInterface((word) "PFSNames", (word) XR←GetTypeIndexS((word) (&string70)), 39);
   (* (( (ptr) gf←c0729)+282)/* var←c58152 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 335809025);
   (void) XR←ImportProcS(var←c59112, 67377665);
   (void) XR←ImportProcS(var←c59112, 67376129);
   var←c59112 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string71)), 43);
   (* (( (ptr) gf←c0729)+274)/* var←c55848 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 68163332);
   (void) XR←ImportProcS(var←c59112, 68159236);
   (void) XR←ImportProcS(var←c59112, 67898627);
   (void) XR←ImportProcS(var←c59112, 67634434);
   (void) XR←ImportProcS(var←c59112, 67633666);
   (void) XR←ImportProcS(var←c59112, 67900163);
   (void) XR←ImportProcS(var←c59112, 67373825);
   (void) XR←ImportProcS(var←c59112, 67900419);
   (void) XR←ImportProcS(var←c59112, 67901955);
   (void) XR←ImportProcS(var←c59112, 67896323);
   var←c59112 = (word) XR←ImportInterface((word) &string72, (word) XR←GetTypeIndexS((word) (&string73)), 6);
   (* (( (ptr) gf←c0729)+265)/* var←c54952 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 262657);
   (void) XR←ImportProcS(var←c59112, 68157700);
   var←c59112 = (word) XR←ImportInterface((word) &string74, (word) XR←GetTypeIndexS((word) (&string75)), 67);
   (* (( (ptr) gf←c0729)+271)/* var←c55528 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 526082);
   (void) XR←ImportProcS(var←c59112, 788483);
   (void) XR←ImportProcS(var←c59112, 524290);
   (void) XR←ImportProcS(var←c59112, 67371265);
   var←c59112 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string76)), 39);
   (* (( (ptr) gf←c0729)+284)/* var←c58696 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 1053956);
   var←c59112 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string77)), 34);
   (* (( (ptr) gf←c0729)+264)/* var←c54824 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 135270404);
   (void) XR←ImportProcS(var←c59112, 67377153);
   (void) XR←ImportProcS(var←c59112, 67372289);
   (void) XR←ImportProcS(var←c59112, 68162307);
   var←c59112 = (word) XR←ImportInterface((word) "TEditDisplay", (word) XR←GetTypeIndexS((word) (&string78)), 4);
   (* (( (ptr) gf←c0729)+267)/* var←c55208 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 1048579);
   var←c59112 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string79)), 44);
   (* (( (ptr) gf←c0729)+280)/* var←c56552 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 269825);
   var←c59112 = (word) XR←ImportInterface((word) "TEditInputOps", (word) XR←GetTypeIndexS((word) (&string80)), 66);
   (* (( (ptr) gf←c0729)+286)/* var←c59016 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 1792);
   var←c59112 = (word) XR←ImportInterface((word) "TEditProfile", (word) XR←GetTypeIndexS((word) (&string81)), 19);
   (* (( (ptr) gf←c0729)+270)/* var←c55464 */  ) = var←c59112;
   var←c59112 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string82)), 68);
   (* (( (ptr) gf←c0729)+269)/* var←c55400 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 266753);
   (void) XR←ImportProcS(var←c59112, 528642);
   (void) XR←ImportProcS(var←c59112, 1851399);
   (void) XR←ImportProcS(var←c59112, 1316101);
   var←c59112 = (word) XR←ImportInterface((word) "TEditSelectionOps", (word) XR←GetTypeIndexS((word) (&string83)), 2);
   (* (( (ptr) gf←c0729)+278)/* var←c56296 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 786435);
   var←c59112 = (word) XR←ImportInterface((word) "ViewerForkers", (word) XR←GetTypeIndexS((word) (&string84)), 2);
   (* (( (ptr) gf←c0729)+268)/* var←c55368 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 786691);
   (void) XR←ImportProcS(var←c59112, 1310725);
   var←c59112 = (word) XR←ImportInterface((word) "ViewerGroupLocks", (word) XR←GetTypeIndexS((word) (&string85)), 2);
   (* (( (ptr) gf←c0729)+285)/* var←c58920 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 524546);
   var←c59112 = (word) XR←ImportInterface((word) "ViewerLocks", (word) XR←GetTypeIndexS((word) (&string86)), 9);
   (* (( (ptr) gf←c0729)+273)/* var←c55656 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 787715);
   var←c59112 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string87)), 43);
   (* (( (ptr) gf←c0729)+263)/* var←c54696 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 67375105);
   (void) XR←ImportProcS(var←c59112, 527106);
   (void) XR←ImportProcS(var←c59112, 534530);
   (void) XR←ImportProcS(var←c59112, 267521);
   (void) XR←ImportProcS(var←c59112, 74973699);
   (void) XR←ImportProcS(var←c59112, 532994);
   (void) XR←ImportProcS(var←c59112, 788739);
   (void) XR←ImportProcS(var←c59112, 1049348);
   (void) XR←ImportProcS(var←c59112, 1319173);
   (void) XR←ImportProcS(var←c59112, 1051652);
   (void) XR←ImportProcS(var←c59112, 525314);
   (void) XR←ImportProcS(var←c59112, 792579);
   (void) XR←ImportProcS(var←c59112, 67639554);
   var←c59112 = (word) XR←ImportInterface((word) "ViewerPrivate", (word) XR←GetTypeIndexS((word) (&string88)), 68);
   (* (( (ptr) gf←c0729)+279)/* var←c56456 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 792067);
   (void) XR←ImportProcS(var←c59112, 791811);
   var←c59112 = (word) XR←ImportInterface((word) "ViewerTools", (word) XR←GetTypeIndexS((word) (&string89)), 12);
   (* (( (ptr) gf←c0729)+262)/* var←c54568 */  ) = var←c59112;
   (void) XR←ImportProcS(var←c59112, 67372545);
   (void) XR←ImportProcS(var←c59112, 67109888);
   (void) XR←ImportProcS(var←c59112, 524802);
   var←c59112 = (word) XR←ExportInterface((word) &string72, (word) XR←GetTypeIndexS((word) (&string73)), 6);
   (* (( (ptr) gf←c0729)+287)/* var←c59144 */  ) = var←c59112;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+952)/* var←c54152 */ , 525058, (word) "RecordViewerForRoot");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+944)/* var←c54120 */ , 263169, (word) "ForgetViewer");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+960)/* var←c54184 */ , 67372289, (word) "GetViewerForRoot");
   var←c59112 = (word) XR←ExportInterface((word) &string74, (word) XR←GetTypeIndexS((word) (&string75)), 67);
   (* (( (ptr) gf←c0729)+287)/* var←c59144 */  ) = var←c59112;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+832)/* var←c53672 */ , 262657, (word) "KillSelections");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+824)/* var←c53640 */ , 262913, (word) "CancelLinks");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+576)/* var←c52648 */ , 264449, (word) "EmptyViewer");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+560)/* var←c52584 */ , 264705, (word) "NewViewer");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+568)/* var←c52616 */ , 67635970, (word) "DoNewViewer");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+544)/* var←c52520 */ , 265217, (word) "CloseAndNewViewer");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+552)/* var←c52552 */ , 67374337, (word) "DoCloseAndNewViewer")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+512)/* var←c52392 */ , 265729, (word) "OpenFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+520)/* var←c52424 */ , 68161284, (word) "DoOpenFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+496)/* var←c52328 */ , 528386, (word) "CloseAndOpenFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+504)/* var←c52360 */ , 67637506, (word) "DoCloseAndOpenFile")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+464)/* var←c52200 */ , 266753, (word) "OpenImplFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+472)/* var←c52232 */ , 67900163, (word) "DoOpenImplFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+448)/* var←c52136 */ , 267265, (word) "CloseAndOpenImplFile")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+456)/* var←c52168 */ , 67638530, (word) "DoCloseAndOpenImplFile")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+528)/* var←c52456 */ , 267777, (word) "LoadFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+536)/* var←c52488 */ , 68163332, (word) "DoLoadFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+480)/* var←c52264 */ , 268289, (word) "LoadImplFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+488)/* var←c52296 */ , 67901699, (word) "DoLoadImplFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+288)/* var←c51496 */ , 530946, (word) "AnonymousLoadFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+280)/* var←c51464 */ , 269057, (word) "AnonymousLoadImplFile")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+424)/* var←c52040 */ , 269313, (word) "LoadPreviousFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+416)/* var←c52008 */ , 269569, (word) "OpenPreviousFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+408)/* var←c51976 */ , 269825, (word) "CloseAndOpenPreviousFile")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+344)/* var←c51720 */ , 1318661, (word) "PreStore");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+312)/* var←c51592 */ , 270337, (word) "StoreFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+328)/* var←c51656 */ , 532738, (word) "DoStoreFile");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+872)/* var←c53832 */ , 68166147, (word) "PositionViewer");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+816)/* var←c53608 */ , 533250, (word) "DefaultMenus");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+440)/* var←c52104 */ , 1322757, (word) "PreLoadPrevious");
   var←c59112 = (word) XR←ExportInterface((word) "TEditOps", (word) XR←GetTypeIndexS((word) (&string90)), 12);
   (* (( (ptr) gf←c0729)+287)/* var←c59144 */  ) = var←c59112;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+880)/* var←c53864 */ , 263681, (word) "RememberCurrentPosition")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+896)/* var←c53928 */ , 526082, (word) "CopyPositionHistory");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+936)/* var←c54088 */ , 526338, (word) "CopyLoadHistory");
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+664)/* var←c53000 */ , 264449, (word) "RegisterFileNameProc")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+656)/* var←c52968 */ , 67373569, (word) "ReplaceFileNameProc")
   ;
   (void) XR←ExportProcS(var←c59112, (word) (( (bPt) gf←c0729)+616)/* var←c52808 */ , 67373825, (word) "WorkingDirectoryFromViewer")
   ;
   }

static void TEditDocuments2Impl←P0(formal←c0160, formal←c0159)
   word formal←c0160;
   word formal←c0159;
   {
   register ptr gf←c59176 =  (ptr) &globalframe;
   /* TEditDocuments2Impl: */ 
SOURCE(1861, 34022)
   /* moved to installation proc */ 
SOURCE(2501, 66)
   (* (( (ptr) gf←c59176)+8)/* initialCaret←v4204 */  ) = XR←NewObject(16, (* (( (ptr) gf←c59176)+12) ));
SOURCE(35504, 88)
   {
      word pd91;
      pd91 = (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd91 ))))((* (( (ptr) gf←c59176)+28) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+22)
          ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+23) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+24)
          ), pd91);
      };
SOURCE(35594, 94)
   {
      word pd92;
      pd92 = (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd92 ))))((* (( (ptr) gf←c59176)+27) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+22)
          ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+23) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+24)
          ), pd92);
      };
SOURCE(35690, 96)
   {
      word pd93;
      pd93 = (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd93 ))))((* (( (ptr) gf←c59176)+26) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+22)
          ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+23) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+24)
          ), pd93);
      };
SOURCE(35788, 95)
   {
      word pd94;
      pd94 = (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd94 ))))((* (( (ptr) gf←c59176)+25) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+22)
          ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+23) ), (* (( (ptr) (* (( (ptr) gf←c59176)+261)/* var←c54536 */  ))+24)
          ), pd94);
      };
   }

static word ColumnOf←P60(parent←v7140)
   word parent←v7140;
   {
   word var←c7184;
   /* ColumnOf: */ 
SOURCE(2570, 108)
SOURCE(2623, 55)
   if ((parent←v7140 != 0)) {
      return((* (( (ptr) parent←v7140)+18) ));
      }
   else {
      return(1);
      };
   }

static void ForceInitialCaret←P120(viewer←v7244)
   word viewer←v7244;
   {
   register ptr gf←c59208 =  (ptr) &globalframe;
   /* ForceInitialCaret: */ 
SOURCE(2682, 91)
SOURCE(2727, 46)
   {
      word pd95;
      pd95 = (* (( (ptr) (* (( (ptr) gf←c59208)+262)/* var←c54568 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd95 ))))(viewer←v7244, (* (( (ptr) gf←c59208)+8)/* initialCaret←v4204 */  ), pd95);
      };
   }

static word GetViewerForRootI←P180(root←v7304)
   word root←v7304;
   {
   register ptr gf←c59240 =  (ptr) &globalframe;
   word viewer←v7348;
   /* GetViewerForRootI: */ 
SOURCE(2824, 30902)
SOURCE(2824, 30902)
   viewer←v7348 = 0;
SOURCE(2907, 31)
   if ((root←v7304 == 0)) {
SOURCE(2926, 12)
      return(0);
      };
SOURCE(2940, 43)
   if ((root←v7304 == (* (( (ptr) gf←c59240)+9)/* lastRoot←v4288 */  ))) {
SOURCE(2964, 19)
      return((* (( (ptr) gf←c59240)+10)/* lastViewer←v4316 */  ));
      };
SOURCE(2985, 15)
   (* (( (ptr) gf←c59240)+9)/* lastRoot←v4288 */  ) = root←v7304;
SOURCE(3002, 30724)
   {
      word var←c54600;
      {
         word var←c54632;
         {
            word pd96;
            pd96 = (* (( (ptr) (* (( (ptr) gf←c59240)+261)/* var←c54536 */  ))+5) );
            var←c54632 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd96 ))))(root←v7304, (* (( (ptr) gf←c59240)+28) ), pd96), (* (( (ptr) gf←c59240)+20)
                ));
            };
         (* (( (ptr) gf←c59240)+10)/* lastViewer←v4316 */  ) = var←c54632;
         var←c54600 = var←c54632;
         };
      return(var←c54600);
      };
   }

static void RecordViewerForRootI←P240(viewer←v7408, root←v7436)
   word viewer←v7408;
   word root←v7436;
   {
   register ptr gf←c59272 =  (ptr) &globalframe;
   /* RecordViewerForRootI: */ 
SOURCE(3069, 160)
SOURCE(3146, 38)
   {
      word pd97;
      pd97 = (* (( (ptr) (* (( (ptr) gf←c59272)+261)/* var←c54536 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd97 ))))(root←v7436, (* (( (ptr) gf←c59272)+28) ), viewer←v7408, pd97);
      };
SOURCE(3186, 43)
   if ((root←v7436 == (* (( (ptr) gf←c59272)+9)/* lastRoot←v4288 */  ))) {
SOURCE(3210, 19)
      (* (( (ptr) gf←c59272)+10)/* lastViewer←v4316 */  ) = viewer←v7408;
      };
   }

static word GetViewerForRoot←P300(formal←c0936)
   word formal←c0936;
   {
   W6 var←c59304;
   /* declaration of root←v7496 skipped */ 
   register ptr gf←c59336 =  (ptr) &globalframe;
   /* declaration of var←c01 skipped */ 
   word viewer←v7540;
   var←c59304.f4/* root←v7496 */  = formal←c0936;
   /* GetViewerForRoot: */ 
SOURCE(3264, 30462)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c59336)+16)/* LOCK←v4008 */ ));
SOURCE(3264, 30462)
   viewer←v7540 = 0;
SOURCE(3350, 30376)
   {
      word var←c02;
      {
         word var←c0854;
         var←c0854 = (word) &var←c59304;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8028) ), ( ((word)  (fPt) NoName←Q10488) ), var←c0854);
         };
      /* removed trivial cond node */ 
      };
   return(var←c59304.f5/* var←c01 */ );
   }

static word NoName←Q8028(formal←c0736)
   word formal←c0736;
   {
   register ptr gf←c0735 =  (ptr) &globalframe;
SOURCE(3373, 30353)
   {
      word var←c54664;
      var←c54664 = (word) GetViewerForRootI←P180((* ((( (ptr) formal←c0736)+4)) ));
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0735)+16)/* LOCK←v4008 */ ));
      (* (( (ptr) formal←c0736)+5) ) = var←c54664;
      return(1);
      };
   /* c2c skipped dead code */ 
   }

static void RecordViewerForRoot←P360(formal←c0937, formal←c0938)
   word formal←c0937;
   word formal←c0938;
   {
   W6 var←c59368;
   /* declaration of viewer←v7600 skipped */ 
   /* declaration of root←v7628 skipped */ 
   register ptr gf←c59400 =  (ptr) &globalframe;
   var←c59368.f4/* viewer←v7600 */  = formal←c0937;
   var←c59368.f5/* root←v7628 */  = formal←c0938;
   /* RecordViewerForRoot: */ 
SOURCE(3411, 137)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c59400)+16)/* LOCK←v4008 */ ));
SOURCE(3491, 57)
   {
      word var←c0855;
      var←c0855 = (word) &var←c59368;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q8088) ), ( ((word)  (fPt) NoName←Q10428) ), var←c0855);
      };
SOURCE(3411, 137)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c59400)+16)/* LOCK←v4008 */ ));
   return;
   }

static word NoName←Q8088(formal←c0738)
   word formal←c0738;
   {
SOURCE(3514, 34)
   (void) RecordViewerForRootI←P240((* (( (ptr) formal←c0738)+4) ), (* (( (ptr) formal←c0738)+5) ));
   return(0);
   }

static void ForgetViewer←P420(formal←c0939)
   word formal←c0939;
   {
   W5 var←c59432;
   /* declaration of viewer←v7688 skipped */ 
   register ptr gf←c59464 =  (ptr) &globalframe;
   var←c59432.f4/* viewer←v7688 */  = formal←c0939;
   /* ForgetViewer: */ 
SOURCE(3554, 30172)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c59464)+16)/* LOCK←v4008 */ ));
SOURCE(3607, 30119)
   {
      word var←c03;
      {
         word var←c0856;
         var←c0856 = (word) &var←c59432;
         var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8148) ), ( ((word)  (fPt) NoName←Q10368) ), var←c0856);
         };
      if ((var←c03 == 1)) {
         goto lab←L05;
         };
      };
SOURCE(3554, 30172)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c59464)+16)/* LOCK←v4008 */ ));
   return;
   lab←L05: ;
   return;
   }

static word NoName←Q8148(formal←c0741)
   word formal←c0741;
   {
   register ptr gf←c0740 =  (ptr) &globalframe;
SOURCE(3630, 58)
   {
      word tdd←v16964;
      word root←v16992 = 0;
SOURCE(3630, 58)
      tdd←v16964 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c0741)+4) ))+26) ), (* (( (ptr) gf←c0740)+21) ));
SOURCE(3710, 22)
      if ((tdd←v16964 == 0)) {
SOURCE(3726, 6)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0740)+16)/* LOCK←v4008 */ ));
         return(1);
         };
SOURCE(3734, 15)
      root←v16992 = (*  (ptr) tdd←v16964 );
SOURCE(3751, 29975)
      if (((word) GetViewerForRootI←P180(root←v16992) != (* (( (ptr) formal←c0741)+4) ))) {
SOURCE(3792, 6)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0740)+16)/* LOCK←v4008 */ ));
         return(1);
         };
SOURCE(3800, 74)
      if (((* (( (ptr) (* (( (ptr) formal←c0741)+4) ))+21) ) != 0)) {
SOURCE(3828, 38)
         (void) RecordViewerForRootI←P240((* (( (ptr) (* (( (ptr) formal←c0741)+4) ))+21) ), root←v16992);
SOURCE(3868, 6)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0740)+16)/* LOCK←v4008 */ ));
         return(1);
         };
SOURCE(3879, 30)
      (void) RecordViewerForRootI←P240(0, root←v16992);
      };
   return(0);
   }

static void CopyLoadHistory←P480(from←v7820, to←v7848)
   word from←v7820;
   word to←v7848;
   {
   register ptr gf←c59496 =  (ptr) &globalframe;
   word old←v17036;
   word new←v17064;
   /* CopyLoadHistory: */ 
SOURCE(3968, 29758)
SOURCE(4020, 70)
   {
      word pd98;
      pd98 = (* (( (ptr) (* (( (ptr) gf←c59496)+263)/* var←c54696 */  ))+29) );
      old←v17036 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd98 ))))(from←v7820, (* (( (ptr) gf←c59496)+23) ), pd98), (* (( (ptr) gf←c59496)+22)
          ));
      };
SOURCE(4092, 68)
   {
      word pd99;
      pd99 = (* (( (ptr) (* (( (ptr) gf←c59496)+263)/* var←c54696 */  ))+29) );
      new←v17064 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd99 ))))(to←v7848, (* (( (ptr) gf←c59496)+23) ), pd99), (* (( (ptr) gf←c59496)+22)
          ));
      };
SOURCE(4162, 22)
   if ((old←v17036 == 0)) {
SOURCE(4178, 6)
      return;
      };
SOURCE(4186, 83)
   if ((new←v17064 == 0)) {
SOURCE(4204, 22)
      new←v17064 = XR←NewObject(8, (* (( (ptr) gf←c59496)+22) ));
SOURCE(4228, 41)
      {
         word pd100;
         pd100 = (* (( (ptr) (* (( (ptr) gf←c59496)+263)/* var←c54696 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd100 ))))(to←v7848, (* (( (ptr) gf←c59496)+23) ), new←v17064, pd100);
         };
      };
SOURCE(4272, 11)
   (*  (W2Pt) new←v17064 ) = (*  (W2Pt) old←v17036 );
   }

static word AllocLoadHistory←P540(viewer←v7908)
   word viewer←v7908;
   {
   register ptr gf←c59528 =  (ptr) &globalframe;
   word prop←v7952;
   /* AllocLoadHistory: */ 
SOURCE(4289, 29437)
SOURCE(4289, 29437)
   prop←v7952 = 0;
SOURCE(4365, 29361)
   {
      word pd101;
      pd101 = (* (( (ptr) (* (( (ptr) gf←c59528)+263)/* var←c54696 */  ))+29) );
      prop←v7952 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd101 ))))(viewer←v7908, (* (( (ptr) gf←c59528)+23) ), pd101), (* (( (ptr) gf←c59528)+22)
          ));
      };
   if ((prop←v7952 != 0)) {
SOURCE(4438, 6)
      return(prop←v7952);
      };
SOURCE(4446, 23)
   prop←v7952 = XR←NewObject(8, (* (( (ptr) gf←c59528)+22) ));
SOURCE(4471, 45)
   {
      word pd102;
      pd102 = (* (( (ptr) (* (( (ptr) gf←c59528)+263)/* var←c54696 */  ))+28) );
      (void) ( *( (fPt) ((*  (ptr) pd102 ))))(viewer←v7908, (* (( (ptr) gf←c59528)+23) ), prop←v7952, pd102);
      };
SOURCE(4289, 29437)
   return(prop←v7952);
   }

static void SetLoadHistoryInfo←P600(viewer←v8024, prop←v8052)
   word viewer←v8024;
   word prop←v8052;
   {
   register ptr gf←c59560 =  (ptr) &globalframe;
   word tdd←v17132;
   /* SetLoadHistoryInfo: */ 
SOURCE(4522, 29204)
SOURCE(4591, 58)
   tdd←v17132 = XR←Narrow((* (( (ptr) viewer←v8024)+26) ), (* (( (ptr) gf←c59560)+21) ));
SOURCE(4651, 24)
   if ((tdd←v17132 == 0)) {
SOURCE(4669, 6)
      return;
      };
SOURCE(4677, 23)
   (*  (ptr) prop←v8052 ) = (* (( (ptr) viewer←v8024)+13) );
SOURCE(4702, 29024)
   {
      word var←c54792;
      W2 var←c0857;
      {
         word limit103;
         var←c54792 = (* (( (ptr) tdd←v17132)+1) );
         var←c0857 = (*  (W2Pt) (( (W9Pt) (( (ptr) var←c54792)+3))+(
               limit103 = (* (( (ptr) var←c54792)+2) ),
               BCK(0, limit103)
               )) );
         };
      {
         word pd104;
         pd104 = (* (( (ptr) (* (( (ptr) gf←c59560)+264)/* var←c54824 */  ))+23) );
         (* (( (ptr) prop←v8052)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd104 ))))(var←c0857, 1, 0, pd104);
         };
      };
   }

static void SetLoadHistory←P660(parent←v8124, viewer←v8152)
   word parent←v8124;
   word viewer←v8152;
   {
   word prop←v17176;
   /* SetLoadHistory: */ 
SOURCE(4767, 28959)
SOURCE(4817, 48)
   prop←v17176 = (word) AllocLoadHistory←P540(viewer←v8152);
SOURCE(4867, 32)
   (void) SetLoadHistoryInfo←P600(parent←v8124, prop←v17176);
   }

static void SaveLoadHistory←P720(viewer←v8212)
   word viewer←v8212;
   {
   word prop←v17232;
   /* SaveLoadHistory: */ 
SOURCE(4905, 28821)
SOURCE(4948, 48)
   prop←v17232 = (word) AllocLoadHistory←P540(viewer←v8212);
SOURCE(4998, 32)
   (void) SetLoadHistoryInfo←P600(viewer←v8212, prop←v17232);
   }

static void CopyPositionHistory←P780(from←v8272, to←v8300)
   word from←v8272;
   word to←v8300;
   {
   register ptr gf←c59592 =  (ptr) &globalframe;
   word old←v17288;
   word new←v17316;
   /* CopyPositionHistory: */ 
SOURCE(5099, 28627)
SOURCE(5155, 78)
   {
      word pd105;
      pd105 = (* (( (ptr) (* (( (ptr) gf←c59592)+263)/* var←c54696 */  ))+29) );
      old←v17288 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd105 ))))(from←v8272, (* (( (ptr) gf←c59592)+24) ), pd105), (* (( (ptr) gf←c59592)+19)
          ));
      };
SOURCE(5235, 76)
   {
      word pd106;
      pd106 = (* (( (ptr) (* (( (ptr) gf←c59592)+263)/* var←c54696 */  ))+29) );
      new←v17316 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd106 ))))(to←v8300, (* (( (ptr) gf←c59592)+24) ), pd106), (* (( (ptr) gf←c59592)+19)
          ));
      };
SOURCE(5313, 22)
   if ((old←v17288 == 0)) {
SOURCE(5329, 6)
      return;
      };
SOURCE(5337, 90)
   if ((new←v17316 == 0)) {
SOURCE(5355, 26)
      new←v17316 = XR←NewObject(16, (* (( (ptr) gf←c59592)+19) ));
SOURCE(5383, 44)
      {
         word pd107;
         pd107 = (* (( (ptr) (* (( (ptr) gf←c59592)+263)/* var←c54696 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd107 ))))(to←v8300, (* (( (ptr) gf←c59592)+24) ), new←v17316, pd107);
         };
      };
SOURCE(5432, 11)
   (*  (W4Pt) new←v17316 ) = (*  (W4Pt) old←v17288 );
   }

static void ClearPositionHistory←P840(viewer←v8360)
   word viewer←v8360;
   {
   register ptr gf←c59624 =  (ptr) &globalframe;
   word prop←v17384;
   /* ClearPositionHistory: */ 
SOURCE(5449, 28277)
SOURCE(5497, 81)
   {
      word pd108;
      pd108 = (* (( (ptr) (* (( (ptr) gf←c59624)+263)/* var←c54696 */  ))+29) );
      prop←v17384 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd108 ))))(viewer←v8360, (* (( (ptr) gf←c59624)+24) ), pd108), (* (( (ptr) gf←c59624)+19)
          ));
      };
SOURCE(5580, 25)
   if ((prop←v17384 == 0)) {
SOURCE(5599, 6)
      return;
      };
SOURCE(5607, 44)
   (* (( (ptr) prop←v17384)+2) ) = 0;
   (* (( (ptr) prop←v17384)+3) ) =  (word) -1;
   (*  (ptr) prop←v17384 ) = 0;
   (* (( (ptr) prop←v17384)+1) ) =  (word) -1;
   }

static void RememberCurrentPosition←P900(viewer←v8420)
   word viewer←v8420;
   {
   register ptr gf←c59656 =  (ptr) &globalframe;
   word tdd←v17440;
   word prop←v17468;
   W2 loc←v17496;
   word var←c55016;
   /* RememberCurrentPosition: */ 
SOURCE(5657, 28069)
SOURCE(5715, 58)
   tdd←v17440 = XR←Narrow((* (( (ptr) viewer←v8420)+26) ), (* (( (ptr) gf←c59656)+21) ));
SOURCE(5775, 81)
   {
      word pd109;
      pd109 = (* (( (ptr) (* (( (ptr) gf←c59656)+263)/* var←c54696 */  ))+29) );
      prop←v17468 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd109 ))))(viewer←v8420, (* (( (ptr) gf←c59656)+24) ), pd109), (* (( (ptr) gf←c59656)+19)
          ));
      };
SOURCE(5858, 22)
   loc←v17496.f0 = 0;
   loc←v17496.f1 = 0;
SOURCE(5882, 22)
   if ((tdd←v17440 == 0)) {
SOURCE(5898, 6)
      return;
      };
SOURCE(5906, 100)
   if ((prop←v17468 == 0)) {
SOURCE(5927, 27)
      prop←v17468 = XR←NewObject(16, (* (( (ptr) gf←c59656)+19) ));
SOURCE(5956, 50)
      {
         word pd110;
         pd110 = (* (( (ptr) (* (( (ptr) gf←c59656)+263)/* var←c54696 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd110 ))))(viewer←v8420, (* (( (ptr) gf←c59656)+24) ), prop←v17468, pd110);
         };
      };
SOURCE(6009, 27717)
   {
      word var←c54984;
      word pd111;
      pd111 = (* (( (ptr) (* (( (ptr) gf←c59656)+265)/* var←c54952 */  ))+5) );
      var←c54984 = (word) ( *( (fPt) ((*  (ptr) pd111 ))))(tdd←v17440, (* (( (ptr) gf←c59656)+29) ), 0, 0, pd111);
      };
SOURCE(6073, 27653)
   {
      word limit112;
      var←c55016 = (* (( (ptr) tdd←v17440)+1) );
      loc←v17496 = (*  (W2Pt) (( (W9Pt) (( (ptr) var←c55016)+3))+(
            limit112 = (* (( (ptr) var←c55016)+2) ),
            BCK(0, limit112)
            )) );
      };
SOURCE(6107, 25)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c59656)+265)/* var←c54952 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd113 ))))(tdd←v17440, pd113);
      };
SOURCE(6134, 29)
   if (XR←EqualWords(&loc←v17496, prop←v17468, 2)) {
SOURCE(6157, 6)
      return;
      };
SOURCE(6165, 20)
   (*  (W2Pt) (( (ptr) prop←v17468)+2) ) = (*  (W2Pt) prop←v17468 );
SOURCE(6187, 14)
   (*  (W2Pt) prop←v17468 ) = loc←v17496;
   }

static word PositionViewer←P960(viewer←v8480, loc←v8508, hint←v8536)
   word viewer←v8480;
   W2 loc←v8508;
   word hint←v8536;
   {
   word ok←v8580;
   /* PositionViewer: */ 
SOURCE(6207, 27519)
SOURCE(6207, 27519)
   ok←v8580 = 0;
SOURCE(6343, 27383)
   ok←v8580 = (word) PositionViewerInternal←P1020(viewer←v8480, loc←v8508);
SOURCE(6385, 42)
   if ((0 != ok←v8580)) {
SOURCE(6396, 31)
      (void) ForkViewerPainter←P1140(viewer←v8480, hint←v8536);
      };
SOURCE(6207, 27519)
   return(ok←v8580);
   }

static word PositionViewerInternal←P1020(viewer←v8640, loc←v8668)
   word viewer←v8640;
   W2 loc←v8668;
   {
   W6 var←c59688;
   register ptr gf←c59720 =  (ptr) &globalframe;
   word ok←v8712;
   /* declaration of var←c55048 skipped */ 
   /* PositionViewerInternal: */ 
SOURCE(6514, 27212)
   {
      word tmpAddr114;
      tmpAddr114 = (word) (( (ptr) &var←c59688)+4)/* var←c55048 */ ;
      (*  (ptr) tmpAddr114 ) = ( ((word)  (fPt) CheckPosition←P5508) );
      (* (( (ptr) tmpAddr114) + 1) ) = 1;
      };
SOURCE(6514, 27212)
   ok←v8712 = 0;
SOURCE(7075, 26651)
   {
      word var←c55080;
      var←c55080 = (* (( (ptr) viewer←v8640)+26) );
      if ((var←c55080 == 0)) {
         goto lab←L100006;
         };
      if (((* (( (ptr) gf←c59720)+21) ) == XR←GetReferentType(var←c55080))) {
         {
            word tdd←v17756;
            tdd←v17756 = var←c55080;
SOURCE(7146, 26580)
            {
               W3 var←c55112;
               (void) CheckPosition←P5508((word) &var←c55112, viewer←v8640, loc←v8668, (word) (( (bPt) &var←c59688)+16)/* var←c55048 */ )
               ;
               loc←v8668 = (*  (W2Pt) (( (ptr) &var←c55112)+1) );
               ok←v8712 = var←c55112.f0;
               };
SOURCE(7186, 26540)
            if ((0 != ok←v8712)) {
SOURCE(7199, 31)
               (void) RememberCurrentPosition←P900(viewer←v8640);
SOURCE(7232, 26494)
               if ((loc←v8668.f0 != 0)) {
SOURCE(7253, 313)
                  {
                     word rdr←v17800;
                     word where←v17828;
                     word backStop←v17856;
SOURCE(7255, 46)
                     {
                        word pd115;
                        pd115 = (* (( (ptr) (* (( (ptr) gf←c59720)+266)/* var←c55144 */  ))+4) );
                        rdr←v17800 = (word) ( *( (fPt) ((*  (ptr) pd115 ))))(loc←v8668.f0, 0, pd115);
                        };
SOURCE(7303, 59)
                     {
                        word x116;
                        word x117;
                        word x118;
                        where←v17828 = (x118 = (x116 = loc←v8668.f1,
/*1*/   x117 = ((*  (ptr) rdr←v17800 ) - 1),
/*1*/   MIN((int)(word), x116, x117)),
                           MAX((int)(word), 0, x118));
                        };
SOURCE(7364, 33)
                     backStop←v17856 = (MAX((int)(word), 0, (where←v17828 - 300)));
SOURCE(7399, 26327)
                     lab←L100009: ;
                     if (( (int)where←v17828 >  (int)backStop←v17856)) {
                        }
                     else {
                        goto lab←L100007;
                        };
SOURCE(7423, 26303)
                     {
                        word var←c55176;
                        {
                           word pd119;
                           pd119 = (* (( (ptr) (* (( (ptr) gf←c59720)+266)/* var←c55144 */  ))+10) );
                           var←c55176 = (word) ( *( (fPt) ((*  (ptr) pd119 ))))(rdr←v17800, (where←v17828 - 1), pd119);
                           };
                        if ((var←c55176 == 13) || (var←c55176 == 10)) {
SOURCE(7482, 4)
                           goto lab←L100008;
                           }
                        else {
SOURCE(7499, 15)
                           where←v17828 = (where←v17828 - 1);
                           };
                        };
                     goto lab←L100009;
                     lab←L100007: ;
                     lab←L100008: ;
SOURCE(7525, 17)
                     loc←v8668.f1 = where←v17828;
SOURCE(7544, 20)
                     {
                        word pd120;
                        pd120 = (* (( (ptr) (* (( (ptr) gf←c59720)+266)/* var←c55144 */  ))+5) );
                        (void) ( *( (fPt) ((*  (ptr) pd120 ))))(rdr←v17800, pd120);
                        };
                     };
                  };
SOURCE(7569, 36)
               {
                  word pd121;
                  pd121 = (* (( (ptr) (* (( (ptr) gf←c59720)+267)/* var←c55208 */  ))+4) );
                  (void) ( *( (fPt) ((*  (ptr) pd121 ))))(tdd←v17756, loc←v8668, 0, pd121);
                  };
               };
            };
         }
      else {
         lab←L100006: ;
         };
      };
SOURCE(6514, 27212)
   return(ok←v8712);
   }

static void CheckPosition←P5508(formal←c0230, viewer←v17628, loc←v17656, formal←c59784)
   word formal←c0230;
   word viewer←v17628;
   W2 loc←v17656;
   word formal←c59784;
   {
   register ptr gf←c59752 =  (ptr) &globalframe;
   word good←v17700;
   W2 goodloc←v17728;
   formal←c59784 = (formal←c59784 - 16);
   /* CheckPosition: */ 
SOURCE(6615, 27111)
SOURCE(6615, 27111)
   goodloc←v17728.f0 = 0;
   goodloc←v17728.f1 = 0;
SOURCE(6729, 26997)
   if ( ( (viewer←v17628 != 0) ?  ! ((* (( (bPt) viewer←v17628)+77) ) & 0100) : 0 ) ) {
SOURCE(6773, 26953)
      {
         word var←c55240;
         var←c55240 = (* (( (ptr) viewer←v17628)+26) );
         if ((var←c55240 == 0)) {
            goto lab←L100011;
            };
         if (((* (( (ptr) gf←c59752)+21) ) == XR←GetReferentType(var←c55240))) {
            {
               word tdd←v17900;
               tdd←v17900 = var←c55240;
SOURCE(6842, 179)
               {
                  word root←v17944;
SOURCE(6844, 29)
                  root←v17944 = (*  (ptr) tdd←v17900 );
SOURCE(6875, 26851)
                  if ((root←v17944 != 0)) {
SOURCE(6894, 26832)
                     {
                        word tc122;
                        word pd123;
                        pd123 = (* (( (ptr) (* (( (ptr) gf←c59752)+264)/* var←c54824 */  ))+9) );
                        if (((word) ( *( (fPt) ((*  (ptr) pd123 ))))(loc←v17656.f0, pd123) == root←v17944)) {
                           tc122 =  (word) (loc←v17656.f0 != root←v17944);
                           }
                        else {
                           tc122 =  (word) 0;
                           };
                        if (tc122) {
SOURCE(6949, 23)
                           good←v17700 = 1;
                           goodloc←v17728 = loc←v17656;
                           goto lab←L100010;
                           }
                        else {
SOURCE(6972, 26754)
                           {
/*1*/   W2 var←c55304;
/*1*/   {
/*1*/      W2 var←c55272;
/*1*/      {
/*1*/         word pd124;
/*1*/         pd124 = (* (( (ptr) (* (( (ptr) gf←c59752)+264)/* var←c54824 */  ))+28) );
/*1*/         var←c55272.f0 = (word) ( *( (fPt) ((*  (ptr) pd124 ))))(root←v17944, pd124);
/*1*/         };
/*1*/      var←c55272.f1 = 0;
/*1*/      var←c55304 = var←c55272;
/*1*/      };
/*1*/   good←v17700 = 1;
/*1*/   goodloc←v17728 = var←c55304;
/*1*/   goto lab←L100010;
/*1*/   };
                           };
                        };
                     };
                  };
               };
            }
         else {
            lab←L100011: ;
            };
         };
      };
SOURCE(7033, 37)
   good←v17700 = 0;
   goodloc←v17728.f0 = 0;
   goodloc←v17728.f1 =  (word) -1;
   /* removed tail goto */ 
   lab←L100010: ;
   (*  (ptr) formal←c0230 ) = good←v17700;
   (*  (W2Pt) (( (ptr) formal←c0230)+1) ) = goodloc←v17728;
   return;
   }

static void CloseAndForkPaint←P1080(viewer←v8772)
   word viewer←v8772;
   {
   register ptr gf←c59816 =  (ptr) &globalframe;
   /* CloseAndForkPaint: */ 
SOURCE(7626, 127)
SOURCE(7679, 36)
   {
      word pd125;
      pd125 = (* (( (ptr) (* (( (ptr) gf←c59816)+263)/* var←c54696 */  ))+8) );
      (void) ( *( (fPt) ((*  (ptr) pd125 ))))(viewer←v8772, 0, pd125);
      };
SOURCE(7717, 36)
   {
      word pd126;
      pd126 = (* (( (ptr) (* (( (ptr) gf←c59816)+268)/* var←c55368 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd126 ))))(viewer←v8772, 0, 1, 0, 0, pd126);
      };
   }

static void ForkViewerPainter←P1140(viewer←v8832, hint←v8860)
   word viewer←v8832;
   word hint←v8860;
   {
   register ptr gf←c59848 =  (ptr) &globalframe;
   /* ForkViewerPainter: */ 
SOURCE(7759, 117)
SOURCE(7839, 37)
   {
      word pd127;
      pd127 = (* (( (ptr) (* (( (ptr) gf←c59848)+268)/* var←c55368 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd127 ))))(viewer←v8832, hint←v8860, 1, 0, 0, pd127);
      };
   }

static void ViewerPainter←P1200(formal←c0940, formal←c0941)
   word formal←c0940;
   word formal←c0941;
   {
   W6 var←c59880;
   /* declaration of viewer←v8920 skipped */ 
   /* declaration of hint←v8948 skipped */ 
   var←c59880.f4/* viewer←v8920 */  = formal←c0940;
   var←c59880.f5/* hint←v8948 */  = formal←c0941;
   /* ViewerPainter: */ 
SOURCE(7882, 131)
SOURCE(7950, 63)
SOURCE(7950, 63)
   {
      word var←c04;
      {
         word var←c0858;
         var←c0858 = (word) &var←c59880;
         var←c04 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8208) ), ( ((word)  (fPt) NoName←Q10308) ), var←c0858);
         };
      /* removed trivial cond node */ 
      };
   }

static word NoName←Q8208(formal←c0754)
   word formal←c0754;
   {
   register ptr gf←c0753 =  (ptr) &globalframe;
SOURCE(7978, 35)
   {
      word pd128;
      pd128 = (* (( (ptr) (* (( (ptr) gf←c0753)+263)/* var←c54696 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd128 ))))((* (( (ptr) formal←c0754)+4) ), (* (( (ptr) formal←c0754)+5) ), 1, 0, pd128);
      };
   return(0);
   }

static void KillSelections←P1260(parent←v9008)
   word parent←v9008;
   {
   register ptr gf←c59912 =  (ptr) &globalframe;
   /* KillSelections: */ 
SOURCE(8019, 308)
SOURCE(8089, 77)
   if ( ( ((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c59912)+269)/* var←c55400 */  ))+4) ) ) != 0) ? ((*  (ptr) (*  (ptr) (* (( (ptr) (* (
         ( (ptr) gf←c59912)+269)/* var←c55400 */  ))+4) ) ) ) == parent←v9008) : 0 ) ) {
SOURCE(8133, 33)
      {
         word pd129;
         pd129 = (* (( (ptr) (* (( (ptr) gf←c59912)+269)/* var←c55400 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd129 ))))(0, 0, 0, 0, 1, pd129);
         };
      };
SOURCE(8168, 79)
   if ( ( ((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c59912)+269)/* var←c55400 */  ))+5) ) ) != 0) ? ((*  (ptr) (*  (ptr) (* (( (ptr) (* (
         ( (ptr) gf←c59912)+269)/* var←c55400 */  ))+5) ) ) ) == parent←v9008) : 0 ) ) {
SOURCE(8212, 35)
      {
         word pd130;
         pd130 = (* (( (ptr) (* (( (ptr) gf←c59912)+269)/* var←c55400 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd130 ))))(0, 1, 0, 0, 1, pd130);
         };
      };
SOURCE(8249, 78)
   if ( ( ((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c59912)+269)/* var←c55400 */  ))+6) ) ) != 0) ? ((*  (ptr) (*  (ptr) (* (( (ptr) (* (
         ( (ptr) gf←c59912)+269)/* var←c55400 */  ))+6) ) ) ) == parent←v9008) : 0 ) ) {
SOURCE(8293, 34)
      {
         word pd131;
         pd131 = (* (( (ptr) (* (( (ptr) gf←c59912)+269)/* var←c55400 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd131 ))))(0, 2, 0, 0, 1, pd131);
         };
      };
   }

static void CancelLinks←P1320(viewer←v9068)
   word viewer←v9068;
   {
   /* CancelLinks: */ 
SOURCE(8333, 305)
SOURCE(8379, 20)
   (void) ForgetViewer←P420(viewer←v9068);
SOURCE(8401, 209)
   if (((* (( (ptr) (* (( (ptr) viewer←v9068)+21) ))+21) ) == viewer←v9068)) {
SOURCE(8435, 22)
      (* (( (ptr) (* (( (ptr) viewer←v9068)+21) ))+21) ) = 0;
SOURCE(8459, 39)
      (void) ForkViewerPainter←P1140((* (( (ptr) viewer←v9068)+21) ), 3);
      }
   else {
SOURCE(8507, 103)
      {
         register word v←v17988;
         v←v17988 = (* (( (ptr) (* (( (ptr) viewer←v9068)+21) ))+21) );
         lab←L100019: ;
         if (((* (( (ptr) v←v17988)+21) ) != viewer←v9068)) {
            }
         else {
            goto lab←L100016;
            };
         v←v17988 = (* (( (ptr) v←v17988)+21) );
         goto lab←L100019;
         lab←L100016: ;
SOURCE(8590, 20)
         (* (( (ptr) v←v17988)+21) ) = (* (( (ptr) viewer←v9068)+21) );
         };
      };
SOURCE(8621, 17)
   (* (( (ptr) viewer←v9068)+21) ) = 0;
   }

static void DefaultMenus←P1380(viewer←v9128, paint←v9156)
   word viewer←v9128;
   word paint←v9156;
   {
   W8 var←c59944;
   register ptr gf←c59976 =  (ptr) &globalframe;
   /* declaration of var←c55432 skipped */ 
   /* declaration of menu←v18032 skipped */ 
   /* declaration of num←v18060 skipped */ 
   /* DefaultMenus: */ 
SOURCE(8644, 608)
   {
      word tmpAddr132;
      tmpAddr132 = (word) (( (ptr) &var←c59944)+4)/* var←c55432 */ ;
      (*  (ptr) tmpAddr132 ) = ( ((word)  (fPt) DoLine←P5808) );
      (* (( (ptr) tmpAddr132) + 1) ) = 1;
      };
SOURCE(8712, 30)
   var←c59944.f6/* menu←v18032 */  = (* (( (ptr) viewer←v9128)+16) );
SOURCE(8744, 16)
   var←c59944.f7/* num←v18060 */  = 1;
SOURCE(9037, 26)
   (void) DoLine←P5808((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c59976)+270)/* var←c55464 */  ))+8) ) ), (word) (( (bPt) &var←c59944)+16)
      /* var←c55432 */ );
SOURCE(9065, 26)
   (void) DoLine←P5808((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c59976)+270)/* var←c55464 */  ))+9) ) ), (word) (( (bPt) &var←c59944)+16)
      /* var←c55432 */ );
SOURCE(9093, 26)
   (void) DoLine←P5808((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c59976)+270)/* var←c55464 */  ))+10) ) ), (word) (( (bPt) &var←c59944)+16)
      /* var←c55432 */ );
SOURCE(9121, 85)
   {
      word pd133;
      pd133 = (* (( (ptr) (* (( (ptr) gf←c59976)+263)/* var←c54696 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd133 ))))(viewer←v9128, (* (( (ptr) viewer←v9128)+1) ), (* (( (ptr) viewer←v9128)+2) ), (* (
            ( (ptr) viewer←v9128)+3) ), (* (( (ptr) viewer←v9128)+4) ), pd133);
      };
SOURCE(9208, 44)
   if ((0 != paint←v9156)) {
SOURCE(9222, 30)
      (void) ForkViewerPainter←P1140(viewer←v9128, 0);
      };
   }

static void DoLine←P5808(which←v18164, formal←c60040)
   word which←v18164;
   word formal←c60040;
   {
   register ptr gf←c60008 =  (ptr) &globalframe;
   word entry←v18192;
   formal←c60040 = (formal←c60040 - 16);
   /* DoLine: */ 
SOURCE(8762, 272)
SOURCE(8819, 140)
   {
      word var←c55496;
      var←c55496 = which←v18164;
      if ((var←c55496 == 1)) {
         entry←v18192 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c60008)+271)/* var←c55528 */  ))+40) ) );
         }
      else {
         if ((var←c55496 == 2)) {
            entry←v18192 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c60008)+271)/* var←c55528 */  ))+41) ) );
            }
         else {
            entry←v18192 = 0;
            };
         };
      };
SOURCE(8961, 26)
   if ((entry←v18192 == 0)) {
SOURCE(8981, 6)
      return;
      };
SOURCE(8989, 31)
   {
      word pd134;
      word idx135;
      pd134 = (* (( (ptr) (* (( (ptr) gf←c60008)+272)/* var←c55560 */  ))+23) );
      (void) ( *( (fPt) ((*  (ptr) pd134 ))))((* (( (ptr) formal←c60040)+6) ), (
            idx135 = (* (( (ptr) formal←c60040)+7) ),
            BCK(idx135, 5)
            ), entry←v18192, pd134);
      };
SOURCE(9022, 12)
   (* (( (ptr) formal←c60040)+7) ) = ((* (( (ptr) formal←c60040)+7) ) + 1);
   }

static word MakeNewViewer←P1440(formal←c0942, formal←c0943, wDir←v9272)
   word formal←c0942;
   word formal←c0943;
   word wDir←v9272;
   {
   W9 var←c60072;
   /* declaration of column←v9216 skipped */ 
   /* declaration of parent←v9244 skipped */ 
   register ptr gf←c60104 =  (ptr) &globalframe;
   /* declaration of viewer←v9316 skipped */ 
   /* declaration of var←c55592 skipped */ 
   (* (( (ptr) &var←c60072)+4)/* column←v9216 */  ) = formal←c0942;
   (* (( (ptr) &var←c60072)+5)/* parent←v9244 */  ) = formal←c0943;
   /* MakeNewViewer: */ 
SOURCE(9258, 24468)
   {
      word tmpAddr136;
      tmpAddr136 = (word) (( (ptr) &var←c60072)+7)/* var←c55592 */ ;
      (*  (ptr) tmpAddr136 ) = ( ((word)  (fPt) inner←P5916) );
      (* (( (ptr) tmpAddr136) + 1) ) = 1;
      };
SOURCE(9258, 24468)
   (* (( (ptr) &var←c60072)+6)/* viewer←v9316 */  ) = 0;
SOURCE(9358, 24368)
   (* (( (ptr) &var←c60072)+6)/* viewer←v9316 */  ) = (word) MakeNewIcon←P1500((* (( (ptr) &var←c60072)+4)/* column←v9216 */  ), (* (
         ( (ptr) &var←c60072)+5)/* parent←v9244 */  ), wDir←v9272);
SOURCE(9402, 677)
   if (((* (( (ptr) &var←c60072)+5)/* parent←v9244 */  ) == 0) || ((* (( (ptr) (* (( (ptr) &var←c60072)+5)/* parent←v9244 */  ))+18)
    ) != (* (( (ptr) &var←c60072)+4)/* column←v9216 */  ))) {
SOURCE(9449, 51)
      {
         word pd137;
         pd137 = (* (( (ptr) (* (( (ptr) gf←c60104)+263)/* var←c54696 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd137 ))))((* (( (ptr) &var←c60072)+6)/* viewer←v9316 */  ), 0, 1, 1, pd137);
         };
      }
   else {
SOURCE(9500, 581)
SOURCE(9887, 126)
      if ((0 != (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c60104)+270)/* var←c55464 */  ))+11) ) ))) {
SOURCE(9927, 86)
         {
            word var←c55624;
            var←c55624 = (* (( (ptr) (* (( (ptr) &var←c60072)+6)/* viewer←v9316 */  ))+26) );
            if ((var←c55624 == 0)) {
               goto lab←L100020;
               };
            if (((* (( (ptr) gf←c60104)+21) ) == XR←GetReferentType(var←c55624))) {
               {
                  word tdd←v18296;
                  tdd←v18296 = var←c55624;
SOURCE(9996, 17)
                  (* (( (ptr) tdd←v18296)+2) ) = 1;
                  };
               }
            else {
               lab←L100020: ;
               };
            };
         };
SOURCE(10024, 55)
      {
         word pd138;
         pd138 = (* (( (ptr) (* (( (ptr) gf←c60104)+273)/* var←c55656 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd138 ))))((word) (( (bPt) &var←c60072)+28)/* var←c55592 */ , (* (( (ptr) &var←c60072)+4)/* column←v9216 */  ), 0, pd138)
         ;
         };
      };
SOURCE(9258, 24468)
   return((* (( (ptr) &var←c60072)+6)/* viewer←v9316 */  ));
   }

static void inner←P5916(formal←c60168)
   word formal←c60168;
   {
   register ptr gf←c60136 =  (ptr) &globalframe;
   formal←c60168 = (formal←c60168 - 28);
   /* inner: */ 
SOURCE(9502, 14)
SOURCE(9518, 31)
   if ((* (( (bPt) (* (( (ptr) formal←c60168)+5) ))+77) ) & 0100) {
SOURCE(9543, 6)
      return;
      };
SOURCE(9551, 28)
   if ((* (( (bPt) (* (( (ptr) formal←c60168)+5) ))+76) ) & 020) {
SOURCE(9573, 6)
      return;
      };
SOURCE(9581, 32)
   if ( ! ((* (( (bPt) (* (( (ptr) formal←c60168)+6) ))+76) ) & 020)) {
SOURCE(9607, 6)
      return;
      };
SOURCE(9615, 37)
   if (((* (( (ptr) (* (( (ptr) formal←c60168)+5) ))+18) ) != (* (( (ptr) formal←c60168)+4) ))) {
SOURCE(9646, 6)
      return;
      };
SOURCE(9690, 37)
   (* (( (ptr) (* (( (ptr) formal←c60168)+6) ))+20) ) = (* (( (ptr) (* (( (ptr) formal←c60168)+5) ))+20) );
SOURCE(9729, 46)
   {
      word pd139;
      pd139 = (* (( (ptr) (* (( (ptr) gf←c60136)+263)/* var←c54696 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd139 ))))((* (( (ptr) formal←c60168)+6) ), 0, 1, 0, pd139);
      };
SOURCE(9777, 72)
   {
      word pd140;
      pd140 = (* (( (ptr) (* (( (ptr) gf←c60136)+263)/* var←c54696 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd140 ))))((* (( (ptr) formal←c60168)+6) ), (* (( (ptr) formal←c60168)+5) ), 0, pd140);
      };
SOURCE(9851, 31)
   {
      word pd141;
      pd141 = (* (( (ptr) (* (( (ptr) gf←c60136)+263)/* var←c54696 */  ))+38) );
      (void) ( *( (fPt) ((*  (ptr) pd141 ))))((* (( (ptr) formal←c60168)+4) ), 1, pd141);
      };
   }

static word MakeNewIcon←P1500(column←v9376, parent←v9404, wDir←v9432)
   word column←v9376;
   word parent←v9404;
   word wDir←v9432;
   {
   register ptr gf←c60200 =  (ptr) &globalframe;
   word viewer←v9476;
   /* MakeNewIcon: */ 
SOURCE(10088, 23638)
SOURCE(10088, 23638)
   viewer←v9476 = 0;
SOURCE(10192, 23534)
   if ((wDir←v9432 == 0)) {
SOURCE(10209, 23517)
      wDir←v9432 = (word) WorkingDirectoryFromViewer←P2880(parent←v9404);
      };
SOURCE(10252, 35)
   if ((column←v9376 == 0)) {
SOURCE(10274, 13)
      column←v9376 = 1;
      };
SOURCE(10289, 23437)
   {
      W28 var←c55688;
      W30 var←c0259;
      (*  (ptr) (word) &var←c0259 ) = (* (( (ptr) gf←c60200)+30) );
      XR←FillWords(&(* (W27Pt) (&var←c55688)), 27, 0);
      (* (( (ptr) &var←c55688)+13) ) = wDir←v9432;
      (* (( (ptr) &var←c55688)+17) ) =  (word) -1;
      (* (( (ptr) &var←c55688)+18) ) = column←v9376;
      (* (( (ptr) &var←c55688)+19) ) = 1493172224;
      (* (( (ptr) &var←c55688)+27) ) = 27;
      (*  (W28Pt) (( (ptr) (word) &var←c0259) + 1) ) = var←c55688;
      (* (( (ptr) (word) &var←c0259) + 29) ) = 0;
      {
         word pd142;
         pd142 = (* (( (ptr) (* (( (ptr) gf←c60200)+263)/* var←c54696 */  ))+6) );
         viewer←v9476 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))((word) (&var←c0259), pd142);
         };
      };
SOURCE(10402, 126)
   if ((0 != (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c60200)+270)/* var←c55464 */  ))+11) ) ))) {
SOURCE(10442, 86)
      {
         word var←c55720;
         var←c55720 = (* (( (ptr) viewer←v9476)+26) );
         if ((var←c55720 == 0)) {
            goto lab←L100021;
            };
         if (((* (( (ptr) gf←c60200)+21) ) == XR←GetReferentType(var←c55720))) {
            {
               word tdd←v18340;
               tdd←v18340 = var←c55720;
SOURCE(10511, 17)
               (* (( (ptr) tdd←v18340)+2) ) = 1;
               };
            }
         else {
            lab←L100021: ;
            };
         };
      };
SOURCE(10539, 20)
   (void) DefaultMenus←P1380(viewer←v9476, 0);
SOURCE(10088, 23638)
   return(viewer←v9476);
   }

static word ReplaceByNewViewer←P1560(parent←v9536, wDir←v9564)
   word parent←v9536;
   word wDir←v9564;
   {
   word viewer←v9608;
   /* ReplaceByNewViewer: */ 
SOURCE(10565, 23161)
SOURCE(10565, 23161)
   viewer←v9608 = 0;
SOURCE(10654, 23072)
   {
      word var←c55752;
      var←c55752 = (word) ColumnOf←P60(parent←v9536);
      viewer←v9608 = (word) MakeNewIcon←P1500(var←c55752, parent←v9536, wDir←v9564);
      };
SOURCE(10730, 27)
   (void) SwapViewers←P1620(parent←v9536, viewer←v9608);
SOURCE(10565, 23161)
   return(viewer←v9608);
   }

static void SwapViewers←P1620(formal←c0944, formal←c0945)
   word formal←c0944;
   word formal←c0945;
   {
   W9 var←c60232;
   /* declaration of parent←v9668 skipped */ 
   /* declaration of icon←v9696 skipped */ 
   register ptr gf←c60264 =  (ptr) &globalframe;
   /* declaration of var←c55784 skipped */ 
   /* declaration of col←v18412 skipped */ 
   (* (( (ptr) &var←c60232)+4)/* parent←v9668 */  ) = formal←c0944;
   (* (( (ptr) &var←c60232)+5)/* icon←v9696 */  ) = formal←c0945;
   /* SwapViewers: */ 
SOURCE(10763, 579)
   {
      word tmpAddr143;
      tmpAddr143 = (word) (( (ptr) &var←c60232)+6)/* var←c55784 */ ;
      (*  (ptr) tmpAddr143 ) = ( ((word)  (fPt) inner←P6072) );
      (* (( (ptr) tmpAddr143) + 1) ) = 1;
      };
SOURCE(11178, 41)
   (* (( (ptr) &var←c60232)+8)/* col←v18412 */  ) = (* (( (ptr) (* (( (ptr) &var←c60232)+4)/* parent←v9668 */  ))+18) );
SOURCE(11221, 22)
   (void) KillSelections←P1260((* ((( (ptr) &var←c60232)+4)/* parent←v9668 */ ) ));
SOURCE(11290, 52)
   {
      word pd144;
      pd144 = (* (( (ptr) (* (( (ptr) gf←c60264)+273)/* var←c55656 */  ))+9) );
      (void) ( *( (fPt) ((*  (ptr) pd144 ))))((word) (( (bPt) &var←c60232)+24)/* var←c55784 */ , (* (( (ptr) &var←c60232)+8)/* col←v18412 */  ), 0, pd144)
      ;
      };
   }

static void inner←P6072(formal←c60328)
   word formal←c60328;
   {
   register ptr gf←c60296 =  (ptr) &globalframe;
   formal←c60328 = (formal←c60328 - 24);
   /* inner: */ 
SOURCE(10816, 357)
SOURCE(10832, 31)
   if ((* (( (bPt) (* (( (ptr) formal←c60328)+4) ))+77) ) & 0100) {
SOURCE(10857, 6)
      return;
      };
SOURCE(10865, 28)
   if ((* (( (bPt) (* (( (ptr) formal←c60328)+4) ))+76) ) & 020) {
SOURCE(10887, 6)
      return;
      };
SOURCE(10895, 30)
   if ( ! ((* (( (bPt) (* (( (ptr) formal←c60328)+5) ))+76) ) & 020)) {
SOURCE(10919, 6)
      return;
      };
SOURCE(10927, 34)
   if (((* (( (ptr) (* (( (ptr) formal←c60328)+4) ))+18) ) != (* (( (ptr) formal←c60328)+8) ))) {
SOURCE(10955, 6)
      return;
      };
SOURCE(10963, 35)
   (* (( (ptr) (* (( (ptr) formal←c60328)+5) ))+20) ) = (* (( (ptr) (* (( (ptr) formal←c60328)+4) ))+20) );
SOURCE(11000, 44)
   {
      word pd145;
      pd145 = (* (( (ptr) (* (( (ptr) gf←c60296)+263)/* var←c54696 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd145 ))))((* (( (ptr) formal←c60328)+5) ), 0, 1, 0, pd145);
      };
SOURCE(11046, 70)
   {
      word pd146;
      pd146 = (* (( (ptr) (* (( (ptr) gf←c60296)+263)/* var←c54696 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd146 ))))((* (( (ptr) formal←c60328)+5) ), (* (( (ptr) formal←c60328)+4) ), 0, pd146);
      };
SOURCE(11118, 25)
   (void) CloseAndForkPaint←P1080((* ((( (ptr) formal←c60328)+4)) ));
SOURCE(11145, 28)
   {
      word pd147;
      pd147 = (* (( (ptr) (* (( (ptr) gf←c60296)+263)/* var←c54696 */  ))+38) );
      (void) ( *( (fPt) ((*  (ptr) pd147 ))))((* (( (ptr) formal←c60328)+8) ), 1, pd147);
      };
   }

static word FindOldViewer←P1680(formal←c0946, formal←c0947)
   word formal←c0946;
   word formal←c0947;
   {
   W9 var←c60360;
   /* declaration of name←v9756 skipped */ 
   /* declaration of viewer←v9784 skipped */ 
   register ptr gf←c60392 =  (ptr) &globalframe;
   /* declaration of old←v9828 skipped */ 
   /* declaration of var←c55816 skipped */ 
   (* (( (ptr) &var←c60360)+4)/* name←v9756 */  ) = formal←c0946;
   (* (( (ptr) &var←c60360)+5)/* viewer←v9784 */  ) = formal←c0947;
   /* FindOldViewer: */ 
SOURCE(11348, 22378)
   {
      word tmpAddr148;
      tmpAddr148 = (word) (( (ptr) &var←c60360)+7)/* var←c55816 */ ;
      (*  (ptr) tmpAddr148 ) = ( ((word)  (fPt) Match←P6132) );
      (* (( (ptr) tmpAddr148) + 1) ) = 1;
      };
SOURCE(11348, 22378)
   (* (( (ptr) &var←c60360)+6)/* old←v9828 */  ) = 0;
SOURCE(11587, 33)
   {
      word pd149;
      pd149 = (* (( (ptr) (* (( (ptr) gf←c60392)+263)/* var←c54696 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd149 ))))((word) ((( (bPt) &var←c60360)+28)/* var←c55816 */ ), pd149);
      };
SOURCE(11348, 22378)
   return((* (( (ptr) &var←c60360)+6)/* old←v9828 */  ));
   }

static word Match←P6132(v←v46460, formal←c60456)
   word v←v46460;
   word formal←c60456;
   {
   register ptr gf←c60424 =  (ptr) &globalframe;
   word var←c46504;
   formal←c60456 = (formal←c60456 - 28);
   /* Match: */ 
SOURCE(11429, 22297)
SOURCE(11429, 22297)
   var←c46504 = 1;
SOURCE(11502, 22224)
   {
      word tc150;
      word pd151;
      if ((v←v46460 != (* (( (ptr) formal←c60456)+5) ))) {
         pd151 = (* (( (ptr) (* (( (ptr) gf←c60424)+274)/* var←c55848 */  ))+8) );
         tc150 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd151 ))))((* (( (ptr) formal←c60456)+4) ), (* (( (ptr) v←v46460)+13) ), 0, pd151)
         );
         }
      else {
         tc150 =  (word) 0;
         };
      if (tc150) {
SOURCE(11557, 7)
         (* (( (ptr) formal←c60456)+6) ) = v←v46460;
SOURCE(11566, 15)
         return(0);
         };
      };
SOURCE(11429, 22297)
   return(var←c46504);
   }

static void Report←P1740(formal←c0948, formal←c0949, formal←c0950, formal←c0951, formal←c0952)
   word formal←c0948;
   word formal←c0949;
   word formal←c0950;
   word formal←c0951;
   word formal←c0952;
   {
   W9 var←c60488;
   /* declaration of m1←v9888 skipped */ 
   /* declaration of m2←v9916 skipped */ 
   /* declaration of m3←v9944 skipped */ 
   /* declaration of m4←v9972 skipped */ 
   /* declaration of flash←v10000 skipped */ 
   (* (( (ptr) &var←c60488)+4)/* m1←v9888 */  ) = formal←c0948;
   (* (( (ptr) &var←c60488)+5)/* m2←v9916 */  ) = formal←c0949;
   (* (( (ptr) &var←c60488)+6)/* m3←v9944 */  ) = formal←c0950;
   (* (( (ptr) &var←c60488)+7)/* m4←v9972 */  ) = formal←c0951;
   (* (( (ptr) &var←c60488)+8)/* flash←v10000 */  ) = formal←c0952;
   /* Report: */ 
SOURCE(11626, 285)
SOURCE(11693, 218)
SOURCE(11693, 218)
   {
      word var←c05;
      {
         word var←c0859;
         var←c0859 = (word) &var←c60488;
         var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8268) ), ( ((word)  (fPt) NoName←Q10248) ), var←c0859);
         };
      /* removed trivial cond node */ 
      };
   }

static word NoName←Q8268(formal←c0770)
   word formal←c0770;
   {
   register ptr gf←c0769 =  (ptr) &globalframe;
SOURCE(11721, 30)
   {
      word pd152;
      pd152 = (* (( (ptr) (* (( (ptr) gf←c0769)+275)/* var←c55880 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd152 ))))((* (( (ptr) formal←c0770)+4) ), 1, pd152);
      };
SOURCE(11753, 39)
   if (((* (( (ptr) formal←c0770)+5) ) != 0)) {
SOURCE(11768, 24)
      {
         word pd153;
         pd153 = (* (( (ptr) (* (( (ptr) gf←c0769)+275)/* var←c55880 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd153 ))))((* (( (ptr) formal←c0770)+5) ), 0, pd153);
         };
      };
SOURCE(11794, 39)
   if (((* (( (ptr) formal←c0770)+6) ) != 0)) {
SOURCE(11809, 24)
      {
         word pd154;
         pd154 = (* (( (ptr) (* (( (ptr) gf←c0769)+275)/* var←c55880 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd154 ))))((* (( (ptr) formal←c0770)+6) ), 0, pd154);
         };
      };
SOURCE(11835, 39)
   if (((* (( (ptr) formal←c0770)+7) ) != 0)) {
SOURCE(11850, 24)
      {
         word pd155;
         pd155 = (* (( (ptr) (* (( (ptr) gf←c0769)+275)/* var←c55880 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd155 ))))((* (( (ptr) formal←c0770)+7) ), 0, pd155);
         };
      };
SOURCE(11876, 35)
   if ((0 != (* (( (ptr) formal←c0770)+8) ))) {
SOURCE(11890, 21)
      {
         word pd156;
         pd156 = (* (( (ptr) (* (( (ptr) gf←c0769)+275)/* var←c55880 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd156 ))))(pd156);
         };
      };
   return(0);
   }

static void Flash←P1800(m1←v10060, m2←v10088)
   word m1←v10060;
   word m2←v10088;
   {
   /* Flash: */ 
SOURCE(11917, 72)
SOURCE(11954, 35)
   (void) Report←P1740(m1←v10060, m2←v10088, 0, 0, 1);
   }

static void PleaseSelectFileName←P1860()
   {
   register ptr gf←c60520 =  (ptr) &globalframe;
   /* PleaseSelectFileName: */ 
SOURCE(11995, 64)
SOURCE(12026, 33)
   (void) Flash←P1800((* (( (ptr) gf←c60520)+31) ), 0);
   }

static void IllegalFileName←P1920(data←v41820)
   word data←v41820;
   {
   register ptr gf←c60552 =  (ptr) &globalframe;
   /* IllegalFileName: */ 
SOURCE(12065, 71)
SOURCE(12109, 27)
   (void) Flash←P1800((* (( (ptr) gf←c60552)+32) ), 0);
   }

static void ReloadedMessage←P1980(data←v41880)
   word data←v41880;
   {
   register ptr gf←c60584 =  (ptr) &globalframe;
   /* ReloadedMessage: */ 
SOURCE(12142, 132)
SOURCE(12186, 88)
   {
      word var←c55912;
      var←c55912 = data←v41880;
      if ((var←c55912 == 0)) {
         goto lab←L100026;
         };
      {
         word tc157;
         if (((* (( (ptr) gf←c60584)+17) ) == XR←GetReferentType(var←c55912))) {
            tc157 =  (word) ( (unsigned) (*(int*)var←c55912<0) == 0);
            }
         else {
            tc157 =  (word) 0;
            };
         if (tc157) {
            {
               word name←v18516;
               name←v18516 = var←c55912;
SOURCE(12222, 52)
               (void) Flash←P1800(name←v18516, (* (( (ptr) gf←c60584)+33) ));
               };
            }
         else {
            lab←L100026: ;
            };
         };
      };
   }

static word RemoveVersion←P2040(x←v10164)
   word x←v10164;
   {
   register ptr gf←c60616 =  (ptr) &globalframe;
   word var←c10208;
   /* RemoveVersion: */ 
SOURCE(12289, 21437)
SOURCE(12338, 21388)
   {
      word var←c55976;
      {
         word pd158;
         pd158 = (* (( (ptr) (* (( (ptr) gf←c60616)+274)/* var←c55848 */  ))+24) );
         var←c55976 = (word) ( *( (fPt) ((*  (ptr) pd158 ))))(x←v10164, 0, (* (( (ptr) gf←c60616)+34) ), pd158);
         };
      {
         word pd159;
         pd159 = (* (( (ptr) (* (( (ptr) gf←c60616)+274)/* var←c55848 */  ))+30) );
         return((word) ( *( (fPt) ((*  (ptr) pd159 ))))(x←v10164, 0, var←c55976, pd159));
         };
      };
   }

static word GetFileName←P2100(formal←c0953, removeVersion←v10296)
   word formal←c0953;
   word removeVersion←v10296;
   {
   W8 var←c60648;
   /* declaration of file←v10268 skipped */ 
   register ptr gf←c60680 =  (ptr) &globalframe;
   word name←v10340;
   var←c60648.f4/* file←v10268 */  = formal←c0953;
   /* GetFileName: */ 
SOURCE(12388, 21338)
SOURCE(12388, 21338)
   name←v10340 = 0;
SOURCE(12487, 21239)
SOURCE(12487, 21239)
   {
      /* declaration of var←c06 skipped */ 
      /* declaration of var←c07 skipped */ 
      word var←c56008;
      var←c60648.f5/* var←c06 */  = (* (( (ptr) (* (( (ptr) gf←c60680)+276)/* var←c56040 */  ))+26) );
      {
         word var←c08;
         {
            word var←c0860;
            var←c0860 = (word) &var←c60648;
            var←c08 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8328) ), ( ((word)  (fPt) NoName←Q10188) ), var←c0860);
            };
         if ((var←c08 == 4)) {
            goto lab←L100028;
            };
         };
      var←c56008 = (*  (W2Pt) (( (ptr) &var←c60648)+6)/* var←c07 */  ).f0;
      {
         word pd160;
         pd160 = (* (( (ptr) (* (( (ptr) gf←c60680)+276)/* var←c56040 */  ))+4) );
         name←v10340 = (word) ( *( (fPt) ((*  (ptr) pd160 ))))(var←c56008, 0, pd160);
         };
      };
   lab←L100028: ;
SOURCE(12565, 21161)
   if ( ( (name←v10340 != 0) ? (0 != removeVersion←v10296) : 0 ) ) {
SOURCE(12600, 21126)
      name←v10340 = (word) RemoveVersion←P2040(name←v10340);
      };
SOURCE(12388, 21338)
   return(name←v10340);
   }

static word NoName←Q8328(formal←c0776)
   word formal←c0776;
   {
SOURCE(12487, 21239)
   {
      word pd161;
      pd161 = (* (( (ptr) formal←c0776)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd161 ))))((word) (( (bPt) formal←c0776)+24), (* (( (ptr) formal←c0776)+4) ), pd161);
      };
   return(0);
   }

static word CreateAndFillTiogaViewer←P2160(parent←v10572, column←v10600, file←v10628, specificVersion←v10656, op←v10684, place←v10712, search←v10740, forceOpen←v10768)
   word parent←v10572;
   word column←v10600;
   word file←v10628;
   word specificVersion←v10656;
   word op←v10684;
   word place←v10712;
   word search←v10740;
   word forceOpen←v10768;
   {
   W7 var←c60712;
   register ptr gf←c60744 =  (ptr) &globalframe;
   word viewer←v10812;
   word viewerIn←v18560;
   word needPaint←v18588 = 0;
   word loaded←v18616 = 0;
   /* CreateAndFillTiogaViewer: */ 
SOURCE(12706, 21020)
SOURCE(12706, 21020)
   viewer←v10812 = 0;
SOURCE(12922, 25)
   viewerIn←v18560 = parent←v10572;
SOURCE(12996, 30)
   if ((parent←v10572 == 0)) {
SOURCE(13017, 9)
      op←v10684 = 1;
      };
SOURCE(13028, 20698)
   {
      word var←c56072;
      var←c56072 = op←v10684;
      switch (var←c56072) {
         case 0: 
SOURCE(13051, 17)
            viewerIn←v18560 = parent←v10572;
            break;
         case 1: 
SOURCE(13078, 20648)
            viewerIn←v18560 = (word) MakeNewIcon←P1500(column←v10600, parent←v10572, 0);
            break;
         case 2: 
SOURCE(13145, 20581)
            viewerIn←v18560 = (word) ReplaceByNewViewer←P1560(parent←v10572, 0);
            break;
         default: 
SOURCE(13195, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
SOURCE(13202, 20524)
   {
      W2 var←c56104;
      (void) DoLoad←P2220((word) &var←c56104, viewerIn←v18560, file←v10628, op←v10684, specificVersion←v10656, place←v10712);
      loaded←v18616 = var←c56104.f1;
      viewer←v10812 = var←c56104.f0;
      };
SOURCE(13315, 20411)
   if ((viewer←v10812 != 0)) {
SOURCE(13369, 270)
      if ((viewer←v10812 != viewerIn←v18560)) {
SOURCE(13426, 43)
         (void) Report←P1740((* (( (ptr) viewer←v10812)+13) ), (* (( (ptr) gf←c60744)+35) ), 0, 0, 0);
SOURCE(13471, 56)
         {
            word pd162;
            pd162 = (* (( (ptr) (* (( (ptr) gf←c60744)+263)/* var←c54696 */  ))+44) );
            (void) ( *( (fPt) ((*  (ptr) pd162 ))))(viewer←v10812, 200, pd162);
            };
SOURCE(13529, 110)
         {
            word var←c56136;
            var←c56136 = op←v10684;
            if ((var←c56136 == 1) || (var←c56136 == 2)) {
SOURCE(13569, 70)
SOURCE(13571, 52)
               {
                  word pd163;
                  pd163 = (* (( (ptr) (* (( (ptr) gf←c60744)+268)/* var←c55368 */  ))+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd163 ))))(viewerIn←v18560, (word) (( (bPt) gf←c60744)+696)/* var←c53128 */ , viewerIn←v18560, pd163)
                  ;
                  };
SOURCE(13625, 14)
               viewerIn←v18560 = 0;
               };
            };
         };
SOURCE(13654, 20072)
      {
         word pd164;
         pd164 = (* (( (ptr) (* (( (ptr) gf←c60744)+274)/* var←c55848 */  ))+15) );
         if (( (int)(word) ( *( (fPt) ((*  (ptr) pd164 ))))(search←v10740, pd164) !=  (int)0)) {
SOURCE(13684, 20042)
            {
               word var←c56168;
               var←c56168 = (* (( (ptr) viewer←v10812)+26) );
               if ((var←c56168 == 0)) {
                  goto lab←L100031;
                  };
               if (((* (( (ptr) gf←c60744)+21) ) == XR←GetReferentType(var←c56168))) {
                  {
                     word ntdd←v18660;
                     ntdd←v18660 = var←c56168;
SOURCE(13756, 19970)
                     {
                        word pd165;
                        pd165 = (* (( (ptr) (* (( (ptr) gf←c60744)+274)/* var←c55848 */  ))+23) );
                        if ((0 != (word) ( *( (fPt) ((*  (ptr) pd165 ))))((* (( (ptr) gf←c60744)+36) ), search←v10740, 1, pd165))) {
SOURCE(13789, 19937)
SOURCE(13791, 74)
                           {
/*1*/   word pos←v18704;
/*1*/   W2 nloc←v18732;
SOURCE(13791, 74)
/*1*/   {
/*1*/      /* declaration of var←c56200 skipped */ 
/*1*/      {
/*1*/         word pd166;
/*1*/         pd166 = (* (( (ptr) (* (( (ptr) gf←c60744)+274)/* var←c55848 */  ))+30) );
/*1*/         var←c60712.f4/* var←c56200 */  = (word) ( *( (fPt) ((*  (ptr) pd166 ))))(search←v10740, 1, 2147483647, pd166);
/*1*/         };
/*1*/      {
/*1*/         /* declaration of var←c09 skipped */ 
/*1*/         var←c60712.f5/* var←c09 */  = (* (( (ptr) (* (( (ptr) gf←c60744)+277)/* var←c56232 */  ))+10) );
/*1*/         {
/*1*/            /* declaration of var←c010 skipped */ 
/*1*/            {
/*1*/               word var←c011;
/*1*/               {
/*1*/                  word var←c0861;
/*1*/                  var←c0861 = (word) &var←c60712;
/*1*/                  var←c011 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8388) ), ( ((word)  (fPt) NoName←Q10128) ), var←c0861);
/*1*/                  };
/*1*/               if ((var←c011 == 5)) {
/*1*/                  goto lab←L100032;
/*1*/                  };
/*1*/               };
/*1*/            pos←v18704 = var←c60712.f6/* var←c010 */ ;
/*1*/            };
/*1*/         };
/*1*/      };
SOURCE(13880, 94)
/*1*/   {
/*1*/      word pd167;
/*1*/      pd167 = (* (( (ptr) (* (( (ptr) gf←c60744)+264)/* var←c54824 */  ))+20) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd167 ))))((word) &nloc←v18732, (*  (ptr) ntdd←v18660 ), pos←v18704, 1, 1, pd167);
/*1*/      };
SOURCE(13976, 19750)
/*1*/   {
/*1*/      word var←c56264;
/*1*/      var←c56264 = (word) PositionViewerInternal←P1020(viewer←v10812, nloc←v18732);
/*1*/      };
SOURCE(14019, 48)
/*1*/   {
/*1*/      word pd168;
/*1*/      pd168 = (* (( (ptr) (* (( (ptr) gf←c60744)+278)/* var←c56296 */  ))+4) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd168 ))))(viewer←v10812, pos←v18704, 1, pd168);
/*1*/      };
/*1*/   };
                           goto lab←L100035;
                           lab←L100032: ;
                           lab←L100035: ;
                           }
                        else {
SOURCE(14096, 357)
                           {
/*1*/   W2 loc←v18776;
/*1*/   word sel←v18804 = 0;
SOURCE(14098, 60)
/*1*/   {
/*1*/      word pd169;
/*1*/      pd169 = (* (( (ptr) (* (( (ptr) gf←c60744)+264)/* var←c54824 */  ))+28) );
/*1*/      loc←v18776.f0 = (word) ( *( (fPt) ((*  (ptr) pd169 ))))((*  (ptr) (ntdd←v18660) ), pd169);
/*1*/      };
/*1*/   loc←v18776.f1 = 0;
SOURCE(14196, 37)
/*1*/   {
/*1*/      word pd170;
/*1*/      pd170 = (* (( (ptr) (* (( (ptr) gf←c60744)+267)/* var←c55208 */  ))+4) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd170 ))))(ntdd←v18660, loc←v18776, 0, pd170);
/*1*/      };
SOURCE(14235, 91)
/*1*/   {
/*1*/      word pd171;
/*1*/      pd171 = (* (( (ptr) (* (( (ptr) gf←c60744)+269)/* var←c55400 */  ))+68) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd171 ))))(viewer←v10812, search←v10740, 2, 1, 0, 2
/*1*/         , 1, pd171);
/*1*/      };
SOURCE(14328, 25)
/*1*/   sel←v18804 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c60744)+269)/* var←c55400 */  ))+6) ) );
SOURCE(14355, 57)
/*1*/   if ( ( (sel←v18804 != 0) ? ((*  (ptr) sel←v18804 ) == viewer←v10812) : 0 ) ) {
SOURCE(14393, 19)
/*1*/      loc←v18776 = (*  (W2Pt) (( (ptr) sel←v18804)+2) );
/*1*/      };
SOURCE(14414, 37)
/*1*/   {
/*1*/      word pd172;
/*1*/      pd172 = (* (( (ptr) (* (( (ptr) gf←c60744)+267)/* var←c55208 */  ))+4) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd172 ))))(ntdd←v18660, loc←v18776, 0, pd172);
/*1*/      };
/*1*/   };
                           };
                        };
SOURCE(14456, 31)
                     (void) RememberCurrentPosition←P900(viewer←v10812);
SOURCE(14489, 16)
                     needPaint←v18588 = 1;
                     };
                  }
               else {
                  lab←L100031: ;
                  };
               };
            };
         };
      if ( ( ((* (( (bPt) viewer←v10812)+76) ) & 020) ? (0 != forceOpen←v10768) : 0 ) ) {
SOURCE(14569, 26)
         {
            word pd173;
            pd173 = (* (( (ptr) (* (( (ptr) gf←c60744)+263)/* var←c54696 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd173 ))))(viewer←v10812, 0, 1, 1, pd173);
            };
SOURCE(14597, 165)
         if ( (  ( (parent←v10572 != 0) ? (parent←v10572 != viewer←v10812) : 0 )  ?  ! ((* (( (bPt) parent←v10572)+77) ) & 0100) : 0 ) ) {
SOURCE(14663, 99)
            if ((op←v10684 == 2)) {
SOURCE(14684, 31)
               (void) CloseAndForkPaint←P1080(parent←v10572);
               }
            else {
SOURCE(14715, 47)
               {
                  word pd174;
                  pd174 = (* (( (ptr) (* (( (ptr) gf←c60744)+263)/* var←c54696 */  ))+13) );
                  (void) ( *( (fPt) ((*  (ptr) pd174 ))))(viewer←v10812, parent←v10572, 1, pd174);
                  };
               };
            };
         }
      else {
         if ((0 != loaded←v18616)) {
SOURCE(14777, 30)
            (void) ForkViewerPainter←P1140(viewer←v10812, 0);
            }
         else {
            if ((0 != needPaint←v18588)) {
SOURCE(14822, 33)
               (void) ForkViewerPainter←P1140(viewer←v10812, 1);
               };
            };
         };
      };
SOURCE(12706, 21020)
   return(viewer←v10812);
   }

static word NoName←Q8388(formal←c0778)
   word formal←c0778;
   {
SOURCE(13791, 74)
   {
      word pd175;
      pd175 = (* (( (ptr) formal←c0778)+5) );
      (* (( (ptr) formal←c0778)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd175 ))))((* (( (ptr) formal←c0778)+4) ), 8, pd175);
      };
   return(0);
   }

static void DoLoad←P2220(formal←c0338, formal←c0954, formal←c0955, op←v10928, specificVersion←v10956, formal←c0956)
   word formal←c0338;
   word formal←c0954;
   word formal←c0955;
   word op←v10928;
   word specificVersion←v10956;
   word formal←c0956;
   {
   W16 var←c60776;
   /* declaration of viewer←v10872 skipped */ 
   /* declaration of file←v10900 skipped */ 
   /* declaration of place←v10984 skipped */ 
   register ptr gf←c60808 =  (ptr) &globalframe;
   /* declaration of out←v11028 skipped */ 
   /* declaration of loaded←v11056 skipped */ 
   /* declaration of clearMessage←v18848 skipped */ 
   /* declaration of fileName←v18876 skipped */ 
   /* declaration of name←v18904 skipped */ 
   (* (( (ptr) &var←c60776)+4)/* viewer←v10872 */  ) = formal←c0954;
   (* (( (ptr) &var←c60776)+5)/* file←v10900 */  ) = formal←c0955;
   (* (( (ptr) &var←c60776)+6)/* place←v10984 */  ) = formal←c0956;
   /* DoLoad: */ 
SOURCE(14873, 18853)
SOURCE(14873, 18853)
   (* (( (ptr) &var←c60776)+7)/* out←v11028 */  ) = 0;
SOURCE(14873, 18853)
   (* (( (ptr) &var←c60776)+8)/* loaded←v11056 */  ) = 0;
SOURCE(15030, 25)
   (* (( (ptr) &var←c60776)+9)/* clearMessage←v18848 */  ) = 1;
SOURCE(15057, 62)
   {
      W2 var←c0330;
      word var←c56360;
      {
         word pd176;
         pd176 = (* (( (ptr) (* (( (ptr) gf←c60808)+276)/* var←c56040 */  ))+26) );
         (void) ( *( (fPt) ((*  (ptr) pd176 ))))((word) &var←c0330, (* (( (ptr) &var←c60776)+5)/* file←v10900 */  ), pd176);
         };
      var←c56360 = var←c0330.f0;
      {
         word pd177;
         pd177 = (* (( (ptr) (* (( (ptr) gf←c60808)+276)/* var←c56040 */  ))+4) );
         (* (( (ptr) &var←c60776)+10)/* fileName←v18876 */  ) = (word) ( *( (fPt) ((*  (ptr) pd177 ))))(var←c56360, 0, pd177);
         };
      };
SOURCE(15121, 21)
   (* (( (ptr) &var←c60776)+11)/* name←v18904 */  ) = (* (( (ptr) &var←c60776)+10)/* fileName←v18876 */  );
SOURCE(15144, 12)
   (* (( (ptr) &var←c60776)+7)/* out←v11028 */  ) = (* (( (ptr) &var←c60776)+4)/* viewer←v10872 */  );
SOURCE(15158, 18568)
   if ((0 == specificVersion←v10956)) {
SOURCE(15186, 18540)
      {
         word var←c56392;
         {
            word pd178;
            pd178 = (* (( (ptr) (* (( (ptr) gf←c60808)+274)/* var←c55848 */  ))+24) );
            var←c56392 = (word) ( *( (fPt) ((*  (ptr) pd178 ))))((* (( (ptr) &var←c60776)+11)/* name←v18904 */  ), 0, (* (( (ptr) gf←c60808)+34)
                ), pd178);
            };
         {
            word pd179;
            pd179 = (* (( (ptr) (* (( (ptr) gf←c60808)+274)/* var←c55848 */  ))+30) );
            (* (( (ptr) &var←c60776)+11)/* name←v18904 */  ) = (word) ( *( (fPt) ((*  (ptr) pd179 ))))((* (( (ptr) &var←c60776)+11)/* name←v18904 */  ), 0, var←c56392, pd179)
            ;
            };
         };
      };
SOURCE(15236, 18490)
   {
      word pd180;
      pd180 = (* (( (ptr) (* (( (ptr) gf←c60808)+274)/* var←c55848 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd180 ))))((* (( (ptr) (* (( (ptr) &var←c60776)+4)/* viewer←v10872 */  ))+14) ), (* (
            ( (ptr) &var←c60776)+10)/* fileName←v18876 */  ), 0, pd180))) {
SOURCE(15287, 39)
         (void) Report←P1740((* (( (ptr) &var←c60776)+10)/* fileName←v18876 */  ), (* (( (ptr) gf←c60808)+37) ), 0, 0, 0);
SOURCE(15328, 56)
         {
            word pd181;
            pd181 = (* (( (ptr) (* (( (ptr) gf←c60808)+263)/* var←c54696 */  ))+44) );
            (void) ( *( (fPt) ((*  (ptr) pd181 ))))((* (( (ptr) &var←c60776)+4)/* viewer←v10872 */  ), 200, pd181);
            };
SOURCE(15386, 6)
         goto lab←L100036;
         };
      };
SOURCE(15397, 24)
   (void) Report←P1740((* (( (ptr) gf←c60808)+38) ), (* (( (ptr) &var←c60776)+11)/* name←v18904 */  ), 0, 0, 0);
SOURCE(15423, 22)
   (void) KillSelections←P1260((* ((( (ptr) &var←c60776)+4)/* viewer←v10872 */ ) ));
SOURCE(15447, 18279)
   {
      word var←c56424;
      var←c56424 = (* (( (ptr) (* (( (ptr) &var←c60776)+4)/* viewer←v10872 */  ))+26) );
      if ((var←c56424 == 0)) {
         goto lab←L100037;
         };
      if (((* (( (ptr) gf←c60808)+21) ) == XR←GetReferentType(var←c56424))) {
         {
            /* declaration of tdd←v18948 skipped */ 
            (* (( (ptr) &var←c60776)+12)/* tdd←v18948 */  ) = var←c56424;
SOURCE(15516, 1883)
            {
               /* declaration of oldViewer←v18992 skipped */ 
               /* declaration of linkViewer←v19020 skipped */ 
               /* declaration of vFile←v19048 skipped */ 
SOURCE(15518, 23)
               (* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ) = 0;
SOURCE(15543, 24)
               (* (( (ptr) &var←c60776)+14)/* linkViewer←v19020 */  ) = 0;
SOURCE(15569, 17)
               (* (( (ptr) &var←c60776)+15)/* vFile←v19048 */  ) = 0;
SOURCE(15588, 18138)
               lab←L100040: ;
SOURCE(15591, 18135)
               (* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ) = (word) FindOldViewer←P1680((* (( (ptr) &var←c60776)+11)/* name←v18904 */  ), (* (
                     ( (ptr) &var←c60776)+4)/* viewer←v10872 */  ));
SOURCE(15632, 51)
               if (((* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ) != 0)) {
SOURCE(15656, 27)
                  (* (( (ptr) &var←c60776)+14)/* linkViewer←v19020 */  ) = (* (( (ptr) (* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ))+21)
                   );
                  };
SOURCE(15685, 62)
               {
                  word pd182;
                  pd182 = (* (( (ptr) (* (( (ptr) gf←c60808)+279)/* var←c56456 */  ))+25) );
                  (void) ( *( (fPt) ((*  (ptr) pd182 ))))((* (( (ptr) &var←c60776)+4)/* viewer←v10872 */  ), (* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ), (* (
                        ( (ptr) &var←c60776)+14)/* linkViewer←v19020 */  ), pd182);
                  };
SOURCE(15749, 17977)
               if ( ( ((* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ) == (word) FindOldViewer←P1680((* (( (ptr) &var←c60776)+11)/* name←v18904 */  ), (* (
                     ( (ptr) &var←c60776)+4)/* viewer←v10872 */  ))) ?  ( ((* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ) == 0) ? 1 : ((* (
                  ( (ptr) &var←c60776)+14)/* linkViewer←v19020 */  ) == (* (( (ptr) (* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ))+21)
                )) )  : 0 ) ) {
SOURCE(15850, 4)
                  goto lab←L100039;
                  };
SOURCE(15856, 62)
               {
                  word pd183;
                  pd183 = (* (( (ptr) (* (( (ptr) gf←c60808)+279)/* var←c56456 */  ))+26) );
                  (void) ( *( (fPt) ((*  (ptr) pd183 ))))((* (( (ptr) &var←c60776)+4)/* viewer←v10872 */  ), (* (( (ptr) &var←c60776)+13)/* oldViewer←v18992 */  ), (* (
                        ( (ptr) &var←c60776)+14)/* linkViewer←v19020 */  ), pd183);
                  };
               goto lab←L100040;
               lab←L100039: ;
SOURCE(15931, 17795)
               {
                  word var←c0862;
                  var←c0862 = (word) &var←c60776;
                   (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q8448) ), ( ((word)  (fPt) NoName←Q10068) ), var←c0862);
                  };
SOURCE(17355, 42)
               if ((0 != (* (( (ptr) &var←c60776)+9)/* clearMessage←v18848 */  ))) {
SOURCE(17376, 21)
                  {
                     word pd184;
                     pd184 = (* (( (ptr) (* (( (ptr) gf←c60808)+275)/* var←c55880 */  ))+4) );
                     (void) ( *( (fPt) ((*  (ptr) pd184 ))))(pd184);
                     };
                  };
               };
            };
         }
      else {
         lab←L100037: ;
         };
      };
   /* removed tail goto */ 
   lab←L100036: ;
   (*  (ptr) formal←c0338 ) = (* (( (ptr) &var←c60776)+7)/* out←v11028 */  );
   (* (( (ptr) formal←c0338)+1) ) = (* (( (ptr) &var←c60776)+8)/* loaded←v11056 */  );
   return;
   }

static word NoName←Q8448(formal←c0781)
   word formal←c0781;
   {
   register ptr gf←c0780 =  (ptr) &globalframe;
SOURCE(16012, 17714)
   {
      word var←c56488;
      word pd185;
      pd185 = (* (( (ptr) (* (( (ptr) gf←c0780)+265)/* var←c54952 */  ))+5) );
      var←c56488 = (word) ( *( (fPt) ((*  (ptr) pd185 ))))((* (( (ptr) formal←c0781)+12) ), (* (( (ptr) gf←c0780)+39) ), 0, 0, pd185)
      ;
      };
SOURCE(16059, 58)
   (* (( (ptr) formal←c0781)+15) ) = (* (( (ptr) (* (( (ptr) formal←c0781)+4) ))+14) );
   if (((* (( (ptr) formal←c0781)+15) ) != 0)) {
SOURCE(16094, 23)
      (void) SaveLoadHistory←P720((* ((( (ptr) formal←c0781)+4)) ));
      };
SOURCE(16119, 178)
   if (((* (( (ptr) formal←c0781)+13) ) != 0)) {
SOURCE(16143, 154)
SOURCE(16145, 64)
      if ( ! ((* (( (bPt) (* (( (ptr) formal←c0781)+13) ))+77) ) & 0100)) {
SOURCE(16177, 32)
         {
            word var←c56520;
            var←c56520 = (* (( (ptr) (* (( (ptr) formal←c0781)+13) ))+26) );
            if ((var←c56520 == 0)) {
               goto lab←L100044;
               };
            if (((* (( (ptr) gf←c0780)+21) ) == XR←GetReferentType(var←c56520))) {
               {
                  word tddOld←v19092;
                  tddOld←v19092 = var←c56520;
SOURCE(16252, 13)
                  goto lab←L100043;
                  };
               }
            else {
               lab←L100044: ;
               };
            };
         };
      goto lab←L100045;
      lab←L100043: ;
      lab←L100045: ;
      };
   if (((* (( (ptr) formal←c0781)+13) ) == 0)) {
SOURCE(16336, 887)
      {
         word root←v19136;
SOURCE(16338, 71)
         {
            word pd186;
            pd186 = (* (( (ptr) (* (( (ptr) gf←c0780)+271)/* var←c55528 */  ))+5) );
            root←v19136 = (word) ( *( (fPt) ((*  (ptr) pd186 ))))((* ((( (ptr) formal←c0781)+10)) ), pd186);
            };
SOURCE(16411, 289)
         if (((* (( (ptr) (* (( (ptr) formal←c0781)+4) ))+21) ) == 0)) {
SOURCE(16437, 20)
            (void) ForgetViewer←P420((* ((( (ptr) formal←c0781)+4)) ));
SOURCE(16506, 166)
            if ( (  ( ((* (( (bPt) (* (( (ptr) formal←c0781)+4) ))+76) ) & 04) ?  ! ((* (( (bPt) (* (( (ptr) formal←c0781)+4) ))+77) ) & 020) : 0 )  ? ((* (
               ( (ptr) formal←c0781)+15) ) != 0) : 0 ) ) {
SOURCE(16578, 65)
               {
                  word pd187;
                  pd187 = (* (( (ptr) (* (( (ptr) gf←c0780)+271)/* var←c55528 */  ))+4) );
                  (void) ( *( (fPt) ((*  (ptr) pd187 ))))((* (( (ptr) formal←c0781)+15) ), (*  (ptr) (* (( (ptr) formal←c0781)+12) ) ), pd187)
                  ;
                  };
               }
            else {
SOURCE(16643, 29)
               {
                  word pd188;
                  pd188 = (* (( (ptr) (* (( (ptr) gf←c0780)+280)/* var←c56552 */  ))+34) );
                  (void) ( *( (fPt) ((*  (ptr) pd188 ))))((*  (ptr) ((* (( (ptr) formal←c0781)+12) )) ), pd188);
                  };
               };
            }
         else {
SOURCE(16681, 19)
            (void) CancelLinks←P1320((* ((( (ptr) formal←c0781)+4)) ));
            };
SOURCE(16702, 18)
         (* (( (ptr) (* (( (ptr) formal←c0781)+4) ))+13) ) = (* (( (ptr) formal←c0781)+11) );
SOURCE(16722, 22)
         (* (( (ptr) (* (( (ptr) formal←c0781)+4) ))+14) ) = (* (( (ptr) formal←c0781)+10) );
SOURCE(16746, 42)
         (* (( (ptr) (* (( (ptr) formal←c0781)+4) )) + 19) ) &= 4261412863;
         (* (( (ptr) (* (( (ptr) formal←c0781)+4) )) + 19) ) &= 4227858431;
SOURCE(16790, 93)
         if ((root←v19136 != 0)) {
SOURCE(16811, 50)
            {
               word pd189;
               pd189 = (* (( (ptr) (* (( (ptr) gf←c0780)+268)/* var←c55368 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd189 ))))(0, (word) (( (bPt) gf←c0780)+736)/* var←c53288 */ , (* (( (ptr) formal←c0781)+11)
                   ), pd189);
               };
SOURCE(16863, 20)
            (* (( (ptr) formal←c0781)+9) ) = 0;
            };
SOURCE(16888, 14)
         (*  (ptr) (* (( (ptr) formal←c0781)+12) ) ) = 0;
SOURCE(16953, 62)
         {
            word pd190;
            pd190 = (* (( (ptr) (* (( (ptr) gf←c0780)+271)/* var←c55528 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd190 ))))((* (( (ptr) formal←c0781)+4) ), (* (( (ptr) formal←c0781)+5) ), root←v19136, pd190)
            ;
            };
SOURCE(17017, 22)
         (* (( (ptr) (* (( (ptr) formal←c0781)+4) )) + 19) ) &= 4261412863;
SOURCE(17041, 28)
         {
            word tadr191;
            tadr191 = (word) (( (ptr) (* (( (ptr) formal←c0781)+4) )) + 19);
            (*  (ptr) tadr191 ) = ((*  (ptr) tadr191 ) & 4227858431) | (((word) (root←v19136 != 0)) << 26);
            };
SOURCE(17071, 13)
         (* (( (ptr) formal←c0781)+8) ) = 1;
SOURCE(17086, 28)
         (void) ClearPositionHistory←P840((* ((( (ptr) formal←c0781)+4)) ));
SOURCE(17116, 16610)
         {
            word var←c56616;
            {
               W2 var←c56584;
               {
                  word pd192;
                  pd192 = (* (( (ptr) (* (( (ptr) gf←c0780)+264)/* var←c54824 */  ))+20) );
                  (void) ( *( (fPt) ((*  (ptr) pd192 ))))((word) &var←c56584, (*  (ptr) (* (( (ptr) formal←c0781)+12) ) ), (* (( (ptr) formal←c0781)+6)
                      ), 1, 0, pd192);
                  };
               var←c56616 = (word) PositionViewerInternal←P1020((* (( (ptr) formal←c0781)+4) ), var←c56584);
               };
            };
SOURCE(17190, 31)
         (void) RememberCurrentPosition←P900((* ((( (ptr) formal←c0781)+4)) ));
         };
      }
   else {
SOURCE(17239, 15)
      (* (( (ptr) formal←c0781)+7) ) = (* (( (ptr) formal←c0781)+13) );
      };
SOURCE(17260, 25)
   {
      word pd193;
      pd193 = (* (( (ptr) (* (( (ptr) gf←c0780)+265)/* var←c54952 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd193 ))))((* ((( (ptr) formal←c0781)+12)) ), pd193);
      };
SOURCE(17287, 62)
   {
      word pd194;
      pd194 = (* (( (ptr) (* (( (ptr) gf←c0780)+279)/* var←c56456 */  ))+26) );
      (void) ( *( (fPt) ((*  (ptr) pd194 ))))((* (( (ptr) formal←c0781)+4) ), (* (( (ptr) formal←c0781)+13) ), (* (( (ptr) formal←c0781)+14)
          ), pd194);
      };
   return(0);
   }

static void FlameOut←P2280(formal←c0957)
   word formal←c0957;
   {
   W5 var←c60840;
   /* declaration of data←v41940 skipped */ 
   var←c60840.f4/* data←v41940 */  = formal←c0957;
   /* FlameOut: */ 
SOURCE(17415, 126)
SOURCE(17452, 89)
SOURCE(17452, 89)
   {
      word var←c012;
      {
         word var←c0863;
         var←c0863 = (word) &var←c60840;
         var←c012 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8508) ), ( ((word)  (fPt) NoName←Q10008) ), var←c0863);
         };
      /* removed trivial cond node */ 
      };
   }

static word NoName←Q8508(formal←c0783)
   word formal←c0783;
   {
   register ptr gf←c0782 =  (ptr) &globalframe;
SOURCE(17480, 61)
   {
      word var←c56648;
      var←c56648 = (* (( (ptr) formal←c0783)+4) );
      if ((var←c56648 == 0)) {
         goto lab←L100050;
         };
      if (((* (( (ptr) gf←c0782)+20) ) == XR←GetReferentType(var←c56648))) {
         {
            word v←v19180;
            v←v19180 = var←c56648;
SOURCE(17515, 26)
            {
               word pd195;
               pd195 = (* (( (ptr) (* (( (ptr) gf←c0782)+263)/* var←c54696 */  ))+15) );
               (void) ( *( (fPt) ((*  (ptr) pd195 ))))(v←v19180, 1, pd195);
               };
            };
         }
      else {
         lab←L100050: ;
         };
      };
   return(0);
   }

static word TryToOpen←P2340(name←v11116, wDir←v11144)
   word name←v11116;
   word wDir←v11144;
   {
   W7 var←c60872;
   register ptr gf←c60904 =  (ptr) &globalframe;
   word file←v11188;
   /* declaration of namePath←v19224 skipped */ 
   /* TryToOpen: */ 
SOURCE(17556, 16170)
SOURCE(17556, 16170)
   file←v11188 = 0;
SOURCE(17655, 94)
   {
      word var←c56680;
      word var←c56712;
      {
         word pd196;
         pd196 = (* (( (ptr) (* (( (ptr) gf←c60904)+276)/* var←c56040 */  ))+5) );
         var←c56680 = (word) ( *( (fPt) ((*  (ptr) pd196 ))))(name←v11116, pd196);
         };
      {
         word pd197;
         pd197 = (* (( (ptr) (* (( (ptr) gf←c60904)+276)/* var←c56040 */  ))+5) );
         var←c56712 = (word) ( *( (fPt) ((*  (ptr) pd197 ))))(wDir←v11144, pd197);
         };
      {
         word pd198;
         pd198 = (* (( (ptr) (* (( (ptr) gf←c60904)+276)/* var←c56040 */  ))+8) );
         var←c60872.f4/* namePath←v19224 */  = (word) ( *( (fPt) ((*  (ptr) pd198 ))))(var←c56680, var←c56712, pd198);
         };
      };
SOURCE(17751, 15975)
SOURCE(17751, 15975)
   {
      /* declaration of var←c013 skipped */ 
      var←c60872.f5/* var←c013 */  = (* (( (ptr) (* (( (ptr) gf←c60904)+276)/* var←c56040 */  ))+18) );
      {
         /* declaration of var←c014 skipped */ 
         {
            word var←c015;
            {
               word var←c0864;
               var←c0864 = (word) &var←c60872;
               var←c015 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8568) ), ( ((word)  (fPt) NoName←Q9948) ), var←c0864);
               };
            if ((var←c015 == 7)) {
               goto lab←L100052;
               };
            };
         file←v11188 = var←c60872.f6/* var←c014 */ ;
         };
      };
   lab←L100052: ;
SOURCE(17556, 16170)
   return(file←v11188);
   }

static word NoName←Q8568(formal←c0786)
   word formal←c0786;
   {
   register ptr gf←c0785 =  (ptr) &globalframe;
SOURCE(17751, 15975)
   {
      word pd199;
      pd199 = (* (( (ptr) formal←c0786)+5) );
      (* (( (ptr) formal←c0786)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd199 ))))((* (( (ptr) formal←c0786)+4) ), 0, (*  (W4Pt) (( (ptr) gf←c0785)+252)
         /* var←c54408 */  ), 0, 0, (*  (W5Pt) (( (ptr) gf←c0785)+256)/* var←c54472 */  ), pd199);
      };
   return(0);
   }

static word TryExtensions←P2400(name←v11248, wDir←v11276, extensions←v11304)
   word name←v11248;
   word wDir←v11276;
   word extensions←v11304;
   {
   register ptr gf←c60936 =  (ptr) &globalframe;
   word file←v11432;
   word base←v19268;
   /* TryExtensions: */ 
SOURCE(17844, 15882)
SOURCE(17844, 15882)
   file←v11432 = 0;
SOURCE(17967, 29)
   {
      word pd200;
      pd200 = (* (( (ptr) (* (( (ptr) gf←c60936)+274)/* var←c55848 */  ))+6) );
      base←v19268 = (word) ( *( (fPt) ((*  (ptr) pd200 ))))(name←v11248, (* (( (ptr) gf←c60936)+41) ), pd200);
      };
SOURCE(17998, 15728)
   {
      register word list←v19312;
      list←v19312 = extensions←v11304;
      lab←L100058: ;
      if ((list←v19312 != 0)) {
         }
      else {
         goto lab←L100055;
         };
SOURCE(18063, 15663)
      {
         word var←c56744;
         {
            word pd201;
            pd201 = (* (( (ptr) (* (( (ptr) gf←c60936)+274)/* var←c55848 */  ))+6) );
            var←c56744 = (word) ( *( (fPt) ((*  (ptr) pd201 ))))(base←v19268, (*  (ptr) list←v19312 ), pd201);
            };
         file←v11432 = (word) TryToOpen←P2340(var←c56744, wDir←v11276);
         };
SOURCE(18124, 30)
      if ((file←v11432 != 0)) {
SOURCE(18154, 4)
         goto lab←L100056;
         };
      list←v19312 = (* (( (ptr) list←v19312)+1) );
      goto lab←L100058;
      lab←L100055: ;
      lab←L100056: ;
      };
SOURCE(17844, 15882)
   return(file←v11432);
   }

static word IsAnExtension←P2460(ext←v11492, extensions←v11520)
   word ext←v11492;
   word extensions←v11520;
   {
   register ptr gf←c60968 =  (ptr) &globalframe;
   word var←c11648;
   /* IsAnExtension: */ 
SOURCE(18173, 15553)
SOURCE(18250, 15476)
   {
      register word list←v19440;
      list←v19440 = extensions←v11520;
      lab←L100062: ;
      if ((list←v19440 != 0)) {
         }
      else {
         goto lab←L100059;
         };
SOURCE(18315, 15411)
      {
         word pd202;
         pd202 = (* (( (ptr) (* (( (ptr) gf←c60968)+274)/* var←c55848 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd202 ))))(ext←v11492, (*  (ptr) list←v19440 ), 0, pd202))) {
SOURCE(18358, 13)
            return(1);
            };
         };
      list←v19440 = (* (( (ptr) list←v19440)+1) );
      goto lab←L100062;
      lab←L100059: ;
      };
SOURCE(18382, 14)
   return(0);
   }

static void RegisterFileNameProc←P2520(proc←v11708)
   word proc←v11708;
   {
   register ptr gf←c61000 =  (ptr) &globalframe;
   /* RegisterFileNameProc: */ 
SOURCE(18482, 78)
SOURCE(18541, 19)
   (* (( (ptr) gf←c61000)+11)/* fileNameProc←v5632 */  ) = XR←CheckProc(proc←v11708);
   }

static word ReplaceFileNameProc←P2580(new←v11768)
   word new←v11768;
   {
   register ptr gf←c61032 =  (ptr) &globalframe;
   word old←v11812;
   /* ReplaceFileNameProc: */ 
SOURCE(18566, 123)
SOURCE(18566, 123)
   old←v11812 = 0;
SOURCE(18651, 18)
   old←v11812 = XR←CheckProc(* (( (ptr) gf←c61032)+11)/* fileNameProc←v5632 */  );
SOURCE(18671, 18)
   (* (( (ptr) gf←c61032)+11)/* fileNameProc←v5632 */  ) = XR←CheckProc(new←v11768);
SOURCE(18566, 123)
   return(old←v11812);
   }

static word TryVersionMap←P2640(shortName←v11872)
   word shortName←v11872;
   {
   register ptr gf←c61064 =  (ptr) &globalframe;
   word var←c11916;
   /* TryVersionMap: */ 
SOURCE(18695, 15031)
SOURCE(18760, 14966)
   return((word) TryToOpen←P2340(shortName←v11872, (* (( (ptr) gf←c61064)+42) )));
   }

static word TryVersionMapExtensions←P2700(name←v11976, extensions←v12004)
   word name←v11976;
   word extensions←v12004;
   {
   register ptr gf←c61096 =  (ptr) &globalframe;
   word var←c12132;
   /* TryVersionMapExtensions: */ 
SOURCE(18813, 14913)
SOURCE(18909, 14817)
   return((word) TryExtensions←P2400(name←v11976, (* (( (ptr) gf←c61096)+42) ), extensions←v12004));
   }

static void LookupSource←P2760(formal←c0395, sel←v12252, wDir←v12280, fileNameProcViewer←v12308)
   word formal←c0395;
   word sel←v12252;
   word wDir←v12280;
   word fileNameProcViewer←v12308;
   {
   register ptr gf←c61128 =  (ptr) &globalframe;
   word file←v12352;
   word specificVersion←v12380;
   word search←v12408;
   word dot←v19568 = 0;
   word hasExtension←v19596 = 0;
   word standardExtension←v19624 = 0;
   word simpleName←v19652 = 0;
   word base←v19680 = 0;
   word ext←v19708 = 0;
   word proc←v19736;
   /* LookupSource: */ 
SOURCE(19030, 14696)
SOURCE(19030, 14696)
   file←v12352 = 0;
SOURCE(19030, 14696)
   specificVersion←v12380 = 0;
SOURCE(19030, 14696)
   search←v12408 = 0;
SOURCE(19306, 33)
   proc←v19736 = (* (( (ptr) gf←c61128)+11)/* fileNameProc←v5632 */  );
SOURCE(19341, 36)
   (void) Report←P1740((* (( (ptr) gf←c61128)+43) ), sel←v12252, 0, 0, 0);
SOURCE(19379, 14347)
   {
      register word i←v19780;
      {
         word pd203;
         pd203 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+15) );
         i←v19780 = (word) ( *( (fPt) ((*  (ptr) pd203 ))))(sel←v12252, pd203);
         };
      if (( (int)0 >=  (int)i←v19780)) {
         goto lab←L100064;
         };
      i←v19780 = (i←v19780 - 1);
      lab←L100067: ;
SOURCE(19422, 14304)
      {
         word var←c56840;
         {
            word pd204;
            pd204 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+9) );
            var←c56840 = (word) ( *( (fPt) ((*  (ptr) pd204 ))))(sel←v12252, i←v19780, pd204);
            };
         if ((var←c56840 == 124)) {
SOURCE(19454, 14272)
            {
               word pd205;
               pd205 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+30) );
               search←v12408 = (word) ( *( (fPt) ((*  (ptr) pd205 ))))(sel←v12252, i←v19780, 2147483647, pd205);
               };
SOURCE(19485, 14241)
            {
               word pd206;
               pd206 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+30) );
               sel←v12252 = (word) ( *( (fPt) ((*  (ptr) pd206 ))))(sel←v12252, 0, i←v19780, pd206);
               };
SOURCE(19516, 4)
            goto lab←L100065;
            }
         else {
            if (((var←c56840 - 48) <= 9)) {
               }
            else {
SOURCE(19553, 4)
               goto lab←L100065;
               };
            };
         };
      if (( (int)0 >=  (int)i←v19780)) {
         goto lab←L100064;
         };
      i←v19780 = (i←v19780 - 1);
      goto lab←L100067;
      lab←L100064: ;
      lab←L100065: ;
      };
SOURCE(19568, 14158)
   {
      register word i←v19824;
      {
         word pd207;
         pd207 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+15) );
         i←v19824 = (word) ( *( (fPt) ((*  (ptr) pd207 ))))(sel←v12252, pd207);
         };
      if (( (int)0 >=  (int)i←v19824)) {
         goto lab←L100068;
         };
      i←v19824 = (i←v19824 - 1);
      lab←L100071: ;
SOURCE(19611, 14115)
      {
         word var←c56872;
         {
            word pd208;
            pd208 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+9) );
            var←c56872 = (word) ( *( (fPt) ((*  (ptr) pd208 ))))(sel←v12252, i←v19824, pd208);
            };
         switch (var←c56872) {
            case 33: 
SOURCE(19642, 22)
               specificVersion←v12380 = 1;
               break;
            case 46: 
SOURCE(19672, 62)
               if ((0 != hasExtension←v19596)) {
                  }
               else {
SOURCE(19705, 7)
                  dot←v19568 = i←v19824;
SOURCE(19714, 20)
                  hasExtension←v19596 = 1;
                  };
               break;
            case 93: case 62: case 47: 
SOURCE(19751, 4)
               goto lab←L100069;
            };
         };
      if (( (int)0 >=  (int)i←v19824)) {
         goto lab←L100068;
         };
      i←v19824 = (i←v19824 - 1);
      goto lab←L100071;
      lab←L100068: ;
SOURCE(19785, 17)
      simpleName←v19652 = 1;
      lab←L100069: ;
      };
SOURCE(19813, 13913)
   file←v12352 = (word) TryToOpen←P2340(sel←v12252, wDir←v12280);
SOURCE(19854, 36)
   if ((file←v12352 != 0)) {
SOURCE(19884, 6)
      goto lab←L100063;
      };
SOURCE(19892, 13834)
   if (((0 != hasExtension←v19596) || (0 != specificVersion←v12380))) {
      }
   else {
SOURCE(19944, 13782)
      file←v12352 = (word) TryExtensions←P2400(sel←v12252, wDir←v12280, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61128)+270)/* var←c55464 */  ))+5)
          ) ));
SOURCE(20032, 36)
      if ((file←v12352 != 0)) {
SOURCE(20062, 6)
         goto lab←L100063;
         };
      };
SOURCE(20073, 13653)
   if ((proc←v19736 != 0)) {
SOURCE(20090, 205)
      {
         word pname←v19868 = 0;
         word psearch←v19896 = 0;
SOURCE(20114, 13612)
         {
            W2 var←c56904;
            (void) ( *( (fPt) ((*  (ptr) proc←v19736 ))))((word) &var←c56904, sel←v12252, fileNameProcViewer←v12308, proc←v19736);
            psearch←v19896 = var←c56904.f1;
            pname←v19868 = var←c56904.f0;
            };
SOURCE(20164, 13562)
         {
            word pd209;
            pd209 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+15) );
            if (( (int)(word) ( *( (fPt) ((*  (ptr) pd209 ))))(pname←v19868, pd209) !=  (int)0)) {
SOURCE(20189, 13537)
               file←v12352 = (word) TryToOpen←P2340(pname←v19868, wDir←v12280);
SOURCE(20232, 57)
               if ((file←v12352 != 0)) {
SOURCE(20264, 16)
                  search←v12408 = psearch←v19896;
SOURCE(20282, 7)
                  goto lab←L100063;
                  };
               };
            };
         };
      };
SOURCE(20298, 30)
   if ((0 != specificVersion←v12380)) {
SOURCE(20322, 6)
      goto lab←L100063;
      };
SOURCE(20330, 13396)
   if ((0 != hasExtension←v19596)) {
SOURCE(20353, 13373)
      {
         word pd210;
         pd210 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+17) );
         base←v19680 = (word) ( *( (fPt) ((*  (ptr) pd210 ))))(sel←v12252, 0, dot←v19568, pd210);
         };
SOURCE(20382, 13344)
      {
         word pd211;
         pd211 = (* (( (ptr) (* (( (ptr) gf←c61128)+274)/* var←c55848 */  ))+17) );
         ext←v19708 = (word) ( *( (fPt) ((*  (ptr) pd211 ))))(sel←v12252, (dot←v19568 + 1), 2147483647, pd211);
         };
SOURCE(20414, 13312)
      if ((0 != (word) IsAnExtension←P2460(ext←v19708, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61128)+270)/* var←c55464 */  ))+5)
          ) )))) {
SOURCE(20472, 24)
         standardExtension←v19624 = 1;
         };
SOURCE(20498, 13228)
      if ((0 == standardExtension←v19624)) {
SOURCE(20530, 13196)
         file←v12352 = (word) TryExtensions←P2400(base←v19680, wDir←v12280, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61128)+270)/* var←c55464 */  ))+6)
             ) ));
SOURCE(20617, 53)
         if ((file←v12352 != 0)) {
SOURCE(20649, 12)
            search←v12408 = ext←v19708;
SOURCE(20663, 7)
            goto lab←L100063;
            };
         };
      };
SOURCE(20679, 13047)
   if ( ( (0 != simpleName←v19652) ? (0 != (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61128)+270)/* var←c55464 */  ))+20) ) )) : 0 ) ) {
SOURCE(20731, 43)
      (void) Report←P1740((* (( (ptr) gf←c61128)+44) ), sel←v12252, 0, 0, 0);
SOURCE(20776, 12950)
      file←v12352 = (word) TryVersionMap←P2640(sel←v12252);
SOURCE(20829, 36)
      if ((file←v12352 != 0)) {
SOURCE(20859, 6)
         goto lab←L100063;
         };
SOURCE(20867, 12859)
      if ((0 == hasExtension←v19596)) {
SOURCE(20894, 12832)
         file←v12352 = (word) TryVersionMapExtensions←P2700(sel←v12252, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61128)+270)/* var←c55464 */  ))+5)
             ) ));
SOURCE(20962, 36)
         if ((file←v12352 != 0)) {
SOURCE(20992, 6)
            goto lab←L100063;
            };
         }
      else {
SOURCE(21007, 12719)
         if ((0 == standardExtension←v19624)) {
SOURCE(21039, 12687)
            file←v12352 = (word) TryVersionMapExtensions←P2700(base←v19680, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61128)+270)/* var←c55464 */  ))+6)
                ) ));
SOURCE(21106, 53)
            if ((file←v12352 != 0)) {
SOURCE(21138, 12)
               search←v12408 = ext←v19708;
SOURCE(21152, 7)
               goto lab←L100063;
               };
            };
         };
      };
   /* removed tail goto */ 
   lab←L100063: ;
   (*  (ptr) formal←c0395 ) = file←v12352;
   (* (( (ptr) formal←c0395)+1) ) = specificVersion←v12380;
   (* (( (ptr) formal←c0395)+2) ) = search←v12408;
   return;
   }

static void LookupImpl←P2820(formal←c0406, sel←v12468, wDir←v12496)
   word formal←c0406;
   word sel←v12468;
   word wDir←v12496;
   {
   W7 var←c61160;
   register ptr gf←c61192 =  (ptr) &globalframe;
   word file←v12540;
   word search←v12568;
   word simpleName←v19940;
   word dir←v19968;
   /* declaration of base←v19996 skipped */ 
   /* declaration of ext←v20024 skipped */ 
   /* declaration of impl←v20052 skipped */ 
   /* LookupImpl: */ 
SOURCE(21172, 12554)
SOURCE(21172, 12554)
   file←v12540 = 0;
SOURCE(21172, 12554)
   search←v12568 = 0;
SOURCE(21285, 55)
   {
      word pd212;
      word pd213;
      pd212 = (* (( (ptr) (* (( (ptr) gf←c61192)+274)/* var←c55848 */  ))+24) );
      pd213 = (* (( (ptr) (* (( (ptr) gf←c61192)+274)/* var←c55848 */  ))+15) );
      simpleName←v19940 =  (unsigned) ( (int)(word) ( *( (fPt) ((*  (ptr) pd212 ))))(sel←v12468, 0, (* (( (ptr) gf←c61192)+45) ), pd212)
       ==  (int)(word) ( *( (fPt) ((*  (ptr) pd213 ))))(sel←v12468, pd213));
      };
SOURCE(21342, 35)
   dir←v19968 = (word) GetDirectory←P4680(sel←v12468, wDir←v12496);
SOURCE(21379, 25)
   var←c61160.f4/* base←v19996 */  = (word) GetBase←P4740(sel←v12468);
SOURCE(21432, 35)
   var←c61160.f5/* ext←v20024 */  = (word) GetExtension←P4800(sel←v12468, wDir←v12496);
SOURCE(21502, 16)
   var←c61160.f6/* impl←v20052 */  = 0;
SOURCE(21520, 12206)
   {
      word pd214;
      pd214 = (* (( (ptr) (* (( (ptr) gf←c61192)+274)/* var←c55848 */  ))+15) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd214 ))))(var←c61160.f5/* ext←v20024 */ , pd214) !=  (int)0)) {
SOURCE(21543, 12183)
SOURCE(21543, 12183)
         {
            word var←c016;
            {
               word var←c0865;
               var←c0865 = (word) &var←c61160;
               var←c016 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8628) ), ( ((word)  (fPt) NoName←Q9888) ), var←c0865);
               };
            /* removed trivial cond node */ 
            };
         };
      };
SOURCE(21820, 11906)
   if ((var←c61160.f6/* impl←v20052 */  == 0)) {
SOURCE(21837, 11889)
      {
         word pd215;
         pd215 = (* (( (ptr) (* (( (ptr) gf←c61192)+274)/* var←c55848 */  ))+6) );
         var←c61160.f6/* impl←v20052 */  = (word) ( *( (fPt) ((*  (ptr) pd215 ))))(var←c61160.f4/* base←v19996 */ , (* (( (ptr) gf←c61192)+47)
             ), pd215);
         };
      };
SOURCE(21865, 37)
   (void) Report←P1740((* (( (ptr) gf←c61192)+43) ), var←c61160.f6/* impl←v20052 */ , 0, 0, 0);
SOURCE(21904, 11822)
   file←v12540 = (word) TryExtensions←P2400(var←c61160.f6/* impl←v20052 */ , dir←v19968, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61192)+270)
         /* var←c55464 */  ))+6) ) ));
SOURCE(21990, 53)
   if ((file←v12540 != 0)) {
SOURCE(22022, 12)
      search←v12568 = var←c61160.f5/* ext←v20024 */ ;
SOURCE(22036, 7)
      goto lab←L100072;
      };
SOURCE(22046, 11680)
   if ( ( (0 != simpleName←v19940) ? (0 != (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61192)+270)/* var←c55464 */  ))+20) ) )) : 0 ) ) {
SOURCE(22098, 48)
      (void) Report←P1740((* (( (ptr) gf←c61192)+48) ), var←c61160.f6/* impl←v20052 */ , 0, 0, 0);
SOURCE(22148, 11578)
      file←v12540 = (word) TryVersionMapExtensions←P2700(var←c61160.f6/* impl←v20052 */ , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61192)+270)
            /* var←c55464 */  ))+6) ) ));
SOURCE(22215, 53)
      if ((file←v12540 != 0)) {
SOURCE(22247, 12)
         search←v12568 = var←c61160.f5/* ext←v20024 */ ;
SOURCE(22261, 7)
         goto lab←L100072;
         };
      };
SOURCE(22274, 11452)
   {
      word var←c0405;
      var←c0405 = var←c61160.f6/* impl←v20052 */ ;
      (void) XR←RaiseError((word) (( (bPt) gf←c61192)+276)/* var←c51432 */ , (word) &var←c0405);
      };
   lab←L100072: ;
   (*  (ptr) formal←c0406 ) = file←v12540;
   (* (( (ptr) formal←c0406)+1) ) = search←v12568;
   return;
   }

static word NoName←Q8628(formal←c0796)
   word formal←c0796;
   {
   register ptr gf←c0795 =  (ptr) &globalframe;
SOURCE(21572, 32)
   {
      word proc←v20096 = 0;
SOURCE(21606, 63)
      (void) Report←P1740((* (( (ptr) gf←c0795)+46) ), (* (( (ptr) formal←c0796)+4) ), (* (( (ptr) gf←c0795)+41) ), (* (( (ptr) formal←c0796)+5)
          ), 0);
SOURCE(21671, 12055)
      {
         word pd216;
         pd216 = (* (( (ptr) (* (( (ptr) gf←c0795)+281)/* var←c56936 */  ))+4) );
         proc←v20096 = XR←CheckProc((word) ( *( (fPt) ((*  (ptr) pd216 ))))((* (( (ptr) formal←c0796)+4) ), (* (( (ptr) formal←c0796)+5)
                ), pd216));
         };
SOURCE(21744, 11982)
      if ((proc←v20096 != 0)) {
SOURCE(21761, 11965)
         {
            word pd217;
            pd217 = (* (( (ptr) (* (( (ptr) gf←c0795)+281)/* var←c56936 */  ))+6) );
            (* (( (ptr) formal←c0796)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd217 ))))(proc←v20096, pd217);
            };
         };
      };
   return(0);
   }

static word WorkingDirectoryFromViewer←P2880(formal←c0958)
   word formal←c0958;
   {
   W8 var←c61224;
   /* declaration of parent←v12628 skipped */ 
   register ptr gf←c61256 =  (ptr) &globalframe;
   /* declaration of var←c017 skipped */ 
   word var←c12672;
   /* declaration of name←v20160 skipped */ 
   /* declaration of dir←v20188 skipped */ 
   var←c61224.f4/* parent←v12628 */  = formal←c0958;
   /* WorkingDirectoryFromViewer: */ 
SOURCE(22304, 11422)
SOURCE(22380, 21)
   var←c61224.f6/* name←v20160 */  = 0;
   var←c61224.f7/* dir←v20188 */  = 0;
SOURCE(22403, 37)
   if ((var←c61224.f4/* parent←v12628 */  != 0)) {
SOURCE(22422, 18)
      var←c61224.f6/* name←v20160 */  = (* (( (ptr) var←c61224.f4/* parent←v12628 */ )+13) );
      };
SOURCE(22444, 11282)
SOURCE(22444, 11282)
   {
      word var←c018;
      {
         word var←c0866;
         var←c0866 = (word) &var←c61224;
         var←c018 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8688) ), ( ((word)  (fPt) NoName←Q9828) ), var←c0866);
         };
      if ((var←c018 == 9)) {
         /* removed tail goto */ 
         }
      else {
         if ((var←c018 == 1)) {
            goto lab←L015;
            };
         };
      };
SOURCE(22606, 15)
   return((* (( (ptr) gf←c61256)+50) ));
   lab←L015: ;
   return(var←c61224.f5/* var←c017 */ );
   }

static word NoName←Q8688(formal←c0799)
   word formal←c0799;
   {
   register ptr gf←c0798 =  (ptr) &globalframe;
SOURCE(22474, 11252)
   if (((* (( (ptr) formal←c0799)+6) ) == 0) || ((* (( (ptr) (* (( (ptr) formal←c0799)+4) ))+14) ) == 0)) {
SOURCE(22510, 11216)
      (* (( (ptr) formal←c0799)+7) ) = (word) GetDirectory←P4680((* (( (ptr) gf←c0798)+49) ), (* (( (ptr) formal←c0799)+6) ));
      }
   else {
SOURCE(22557, 11169)
      (* (( (ptr) formal←c0799)+7) ) = (word) GetDirectory←P4680((* (( (ptr) formal←c0799)+6) ), 0);
      };
SOURCE(22589, 12)
   (* (( (ptr) formal←c0799)+5) ) = (* (( (ptr) formal←c0799)+7) );
   return(1);
   /* c2c skipped dead code */ 
   }

static word IsAWorkingDirectory←P2940(name←v12732)
   word name←v12732;
   {
   register ptr gf←c61288 =  (ptr) &globalframe;
   word var←c12776;
   /* IsAWorkingDirectory: */ 
SOURCE(22628, 11098)
SOURCE(22686, 11040)
   {
      word tc218;
      word pd219;
      word pd220;
      pd219 = (* (( (ptr) (* (( (ptr) gf←c61288)+274)/* var←c55848 */  ))+23) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd219 ))))((* (( (ptr) gf←c61288)+51) ), name←v12732, 1, pd219))) {
         tc218 =  (word)  (unsigned) 1;
         }
      else {
         pd220 = (* (( (ptr) (* (( (ptr) gf←c61288)+274)/* var←c55848 */  ))+23) );
         tc218 =  (word)  (unsigned) (0 != (word) ( *( (fPt) ((*  (ptr) pd220 ))))((* (( (ptr) gf←c61288)+52) ), name←v12732, 1, pd220)
         );
         };
      return(tc218);
      };
   }

static word CanonicalWorkingDirectory←P3000(txt←v12836, formal←c0959)
   word txt←v12836;
   word formal←c0959;
   {
   W7 var←c61320;
   /* declaration of wDir←v12864 skipped */ 
   register ptr gf←c61352 =  (ptr) &globalframe;
   word dir←v12908;
   var←c61320.f4/* wDir←v12864 */  = formal←c0959;
   /* CanonicalWorkingDirectory: */ 
SOURCE(22749, 10977)
SOURCE(22749, 10977)
   dir←v12908 = 0;
SOURCE(22842, 10884)
SOURCE(22842, 10884)
   {
      /* declaration of var←c57000 skipped */ 
      {
         word pd221;
         pd221 = (* (( (ptr) (* (( (ptr) gf←c61352)+274)/* var←c55848 */  ))+6) );
         var←c61320.f5/* var←c57000 */  = (word) ( *( (fPt) ((*  (ptr) pd221 ))))(txt←v12836, (* (( (ptr) gf←c61352)+49) ), pd221)
         ;
         };
      {
         /* declaration of var←c019 skipped */ 
         {
            word var←c020;
            {
               word var←c0867;
               var←c0867 = (word) &var←c61320;
               var←c020 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8748) ), ( ((word)  (fPt) NoName←Q9768) ), var←c0867);
               };
            if ((var←c020 == 10)) {
               goto lab←L100082;
               };
            };
         dir←v12908 = var←c61320.f6/* var←c019 */ ;
         };
      };
   lab←L100082: ;
SOURCE(22749, 10977)
   return(dir←v12908);
   }

static word NoName←Q8748(formal←c0802)
   word formal←c0802;
   {
SOURCE(22842, 10884)
   (* (( (ptr) formal←c0802)+6) ) = (word) GetDirectory←P4680((* (( (ptr) formal←c0802)+5) ), (* (( (ptr) formal←c0802)+4) ))
   ;
   return(0);
   }

static word DoGetFile←P3060(formal←c0960, column←v12996, parent←v13024, op←v13052, formal←c0961, formal←c0962)
   word formal←c0960;
   word column←v12996;
   word parent←v13024;
   word op←v13052;
   word formal←c0961;
   word formal←c0962;
   {
   W11 var←c61384;
   /* declaration of txt←v12968 skipped */ 
   /* declaration of lookup←v13080 skipped */ 
   /* declaration of fileNameProcViewer←v13108 skipped */ 
   register ptr gf←c61416 =  (ptr) &globalframe;
   word viewer←v13152;
   (* (( (ptr) &var←c61384)+4)/* txt←v12968 */  ) = formal←c0960;
   (* (( (ptr) &var←c61384)+5)/* lookup←v13080 */  ) = formal←c0961;
   (* (( (ptr) &var←c61384)+6)/* fileNameProcViewer←v13108 */  ) = formal←c0962;
   /* DoGetFile: */ 
SOURCE(22925, 10801)
SOURCE(22925, 10801)
   viewer←v13152 = 0;
SOURCE(23102, 10624)
SOURCE(23104, 52)
   {
      /* declaration of parentDir←v20232 skipped */ 
      /* declaration of file←v20260 skipped */ 
      /* declaration of specificVersion←v20288 skipped */ 
      /* declaration of search←v20316 skipped */ 
SOURCE(23104, 52)
      (* (( (ptr) &var←c61384)+7)/* parentDir←v20232 */  ) = (word) WorkingDirectoryFromViewer←P2880(parent←v13024);
SOURCE(23158, 37)
      (* (( (ptr) &var←c61384)+8)/* file←v20260 */  ) = 0;
SOURCE(23197, 29)
      (* (( (ptr) &var←c61384)+9)/* specificVersion←v20288 */  ) = 0;
SOURCE(23228, 18)
      (* (( (ptr) &var←c61384)+10)/* search←v20316 */  ) = 0;
SOURCE(23248, 10478)
      if (((* (( (ptr) &var←c61384)+4)/* txt←v12968 */  ) == 0)) {
SOURCE(23264, 10462)
         {
            word pd222;
            pd222 = (* (( (ptr) (* (( (ptr) gf←c61416)+262)/* var←c54568 */  ))+8) );
            (* (( (ptr) &var←c61384)+4)/* txt←v12968 */  ) = (word) ( *( (fPt) ((*  (ptr) pd222 ))))(pd222);
            };
         };
SOURCE(23306, 58)
      if (((* (( (ptr) &var←c61384)+6)/* fileNameProcViewer←v13108 */  ) == 0)) {
SOURCE(23337, 27)
         (* (( (ptr) &var←c61384)+6)/* fileNameProcViewer←v13108 */  ) = parent←v13024;
         };
SOURCE(23366, 10360)
      {
         word pd223;
         pd223 = (* (( (ptr) (* (( (ptr) gf←c61416)+274)/* var←c55848 */  ))+15) );
         if (( (int)(word) ( *( (fPt) ((*  (ptr) pd223 ))))((* ((( (ptr) &var←c61384)+4)/* txt←v12968 */ ) ), pd223) ==  (int)0)) {
SOURCE(23389, 22)
            (void) PleaseSelectFileName←P1860();
SOURCE(23413, 10)
            goto lab←L100085;
            };
         };
SOURCE(23426, 10300)
      if ((0 != (word) IsAWorkingDirectory←P2940((* ((( (ptr) &var←c61384)+4)/* txt←v12968 */ ) )))) {
SOURCE(23459, 393)
         {
            word wDir←v20360;
SOURCE(23461, 54)
            wDir←v20360 = (word) CanonicalWorkingDirectory←P3000((* (( (ptr) &var←c61384)+4)/* txt←v12968 */  ), (* (( (ptr) &var←c61384)+7)
               /* parentDir←v20232 */  ));
SOURCE(23517, 66)
            if ((wDir←v20360 == 0)) {
SOURCE(23536, 47)
               (void) Flash←P1800((* (( (ptr) &var←c61384)+4)/* txt←v12968 */  ), (* (( (ptr) gf←c61416)+53) ));
SOURCE(23585, 10)
               goto lab←L100085;
               };
SOURCE(23598, 10128)
            {
               word var←c57032;
               var←c57032 = op←v13052;
               switch (var←c57032) {
                  case 0: 
SOURCE(23621, 50)
                     {
                        word var←c57064;
                        var←c57064 = parent←v13024;
                        viewer←v13152 = parent←v13024;
                        (void) DoEmptyViewer←P3120(var←c57064, wDir←v20360);
                        };
                     break;
                  case 1: 
SOURCE(23681, 10045)
                     viewer←v13152 = (word) MakeNewViewer←P1440(column←v12996, parent←v13024, wDir←v20360);
                     break;
                  case 2: 
SOURCE(23760, 9966)
                     viewer←v13152 = (word) ReplaceByNewViewer←P1560(parent←v13024, wDir←v20360);
                     break;
                  default: 
SOURCE(23828, 5)
                     (void) XR←RaiseUnnamedError();
                     break;
                  };
               };
SOURCE(23835, 15)
            return(viewer←v13152);
            };
         };
SOURCE(23857, 9869)
      {
         word var←c021;
         {
            word var←c0868;
            var←c0868 = (word) &var←c61384;
            var←c021 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8808) ), ( ((word)  (fPt) NoName←Q9708) ), var←c0868);
            };
         if ((var←c021 == 11)) {
            goto lab←L100085;
            };
         };
SOURCE(24334, 9392)
      viewer←v13152 = (word) CreateAndFillTiogaViewer←P2160(parent←v13024, column←v12996, (* (( (ptr) &var←c61384)+8)/* file←v20260 */  ), (* (
            ( (ptr) &var←c61384)+9)/* specificVersion←v20288 */  ), op←v13052, 0
         , (* (( (ptr) &var←c61384)+10)/* search←v20316 */  ), 1);
      };
   goto lab←L100088;
   lab←L100085: ;
SOURCE(24437, 12)
   return(0);
   lab←L100088: ;
SOURCE(22925, 10801)
   return(viewer←v13152);
   }

static word NoName←Q8808(formal←c0805)
   word formal←c0805;
   {
   register ptr gf←c0804 =  (ptr) &globalframe;
SOURCE(23986, 9740)
   {
      word var←c57128;
      var←c57128 = (* (( (ptr) formal←c0805)+5) );
      if ((var←c57128 == 0)) {
SOURCE(24016, 9710)
         {
            W3 var←c57160;
            (void) LookupSource←P2760((word) &var←c57160, (* (( (ptr) formal←c0805)+4) ), (* (( (ptr) formal←c0805)+7) ), (* (( (ptr) formal←c0805)+6)
                ));
            (* (( (ptr) formal←c0805)+10) ) = var←c57160.f2;
            (* (( (ptr) formal←c0805)+9) ) = var←c57160.f1;
            (* (( (ptr) formal←c0805)+8) ) = var←c57160.f0;
            };
         }
      else {
         if ((var←c57128 == 1)) {
SOURCE(24171, 9555)
            {
               W2 var←c57192;
               (void) LookupImpl←P2820((word) &var←c57192, (* (( (ptr) formal←c0805)+4) ), (* (( (ptr) formal←c0805)+7) ));
               (* (( (ptr) formal←c0805)+10) ) = var←c57192.f1;
               (* (( (ptr) formal←c0805)+8) ) = var←c57192.f0;
               };
            }
         else {
SOURCE(24252, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
SOURCE(24259, 57)
   if (((* (( (ptr) formal←c0805)+8) ) == 0)) {
SOURCE(24291, 25)
      (void) Flash←P1800((* (( (ptr) formal←c0805)+4) ), (* (( (ptr) gf←c0804)+54) ));
SOURCE(24318, 10)
      return(11);
      };
   return(0);
   }

static void DoEmptyViewer←P3120(formal←c0963, formal←c0964)
   word formal←c0963;
   word formal←c0964;
   {
   W8 var←c61448;
   /* declaration of parent←v13212 skipped */ 
   /* declaration of wDir←v13240 skipped */ 
   register ptr gf←c61480 =  (ptr) &globalframe;
   /* declaration of var←c57224 skipped */ 
   var←c61448.f4/* parent←v13212 */  = formal←c0963;
   var←c61448.f5/* wDir←v13240 */  = formal←c0964;
   /* DoEmptyViewer: */ 
SOURCE(24454, 9272)
   {
      word tmpAddr224;
      tmpAddr224 = (word) (( (ptr) &var←c61448)+6)/* var←c57224 */ ;
      (*  (ptr) tmpAddr224 ) = ( ((word)  (fPt) inner←P7008) );
      (* (( (ptr) tmpAddr224) + 1) ) = 1;
      };
SOURCE(25616, 63)
   if ((var←c61448.f4/* parent←v13212 */  != 0)) {
SOURCE(25637, 42)
      (void) LockTheWorks←P5100((word) (( (bPt) &var←c61448)+24)/* var←c57224 */ , var←c61448.f4/* parent←v13212 */ , (* (( (ptr) gf←c61480)+55)
          ));
      };
   }

static void inner←P7008(formal←c0965, formal←c61576)
   word formal←c0965;
   word formal←c61576;
   {
   W6 var←c61512;
   /* declaration of tdd←v20480 skipped */ 
   register ptr gf←c61544 =  (ptr) &globalframe;
   /* declaration of link1←v20508 skipped */ 
   word link2←v20536 = 0;
   formal←c61576 = (formal←c61576 - 24);
   var←c61512.f4/* tdd←v20480 */  = formal←c0965;
   var←c61512.f0 = formal←c61576;
   /* inner: */ 
SOURCE(24513, 9213)
SOURCE(24568, 27)
   var←c61512.f5/* link1←v20508 */  = (* (( (ptr) (* (( (ptr) formal←c61576)+4) ))+21) );
SOURCE(24618, 9108)
   if (((* (( (ptr) formal←c61576)+5) ) == 0)) {
SOURCE(24635, 9091)
      (* (( (ptr) formal←c61576)+5) ) = (word) WorkingDirectoryFromViewer←P2880((* ((( (ptr) formal←c61576)+4)) ));
      };
SOURCE(24678, 46)
   {
      word pd225;
      pd225 = (* (( (ptr) (* (( (ptr) gf←c61544)+269)/* var←c55400 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd225 ))))(0, (* (( (ptr) gf←c61544)+55) ), pd225);
      };
SOURCE(24728, 8998)
   {
      word var←c0869;
      var←c0869 = (word) &var←c61512;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q8868) ), ( ((word)  (fPt) NoName←Q9648) ), var←c0869);
      };
SOURCE(25578, 33)
   {
      word pd226;
      pd226 = (* (( (ptr) (* (( (ptr) gf←c61544)+269)/* var←c55400 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd226 ))))(0, pd226);
      };
   }

static word NoName←Q8868(formal←c0810)
   word formal←c0810;
   {
   register ptr gf←c0809 =  (ptr) &globalframe;
SOURCE(24780, 21)
   {
      word prop←v20580 = 0;
SOURCE(24803, 8923)
      {
         word var←c57256;
         word pd227;
         pd227 = (* (( (ptr) (* (( (ptr) gf←c0809)+265)/* var←c54952 */  ))+5) );
         var←c57256 = (word) ( *( (fPt) ((*  (ptr) pd227 ))))((* (( (ptr) formal←c0810)+4) ), (* (( (ptr) gf←c0809)+55) ), 0, 0, pd227)
         ;
         };
SOURCE(24855, 22)
      (void) KillSelections←P1260((* ((( (ptr) (*  (ptr) formal←c0810 ))+4)) ));
SOURCE(24879, 23)
      (void) SaveLoadHistory←P720((* ((( (ptr) (*  (ptr) formal←c0810 ))+4)) ));
SOURCE(24904, 8822)
      {
         word pd228;
         pd228 = (* (( (ptr) (* (( (ptr) gf←c0809)+263)/* var←c54696 */  ))+29) );
         prop←v20580 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd228 ))))((* (( (ptr) (*  (ptr) formal←c0810 ))+4) ), (* (( (ptr) gf←c0809)+23)
                ), pd228), (* (( (ptr) gf←c0809)+22) ));
         };
      if (((* (( (ptr) formal←c0810)+5) ) != 0)) {
SOURCE(25010, 19)
         (void) CancelLinks←P1320((* ((( (ptr) (*  (ptr) formal←c0810 ))+4)) ));
         }
      else {
         if ( (  ( ((* (( (bPt) (* (( (ptr) (*  (ptr) formal←c0810 ))+4) ))+76) ) & 04) ?  ! ((* (( (bPt) (* (( (ptr) (*  (ptr) formal←c0810 ))+4)
             ))+77) ) & 020) : 0 )  ? ((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0810 ))+4) ))+14) ) != 0) : 0 ) ) {
SOURCE(25101, 65)
            {
               word pd229;
               pd229 = (* (( (ptr) (* (( (ptr) gf←c0809)+271)/* var←c55528 */  ))+4) );
               (void) ( *( (fPt) ((*  (ptr) pd229 ))))((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0810 ))+4) ))+14) ), (*  (ptr) (* (( (ptr) formal←c0810)+4)
                   ) ), pd229);
               };
            }
         else {
SOURCE(25179, 29)
            {
               word pd230;
               pd230 = (* (( (ptr) (* (( (ptr) gf←c0809)+280)/* var←c56552 */  ))+34) );
               (void) ( *( (fPt) ((*  (ptr) pd230 ))))((*  (ptr) ((* (( (ptr) formal←c0810)+4) )) ), pd230);
               };
            };
         };
SOURCE(25210, 18)
      (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0810 ))+4) ))+13) ) = (* (( (ptr) (*  (ptr) formal←c0810 ))+5) );
SOURCE(25230, 17)
      (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0810 ))+4) ))+14) ) = 0;
SOURCE(25249, 42)
      (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0810 ))+4) )) + 19) ) &= 4261412863;
      (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c0810 ))+4) )) + 19) ) &= 4227858431;
SOURCE(25293, 15)
      (*  (ptr) (* (( (ptr) formal←c0810)+4) ) ) = 0;
SOURCE(25344, 46)
      {
         word pd231;
         pd231 = (* (( (ptr) (* (( (ptr) gf←c0809)+271)/* var←c55528 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd231 ))))((* (( (ptr) (*  (ptr) formal←c0810 ))+4) ), 0, pd231);
         };
SOURCE(25392, 25)
      {
         word pd232;
         pd232 = (* (( (ptr) (* (( (ptr) gf←c0809)+265)/* var←c54952 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd232 ))))((* ((( (ptr) formal←c0810)+4)) ), pd232);
         };
SOURCE(25419, 28)
      (void) ClearPositionHistory←P840((* ((( (ptr) (*  (ptr) formal←c0810 ))+4)) ));
SOURCE(25449, 45)
      {
         word pd233;
         pd233 = (* (( (ptr) (* (( (ptr) gf←c0809)+263)/* var←c54696 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd233 ))))((* (( (ptr) (*  (ptr) formal←c0810 ))+4) ), (* (( (ptr) gf←c0809)+23) ), prop←v20580, pd233)
         ;
         };
SOURCE(25520, 26)
      (void) ViewerPainter←P1200((* (( (ptr) (*  (ptr) formal←c0810 ))+4) ), 0);
SOURCE(25548, 25)
      (void) ForceInitialCaret←P120((* ((( (ptr) (*  (ptr) formal←c0810 ))+4)) ));
      };
   return(0);
   }

static void EmptyViewer←P3180(parent←v13300)
   word parent←v13300;
   {
   /* EmptyViewer: */ 
SOURCE(25685, 67)
SOURCE(25731, 21)
   (void) DoEmptyViewer←P3120(parent←v13300, 0);
   }

static word DoNewViewer←P3240(formal←c0966, formal←c0967)
   word formal←c0966;
   word formal←c0967;
   {
   W7 var←c61608;
   /* declaration of column←v13360 skipped */ 
   /* declaration of parent←v13388 skipped */ 
   register ptr gf←c61640 =  (ptr) &globalframe;
   /* declaration of new←v13432 skipped */ 
   var←c61608.f4/* column←v13360 */  = formal←c0966;
   var←c61608.f5/* parent←v13388 */  = formal←c0967;
   /* DoNewViewer: */ 
SOURCE(25758, 7968)
SOURCE(25758, 7968)
   var←c61608.f6/* new←v13432 */  = 0;
SOURCE(25848, 46)
   {
      word pd234;
      pd234 = (* (( (ptr) (* (( (ptr) gf←c61640)+269)/* var←c55400 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd234 ))))(0, (* (( (ptr) gf←c61640)+56) ), pd234);
      };
SOURCE(25898, 7828)
   {
      word var←c0870;
      var←c0870 = (word) &var←c61608;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q8928) ), ( ((word)  (fPt) NoName←Q9588) ), var←c0870);
      };
SOURCE(26014, 33)
   {
      word pd235;
      pd235 = (* (( (ptr) (* (( (ptr) gf←c61640)+269)/* var←c55400 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd235 ))))(0, pd235);
      };
SOURCE(25758, 7968)
   return(var←c61608.f6/* new←v13432 */ );
   }

static word NoName←Q8928(formal←c0812)
   word formal←c0812;
   {
SOURCE(25950, 7776)
   (* (( (ptr) formal←c0812)+6) ) = (word) MakeNewViewer←P1440((* (( (ptr) formal←c0812)+4) ), (* (( (ptr) formal←c0812)+5) ), 0)
   ;
SOURCE(25987, 22)
   (void) ForceInitialCaret←P120((* ((( (ptr) formal←c0812)+6)) ));
   return(0);
   }

static void NewViewer←P3300(parent←v13492)
   word parent←v13492;
   {
   /* NewViewer: */ 
SOURCE(26053, 7673)
SOURCE(26097, 7629)
   {
      word var←c57320;
      {
         word var←c57288;
         var←c57288 = (word) ColumnOf←P60(parent←v13492);
         var←c57320 = (word) DoNewViewer←P3240(var←c57288, parent←v13492);
         };
      };
   }

static word DoCloseAndNewViewer←P3360(formal←c0968)
   word formal←c0968;
   {
   W6 var←c61672;
   /* declaration of parent←v13552 skipped */ 
   register ptr gf←c61704 =  (ptr) &globalframe;
   /* declaration of new←v13596 skipped */ 
   var←c61672.f4/* parent←v13552 */  = formal←c0968;
   /* DoCloseAndNewViewer: */ 
SOURCE(26161, 7565)
SOURCE(26161, 7565)
   var←c61672.f5/* new←v13596 */  = 0;
SOURCE(26237, 54)
   {
      word pd236;
      pd236 = (* (( (ptr) (* (( (ptr) gf←c61704)+269)/* var←c55400 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd236 ))))(0, (* (( (ptr) gf←c61704)+57) ), pd236);
      };
SOURCE(26295, 7431)
   {
      word var←c0871;
      var←c0871 = (word) &var←c61672;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q8988) ), ( ((word)  (fPt) NoName←Q9528) ), var←c0871);
      };
SOURCE(26408, 33)
   {
      word pd237;
      pd237 = (* (( (ptr) (* (( (ptr) gf←c61704)+269)/* var←c55400 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd237 ))))(0, pd237);
      };
SOURCE(26161, 7565)
   return(var←c61672.f5/* new←v13596 */ );
   }

static word NoName←Q8988(formal←c0814)
   word formal←c0814;
   {
SOURCE(26347, 7379)
   (* (( (ptr) formal←c0814)+5) ) = (word) ReplaceByNewViewer←P1560((* (( (ptr) formal←c0814)+4) ), 0);
SOURCE(26381, 22)
   (void) ForceInitialCaret←P120((* ((( (ptr) formal←c0814)+5)) ));
   return(0);
   }

static void CloseAndNewViewer←P3420(parent←v13656)
   word parent←v13656;
   {
   /* CloseAndNewViewer: */ 
SOURCE(26447, 7279)
SOURCE(26499, 7227)
   {
      word var←c57352;
      var←c57352 = (word) DoCloseAndNewViewer←P3360(parent←v13656);
      };
   }

static word DoLoadFile←P3480(parent←v13716, fileName←v13744, close←v13772, fileNameProcViewer←v13800)
   word parent←v13716;
   word fileName←v13744;
   word close←v13772;
   word fileNameProcViewer←v13800;
   {
   word viewer←v13844;
   /* DoLoadFile: */ 
SOURCE(26537, 7189)
SOURCE(26537, 7189)
   viewer←v13844 = 0;
SOURCE(26684, 7042)
   {
      word var←c57384;
      var←c57384 = (word) ColumnOf←P60(parent←v13716);
      viewer←v13844 = (word) DoGetFile←P3060(fileName←v13744, var←c57384, parent←v13716,  ( (0 != close←v13772) ? 2 : 0 ) , 0, fileNameProcViewer←v13800)
      ;
      };
SOURCE(26537, 7189)
   return(viewer←v13844);
   }

static void LoadFile←P3540(parent←v13904)
   word parent←v13904;
   {
   /* LoadFile: */ 
SOURCE(26861, 6865)
SOURCE(26904, 6822)
   {
      word var←c57416;
      var←c57416 = (word) DoLoadFile←P3480(parent←v13904, 0, 0, 0);
      };
   }

static word DoOpenFile←P3600(fileName←v13964, column←v13992, parent←v14020, fileNameProcViewer←v14048)
   word fileName←v13964;
   word column←v13992;
   word parent←v14020;
   word fileNameProcViewer←v14048;
   {
   word viewer←v14092;
   /* DoOpenFile: */ 
SOURCE(26970, 6756)
SOURCE(26970, 6756)
   viewer←v14092 = 0;
SOURCE(27118, 6608)
   viewer←v14092 = (word) DoGetFile←P3060(fileName←v13964, column←v13992, parent←v14020, 1, 0, fileNameProcViewer←v14048);
SOURCE(26970, 6756)
   return(viewer←v14092);
   }

static void OpenFile←P3660(parent←v14152)
   word parent←v14152;
   {
   /* OpenFile: */ 
SOURCE(27258, 6468)
SOURCE(27301, 6425)
   {
      word var←c57480;
      {
         word var←c57448;
         var←c57448 = (word) ColumnOf←P60(parent←v14152);
         var←c57480 = (word) DoOpenFile←P3600(0, var←c57448, parent←v14152, 0);
         };
      };
   }

static word DoCloseAndOpenFile←P3720(parent←v14212, fileName←v14240)
   word parent←v14212;
   word fileName←v14240;
   {
   word viewer←v14284;
   /* DoCloseAndOpenFile: */ 
SOURCE(27379, 6347)
SOURCE(27379, 6347)
   viewer←v14284 = 0;
SOURCE(27479, 6247)
   {
      word var←c57512;
      var←c57512 = (word) ColumnOf←P60(parent←v14212);
      viewer←v14284 = (word) DoGetFile←P3060(fileName←v14240, var←c57512, parent←v14212, 2, 0, 0);
      };
SOURCE(27379, 6347)
   return(viewer←v14284);
   }

static void CloseAndOpenFile←P3780(parent←v14344, fileNameProcViewer←v14372)
   word parent←v14344;
   word fileNameProcViewer←v14372;
   {
   /* CloseAndOpenFile: */ 
SOURCE(27591, 6135)
SOURCE(27676, 6050)
   {
      word var←c57576;
      {
         word var←c57544;
         var←c57544 = (word) ColumnOf←P60(parent←v14344);
         var←c57576 = (word) DoGetFile←P3060(0, var←c57544, parent←v14344, 2, 0, fileNameProcViewer←v14372);
         };
      };
   }

static word DoLoadImplFile←P3840(parent←v14432, fileName←v14460, close←v14488)
   word parent←v14432;
   word fileName←v14460;
   word close←v14488;
   {
   word viewer←v14532;
   /* DoLoadImplFile: */ 
SOURCE(27819, 5907)
SOURCE(27819, 5907)
   viewer←v14532 = 0;
SOURCE(27936, 5790)
   {
      word var←c57608;
      var←c57608 = (word) ColumnOf←P60(parent←v14432);
      viewer←v14532 = (word) DoGetFile←P3060(fileName←v14460, var←c57608, parent←v14432,  ( (0 != close←v14488) ? 2 : 0 ) , 1, 0)
      ;
      };
SOURCE(27819, 5907)
   return(viewer←v14532);
   }

static void LoadImplFile←P3900(parent←v14592)
   word parent←v14592;
   {
   /* LoadImplFile: */ 
SOURCE(28071, 5655)
SOURCE(28118, 5608)
   {
      word var←c57640;
      var←c57640 = (word) DoLoadImplFile←P3840(parent←v14592, 0, 0);
      };
   }

static word DoOpenImplFile←P3960(fileName←v14652, column←v14680, parent←v14708)
   word fileName←v14652;
   word column←v14680;
   word parent←v14708;
   {
   word viewer←v14752;
   /* DoOpenImplFile: */ 
SOURCE(28174, 5552)
SOURCE(28174, 5552)
   viewer←v14752 = 0;
SOURCE(28292, 5434)
   viewer←v14752 = (word) DoGetFile←P3060(fileName←v14652, column←v14680, parent←v14708, 1, 1, 0);
SOURCE(28174, 5552)
   return(viewer←v14752);
   }

static void OpenImplFile←P4020(parent←v14812)
   word parent←v14812;
   {
   /* OpenImplFile: */ 
SOURCE(28389, 5337)
SOURCE(28436, 5290)
   {
      word var←c57704;
      {
         word var←c57672;
         var←c57672 = (word) ColumnOf←P60(parent←v14812);
         var←c57704 = (word) DoOpenImplFile←P3960(0, var←c57672, parent←v14812);
         };
      };
   }

static word DoCloseAndOpenImplFile←P4080(parent←v14872, fileName←v14900)
   word parent←v14872;
   word fileName←v14900;
   {
   word viewer←v14944;
   /* DoCloseAndOpenImplFile: */ 
SOURCE(28518, 5208)
SOURCE(28518, 5208)
   viewer←v14944 = 0;
SOURCE(28622, 5104)
   {
      word var←c57736;
      var←c57736 = (word) ColumnOf←P60(parent←v14872);
      viewer←v14944 = (word) DoGetFile←P3060(fileName←v14900, var←c57736, parent←v14872, 2, 1, 0);
      };
SOURCE(28518, 5208)
   return(viewer←v14944);
   }

static void CloseAndOpenImplFile←P4140(parent←v15004)
   word parent←v15004;
   {
   /* CloseAndOpenImplFile: */ 
SOURCE(28732, 4994)
SOURCE(28787, 4939)
   {
      word var←c57768;
      var←c57768 = (word) DoCloseAndOpenImplFile←P4080(parent←v15004, 0);
      };
   }

static void PreLoadPrevious←P4200(parent←v42000, clientData←v42028, mouseButton←v42056, shift←v42084, control←v42112)
   word parent←v42000;
   word clientData←v42028;
   word mouseButton←v42056;
   word shift←v42084;
   word control←v42112;
   {
   register ptr gf←c61736 =  (ptr) &globalframe;
   word viewer←v20636;
   word tdd←v20664 = 0;
   word prop←v20692 = 0;
   word propName←v20720 = 0;
   /* PreLoadPrevious: */ 
SOURCE(28833, 4893)
SOURCE(28911, 31)
   viewer←v20636 = parent←v42000;
SOURCE(29021, 25)
   tdd←v20664 = XR←Narrow((* (( (ptr) viewer←v20636)+26) ), (* (( (ptr) gf←c61736)+21) ));
SOURCE(29048, 24)
   if ((tdd←v20664 == 0)) {
SOURCE(29066, 6)
      return;
      };
SOURCE(29074, 4652)
   {
      word var←c57800;
      word pd238;
      pd238 = (* (( (ptr) (* (( (ptr) gf←c61736)+265)/* var←c54952 */  ))+5) );
      var←c57800 = (word) ( *( (fPt) ((*  (ptr) pd238 ))))(tdd←v20664, (* (( (ptr) gf←c61736)+58) ), 0, 0, pd238);
      };
SOURCE(29130, 4596)
   {
      word pd239;
      pd239 = (* (( (ptr) (* (( (ptr) gf←c61736)+263)/* var←c54696 */  ))+29) );
      prop←v20692 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd239 ))))(viewer←v20636, (* (( (ptr) gf←c61736)+23) ), pd239), (* (
            ( (ptr) gf←c61736)+22) ));
      };
SOURCE(29188, 25)
   {
      word pd240;
      pd240 = (* (( (ptr) (* (( (ptr) gf←c61736)+265)/* var←c54952 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd240 ))))(tdd←v20664, pd240);
      };
SOURCE(29215, 4511)
   {
      word pd242;
      if ((prop←v20692 == 0)) { goto then0241;};
      pd242 = (* (( (ptr) (* (( (ptr) gf←c61736)+274)/* var←c55848 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd242 ))))((*  (ptr) prop←v20692 ), (* (( (ptr) viewer←v20636)+14) ), 0, pd242))) {
         then0241: ;
SOURCE(29279, 57)
         (void) Flash←P1800((* (( (ptr) gf←c61736)+59) ), 0);
SOURCE(29338, 6)
         return;
         };
      };
SOURCE(29349, 20)
   propName←v20720 = (*  (ptr) prop←v20692 );
SOURCE(29371, 79)
   (void) Report←P1740(propName←v20720, (* (( (ptr) gf←c61736)+60) ), 0, 0, 0);
   }

static void DoLoadPreviousFile←P4260(parent←v15064, op←v15092)
   word parent←v15064;
   word op←v15092;
   {
   W7 var←c61768;
   register ptr gf←c61800 =  (ptr) &globalframe;
   /* DoLoadPreviousFile: */ 
SOURCE(29456, 4270)
SOURCE(29512, 4214)
SOURCE(29514, 4212)
   {
      word var←c57832;
      var←c57832 = (* (( (ptr) parent←v15064)+26) );
      if ((var←c57832 == 0)) {
         goto lab←L100096;
         };
      if (((* (( (ptr) gf←c61800)+21) ) == XR←GetReferentType(var←c57832))) {
         {
            word tdd←v20776;
            tdd←v20776 = var←c57832;
SOURCE(29583, 673)
            {
               word prop←v20820 = 0;
               word propName←v20848 = 0;
               word propPlace←v20876;
               word file←v20904 = 0;
SOURCE(29660, 4066)
               {
                  word var←c57864;
                  word pd243;
                  pd243 = (* (( (ptr) (* (( (ptr) gf←c61800)+265)/* var←c54952 */  ))+5) );
                  var←c57864 = (word) ( *( (fPt) ((*  (ptr) pd243 ))))(tdd←v20776, (* (( (ptr) gf←c61800)+61) ), 0, 0, pd243);
                  };
SOURCE(29719, 4007)
               {
                  word pd244;
                  pd244 = (* (( (ptr) (* (( (ptr) gf←c61800)+263)/* var←c54696 */  ))+29) );
                  prop←v20820 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd244 ))))(parent←v15064, (* (( (ptr) gf←c61800)+23) ), pd244), (* (
                        ( (ptr) gf←c61800)+22) ));
                  };
SOURCE(29777, 25)
               {
                  word pd245;
                  pd245 = (* (( (ptr) (* (( (ptr) gf←c61800)+265)/* var←c54952 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd245 ))))(tdd←v20776, pd245);
                  };
SOURCE(29804, 3922)
               {
                  word pd247;
                  if ((prop←v20820 == 0)) { goto then0246;};
                  pd247 = (* (( (ptr) (* (( (ptr) gf←c61800)+274)/* var←c55848 */  ))+8) );
                  if ((0 != (word) ( *( (fPt) ((*  (ptr) pd247 ))))((*  (ptr) prop←v20820 ), (* (( (ptr) parent←v15064)+14) ), 0, pd247))) {
                     then0246: ;
SOURCE(29870, 57)
                     (void) Flash←P1800((* (( (ptr) gf←c61800)+59) ), 0);
SOURCE(29929, 7)
                     return;
                     };
                  };
SOURCE(29939, 20)
               propName←v20848 = (*  (ptr) prop←v20820 );
SOURCE(29961, 22)
               propPlace←v20876 = (* (( (ptr) prop←v20820)+1) );
SOURCE(29985, 3741)
               {
                  /* declaration of var←c57896 skipped */ 
                  {
                     word pd248;
                     pd248 = (* (( (ptr) (* (( (ptr) gf←c61800)+276)/* var←c56040 */  ))+5) );
                     var←c61768.f4/* var←c57896 */  = (word) ( *( (fPt) ((*  (ptr) pd248 ))))(propName←v20848, pd248);
                     };
                  {
                     /* declaration of var←c022 skipped */ 
                     var←c61768.f5/* var←c022 */  = (* (( (ptr) (* (( (ptr) gf←c61800)+276)/* var←c56040 */  ))+18) );
                     {
                        /* declaration of var←c023 skipped */ 
                        {
                           word var←c024;
                           {
/*1*/   word var←c0872;
/*1*/   var←c0872 = (word) &var←c61768;
/*1*/   var←c024 = (word) XR←Enable(( ((word)  (fPt) NoName←Q9048) ), ( ((word)  (fPt) NoName←Q9468) ), var←c0872);
/*1*/   };
                           if ((var←c024 == 12)) {
/*1*/   goto lab←L100095;
/*1*/   };
                           };
                        file←v20904 = var←c61768.f6/* var←c023 */ ;
                        };
                     };
                  };
SOURCE(30085, 3641)
               {
                  word var←c57992;
                  {
                     word var←c57928;
                     word var←c57960;
                     var←c57928 = (word) ColumnOf←P60(parent←v15064);
                     {
                        word pd249;
                        pd249 = (* (( (ptr) (* (( (ptr) gf←c61800)+274)/* var←c55848 */  ))+11) );
                        var←c57960 =  (unsigned) ( (int)(word) ( *( (fPt) ((*  (ptr) pd249 ))))(propName←v20848, (* (( (ptr) gf←c61800)+34) ), 0, 1, pd249)
                         >=  (int)0);
                        };
                     var←c57992 = (word) CreateAndFillTiogaViewer←P2160(parent←v15064, var←c57928, file←v20904, var←c57960, op←v15092, propPlace←v20876
                        , 0, 0);
                     };
                  };
               };
            };
         }
      else {
         lab←L100096: ;
         };
      };
   goto lab←L100099;
   lab←L100095: ;
   lab←L100099: ;
   }

static word NoName←Q9048(formal←c0818)
   word formal←c0818;
   {
   register ptr gf←c0817 =  (ptr) &globalframe;
SOURCE(29985, 3741)
   {
      word pd250;
      pd250 = (* (( (ptr) formal←c0818)+5) );
      (* (( (ptr) formal←c0818)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd250 ))))((* (( (ptr) formal←c0818)+4) ), 0, (*  (W4Pt) (( (ptr) gf←c0817)+252)
         /* var←c54408 */  ), 0, 0, (*  (W5Pt) (( (ptr) gf←c0817)+256)/* var←c54472 */  ), pd250);
      };
   return(0);
   }

static void LoadPreviousFile←P4320(parent←v15152)
   word parent←v15152;
   {
   /* LoadPreviousFile: */ 
SOURCE(30292, 96)
SOURCE(30343, 45)
   (void) DoLoadPreviousFile←P4260(parent←v15152, 0);
   }

static void OpenPreviousFile←P4380(parent←v15212)
   word parent←v15212;
   {
   /* OpenPreviousFile: */ 
SOURCE(30394, 96)
SOURCE(30445, 45)
   (void) DoLoadPreviousFile←P4260(parent←v15212, 1);
   }

static void CloseAndOpenPreviousFile←P4440(parent←v15272)
   word parent←v15272;
   {
   /* CloseAndOpenPreviousFile: */ 
SOURCE(30496, 107)
SOURCE(30555, 48)
   (void) DoLoadPreviousFile←P4260(parent←v15272, 2);
   }

static word ForceCharLower←P4500(old←v15332)
   word old←v15332;
   {
   word new←v15376;
   /* ForceCharLower: */ 
SOURCE(30609, 3117)
SOURCE(30666, 3060)
   if (((old←v15332 - 65) <= 25)) {
      return((old←v15332 + 32));
      }
   else {
      return(old←v15332);
      };
   }

static word ForceLower←P4560(r←v15436)
   word r←v15436;
   {
   register ptr gf←c61832 =  (ptr) &globalframe;
   word var←c15480;
   /* ForceLower: */ 
SOURCE(30697, 3029)
SOURCE(30743, 2983)
   {
      word pd251;
      pd251 = (* (( (ptr) (* (( (ptr) gf←c61832)+274)/* var←c55848 */  ))+27) );
      return((word) ( *( (fPt) ((*  (ptr) pd251 ))))(r←v15436, 0, 2147483647, (word) (( (bPt) gf←c61832)+400)/* var←c51944 */ , pd251)
      );
      };
   }

static void GetCreateName←P4620(formal←c0541, parent←v15612, name←v15640)
   word formal←c0541;
   word parent←v15612;
   word name←v15640;
   {
   W7 var←c61864;
   register ptr gf←c61896 =  (ptr) &globalframe;
   W2 fName←v15684;
   /* GetCreateName: */ 
SOURCE(30878, 2848)
SOURCE(30878, 2848)
   fName←v15684.f0 = 0;
   fName←v15684.f1 = 0;
SOURCE(30965, 2761)
SOURCE(30967, 47)
   {
      word wDir←v20960;
      /* declaration of namePath←v20988 skipped */ 
SOURCE(30967, 47)
      wDir←v20960 = (word) WorkingDirectoryFromViewer←P2880(parent←v15612);
SOURCE(31016, 94)
      {
         word var←c58056;
         word var←c58088;
         {
            word pd252;
            pd252 = (* (( (ptr) (* (( (ptr) gf←c61896)+276)/* var←c56040 */  ))+5) );
            var←c58056 = (word) ( *( (fPt) ((*  (ptr) pd252 ))))(name←v15640, pd252);
            };
         {
            word pd253;
            pd253 = (* (( (ptr) (* (( (ptr) gf←c61896)+276)/* var←c56040 */  ))+5) );
            var←c58088 = (word) ( *( (fPt) ((*  (ptr) pd253 ))))(wDir←v20960, pd253);
            };
         {
            word pd254;
            pd254 = (* (( (ptr) (* (( (ptr) gf←c61896)+276)/* var←c56040 */  ))+8) );
            var←c61864.f4/* namePath←v20988 */  = (word) ( *( (fPt) ((*  (ptr) pd254 ))))(var←c58056, var←c58088, pd254);
            };
         };
SOURCE(31112, 2614)
      {
         word var←c58120;
         {
            /* declaration of var←c025 skipped */ 
            var←c61864.f5/* var←c025 */  = (* (( (ptr) (* (( (ptr) gf←c61896)+282)/* var←c58152 */  ))+24) );
            {
               /* declaration of var←c026 skipped */ 
               {
                  word var←c027;
                  {
                     word var←c0873;
                     var←c0873 = (word) &var←c61864;
                     var←c027 = (word) XR←Enable(( ((word)  (fPt) NoName←Q9108) ), ( ((word)  (fPt) NoName←Q9408) ), var←c0873);
                     };
                  if ((var←c027 == 13)) {
                     goto lab←L100101;
                     };
                  };
               var←c58120 = var←c61864.f6/* var←c026 */ ;
               };
            };
         {
            word pd255;
            pd255 = (* (( (ptr) (* (( (ptr) gf←c61896)+276)/* var←c56040 */  ))+4) );
            fName←v15684.f0 = (word) ( *( (fPt) ((*  (ptr) pd255 ))))(var←c58120, 0, pd255);
            };
         };
SOURCE(31212, 2514)
      {
         word var←c58184;
         {
            word var←c58216;
            var←c58216 = (word) GetExtension←P4800(name←v15640, wDir←v20960);
            var←c58184 = (word) ForceLower←P4560(var←c58216);
            };
         {
            word pd256;
            pd256 = (* (( (ptr) (* (( (ptr) gf←c61896)+283)/* var←c58248 */  ))+5) );
            fName←v15684.f1 = (word) ( *( (fPt) ((*  (ptr) pd256 ))))(var←c58184, 0, 2147483647, pd256);
            };
         };
      };
   goto lab←L100104;
   lab←L100101: ;
SOURCE(31297, 44)
   {
      word pd257;
      pd257 = (* (( (ptr) (* (( (ptr) gf←c61896)+268)/* var←c55368 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd257 ))))(0, (word) (( (bPt) gf←c61896)+744)/* var←c53320 */ , 0, pd257);
      };
   lab←L100104: ;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0541 ) = fName←v15684;
   return;
   }

static word NoName←Q9108(formal←c0821)
   word formal←c0821;
   {
SOURCE(31112, 2614)
   {
      word pd258;
      pd258 = (* (( (ptr) formal←c0821)+5) );
      (* (( (ptr) formal←c0821)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd258 ))))((* ((( (ptr) formal←c0821)+4)) ), pd258);
      };
   return(0);
   }

static word GetDirectory←P4680(name←v15744, wDir←v15772)
   word name←v15744;
   word wDir←v15772;
   {
   register ptr gf←c61928 =  (ptr) &globalframe;
   word ext←v15816;
   word namePath←v21032;
   /* GetDirectory: */ 
SOURCE(31347, 2379)
SOURCE(31347, 2379)
   ext←v15816 = 0;
SOURCE(31425, 94)
   {
      word var←c58280;
      word var←c58312;
      {
         word pd259;
         pd259 = (* (( (ptr) (* (( (ptr) gf←c61928)+276)/* var←c56040 */  ))+5) );
         var←c58280 = (word) ( *( (fPt) ((*  (ptr) pd259 ))))(name←v15744, pd259);
         };
      {
         word pd260;
         pd260 = (* (( (ptr) (* (( (ptr) gf←c61928)+276)/* var←c56040 */  ))+5) );
         var←c58312 = (word) ( *( (fPt) ((*  (ptr) pd260 ))))(wDir←v15772, pd260);
         };
      {
         word pd261;
         pd261 = (* (( (ptr) (* (( (ptr) gf←c61928)+276)/* var←c56040 */  ))+8) );
         namePath←v21032 = (word) ( *( (fPt) ((*  (ptr) pd261 ))))(var←c58280, var←c58312, pd261);
         };
      };
SOURCE(31521, 2205)
   {
      word var←c58376;
      {
         word pd262;
         pd262 = (* (( (ptr) (* (( (ptr) gf←c61928)+282)/* var←c58152 */  ))+30) );
         var←c58376 = (word) ( *( (fPt) ((*  (ptr) pd262 ))))(namePath←v21032, pd262);
         };
      {
         word pd263;
         pd263 = (* (( (ptr) (* (( (ptr) gf←c61928)+276)/* var←c56040 */  ))+4) );
         return((word) ( *( (fPt) ((*  (ptr) pd263 ))))(var←c58376, 0, pd263));
         };
      };
   }

static word GetBase←P4740(name←v15876)
   word name←v15876;
   {
   register ptr gf←c61960 =  (ptr) &globalframe;
   word base←v15920;
   word short←v21076;
   word pos←v21104;
   /* GetBase: */ 
SOURCE(31581, 2145)
SOURCE(31581, 2145)
   base←v15920 = 0;
SOURCE(31637, 80)
   {
      W5 comp←v51384;
      {
         word var←c58440;
         {
            word pd264;
            pd264 = (* (( (ptr) (* (( (ptr) gf←c61960)+276)/* var←c56040 */  ))+5) );
            var←c58440 = (word) ( *( (fPt) ((*  (ptr) pd264 ))))(name←v15876, pd264);
            };
         {
            word pd265;
            pd265 = (* (( (ptr) (* (( (ptr) gf←c61960)+282)/* var←c58152 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd265 ))))((word) &comp←v51384, var←c58440, pd265);
            };
         };
      {
         word pd266;
         pd266 = (* (( (ptr) (* (( (ptr) gf←c61960)+274)/* var←c55848 */  ))+17) );
         short←v21076 = (word) ( *( (fPt) ((*  (ptr) pd266 ))))(comp←v51384.f0, comp←v51384.f1, comp←v51384.f2, pd266);
         };
      };
SOURCE(31719, 26)
   {
      word pd267;
      pd267 = (* (( (ptr) (* (( (ptr) gf←c61960)+274)/* var←c55848 */  ))+11) );
      pos←v21104 = (word) ( *( (fPt) ((*  (ptr) pd267 ))))(short←v21076, (* (( (ptr) gf←c61960)+41) ), 0, 1, pd267);
      };
SOURCE(31747, 1979)
   if (( (int)pos←v21104 >=  (int)0)) {
SOURCE(31763, 1963)
      {
         word pd268;
         pd268 = (* (( (ptr) (* (( (ptr) gf←c61960)+274)/* var←c55848 */  ))+17) );
         base←v15920 = (word) ( *( (fPt) ((*  (ptr) pd268 ))))(short←v21076, 0, pos←v21104, pd268);
         };
      }
   else {
SOURCE(31796, 12)
      base←v15920 = short←v21076;
      };
SOURCE(31581, 2145)
   return(base←v15920);
   }

static word GetExtension←P4800(name←v15980, wDir←v16008)
   word name←v15980;
   word wDir←v16008;
   {
   register ptr gf←c61992 =  (ptr) &globalframe;
   word ext←v16052;
   word namePath←v21148;
   word short←v21176;
   word pos←v21204;
   /* GetExtension: */ 
SOURCE(31814, 1912)
SOURCE(31814, 1912)
   ext←v16052 = 0;
SOURCE(31880, 94)
   {
      word var←c58504;
      word var←c58536;
      {
         word pd269;
         pd269 = (* (( (ptr) (* (( (ptr) gf←c61992)+276)/* var←c56040 */  ))+5) );
         var←c58504 = (word) ( *( (fPt) ((*  (ptr) pd269 ))))(name←v15980, pd269);
         };
      {
         word pd270;
         pd270 = (* (( (ptr) (* (( (ptr) gf←c61992)+276)/* var←c56040 */  ))+5) );
         var←c58536 = (word) ( *( (fPt) ((*  (ptr) pd270 ))))(wDir←v16008, pd270);
         };
      {
         word pd271;
         pd271 = (* (( (ptr) (* (( (ptr) gf←c61992)+276)/* var←c56040 */  ))+8) );
         namePath←v21148 = (word) ( *( (fPt) ((*  (ptr) pd271 ))))(var←c58504, var←c58536, pd271);
         };
      };
SOURCE(31976, 66)
   {
      W5 comp←v51336;
      {
         word pd272;
         pd272 = (* (( (ptr) (* (( (ptr) gf←c61992)+282)/* var←c58152 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd272 ))))((word) &comp←v51336, namePath←v21148, pd272);
         };
      {
         word pd273;
         pd273 = (* (( (ptr) (* (( (ptr) gf←c61992)+274)/* var←c55848 */  ))+17) );
         short←v21176 = (word) ( *( (fPt) ((*  (ptr) pd273 ))))(comp←v51336.f0, comp←v51336.f1, comp←v51336.f2, pd273);
         };
      };
SOURCE(32044, 26)
   {
      word pd274;
      pd274 = (* (( (ptr) (* (( (ptr) gf←c61992)+274)/* var←c55848 */  ))+11) );
      pos←v21204 = (word) ( *( (fPt) ((*  (ptr) pd274 ))))(short←v21176, (* (( (ptr) gf←c61992)+41) ), 0, 1, pd274);
      };
SOURCE(32072, 1654)
   if (( (int)pos←v21204 >=  (int)0)) {
SOURCE(32088, 1638)
      {
         word pd275;
         pd275 = (* (( (ptr) (* (( (ptr) gf←c61992)+274)/* var←c55848 */  ))+17) );
         ext←v16052 = (word) ( *( (fPt) ((*  (ptr) pd275 ))))(short←v21176, (pos←v21204 + 1), 2147483647, pd275);
         };
      };
SOURCE(31814, 1912)
   return(ext←v16052);
   }

static word IsNewFile←P4860(name←v16112)
   word name←v16112;
   {
   register ptr gf←c62024 =  (ptr) &globalframe;
   word var←c16156;
   /* IsNewFile: */ 
SOURCE(32119, 1607)
SOURCE(32167, 1559)
   {
      word var←c0874;
      {
         word var←c58664;
         {
            word pd276;
            pd276 = (* (( (ptr) (* (( (ptr) gf←c62024)+276)/* var←c56040 */  ))+5) );
            var←c58664 = (word) ( *( (fPt) ((*  (ptr) pd276 ))))(name←v16112, pd276);
            };
         {
            word pd277;
            pd277 = (* (( (ptr) (* (( (ptr) gf←c62024)+276)/* var←c56040 */  ))+15) );
            var←c0874 =  (unsigned) ((word) ( *( (fPt) ((*  (ptr) pd277 ))))(var←c58664, 0, pd277) == 0);
            };
         };
      return(var←c0874);
      };
   }

static void PreStore←P4920(parent←v42172, clientData←v42200, mouseButton←v42228, shift←v42256, control←v42284)
   word parent←v42172;
   word clientData←v42200;
   word mouseButton←v42228;
   word shift←v42256;
   word control←v42284;
   {
   register ptr gf←c62056 =  (ptr) &globalframe;
   word sel←v21248;
   word fileName←v21276 = 0;
   word new←v21304 = 0;
   W2 var←c0577;
   /* PreStore: */ 
SOURCE(32237, 1489)
SOURCE(32305, 46)
   {
      word pd278;
      pd278 = (* (( (ptr) (* (( (ptr) gf←c62056)+262)/* var←c54568 */  ))+8) );
      sel←v21248 = (word) ( *( (fPt) ((*  (ptr) pd278 ))))(pd278);
      };
SOURCE(32394, 1332)
   {
      word pd279;
      pd279 = (* (( (ptr) (* (( (ptr) gf←c62056)+274)/* var←c55848 */  ))+15) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd279 ))))(sel←v21248, pd279) ==  (int)0)) {
SOURCE(32416, 22)
         (void) PleaseSelectFileName←P1860();
SOURCE(32440, 6)
         return;
         };
      };
SOURCE(32449, 1277)
   (void) GetCreateName←P4620((word) &var←c0577, parent←v42172, sel←v21248);
   fileName←v21276 = var←c0577.f0;
SOURCE(32506, 27)
   if ((fileName←v21276 == 0)) {
SOURCE(32527, 6)
      return;
      };
SOURCE(32535, 1191)
   new←v21304 = (word) IsNewFile←P4860(fileName←v21276);
SOURCE(32562, 89)
   (void) Report←P1740((* (( (ptr) gf←c62056)+62) ), fileName←v21276,  ( (0 != new←v21304) ? (* (( (ptr) gf←c62056)+63) ) : (* (
         ( (ptr) gf←c62056)+64) ) ) , 0, 0);
   }

static void AddFileExtension←P4980(root←v16216, extension←v16244)
   word root←v16216;
   word extension←v16244;
   {
   register ptr gf←c62088 =  (ptr) &globalframe;
   /* AddFileExtension: */ 
SOURCE(32657, 1069)
SOURCE(32722, 1004)
   {
      word pd280;
      pd280 = (* (( (ptr) (* (( (ptr) gf←c62088)+284)/* var←c58696 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd280 ))))(root←v16216, (* (( (ptr) gf←c62088)+25) ),  ( (extension←v16244 == 0) ? (* (( (ptr) gf←c62088)+65)
          ) : extension←v16244 ) , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c62088)+280)/* var←c56552 */  ))+6) ) ), pd280);
      };
   }

static void DoStoreFile←P5040(formal←c0969, formal←c0970)
   word formal←c0969;
   word formal←c0970;
   {
   W8 var←c62120;
   /* declaration of parent←v16304 skipped */ 
   /* declaration of fileName←v16332 skipped */ 
   register ptr gf←c62152 =  (ptr) &globalframe;
   /* declaration of var←c58728 skipped */ 
   var←c62120.f4/* parent←v16304 */  = formal←c0969;
   var←c62120.f5/* fileName←v16332 */  = formal←c0970;
   /* DoStoreFile: */ 
SOURCE(32863, 1186)
   {
      word tmpAddr281;
      tmpAddr281 = (word) (( (ptr) &var←c62120)+6)/* var←c58728 */ ;
      (*  (ptr) tmpAddr281 ) = ( ((word)  (fPt) inner←P7260) );
      (* (( (ptr) tmpAddr281) + 1) ) = 1;
      };
SOURCE(34009, 40)
   (void) LockTheWorks←P5100((word) (( (bPt) &var←c62120)+24)/* var←c58728 */ , var←c62120.f4/* parent←v16304 */ , (* (( (ptr) gf←c62152)+66)
       ));
   }

static void inner←P7260(tdd←v21424, formal←c62248)
   word tdd←v21424;
   word formal←c62248;
   {
   W8 var←c62184;
   register ptr gf←c62216 =  (ptr) &globalframe;
   word linked←v21452;
   /* declaration of oldName←v21480 skipped */ 
   /* declaration of oldFile←v21508 skipped */ 
   word extension←v21536 = 0;
   formal←c62248 = (formal←c62248 - 24);
   var←c62184.f0 = formal←c62248;
   /* inner: */ 
SOURCE(32931, 1070)
SOURCE(32986, 30)
   linked←v21452 =  (unsigned) ((* (( (ptr) (* (( (ptr) formal←c62248)+4) ))+21) ) != 0);
SOURCE(33018, 27)
   var←c62184.f4/* oldName←v21480 */  = (* (( (ptr) (* (( (ptr) formal←c62248)+4) ))+13) );
SOURCE(33047, 27)
   var←c62184.f5/* oldFile←v21508 */  = (* (( (ptr) (* (( (ptr) formal←c62248)+4) ))+14) );
SOURCE(33099, 627)
   if (((* (( (ptr) formal←c62248)+5) ) == 0)) {
SOURCE(33120, 606)
      {
         word pd282;
         pd282 = (* (( (ptr) (* (( (ptr) gf←c62216)+262)/* var←c54568 */  ))+8) );
         (* (( (ptr) formal←c62248)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd282 ))))(pd282);
         };
      };
SOURCE(33167, 559)
   {
      word pd283;
      pd283 = (* (( (ptr) (* (( (ptr) gf←c62216)+274)/* var←c55848 */  ))+15) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd283 ))))((* ((( (ptr) formal←c62248)+5)) ), pd283) ==  (int)0)) {
SOURCE(33194, 22)
         (void) PleaseSelectFileName←P1860();
SOURCE(33218, 6)
         return;
         };
      };
SOURCE(33227, 499)
   {
      W2 var←c58760;
      (void) GetCreateName←P4620((word) &var←c58760, (* (( (ptr) formal←c62248)+4) ), (* (( (ptr) formal←c62248)+5) ));
      extension←v21536 = var←c58760.f1;
      (* (( (ptr) formal←c62248)+5) ) = var←c58760.f0;
      };
SOURCE(33286, 27)
   if (((* (( (ptr) formal←c62248)+5) ) == 0)) {
SOURCE(33307, 6)
      return;
      };
SOURCE(33315, 49)
   if (((* (( (ptr) (* (( (ptr) formal←c62248)+4) ))+14) ) != 0)) {
SOURCE(33341, 23)
      (void) SaveLoadHistory←P720((* ((( (ptr) formal←c62248)+4)) ));
      };
SOURCE(33366, 34)
   if ((0 != linked←v21452)) {
SOURCE(33381, 19)
      (void) CancelLinks←P1320((* ((( (ptr) formal←c62248)+4)) ));
      };
SOURCE(33435, 36)
   {
      word var←c58792;
      var←c58792 = (* (( (ptr) formal←c62248)+5) );
      (* (( (ptr) (* (( (ptr) formal←c62248)+4) ))+14) ) = (* (( (ptr) formal←c62248)+5) );
      (* (( (ptr) (* (( (ptr) formal←c62248)+4) ))+13) ) = var←c58792;
      };
SOURCE(33473, 49)
   {
      word pd284;
      pd284 = (* (( (ptr) (* (( (ptr) gf←c62216)+261)/* var←c54536 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd284 ))))((*  (ptr) tdd←v21424 ), (* (( (ptr) gf←c62216)+26) ), 0, pd284);
      };
SOURCE(33553, 37)
   (void) AddFileExtension←P4980((*  (ptr) tdd←v21424 ), extension←v21536);
SOURCE(33634, 92)
   {
      word var←c58824;
      {
         /* declaration of var←c028 skipped */ 
         var←c62184.f6/* var←c028 */  = (* (( (ptr) (* (( (ptr) gf←c62216)+263)/* var←c54696 */  ))+20) );
         {
            /* declaration of var←c029 skipped */ 
            {
               word var←c0875;
               var←c0875 = (word) &var←c62184;
                (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q9168) ), ( ((word)  (fPt) NoName←Q9348) ), var←c0875);
               };
            var←c58824 = var←c62184.f7/* var←c029 */ ;
            };
         };
      };
SOURCE(33730, 271)
   if ((0 != linked←v21452)) {
SOURCE(33745, 258)
      {
         word loc←v21580;
SOURCE(33757, 22)
         (void) KillSelections←P1260((* ((( (ptr) formal←c62248)+4)) ));
SOURCE(33781, 52)
         {
            word var←c58856;
            W2 var←c0876;
            {
               word limit285;
               var←c58856 = (* (( (ptr) tdd←v21424)+1) );
               var←c0876 = (*  (W2Pt) (( (W9Pt) (( (ptr) var←c58856)+3))+(
                     limit285 = (* (( (ptr) var←c58856)+2) ),
                     BCK(0, limit285)
                     )) );
               };
            {
               word pd286;
               pd286 = (* (( (ptr) (* (( (ptr) gf←c62216)+264)/* var←c54824 */  ))+23) );
               loc←v21580 = (word) ( *( (fPt) ((*  (ptr) pd286 ))))(var←c0876, 1, 0, pd286);
               };
            };
SOURCE(33835, 14)
         (*  (ptr) tdd←v21424 ) = 0;
SOURCE(33885, 47)
         {
            word pd287;
            pd287 = (* (( (ptr) (* (( (ptr) gf←c62216)+271)/* var←c55528 */  ))+11) );
            (void) ( *( (fPt) ((*  (ptr) pd287 ))))((* (( (ptr) formal←c62248)+4) ), 0, pd287);
            };
SOURCE(33934, 31)
         (void) RememberCurrentPosition←P900((* ((( (ptr) formal←c62248)+4)) ));
SOURCE(33967, 34)
         (void) ForkViewerPainter←P1140((* (( (ptr) formal←c62248)+4) ), 3);
         };
      };
   }

static word NoName←Q9168(formal←c0831)
   word formal←c0831;
   {
SOURCE(33634, 92)
   {
      word pd288;
      pd288 = (* (( (ptr) formal←c0831)+6) );
      (* (( (ptr) formal←c0831)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd288 ))))((* ((( (ptr) (*  (ptr) formal←c0831 ))+4)) ), pd288)
      ;
      };
   return(0);
   }

static void LockTheWorks←P5100(formal←c0971, formal←c0972, formal←c0973)
   word formal←c0971;
   word formal←c0972;
   word formal←c0973;
   {
   W9 var←c62280;
   /* declaration of inner←v16392 skipped */ 
   /* declaration of viewer←v16420 skipped */ 
   /* declaration of who←v16448 skipped */ 
   register ptr gf←c62312 =  (ptr) &globalframe;
   /* declaration of var←c58888 skipped */ 
   (* (( (ptr) &var←c62280)+4)/* inner←v16392 */  ) = formal←c0971;
   (* (( (ptr) &var←c62280)+5)/* viewer←v16420 */  ) = formal←c0972;
   (* (( (ptr) &var←c62280)+6)/* who←v16448 */  ) = formal←c0973;
   /* LockTheWorks: */ 
SOURCE(34055, 394)
   {
      word tmpAddr289;
      tmpAddr289 = (word) (( (ptr) &var←c62280)+7)/* var←c58888 */ ;
      (*  (ptr) tmpAddr289 ) = ( ((word)  (fPt) innerWorks←P7368) );
      (* (( (ptr) tmpAddr289) + 1) ) = 1;
      };
SOURCE(34382, 67)
   {
      word pd290;
      pd290 = (* (( (ptr) (* (( (ptr) gf←c62312)+285)/* var←c58920 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd290 ))))((word) (( (bPt) &var←c62280)+28)/* var←c58888 */ , (* (( (ptr) &var←c62280)+5)/* viewer←v16420 */  ), pd290)
      ;
      };
   }

static void innerWorks←P7368(formal←c62408)
   word formal←c62408;
   {
   W5 var←c62344;
   register ptr gf←c62376 =  (ptr) &globalframe;
   formal←c62408 = (formal←c62408 - 28);
   var←c62344.f0 = formal←c62408;
   /* innerWorks: */ 
SOURCE(34158, 209)
SOURCE(34179, 188)
   {
      word var←c58952;
      var←c58952 = (* (( (ptr) (* (( (ptr) formal←c62408)+5) ))+26) );
      if ((var←c58952 == 0)) {
         goto lab←L100109;
         };
      if (((* (( (ptr) gf←c62376)+21) ) == XR←GetReferentType(var←c58952))) {
         {
            /* declaration of tdd←v21684 skipped */ 
            var←c62344.f4/* tdd←v21684 */  = var←c58952;
SOURCE(34250, 40)
            {
               word var←c58984;
               word pd291;
               pd291 = (* (( (ptr) (* (( (ptr) gf←c62376)+265)/* var←c54952 */  ))+5) );
               var←c58984 = (word) ( *( (fPt) ((*  (ptr) pd291 ))))(var←c62344.f4/* tdd←v21684 */ , (* (( (ptr) formal←c62408)+6) ), 0, 0, pd291)
               ;
               };
SOURCE(34292, 48)
            {
               word var←c0877;
               var←c0877 = (word) &var←c62344;
                (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q9228) ), ( ((word)  (fPt) NoName←Q9288) ), var←c0877);
               };
SOURCE(34342, 25)
            {
               word pd292;
               pd292 = (* (( (ptr) (* (( (ptr) gf←c62376)+265)/* var←c54952 */  ))+6) );
               (void) ( *( (fPt) ((*  (ptr) pd292 ))))(var←c62344.f4/* tdd←v21684 */ , pd292);
               };
            };
         }
      else {
         lab←L100109: ;
         };
      };
   }

static word NoName←Q9228(formal←c0835)
   word formal←c0835;
   {
SOURCE(34292, 48)
   {
      word pd293;
      pd293 = (* (( (ptr) (*  (ptr) formal←c0835 ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd293 ))))((* ((( (ptr) formal←c0835)+4)) ), pd293);
      };
   return(0);
   }

static void StoreFile←P5160(parent←v16568)
   word parent←v16568;
   {
   /* StoreFile: */ 
SOURCE(34455, 86)
SOURCE(34499, 42)
   (void) DoStoreFile←P5040(parent←v16568, 0);
   }

static word GetViewerContents←P5220(viewer←v16628)
   word viewer←v16628;
   {
   register ptr gf←c62440 =  (ptr) &globalframe;
   word var←c16672;
   /* GetViewerContents: */ 
SOURCE(34547, 139)
SOURCE(34607, 37)
   {
      word pd294;
      pd294 = (* (( (ptr) (* (( (ptr) gf←c62440)+286)/* var←c59016 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd294 ))))(pd294);
      };
SOURCE(34646, 40)
   {
      word pd295;
      pd295 = (* (( (ptr) (* (( (ptr) gf←c62440)+262)/* var←c54568 */  ))+10) );
      return((word) ( *( (fPt) ((*  (ptr) pd295 ))))(viewer←v16628, pd295));
      };
   }

static void DoAnonymousLoadFile←P5280(parent←v16732, lookup←v16760, fileNameProcViewer←v16788)
   word parent←v16732;
   word lookup←v16760;
   word fileNameProcViewer←v16788;
   {
   register ptr gf←c62472 =  (ptr) &globalframe;
   /* DoAnonymousLoadFile: */ 
SOURCE(34692, 503)
SOURCE(34793, 402)
   if (((* (( (ptr) parent←v16732)+14) ) != 0)) {
SOURCE(34817, 46)
      (void) Flash←P1800((* (( (ptr) gf←c62472)+67) ), 0);
      }
   else {
SOURCE(34863, 337)
      {
         word txt←v21728;
         word size←v21756;
SOURCE(34865, 37)
         txt←v21728 = (word) GetViewerContents←P5220(parent←v16732);
SOURCE(34904, 22)
         {
            word pd296;
            pd296 = (* (( (ptr) (* (( (ptr) gf←c62472)+274)/* var←c55848 */  ))+15) );
            size←v21756 = (word) ( *( (fPt) ((*  (ptr) pd296 ))))(txt←v21728, pd296);
            };
SOURCE(34928, 267)
         if (( (int)size←v21756 ==  (int)0)) {
SOURCE(34943, 33)
            (void) Flash←P1800((* (( (ptr) gf←c62472)+68) ), 0);
            }
         else {
SOURCE(34976, 221)
            {
               word v←v21800;
SOURCE(34978, 140)
               {
                  word var←c59080;
                  var←c59080 = (word) ColumnOf←P60(parent←v16732);
                  v←v21800 = (word) DoGetFile←P3060(txt←v21728, var←c59080, parent←v16732, 0, lookup←v16760, fileNameProcViewer←v16788);
                  };
SOURCE(35120, 75)
               if ( ( (v←v21800 != 0) ? (v←v21800 != parent←v16732) : 0 ) ) {
SOURCE(35147, 48)
                  {
                     word pd297;
                     pd297 = (* (( (ptr) (* (( (ptr) gf←c62472)+268)/* var←c55368 */  ))+5) );
                     (void) ( *( (fPt) ((*  (ptr) pd297 ))))(parent←v16732, (word) (( (bPt) gf←c62472)+696)/* var←c53128 */ , parent←v16732, pd297)
                     ;
                     };
                  };
               };
            };
         };
      };
   }

static void AnonymousLoadFile←P5340(parent←v16848, fileNameProcViewer←v16876)
   word parent←v16848;
   word fileNameProcViewer←v16876;
   {
   /* AnonymousLoadFile: */ 
SOURCE(35207, 178)
SOURCE(35293, 92)
   (void) DoAnonymousLoadFile←P5280(parent←v16848, 0, fileNameProcViewer←v16876);
   }

static void AnonymousLoadImplFile←P5400(parent←v16936)
   word parent←v16936;
   {
   /* AnonymousLoadImplFile: */ 
SOURCE(35391, 106)
SOURCE(35447, 50)
   (void) DoAnonymousLoadFile←P5280(parent←v16936, 1, 0);
   }

static void NoName←Q9288(formal←c0618, formal←c200080, formal←c200081, formal←c200082, formal←c200083)
   word formal←c0618;
   word formal←c200080;
   word formal←c200081;
   word formal←c200082;
   word formal←c200083;
   {
   register ptr gf←c0838 =  (ptr) &globalframe;
   if ((formal←c200081 == XR←Unwind)) {
SOURCE(34314, 26)
      {
         word pd298;
         pd298 = (* (( (ptr) (* (( (ptr) gf←c0838)+265)/* var←c54952 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd298 ))))((* ((( (ptr) formal←c200080)+4)) ), pd298);
         };
      };
   (*  (ptr) formal←c0618 ) = 0;
   (* (( (ptr) formal←c0618)+1) ) = 0;
   return;
   }

static void NoName←Q9348(formal←c0623, formal←c200076, formal←c200077, formal←c200078, formal←c200079)
   word formal←c0623;
   word formal←c200076;
   word formal←c200077;
   word formal←c200078;
   word formal←c200079;
   {
   if ((formal←c200077 == XR←Unwind)) {
SOURCE(33681, 21)
      (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c200076 ))+4) ))+13) ) = (* (( (ptr) formal←c200076)+4) );
SOURCE(33704, 22)
      (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c200076 ))+4) ))+14) ) = (* (( (ptr) formal←c200076)+5) );
      };
   (*  (ptr) formal←c0623 ) = 0;
   (* (( (ptr) formal←c0623)+1) ) = 0;
   return;
   }

static void NoName←Q9408(formal←c0629, formal←c200072, formal←c200073, formal←c200074, formal←c200075)
   word formal←c0629;
   word formal←c200072;
   word formal←c200073;
   word formal←c200074;
   word formal←c200075;
   {
   register ptr gf←c0839 =  (ptr) &globalframe;
   if ((formal←c200073 == (* (( (ptr) (* (( (ptr) gf←c0839)+276)/* var←c56040 */  ))+9) ))) {
      {
         W4 error←v49896;
         error←v49896 = (*  (W4Pt) formal←c200075 );
SOURCE(31199, 11)
         (*  (ptr) formal←c0629 ) = 2;
         (* (( (ptr) formal←c0629)+1) ) = 13;
         return;
         };
      };
   (*  (ptr) formal←c0629 ) = 0;
   (* (( (ptr) formal←c0629)+1) ) = 0;
   return;
   }

static void NoName←Q9468(formal←c0635, formal←c200068, formal←c200069, formal←c200070, formal←c200071)
   word formal←c0635;
   word formal←c200068;
   word formal←c200069;
   word formal←c200070;
   word formal←c200071;
   {
   register ptr gf←c0840 =  (ptr) &globalframe;
   if ((formal←c200069 == (* (( (ptr) (* (( (ptr) gf←c0840)+276)/* var←c56040 */  ))+9) ))) {
      {
         W4 error←v49700;
         error←v49700 = (*  (W4Pt) formal←c200071 );
SOURCE(30045, 24)
         (void) Flash←P1800(error←v49700.f2, 0);
SOURCE(30071, 10)
         (*  (ptr) formal←c0635 ) = 2;
         (* (( (ptr) formal←c0635)+1) ) = 12;
         return;
         };
      };
   (*  (ptr) formal←c0635 ) = 0;
   (* (( (ptr) formal←c0635)+1) ) = 0;
   return;
   }

static void NoName←Q9528(formal←c0640, formal←c200064, formal←c200065, formal←c200066, formal←c200067)
   word formal←c0640;
   word formal←c200064;
   word formal←c200065;
   word formal←c200066;
   word formal←c200067;
   {
   register ptr gf←c0841 =  (ptr) &globalframe;
   if ((formal←c200065 == XR←Unwind)) {
SOURCE(26312, 33)
      {
         word pd299;
         pd299 = (* (( (ptr) (* (( (ptr) gf←c0841)+269)/* var←c55400 */  ))+22) );
         (void) ( *( (fPt) ((*  (ptr) pd299 ))))(0, pd299);
         };
      };
   (*  (ptr) formal←c0640 ) = 0;
   (* (( (ptr) formal←c0640)+1) ) = 0;
   return;
   }

static void NoName←Q9588(formal←c0645, formal←c200060, formal←c200061, formal←c200062, formal←c200063)
   word formal←c0645;
   word formal←c200060;
   word formal←c200061;
   word formal←c200062;
   word formal←c200063;
   {
   register ptr gf←c0842 =  (ptr) &globalframe;
   if ((formal←c200061 == XR←Unwind)) {
SOURCE(25915, 33)
      {
         word pd300;
         pd300 = (* (( (ptr) (* (( (ptr) gf←c0842)+269)/* var←c55400 */  ))+22) );
         (void) ( *( (fPt) ((*  (ptr) pd300 ))))(0, pd300);
         };
      };
   (*  (ptr) formal←c0645 ) = 0;
   (* (( (ptr) formal←c0645)+1) ) = 0;
   return;
   }

static void NoName←Q9648(formal←c0650, formal←c200056, formal←c200057, formal←c200058, formal←c200059)
   word formal←c0650;
   word formal←c200056;
   word formal←c200057;
   word formal←c200058;
   word formal←c200059;
   {
   register ptr gf←c0843 =  (ptr) &globalframe;
   if ((formal←c200057 == XR←Unwind)) {
SOURCE(24745, 33)
      {
         word pd301;
         pd301 = (* (( (ptr) (* (( (ptr) gf←c0843)+269)/* var←c55400 */  ))+22) );
         (void) ( *( (fPt) ((*  (ptr) pd301 ))))(0, pd301);
         };
      };
   (*  (ptr) formal←c0650 ) = 0;
   (* (( (ptr) formal←c0650)+1) ) = 0;
   return;
   }

static void NoName←Q9708(formal←c0657, formal←c200052, formal←c200053, formal←c200054, formal←c200055)
   word formal←c0657;
   word formal←c200052;
   word formal←c200053;
   word formal←c200054;
   word formal←c200055;
   {
   register ptr gf←c0844 =  (ptr) &globalframe;
   if ((formal←c200053 == (* (( (ptr) (* (( (ptr) gf←c0844)+276)/* var←c56040 */  ))+9) ))) {
      {
         W4 error←v49532;
         error←v49532 = (*  (W4Pt) formal←c200055 );
SOURCE(23881, 24)
         (void) Flash←P1800(error←v49532.f2, 0);
SOURCE(23907, 10)
         (*  (ptr) formal←c0657 ) = 2;
         (* (( (ptr) formal←c0657)+1) ) = 11;
         return;
         };
      }
   else {
      if ((formal←c200053 == (word) (( (bPt) gf←c0844)+276)/* var←c51432 */ )) {
         {
            word fileName←v49592;
            fileName←v49592 = (*  (ptr) formal←c200055 );
SOURCE(23938, 30)
            (void) Flash←P1800(fileName←v49592, (* (( (ptr) gf←c0844)+54) ));
SOURCE(23970, 10)
            (*  (ptr) formal←c0657 ) = 2;
            (* (( (ptr) formal←c0657)+1) ) = 11;
            return;
            };
         };
      };
   (*  (ptr) formal←c0657 ) = 0;
   (* (( (ptr) formal←c0657)+1) ) = 0;
   return;
   }

static void NoName←Q9768(formal←c0663, formal←c200048, formal←c200049, formal←c200050, formal←c200051)
   word formal←c0663;
   word formal←c200048;
   word formal←c200049;
   word formal←c200050;
   word formal←c200051;
   {
   register ptr gf←c0845 =  (ptr) &globalframe;
   if ((formal←c200049 == (* (( (ptr) (* (( (ptr) gf←c0845)+276)/* var←c56040 */  ))+9) ))) {
      {
         W4 error←v49472;
         error←v49472 = (*  (W4Pt) formal←c200051 );
SOURCE(22910, 9)
         (*  (ptr) formal←c0663 ) = 2;
         (* (( (ptr) formal←c0663)+1) ) = 10;
         return;
         };
      };
   (*  (ptr) formal←c0663 ) = 0;
   (* (( (ptr) formal←c0663)+1) ) = 0;
   return;
   }

static void NoName←Q9828(formal←c0669, formal←c200044, formal←c200045, formal←c200046, formal←c200047)
   word formal←c0669;
   word formal←c200044;
   word formal←c200045;
   word formal←c200046;
   word formal←c200047;
   {
   register ptr gf←c0846 =  (ptr) &globalframe;
   if ((formal←c200045 == (* (( (ptr) (* (( (ptr) gf←c0846)+276)/* var←c56040 */  ))+9) ))) {
      {
         W4 error←v49412;
         error←v49412 = (*  (W4Pt) formal←c200047 );
SOURCE(22464, 8)
         (*  (ptr) formal←c0669 ) = 2;
         (* (( (ptr) formal←c0669)+1) ) = 9;
         return;
         };
      };
   (*  (ptr) formal←c0669 ) = 0;
   (* (( (ptr) formal←c0669)+1) ) = 0;
   return;
   }

static void NoName←Q9888(formal←c0674, formal←c200040, formal←c200041, formal←c200042, formal←c200043)
   word formal←c0674;
   word formal←c200040;
   word formal←c200041;
   word formal←c200042;
   word formal←c200043;
   {
   if ((formal←c200041 == XR←Uncaught)) {
SOURCE(21562, 8)
      (*  (ptr) formal←c0674 ) = 2;
      (* (( (ptr) formal←c0674)+1) ) = 8;
      return;
      };
   (*  (ptr) formal←c0674 ) = 0;
   (* (( (ptr) formal←c0674)+1) ) = 0;
   return;
   }

static void NoName←Q9948(formal←c0680, formal←c200036, formal←c200037, formal←c200038, formal←c200039)
   word formal←c0680;
   word formal←c200036;
   word formal←c200037;
   word formal←c200038;
   word formal←c200039;
   {
   register ptr gf←c0847 =  (ptr) &globalframe;
   if ((formal←c200037 == (* (( (ptr) (* (( (ptr) gf←c0847)+276)/* var←c56040 */  ))+9) ))) {
      {
         W4 error←v49300;
         error←v49300 = (*  (W4Pt) formal←c200039 );
SOURCE(17797, 32)
         if ((error←v49300.f1 == (* (( (ptr) gf←c0847)+40) ))) {
SOURCE(17829, 9)
            (*  (ptr) formal←c0680 ) = 2;
            (* (( (ptr) formal←c0680)+1) ) = 7;
            return;
            };
         };
      };
   (*  (ptr) formal←c0680 ) = 0;
   (* (( (ptr) formal←c0680)+1) ) = 0;
   return;
   }

static void NoName←Q10008(formal←c0685, formal←c200032, formal←c200033, formal←c200034, formal←c200035)
   word formal←c0685;
   word formal←c200032;
   word formal←c200033;
   word formal←c200034;
   word formal←c200035;
   {
   if ((formal←c200033 == XR←Aborted)) {
SOURCE(17470, 8)
      (*  (ptr) formal←c0685 ) = 2;
      (* (( (ptr) formal←c0685)+1) ) = 6;
      return;
      };
   (*  (ptr) formal←c0685 ) = 0;
   (* (( (ptr) formal←c0685)+1) ) = 0;
   return;
   }

static void NoName←Q10068(formal←c0690, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
   word formal←c0690;
   word formal←c200028;
   word formal←c200029;
   word formal←c200030;
   word formal←c200031;
   {
   register ptr gf←c0848 =  (ptr) &globalframe;
   if ((formal←c200029 == XR←Unwind)) {
SOURCE(15948, 62)
      {
         word pd302;
         pd302 = (* (( (ptr) (* (( (ptr) gf←c0848)+279)/* var←c56456 */  ))+26) );
         (void) ( *( (fPt) ((*  (ptr) pd302 ))))((* (( (ptr) formal←c200028)+4) ), (* (( (ptr) formal←c200028)+13) ), (* (( (ptr) formal←c200028)+14)
             ), pd302);
         };
      };
   (*  (ptr) formal←c0690 ) = 0;
   (* (( (ptr) formal←c0690)+1) ) = 0;
   return;
   }

static void NoName←Q10128(formal←c0697, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
   word formal←c0697;
   word formal←c200024;
   word formal←c200025;
   word formal←c200026;
   word formal←c200027;
   {
   register ptr gf←c0849 =  (ptr) &globalframe;
   if ((formal←c200025 == (* (( (ptr) (* (( (ptr) gf←c0849)+277)/* var←c56232 */  ))+7) ))) {
      {
         word reason←v47444;
         word index←v47472;
         reason←v47444 = (*  (ptr) formal←c200027 );
         index←v47472 = (* (( (ptr) formal←c200027)+1) );
SOURCE(13865, 13)
         (*  (ptr) formal←c0697 ) = 2;
         (* (( (ptr) formal←c0697)+1) ) = 5;
         return;
         };
      };
   (*  (ptr) formal←c0697 ) = 0;
   (* (( (ptr) formal←c0697)+1) ) = 0;
   return;
   }

static void NoName←Q10188(formal←c0703, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
   word formal←c0703;
   word formal←c200020;
   word formal←c200021;
   word formal←c200022;
   word formal←c200023;
   {
   register ptr gf←c0850 =  (ptr) &globalframe;
   if ((formal←c200021 == (* (( (ptr) (* (( (ptr) gf←c0850)+276)/* var←c56040 */  ))+9) ))) {
      {
         W4 error←v47384;
         error←v47384 = (*  (W4Pt) formal←c200023 );
SOURCE(12543, 20)
         (*  (ptr) formal←c0703 ) = 2;
         (* (( (ptr) formal←c0703)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c0703 ) = 0;
   (* (( (ptr) formal←c0703)+1) ) = 0;
   return;
   }

static void NoName←Q10248(formal←c0708, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0708;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   if ((formal←c200017 == XR←Aborted)) {
SOURCE(11711, 8)
      (*  (ptr) formal←c0708 ) = 2;
      (* (( (ptr) formal←c0708)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0708 ) = 0;
   (* (( (ptr) formal←c0708)+1) ) = 0;
   return;
   }

static void NoName←Q10308(formal←c0713, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0713;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   if ((formal←c200013 == XR←Aborted)) {
SOURCE(7968, 8)
      (*  (ptr) formal←c0713 ) = 2;
      (* (( (ptr) formal←c0713)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0713 ) = 0;
   (* (( (ptr) formal←c0713)+1) ) = 0;
   return;
   }

static void NoName←Q10368(formal←c0718, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0718;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0851 =  (ptr) &globalframe;
   if ((formal←c200009 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0851)+16)/* LOCK←v4008 */ ));
      };
   (*  (ptr) formal←c0718 ) = 0;
   (* (( (ptr) formal←c0718)+1) ) = 0;
   return;
   }

static void NoName←Q10428(formal←c0723, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0723;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0852 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0852)+16)/* LOCK←v4008 */ ));
      };
   (*  (ptr) formal←c0723 ) = 0;
   (* (( (ptr) formal←c0723)+1) ) = 0;
   return;
   }

static void NoName←Q10488(formal←c0728, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0728;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0853 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0853)+16)/* LOCK←v4008 */ ));
      };
   (*  (ptr) formal←c0728 ) = 0;
   (* (( (ptr) formal←c0728)+1) ) = 0;
   return;
   }

/* file: TEditDocuments2Impl, module: TEditDocuments2Impl, compiled at: June 9, 1993 3:02:05 pm PDT */ 
extern void XR←install←TEditDocuments2Impl() {
   NoName←Q7968();
   }
extern void XR←run←TEditDocuments2Impl() { XR←Start(&globalframe); }