/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 19, 1993 1:26:30 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TEditMiscOpsImpl, module: TEditMiscOpsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3645491024,2191850270] TEditMiscOpsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3;} W4;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W6 r;} W14;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W4 r;} W12;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#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←Q6516();
static void TEditMiscOpsImpl←P0();
static void Capitalise←P60();
static void DoCapitalise←P3180();
static void MungeChar←P120();
static void DoMungeChar←P3240();
static void MakeControlCharacter←P180();
static void UnMakeControlCharacter←P240();
static void MakeOctalCharacter←P300();
static void UnMakeOctalCharacter←P360();
static word GetWord←P420();
static void SetStyle←P480();
static void DoSetStyle←P3396();
static word ForceLower←P540();
static word Force←P3456();
static void SetStyleName←P600();
static word NoName←Q6576();
static void ReloadStyle←P660();
static void ReloadStyleName←P720();
static void CannotReload←P780();
static void SetFormat←P840();
static void DoSetFormat←P3516();
static void GetFormat←P900();
static void DoGetFormat←P3576();
static void TransposeFormat←P960();
static void DoTransFormat←P3636();
static void CopyFormat←P1020();
static void DoCopyFormat←P3696();
static void SetFormatName←P1080();
static word NoName←Q6636();
static void SetCommentProp←P1140();
static void DoSetCommentProp←P3756();
static void RegisterAbbrevFailedProc←P1200();
static void ExpandAbbreviation←P1260();
static void DoExpand←P3816();
static word Try←P3876();
static void LoadAbbreviations←P1320();
static word NoName←Q6696();
static void InsertChar←P1380();
static void InsertRope←P1440();
static void DoInsertRope←P3984();
static void InsertLineBreak←P1500();
static void DoInsertLineBreak←P4044();
static void DeleteNextChar←P1560();
static void DoDeleteNextChar←P4104();
static void GoToNextChar←P1620();
static void DoGoToNextChar←P4212();
static void GoToPreviousChar←P1680();
static void DoGoToPreviousChar←P4272();
static word FindNextWord←P1740();
static word Alpha←P4332();
static void DeleteNextWord←P1800();
static void DoDeleteNextWord←P4392();
static void GoToNextWord←P1860();
static void DoGoToNextWord←P4500();
static void GoToNextNode←P1920();
static void DoGoToNextNode←P4560();
static void GoToPreviousNode←P1980();
static void DoGoToPreviousNode←P4620();
static void InsertTime←P2040();
static void DoInsertTime←P4728();
static void LocationsFromSelection←P2100();
static void CharSelectionFromLocations←P2160();
static void PointSelectionFromLocation←P2220();
static void InsertBrackets←P2280();
static void InsertBracketRopes←P2340();
static void DoInsertBracketRopes←P4788();
static void SelectMatchingBrackets←P2400();
static word DoSelectMatchingBrackets←P2460();
static void DoSelect←P4896();
static void CallWithPrimarySelectionLocked←P2520();
static word NoName←Q6756();
static void NextViewer←P2580();
static word DoNextViewer←P2640();
static void DoNextViewerAction←P4956();
static void Enumerate←P5016();
static void ConvergeForward←P5076();
static void ConvergeBackward←P5136();
static void FindPlaceholders←P2700();
static word TryToGetLooks←P2760();
static void DoFindPlaceholders←P2820();
static void DoFind←P5244();
static word GetSelContents←P2880();
static word GetSelData←P2940();
static void AutoScroll←P3000();
static word GetTextContents←P3060();
static void SetTextContents←P3120();
static void NoName←Q6816();
static void NoName←Q6876();
static void NoName←Q6936();
static void NoName←Q6996();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string2 = {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];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string5 = {131076, "\216\251\000"};
static struct {unsigned f; char r[28];} string6 = {1572892, "?  Unknown abbreviation.\000\000\000"};
static struct {unsigned f; char r[16];} string7 = {917520, ".abbreviations\000"};
static struct {unsigned f; char r[20];} string8 = {1048596, "The file named <\000\000\000"};
static struct {unsigned f; char r[56];} string9 = {3473464, "> was not found or was not an abbreviation dictionary\000\000"};
static struct {unsigned f; char r[12];} string10 = {589836, "No match.\000\000"};
static struct {unsigned f; char r[16];} string11 = {983056, "No next viewer."};
static struct {unsigned f; char r[16];} string12 = {786448, "DoNextViewer\000\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "SetFormatName\000\000"};
static struct {unsigned f; char r[8];} string14 = {262152, "Text\000\000\000"};
static struct {unsigned f; char r[8];} string15 = {458760, "default"};
static struct {unsigned f; char r[12];} string16 = {524300, "SelChars\000\000\000"};
static struct {unsigned f; char r[40];} string17 = {2490408, "Failed in attempt to load style named \000"};
static struct {unsigned f; char r[16];} string18 = {786448, "SetStyleName\000\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\331\111\307\120\300\202\244\373\036\100\164\000\000"};
static struct {unsigned f; char r[8];} string20 = {393222, "\006\0010\004←\377\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\123\156\240\340\300\077\103\217\263\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\212\174\364\337\300\361\376\000\156\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\314\212\213\004\300\112\342\014\072\100\164\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\004\173\141\246\300\255\256\170\002\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\074\270\063\045\300\023\342\016\224\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\375\366\273\111\300\156\046\321\053\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\051\356\171\277\300\146\001\231\234\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\366\233\214\046\300\233\036\213\260\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\335\145\254\130\300\336\305\074\147\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"};
static struct {unsigned f; char r[12];} string34 = {1413833833, "tInputOps"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\146\107\314\260\300\352\117\305\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\241\200\031\316\300\154\273\372\020\100\150\000\000"};
static struct {unsigned f; char r[8];} string37 = {1413833833, "tOps"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\351\360\047\051\300\272\273\201\332\100\150\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\071\221\120\257\300\230\321\322\204\100\150\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\255\037\131\057\300\313\250\372\104\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\174\107\267\236\300\027\127\205\140\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\3004+\202s\300vm?\203@h\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\045\005\337\143\300\252\356\334\244\100\150\000\000"};
static W2 dummy300;
static struct {
   word f0[25]; word f25; word f26; word f27; 
   word f28; word f29; word f30; word f31; 
   word f32; word f33; word f34; word f35; 
   word f36; word f37; word f38; word f39; 
   word f40; word f41; word f42; word f43; 
   word f44; word f45; word f46; word f47; 
   word f48; word f49; word f50; word f51; 
   word f52; word f53; word f54; word f55; 
   word f56; word f57; word f58; word f59; 
   word f60; word f61; word f62; word f63; 
   word f64; word f65; word f66; word f67; 
   word f68; word f69; word f70; word f71; 
   word f72; word f73; 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[27]; 
   } globalframe = {
   {0}, (word) SetTextContents←P3120, 0, (word) GetTextContents←P3060, 
   0, (word) AutoScroll←P3000, 0, (word) GetSelData←P2940, 
   0, (word) GetSelContents←P2880, 0, (word) DoFindPlaceholders←P2820, 
   0, (word) TryToGetLooks←P2760, 0, (word) FindPlaceholders←P2700, 
   0, (word) DoNextViewer←P2640, 0, (word) NextViewer←P2580, 
   0, (word) CallWithPrimarySelectionLocked←P2520, 0, (word) DoSelectMatchingBrackets←P2460, 
   0, (word) SelectMatchingBrackets←P2400, 0, (word) InsertBracketRopes←P2340, 
   0, (word) InsertBrackets←P2280, 0, (word) PointSelectionFromLocation←P2220, 
   0, (word) CharSelectionFromLocations←P2160, 0, (word) LocationsFromSelection←P2100, 
   0, (word) InsertTime←P2040, 0, (word) GoToPreviousNode←P1980, 
   0, (word) GoToNextNode←P1920, 0, (word) GoToNextWord←P1860, 
   0, (word) DeleteNextWord←P1800, 0, (word) FindNextWord←P1740, 
   0, (word) GoToPreviousChar←P1680, 0, (word) GoToNextChar←P1620, 
   0, (word) DeleteNextChar←P1560, 0, (word) InsertLineBreak←P1500, 
   0, (word) InsertRope←P1440, 0, (word) InsertChar←P1380, 
   0, (word) LoadAbbreviations←P1320, 0, (word) ExpandAbbreviation←P1260, 
   0, (word) RegisterAbbrevFailedProc←P1200, 0, (word) SetCommentProp←P1140, 
   0, (word) SetFormatName←P1080, 0, (word) CopyFormat←P1020, 
   0, (word) TransposeFormat←P960, 0, (word) GetFormat←P900, 
   0, (word) SetFormat←P840, 0, (word) CannotReload←P780, 
   0, (word) ReloadStyleName←P720, 0, (word) ReloadStyle←P660, 
   0, (word) SetStyleName←P600, 0, (word) ForceLower←P540, 
   0, (word) SetStyle←P480, 0, (word) GetWord←P420, 
   0, (word) UnMakeOctalCharacter←P360, 0, (word) MakeOctalCharacter←P300, 
   0, (word) UnMakeControlCharacter←P240, 0, (word) MakeControlCharacter←P180, 
   0, (word) MungeChar←P120, 0, (word) Capitalise←P60, 
   0, (word) TEditMiscOpsImpl←P0, {0}
   };

static void NoName←Q6516()
   {
   register ptr gf←c0478 =  (ptr) &globalframe;
   word var←c48156;
   (* (( (ptr) gf←c0478)+6) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0478)+7) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0478)+11) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string4);
   (*  (ptr) (( (bPt) gf←c0478)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string6);
   (*  (ptr) (( (bPt) gf←c0478)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c0478)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0478)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0478)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0478)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0478)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0478)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0478)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+11) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0478)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0478)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+11) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0478)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0478)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0478)+7) ), (word) &string18);
   (void) XR←DeclareGlobalFrame((word) "TEditMiscOpsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20)
      , (word) (( (bPt) gf←c0478)+516)/* var←c43676 */ );
   var←c48156 = (word) XR←ImportInterface((word) "AbbrevExpand", (word) XR←GetTypeIndexS((word) (&string21)), 6);
   (* (( (ptr) gf←c0478)+148)/* var←c45404 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67371009);
   (void) XR←ImportProcS(var←c48156, 403702532);
   var←c48156 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string22)), 16);
   (* (( (ptr) gf←c0478)+145)/* var←c44668 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67372289);
   (void) XR←ImportProcS(var←c48156, 67895555);
   var←c48156 = (word) XR←ImportInterface((word) "BasicTime", (word) XR←GetTypeIndexS((word) (&string23)), 24);
   (* (( (ptr) gf←c0478)+152)/* var←c46844 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67111424);
   var←c48156 = (word) XR←ImportInterface((word) "CharOps", (word) XR←GetTypeIndexS((word) (&string24)), 14);
   (* (( (ptr) gf←c0478)+137)/* var←c44124 */  ) = var←c48156;
   var←c48156 = (word) XR←ImportInterface((word) "EditSpan", (word) XR←GetTypeIndexS((word) (&string25)), 23);
   (* (( (ptr) gf←c0478)+134)/* var←c43868 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 1839364);
   var←c48156 = (word) XR←ImportInterface((word) "MessageWindow", (word) XR←GetTypeIndexS((word) (&string26)), 7);
   (* (( (ptr) gf←c0478)+146)/* var←c44700 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 512);
   (void) XR←ImportProcS(var←c48156, 524546);
   var←c48156 = (word) XR←ImportInterface((word) "NodeStyleOps", (word) XR←GetTypeIndexS((word) (&string27)), 23);
   (* (( (ptr) gf←c0478)+142)/* var←c44572 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67372289);
   (void) XR←ImportProcS(var←c48156, 67375105);
   var←c48156 = (word) XR←ImportInterface((word) "NodeStyleWorks", (word) XR←GetTypeIndexS((word) (&string28)), 69);
   (* (( (ptr) gf←c0478)+149)/* var←c45468 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 528130);
   var←c48156 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string29)), 40);
   (* (( (ptr) gf←c0478)+150)/* var←c45500 */  ) = var←c48156;
   var←c48156 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string30)), 43);
   (* (( (ptr) gf←c0478)+139)/* var←c44220 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67379457);
   (void) XR←ImportProcS(var←c48156, 67633666);
   (void) XR←ImportProcS(var←c48156, 67373313);
   (void) XR←ImportProcS(var←c48156, 67634434);
   (void) XR←ImportProcS(var←c48156, 67373825);
   (void) XR←ImportProcS(var←c48156, 67902211);
   (void) XR←ImportProcS(var←c48156, 67898627);
   var←c48156 = (word) XR←ImportInterface((word) "RopeReader", (word) XR←GetTypeIndexS((word) (&string31)), 25);
   (* (( (ptr) gf←c0478)+147)/* var←c45212 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 268033);
   (void) XR←ImportProcS(var←c48156, 67636482);
   (void) XR←ImportProcS(var←c48156, 67114496);
   var←c48156 = (word) XR←ImportInterface((word) "TBase", (word) XR←GetTypeIndexS((word) (&string32)), 11);
   (* (( (ptr) gf←c0478)+135)/* var←c43996 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 338166279);
   (void) XR←ImportProcS(var←c48156, 338428167);
   (void) XR←ImportProcS(var←c48156, 271058696);
   (void) XR←ImportProcS(var←c48156, 202902022);
   (void) XR←ImportProcS(var←c48156, 1050884);
   (void) XR←ImportProcS(var←c48156, 1050628);
   (void) XR←ImportProcS(var←c48156, 202114563);
   (void) XR←ImportProcS(var←c48156, 202114307);
   (void) XR←ImportProcS(var←c48156, 202114051);
   (void) XR←ImportProcS(var←c48156, 202113795);
   var←c48156 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string33)), 44);
   (* (( (ptr) gf←c0478)+133)/* var←c43836 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 529922);
   var←c48156 = (word) XR←ImportInterface((word) &string34, (word) XR←GetTypeIndexS((word) (&string35)), 66);
   (* (( (ptr) gf←c0478)+131)/* var←c43740 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 6144);
   (void) XR←ImportProcS(var←c48156, 273921);
   (void) XR←ImportProcS(var←c48156, 67379713);
   (void) XR←ImportProcS(var←c48156, 1048836);
   (void) XR←ImportProcS(var←c48156, 262913);
   (void) XR←ImportProcS(var←c48156, 268545);
   (void) XR←ImportProcS(var←c48156, 278785);
   (void) XR←ImportProcS(var←c48156, 524290);
   var←c48156 = (word) XR←ImportInterface((word) "TEditLocks", (word) XR←GetTypeIndexS((word) (&string36)), 7);
   (* (( (ptr) gf←c0478)+141)/* var←c44444 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 262913);
   (void) XR←ImportProcS(var←c48156, 67895299);
   var←c48156 = (word) XR←ImportInterface((word) &string37, (word) XR←GetTypeIndexS((word) (&string38)), 12);
   (* (( (ptr) gf←c0478)+154)/* var←c47964 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 263681);
   var←c48156 = (word) XR←ImportInterface((word) "TEditRefresh", (word) XR←GetTypeIndexS((word) (&string39)), 3);
   (* (( (ptr) gf←c0478)+151)/* var←c45628 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 786947);
   var←c48156 = (word) XR←ImportInterface((word) "TEditScrolling", (word) XR←GetTypeIndexS((word) (&string40)), 3);
   (* (( (ptr) gf←c0478)+155)/* var←c48060 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 1049092);
   var←c48156 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string41)), 68);
   (* (( (ptr) gf←c0478)+132)/* var←c43772 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 279041);
   (void) XR←ImportProcS(var←c48156, 67114496);
   (void) XR←ImportProcS(var←c48156, 266753);
   (void) XR←ImportProcS(var←c48156, 67386113);
   (void) XR←ImportProcS(var←c48156, 528642);
   (void) XR←ImportProcS(var←c48156, 263937);
   (void) XR←ImportProcS(var←c48156, 526338);
   (void) XR←ImportProcS(var←c48156, 67110400);
   (void) XR←ImportProcS(var←c48156, 13056);
   (void) XR←ImportProcS(var←c48156, 797186);
   (void) XR←ImportProcS(var←c48156, 134495233);
   (void) XR←ImportProcS(var←c48156, 1316101);
   (void) XR←ImportProcS(var←c48156, 270337);
   var←c48156 = (word) XR←ImportInterface((word) "TEditTouchup", (word) XR←GetTypeIndexS((word) (&string42)), 6);
   (* (( (ptr) gf←c0478)+143)/* var←c44604 */  ) = var←c48156;
   var←c48156 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string43)), 39);
   (* (( (ptr) gf←c0478)+136)/* var←c44060 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67633410);
   (void) XR←ImportProcS(var←c48156, 1317893);
   (void) XR←ImportProcS(var←c48156, 67371521);
   (void) XR←ImportProcS(var←c48156, 67380481);
   (void) XR←ImportProcS(var←c48156, 136585481);
   (void) XR←ImportProcS(var←c48156, 792323);
   (void) XR←ImportProcS(var←c48156, 67376641);
   (void) XR←ImportProcS(var←c48156, 793091);
   (void) XR←ImportProcS(var←c48156, 67633154);
   var←c48156 = (word) XR←ImportInterface((word) "TextEditBogus", (word) XR←GetTypeIndexS((word) (&string44)), 1);
   (* (( (ptr) gf←c0478)+138)/* var←c44188 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67371009);
   var←c48156 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string45)), 34);
   (* (( (ptr) gf←c0478)+140)/* var←c44412 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 67377153);
   (void) XR←ImportProcS(var←c48156, 134485761);
   (void) XR←ImportProcS(var←c48156, 67372033);
   (void) XR←ImportProcS(var←c48156, 67635970);
   (void) XR←ImportProcS(var←c48156, 67373569);
   (void) XR←ImportProcS(var←c48156, 67372289);
   var←c48156 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string46)), 43);
   (* (( (ptr) gf←c0478)+144)/* var←c44636 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 1051652);
   var←c48156 = (word) XR←ImportInterface((word) "ViewerTools", (word) XR←GetTypeIndexS((word) (&string47)), 12);
   (* (( (ptr) gf←c0478)+153)/* var←c47580 */  ) = var←c48156;
   (void) XR←ImportProcS(var←c48156, 524802);
   var←c48156 = (word) XR←ExportInterface((word) &string34, (word) XR←GetTypeIndexS((word) (&string35)), 66);
   (* (( (ptr) gf←c0478)+156)/* var←c48188 */  ) = var←c48156;
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+332)/* var←c42940 */ , 262657, (word) "InsertChar");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+324)/* var←c42908 */ , 262913, (word) "InsertRope");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+316)/* var←c42876 */ , 1024, (word) "InsertLineBreak");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+308)/* var←c42844 */ , 264705, (word) "DeleteNextChar");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+276)/* var←c42716 */ , 264961, (word) "DeleteNextWord");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+300)/* var←c42812 */ , 265217, (word) "GoToNextChar");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+292)/* var←c42780 */ , 265473, (word) "GoToPreviousChar");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+268)/* var←c42684 */ , 265729, (word) "GoToNextWord");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+260)/* var←c42652 */ , 266241, (word) "GoToNextNode");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+252)/* var←c42620 */ , 266497, (word) "GoToPreviousNode");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+284)/* var←c42748 */ , 67638018, (word) "FindNextWord");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+492)/* var←c43580 */ , 5120, (word) "MakeControlCharacter");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+484)/* var←c43548 */ , 5376, (word) "UnMakeControlCharacter")
   ;
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+476)/* var←c43516 */ , 5632, (word) "MakeOctalCharacter");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+468)/* var←c43484 */ , 5888, (word) "UnMakeOctalCharacter");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+380)/* var←c43132 */ , 271617, (word) "CopyFormat");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+388)/* var←c43164 */ , 272385, (word) "TransposeFormat");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+212)/* var←c42460 */ , 534786, (word) "InsertBrackets");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+196)/* var←c42396 */ , 535042, (word) "SelectMatchingBrackets")
   ;
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+188)/* var←c42364 */ , 67644162, (word) "DoSelectMatchingBrackets")
   ;
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+172)/* var←c42300 */ , 273409, (word) "NextViewer");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+164)/* var←c42268 */ , 67382529, (word) "DoNextViewer");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+156)/* var←c42236 */ , 273921, (word) "FindPlaceholders");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+140)/* var←c42172 */ , 135802630, (word) "DoFindPlaceholders")
   ;
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+244)/* var←c42588 */ , 12288, (word) "InsertTime");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+508)/* var←c43644 */ , 274689, (word) "Capitalise");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+452)/* var←c43420 */ , 13824, (word) "SetStyle");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+436)/* var←c43356 */ , 538370, (word) "SetStyleName");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+428)/* var←c43324 */ , 14336, (word) "ReloadStyle");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+420)/* var←c43292 */ , 276737, (word) "ReloadStyleName");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+404)/* var←c43228 */ , 14848, (word) "SetFormat");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+396)/* var←c43196 */ , 15104, (word) "GetFormat");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+372)/* var←c43100 */ , 539650, (word) "SetFormatName");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+364)/* var←c43068 */ , 277761, (word) "SetCommentProp");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+356)/* var←c43036 */ , 278017, (word) "RegisterAbbrevFailedProc")
   ;
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+348)/* var←c43004 */ , 16128, (word) "ExpandAbbreviation");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+340)/* var←c42972 */ , 278529, (word) "LoadAbbreviations");
   var←c48156 = (word) XR←ExportInterface((word) &string37, (word) XR←GetTypeIndexS((word) (&string38)), 12);
   (* (( (ptr) gf←c0478)+156)/* var←c48188 */  ) = var←c48156;
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+132)/* var←c42140 */ , 67108864, (word) "GetSelContents");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+124)/* var←c42108 */ , 67371265, (word) "GetSelData");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+116)/* var←c42076 */ , 262913, (word) "AutoScroll");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+108)/* var←c42044 */ , 67372033, (word) "GetTextContents");
   (void) XR←ExportProcS(var←c48156, (word) (( (bPt) gf←c0478)+100)/* var←c42012 */ , 525570, (word) "SetTextContents");
   }

static void TEditMiscOpsImpl←P0(formal←c091, formal←c090)
   word formal←c091;
   word formal←c090;
   {
   /* TEditMiscOpsImpl: */ 
   }

static void Capitalise←P60(formal←c0660)
   word formal←c0660;
   {
   W7 var←c48220;
   /* declaration of flavor←v5740 skipped */ 
   register ptr gf←c48252 =  (ptr) &globalframe;
   /* declaration of var←c43708 skipped */ 
   var←c48220.f4/* flavor←v5740 */  = formal←c0660;
   /* Capitalise: */ 
SOURCE(2112, 345)
   {
      word tmpAddr48;
      tmpAddr48 = (word) (( (ptr) &var←c48220)+5)/* var←c43708 */ ;
      (*  (ptr) tmpAddr48 ) = ( ((word)  (fPt) DoCapitalise←P3180) );
      (* (( (ptr) tmpAddr48) + 1) ) = 1;
      };
SOURCE(2414, 43)
   {
      word pd49;
      pd49 = (* (( (ptr) (* (( (ptr) gf←c48252)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd49 ))))((word) (( (bPt) &var←c48220)+20)/* var←c43708 */ , 1, pd49);
      };
   }

static void DoCapitalise←P3180(root←v9612, tSel←v9640, formal←c48316)
   word root←v9612;
   word tSel←v9640;
   word formal←c48316;
   {
   register ptr gf←c48284 =  (ptr) &globalframe;
   formal←c48316 = (formal←c48316 - 20);
   /* DoCapitalise: */ 
SOURCE(2166, 245)
SOURCE(2219, 25)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c48284)+132)/* var←c43772 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd50 ))))(0, pd50);
      };
SOURCE(2246, 90)
   {
      W4 var←c43804;
      (*  (W2Pt) &var←c43804 ) = (*  (W2Pt) (( (ptr) tSel←v9640)+2) );
      (*  (W2Pt) (( (ptr) &var←c43804)+2) ) = (*  (W2Pt) (( (ptr) tSel←v9640)+11) );
      {
         word pd51;
         pd51 = (* (( (ptr) (* (( (ptr) gf←c48284)+134)/* var←c43868 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd51 ))))(root←v9612, var←c43804, (* (( (ptr) formal←c48316)+4) ), (*  (ptr) (* (( (ptr) (* (
                  ( (ptr) gf←c48284)+133)/* var←c43836 */  ))+6) ) ), pd51);
         };
      };
SOURCE(2338, 26)
   (* (( (ptr) tSel←v9640)+26) ) = 0;
SOURCE(2366, 45)
   {
      word pd52;
      pd52 = (* (( (ptr) (* (( (ptr) gf←c48284)+132)/* var←c43772 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd52 ))))(tSel←v9640, 0, 0, 0, 1, pd52);
      };
   }

static void MungeChar←P120(formal←c0661)
   word formal←c0661;
   {
   W7 var←c48348;
   /* declaration of proc←v5800 skipped */ 
   register ptr gf←c48380 =  (ptr) &globalframe;
   /* declaration of var←c43900 skipped */ 
   var←c48348.f4/* proc←v5800 */  = formal←c0661;
   /* MungeChar: */ 
SOURCE(2461, 607)
   {
      word tmpAddr53;
      tmpAddr53 = (word) (( (ptr) &var←c48348)+5)/* var←c43900 */ ;
      (*  (ptr) tmpAddr53 ) = ( ((word)  (fPt) DoMungeChar←P3240) );
      (* (( (ptr) tmpAddr53) + 1) ) = 1;
      };
SOURCE(3028, 40)
   {
      word pd54;
      pd54 = (* (( (ptr) (* (( (ptr) gf←c48380)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd54 ))))((word) (( (bPt) &var←c48348)+20)/* var←c43900 */ , 1, pd54);
      };
   }

static void DoMungeChar←P3240(root←v9744, tSel←v9772, formal←c48444)
   word root←v9744;
   word tSel←v9772;
   word formal←c48444;
   {
   register ptr gf←c48412 =  (ptr) &globalframe;
   W2 caret←v9800;
   word ok←v9828 = 0;
   formal←c48444 = (formal←c48444 - 20);
   /* DoMungeChar: */ 
SOURCE(2505, 518)
SOURCE(2557, 53)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c48412)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd55 ))))((word) &caret←v9800, tSel←v9772, pd55);
      };
SOURCE(2630, 347)
   if ( ( (caret←v9800.f0 != 0) ? ( (int)caret←v9800.f1 !=  (int) (word) -1) : 0 ) ) {
SOURCE(2680, 299)
      {
         word resultStart←v9872 = 0;
         word resultLen←v9900 = 0;
SOURCE(2715, 25)
         {
            word pd56;
            pd56 = (* (( (ptr) (* (( (ptr) gf←c48412)+132)/* var←c43772 */  ))+36) );
            (void) ( *( (fPt) ((*  (ptr) pd56 ))))(0, pd56);
            };
SOURCE(2742, 106)
         {
            W3 var←c43932;
            {
               word pd57;
               pd57 = (* (( (ptr) formal←c48444)+4) );
               (void) ( *( (fPt) ((*  (ptr) pd57 ))))((word) &var←c43932, caret←v9800.f0, caret←v9800.f1, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48412)+133)
                     /* var←c43836 */  ))+6) ) ), pd57);
               };
            resultLen←v9900 = var←c43932.f2;
            resultStart←v9872 = var←c43932.f1;
            ok←v9828 = var←c43932.f0;
            };
SOURCE(2850, 127)
         if ((0 != ok←v9828)) {
SOURCE(2861, 82)
            {
               W2 var←c43964;
               var←c43964.f0 = caret←v9800.f0;
               var←c43964.f1 = (resultStart←v9872 + resultLen←v9900);
               {
                  word pd58;
                  pd58 = (* (( (ptr) (* (( (ptr) gf←c48412)+132)/* var←c43772 */  ))+46) );
                  (void) ( *( (fPt) ((*  (ptr) pd58 ))))(tSel←v9772, var←c43964, pd58);
                  };
               };
            }
         else {
SOURCE(2943, 34)
            {
               word pd59;
               pd59 = (* (( (ptr) (* (( (ptr) gf←c48412)+132)/* var←c43772 */  ))+25) );
               (void) ( *( (fPt) ((*  (ptr) pd59 ))))(tSel←v9772, 0, 0, 0, 1, pd59);
               };
            };
         };
      };
SOURCE(2982, 41)
   if ((0 == ok←v9828)) {
SOURCE(2997, 26)
      {
         word pd60;
         pd60 = (* (( (ptr) (* (( (ptr) gf←c48412)+131)/* var←c43740 */  ))+69) );
         (void) ( *( (fPt) ((*  (ptr) pd60 ))))(0, pd60);
         };
      };
   }

static void MakeControlCharacter←P180()
   {
   register ptr gf←c48476 =  (ptr) &globalframe;
   /* MakeControlCharacter: */ 
SOURCE(3074, 70)
SOURCE(3112, 32)
   (void) MungeChar←P120((* ((( (ptr) (* (( (ptr) gf←c48476)+135)/* var←c43996 */  ))+7)) ));
   }

static void UnMakeControlCharacter←P240()
   {
   register ptr gf←c48508 =  (ptr) &globalframe;
   /* UnMakeControlCharacter: */ 
SOURCE(3150, 74)
SOURCE(3190, 34)
   (void) MungeChar←P120((* ((( (ptr) (* (( (ptr) gf←c48508)+135)/* var←c43996 */  ))+8)) ));
   }

static void MakeOctalCharacter←P300()
   {
   register ptr gf←c48540 =  (ptr) &globalframe;
   /* MakeOctalCharacter: */ 
SOURCE(3230, 66)
SOURCE(3266, 30)
   (void) MungeChar←P120((* ((( (ptr) (* (( (ptr) gf←c48540)+135)/* var←c43996 */  ))+9)) ));
   }

static void UnMakeOctalCharacter←P360()
   {
   register ptr gf←c48572 =  (ptr) &globalframe;
   /* UnMakeOctalCharacter: */ 
SOURCE(3302, 70)
SOURCE(3340, 32)
   (void) MungeChar←P120((* ((( (ptr) (* (( (ptr) gf←c48572)+135)/* var←c43996 */  ))+10)) ));
   }

static word GetWord←P420()
   {
   register ptr gf←c48604 =  (ptr) &globalframe;
   word word←v5924;
   word tSel←v9944 = 0;
   word start←v9972;
   W2 pos←v10000;
   word node←v10028 = 0;
   word nChars←v10056 = 0;
   /* GetWord: */ 
SOURCE(3379, 867)
SOURCE(3379, 867)
   word←v5924 = 0;
SOURCE(3447, 13)
   pos←v10000.f0 = 0;
   pos←v10000.f1 = 0;
SOURCE(3496, 34)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+55) );
      (void) ( *( (fPt) ((*  (ptr) pd61 ))))(pd61);
      };
SOURCE(3532, 37)
   {
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd62 ))))((word) &pos←v10000, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+4)
          ) ), pd62);
      };
SOURCE(3571, 42)
   node←v10028 = pos←v10000.f0;
   if ((pos←v10000.f0 == 0)) {
SOURCE(3601, 12)
      return(0);
      };
SOURCE(3615, 43)
   if (( (int)pos←v10000.f1 ==  (int) (word) -1)) {
SOURCE(3646, 12)
      return(0);
      };
SOURCE(3660, 19)
   start←v9972 = (pos←v10000.f1 - 1);
SOURCE(3681, 148)
   lab←L100002: ;
   if (( (int)start←v9972 >=  (int)0)) {
      }
   else {
      goto lab←L100000;
      };
   {
      word c←v10100;
      word var←c44092;
      word c←v34492;
SOURCE(3699, 47)
      {
         word pd63;
         pd63 = (* (( (ptr) (* (( (ptr) gf←c48604)+136)/* var←c44060 */  ))+4) );
         c←v10100 = (word) ( *( (fPt) ((*  (ptr) pd63 ))))(node←v10028, start←v9972, pd63);
         };
SOURCE(3748, 37)
      if ((((word) c←v10100 >> 8) != 0)) { goto then064;};
      c←v34492 = (c←v10100 & 0377);
      var←c44092 =  (unsigned) ( (unsigned) (word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48604)+137)/* var←c44124 */  ))+4)
          ) ))+c←v34492) ) == 2);
      if ((0 == var←c44092)) {
         then064: ;
SOURCE(3785, 4)
         goto lab←L100001;
         };
SOURCE(3791, 17)
      start←v9972 = (start←v9972 - 1);
SOURCE(3810, 19)
      nChars←v10056 = (nChars←v10056 + 1);
      };
   goto lab←L100002;
   lab←L100000: ;
   lab←L100001: ;
SOURCE(3840, 31)
   if ((nChars←v10056 == 0)) {
SOURCE(3859, 12)
      return(0);
      };
SOURCE(3873, 24)
   start←v9972 = (pos←v10000.f1 - nChars←v10056);
SOURCE(3899, 62)
   {
      word var←c44156;
      {
         word pd65;
         pd65 = (* (( (ptr) (* (( (ptr) gf←c48604)+138)/* var←c44188 */  ))+4) );
         var←c44156 = (word) ( *( (fPt) ((*  (ptr) pd65 ))))(node←v10028, pd65);
         };
      {
         word pd66;
         pd66 = (* (( (ptr) (* (( (ptr) gf←c48604)+139)/* var←c44220 */  ))+17) );
         word←v5924 = (word) ( *( (fPt) ((*  (ptr) pd66 ))))(var←c44156, start←v9972, SGNCK(nChars←v10056), pd66);
         };
      };
SOURCE(3963, 29)
   {
      word pd67;
      pd67 = (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+10) );
      tSel←v9944 = (word) ( *( (fPt) ((*  (ptr) pd67 ))))(pd67);
      };
SOURCE(3994, 60)
   {
      word pd68;
      pd68 = (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd68 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+4) ) ), tSel←v9944, pd68)
      ;
      };
SOURCE(4056, 30)
   (* (( (ptr) tSel←v9944)+2) ) = node←v10028;
   (* (( (ptr) tSel←v9944)+3) ) = start←v9972;
SOURCE(4088, 37)
   (* (( (ptr) tSel←v9944)+11) ) = node←v10028;
   (* (( (ptr) tSel←v9944)+12) ) = ((start←v9972 + nChars←v10056) - 1);
SOURCE(4127, 23)
   (* (( (ptr) tSel←v9944)+22) ) = 1;
SOURCE(4152, 43)
   {
      word pd69;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd69 ))))(tSel←v9944, 0, 0, 0, 1, pd69);
      };
SOURCE(4197, 25)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c48604)+132)/* var←c43772 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd70 ))))(tSel←v9944, pd70);
      };
SOURCE(4224, 22)
   {
      word pd71;
      pd71 = (* (( (ptr) (* (( (ptr) gf←c48604)+131)/* var←c43740 */  ))+29) );
      (void) ( *( (fPt) ((*  (ptr) pd71 ))))(1, pd71);
      };
SOURCE(3379, 867)
   return(word←v5924);
   }

static void SetStyle←P480()
   {
   W6 var←c48636;
   register ptr gf←c48668 =  (ptr) &globalframe;
   /* declaration of var←c44252 skipped */ 
   /* SetStyle: */ 
SOURCE(4252, 222)
   {
      word tmpAddr72;
      tmpAddr72 = (word) (( (ptr) &var←c48636)+4)/* var←c44252 */ ;
      (*  (ptr) tmpAddr72 ) = ( ((word)  (fPt) DoSetStyle←P3396) );
      (* (( (ptr) tmpAddr72) + 1) ) = 1;
      };
SOURCE(4433, 41)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c48668)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd73 ))))((word) (( (bPt) &var←c48636)+16)/* var←c44252 */ , 1, pd73);
      };
   }

static void DoSetStyle←P3396(root←v10220, tSel←v10248, formal←c48732)
   word root←v10220;
   word tSel←v10248;
   word formal←c48732;
   {
   register ptr gf←c48700 =  (ptr) &globalframe;
   word name←v10276;
   formal←c48732 = (formal←c48732 - 16);
   /* DoSetStyle: */ 
SOURCE(4278, 152)
SOURCE(4329, 22)
   name←v10276 = (word) GetWord←P420();
SOURCE(4353, 54)
   if ((name←v10276 == 0)) {
SOURCE(4372, 26)
      {
         word pd74;
         pd74 = (* (( (ptr) (* (( (ptr) gf←c48700)+131)/* var←c43740 */  ))+69) );
         (void) ( *( (fPt) ((*  (ptr) pd74 ))))(0, pd74);
         };
SOURCE(4400, 7)
      return;
      };
SOURCE(4410, 20)
   (void) SetStyleName←P600(name←v10276, 0);
   }

static word ForceLower←P540(formal←c0662)
   word formal←c0662;
   {
   W8 var←c48764;
   /* declaration of r←v6000 skipped */ 
   register ptr gf←c48796 =  (ptr) &globalframe;
   word var←c6044;
   /* declaration of var←c44284 skipped */ 
   /* declaration of i←v10348 skipped */ 
   var←c48764.f4/* r←v6000 */  = formal←c0662;
   /* ForceLower: */ 
SOURCE(4478, 183)
   {
      word tmpAddr75;
      tmpAddr75 = (word) (( (ptr) &var←c48764)+5)/* var←c44284 */ ;
      (*  (ptr) tmpAddr75 ) = ( ((word)  (fPt) Force←P3456) );
      (* (( (ptr) tmpAddr75) + 1) ) = 1;
      };
SOURCE(4604, 10)
   var←c48764.f7/* i←v10348 */  = 0;
SOURCE(4616, 45)
   {
      word var←c44348;
      {
         word pd76;
         pd76 = (* (( (ptr) (* (( (ptr) gf←c48796)+139)/* var←c44220 */  ))+15) );
         var←c44348 = (word) ( *( (fPt) ((*  (ptr) pd76 ))))(var←c48764.f4/* r←v6000 */ , pd76);
         };
      {
         word pd77;
         pd77 = (* (( (ptr) (* (( (ptr) gf←c48796)+139)/* var←c44220 */  ))+31) );
         return((word) ( *( (fPt) ((*  (ptr) pd77 ))))(var←c44348, (word) (( (bPt) &var←c48764)+20)/* var←c44284 */ , 2147483647, pd77)
         );
         };
      };
   }

static word Force←P3456(formal←c48860)
   word formal←c48860;
   {
   register ptr gf←c48828 =  (ptr) &globalframe;
   word c←v10424;
   formal←c48860 = (formal←c48860 - 20);
   /* Force: */ 
SOURCE(4524, 77)
SOURCE(4558, 33)
   {
      word var←c44380;
      word ch←v41964;
      {
         word pd78;
         pd78 = (* (( (ptr) (* (( (ptr) gf←c48828)+139)/* var←c44220 */  ))+9) );
         ch←v41964 = (word) ( *( (fPt) ((*  (ptr) pd78 ))))((* (( (ptr) formal←c48860)+4) ), (* (( (ptr) formal←c48860)+7) ), pd78)
         ;
         };
      if (((ch←v41964 - 65) <= 25)) {
         var←c44380 = (ch←v41964 + 32);
         }
      else {
         var←c44380 = ch←v41964;
         };
      c←v10424 = var←c44380;
      };
SOURCE(4593, 8)
   (* (( (ptr) formal←c48860)+7) ) = ((* (( (ptr) formal←c48860)+7) ) + 1);
SOURCE(4524, 77)
   return(c←v10424);
   }

static void SetStyleName←P600(name←v6104, formal←c0663)
   word name←v6104;
   word formal←c0663;
   {
   W9 var←c48892;
   /* declaration of node←v6132 skipped */ 
   register ptr gf←c48924 =  (ptr) &globalframe;
   /* declaration of root←v10452 skipped */ 
   (* (( (ptr) &var←c48892)+4)/* node←v6132 */  ) = formal←c0663;
   /* SetStyleName: */ 
SOURCE(4665, 418)
SOURCE(4726, 10)
   (* (( (ptr) &var←c48892)+5)/* root←v10452 */  ) = 0;
SOURCE(4738, 141)
   if (((* (( (ptr) &var←c48892)+4)/* node←v6132 */  ) == 0)) {
SOURCE(4755, 124)
      if (((* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48924)+132)/* var←c43772 */  ))+4) ) ))+24) ) == 0)) {
         (* (( (ptr) &var←c48892)+4)/* node←v6132 */  ) = (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48924)+132)/* var←c43772 */  ))+4)
             ) ))+2) );
         }
      else {
         (* (( (ptr) &var←c48892)+4)/* node←v6132 */  ) = (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48924)+132)/* var←c43772 */  ))+4)
             ) ))+11) );
         };
      };
SOURCE(4881, 26)
   {
      word pd79;
      pd79 = (* (( (ptr) (* (( (ptr) gf←c48924)+140)/* var←c44412 */  ))+9) );
      (* (( (ptr) &var←c48892)+5)/* root←v10452 */  ) = (word) ( *( (fPt) ((*  (ptr) pd79 ))))((* ((( (ptr) &var←c48892)+4)/* node←v6132 */ ) ), pd79)
      ;
      };
SOURCE(4909, 42)
   {
      word var←c44476;
      word pd80;
      pd80 = (* (( (ptr) (* (( (ptr) gf←c48924)+141)/* var←c44444 */  ))+4) );
      var←c44476 = (word) ( *( (fPt) ((*  (ptr) pd80 ))))((* (( (ptr) &var←c48892)+5)/* root←v10452 */  ), (* (( (ptr) gf←c48924)+24)
          ), 1, pd80);
      };
SOURCE(4953, 105)
   {
      /* declaration of var←c44508 skipped */ 
      (* (( (ptr) &var←c48892)+6)/* var←c44508 */  ) = (word) ForceLower←P540(name←v6104);
      {
         /* declaration of var←c01 skipped */ 
         /* declaration of var←c02 skipped */ 
         (* (( (ptr) &var←c48892)+7)/* var←c01 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48924)+133)/* var←c43836 */  ))+6) ) );
         (* (( (ptr) &var←c48892)+8)/* var←c02 */  ) = (* (( (ptr) (* (( (ptr) gf←c48924)+136)/* var←c44060 */  ))+30) );
         {
            word var←c0593;
            var←c0593 = (word) &var←c48892;
             (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q6576) ), ( ((word)  (fPt) NoName←Q6996) ), var←c0593);
            };
         };
      };
SOURCE(5060, 23)
   {
      word pd81;
      pd81 = (* (( (ptr) (* (( (ptr) gf←c48924)+141)/* var←c44444 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd81 ))))((* ((( (ptr) &var←c48892)+5)/* root←v10452 */ ) ), pd81);
      };
   }

static word NoName←Q6576(formal←c0497)
   word formal←c0497;
   {
SOURCE(4953, 105)
   {
      word pd82;
      pd82 = (* (( (ptr) formal←c0497)+8) );
      (void) ( *( (fPt) ((*  (ptr) pd82 ))))((* (( (ptr) formal←c0497)+4) ), (* (( (ptr) formal←c0497)+6) ), (* (( (ptr) formal←c0497)+7)
          ), pd82);
      };
   return(0);
   }

static void ReloadStyle←P660()
   {
   register ptr gf←c48956 =  (ptr) &globalframe;
   word styleName←v10496;
   /* ReloadStyle: */ 
SOURCE(5089, 282)
SOURCE(5118, 85)
   {
      W2 var←c0139;
      word var←c44540;
      {
         word pd83;
         pd83 = (* (( (ptr) (* (( (ptr) gf←c48956)+132)/* var←c43772 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd83 ))))((word) &var←c0139, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48956)+132)/* var←c43772 */  ))+4)
             ) ), pd83);
         };
      var←c44540 = var←c0139.f0;
      {
         word pd84;
         pd84 = (* (( (ptr) (* (( (ptr) gf←c48956)+142)/* var←c44572 */  ))+20) );
         styleName←v10496 = (word) ( *( (fPt) ((*  (ptr) pd84 ))))(var←c44540, pd84);
         };
      };
SOURCE(5205, 166)
   {
      word pd85;
      pd85 = (* (( (ptr) (* (( (ptr) gf←c48956)+142)/* var←c44572 */  ))+9) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd85 ))))(styleName←v10496, pd85))) {
SOURCE(5253, 29)
         (void) CannotReload←P780(styleName←v10496);
         }
      else {
SOURCE(5282, 89)
         {
            word pd86;
            pd86 = (* (( (ptr) (* (( (ptr) gf←c48956)+144)/* var←c44636 */  ))+16) );
            (void) ( *( (fPt) ((*  (ptr) pd86 ))))((*  (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48956)+132)/* var←c43772 */  ))+4)
                ) ) ), 1, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48956)+143)/* var←c44604 */  ))+4) ) ), pd86);
            };
         };
      };
   }

static void ReloadStyleName←P720(name←v6208)
   word name←v6208;
   {
   register ptr gf←c48988 =  (ptr) &globalframe;
   word styleName←v10540 = 0;
   /* ReloadStyleName: */ 
SOURCE(5377, 196)
SOURCE(5440, 27)
   {
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c48988)+139)/* var←c44220 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd87 ))))(name←v6208, pd87))) {
SOURCE(5461, 6)
         return;
         };
      };
SOURCE(5469, 31)
   {
      word pd88;
      pd88 = (* (( (ptr) (* (( (ptr) gf←c48988)+145)/* var←c44668 */  ))+5) );
      styleName←v10540 = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(name←v6208, 0, 2147483647, pd88);
      };
SOURCE(5502, 71)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c48988)+142)/* var←c44572 */  ))+9) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd89 ))))(styleName←v10540, pd89))) {
SOURCE(5550, 23)
         (void) CannotReload←P780(styleName←v10540);
         };
      };
   }

static void CannotReload←P780(styleName←v6268)
   word styleName←v6268;
   {
   register ptr gf←c49020 =  (ptr) &globalframe;
   /* CannotReload: */ 
SOURCE(5579, 184)
SOURCE(5622, 68)
   {
      word pd90;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c49020)+146)/* var←c44700 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd90 ))))((* (( (ptr) gf←c49020)+23) ), 1, pd90);
      };
SOURCE(5692, 46)
   {
      word var←c44732;
      {
         word pd91;
         pd91 = (* (( (ptr) (* (( (ptr) gf←c49020)+145)/* var←c44668 */  ))+9) );
         var←c44732 = (word) ( *( (fPt) ((*  (ptr) pd91 ))))(styleName←v6268, pd91);
         };
      {
         word pd92;
         pd92 = (* (( (ptr) (* (( (ptr) gf←c49020)+146)/* var←c44700 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd92 ))))(var←c44732, 0, pd92);
         };
      };
SOURCE(5740, 23)
   {
      word pd93;
      pd93 = (* (( (ptr) (* (( (ptr) gf←c49020)+146)/* var←c44700 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd93 ))))(pd93);
      };
   }

static void SetFormat←P840()
   {
   W6 var←c49052;
   register ptr gf←c49084 =  (ptr) &globalframe;
   /* declaration of var←c44764 skipped */ 
   /* SetFormat: */ 
SOURCE(5767, 226)
   {
      word tmpAddr94;
      tmpAddr94 = (word) (( (ptr) &var←c49052)+4)/* var←c44764 */ ;
      (*  (ptr) tmpAddr94 ) = ( ((word)  (fPt) DoSetFormat←P3516) );
      (* (( (ptr) tmpAddr94) + 1) ) = 1;
      };
SOURCE(5951, 42)
   {
      word pd95;
      pd95 = (* (( (ptr) (* (( (ptr) gf←c49084)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd95 ))))((word) (( (bPt) &var←c49052)+16)/* var←c44764 */ , 1, pd95);
      };
   }

static void DoSetFormat←P3516(root←v10660, tSel←v10688, formal←c49148)
   word root←v10660;
   word tSel←v10688;
   word formal←c49148;
   {
   register ptr gf←c49116 =  (ptr) &globalframe;
   word name←v10716;
   formal←c49148 = (formal←c49148 - 16);
   /* DoSetFormat: */ 
SOURCE(5794, 154)
SOURCE(5846, 22)
   name←v10716 = (word) GetWord←P420();
SOURCE(5870, 54)
   if ((name←v10716 == 0)) {
SOURCE(5889, 26)
      {
         word pd96;
         pd96 = (* (( (ptr) (* (( (ptr) gf←c49116)+131)/* var←c43740 */  ))+69) );
         (void) ( *( (fPt) ((*  (ptr) pd96 ))))(0, pd96);
         };
SOURCE(5917, 7)
      return;
      };
SOURCE(5927, 21)
   (void) SetFormatName←P1080(name←v10716, 0);
   }

static void GetFormat←P900()
   {
   W6 var←c49180;
   register ptr gf←c49212 =  (ptr) &globalframe;
   /* declaration of var←c44796 skipped */ 
   /* GetFormat: */ 
SOURCE(5997, 305)
   {
      word tmpAddr97;
      tmpAddr97 = (word) (( (ptr) &var←c49180)+4)/* var←c44796 */ ;
      (*  (ptr) tmpAddr97 ) = ( ((word)  (fPt) DoGetFormat←P3576) );
      (* (( (ptr) tmpAddr97) + 1) ) = 1;
      };
SOURCE(6260, 42)
   {
      word pd98;
      pd98 = (* (( (ptr) (* (( (ptr) gf←c49212)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd98 ))))((word) (( (bPt) &var←c49180)+16)/* var←c44796 */ , 1, pd98);
      };
   }

static void DoGetFormat←P3576(root←v10836, tSel←v10864, formal←c49276)
   word root←v10836;
   word tSel←v10864;
   word formal←c49276;
   {
   register ptr gf←c49244 =  (ptr) &globalframe;
   word name←v10892 = 0;
   word format←v10920;
   formal←c49276 = (formal←c49276 - 16);
   /* DoGetFormat: */ 
SOURCE(6024, 233)
SOURCE(6088, 71)
   {
      W2 var←c0154;
      word var←c44828;
      {
         word pd99;
         pd99 = (* (( (ptr) (* (( (ptr) gf←c49244)+132)/* var←c43772 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd99 ))))((word) &var←c0154, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49244)+132)/* var←c43772 */  ))+4)
             ) ), pd99);
         };
      var←c44828 = var←c0154.f0;
      {
         word pd100;
         pd100 = (* (( (ptr) (* (( (ptr) gf←c49244)+136)/* var←c44060 */  ))+26) );
         format←v10920 = (word) ( *( (fPt) ((*  (ptr) pd100 ))))(var←c44828, pd100);
         };
      };
SOURCE(6161, 62)
   {
      word pd101;
      if ((format←v10920 == 0)) {
         name←v10892 = (* (( (ptr) gf←c49244)+21) );
         }
      else {
         pd101 = (* (( (ptr) (* (( (ptr) gf←c49244)+145)/* var←c44668 */  ))+9) );
         name←v10892 = (word) ( *( (fPt) ((*  (ptr) pd101 ))))(format←v10920, pd101);
         };
      };
SOURCE(6225, 32)
   {
      word pd102;
      pd102 = (* (( (ptr) (* (( (ptr) gf←c49244)+131)/* var←c43740 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd102 ))))(name←v10892, pd102);
      };
   }

static void TransposeFormat←P960(formal←c0664)
   word formal←c0664;
   {
   W7 var←c49308;
   /* declaration of target←v6360 skipped */ 
   register ptr gf←c49340 =  (ptr) &globalframe;
   /* declaration of var←c44860 skipped */ 
   word targetSel←v10964;
   word srcSel←v10992;
   var←c49308.f4/* target←v6360 */  = formal←c0664;
   /* TransposeFormat: */ 
SOURCE(6306, 1204)
   {
      word tmpAddr103;
      tmpAddr103 = (word) (( (ptr) &var←c49308)+5)/* var←c44860 */ ;
      (*  (ptr) tmpAddr103 ) = ( ((word)  (fPt) DoTransFormat←P3636) );
      (* (( (ptr) tmpAddr103) + 1) ) = 1;
      };
SOURCE(6385, 90)
   targetSel←v10964 =  ( (var←c49308.f4/* target←v6360 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49340)+132)/* var←c43772 */  ))+4)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49340)+132)/* var←c43772 */  ))+5) ) ) ) ;
SOURCE(6477, 87)
   srcSel←v10992 =  ( (var←c49308.f4/* target←v6360 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49340)+132)/* var←c43772 */  ))+5)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49340)+132)/* var←c43772 */  ))+4) ) ) ) ;
SOURCE(7435, 75)
   {
      word pd104;
      pd104 = (* (( (ptr) (* (( (ptr) gf←c49340)+131)/* var←c43740 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd104 ))))((word) (( (bPt) &var←c49308)+20)/* var←c44860 */ , targetSel←v10964, srcSel←v10992, 1, pd104)
      ;
      };
   }

static void DoTransFormat←P3636(sourceRoot←v11096, destRoot←v11124, tSel←v11152, srcSel←v11180, targetSel←v11208, formal←c49404)
   word sourceRoot←v11096;
   word destRoot←v11124;
   word tSel←v11152;
   word srcSel←v11180;
   word targetSel←v11208;
   word formal←c49404;
   {
   register ptr gf←c49372 =  (ptr) &globalframe;
   word targetFormat←v11236 = 0;
   word srcFormat←v11264 = 0;
   word targetNode←v11292 = 0;
   word srcNode←v11320 = 0;
   formal←c49404 = (formal←c49404 - 20);
   /* DoTransFormat: */ 
SOURCE(6566, 866)
SOURCE(6713, 88)
   if (((* (( (ptr) srcSel←v11180)+24) ) == 0)) {
      srcNode←v11320 = (* (( (ptr) srcSel←v11180)+2) );
      }
   else {
      srcNode←v11320 = (* (( (ptr) srcSel←v11180)+11) );
      };
SOURCE(6803, 39)
   {
      word pd105;
      pd105 = (* (( (ptr) (* (( (ptr) gf←c49372)+136)/* var←c44060 */  ))+26) );
      srcFormat←v11264 = (word) ( *( (fPt) ((*  (ptr) pd105 ))))(srcNode←v11320, pd105);
      };
SOURCE(6844, 100)
   if (((* (( (ptr) targetSel←v11208)+24) ) == 0)) {
      targetNode←v11292 = (* (( (ptr) targetSel←v11208)+2) );
      }
   else {
      targetNode←v11292 = (* (( (ptr) targetSel←v11208)+11) );
      };
SOURCE(6946, 45)
   {
      word pd106;
      pd106 = (* (( (ptr) (* (( (ptr) gf←c49372)+136)/* var←c44060 */  ))+26) );
      targetFormat←v11236 = (word) ( *( (fPt) ((*  (ptr) pd106 ))))(targetNode←v11292, pd106);
      };
SOURCE(6993, 67)
   {
      word pd107;
      pd107 = (* (( (ptr) (* (( (ptr) gf←c49372)+132)/* var←c43772 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd107 ))))(targetSel←v11208, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49372)+132)/* var←c43772 */  ))+7)
          ) ), pd107);
      };
SOURCE(7084, 131)
   {
      word pd108;
      pd108 = (* (( (ptr) (* (( (ptr) gf←c49372)+135)/* var←c43996 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd108 ))))((* (( (ptr) targetSel←v11208)+2) ), (* (( (ptr) targetSel←v11208)+11) ), srcFormat←v11264, (*  (ptr) (* (
            ( (ptr) (* (( (ptr) gf←c49372)+133)/* var←c43836 */  ))+6) ) ), pd108);
      };
SOURCE(7217, 128)
   {
      word pd109;
      pd109 = (* (( (ptr) (* (( (ptr) gf←c49372)+135)/* var←c43996 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd109 ))))((* (( (ptr) srcSel←v11180)+2) ), (* (( (ptr) srcSel←v11180)+11) ), targetFormat←v11236, (*  (ptr) (* (
            ( (ptr) (* (( (ptr) gf←c49372)+133)/* var←c43836 */  ))+6) ) ), pd109);
      };
SOURCE(7347, 85)
   {
      word pd110;
      pd110 = (* (( (ptr) (* (( (ptr) gf←c49372)+132)/* var←c43772 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd110 ))))( ( ((* (( (ptr) formal←c49404)+4) ) == 0) ? targetSel←v11208 : srcSel←v11180 ) , 0, 0, 0, 1, pd110)
      ;
      };
   }

static void CopyFormat←P1020(formal←c0665)
   word formal←c0665;
   {
   W7 var←c49436;
   /* declaration of target←v6420 skipped */ 
   register ptr gf←c49468 =  (ptr) &globalframe;
   /* declaration of var←c44892 skipped */ 
   word targetSel←v11364;
   word srcSel←v11392;
   var←c49436.f4/* target←v6420 */  = formal←c0665;
   /* CopyFormat: */ 
SOURCE(7514, 861)
   {
      word tmpAddr111;
      tmpAddr111 = (word) (( (ptr) &var←c49436)+5)/* var←c44892 */ ;
      (*  (ptr) tmpAddr111 ) = ( ((word)  (fPt) DoCopyFormat←P3696) );
      (* (( (ptr) tmpAddr111) + 1) ) = 1;
      };
SOURCE(7588, 90)
   targetSel←v11364 =  ( (var←c49436.f4/* target←v6420 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49468)+132)/* var←c43772 */  ))+4)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49468)+132)/* var←c43772 */  ))+5) ) ) ) ;
SOURCE(7680, 87)
   srcSel←v11392 =  ( (var←c49436.f4/* target←v6420 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49468)+132)/* var←c43772 */  ))+5)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49468)+132)/* var←c43772 */  ))+4) ) ) ) ;
SOURCE(8302, 73)
   {
      word pd112;
      pd112 = (* (( (ptr) (* (( (ptr) gf←c49468)+131)/* var←c43740 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd112 ))))((word) (( (bPt) &var←c49436)+20)/* var←c44892 */ , targetSel←v11364, srcSel←v11392, 0, pd112)
      ;
      };
   }

static void DoCopyFormat←P3696(sourceRoot←v11496, destRoot←v11524, tSel←v11552, srcSel←v11580, targetSel←v11608, formal←c49532)
   word sourceRoot←v11496;
   word destRoot←v11524;
   word tSel←v11552;
   word srcSel←v11580;
   word targetSel←v11608;
   word formal←c49532;
   {
   register ptr gf←c49500 =  (ptr) &globalframe;
   word srcNode←v11636;
   word format←v11664;
   formal←c49532 = (formal←c49532 - 20);
   /* DoCopyFormat: */ 
SOURCE(7769, 530)
SOURCE(7857, 94)
   srcNode←v11636 =  ( ((* (( (ptr) srcSel←v11580)+24) ) == 0) ? (* (( (ptr) srcSel←v11580)+2) ) : (* (( (ptr) srcSel←v11580)+11)
    ) ) ;
SOURCE(7953, 42)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c49500)+136)/* var←c44060 */  ))+26) );
      format←v11664 = (word) ( *( (fPt) ((*  (ptr) pd113 ))))(srcNode←v11636, pd113);
      };
SOURCE(7997, 64)
   {
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c49500)+132)/* var←c43772 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd114 ))))(srcSel←v11580, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49500)+132)/* var←c43772 */  ))+7)
          ) ), pd114);
      };
SOURCE(8084, 128)
   {
      word pd115;
      pd115 = (* (( (ptr) (* (( (ptr) gf←c49500)+135)/* var←c43996 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd115 ))))((* (( (ptr) targetSel←v11608)+2) ), (* (( (ptr) targetSel←v11608)+11) ), format←v11664, (*  (ptr) (* (
            ( (ptr) (* (( (ptr) gf←c49500)+133)/* var←c43836 */  ))+6) ) ), pd115);
      };
SOURCE(8214, 85)
   {
      word pd116;
      pd116 = (* (( (ptr) (* (( (ptr) gf←c49500)+132)/* var←c43772 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd116 ))))( ( ((* (( (ptr) formal←c49532)+4) ) == 0) ? targetSel←v11608 : srcSel←v11580 ) , 0, 0, 0, 1, pd116)
      ;
      };
   }

static void SetFormatName←P1080(name←v6480, formal←c0666)
   word name←v6480;
   word formal←c0666;
   {
   W8 var←c49564;
   /* declaration of node←v6508 skipped */ 
   register ptr gf←c49596 =  (ptr) &globalframe;
   /* declaration of root←v11708 skipped */ 
   /* declaration of lockSel←v11736 skipped */ 
   /* declaration of format←v11764 skipped */ 
   var←c49564.f4/* node←v6508 */  = formal←c0666;
   /* SetFormatName: */ 
SOURCE(8379, 753)
SOURCE(8441, 10)
   var←c49564.f5/* root←v11708 */  = 0;
SOURCE(8453, 26)
   var←c49564.f6/* lockSel←v11736 */  =  (unsigned) (var←c49564.f4/* node←v6508 */  == 0);
SOURCE(8481, 76)
   {
      word pd117;
      pd117 = (* (( (ptr) (* (( (ptr) gf←c49596)+139)/* var←c44220 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd117 ))))(name←v6480, pd117))) {
         var←c49564.f7/* format←v11764 */  = 0;
         }
      else {
         {
            word var←c44924;
            var←c44924 = (word) ForceLower←P540(name←v6480);
            {
               word pd118;
               pd118 = (* (( (ptr) (* (( (ptr) gf←c49596)+145)/* var←c44668 */  ))+5) );
               var←c49564.f7/* format←v11764 */  = (word) ( *( (fPt) ((*  (ptr) pd118 ))))(var←c44924, 0, 2147483647, pd118);
               };
            };
         };
      };
SOURCE(8559, 321)
   if ((0 != var←c49564.f6/* lockSel←v11736 */ )) {
      {
         W2 var←c0185;
SOURCE(8577, 48)
         {
            word pd119;
            pd119 = (* (( (ptr) (* (( (ptr) gf←c49596)+132)/* var←c43772 */  ))+21) );
            (void) ( *( (fPt) ((*  (ptr) pd119 ))))(0, (* (( (ptr) gf←c49596)+19) ), pd119);
            };
SOURCE(8627, 172)
         {
            word pd120;
            pd120 = (* (( (ptr) (* (( (ptr) gf←c49596)+131)/* var←c43740 */  ))+38) );
            if ((0 == (word) ( *( (fPt) ((*  (ptr) pd120 ))))((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c49596)+132)/* var←c43772 */  ))+4)
                )) ), pd120))) { goto then0121;};
            {
               word pd122;
               pd122 = (* (( (ptr) (* (( (ptr) gf←c49596)+132)/* var←c43772 */  ))+63) );
               var←c49564.f5/* root←v11708 */  = (word) ( *( (fPt) ((*  (ptr) pd122 ))))((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c49596)+132)
                     /* var←c43772 */  ))+4) )) ), pd122);
               };
            if ((var←c49564.f5/* root←v11708 */  == 0)) {
               then0121: ;
SOURCE(8756, 33)
               {
                  word pd123;
                  pd123 = (* (( (ptr) (* (( (ptr) gf←c49596)+132)/* var←c43772 */  ))+22) );
                  (void) ( *( (fPt) ((*  (ptr) pd123 ))))(0, pd123);
                  };
SOURCE(8791, 8)
               return;
               };
            };
SOURCE(8802, 45)
         {
            word pd124;
            pd124 = (* (( (ptr) (* (( (ptr) gf←c49596)+132)/* var←c43772 */  ))+64) );
            (void) ( *( (fPt) ((*  (ptr) pd124 ))))((word) &var←c0185, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49596)+132)/* var←c43772 */  ))+4)
                ) ), pd124);
            };
         var←c49564.f4/* node←v6508 */  = var←c0185.f0;
         };
      }
   else {
SOURCE(8854, 26)
      {
         word pd125;
         pd125 = (* (( (ptr) (* (( (ptr) gf←c49596)+140)/* var←c44412 */  ))+9) );
         var←c49564.f5/* root←v11708 */  = (word) ( *( (fPt) ((*  (ptr) pd125 ))))(var←c49564.f4/* node←v6508 */ , pd125);
         };
      };
SOURCE(8884, 248)
   {
      word var←c0594;
      var←c0594 = (word) &var←c49564;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q6636) ), ( ((word)  (fPt) NoName←Q6936) ), var←c0594);
      };
   }

static word NoName←Q6636(formal←c0515)
   word formal←c0515;
   {
   register ptr gf←c0514 =  (ptr) &globalframe;
SOURCE(8952, 43)
   {
      word var←c44956;
      word pd126;
      pd126 = (* (( (ptr) (* (( (ptr) gf←c0514)+141)/* var←c44444 */  ))+4) );
      var←c44956 = (word) ( *( (fPt) ((*  (ptr) pd126 ))))((* (( (ptr) formal←c0515)+5) ), (* (( (ptr) gf←c0514)+19) ), 1, pd126)
      ;
      };
SOURCE(8997, 57)
   {
      word pd127;
      pd127 = (* (( (ptr) (* (( (ptr) gf←c0514)+136)/* var←c44060 */  ))+27) );
      (void) ( *( (fPt) ((*  (ptr) pd127 ))))((* (( (ptr) formal←c0515)+4) ), (* (( (ptr) formal←c0515)+7) ), (*  (ptr) (* (( (ptr) (* (
               ( (ptr) gf←c0514)+133)/* var←c43836 */  ))+6) ) ), pd127);
      };
SOURCE(9056, 23)
   {
      word pd128;
      pd128 = (* (( (ptr) (* (( (ptr) gf←c0514)+141)/* var←c44444 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd128 ))))((* ((( (ptr) formal←c0515)+5)) ), pd128);
      };
SOURCE(9081, 51)
   if ((0 != (* (( (ptr) formal←c0515)+6) ))) {
SOURCE(9097, 35)
      {
         word pd129;
         pd129 = (* (( (ptr) (* (( (ptr) gf←c0514)+132)/* var←c43772 */  ))+22) );
         (void) ( *( (fPt) ((*  (ptr) pd129 ))))(0, pd129);
         };
      };
   return(0);
   }

static void SetCommentProp←P1140(formal←c0667)
   word formal←c0667;
   {
   W7 var←c49628;
   /* declaration of flag←v6568 skipped */ 
   register ptr gf←c49660 =  (ptr) &globalframe;
   /* declaration of var←c44988 skipped */ 
   var←c49628.f4/* flag←v6568 */  = formal←c0667;
   /* SetCommentProp: */ 
SOURCE(9137, 275)
   {
      word tmpAddr130;
      tmpAddr130 = (word) (( (ptr) &var←c49628)+5)/* var←c44988 */ ;
      (*  (ptr) tmpAddr130 ) = ( ((word)  (fPt) DoSetCommentProp←P3756) );
      (* (( (ptr) tmpAddr130) + 1) ) = 1;
      };
SOURCE(9365, 47)
   {
      word pd131;
      pd131 = (* (( (ptr) (* (( (ptr) gf←c49660)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd131 ))))((word) (( (bPt) &var←c49628)+20)/* var←c44988 */ , 1, pd131);
      };
   }

static void DoSetCommentProp←P3756(root←v11884, tSel←v11912, formal←c49724)
   word root←v11884;
   word tSel←v11912;
   word formal←c49724;
   {
   register ptr gf←c49692 =  (ptr) &globalframe;
   formal←c49724 = (formal←c49724 - 20);
   /* DoSetCommentProp: */ 
SOURCE(9185, 175)
SOURCE(9242, 118)
   {
      word pd132;
      pd132 = (* (( (ptr) (* (( (ptr) gf←c49692)+135)/* var←c43996 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd132 ))))((* (( (ptr) tSel←v11912)+2) ), (* (( (ptr) tSel←v11912)+11) ), (* (( (ptr) formal←c49724)+4)
          ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49692)+133)/* var←c43836 */  ))+6) ) ), pd132);
      };
   }

static void RegisterAbbrevFailedProc←P1200(proc←v6688)
   word proc←v6688;
   {
   register ptr gf←c49756 =  (ptr) &globalframe;
   /* RegisterAbbrevFailedProc: */ 
SOURCE(9461, 95)
SOURCE(9531, 25)
   (* (( (ptr) gf←c49756)+4)/* abbrevFailedProc←v4736 */  ) = XR←CheckProc(proc←v6688);
   }

static void ExpandAbbreviation←P1260()
   {
   W6 var←c49788;
   register ptr gf←c49820 =  (ptr) &globalframe;
   /* declaration of var←c45020 skipped */ 
   /* ExpandAbbreviation: */ 
SOURCE(9560, 1998)
   {
      word tmpAddr133;
      tmpAddr133 = (word) (( (ptr) &var←c49788)+4)/* var←c45020 */ ;
      (*  (ptr) tmpAddr133 ) = ( ((word)  (fPt) DoExpand←P3816) );
      (* (( (ptr) tmpAddr133) + 1) ) = 1;
      };
SOURCE(11519, 39)
   {
      word pd134;
      pd134 = (* (( (ptr) (* (( (ptr) gf←c49820)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd134 ))))((word) (( (bPt) &var←c49788)+16)/* var←c45020 */ , 1, pd134);
      };
   }

static void DoExpand←P3816(root←v12016, tSel←v12044, formal←c49916)
   word root←v12016;
   word tSel←v12044;
   word formal←c49916;
   {
   W14 var←c49852;
   register ptr gf←c49884 =  (ptr) &globalframe;
   /* declaration of var←c45052 skipped */ 
   W2 pos←v12072;
   /* declaration of node←v12100 skipped */ 
   /* declaration of offset←v12128 skipped */ 
   /* declaration of done←v12156 skipped */ 
   /* declaration of keyDeterminesDict←v12184 skipped */ 
   word clearedMessageWindow←v12212 = 0;
   /* declaration of keyStart←v12240 skipped */ 
   /* declaration of keyLen←v12268 skipped */ 
   /* declaration of resultLen←v12296 skipped */ 
   word rdr←v12324 = 0;
   /* declaration of commands←v12352 skipped */ 
   word styleName←v12380 = 0;
   formal←c49916 = (formal←c49916 - 16);
   (*  (ptr) &var←c49852 ) = formal←c49916;
   /* DoExpand: */ 
SOURCE(9596, 1919)
   {
      word tmpAddr135;
      tmpAddr135 = (word) (( (ptr) &var←c49852)+4)/* var←c45052 */ ;
      (*  (ptr) tmpAddr135 ) = ( ((word)  (fPt) Try←P3876) );
      (* (( (ptr) tmpAddr135) + 1) ) = 1;
      };
SOURCE(9645, 13)
   pos←v12072.f0 = 0;
   pos←v12072.f1 = 0;
SOURCE(9660, 10)
   (* (( (ptr) &var←c49852)+6)/* node←v12100 */  ) = 0;
SOURCE(9685, 40)
   (* (( (ptr) &var←c49852)+8)/* done←v12156 */  ) = 0;
   (* (( (ptr) &var←c49852)+9)/* keyDeterminesDict←v12184 */  ) = 0;
SOURCE(9766, 36)
   (* (( (ptr) &var←c49852)+10)/* keyStart←v12240 */  ) = 0;
   (* (( (ptr) &var←c49852)+11)/* keyLen←v12268 */  ) = 0;
   (* (( (ptr) &var←c49852)+12)/* resultLen←v12296 */  ) = 0;
SOURCE(9825, 10)
   (* (( (ptr) &var←c49852)+13)/* commands←v12352 */  ) = 0;
SOURCE(10197, 34)
   {
      word pd136;
      pd136 = (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+55) );
      (void) ( *( (fPt) ((*  (ptr) pd136 ))))(pd136);
      };
SOURCE(10233, 37)
   {
      word pd137;
      pd137 = (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd137 ))))((word) &pos←v12072, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+4)
          ) ), pd137);
      };
SOURCE(10272, 15)
   (* (( (ptr) &var←c49852)+6)/* node←v12100 */  ) = pos←v12072.f0;
SOURCE(10289, 18)
   (* (( (ptr) &var←c49852)+7)/* offset←v12128 */  ) = pos←v12072.f1;
SOURCE(10309, 47)
   {
      word pd138;
      pd138 = (* (( (ptr) (* (( (ptr) gf←c49884)+142)/* var←c44572 */  ))+20) );
      styleName←v12380 = (word) ( *( (fPt) ((*  (ptr) pd138 ))))((* ((( (ptr) &var←c49852)+6)/* node←v12100 */ ) ), pd138);
      };
SOURCE(10358, 25)
   {
      word pd139;
      pd139 = (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd139 ))))(0, pd139);
      };
SOURCE(10386, 304)
   if ((0 == (word) Try←P3876(styleName←v12380, (word) (( (bPt) &var←c49852)+16)/* var←c45052 */ ))) {
SOURCE(10417, 43)
      {
         word pd140;
         pd140 = (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd140 ))))(tSel←v12044, 0, 0, 0, 1, pd140);
         };
SOURCE(10462, 60)
      {
         word tc141;
         word pd142;
         if (((* (( (ptr) gf←c49884)+4)/* abbrevFailedProc←v4736 */  ) != 0)) {
            pd142 = (* (( (ptr) gf←c49884)+4)/* abbrevFailedProc←v4736 */  );
            tc141 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd142 ))))(pd142));
            }
         else {
            tc141 =  (word) 0;
            };
         if (tc141) {
SOURCE(10516, 6)
            return;
            };
         };
SOURCE(10524, 106)
      {
         word var←c45116;
         {
            word var←c45148;
            {
               word pd143;
               pd143 = (* (( (ptr) (* (( (ptr) gf←c49884)+138)/* var←c44188 */  ))+4) );
               var←c45148 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))((* ((( (ptr) &var←c49852)+6)/* node←v12100 */ ) ), pd143);
               };
            {
               word pd144;
               pd144 = (* (( (ptr) (* (( (ptr) gf←c49884)+139)/* var←c44220 */  ))+17) );
               var←c45116 = (word) ( *( (fPt) ((*  (ptr) pd144 ))))(var←c45148, (* (( (ptr) &var←c49852)+10)/* keyStart←v12240 */  ), (* (
                     ( (ptr) &var←c49852)+11)/* keyLen←v12268 */  ), pd144);
               };
            };
         {
            word pd145;
            pd145 = (* (( (ptr) (* (( (ptr) gf←c49884)+146)/* var←c44700 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd145 ))))(var←c45116,  (unsigned) (0 == clearedMessageWindow←v12212), pd145);
            };
         };
SOURCE(10632, 48)
      {
         word pd146;
         pd146 = (* (( (ptr) (* (( (ptr) gf←c49884)+146)/* var←c44700 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd146 ))))((* (( (ptr) gf←c49884)+12) ), 0, pd146);
         };
SOURCE(10682, 8)
      return;
      };
SOURCE(10694, 46)
   (* (( (ptr) tSel←v12044)+11) ) = (* (( (ptr) &var←c49852)+6)/* node←v12100 */  );
   (* (( (ptr) tSel←v12044)+2) ) = (* (( (ptr) &var←c49852)+6)/* node←v12100 */  );
SOURCE(10742, 31)
   (* (( (ptr) tSel←v12044)+3) ) = (* (( (ptr) &var←c49852)+10)/* keyStart←v12240 */  );
SOURCE(10775, 26)
   (* (( (ptr) tSel←v12044)+26) ) = 0;
SOURCE(10803, 223)
   if (( (int)(* (( (ptr) &var←c49852)+12)/* resultLen←v12296 */  ) ==  (int)0)) {
SOURCE(10843, 29)
      (* (( (ptr) tSel←v12044)+12) ) = (* (( (ptr) &var←c49852)+10)/* keyStart←v12240 */  );
SOURCE(10874, 23)
      (* (( (ptr) tSel←v12044)+24) ) = 0;
SOURCE(10899, 26)
      (* (( (ptr) tSel←v12044)+22) ) = 0;
      }
   else {
SOURCE(10934, 41)
      (* (( (ptr) tSel←v12044)+12) ) = (((* (( (ptr) &var←c49852)+10)/* keyStart←v12240 */  ) + (* (( (ptr) &var←c49852)+12)/* resultLen←v12296 */  )) - 1);
SOURCE(10977, 22)
      (* (( (ptr) tSel←v12044)+24) ) = 1;
SOURCE(11001, 25)
      (* (( (ptr) tSel←v12044)+22) ) = 1;
      };
SOURCE(11029, 43)
   {
      word pd147;
      pd147 = (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd147 ))))(tSel←v12044, 0, 0, 0, 1, pd147);
      };
SOURCE(11075, 32)
   {
      word pd148;
      pd148 = (* (( (ptr) (* (( (ptr) gf←c49884)+147)/* var←c45212 */  ))+26) );
      rdr←v12324 = (word) ( *( (fPt) ((*  (ptr) pd148 ))))(pd148);
      };
SOURCE(11109, 66)
   {
      word reader←v41828;
      word rope←v41856;
      word index←v41884;
      word var←c45244;
      word rope←v23540;
      reader←v41828 = rdr←v12324;
      {
         word pd149;
         pd149 = (* (( (ptr) (* (( (ptr) gf←c49884)+138)/* var←c44188 */  ))+4) );
         rope←v41856 = (word) ( *( (fPt) ((*  (ptr) pd149 ))))((* ((( (ptr) &var←c49852)+6)/* node←v12100 */ ) ), pd149);
         };
      index←v41884 = (* (( (ptr) &var←c49852)+10)/* keyStart←v12240 */  );
      {
         word tc150;
         rope←v23540 = 0;
         var←c45244 = (* (( (ptr) reader←v41828)+2) );
         if (((var←c45244 == rope←v41856)
         )) {
            tc150 =  (word) ( (int)((* (( (ptr) reader←v41828)+3) ) + (* (( (ptr) reader←v41828)+1) )) ==  (int)index←v41884);
            }
         else {
            tc150 =  (word) 0;
            };
         if (tc150) {
            goto lab←L100010;
            };
         };
      (* (( (ptr) reader←v41828)+2) ) = rope←v41856;
      (* (( (ptr) reader←v41828)+1) ) = 0;
      (*  (hPt) (*  (ptr) reader←v41828 ) ) = 0;
      (* (( (ptr) reader←v41828)+3) ) = index←v41884;
      lab←L100010: ;
      };
SOURCE(11177, 202)
   {
      register word i←v12656 = 0;
      register word noName←c45276;
      word var←c45308;
      word text←v22132;
      word i←v22220;
      noName←c45276 = (* (( (ptr) &var←c49852)+12)/* resultLen←v12296 */  );
      if (( (int)i←v12656 >=  (int)noName←c45276)) {
         goto lab←L100011;
         };
      lab←L100014: ;
SOURCE(11234, 145)
      text←v22132 = (*  (ptr) rdr←v12324 );
      i←v22220 = (* (( (ptr) rdr←v12324)+1) );
      {
         word pd152;
         if ((i←v22220 <  (unsigned) (*  (hPt) text←v22132 ))) {
            (* (( (ptr) rdr←v12324)+1) ) = (i←v22220 + 1);
            {
               word limit151;
               var←c45308 =  (unsigned) (word) (* ((( (bPt) text←v22132)+4)+(
                     limit151 = (word)  (unsigned) (* (( (hPt) text←v22132)+1) ),
                     BCK(i←v22220, limit151)
                     )) );
               };
            }
         else {
            pd152 = (* (( (ptr) (* (( (ptr) gf←c49884)+147)/* var←c45212 */  ))+17) );
            var←c45308 = (word) ( *( (fPt) ((*  (ptr) pd152 ))))(rdr←v12324, 0, pd152);
            };
         };
      if (((var←c45308 == 1)
      )) {
SOURCE(11282, 59)
         {
            W2 var←c45372;
            var←c45372.f0 = (* (( (ptr) &var←c49852)+6)/* node←v12100 */  );
            var←c45372.f1 = ((* (( (ptr) &var←c49852)+10)/* keyStart←v12240 */  ) + i←v12656);
            {
               word pd153;
               pd153 = (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+46) );
               (void) ( *( (fPt) ((*  (ptr) pd153 ))))(tSel←v12044, var←c45372, pd153);
               };
            };
SOURCE(11343, 36)
         {
            word pd154;
            pd154 = (* (( (ptr) (* (( (ptr) gf←c49884)+131)/* var←c43740 */  ))+50) );
            (void) ( *( (fPt) ((*  (ptr) pd154 ))))(1, pd154);
            };
SOURCE(11381, 6)
         goto lab←L100012;
         };
      i←v12656 = (i←v12656 + 1);
      if (( (int)i←v12656 <  (int)noName←c45276)) {
         goto lab←L100014;
         };
      lab←L100011: ;
      lab←L100012: ;
      };
SOURCE(11399, 30)
   {
      word pd155;
      pd155 = (* (( (ptr) (* (( (ptr) gf←c49884)+147)/* var←c45212 */  ))+27) );
      (void) ( *( (fPt) ((*  (ptr) pd155 ))))(rdr←v12324, pd155);
      };
SOURCE(11432, 83)
   if (((* (( (ptr) &var←c49852)+13)/* commands←v12352 */  ) != 0)) {
SOURCE(11455, 60)
      {
         word pd156;
         pd156 = (* (( (ptr) (* (( (ptr) gf←c49884)+133)/* var←c43836 */  ))+26) );
         (void) ( *( (fPt) ((*  (ptr) pd156 ))))((*  (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49884)+132)/* var←c43772 */  ))+4)
             ) ) ), (* (( (ptr) &var←c49852)+13)/* commands←v12352 */  ), pd156);
         };
      };
   }

static word Try←P3876(name←v12584, formal←c49980)
   word name←v12584;
   word formal←c49980;
   {
   register ptr gf←c49948 =  (ptr) &globalframe;
   word stop←v12628;
   word dict←v12700;
   formal←c49980 = (formal←c49980 - 16);
   /* Try: */ 
SOURCE(9870, 324)
SOURCE(9921, 32)
   {
      word pd157;
      pd157 = (* (( (ptr) (* (( (ptr) gf←c49948)+145)/* var←c44668 */  ))+9) );
      dict←v12700 = (word) ( *( (fPt) ((*  (ptr) pd157 ))))(name←v12584, pd157);
      };
SOURCE(9955, 131)
   {
      W6 var←c45436;
      {
         word pd158;
         pd158 = (* (( (ptr) (* (( (ptr) gf←c49948)+148)/* var←c45404 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd158 ))))((word) &var←c45436, (* (( (ptr) formal←c49980)+6) ), (* (( (ptr) formal←c49980)+7)
             ), dict←v12700, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49948)+133)/* var←c43836 */  ))+6) ) ), pd158);
         };
      (* (( (ptr) formal←c49980)+13) ) = var←c45436.f5;
      (* (( (ptr) formal←c49980)+12) ) = var←c45436.f4;
      (* (( (ptr) formal←c49980)+11) ) = var←c45436.f3;
      (* (( (ptr) formal←c49980)+10) ) = var←c45436.f2;
      (* (( (ptr) formal←c49980)+9) ) = var←c45436.f1;
      (* (( (ptr) formal←c49980)+8) ) = var←c45436.f0;
      };
SOURCE(10088, 89)
   if ( ( (0 == (* (( (ptr) formal←c49980)+8) )) ? (0 == (* (( (ptr) formal←c49980)+9) )) : 0 ) ) {
SOURCE(10131, 46)
      {
         word pd159;
         pd159 = (* (( (ptr) (* (( (ptr) gf←c49948)+149)/* var←c45468 */  ))+19) );
         (void) ( *( (fPt) ((*  (ptr) pd159 ))))(name←v12584, (word) (( (bPt) formal←c49980)+16), pd159);
         };
      };
SOURCE(10179, 15)
   return((* (( (ptr) formal←c49980)+8) ));
   }

static void LoadAbbreviations←P1320(formal←c0668)
   word formal←c0668;
   {
   W7 var←c50012;
   /* declaration of dictName←v6824 skipped */ 
   register ptr gf←c50044 =  (ptr) &globalframe;
   word count←v12744 = 0;
   word fileName←v12772 = 0;
   var←c50012.f4/* dictName←v6824 */  = formal←c0668;
   /* LoadAbbreviations: */ 
SOURCE(11562, 449)
SOURCE(11655, 36)
   {
      word pd160;
      pd160 = (* (( (ptr) (* (( (ptr) gf←c50044)+139)/* var←c44220 */  ))+15) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd160 ))))(var←c50012.f4/* dictName←v6824 */ , pd160) ==  (int)0)) {
SOURCE(11685, 6)
         return;
         };
      };
SOURCE(11693, 50)
   {
      word pd161;
      pd161 = (* (( (ptr) (* (( (ptr) gf←c50044)+139)/* var←c44220 */  ))+6) );
      fileName←v12772 = (word) ( *( (fPt) ((*  (ptr) pd161 ))))(var←c50012.f4/* dictName←v6824 */ , (* (( (ptr) gf←c50044)+13) ), pd161)
      ;
      };
SOURCE(11745, 50)
SOURCE(11745, 50)
   {
      /* declaration of var←c03 skipped */ 
      var←c50012.f5/* var←c03 */  = (* (( (ptr) (* (( (ptr) gf←c50044)+148)/* var←c45404 */  ))+4) );
      {
         /* declaration of var←c04 skipped */ 
         {
            word var←c05;
            {
               word var←c0595;
               var←c0595 = (word) &var←c50012;
               var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6696) ), ( ((word)  (fPt) NoName←Q6876) ), var←c0595);
               };
            if ((var←c05 == 2)) {
               goto lab←L100017;
               };
            };
         count←v12744 = var←c50012.f6/* var←c04 */ ;
         };
      };
   lab←L100017: ;
SOURCE(11808, 203)
   if (( (int)count←v12744 ==  (int)0)) {
SOURCE(11852, 46)
      {
         word pd162;
         pd162 = (* (( (ptr) (* (( (ptr) gf←c50044)+146)/* var←c44700 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd162 ))))((* (( (ptr) gf←c50044)+14) ), 1, pd162);
         };
SOURCE(11900, 30)
      {
         word pd163;
         pd163 = (* (( (ptr) (* (( (ptr) gf←c50044)+146)/* var←c44700 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd163 ))))(fileName←v12772, 0, pd163);
         };
SOURCE(11932, 79)
      {
         word pd164;
         pd164 = (* (( (ptr) (* (( (ptr) gf←c50044)+146)/* var←c44700 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd164 ))))((* (( (ptr) gf←c50044)+15) ), 0, pd164);
         };
      };
   }

static word NoName←Q6696(formal←c0526)
   word formal←c0526;
   {
SOURCE(11745, 50)
   {
      word pd165;
      pd165 = (* (( (ptr) formal←c0526)+5) );
      (* (( (ptr) formal←c0526)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd165 ))))((* ((( (ptr) formal←c0526)+4)) ), pd165);
      };
   return(0);
   }

static void InsertChar←P1380(char←v6884)
   word char←v6884;
   {
   register ptr gf←c50076 =  (ptr) &globalframe;
   /* InsertChar: */ 
SOURCE(12016, 72)
SOURCE(12057, 31)
   {
      word var←c45532;
      {
         word pd166;
         pd166 = (* (( (ptr) (* (( (ptr) gf←c50076)+139)/* var←c44220 */  ))+37) );
         var←c45532 = (word) ( *( (fPt) ((*  (ptr) pd166 ))))(char←v6884, pd166);
         };
      (void) InsertRope←P1440(var←c45532);
      };
   }

static void InsertRope←P1440(formal←c0669)
   word formal←c0669;
   {
   W7 var←c50108;
   /* declaration of rope←v6944 skipped */ 
   register ptr gf←c50140 =  (ptr) &globalframe;
   /* declaration of var←c45564 skipped */ 
   var←c50108.f4/* rope←v6944 */  = formal←c0669;
   /* InsertRope: */ 
SOURCE(12094, 803)
   {
      word tmpAddr167;
      tmpAddr167 = (word) (( (ptr) &var←c50108)+5)/* var←c45564 */ ;
      (*  (ptr) tmpAddr167 ) = ( ((word)  (fPt) DoInsertRope←P3984) );
      (* (( (ptr) tmpAddr167) + 1) ) = 1;
      };
SOURCE(12856, 41)
   {
      word pd168;
      pd168 = (* (( (ptr) (* (( (ptr) gf←c50140)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd168 ))))((word) (( (bPt) &var←c50108)+20)/* var←c45564 */ , 1, pd168);
      };
   }

static void DoInsertRope←P3984(root←v12892, tSel←v12920, formal←c50204)
   word root←v12892;
   word tSel←v12920;
   word formal←c50204;
   {
   register ptr gf←c50172 =  (ptr) &globalframe;
   W2 pos←v12948;
   word looks←v12976 = 0;
   formal←c50204 = (formal←c50204 - 20);
   /* DoInsertRope: */ 
SOURCE(12135, 718)
SOURCE(12188, 13)
   pos←v12948.f0 = 0;
   pos←v12948.f1 = 0;
SOURCE(12227, 124)
   if ((0 != (* (( (ptr) tSel←v12920)+26) ))) {
SOURCE(12256, 31)
      {
         word pd169;
         pd169 = (* (( (ptr) (* (( (ptr) gf←c50172)+131)/* var←c43740 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd169 ))))(pd169);
         };
SOURCE(12289, 62)
      {
         word pd170;
         pd170 = (* (( (ptr) (* (( (ptr) gf←c50172)+132)/* var←c43772 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd170 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50172)+132)/* var←c43772 */  ))+4) ) ), tSel←v12920, pd170)
         ;
         };
      };
SOURCE(12354, 56)
   {
      word pd171;
      pd171 = (* (( (ptr) (* (( (ptr) gf←c50172)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd171 ))))((word) &pos←v12948, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50172)+132)/* var←c43772 */  ))+4)
          ) ), pd171);
      };
SOURCE(12464, 18)
   looks←v12976 = (* (( (ptr) tSel←v12920)+25) );
SOURCE(12484, 32)
   {
      word pd172;
      pd172 = (* (( (ptr) (* (( (ptr) gf←c50172)+132)/* var←c43772 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd172 ))))(0, pd172);
      };
SOURCE(12518, 199)
   {
      W2 var←c0240;
      word var←c0596;
      {
         word pd173;
         pd173 = (* (( (ptr) (* (( (ptr) gf←c50172)+136)/* var←c44060 */  ))+37) );
         (void) ( *( (fPt) ((*  (ptr) pd173 ))))((word) &var←c0240, root←v12892, pos←v12948.f0, pos←v12948.f1, 0, (* (( (ptr) formal←c50204)+4)
             )
            , looks←v12976, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50172)+133)/* var←c43836 */  ))+6) ) ), pd173);
         };
      var←c0596 = var←c0240.f1;
      pos←v12948.f1 = (pos←v12948.f1 + var←c0596);
      };
SOURCE(12719, 44)
   {
      word pd174;
      pd174 = (* (( (ptr) (* (( (ptr) gf←c50172)+132)/* var←c43772 */  ))+46) );
      (void) ( *( (fPt) ((*  (ptr) pd174 ))))(tSel←v12920, pos←v12948, pd174);
      };
SOURCE(12765, 88)
   {
      word pd175;
      pd175 = (* (( (ptr) (* (( (ptr) gf←c50172)+132)/* var←c43772 */  ))+26) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd175 ))))(pd175))) {
SOURCE(12803, 50)
         {
            word pd176;
            pd176 = (* (( (ptr) (* (( (ptr) gf←c50172)+151)/* var←c45628 */  ))+6) );
            (void) ( *( (fPt) ((*  (ptr) pd176 ))))((*  (ptr) tSel←v12920 ), 1, 0, pd176);
            };
         };
      };
   }

static void InsertLineBreak←P1500()
   {
   W6 var←c50236;
   register ptr gf←c50268 =  (ptr) &globalframe;
   /* declaration of var←c45660 skipped */ 
   /* InsertLineBreak: */ 
SOURCE(12903, 947)
   {
      word tmpAddr177;
      tmpAddr177 = (word) (( (ptr) &var←c50236)+4)/* var←c45660 */ ;
      (*  (ptr) tmpAddr177 ) = ( ((word)  (fPt) DoInsertLineBreak←P4044) );
      (* (( (ptr) tmpAddr177) + 1) ) = 1;
      };
SOURCE(13804, 46)
   {
      word pd178;
      pd178 = (* (( (ptr) (* (( (ptr) gf←c50268)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd178 ))))((word) (( (bPt) &var←c50236)+16)/* var←c45660 */ , 1, pd178);
      };
   }

static void DoInsertLineBreak←P4044(root←v13096, tSel←v13124, formal←c50332)
   word root←v13096;
   word tSel←v13124;
   word formal←c50332;
   {
   register ptr gf←c50300 =  (ptr) &globalframe;
   W2 pos←v13152;
   word node←v13180 = 0;
   word start←v13208;
   word end←v13236;
   word lim←v13264;
   word rope←v13292 = 0;
   formal←c50332 = (formal←c50332 - 16);
   /* DoInsertLineBreak: */ 
SOURCE(12936, 863)
SOURCE(12994, 13)
   pos←v13152.f0 = 0;
   pos←v13152.f1 = 0;
SOURCE(13056, 124)
   if ((0 != (* (( (ptr) tSel←v13124)+26) ))) {
SOURCE(13085, 31)
      {
         word pd179;
         pd179 = (* (( (ptr) (* (( (ptr) gf←c50300)+131)/* var←c43740 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd179 ))))(pd179);
         };
SOURCE(13118, 62)
      {
         word pd180;
         pd180 = (* (( (ptr) (* (( (ptr) gf←c50300)+132)/* var←c43772 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd180 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50300)+132)/* var←c43772 */  ))+4) ) ), tSel←v13124, pd180)
         ;
         };
      };
SOURCE(13183, 56)
   {
      word pd181;
      pd181 = (* (( (ptr) (* (( (ptr) gf←c50300)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd181 ))))((word) &pos←v13152, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50300)+132)/* var←c43772 */  ))+4)
          ) ), pd181);
      };
SOURCE(13293, 69)
   node←v13180 = pos←v13152.f0;
   if ((pos←v13152.f0 == 0)) {
SOURCE(13327, 26)
      {
         word pd182;
         pd182 = (* (( (ptr) (* (( (ptr) gf←c50300)+131)/* var←c43740 */  ))+69) );
         (void) ( *( (fPt) ((*  (ptr) pd182 ))))(0, pd182);
         };
SOURCE(13355, 7)
      return;
      };
SOURCE(13365, 34)
   {
      word pd183;
      pd183 = (* (( (ptr) (* (( (ptr) gf←c50300)+138)/* var←c44188 */  ))+4) );
      rope←v13292 = (word) ( *( (fPt) ((*  (ptr) pd183 ))))(node←v13180, pd183);
      };
SOURCE(13401, 53)
   {
      word var←c45724;
      {
         word x184;
         word pd185;
         word x186;
         word x187;
         pd185 = (* (( (ptr) (* (( (ptr) gf←c50300)+139)/* var←c44220 */  ))+15) );
         var←c45724 = (x187 = (x184 = pos←v13152.f1,
               x186 = (word) ( *( (fPt) ((*  (ptr) pd185 ))))(rope←v13292, pd185),
               MIN((int)(word), x184, x186)),
            MAX((int)(word), 0, x187));
         };
      lim←v13264 = var←c45724;
      start←v13208 = var←c45724;
      };
SOURCE(13456, 127)
   {
      word var←c45756;
      lab←L100022: ;
      {
         word tc188;
         if (( (int)start←v13208 >  (int)0)) {
            {
               word pd189;
               pd189 = (* (( (ptr) (* (( (ptr) gf←c50300)+139)/* var←c44220 */  ))+9) );
               var←c45756 = (word) ( *( (fPt) ((*  (ptr) pd189 ))))(rope←v13292, (start←v13208 - 1), pd189);
               };
            tc188 =  (word) (0 ==  ( ((var←c45756 == 13) || (var←c45756 == 10)) ? 1 : 0 ) );
            }
         else {
            tc188 =  (word) 0;
            };
         if (tc188) {
            }
         else {
            goto lab←L100020;
            };
         };
SOURCE(13568, 15)
      start←v13208 = (start←v13208 - 1);
      goto lab←L100022;
      lab←L100020: ;
      };
SOURCE(13594, 11)
   end←v13236 = start←v13208;
SOURCE(13607, 71)
   {
      word var←c45788;
      word c←v41672;
      lab←L100025: ;
      {
         word tc190;
         if (( (int)end←v13236 <  (int)lim←v13264)) {
            {
               word pd191;
               pd191 = (* (( (ptr) (* (( (ptr) gf←c50300)+139)/* var←c44220 */  ))+9) );
               c←v41672 = (word) ( *( (fPt) ((*  (ptr) pd191 ))))(rope←v13292, end←v13236, pd191);
               };
            var←c45788 =  (unsigned) ( (unsigned) (word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50300)+137)/* var←c44124 */  ))+4)
                ) ))+c←v41672) ) == 1);
            tc190 =  (word) (0 != var←c45788);
            }
         else {
            tc190 =  (word) 0;
            };
         if (tc190) {
            }
         else {
            goto lab←L100023;
            };
         };
SOURCE(13667, 11)
      end←v13236 = (end←v13236 + 1);
      goto lab←L100025;
      lab←L100023: ;
      };
SOURCE(13689, 110)
   {
      word var←c45820;
      {
         word var←c45852;
         word var←c45884;
         {
            word pd192;
            pd192 = (* (( (ptr) (* (( (ptr) gf←c50300)+136)/* var←c44060 */  ))+41) );
            var←c45852 = (word) ( *( (fPt) ((*  (ptr) pd192 ))))(root←v13096, pd192);
            };
         {
            word pd193;
            pd193 = (* (( (ptr) (* (( (ptr) gf←c50300)+139)/* var←c44220 */  ))+17) );
            var←c45884 = (word) ( *( (fPt) ((*  (ptr) pd193 ))))(rope←v13292, start←v13208, (end←v13236 - start←v13208), pd193);
            };
         {
            word pd194;
            pd194 = (* (( (ptr) (* (( (ptr) gf←c50300)+139)/* var←c44220 */  ))+6) );
            var←c45820 = (word) ( *( (fPt) ((*  (ptr) pd194 ))))(var←c45852, var←c45884, pd194);
            };
         };
      {
         word pd195;
         pd195 = (* (( (ptr) (* (( (ptr) gf←c50300)+131)/* var←c43740 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd195 ))))(var←c45820, pd195);
         };
      };
   }

static void DeleteNextChar←P1560(formal←c0670)
   word formal←c0670;
   {
   W7 var←c50364;
   /* declaration of count←v7020 skipped */ 
   register ptr gf←c50396 =  (ptr) &globalframe;
   /* declaration of var←c45916 skipped */ 
   var←c50364.f4/* count←v7020 */  = formal←c0670;
   /* DeleteNextChar: */ 
SOURCE(13856, 650)
   {
      word tmpAddr196;
      tmpAddr196 = (word) (( (ptr) &var←c50364)+5)/* var←c45916 */ ;
      (*  (ptr) tmpAddr196 ) = ( ((word)  (fPt) DoDeleteNextChar←P4104) );
      (* (( (ptr) tmpAddr196) + 1) ) = 1;
      };
SOURCE(14443, 63)
   if (( (int)var←c50364.f4/* count←v7020 */  >  (int)0)) {
SOURCE(14461, 45)
      {
         word pd197;
         pd197 = (* (( (ptr) (* (( (ptr) gf←c50396)+131)/* var←c43740 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd197 ))))((word) (( (bPt) &var←c50364)+20)/* var←c45916 */ , 1, pd197);
         };
      };
   }

static void DoDeleteNextChar←P4104(root←v13412, tSel←v13440, formal←c50460)
   word root←v13412;
   word tSel←v13440;
   word formal←c50460;
   {
   register ptr gf←c50428 =  (ptr) &globalframe;
   formal←c50460 = (formal←c50460 - 20);
   /* DoDeleteNextChar: */ 
SOURCE(13905, 535)
SOURCE(13960, 480)
SOURCE(13962, 53)
   {
      W2 flush←v13468;
      word node←v13496;
SOURCE(13962, 53)
      {
         word pd198;
         pd198 = (* (( (ptr) (* (( (ptr) gf←c50428)+132)/* var←c43772 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd198 ))))((word) &flush←v13468, tSel←v13440, pd198);
         };
SOURCE(14017, 23)
      node←v13496 = flush←v13468.f0;
SOURCE(14042, 19)
      if ((node←v13496 == 0)) {
SOURCE(14061, 8)
         goto lab←L100027;
         };
SOURCE(14071, 31)
      if (( (int)flush←v13468.f1 ==  (int) (word) -1)) {
SOURCE(14102, 8)
         goto lab←L100027;
         };
SOURCE(14112, 67)
      {
         word x199;
         word pd200;
         word x201;
         pd200 = (* (( (ptr) (* (( (ptr) gf←c50428)+136)/* var←c44060 */  ))+6) );
         (* (( (ptr) formal←c50460)+4) ) = (x199 = (* (( (ptr) formal←c50460)+4) ),
            x201 = ((word) ( *( (fPt) ((*  (ptr) pd200 ))))(node←v13496, pd200) - flush←v13468.f1),
            MIN((int)(word), x199, x201));
         };
      if (( (int)(* (( (ptr) formal←c50460)+4) ) <=  (int)0)) {
SOURCE(14179, 8)
         goto lab←L100027;
         };
SOURCE(14189, 32)
      {
         word pd202;
         pd202 = (* (( (ptr) (* (( (ptr) gf←c50428)+132)/* var←c43772 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd202 ))))(0, pd202);
         };
SOURCE(14223, 76)
      {
         word pd203;
         pd203 = (* (( (ptr) (* (( (ptr) gf←c50428)+136)/* var←c44060 */  ))+32) );
         (void) ( *( (fPt) ((*  (ptr) pd203 ))))(root←v13412, node←v13496, flush←v13468.f1, (* (( (ptr) formal←c50460)+4) ), (*  (ptr) (* (
               ( (ptr) (* (( (ptr) gf←c50428)+133)/* var←c43836 */  ))+6) ) ), pd203);
         };
SOURCE(14301, 46)
      {
         word pd204;
         pd204 = (* (( (ptr) (* (( (ptr) gf←c50428)+132)/* var←c43772 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd204 ))))(tSel←v13440, flush←v13468, pd204);
         };
SOURCE(14349, 48)
      {
         word pd205;
         pd205 = (* (( (ptr) (* (( (ptr) gf←c50428)+151)/* var←c45628 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd205 ))))((*  (ptr) tSel←v13440 ), 1, 0, pd205);
         };
      };
   goto lab←L100028;
   lab←L100027: ;
SOURCE(14412, 28)
   {
      word pd206;
      pd206 = (* (( (ptr) (* (( (ptr) gf←c50428)+131)/* var←c43740 */  ))+69) );
      (void) ( *( (fPt) ((*  (ptr) pd206 ))))(0, pd206);
      };
   lab←L100028: ;
   }

static void GoToNextChar←P1620(formal←c0671)
   word formal←c0671;
   {
   W7 var←c50492;
   /* declaration of count←v7080 skipped */ 
   register ptr gf←c50524 =  (ptr) &globalframe;
   /* declaration of var←c45948 skipped */ 
   var←c50492.f4/* count←v7080 */  = formal←c0671;
   /* GoToNextChar: */ 
SOURCE(14512, 511)
   {
      word tmpAddr207;
      tmpAddr207 = (word) (( (ptr) &var←c50492)+5)/* var←c45948 */ ;
      (*  (ptr) tmpAddr207 ) = ( ((word)  (fPt) DoGoToNextChar←P4212) );
      (* (( (ptr) tmpAddr207) + 1) ) = 1;
      };
SOURCE(14956, 67)
   if (( (int)var←c50492.f4/* count←v7080 */  >  (int)0)) {
SOURCE(14974, 49)
      {
         word pd208;
         pd208 = (* (( (ptr) (* (( (ptr) gf←c50524)+131)/* var←c43740 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd208 ))))((word) (( (bPt) &var←c50492)+20)/* var←c45948 */ , 0, pd208);
         };
      };
   }

static void DoGoToNextChar←P4212(root←v13616, tSel←v13644, formal←c50588)
   word root←v13616;
   word tSel←v13644;
   word formal←c50588;
   {
   register ptr gf←c50556 =  (ptr) &globalframe;
   W2 loc←v13672;
   word node←v13700;
   formal←c50588 = (formal←c50588 - 20);
   /* DoGoToNextChar: */ 
SOURCE(14559, 392)
SOURCE(14614, 51)
   {
      word pd209;
      pd209 = (* (( (ptr) (* (( (ptr) gf←c50556)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd209 ))))((word) &loc←v13672, tSel←v13644, pd209);
      };
SOURCE(14667, 21)
   node←v13700 = loc←v13672.f0;
SOURCE(14690, 144)
   if ((node←v13700 == 0)) { goto then0210;};
   if (( (int)loc←v13672.f1 ==  (int) (word) -1)) { goto then0210;};
   {
      word x211;
      word pd212;
      word x213;
      pd212 = (* (( (ptr) (* (( (ptr) gf←c50556)+136)/* var←c44060 */  ))+6) );
      (* (( (ptr) formal←c50588)+4) ) = (x211 = (* (( (ptr) formal←c50588)+4) ),
         x213 = ((word) ( *( (fPt) ((*  (ptr) pd212 ))))(node←v13700, pd212) - loc←v13672.f1),
         MIN((int)(word), x211, x213));
      };
   if (( (int)(* (( (ptr) formal←c50588)+4) ) <=  (int)0)) {
      then0210: ;
SOURCE(14812, 12)
      (void) GoToNextNode←P1920(1);
SOURCE(14826, 8)
      return;
      };
SOURCE(14837, 64)
   {
      W2 var←c45980;
      var←c45980.f0 = node←v13700;
      var←c45980.f1 = (loc←v13672.f1 + (* (( (ptr) formal←c50588)+4) ));
      {
         word pd214;
         pd214 = (* (( (ptr) (* (( (ptr) gf←c50556)+132)/* var←c43772 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd214 ))))(tSel←v13644, var←c45980, pd214);
         };
      };
SOURCE(14903, 48)
   {
      word pd215;
      pd215 = (* (( (ptr) (* (( (ptr) gf←c50556)+151)/* var←c45628 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd215 ))))((*  (ptr) tSel←v13644 ), 1, 0, pd215);
      };
   }

static void GoToPreviousChar←P1680(formal←c0672)
   word formal←c0672;
   {
   W7 var←c50620;
   /* declaration of count←v7140 skipped */ 
   register ptr gf←c50652 =  (ptr) &globalframe;
   /* declaration of var←c46012 skipped */ 
   var←c50620.f4/* count←v7140 */  = formal←c0672;
   /* GoToPreviousChar: */ 
SOURCE(15029, 492)
   {
      word tmpAddr216;
      tmpAddr216 = (word) (( (ptr) &var←c50620)+5)/* var←c46012 */ ;
      (*  (ptr) tmpAddr216 ) = ( ((word)  (fPt) DoGoToPreviousChar←P4272) );
      (* (( (ptr) tmpAddr216) + 1) ) = 1;
      };
SOURCE(15450, 71)
   if (( (int)var←c50620.f4/* count←v7140 */  >  (int)0)) {
SOURCE(15468, 53)
      {
         word pd217;
         pd217 = (* (( (ptr) (* (( (ptr) gf←c50652)+131)/* var←c43740 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd217 ))))((word) (( (bPt) &var←c50620)+20)/* var←c46012 */ , 0, pd217);
         };
      };
   }

static void DoGoToPreviousChar←P4272(root←v13820, tSel←v13848, formal←c50716)
   word root←v13820;
   word tSel←v13848;
   word formal←c50716;
   {
   register ptr gf←c50684 =  (ptr) &globalframe;
   W2 loc←v13876;
   word node←v13904;
   formal←c50716 = (formal←c50716 - 20);
   /* DoGoToPreviousChar: */ 
SOURCE(15080, 365)
SOURCE(15139, 51)
   {
      word pd218;
      pd218 = (* (( (ptr) (* (( (ptr) gf←c50684)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd218 ))))((word) &loc←v13876, tSel←v13848, pd218);
      };
SOURCE(15192, 21)
   node←v13904 = loc←v13876.f0;
SOURCE(15215, 92)
   if (((node←v13904 == 0) || ( (int)loc←v13876.f1 ==  (int) (word) -1)) || ( (int)loc←v13876.f1 <  (int)(* (( (ptr) formal←c50716)+4)
    ))) {
SOURCE(15282, 16)
      (void) GoToPreviousNode←P1980(1);
SOURCE(15300, 7)
      return;
      };
SOURCE(15331, 64)
   {
      W2 var←c46044;
      var←c46044.f0 = node←v13904;
      var←c46044.f1 = (loc←v13876.f1 - (* (( (ptr) formal←c50716)+4) ));
      {
         word pd219;
         pd219 = (* (( (ptr) (* (( (ptr) gf←c50684)+132)/* var←c43772 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd219 ))))(tSel←v13848, var←c46044, pd219);
         };
      };
SOURCE(15397, 48)
   {
      word pd220;
      pd220 = (* (( (ptr) (* (( (ptr) gf←c50684)+151)/* var←c45628 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd220 ))))((*  (ptr) tSel←v13848 ), 1, 0, pd220);
      };
   }

static word FindNextWord←P1740(formal←c0673, start←v7228)
   word formal←c0673;
   word start←v7228;
   {
   W7 var←c50748;
   /* declaration of node←v7200 skipped */ 
   register ptr gf←c50780 =  (ptr) &globalframe;
   word nChars←v7272;
   /* declaration of var←c46076 skipped */ 
   word offset←v13948;
   word size←v13976;
   var←c50748.f4/* node←v7200 */  = formal←c0673;
   /* FindNextWord: */ 
SOURCE(15527, 463)
   {
      word tmpAddr221;
      tmpAddr221 = (word) (( (ptr) &var←c50748)+5)/* var←c46076 */ ;
      (*  (ptr) tmpAddr221 ) = ( ((word)  (fPt) Alpha←P4332) );
      (* (( (ptr) tmpAddr221) + 1) ) = 1;
      };
SOURCE(15610, 19)
   offset←v13948 = start←v7228;
SOURCE(15631, 31)
   {
      word pd222;
      pd222 = (* (( (ptr) (* (( (ptr) gf←c50780)+136)/* var←c44060 */  ))+6) );
      size←v13976 = (word) ( *( (fPt) ((*  (ptr) pd222 ))))(var←c50748.f4/* node←v7200 */ , pd222);
      };
SOURCE(15775, 10)
   nChars←v7272 = 1;
SOURCE(15787, 83)
   lab←L100031: ;
   if ( ( ( (int)offset←v13948 <  (int)size←v13976) ? (0 == (word) Alpha←P4332(offset←v13948, (word) (( (bPt) &var←c50748)+20)
      /* var←c46076 */ )) : 0 ) ) {
      }
   else {
      goto lab←L100029;
      };
SOURCE(15830, 19)
   offset←v13948 = (offset←v13948 + 1);
SOURCE(15851, 19)
   nChars←v7272 = (nChars←v7272 + 1);
   goto lab←L100031;
   lab←L100029: ;
SOURCE(15881, 79)
   lab←L100034: ;
   if ( ( ( (int)offset←v13948 <  (int)size←v13976) ? (0 != (word) Alpha←P4332(offset←v13948, (word) (( (bPt) &var←c50748)+20)
      /* var←c46076 */ )) : 0 ) ) {
      }
   else {
      goto lab←L100032;
      };
SOURCE(15920, 19)
   offset←v13948 = (offset←v13948 + 1);
SOURCE(15941, 19)
   nChars←v7272 = (nChars←v7272 + 1);
   goto lab←L100034;
   lab←L100032: ;
SOURCE(15971, 19)
   nChars←v7272 = (nChars←v7272 - 1);
SOURCE(15527, 463)
   return(nChars←v7272);
   }

static word Alpha←P4332(index←v14080, formal←c50844)
   word index←v14080;
   word formal←c50844;
   {
   register ptr gf←c50812 =  (ptr) &globalframe;
   word var←c14124;
   formal←c50844 = (formal←c50844 - 20);
   /* Alpha: */ 
SOURCE(15664, 106)
SOURCE(15708, 62)
   {
      word var←c46140;
      word c←v41720;
      word var←c46204;
      word c←v41768;
      {
         word pd223;
         pd223 = (* (( (ptr) (* (( (ptr) gf←c50812)+136)/* var←c44060 */  ))+4) );
         c←v41720 = (word) ( *( (fPt) ((*  (ptr) pd223 ))))((* (( (ptr) formal←c50844)+4) ), index←v14080, pd223);
         };
      {
         word tc224;
         if ((((word) c←v41720 >> 8) == 0)) {
            c←v41768 = (c←v41720 & 0377);
            var←c46204 =  (unsigned) ( (unsigned) (word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50812)+137)/* var←c44124 */  ))+4)
                ) ))+c←v41768) ) == 2);
            tc224 =  (word) (0 != var←c46204);
            }
         else {
            tc224 =  (word) 0;
            };
         var←c46140 =  (unsigned) tc224;
         };
      return(var←c46140);
      };
   }

static void DeleteNextWord←P1800(formal←c0674)
   word formal←c0674;
   {
   W7 var←c50876;
   /* declaration of count←v7332 skipped */ 
   register ptr gf←c50908 =  (ptr) &globalframe;
   /* declaration of var←c46236 skipped */ 
   var←c50876.f4/* count←v7332 */  = formal←c0674;
   /* DeleteNextWord: */ 
SOURCE(16032, 699)
   {
      word tmpAddr225;
      tmpAddr225 = (word) (( (ptr) &var←c50876)+5)/* var←c46236 */ ;
      (*  (ptr) tmpAddr225 ) = ( ((word)  (fPt) DoDeleteNextWord←P4392) );
      (* (( (ptr) tmpAddr225) + 1) ) = 1;
      };
SOURCE(16668, 63)
   if (( (int)var←c50876.f4/* count←v7332 */  >  (int)0)) {
SOURCE(16686, 45)
      {
         word pd226;
         pd226 = (* (( (ptr) (* (( (ptr) gf←c50908)+131)/* var←c43740 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd226 ))))((word) (( (bPt) &var←c50876)+20)/* var←c46236 */ , 1, pd226);
         };
      };
   }

static void DoDeleteNextWord←P4392(root←v14228, tSel←v14256, formal←c50972)
   word root←v14228;
   word tSel←v14256;
   word formal←c50972;
   {
   register ptr gf←c50940 =  (ptr) &globalframe;
   formal←c50972 = (formal←c50972 - 20);
   /* DoDeleteNextWord: */ 
SOURCE(16081, 584)
SOURCE(16136, 529)
SOURCE(16138, 51)
   {
      W2 pos←v14284;
      word node←v14312;
      word nChars←v14340;
      word start←v14368;
      word next←v14396;
SOURCE(16138, 51)
      {
         word pd227;
         pd227 = (* (( (ptr) (* (( (ptr) gf←c50940)+132)/* var←c43772 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd227 ))))((word) &pos←v14284, tSel←v14256, pd227);
         };
SOURCE(16191, 21)
      node←v14312 = pos←v14284.f0;
SOURCE(16240, 41)
      start←v14368 = pos←v14284.f1;
      if (( (int)pos←v14284.f1 ==  (int) (word) -1)) {
SOURCE(16281, 8)
         goto lab←L100037;
         };
SOURCE(16291, 17)
      if ((node←v14312 == 0)) {
SOURCE(16308, 8)
         goto lab←L100037;
         };
SOURCE(16318, 12)
      next←v14396 = start←v14368;
SOURCE(16332, 66)
      {
         register word noName←c46268 = 0;
         register word noName←c46300;
         noName←c46300 = (* (( (ptr) formal←c50972)+4) );
         if (( (int)noName←c46268 >=  (int)noName←c46300)) {
            goto lab←L100038;
            };
         lab←L100041: ;
SOURCE(16354, 44)
         next←v14396 = (next←v14396 + (word) FindNextWord←P1740(node←v14312, next←v14396));
         noName←c46268 = (noName←c46268 + 1);
         if (( (int)noName←c46268 <  (int)noName←c46300)) {
            goto lab←L100041;
            };
         lab←L100038: ;
         };
SOURCE(16400, 19)
      nChars←v14340 = (next←v14396 - start←v14368);
SOURCE(16421, 32)
      {
         word pd228;
         pd228 = (* (( (ptr) (* (( (ptr) gf←c50940)+132)/* var←c43772 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd228 ))))(0, pd228);
         };
SOURCE(16455, 71)
      {
         word pd229;
         pd229 = (* (( (ptr) (* (( (ptr) gf←c50940)+136)/* var←c44060 */  ))+32) );
         (void) ( *( (fPt) ((*  (ptr) pd229 ))))(root←v14228, node←v14312, start←v14368, nChars←v14340, (*  (ptr) (* (( (ptr) (* (
                  ( (ptr) gf←c50940)+133)/* var←c43836 */  ))+6) ) ), pd229);
         };
SOURCE(16528, 44)
      {
         word pd230;
         pd230 = (* (( (ptr) (* (( (ptr) gf←c50940)+132)/* var←c43772 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd230 ))))(tSel←v14256, pos←v14284, pd230);
         };
SOURCE(16574, 48)
      {
         word pd231;
         pd231 = (* (( (ptr) (* (( (ptr) gf←c50940)+151)/* var←c45628 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd231 ))))((*  (ptr) tSel←v14256 ), 1, 0, pd231);
         };
      };
   goto lab←L100042;
   lab←L100037: ;
SOURCE(16637, 26)
   {
      word pd232;
      pd232 = (* (( (ptr) (* (( (ptr) gf←c50940)+131)/* var←c43740 */  ))+69) );
      (void) ( *( (fPt) ((*  (ptr) pd232 ))))(0, pd232);
      };
   lab←L100042: ;
   }

static void GoToNextWord←P1860(formal←c0675)
   word formal←c0675;
   {
   W7 var←c51004;
   /* declaration of count←v7392 skipped */ 
   register ptr gf←c51036 =  (ptr) &globalframe;
   /* declaration of var←c46332 skipped */ 
   var←c51004.f4/* count←v7392 */  = formal←c0675;
   /* GoToNextWord: */ 
SOURCE(16737, 610)
   {
      word tmpAddr233;
      tmpAddr233 = (word) (( (ptr) &var←c51004)+5)/* var←c46332 */ ;
      (*  (ptr) tmpAddr233 ) = ( ((word)  (fPt) DoGoToNextWord←P4500) );
      (* (( (ptr) tmpAddr233) + 1) ) = 1;
      };
SOURCE(17280, 67)
   if (( (int)var←c51004.f4/* count←v7392 */  >  (int)0)) {
SOURCE(17298, 49)
      {
         word pd234;
         pd234 = (* (( (ptr) (* (( (ptr) gf←c51036)+131)/* var←c43740 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd234 ))))((word) (( (bPt) &var←c51004)+20)/* var←c46332 */ , 0, pd234);
         };
      };
   }

static void DoGoToNextWord←P4500(root←v14516, tSel←v14544, formal←c51100)
   word root←v14516;
   word tSel←v14544;
   word formal←c51100;
   {
   register ptr gf←c51068 =  (ptr) &globalframe;
   W2 pos←v14572;
   word node←v14600;
   word size←v14628;
   word next←v14656;
   formal←c51100 = (formal←c51100 - 20);
   /* DoGoToNextWord: */ 
SOURCE(16784, 491)
SOURCE(16839, 51)
   {
      word pd235;
      pd235 = (* (( (ptr) (* (( (ptr) gf←c51068)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd235 ))))((word) &pos←v14572, tSel←v14544, pd235);
      };
SOURCE(16892, 21)
   node←v14600 = pos←v14572.f0;
SOURCE(16932, 91)
   if ((node←v14600 == 0)) { goto then0236;};
   next←v14656 = pos←v14572.f1;
   if (( (int)pos←v14572.f1 ==  (int) (word) -1)) {
      then0236: ;
SOURCE(17001, 12)
      (void) GoToNextNode←P1920(1);
SOURCE(17015, 8)
      return;
      };
SOURCE(17026, 26)
   {
      word pd237;
      pd237 = (* (( (ptr) (* (( (ptr) gf←c51068)+136)/* var←c44060 */  ))+6) );
      size←v14628 = (word) ( *( (fPt) ((*  (ptr) pd237 ))))(node←v14600, pd237);
      };
SOURCE(17054, 107)
   {
      register word noName←c46364 = 0;
      register word noName←c46396;
      noName←c46396 = (* (( (ptr) formal←c51100)+4) );
      if (( (int)noName←c46364 >=  (int)noName←c46396)) {
         goto lab←L100043;
         };
      lab←L100046: ;
SOURCE(17076, 46)
      if (( (int)next←v14656 >=  (int)size←v14628)) {
SOURCE(17099, 14)
         (void) GoToNextNode←P1920(1);
SOURCE(17115, 7)
         return;
         };
SOURCE(17125, 36)
      next←v14656 = (next←v14656 + (word) FindNextWord←P1740(node←v14600, next←v14656));
      noName←c46364 = (noName←c46364 + 1);
      if (( (int)noName←c46364 <  (int)noName←c46396)) {
         goto lab←L100046;
         };
      lab←L100043: ;
      };
SOURCE(17172, 53)
   {
      W2 var←c46428;
      var←c46428.f0 = node←v14600;
      var←c46428.f1 = next←v14656;
      {
         word pd238;
         pd238 = (* (( (ptr) (* (( (ptr) gf←c51068)+132)/* var←c43772 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd238 ))))(tSel←v14544, var←c46428, pd238);
         };
      };
SOURCE(17227, 48)
   {
      word pd239;
      pd239 = (* (( (ptr) (* (( (ptr) gf←c51068)+151)/* var←c45628 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd239 ))))((*  (ptr) tSel←v14544 ), 1, 0, pd239);
      };
   }

static void GoToNextNode←P1920(formal←c0676)
   word formal←c0676;
   {
   W7 var←c51132;
   /* declaration of count←v7452 skipped */ 
   register ptr gf←c51164 =  (ptr) &globalframe;
   /* declaration of var←c46460 skipped */ 
   var←c51132.f4/* count←v7452 */  = formal←c0676;
   /* GoToNextNode: */ 
SOURCE(17353, 469)
   {
      word tmpAddr240;
      tmpAddr240 = (word) (( (ptr) &var←c51132)+5)/* var←c46460 */ ;
      (*  (ptr) tmpAddr240 ) = ( ((word)  (fPt) DoGoToNextNode←P4560) );
      (* (( (ptr) tmpAddr240) + 1) ) = 1;
      };
SOURCE(17755, 67)
   if (( (int)var←c51132.f4/* count←v7452 */  >  (int)0)) {
SOURCE(17773, 49)
      {
         word pd241;
         pd241 = (* (( (ptr) (* (( (ptr) gf←c51164)+131)/* var←c43740 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd241 ))))((word) (( (bPt) &var←c51132)+20)/* var←c46460 */ , 0, pd241);
         };
      };
   }

static void DoGoToNextNode←P4560(root←v14776, tSel←v14804, formal←c51228)
   word root←v14776;
   word tSel←v14804;
   word formal←c51228;
   {
   register ptr gf←c51196 =  (ptr) &globalframe;
   W2 pos←v14832;
   word node←v14860;
   formal←c51228 = (formal←c51228 - 20);
   /* DoGoToNextNode: */ 
SOURCE(17400, 350)
SOURCE(17455, 51)
   {
      word pd242;
      pd242 = (* (( (ptr) (* (( (ptr) gf←c51196)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd242 ))))((word) &pos←v14832, tSel←v14804, pd242);
      };
SOURCE(17508, 21)
   node←v14860 = pos←v14832.f0;
SOURCE(17531, 107)
   {
      register word noName←c46492 = 0;
      register word noName←c46524;
      noName←c46524 = (* (( (ptr) formal←c51228)+4) );
      if (( (int)noName←c46492 >=  (int)noName←c46524)) {
         goto lab←L100047;
         };
      lab←L100050: ;
SOURCE(17553, 85)
      {
         word pd243;
         pd243 = (* (( (ptr) (* (( (ptr) gf←c51196)+140)/* var←c44412 */  ))+14) );
         node←v14860 = (word) ( *( (fPt) ((*  (ptr) pd243 ))))(node←v14860, pd243);
         };
      if ((node←v14860 == 0)) {
SOURCE(17603, 26)
         {
            word pd244;
            pd244 = (* (( (ptr) (* (( (ptr) gf←c51196)+131)/* var←c43740 */  ))+69) );
            (void) ( *( (fPt) ((*  (ptr) pd244 ))))(0, pd244);
            };
SOURCE(17631, 7)
         return;
         };
      noName←c46492 = (noName←c46492 + 1);
      if (( (int)noName←c46492 <  (int)noName←c46524)) {
         goto lab←L100050;
         };
      lab←L100047: ;
      };
SOURCE(17650, 50)
   {
      W2 var←c46556;
      var←c46556.f0 = node←v14860;
      var←c46556.f1 = 0;
      {
         word pd245;
         pd245 = (* (( (ptr) (* (( (ptr) gf←c51196)+132)/* var←c43772 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd245 ))))(tSel←v14804, var←c46556, pd245);
         };
      };
SOURCE(17702, 48)
   {
      word pd246;
      pd246 = (* (( (ptr) (* (( (ptr) gf←c51196)+151)/* var←c45628 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd246 ))))((*  (ptr) tSel←v14804 ), 1, 0, pd246);
      };
   }

static void GoToPreviousNode←P1980(formal←c0677)
   word formal←c0677;
   {
   W7 var←c51260;
   /* declaration of count←v7512 skipped */ 
   register ptr gf←c51292 =  (ptr) &globalframe;
   /* declaration of var←c46588 skipped */ 
   var←c51260.f4/* count←v7512 */  = formal←c0677;
   /* GoToPreviousNode: */ 
SOURCE(17828, 567)
   {
      word tmpAddr247;
      tmpAddr247 = (word) (( (ptr) &var←c51260)+5)/* var←c46588 */ ;
      (*  (ptr) tmpAddr247 ) = ( ((word)  (fPt) DoGoToPreviousNode←P4620) );
      (* (( (ptr) tmpAddr247) + 1) ) = 1;
      };
SOURCE(18324, 71)
   if (( (int)var←c51260.f4/* count←v7512 */  >  (int)0)) {
SOURCE(18342, 53)
      {
         word pd248;
         pd248 = (* (( (ptr) (* (( (ptr) gf←c51292)+131)/* var←c43740 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd248 ))))((word) (( (bPt) &var←c51260)+20)/* var←c46588 */ , 0, pd248);
         };
      };
   }

static void DoGoToPreviousNode←P4620(root←v14980, tSel←v15008, formal←c51356)
   word root←v14980;
   word tSel←v15008;
   word formal←c51356;
   {
   register ptr gf←c51324 =  (ptr) &globalframe;
   formal←c51356 = (formal←c51356 - 20);
   /* DoGoToPreviousNode: */ 
SOURCE(17879, 442)
SOURCE(17936, 385)
SOURCE(17938, 51)
   {
      W2 pos←v15036;
      word node←v15064;
SOURCE(17938, 51)
      {
         word pd249;
         pd249 = (* (( (ptr) (* (( (ptr) gf←c51324)+132)/* var←c43772 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd249 ))))((word) &pos←v15036, tSel←v15008, pd249);
         };
SOURCE(17991, 21)
      node←v15064 = pos←v15036.f0;
SOURCE(18014, 100)
      {
         register word noName←c46620 = 0;
         register word noName←c46652;
         noName←c46652 = (* (( (ptr) formal←c51356)+4) );
         if (( (int)noName←c46620 >=  (int)noName←c46652)) {
            goto lab←L100052;
            };
         lab←L100055: ;
SOURCE(18036, 78)
         {
            word pd252;
            {
               word pd250;
               pd250 = (* (( (ptr) (* (( (ptr) gf←c51324)+140)/* var←c44412 */  ))+15) );
               node←v15064 = (word) ( *( (fPt) ((*  (ptr) pd250 ))))(node←v15064, 0, pd250);
               };
            if ((node←v15064 == 0)) { goto then0251;};
            pd252 = (* (( (ptr) (* (( (ptr) gf←c51324)+140)/* var←c44412 */  ))+8) );
            if (((word) ( *( (fPt) ((*  (ptr) pd252 ))))(node←v15064, pd252) == 0)) {
               then0251: ;
SOURCE(18114, 8)
               goto lab←L100051;
               };
            };
         noName←c46620 = (noName←c46620 + 1);
         if (( (int)noName←c46620 <  (int)noName←c46652)) {
            goto lab←L100055;
            };
         lab←L100052: ;
         };
SOURCE(18133, 17)
      if ((node←v15064 == 0)) {
SOURCE(18150, 8)
         goto lab←L100051;
         };
SOURCE(18160, 68)
      {
         word var←c46684;
         {
            word pd253;
            pd253 = (* (( (ptr) (* (( (ptr) gf←c51324)+136)/* var←c44060 */  ))+6) );
            var←c46684 = (word) ( *( (fPt) ((*  (ptr) pd253 ))))(node←v15064, pd253);
            };
         {
            W2 var←c46716;
            var←c46716.f0 = node←v15064;
            var←c46716.f1 = var←c46684;
            {
               word pd254;
               pd254 = (* (( (ptr) (* (( (ptr) gf←c51324)+132)/* var←c43772 */  ))+46) );
               (void) ( *( (fPt) ((*  (ptr) pd254 ))))(tSel←v15008, var←c46716, pd254);
               };
            };
         };
SOURCE(18230, 48)
      {
         word pd255;
         pd255 = (* (( (ptr) (* (( (ptr) gf←c51324)+151)/* var←c45628 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd255 ))))((*  (ptr) tSel←v15008 ), 1, 0, pd255);
         };
      };
   goto lab←L100056;
   lab←L100051: ;
SOURCE(18293, 26)
   {
      word pd256;
      pd256 = (* (( (ptr) (* (( (ptr) gf←c51324)+131)/* var←c43740 */  ))+69) );
      (void) ( *( (fPt) ((*  (ptr) pd256 ))))(0, pd256);
      };
   lab←L100056: ;
   }

static void InsertTime←P2040()
   {
   W6 var←c51388;
   register ptr gf←c51420 =  (ptr) &globalframe;
   /* declaration of var←c46748 skipped */ 
   /* InsertTime: */ 
SOURCE(18401, 816)
   {
      word tmpAddr257;
      tmpAddr257 = (word) (( (ptr) &var←c51388)+4)/* var←c46748 */ ;
      (*  (ptr) tmpAddr257 ) = ( ((word)  (fPt) DoInsertTime←P4728) );
      (* (( (ptr) tmpAddr257) + 1) ) = 1;
      };
SOURCE(19176, 41)
   {
      word pd258;
      pd258 = (* (( (ptr) (* (( (ptr) gf←c51420)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd258 ))))((word) (( (bPt) &var←c51388)+16)/* var←c46748 */ , 1, pd258);
      };
   }

static void DoInsertTime←P4728(root←v15184, tSel←v15212, formal←c51484)
   word root←v15184;
   word tSel←v15212;
   word formal←c51484;
   {
   register ptr gf←c51452 =  (ptr) &globalframe;
   word resultStart←v15240;
   word resultLen←v15268;
   word dateLen←v15296;
   W2 caret←v15324;
   word looks←v15352;
   formal←c51484 = (formal←c51484 - 16);
   /* DoInsertTime: */ 
SOURCE(18429, 742)
SOURCE(18520, 15)
   caret←v15324.f0 = 0;
   caret←v15324.f1 = 0;
SOURCE(18537, 50)
   looks←v15352 = (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c51452)+132)/* var←c43772 */  ))+4) ) ))+25) );
SOURCE(18589, 73)
   if ((0 != (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c51452)+132)/* var←c43772 */  ))+4) ) ))+26) ))) {
SOURCE(18631, 31)
      {
         word pd259;
         pd259 = (* (( (ptr) (* (( (ptr) gf←c51452)+131)/* var←c43740 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd259 ))))(pd259);
         };
      };
SOURCE(18664, 58)
   {
      word pd260;
      pd260 = (* (( (ptr) (* (( (ptr) gf←c51452)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd260 ))))((word) &caret←v15324, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c51452)+132)/* var←c43772 */  ))+4)
          ) ), pd260);
      };
SOURCE(18724, 32)
   {
      word pd261;
      pd261 = (* (( (ptr) (* (( (ptr) gf←c51452)+132)/* var←c43772 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd261 ))))(0, pd261);
      };
SOURCE(18758, 193)
   {
      W3 var←c46876;
      {
         word var←c46812;
         {
            word pd262;
            pd262 = (* (( (ptr) (* (( (ptr) gf←c51452)+152)/* var←c46844 */  ))+14) );
            var←c46812 = (word) ( *( (fPt) ((*  (ptr) pd262 ))))(pd262);
            };
         {
            word pd263;
            pd263 = (* (( (ptr) (* (( (ptr) gf←c51452)+135)/* var←c43996 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd263 ))))((word) &var←c46876, caret←v15324.f0, caret←v15324.f1, var←c46812, looks←v15352, 0
               , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c51452)+133)/* var←c43836 */  ))+6) ) ), pd263);
            };
         };
      dateLen←v15296 = var←c46876.f2;
      resultLen←v15268 = var←c46876.f1;
      resultStart←v15240 = var←c46876.f0;
      };
SOURCE(18953, 105)
   {
      W2 var←c46908;
      W2 var←c46940;
      var←c46908.f0 = caret←v15324.f0;
      var←c46908.f1 = (resultStart←v15240 + dateLen←v15296);
      var←c46940.f0 = caret←v15324.f0;
      var←c46940.f1 = (resultStart←v15240 + resultLen←v15268);
      (void) CharSelectionFromLocations←P2160(tSel←v15212, var←c46908, var←c46940);
      };
SOURCE(19060, 22)
   (* (( (ptr) tSel←v15212)+24) ) = 1;
SOURCE(19084, 26)
   (* (( (ptr) tSel←v15212)+26) ) = 0;
SOURCE(19112, 59)
   {
      word pd264;
      pd264 = (* (( (ptr) (* (( (ptr) gf←c51452)+132)/* var←c43772 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd264 ))))(tSel←v15212, 0, 0, 0, 1, pd264);
      };
   }

static void LocationsFromSelection←P2100(formal←c0355, tSel←v7588)
   word formal←c0355;
   word tSel←v7588;
   {
   register ptr gf←c51516 =  (ptr) &globalframe;
   W2 loc1←v7632;
   W2 loc2←v7660;
   /* LocationsFromSelection: */ 
SOURCE(19222, 385)
SOURCE(19222, 385)
   loc1←v7632.f0 = 0;
   loc1←v7632.f1 = 0;
SOURCE(19222, 385)
   loc2←v7660.f0 = 0;
   loc2←v7660.f1 = 0;
SOURCE(19304, 21)
   loc1←v7632 = (*  (W2Pt) (( (ptr) tSel←v7588)+2) );
SOURCE(19327, 19)
   loc2←v7660 = (*  (W2Pt) (( (ptr) tSel←v7588)+11) );
SOURCE(19348, 65)
   if ((loc1←v7632.f0 == 0) || (loc2←v7660.f0 == 0)) {
SOURCE(19387, 26)
      loc1←v7632.f0 = 0;
      loc1←v7632.f1 = 0;
      loc2←v7660.f0 = 0;
      loc2←v7660.f1 = 0;
      goto lab←L100057;
      };
SOURCE(19415, 44)
   if (( (int)loc1←v7632.f1 ==  (int) (word) -1)) {
SOURCE(19445, 14)
      loc1←v7632.f1 = 0;
      };
SOURCE(19461, 146)
   if (((* (( (ptr) tSel←v7588)+22) ) == 0)) {
SOURCE(19492, 17)
      loc2←v7660 = loc1←v7632;
      }
   else {
SOURCE(19509, 98)
      if (( (int)loc2←v7660.f1 ==  (int) (word) -1)) {
SOURCE(19539, 43)
         {
            word pd265;
            pd265 = (* (( (ptr) (* (( (ptr) gf←c51516)+136)/* var←c44060 */  ))+6) );
            loc2←v7660.f1 = (word) ( *( (fPt) ((*  (ptr) pd265 ))))(loc2←v7660.f0, pd265);
            };
         }
      else {
SOURCE(19582, 25)
         loc2←v7660.f1 = (loc2←v7660.f1 + 1);
         };
      };
   /* removed tail goto */ 
   lab←L100057: ;
   (*  (W2Pt) formal←c0355 ) = loc1←v7632;
   (*  (W2Pt) (( (ptr) formal←c0355)+2) ) = loc2←v7660;
   return;
   }

static void CharSelectionFromLocations←P2160(tSel←v7720, loc1←v7748, loc2←v7776)
   word tSel←v7720;
   W2 loc1←v7748;
   W2 loc2←v7776;
   {
   /* CharSelectionFromLocations: */ 
SOURCE(19613, 265)
SOURCE(19690, 188)
   if ( ( (loc1←v7748.f0 == loc2←v7776.f0) ? ( (int)loc1←v7748.f1 ==  (int)loc2←v7776.f1) : 0 ) ) {
SOURCE(19744, 44)
      (void) PointSelectionFromLocation←P2220(tSel←v7720, loc1←v7748);
      }
   else {
SOURCE(19790, 21)
      (*  (W2Pt) (( (ptr) tSel←v7720)+2) ) = loc1←v7748;
SOURCE(19813, 40)
      (* (( (ptr) tSel←v7720)+11) ) = loc2←v7776.f0;
      (* (( (ptr) tSel←v7720)+12) ) = (loc2←v7776.f1 - 1);
SOURCE(19855, 23)
      (* (( (ptr) tSel←v7720)+22) ) = 1;
      };
   }

static void PointSelectionFromLocation←P2220(tSel←v7836, loc←v7864)
   word tSel←v7836;
   W2 loc←v7864;
   {
   /* PointSelectionFromLocation: */ 
SOURCE(19887, 131)
SOURCE(19957, 35)
   (*  (W2Pt) (( (ptr) tSel←v7836)+2) ) = loc←v7864;
   (*  (W2Pt) (( (ptr) tSel←v7836)+11) ) = loc←v7864;
SOURCE(19994, 24)
   (* (( (ptr) tSel←v7836)+22) ) = 0;
   }

static void InsertBrackets←P2280(left←v7924, right←v7952)
   word left←v7924;
   word right←v7952;
   {
   register ptr gf←c51548 =  (ptr) &globalframe;
   /* InsertBrackets: */ 
SOURCE(20024, 113)
SOURCE(20076, 61)
   {
      word var←c47068;
      word var←c47100;
      {
         word pd266;
         pd266 = (* (( (ptr) (* (( (ptr) gf←c51548)+139)/* var←c44220 */  ))+37) );
         var←c47068 = (word) ( *( (fPt) ((*  (ptr) pd266 ))))(left←v7924, pd266);
         };
      {
         word pd267;
         pd267 = (* (( (ptr) (* (( (ptr) gf←c51548)+139)/* var←c44220 */  ))+37) );
         var←c47100 = (word) ( *( (fPt) ((*  (ptr) pd267 ))))(right←v7952, pd267);
         };
      (void) InsertBracketRopes←P2340(var←c47068, var←c47100, 0);
      };
   }

static void InsertBracketRopes←P2340(formal←c0678, formal←c0679, formal←c0680)
   word formal←c0678;
   word formal←c0679;
   word formal←c0680;
   {
   W9 var←c51580;
   /* declaration of rope1←v8012 skipped */ 
   /* declaration of rope2←v8040 skipped */ 
   /* declaration of includeInSelection←v8068 skipped */ 
   register ptr gf←c51612 =  (ptr) &globalframe;
   /* declaration of var←c47132 skipped */ 
   (* (( (ptr) &var←c51580)+4)/* rope1←v8012 */  ) = formal←c0678;
   (* (( (ptr) &var←c51580)+5)/* rope2←v8040 */  ) = formal←c0679;
   (* (( (ptr) &var←c51580)+6)/* includeInSelection←v8068 */  ) = formal←c0680;
   /* InsertBracketRopes: */ 
SOURCE(20142, 716)
   {
      word tmpAddr268;
      tmpAddr268 = (word) (( (ptr) &var←c51580)+7)/* var←c47132 */ ;
      (*  (ptr) tmpAddr268 ) = ( ((word)  (fPt) DoInsertBracketRopes←P4788) );
      (* (( (ptr) tmpAddr268) + 1) ) = 1;
      };
SOURCE(20809, 49)
   {
      word pd269;
      pd269 = (* (( (ptr) (* (( (ptr) gf←c51612)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd269 ))))((word) (( (bPt) &var←c51580)+28)/* var←c47132 */ , 1, pd269);
      };
   }

static void DoInsertBracketRopes←P4788(root←v15472, tSel←v15500, formal←c51676)
   word root←v15472;
   word tSel←v15500;
   word formal←c51676;
   {
   register ptr gf←c51644 =  (ptr) &globalframe;
   formal←c51676 = (formal←c51676 - 28);
   /* DoInsertBracketRopes: */ 
SOURCE(20226, 580)
SOURCE(20285, 521)
SOURCE(20287, 20)
   {
      W2 loc1←v15528;
      W2 loc2←v15556;
SOURCE(20287, 20)
      loc1←v15528.f0 = 0;
      loc1←v15528.f1 = 0;
      loc2←v15556 = loc1←v15528;
SOURCE(20309, 43)
      {
         W4 var←c47196;
         (void) LocationsFromSelection←P2100((word) &var←c47196, tSel←v15500);
         loc2←v15556 = (*  (W2Pt) (( (ptr) &var←c47196)+2) );
         loc1←v15528 = (*  (W2Pt) &var←c47196 );
         };
SOURCE(20354, 22)
      if ((loc1←v15528.f0 == 0)) {
SOURCE(20376, 8)
         goto lab←L100058;
         };
SOURCE(20386, 32)
      {
         word pd270;
         pd270 = (* (( (ptr) (* (( (ptr) gf←c51644)+132)/* var←c43772 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd270 ))))(0, pd270);
         };
SOURCE(20420, 208)
      {
         W4 var←c47228;
         {
            word pd271;
            pd271 = (* (( (ptr) (* (( (ptr) gf←c51644)+135)/* var←c43996 */  ))+11) );
            (void) ( *( (fPt) ((*  (ptr) pd271 ))))((word) &var←c47228, loc1←v15528, loc2←v15556, (* (( (ptr) formal←c51676)+4) ), (* (
                  ( (ptr) formal←c51676)+5) ), (* (( (ptr) tSel←v15500)+25) )
               , 0, (* (( (ptr) formal←c51676)+6) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c51644)+133)/* var←c43836 */  ))+6) ) ), pd271)
            ;
            };
         loc2←v15556 = (*  (W2Pt) (( (ptr) &var←c47228)+2) );
         loc1←v15528 = (*  (W2Pt) &var←c47228 );
         };
SOURCE(20630, 44)
      (void) CharSelectionFromLocations←P2160(tSel←v15500, loc1←v15528, loc2←v15556);
SOURCE(20676, 26)
      (* (( (ptr) tSel←v15500)+26) ) = 0;
SOURCE(20704, 59)
      {
         word pd272;
         pd272 = (* (( (ptr) (* (( (ptr) gf←c51644)+132)/* var←c43772 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd272 ))))(tSel←v15500, 0, 0, 0, 1, pd272);
         };
      };
   goto lab←L100059;
   lab←L100058: ;
SOURCE(20778, 26)
   {
      word pd273;
      pd273 = (* (( (ptr) (* (( (ptr) gf←c51644)+131)/* var←c43740 */  ))+69) );
      (void) ( *( (fPt) ((*  (ptr) pd273 ))))(0, pd273);
      };
   lab←L100059: ;
   }

static void SelectMatchingBrackets←P2400(left←v8128, right←v8156)
   word left←v8128;
   word right←v8156;
   {
   register ptr gf←c51708 =  (ptr) &globalframe;
   /* SelectMatchingBrackets: */ 
SOURCE(20863, 147)
SOURCE(20923, 87)
   if ((0 == (word) DoSelectMatchingBrackets←P2460(left←v8128, right←v8156))) {
SOURCE(20973, 37)
      {
         word pd274;
         pd274 = (* (( (ptr) (* (( (ptr) gf←c51708)+131)/* var←c43740 */  ))+69) );
         (void) ( *( (fPt) ((*  (ptr) pd274 ))))((* ((( (ptr) gf←c51708)+16)) ), pd274);
         };
      };
   }

static word DoSelectMatchingBrackets←P2460(formal←c0681, formal←c0682)
   word formal←c0681;
   word formal←c0682;
   {
   W9 var←c51740;
   /* declaration of left←v8216 skipped */ 
   /* declaration of right←v8244 skipped */ 
   register ptr gf←c51772 =  (ptr) &globalframe;
   /* declaration of found←v8288 skipped */ 
   /* declaration of var←c47260 skipped */ 
   (* (( (ptr) &var←c51740)+4)/* left←v8216 */  ) = formal←c0681;
   (* (( (ptr) &var←c51740)+5)/* right←v8244 */  ) = formal←c0682;
   /* DoSelectMatchingBrackets: */ 
SOURCE(21016, 513)
   {
      word tmpAddr275;
      tmpAddr275 = (word) (( (ptr) &var←c51740)+7)/* var←c47260 */ ;
      (*  (ptr) tmpAddr275 ) = ( ((word)  (fPt) DoSelect←P4896) );
      (* (( (ptr) tmpAddr275) + 1) ) = 1;
      };
SOURCE(21016, 513)
   (* (( (ptr) &var←c51740)+6)/* found←v8288 */  ) = 0;
SOURCE(21486, 43)
   {
      word pd276;
      pd276 = (* (( (ptr) (* (( (ptr) gf←c51772)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd276 ))))((word) (( (bPt) &var←c51740)+28)/* var←c47260 */ , 0, pd276);
      };
SOURCE(21016, 513)
   return((* (( (ptr) &var←c51740)+6)/* found←v8288 */  ));
   }

static void DoSelect←P4896(root←v15676, tSel←v15704, formal←c51836)
   word root←v15676;
   word tSel←v15704;
   word formal←c51836;
   {
   register ptr gf←c51804 =  (ptr) &globalframe;
   W2 loc1←v15732;
   W2 loc2←v15760;
   formal←c51836 = (formal←c51836 - 28);
   /* DoSelect: */ 
SOURCE(21109, 369)
SOURCE(21158, 20)
   loc1←v15732.f0 = 0;
   loc1←v15732.f1 = 0;
   loc2←v15760 = loc1←v15732;
SOURCE(21180, 43)
   {
      W4 var←c47324;
      (void) LocationsFromSelection←P2100((word) &var←c47324, tSel←v15704);
      loc2←v15760 = (*  (W2Pt) (( (ptr) &var←c47324)+2) );
      loc1←v15732 = (*  (W2Pt) &var←c47324 );
      };
SOURCE(21225, 121)
   {
      W5 var←c47420;
      {
         W5 var←c0393;
         {
            W2 var←c47356;
            W2 var←c47388;
            var←c47356.f0 = 0;
            var←c47356.f1 = 0;
            var←c47388.f0 = 0;
            var←c47388.f1 = 0;
            {
               word pd277;
               pd277 = (* (( (ptr) (* (( (ptr) gf←c51804)+135)/* var←c43996 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd277 ))))((word) &var←c0393, (* (( (ptr) formal←c51836)+4) ), (* (( (ptr) formal←c51836)+5)
                   ), loc1←v15732, loc2←v15760, var←c47356
                  , var←c47388, 1, pd277);
               };
            };
         var←c47420 = var←c0393;
         };
      loc2←v15760 = (*  (W2Pt) (( (ptr) &var←c47420)+3) );
      loc1←v15732 = (*  (W2Pt) (( (ptr) &var←c47420)+1) );
      (* (( (ptr) formal←c51836)+6) ) = var←c47420.f0;
      };
SOURCE(21348, 130)
   if ((0 != (* (( (ptr) formal←c51836)+6) ))) {
SOURCE(21364, 44)
      (void) CharSelectionFromLocations←P2160(tSel←v15704, loc1←v15732, loc2←v15760);
SOURCE(21410, 32)
      {
         word pd278;
         pd278 = (* (( (ptr) (* (( (ptr) gf←c51804)+132)/* var←c43772 */  ))+70) );
         (void) ( *( (fPt) ((*  (ptr) pd278 ))))(tSel←v15704, pd278);
         };
SOURCE(21444, 34)
      {
         word pd279;
         pd279 = (* (( (ptr) (* (( (ptr) gf←c51804)+132)/* var←c43772 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd279 ))))(tSel←v15704, 0, 0, 0, 1, pd279);
         };
      };
   }

static void CallWithPrimarySelectionLocked←P2520(who←v8348, formal←c0683)
   word who←v8348;
   word formal←c0683;
   {
   W6 var←c51868;
   /* declaration of action←v8376 skipped */ 
   register ptr gf←c51900 =  (ptr) &globalframe;
   var←c51868.f4/* action←v8376 */  = formal←c0683;
   /* CallWithPrimarySelectionLocked: */ 
SOURCE(21535, 225)
SOURCE(21614, 36)
   {
      word pd280;
      pd280 = (* (( (ptr) (* (( (ptr) gf←c51900)+132)/* var←c43772 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd280 ))))(0, who←v8348, pd280);
      };
SOURCE(21652, 73)
   {
      /* declaration of var←c06 skipped */ 
      var←c51868.f5/* var←c06 */  = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c51900)+132)/* var←c43772 */  ))+4) ) );
      {
         word var←c0597;
         var←c0597 = (word) &var←c51868;
          (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q6756) ), ( ((word)  (fPt) NoName←Q6816) ), var←c0597);
         };
      };
SOURCE(21727, 33)
   {
      word pd281;
      pd281 = (* (( (ptr) (* (( (ptr) gf←c51900)+132)/* var←c43772 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd281 ))))(0, pd281);
      };
   }

static word NoName←Q6756(formal←c0571)
   word formal←c0571;
   {
SOURCE(21652, 73)
   {
      word pd282;
      pd282 = (* (( (ptr) formal←c0571)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd282 ))))((* ((( (ptr) formal←c0571)+5)) ), pd282);
      };
   return(0);
   }

static void NextViewer←P2580(forward←v8496)
   word forward←v8496;
   {
   register ptr gf←c51932 =  (ptr) &globalframe;
   /* NextViewer: */ 
SOURCE(21766, 121)
SOURCE(21810, 77)
   if ((0 == (word) DoNextViewer←P2640(forward←v8496))) {
SOURCE(21844, 43)
      {
         word pd283;
         pd283 = (* (( (ptr) (* (( (ptr) gf←c51932)+131)/* var←c43740 */  ))+69) );
         (void) ( *( (fPt) ((*  (ptr) pd283 ))))((* ((( (ptr) gf←c51932)+17)) ), pd283);
         };
      };
   }

static word DoNextViewer←P2640(formal←c0684)
   word formal←c0684;
   {
   W8 var←c51964;
   /* declaration of forward←v8556 skipped */ 
   register ptr gf←c51996 =  (ptr) &globalframe;
   /* declaration of found←v8600 skipped */ 
   /* declaration of var←c47452 skipped */ 
   var←c51964.f4/* forward←v8556 */  = formal←c0684;
   /* DoNextViewer: */ 
SOURCE(21893, 1362)
   {
      word tmpAddr284;
      tmpAddr284 = (word) (( (ptr) &var←c51964)+6)/* var←c47452 */ ;
      (*  (ptr) tmpAddr284 ) = ( ((word)  (fPt) DoNextViewerAction←P4956) );
      (* (( (ptr) tmpAddr284) + 1) ) = 1;
      };
SOURCE(21893, 1362)
   var←c51964.f5/* found←v8600 */  = 0;
SOURCE(23189, 66)
   (void) CallWithPrimarySelectionLocked←P2520((* (( (ptr) gf←c51996)+18) ), (word) (( (bPt) &var←c51964)+24)/* var←c47452 */ )
   ;
SOURCE(21893, 1362)
   return(var←c51964.f5/* found←v8600 */ );
   }

static void DoNextViewerAction←P4956(PSel←v15908, formal←c52092)
   word PSel←v15908;
   word formal←c52092;
   {
   W12 var←c52028;
   register ptr gf←c52060 =  (ptr) &globalframe;
   /* declaration of var←c47484 skipped */ 
   /* declaration of var←c47516 skipped */ 
   /* declaration of var←c47548 skipped */ 
   /* declaration of thisViewer←v15936 skipped */ 
   /* declaration of nextViewer←v15964 skipped */ 
   formal←c52092 = (formal←c52092 - 24);
   (*  (ptr) &var←c52028 ) = formal←c52092;
   /* DoNextViewerAction: */ 
SOURCE(22006, 1177)
   {
      word tmpAddr285;
      tmpAddr285 = (word) (( (ptr) &var←c52028)+4)/* var←c47484 */ ;
      (*  (ptr) tmpAddr285 ) = ( ((word)  (fPt) ConvergeBackward←P5136) );
      (* (( (ptr) tmpAddr285) + 1) ) = 1;
      };
   {
      word tmpAddr286;
      tmpAddr286 = (word) (( (ptr) &var←c52028)+6)/* var←c47516 */ ;
      (*  (ptr) tmpAddr286 ) = ( ((word)  (fPt) ConvergeForward←P5076) );
      (* (( (ptr) tmpAddr286) + 1) ) = 1;
      };
   {
      word tmpAddr287;
      tmpAddr287 = (word) (( (ptr) &var←c52028)+8)/* var←c47548 */ ;
      (*  (ptr) tmpAddr287 ) = ( ((word)  (fPt) Enumerate←P5016) );
      (* (( (ptr) tmpAddr287) + 1) ) = 1;
      };
SOURCE(22053, 47)
   (* (( (ptr) &var←c52028)+10)/* thisViewer←v15936 */  ) = (*  (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c52060)+132)/* var←c43772 */  ))+4)
    ) ) );
SOURCE(22102, 24)
   (* (( (ptr) &var←c52028)+11)/* nextViewer←v15964 */  ) = 0;
SOURCE(22978, 54)
   if (((* (( (ptr) &var←c52028)+10)/* thisViewer←v15936 */  ) == 0) || ((* (( (ptr) (* (( (ptr) &var←c52028)+10)/* thisViewer←v15936 */  ))+22)
    ) == 0)) {
SOURCE(23026, 6)
      return;
      };
SOURCE(23034, 64)
   (void) Enumerate←P5016( ( (0 != (* (( (ptr) formal←c52092)+4) )) ? (word) (( (bPt) &var←c52028)+24)/* var←c47516 */  : (word) (
         ( (bPt) &var←c52028)+16)/* var←c47484 */  ) , (word) (( (bPt) &var←c52028)+32)/* var←c47548 */ );
SOURCE(23100, 83)
   if (((* (( (ptr) &var←c52028)+11)/* nextViewer←v15964 */  ) != 0)) {
SOURCE(23127, 41)
      {
         word pd288;
         pd288 = (* (( (ptr) (* (( (ptr) gf←c52060)+153)/* var←c47580 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd288 ))))((* (( (ptr) &var←c52028)+11)/* nextViewer←v15964 */  ), 0, pd288);
         };
SOURCE(23170, 13)
      (* (( (ptr) formal←c52092)+5) ) = 1;
      };
   }

static void Enumerate←P5016(enum←v16124, formal←c52124)
   word enum←v16124;
   word formal←c52124;
   {
   formal←c52124 = (formal←c52124 - 32);
   /* Enumerate: */ 
SOURCE(22128, 115)
SOURCE(22170, 73)
   {
      register word v←v16332;
      v←v16332 = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c52124)+10) ))+22) ))+24) );
      lab←L100065: ;
      if ((v←v16332 != 0)) {
         }
      else {
         goto lab←L100062;
         };
SOURCE(22236, 7)
      (void) ( *( (fPt) ((*  (ptr) enum←v16124 ))))(v←v16332, enum←v16124);
      v←v16332 = (* (( (ptr) v←v16332)+23) );
      goto lab←L100065;
      lab←L100062: ;
      };
   }

static void ConvergeForward←P5076(v←v16244, formal←c52188)
   word v←v16244;
   word formal←c52188;
   {
   register ptr gf←c52156 =  (ptr) &globalframe;
   formal←c52188 = (formal←c52188 - 24);
   /* ConvergeForward: */ 
SOURCE(22257, 351)
SOURCE(22295, 313)
   if ( ( ((*  (ptr) (*  (ptr) v←v16244 ) ) == (* (( (ptr) gf←c52156)+20) )) ?  ( ( (int)(* (( (ptr) v←v16244)+2) ) >  (int)(* (
      ( (ptr) (* (( (ptr) formal←c52188)+10) ))+2) )) ? 1 :  ( ( (int)(* (( (ptr) v←v16244)+2) ) ==  (int)(* (( (ptr) (* (( (ptr) formal←c52188)+10)
       ))+2) )) ? ( (int)(* (( (ptr) v←v16244)+1) ) >  (int)(* (( (ptr) (* (( (ptr) formal←c52188)+10) ))+1) )) : 0 )  )  : 0 ) ) {
SOURCE(22404, 70)
      if (((* (( (ptr) formal←c52188)+11) ) == 0) || ( (int)(* (( (ptr) v←v16244)+2) ) <  (int)(* (( (ptr) (* (( (ptr) formal←c52188)+11)
          ))+2) ))) {
SOURCE(22452, 14)
         (* (( (ptr) formal←c52188)+11) ) = v←v16244;
SOURCE(22468, 6)
         return;
         };
SOURCE(22477, 35)
      if (( (int)(* (( (ptr) v←v16244)+2) ) >  (int)(* (( (ptr) (* (( (ptr) formal←c52188)+11) ))+2) ))) {
SOURCE(22506, 6)
         return;
         };
SOURCE(22514, 94)
      if ( ( (( (int)(* (( (ptr) v←v16244)+2) ) >  (int)(* (( (ptr) (* (( (ptr) formal←c52188)+10) ))+2) )) || ( (int)(* (( (ptr) v←v16244)+1)
       ) >  (int)(* (( (ptr) (* (( (ptr) formal←c52188)+10) ))+1) ))) ? ( (int)(* (( (ptr) v←v16244)+1) ) <  (int)(* (( (ptr) (* (
            ( (ptr) formal←c52188)+11) ))+1) )) : 0 ) ) {
SOURCE(22594, 14)
         (* (( (ptr) formal←c52188)+11) ) = v←v16244;
         };
      };
   }

static void ConvergeBackward←P5136(v←v16304, formal←c52252)
   word v←v16304;
   word formal←c52252;
   {
   register ptr gf←c52220 =  (ptr) &globalframe;
   formal←c52252 = (formal←c52252 - 16);
   /* ConvergeBackward: */ 
SOURCE(22617, 352)
SOURCE(22656, 313)
   if ( ( ((*  (ptr) (*  (ptr) v←v16304 ) ) == (* (( (ptr) gf←c52220)+20) )) ?  ( ( (int)(* (( (ptr) v←v16304)+2) ) <  (int)(* (
      ( (ptr) (* (( (ptr) formal←c52252)+10) ))+2) )) ? 1 :  ( ( (int)(* (( (ptr) v←v16304)+2) ) ==  (int)(* (( (ptr) (* (( (ptr) formal←c52252)+10)
       ))+2) )) ? ( (int)(* (( (ptr) v←v16304)+1) ) <  (int)(* (( (ptr) (* (( (ptr) formal←c52252)+10) ))+1) )) : 0 )  )  : 0 ) ) {
SOURCE(22765, 70)
      if (((* (( (ptr) formal←c52252)+11) ) == 0) || ( (int)(* (( (ptr) v←v16304)+2) ) >  (int)(* (( (ptr) (* (( (ptr) formal←c52252)+11)
          ))+2) ))) {
SOURCE(22813, 14)
         (* (( (ptr) formal←c52252)+11) ) = v←v16304;
SOURCE(22829, 6)
         return;
         };
SOURCE(22838, 35)
      if (( (int)(* (( (ptr) v←v16304)+2) ) <  (int)(* (( (ptr) (* (( (ptr) formal←c52252)+11) ))+2) ))) {
SOURCE(22867, 6)
         return;
         };
SOURCE(22875, 94)
      if ( ( (( (int)(* (( (ptr) v←v16304)+2) ) <  (int)(* (( (ptr) (* (( (ptr) formal←c52252)+10) ))+2) )) || ( (int)(* (( (ptr) v←v16304)+1)
       ) <  (int)(* (( (ptr) (* (( (ptr) formal←c52252)+10) ))+1) ))) ? ( (int)(* (( (ptr) v←v16304)+1) ) >  (int)(* (( (ptr) (* (
            ( (ptr) formal←c52252)+11) ))+1) )) : 0 ) ) {
SOURCE(22955, 14)
         (* (( (ptr) formal←c52252)+11) ) = v←v16304;
         };
      };
   }

static void FindPlaceholders←P2700(next←v8660)
   word next←v8660;
   {
   word found←v16376;
   word wentToEnd←v16404;
   /* FindPlaceholders: */ 
SOURCE(23261, 176)
SOURCE(23332, 51)
   {
      W2 var←c47612;
      (void) DoFindPlaceholders←P2820((word) &var←c47612, next←v8660, 1, 0, 0, 0
         , 2147483647);
      wentToEnd←v16404 = var←c47612.f1;
      found←v16376 = var←c47612.f0;
      };
SOURCE(23385, 52)
   if ( ( (0 == found←v16376) ? (0 == wentToEnd←v16404) : 0 ) ) {
SOURCE(23421, 16)
      (void) NextViewer←P2580(next←v8660);
      };
   }

static word TryToGetLooks←P2760(node←v8720, index←v8748, default←v8776)
   word node←v8720;
   word index←v8748;
   word default←v8776;
   {
   register ptr gf←c52284 =  (ptr) &globalframe;
   word var←c8820;
   /* TryToGetLooks: */ 
SOURCE(23442, 176)
SOURCE(23523, 95)
   {
      word tc289;
      word pd290;
      word pd291;
      if (( (int)index←v8748 >=  (int)0)) {
         pd290 = (* (( (ptr) (* (( (ptr) gf←c52284)+136)/* var←c44060 */  ))+6) );
         tc289 =  (word) ( (int)index←v8748 <  (int)(word) ( *( (fPt) ((*  (ptr) pd290 ))))(node←v8720, pd290));
         }
      else {
         tc289 =  (word) 0;
         };
      if (tc289) {
         pd291 = (* (( (ptr) (* (( (ptr) gf←c52284)+136)/* var←c44060 */  ))+5) );
         return((word) ( *( (fPt) ((*  (ptr) pd291 ))))(node←v8720, index←v8748, pd291));
         }
      else {
         return(default←v8776);
         };
      };
   }

static void DoFindPlaceholders←P2820(formal←c0428, formal←c0685, formal←c0686, formal←c0687, formal←c0688, formal←c0689, formal←c0690)
   word formal←c0428;
   word formal←c0685;
   word formal←c0686;
   word formal←c0687;
   word formal←c0688;
   word formal←c0689;
   word formal←c0690;
   {
   W14 var←c52316;
   /* declaration of next←v8880 skipped */ 
   /* declaration of gotoend←v8908 skipped */ 
   /* declaration of startBoundaryNode←v8936 skipped */ 
   /* declaration of endBoundaryNode←v8964 skipped */ 
   /* declaration of startBoundaryOffset←v8992 skipped */ 
   /* declaration of endBoundaryOffset←v9020 skipped */ 
   register ptr gf←c52348 =  (ptr) &globalframe;
   /* declaration of found←v9064 skipped */ 
   /* declaration of wenttoend←v9092 skipped */ 
   /* declaration of var←c47676 skipped */ 
   (* (( (ptr) &var←c52316)+4)/* next←v8880 */  ) = formal←c0685;
   (* (( (ptr) &var←c52316)+5)/* gotoend←v8908 */  ) = formal←c0686;
   (* (( (ptr) &var←c52316)+6)/* startBoundaryNode←v8936 */  ) = formal←c0687;
   (* (( (ptr) &var←c52316)+7)/* endBoundaryNode←v8964 */  ) = formal←c0688;
   (* (( (ptr) &var←c52316)+8)/* startBoundaryOffset←v8992 */  ) = formal←c0689;
   (* (( (ptr) &var←c52316)+9)/* endBoundaryOffset←v9020 */  ) = formal←c0690;
   /* DoFindPlaceholders: */ 
SOURCE(23624, 1647)
   {
      word tmpAddr292;
      tmpAddr292 = (word) (( (ptr) &var←c52316)+12)/* var←c47676 */ ;
      (*  (ptr) tmpAddr292 ) = ( ((word)  (fPt) DoFind←P5244) );
      (* (( (ptr) tmpAddr292) + 1) ) = 1;
      };
SOURCE(23624, 1647)
   (* (( (ptr) &var←c52316)+10)/* found←v9064 */  ) = 0;
SOURCE(23624, 1647)
   (* (( (ptr) &var←c52316)+11)/* wenttoend←v9092 */  ) = 0;
SOURCE(25230, 41)
   {
      word pd293;
      pd293 = (* (( (ptr) (* (( (ptr) gf←c52348)+131)/* var←c43740 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd293 ))))((word) (( (bPt) &var←c52316)+48)/* var←c47676 */ , 0, pd293);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0428 ) = (* (( (ptr) &var←c52316)+10)/* found←v9064 */  );
   (* (( (ptr) formal←c0428)+1) ) = (* (( (ptr) &var←c52316)+11)/* wenttoend←v9092 */  );
   return;
   }

static void DoFind←P5244(root←v16524, tSel←v16552, formal←c52412)
   word root←v16524;
   word tSel←v16552;
   word formal←c52412;
   {
   register ptr gf←c52380 =  (ptr) &globalframe;
   word direction←v16580;
   W2 from←v16608;
   word start←v16636;
   W2 result1←v16664;
   W2 result2←v16692;
   formal←c52412 = (formal←c52412 - 48);
   /* DoFind: */ 
SOURCE(23840, 1382)
SOURCE(23887, 65)
   direction←v16580 =  ( (0 != (* (( (ptr) formal←c52412)+4) )) ? 0 : 1 ) ;
SOURCE(23954, 52)
   {
      word pd294;
      pd294 = (* (( (ptr) (* (( (ptr) gf←c52380)+132)/* var←c43772 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd294 ))))((word) &from←v16608, tSel←v16552, pd294);
      };
SOURCE(24008, 23)
   start←v16636 = from←v16608.f1;
SOURCE(24033, 26)
   result1←v16664.f0 = 0;
   result1←v16664.f1 = 0;
   result2←v16692 = result1←v16664;
SOURCE(24061, 211)
   {
      word var←c47740;
      var←c47740 = direction←v16580;
      if ((var←c47740 == 0)) {
SOURCE(24094, 108)
         {
            word tc295;
            word pd296;
            if ( ( ((* (( (ptr) tSel←v16552)+24) ) == 0) ? ((* (( (ptr) tSel←v16552)+22) ) != 0) : 0 ) ) {
               pd296 = (* (( (ptr) (* (( (ptr) gf←c52380)+136)/* var←c44060 */  ))+6) );
               tc295 =  (word) ( (int)start←v16636 <  (int)(word) ( *( (fPt) ((*  (ptr) pd296 ))))(from←v16608.f0, pd296));
               }
            else {
               tc295 =  (word) 0;
               };
            if (tc295) {
SOURCE(24187, 15)
               start←v16636 = (start←v16636 + 1);
               };
            };
         }
      else {
         if ((var←c47740 == 1)) {
SOURCE(24216, 56)
            if ( ( ((* (( (ptr) tSel←v16552)+24) ) == 1) ? ( (int)start←v16636 >  (int)0) : 0 ) ) {
SOURCE(24257, 15)
               start←v16636 = (start←v16636 - 1);
               };
            };
         };
      };
SOURCE(24283, 262)
   {
      W5 var←c47868;
      {
         W5 var←c0442;
         {
            W2 var←c47772;
            W2 var←c47804;
            W2 var←c47836;
            var←c47772.f0 = from←v16608.f0;
            var←c47772.f1 = start←v16636;
            var←c47804.f0 = (* (( (ptr) formal←c52412)+6) );
            var←c47804.f1 = (* (( (ptr) formal←c52412)+8) );
            var←c47836.f0 = (* (( (ptr) formal←c52412)+7) );
            var←c47836.f1 = (* (( (ptr) formal←c52412)+9) );
            {
               word pd297;
               pd297 = (* (( (ptr) (* (( (ptr) gf←c52380)+135)/* var←c43996 */  ))+6) );
               (void) ( *( (fPt) ((*  (ptr) pd297 ))))((word) &var←c0442, direction←v16580, 1, 2, var←c47772, var←c47804
                  , var←c47836, 1, pd297);
               };
            };
         var←c47868 = var←c0442;
         };
      result2←v16692 = (*  (W2Pt) (( (ptr) &var←c47868)+3) );
      result1←v16664 = (*  (W2Pt) (( (ptr) &var←c47868)+1) );
      (* (( (ptr) formal←c52412)+10) ) = var←c47868.f0;
      };
SOURCE(24547, 497)
   if ((0 != (* (( (ptr) formal←c52412)+10) ))) {
SOURCE(24563, 23)
      (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c52380)+133)/* var←c43836 */  ))+12) ) ) = 1;
SOURCE(24588, 50)
      (void) CharSelectionFromLocations←P2160(tSel←v16552, result1←v16664, result2←v16692);
SOURCE(24640, 23)
      (* (( (ptr) tSel←v16552)+24) ) = 0;
SOURCE(24665, 25)
      (* (( (ptr) tSel←v16552)+26) ) = 1;
SOURCE(24692, 66)
      (* (( (ptr) tSel←v16552)+25) ) = (word) TryToGetLooks←P2760(result1←v16664.f0, (result1←v16664.f1 + 1), 0);
      }
   else {
SOURCE(24783, 261)
      if ((0 != (* (( (ptr) formal←c52412)+5) ))) {
SOURCE(24799, 250)
         {
            W2 end←v16736;
SOURCE(24801, 141)
            {
               word var←c47900;
               var←c47900 = direction←v16580;
               if ((var←c47900 == 0)) {
                  {
                     W2 var←c0445;
                     {
                        word pd298;
                        pd298 = (* (( (ptr) (* (( (ptr) gf←c52380)+140)/* var←c44412 */  ))+27) );
                        (void) ( *( (fPt) ((*  (ptr) pd298 ))))((word) &var←c0445, root←v16524, pd298);
                        };
                     end←v16736 = var←c0445;
                     };
                  }
               else {
                  if ((var←c47900 == 1)) {
                     {
                        W2 var←c47932;
                        {
                           word pd299;
                           pd299 = (* (( (ptr) (* (( (ptr) gf←c52380)+140)/* var←c44412 */  ))+28) );
                           var←c47932.f0 = (word) ( *( (fPt) ((*  (ptr) pd299 ))))(root←v16524, pd299);
                           };
                        var←c47932.f1 = 0;
                        end←v16736 = var←c47932;
                        };
                     }
                  else {
                     end←v16736 = (*  (W2Pt) (
                        XR←RaiseUnnamedError(), &dummy300
                        ) );
                     };
                  };
               };
SOURCE(24944, 100)
            if ( ! XR←EqualWords(&from←v16608, &end←v16736, 2) || ((* (( (ptr) tSel←v16552)+22) ) != 0)) {
SOURCE(24989, 37)
               (void) PointSelectionFromLocation←P2220(tSel←v16552, end←v16736);
SOURCE(25028, 16)
               (* (( (ptr) formal←c52412)+11) ) = 1;
               };
            };
         };
      };
SOURCE(25052, 170)
   if (((0 != (* (( (ptr) formal←c52412)+10) )) || (0 != (* (( (ptr) formal←c52412)+11) )))) {
SOURCE(25081, 45)
      {
         word pd301;
         pd301 = (* (( (ptr) (* (( (ptr) gf←c52380)+154)/* var←c47964 */  ))+10) );
         (void) ( *( (fPt) ((*  (ptr) pd301 ))))((*  (ptr) (tSel←v16552) ), pd301);
         };
SOURCE(25128, 43)
      {
         word pd302;
         pd302 = (* (( (ptr) (* (( (ptr) gf←c52380)+132)/* var←c43772 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd302 ))))(tSel←v16552, 0, 0, 0, 1, pd302);
         };
SOURCE(25173, 49)
      {
         word pd303;
         pd303 = (* (( (ptr) (* (( (ptr) gf←c52380)+151)/* var←c45628 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd303 ))))((*  (ptr) tSel←v16552 ), 0, 0, pd303);
         };
      };
   }

static word GetSelContents←P2880()
   {
   register ptr gf←c52444 =  (ptr) &globalframe;
   word contents←v9152;
   /* GetSelContents: */ 
SOURCE(25276, 197)
SOURCE(25276, 197)
   contents←v9152 = 0;
SOURCE(25333, 140)
   if (((*  (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c52444)+132)/* var←c43772 */  ))+4) ) ) ) == 0)) {
      return(0);
      }
   else {
      {
         word var←c48028;
         {
            word pd304;
            pd304 = (* (( (ptr) (*  (ptr) (*  (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c52444)+132)/* var←c43772 */  ))+4) ) ) ) ))+7)
             );
            var←c48028 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd304 ))))((*  (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c52444)+132)
                     /* var←c43772 */  ))+4) ) ) ), (* (( (ptr) gf←c52444)+22) ), pd304), (* (( (ptr) gf←c52444)+6) ));
            };
         if ((var←c48028 == 0)) {
            goto lab←L100067;
            };
         if (( (unsigned) (*(int*)var←c48028<0) == 0)) {
            goto lab←L100067;
            };
         (void) XR←RaiseError(XR←NarrowFault, 0);
         lab←L100067: ;
         return(var←c48028);
         };
      };
   }

static word GetSelData←P2940(primary←v9212)
   word primary←v9212;
   {
   register ptr gf←c52476 =  (ptr) &globalframe;
   word data←v9256;
   /* GetSelData: */ 
SOURCE(25477, 150)
SOURCE(25477, 150)
   data←v9256 = 0;
SOURCE(25557, 70)
   if ((0 != primary←v9212)) {
      return((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c52476)+132)/* var←c43772 */  ))+4) ) ));
      }
   else {
      return((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c52476)+132)/* var←c43772 */  ))+5) ) ));
      };
   }

static void AutoScroll←P3000(tryToGlitch←v9316)
   word tryToGlitch←v9316;
   {
   register ptr gf←c52508 =  (ptr) &globalframe;
   /* AutoScroll: */ 
SOURCE(25631, 133)
SOURCE(25689, 75)
   {
      word pd305;
      pd305 = (* (( (ptr) (* (( (ptr) gf←c52508)+155)/* var←c48060 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd305 ))))(0, tryToGlitch←v9316, 0, 0, pd305);
      };
   }

static word GetTextContents←P3060(viewer←v9376)
   word viewer←v9376;
   {
   register ptr gf←c52540 =  (ptr) &globalframe;
   word contents←v9420;
   /* GetTextContents: */ 
SOURCE(25768, 130)
SOURCE(25768, 130)
   contents←v9420 = 0;
SOURCE(25857, 41)
   {
      word var←c48124;
      {
         word pd306;
         pd306 = (* (( (ptr) (*  (ptr) viewer←v9376 ))+7) );
         var←c48124 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd306 ))))(viewer←v9376, 0, pd306), (* (( (ptr) gf←c52540)+6) ));
         };
      if ((var←c48124 == 0)) {
         goto lab←L100068;
         };
      if (( (unsigned) (*(int*)var←c48124<0) == 0)) {
         goto lab←L100068;
         };
      (void) XR←RaiseError(XR←NarrowFault, 0);
      lab←L100068: ;
      return(var←c48124);
      };
   }

static void SetTextContents←P3120(viewer←v9480, contents←v9508)
   word viewer←v9480;
   word contents←v9508;
   {
   /* SetTextContents: */ 
SOURCE(25902, 115)
SOURCE(25982, 35)
   {
      word pd307;
      pd307 = (* (( (ptr) (*  (ptr) viewer←v9480 ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd307 ))))(viewer←v9480, contents←v9508, 1, 0, pd307);
      };
   }

static void NoName←Q6816(formal←c0461, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0461;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0589 =  (ptr) &globalframe;
   if ((formal←c200013 == XR←Unwind)) {
SOURCE(21691, 34)
      {
         word pd308;
         pd308 = (* (( (ptr) (* (( (ptr) gf←c0589)+132)/* var←c43772 */  ))+22) );
         (void) ( *( (fPt) ((*  (ptr) pd308 ))))(0, pd308);
         };
      };
   (*  (ptr) formal←c0461 ) = 0;
   (* (( (ptr) formal←c0461)+1) ) = 0;
   return;
   }

static void NoName←Q6876(formal←c0467, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0467;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0590 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0590)+150)/* var←c45500 */  ))+9) ))) {
      {
         W4 error←v38332;
         error←v38332 = (*  (W4Pt) formal←c200011 );
SOURCE(11796, 8)
         (*  (ptr) formal←c0467 ) = 2;
         (* (( (ptr) formal←c0467)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0467 ) = 0;
   (* (( (ptr) formal←c0467)+1) ) = 0;
   return;
   }

static void NoName←Q6936(formal←c0472, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0472;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0591 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
SOURCE(8901, 49)
      if ((0 != (* (( (ptr) formal←c200004)+6) ))) {
SOURCE(8917, 33)
         {
            word pd309;
            pd309 = (* (( (ptr) (* (( (ptr) gf←c0591)+132)/* var←c43772 */  ))+22) );
            (void) ( *( (fPt) ((*  (ptr) pd309 ))))(0, pd309);
            };
         };
      };
   (*  (ptr) formal←c0472 ) = 0;
   (* (( (ptr) formal←c0472)+1) ) = 0;
   return;
   }

static void NoName←Q6996(formal←c0477, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0477;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0592 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
SOURCE(5034, 24)
      {
         word pd310;
         pd310 = (* (( (ptr) (* (( (ptr) gf←c0592)+141)/* var←c44444 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd310 ))))((* ((( (ptr) formal←c200000)+5)) ), pd310);
         };
      };
   (*  (ptr) formal←c0477 ) = 0;
   (* (( (ptr) formal←c0477)+1) ) = 0;
   return;
   }

/* file: TEditMiscOpsImpl, module: TEditMiscOpsImpl, compiled at: October 19, 1993 1:26:27 pm PDT */ 
extern void XR←install←TEditMiscOpsImpl() {
   XR←FillWords(&dummy300, 2, 0);
   NoName←Q6516();
   }
extern void XR←run←TEditMiscOpsImpl() { XR←Start(&globalframe); }