/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: April 23, 1992 11:43:48 am PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: TEditInputOpsImpl, module: TEditInputOpsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITNOT(x) (~((word)(x)))
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
#define XRM←BITOR(x, y) (((word)(x)) | ((word)(y)))
static char versionStamp[] = "@(#)mob←version [1185396981,2832663511] TEditInputOpsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W16 f; W11 r;} W27;
typedef W27 *W27Pt;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W16 f; W4 r;} W20;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W16 f; W8 r;} W24;
typedef struct {W8 f; W2 r;} W10;
typedef W9 *W9Pt;
typedef struct {W8 f; W7 r;} W15;
#define SOURCE(p, l) /* source p, l */
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define INEG(x)  ( (word) ( - ((int) (word) (x)) ) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q6096();
static void TEditInputOpsImpl←P0();
static void CallWithLocks←P60();
static word NoName←Q6156();
static void CallWithBothLocked←P120();
static word NoName←Q6216();
static void Cleanup←P2400();
static void DoPendingDelete←P180();
static void PendingDelete←P2460();
static void EditFailed←P240();
static void CaretLoc←P300();
static void NodeSpanFromSelection←P360();
static void SelectionSpan←P420();
static void Delete←P480();
static void DoDelete←P2520();
static word NoName←Q6276();
static word NoName←Q6336();
static void BackSpace←P540();
static void DoBackSpace←P2676();
static word FindPrevWord←P600();
static word Alpha←P2784();
static void BackWord←P660();
static void DoBackWord←P2844();
static void GoToPreviousWord←P720();
static void DoGoToPreviousWord←P3048();
static void CopyToTypeScript←P780();
static word TSCopy←P3156();
static void UnConvertNodeSelects←P840();
static void CopyToDoc←P900();
static void DoCopyToDoc←P3216();
static word NoName←Q6396();
static word NoName←Q6456();
static word NoName←Q6516();
static void Copy←P960();
static word NoName←Q6576();
static word CheckReadonly←P1020();
static void DoCopy←P1080();
static void Paste←P1140();
static void DoPaste←P3468();
static void Move←P1200();
static void DoMove←P3576();
static word NoName←Q6636();
static word NoName←Q6696();
static word NoName←Q6756();
static word NoName←Q6816();
static void Transpose←P1260();
static void DoTranspose←P3828();
static word NoName←Q6876();
static void Break←P1320();
static void DoBreak←P3888();
static word NoName←Q6936();
static void Join←P1380();
static void DoJoin←P3996();
static word NoName←Q6996();
static void CheckStartLine←P1440();
static void SaveForPaste←P1500();
static void DoSaveForPaste←P4296();
static void SaveSpanForPaste←P1560();
static word NoName←Q7056();
static void Nest←P1620();
static void UnNest←P1680();
static void ChangeNesting←P1740();
static void DoChangeNesting←P4356();
static word NoName←Q7116();
static void ModifyLook←P1800();
static void DoModifyLook←P4416();
static void ModifyCaretLook←P1860();
static word GetSelLooks←P1920();
static word GetSelLooks←P4476();
static void ChangeLooks←P1980();
static void DoChangeLooks←P4632();
static void CopyLooks←P2040();
static void DoCopyLooks←P4692();
static void TransposeLooks←P2100();
static void DoTransLooks←P4752();
static void ChangeSelLooks←P2160();
static void ChangeCaretLooks←P2220();
static word SelAtEndOfTypeScript←P2280();
static void AdjustTypeScriptLooks←P2340();
static void NoName←Q7176();
static void NoName←Q7236();
static void NoName←Q7296();
static void NoName←Q7356();
static void NoName←Q7416();
static void NoName←Q7476();
static void NoName←Q7536();
static void NoName←Q7596();
static void NoName←Q7656();
static void NoName←Q7716();
static void NoName←Q7776();
static void NoName←Q7836();
static void NoName←Q7896();
static void NoName←Q7956();
static void NoName←Q8016();
static void NoName←Q8076();
static void NoName←Q8136();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\164\000\000"};
static struct {unsigned f; char r[16];} string4 = {851981, "\006\005\000\001\004\001\054\001\070\001\100\114\001\000\000"};
static struct {unsigned f; char r[20];} string5 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\003\000"};
static struct {unsigned f; char r[20];} string7 = {1179668, "CallWithBothLocked\000"};
static struct {unsigned f; char r[16];} string8 = {786448, "Can't do it.\000\000\000"};
static struct {unsigned f; char r[4];} string9 = {65540, "\012\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "CallWithLocks\000\000"};
static struct {unsigned f; char r[8];} string11 = {262152, "Copy\000\000\000"};
static struct {unsigned f; char r[36];} string12 = {2162724, "Cannot modify read only document.\000\000"};
static struct {unsigned f; char r[4];} string13 = {65540, "!\000\000"};
static struct {unsigned f; char r[20];} string14 = {1048596, "SaveSpanForPaste\000\000\000"};
static struct {unsigned f; char r[16];} string15 = {983056, "ModifyCaretLook"};
static struct {unsigned f; char r[40];} string16 = {2490408, "Selection does not have uniform looks.\000"};
static struct {unsigned f; char r[32];} string17 = {1966112, "  Using looks from first char.\000"};
static struct {unsigned f; char r[20];} string18 = {1048596, "ChangeCaretLooks\000\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\106\247\270\365\300\250\327\003\327\100\164\000\000"};
static struct {unsigned f; char r[12];} string20 = {524296, "\006\002\020\001\060\004\117\377\000\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\314\212\213\004\300\112\342\014\072\100\164\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\004\173\141\246\300\255\256\170\002\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\074\270\063\045\300\023\342\016\224\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\355\261\315\203\300\373\164\347\341\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\320\263\152\354\300\340\215\053\236\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\016\126\010\321\300\354\015\363\112\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"};
static struct {unsigned f; char r[12];} string31 = {1413833833, "tInputOps"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\146\107\314\260\300\352\117\305\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\241\200\031\316\300\154\273\372\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300R-\356\251\300YX]$@h\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\320\311\235\120\300\167\152\340\132\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\351\360\047\051\300\272\273\201\332\100\150\000\000"};
static struct {
   word f0[24]; word f24; word f25; word f26; 
   word f27; word f28; word f29; word f30; 
   word f31; word f32; word f33; word f34; 
   word f35; word f36; word f37; word f38; 
   word f39; word f40; word f41; word f42; 
   word f43; word f44; word f45; word f46; 
   word f47; word f48; word f49; word f50; 
   word f51; word f52; word f53; word f54; 
   word f55; word f56; word f57; word f58; 
   word f59; word f60; word f61; word f62; 
   word f63; word f64; word f65; word f66; 
   word f67; word f68; word f69; word f70; 
   word f71; word f72; word f73; 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[2]; word f105; word f106; word f107; 
   word f108[16]; 
   } globalframe = {
   {0}, (word) AdjustTypeScriptLooks←P2340, 0, (word) SelAtEndOfTypeScript←P2280, 
   0, (word) ChangeCaretLooks←P2220, 0, (word) ChangeSelLooks←P2160, 
   0, (word) TransposeLooks←P2100, 0, (word) CopyLooks←P2040, 
   0, (word) ChangeLooks←P1980, 0, (word) GetSelLooks←P1920, 
   0, (word) ModifyCaretLook←P1860, 0, (word) ModifyLook←P1800, 
   0, (word) ChangeNesting←P1740, 0, (word) UnNest←P1680, 
   0, (word) Nest←P1620, 0, (word) SaveSpanForPaste←P1560, 
   0, (word) SaveForPaste←P1500, 0, (word) CheckStartLine←P1440, 
   0, (word) Join←P1380, 0, (word) Break←P1320, 
   0, (word) Transpose←P1260, 0, (word) Move←P1200, 
   0, (word) Paste←P1140, 0, (word) DoCopy←P1080, 
   0, (word) CheckReadonly←P1020, 0, (word) Copy←P960, 
   0, (word) CopyToDoc←P900, 0, (word) UnConvertNodeSelects←P840, 
   0, (word) CopyToTypeScript←P780, 0, (word) GoToPreviousWord←P720, 
   0, (word) BackWord←P660, 0, (word) FindPrevWord←P600, 
   0, (word) BackSpace←P540, 0, (word) Delete←P480, 
   0, (word) SelectionSpan←P420, 0, (word) NodeSpanFromSelection←P360, 
   0, (word) CaretLoc←P300, 0, (word) EditFailed←P240, 
   0, (word) DoPendingDelete←P180, 0, (word) CallWithBothLocked←P120, 
   0, (word) CallWithLocks←P60, 0, (word) TEditInputOpsImpl←P0, 
   {0}, 4294967295, 0, 4294967295, 
   {0}
   };

static void NoName←Q6096()
   {
   register ptr gf←c0562 =  (ptr) &globalframe;
   word var←c42292;
   (* (( (ptr) gf←c0562)+6) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0562)+7) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0562)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (*  (ptr) (( (bPt) gf←c0562)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c0562)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0562)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0562)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0562)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0562)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0562)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0562)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0562)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0562)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0562)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0562)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0562)+6) ), (word) &string18);
   (void) XR←DeclareGlobalFrame((word) "TEditInputOpsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20)
      , (word) (( (bPt) gf←c0562)+408)/* var←c37748 */ );
   var←c42292 = (word) XR←ImportInterface((word) "CharOps", (word) XR←GetTypeIndexS((word) (&string21)), 14);
   (* (( (ptr) gf←c0562)+115)/* var←c39220 */  ) = var←c42292;
   var←c42292 = (word) XR←ImportInterface((word) "EditSpan", (word) XR←GetTypeIndexS((word) (&string22)), 23);
   (* (( (ptr) gf←c0562)+114)/* var←c38772 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 2097157);
   (void) XR←ImportProcS(var←c42292, 1311490);
   (void) XR←ImportProcS(var←c42292, 135007491);
   (void) XR←ImportProcS(var←c42292, 68160515);
   (void) XR←ImportProcS(var←c42292, 539756549);
   (void) XR←ImportProcS(var←c42292, 271320583);
   (void) XR←ImportProcS(var←c42292, 271582982);
   (void) XR←ImportProcS(var←c42292, 268436480);
   (void) XR←ImportProcS(var←c42292, 270274052);
   (void) XR←ImportProcS(var←c42292, 271320327);
   (void) XR←ImportProcS(var←c42292, 271581446);
   (void) XR←ImportProcS(var←c42292, 1835524);
   (void) XR←ImportProcS(var←c42292, 68422405);
   var←c42292 = (word) XR←ImportInterface((word) "MessageWindow", (word) XR←GetTypeIndexS((word) (&string23)), 7);
   (* (( (ptr) gf←c0562)+111)/* var←c38068 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 512);
   (void) XR←ImportProcS(var←c42292, 524546);
   var←c42292 = (word) XR←ImportInterface((word) "EditSpanSupport", (word) XR←GetTypeIndexS((word) (&string24)), 27);
   (* (( (ptr) gf←c0562)+117)/* var←c39476 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 1316354);
   var←c42292 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string25)), 43);
   (* (( (ptr) gf←c0562)+118)/* var←c39508 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 67633666);
   (void) XR←ImportProcS(var←c42292, 67898627);
   var←c42292 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string26)), 39);
   (* (( (ptr) gf←c0562)+108)/* var←c37844 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 67633410);
   (void) XR←ImportProcS(var←c42292, 67633154);
   (void) XR←ImportProcS(var←c42292, 1317893);
   (void) XR←ImportProcS(var←c42292, 67371521);
   (void) XR←ImportProcS(var←c42292, 67373313);
   var←c42292 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string27)), 34);
   (* (( (ptr) gf←c0562)+112)/* var←c38708 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 67372289);
   (void) XR←ImportProcS(var←c42292, 67372033);
   (void) XR←ImportProcS(var←c42292, 134485761);
   (void) XR←ImportProcS(var←c42292, 67374081);
   (void) XR←ImportProcS(var←c42292, 67379201);
   (void) XR←ImportProcS(var←c42292, 67377153);
   (void) XR←ImportProcS(var←c42292, 67635970);
   (void) XR←ImportProcS(var←c42292, 67373569);
   var←c42292 = (word) XR←ImportInterface((word) "TEditDisplay", (word) XR←GetTypeIndexS((word) (&string28)), 4);
   (* (( (ptr) gf←c0562)+121)/* var←c40948 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 1048579);
   var←c42292 = (word) XR←ImportInterface((word) "TEditPrivate", (word) XR←GetTypeIndexS((word) (&string29)), 12);
   (* (( (ptr) gf←c0562)+120)/* var←c40020 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 67372289);
   var←c42292 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string30)), 44);
   (* (( (ptr) gf←c0562)+113)/* var←c38740 */  ) = var←c42292;
   var←c42292 = (word) XR←ImportInterface((word) &string31, (word) XR←GetTypeIndexS((word) (&string32)), 66);
   (* (( (ptr) gf←c0562)+116)/* var←c39412 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 266497);
   var←c42292 = (word) XR←ImportInterface((word) "TEditLocks", (word) XR←GetTypeIndexS((word) (&string33)), 7);
   (* (( (ptr) gf←c0562)+110)/* var←c37908 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 135528709);
   (void) XR←ImportProcS(var←c42292, 67895299);
   (void) XR←ImportProcS(var←c42292, 262913);
   var←c42292 = (word) XR←ImportInterface((word) "TEditProfile", (word) XR←GetTypeIndexS((word) (&string34)), 19);
   (* (( (ptr) gf←c0562)+119)/* var←c39988 */  ) = var←c42292;
   var←c42292 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string35)), 68);
   (* (( (ptr) gf←c0562)+109)/* var←c37876 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 797186);
   (void) XR←ImportProcS(var←c42292, 134495233);
   (void) XR←ImportProcS(var←c42292, 1316101);
   (void) XR←ImportProcS(var←c42292, 67386625);
   (void) XR←ImportProcS(var←c42292, 270337);
   (void) XR←ImportProcS(var←c42292, 5120);
   (void) XR←ImportProcS(var←c42292, 267009);
   (void) XR←ImportProcS(var←c42292, 266241);
   (void) XR←ImportProcS(var←c42292, 526338);
   (void) XR←ImportProcS(var←c42292, 67110400);
   (void) XR←ImportProcS(var←c42292, 67386113);
   (void) XR←ImportProcS(var←c42292, 528642);
   (void) XR←ImportProcS(var←c42292, 263937);
   (void) XR←ImportProcS(var←c42292, 266753);
   var←c42292 = (word) XR←ImportInterface((word) "TypeScript", (word) XR←GetTypeIndexS((word) (&string36)), 25);
   (* (( (ptr) gf←c0562)+122)/* var←c42260 */  ) = var←c42292;
   (void) XR←ImportProcS(var←c42292, 788739);
   var←c42292 = (word) XR←ExportInterface((word) &string31, (word) XR←GetTypeIndexS((word) (&string32)), 66);
   (* (( (ptr) gf←c0562)+123)/* var←c42324 */  ) = var←c42292;
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+400)/* var←c37716 */ , 524290);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+392)/* var←c37684 */ , 1048836);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+336)/* var←c37460 */ , 264193);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+320)/* var←c37396 */ , 264449);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+312)/* var←c37364 */ , 265985);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+328)/* var←c37428 */ , 67637762);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+384)/* var←c37652 */ , 6144);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+344)/* var←c37492 */ , 268545);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+256)/* var←c37140 */ , 6656);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+208)/* var←c36948 */ , 6912);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+200)/* var←c36916 */ , 1317891);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+232)/* var←c37044 */ , 7424);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+224)/* var←c37012 */ , 7680);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+192)/* var←c36884 */ , 7936);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+184)/* var←c36852 */ , 8192);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+248)/* var←c37108 */ , 270593);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+272)/* var←c37204 */ , 67379713);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+280)/* var←c37236 */ , 271105);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+136)/* var←c36660 */ , 271361);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+240)/* var←c37076 */ , 271873);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+128)/* var←c36628 */ , 272129);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+168)/* var←c36788 */ , 537090);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+160)/* var←c36756 */ , 537346);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+144)/* var←c36692 */ , 537602);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+112)/* var←c36564 */ , 537858);
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+376)/* var←c37620 */ , 278785);
   var←c42292 = (word) XR←ExportInterface((word) "TEditOps", (word) XR←GetTypeIndexS((word) (&string37)), 12);
   (* (( (ptr) gf←c0562)+123)/* var←c42324 */  ) = var←c42292;
   (void) XR←ExportProcS(var←c42292, (word) (( (bPt) gf←c0562)+368)/* var←c37588 */ , 134480385);
   }

static void TEditInputOpsImpl←P0(formal←c0117, formal←c0116)
   word formal←c0117;
   word formal←c0116;
   {
   register ptr gf←c42356 =  (ptr) &globalframe;
   /* TEditInputOpsImpl: */ 
SOURCE(1320, 25802)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(3730, 46)
   {
      word pd38;
      pd38 = (* (( (ptr) (* (( (ptr) gf←c42356)+108)/* var←c37844 */  ))+13) );
      (* (( (ptr) gf←c42356)+4)/* pdelNode←v3448 */  ) = (word) ( *( (fPt) ((*  (ptr) pd38 ))))((* ((( (ptr) gf←c42356)+18)) ), pd38)
      ;
      };
   }

static void CallWithLocks←P60(formal←c0742, formal←c0743)
   word formal←c0742;
   word formal←c0743;
   {
   W9 var←c42388;
   /* declaration of proc←v4564 skipped */ 
   /* declaration of access←v4592 skipped */ 
   /* declaration of root←v7804 skipped */ 
   /* declaration of tSel←v7832 skipped */ 
   /* declaration of lockRef←v7860 skipped */ 
   (* (( (ptr) &var←c42388)+4)/* proc←v4564 */  ) = formal←c0742;
   (* (( (ptr) &var←c42388)+5)/* access←v4592 */  ) = formal←c0743;
   /* CallWithLocks: */ 
SOURCE(1677, 651)
SOURCE(1793, 17)
   (* (( (ptr) &var←c42388)+6)/* root←v7804 */  ) = 0;
SOURCE(1812, 21)
   (* (( (ptr) &var←c42388)+7)/* tSel←v7832 */  ) = 0;
SOURCE(1835, 33)
   (* (( (ptr) &var←c42388)+8)/* lockRef←v7860 */  ) = 0;
SOURCE(1872, 456)
   {
      word var←c01;
      {
         word var←c0663;
         var←c0663 = (word) &var←c42388;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6156) ), ( ((word)  (fPt) NoName←Q8136) ), var←c0663);
         };
      /* removed trivial cond node */ 
      };
   return;
   }

static word NoName←Q6156(formal←c0565)
   word formal←c0565;
   {
   register ptr gf←c0564 =  (ptr) &globalframe;
SOURCE(1992, 33)
   {
      word pd39;
      pd39 = (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd39 ))))(0, (* (( (ptr) gf←c0564)+15) ), pd39);
      };
SOURCE(2027, 113)
   if ( ( ((* (( (ptr) formal←c0565)+5) ) == 1) ? (0 == (word) CheckReadonly←P1020((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c0564)+109)
         /* var←c37876 */  ))+4) )) ))) : 0 ) ) { goto then040;};
   {
      word pd41;
      pd41 = (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+63) );
      (* (( (ptr) formal←c0565)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd41 ))))((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c0564)+109)
            /* var←c37876 */  ))+4) )) ), pd41);
      };
   if (((* (( (ptr) formal←c0565)+6) ) == 0)) {
      then040: ;
SOURCE(2113, 18)
      {
         word pd42;
         pd42 = (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+22) );
         (void) ( *( (fPt) ((*  (ptr) pd42 ))))(0, pd42);
         };
SOURCE(2133, 7)
      return(1);
      };
SOURCE(2143, 56)
   {
      word pd43;
      pd43 = (* (( (ptr) (* (( (ptr) gf←c0564)+110)/* var←c37908 */  ))+4) );
      (* (( (ptr) formal←c0565)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd43 ))))((* (( (ptr) formal←c0565)+6) ), (* (( (ptr) gf←c0564)+15)
          ), (* (( (ptr) formal←c0565)+5) ), pd43);
      };
SOURCE(2201, 14)
   {
      word pd44;
      pd44 = (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+10) );
      (* (( (ptr) formal←c0565)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd44 ))))(pd44);
      };
SOURCE(2217, 45)
   {
      word pd45;
      pd45 = (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd45 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+4) ) ), (* (( (ptr) formal←c0565)+7)
          ), pd45);
      };
SOURCE(2264, 16)
   {
      word pd46;
      pd46 = (* (( (ptr) formal←c0565)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd46 ))))((* (( (ptr) formal←c0565)+6) ), (* (( (ptr) formal←c0565)+7) ), pd46);
      };
SOURCE(2282, 10)
   {
      word pd47;
      pd47 = (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd47 ))))((* ((( (ptr) formal←c0565)+7)) ), pd47);
      };
SOURCE(2294, 10)
   (* (( (ptr) formal←c0565)+7) ) = 0;
SOURCE(2306, 22)
   {
      word pd48;
      pd48 = (* (( (ptr) (* (( (ptr) gf←c0564)+109)/* var←c37876 */  ))+20) );
      (void) ( *( (fPt) ((*  (ptr) pd48 ))))((* ((( (ptr) formal←c0565)+6)) ), pd48);
      };
   return(0);
   }

static void CallWithBothLocked←P120(formal←c0744, formal←c0745, formal←c0746, formal←c0747)
   word formal←c0744;
   word formal←c0745;
   word formal←c0746;
   word formal←c0747;
   {
   W16 var←c42420;
   /* declaration of proc←v4740 skipped */ 
   /* declaration of targetSel←v4768 skipped */ 
   /* declaration of srcSel←v4796 skipped */ 
   /* declaration of sourceAccess←v4824 skipped */ 
   /* declaration of var←c37940 skipped */ 
   /* declaration of sourceRoot←v7904 skipped */ 
   /* declaration of destRoot←v7932 skipped */ 
   /* declaration of tSel←v7960 skipped */ 
   /* declaration of tSel1←v7988 skipped */ 
   /* declaration of tSel2←v8016 skipped */ 
   /* declaration of lockRef←v8044 skipped */ 
   (* (( (ptr) &var←c42420)+4)/* proc←v4740 */  ) = formal←c0744;
   (* (( (ptr) &var←c42420)+5)/* targetSel←v4768 */  ) = formal←c0745;
   (* (( (ptr) &var←c42420)+6)/* srcSel←v4796 */  ) = formal←c0746;
   (* (( (ptr) &var←c42420)+7)/* sourceAccess←v4824 */  ) = formal←c0747;
   /* CallWithBothLocked: */ 
SOURCE(2337, 1387)
   {
      word tmpAddr49;
      tmpAddr49 = (word) (( (ptr) &var←c42420)+8)/* var←c37940 */ ;
      (*  (ptr) tmpAddr49 ) = ( ((word)  (fPt) Cleanup←P2400) );
      (* (( (ptr) tmpAddr49) + 1) ) = 1;
      };
SOURCE(2522, 33)
   (* (( (ptr) &var←c42420)+10)/* sourceRoot←v7904 */  ) = 0;
   (* (( (ptr) &var←c42420)+11)/* destRoot←v7932 */  ) = 0;
SOURCE(2557, 35)
   (* (( (ptr) &var←c42420)+12)/* tSel←v7960 */  ) = 0;
   (* (( (ptr) &var←c42420)+13)/* tSel1←v7988 */  ) = 0;
   (* (( (ptr) &var←c42420)+14)/* tSel2←v8016 */  ) = 0;
SOURCE(2594, 33)
   (* (( (ptr) &var←c42420)+15)/* lockRef←v8044 */  ) = 0;
SOURCE(2858, 852)
   {
      word var←c02;
      {
         word var←c0664;
         var←c0664 = (word) &var←c42420;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6216) ), ( ((word)  (fPt) NoName←Q8076) ), var←c0664);
         };
      if ((var←c02 == 1)) {
         goto lab←L04;
         };
      };
SOURCE(3715, 9)
   (void) Cleanup←P2400((word) ((( (bPt) &var←c42420)+32)/* var←c37940 */ ));
   lab←L04: ;
   return;
   }

static word NoName←Q6216(formal←c0567)
   word formal←c0567;
   {
   register ptr gf←c0566 =  (ptr) &globalframe;
SOURCE(2886, 40)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+23) );
      (void) ( *( (fPt) ((*  (ptr) pd50 ))))((* ((( (ptr) gf←c0566)+12)) ), pd50);
      };
SOURCE(2928, 83)
   if (((*  (ptr) (* (( (ptr) formal←c0567)+6) ) ) == 0) || ((*  (ptr) (* (( (ptr) formal←c0567)+5) ) ) == 0)) {
SOURCE(2980, 22)
      {
         word pd51;
         pd51 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+24) );
         (void) ( *( (fPt) ((*  (ptr) pd51 ))))(pd51);
         };
SOURCE(3004, 7)
      return(1);
      };
SOURCE(3014, 174)
   if ((0 == (word) CheckReadonly←P1020((* ((( (ptr) formal←c0567)+5)) ))) ||  ( ((* (( (ptr) formal←c0567)+7) ) == 1) ? (0 == (word) CheckReadonly←P1020(
      (* ((( (ptr) formal←c0567)+6)) ))) : 0 ) ) {
SOURCE(3135, 20)
      {
         word pd52;
         pd52 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd52 ))))(1, pd52);
         };
SOURCE(3157, 22)
      {
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+24) );
         (void) ( *( (fPt) ((*  (ptr) pd53 ))))(pd53);
         };
SOURCE(3181, 7)
      return(1);
      };
SOURCE(3191, 15)
   {
      word pd54;
      pd54 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+10) );
      (* (( (ptr) formal←c0567)+13) ) = (word) ( *( (fPt) ((*  (ptr) pd54 ))))(pd54);
      };
SOURCE(3208, 15)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+10) );
      (* (( (ptr) formal←c0567)+14) ) = (word) ( *( (fPt) ((*  (ptr) pd55 ))))(pd55);
      };
SOURCE(3225, 14)
   {
      word pd56;
      pd56 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+10) );
      (* (( (ptr) formal←c0567)+12) ) = (word) ( *( (fPt) ((*  (ptr) pd56 ))))(pd56);
      };
SOURCE(3241, 48)
   {
      word pd57;
      pd57 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd57 ))))((* (( (ptr) formal←c0567)+6) ), (* (( (ptr) formal←c0567)+13) ), pd57);
      };
SOURCE(3291, 51)
   {
      word pd58;
      pd58 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd58 ))))((* (( (ptr) formal←c0567)+5) ), (* (( (ptr) formal←c0567)+14) ), pd58);
      };
SOURCE(3344, 50)
   {
      word pd59;
      pd59 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd59 ))))((* (( (ptr) formal←c0567)+5) ), (* (( (ptr) formal←c0567)+12) ), pd59);
      };
SOURCE(3396, 34)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+63) );
      (* (( (ptr) formal←c0567)+10) ) = (word) ( *( (fPt) ((*  (ptr) pd60 ))))((* ((( (ptr) formal←c0567)+6)) ), pd60);
      };
SOURCE(3432, 35)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+63) );
      (* (( (ptr) formal←c0567)+11) ) = (word) ( *( (fPt) ((*  (ptr) pd61 ))))((* ((( (ptr) formal←c0567)+5)) ), pd61);
      };
SOURCE(3469, 103)
   {
      W2 var←c37972;
      {
         word pd62;
         pd62 = (* (( (ptr) (* (( (ptr) gf←c0566)+110)/* var←c37908 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd62 ))))((word) &var←c37972, (* (( (ptr) formal←c0567)+10) ), (* (( (ptr) formal←c0567)+11)
             ), (* (( (ptr) gf←c0566)+12) ), (* (( (ptr) formal←c0567)+7) ), 1, pd62);
         };
      (* (( (ptr) formal←c0567)+15) ) = var←c37972.f0;
      };
SOURCE(3574, 20)
   {
      word pd63;
      pd63 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd63 ))))(1, pd63);
      };
SOURCE(3597, 18)
   {
      word pd64;
      pd64 = (* (( (ptr) (* (( (ptr) gf←c0566)+109)/* var←c37876 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd64 ))))(0, pd64);
      };
SOURCE(3617, 93)
   {
      word pd65;
      pd65 = (* (( (ptr) formal←c0567)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd65 ))))((* (( (ptr) formal←c0567)+10) ), (* (( (ptr) formal←c0567)+11) ), (* (( (ptr) formal←c0567)+12)
          ), (* (( (ptr) formal←c0567)+13) ), (* (( (ptr) formal←c0567)+14) ), pd65);
      };
   return(0);
   }

static void Cleanup←P2400(formal←c42484)
   word formal←c42484;
   {
   register ptr gf←c42452 =  (ptr) &globalframe;
   formal←c42484 = (formal←c42484 - 32);
   /* Cleanup: */ 
SOURCE(2629, 224)
SOURCE(2647, 83)
   if (((* (( (ptr) formal←c42484)+15) ) != 0)) {
SOURCE(2671, 29)
      {
         word pd66;
         pd66 = (* (( (ptr) (* (( (ptr) gf←c42452)+110)/* var←c37908 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd66 ))))((* ((( (ptr) formal←c42484)+10)) ), pd66);
         };
SOURCE(2702, 28)
      {
         word pd67;
         pd67 = (* (( (ptr) (* (( (ptr) gf←c42452)+110)/* var←c37908 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd67 ))))((* ((( (ptr) formal←c42484)+11)) ), pd67);
         };
      };
SOURCE(2733, 29)
   if (((* (( (ptr) formal←c42484)+12) ) != 0)) {
SOURCE(2752, 10)
      {
         word pd68;
         pd68 = (* (( (ptr) (* (( (ptr) gf←c42452)+109)/* var←c37876 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd68 ))))((* ((( (ptr) formal←c42484)+12)) ), pd68);
         };
      };
SOURCE(2764, 31)
   if (((* (( (ptr) formal←c42484)+13) ) != 0)) {
SOURCE(2784, 11)
      {
         word pd69;
         pd69 = (* (( (ptr) (* (( (ptr) gf←c42452)+109)/* var←c37876 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd69 ))))((* ((( (ptr) formal←c42484)+13)) ), pd69);
         };
      };
SOURCE(2797, 31)
   if (((* (( (ptr) formal←c42484)+14) ) != 0)) {
SOURCE(2817, 11)
      {
         word pd70;
         pd70 = (* (( (ptr) (* (( (ptr) gf←c42452)+109)/* var←c37876 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd70 ))))((* ((( (ptr) formal←c42484)+14)) ), pd70);
         };
      };
SOURCE(2830, 23)
   {
      word pd71;
      pd71 = (* (( (ptr) (* (( (ptr) gf←c42452)+109)/* var←c37876 */  ))+24) );
      (void) ( *( (fPt) ((*  (ptr) pd71 ))))(pd71);
      };
   }

static void DoPendingDelete←P180()
   {
   W6 var←c42516;
   /* declaration of var←c38004 skipped */ 
   /* DoPendingDelete: */ 
SOURCE(3779, 395)
   {
      word tmpAddr72;
      tmpAddr72 = (word) (( (ptr) &var←c42516)+4)/* var←c38004 */ ;
      (*  (ptr) tmpAddr72 ) = ( ((word)  (fPt) PendingDelete←P2460) );
      (* (( (ptr) tmpAddr72) + 1) ) = 1;
      };
SOURCE(4145, 29)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c42516)+16)/* var←c38004 */ , 1);
   }

static void PendingDelete←P2460(root←v8208, tSel←v8236, formal←c42580)
   word root←v8208;
   word tSel←v8236;
   word formal←c42580;
   {
   register ptr gf←c42548 =  (ptr) &globalframe;
   formal←c42580 = (formal←c42580 - 16);
   /* PendingDelete: */ 
SOURCE(3812, 328)
SOURCE(3873, 25)
   (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42548)+109)/* var←c37876 */  ))+4) ) ))+26) ) = 1;
SOURCE(3900, 15)
   (*  (W27Pt) tSel←v8236 ) = (*  (W27Pt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42548)+109)/* var←c37876 */  ))+8) ) ) );
SOURCE(3917, 23)
   (* (( (ptr) tSel←v8236)+22) ) = 1;
SOURCE(3942, 23)
   (* (( (ptr) tSel←v8236)+25) ) = (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42548)+109)/* var←c37876 */  ))+4) ) ))+25)
    );
SOURCE(3967, 44)
   {
      W2 var←c38036;
      var←c38036.f0 = (* (( (ptr) gf←c42548)+4)/* pdelNode←v3448 */  );
      var←c38036.f1 = 0;
      (*  (W2Pt) (( (ptr) tSel←v8236)+11) ) = var←c38036;
      (*  (W2Pt) (( (ptr) tSel←v8236)+2) ) = var←c38036;
      };
SOURCE(4013, 26)
   (* (( (ptr) tSel←v8236)+26) ) = 0;
SOURCE(4041, 70)
   (void) CopyToDoc←P900((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42548)+109)/* var←c37876 */  ))+4) ) ), tSel←v8236, 0, 0);
SOURCE(4113, 27)
   (void) Delete←P480(0);
   }

static void EditFailed←P240(msg←v5072)
   word msg←v5072;
   {
   register ptr gf←c42612 =  (ptr) &globalframe;
   /* EditFailed: */ 
SOURCE(4178, 141)
SOURCE(4229, 67)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c42612)+111)/* var←c38068 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd73 ))))( ( (msg←v5072 == 0) ? (* (( (ptr) gf←c42612)+13) ) : msg←v5072 ) , 1, pd73);
      };
SOURCE(4298, 21)
   {
      word pd74;
      pd74 = (* (( (ptr) (* (( (ptr) gf←c42612)+111)/* var←c38068 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd74 ))))(pd74);
      };
   }

static void CaretLoc←P300(formal←c0152, s←v5132)
   word formal←c0152;
   word s←v5132;
   {
   register ptr gf←c42644 =  (ptr) &globalframe;
   W2 var←c5176;
   /* CaretLoc: */ 
SOURCE(4325, 403)
SOURCE(4400, 22)
   if ((s←v5132 == 0)) {
SOURCE(4414, 8)
      s←v5132 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42644)+109)/* var←c37876 */  ))+4) ) );
      };
SOURCE(4424, 304)
   {
      word pd75;
      pd75 = (* (( (ptr) (* (( (ptr) gf←c42644)+109)/* var←c37876 */  ))+65) );
      if (((word) ( *( (fPt) ((*  (ptr) pd75 ))))(s←v5132, pd75) == 3)) {
SOURCE(4460, 137)
         {
            word var←c38100;
            var←c38100 = (* (( (ptr) s←v5132)+24) );
            if ((var←c38100 == 0)) {
SOURCE(4494, 47)
               var←c5176.f0 = (* (( (ptr) s←v5132)+2) );
               var←c5176.f1 =  (word) -1;
               /* removed tail goto */ 
               }
            else {
               if ((var←c38100 == 1)) {
SOURCE(4552, 45)
                  var←c5176.f0 = (* (( (ptr) s←v5132)+11) );
                  var←c5176.f1 =  (word) -1;
                  /* removed tail goto */ 
                  }
               else {
SOURCE(4610, 11)
                  (void) XR←RaiseUnnamedError();
                  };
               };
            };
         }
      else {
SOURCE(4621, 107)
         {
            word var←c38260;
            var←c38260 = (* (( (ptr) s←v5132)+24) );
            if ((var←c38260 == 0)) {
SOURCE(4655, 19)
               var←c5176 = (*  (W2Pt) (( (ptr) s←v5132)+2) );
               /* removed tail goto */ 
               }
            else {
               if ((var←c38260 == 1)) {
SOURCE(4685, 43)
                  var←c5176.f0 = (* (( (ptr) s←v5132)+11) );
                  var←c5176.f1 = ((* (( (ptr) s←v5132)+12) ) + 1);
                  /* removed tail goto */ 
                  }
               else {
SOURCE(4741, 5)
                  (void) XR←RaiseUnnamedError();
                  };
               };
            };
         };
      };
   (*  (W2Pt) formal←c0152 ) = var←c5176;
   return;
   }

static void NodeSpanFromSelection←P360(formal←c0159, sel←v5236)
   word formal←c0159;
   word sel←v5236;
   {
   W4 span←v5280;
   /* NodeSpanFromSelection: */ 
SOURCE(4752, 158)
SOURCE(4752, 158)
   span←v5280.f0 = 0;
   span←v5280.f1 =  (word) -1;
   span←v5280.f2 = 0;
   span←v5280.f3 =  (word) -1;
SOURCE(4829, 81)
   {
      W4 var←c38484;
      {
         W4 var←c38420;
         word first←v35728;
         word last←v35756;
         first←v35728 = (* (( (ptr) sel←v5236)+2) );
         last←v35756 = (* (( (ptr) sel←v5236)+11) );
         var←c38420.f0 = first←v35728;
         var←c38420.f1 =  (word) -1;
         var←c38420.f2 = last←v35756;
         var←c38420.f3 =  (word) -1;
         var←c38484 = var←c38420;
         };
      span←v5280 = var←c38484;
      /* removed tail goto */ 
      };
   (*  (W4Pt) formal←c0159 ) = span←v5280;
   return;
   }

static void SelectionSpan←P420(formal←c0166, sel←v5340)
   word formal←c0166;
   word sel←v5340;
   {
   register ptr gf←c42676 =  (ptr) &globalframe;
   W4 span←v5384;
   /* SelectionSpan: */ 
SOURCE(4914, 193)
SOURCE(4914, 193)
   span←v5384.f0 = 0;
   span←v5384.f1 =  (word) -1;
   span←v5384.f2 = 0;
   span←v5384.f3 =  (word) -1;
SOURCE(4983, 124)
   {
      word pd76;
      pd76 = (* (( (ptr) (* (( (ptr) gf←c42676)+109)/* var←c37876 */  ))+65) );
      if (((word) ( *( (fPt) ((*  (ptr) pd76 ))))(sel←v5340, pd76) == 3)) {
SOURCE(5019, 40)
         {
            W4 var←c38548;
            (void) NodeSpanFromSelection←P360((word) &var←c38548, sel←v5340);
            span←v5384 = var←c38548;
            /* removed tail goto */ 
            };
         }
      else {
SOURCE(5059, 48)
         (*  (W2Pt) &span←v5384 ) = (*  (W2Pt) (( (ptr) sel←v5340)+2) );
         (*  (W2Pt) (( (ptr) &span←v5384)+2) ) = (*  (W2Pt) (( (ptr) sel←v5340)+11) );
         /* removed tail goto */ 
         };
      };
   (*  (W4Pt) formal←c0166 ) = span←v5384;
   return;
   }

static void Delete←P480(formal←c0748)
   word formal←c0748;
   {
   W7 var←c42708;
   /* declaration of saveForPaste←v5444 skipped */ 
   /* declaration of var←c38644 skipped */ 
   var←c42708.f4/* saveForPaste←v5444 */  = formal←c0748;
   /* Delete: */ 
SOURCE(5113, 1983)
   {
      word tmpAddr77;
      tmpAddr77 = (word) (( (ptr) &var←c42708)+5)/* var←c38644 */ ;
      (*  (ptr) tmpAddr77 ) = ( ((word)  (fPt) DoDelete←P2520) );
      (* (( (ptr) tmpAddr77) + 1) ) = 1;
      };
SOURCE(7073, 23)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c42708)+20)/* var←c38644 */ , 1);
   }

static void DoDelete←P2520(root←v8340, tSel←v8368, formal←c42804)
   word root←v8340;
   word tSel←v8368;
   word formal←c42804;
   {
   W11 var←c42740;
   register ptr gf←c42772 =  (ptr) &globalframe;
   formal←c42804 = (formal←c42804 - 20);
   (*  (ptr) &var←c42740 ) = formal←c42804;
   /* DoDelete: */ 
SOURCE(5165, 1905)
SOURCE(5219, 1851)
SOURCE(5221, 18)
   {
      word pd78;
      pd78 = (* (( (ptr) (* (( (ptr) gf←c42772)+109)/* var←c37876 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd78 ))))(0, pd78);
      };
SOURCE(5241, 26)
   (* (( (ptr) tSel←v8368)+26) ) = 0;
SOURCE(5269, 1674)
   {
      word var←c38676;
      {
         word pd79;
         pd79 = (* (( (ptr) (* (( (ptr) gf←c42772)+109)/* var←c37876 */  ))+65) );
         var←c38676 = (word) ( *( (fPt) ((*  (ptr) pd79 ))))(tSel←v8368, pd79);
         };
      if ((var←c38676 == 0)) {
         }
      else {
         if ((var←c38676 == 3)) {
SOURCE(5328, 1341)
            {
               word newSelNode←v8396;
               word newSelText←v8424;
               word newSelInsertion←v8452 = 0;
SOURCE(5403, 65)
               {
                  word pd80;
                  pd80 = (* (( (ptr) (* (( (ptr) gf←c42772)+112)/* var←c38708 */  ))+14) );
                  newSelNode←v8396 = (word) ( *( (fPt) ((*  (ptr) pd80 ))))((* ((( (ptr) tSel←v8368)+11)) ), pd80);
                  };
SOURCE(5470, 36)
               newSelText←v8424 = newSelNode←v8396;
SOURCE(5538, 546)
               if ((newSelNode←v8396 == 0)) {
SOURCE(5600, 55)
                  {
                     word pd81;
                     pd81 = (* (( (ptr) (* (( (ptr) gf←c42772)+112)/* var←c38708 */  ))+15) );
                     newSelNode←v8396 = (word) ( *( (fPt) ((*  (ptr) pd81 ))))((* (( (ptr) tSel←v8368)+2) ), 0, pd81);
                     };
SOURCE(5657, 270)
                  if ((newSelNode←v8396 == 0) || (newSelNode←v8396 == root←v8340)) {
SOURCE(5699, 230)
                     {
                        word child←v8496;
SOURCE(5727, 46)
                        {
                           word pd82;
                           pd82 = (* (( (ptr) (* (( (ptr) gf←c42772)+112)/* var←c38708 */  ))+28) );
                           child←v8496 = (word) ( *( (fPt) ((*  (ptr) pd82 ))))(root←v8340, pd82);
                           };
SOURCE(5775, 27)
                        (* (( (ptr) tSel←v8368)+2) ) = child←v8496;
SOURCE(5804, 123)
                        {
                           word pd83;
                           pd83 = (* (( (ptr) (* (( (ptr) gf←c42772)+114)/* var←c38772 */  ))+15) );
                           newSelNode←v8396 = (word) ( *( (fPt) ((*  (ptr) pd83 ))))(root←v8340, child←v8496, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42772)+113)
/*1*/      /* var←c38740 */  ))+6) ) ), pd83);
                           };
                        };
                     };
SOURCE(5932, 23)
                  newSelText←v8424 = newSelNode←v8396;
SOURCE(5957, 93)
                  {
                     word tc84;
                     word pd85;
                     if ((newSelText←v8424 != 0)) {
                        pd85 = (* (( (ptr) (* (( (ptr) gf←c42772)+108)/* var←c37844 */  ))+6) );
                        tc84 =  (word) ( (int)(word) ( *( (fPt) ((*  (ptr) pd85 ))))(newSelText←v8424, pd85) >  (int)0);
                        }
                     else {
                        tc84 =  (word) 0;
                        };
                     if (tc84) {
                        newSelInsertion←v8452 = 1;
                        }
                     else {
                        newSelInsertion←v8452 = 0;
                        };
                     };
                  }
               else {
SOURCE(6059, 25)
                  newSelInsertion←v8452 = 0;
                  };
SOURCE(6087, 164)
               {
                  /* declaration of var←c38804 skipped */ 
                  /* declaration of var←c38836 skipped */ 
                  {
                     word pd86;
                     pd86 = (* (( (ptr) (* (( (ptr) gf←c42772)+109)/* var←c37876 */  ))+63) );
                     (* (( (ptr) &var←c42740)+4)/* var←c38804 */  ) = (word) ( *( (fPt) ((*  (ptr) pd86 ))))(tSel←v8368, pd86);
                     };
                  (void) NodeSpanFromSelection←P360((word) (( (bPt) &var←c42740)+20)/* var←c38836 */ , tSel←v8368);
                  {
                     /* declaration of var←c03 skipped */ 
                     /* declaration of var←c04 skipped */ 
                     (* (( (ptr) &var←c42740)+9)/* var←c03 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42772)+113)/* var←c38740 */  ))+6) ) );
                     (* (( (ptr) &var←c42740)+10)/* var←c04 */  ) = (* (( (ptr) (* (( (ptr) gf←c42772)+114)/* var←c38772 */  ))+6) );
                     {
                        word var←c05;
                        {
                           word var←c0665;
                           var←c0665 = (word) &var←c42740;
                           var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6336) ), ( ((word)  (fPt) NoName←Q8016) ), var←c0665);
                           };
                        if ((var←c05 == 2)) {
                           goto lab←L100008;
                           };
                        };
                     };
                  };
SOURCE(6262, 370)
               if ((newSelText←v8424 != 0)) {
SOURCE(6289, 52)
                  (* (( (ptr) tSel←v8368)+2) ) = newSelText←v8424;
                  (* (( (ptr) tSel←v8368)+11) ) = newSelText←v8424;
SOURCE(6343, 118)
                  {
                     word var←c38900;
                     {
                        word pd87;
                        if ((newSelInsertion←v8452 == 0)) {
                           var←c38900 = 0;
                           }
                        else {
                           pd87 = (* (( (ptr) (* (( (ptr) gf←c42772)+108)/* var←c37844 */  ))+6) );
                           var←c38900 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))(newSelText←v8424, pd87);
                           };
                        };
                     (* (( (ptr) tSel←v8368)+12) ) = var←c38900;
                     (* (( (ptr) tSel←v8368)+3) ) = var←c38900;
                     };
SOURCE(6463, 25)
                  (* (( (ptr) tSel←v8368)+22) ) = 0;
                  }
               else {
SOURCE(6542, 64)
                  {
                     W2 var←c38932;
                     var←c38932.f0 = newSelNode←v8396;
                     var←c38932.f1 =  (word) -1;
                     (*  (W2Pt) (( (ptr) tSel←v8368)+11) ) = var←c38932;
                     (*  (W2Pt) (( (ptr) tSel←v8368)+2) ) = var←c38932;
                     };
SOURCE(6608, 24)
                  (* (( (ptr) tSel←v8368)+22) ) = 3;
                  };
SOURCE(6635, 32)
               (* (( (ptr) tSel←v8368)+24) ) = newSelInsertion←v8452;
               };
            }
         else {
SOURCE(6685, 167)
            {
               /* declaration of var←c38964 skipped */ 
               {
                  word pd88;
                  pd88 = (* (( (ptr) (* (( (ptr) gf←c42772)+109)/* var←c37876 */  ))+63) );
                  (* (( (ptr) &var←c42740)+4)/* var←c38964 */  ) = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(tSel←v8368, pd88);
                  };
               {
                  /* declaration of var←c06 skipped */ 
                  /* declaration of var←c07 skipped */ 
                  /* declaration of var←c08 skipped */ 
                  (*  (W2Pt) (( (ptr) &var←c42740)+5) ) = (*  (W2Pt) (( (ptr) tSel←v8368)+2) );
                  (*  (W2Pt) (( (ptr) &var←c42740)+7) ) = (*  (W2Pt) (( (ptr) tSel←v8368)+11) );
                  (* (( (ptr) &var←c42740)+9)/* var←c07 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42772)+113)/* var←c38740 */  ))+6) ) );
                  (* (( (ptr) &var←c42740)+10)/* var←c08 */  ) = (* (( (ptr) (* (( (ptr) gf←c42772)+114)/* var←c38772 */  ))+6) );
                  {
                     word var←c09;
                     {
                        word var←c0666;
                        var←c0666 = (word) &var←c42740;
                        var←c09 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6276) ), ( ((word)  (fPt) NoName←Q7956) ), var←c0666);
                        };
                     if ((var←c09 == 2)) {
                        goto lab←L100008;
                        };
                     };
                  };
               };
SOURCE(6863, 29)
            (*  (W2Pt) (( (ptr) tSel←v8368)+11) ) = (*  (W2Pt) (( (ptr) tSel←v8368)+2) );
SOURCE(6894, 24)
            (* (( (ptr) tSel←v8368)+22) ) = 0;
SOURCE(6920, 23)
            (* (( (ptr) tSel←v8368)+24) ) = 0;
            };
         };
      };
SOURCE(6948, 44)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c42772)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd89 ))))(tSel←v8368, 0, 0, 0, 1, pd89);
      };
   goto lab←L100013;
   lab←L100008: ;
SOURCE(7009, 44)
   {
      word pd90;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c42772)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd90 ))))(tSel←v8368, 0, 0, 0, 1, pd90);
      };
SOURCE(7055, 13)
   (void) EditFailed←P240(0);
   lab←L100013: ;
   }

static word NoName←Q6276(formal←c0577)
   word formal←c0577;
   {
SOURCE(6685, 167)
   {
      word pd91;
      pd91 = (* (( (ptr) formal←c0577)+10) );
      (void) ( *( (fPt) ((*  (ptr) pd91 ))))((* (( (ptr) formal←c0577)+4) ), (*  (W4Pt) (( (ptr) formal←c0577)+5) ), (* (( (ptr) formal←c0577)+9)
          ), (* (( (ptr) (*  (ptr) formal←c0577 ))+4) ), pd91);
      };
   return(0);
   }

static word NoName←Q6336(formal←c0578)
   word formal←c0578;
   {
SOURCE(6087, 164)
   {
      word pd92;
      pd92 = (* (( (ptr) formal←c0578)+10) );
      (void) ( *( (fPt) ((*  (ptr) pd92 ))))((* (( (ptr) formal←c0578)+4) ), (*  (W4Pt) (( (ptr) formal←c0578)+5) ), (* (( (ptr) formal←c0578)+9)
          ), (* (( (ptr) (*  (ptr) formal←c0578 ))+4) ), pd92);
      };
   return(0);
   }

static void BackSpace←P540(formal←c0749)
   word formal←c0749;
   {
   W7 var←c42836;
   /* declaration of count←v5504 skipped */ 
   /* declaration of var←c39028 skipped */ 
   var←c42836.f4/* count←v5504 */  = formal←c0749;
   /* BackSpace: */ 
SOURCE(7102, 637)
   {
      word tmpAddr93;
      tmpAddr93 = (word) (( (ptr) &var←c42836)+5)/* var←c39028 */ ;
      (*  (ptr) tmpAddr93 ) = ( ((word)  (fPt) DoBackSpace←P2676) );
      (* (( (ptr) tmpAddr93) + 1) ) = 1;
      };
SOURCE(7695, 44)
   if (( (int)var←c42836.f4/* count←v5504 */  >  (int)0)) {
SOURCE(7713, 26)
      (void) CallWithLocks←P60((word) (( (bPt) &var←c42836)+20)/* var←c39028 */ , 1);
      };
   }

static void DoBackSpace←P2676(root←v8616, tSel←v8644, formal←c42900)
   word root←v8616;
   word tSel←v8644;
   word formal←c42900;
   {
   register ptr gf←c42868 =  (ptr) &globalframe;
   formal←c42900 = (formal←c42900 - 20);
   /* DoBackSpace: */ 
SOURCE(7146, 546)
SOURCE(7203, 489)
SOURCE(7205, 17)
   {
      word node←v8672 = 0;
      W2 flush←v8700;
SOURCE(7224, 47)
      {
         word pd94;
         pd94 = (* (( (ptr) (* (( (ptr) gf←c42868)+109)/* var←c37876 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd94 ))))((word) &flush←v8700, tSel←v8644, pd94);
         };
SOURCE(7273, 40)
      if (( (int)flush←v8700.f1 ==  (int) (word) -1)) {
SOURCE(7313, 8)
         goto lab←L100014;
         };
SOURCE(7323, 32)
      node←v8672 = flush←v8700.f0;
      if ((flush←v8700.f0 == 0)) {
SOURCE(7355, 8)
         goto lab←L100014;
         };
SOURCE(7365, 39)
      if (( (int)flush←v8700.f1 ==  (int)0)) {
SOURCE(7389, 6)
         (void) Join←P1380();
SOURCE(7397, 7)
         return;
         };
SOURCE(7446, 46)
      {
         word x95;
         word x96;
         (* (( (ptr) formal←c42900)+4) ) = (x95 = (* (( (ptr) formal←c42900)+4) ),
            x96 = flush←v8700.f1,
            MIN((int)(word), x95, x96));
         };
      if (( (int)(* (( (ptr) formal←c42900)+4) ) <=  (int)0)) {
SOURCE(7492, 8)
         goto lab←L100014;
         };
SOURCE(7502, 18)
      {
         word pd97;
         pd97 = (* (( (ptr) (* (( (ptr) gf←c42868)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd97 ))))(0, pd97);
         };
SOURCE(7522, 31)
      flush←v8700.f1 = (flush←v8700.f1 - (* (( (ptr) formal←c42900)+4) ));
SOURCE(7555, 76)
      {
         word pd98;
         pd98 = (* (( (ptr) (* (( (ptr) gf←c42868)+108)/* var←c37844 */  ))+32) );
         (void) ( *( (fPt) ((*  (ptr) pd98 ))))(root←v8616, node←v8672, flush←v8700.f1, (* (( (ptr) formal←c42900)+4) ), (*  (ptr) (* (
               ( (ptr) (* (( (ptr) gf←c42868)+113)/* var←c38740 */  ))+6) ) ), pd98);
         };
SOURCE(7633, 31)
      {
         word pd99;
         pd99 = (* (( (ptr) (* (( (ptr) gf←c42868)+109)/* var←c37876 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd99 ))))(tSel←v8644, flush←v8700, pd99);
         };
      };
   goto lab←L100015;
   lab←L100014: ;
SOURCE(7679, 13)
   (void) EditFailed←P240(0);
   lab←L100015: ;
   }

static word FindPrevWord←P600(formal←c0750, offset←v5592)
   word formal←c0750;
   word offset←v5592;
   {
   W7 var←c42932;
   /* declaration of node←v5564 skipped */ 
   word nChars←v5636;
   /* declaration of var←c39060 skipped */ 
   var←c42932.f4/* node←v5564 */  = formal←c0750;
   /* FindPrevWord: */ 
SOURCE(7745, 385)
   {
      word tmpAddr100;
      tmpAddr100 = (word) (( (ptr) &var←c42932)+5)/* var←c39060 */ ;
      (*  (ptr) tmpAddr100 ) = ( ((word)  (fPt) Alpha←P2784) );
      (* (( (ptr) tmpAddr100) + 1) ) = 1;
      };
SOURCE(7947, 10)
   nChars←v5636 = 0;
SOURCE(7959, 82)
   lab←L100018: ;
   if ( ( ( (int)offset←v5592 >  (int)0) ? (0 == (word) Alpha←P2784((offset←v5592 - 1), (word) (( (bPt) &var←c42932)+20)/* var←c39060 */ )
   ) : 0 ) ) {
      }
   else {
      goto lab←L100016;
      };
SOURCE(8001, 19)
   offset←v5592 = (offset←v5592 - 1);
SOURCE(8022, 19)
   nChars←v5636 = (nChars←v5636 + 1);
   goto lab←L100018;
   lab←L100016: ;
SOURCE(8052, 78)
   lab←L100021: ;
   if ( ( ( (int)offset←v5592 >  (int)0) ? (0 != (word) Alpha←P2784((offset←v5592 - 1), (word) (( (bPt) &var←c42932)+20)/* var←c39060 */ )
   ) : 0 ) ) {
      }
   else {
      goto lab←L100019;
      };
SOURCE(8090, 19)
   offset←v5592 = (offset←v5592 - 1);
SOURCE(8111, 19)
   nChars←v5636 = (nChars←v5636 + 1);
   goto lab←L100021;
   lab←L100019: ;
SOURCE(7745, 385)
   return(nChars←v5636);
   }

static word Alpha←P2784(index←v8820, formal←c42996)
   word index←v8820;
   word formal←c42996;
   {
   register ptr gf←c42964 =  (ptr) &globalframe;
   word var←c8864;
   formal←c42996 = (formal←c42996 - 20);
   /* Alpha: */ 
SOURCE(7835, 107)
SOURCE(7879, 63)
   {
      word var←c39124;
      word c←v36436;
      word var←c39188;
      word c←v14752;
      {
         word pd101;
         pd101 = (* (( (ptr) (* (( (ptr) gf←c42964)+108)/* var←c37844 */  ))+4) );
         c←v36436 = (word) ( *( (fPt) ((*  (ptr) pd101 ))))((* (( (ptr) formal←c42996)+4) ), index←v8820, pd101);
         };
      {
         word tc102;
         if (((c←v36436 >> 8) == 0)) {
            c←v14752 = (c←v36436 & 0377);
            var←c39188 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c42964)+115)/* var←c39220 */  ))+4) ) ))+c←v14752) ) == 2);
            tc102 =  (word) (0 != var←c39188);
            }
         else {
            tc102 =  (word) 0;
            };
         var←c39124 = tc102;
         };
      return(var←c39124);
      };
   }

static void BackWord←P660(formal←c0751)
   word formal←c0751;
   {
   W7 var←c43028;
   /* declaration of count←v5696 skipped */ 
   /* declaration of var←c39252 skipped */ 
   var←c43028.f4/* count←v5696 */  = formal←c0751;
   /* BackWord: */ 
SOURCE(8145, 629)
   {
      word tmpAddr103;
      tmpAddr103 = (word) (( (ptr) &var←c43028)+5)/* var←c39252 */ ;
      (*  (ptr) tmpAddr103 ) = ( ((word)  (fPt) DoBackWord←P2844) );
      (* (( (ptr) tmpAddr103) + 1) ) = 1;
      };
SOURCE(8731, 43)
   if (( (int)var←c43028.f4/* count←v5696 */  >  (int)0)) {
SOURCE(8749, 25)
      (void) CallWithLocks←P60((word) (( (bPt) &var←c43028)+20)/* var←c39252 */ , 1);
      };
   }

static void DoBackWord←P2844(root←v8968, tSel←v8996, formal←c43092)
   word root←v8968;
   word tSel←v8996;
   word formal←c43092;
   {
   register ptr gf←c43060 =  (ptr) &globalframe;
   formal←c43092 = (formal←c43092 - 20);
   /* DoBackWord: */ 
SOURCE(8188, 540)
SOURCE(8244, 484)
SOURCE(8246, 17)
   {
      word node←v9024 = 0;
      word nChars←v9052 = 0;
      W2 pos←v9080;
SOURCE(8287, 45)
      {
         word pd104;
         pd104 = (* (( (ptr) (* (( (ptr) gf←c43060)+109)/* var←c37876 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd104 ))))((word) &pos←v9080, tSel←v8996, pd104);
         };
SOURCE(8334, 30)
      node←v9024 = pos←v9080.f0;
      if ((pos←v9080.f0 == 0)) {
SOURCE(8364, 8)
         goto lab←L100024;
         };
SOURCE(8374, 40)
      if (( (int)pos←v9080.f1 ==  (int) (word) -1)) {
SOURCE(8414, 8)
         goto lab←L100024;
         };
SOURCE(8424, 18)
      {
         word pd105;
         pd105 = (* (( (ptr) (* (( (ptr) gf←c43060)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd105 ))))(0, pd105);
         };
SOURCE(8444, 138)
      {
         register word garbage←v9124 = 0;
         register word noName←c39284;
         noName←c39284 = (* (( (ptr) formal←c43092)+4) );
         if (( (int)garbage←v9124 >=  (int)noName←c39284)) {
            goto lab←L100025;
            };
         lab←L100028: ;
         {
            word wChars←v9168;
SOURCE(8477, 47)
            wChars←v9168 = (word) FindPrevWord←P600(node←v9024, pos←v9080.f1);
SOURCE(8526, 30)
            pos←v9080.f1 = (pos←v9080.f1 - wChars←v9168);
SOURCE(8558, 24)
            nChars←v9052 = (nChars←v9052 + wChars←v9168);
            };
         garbage←v9124 = (garbage←v9124 + 1);
         if (( (int)garbage←v9124 <  (int)noName←c39284)) {
            goto lab←L100028;
            };
         lab←L100025: ;
         };
SOURCE(8593, 75)
      {
         word pd106;
         pd106 = (* (( (ptr) (* (( (ptr) gf←c43060)+108)/* var←c37844 */  ))+32) );
         (void) ( *( (fPt) ((*  (ptr) pd106 ))))(root←v8968, node←v9024, pos←v9080.f1, SGNCK(nChars←v9052), (*  (ptr) (* (( (ptr) (* (
                  ( (ptr) gf←c43060)+113)/* var←c38740 */  ))+6) ) ), pd106);
         };
SOURCE(8670, 29)
      {
         word pd107;
         pd107 = (* (( (ptr) (* (( (ptr) gf←c43060)+109)/* var←c37876 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd107 ))))(tSel←v8996, pos←v9080, pd107);
         };
      };
   goto lab←L100029;
   lab←L100024: ;
SOURCE(8714, 12)
   (void) EditFailed←P240(0);
   lab←L100029: ;
   }

static void GoToPreviousWord←P720(formal←c0752)
   word formal←c0752;
   {
   W7 var←c43124;
   /* declaration of count←v5756 skipped */ 
   /* declaration of var←c39316 skipped */ 
   var←c43124.f4/* count←v5756 */  = formal←c0752;
   /* GoToPreviousWord: */ 
SOURCE(8780, 531)
   {
      word tmpAddr108;
      tmpAddr108 = (word) (( (ptr) &var←c43124)+5)/* var←c39316 */ ;
      (*  (ptr) tmpAddr108 ) = ( ((word)  (fPt) DoGoToPreviousWord←P3048) );
      (* (( (ptr) tmpAddr108) + 1) ) = 1;
      };
SOURCE(9254, 57)
   if (( (int)var←c43124.f4/* count←v5756 */  >  (int)0)) {
SOURCE(9272, 39)
      (void) CallWithLocks←P60((word) (( (bPt) &var←c43124)+20)/* var←c39316 */ , 0);
      };
   }

static void DoGoToPreviousWord←P3048(root←v9288, tSel←v9316, formal←c43188)
   word root←v9288;
   word tSel←v9316;
   word formal←c43188;
   {
   register ptr gf←c43156 =  (ptr) &globalframe;
   W2 pos←v9344;
   word node←v9372 = 0;
   word nChars←v9400;
   formal←c43188 = (formal←c43188 - 20);
   /* DoGoToPreviousWord: */ 
SOURCE(8831, 418)
SOURCE(8897, 22)
   pos←v9344.f0 = 0;
   pos←v9344.f1 = 0;
SOURCE(8958, 26)
   {
      word pd109;
      pd109 = (* (( (ptr) (* (( (ptr) gf←c43156)+109)/* var←c37876 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd109 ))))((word) &pos←v9344, tSel←v9316, pd109);
      };
SOURCE(8986, 224)
   {
      register word garbage←v9444 = 0;
      register word noName←c39380;
      noName←c39380 = (* (( (ptr) formal←c43188)+4) );
      if (( (int)garbage←v9444 >=  (int)noName←c39380)) {
         goto lab←L100030;
         };
      lab←L100033: ;
SOURCE(9019, 119)
      node←v9372 = pos←v9344.f0;
      if (((pos←v9344.f0 == 0) || ( (int)pos←v9344.f1 ==  (int) (word) -1)) || ( (int)pos←v9344.f1 ==  (int)0)) {
SOURCE(9099, 30)
         {
            word pd110;
            pd110 = (* (( (ptr) (* (( (ptr) gf←c43156)+116)/* var←c39412 */  ))+21) );
            (void) ( *( (fPt) ((*  (ptr) pd110 ))))(1, pd110);
            };
SOURCE(9131, 7)
         return;
         };
SOURCE(9141, 37)
      nChars←v9400 = (word) FindPrevWord←P600(node←v9372, pos←v9344.f1);
SOURCE(9180, 30)
      pos←v9344.f1 = (pos←v9344.f1 - nChars←v9400);
      garbage←v9444 = (garbage←v9444 + 1);
      if (( (int)garbage←v9444 <  (int)noName←c39380)) {
         goto lab←L100033;
         };
      lab←L100030: ;
      };
SOURCE(9221, 28)
   {
      word pd111;
      pd111 = (* (( (ptr) (* (( (ptr) gf←c43156)+109)/* var←c37876 */  ))+46) );
      (void) ( *( (fPt) ((*  (ptr) pd111 ))))(tSel←v9316, pos←v9344, pd111);
      };
   }

static void CopyToTypeScript←P780(formal←c0753, formal←c0754)
   word formal←c0753;
   W4 formal←c0754;
   {
   W11 var←c43220;
   /* declaration of targetSel←v5816 skipped */ 
   /* declaration of source←v5844 skipped */ 
   register ptr gf←c43252 =  (ptr) &globalframe;
   /* declaration of var←c39444 skipped */ 
   (* (( (ptr) &var←c43220)+4)/* targetSel←v5816 */  ) = formal←c0753;
   (*  (W4Pt) (( (ptr) &var←c43220)+5)/* source←v5844 */  ) = formal←c0754;
   /* CopyToTypeScript: */ 
SOURCE(9317, 407)
   {
      word tmpAddr112;
      tmpAddr112 = (word) (( (ptr) &var←c43220)+9)/* var←c39444 */ ;
      (*  (ptr) tmpAddr112 ) = ( ((word)  (fPt) TSCopy←P3156) );
      (* (( (ptr) tmpAddr112) + 1) ) = 1;
      };
SOURCE(9688, 36)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c43252)+117)/* var←c39476 */  ))+26) );
      (void) ( *( (fPt) ((*  (ptr) pd113 ))))((*  (W4Pt) (( (ptr) &var←c43220)+5)/* source←v5844 */  ), (word) (( (bPt) &var←c43220)+36)
         /* var←c39444 */ , pd113);
      };
   }

static word TSCopy←P3156(node←v9564, start←v9592, len←v9620, formal←c43316)
   word node←v9564;
   word start←v9592;
   word len←v9620;
   word formal←c43316;
   {
   register ptr gf←c43284 =  (ptr) &globalframe;
   word stop←v9664;
   word rope←v9692;
   formal←c43316 = (formal←c43316 - 36);
   /* TSCopy: */ 
SOURCE(9390, 293)
SOURCE(9465, 52)
   {
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c43284)+118)/* var←c39508 */  ))+17) );
      rope←v9692 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))((* (( (ptr) node←v9564)+3) ), start←v9592, len←v9620, pd114);
      };
SOURCE(9519, 61)
   if ((node←v9564 != (* (( (ptr) formal←c43316)+7) ))) {
SOURCE(9550, 30)
      {
         word pd115;
         pd115 = (* (( (ptr) (* (( (ptr) gf←c43284)+118)/* var←c39508 */  ))+6) );
         rope←v9692 = (word) ( *( (fPt) ((*  (ptr) pd115 ))))(rope←v9692, (* (( (ptr) gf←c43284)+14) ), pd115);
         };
      };
SOURCE(9608, 59)
   {
      word var←c39540;
      {
         word var←c39572;
         word var←c39604;
         var←c39572 = XR←NewObject(8, (* (( (ptr) gf←c43284)+9) ));
         var←c39604 = var←c39572;
         (*  (ptr) var←c39604 ) = rope←v9692;
         var←c39540 = var←c39572;
         };
      {
         word pd116;
         pd116 = (* (( (ptr) (*  (ptr) (*  (ptr) (* (( (ptr) formal←c43316)+4) ) ) ))+1) );
         (void) ( *( (fPt) ((*  (ptr) pd116 ))))((*  (ptr) (* (( (ptr) formal←c43316)+4) ) ), var←c39540, 0, 0, 0, pd116);
         };
      };
SOURCE(9669, 14)
   return(0);
   }

static void UnConvertNodeSelects←P840(sel←v5904)
   word sel←v5904;
   {
   register ptr gf←c43348 =  (ptr) &globalframe;
   /* UnConvertNodeSelects: */ 
SOURCE(9730, 341)
SOURCE(9778, 293)
   {
      word var←c39636;
      {
         word pd117;
         pd117 = (* (( (ptr) (* (( (ptr) gf←c43348)+109)/* var←c37876 */  ))+65) );
         var←c39636 = (word) ( *( (fPt) ((*  (ptr) pd117 ))))(sel←v5904, pd117);
         };
      if ((var←c39636 == 1)) {
SOURCE(9823, 152)
         if ( ( ((* (( (ptr) sel←v5904)+11) ) == (* (( (ptr) sel←v5904)+2) )) ? ( (int)(* (( (ptr) sel←v5904)+12) ) <  (int)(* (( (ptr) sel←v5904)+3)
          )) : 0 ) ) {
SOURCE(9911, 39)
            (* (( (ptr) sel←v5904)+12) ) = (* (( (ptr) sel←v5904)+3) );
SOURCE(9952, 23)
            (* (( (ptr) sel←v5904)+22) ) = 0;
            };
         }
      else {
         if ((var←c39636 == 3)) {
SOURCE(9993, 23)
            (* (( (ptr) sel←v5904)+3) ) = 0;
SOURCE(10018, 53)
            {
               word pd118;
               pd118 = (* (( (ptr) (* (( (ptr) gf←c43348)+112)/* var←c38708 */  ))+36) );
               (* (( (ptr) sel←v5904)+12) ) = (word) ( *( (fPt) ((*  (ptr) pd118 ))))((* ((( (ptr) sel←v5904)+11)) ), pd118);
               };
            };
         };
      };
   }

static void CopyToDoc←P900(targetSel←v5964, srcSel←v5992, formal←c0755, lock←v6048)
   word targetSel←v5964;
   word srcSel←v5992;
   word formal←c0755;
   word lock←v6048;
   {
   W7 var←c43380;
   /* declaration of target←v6020 skipped */ 
   register ptr gf←c43412 =  (ptr) &globalframe;
   /* declaration of var←c39668 skipped */ 
   var←c43380.f4/* target←v6020 */  = formal←c0755;
   /* CopyToDoc: */ 
SOURCE(10089, 2338)
   {
      word tmpAddr119;
      tmpAddr119 = (word) (( (ptr) &var←c43380)+5)/* var←c39668 */ ;
      (*  (ptr) tmpAddr119 ) = ( ((word)  (fPt) DoCopyToDoc←P3216) );
      (* (( (ptr) tmpAddr119) + 1) ) = 1;
      };
SOURCE(12137, 290)
   if ((0 != lock←v6048)) {
SOURCE(12150, 62)
      (void) CallWithBothLocked←P120((word) (( (bPt) &var←c43380)+20)/* var←c39668 */ , targetSel←v5964, srcSel←v5992, 0);
      }
   else {
SOURCE(12212, 217)
      {
         word tSel←v9952;
SOURCE(12251, 25)
         {
            word pd120;
            pd120 = (* (( (ptr) (* (( (ptr) gf←c43412)+109)/* var←c37876 */  ))+10) );
            tSel←v9952 = (word) ( *( (fPt) ((*  (ptr) pd120 ))))(pd120);
            };
SOURCE(12278, 50)
         {
            word pd121;
            pd121 = (* (( (ptr) (* (( (ptr) gf←c43412)+109)/* var←c37876 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd121 ))))(targetSel←v5964, tSel←v9952, pd121);
            };
SOURCE(12330, 85)
         {
            word var←c39700;
            word var←c39732;
            {
               word pd122;
               pd122 = (* (( (ptr) (* (( (ptr) gf←c43412)+109)/* var←c37876 */  ))+63) );
               var←c39700 = (word) ( *( (fPt) ((*  (ptr) pd122 ))))(srcSel←v5992, pd122);
               };
            {
               word pd123;
               pd123 = (* (( (ptr) (* (( (ptr) gf←c43412)+109)/* var←c37876 */  ))+63) );
               var←c39732 = (word) ( *( (fPt) ((*  (ptr) pd123 ))))(targetSel←v5964, pd123);
               };
            (void) DoCopyToDoc←P3216(var←c39700, var←c39732, tSel←v9952, srcSel←v5992, targetSel←v5964, (word) (( (bPt) &var←c43380)+20)
               /* var←c39668 */ );
            };
SOURCE(12417, 10)
         {
            word pd124;
            pd124 = (* (( (ptr) (* (( (ptr) gf←c43412)+109)/* var←c37876 */  ))+11) );
            (void) ( *( (fPt) ((*  (ptr) pd124 ))))(tSel←v9952, pd124);
            };
         };
      };
   }

static void DoCopyToDoc←P3216(formal←c0756, formal←c0757, tSel←v9868, srcSel←v9896, targetSel←v9924, formal←c43508)
   word formal←c0756;
   word formal←c0757;
   word tSel←v9868;
   word srcSel←v9896;
   word targetSel←v9924;
   word formal←c43508;
   {
   W20 var←c43444;
   /* declaration of sourceRoot←v9812 skipped */ 
   /* declaration of destRoot←v9840 skipped */ 
   register ptr gf←c43476 =  (ptr) &globalframe;
   formal←c43508 = (formal←c43508 - 20);
   (* (( (ptr) &var←c43444)+4)/* sourceRoot←v9812 */  ) = formal←c0756;
   (* (( (ptr) &var←c43444)+5)/* destRoot←v9840 */  ) = formal←c0757;
   (*  (ptr) &var←c43444 ) = formal←c43508;
   /* DoCopyToDoc: */ 
SOURCE(10180, 1954)
SOURCE(10272, 1862)
SOURCE(10274, 1498)
   if ((0 != (* (( (ptr) tSel←v9868)+26) ))) {
SOURCE(10331, 243)
      {
         W4 var←c39828;
         {
            /* declaration of var←c39764 skipped */ 
            /* declaration of var←c39796 skipped */ 
            (void) SelectionSpan←P420((word) (( (bPt) &var←c43444)+24)/* var←c39764 */ , tSel←v9868);
            (void) SelectionSpan←P420((word) (( (bPt) &var←c43444)+40)/* var←c39796 */ , srcSel←v9896);
            {
               /* declaration of var←c010 skipped */ 
               /* declaration of var←c011 skipped */ 
               (* (( (ptr) &var←c43444)+14)/* var←c010 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43476)+113)/* var←c38740 */  ))+6) ) );
               (* (( (ptr) &var←c43444)+15)/* var←c011 */  ) = (* (( (ptr) (* (( (ptr) gf←c43476)+114)/* var←c38772 */  ))+5) );
               {
                  /* declaration of var←c012 skipped */ 
                  {
                     word var←c013;
                     {
                        word var←c0667;
                        var←c0667 = (word) &var←c43444;
                        var←c013 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6516) ), ( ((word)  (fPt) NoName←Q7896) ), var←c0667);
                        };
                     if ((var←c013 == 3)) {
                        goto lab←L100034;
                        };
                     };
                  var←c39828 = (*  (W4Pt) (( (ptr) &var←c43444)+16)/* var←c012 */  );
                  };
               };
            };
         (*  (W2Pt) (( (ptr) tSel←v9868)+11) ) = (*  (W2Pt) (( (ptr) &var←c39828)+2) );
         (*  (W2Pt) (( (ptr) tSel←v9868)+2) ) = (*  (W2Pt) &var←c39828 );
         };
SOURCE(10592, 26)
      (* (( (ptr) tSel←v9868)+26) ) = 0;
      }
   else {
SOURCE(10627, 1160)
      {
         /* declaration of loc←v9996 skipped */ 
         /* declaration of unnest←v10024 skipped */ 
         /* declaration of where←v10052 skipped */ 
SOURCE(10660, 45)
         {
            word pd125;
            pd125 = (* (( (ptr) (* (( (ptr) gf←c43476)+109)/* var←c37876 */  ))+64) );
            (void) ( *( (fPt) ((*  (ptr) pd125 ))))((word) (( (bPt) &var←c43444)+24)/* loc←v9996 */ , tSel←v9868, pd125);
            };
SOURCE(10707, 19)
         (* (( (ptr) &var←c43444)+8)/* unnest←v10024 */  ) = 0;
SOURCE(10774, 73)
         (* (( (ptr) &var←c43444)+9)/* where←v10052 */  ) =  ( ((* (( (ptr) tSel←v9868)+24) ) == 0) ? 0 : 1 ) ;
SOURCE(10849, 380)
         {
            word pd126;
            pd126 = (* (( (ptr) (* (( (ptr) gf←c43476)+109)/* var←c37876 */  ))+65) );
            if (((word) ( *( (fPt) ((*  (ptr) pd126 ))))(srcSel←v9896, pd126) == 3)) {
SOURCE(10927, 88)
               {
                  word tc127;
                  word pd128;
                  if ( ( ((* (( (ptr) &var←c43444)+9)/* where←v10052 */  ) == 0) ? ( (int)(* (( (ptr) &var←c43444)+7) ) >  (int)0) : 0 ) ) {
                     pd128 = (* (( (ptr) (* (( (ptr) gf←c43476)+108)/* var←c37844 */  ))+6) );
                     tc127 =  (word) ( (int)(* (( (ptr) &var←c43444)+7) ) ==  (int)(word) ( *( (fPt) ((*  (ptr) pd128 ))))((* ((( (ptr) &var←c43444)+6)
                        ) ), pd128));
                     }
                  else {
                     tc127 =  (word) 0;
                     };
                  if (tc127) {
SOURCE(11002, 13)
                     (* (( (ptr) &var←c43444)+9)/* where←v10052 */  ) = 1;
                     };
                  };
SOURCE(11056, 31)
               (* (( (ptr) &var←c43444)+7) ) =  (word) -1;
SOURCE(11089, 140)
               if ( ( ((* (( (ptr) &var←c43444)+9)/* where←v10052 */  ) == 1) ? ((* (( (ptr) tSel←v9868)+2) ) != (* (( (ptr) tSel←v9868)+11)
                )) : 0 ) ) {
SOURCE(11151, 78)
                  {
                     word pd129;
                     word pd130;
                     pd129 = (* (( (ptr) (* (( (ptr) gf←c43476)+112)/* var←c38708 */  ))+16) );
                     pd130 = (* (( (ptr) (* (( (ptr) gf←c43476)+112)/* var←c38708 */  ))+16) );
                     (* (( (ptr) &var←c43444)+8)/* unnest←v10024 */  ) = ((word) ( *( (fPt) ((*  (ptr) pd129 ))))((* ((( (ptr) tSel←v9868)+11)
                        ) ), pd129) - (word) ( *( (fPt) ((*  (ptr) pd130 ))))((* ((( (ptr) tSel←v9868)+2)) ), pd130));
                     };
                  };
               };
            };
SOURCE(11234, 230)
         {
            W4 var←c39892;
            {
               /* declaration of var←c39860 skipped */ 
               (void) SelectionSpan←P420((word) (( (bPt) &var←c43444)+40)/* var←c39860 */ , srcSel←v9896);
               {
                  /* declaration of var←c014 skipped */ 
                  /* declaration of var←c015 skipped */ 
                  (* (( (ptr) &var←c43444)+14)/* var←c014 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43476)+113)/* var←c38740 */  ))+6) ) );
                  (* (( (ptr) &var←c43444)+15)/* var←c015 */  ) = (* (( (ptr) (* (( (ptr) gf←c43476)+114)/* var←c38772 */  ))+9) );
                  {
                     /* declaration of var←c016 skipped */ 
                     {
                        word var←c017;
                        {
                           word var←c0668;
                           var←c0668 = (word) &var←c43444;
                           var←c017 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6456) ), ( ((word)  (fPt) NoName←Q7836) ), var←c0668);
                           };
                        if ((var←c017 == 3)) {
                           goto lab←L100034;
                           };
                        };
                     var←c39892 = (*  (W4Pt) (( (ptr) &var←c43444)+16)/* var←c016 */  );
                     };
                  };
               };
            (*  (W2Pt) (( (ptr) tSel←v9868)+11) ) = (*  (W2Pt) (( (ptr) &var←c39892)+2) );
            (*  (W2Pt) (( (ptr) tSel←v9868)+2) ) = (*  (W2Pt) &var←c39892 );
            };
SOURCE(11482, 290)
         if (( (int)(* (( (ptr) &var←c43444)+8)/* unnest←v10024 */  ) >  (int)0)) {
SOURCE(11574, 198)
SOURCE(11574, 198)
            {
               W4 var←c39956;
               {
                  /* declaration of var←c018 skipped */ 
                  /* declaration of var←c019 skipped */ 
                  /* declaration of var←c020 skipped */ 
                  (*  (W2Pt) (( (ptr) &var←c43444)+10) ) = (*  (W2Pt) (( (ptr) tSel←v9868)+2) );
                  (*  (W2Pt) (( (ptr) &var←c43444)+12) ) = (*  (W2Pt) (( (ptr) tSel←v9868)+11) );
                  (* (( (ptr) &var←c43444)+14)/* var←c019 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43476)+113)/* var←c38740 */  ))+6) ) );
                  (* (( (ptr) &var←c43444)+15)/* var←c020 */  ) = (* (( (ptr) (* (( (ptr) gf←c43476)+114)/* var←c38772 */  ))+18) );
                  {
                     /* declaration of var←c021 skipped */ 
                     {
                        word var←c022;
                        {
                           word var←c0669;
                           var←c0669 = (word) &var←c43444;
                           var←c022 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6396) ), ( ((word)  (fPt) NoName←Q7776) ), var←c0669);
                           };
                        if ((var←c022 == 4)) {
                           goto lab←L100040;
                           };
                        };
                     var←c39956 = (*  (W4Pt) (( (ptr) &var←c43444)+16)/* var←c021 */  );
                     };
                  };
               (*  (W2Pt) (( (ptr) tSel←v9868)+11) ) = (*  (W2Pt) (( (ptr) &var←c39956)+2) );
               (*  (W2Pt) (( (ptr) tSel←v9868)+2) ) = (*  (W2Pt) &var←c39956 );
               };
            lab←L100040: ;
            };
         };
      };
SOURCE(11790, 37)
   (* (( (ptr) tSel←v9868)+22) ) = (* (( (ptr) srcSel←v9896)+22) );
SOURCE(11829, 26)
   (void) UnConvertNodeSelects←P840(tSel←v9868);
SOURCE(11857, 22)
   (* (( (ptr) tSel←v9868)+24) ) = 1;
SOURCE(11881, 44)
   {
      word pd131;
      pd131 = (* (( (ptr) (* (( (ptr) gf←c43476)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd131 ))))(tSel←v9868, 0, 0, 0, 1, pd131);
      };
SOURCE(11927, 47)
   {
      word pd132;
      pd132 = (* (( (ptr) (* (( (ptr) gf←c43476)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd132 ))))(tSel←v9868, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43476)+109)/* var←c37876 */  ))+7)
          ) ), pd132);
      };
   goto lab←L100043;
   lab←L100034: ;
SOURCE(12033, 84)
   {
      word pd133;
      pd133 = (* (( (ptr) (* (( (ptr) gf←c43476)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd133 ))))( ( ((* (( (ptr) formal←c43508)+4) ) == 0) ? targetSel←v9924 : srcSel←v9896 ) , 0, 0, 0, 1, pd133)
      ;
      };
SOURCE(12119, 13)
   (void) EditFailed←P240(0);
   lab←L100043: ;
   }

static word NoName←Q6396(formal←c0594)
   word formal←c0594;
   {
SOURCE(11574, 198)
   {
      word pd134;
      pd134 = (* (( (ptr) formal←c0594)+15) );
      (void) ( *( (fPt) ((*  (ptr) pd134 ))))((word) (( (bPt) formal←c0594)+64), (* (( (ptr) formal←c0594)+5) ), (*  (W4Pt) (( (ptr) formal←c0594)+10)
          ), INEG((* (( (ptr) formal←c0594)+8) )), (* (( (ptr) formal←c0594)+14) ), pd134);
      };
   return(0);
   }

static word NoName←Q6456(formal←c0595)
   word formal←c0595;
   {
SOURCE(11234, 230)
   {
      word pd135;
      pd135 = (* (( (ptr) formal←c0595)+15) );
      (void) ( *( (fPt) ((*  (ptr) pd135 ))))((word) (( (bPt) formal←c0595)+64), (* (( (ptr) formal←c0595)+5) ), (* (( (ptr) formal←c0595)+4)
          ), (*  (W2Pt) (( (ptr) formal←c0595)+6) ), (*  (W4Pt) (( (ptr) formal←c0595)+10) ), (* (( (ptr) formal←c0595)+9) )
         , 0, (* (( (ptr) formal←c0595)+14) ), pd135);
      };
   return(0);
   }

static word NoName←Q6516(formal←c0596)
   word formal←c0596;
   {
SOURCE(10331, 243)
   {
      word pd136;
      pd136 = (* (( (ptr) formal←c0596)+15) );
      (void) ( *( (fPt) ((*  (ptr) pd136 ))))((word) (( (bPt) formal←c0596)+64), (* (( (ptr) formal←c0596)+5) ), (* (( (ptr) formal←c0596)+4)
          ), (*  (W4Pt) (( (ptr) formal←c0596)+6) ), (*  (W4Pt) (( (ptr) formal←c0596)+10) ), 1
         , (* (( (ptr) formal←c0596)+14) ), pd136);
      };
   return(0);
   }

static void Copy←P960(formal←c0758)
   word formal←c0758;
   {
   W5 var←c43540;
   /* declaration of target←v6108 skipped */ 
   var←c43540.f4/* target←v6108 */  = formal←c0758;
   /* Copy: */ 
SOURCE(12436, 352)
SOURCE(12490, 298)
   {
      word var←c0670;
      var←c0670 = (word) &var←c43540;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q6576) ), ( ((word)  (fPt) NoName←Q7716) ), var←c0670);
      };
   }

static word NoName←Q6576(formal←c0598)
   word formal←c0598;
   {
   register ptr gf←c0597 =  (ptr) &globalframe;
SOURCE(12531, 60)
   {
      word targetSel←v10096;
      word srcSel←v10124;
SOURCE(12531, 60)
      targetSel←v10096 =  ( ((* (( (ptr) formal←c0598)+4) ) == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0597)+109)/* var←c37876 */  ))+4)
       ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0597)+109)/* var←c37876 */  ))+5) ) ) ) ;
SOURCE(12593, 57)
      srcSel←v10124 =  ( ((* (( (ptr) formal←c0598)+4) ) == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0597)+109)/* var←c37876 */  ))+5)
       ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0597)+109)/* var←c37876 */  ))+4) ) ) ) ;
SOURCE(12652, 26)
      {
         word pd137;
         pd137 = (* (( (ptr) (* (( (ptr) gf←c0597)+109)/* var←c37876 */  ))+23) );
         (void) ( *( (fPt) ((*  (ptr) pd137 ))))((* ((( (ptr) gf←c0597)+16)) ), pd137);
         };
SOURCE(12680, 84)
      if ( ( ((*  (ptr) srcSel←v10124 ) != 0) ? ((*  (ptr) targetSel←v10096 ) != 0) : 0 ) ) {
SOURCE(12731, 33)
         (void) DoCopy←P1080((* (( (ptr) formal←c0598)+4) ), targetSel←v10096, srcSel←v10124);
         };
SOURCE(12766, 22)
      {
         word pd138;
         pd138 = (* (( (ptr) (* (( (ptr) gf←c0597)+109)/* var←c37876 */  ))+24) );
         (void) ( *( (fPt) ((*  (ptr) pd138 ))))(pd138);
         };
      };
   return(0);
   }

static word CheckReadonly←P1020(targetSel←v6168)
   word targetSel←v6168;
   {
   register ptr gf←c43572 =  (ptr) &globalframe;
   word var←c6212;
   /* CheckReadonly: */ 
SOURCE(12794, 207)
SOURCE(12863, 73)
   if (((*  (ptr) targetSel←v6168 ) == 0) || (0 == (* (( (ptr) (* (( (ptr) targetSel←v6168)+1) ))+6) ))) {
SOURCE(12923, 13)
      return(1);
      };
SOURCE(12938, 47)
   (void) EditFailed←P240((* ((( (ptr) gf←c43572)+17)) ));
SOURCE(12987, 14)
   return(0);
   }

static void DoCopy←P1080(target←v6272, targetSel←v6300, srcSel←v6328)
   word target←v6272;
   word targetSel←v6300;
   word srcSel←v6328;
   {
   register ptr gf←c43604 =  (ptr) &globalframe;
   /* DoCopy: */ 
SOURCE(13007, 1128)
SOURCE(13077, 65)
   if ((0 == (word) CheckReadonly←P1020(targetSel←v6300))) {
SOURCE(13113, 20)
      {
         word pd139;
         pd139 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd139 ))))(1, pd139);
         };
SOURCE(13135, 7)
      return;
      };
SOURCE(13145, 990)
   {
      word tc140;
      word pd141;
      if (((* (( (ptr) (* (( (ptr) targetSel←v6300)+1) ))+11) ) != 0)) {
         if ((0 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43604)+119)/* var←c39988 */  ))+14) ) ))) {
            tc140 =  (word) 1;
            }
         else {
            pd141 = (* (( (ptr) (* (( (ptr) gf←c43604)+120)/* var←c40020 */  ))+9) );
            tc140 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd141 ))))(targetSel←v6300, pd141));
            };
         }
      else {
         tc140 =  (word) 0;
         };
      if (tc140) {
SOURCE(13253, 792)
         {
            word tSel←v10168;
            word tSel1←v10196;
            W4 span←v10224;
SOURCE(13255, 25)
            {
               word pd142;
               pd142 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+10) );
               tSel←v10168 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))(pd142);
               };
SOURCE(13282, 26)
            {
               word pd143;
               pd143 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+10) );
               tSel1←v10196 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(pd143);
               };
SOURCE(13310, 56)
            (*  (W2Pt) &span←v10224 ) = (*  (W2Pt) (( (ptr) srcSel←v6328)+2) );
            (*  (W2Pt) (( (ptr) &span←v10224)+2) ) = (*  (W2Pt) (( (ptr) srcSel←v6328)+11) );
SOURCE(13368, 47)
            {
               word pd144;
               pd144 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+12) );
               (void) ( *( (fPt) ((*  (ptr) pd144 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+5) ) ), (*  (ptr) (* (
                     ( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+7) ) ), pd144);
               };
SOURCE(13462, 50)
            {
               word pd145;
               pd145 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+12) );
               (void) ( *( (fPt) ((*  (ptr) pd145 ))))(targetSel←v6300, tSel←v10168, pd145);
               };
SOURCE(13514, 23)
            (* (( (ptr) tSel←v10168)+24) ) = 0;
SOURCE(13539, 24)
            (* (( (ptr) tSel←v10168)+22) ) = 0;
SOURCE(13565, 70)
            {
               W2 var←c40084;
               {
                  word pd146;
                  pd146 = (* (( (ptr) (* (( (ptr) gf←c43604)+112)/* var←c38708 */  ))+27) );
                  (void) ( *( (fPt) ((*  (ptr) pd146 ))))((word) &var←c40084, (*  (ptr) (* (( (ptr) tSel←v10168)+1) ) ), pd146);
                  };
               (*  (W2Pt) (( (ptr) tSel←v10168)+11) ) = var←c40084;
               (*  (W2Pt) (( (ptr) tSel←v10168)+2) ) = var←c40084;
               };
SOURCE(13637, 48)
            {
               word pd147;
               pd147 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+12) );
               (void) ( *( (fPt) ((*  (ptr) pd147 ))))(srcSel←v6328, tSel1←v10196, pd147);
               };
SOURCE(13687, 14)
            srcSel←v6328 = tSel1←v10196;
SOURCE(13703, 18)
            {
               word pd148;
               pd148 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+36) );
               (void) ( *( (fPt) ((*  (ptr) pd148 ))))(0, pd148);
               };
SOURCE(13723, 20)
            {
               word pd149;
               pd149 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+36) );
               (void) ( *( (fPt) ((*  (ptr) pd149 ))))(1, pd149);
               };
SOURCE(13745, 28)
            (void) CopyToTypeScript←P780(tSel←v10168, span←v10224);
SOURCE(13775, 243)
            if ((target←v6272 == 0)) {
SOURCE(13847, 70)
               {
                  W2 var←c40116;
                  {
                     word pd150;
                     pd150 = (* (( (ptr) (* (( (ptr) gf←c43604)+112)/* var←c38708 */  ))+27) );
                     (void) ( *( (fPt) ((*  (ptr) pd150 ))))((word) &var←c40116, (*  (ptr) (* (( (ptr) tSel←v10168)+1) ) ), pd150);
                     };
                  (*  (W2Pt) (( (ptr) tSel←v10168)+11) ) = var←c40116;
                  (*  (W2Pt) (( (ptr) tSel←v10168)+2) ) = var←c40116;
                  };
SOURCE(13919, 44)
               {
                  word pd151;
                  pd151 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+25) );
                  (void) ( *( (fPt) ((*  (ptr) pd151 ))))(tSel←v10168, 0, 0, 0, 1, pd151);
                  };
               }
            else {
SOURCE(13972, 46)
               {
                  word pd152;
                  pd152 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+25) );
                  (void) ( *( (fPt) ((*  (ptr) pd152 ))))(srcSel←v6328, 0, 0, 0, 1, pd152);
                  };
               };
SOURCE(14020, 10)
            {
               word pd153;
               pd153 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+11) );
               (void) ( *( (fPt) ((*  (ptr) pd153 ))))(tSel←v10168, pd153);
               };
SOURCE(14032, 11)
            {
               word pd154;
               pd154 = (* (( (ptr) (* (( (ptr) gf←c43604)+109)/* var←c37876 */  ))+11) );
               (void) ( *( (fPt) ((*  (ptr) pd154 ))))(tSel1←v10196, pd154);
               };
            };
         }
      else {
SOURCE(14052, 83)
         if ((0 != (* (( (ptr) srcSel←v6328)+26) ))) {
SOURCE(14081, 18)
            (void) Move←P1200(target←v6272);
            }
         else {
SOURCE(14099, 36)
            (void) CopyToDoc←P900(targetSel←v6300, srcSel←v6328, target←v6272, 1);
            };
         };
      };
   }

static void Paste←P1140()
   {
   W6 var←c43636;
   /* declaration of var←c40148 skipped */ 
   /* Paste: */ 
SOURCE(14141, 822)
   {
      word tmpAddr155;
      tmpAddr155 = (word) (( (ptr) &var←c43636)+4)/* var←c40148 */ ;
      (*  (ptr) tmpAddr155 ) = ( ((word)  (fPt) DoPaste←P3468) );
      (* (( (ptr) tmpAddr155) + 1) ) = 1;
      };
SOURCE(14941, 22)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c43636)+16)/* var←c40148 */ , 1);
   }

static void DoPaste←P3468(root←v10344, tSel←v10372, formal←c43700)
   word root←v10344;
   word tSel←v10372;
   word formal←c43700;
   {
   register ptr gf←c43668 =  (ptr) &globalframe;
   formal←c43700 = (formal←c43700 - 16);
   /* DoPaste: */ 
SOURCE(14164, 774)
SOURCE(14217, 721)
SOURCE(14219, 48)
   {
      W4 source←v10400;
      word tdd←v10428;
SOURCE(14219, 48)
      {
         word pd156;
         pd156 = (* (( (ptr) (* (( (ptr) gf←c43668)+114)/* var←c38772 */  ))+8) );
         (void) ( *( (fPt) ((*  (ptr) pd156 ))))((word) (&source←v10400), pd156);
         };
SOURCE(14269, 48)
      tdd←v10428 = (* (( (ptr) tSel←v10372)+1) );
SOURCE(14319, 54)
      if (XR←EqualWords(&source←v10400, (( (ptr) gf←c43668)+104)/* var←c37812 */ , 4) || ((*  (ptr) tSel←v10372 ) == 0)) {
SOURCE(14373, 8)
         goto lab←L100046;
         };
SOURCE(14383, 113)
      if ( ( ((* (( (ptr) tdd←v10428)+11) ) == 0) ? (0 != (* (( (ptr) tSel←v10372)+26) )) : 0 ) ) {
SOURCE(14431, 17)
         (void) DoPendingDelete←P180();
SOURCE(14450, 46)
         {
            word pd157;
            pd157 = (* (( (ptr) (* (( (ptr) gf←c43668)+109)/* var←c37876 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd157 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43668)+109)/* var←c37876 */  ))+4) ) ), tSel←v10372, pd157)
            ;
            };
         };
SOURCE(14499, 20)
      {
         word pd158;
         pd158 = (* (( (ptr) (* (( (ptr) gf←c43668)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd158 ))))(1, pd158);
         };
SOURCE(14521, 29)
      (*  (W2Pt) (( (ptr) tSel←v10372)+2) ) = (*  (W2Pt) &source←v10400 );
SOURCE(14552, 25)
      (*  (W2Pt) (( (ptr) tSel←v10372)+11) ) = (*  (W2Pt) (( (ptr) &source←v10400)+2) );
SOURCE(14579, 171)
      if (( (int)source←v10400.f1 ==  (int) (word) -1) || ( (int)source←v10400.f3 ==  (int) (word) -1)) {
SOURCE(14668, 23)
         (* (( (ptr) tSel←v10372)+22) ) = 3;
SOURCE(14693, 27)
         (void) UnConvertNodeSelects←P840(tSel←v10372);
         }
      else {
SOURCE(14727, 23)
         (* (( (ptr) tSel←v10372)+22) ) = 1;
         };
SOURCE(14752, 25)
      (*  (ptr) tSel←v10372 ) = (*  (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43668)+109)/* var←c37876 */  ))+4) ) ) );
SOURCE(14837, 15)
      (* (( (ptr) tSel←v10372)+1) ) = 0;
SOURCE(14854, 26)
      (* (( (ptr) tSel←v10372)+26) ) = 0;
SOURCE(14882, 27)
      (void) DoCopy←P1080(0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43668)+109)/* var←c37876 */  ))+4) ) ), tSel←v10372);
      };
   goto lab←L100047;
   lab←L100046: ;
SOURCE(14924, 12)
   (void) EditFailed←P240(0);
   lab←L100047: ;
   }

static void Move←P1200(formal←c0759)
   word formal←c0759;
   {
   W7 var←c43732;
   /* declaration of target←v6404 skipped */ 
   register ptr gf←c43764 =  (ptr) &globalframe;
   /* declaration of var←c40180 skipped */ 
   word targetSel←v10472;
   word srcSel←v10500;
   var←c43732.f4/* target←v6404 */  = formal←c0759;
   /* Move: */ 
SOURCE(14969, 3219)
   {
      word tmpAddr159;
      tmpAddr159 = (word) (( (ptr) &var←c43732)+5)/* var←c40180 */ ;
      (*  (ptr) tmpAddr159 ) = ( ((word)  (fPt) DoMove←P3576) );
      (* (( (ptr) tmpAddr159) + 1) ) = 1;
      };
SOURCE(15023, 60)
   targetSel←v10472 =  ( (var←c43732.f4/* target←v6404 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43764)+109)/* var←c37876 */  ))+4)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43764)+109)/* var←c37876 */  ))+5) ) ) ) ;
SOURCE(15085, 57)
   srcSel←v10500 =  ( (var←c43732.f4/* target←v6404 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43764)+109)/* var←c37876 */  ))+5)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43764)+109)/* var←c37876 */  ))+4) ) ) ) ;
SOURCE(18136, 52)
   (void) CallWithBothLocked←P120((word) (( (bPt) &var←c43732)+20)/* var←c40180 */ , targetSel←v10472, srcSel←v10500, 1);
   }

static void DoMove←P3576(formal←c0760, formal←c0761, tSel←v10660, srcSel←v10688, targetSel←v10716, formal←c43860)
   word formal←c0760;
   word formal←c0761;
   word tSel←v10660;
   word srcSel←v10688;
   word targetSel←v10716;
   word formal←c43860;
   {
   W20 var←c43796;
   /* declaration of sourceRoot←v10604 skipped */ 
   /* declaration of destRoot←v10632 skipped */ 
   register ptr gf←c43828 =  (ptr) &globalframe;
   formal←c43860 = (formal←c43860 - 20);
   (* (( (ptr) &var←c43796)+4)/* sourceRoot←v10604 */  ) = formal←c0760;
   (* (( (ptr) &var←c43796)+5)/* destRoot←v10632 */  ) = formal←c0761;
   (*  (ptr) &var←c43796 ) = formal←c43860;
   /* DoMove: */ 
SOURCE(15144, 2988)
SOURCE(15231, 2901)
SOURCE(15233, 10)
   {
      word pDel←v10744;
      word srcGrain←v10772;
SOURCE(15245, 66)
      {
         word pd160;
         pd160 = (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+65) );
         srcGrain←v10772 = (word) ( *( (fPt) ((*  (ptr) pd160 ))))(srcSel←v10688, pd160);
         };
SOURCE(15313, 568)
      if ((srcGrain←v10772 == 3)) {
SOURCE(15335, 554)
         {
            word newSelNode←v10816;
SOURCE(15370, 67)
            {
               word pd161;
               pd161 = (* (( (ptr) (* (( (ptr) gf←c43828)+112)/* var←c38708 */  ))+14) );
               newSelNode←v10816 = (word) ( *( (fPt) ((*  (ptr) pd161 ))))((* ((( (ptr) srcSel←v10688)+11)) ), pd161);
               };
SOURCE(15439, 442)
            if ((newSelNode←v10816 == 0)) {
SOURCE(15499, 57)
               {
                  word pd162;
                  pd162 = (* (( (ptr) (* (( (ptr) gf←c43828)+112)/* var←c38708 */  ))+15) );
                  newSelNode←v10816 = (word) ( *( (fPt) ((*  (ptr) pd162 ))))((* (( (ptr) srcSel←v10688)+2) ), 0, pd162);
                  };
SOURCE(15558, 323)
               if ( ( ((newSelNode←v10816 == 0) || (newSelNode←v10816 == (* (( (ptr) &var←c43796)+4)/* sourceRoot←v10604 */  ))) ? ((* (
                  ( (ptr) &var←c43796)+5)/* destRoot←v10632 */  ) != (* (( (ptr) &var←c43796)+4)/* sourceRoot←v10604 */  )) : 0 ) ) {
SOURCE(15634, 249)
                  {
                     word child←v10860;
SOURCE(15636, 52)
                     {
                        word pd163;
                        pd163 = (* (( (ptr) (* (( (ptr) gf←c43828)+112)/* var←c38708 */  ))+28) );
                        child←v10860 = (word) ( *( (fPt) ((*  (ptr) pd163 ))))((* ((( (ptr) &var←c43796)+4)/* sourceRoot←v10604 */ ) ), pd163);
                        };
SOURCE(15690, 29)
                     (* (( (ptr) srcSel←v10688)+2) ) = child←v10860;
SOURCE(15759, 122)
                     {
                        word var←c40212;
                        word pd164;
                        pd164 = (* (( (ptr) (* (( (ptr) gf←c43828)+114)/* var←c38772 */  ))+15) );
                        var←c40212 = (word) ( *( (fPt) ((*  (ptr) pd164 ))))((* (( (ptr) &var←c43796)+4)/* sourceRoot←v10604 */  ), child←v10860, 0, 0, (*  (ptr) (* (
/*1*/   ( (ptr) (* (( (ptr) gf←c43828)+113)/* var←c38740 */  ))+6) ) ), pd164);
                        };
                     };
                  };
               };
            };
         };
SOURCE(15892, 1838)
      pDel←v10744 = (* (( (ptr) tSel←v10660)+26) );
      if ((0 != pDel←v10744)) {
SOURCE(15957, 483)
         if ((srcGrain←v10772 == 0)) {
SOURCE(15982, 137)
            {
               /* declaration of var←c40244 skipped */ 
               (void) SelectionSpan←P420((word) (( (bPt) &var←c43796)+24)/* var←c40244 */ , tSel←v10660);
               {
                  /* declaration of var←c023 skipped */ 
                  /* declaration of var←c024 skipped */ 
                  (* (( (ptr) &var←c43796)+10)/* var←c023 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+113)/* var←c38740 */  ))+6) ) );
                  (* (( (ptr) &var←c43796)+11)/* var←c024 */  ) = (* (( (ptr) (* (( (ptr) gf←c43828)+114)/* var←c38772 */  ))+6) );
                  {
                     word var←c025;
                     {
                        word var←c0671;
                        var←c0671 = (word) &var←c43796;
                        var←c025 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6816) ), ( ((word)  (fPt) NoName←Q7656) ), var←c0671);
                        };
                     if ((var←c025 == 5)) {
                        goto lab←L100048;
                        };
                     };
                  };
               };
SOURCE(16130, 29)
            (*  (W2Pt) (( (ptr) tSel←v10660)+11) ) = (*  (W2Pt) (( (ptr) tSel←v10660)+2) );
SOURCE(16161, 24)
            (* (( (ptr) tSel←v10660)+22) ) = 0;
            }
         else {
SOURCE(16196, 244)
            {
               W4 var←c40340;
               {
                  /* declaration of var←c40276 skipped */ 
                  /* declaration of var←c40308 skipped */ 
                  (void) SelectionSpan←P420((word) (( (bPt) &var←c43796)+24)/* var←c40276 */ , tSel←v10660);
                  (void) SelectionSpan←P420((word) (( (bPt) &var←c43796)+40)/* var←c40308 */ , srcSel←v10688);
                  {
                     /* declaration of var←c026 skipped */ 
                     /* declaration of var←c027 skipped */ 
                     (* (( (ptr) &var←c43796)+14)/* var←c026 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+113)/* var←c38740 */  ))+6) ) );
                     (* (( (ptr) &var←c43796)+15)/* var←c027 */  ) = (* (( (ptr) (* (( (ptr) gf←c43828)+114)/* var←c38772 */  ))+11) );
                     {
                        /* declaration of var←c028 skipped */ 
                        {
                           word var←c029;
                           {
/*1*/   word var←c0672;
/*1*/   var←c0672 = (word) &var←c43796;
/*1*/   var←c029 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6756) ), ( ((word)  (fPt) NoName←Q7596) ), var←c0672);
/*1*/   };
                           if ((var←c029 == 5)) {
/*1*/   goto lab←L100048;
/*1*/   };
                           };
                        var←c40340 = (*  (W4Pt) (( (ptr) &var←c43796)+16)/* var←c028 */  );
                        };
                     };
                  };
               (*  (W2Pt) (( (ptr) tSel←v10660)+11) ) = (*  (W2Pt) (( (ptr) &var←c40340)+2) );
               (*  (W2Pt) (( (ptr) tSel←v10660)+2) ) = (*  (W2Pt) &var←c40340 );
               };
            };
SOURCE(16461, 26)
         (* (( (ptr) tSel←v10660)+26) ) = 0;
         }
      else {
SOURCE(16496, 1249)
         {
            /* declaration of loc←v10904 skipped */ 
            /* declaration of where←v10932 skipped */ 
            /* declaration of unnest←v10960 skipped */ 
SOURCE(16529, 45)
            {
               word pd165;
               pd165 = (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+64) );
               (void) ( *( (fPt) ((*  (ptr) pd165 ))))((word) (( (bPt) &var←c43796)+24)/* loc←v10904 */ , tSel←v10660, pd165);
               };
SOURCE(16576, 75)
            (* (( (ptr) &var←c43796)+8)/* where←v10932 */  ) =  ( ((* (( (ptr) tSel←v10660)+24) ) == 0) ? 0 : 1 ) ;
SOURCE(16653, 19)
            (* (( (ptr) &var←c43796)+9)/* unnest←v10960 */  ) = 0;
SOURCE(16719, 369)
            if ((srcGrain←v10772 == 3)) {
SOURCE(16780, 94)
               {
                  word tc166;
                  word pd167;
                  if ( ( ((* (( (ptr) &var←c43796)+8)/* where←v10932 */  ) == 0) ? ( (int)(* (( (ptr) &var←c43796)+7) ) >  (int)0) : 0 ) ) {
                     pd167 = (* (( (ptr) (* (( (ptr) gf←c43828)+108)/* var←c37844 */  ))+6) );
                     tc166 =  (word) ( (int)(* (( (ptr) &var←c43796)+7) ) ==  (int)(word) ( *( (fPt) ((*  (ptr) pd167 ))))((* ((( (ptr) &var←c43796)+6)
                        ) ), pd167));
                     }
                  else {
                     tc166 =  (word) 0;
                     };
                  if (tc166) {
SOURCE(16861, 13)
                     (* (( (ptr) &var←c43796)+8)/* where←v10932 */  ) = 1;
                     };
                  };
SOURCE(16915, 31)
               (* (( (ptr) &var←c43796)+7) ) =  (word) -1;
SOURCE(16948, 140)
               if ( ( ((* (( (ptr) &var←c43796)+8)/* where←v10932 */  ) == 1) ? ((* (( (ptr) tSel←v10660)+2) ) != (* (( (ptr) tSel←v10660)+11)
                )) : 0 ) ) {
SOURCE(17010, 78)
                  {
                     word pd168;
                     word pd169;
                     pd168 = (* (( (ptr) (* (( (ptr) gf←c43828)+112)/* var←c38708 */  ))+16) );
                     pd169 = (* (( (ptr) (* (( (ptr) gf←c43828)+112)/* var←c38708 */  ))+16) );
                     (* (( (ptr) &var←c43796)+9)/* unnest←v10960 */  ) = ((word) ( *( (fPt) ((*  (ptr) pd168 ))))((* ((( (ptr) tSel←v10660)+11)
                        ) ), pd168) - (word) ( *( (fPt) ((*  (ptr) pd169 ))))((* ((( (ptr) tSel←v10660)+2)) ), pd169));
                     };
                  };
               };
SOURCE(17093, 327)
            if ((srcGrain←v10772 == 0)) {
SOURCE(17118, 35)
               (*  (W2Pt) (( (ptr) tSel←v10660)+11) ) = (*  (W2Pt) (( (ptr) &var←c43796)+6)/* loc←v10904 */  );
               (*  (W2Pt) (( (ptr) tSel←v10660)+2) ) = (*  (W2Pt) (( (ptr) &var←c43796)+6)/* loc←v10904 */  );
SOURCE(17155, 24)
               (* (( (ptr) tSel←v10660)+22) ) = 0;
               }
            else {
SOURCE(17190, 230)
               {
                  W4 var←c40436;
                  {
                     /* declaration of var←c40404 skipped */ 
                     (void) SelectionSpan←P420((word) (( (bPt) &var←c43796)+40)/* var←c40404 */ , srcSel←v10688);
                     {
                        /* declaration of var←c030 skipped */ 
                        /* declaration of var←c031 skipped */ 
                        (* (( (ptr) &var←c43796)+14)/* var←c030 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+113)/* var←c38740 */  ))+6) ) );
                        (* (( (ptr) &var←c43796)+15)/* var←c031 */  ) = (* (( (ptr) (* (( (ptr) gf←c43828)+114)/* var←c38772 */  ))+10) );
                        {
                           /* declaration of var←c032 skipped */ 
                           {
/*1*/   word var←c033;
/*1*/   {
/*1*/      word var←c0673;
/*1*/      var←c0673 = (word) &var←c43796;
/*1*/      var←c033 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6696) ), ( ((word)  (fPt) NoName←Q7536) ), var←c0673);
/*1*/      };
/*1*/   if ((var←c033 == 5)) {
/*1*/      goto lab←L100048;
/*1*/      };
/*1*/   };
                           var←c40436 = (*  (W4Pt) (( (ptr) &var←c43796)+16)/* var←c032 */  );
                           };
                        };
                     };
                  (*  (W2Pt) (( (ptr) tSel←v10660)+11) ) = (*  (W2Pt) (( (ptr) &var←c40436)+2) );
                  (*  (W2Pt) (( (ptr) tSel←v10660)+2) ) = (*  (W2Pt) &var←c40436 );
                  };
               };
SOURCE(17441, 289)
            if (( (int)(* (( (ptr) &var←c43796)+9)/* unnest←v10960 */  ) >  (int)0)) {
SOURCE(17532, 198)
SOURCE(17532, 198)
               {
                  W4 var←c40500;
                  {
                     /* declaration of var←c034 skipped */ 
                     /* declaration of var←c035 skipped */ 
                     /* declaration of var←c036 skipped */ 
                     (*  (W2Pt) (( (ptr) &var←c43796)+10) ) = (*  (W2Pt) (( (ptr) tSel←v10660)+2) );
                     (*  (W2Pt) (( (ptr) &var←c43796)+12) ) = (*  (W2Pt) (( (ptr) tSel←v10660)+11) );
                     (* (( (ptr) &var←c43796)+14)/* var←c035 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+113)/* var←c38740 */  ))+6) ) );
                     (* (( (ptr) &var←c43796)+15)/* var←c036 */  ) = (* (( (ptr) (* (( (ptr) gf←c43828)+114)/* var←c38772 */  ))+18) );
                     {
                        /* declaration of var←c037 skipped */ 
                        {
                           word var←c038;
                           {
/*1*/   word var←c0674;
/*1*/   var←c0674 = (word) &var←c43796;
/*1*/   var←c038 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6636) ), ( ((word)  (fPt) NoName←Q7476) ), var←c0674);
/*1*/   };
                           if ((var←c038 == 6)) {
/*1*/   goto lab←L100056;
/*1*/   };
                           };
                        var←c40500 = (*  (W4Pt) (( (ptr) &var←c43796)+16)/* var←c037 */  );
                        };
                     };
                  (*  (W2Pt) (( (ptr) tSel←v10660)+11) ) = (*  (W2Pt) (( (ptr) &var←c40500)+2) );
                  (*  (W2Pt) (( (ptr) tSel←v10660)+2) ) = (*  (W2Pt) &var←c40500 );
                  };
               lab←L100056: ;
               };
            };
         };
SOURCE(17749, 37)
      (* (( (ptr) tSel←v10660)+22) ) = (* (( (ptr) srcSel←v10688)+22) );
SOURCE(17788, 26)
      (void) UnConvertNodeSelects←P840(tSel←v10660);
SOURCE(17816, 22)
      (* (( (ptr) tSel←v10660)+24) ) = 1;
SOURCE(17840, 47)
      {
         word pd170;
         pd170 = (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd170 ))))(tSel←v10660, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+7)
             ) ), pd170);
         };
SOURCE(17910, 70)
      if (((* (( (ptr) formal←c43860)+4) ) == 0)) {
         (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+7) ) ))+26) ) = 1;
         }
      else {
         if (((* (( (ptr) formal←c43860)+4) ) == 1)) {
            (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+7) ) ))+26) ) = (0 != pDel←v10744);
            }
         else {
            (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+7) ) ))+26) ) = 0;
            };
         };
SOURCE(17982, 26)
      (* (( (ptr) tSel←v10660)+26) ) = 0;
SOURCE(18010, 44)
      {
         word pd171;
         pd171 = (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd171 ))))(tSel←v10660, 0, 0, 0, 1, pd171);
         };
      };
   goto lab←L100059;
   lab←L100048: ;
SOURCE(18071, 44)
   {
      word pd172;
      pd172 = (* (( (ptr) (* (( (ptr) gf←c43828)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd172 ))))(tSel←v10660, 0, 0, 0, 1, pd172);
      };
SOURCE(18117, 13)
   (void) EditFailed←P240(0);
   lab←L100059: ;
   }

static word NoName←Q6636(formal←c0606)
   word formal←c0606;
   {
SOURCE(17532, 198)
   {
      word pd173;
      pd173 = (* (( (ptr) formal←c0606)+15) );
      (void) ( *( (fPt) ((*  (ptr) pd173 ))))((word) (( (bPt) formal←c0606)+64), (* (( (ptr) formal←c0606)+5) ), (*  (W4Pt) (( (ptr) formal←c0606)+10)
          ), INEG((* (( (ptr) formal←c0606)+9) )), (* (( (ptr) formal←c0606)+14) ), pd173);
      };
   return(0);
   }

static word NoName←Q6696(formal←c0607)
   word formal←c0607;
   {
SOURCE(17190, 230)
   {
      word pd174;
      pd174 = (* (( (ptr) formal←c0607)+15) );
      (void) ( *( (fPt) ((*  (ptr) pd174 ))))((word) (( (bPt) formal←c0607)+64), (* (( (ptr) formal←c0607)+5) ), (* (( (ptr) formal←c0607)+4)
          ), (*  (W2Pt) (( (ptr) formal←c0607)+6) ), (*  (W4Pt) (( (ptr) formal←c0607)+10) ), (* (( (ptr) formal←c0607)+8) )
         , 0, (* (( (ptr) formal←c0607)+14) ), pd174);
      };
   return(0);
   }

static word NoName←Q6756(formal←c0608)
   word formal←c0608;
   {
SOURCE(16196, 244)
   {
      word pd175;
      pd175 = (* (( (ptr) formal←c0608)+15) );
      (void) ( *( (fPt) ((*  (ptr) pd175 ))))((word) (( (bPt) formal←c0608)+64), (* (( (ptr) formal←c0608)+5) ), (* (( (ptr) formal←c0608)+4)
          ), (*  (W4Pt) (( (ptr) formal←c0608)+6) ), (*  (W4Pt) (( (ptr) formal←c0608)+10) ), 1
         , (* (( (ptr) formal←c0608)+14) ), pd175);
      };
   return(0);
   }

static word NoName←Q6816(formal←c0609)
   word formal←c0609;
   {
SOURCE(15982, 137)
   {
      word pd176;
      pd176 = (* (( (ptr) formal←c0609)+11) );
      (void) ( *( (fPt) ((*  (ptr) pd176 ))))((* (( (ptr) formal←c0609)+5) ), (*  (W4Pt) (( (ptr) formal←c0609)+6) ), (* (( (ptr) formal←c0609)+10)
          ), 1, pd176);
      };
   return(0);
   }

static void Transpose←P1260(formal←c0762)
   word formal←c0762;
   {
   W7 var←c43892;
   /* declaration of target←v6464 skipped */ 
   register ptr gf←c43924 =  (ptr) &globalframe;
   /* declaration of var←c40532 skipped */ 
   word targetSel←v11004;
   word srcSel←v11032;
   var←c43892.f4/* target←v6464 */  = formal←c0762;
   /* Transpose: */ 
SOURCE(18194, 882)
   {
      word tmpAddr177;
      tmpAddr177 = (word) (( (ptr) &var←c43892)+5)/* var←c40532 */ ;
      (*  (ptr) tmpAddr177 ) = ( ((word)  (fPt) DoTranspose←P3828) );
      (* (( (ptr) tmpAddr177) + 1) ) = 1;
      };
SOURCE(18253, 60)
   targetSel←v11004 =  ( (var←c43892.f4/* target←v6464 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43924)+109)/* var←c37876 */  ))+4)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43924)+109)/* var←c37876 */  ))+5) ) ) ) ;
SOURCE(18315, 57)
   srcSel←v11032 =  ( (var←c43892.f4/* target←v6464 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43924)+109)/* var←c37876 */  ))+5)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43924)+109)/* var←c37876 */  ))+4) ) ) ) ;
SOURCE(19019, 57)
   (void) CallWithBothLocked←P120((word) (( (bPt) &var←c43892)+20)/* var←c40532 */ , targetSel←v11004, srcSel←v11032, 1);
   }

static void DoTranspose←P3828(formal←c0763, formal←c0764, tSel←v11192, srcSel←v11220, targetSel←v11248, formal←c44020)
   word formal←c0763;
   word formal←c0764;
   word tSel←v11192;
   word srcSel←v11220;
   word targetSel←v11248;
   word formal←c44020;
   {
   W24 var←c43956;
   /* declaration of sourceRoot←v11136 skipped */ 
   /* declaration of destRoot←v11164 skipped */ 
   register ptr gf←c43988 =  (ptr) &globalframe;
   formal←c44020 = (formal←c44020 - 20);
   (* (( (ptr) &var←c43956)+4)/* sourceRoot←v11136 */  ) = formal←c0763;
   (* (( (ptr) &var←c43956)+5)/* destRoot←v11164 */  ) = formal←c0764;
   (*  (ptr) &var←c43956 ) = formal←c44020;
   /* DoTranspose: */ 
SOURCE(18374, 642)
SOURCE(18466, 550)
SOURCE(18468, 232)
   {
      W4 var←c40628;
      /* declaration of var←c40564 skipped */ 
      /* declaration of var←c40596 skipped */ 
      /* declaration of var←c039 skipped */ 
      /* declaration of var←c040 skipped */ 
      /* declaration of var←c041 skipped */ 
      (void) SelectionSpan←P420((word) (( (bPt) &var←c43956)+24)/* var←c40564 */ , targetSel←v11248);
      (void) SelectionSpan←P420((word) (( (bPt) &var←c43956)+40)/* var←c40596 */ , srcSel←v11220);
      (* (( (ptr) &var←c43956)+14)/* var←c039 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43988)+113)/* var←c38740 */  ))+6) ) );
      (* (( (ptr) &var←c43956)+15)/* var←c040 */  ) = (* (( (ptr) (* (( (ptr) gf←c43988)+114)/* var←c38772 */  ))+12) );
      {
         word var←c042;
         {
            word var←c0675;
            var←c0675 = (word) &var←c43956;
            var←c042 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6876) ), ( ((word)  (fPt) NoName←Q7416) ), var←c0675);
            };
         if ((var←c042 == 7)) {
            goto lab←L100060;
            };
         };
      var←c40628 = (*  (W4Pt) (( (ptr) &var←c43956)+16)/* var←c041 */  );
      (*  (W2Pt) (( (ptr) srcSel←v11220)+11) ) = (*  (W2Pt) (( (ptr) &var←c40628)+2) );
      (*  (W2Pt) (( (ptr) srcSel←v11220)+2) ) = (*  (W2Pt) &var←c40628 );
      };
SOURCE(18720, 28)
   (void) UnConvertNodeSelects←P840(srcSel←v11220);
SOURCE(18750, 28)
   (* (( (ptr) srcSel←v11220)+26) ) = 0;
SOURCE(18780, 46)
   {
      word pd178;
      pd178 = (* (( (ptr) (* (( (ptr) gf←c43988)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd178 ))))(srcSel←v11220, 0, 0, 0, 1, pd178);
      };
SOURCE(18828, 49)
   {
      word pd179;
      pd179 = (* (( (ptr) (* (( (ptr) gf←c43988)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd179 ))))(srcSel←v11220, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c43988)+109)/* var←c37876 */  ))+7)
          ) ), pd179);
      };
   goto lab←L100063;
   lab←L100060: ;
SOURCE(18915, 84)
   {
      word pd180;
      pd180 = (* (( (ptr) (* (( (ptr) gf←c43988)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd180 ))))( ( ((* (( (ptr) formal←c44020)+4) ) == 0) ? targetSel←v11248 : srcSel←v11220 ) , 0, 0, 0, 1, pd180)
      ;
      };
SOURCE(19001, 13)
   (void) EditFailed←P240(0);
   lab←L100063: ;
   }

static word NoName←Q6876(formal←c0613)
   word formal←c0613;
   {
SOURCE(18468, 232)
   {
      word pd181;
      pd181 = (* (( (ptr) formal←c0613)+15) );
      (void) ( *( (fPt) ((*  (ptr) pd181 ))))((word) (( (bPt) formal←c0613)+64), (* (( (ptr) formal←c0613)+5) ), (* (( (ptr) formal←c0613)+4)
          ), (*  (W4Pt) (( (ptr) formal←c0613)+6) ), (*  (W4Pt) (( (ptr) formal←c0613)+10) ), (* (( (ptr) formal←c0613)+14) ), pd181)
      ;
      };
   return(0);
   }

static void Break←P1320()
   {
   W6 var←c44052;
   /* declaration of var←c40660 skipped */ 
   /* Break: */ 
SOURCE(19082, 994)
   {
      word tmpAddr182;
      tmpAddr182 = (word) (( (ptr) &var←c44052)+4)/* var←c40660 */ ;
      (*  (ptr) tmpAddr182 ) = ( ((word)  (fPt) DoBreak←P3888) );
      (* (( (ptr) tmpAddr182) + 1) ) = 1;
      };
SOURCE(20054, 22)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c44052)+16)/* var←c40660 */ , 1);
   }

static void DoBreak←P3888(formal←c0765, tSel←v11380, formal←c44148)
   word formal←c0765;
   word tSel←v11380;
   word formal←c44148;
   {
   W10 var←c44084;
   /* declaration of root←v11352 skipped */ 
   register ptr gf←c44116 =  (ptr) &globalframe;
   formal←c44148 = (formal←c44148 - 16);
   (* (( (ptr) &var←c44084)+4)/* root←v11352 */  ) = formal←c0765;
   (*  (ptr) &var←c44084 ) = formal←c44148;
   /* DoBreak: */ 
SOURCE(19105, 946)
SOURCE(19158, 893)
SOURCE(19160, 18)
   {
      word null←v11408 = 0;
      /* declaration of caret←v11436 skipped */ 
      word newNode←v11464 = 0;
SOURCE(19180, 24)
      (* (( (ptr) &var←c44084)+5) ) = 0;
      (* (( (ptr) &var←c44084)+6) ) = 0;
SOURCE(19228, 94)
      if ((0 != (* (( (ptr) tSel←v11380)+26) ))) {
SOURCE(19257, 17)
         (void) DoPendingDelete←P180();
SOURCE(19276, 46)
         {
            word pd183;
            pd183 = (* (( (ptr) (* (( (ptr) gf←c44116)+109)/* var←c37876 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd183 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44116)+109)/* var←c37876 */  ))+4) ) ), tSel←v11380, pd183)
            ;
            };
         };
SOURCE(19325, 28)
      {
         word pd184;
         pd184 = (* (( (ptr) (* (( (ptr) gf←c44116)+109)/* var←c37876 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd184 ))))((word) (( (bPt) &var←c44084)+20)/* caret←v11436 */ , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44116)+109)
               /* var←c37876 */  ))+4) ) ), pd184);
         };
SOURCE(19355, 18)
      {
         word pd185;
         pd185 = (* (( (ptr) (* (( (ptr) gf←c44116)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd185 ))))(0, pd185);
         };
SOURCE(19375, 89)
      {
         /* declaration of var←c043 skipped */ 
         /* declaration of var←c044 skipped */ 
         (* (( (ptr) &var←c44084)+7)/* var←c043 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44116)+113)/* var←c38740 */  ))+6) ) );
         (* (( (ptr) &var←c44084)+8)/* var←c044 */  ) = (* (( (ptr) (* (( (ptr) gf←c44116)+114)/* var←c38772 */  ))+16) );
         {
            /* declaration of var←c045 skipped */ 
            {
               word var←c046;
               {
                  word var←c0676;
                  var←c0676 = (word) &var←c44084;
                  var←c046 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6936) ), ( ((word)  (fPt) NoName←Q7356) ), var←c0676);
                  };
               if ((var←c046 == 8)) {
                  goto lab←L100064;
                  };
               };
            newNode←v11464 = (* (( (ptr) &var←c44084)+9)/* var←c045 */  );
            };
         };
SOURCE(19475, 170)
      {
         word tc186;
         word tc187;
         word pd188;
         word pd189;
         if ((newNode←v11464 != 0)) {
            pd188 = (* (( (ptr) (* (( (ptr) gf←c44116)+108)/* var←c37844 */  ))+6) );
            tc187 =  (word) ( (int)(word) ( *( (fPt) ((*  (ptr) pd188 ))))((* ((( (ptr) &var←c44084)+5)) ), pd188) ==  (int)0);
            }
         else {
            tc187 =  (word) 0;
            };
         if (tc187) {
            pd189 = (* (( (ptr) (* (( (ptr) gf←c44116)+108)/* var←c37844 */  ))+6) );
            tc186 =  (word) ( (int)(word) ( *( (fPt) ((*  (ptr) pd189 ))))(newNode←v11464, pd189) >  (int)0);
            }
         else {
            tc186 =  (word) 0;
            };
         if (tc186) {
SOURCE(19560, 56)
            null←v11408 = 1;
            }
         else {
SOURCE(19616, 29)
            (* (( (ptr) tSel←v11380)+2) ) = newNode←v11464;
            };
         };
SOURCE(19682, 24)
      (* (( (ptr) tSel←v11380)+3) ) = 0;
SOURCE(19708, 29)
      (*  (W2Pt) (( (ptr) tSel←v11380)+11) ) = (*  (W2Pt) (( (ptr) tSel←v11380)+2) );
SOURCE(19739, 24)
      (* (( (ptr) tSel←v11380)+22) ) = 0;
SOURCE(19765, 23)
      (* (( (ptr) tSel←v11380)+24) ) = 0;
SOURCE(19790, 26)
      (* (( (ptr) tSel←v11380)+26) ) = 0;
SOURCE(19818, 30)
      (* (( (ptr) tSel←v11380)+25) ) = 0;
SOURCE(19850, 44)
      {
         word pd190;
         pd190 = (* (( (ptr) (* (( (ptr) gf←c44116)+109)/* var←c37876 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd190 ))))(tSel←v11380, 0, 0, 0, 1, pd190);
         };
SOURCE(19896, 77)
      {
         W2 var←c40724;
         var←c40724.f0 = newNode←v11464;
         var←c40724.f1 = 0;
         (void) CheckStartLine←P1440((*  (ptr) tSel←v11380 ), (*  (W2Pt) (( (ptr) &var←c44084)+5)/* caret←v11436 */  ), var←c40724, null←v11408)
         ;
         };
      };
   goto lab←L100067;
   lab←L100064: ;
SOURCE(19990, 44)
   {
      word pd191;
      pd191 = (* (( (ptr) (* (( (ptr) gf←c44116)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd191 ))))(tSel←v11380, 0, 0, 0, 1, pd191);
      };
SOURCE(20036, 13)
   (void) EditFailed←P240(0);
   lab←L100067: ;
   }

static word NoName←Q6936(formal←c0616)
   word formal←c0616;
   {
SOURCE(19375, 89)
   {
      word pd192;
      pd192 = (* (( (ptr) formal←c0616)+8) );
      (* (( (ptr) formal←c0616)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd192 ))))((* (( (ptr) formal←c0616)+4) ), (*  (W2Pt) (( (ptr) formal←c0616)+5)
          ), (* (( (ptr) formal←c0616)+7) ), pd192);
      };
   return(0);
   }

static void Join←P1380()
   {
   W6 var←c44180;
   /* declaration of var←c40756 skipped */ 
   /* Join: */ 
SOURCE(20082, 609)
   {
      word tmpAddr193;
      tmpAddr193 = (word) (( (ptr) &var←c44180)+4)/* var←c40756 */ ;
      (*  (ptr) tmpAddr193 ) = ( ((word)  (fPt) DoJoin←P3996) );
      (* (( (ptr) tmpAddr193) + 1) ) = 1;
      };
SOURCE(20670, 21)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c44180)+16)/* var←c40756 */ , 1);
   }

static void DoJoin←P3996(formal←c0766, tSel←v11612, formal←c44276)
   word formal←c0766;
   word tSel←v11612;
   word formal←c44276;
   {
   W10 var←c44212;
   /* declaration of root←v11584 skipped */ 
   register ptr gf←c44244 =  (ptr) &globalframe;
   formal←c44276 = (formal←c44276 - 16);
   (* (( (ptr) &var←c44212)+4)/* root←v11584 */  ) = formal←c0766;
   (*  (ptr) &var←c44212 ) = formal←c44276;
   /* DoJoin: */ 
SOURCE(20104, 563)
SOURCE(20156, 511)
SOURCE(20158, 22)
   {
      W2 loc←v11640;
      word pred←v11668 = 0;
      /* declaration of node←v11696 skipped */ 
      W2 var←c0349;
SOURCE(20158, 22)
      loc←v11640.f0 = 0;
      loc←v11640.f1 = 0;
SOURCE(20201, 41)
      {
         word pd194;
         pd194 = (* (( (ptr) (* (( (ptr) gf←c44244)+109)/* var←c37876 */  ))+64) );
         (void) ( *( (fPt) ((*  (ptr) pd194 ))))((word) &var←c0349, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44244)+109)/* var←c37876 */  ))+4)
             ) ), pd194);
         };
      (* (( (ptr) &var←c44212)+5)/* node←v11696 */  ) = var←c0349.f0;
SOURCE(20244, 136)
      {
         word pd197;
         if (((* (( (ptr) &var←c44212)+5)/* node←v11696 */  ) == 0)) { goto then0195;};
         {
            word pd196;
            pd196 = (* (( (ptr) (* (( (ptr) gf←c44244)+112)/* var←c38708 */  ))+15) );
            pred←v11668 = (word) ( *( (fPt) ((*  (ptr) pd196 ))))((* (( (ptr) &var←c44212)+5)/* node←v11696 */  ), 0, pd196);
            };
         if ((pred←v11668 == 0)) { goto then0195;};
         pd197 = (* (( (ptr) (* (( (ptr) gf←c44244)+112)/* var←c38708 */  ))+8) );
         if (((word) ( *( (fPt) ((*  (ptr) pd197 ))))(pred←v11668, pd197) == 0)) {
            then0195: ;
SOURCE(20359, 12)
            (void) EditFailed←P240(0);
SOURCE(20373, 7)
            return;
            };
         };
SOURCE(20383, 18)
      {
         word pd198;
         pd198 = (* (( (ptr) (* (( (ptr) gf←c44244)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd198 ))))(0, pd198);
         };
SOURCE(20403, 84)
      {
         /* declaration of var←c047 skipped */ 
         /* declaration of var←c048 skipped */ 
         (* (( (ptr) &var←c44212)+6)/* var←c047 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44244)+113)/* var←c38740 */  ))+6) ) );
         (* (( (ptr) &var←c44212)+7)/* var←c048 */  ) = (* (( (ptr) (* (( (ptr) gf←c44244)+114)/* var←c38772 */  ))+17) );
         {
            /* declaration of var←c049 skipped */ 
            {
               word var←c050;
               {
                  word var←c0677;
                  var←c0677 = (word) &var←c44212;
                  var←c050 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6996) ), ( ((word)  (fPt) NoName←Q7296) ), var←c0677);
                  };
               if ((var←c050 == 9)) {
                  goto lab←L100068;
                  };
               };
            loc←v11640 = (*  (W2Pt) (( (ptr) &var←c44212)+8)/* var←c049 */  );
            };
         };
SOURCE(20498, 29)
      {
         word pd199;
         pd199 = (* (( (ptr) (* (( (ptr) gf←c44244)+109)/* var←c37876 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd199 ))))(tSel←v11612, loc←v11640, pd199);
         };
SOURCE(20529, 60)
      {
         W2 var←c40820;
         var←c40820.f0 = (* (( (ptr) &var←c44212)+5)/* node←v11696 */  );
         var←c40820.f1 = 0;
         (void) CheckStartLine←P1440((*  (ptr) tSel←v11612 ), var←c40820, loc←v11640, 0);
         };
      };
   goto lab←L100071;
   lab←L100068: ;
SOURCE(20606, 44)
   {
      word pd200;
      pd200 = (* (( (ptr) (* (( (ptr) gf←c44244)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd200 ))))(tSel←v11612, 0, 0, 0, 1, pd200);
      };
SOURCE(20652, 13)
   (void) EditFailed←P240(0);
   lab←L100071: ;
   }

static word NoName←Q6996(formal←c0619)
   word formal←c0619;
   {
SOURCE(20403, 84)
   {
      word pd201;
      pd201 = (* (( (ptr) formal←c0619)+7) );
      (void) ( *( (fPt) ((*  (ptr) pd201 ))))((word) (( (bPt) formal←c0619)+32), (* (( (ptr) formal←c0619)+4) ), (* (( (ptr) formal←c0619)+5)
          ), (* (( (ptr) formal←c0619)+6) ), pd201);
      };
   return(0);
   }

static void CheckStartLine←P1440(viewer←v6556, old←v6584, new←v6612, null←v6640)
   word viewer←v6556;
   W2 old←v6584;
   W2 new←v6612;
   word null←v6640;
   {
   register ptr gf←c44308 =  (ptr) &globalframe;
   /* CheckStartLine: */ 
SOURCE(20697, 546)
SOURCE(20802, 441)
   {
      register word v←v11740;
      v←v11740 = viewer←v6556;
      lab←L100075: ;
      if ((v←v11740 != 0)) {
         }
      else {
         goto lab←L100072;
         };
SOURCE(20862, 340)
      {
         word var←c40852;
         var←c40852 = (* (( (ptr) v←v11740)+26) );
         if ((var←c40852 == 0)) {
            goto lab←L100076;
            };
         if (((* (( (ptr) gf←c44308)+7) ) == XR←GetReferentType(var←c40852))) {
            {
               word tdd←v11784;
               tdd←v11784 = var←c40852;
SOURCE(20926, 281)
               {
                  W2 vloc←v11828;
                  word var←c40884;
SOURCE(20928, 52)
                  {
                     word limit202;
                     var←c40884 = (* (( (ptr) tdd←v11784)+1) );
                     vloc←v11828 = (*  (W2Pt) (( (W9Pt) (( (ptr) var←c40884)+3))+(
                           limit202 = (* (( (ptr) var←c40884)+2) ),
                           BCK(0, limit202)
                           )) );
                     };
SOURCE(20982, 220)
                  if ( ( (vloc←v11828.f0 == old←v6584.f0) ? ( (int)vloc←v11828.f1 >=  (int)old←v6584.f1) : 0 ) ) {
SOURCE(21039, 165)
                     {
                        W2 vnew←v11872;
SOURCE(21041, 68)
                        vnew←v11872.f0 = new←v6612.f0;
                        vnew←v11872.f1 = ((new←v6612.f1 + vloc←v11828.f1) - old←v6584.f1);
SOURCE(21111, 52)
                        if ( ( (0 != null←v6640) ? ( (int)vnew←v11872.f1 ==  (int)0) : 0 ) ) {
SOURCE(21143, 20)
                           vnew←v11872.f0 = old←v6584.f0;
                           };
SOURCE(21165, 37)
                        {
                           word pd203;
                           pd203 = (* (( (ptr) (* (( (ptr) gf←c44308)+121)/* var←c40948 */  ))+4) );
                           (void) ( *( (fPt) ((*  (ptr) pd203 ))))(tdd←v11784, vnew←v11872, 0, pd203);
                           };
                        };
                     };
                  };
               };
            }
         else {
            lab←L100076: ;
            };
         };
SOURCE(21219, 24)
      if (((* (( (ptr) v←v11740)+21) ) == viewer←v6556)) {
SOURCE(21243, 4)
         goto lab←L100073;
         };
      v←v11740 = (* (( (ptr) v←v11740)+21) );
      goto lab←L100075;
      lab←L100072: ;
      lab←L100073: ;
      };
   }

static void SaveForPaste←P1500()
   {
   W6 var←c44340;
   /* declaration of var←c40980 skipped */ 
   /* SaveForPaste: */ 
SOURCE(21262, 199)
   {
      word tmpAddr204;
      tmpAddr204 = (word) (( (ptr) &var←c44340)+4)/* var←c40980 */ ;
      (*  (ptr) tmpAddr204 ) = ( ((word)  (fPt) DoSaveForPaste←P4296) );
      (* (( (ptr) tmpAddr204) + 1) ) = 1;
      };
SOURCE(21426, 35)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c44340)+16)/* var←c40980 */ , 0);
   }

static void DoSaveForPaste←P4296(root←v11992, tSel←v12020, formal←c44404)
   word root←v11992;
   word tSel←v12020;
   word formal←c44404;
   {
   register ptr gf←c44372 =  (ptr) &globalframe;
   formal←c44404 = (formal←c44404 - 16);
   /* DoSaveForPaste: */ 
SOURCE(21292, 129)
SOURCE(21354, 67)
   {
      W4 var←c41012;
      (void) SelectionSpan←P420((word) &var←c41012, tSel←v12020);
      {
         word pd205;
         pd205 = (* (( (ptr) (* (( (ptr) gf←c44372)+114)/* var←c38772 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd205 ))))(var←c41012, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44372)+113)/* var←c38740 */  ))+6)
             ) ), pd205);
         };
      };
   }

static void SaveSpanForPaste←P1560(formal←c0767, formal←c0768, formal←c0769)
   W2 formal←c0767;
   W2 formal←c0768;
   word formal←c0769;
   {
   W11 var←c44436;
   /* declaration of startLoc←v6716 skipped */ 
   /* declaration of endLoc←v6744 skipped */ 
   /* declaration of grain←v6772 skipped */ 
   register ptr gf←c44468 =  (ptr) &globalframe;
   /* declaration of root←v12048 skipped */ 
   /* declaration of lockRef←v12076 skipped */ 
   (*  (W2Pt) (( (ptr) &var←c44436)+4)/* startLoc←v6716 */  ) = formal←c0767;
   (*  (W2Pt) (( (ptr) &var←c44436)+6)/* endLoc←v6744 */  ) = formal←c0768;
   (* (( (ptr) &var←c44436)+8)/* grain←v6772 */  ) = formal←c0769;
   /* SaveSpanForPaste: */ 
SOURCE(21467, 528)
SOURCE(21577, 48)
   {
      word pd206;
      pd206 = (* (( (ptr) (* (( (ptr) gf←c44468)+112)/* var←c38708 */  ))+9) );
      (* (( (ptr) &var←c44436)+9)/* root←v12048 */  ) = (word) ( *( (fPt) ((*  (ptr) pd206 ))))((* ((( (ptr) &var←c44436)+4)) ), pd206)
      ;
      };
SOURCE(21627, 33)
   (* (( (ptr) &var←c44436)+10)/* lockRef←v12076 */  ) = 0;
SOURCE(21664, 331)
   {
      word var←c0678;
      var←c0678 = (word) &var←c44436;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q7056) ), ( ((word)  (fPt) NoName←Q7236) ), var←c0678);
      };
   }

static word NoName←Q7056(formal←c0625)
   word formal←c0625;
   {
   register ptr gf←c0624 =  (ptr) &globalframe;
SOURCE(21732, 57)
   {
      word pd207;
      pd207 = (* (( (ptr) (* (( (ptr) gf←c0624)+110)/* var←c37908 */  ))+4) );
      (* (( (ptr) formal←c0625)+10) ) = (word) ( *( (fPt) ((*  (ptr) pd207 ))))((* (( (ptr) formal←c0625)+9) ), (* (( (ptr) gf←c0624)+19)
          ), 0, pd207);
      };
SOURCE(21791, 110)
   if (((* (( (ptr) formal←c0625)+8) ) == 3) || ((* (( (ptr) formal←c0625)+8) ) == 4)) {
SOURCE(21828, 36)
      (* (( (ptr) formal←c0625)+5) ) =  (word) -1;
SOURCE(21866, 35)
      (* (( (ptr) formal←c0625)+7) ) =  (word) -1;
      };
SOURCE(21904, 66)
   {
      W4 var←c41044;
      (*  (W2Pt) &var←c41044 ) = (*  (W2Pt) (( (ptr) formal←c0625)+4) );
      (*  (W2Pt) (( (ptr) &var←c41044)+2) ) = (*  (W2Pt) (( (ptr) formal←c0625)+6) );
      {
         word pd208;
         pd208 = (* (( (ptr) (* (( (ptr) gf←c0624)+114)/* var←c38772 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd208 ))))(var←c41044, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0624)+113)/* var←c38740 */  ))+6)
             ) ), pd208);
         };
      };
SOURCE(21972, 23)
   {
      word pd209;
      pd209 = (* (( (ptr) (* (( (ptr) gf←c0624)+110)/* var←c37908 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd209 ))))((* ((( (ptr) formal←c0625)+9)) ), pd209);
      };
   return(0);
   }

static void Nest←P1620()
   {
   /* Nest: */ 
SOURCE(22004, 39)
SOURCE(22026, 17)
   (void) ChangeNesting←P1740(1);
   }

static void UnNest←P1680()
   {
   /* UnNest: */ 
SOURCE(22047, 42)
SOURCE(22071, 18)
   (void) ChangeNesting←P1740( (word) -1);
   }

static void ChangeNesting←P1740(formal←c0770)
   word formal←c0770;
   {
   W7 var←c44500;
   /* declaration of change←v6864 skipped */ 
   /* declaration of var←c41076 skipped */ 
   var←c44500.f4/* change←v6864 */  = formal←c0770;
   /* ChangeNesting: */ 
SOURCE(22093, 502)
   {
      word tmpAddr210;
      tmpAddr210 = (word) (( (ptr) &var←c44500)+5)/* var←c41076 */ ;
      (*  (ptr) tmpAddr210 ) = ( ((word)  (fPt) DoChangeNesting←P4356) );
      (* (( (ptr) tmpAddr210) + 1) ) = 1;
      };
SOURCE(22565, 30)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c44500)+20)/* var←c41076 */ , 1);
   }

static void DoChangeNesting←P4356(formal←c0771, tSel←v12224, formal←c44596)
   word formal←c0771;
   word tSel←v12224;
   word formal←c44596;
   {
   W15 var←c44532;
   /* declaration of root←v12196 skipped */ 
   register ptr gf←c44564 =  (ptr) &globalframe;
   formal←c44596 = (formal←c44596 - 20);
   (* (( (ptr) &var←c44532)+4)/* root←v12196 */  ) = formal←c0771;
   (*  (ptr) &var←c44532 ) = formal←c44596;
   /* DoChangeNesting: */ 
SOURCE(22135, 427)
SOURCE(22196, 366)
SOURCE(22198, 18)
   {
      word pd211;
      pd211 = (* (( (ptr) (* (( (ptr) gf←c44564)+109)/* var←c37876 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd211 ))))(0, pd211);
      };
SOURCE(22218, 183)
   {
      W4 var←c41204;
      {
         /* declaration of var←c41108 skipped */ 
         {
            W4 var←c41140;
            word first←v35652;
            word last←v35680;
            first←v35652 = (* (( (ptr) tSel←v12224)+2) );
            last←v35680 = (* (( (ptr) tSel←v12224)+11) );
            var←c41140.f0 = first←v35652;
            var←c41140.f1 =  (word) -1;
            var←c41140.f2 = last←v35680;
            var←c41140.f3 =  (word) -1;
            (*  (W4Pt) (( (ptr) &var←c44532)+5)/* var←c41108 */  ) = var←c41140;
            };
         {
            /* declaration of var←c051 skipped */ 
            /* declaration of var←c052 skipped */ 
            (* (( (ptr) &var←c44532)+9)/* var←c051 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44564)+113)/* var←c38740 */  ))+6) ) );
            (* (( (ptr) &var←c44532)+10)/* var←c052 */  ) = (* (( (ptr) (* (( (ptr) gf←c44564)+114)/* var←c38772 */  ))+18) );
            {
               /* declaration of var←c053 skipped */ 
               {
                  word var←c054;
                  {
                     word var←c0679;
                     var←c0679 = (word) &var←c44532;
                     var←c054 = (word) XR←Enable(( ((word)  (fPt) NoName←Q7116) ), ( ((word)  (fPt) NoName←Q7176) ), var←c0679);
                     };
                  if ((var←c054 == 10)) {
                     goto lab←L100079;
                     };
                  };
               var←c41204 = (*  (W4Pt) (( (ptr) &var←c44532)+11)/* var←c053 */  );
               };
            };
         };
      };
SOURCE(22412, 26)
   (* (( (ptr) tSel←v12224)+26) ) = 0;
SOURCE(22440, 44)
   {
      word pd212;
      pd212 = (* (( (ptr) (* (( (ptr) gf←c44564)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd212 ))))(tSel←v12224, 0, 0, 0, 1, pd212);
      };
   goto lab←L100083;
   lab←L100079: ;
SOURCE(22501, 44)
   {
      word pd213;
      pd213 = (* (( (ptr) (* (( (ptr) gf←c44564)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd213 ))))(tSel←v12224, 0, 0, 0, 1, pd213);
      };
SOURCE(22547, 13)
   (void) EditFailed←P240(0);
   lab←L100083: ;
   }

static word NoName←Q7116(formal←c0628)
   word formal←c0628;
   {
SOURCE(22218, 183)
   {
      word pd214;
      pd214 = (* (( (ptr) formal←c0628)+10) );
      (void) ( *( (fPt) ((*  (ptr) pd214 ))))((word) (( (bPt) formal←c0628)+44), (* (( (ptr) formal←c0628)+4) ), (*  (W4Pt) (( (ptr) formal←c0628)+5)
          ), (* (( (ptr) (*  (ptr) formal←c0628 ))+4) ), (* (( (ptr) formal←c0628)+9) ), pd214);
      };
   return(0);
   }

static void ModifyLook←P1800(formal←c0772, formal←c0773)
   word formal←c0772;
   word formal←c0773;
   {
   W8 var←c44628;
   /* declaration of look←v6924 skipped */ 
   /* declaration of op←v6952 skipped */ 
   /* declaration of var←c41236 skipped */ 
   var←c44628.f4/* look←v6924 */  = formal←c0772;
   var←c44628.f5/* op←v6952 */  = formal←c0773;
   /* ModifyLook: */ 
SOURCE(22601, 585)
   {
      word tmpAddr215;
      tmpAddr215 = (word) (( (ptr) &var←c44628)+6)/* var←c41236 */ ;
      (*  (ptr) tmpAddr215 ) = ( ((word)  (fPt) DoModifyLook←P4416) );
      (* (( (ptr) tmpAddr215) + 1) ) = 1;
      };
SOURCE(23159, 27)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c44628)+24)/* var←c41236 */ , 1);
   }

static void DoModifyLook←P4416(root←v12328, tSel←v12356, formal←c44692)
   word root←v12328;
   word tSel←v12356;
   word formal←c44692;
   {
   register ptr gf←c44660 =  (ptr) &globalframe;
   word remLooks←v12384 = 0;
   word addLooks←v12412 = 0;
   formal←c44692 = (formal←c44692 - 24);
   /* DoModifyLook: */ 
SOURCE(22680, 474)
SOURCE(22797, 327)
   if (((* (( (ptr) tSel←v12356)+22) ) != 0)) {
SOURCE(22830, 18)
      {
         word pd216;
         pd216 = (* (( (ptr) (* (( (ptr) gf←c44660)+109)/* var←c37876 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd216 ))))(0, pd216);
         };
SOURCE(22850, 63)
      if (((* (( (ptr) formal←c44692)+5) ) == 0)) {
SOURCE(22865, 27)
         {
            word x217;
            word x218;
            x217 = (* (( (ptr) formal←c44692)+4) );
            x218 = (word) &addLooks←v12412;
            x217 = 32 - (x217+1);
            (*  (ptr) x218 ) = ((*  (ptr) x218 ) & ( ~ (1 << x217))) | (((1)) << x217);
            };
         }
      else {
SOURCE(22892, 21)
         {
            word x219;
            word x220;
            x219 = (* (( (ptr) formal←c44692)+4) );
            x220 = (word) &remLooks←v12384;
            x219 = 32 - (x219+1);
            (*  (ptr) x220 ) = ((*  (ptr) x220 ) & ( ~ (1 << x219))) | (((1)) << x219);
            };
         };
SOURCE(22915, 135)
      {
         W4 var←c41268;
         (*  (W2Pt) &var←c41268 ) = (*  (W2Pt) (( (ptr) tSel←v12356)+2) );
         (*  (W2Pt) (( (ptr) &var←c41268)+2) ) = (*  (W2Pt) (( (ptr) tSel←v12356)+11) );
         {
            word pd221;
            pd221 = (* (( (ptr) (* (( (ptr) gf←c44660)+114)/* var←c38772 */  ))+4) );
            (void) ( *( (fPt) ((*  (ptr) pd221 ))))(root←v12328, var←c41268, remLooks←v12384, addLooks←v12412, (*  (ptr) (* (( (ptr) (* (
                     ( (ptr) gf←c44660)+113)/* var←c38740 */  ))+6) ) ), pd221);
            };
         };
SOURCE(23052, 26)
      (* (( (ptr) tSel←v12356)+26) ) = 0;
SOURCE(23080, 44)
      {
         word pd222;
         pd222 = (* (( (ptr) (* (( (ptr) gf←c44660)+109)/* var←c37876 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd222 ))))(tSel←v12356, 0, 0, 0, 1, pd222);
         };
      };
SOURCE(23129, 25)
   (void) ModifyCaretLook←P1860((* (( (ptr) formal←c44692)+4) ), (* (( (ptr) formal←c44692)+5) ));
   }

static void ModifyCaretLook←P1860(look←v7012, op←v7040)
   word look←v7012;
   word op←v7040;
   {
   register ptr gf←c44724 =  (ptr) &globalframe;
   word remLooks←v12456 = 0;
   word addLooks←v12484 = 0;
   /* ModifyCaretLook: */ 
SOURCE(23192, 420)
SOURCE(23333, 63)
   if ((op←v7040 == 0)) {
SOURCE(23348, 27)
      {
         word x223;
         word x224;
         x223 = (word) &addLooks←v12484;
         x224 = 32 - (look←v7012+1);
         (*  (ptr) x223 ) = ((*  (ptr) x223 ) & ( ~ (1 << x224))) | (((1)) << x224);
         };
      }
   else {
SOURCE(23375, 21)
      {
         word x225;
         word x226;
         x225 = (word) &remLooks←v12456;
         x226 = 32 - (look←v7012+1);
         (*  (ptr) x225 ) = ((*  (ptr) x225 ) & ( ~ (1 << x226))) | (((1)) << x226);
         };
      };
SOURCE(23398, 35)
   {
      word pd227;
      pd227 = (* (( (ptr) (* (( (ptr) gf←c44724)+109)/* var←c37876 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd227 ))))(0, (* (( (ptr) gf←c44724)+20) ), pd227);
      };
SOURCE(23435, 84)
   {
      word var←c41300;
      {
         word var←c41332;
         word old←v36300;
         word remove←v36328;
         word add←v36356;
         old←v36300 = (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44724)+109)/* var←c37876 */  ))+4) ) ))+25) );
         remove←v36328 = remLooks←v12456;
         add←v36356 = addLooks←v12484;
         {
            word var←c41396;
            word looks1←v25780;
            word looks2←v26728;
            {
               word looks1←v26272;
               word looks2←v26304;
               looks1←v26272 = old←v36300;
               looks2←v26304 = (word) XRM←BITNOT(remove←v36328);
               looks1←v25780 = (word) XRM←BITAND(looks1←v26272, looks2←v26304);
               };
            looks2←v26728 = add←v36356;
            var←c41396 = (word) XRM←BITOR(looks1←v25780, looks2←v26728);
            var←c41332 = var←c41396;
            };
         var←c41300 = var←c41332;
         };
      (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44724)+109)/* var←c37876 */  ))+4) ) ))+25) ) = var←c41300;
      };
SOURCE(23521, 71)
   (void) AdjustTypeScriptLooks←P2340((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44724)+109)/* var←c37876 */  ))+4) ) ), addLooks←v12484, remLooks←v12456)
   ;
SOURCE(23594, 18)
   {
      word pd228;
      pd228 = (* (( (ptr) (* (( (ptr) gf←c44724)+109)/* var←c37876 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd228 ))))(0, pd228);
      };
   }

static word GetSelLooks←P1920(sel←v7100)
   word sel←v7100;
   {
   W8 var←c44756;
   register ptr gf←c44788 =  (ptr) &globalframe;
   /* declaration of looks←v7144 skipped */ 
   /* declaration of var←c41524 skipped */ 
   /* declaration of first←v12528 skipped */ 
   /* GetSelLooks: */ 
SOURCE(23618, 651)
   {
      word tmpAddr229;
      tmpAddr229 = (word) (( (ptr) &var←c44756)+5)/* var←c41524 */ ;
      (*  (ptr) tmpAddr229 ) = ( ((word)  (fPt) GetSelLooks←P4476) );
      (* (( (ptr) tmpAddr229) + 1) ) = 1;
      };
SOURCE(23618, 651)
   var←c44756.f4/* looks←v7144 */  = 0;
SOURCE(23690, 18)
   var←c44756.f7/* first←v12528 */  = 1;
SOURCE(24160, 76)
   {
      W4 var←c41556;
      (*  (W2Pt) &var←c41556 ) = (*  (W2Pt) (( (ptr) sel←v7100)+2) );
      (*  (W2Pt) (( (ptr) &var←c41556)+2) ) = (*  (W2Pt) (( (ptr) sel←v7100)+11) );
      {
         word pd230;
         pd230 = (* (( (ptr) (* (( (ptr) gf←c44788)+117)/* var←c39476 */  ))+26) );
         (void) ( *( (fPt) ((*  (ptr) pd230 ))))(var←c41556, (word) (( (bPt) &var←c44756)+20)/* var←c41524 */ , pd230);
         };
      };
SOURCE(24238, 31)
   if ((0 != var←c44756.f7/* first←v12528 */ )) {
SOURCE(24252, 17)
      var←c44756.f4/* looks←v7144 */  = (* (( (ptr) sel←v7100)+25) );
      };
SOURCE(23618, 651)
   return(var←c44756.f4/* looks←v7144 */ );
   }

static word GetSelLooks←P4476(node←v12632, start←v12660, len←v12688, formal←c44852)
   word node←v12632;
   word start←v12660;
   word len←v12688;
   word formal←c44852;
   {
   register ptr gf←c44820 =  (ptr) &globalframe;
   word stop←v12732;
   word end←v12760;
   formal←c44852 = (formal←c44852 - 20);
   /* GetSelLooks: */ 
SOURCE(23710, 445)
SOURCE(23790, 45)
   {
      word pd231;
      word x232;
      pd231 = (* (( (ptr) (* (( (ptr) gf←c44820)+108)/* var←c37844 */  ))+6) );
      end←v12760 = (x232 = (word) ( *( (fPt) ((*  (ptr) pd231 ))))(node←v12632, pd231),
         MIN((int)(word), x232, (start←v12660 + len←v12688)));
      };
SOURCE(23837, 292)
   {
      register word i←v12804;
      register word noName←c41588;
      i←v12804 = start←v12660;
      noName←c41588 = end←v12760;
      if (( (int)i←v12804 >=  (int)noName←c41588)) {
         goto lab←L100087;
         };
      lab←L100090: ;
      {
         word lks←v12848;
SOURCE(23867, 50)
         {
            word pd233;
            pd233 = (* (( (ptr) (* (( (ptr) gf←c44820)+108)/* var←c37844 */  ))+5) );
            lks←v12848 = (word) ( *( (fPt) ((*  (ptr) pd233 ))))(node←v12632, i←v12804, pd233);
            };
SOURCE(23919, 210)
         if ((0 != (* (( (ptr) formal←c44852)+7) ))) {
SOURCE(23935, 13)
            (* (( (ptr) formal←c44852)+7) ) = 0;
SOURCE(23950, 12)
            (* (( (ptr) formal←c44852)+4) ) = lks←v12848;
            }
         else {
SOURCE(23969, 160)
            if ((lks←v12848 != (* (( (ptr) formal←c44852)+4) ))) {
SOURCE(23987, 142)
SOURCE(24009, 53)
               {
                  word pd234;
                  pd234 = (* (( (ptr) (* (( (ptr) gf←c44820)+111)/* var←c38068 */  ))+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd234 ))))((* (( (ptr) gf←c44820)+21) ), 1, pd234);
                  };
SOURCE(24064, 40)
               {
                  word pd235;
                  pd235 = (* (( (ptr) (* (( (ptr) gf←c44820)+111)/* var←c38068 */  ))+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd235 ))))((* (( (ptr) gf←c44820)+22) ), 0, pd235);
                  };
SOURCE(24106, 7)
               {
                  word pd236;
                  pd236 = (* (( (ptr) (* (( (ptr) gf←c44820)+111)/* var←c38068 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd236 ))))(pd236);
                  };
SOURCE(24115, 14)
               return(1);
               };
            };
         };
      i←v12804 = (i←v12804 + 1);
      if (( (int)i←v12804 <  (int)noName←c41588)) {
         goto lab←L100090;
         };
      lab←L100087: ;
      };
SOURCE(24141, 14)
   return(0);
   }

static void ChangeLooks←P1980(formal←c0774, formal←c0775)
   word formal←c0774;
   word formal←c0775;
   {
   W8 var←c44884;
   /* declaration of add←v7204 skipped */ 
   /* declaration of remove←v7232 skipped */ 
   /* declaration of var←c41620 skipped */ 
   var←c44884.f4/* add←v7204 */  = formal←c0774;
   var←c44884.f5/* remove←v7232 */  = formal←c0775;
   /* ChangeLooks: */ 
SOURCE(24304, 237)
   {
      word tmpAddr237;
      tmpAddr237 = (word) (( (ptr) &var←c44884)+6)/* var←c41620 */ ;
      (*  (ptr) tmpAddr237 ) = ( ((word)  (fPt) DoChangeLooks←P4632) );
      (* (( (ptr) tmpAddr237) + 1) ) = 1;
      };
SOURCE(24513, 28)
   (void) CallWithLocks←P60((word) (( (bPt) &var←c44884)+24)/* var←c41620 */ , 1);
   }

static void DoChangeLooks←P4632(root←v12968, tSel←v12996, formal←c44948)
   word root←v12968;
   word tSel←v12996;
   word formal←c44948;
   {
   register ptr gf←c44916 =  (ptr) &globalframe;
   formal←c44948 = (formal←c44948 - 24);
   /* DoChangeLooks: */ 
SOURCE(24364, 144)
SOURCE(24425, 18)
   {
      word pd238;
      pd238 = (* (( (ptr) (* (( (ptr) gf←c44916)+109)/* var←c37876 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd238 ))))(0, pd238);
      };
SOURCE(24445, 33)
   (void) ChangeSelLooks←P2160((* (( (ptr) formal←c44948)+4) ), (* (( (ptr) formal←c44948)+5) ), tSel←v12996);
SOURCE(24480, 28)
   {
      word pd239;
      pd239 = (* (( (ptr) (* (( (ptr) gf←c44916)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd239 ))))(tSel←v12996, 0, 0, 0, 1, pd239);
      };
   }

static void CopyLooks←P2040(formal←c0776)
   word formal←c0776;
   {
   W7 var←c44980;
   /* declaration of target←v7292 skipped */ 
   register ptr gf←c45012 =  (ptr) &globalframe;
   /* declaration of var←c41652 skipped */ 
   word targetSel←v13024;
   word srcSel←v13052;
   var←c44980.f4/* target←v7292 */  = formal←c0776;
   /* CopyLooks: */ 
SOURCE(24547, 592)
   {
      word tmpAddr240;
      tmpAddr240 = (word) (( (ptr) &var←c44980)+5)/* var←c41652 */ ;
      (*  (ptr) tmpAddr240 ) = ( ((word)  (fPt) DoCopyLooks←P4692) );
      (* (( (ptr) tmpAddr240) + 1) ) = 1;
      };
SOURCE(24606, 60)
   targetSel←v13024 =  ( (var←c44980.f4/* target←v7292 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45012)+109)/* var←c37876 */  ))+4)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45012)+109)/* var←c37876 */  ))+5) ) ) ) ;
SOURCE(24668, 57)
   srcSel←v13052 =  ( (var←c44980.f4/* target←v7292 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45012)+109)/* var←c37876 */  ))+5)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45012)+109)/* var←c37876 */  ))+4) ) ) ) ;
SOURCE(25083, 56)
   (void) CallWithBothLocked←P120((word) (( (bPt) &var←c44980)+20)/* var←c41652 */ , targetSel←v13024, srcSel←v13052, 0);
   }

static void DoCopyLooks←P4692(sourceRoot←v13156, destRoot←v13184, tSel←v13212, srcSel←v13240, targetSel←v13268, formal←c45076)
   word sourceRoot←v13156;
   word destRoot←v13184;
   word tSel←v13212;
   word srcSel←v13240;
   word targetSel←v13268;
   word formal←c45076;
   {
   register ptr gf←c45044 =  (ptr) &globalframe;
   formal←c45076 = (formal←c45076 - 20);
   /* DoCopyLooks: */ 
SOURCE(24727, 351)
SOURCE(24821, 49)
   {
      word pd241;
      pd241 = (* (( (ptr) (* (( (ptr) gf←c45044)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd241 ))))(srcSel←v13240, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45044)+109)/* var←c37876 */  ))+7)
          ) ), pd241);
      };
SOURCE(24918, 90)
   {
      word var←c41684;
      var←c41684 = (word) GetSelLooks←P1920(srcSel←v13240);
      (void) ChangeSelLooks←P2160(var←c41684,  (word) -1, targetSel←v13268);
      };
SOURCE(25010, 68)
   {
      word pd242;
      pd242 = (* (( (ptr) (* (( (ptr) gf←c45044)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd242 ))))( ( ((* (( (ptr) formal←c45076)+4) ) == 0) ? targetSel←v13268 : srcSel←v13240 ) , 0, 0, 0, 1, pd242)
      ;
      };
   }

static void TransposeLooks←P2100(formal←c0777)
   word formal←c0777;
   {
   W7 var←c45108;
   /* declaration of target←v7352 skipped */ 
   register ptr gf←c45140 =  (ptr) &globalframe;
   /* declaration of var←c41716 skipped */ 
   word targetSel←v13296;
   word srcSel←v13324;
   var←c45108.f4/* target←v7352 */  = formal←c0777;
   /* TransposeLooks: */ 
SOURCE(25145, 781)
   {
      word tmpAddr243;
      tmpAddr243 = (word) (( (ptr) &var←c45108)+5)/* var←c41716 */ ;
      (*  (ptr) tmpAddr243 ) = ( ((word)  (fPt) DoTransLooks←P4752) );
      (* (( (ptr) tmpAddr243) + 1) ) = 1;
      };
SOURCE(25209, 60)
   targetSel←v13296 =  ( (var←c45108.f4/* target←v7352 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45140)+109)/* var←c37876 */  ))+4)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45140)+109)/* var←c37876 */  ))+5) ) ) ) ;
SOURCE(25271, 57)
   srcSel←v13324 =  ( (var←c45108.f4/* target←v7352 */  == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45140)+109)/* var←c37876 */  ))+5)
    ) ) : (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45140)+109)/* var←c37876 */  ))+4) ) ) ) ;
SOURCE(25868, 58)
   (void) CallWithBothLocked←P120((word) (( (bPt) &var←c45108)+20)/* var←c41716 */ , targetSel←v13296, srcSel←v13324, 1);
   }

static void DoTransLooks←P4752(sourceRoot←v13428, destRoot←v13456, tSel←v13484, srcSel←v13512, targetSel←v13540, formal←c45204)
   word sourceRoot←v13428;
   word destRoot←v13456;
   word tSel←v13484;
   word srcSel←v13512;
   word targetSel←v13540;
   word formal←c45204;
   {
   register ptr gf←c45172 =  (ptr) &globalframe;
   word srcLooks←v13568 = 0;
   word targetLooks←v13596 = 0;
   formal←c45204 = (formal←c45204 - 20);
   /* DoTransLooks: */ 
SOURCE(25330, 533)
SOURCE(25465, 30)
   srcLooks←v13568 = (word) GetSelLooks←P1920(srcSel←v13512);
SOURCE(25497, 36)
   targetLooks←v13596 = (word) GetSelLooks←P1920(targetSel←v13540);
SOURCE(25535, 49)
   {
      word pd244;
      pd244 = (* (( (ptr) (* (( (ptr) gf←c45172)+109)/* var←c37876 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd244 ))))(srcSel←v13512, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45172)+109)/* var←c37876 */  ))+7)
          ) ), pd244);
      };
SOURCE(25608, 18)
   {
      word pd245;
      pd245 = (* (( (ptr) (* (( (ptr) gf←c45172)+109)/* var←c37876 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd245 ))))(0, pd245);
      };
SOURCE(25628, 20)
   {
      word pd246;
      pd246 = (* (( (ptr) (* (( (ptr) gf←c45172)+109)/* var←c37876 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd246 ))))(1, pd246);
      };
SOURCE(25650, 72)
   (void) ChangeSelLooks←P2160(srcLooks←v13568, targetLooks←v13596, targetSel←v13540);
SOURCE(25724, 69)
   (void) ChangeSelLooks←P2160(targetLooks←v13596, srcLooks←v13568, srcSel←v13512);
SOURCE(25795, 68)
   {
      word pd247;
      pd247 = (* (( (ptr) (* (( (ptr) gf←c45172)+109)/* var←c37876 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd247 ))))( ( ((* (( (ptr) formal←c45204)+4) ) == 0) ? targetSel←v13540 : srcSel←v13512 ) , 0, 0, 0, 1, pd247)
      ;
      };
   }

static void ChangeSelLooks←P2160(add←v7412, remove←v7440, targetSel←v7468)
   word add←v7412;
   word remove←v7440;
   word targetSel←v7468;
   {
   register ptr gf←c45236 =  (ptr) &globalframe;
   /* ChangeSelLooks: */ 
SOURCE(25932, 431)
SOURCE(26010, 232)
   if (((* (( (ptr) targetSel←v7468)+22) ) != 0)) {
SOURCE(26050, 159)
      {
         word var←c41748;
         {
            word pd248;
            pd248 = (* (( (ptr) (* (( (ptr) gf←c45236)+109)/* var←c37876 */  ))+63) );
            var←c41748 = (word) ( *( (fPt) ((*  (ptr) pd248 ))))(targetSel←v7468, pd248);
            };
         {
            W4 var←c41780;
            (*  (W2Pt) &var←c41780 ) = (*  (W2Pt) (( (ptr) targetSel←v7468)+2) );
            (*  (W2Pt) (( (ptr) &var←c41780)+2) ) = (*  (W2Pt) (( (ptr) targetSel←v7468)+11) );
            {
               word pd249;
               pd249 = (* (( (ptr) (* (( (ptr) gf←c45236)+114)/* var←c38772 */  ))+4) );
               (void) ( *( (fPt) ((*  (ptr) pd249 ))))(var←c41748, var←c41780, remove←v7440, add←v7412, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45236)+113)
                     /* var←c38740 */  ))+6) ) ), pd249);
               };
            };
         };
SOURCE(26211, 31)
      (* (( (ptr) targetSel←v7468)+26) ) = 0;
      };
SOURCE(26247, 69)
   {
      word var←c41812;
      {
         word var←c41844;
         word old←v36052;
         word remove←v36080;
         word add←v36108;
         old←v36052 = (* (( (ptr) targetSel←v7468)+25) );
         remove←v36080 = remove←v7440;
         add←v36108 = add←v7412;
         {
            word var←c41908;
            word looks1←v36156;
            word looks2←v36184;
            {
               word looks1←v36228;
               word looks2←v36256;
               looks1←v36228 = old←v36052;
               looks2←v36256 = (word) XRM←BITNOT(remove←v36080);
               looks1←v36156 = (word) XRM←BITAND(looks1←v36228, looks2←v36256);
               };
            looks2←v36184 = add←v36108;
            var←c41908 = (word) XRM←BITOR(looks1←v36156, looks2←v36184);
            var←c41844 = var←c41908;
            };
         var←c41812 = var←c41844;
         };
      (* (( (ptr) targetSel←v7468)+25) ) = var←c41812;
      };
SOURCE(26318, 45)
   (void) AdjustTypeScriptLooks←P2340(targetSel←v7468, add←v7412, remove←v7440);
   }

static void ChangeCaretLooks←P2220(add←v7528, remove←v7556)
   word add←v7528;
   word remove←v7556;
   {
   register ptr gf←c45268 =  (ptr) &globalframe;
   /* ChangeCaretLooks: */ 
SOURCE(26369, 224)
SOURCE(26434, 36)
   {
      word pd250;
      pd250 = (* (( (ptr) (* (( (ptr) gf←c45268)+109)/* var←c37876 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd250 ))))(0, (* (( (ptr) gf←c45268)+23) ), pd250);
      };
SOURCE(26472, 59)
   {
      word var←c42036;
      {
         word var←c42068;
         word old←v35804;
         word remove←v35832;
         word add←v35860;
         old←v35804 = (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45268)+109)/* var←c37876 */  ))+4) ) ))+25) );
         remove←v35832 = remove←v7556;
         add←v35860 = add←v7528;
         {
            word var←c42132;
            word looks1←v35908;
            word looks2←v35936;
            {
               word looks1←v35980;
               word looks2←v36008;
               looks1←v35980 = old←v35804;
               looks2←v36008 = (word) XRM←BITNOT(remove←v35832);
               looks1←v35908 = (word) XRM←BITAND(looks1←v35980, looks2←v36008);
               };
            looks2←v35936 = add←v35860;
            var←c42132 = (word) XRM←BITOR(looks1←v35908, looks2←v35936);
            var←c42068 = var←c42132;
            };
         var←c42036 = var←c42068;
         };
      (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45268)+109)/* var←c37876 */  ))+4) ) ))+25) ) = var←c42036;
      };
SOURCE(26533, 40)
   (void) AdjustTypeScriptLooks←P2340((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45268)+109)/* var←c37876 */  ))+4) ) ), add←v7528, remove←v7556)
   ;
SOURCE(26575, 18)
   {
      word pd251;
      pd251 = (* (( (ptr) (* (( (ptr) gf←c45268)+109)/* var←c37876 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd251 ))))(0, pd251);
      };
   }

static word SelAtEndOfTypeScript←P2280(targetSel←v7616)
   word targetSel←v7616;
   {
   register ptr gf←c45300 =  (ptr) &globalframe;
   word var←c7660;
   word tdd←v13640 = 0;
   /* SelAtEndOfTypeScript: */ 
SOURCE(26599, 320)
SOURCE(26692, 43)
   if (((*  (ptr) targetSel←v7616 ) == 0)) {
SOURCE(26721, 14)
      return(0);
      };
SOURCE(26737, 35)
   tdd←v13640 = XR←Narrow((* (( (ptr) (*  (ptr) targetSel←v7616 ))+26) ), (* (( (ptr) gf←c45300)+7) ));
SOURCE(26774, 50)
   if ((tdd←v13640 == 0) || ((* (( (ptr) tdd←v13640)+11) ) == 0)) {
SOURCE(26810, 14)
      return(0);
      };
SOURCE(26846, 58)
   {
      word pd252;
      pd252 = (* (( (ptr) (* (( (ptr) gf←c45300)+120)/* var←c40020 */  ))+9) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd252 ))))(targetSel←v7616, pd252))) {
SOURCE(26890, 14)
         return(0);
         };
      };
SOURCE(26906, 13)
   return(1);
   }

static void AdjustTypeScriptLooks←P2340(targetSel←v7720, add←v7748, remove←v7776)
   word targetSel←v7720;
   word add←v7748;
   word remove←v7776;
   {
   register ptr gf←c45332 =  (ptr) &globalframe;
   /* AdjustTypeScriptLooks: */ 
SOURCE(26925, 197)
SOURCE(27010, 112)
   if ((0 != (word) SelAtEndOfTypeScript←P2280(targetSel←v7720))) {
SOURCE(27052, 70)
      {
         word pd253;
         pd253 = (* (( (ptr) (* (( (ptr) gf←c45332)+122)/* var←c42260 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd253 ))))((*  (ptr) targetSel←v7720 ), remove←v7776, add←v7748, pd253);
         };
      };
   }

static void NoName←Q7176(formal←c0481, formal←c200064, formal←c200065, formal←c200066, formal←c200067)
   word formal←c0481;
   word formal←c200064;
   word formal←c200065;
   word formal←c200066;
   word formal←c200067;
   {
   register ptr gf←c0647 =  (ptr) &globalframe;
   if ((formal←c200065 == (* (( (ptr) (* (( (ptr) gf←c0647)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(22401, 9)
      (*  (ptr) formal←c0481 ) = 2;
      (* (( (ptr) formal←c0481)+1) ) = 10;
      return;
      };
   (*  (ptr) formal←c0481 ) = 0;
   (* (( (ptr) formal←c0481)+1) ) = 0;
   return;
   }

static void NoName←Q7236(formal←c0486, formal←c200060, formal←c200061, formal←c200062, formal←c200063)
   word formal←c0486;
   word formal←c200060;
   word formal←c200061;
   word formal←c200062;
   word formal←c200063;
   {
   register ptr gf←c0648 =  (ptr) &globalframe;
   if ((formal←c200061 == XR←Unwind)) {
SOURCE(21683, 46)
      if (((* (( (ptr) formal←c200060)+10) ) != 0)) {
SOURCE(21705, 24)
         {
            word pd254;
            pd254 = (* (( (ptr) (* (( (ptr) gf←c0648)+110)/* var←c37908 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd254 ))))((* ((( (ptr) formal←c200060)+9)) ), pd254);
            };
         };
      };
   (*  (ptr) formal←c0486 ) = 0;
   (* (( (ptr) formal←c0486)+1) ) = 0;
   return;
   }

static void NoName←Q7296(formal←c0491, formal←c200056, formal←c200057, formal←c200058, formal←c200059)
   word formal←c0491;
   word formal←c200056;
   word formal←c200057;
   word formal←c200058;
   word formal←c200059;
   {
   register ptr gf←c0649 =  (ptr) &globalframe;
   if ((formal←c200057 == (* (( (ptr) (* (( (ptr) gf←c0649)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(20487, 9)
      (*  (ptr) formal←c0491 ) = 2;
      (* (( (ptr) formal←c0491)+1) ) = 9;
      return;
      };
   (*  (ptr) formal←c0491 ) = 0;
   (* (( (ptr) formal←c0491)+1) ) = 0;
   return;
   }

static void NoName←Q7356(formal←c0496, formal←c200052, formal←c200053, formal←c200054, formal←c200055)
   word formal←c0496;
   word formal←c200052;
   word formal←c200053;
   word formal←c200054;
   word formal←c200055;
   {
   register ptr gf←c0650 =  (ptr) &globalframe;
   if ((formal←c200053 == (* (( (ptr) (* (( (ptr) gf←c0650)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(19464, 9)
      (*  (ptr) formal←c0496 ) = 2;
      (* (( (ptr) formal←c0496)+1) ) = 8;
      return;
      };
   (*  (ptr) formal←c0496 ) = 0;
   (* (( (ptr) formal←c0496)+1) ) = 0;
   return;
   }

static void NoName←Q7416(formal←c0501, formal←c200048, formal←c200049, formal←c200050, formal←c200051)
   word formal←c0501;
   word formal←c200048;
   word formal←c200049;
   word formal←c200050;
   word formal←c200051;
   {
   register ptr gf←c0651 =  (ptr) &globalframe;
   if ((formal←c200049 == (* (( (ptr) (* (( (ptr) gf←c0651)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(18700, 18)
      (*  (ptr) formal←c0501 ) = 2;
      (* (( (ptr) formal←c0501)+1) ) = 7;
      return;
      };
   (*  (ptr) formal←c0501 ) = 0;
   (* (( (ptr) formal←c0501)+1) ) = 0;
   return;
   }

static void NoName←Q7476(formal←c0506, formal←c200044, formal←c200045, formal←c200046, formal←c200047)
   word formal←c0506;
   word formal←c200044;
   word formal←c200045;
   word formal←c200046;
   word formal←c200047;
   {
   register ptr gf←c0652 =  (ptr) &globalframe;
   if ((formal←c200045 == (* (( (ptr) (* (( (ptr) gf←c0652)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(17730, 13)
      (*  (ptr) formal←c0506 ) = 2;
      (* (( (ptr) formal←c0506)+1) ) = 6;
      return;
      };
   (*  (ptr) formal←c0506 ) = 0;
   (* (( (ptr) formal←c0506)+1) ) = 0;
   return;
   }

static void NoName←Q7536(formal←c0511, formal←c200040, formal←c200041, formal←c200042, formal←c200043)
   word formal←c0511;
   word formal←c200040;
   word formal←c200041;
   word formal←c200042;
   word formal←c200043;
   {
   register ptr gf←c0653 =  (ptr) &globalframe;
   if ((formal←c200041 == (* (( (ptr) (* (( (ptr) gf←c0653)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(17420, 16)
      (*  (ptr) formal←c0511 ) = 2;
      (* (( (ptr) formal←c0511)+1) ) = 5;
      return;
      };
   (*  (ptr) formal←c0511 ) = 0;
   (* (( (ptr) formal←c0511)+1) ) = 0;
   return;
   }

static void NoName←Q7596(formal←c0516, formal←c200036, formal←c200037, formal←c200038, formal←c200039)
   word formal←c0516;
   word formal←c200036;
   word formal←c200037;
   word formal←c200038;
   word formal←c200039;
   {
   register ptr gf←c0654 =  (ptr) &globalframe;
   if ((formal←c200037 == (* (( (ptr) (* (( (ptr) gf←c0654)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(16440, 16)
      (*  (ptr) formal←c0516 ) = 2;
      (* (( (ptr) formal←c0516)+1) ) = 5;
      return;
      };
   (*  (ptr) formal←c0516 ) = 0;
   (* (( (ptr) formal←c0516)+1) ) = 0;
   return;
   }

static void NoName←Q7656(formal←c0521, formal←c200032, formal←c200033, formal←c200034, formal←c200035)
   word formal←c0521;
   word formal←c200032;
   word formal←c200033;
   word formal←c200034;
   word formal←c200035;
   {
   register ptr gf←c0655 =  (ptr) &globalframe;
   if ((formal←c200033 == (* (( (ptr) (* (( (ptr) gf←c0655)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(16119, 9)
      (*  (ptr) formal←c0521 ) = 2;
      (* (( (ptr) formal←c0521)+1) ) = 5;
      return;
      };
   (*  (ptr) formal←c0521 ) = 0;
   (* (( (ptr) formal←c0521)+1) ) = 0;
   return;
   }

static void NoName←Q7716(formal←c0526, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
   word formal←c0526;
   word formal←c200028;
   word formal←c200029;
   word formal←c200030;
   word formal←c200031;
   {
   register ptr gf←c0656 =  (ptr) &globalframe;
   if ((formal←c200029 == XR←Unwind)) {
SOURCE(12507, 22)
      {
         word pd255;
         pd255 = (* (( (ptr) (* (( (ptr) gf←c0656)+109)/* var←c37876 */  ))+24) );
         (void) ( *( (fPt) ((*  (ptr) pd255 ))))(pd255);
         };
      };
   (*  (ptr) formal←c0526 ) = 0;
   (* (( (ptr) formal←c0526)+1) ) = 0;
   return;
   }

static void NoName←Q7776(formal←c0531, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
   word formal←c0531;
   word formal←c200024;
   word formal←c200025;
   word formal←c200026;
   word formal←c200027;
   {
   register ptr gf←c0657 =  (ptr) &globalframe;
   if ((formal←c200025 == (* (( (ptr) (* (( (ptr) gf←c0657)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(11772, 13)
      (*  (ptr) formal←c0531 ) = 2;
      (* (( (ptr) formal←c0531)+1) ) = 4;
      return;
      };
   (*  (ptr) formal←c0531 ) = 0;
   (* (( (ptr) formal←c0531)+1) ) = 0;
   return;
   }

static void NoName←Q7836(formal←c0536, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
   word formal←c0536;
   word formal←c200020;
   word formal←c200021;
   word formal←c200022;
   word formal←c200023;
   {
   register ptr gf←c0658 =  (ptr) &globalframe;
   if ((formal←c200021 == (* (( (ptr) (* (( (ptr) gf←c0658)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(11464, 16)
      (*  (ptr) formal←c0536 ) = 2;
      (* (( (ptr) formal←c0536)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0536 ) = 0;
   (* (( (ptr) formal←c0536)+1) ) = 0;
   return;
   }

static void NoName←Q7896(formal←c0541, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0541;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c0659 =  (ptr) &globalframe;
   if ((formal←c200017 == (* (( (ptr) (* (( (ptr) gf←c0659)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(10574, 16)
      (*  (ptr) formal←c0541 ) = 2;
      (* (( (ptr) formal←c0541)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0541 ) = 0;
   (* (( (ptr) formal←c0541)+1) ) = 0;
   return;
   }

static void NoName←Q7956(formal←c0546, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0546;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0660 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0660)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(6852, 9)
      (*  (ptr) formal←c0546 ) = 2;
      (* (( (ptr) formal←c0546)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0546 ) = 0;
   (* (( (ptr) formal←c0546)+1) ) = 0;
   return;
   }

static void NoName←Q8016(formal←c0551, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0551;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0661 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0661)+114)/* var←c38772 */  ))+24) ))) {
SOURCE(6251, 9)
      (*  (ptr) formal←c0551 ) = 2;
      (* (( (ptr) formal←c0551)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0551 ) = 0;
   (* (( (ptr) formal←c0551)+1) ) = 0;
   return;
   }

static void NoName←Q8076(formal←c0556, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0556;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   if ((formal←c200005 == XR←Unwind)) {
SOURCE(2875, 9)
      (void) Cleanup←P2400((word) ((( (bPt) formal←c200004)+32)));
      };
   (*  (ptr) formal←c0556 ) = 0;
   (* (( (ptr) formal←c0556)+1) ) = 0;
   return;
   }

static void NoName←Q8136(formal←c0561, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0561;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0662 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
SOURCE(1891, 18)
      {
         word pd256;
         pd256 = (* (( (ptr) (* (( (ptr) gf←c0662)+109)/* var←c37876 */  ))+22) );
         (void) ( *( (fPt) ((*  (ptr) pd256 ))))(0, pd256);
         };
SOURCE(1911, 45)
      if (((* (( (ptr) formal←c200000)+8) ) != 0)) {
SOURCE(1933, 23)
         {
            word pd257;
            pd257 = (* (( (ptr) (* (( (ptr) gf←c0662)+110)/* var←c37908 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd257 ))))((* ((( (ptr) formal←c200000)+6)) ), pd257);
            };
         };
SOURCE(1958, 29)
      if (((* (( (ptr) formal←c200000)+7) ) != 0)) {
SOURCE(1977, 10)
         {
            word pd258;
            pd258 = (* (( (ptr) (* (( (ptr) gf←c0662)+109)/* var←c37876 */  ))+11) );
            (void) ( *( (fPt) ((*  (ptr) pd258 ))))((* ((( (ptr) formal←c200000)+7)) ), pd258);
            };
         };
      };
   (*  (ptr) formal←c0561 ) = 0;
   (* (( (ptr) formal←c0561)+1) ) = 0;
   return;
   }

/* file: TEditInputOpsImpl, module: TEditInputOpsImpl, compiled at: April 23, 1992 11:43:46 am PDT */ 
extern void XR←install←TEditInputOpsImpl() {
   NoName←Q6096();
   }
extern void XR←run←TEditInputOpsImpl() { XR←Start(&globalframe); }