/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 19, 1993 1:11:41 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TEditFormatImpl, module: TEditFormatImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3497914003,3721723652] TEditFormatImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef W9 *W9Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W16 r;} W32;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W2 *W2Pt;
typedef struct {W8 f; W2 r;} W10;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W4 r;} W12;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef struct {W16 f; W15 r;} W31;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W4 *W4Pt;
static float fc1 = 0.5;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define FMAX(x, y, tx, ty)  ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
static float fc100 = 1.0;
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
static float fc125 = 0.0;
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define FMIN(x, y, tx, ty)  ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty )
#define INEG(x)  ( (word) ( - ((int) (word) (x)) ) )
static float fc486 = 2.0;
static float fc493 = -1.0;
static float fc498 = 0.1;
static float fc500 = -1.25;
static float fc503 = 8.25;
static float fc506 = 6.25;
static float fc509 = 3.5;
static float fc516 = 0.8;
static float fc519 = 0.15;
static float fc522 = 0.95;
static float fc525 = 0.7;
static void NoName←Q11952();
static void TEditFormatImpl←P0();
static word FloorI←P60();
static word CeilingI←P120();
static word Allocate←P180();
static void Release←P240();
static word CheckWidthCache←P300();
static void EnterWidthCache←P360();
static void ExpandChars←P420();
static void ExpandFormats←P480();
static word InitScratchRefs←P540();
static void AllocScratchRefs←P600();
static void ReleaseScratchRefs←P660();
static word GetWidthArray←P720();
static word GetTabStop←P780();
static word ComputeTabWidth←P840();
static void ComputePositionVector←P900();
static void FormatLine←P960();
static void Complain←P1080();
static void NormalFormatLine←P1140();
static word NoName←Q12012();
static word NoName←Q12072();
static void NodeStyleExtents←P3576();
static word AmplArt←P3636();
static void TryBreakAfterDash←P3792();
static word GetHyphWidth←P4668();
static word FetchHyph←P1200();
static void RegisterHyphenation←P1260();
static void action←P5172();
static word CharClass←P1320();
static void Paint←P1380();
static void PaintBackground←P1440();
static void Action←P5340();
static void Boxes←P5400();
static void EmitBox←P5460();
static void NormalPaint←P1500();
static word NoName←Q12132();
static void ShowProc←P5784();
static void do←P5940();
static void Resolve←P1560();
static void NormalResolve←P1620();
static void CharPosition←P1680();
static void NormalCharPosition←P1740();
static void BoundingBox←P1800();
static void NormalBoundingBox←P1860();
static void BBPoint←P6288();
static void BBox←P6348();
static void RegisterCharacterArtwork←P1920();
static void UnregisterCharacterArtwork←P1980();
static word GetCharacterArtworkClass←P2040();
static void VRulePaint←P2100();
static word VRuleFormat←P2160();
static void PlaceholderPaint←P2220();
static void path←P6696();
static word PlaceholderFormat←P2280();
static void RegisterArtwork←P2340();
static void UnRegisterArtwork←P2400();
static word GetArtworkClass←P2460();
static word GetArtworkClassForNode←P2520();
static word ArtworkEnabled←P2580();
static word SetArtworkEnabled←P2640();
static void Silly←P2700();
static void NoName←Q12192();
static void NoName←Q12252();
static void NoName←Q12312();
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\320\175\356\223\300\335\324\377\004\101\270\000\000"};
static struct {unsigned f; char r[20];} string3 = {1114129, "\006\007\000\001\004\001\010\001\024\001\040\001\070\001\100\104\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\101\254\000\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\004\005\000"};
static struct {unsigned f; char r[4];} string6 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string7 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\320\175\356\223\300\335\324\377\004\102\360\000\000"};
static struct {unsigned f; char r[4];} string9 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\101\174\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\003\010\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\101\160\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\320\175\356\223\300\335\324\377\004\102\330\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\320\175\356\223\300\335\324\377\004\101\364\000\000"};
static struct {unsigned f; char r[4];} string15 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string16 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\100\164\000\000"};
static struct {unsigned f; char r[24];} string18 = {1441814, "\006\011\000\001\004\001\010\001\014\001\020\001\024\001\034\001\100\124\001\100\130\001\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\100\200\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\100\230\000\000"};
static struct {unsigned f; char r[12];} string21 = {655370, "\011\000$  \000\010\004@\216\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\100\260\000\000"};
static struct {unsigned f; char r[44];} string23 = {2752556, "\260\006\005\146\151\162\163\164\257\300\320\175\356\223\300\335\324\377\004\100\324\005\004\162\145\163\164\214\257\300\320\175\356\223\300\335\324\377\004\100\324\261\000"};
static struct {unsigned f; char r[4];} string24 = {131074, "\004\007\000"};
static struct {unsigned f; char r[32];} string25 = {2031648, "\205\210\257\300\231\102\273\313\300\344\000\142\023\100\164\040\100\176\257\300\227\306\253\223\300\107\163\142\023\103\370"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string27 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[8];} string28 = {327688, "Tioga\000\000"};
static struct {unsigned f; char r[8];} string29 = {327688, "Error\000\000"};
static struct {unsigned f; char r[12];} string30 = {655372, "FormatLine\000"};
static struct {unsigned f; char r[8];} string31 = {393224, "PTioga\000"};
static struct {unsigned f; char r[12];} string32 = {720908, "Placeholder"};
static struct {unsigned f; char r[8];} string33 = {458760, "Postfix"};
static struct {unsigned f; char r[8];} string34 = {458760, "Artwork"};
static struct {unsigned f; char r[48];} string35 = {2949168, "TEditFormatImpl: Character Artwork Format bug\000\000"};
static struct {unsigned f; char r[20];} string36 = {1245204, "AllocateNewLineInfo"};
static struct {unsigned f; char r[48];} string37 = {2883632, "TEditFormatImpl: Character Artwork Paint bug\000\000\000"};
static struct {unsigned f; char r[8];} string38 = {327688, "Silly\000\000"};
static struct {unsigned f; char r[8];} string39 = {327688, "VRule\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\320\175\356\223\300\335\324\377\004\100\164\000\000"};
static struct {unsigned f; char r[36];} string41 = {2228258, "\006\012\054\001\100\104\001\100\154\004\007\100\204\001\100\214\001\100\220\001\100\224\001\100\230\001\100\234\001\101\000\004\137\377\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\170\064\225\306\300\207\372\245\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\136\334\260\200\300\074\241\343\352\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\167\317\044\003\300\277\140\004\026\100\150\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\375\366\273\111\300\156\046\321\053\100\150\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\051\356\171\277\300\146\001\231\234\100\150\000\000"};
static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\240\236\274\171\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\346\312\312\137\300\332\074\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\353\035\365\325\300\132\075\117\337\100\150\000\000"};
static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string62 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\100\150\000\000"};
static struct {unsigned f; char r[32];} string63 = {2031648, "\211\023\022\105\170\164\162\141\106\157\162\155\141\164\111\156\146\157\122\145\160\300\353\351\362\137\300\156\374\044\211"};
static struct {
   word f0[188]; 
   } globalframe = {
   {0}
   };

static void NoName←Q11952()
   {
   register ptr gf←c0802 =  (ptr) &globalframe;
   word var←c70380;
   (* (( (ptr) gf←c0802)+8)/* minAmplifySpace←v4036 */  ) = (*  (ptr) &fc1 );
   (* (( (ptr) gf←c0802)+9)/* minHyphLetters←v4064 */  ) = 7;
   (* (( (ptr) gf←c0802)+13)/* scratchLineInfoLimit←v4232 */  ) = 300;
   (* (( (ptr) gf←c0802)+16)/* widthCacheSize←v4372 */  ) = 12;
   (* (( (ptr) gf←c0802)+165) ) = ( ((word)  (fPt) TEditFormatImpl←P0) );
   (* (( (ptr) gf←c0802)+163) ) = ( ((word)  (fPt) FloorI←P60) );
   (* (( (ptr) gf←c0802)+161) ) = ( ((word)  (fPt) CeilingI←P120) );
   (* (( (ptr) gf←c0802)+159) ) = ( ((word)  (fPt) Allocate←P180) );
   (* (( (ptr) gf←c0802)+157) ) = ( ((word)  (fPt) Release←P240) );
   (* (( (ptr) gf←c0802)+155) ) = ( ((word)  (fPt) CheckWidthCache←P300) );
   (* (( (ptr) gf←c0802)+153) ) = ( ((word)  (fPt) EnterWidthCache←P360) );
   (* (( (ptr) gf←c0802)+151) ) = ( ((word)  (fPt) ExpandChars←P420) );
   (* (( (ptr) gf←c0802)+149) ) = ( ((word)  (fPt) ExpandFormats←P480) );
   (* (( (ptr) gf←c0802)+147) ) = ( ((word)  (fPt) InitScratchRefs←P540) );
   (* (( (ptr) gf←c0802)+145) ) = ( ((word)  (fPt) AllocScratchRefs←P600) );
   (* (( (ptr) gf←c0802)+143) ) = ( ((word)  (fPt) ReleaseScratchRefs←P660) );
   (* (( (ptr) gf←c0802)+141) ) = ( ((word)  (fPt) GetWidthArray←P720) );
   (* (( (ptr) gf←c0802)+139) ) = ( ((word)  (fPt) GetTabStop←P780) );
   (* (( (ptr) gf←c0802)+137) ) = ( ((word)  (fPt) ComputeTabWidth←P840) );
   (* (( (ptr) gf←c0802)+135) ) = ( ((word)  (fPt) ComputePositionVector←P900) );
   (* (( (ptr) gf←c0802)+133) ) = ( ((word)  (fPt) FormatLine←P960) );
   (* (( (ptr) gf←c0802)+131) ) = ( ((word)  (fPt) Complain←P1080) );
   (* (( (ptr) gf←c0802)+129) ) = ( ((word)  (fPt) NormalFormatLine←P1140) );
   (* (( (ptr) gf←c0802)+127) ) = ( ((word)  (fPt) FetchHyph←P1200) );
   (* (( (ptr) gf←c0802)+125) ) = ( ((word)  (fPt) RegisterHyphenation←P1260) );
   (* (( (ptr) gf←c0802)+123) ) = ( ((word)  (fPt) CharClass←P1320) );
   (* (( (ptr) gf←c0802)+121) ) = ( ((word)  (fPt) Paint←P1380) );
   (* (( (ptr) gf←c0802)+119) ) = ( ((word)  (fPt) PaintBackground←P1440) );
   (* (( (ptr) gf←c0802)+117) ) = ( ((word)  (fPt) NormalPaint←P1500) );
   (* (( (ptr) gf←c0802)+115) ) = ( ((word)  (fPt) Resolve←P1560) );
   (* (( (ptr) gf←c0802)+113) ) = ( ((word)  (fPt) NormalResolve←P1620) );
   (* (( (ptr) gf←c0802)+111) ) = ( ((word)  (fPt) CharPosition←P1680) );
   (* (( (ptr) gf←c0802)+109) ) = ( ((word)  (fPt) NormalCharPosition←P1740) );
   (* (( (ptr) gf←c0802)+107) ) = ( ((word)  (fPt) BoundingBox←P1800) );
   (* (( (ptr) gf←c0802)+105) ) = ( ((word)  (fPt) NormalBoundingBox←P1860) );
   (* (( (ptr) gf←c0802)+103) ) = ( ((word)  (fPt) RegisterCharacterArtwork←P1920) );
   (* (( (ptr) gf←c0802)+101) ) = ( ((word)  (fPt) UnregisterCharacterArtwork←P1980) );
   (* (( (ptr) gf←c0802)+99) ) = ( ((word)  (fPt) GetCharacterArtworkClass←P2040) );
   (* (( (ptr) gf←c0802)+97) ) = ( ((word)  (fPt) VRulePaint←P2100) );
   (* (( (ptr) gf←c0802)+95) ) = ( ((word)  (fPt) VRuleFormat←P2160) );
   (* (( (ptr) gf←c0802)+93) ) = ( ((word)  (fPt) PlaceholderPaint←P2220) );
   (* (( (ptr) gf←c0802)+91) ) = ( ((word)  (fPt) PlaceholderFormat←P2280) );
   (* (( (ptr) gf←c0802)+89) ) = ( ((word)  (fPt) RegisterArtwork←P2340) );
   (* (( (ptr) gf←c0802)+87) ) = ( ((word)  (fPt) UnRegisterArtwork←P2400) );
   (* (( (ptr) gf←c0802)+85) ) = ( ((word)  (fPt) GetArtworkClass←P2460) );
   (* (( (ptr) gf←c0802)+83) ) = ( ((word)  (fPt) GetArtworkClassForNode←P2520) );
   (* (( (ptr) gf←c0802)+81) ) = ( ((word)  (fPt) ArtworkEnabled←P2580) );
   (* (( (ptr) gf←c0802)+79) ) = ( ((word)  (fPt) SetArtworkEnabled←P2640) );
   (* (( (ptr) gf←c0802)+77) ) = ( ((word)  (fPt) Silly←P2700) );
   (* (( (ptr) gf←c0802)+42) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c0802)+43) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0802)+44) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0802)+45) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string7);
   (* (( (ptr) gf←c0802)+46) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c0802)+47) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0802)+48) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string7);
   (* (( (ptr) gf←c0802)+50) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string7);
   (* (( (ptr) gf←c0802)+51) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0802)+52) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string7);
   (* (( (ptr) gf←c0802)+53) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18);
   (* (( (ptr) gf←c0802)+55) ) = (word) XR←GetTypeIndexS((word) (&string19));
   (* (( (ptr) gf←c0802)+56) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21);
   (* (( (ptr) gf←c0802)+58) ) = (word) XR←GetTypeIndexS((word) (&string22));
   (* (( (ptr) gf←c0802)+59) ) = (word) XR←GetTypeIndex((word) &string23, 0, (word) &string24);
   (* (( (ptr) gf←c0802)+62) ) = (word) XR←GetTypeIndexS((word) (&string25));
   (* (( (ptr) gf←c0802)+63) ) = (word) XR←GetTypeIndex((word) &string26, 0, (word) &string27);
   (*  (ptr) (( (bPt) gf←c0802)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0802)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0802)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0802)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0802)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+52) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0802)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0802)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0802)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+52) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0802)+288) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0802)+292) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+52) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0802)+296) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0802)+300) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0802)+304) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0802)+44) ), (word) &string39);
   (void) XR←DeclareGlobalFrame((word) "TEditFormatImpl", &globalframe, (word) XR←GetTypeIndex((word) &string40, 0, (word) &string41)
      , (word) (( (bPt) gf←c0802)+660)/* var←c59916 */ );
   var←c70380 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string42)), 16);
   (* (( (ptr) gf←c0802)+181)/* var←c63052 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67895555);
   var←c70380 = (word) XR←ImportInterface((word) "CodeTimer", (word) XR←GetTypeIndexS((word) (&string43)), 21);
   (* (( (ptr) gf←c0802)+169)/* var←c60140 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 526850);
   (void) XR←ImportProcS(var←c70380, 526338);
   var←c70380 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string44)), 73);
   (* (( (ptr) gf←c0802)+180)/* var←c62988 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67901187);
   var←c70380 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string45)), 84);
   (* (( (ptr) gf←c0802)+183)/* var←c63436 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 801283);
   (void) XR←ImportProcS(var←c70380, 789506);
   (void) XR←ImportProcS(var←c70380, 266241);
   (void) XR←ImportProcS(var←c70380, 1326338);
   (void) XR←ImportProcS(var←c70380, 531202);
   (void) XR←ImportProcS(var←c70380, 795907);
   (void) XR←ImportProcS(var←c70380, 526594);
   (void) XR←ImportProcS(var←c70380, 793603);
   (void) XR←ImportProcS(var←c70380, 529666);
   (void) XR←ImportProcS(var←c70380, 530178);
   (void) XR←ImportProcS(var←c70380, 271361);
   (void) XR←ImportProcS(var←c70380, 530946);
   (void) XR←ImportProcS(var←c70380, 1326850);
   (void) XR←ImportProcS(var←c70380, 265985);
   (void) XR←ImportProcS(var←c70380, 536578);
   (void) XR←ImportProcS(var←c70380, 526338);
   var←c70380 = (word) XR←ImportInterface((word) "ImagerBackdoor", (word) XR←GetTypeIndexS((word) (&string46)), 42);
   (* (( (ptr) gf←c0802)+186)/* var←c68012 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67373057);
   var←c70380 = (word) XR←ImportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string47)), 26);
   (* (( (ptr) gf←c0802)+173)/* var←c61100 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 268963074);
   (void) XR←ImportProcS(var←c70380, 268701185);
   (void) XR←ImportProcS(var←c70380, 134744578);
   var←c70380 = (word) XR←ImportInterface((word) "NodeReader", (word) XR←GetTypeIndexS((word) (&string48)), 12);
   (* (( (ptr) gf←c0802)+170)/* var←c60812 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67634690);
   (void) XR←ImportProcS(var←c70380, 201852162);
   (void) XR←ImportProcS(var←c70380, 67633154);
   var←c70380 = (word) XR←ImportInterface((word) "NodeStyle", (word) XR←GetTypeIndexS((word) (&string49)), 41);
   (* (( (ptr) gf←c0802)+175)/* var←c61260 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67643138);
   (void) XR←ImportProcS(var←c70380, 67380481);
   (void) XR←ImportProcS(var←c70380, 67635458);
   (void) XR←ImportProcS(var←c70380, 67639554);
   (void) XR←ImportProcS(var←c70380, 67635202);
   var←c70380 = (word) XR←ImportInterface((word) "NodeStyleOps", (word) XR←GetTypeIndexS((word) (&string50)), 23);
   (* (( (ptr) gf←c0802)+171)/* var←c60844 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 790275);
   (void) XR←ImportProcS(var←c70380, 790019);
   (void) XR←ImportProcS(var←c70380, 524546);
   (void) XR←ImportProcS(var←c70380, 67108864);
   var←c70380 = (word) XR←ImportInterface((word) "NodeStyleWorks", (word) XR←GetTypeIndexS((word) (&string51)), 69);
   (* (( (ptr) gf←c0802)+178)/* var←c62828 */  ) = var←c70380;
   var←c70380 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string52)), 22);
   (* (( (ptr) gf←c0802)+172)/* var←c60908 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67371521);
   (void) XR←ImportProcS(var←c70380, 524546);
   var←c70380 = (word) XR←ImportInterface((word) "Prop", (word) XR←GetTypeIndexS((word) (&string53)), 4);
   (* (( (ptr) gf←c0802)+177)/* var←c62636 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67633410);
   var←c70380 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string54)), 11);
   (* (( (ptr) gf←c0802)+168)/* var←c60108 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67371521);
   var←c70380 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string55)), 16);
   (* (( (ptr) gf←c0802)+167)/* var←c59948 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67634946);
   (void) XR←ImportProcS(var←c70380, 67896579);
   (void) XR←ImportProcS(var←c70380, 788995);
   (void) XR←ImportProcS(var←c70380, 134742786);
   (void) XR←ImportProcS(var←c70380, 67895555);
   var←c70380 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string56)), 43);
   (* (( (ptr) gf←c0802)+185)/* var←c64876 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67634434);
   (void) XR←ImportProcS(var←c70380, 67373825);
   var←c70380 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string57)), 27);
   (* (( (ptr) gf←c0802)+182)/* var←c63116 */  ) = var←c70380;
   var←c70380 = (word) XR←ImportInterface((word) "Scaled", (word) XR←GetTypeIndexS((word) (&string58)), 19);
   (* (( (ptr) gf←c0802)+174)/* var←c61132 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67375105);
   (void) XR←ImportProcS(var←c70380, 67637506);
   (void) XR←ImportProcS(var←c70380, 67371777);
   var←c70380 = (word) XR←ImportInterface((word) "SimpleFeedback", (word) XR←GetTypeIndexS((word) (&string59)), 7);
   (* (( (ptr) gf←c0802)+176)/* var←c61900 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 525058);
   (void) XR←ImportProcS(var←c70380, 1048580);
   var←c70380 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string60)), 39);
   (* (( (ptr) gf←c0802)+184)/* var←c64812 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67638274);
   (void) XR←ImportProcS(var←c70380, 67633154);
   (void) XR←ImportProcS(var←c70380, 67380481);
   var←c70380 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string61)), 34);
   (* (( (ptr) gf←c0802)+179)/* var←c62956 */  ) = var←c70380;
   (void) XR←ImportProcS(var←c70380, 67372289);
   (void) XR←ImportProcS(var←c70380, 68162307);
   var←c70380 = (word) XR←ExportInterface((word) "TEditFormat", (word) XR←GetTypeIndexS((word) (&string62)), 17);
   (* (( (ptr) gf←c0802)+187)/* var←c70412 */  ) = var←c70380;
   (void) XR←ExportType((word) "ExtraFormatInfoRep", (word) XR←GetTypeIndexS((word) (&string63)), (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3)
      );
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+532)/* var←c59404 */ , 1573126, (word) "FormatLine");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+484)/* var←c59212 */ , 524802, (word) "Paint");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+460)/* var←c59116 */ , 336069378, (word) "Resolve");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+444)/* var←c59052 */ , 134743042, (word) "CharPosition");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+428)/* var←c58988 */ , 269223171, (word) "BoundingBox");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+636)/* var←c59820 */ , 67110400, (word) "Allocate");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+628)/* var←c59788 */ , 263937, (word) "Release");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+356)/* var←c58700 */ , 264193, (word) "RegisterArtwork");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+348)/* var←c58668 */ , 264449, (word) "UnRegisterArtwork");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+340)/* var←c58636 */ , 67373569, (word) "GetArtworkClass");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+412)/* var←c58924 */ , 264961, (word) "RegisterCharacterArtwork")
   ;
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+404)/* var←c58892 */ , 265217, (word) "UnregisterCharacterArtwork")
   ;
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+396)/* var←c58860 */ , 67374337, (word) "GetCharacterArtworkClass")
   ;
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+324)/* var←c58572 */ , 67112448, (word) "ArtworkEnabled");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+316)/* var←c58540 */ , 67374849, (word) "SetArtworkEnabled");
   (void) XR←ExportProcS(var←c70380, (word) (( (bPt) gf←c0802)+500)/* var←c59276 */ , 135008259, (word) "RegisterHyphenation")
   ;
   }

static void TEditFormatImpl←P0(formal←c0111, formal←c0105)
   word formal←c0111;
   word formal←c0105;
   {
   register ptr gf←c70444 =  (ptr) &globalframe;
   /* TEditFormatImpl: */ 
SOURCE(1881, 44192)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(7267, 49)
   (* (( (ptr) gf←c70444)+30)/* scratchRefsAllocCount←v4820 */  ) = (word) InitScratchRefs←P540(100);
SOURCE(30116, 43)
   {
      word pd64;
      pd64 = (* (( (ptr) (* (( (ptr) gf←c70444)+167)/* var←c59948 */  ))+5) );
      (* (( (ptr) gf←c70444)+33)/* hyphTab←v5800 */  ) = (word) ( *( (fPt) ((*  (ptr) pd64 ))))(3, 0, 0, pd64);
      };
SOURCE(41373, 60)
   {
      word pd65;
      pd65 = (* (( (ptr) (* (( (ptr) gf←c70444)+167)/* var←c59948 */  ))+5) );
      (* (( (ptr) gf←c70444)+35)/* characterArtworkRegistry←v6276 */  ) = (word) ( *( (fPt) ((*  (ptr) pd65 ))))(5, 0, 0, pd65)
      ;
      };
SOURCE(43008, 128)
   {
      word var←c59980;
      var←c59980 = XR←NewObject(12, (* (( (ptr) gf←c70444)+43) ));
      (*  (ptr) var←c59980 ) = (* (( (ptr) gf←c70444)+76) );
      (* (( (ptr) var←c59980)+1) ) = (word) (( (bPt) gf←c70444)+380)/* var←c58796 */ ;
      (* (( (ptr) gf←c70444)+36)/* vRuleClass←v6388 */  ) = var←c59980;
      };
SOURCE(44420, 146)
   {
      word var←c60012;
      var←c60012 = XR←NewObject(12, (* (( (ptr) gf←c70444)+43) ));
      (*  (ptr) var←c60012 ) = (* (( (ptr) gf←c70444)+75) );
      (* (( (ptr) var←c60012)+1) ) = (word) (( (bPt) gf←c70444)+364)/* var←c58732 */ ;
      (* (( (ptr) gf←c70444)+37)/* placeholderClass←v6500 */  ) = var←c60012;
      };
SOURCE(45317, 51)
   {
      word pd66;
      pd66 = (* (( (ptr) (* (( (ptr) gf←c70444)+167)/* var←c59948 */  ))+5) );
      (* (( (ptr) gf←c70444)+38)/* artworkRegistry←v6640 */  ) = (word) ( *( (fPt) ((*  (ptr) pd66 ))))(5, 0, 0, pd66);
      };
SOURCE(45371, 204)
   {
      word var←c60044;
      var←c60044 = XR←NewObject(24, (* (( (ptr) gf←c70444)+48) ));
      (* (( (ptr) var←c60044)+1) ) = (word) (( (bPt) gf←c70444)+516)/* var←c59340 */ ;
      (* (( (ptr) var←c60044)+2) ) = (word) (( (bPt) gf←c70444)+468)/* var←c59148 */ ;
      (* (( (ptr) var←c60044)+3) ) = (word) (( (bPt) gf←c70444)+452)/* var←c59084 */ ;
      (* (( (ptr) var←c60044)+4) ) = (word) (( (bPt) gf←c70444)+436)/* var←c59020 */ ;
      (* (( (ptr) var←c60044)+5) ) = (word) (( (bPt) gf←c70444)+420)/* var←c58956 */ ;
      (* (( (ptr) gf←c70444)+39)/* nonArtworkClass←v6668 */  ) = var←c60044;
      };
SOURCE(45913, 32)
   (void) RegisterArtwork←P2340((* ((( (ptr) gf←c70444)+39)/* nonArtworkClass←v6668 */ ) ));
SOURCE(45947, 36)
   (void) RegisterCharacterArtwork←P1920((* ((( (ptr) gf←c70444)+36)/* vRuleClass←v6388 */ ) ));
SOURCE(45985, 42)
   (void) RegisterCharacterArtwork←P1920((* ((( (ptr) gf←c70444)+37)/* placeholderClass←v6500 */ ) ));
SOURCE(46029, 44)
   {
      W2 var←c60076;
      (void) RegisterHyphenation←P1260((word) &var←c60076, (* (( (ptr) gf←c70444)+74) ), (word) (( (bPt) gf←c70444)+308)/* var←c58508 */ , 0)
      ;
      };
   }

static word FloorI←P60(real←v6860)
   word real←v6860;
   {
   register ptr gf←c70476 =  (ptr) &globalframe;
   word i←v6904;
   /* FloorI: */ 
SOURCE(2643, 15936)
SOURCE(2694, 15885)
   {
      word pd67;
      pd67 = (* (( (ptr) (* (( (ptr) gf←c70476)+168)/* var←c60108 */  ))+6) );
      i←v6904 = (word) ( *( (fPt) ((*  (ptr) pd67 ))))(real←v6860, pd67);
      };
SOURCE(2716, 26)
   {
      word x68;
      if (((float)(int)i←v6904 > (
         x68 = real←v6860,  *(float*)&x68
         ))) {
SOURCE(2733, 9)
         i←v6904 = (i←v6904 - 1);
         };
      };
SOURCE(2643, 15936)
   return(i←v6904);
   }

static word CeilingI←P120(real←v6964)
   word real←v6964;
   {
   register ptr gf←c70508 =  (ptr) &globalframe;
   word i←v7008;
   /* CeilingI: */ 
SOURCE(2748, 15831)
SOURCE(2801, 15778)
   {
      word pd69;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c70508)+168)/* var←c60108 */  ))+6) );
      i←v7008 = (word) ( *( (fPt) ((*  (ptr) pd69 ))))(real←v6964, pd69);
      };
SOURCE(2823, 26)
   {
      word x70;
      if (((float)(int)i←v7008 < (
         x70 = real←v6964,  *(float*)&x70
         ))) {
SOURCE(2840, 9)
         i←v7008 = (i←v7008 + 1);
         };
      };
SOURCE(2748, 15831)
   return(i←v7008);
   }

static word Allocate←P180()
   {
   register ptr gf←c70540 =  (ptr) &globalframe;
   word lineInfo←v7068;
   /* Allocate: */ 
SOURCE(3035, 616)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c70540)+16)/* LOCK←v3728 */ ));
SOURCE(3035, 616)
   lineInfo←v7068 = 0;
SOURCE(3108, 543)
   if (((* (( (ptr) gf←c70540)+11)/* scratchLineInfo←v4176 */  ) != 0)) {
SOURCE(3140, 26)
      lineInfo←v7068 = (* (( (ptr) gf←c70540)+11)/* scratchLineInfo←v4176 */  );
SOURCE(3168, 31)
      (* (( (ptr) gf←c70540)+11)/* scratchLineInfo←v4176 */  ) = (* (( (ptr) lineInfo←v7068)+22) );
SOURCE(3201, 19)
      (* (( (ptr) lineInfo←v7068)+22) ) = 0;
SOURCE(3222, 45)
      (* (( (ptr) gf←c70540)+12)/* scratchLineInfoCount←v4204 */  ) = ((* (( (ptr) gf←c70540)+12)/* scratchLineInfoCount←v4204 */  ) - 1);
      }
   else {
SOURCE(3278, 49)
      {
         word pd71;
         pd71 = (* (( (ptr) (* (( (ptr) gf←c70540)+169)/* var←c60140 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd71 ))))((* (( (ptr) gf←c70540)+72) ), (* (( (ptr) gf←c70540)+67) ), pd71);
         };
SOURCE(3329, 39)
      lineInfo←v7068 = XR←NewObject(92, (* (( (ptr) gf←c70540)+53) ));
SOURCE(3370, 53)
      {
         word var←c60204;
         {
            word var←c60236;
            var←c60236 = XR←NewObject(1504, (* (( (ptr) gf←c70540)+55) ));
            (*  (ptr) var←c60236 ) = 125;
            var←c60204 = var←c60236;
            };
         (*  (ptr) lineInfo←v7068 ) = var←c60204;
         };
SOURCE(3425, 56)
      {
         word var←c60268;
         {
            word var←c60300;
            var←c60300 = XR←NewObject(440, (* (( (ptr) gf←c70540)+56) ));
            (* (( (ptr) var←c60300)+1) ) = 12;
            var←c60268 = var←c60300;
            };
         (* (( (ptr) lineInfo←v7068)+1) ) = var←c60268;
         };
SOURCE(3483, 61)
      {
         word var←c60332;
         {
            word var←c60364;
            var←c60364 = XR←NewObject(508, (* (( (ptr) gf←c70540)+58) ));
            (*  (ptr) var←c60364 ) = 126;
            var←c60332 = var←c60364;
            };
         (* (( (ptr) lineInfo←v7068)+2) ) = var←c60332;
         };
SOURCE(3546, 55)
      (* (( (ptr) gf←c70540)+14)/* scratchLineInfoAllocated←v4260 */  ) = ((* (( (ptr) gf←c70540)+14)/* scratchLineInfoAllocated←v4260 */  ) + 
      1);
SOURCE(3603, 48)
      {
         word pd72;
         pd72 = (* (( (ptr) (* (( (ptr) gf←c70540)+169)/* var←c60140 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd72 ))))((* (( (ptr) gf←c70540)+72) ), (* (( (ptr) gf←c70540)+67) ), pd72);
         };
      };
SOURCE(3035, 616)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c70540)+16)/* LOCK←v3728 */ ));
   return(lineInfo←v7068);
   }

static void Release←P240(lineInfo←v7128)
   word lineInfo←v7128;
   {
   register ptr gf←c70572 =  (ptr) &globalframe;
   word last←v12232 = 0;
   word count←v12260 = 0;
   /* Release: */ 
SOURCE(3660, 14919)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c70572)+16)/* LOCK←v3728 */ ));
SOURCE(3774, 14805)
   {
      register word i←v12304;
      i←v12304 = lineInfo←v7128;
      lab←L100003: ;
      if ((i←v12304 != 0)) {
         }
      else {
         goto lab←L100000;
         };
      {
         word f←v12348;
SOURCE(3836, 40)
         f←v12348 = (* (( (ptr) i←v12304)+1) );
SOURCE(3878, 14701)
         {
            register word i←v12392 = 0;
            register word noName←c60396;
            noName←c60396 = (*  (ptr) f←v12348 );
            if ((i←v12392 >= noName←c60396)) {
               goto lab←L100004;
               };
            lab←L100007: ;
SOURCE(3909, 14670)
            {
               word limit73;
               (* (( (ptr) (( (W9Pt) (( (ptr) f←v12348)+2))+(
                        limit73 = (* (( (ptr) f←v12348)+1) ),
                        BCK(i←v12392, limit73)
                        )))+1) ) = 0;
               };
SOURCE(3926, 14653)
            {
               word limit74;
               (* (( (ptr) (( (W9Pt) (( (ptr) f←v12348)+2))+(
                        limit74 = (* (( (ptr) f←v12348)+1) ),
                        BCK(i←v12392, limit74)
                        )))+2) ) = 0;
               };
SOURCE(3944, 14635)
            {
               word limit75;
               (* (( (ptr) (( (W9Pt) (( (ptr) f←v12348)+2))+(
                        limit75 = (* (( (ptr) f←v12348)+1) ),
                        BCK(i←v12392, limit75)
                        )))+3) ) = 0;
               };
            i←v12392 = (i←v12392 + 1);
            if ((i←v12392 < noName←c60396)) {
               goto lab←L100007;
               };
            lab←L100004: ;
            };
SOURCE(3969, 20)
         (* (( (ptr) i←v12304)+3) ) = 0;
SOURCE(3991, 19)
         (* (( (ptr) i←v12304)+4) ) = 0;
SOURCE(4012, 12)
         (* (( (ptr) i←v12304)+21) ) = 0;
SOURCE(4026, 11)
         (* (( (ptr) i←v12304)+20) ) = 0;
SOURCE(4039, 12)
         (*  (ptr) f←v12348 ) = 0;
SOURCE(4053, 8)
         last←v12232 = i←v12304;
SOURCE(4063, 17)
         count←v12260 = (count←v12260 + 1);
         };
      i←v12304 = (* (( (ptr) i←v12304)+22) );
      goto lab←L100003;
      lab←L100000: ;
      };
SOURCE(4091, 128)
   if (( (int)count←v12260 >  (int)0)) {
SOURCE(4111, 27)
      (* (( (ptr) last←v12232)+22) ) = (* (( (ptr) gf←c70572)+11)/* scratchLineInfo←v4176 */  );
SOURCE(4140, 26)
      (* (( (ptr) gf←c70572)+11)/* scratchLineInfo←v4176 */  ) = lineInfo←v7128;
SOURCE(4168, 51)
      (* (( (ptr) gf←c70572)+12)/* scratchLineInfoCount←v4204 */  ) = ((* (( (ptr) gf←c70572)+12)/* scratchLineInfoCount←v4204 */  ) + 
      count←v12260);
      };
SOURCE(4224, 286)
   lab←L100010: ;
   if (( (int)(* (( (ptr) gf←c70572)+12)/* scratchLineInfoCount←v4204 */  ) >  (int)(* (( (ptr) gf←c70572)+13)/* scratchLineInfoLimit←v4232 */  ))) {
      }
   else {
      goto lab←L100008;
      };
   {
      word i←v12436;
SOURCE(4277, 41)
      i←v12436 = (* (( (ptr) gf←c70572)+11)/* scratchLineInfo←v4176 */  );
SOURCE(4320, 24)
      (* (( (ptr) gf←c70572)+11)/* scratchLineInfo←v4176 */  ) = (* (( (ptr) i←v12436)+22) );
SOURCE(4346, 47)
      (* (( (ptr) gf←c70572)+12)/* scratchLineInfoCount←v4204 */  ) = ((* (( (ptr) gf←c70572)+12)/* scratchLineInfoCount←v4204 */  ) - 1);
SOURCE(4395, 16)
      (*  (ptr) i←v12436 ) = 0;
SOURCE(4413, 18)
      (* (( (ptr) i←v12436)+1) ) = 0;
SOURCE(4433, 20)
      (* (( (ptr) i←v12436)+2) ) = 0;
SOURCE(4455, 55)
      (* (( (ptr) gf←c70572)+15)/* scratchLineInfoDestroyed←v4288 */  ) = ((* (( (ptr) gf←c70572)+15)/* scratchLineInfoDestroyed←v4288 */  ) + 
      1);
      };
   goto lab←L100010;
   lab←L100008: ;
SOURCE(3660, 14919)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c70572)+16)/* LOCK←v3728 */ ));
   return;
   }

static word CheckWidthCache←P300(font←v7392)
   word font←v7392;
   {
   register ptr gf←c70604 =  (ptr) &globalframe;
   word var←c7436;
   word prev←v12480 = 0;
   /* CheckWidthCache: */ 
SOURCE(4874, 419)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c70604)+16)/* LOCK←v3728 */ ));
SOURCE(4977, 251)
   {
      register word c←v12608;
      c←v12608 = (* (( (ptr) gf←c70604)+17)/* widthCache←v4400 */  );
      lab←L100014: ;
      if ((c←v12608 != 0)) {
         }
      else {
         goto lab←L100011;
         };
SOURCE(5044, 171)
      if (((*  (ptr) c←v12608 ) == font←v7392)) {
SOURCE(5074, 76)
         if ((prev←v12480 != 0)) {
SOURCE(5095, 18)
            (* (( (ptr) prev←v12480)+2) ) = (* (( (ptr) c←v12608)+2) );
SOURCE(5115, 19)
            (* (( (ptr) c←v12608)+2) ) = (* (( (ptr) gf←c70604)+17)/* widthCache←v4400 */  );
SOURCE(5136, 14)
            (* (( (ptr) gf←c70604)+17)/* widthCache←v4400 */  ) = c←v12608;
            };
SOURCE(5155, 35)
         (* (( (ptr) gf←c70604)+18)/* widthCacheHits←v4428 */  ) = ((* (( (ptr) gf←c70604)+18)/* widthCacheHits←v4428 */  ) + 1);
SOURCE(5192, 23)
         {
            word var←c60428;
            var←c60428 = (* (( (ptr) c←v12608)+1) );
            (void) (XR←MonitorExit((word) (( (bPt) gf←c70604)+16)/* LOCK←v3728 */ ));
            return(var←c60428);
            };
         };
SOURCE(5220, 8)
      prev←v12480 = c←v12608;
      c←v12608 = (* (( (ptr) c←v12608)+2) );
      goto lab←L100014;
      lab←L100011: ;
      };
SOURCE(5239, 39)
   (* (( (ptr) gf←c70604)+19)/* widthCacheMisses←v4456 */  ) = ((* (( (ptr) gf←c70604)+19)/* widthCacheMisses←v4456 */  ) + 
   1);
SOURCE(5280, 13)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c70604)+16)/* LOCK←v3728 */ ));
   return(0);
   }

static void EnterWidthCache←P360(font←v7496, widths←v7524)
   word font←v7496;
   word widths←v7524;
   {
   register ptr gf←c70636 =  (ptr) &globalframe;
   word new←v12736 = 0;
   word prev←v12764 = 0;
   word i←v12792 = 2;
   /* EnterWidthCache: */ 
SOURCE(5297, 13282)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c70636)+16)/* LOCK←v3728 */ ));
SOURCE(5445, 13134)
   {
      register word p←v13004;
      p←v13004 = (* (( (ptr) gf←c70636)+17)/* widthCache←v4400 */  );
      lab←L100018: ;
SOURCE(5498, 13081)
      if ((p←v13004 == 0)) {
SOURCE(5515, 13064)
         {
            word var←c60460;
            word var←c60492;
            var←c60460 = XR←NewObject(12, (* (( (ptr) gf←c70636)+59) ));
            var←c60492 = var←c60460;
            (*  (ptr) var←c60492 ) = font←v7496;
            (* (( (ptr) var←c60492)+1) ) = widths←v7524;
            new←v12736 = var←c60460;
            };
SOURCE(5543, 4)
         goto lab←L100016;
         };
SOURCE(5550, 13029)
      if ( ( (i←v12792 >= (* (( (ptr) gf←c70636)+16)/* widthCacheSize←v4372 */  )) ? ((* (( (ptr) p←v13004)+2) ) != 0) : 0 ) ) {
SOURCE(5595, 12)
         new←v12736 = (* (( (ptr) p←v13004)+2) );
SOURCE(5609, 12)
         (* (( (ptr) p←v13004)+2) ) = 0;
SOURCE(5623, 14)
         (* (( (ptr) new←v12736)+2) ) = 0;
SOURCE(5639, 12940)
         (*  (ptr) new←v12736 ) = font←v7496;
         (* (( (ptr) new←v12736)+1) ) = widths←v7524;
SOURCE(5667, 4)
         goto lab←L100016;
         };
SOURCE(5676, 9)
      i←v12792 = (i←v12792 + 1);
      p←v13004 = (* (( (ptr) p←v13004)+2) );
      goto lab←L100018;
      lab←L100016: ;
      };
SOURCE(5696, 21)
   (* (( (ptr) new←v12736)+2) ) = (* (( (ptr) gf←c70636)+17)/* widthCache←v4400 */  );
SOURCE(5719, 16)
   (* (( (ptr) gf←c70636)+17)/* widthCache←v4400 */  ) = new←v12736;
SOURCE(5297, 13282)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c70636)+16)/* LOCK←v3728 */ ));
   return;
   }

static void ExpandChars←P420(lineInfo←v7584)
   word lineInfo←v7584;
   {
   register ptr gf←c70668 =  (ptr) &globalframe;
   word oldCharInfo←v13132;
   word oldPositionInfo←v13160;
   word oldCharLimit←v13188;
   word charLimit←v13216;
   word newCharInfo←v13244;
   word newPositionInfo←v13272;
   /* ExpandChars: */ 
SOURCE(5741, 12838)
SOURCE(5796, 53)
   oldCharInfo←v13132 = (*  (ptr) lineInfo←v7584 );
SOURCE(5851, 65)
   oldPositionInfo←v13160 = (* (( (ptr) lineInfo←v7584)+2) );
SOURCE(5918, 41)
   oldCharLimit←v13188 = (*  (ptr) oldCharInfo←v13132 );
SOURCE(5961, 87)
   {
      word x76;
      charLimit←v13216 = (x76 = ((oldCharLimit←v13188 + ((word) oldCharLimit←v13188 / 3)) + 1),
         MIN( (unsigned) , x76, 2147483646));
      };
SOURCE(6050, 75)
   {
      word var←c60524;
      word var←c60556;
      word var←c60588;
      var←c60524 = BCK(charLimit←v13216, 22369621);
      var←c60556 = ((word) var←c60524 * 12);
      var←c60588 = XR←NewObject((4 + var←c60556), (* (( (ptr) gf←c70668)+55) ));
      (*  (ptr) var←c60588 ) = var←c60524;
      newCharInfo←v13244 = var←c60588;
      };
SOURCE(6127, 89)
   {
      word var←c60620;
      word var←c60652;
      word var←c60684;
      var←c60620 = BCK((charLimit←v13216 + 1), 67108863);
      var←c60652 = ((word) var←c60620 << 2);
      var←c60684 = XR←NewObject((4 + var←c60652), (* (( (ptr) gf←c70668)+58) ));
      (*  (ptr) var←c60684 ) = var←c60620;
      newPositionInfo←v13272 = var←c60684;
      };
SOURCE(6218, 34)
   if ((charLimit←v13216 <= oldCharLimit←v13188)) {
SOURCE(6252, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(6259, 12320)
   {
      register word i←v13316 = 0;
      if ((i←v13316 >= oldCharLimit←v13188)) {
         goto lab←L100019;
         };
      lab←L100022: ;
SOURCE(6294, 12285)
      {
         word limit77;
         word limit78;
         (* (( (W3Pt) (( (ptr) newCharInfo←v13244)+1))+(
               limit77 = (*  (ptr) newCharInfo←v13244 ),
               BCK(i←v13316, limit77)
               )) ) = (* (( (W3Pt) (( (ptr) oldCharInfo←v13132)+1))+(
               limit78 = (*  (ptr) oldCharInfo←v13132 ),
               BCK(i←v13316, limit78)
               )) );
         };
SOURCE(6327, 12252)
      {
         word limit79;
         word limit80;
         (* ((( (ptr) newPositionInfo←v13272)+1)+(
               limit79 = (*  (ptr) newPositionInfo←v13272 ),
               BCK(i←v13316, limit79)
               )) ) = (* ((( (ptr) oldPositionInfo←v13160)+1)+(
               limit80 = (*  (ptr) oldPositionInfo←v13160 ),
               BCK(i←v13316, limit80)
               )) );
         };
      i←v13316 = (i←v13316 + 1);
      if ((i←v13316 < oldCharLimit←v13188)) {
         goto lab←L100022;
         };
      lab←L100019: ;
      };
SOURCE(6377, 12202)
   {
      word limit81;
      word limit82;
      (* ((( (ptr) newPositionInfo←v13272)+1)+(
            limit81 = (*  (ptr) newPositionInfo←v13272 ),
            BCK(oldCharLimit←v13188, limit81)
            )) ) = (* ((( (ptr) oldPositionInfo←v13160)+1)+(
            limit82 = (*  (ptr) oldPositionInfo←v13160 ),
            BCK(oldCharLimit←v13188, limit82)
            )) );
      };
SOURCE(6440, 31)
   (*  (ptr) lineInfo←v7584 ) = newCharInfo←v13244;
SOURCE(6473, 39)
   (* (( (ptr) lineInfo←v7584)+2) ) = newPositionInfo←v13272;
   }

static void ExpandFormats←P480(lineInfo←v7644)
   word lineInfo←v7644;
   {
   register ptr gf←c70700 =  (ptr) &globalframe;
   word oldFormatInfo←v13360;
   word oldFormatLimit←v13388;
   word formatLimit←v13416;
   word newFormatInfo←v13444;
   /* ExpandFormats: */ 
SOURCE(6518, 12061)
SOURCE(6575, 59)
   oldFormatInfo←v13360 = (* (( (ptr) lineInfo←v7644)+1) );
SOURCE(6636, 45)
   oldFormatLimit←v13388 = (* (( (ptr) oldFormatInfo←v13360)+1) );
SOURCE(6683, 93)
   {
      word x83;
      formatLimit←v13416 = (x83 = ((oldFormatLimit←v13388 + ((word) oldFormatLimit←v13388 / 3)) + 1),
         MIN( (unsigned) , x83, 1073741823));
      };
SOURCE(6778, 83)
   {
      word var←c60716;
      word var←c60748;
      word var←c60780;
      var←c60716 = BCK(formatLimit←v13416, 7456540);
      var←c60748 = ((word) var←c60716 * 36);
      var←c60780 = XR←NewObject((8 + var←c60748), (* (( (ptr) gf←c70700)+56) ));
      (* (( (ptr) var←c60780)+1) ) = var←c60716;
      newFormatInfo←v13444 = var←c60780;
      };
SOURCE(6863, 43)
   (*  (ptr) newFormatInfo←v13444 ) = (*  (ptr) oldFormatInfo←v13360 );
SOURCE(6908, 38)
   if ((formatLimit←v13416 <= oldFormatLimit←v13388)) {
SOURCE(6946, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(6953, 11626)
   {
      register word i←v13488 = 0;
      if ((i←v13488 >= oldFormatLimit←v13388)) {
         goto lab←L100023;
         };
      lab←L100026: ;
SOURCE(6990, 11589)
      {
         word limit84;
         word limit85;
         (* (( (W9Pt) (( (ptr) newFormatInfo←v13444)+2))+(
               limit84 = (* (( (ptr) newFormatInfo←v13444)+1) ),
               BCK(i←v13488, limit84)
               )) ) = (* (( (W9Pt) (( (ptr) oldFormatInfo←v13360)+2))+(
               limit85 = (* (( (ptr) oldFormatInfo←v13360)+1) ),
               BCK(i←v13488, limit85)
               )) );
         };
      i←v13488 = (i←v13488 + 1);
      if ((i←v13488 < oldFormatLimit←v13388)) {
         goto lab←L100026;
         };
      lab←L100023: ;
      };
SOURCE(7036, 35)
   (* (( (ptr) lineInfo←v7644)+1) ) = newFormatInfo←v13444;
   }

static word InitScratchRefs←P540(timeout←v7804)
   word timeout←v7804;
   {
   register ptr gf←c70732 =  (ptr) &globalframe;
   word initialCount←v7848;
   /* InitScratchRefs: */ 
SOURCE(7364, 11215)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c70732)+16)/* LOCK←v3728 */ ));
SOURCE(7364, 11215)
   initialCount←v7848 = 1;
SOURCE(7468, 11111)
   {
      word pd86;
      pd86 = (* (( (ptr) (* (( (ptr) gf←c70732)+170)/* var←c60812 */  ))+4) );
      (* (( (ptr) gf←c70732)+27) ) = (word) ( *( (fPt) ((*  (ptr) pd86 ))))(0, 0, pd86);
      };
   {
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c70732)+171)/* var←c60844 */  ))+4) );
      (* (( (ptr) gf←c70732)+28) ) = (word) ( *( (fPt) ((*  (ptr) pd87 ))))(pd87);
      };
   {
      word pd88;
      pd88 = (* (( (ptr) (* (( (ptr) gf←c70732)+171)/* var←c60844 */  ))+4) );
      (* (( (ptr) gf←c70732)+29) ) = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(pd88);
      };
SOURCE(7548, 27)
   (* (( (ptr) gf←c70732)+26)/* scratchRefsAvailable←v4764 */  ) = 1;
SOURCE(7577, 11002)
   {
      word var←c60876;
      {
         word pd89;
         pd89 = (* (( (ptr) (* (( (ptr) gf←c70732)+172)/* var←c60908 */  ))+6) );
         var←c60876 = (word) ( *( (fPt) ((*  (ptr) pd89 ))))(timeout←v7804, pd89);
         };
      {
         word pd90;
         pd90 = (* (( (ptr) (* (( (ptr) gf←c70732)+172)/* var←c60908 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd90 ))))((word) (( (bPt) gf←c70732)+80)/* scratchRefsReleased←v4736 */ , var←c60876, pd90);
         };
      };
SOURCE(7364, 11215)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c70732)+16)/* LOCK←v3728 */ ));
   return(initialCount←v7848);
   }

static void AllocScratchRefs←P600(formal←c0171)
   word formal←c0171;
   {
   register ptr gf←c70764 =  (ptr) &globalframe;
   W3 allocated←v7908;
   /* AllocScratchRefs: */ 
SOURCE(7662, 10917)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c70764)+16)/* LOCK←v3728 */ ));
SOURCE(7662, 10917)
   allocated←v7908.f0 = 0;
   allocated←v7908.f1 = 0;
   allocated←v7908.f2 = 0;
SOURCE(7728, 109)
   if ((0 == (* (( (ptr) gf←c70764)+26)/* scratchRefsAvailable←v4764 */  ))) {
SOURCE(7763, 47)
      (* (( (ptr) gf←c70764)+31)/* scratchRefsWaitCount←v4848 */  ) = ((* (( (ptr) gf←c70764)+31)/* scratchRefsWaitCount←v4848 */  ) + 
      1);
SOURCE(7812, 25)
      (void) (XR←Wait((word) (( (bPt) gf←c70764)+16)/* LOCK←v3728 */ , (word) (( (bPt) gf←c70764)+80)/* scratchRefsReleased←v4736 */ )
      );
      };
SOURCE(7840, 10739)
   if ((0 != (* (( (ptr) gf←c70764)+26)/* scratchRefsAvailable←v4764 */  ))) {
SOURCE(7870, 28)
      (* (( (ptr) gf←c70764)+26)/* scratchRefsAvailable←v4764 */  ) = 0;
SOURCE(7900, 23)
      allocated←v7908 = (*  (W3Pt) (( (ptr) gf←c70764)+27)/* scratchRefs←v4792 */  );
SOURCE(7925, 10654)
      (* (( (ptr) gf←c70764)+27) ) = 0;
      (* (( (ptr) gf←c70764)+28) ) = 0;
      (* (( (ptr) gf←c70764)+29) ) = 0;
      }
   else {
SOURCE(7962, 10617)
      {
         word pd91;
         pd91 = (* (( (ptr) (* (( (ptr) gf←c70764)+170)/* var←c60812 */  ))+4) );
         allocated←v7908.f0 = (word) ( *( (fPt) ((*  (ptr) pd91 ))))(0, 0, pd91);
         };
      {
         word pd92;
         pd92 = (* (( (ptr) (* (( (ptr) gf←c70764)+171)/* var←c60844 */  ))+4) );
         allocated←v7908.f1 = (word) ( *( (fPt) ((*  (ptr) pd92 ))))(pd92);
         };
      {
         word pd93;
         pd93 = (* (( (ptr) (* (( (ptr) gf←c70764)+171)/* var←c60844 */  ))+4) );
         allocated←v7908.f2 = (word) ( *( (fPt) ((*  (ptr) pd93 ))))(pd93);
         };
SOURCE(8040, 49)
      (* (( (ptr) gf←c70764)+30)/* scratchRefsAllocCount←v4820 */  ) = ((* (( (ptr) gf←c70764)+30)/* scratchRefsAllocCount←v4820 */  ) + 
      1);
      };
   /* removed tail goto */ 
   (void) (XR←MonitorExit((word) (( (bPt) gf←c70764)+16)/* LOCK←v3728 */ ));
   (*  (W3Pt) formal←c0171 ) = allocated←v7908;
   return;
   }

static void ReleaseScratchRefs←P660(allocated←v7968)
   W3 allocated←v7968;
   {
   register ptr gf←c70796 =  (ptr) &globalframe;
   /* ReleaseScratchRefs: */ 
SOURCE(8096, 175)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c70796)+16)/* LOCK←v3728 */ ));
SOURCE(8156, 115)
   if ((0 == (* (( (ptr) gf←c70796)+26)/* scratchRefsAvailable←v4764 */  ))) {
SOURCE(8191, 23)
      (*  (W3Pt) (( (ptr) gf←c70796)+27)/* scratchRefs←v4792 */  ) = allocated←v7968;
SOURCE(8216, 27)
      (* (( (ptr) gf←c70796)+26)/* scratchRefsAvailable←v4764 */  ) = 1;
SOURCE(8245, 26)
      (void) (XR←Notify((word) (( (bPt) gf←c70796)+80)/* scratchRefsReleased←v4736 */ ));
      };
SOURCE(8096, 175)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c70796)+16)/* LOCK←v3728 */ ));
   return;
   }

static word GetWidthArray←P720(font←v8028)
   word font←v8028;
   {
   register ptr gf←c70828 =  (ptr) &globalframe;
   word widths←v8072;
   /* GetWidthArray: */ 
SOURCE(8280, 10299)
SOURCE(8280, 10299)
   widths←v8072 = 0;
SOURCE(8348, 10231)
   widths←v8072 = (word) CheckWidthCache←P300(font←v8028);
SOURCE(8380, 10199)
   if ((widths←v8072 == 0)) {
SOURCE(8403, 31)
      widths←v8072 = XR←NewObject(380, (* (( (ptr) gf←c70828)+62) ));
SOURCE(8436, 10143)
      {
         register word noName←c61004 = 32;
         register word c←v13532;
         lab←L100032: ;
         c←v13532 = (noName←c61004 - 32);
SOURCE(8479, 10100)
         {
            word var←c61036;
            {
               W2 var←c0179;
               word var←c61068;
               {
                  word pd94;
                  pd94 = (* (( (ptr) (* (( (ptr) gf←c70828)+173)/* var←c61100 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd94 ))))((word) &var←c0179, font←v8028, (c←v13532 + 32), pd94);
                  };
               var←c61068 = var←c0179.f0;
               {
                  word pd95;
                  pd95 = (* (( (ptr) (* (( (ptr) gf←c70828)+174)/* var←c61132 */  ))+7) );
                  var←c61036 = (word) ( *( (fPt) ((*  (ptr) pd95 ))))(var←c61068, pd95);
                  };
               };
            (* (( (ptr) widths←v8072)+c←v13532) ) = var←c61036;
            };
         if ((noName←c61004 >= 126)) {
            goto lab←L100029;
            };
         noName←c61004 = (noName←c61004 + 1);
         goto lab←L100032;
         lab←L100029: ;
         };
SOURCE(8539, 29)
      (void) EnterWidthCache←P360(font←v8028, widths←v8072);
      };
SOURCE(8280, 10299)
   return(widths←v8072);
   }

static word GetTabStop←P780(style←v8456, i←v8484)
   word style←v8456;
   word i←v8484;
   {
   register ptr gf←c70860 =  (ptr) &globalframe;
   word var←c8528;
   word tabStop←v13576;
   /* GetTabStop: */ 
SOURCE(8934, 388)
SOURCE(9006, 50)
   tabStop←v13576 = (* (( (ptr) style←v8456)+3) );
SOURCE(9058, 242)
   if ((i←v8484 < ( (((unsigned)(* (( (ptr) style←v8456)+2) ) << 1) >> 1) ))) {
SOURCE(9088, 214)
      {
         word t←v13620;
SOURCE(9090, 3)
         t←v13620 = (* (( (ptr) style←v8456)+4) );
SOURCE(9137, 98)
         {
            register word noName←c61164;
            register word j←v13748;
            noName←c61164 = i←v8484;
            j←v13748 = ( (((unsigned)(* (( (ptr) style←v8456)+2) ) << 1) >> 1) );
            if ((noName←c61164 >= j←v13748)) {
               goto lab←L100033;
               };
            j←v13748 = (j←v13748 - 1);
            if ((noName←c61164 == j←v13748)) {
               goto lab←L100033;
               };
            lab←L100036: ;
SOURCE(9188, 47)
            if ((t←v13620 == 0)) {
SOURCE(9204, 21)
               (* (( (ptr) gf←c70860)+32)/* oops←v5016 */  ) = ((* (( (ptr) gf←c70860)+32)/* oops←v5016 */  ) + 1);
               }
            else {
SOURCE(9225, 10)
               t←v13620 = (* (( (ptr) t←v13620)+1) );
               };
            j←v13748 = (j←v13748 - 1);
            if ((noName←c61164 < j←v13748)) {
               goto lab←L100036;
               };
            lab←L100033: ;
            };
SOURCE(9246, 54)
         if ((t←v13620 == 0)) {
SOURCE(9262, 21)
            (* (( (ptr) gf←c70860)+32)/* oops←v5016 */  ) = ((* (( (ptr) gf←c70860)+32)/* oops←v5016 */  ) + 1);
            }
         else {
SOURCE(9283, 17)
            tabStop←v13576 = (*  (ptr) t←v13620 );
            };
         };
      };
SOURCE(9305, 17)
   return(tabStop←v13576);
   }

static word ComputeTabWidth←P840(style←v8588, spaceWidth←v8616, endX←v8644, nTabs←v8672)
   word style←v8588;
   word spaceWidth←v8616;
   word endX←v8644;
   word nTabs←v8672;
   {
   register ptr gf←c70892 =  (ptr) &globalframe;
   word width←v8716;
   word tabStop←v13792;
   /* ComputeTabWidth: */ 
SOURCE(9326, 9253)
SOURCE(9326, 9253)
   width←v8716 = 0;
SOURCE(9455, 53)
   tabStop←v13792 = (word) GetTabStop←P780(style←v8588, nTabs←v8672);
SOURCE(9510, 9069)
   if ((tabStop←v13792 == 0)) {
SOURCE(9532, 307)
      {
         word tabWidth←v13836;
         word toNextTab←v13864;
SOURCE(9534, 86)
         {
            word var←c61228;
            {
               word pd96;
               word x97;
               float tf98;
               float tf99;
               word x101;
               float tf102;
               pd96 = (* (( (ptr) (* (( (ptr) gf←c70892)+175)/* var←c61260 */  ))+12) );
               var←c61228 = (
                  tf102 = FMAX((
                        x97 = (word) ( *( (fPt) ((*  (ptr) pd96 ))))(style←v8588, 7, pd96),  *(float*)&x97
                        ), (
                        x101 = (*  (ptr) &fc100 ),  *(float*)&x101
                        ), tf98, tf99),  *(word*)&tf102
                  );
               };
            {
               word pd103;
               pd103 = (* (( (ptr) (* (( (ptr) gf←c70892)+174)/* var←c61132 */  ))+7) );
               tabWidth←v13836 = (word) ( *( (fPt) ((*  (ptr) pd103 ))))(var←c61228, pd103);
               };
            };
SOURCE(9622, 112)
         {
            word b←v58204;
            {
               word i←v57224;
               i←v57224 = IOP2( % ,  (int)endX←v8644,  (int)tabWidth←v13836);
               b←v58204 = i←v57224;
               };
            {
               word i←v39332;
               i←v39332 = (tabWidth←v13836 - b←v58204);
               toNextTab←v13864 = i←v39332;
               };
            };
SOURCE(9736, 17)
         width←v8716 = toNextTab←v13864;
SOURCE(9755, 8824)
         if (( (int)spaceWidth←v8616 >  (int)toNextTab←v13864)) {
SOURCE(9801, 8778)
            {
               word var←c61420;
               word i←v39684;
               i←v39684 = (width←v8716 + tabWidth←v13836);
               var←c61420 = i←v39684;
               width←v8716 = var←c61420;
               };
            };
         };
      }
   else {
SOURCE(9846, 251)
      {
         word tabLoc←v13908;
         word minLoc←v13936;
         word newLoc←v13964;
SOURCE(9848, 75)
         {
            word var←c61452;
            {
               word pd104;
               pd104 = (* (( (ptr) (* (( (ptr) gf←c70892)+175)/* var←c61260 */  ))+29) );
               var←c61452 = (word) ( *( (fPt) ((*  (ptr) pd104 ))))(tabStop←v13792, style←v8588, pd104);
               };
            {
               word pd105;
               pd105 = (* (( (ptr) (* (( (ptr) gf←c70892)+174)/* var←c61132 */  ))+7) );
               tabLoc←v13908 = (word) ( *( (fPt) ((*  (ptr) pd105 ))))(var←c61452, pd105);
               };
            };
SOURCE(9925, 52)
         {
            word i←v57164;
            i←v57164 = (endX←v8644 + spaceWidth←v8616);
            minLoc←v13936 = i←v57164;
            };
SOURCE(9979, 80)
         newLoc←v13964 =  ( ( (int)minLoc←v13936 >  (int)tabLoc←v13908) ? minLoc←v13936 : tabLoc←v13908 ) ;
SOURCE(10061, 8518)
         {
            word i←v58160;
            i←v58160 = (newLoc←v13964 - endX←v8644);
            width←v8716 = i←v58160;
            };
         };
      };
SOURCE(9326, 9253)
   return(width←v8716);
   }

static void ComputePositionVector←P900(lineInfo←v8776)
   word lineInfo←v8776;
   {
   word x←v14008;
   word sx←v14036 = 32768;
   /* ComputePositionVector: */ 
SOURCE(10104, 8475)
SOURCE(10169, 41)
   {
      word var←c61548;
      var←c61548 = (* (( (ptr) lineInfo←v8776)+2) );
      {
         word limit106;
         (* ((( (ptr) var←c61548)+1)+(
               limit106 = (*  (ptr) var←c61548 ),
               BCK(0, limit106)
               )) ) = 0;
         };
      x←v14008 = 0;
      };
SOURCE(10244, 8335)
   if (((* (( (ptr) lineInfo←v8776)+14) ) > 0)) {
SOURCE(10280, 328)
      {
         word charEntry←v14080;
         word var←c61612;
SOURCE(10282, 78)
         {
            word limit107;
            var←c61612 = (*  (ptr) lineInfo←v8776 );
            charEntry←v14080 = (word) (( (W3Pt) (( (bPt) var←c61612)+4))+(
                  limit107 = (*  (ptr) var←c61612 ),
                  BCK(0, limit107)
                  ));
            };
SOURCE(10362, 8217)
         {
            register word i←v14136 = 0;
            register word noName←c61644;
            noName←c61644 = (* (( (ptr) lineInfo←v8776)+14) );
            if ((i←v14136 >= noName←c61644)) {
               goto lab←L100043;
               };
            lab←L100046: ;
            {
               word xNext←v14180;
SOURCE(10400, 68)
               {
                  word a←v58412;
                  {
                     word var←c61708;
                     word b←v57072;
                     b←v57072 = (* (( (ptr) charEntry←v14080)+2) );
                     {
                        word i←v57120;
                        i←v57120 = (sx←v14036 + b←v57072);
                        var←c61708 = i←v57120;
                        };
                     sx←v14036 = var←c61708;
                     };
                  a←v58412 = sx←v14036;
                  xNext←v14180 =  (word)( (int)a←v58412 >> 16);
                  };
SOURCE(10470, 30)
               if (( (int)xNext←v14180 <=  (int)x←v14008)) {
SOURCE(10489, 11)
                  xNext←v14180 = (x←v14008 + 1);
                  };
SOURCE(10502, 8077)
               {
                  word var←c61804;
                  var←c61804 = xNext←v14180;
                  {
                     word var←c61836;
                     word var←c61868;
                     var←c61836 = (i←v14136 + 1);
                     var←c61868 = (* (( (ptr) lineInfo←v8776)+2) );
                     {
                        word limit108;
                        (* ((( (ptr) var←c61868)+1)+(
/*1*/   limit108 = (*  (ptr) var←c61868 ),
/*1*/   BCK(var←c61836, limit108)
/*1*/   )) ) = var←c61804;
                        };
                     };
                  x←v14008 = var←c61804;
                  };
SOURCE(10542, 55)
               charEntry←v14080 = (charEntry←v14080 + 12);
               };
            i←v14136 = (i←v14136 + 1);
            if ((i←v14136 < noName←c61644)) {
               goto lab←L100046;
               };
            lab←L100043: ;
            };
         };
      };
   }

static void FormatLine←P960(lineInfo←v44508, node←v44536, startOffset←v44564, nodeStyle←v44592, lineWidth←v44620, doLigsAndKern←v44648)
   word lineInfo←v44508;
   word node←v44536;
   word startOffset←v44564;
   word nodeStyle←v44592;
   word lineWidth←v44620;
   word doLigsAndKern←v44648;
   {
   register ptr gf←c70924 =  (ptr) &globalframe;
   /* FormatLine: */ 
SOURCE(10615, 7964)
SOURCE(10661, 40)
   {
      word pd109;
      pd109 = (* (( (ptr) (* (( (ptr) gf←c70924)+169)/* var←c60140 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd109 ))))((* (( (ptr) gf←c70924)+66) ), (* (( (ptr) gf←c70924)+67) ), pd109);
      };
SOURCE(10703, 7876)
   (* (( (ptr) lineInfo←v44508)+5) ) = node←v44536;
   (* (( (ptr) lineInfo←v44508)+6) ) = startOffset←v44564;
SOURCE(10744, 29)
   (* (( (ptr) lineInfo←v44508)+13) ) = 2147483648;
SOURCE(10775, 28)
   (* (( (ptr) lineInfo←v44508)+11) ) = 2147483647;
SOURCE(10805, 20)
   (* (( (ptr) lineInfo←v44508)+16) ) = 0;
SOURCE(10827, 30)
   (* (( (ptr) lineInfo←v44508)+17) ) = 0;
SOURCE(10859, 19)
   (* (( (ptr) lineInfo←v44508)+14) ) = 0;
SOURCE(10880, 29)
   (* (( (ptr) lineInfo←v44508)+15) ) = 0;
SOURCE(10911, 30)
   (* (( (ptr) lineInfo←v44508)+19) ) = 0;
SOURCE(10943, 27)
   (* (( (ptr) lineInfo←v44508)+18) ) = (*  (ptr) &fc100 );
SOURCE(10972, 30)
   (*  (ptr) (* (( (ptr) lineInfo←v44508)+1) ) ) = 0;
SOURCE(11004, 27)
   (* (( (ptr) lineInfo←v44508)+3) ) = 0;
SOURCE(11033, 26)
   (* (( (ptr) lineInfo←v44508)+4) ) = 0;
SOURCE(11061, 7518)
   if ((* (( (bPt) node←v44536)+36) ) & 010) {
SOURCE(11085, 258)
      {
         word class←v14224;
SOURCE(11087, 50)
         class←v14224 = (word) GetArtworkClassForNode←P2520(node←v44536);
SOURCE(11139, 199)
         if ( ( (class←v14224 != 0) ? ((* (( (ptr) class←v14224)+1) ) != 0) : 0 ) ) {
SOURCE(11180, 29)
            (* (( (ptr) lineInfo←v44508)+3) ) = class←v14224;
SOURCE(11211, 78)
            {
               word pd110;
               pd110 = (* (( (ptr) class←v14224)+1) );
               (void) ( *( (fPt) ((*  (ptr) pd110 ))))(lineInfo←v44508, node←v44536, startOffset←v44564, nodeStyle←v44592, lineWidth←v44620, doLigsAndKern←v44648, pd110)
               ;
               };
SOURCE(11291, 39)
            {
               word pd111;
               pd111 = (* (( (ptr) (* (( (ptr) gf←c70924)+169)/* var←c60140 */  ))+14) );
               (void) ( *( (fPt) ((*  (ptr) pd111 ))))((* (( (ptr) gf←c70924)+66) ), (* (( (ptr) gf←c70924)+67) ), pd111);
               };
SOURCE(11332, 6)
            return;
            };
         };
      };
SOURCE(11346, 82)
   (void) NormalFormatLine←P1140(lineInfo←v44508, node←v44536, startOffset←v44564, nodeStyle←v44592, lineWidth←v44620, doLigsAndKern←v44648)
   ;
SOURCE(11430, 7149)
   if (( (int)(* (( (ptr) lineInfo←v44508)+13) ) <  (int)(* (( (ptr) lineInfo←v44508)+11) ))) {
SOURCE(11470, 7109)
      {
         word pd112;
         pd112 = (* (( (ptr) (* (( (ptr) gf←c70924)+175)/* var←c61260 */  ))+13) );
         (* (( (ptr) lineInfo←v44508)+13) ) = (word) ( *( (fPt) ((*  (ptr) pd112 ))))(nodeStyle←v44592, 22, pd112);
         };
SOURCE(11524, 17)
      (* (( (ptr) lineInfo←v44508)+11) ) = 0;
      };
SOURCE(11546, 39)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c70924)+169)/* var←c60140 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd113 ))))((* (( (ptr) gf←c70924)+66) ), (* (( (ptr) gf←c70924)+67) ), pd113);
      };
   }

static void Complain←P1080(msg←v9556)
   word msg←v9556;
   {
   register ptr gf←c70956 =  (ptr) &globalframe;
   /* Complain: */ 
SOURCE(12948, 121)
SOURCE(12979, 52)
   {
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c70956)+176)/* var←c61900 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd114 ))))((* (( (ptr) gf←c70956)+64) ), 0, (* (( (ptr) gf←c70956)+65) ), msg←v9556, pd114);
      };
SOURCE(13033, 36)
   {
      word pd115;
      pd115 = (* (( (ptr) (* (( (ptr) gf←c70956)+176)/* var←c61900 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd115 ))))((* (( (ptr) gf←c70956)+64) ), (* (( (ptr) gf←c70956)+65) ), pd115);
      };
   }

static void NormalFormatLine←P1140(formal←c0899, formal←c0900, startOffset←v9672, formal←c0901, lineWidth←v9728, doLigsAndKern←v9756)
   word formal←c0899;
   word formal←c0900;
   word startOffset←v9672;
   word formal←c0901;
   word lineWidth←v9728;
   word doLigsAndKern←v9756;
   {
   W32 var←c70988;
   /* declaration of lineInfo←v9616 skipped */ 
   /* declaration of node←v9644 skipped */ 
   /* declaration of nodeStyle←v9700 skipped */ 
   register ptr gf←c71020 =  (ptr) &globalframe;
   /* declaration of var←c61932 skipped */ 
   /* declaration of var←c61964 skipped */ 
   /* declaration of var←c61996 skipped */ 
   /* declaration of var←c62028 skipped */ 
   W3 my←v14268;
   word leftExtra←v14296;
   word rightExtra←v14324;
   word leftIndent←v14352;
   word rightIndent←v14380;
   word lineLength←v14408;
   /* declaration of trimmedLineWidth←v14436 skipped */ 
   word fontWidths←v14464 = 0;
   /* declaration of charLooks←v14492 skipped */ 
   word charProps←v14520 = 0;
   word haveCharacterArtwork←v14548 = 0;
   word curFormatNumber←v14576 = 1073741823;
   /* declaration of breakIndex←v14604 skipped */ 
   /* declaration of endX←v14632 skipped */ 
   /* declaration of breakX←v14660 skipped */ 
   word spaceAtEnd←v14688 = 0;
   word haveLetterspace←v14716 = 0;
   word prevLetterspace←v14744 = 0;
   word prevDoLetterspace←v14772 = 0;
   word breakSpaceAtEnd←v14800 = 0;
   word spaceWidths←v14828 = 0;
   word highWaterChars←v14856;
   word extension←v14884 = 0;
   word hyphenation←v14912 = 0;
   word hyphenationData←v14940 = 0;
   word mayAmplArt←v14996 = 0;
   /* declaration of reader←v15052 skipped */ 
   word nodeSize←v15080;
   word nodeChars←v15108;
   /* declaration of maxNChars←v15136 skipped */ 
   /* declaration of maxIndex←v15164 skipped */ 
   word nTabs←v15192 = 0;
   word hyphenated←v15220 = 0;
   (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) = formal←c0899;
   (* (( (ptr) &var←c70988)+5)/* node←v9644 */  ) = formal←c0900;
   (* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ) = formal←c0901;
   /* NormalFormatLine: */ 
SOURCE(13075, 16854)
   {
      word tmpAddr116;
      tmpAddr116 = (word) (( (ptr) &var←c70988)+7)/* var←c61932 */ ;
      (*  (ptr) tmpAddr116 ) = ( ((word)  (fPt) GetHyphWidth←P4668) );
      (* (( (ptr) tmpAddr116) + 1) ) = 1;
      };
   {
      word tmpAddr117;
      tmpAddr117 = (word) (( (ptr) &var←c70988)+9)/* var←c61964 */ ;
      (*  (ptr) tmpAddr117 ) = ( ((word)  (fPt) TryBreakAfterDash←P3792) );
      (* (( (ptr) tmpAddr117) + 1) ) = 1;
      };
   {
      word tmpAddr118;
      tmpAddr118 = (word) (( (ptr) &var←c70988)+11)/* var←c61996 */ ;
      (*  (ptr) tmpAddr118 ) = ( ((word)  (fPt) AmplArt←P3636) );
      (* (( (ptr) tmpAddr118) + 1) ) = 1;
      };
   {
      word tmpAddr119;
      tmpAddr119 = (word) (( (ptr) &var←c70988)+13)/* var←c62028 */ ;
      (*  (ptr) tmpAddr119 ) = ( ((word)  (fPt) NodeStyleExtents←P3576) );
      (* (( (ptr) tmpAddr119) + 1) ) = 1;
      };
SOURCE(13248, 36)
   (void) AllocScratchRefs←P600((word) (&my←v14268));
SOURCE(13286, 107)
   {
      word tc120;
      word pd121;
      word pd122;
      if (( (int)startOffset←v9672 ==  (int)0)) {
         pd121 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
         tc120 =  (word) ( *( (fPt) ((*  (ptr) pd121 ))))((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), 14, pd121);
         }
      else {
         pd122 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
         tc120 =  (word) ( *( (fPt) ((*  (ptr) pd122 ))))((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), 16, pd122);
         };
      leftExtra←v14296 = tc120;
      };
SOURCE(13395, 85)
   {
      word tc123;
      word pd124;
      if (( (int)startOffset←v9672 ==  (int)0)) {
         pd124 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
         tc123 =  (word) ( *( (fPt) ((*  (ptr) pd124 ))))((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), 15, pd124);
         }
      else {
         tc123 =  (word) (*  (ptr) &fc125 );
         };
      rightExtra←v14324 = tc123;
      };
SOURCE(13482, 83)
   {
      word var←c62060;
      {
         word pd126;
         word x127;
         word x128;
         pd126 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
         *(float*)&var←c62060 = (
            x127 = (word) ( *( (fPt) ((*  (ptr) pd126 ))))((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), 12, pd126),  *(float*)&x127
            ) + (
            x128 = leftExtra←v14296,  *(float*)&x128
            );
         };
      {
         word pd129;
         pd129 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+7) );
         leftIndent←v14352 = (word) ( *( (fPt) ((*  (ptr) pd129 ))))(var←c62060, pd129);
         };
      };
SOURCE(13567, 86)
   {
      word var←c62092;
      {
         word pd130;
         word x131;
         word x132;
         pd130 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
         *(float*)&var←c62092 = (
            x131 = (word) ( *( (fPt) ((*  (ptr) pd130 ))))((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), 13, pd130),  *(float*)&x131
            ) + (
            x132 = rightExtra←v14324,  *(float*)&x132
            );
         };
      {
         word pd133;
         pd133 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+7) );
         rightIndent←v14380 = (word) ( *( (fPt) ((*  (ptr) pd133 ))))(var←c62092, pd133);
         };
      };
SOURCE(13655, 73)
   {
      word var←c62124;
      {
         word pd134;
         pd134 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
         var←c62124 = (word) ( *( (fPt) ((*  (ptr) pd134 ))))((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), 47, pd134);
         };
      {
         word pd135;
         pd135 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+7) );
         lineLength←v14408 = (word) ( *( (fPt) ((*  (ptr) pd135 ))))(var←c62124, pd135);
         };
      };
SOURCE(13730, 200)
   {
      word a←v57976;
      {
         word a←v58068;
         a←v58068 =  (  ( ( (int)lineLength←v14408 >  (int)0) ? ( (int)lineLength←v14408 <  (int)lineWidth←v9728) : 0 )  ? lineLength←v14408 : lineWidth←v9728 ) ;
         {
            word i←v58116;
            i←v58116 = (a←v58068 - leftIndent←v14352);
            a←v57976 = i←v58116;
            };
         };
      {
         word i←v58024;
         i←v58024 = (a←v57976 - rightIndent←v14380);
         (* (( (ptr) &var←c70988)+15)/* trimmedLineWidth←v14436 */  ) = i←v58024;
         };
      };
SOURCE(13964, 38)
   (* (( (ptr) &var←c70988)+16)/* charLooks←v14492 */  ) = 0;
SOURCE(14149, 38)
   (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ) = 0;
SOURCE(14189, 32)
   (* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) = 0;
SOURCE(14223, 34)
   (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  ) = 0;
SOURCE(14547, 49)
   highWaterChars←v14856 = (*  (ptr) (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) ) );
SOURCE(15204, 60)
   {
      word pd136;
      pd136 = (* (( (ptr) (* (( (ptr) gf←c71020)+170)/* var←c60812 */  ))+4) );
      (* (( (ptr) &var←c70988)+20)/* reader←v15052 */  ) = (word) ( *( (fPt) ((*  (ptr) pd136 ))))((* (( (ptr) &var←c70988)+5)/* node←v9644 */  ), my←v14268.f0, pd136)
      ;
      };
SOURCE(15266, 39)
   nodeSize←v15080 = (*  (ptr) (* (( (ptr) &var←c70988)+20)/* reader←v15052 */  ) );
SOURCE(15307, 52)
   nodeChars←v15108 = (nodeSize←v15080 - (MIN((int)(word), startOffset←v9672, nodeSize←v15080)));
SOURCE(15361, 79)
   (* (( (ptr) &var←c70988)+21)/* maxNChars←v15136 */  ) = (MIN((int)(word), nodeChars←v15108, 2147483647));
SOURCE(15442, 18)
   (* (( (ptr) &var←c70988)+22)/* maxIndex←v15164 */  ) =  (word) -1;
SOURCE(15504, 27)
   (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ) = (* (( (ptr) &var←c70988)+21)/* maxNChars←v15136 */  );
SOURCE(15533, 11673)
   {
      /* declaration of curIndex←v15468 skipped */ 
      (* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) = 0;
      if (((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) >= (* (( (ptr) &var←c70988)+21)/* maxNChars←v15136 */  ))) {
         goto lab←L100054;
         };
      lab←L100057: ;
      {
         /* declaration of nodeIndex←v15512 skipped */ 
         W3 cur←v15540;
         word xchar←v15568;
         word crBreak←v15596 = 0;
         word doLetterspace←v15624 = 1;
         word alteredWidth←v15652 = 0;
         /* declaration of width←v15680 skipped */ 
         word var←c64908;
         word a←v58364;
SOURCE(15572, 37)
         (* (( (ptr) &var←c70988)+24)/* nodeIndex←v15512 */  ) = (startOffset←v9672 + (* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ));
SOURCE(15611, 73)
         {
            W3 var←c0285;
            {
               word var←c0866;
               (* (( (ptr) &var←c70988)+22)/* maxIndex←v15164 */  ) = (* (( (ptr) &var←c70988)+24)/* nodeIndex←v15512 */  );
               var←c0866 = (* (( (ptr) &var←c70988)+24)/* nodeIndex←v15512 */  );
               {
                  word pd137;
                  pd137 = (* (( (ptr) (* (( (ptr) gf←c71020)+170)/* var←c60812 */  ))+9) );
                  (void) ( *( (fPt) ((*  (ptr) pd137 ))))((word) &var←c0285, (* (( (ptr) &var←c70988)+20)/* reader←v15052 */  ), var←c0866, pd137)
                  ;
                  };
               };
            cur←v15540 = var←c0285;
            };
SOURCE(15686, 23)
         xchar←v15568 = cur←v15540.f0;
SOURCE(15790, 33)
         (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = 0;
SOURCE(16312, 6033)
         if ((((((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) == 0) || (cur←v15540.f1 != (* (( (ptr) &var←c70988)+16)/* charLooks←v14492 */  ))) || (cur←v15540.f2 != charProps←v14520)) || (0 != haveCharacterArtwork←v14548)) || (xchar←v15568 <= 2)) {
SOURCE(16428, 5917)
SOURCE(16431, 16)
            {
               word realVShift←v15768;
               W9 new←v15796;
               word newExtension←v15824 = 0;
               W4 fontBoundingBox←v15852;
               /* declaration of charStyle←v15880 skipped */ 
               word charPostfix←v15908 = 0;
               word charArtwork←v15936 = 0;
               word var←c62732;
SOURCE(16449, 32)
               XR←FillWords(&new←v15796, 9, 0);
               (* (( (ptr) &new←v15796)+4) ) = (*  (ptr) &fc125 );
SOURCE(16557, 28)
               (* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ) = (* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  );
SOURCE(16624, 1955)
               if ((xchar←v15568 == 1) || (xchar←v15568 == 2)) {
SOURCE(16688, 1891)
                  charArtwork←v15936 = (* (( (ptr) gf←c71020)+68) );
                  };
SOURCE(16734, 21)
               (* (( (ptr) &var←c70988)+16)/* charLooks←v14492 */  ) = cur←v15540.f1;
SOURCE(16757, 21)
               charProps←v14520 = cur←v15540.f2;
SOURCE(16780, 1799)
               if ((charProps←v14520 != 0)) {
SOURCE(16804, 1775)
                  {
                     word pd138;
                     pd138 = (* (( (ptr) (* (( (ptr) gf←c71020)+177)/* var←c62636 */  ))+5) );
                     charPostfix←v15908 = (word) ( *( (fPt) ((*  (ptr) pd138 ))))(charProps←v14520, (* (( (ptr) gf←c71020)+69) ), pd138);
                     };
SOURCE(16849, 1730)
                  {
                     word pd139;
                     pd139 = (* (( (ptr) (* (( (ptr) gf←c71020)+177)/* var←c62636 */  ))+5) );
                     charArtwork←v15936 = (word) ( *( (fPt) ((*  (ptr) pd139 ))))(charProps←v14520, (* (( (ptr) gf←c71020)+70) ), pd139);
                     };
                  };
SOURCE(16897, 41)
               haveCharacterArtwork←v14548 = 0;
               (* (( (ptr) &new←v15796)+8) ) = 0;
SOURCE(16940, 1639)
               if ((charArtwork←v15936 == 0)) {
SOURCE(16968, 1611)
                  {
                     register word f←v15992 = 0;
                     register word noName←c62668;
                     {
                        word x140;
                        noName←c62668 = (x140 = (*  (ptr) (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) ) ),
                           MIN( (unsigned) , x140, 9));
                        };
                     if (( (int)f←v15992 >=  (int)noName←c62668)) {
                        goto lab←L100059;
                        };
                     lab←L100062: ;
                     {
                        W9 finfo←v16036;
                        word e←v16064;
SOURCE(17046, 59)
                        {
                           word var←c62700;
                           var←c62700 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) );
                           {
/*1*/   word limit141;
/*1*/   finfo←v16036 = (* (( (W9Pt) (( (ptr) var←c62700)+2))+(
/*1*/         limit141 = (* (( (ptr) var←c62700)+1) ),
/*1*/         BCK(f←v15992, limit141)
/*1*/         )) );
/*1*/   };
                           };
SOURCE(17107, 36)
                        e←v16064 = (* (( (ptr) &finfo←v16036)+7) );
SOURCE(17145, 1434)
                        if ( (  ( ((*  (ptr) &finfo←v16036 ) == (* (( (ptr) &var←c70988)+16)/* charLooks←v14492 */  )) ? ((* (( (ptr) e←v16064)+1)
                         ) == charPostfix←v15908) : 0 )  ? (0 == (* (( (ptr) &finfo←v16036)+8) )) : 0 ) ) {
SOURCE(17228, 19)
                           curFormatNumber←v14576 = f←v15992;
SOURCE(17249, 13)
                           extension←v14884 = e←v16064;
SOURCE(17264, 1315)
                           fontWidths←v14464 = (word) GetWidthArray←P720((* ((( (ptr) &finfo←v16036)+1)) ));
SOURCE(17304, 14)
                           goto lab←L100058;
                           };
                        };
                     f←v15992 = (f←v15992 + 1);
                     if ((f←v15992 < noName←c62668)) {
                        goto lab←L100062;
                        };
                     lab←L100059: ;
                     };
                  };
SOURCE(17335, 44)
               curFormatNumber←v14576 = (*  (ptr) (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) ) );
SOURCE(17381, 78)
               if ((curFormatNumber←v14576 >= (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) ))+1) ))) {
SOURCE(17436, 23)
                  (void) ExpandFormats←P480((* ((( (ptr) &var←c70988)+4)/* lineInfo←v9616 */ ) ));
                  };
SOURCE(17461, 1118)
               {
                  word limit142;
                  var←c62732 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) );
                  extension←v14884 = (* (( (ptr) (( (W9Pt) (( (ptr) var←c62732)+2))+(
                           limit142 = (* (( (ptr) var←c62732)+1) ),
                           BCK(curFormatNumber←v14576, limit142)
                           )))+7) );
                  };
SOURCE(17521, 57)
               if ((extension←v14884 == 0)) {
SOURCE(17543, 35)
                  extension←v14884 = XR←NewObject(76, (* (( (ptr) gf←c71020)+42) ));
                  };
SOURCE(17580, 40)
               (* (( (ptr) &new←v15796)+7) ) = extension←v14884;
               newExtension←v15824 = extension←v14884;
SOURCE(17622, 37)
               (*  (ptr) newExtension←v15824 ) = charProps←v14520;
SOURCE(17661, 38)
               (* (( (ptr) newExtension←v15824)+1) ) = charPostfix←v15908;
SOURCE(17701, 35)
               (* (( (ptr) newExtension←v15824)+2) ) = 0;
SOURCE(17738, 841)
               if (((* (( (ptr) &var←c70988)+16)/* charLooks←v14492 */  ) != 0)) {
SOURCE(17772, 24)
                  (* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ) = my←v14268.f1;
SOURCE(17798, 53)
                  {
                     word pd143;
                     pd143 = (* (( (ptr) (* (( (ptr) gf←c71020)+171)/* var←c60844 */  ))+5) );
                     (void) ( *( (fPt) ((*  (ptr) pd143 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), (* (( (ptr) &var←c70988)+6)
                        /* nodeStyle←v9700 */  ), pd143);
                     };
SOURCE(17853, 726)
                  {
                     /* declaration of var←c01 skipped */ 
                     /* declaration of var←c02 skipped */ 
                     (* (( (ptr) &var←c70988)+27)/* var←c01 */  ) =  (unsigned) ( * (bPt) (* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ) >> 6)
                     ;
                     (* (( (ptr) &var←c70988)+28)/* var←c02 */  ) = (* (( (ptr) (* (( (ptr) gf←c71020)+171)/* var←c60844 */  ))+18) );
                     {
                        word var←c0867;
                        var←c0867 = (word) &var←c70988;
                         (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q12072) ), ( ((word)  (fPt) NoName←Q12312) ), var←c0867);
                        };
                     };
                  };
SOURCE(18024, 208)
               if ((charPostfix←v15908 != 0)) {
SOURCE(18052, 111)
                  if (((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ) == (* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ))) {
SOURCE(18084, 24)
                     (* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ) = my←v14268.f1;
SOURCE(18110, 53)
                     {
                        word pd144;
                        pd144 = (* (( (ptr) (* (( (ptr) gf←c71020)+171)/* var←c60844 */  ))+5) );
                        (void) ( *( (fPt) ((*  (ptr) pd144 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), (* (( (ptr) &var←c70988)+6)
                           /* nodeStyle←v9700 */  ), pd144);
                        };
                     };
SOURCE(18168, 64)
                  {
                     word pd145;
                     pd145 = (* (( (ptr) (* (( (ptr) gf←c71020)+171)/* var←c60844 */  ))+19) );
                     (void) ( *( (fPt) ((*  (ptr) pd145 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), charPostfix←v15908,  (unsigned) (
                            * (bPt) (* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ) >> 6), pd145);
                     };
                  };
SOURCE(18237, 769)
               {
                  word var←c63020;
                  var←c63020 = charArtwork←v15936;
                  if ((var←c63020 == 0)) {
                     goto lab←L100065;
                     };
                  {
                     word tc146;
                     if (((* (( (ptr) gf←c71020)+63) ) == XR←GetReferentType(var←c63020))) {
                        tc146 =  (word) ( (unsigned) (*(int*)var←c63020<0) == 0);
                        }
                     else {
                        tc146 =  (word) 0;
                        };
                     if (tc146) {
                        {
                           word r←v16108;
                           r←v16108 = var←c63020;
SOURCE(18277, 737)
                           {
/*1*/   word key←v16152;
/*1*/   /* declaration of class←v16180 skipped */ 
SOURCE(18279, 28)
/*1*/   {
/*1*/      word pd147;
/*1*/      pd147 = (* (( (ptr) (* (( (ptr) gf←c71020)+181)/* var←c63052 */  ))+5) );
/*1*/      key←v16152 = (word) ( *( (fPt) ((*  (ptr) pd147 ))))(r←v16108, 0, 2147483647, pd147);
/*1*/      };
SOURCE(18309, 60)
/*1*/   (* (( (ptr) &var←c70988)+27)/* class←v16180 */  ) = (word) GetCharacterArtworkClass←P2040(key←v16152);
SOURCE(18371, 635)
/*1*/   if (((* (( (ptr) &var←c70988)+27)/* class←v16180 */  ) != 0)) {
SOURCE(18393, 186)
SOURCE(18393, 186)
/*1*/      {
/*1*/         /* declaration of var←c03 skipped */ 
/*1*/         /* declaration of var←c04 skipped */ 
/*1*/         (* (( (ptr) &var←c70988)+28) ) = (* (( (ptr) &var←c70988)+5)/* node←v9644 */  );
/*1*/         (* (( (ptr) &var←c70988)+29) ) = (* (( (ptr) &var←c70988)+24)/* nodeIndex←v15512 */  );
/*1*/         (* (( (ptr) &var←c70988)+30)/* var←c04 */  ) = (* (( (ptr) (* (( (ptr) &var←c70988)+27)/* class←v16180 */  ))+1) );
/*1*/         {
/*1*/            /* declaration of var←c05 skipped */ 
/*1*/            {
/*1*/               word var←c06;
/*1*/               {
/*1*/                  word var←c0868;
/*1*/                  var←c0868 = (word) &var←c70988;
/*1*/                  var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q12012) ), ( ((word)  (fPt) NoName←Q12252) ), var←c0868);
/*1*/                  };
/*1*/               if ((var←c06 == 2)) {
/*1*/                  goto lab←L100067;
/*1*/                  };
/*1*/               };
/*1*/            (* (( (ptr) newExtension←v15824)+2) ) = (* (( (ptr) &var←c70988)+31)/* var←c05 */  );
/*1*/            };
/*1*/         };
/*1*/      lab←L100067: ;
SOURCE(18596, 410)
/*1*/      if (((* (( (ptr) newExtension←v15824)+2) ) != 0)) {
SOURCE(18641, 367)
/*1*/         {
/*1*/            word vShift←v16224;
SOURCE(18643, 51)
/*1*/            {
/*1*/               word pd148;
/*1*/               pd148 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
/*1*/               vShift←v16224 = (word) ( *( (fPt) ((*  (ptr) pd148 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 6, pd148);
/*1*/               };
SOURCE(18696, 17)
/*1*/            (* (( (ptr) &new←v15796)+8) ) = 1;
SOURCE(18715, 27)
/*1*/            haveCharacterArtwork←v14548 = 1;
SOURCE(18744, 65)
/*1*/            if ((0 != (* (( (ptr) (* (( (ptr) newExtension←v15824)+2) ))+7) ))) {
SOURCE(18792, 17)
/*1*/               mayAmplArt←v14996 = 1;
/*1*/               };
SOURCE(18811, 97)
/*1*/            {
/*1*/               word var←c63148;
/*1*/               {
/*1*/                  word x149;
/*1*/                  word x150;
/*1*/                  word x151;
/*1*/                  float tf152;
/*1*/                  word x153;
/*1*/                  var←c63148 = (x149 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ),
/*1*/                     x153 = (word) CeilingI←P120((
/*1*/                           tf152 = (
/*1*/                              x150 = (* (( (ptr) (* (( (ptr) newExtension←v15824)+2) ))+4) ),  *(float*)&x150
/*1*/                              ) + (
/*1*/                              x151 = vShift←v16224,  *(float*)&x151
/*1*/                              ),  *(word*)&tf152
/*1*/                           )),
/*1*/                     MAX((int)(word), x149, x153));
/*1*/                  };
/*1*/               (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ) = var←c63148;
/*1*/               };
SOURCE(18910, 96)
/*1*/            {
/*1*/               word var←c63180;
/*1*/               {
/*1*/                  word x154;
/*1*/                  word x155;
/*1*/                  word x156;
/*1*/                  float tf157;
/*1*/                  word x158;
/*1*/                  var←c63180 = (x154 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ),
/*1*/                     x158 = (word) FloorI←P60((
/*1*/                           tf157 = (
/*1*/                              x155 = vShift←v16224,  *(float*)&x155
/*1*/                              ) - (
/*1*/                              x156 = (* (( (ptr) (* (( (ptr) newExtension←v15824)+2) ))+3) ),  *(float*)&x156
/*1*/                              ),  *(word*)&tf157
/*1*/                           )),
/*1*/                     MIN((int)(word), x154, x158));
/*1*/                  };
/*1*/               (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ) = var←c63180;
/*1*/               };
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        }
                     else {
                        lab←L100065: ;
                        };
                     };
                  };
SOURCE(19034, 76)
               {
                  word var←c63212;
                  {
                     word pd159;
                     pd159 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                     var←c63212 = (word) ( *( (fPt) ((*  (ptr) pd159 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 2, pd159);
                     };
                  {
                     word pd160;
                     pd160 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+7) );
                     (* (( (ptr) newExtension←v15824)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd160 ))))(var←c63212, pd160);
                     };
                  };
SOURCE(19112, 67)
               if (((* (( (ptr) newExtension←v15824)+9) ) != 0)) {
SOURCE(19157, 22)
                  haveLetterspace←v14716 = 1;
                  };
SOURCE(19181, 39)
               {
                  word pd161;
                  pd161 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+41) );
                  (* (( (ptr) &new←v15796)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd161 ))))((* ((( (ptr) &var←c70988)+26)/* charStyle←v15880 */ ) ), pd161)
                  ;
                  };
SOURCE(19222, 47)
               {
                  word pd162;
                  pd162 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+43) );
                  (* (( (ptr) &new←v15796)+2) ) = (word) ( *( (fPt) ((*  (ptr) pd162 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 0, pd162)
                  ;
                  };
SOURCE(19271, 54)
               {
                  word pd163;
                  pd163 = (* (( (ptr) (* (( (ptr) gf←c71020)+173)/* var←c61100 */  ))+18) );
                  (void) ( *( (fPt) ((*  (ptr) pd163 ))))((word) &fontBoundingBox←v15852, (* (( (ptr) &new←v15796)+1) ), pd163);
                  };
SOURCE(19327, 21)
               (*  (ptr) &new←v15796 ) = (* (( (ptr) &var←c70988)+16)/* charLooks←v14492 */  );
SOURCE(19350, 53)
               (* (( (ptr) &new←v15796)+6) ) =  (unsigned) ( * (bPt) (( (bPt) (* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ))+1) >> 6)
               ;
SOURCE(19405, 524)
               if (((* (( (ptr) &new←v15796)+6) ) != 0)) {
SOURCE(19436, 495)
                  {
                     word underlineThickness←v16268;
                     word underlineDescent←v16296;
SOURCE(19438, 75)
                     {
                        word pd164;
                        pd164 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                        underlineThickness←v16268 = (word) ( *( (fPt) ((*  (ptr) pd164 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 57, pd164)
                        ;
                        };
SOURCE(19515, 71)
                     {
                        word pd165;
                        pd165 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                        underlineDescent←v16296 = (word) ( *( (fPt) ((*  (ptr) pd165 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 58, pd165)
                        ;
                        };
SOURCE(19588, 49)
                     (* (( (ptr) newExtension←v15824)+4) ) = underlineThickness←v16268;
SOURCE(19639, 43)
                     (* (( (ptr) newExtension←v15824)+3) ) = underlineDescent←v16296;
SOURCE(19684, 71)
                     {
                        word var←c63276;
                        {
                           word x166;
                           word x167;
                           float tf168;
                           word x169;
                           var←c63276 = (x166 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ),
/*1*/   x169 = (word) CeilingI←P120((
/*1*/         tf168 =  - (
/*1*/            x167 = (* (( (ptr) newExtension←v15824)+3) ),  *(float*)&x167
/*1*/            ),  *(word*)&tf168
/*1*/         )),
/*1*/   MAX((int)(word), x166, x169));
                           };
                        (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ) = var←c63276;
                        };
SOURCE(19757, 100)
                     {
                        word var←c63308;
                        {
                           word x170;
                           word x171;
                           word x172;
                           float tf173;
                           word x174;
                           var←c63308 = (x170 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ),
/*1*/   x174 = (word) FloorI←P60((
/*1*/         tf173 =  - ((
/*1*/            x171 = (* (( (ptr) newExtension←v15824)+4) ),  *(float*)&x171
/*1*/            ) + (
/*1*/            x172 = (* (( (ptr) newExtension←v15824)+3) ),  *(float*)&x172
/*1*/            )),  *(word*)&tf173
/*1*/         )),
/*1*/   MIN((int)(word), x170, x174));
                           };
                        (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ) = var←c63308;
                        };
SOURCE(19859, 70)
                     {
                        word pd175;
                        pd175 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+43) );
                        (* (( (ptr) newExtension←v15824)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd175 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 1, pd175)
                        ;
                        };
                     };
                  };
SOURCE(19934, 49)
               (* (( (ptr) &new←v15796)+5) ) =  (unsigned) ((*  (bPt) (* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ) ) & 3);
SOURCE(19985, 520)
               if (((* (( (ptr) &new←v15796)+5) ) != 0)) {
SOURCE(20014, 493)
                  {
                     word strikeoutThickness←v16340;
                     word strikeoutAscent←v16368;
SOURCE(20016, 75)
                     {
                        word pd176;
                        pd176 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                        strikeoutThickness←v16340 = (word) ( *( (fPt) ((*  (ptr) pd176 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 62, pd176)
                        ;
                        };
SOURCE(20093, 69)
                     {
                        word pd177;
                        pd177 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                        strikeoutAscent←v16368 = (word) ( *( (fPt) ((*  (ptr) pd177 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 63, pd177)
                        ;
                        };
SOURCE(20164, 49)
                     (* (( (ptr) newExtension←v15824)+7) ) = strikeoutThickness←v16340;
SOURCE(20215, 43)
                     {
                        word x178;
                        *(float*)(( (ptr) newExtension←v15824)+6) =  - (
                           x178 = strikeoutAscent←v16368,  *(float*)&x178
                           );
                        };
SOURCE(20260, 71)
                     {
                        word var←c63340;
                        {
                           word x179;
                           word x180;
                           float tf181;
                           word x182;
                           var←c63340 = (x179 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ),
/*1*/   x182 = (word) CeilingI←P120((
/*1*/         tf181 =  - (
/*1*/            x180 = (* (( (ptr) newExtension←v15824)+6) ),  *(float*)&x180
/*1*/            ),  *(word*)&tf181
/*1*/         )),
/*1*/   MAX((int)(word), x179, x182));
                           };
                        (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ) = var←c63340;
                        };
SOURCE(20333, 100)
                     {
                        word var←c63372;
                        {
                           word x183;
                           word x184;
                           word x185;
                           float tf186;
                           word x187;
                           var←c63372 = (x183 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ),
/*1*/   x187 = (word) FloorI←P60((
/*1*/         tf186 =  - ((
/*1*/            x184 = (* (( (ptr) newExtension←v15824)+7) ),  *(float*)&x184
/*1*/            ) + (
/*1*/            x185 = (* (( (ptr) newExtension←v15824)+6) ),  *(float*)&x185
/*1*/            )),  *(word*)&tf186
/*1*/         )),
/*1*/   MIN((int)(word), x183, x187));
                           };
                        (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ) = var←c63372;
                        };
SOURCE(20435, 70)
                     {
                        word pd188;
                        pd188 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+43) );
                        (* (( (ptr) newExtension←v15824)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd188 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 2, pd188)
                        ;
                        };
                     };
                  };
SOURCE(20552, 1269)
               {
                  word backgroundAscent←v16412;
                  word backgroundDescent←v16440;
                  word outlineBoxThickness←v16468;
                  word backgroundHeight←v16496;
                  word var←c63404;
SOURCE(20554, 71)
                  {
                     word pd189;
                     pd189 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                     backgroundAscent←v16412 = (word) ( *( (fPt) ((*  (ptr) pd189 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 72, pd189)
                     ;
                     };
SOURCE(20627, 73)
                  {
                     word pd190;
                     pd190 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                     backgroundDescent←v16440 = (word) ( *( (fPt) ((*  (ptr) pd190 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 73, pd190)
                     ;
                     };
SOURCE(20702, 84)
                  {
                     word pd191;
                     word x192;
                     float tf193;
                     float tf194;
                     word x195;
                     float tf196;
                     pd191 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                     outlineBoxThickness←v16468 = (
                        tf196 = FMAX((
/*1*/   x192 = (word) ( *( (fPt) ((*  (ptr) pd191 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 67, pd191),  *(float*)&x192
/*1*/   ), (
/*1*/   x195 = (*  (ptr) &fc125 ),  *(float*)&x195
/*1*/   ), tf193, tf194),  *(word*)&tf196
                        );
                     };
SOURCE(20788, 59)
                  {
                     word x197;
                     word x198;
                     *(float*)&backgroundHeight←v16496 = (
                        x197 = backgroundAscent←v16412,  *(float*)&x197
                        ) + (
                        x198 = backgroundDescent←v16440,  *(float*)&x198
                        );
                     };
SOURCE(20849, 967)
                  {
                     word x199;
                     word x200;
                     word x201;
                     word x202;
                     if (((
                        x199 = backgroundHeight←v16496,  *(float*)&x199
                        ) > (
                        x200 = (*  (ptr) &fc125 ),  *(float*)&x200
                        ))) {
                        var←c63404 =  (unsigned) 1;
                        }
                     else {
                        var←c63404 =  (unsigned) ((
                           x201 = outlineBoxThickness←v16468,  *(float*)&x201
                           ) > (
                           x202 = (*  (ptr) &fc125 ),  *(float*)&x202
                           ));
                        };
                     };
                  (* (( (ptr) newExtension←v15824)+11) ) = var←c63404;
                  if ((0 != var←c63404)) {
SOURCE(20941, 29)
                     (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+17) ) = 1;
SOURCE(20972, 48)
                     (* (( (ptr) newExtension←v15824)+12) ) = backgroundAscent←v16412;
SOURCE(21022, 50)
                     (* (( (ptr) newExtension←v15824)+13) ) = backgroundDescent←v16440;
SOURCE(21074, 72)
                     {
                        word pd203;
                        pd203 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+43) );
                        (* (( (ptr) newExtension←v15824)+14) ) = (word) ( *( (fPt) ((*  (ptr) pd203 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 4, pd203)
                        ;
                        };
SOURCE(21148, 80)
                     {
                        word pd204;
                        pd204 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                        (* (( (ptr) newExtension←v15824)+15) ) = (word) ( *( (fPt) ((*  (ptr) pd204 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 68, pd204)
                        ;
                        };
SOURCE(21230, 257)
                     {
                        word x205;
                        word x206;
                        if (((
                           x205 = backgroundHeight←v16496,  *(float*)&x205
                           ) <= (
                           x206 = (*  (ptr) &fc125 ),  *(float*)&x206
                           ))) {
SOURCE(21264, 87)
                           {
/*1*/   word x207;
/*1*/   word x208;
/*1*/   *(float*)(( (ptr) newExtension←v15824)+12) = (
/*1*/      x207 = fontBoundingBox←v15852.f3,  *(float*)&x207
/*1*/      ) + (
/*1*/      x208 = (* (( (ptr) newExtension←v15824)+15) ),  *(float*)&x208
/*1*/      );
/*1*/   };
SOURCE(21353, 89)
                           {
/*1*/   word x209;
/*1*/   word x210;
/*1*/   *(float*)(( (ptr) newExtension←v15824)+13) = (
/*1*/      x209 = fontBoundingBox←v15852.f2,  *(float*)&x209
/*1*/      ) + (
/*1*/      x210 = (* (( (ptr) newExtension←v15824)+15) ),  *(float*)&x210
/*1*/      );
/*1*/   };
SOURCE(21444, 43)
                           (* (( (ptr) newExtension←v15824)+14) ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c71020)+183)/* var←c63436 */  ))+55) ) );
                           };
                        };
SOURCE(21492, 54)
                     (* (( (ptr) newExtension←v15824)+16) ) = outlineBoxThickness←v16468;
SOURCE(21548, 72)
                     {
                        word pd211;
                        pd211 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+43) );
                        (* (( (ptr) newExtension←v15824)+17) ) = (word) ( *( (fPt) ((*  (ptr) pd211 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 3, pd211)
                        ;
                        };
SOURCE(21622, 95)
                     {
                        word var←c63468;
                        {
                           word x212;
                           word x213;
                           word x214;
                           float tf215;
                           word x216;
                           var←c63468 = (x212 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ),
/*1*/   x216 = (word) CeilingI←P120((
/*1*/         tf215 = (
/*1*/            x213 = (* (( (ptr) newExtension←v15824)+12) ),  *(float*)&x213
/*1*/            ) + (
/*1*/            x214 = outlineBoxThickness←v16468,  *(float*)&x214
/*1*/            ),  *(word*)&tf215
/*1*/         )),
/*1*/   MAX((int)(word), x212, x216));
                           };
                        (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ) = var←c63468;
                        };
SOURCE(21719, 97)
                     {
                        word var←c63500;
                        {
                           word x217;
                           word x218;
                           word x219;
                           float tf220;
                           word x221;
                           var←c63500 = (x217 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ),
/*1*/   x221 = (word) FloorI←P60((
/*1*/         tf220 =  - ((
/*1*/            x218 = (* (( (ptr) newExtension←v15824)+13) ),  *(float*)&x218
/*1*/            ) + (
/*1*/            x219 = outlineBoxThickness←v16468,  *(float*)&x219
/*1*/            )),  *(word*)&tf220
/*1*/         )),
/*1*/   MIN((int)(word), x217, x221));
                           };
                        (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ) = var←c63500;
                        };
                     };
                  };
SOURCE(21824, 58)
               {
                  word pd222;
                  pd222 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                  (* (( (ptr) newExtension←v15824)+10) ) = (word) ( *( (fPt) ((*  (ptr) pd222 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 5, pd222)
                  ;
                  };
SOURCE(21884, 49)
               {
                  word pd223;
                  pd223 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                  realVShift←v15768 = (word) ( *( (fPt) ((*  (ptr) pd223 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 6, pd223)
                  ;
                  };
SOURCE(21935, 23)
               (* (( (ptr) &new←v15796)+4) ) = realVShift←v15768;
SOURCE(21960, 60)
               {
                  word var←c63532;
                  {
                     word pd224;
                     word x225;
                     pd224 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+13) );
                     var←c63532 = (x225 = (word) ( *( (fPt) ((*  (ptr) pd224 ))))((* (( (ptr) &var←c70988)+26)/* charStyle←v15880 */  ), 77, pd224)
                        ,
                        MAX((int)(word), x225, 0));
                     };
                  (* (( (ptr) newExtension←v15824)+18) ) = var←c63532;
                  };
SOURCE(22022, 81)
               {
                  word var←c63564;
                  {
                     word x226;
                     word x227;
                     word x228;
                     float tf229;
                     word x230;
                     var←c63564 = (x226 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ),
                        x230 = (word) CeilingI←P120((
/*1*/   tf229 = (
/*1*/      x227 = fontBoundingBox←v15852.f3,  *(float*)&x227
/*1*/      ) + (
/*1*/      x228 = realVShift←v15768,  *(float*)&x228
/*1*/      ),  *(word*)&tf229
/*1*/   )),
                        MAX((int)(word), x226, x230));
                     };
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ) = var←c63564;
                  };
SOURCE(22105, 81)
               {
                  word var←c63596;
                  {
                     word x231;
                     word x232;
                     word x233;
                     float tf234;
                     word x235;
                     var←c63596 = (x231 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ),
                        x235 = (word) FloorI←P60((
/*1*/   tf234 = ( - (
/*1*/      x232 = fontBoundingBox←v15852.f2,  *(float*)&x232
/*1*/      )) + (
/*1*/      x233 = realVShift←v15768,  *(float*)&x233
/*1*/      ),  *(word*)&tf234
/*1*/   )),
                        MIN((int)(word), x231, x235));
                     };
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ) = var←c63596;
                  };
SOURCE(22188, 36)
               fontWidths←v14464 = (word) GetWidthArray←P720((* ((( (ptr) &new←v15796)+1)) ));
SOURCE(22226, 42)
               {
                  word var←c63628;
                  var←c63628 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) );
                  {
                     word limit236;
                     (* (( (W9Pt) (( (ptr) var←c63628)+2))+(
                           limit236 = (* (( (ptr) var←c63628)+1) ),
                           BCK(curFormatNumber←v14576, limit236)
                           )) ) = new←v15796;
                     };
                  };
SOURCE(22270, 48)
               (*  (ptr) (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) ) ) = BCK((curFormatNumber←v14576 + 1), 1073741824)
               ;
               };
            goto lab←L100070;
            lab←L100058: ;
            lab←L100070: ;
            };
SOURCE(22348, 104)
         if (((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) >= highWaterChars←v14856)) {
SOURCE(22385, 21)
            (void) ExpandChars←P420((* ((( (ptr) &var←c70988)+4)/* lineInfo←v9616 */ ) ));
SOURCE(22408, 44)
            highWaterChars←v14856 = (*  (ptr) (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) ) );
            };
SOURCE(22457, 1433)
         if ((0 != haveCharacterArtwork←v14548)) {
SOURCE(22488, 64)
            {
               word pd237;
               pd237 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+7) );
               (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = (word) ( *( (fPt) ((*  (ptr) pd237 ))))((* ((( (ptr) (* (( (ptr) extension←v14884)+2)
                      ))+5)) ), pd237);
               };
SOURCE(22554, 21)
            doLetterspace←v15624 = 0;
SOURCE(22577, 24)
            spaceAtEnd←v14688 = 0;
SOURCE(22603, 90)
            if ((0 != (* (( (ptr) (* (( (ptr) extension←v14884)+2) ))+7) ))) {
SOURCE(22648, 45)
               {
                  word var←c63692;
                  word i←v57028;
                  i←v57028 = (spaceWidths←v14828 + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                  var←c63692 = i←v57028;
                  spaceWidths←v14828 = var←c63692;
                  };
               };
            }
         else {
SOURCE(22702, 1188)
            {
               word var←c63724;
               var←c63724 = xchar←v15568;
               if ((var←c63724 == 13) || (var←c63724 == 10)) {
SOURCE(22734, 14)
                  crBreak←v15596 = 1;
SOURCE(22750, 23)
                  (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = (*  (ptr) fontWidths←v14464 );
SOURCE(22775, 25)
                  (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ) = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) + 1);
SOURCE(22802, 33)
                  {
                     word i←v56984;
                     i←v56984 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                     (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  ) = i←v56984;
                     };
SOURCE(22837, 21)
                  doLetterspace←v15624 = 0;
                  goto endif0238;
                  };
               if ((var←c63724 == 32)) {
SOURCE(22872, 23)
                  (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = (*  (ptr) fontWidths←v14464 );
SOURCE(22897, 45)
                  {
                     word var←c63788;
                     word i←v56940;
                     i←v56940 = (spaceWidths←v14828 + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                     var←c63788 = i←v56940;
                     spaceWidths←v14828 = var←c63788;
                     };
SOURCE(22944, 25)
                  (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ) = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) + 1);
SOURCE(22971, 33)
                  {
                     word i←v56896;
                     i←v56896 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                     (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  ) = i←v56896;
                     };
SOURCE(23006, 43)
                  {
                     word var←c63852;
                     word i←v56852;
                     i←v56852 = (spaceAtEnd←v14688 + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                     var←c63852 = i←v56852;
                     spaceAtEnd←v14688 = var←c63852;
                     };
SOURCE(23051, 21)
                  doLetterspace←v15624 = 0;
                  goto endif0238;
                  };
               if ((var←c63724 == 45)) {
SOURCE(23088, 25)
                  (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = (* (( (ptr) fontWidths←v14464)+13) );
SOURCE(23115, 24)
                  spaceAtEnd←v14688 = 0;
SOURCE(23141, 19)
                  (void) TryBreakAfterDash←P3792((word) ((( (bPt) &var←c70988)+36)/* var←c61964 */ ));
                  goto endif0238;
                  };
               if ((var←c63724 == 9)) {
SOURCE(23175, 25)
                  spaceWidths←v14828 = 0;
SOURCE(23202, 39)
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+19) ) = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) + 
                  1);
SOURCE(23243, 96)
                  (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = (word) ComputeTabWidth←P840((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), (*  (ptr) fontWidths←v14464 ), (* (
                        ( (ptr) &var←c70988)+18)/* endX←v14632 */  ), nTabs←v15192);
SOURCE(23341, 25)
                  (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ) = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) + 1);
SOURCE(23368, 33)
                  {
                     word i←v56808;
                     i←v56808 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                     (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  ) = i←v56808;
                     };
SOURCE(23403, 43)
                  {
                     word var←c63980;
                     word i←v56764;
                     i←v56764 = (spaceAtEnd←v14688 + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                     var←c63980 = i←v56764;
                     spaceAtEnd←v14688 = var←c63980;
                     };
SOURCE(23448, 17)
                  nTabs←v15192 = (nTabs←v15192 + 1);
SOURCE(23467, 21)
                  doLetterspace←v15624 = 0;
                  goto endif0238;
                  };
               if (((var←c63724 - 32) <= 94)) {
SOURCE(23515, 25)
                  (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = (* (( (ptr) fontWidths←v14464)+BCK((xchar←v15568 - 32), 95)) );
SOURCE(23542, 24)
                  spaceAtEnd←v14688 = 0;
                  goto endif0238;
                  };
SOURCE(23580, 330)
               {
                  word font←v16540;
                  word var←c64044;
SOURCE(23582, 54)
                  {
                     word limit239;
                     var←c64044 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+1) );
                     font←v16540 = (* (( (ptr) (( (W9Pt) (( (ptr) var←c64044)+2))+(
/*1*/   limit239 = (* (( (ptr) var←c64044)+1) ),
/*1*/   BCK(curFormatNumber←v14576, limit239)
/*1*/   )))+1) );
                     };
SOURCE(23638, 61)
                  {
                     W2 var←c0349;
                     word var←c64076;
                     {
                        word pd240;
                        pd240 = (* (( (ptr) (* (( (ptr) gf←c71020)+173)/* var←c61100 */  ))+14) );
                        (void) ( *( (fPt) ((*  (ptr) pd240 ))))((word) &var←c0349, font←v16540, xchar←v15568, pd240);
                        };
                     var←c64076 = var←c0349.f0;
                     {
                        word pd241;
                        pd241 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+7) );
                        (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = (word) ( *( (fPt) ((*  (ptr) pd241 ))))(var←c64076, pd241);
                        };
                     };
SOURCE(23701, 24)
                  spaceAtEnd←v14688 = 0;
SOURCE(23727, 163)
                  {
                     word var←c64140;
                     var←c64140 = xchar←v15568;
                     switch (var←c64140) {
                        case 8510: case 61220: case 61221: case 61222: case 24: 
SOURCE(23794, 19)
                           (void) TryBreakAfterDash←P3792((word) ((( (bPt) &var←c70988)+36)/* var←c61964 */ ));
                           break;
                        case 61219: 
SOURCE(23831, 17)
                           xchar←v15568 =  (word) -1;
SOURCE(23850, 19)
                           (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ) = 0;
SOURCE(23871, 19)
                           alteredWidth←v15652 = 1;
                           break;
                        default: 
                           break;
                        };
                     };
                  };
               goto endif0238;
               endif0238: ;
               };
            };
SOURCE(23913, 408)
         if ((0 != haveLetterspace←v14716)) {
SOURCE(23939, 338)
            if ( ( ((0 != prevDoLetterspace←v14772) && (0 != doLetterspace←v15624)) ? ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) > 0) : 0 ) ) {
SOURCE(24000, 279)
               {
                  word pad←v16584;
                  word var←c64364;
                  word var←c64396;
                  word var←c64588;
                  word var←c64620;
                  word var←c64428;
                  word a←v56580;
                  word var←c64460;
                  word var←c64492;
SOURCE(24002, 89)
                  {
                     word var←c64204;
                     {
                        word var←c64236;
                        word b←v56672;
                        b←v56672 = (* (( (ptr) extension←v14884)+9) );
                        {
                           word i←v56720;
                           i←v56720 = (prevLetterspace←v14744 + b←v56672);
                           var←c64236 = i←v56720;
                           };
                        var←c64204 = var←c64236;
                        };
                     {
                        word pd242;
                        pd242 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+21) );
                        pad←v16584 = (word) ( *( (fPt) ((*  (ptr) pd242 ))))(var←c64204,  (word) -1, pd242);
                        };
                     };
SOURCE(24093, 60)
                  {
                     word limit243;
                     word tadr244;
                     var←c64364 = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) - 1);
                     var←c64396 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
                     tadr244 = (word) (( (ptr) ((( (W3Pt) (( (ptr) var←c64396)+1))+(
/*1*/   limit243 = (*  (ptr) var←c64396 ),
/*1*/   BCK(var←c64364, limit243)
/*1*/   )))) + 1);
                     (*  (ptr) tadr244 ) = ((*  (ptr) tadr244 ) & 4294967293) | (((word) (pad←v16584 != 0)) << 1);
                     };
SOURCE(24155, 91)
                  {
                     word limit245;
                     var←c64588 = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) - 1);
                     var←c64620 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
                     {
                        word limit246;
                        var←c64460 = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) - 1);
                        var←c64492 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
                        a←v56580 = (* (( (W3Pt) (( (ptr) var←c64492)+1))+(
/*1*/   limit246 = (*  (ptr) var←c64492 ),
/*1*/   BCK(var←c64460, limit246)
/*1*/   )) ).f2;
                        };
                     {
                        word i←v56628;
                        i←v56628 = (a←v56580 + pad←v16584);
                        var←c64428 = i←v56628;
                        };
                     (* (( (W3Pt) (( (ptr) var←c64620)+1))+(
                           limit245 = (*  (ptr) var←c64620 ),
                           BCK(var←c64588, limit245)
                           )) ).f2 = (var←c64428
                     );
                     };
SOURCE(24248, 29)
                  {
                     word var←c64652;
                     word i←v56536;
                     i←v56536 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) + pad←v16584);
                     var←c64652 = i←v56536;
                     (* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) = var←c64652;
                     };
                  };
               };
SOURCE(24282, 39)
            prevLetterspace←v14744 = (* (( (ptr) extension←v14884)+9) );
            };
SOURCE(24326, 33)
         prevDoLetterspace←v14772 = doLetterspace←v15624;
SOURCE(24361, 135)
         {
            word var←c64716;
            word var←c64684;
            {
               word idx247;
               word limit248;
               var←c64684 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
               var←c64716 = (word) (( (W3Pt) (( (bPt) var←c64684)+4))+(
                     idx247 = (* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ),
                     limit248 = (*  (ptr) var←c64684 ),
                     BCK(idx247, limit248)
                     ));
               };
            (*  (ptr) var←c64716 ) = xchar←v15568;
            (* (( (ptr) var←c64716)+1) ) = ((word) (((word) ( (((unsigned)curFormatNumber←v14576 << 2) >> 2) ) << 1) +  (unsigned) (alteredWidth←v15652 & 1)) << 1);
            (* (( (ptr) var←c64716)+2) ) = (* (( (ptr) &var←c70988)+25)/* width←v15680 */  );
            };
SOURCE(24498, 31)
         {
            word var←c64748;
            word i←v56492;
            i←v56492 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) + (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
            var←c64748 = i←v56492;
            (* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) = var←c64748;
            };
SOURCE(24531, 304)
         if ((0 != crBreak←v15596)) {
SOURCE(24547, 295)
            {
               word nlr←v16628;
               word newline←v16656;
SOURCE(24549, 61)
               {
                  word var←c64780;
                  {
                     word pd249;
                     pd249 = (* (( (ptr) (* (( (ptr) gf←c71020)+179)/* var←c62956 */  ))+9) );
                     var←c64780 = (word) ( *( (fPt) ((*  (ptr) pd249 ))))((* ((( (ptr) &var←c70988)+5)/* node←v9644 */ ) ), pd249);
                     };
                  {
                     word pd250;
                     pd250 = (* (( (ptr) (* (( (ptr) gf←c71020)+184)/* var←c64812 */  ))+41) );
                     nlr←v16628 = (word) ( *( (fPt) ((*  (ptr) pd250 ))))(var←c64780, pd250);
                     };
                  };
SOURCE(24612, 81)
               {
                  word char←v55340;
                  {
                     word tc251;
                     word pd252;
                     word pd253;
                     pd252 = (* (( (ptr) (* (( (ptr) gf←c71020)+185)/* var←c64876 */  ))+15) );
                     if (( (int)(word) ( *( (fPt) ((*  (ptr) pd252 ))))(nlr←v16628, pd252) >  (int)0)) {
                        pd253 = (* (( (ptr) (* (( (ptr) gf←c71020)+185)/* var←c64876 */  ))+9) );
                        tc251 =  (word) ( *( (fPt) ((*  (ptr) pd253 ))))(nlr←v16628, 0, pd253);
                        }
                     else {
                        tc251 =  (word) 13;
                        };
                     char←v55340 = tc251;
                     };
                  newline←v16656 = char←v55340;
                  };
SOURCE(24695, 62)
               if ((xchar←v15568 == newline←v16656)) {
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+15) ) = 1;
                  }
               else {
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+15) ) = 0;
                  };
SOURCE(24759, 23)
               breakSpaceAtEnd←v14800 = (* (( (ptr) &var←c70988)+25)/* width←v15680 */  );
SOURCE(24784, 19)
               (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+16) ) = 1;
SOURCE(24805, 30)
               (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ) = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) + 
               1);
SOURCE(24837, 5)
               goto lab←L100055;
               };
            };
SOURCE(24845, 2361)
         {
            word i←v57932;
            i←v57932 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) - spaceAtEnd←v14688);
            a←v58364 = i←v57932;
            };
         var←c64908 =  (unsigned) ( (int)a←v58364 >  (int)(* (( (ptr) &var←c70988)+15)/* trimmedLineWidth←v14436 */  ));
         if (((0 != var←c64908)
         )) {
SOURCE(24918, 2297)
            {
               word partialWordWidth←v16700;
SOURCE(24920, 85)
               {
                  word a←v57796;
                  {
                     word i←v57888;
                     i←v57888 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) - spaceAtEnd←v14688);
                     a←v57796 = i←v57888;
                     };
                  {
                     word i←v57844;
                     i←v57844 = (a←v57796 - (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  ));
                     partialWordWidth←v16700 = i←v57844;
                     };
                  };
SOURCE(25007, 21)
               (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+16) ) = 2;
SOURCE(25030, 1983)
               if ( ( (spaceAtEnd←v14688 == 0) ? ( (int)((* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ) - (* (( (ptr) &var←c70988)+17)
               /* breakIndex←v14604 */  )) >=  (int)(* (( (ptr) gf←c71020)+9)/* minHyphLetters←v4064 */  )) : 0 ) ) {
SOURCE(25110, 1914)
                  {
                     word hyphenationClass←v16744;
                     word hyph←v16772;
SOURCE(25112, 66)
                     hyphenationClass←v16744 = (* (( (ptr) (* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ))+15) );
SOURCE(25180, 40)
                     hyph←v16772 = (word) FetchHyph←P1200(hyphenationClass←v16744);
SOURCE(25222, 1791)
                     if ((hyph←v16772 != 0)) {
SOURCE(25239, 1782)
                        {
                           W4 h←v16816;
                           word index0←v16844;
                           word index1←v16872;
SOURCE(25241, 44)
                           XR←FillWords(&h←v16816, 4, 0);
SOURCE(25287, 36)
                           index0←v16844 = (startOffset←v9672 + (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ));
SOURCE(25325, 20)
                           index1←v16872 = index0←v16844;
SOURCE(25347, 404)
                           lab←L100092: ;
                           if (( (int)index1←v16872 <  (int)nodeSize←v15080)) {
/*1*/   }
                           else {
/*1*/   goto lab←L100090;
/*1*/   };
                           {
/*1*/   word c←v16916;
/*1*/   word alpha←v16944;
SOURCE(25372, 47)
/*1*/   {
/*1*/      word pd254;
/*1*/      pd254 = (* (( (ptr) (* (( (ptr) gf←c71020)+170)/* var←c60812 */  ))+10) );
/*1*/      c←v16916 = (word) ( *( (fPt) ((*  (ptr) pd254 ))))((* (( (ptr) &var←c70988)+20)/* reader←v15052 */  ), index1←v16872, pd254)
/*1*/      ;
/*1*/      };
SOURCE(25421, 257)
/*1*/   {
/*1*/      word var←c65164;
/*1*/      var←c65164 = ((word) c←v16916 >> 8);
/*1*/      switch (var←c65164) {
/*1*/         case 0: 
/*1*/            {
/*1*/               word var←c65196;
/*1*/               var←c65196 = BCK(c←v16916, 256);
/*1*/               if ((((var←c65196 - 97) <= 25) || ((var←c65196 - 65) <= 25)) || ((var←c65196 - 193) <= 16)) {
/*1*/                  alpha←v16944 = 1;
/*1*/                  }
/*1*/               else {
/*1*/                  alpha←v16944 = 0;
/*1*/                  };
/*1*/               };
/*1*/            break;
/*1*/         case 38: case 39: 
/*1*/            alpha←v16944 = 1;
/*1*/            break;
/*1*/         case 239: 
/*1*/            alpha←v16944 =  (unsigned) ((c←v16916 & 0377) == 35);
/*1*/            break;
/*1*/         default: 
/*1*/            alpha←v16944 = 0;
/*1*/            break;
/*1*/         };
/*1*/      };
SOURCE(25680, 32)
/*1*/   {
/*1*/      word x255;
/*1*/      (* (( (ptr) &var←c70988)+22)/* maxIndex←v15164 */  ) = (x255 = (* (( (ptr) &var←c70988)+22)/* maxIndex←v15164 */  ),
/*1*/         MAX((int)(word), x255, index1←v16872));
/*1*/      };
SOURCE(25714, 37)
/*1*/   if ((0 != alpha←v16944)) {
SOURCE(25728, 23)
/*1*/      index1←v16872 = (index1←v16872 + 1);
/*1*/      }
/*1*/   else {
SOURCE(25751, 4)
/*1*/      goto lab←L100091;
/*1*/      };
/*1*/   };
                           goto lab←L100092;
                           lab←L100090: ;
                           lab←L100091: ;
SOURCE(25766, 104)
                           if (( (int)index1←v16872 >  (int)index0←v16844)) {
SOURCE(25788, 82)
/*1*/   {
/*1*/      word pd256;
/*1*/      pd256 = (*  (ptr) hyph←v16772 );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd256 ))))((word) &h←v16816, (* (( (ptr) &var←c70988)+5)/* node←v9644 */  ), index0←v16844, (index1←v16872 - index0←v16844), (* (
/*1*/            ( (ptr) hyph←v16772)+1) ), pd256);
/*1*/      };
/*1*/   };
SOURCE(25872, 1141)
                           if (( (unsigned) (*  (bPt) &h←v16816 ) > 0)) {
SOURCE(25889, 1129)
/*1*/   {
/*1*/      /* declaration of formatNum←v16988 skipped */ 
/*1*/      /* declaration of hyphChar←v17016 skipped */ 
/*1*/      /* declaration of hyphWidth←v17044 skipped */ 
/*1*/      /* declaration of artChar←v17072 skipped */ 
/*1*/      word i←v17128 = 0;
/*1*/      word w←v17156;
/*1*/      word b←v17184;
/*1*/      word j←v17212 = 0;
/*1*/      word var←c65260;
/*1*/      word b←v58316;
SOURCE(25891, 25)
/*1*/      (* (( (ptr) &var←c70988)+26)/* formatNum←v16988 */  ) = 2147483647;
SOURCE(25918, 24)
/*1*/      (* (( (ptr) &var←c70988)+27)/* hyphChar←v17016 */  ) = 0;
SOURCE(25944, 37)
/*1*/      (* (( (ptr) &var←c70988)+28)/* hyphWidth←v17044 */  ) = 0;
SOURCE(25983, 21)
/*1*/      (* (( (ptr) &var←c70988)+29)/* artChar←v17072 */  ) = 0;
SOURCE(26441, 24)
/*1*/      w←v17156 = (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  );
SOURCE(26467, 19)
/*1*/      b←v17184 = (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  );
SOURCE(26500, 318)
/*1*/      lab←L100095: ;
/*1*/      {
/*1*/         word tc257;
/*1*/         word tc258;
/*1*/         word tc259;
/*1*/         if ( ( ((b←v17184 + j←v17212) < (* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  )) ? (i←v17128 < 16) : 0 ) ) {
/*1*/            tc259 =  (word) ( (unsigned) (word) (* (( (bPt) &h←v16816)+BCK(i←v17128, 16)) ) > 0);
/*1*/            }
/*1*/         else {
/*1*/            tc259 =  (word) 0;
/*1*/            };
/*1*/         if (tc259) {
/*1*/            {
/*1*/               word a←v56372;
/*1*/               word b←v56400;
/*1*/               a←v56372 = w←v17156;
/*1*/               b←v56400 = (word) GetHyphWidth←P4668(SGNCK((b←v17184 + j←v17212)), (word) (( (bPt) &var←c70988)+28)/* var←c61932 */ );
/*1*/               {
/*1*/                  word i←v56448;
/*1*/                  i←v56448 = (a←v56372 + b←v56400);
/*1*/                  b←v58316 = i←v56448;
/*1*/                  };
/*1*/               };
/*1*/            var←c65260 =  (unsigned) ( (int)(* (( (ptr) &var←c70988)+15)/* trimmedLineWidth←v14436 */  ) >  (int)b←v58316);
/*1*/            tc258 =  (word) (0 != var←c65260);
/*1*/            }
/*1*/         else {
/*1*/            tc258 =  (word) 0;
/*1*/            };
/*1*/         if (tc258) {
/*1*/            tc257 =  (word) (0 == (* (( (ptr) &var←c70988)+29)/* artChar←v17072 */  ));
/*1*/            }
/*1*/         else {
/*1*/            tc257 =  (word) 0;
/*1*/            };
/*1*/         if (tc257) {
/*1*/            }
/*1*/         else {
/*1*/            goto lab←L100093;
/*1*/            };
/*1*/         };
SOURCE(26653, 101)
/*1*/      if ((j←v17212 ==  (unsigned) (word) (* (( (bPt) &h←v16816)+BCK(i←v17128, 16)) ))) {
SOURCE(26672, 16)
/*1*/         (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ) = SGNCK((b←v17184 + j←v17212));
SOURCE(26690, 34)
/*1*/         {
/*1*/            word i←v56328;
/*1*/            i←v56328 = (w←v17156 + (* (( (ptr) &var←c70988)+28)/* hyphWidth←v17044 */  ));
/*1*/            (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  ) = i←v56328;
/*1*/            };
SOURCE(26726, 17)
/*1*/         hyphenated←v15220 = 1;
SOURCE(26745, 9)
/*1*/         i←v17128 = (i←v17128 + 1);
/*1*/         };
SOURCE(26759, 48)
/*1*/      {
/*1*/         word var←c65420;
/*1*/         word b←v56236;
/*1*/         word var←c65452;
/*1*/         word var←c65484;
/*1*/         {
/*1*/            word limit260;
/*1*/            var←c65452 = (b←v17184 + j←v17212);
/*1*/            var←c65484 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
/*1*/            b←v56236 = (* (( (W3Pt) (( (ptr) var←c65484)+1))+(
/*1*/                  limit260 = (*  (ptr) var←c65484 ),
/*1*/                  BCK(var←c65452, limit260)
/*1*/                  )) ).f2;
/*1*/            };
/*1*/         {
/*1*/            word i←v56284;
/*1*/            i←v56284 = (w←v17156 + b←v56236);
/*1*/            var←c65420 = i←v56284;
/*1*/            };
/*1*/         w←v17156 = var←c65420;
/*1*/         };
SOURCE(26809, 9)
/*1*/      j←v17212 = (j←v17212 + 1);
/*1*/      goto lab←L100095;
/*1*/      lab←L100093: ;
SOURCE(26829, 184)
/*1*/      if ((0 != hyphenated←v15220)) {
SOURCE(26850, 29)
/*1*/         {
/*1*/            word var←c65580;
/*1*/            var←c65580 = (word) GetHyphWidth←P4668((* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ), (word) (( (bPt) &var←c70988)+28)
/*1*/               /* var←c61932 */ );
/*1*/            };
SOURCE(26881, 132)
/*1*/         {
/*1*/            word var←c65644;
/*1*/            word var←c65612;
/*1*/            {
/*1*/               word idx261;
/*1*/               word limit262;
/*1*/               var←c65612 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
/*1*/               var←c65644 = (word) (( (W3Pt) (( (bPt) var←c65612)+4))+(
/*1*/                     idx261 = (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ),
/*1*/                     limit262 = (*  (ptr) var←c65612 ),
/*1*/                     BCK(idx261, limit262)
/*1*/                     ));
/*1*/               };
/*1*/            (*  (ptr) var←c65644 ) = (* (( (ptr) &var←c70988)+27)/* hyphChar←v17016 */  );
/*1*/            {
/*1*/               word idx263;
/*1*/               (* (( (ptr) var←c65644)+1) ) = ((word) (
/*1*/                  idx263 = (* (( (ptr) &var←c70988)+26)/* formatNum←v16988 */  ),
/*1*/                  BCK(idx263, 1073741824)
/*1*/                  ) << 2);
/*1*/               };
/*1*/            (* (( (ptr) var←c65644)+2) ) = (* (( (ptr) &var←c70988)+28)/* hyphWidth←v17044 */  );
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
SOURCE(27027, 179)
               if (((* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  ) > 0)) {
SOURCE(27049, 28)
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ) = (* (( (ptr) &var←c70988)+17)/* breakIndex←v14604 */  );
SOURCE(27079, 13)
                  (* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) = (* (( (ptr) &var←c70988)+19)/* breakX←v14660 */  );
                  }
               else {
SOURCE(27099, 107)
                  if (((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) > 0)) {
SOURCE(27119, 26)
                     (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ) = (* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  );
SOURCE(27147, 32)
                     {
                        word var←c65676;
                        word i←v57752;
                        i←v57752 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) - (* (( (ptr) &var←c70988)+25)/* width←v15680 */  ));
                        var←c65676 = i←v57752;
                        (* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) = var←c65676;
                        };
                     }
                  else {
SOURCE(27187, 19)
                     (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ) = 1;
                     };
                  };
SOURCE(27209, 4)
               goto lab←L100055;
               };
            };
         };
      (* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) = ((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) + 1);
      if (((* (( (ptr) &var←c70988)+23)/* curIndex←v15468 */  ) < (* (( (ptr) &var←c70988)+21)/* maxNChars←v15136 */  ))) {
         goto lab←L100057;
         };
      lab←L100054: ;
      lab←L100055: ;
      };
SOURCE(27227, 82)
   if ( ( ((* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+16) ) == 0) ? ( (int)(* (( (ptr) (* (( (ptr) &var←c70988)+4)
      /* lineInfo←v9616 */  ))+14) ) <  (int)nodeChars←v15108) : 0 ) ) {
SOURCE(27288, 21)
      (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+16) ) = 2;
      };
SOURCE(27311, 89)
   if (( (int)(* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ) <  (int)(* (( (ptr) (* (( (ptr) &var←c70988)+4)
      /* lineInfo←v9616 */  ))+11) ))) {
SOURCE(27349, 51)
      {
         W2 var←c65708;
         (void) NodeStyleExtents←P3576((word) &var←c65708, (word) (( (bPt) &var←c70988)+52)/* var←c62028 */ );
         (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+11) ) = var←c65708.f1;
         (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+13) ) = var←c65708.f0;
         };
      };
SOURCE(27402, 531)
   if (((* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+16) ) == 2)) {
SOURCE(27434, 29)
      breakSpaceAtEnd←v14800 = 0;
SOURCE(27465, 468)
      {
         register word j←v17624;
         j←v17624 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) );
         if ((1 >= j←v17624)) {
            goto lab←L100103;
            };
         j←v17624 = (j←v17624 - 1);
         lab←L100106: ;
         {
            word c←v17668;
            word var←c65772;
SOURCE(27514, 36)
            {
               word limit264;
               var←c65772 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
               c←v17668 = (* (( (W3Pt) (( (ptr) var←c65772)+1))+(
                     limit264 = (*  (ptr) var←c65772 ),
                     BCK(j←v17624, limit264)
                     )) ).f0;
               };
SOURCE(27552, 381)
            {
               word var←c65804;
               var←c65804 = c←v17668;
               if ((var←c65804 == 32)) {
SOURCE(27573, 214)
                  {
                     word width←v17712;
                     word var←c65836;
SOURCE(27575, 48)
                     {
                        word limit265;
                        var←c65836 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
                        width←v17712 = (* (( (W3Pt) (( (ptr) var←c65836)+1))+(
/*1*/   limit265 = (*  (ptr) var←c65836 ),
/*1*/   BCK(j←v17624, limit265)
/*1*/   )) ).f2;
                        };
SOURCE(27625, 46)
                     {
                        word var←c65868;
                        word i←v57708;
                        i←v57708 = (spaceWidths←v14828 - width←v17712);
                        var←c65868 = i←v57708;
                        spaceWidths←v14828 = var←c65868;
                        };
SOURCE(27673, 53)
                     {
                        word var←c65900;
                        word i←v56104;
                        i←v56104 = (breakSpaceAtEnd←v14800 + width←v17712);
                        var←c65900 = i←v56104;
                        breakSpaceAtEnd←v14800 = var←c65900;
                        };
SOURCE(27728, 57)
                     (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+15) ) = ((* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+15)
                      ) + 1);
                     };
                  }
               else {
                  if ((var←c65804 == 9)) {
SOURCE(27800, 74)
                     {
                        word var←c65932;
                        word b←v56012;
                        word var←c65964;
                        {
                           word limit266;
                           var←c65964 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
                           b←v56012 = (* (( (W3Pt) (( (ptr) var←c65964)+1))+(
/*1*/      limit266 = (*  (ptr) var←c65964 ),
/*1*/      BCK(j←v17624, limit266)
/*1*/      )) ).f2;
                           };
                        {
                           word i←v56060;
                           i←v56060 = (breakSpaceAtEnd←v14800 + b←v56012);
                           var←c65932 = i←v56060;
                           };
                        breakSpaceAtEnd←v14800 = var←c65932;
                        };
SOURCE(27876, 57)
                     (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+15) ) = ((* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+15)
                      ) + 1);
                     }
                  else {
SOURCE(27949, 4)
                     goto lab←L100104;
                     };
                  };
               };
            };
         if ((1 >= j←v17624)) {
            goto lab←L100103;
            };
         j←v17624 = (j←v17624 - 1);
         goto lab←L100106;
         lab←L100103: ;
         lab←L100104: ;
         };
      };
SOURCE(27967, 1533)
   {
      word var←c66060;
      if (((* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+16) ) == 2)) {
         var←c66060 =  (unsigned) (((unsigned)(* (( (bPt) (* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ))+1) ) << 26) >> 30);
         }
      else {
         var←c66060 =  (unsigned) (((unsigned)(* (( (bPt) (* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ))+1) ) << 28) >> 30);
         };
      switch (var←c66060) {
         case 0: 
SOURCE(28092, 29)
            (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+9) ) = leftIndent←v14352;
            break;
         case 2: 
SOURCE(28139, 29)
            (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+9) ) = leftIndent←v14352;
SOURCE(28170, 1050)
            if (( (int)spaceWidths←v14828 >  (int)0)) {
SOURCE(28227, 995)
               {
                  word residual←v17756;
                  word maxHorizontalExpansion←v17784;
                  word amplify←v17812;
                  word start←v17840;
                  word end←v17868;
SOURCE(28229, 92)
                  {
                     word b←v57572;
                     {
                        word i←v57664;
                        i←v57664 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) - breakSpaceAtEnd←v14800);
                        b←v57572 = i←v57664;
                        };
                     {
                        word i←v57620;
                        i←v57620 = ((* (( (ptr) &var←c70988)+15)/* trimmedLineWidth←v14436 */  ) - b←v57572);
                        residual←v17756 = i←v57620;
                        };
                     };
SOURCE(28323, 83)
                  {
                     word pd267;
                     pd267 = (* (( (ptr) (* (( (ptr) gf←c71020)+175)/* var←c61260 */  ))+12) );
                     maxHorizontalExpansion←v17784 = (word) ( *( (fPt) ((*  (ptr) pd267 ))))((* (( (ptr) &var←c70988)+6)/* nodeStyle←v9700 */  ), 79, pd267)
                     ;
                     };
SOURCE(28408, 141)
                  {
                     word var←c66252;
                     word var←c0869;
                     word var←c0870;
                     word var←c0871;
                     {
                        word i←v55968;
                        i←v55968 = (residual←v17756 + spaceWidths←v14828);
                        var←c66252 = i←v55968;
                        };
                     {
                        word pd268;
                        pd268 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+20) );
                        var←c0869 = (word) ( *( (fPt) ((*  (ptr) pd268 ))))(var←c66252, pd268);
                        };
                     {
                        word x269;
                        word pd270;
                        word x271;
                        pd270 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+20) );
                        *(float*)&var←c0870 = (
                           x269 = var←c0869,  *(float*)&x269
                           ) / (
                           x271 = (word) ( *( (fPt) ((*  (ptr) pd270 ))))(spaceWidths←v14828, pd270),  *(float*)&x271
                           );
                        };
                     {
                        word x272;
                        float tf273;
                        float tf274;
                        word x275;
                        float tf276;
                        var←c0871 = (
                           tf276 = FMIN((
/*1*/      x272 = var←c0870,  *(float*)&x272
/*1*/      ), (
/*1*/      x275 = maxHorizontalExpansion←v17784,  *(float*)&x275
/*1*/      ), tf273, tf274),  *(word*)&tf276
                           );
                        };
                     {
                        word x277;
                        float tf278;
                        float tf279;
                        word x280;
                        float tf281;
                        amplify←v17812 = (
                           tf281 = FMAX((
/*1*/      x277 = var←c0871,  *(float*)&x277
/*1*/      ), (
/*1*/      x280 = (* (( (ptr) gf←c71020)+8)/* minAmplifySpace←v4036 */  ),  *(float*)&x280
/*1*/      ), tf278, tf279),  *(word*)&tf281
                           );
                        };
                     };
SOURCE(28551, 39)
                  start←v17840 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+19) );
SOURCE(28592, 52)
                  end←v17868 = ((* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ) - (* (( (ptr) (* (( (ptr) &var←c70988)+4)
                     /* lineInfo←v9616 */  ))+15) ));
SOURCE(28646, 529)
                  if ((start←v17840 < end←v17868)) {
SOURCE(28666, 520)
                     {
                        word entry←v17912;
                        word var←c66316;
                        word cachedWidth←v17940 = 0;
                        word amplifiedWidth←v17968 = 0;
SOURCE(28668, 78)
                        {
                           word limit282;
                           var←c66316 = (*  (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ) );
                           entry←v17912 = (word) (( (W3Pt) (( (bPt) var←c66316)+4))+(
/*1*/      limit282 = (*  (ptr) var←c66316 ),
/*1*/      BCK(start←v17840, limit282)
/*1*/      ));
                           };
SOURCE(28833, 342)
                        {
                           register word i←v18024;
                           i←v18024 = start←v17840;
                           if ((i←v18024 >= end←v17868)) {
/*1*/   goto lab←L100115;
/*1*/   };
                           lab←L100118: ;
SOURCE(28863, 260)
                           {
/*1*/   word tc284;
/*1*/   if (((*  (ptr) entry←v17912 ) == 32)) { goto then0283;};
/*1*/   if ((0 != mayAmplArt←v14996)) {
/*1*/      tc284 =  (word) (0 != (word) AmplArt←P3636(( * (ptr) (( (ptr) entry←v17912)+1) >> 2), (word) (( (bPt) &var←c70988)+44)/* var←c61996 */ )
/*1*/      );
/*1*/      }
/*1*/   else {
/*1*/      tc284 =  (word) 0;
/*1*/      };
/*1*/   if (tc284) {
/*1*/      then0283: ;
SOURCE(28936, 130)
/*1*/      if (((* (( (ptr) entry←v17912)+2) ) != cachedWidth←v17940)) {
SOURCE(28972, 25)
/*1*/         cachedWidth←v17940 = (* (( (ptr) entry←v17912)+2) );
SOURCE(28999, 67)
/*1*/         {
/*1*/            word var←c66412;
/*1*/            {
/*1*/               word pd285;
/*1*/               word x286;
/*1*/               word x287;
/*1*/               pd285 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+20) );
/*1*/               *(float*)&var←c66412 = (
/*1*/                  x286 = (word) ( *( (fPt) ((*  (ptr) pd285 ))))(cachedWidth←v17940, pd285),  *(float*)&x286
/*1*/                  ) * (
/*1*/                  x287 = amplify←v17812,  *(float*)&x287
/*1*/                  );
/*1*/               };
/*1*/            {
/*1*/               word pd288;
/*1*/               pd288 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+7) );
/*1*/               amplifiedWidth←v17968 = (word) ( *( (fPt) ((*  (ptr) pd288 ))))(var←c66412, pd288);
/*1*/               };
/*1*/            };
/*1*/         };
SOURCE(29071, 28)
/*1*/      (* (( (ptr) entry←v17912)+2) ) = amplifiedWidth←v17968;
SOURCE(29101, 22)
/*1*/      (* (( (ptr) entry←v17912) + 1) ) |= 1;
/*1*/      };
/*1*/   };
SOURCE(29128, 47)
                           entry←v17912 = (entry←v17912 + 12);
                           i←v18024 = (i←v18024 + 1);
                           if ((i←v18024 < end←v17868)) {
/*1*/   goto lab←L100118;
/*1*/   };
                           lab←L100115: ;
                           };
                        };
                     };
SOURCE(29189, 31)
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+18) ) = amplify←v17812;
                  };
               };
            break;
         case 1: 
SOURCE(29243, 111)
            {
               word a←v57408;
               word b←v57436;
               {
                  word i←v55924;
                  i←v55924 = (leftIndent←v14352 + (* (( (ptr) &var←c70988)+15)/* trimmedLineWidth←v14436 */  ));
                  a←v57408 = i←v55924;
                  };
               {
                  word i←v57528;
                  i←v57528 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) - breakSpaceAtEnd←v14800);
                  b←v57436 = i←v57528;
                  };
               {
                  word i←v57484;
                  i←v57484 = (a←v57408 - b←v57436);
                  (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+9) ) = i←v57484;
                  };
               };
            break;
         case 3: 
SOURCE(29371, 129)
            {
               word var←c66604;
               {
                  word var←c66636;
                  word b←v55832;
                  {
                     word var←c66668;
                     {
                        word b←v57272;
                        {
                           word i←v57364;
                           i←v57364 = ((* (( (ptr) &var←c70988)+18)/* endX←v14632 */  ) - breakSpaceAtEnd←v14800);
                           b←v57272 = i←v57364;
                           };
                        {
                           word i←v57320;
                           i←v57320 = ((* (( (ptr) &var←c70988)+15)/* trimmedLineWidth←v14436 */  ) - b←v57272);
                           var←c66668 = i←v57320;
                           };
                        };
                     {
                        word pd289;
                        pd289 = (* (( (ptr) (* (( (ptr) gf←c71020)+174)/* var←c61132 */  ))+21) );
                        b←v55832 = (word) ( *( (fPt) ((*  (ptr) pd289 ))))(var←c66668,  (word) -1, pd289);
                        };
                     };
                  {
                     word i←v55880;
                     i←v55880 = (leftIndent←v14352 + b←v55832);
                     var←c66636 = i←v55880;
                     };
                  var←c66604 = var←c66636;
                  };
               (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+9) ) = var←c66604;
               };
            break;
         default: 
SOURCE(29516, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
SOURCE(29523, 58)
   if ((0 != hyphenated←v15220)) {
SOURCE(29544, 37)
      (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+15) ) = 2147483647;
      };
SOURCE(29584, 80)
   {
      word x290;
      word x291;
      if (((
         x290 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+18) ),  *(float*)&x290
         ) == (
         x291 = (*  (ptr) &fc100 ),  *(float*)&x291
         ))) {
SOURCE(29620, 44)
         (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+19) ) = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14)
          );
         };
      };
SOURCE(29666, 54)
   (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+8) ) = (startOffset←v9672 + (* (( (ptr) (* (( (ptr) &var←c70988)+4)
      /* lineInfo←v9616 */  ))+14) ));
   (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+7) ) = (* (( (ptr) &var←c70988)+5)/* node←v9644 */  );
SOURCE(29722, 75)
   {
      word x292;
      (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+20) ) = ((x292 = ((* (( (ptr) &var←c70988)+22)/* maxIndex←v15164 */  ) + 
         1),
         MAX((int)(word), startOffset←v9672, x292)) - startOffset←v9672);
      };
SOURCE(29799, 31)
   (void) ComputePositionVector←P900((* ((( (ptr) &var←c70988)+4)/* lineInfo←v9616 */ ) ));
SOURCE(29832, 17)
   (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+10) ) = 0;
SOURCE(29851, 54)
   {
      word var←c66956;
      var←c66956 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+2) );
      {
         word idx293;
         word limit294;
         (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+12) ) = (* ((( (ptr) var←c66956)+1)+(
               idx293 = (* (( (ptr) (* (( (ptr) &var←c70988)+4)/* lineInfo←v9616 */  ))+14) ),
               limit294 = (*  (ptr) var←c66956 ),
               BCK(idx293, limit294)
               )) );
         };
      };
SOURCE(29907, 22)
   (void) ReleaseScratchRefs←P660(my←v14268);
   }

static word NoName←Q12012(formal←c0821)
   word formal←c0821;
   {
SOURCE(18393, 186)
   {
      word pd295;
      pd295 = (* (( (ptr) formal←c0821)+30) );
      (* (( (ptr) formal←c0821)+31) ) = (word) ( *( (fPt) ((*  (ptr) pd295 ))))((* (( (ptr) formal←c0821)+27) ), (*  (W2Pt) (( (ptr) formal←c0821)+28)
          ), (* (( (ptr) formal←c0821)+26) ), pd295);
      };
   return(0);
   }

static word NoName←Q12072(formal←c0822)
   word formal←c0822;
   {
SOURCE(17853, 726)
   {
      word pd296;
      pd296 = (* (( (ptr) formal←c0822)+28) );
      (void) ( *( (fPt) ((*  (ptr) pd296 ))))((* (( (ptr) formal←c0822)+26) ), (* (( (ptr) formal←c0822)+16) ), (* (( (ptr) formal←c0822)+27)
          ), pd296);
      };
   return(0);
   }

static void NodeStyleExtents←P3576(formal←c0469, formal←c71084)
   word formal←c0469;
   word formal←c71084;
   {
   register ptr gf←c71052 =  (ptr) &globalframe;
   word ymax←v15308;
   word ymin←v15336;
   word font←v18068;
   W4 fontBoundingBox←v18096;
   formal←c71084 = (formal←c71084 - 52);
   /* NodeStyleExtents: */ 
SOURCE(14701, 3878)
SOURCE(14759, 41)
   {
      word pd297;
      pd297 = (* (( (ptr) (* (( (ptr) gf←c71052)+175)/* var←c61260 */  ))+41) );
      font←v18068 = (word) ( *( (fPt) ((*  (ptr) pd297 ))))((* ((( (ptr) formal←c71084)+6)) ), pd297);
      };
SOURCE(14802, 70)
   {
      word pd298;
      pd298 = (* (( (ptr) (* (( (ptr) gf←c71052)+173)/* var←c61100 */  ))+18) );
      (void) ( *( (fPt) ((*  (ptr) pd298 ))))((word) &fontBoundingBox←v18096, font←v18068, pd298);
      };
SOURCE(14874, 3705)
   ymax←v15308 = (word) CeilingI←P120(fontBoundingBox←v18096.f3);
SOURCE(14915, 3664)
   {
      word x299;
      float tf300;
      ymin←v15336 = (word) FloorI←P60((
            tf300 =  - (
               x299 = fontBoundingBox←v18096.f2,  *(float*)&x299
               ),  *(word*)&tf300
            ));
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0469 ) = ymax←v15308;
   (* (( (ptr) formal←c0469)+1) ) = ymin←v15336;
   return;
   }

static word AmplArt←P3636(f←v15396, formal←c71116)
   word f←v15396;
   word formal←c71116;
   {
   word var←c15440;
   word ext←v18140;
   word var←c66988;
   formal←c71116 = (formal←c71116 - 44);
   /* AmplArt: */ 
SOURCE(14985, 3594)
SOURCE(15048, 55)
   {
      word limit301;
      var←c66988 = (* (( (ptr) (* (( (ptr) formal←c71116)+4) ))+1) );
      ext←v18140 = (* (( (ptr) (( (W9Pt) (( (ptr) var←c66988)+2))+(
               limit301 = (* (( (ptr) var←c66988)+1) ),
               BCK(f←v15396, limit301)
               )))+7) );
      };
SOURCE(15105, 94)
   if (((* (( (ptr) ext←v18140)+2) ) != 0)) {
SOURCE(15140, 45)
      return((* (( (ptr) (* (( (ptr) ext←v18140)+2) ))+7) ));
      }
   else {
SOURCE(15185, 14)
      return(0);
      };
   }

static void TryBreakAfterDash←P3792(formal←c71180)
   word formal←c71180;
   {
   register ptr gf←c71148 =  (ptr) &globalframe;
   word var←c67020;
   word xChar←v55004;
   word var←c67052;
   word var←c67084;
   word var←c67116;
   word a←v58268;
   word var←c67180;
   word xChar←v54956;
   formal←c71180 = (formal←c71180 - 36);
   /* TryBreakAfterDash: */ 
SOURCE(15825, 26)
SOURCE(16009, 2570)
   {
      word tc302;
      word tc303;
      word tc304;
      word tc305;
      if (((* (( (ptr) formal←c71180)+23) ) > 0)) {
         {
            word limit306;
            var←c67052 = ((* (( (ptr) formal←c71180)+23) ) - 1);
            var←c67084 = (*  (ptr) (* (( (ptr) formal←c71180)+4) ) );
            xChar←v55004 = (* (( (W3Pt) (( (ptr) var←c67084)+1))+(
                  limit306 = (*  (ptr) var←c67084 ),
                  BCK(var←c67052, limit306)
                  )) ).f0;
            };
SOURCE(15909, 2670)
         if (((xChar←v55004 - 97) <= 25)) {
            var←c67020 =  (unsigned) 1;
            }
         else {
            var←c67020 =  (unsigned) ((xChar←v55004 - 65) <= 25);
            };
         tc305 =  (word) (0 != var←c67020);
         }
      else {
         tc305 =  (word) 0;
         };
      if (tc305) {
         {
            word i←v56192;
            i←v56192 = ((* (( (ptr) formal←c71180)+18) ) + (* (( (ptr) formal←c71180)+25) ));
            a←v58268 = i←v56192;
            };
         var←c67116 =  (unsigned) ( (int)a←v58268 >  (int)(* (( (ptr) formal←c71180)+15) ));
         tc304 =  (word) (0 == var←c67116);
         }
      else {
         tc304 =  (word) 0;
         };
      if (tc304) {
         tc303 =  (word) ( (int)((* (( (ptr) formal←c71180)+21) ) - (* (( (ptr) formal←c71180)+23) )) >  (int)1);
         }
      else {
         tc303 =  (word) 0;
         };
      if (tc303) {
         {
            word var←c0872;
            (* (( (ptr) formal←c71180)+22) ) = ((* (( (ptr) formal←c71180)+24) ) + 1);
            var←c0872 = (* (( (ptr) formal←c71180)+22) );
            {
               word pd307;
               pd307 = (* (( (ptr) (* (( (ptr) gf←c71148)+170)/* var←c60812 */  ))+10) );
               xChar←v54956 = (word) ( *( (fPt) ((*  (ptr) pd307 ))))((* (( (ptr) formal←c71180)+20) ), var←c0872, pd307);
               };
            };
SOURCE(15909, 2670)
         if (((xChar←v54956 - 97) <= 25)) {
            var←c67180 =  (unsigned) 1;
            }
         else {
            var←c67180 =  (unsigned) ((xChar←v54956 - 65) <= 25);
            };
         tc302 =  (word) (0 != var←c67180);
         }
      else {
         tc302 =  (word) 0;
         };
      if (tc302) {
SOURCE(16244, 25)
         (* (( (ptr) formal←c71180)+17) ) = ((* (( (ptr) formal←c71180)+23) ) + 1);
SOURCE(16271, 2308)
         {
            word i←v56148;
            i←v56148 = ((* (( (ptr) formal←c71180)+18) ) + (* (( (ptr) formal←c71180)+25) ));
            (* (( (ptr) formal←c71180)+19) ) = i←v56148;
            };
         };
      };
   }

static word GetHyphWidth←P4668(k←v17288, formal←c71244)
   word k←v17288;
   word formal←c71244;
   {
   register ptr gf←c71212 =  (ptr) &globalframe;
   word hyphW←v17332;
   word f←v17360;
   formal←c71244 = (formal←c71244 - 28);
   /* GetHyphWidth: */ 
SOURCE(26006, 20)
SOURCE(26006, 20)
   hyphW←v17332 = 0;
SOURCE(26068, 42)
   {
      word var←c0873;
      word var←c67276;
      {
         word limit308;
         var←c67276 = (*  (ptr) (* (( (ptr) formal←c71244)+4) ) );
         var←c0873 = (var←c0873 & 3221225472) | ((word) ((unsigned)(* (( (ptr) (( (W3Pt) (( (ptr) var←c67276)+1))+(
                     limit308 = (*  (ptr) var←c67276 ),
                     BCK(k←v17288, limit308)
                     )))+1) ) >> 2));
         };
      f←v17360 = ( (((unsigned)var←c0873 << 2) >> 2) );
      };
SOURCE(26112, 289)
   if ((f←v17360 != (* (( (ptr) formal←c71244)+26) ))) {
SOURCE(26134, 269)
      {
         W9 fie←v17404;
         word extension←v17432;
SOURCE(26136, 57)
         {
            word var←c67308;
            var←c67308 = (* (( (ptr) (* (( (ptr) formal←c71244)+4) ))+1) );
            {
               word limit309;
               fie←v17404 = (* (( (W9Pt) (( (ptr) var←c67308)+2))+(
                     limit309 = (* (( (ptr) var←c67308)+1) ),
                     BCK(f←v17360, limit309)
                     )) );
               };
            };
SOURCE(26195, 42)
         extension←v17432 = (* (( (ptr) &fie←v17404)+7) );
SOURCE(26239, 31)
         (* (( (ptr) formal←c71244)+27) ) = (* (( (ptr) extension←v17432)+18) );
SOURCE(26272, 72)
         {
            W2 var←c0492;
            word var←c67340;
            {
               word pd310;
               pd310 = (* (( (ptr) (* (( (ptr) gf←c71212)+173)/* var←c61100 */  ))+14) );
               (void) ( *( (fPt) ((*  (ptr) pd310 ))))((word) &var←c0492, (* (( (ptr) &fie←v17404)+1) ), (* (( (ptr) formal←c71244)+27) ), pd310)
               ;
               };
            var←c67340 = var←c0492.f0;
            {
               word pd311;
               pd311 = (* (( (ptr) (* (( (ptr) gf←c71212)+174)/* var←c61132 */  ))+7) );
               (* (( (ptr) formal←c71244)+28) ) = (word) ( *( (fPt) ((*  (ptr) pd311 ))))(var←c67340, pd311);
               };
            };
SOURCE(26346, 40)
         (* (( (ptr) formal←c71244)+29) ) =  (unsigned) ((* (( (ptr) extension←v17432)+2) ) != 0);
SOURCE(26388, 13)
         (* (( (ptr) formal←c71244)+26) ) = f←v17360;
         };
      };
SOURCE(26406, 18)
   return((* (( (ptr) formal←c71244)+28) ));
   }

static word FetchHyph←P1200(hyphenationClass←v9912)
   word hyphenationClass←v9912;
   {
   register ptr gf←c71276 =  (ptr) &globalframe;
   word var←c9956;
   /* FetchHyph: */ 
SOURCE(30162, 171)
SOURCE(30222, 111)
   {
      word var←c67372;
      W2 var←c0496;
      {
         word pd312;
         pd312 = (* (( (ptr) (* (( (ptr) gf←c71276)+167)/* var←c59948 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd312 ))))((word) &var←c0496, (* (( (ptr) gf←c71276)+33)/* hyphTab←v5800 */  ), hyphenationClass←v9912, pd312)
         ;
         };
      var←c67372 = var←c0496.f1;
      if ((var←c67372 == 0)) {
         goto lab←L100134;
         };
      if (((* (( (ptr) gf←c71276)+51) ) == XR←GetReferentType(var←c67372))) {
         {
            word hyph←v18184;
            hyph←v18184 = var←c67372;
SOURCE(30297, 12)
            return(hyph←v18184);
            };
         }
      else {
         lab←L100134: ;
SOURCE(30322, 11)
         return(0);
         };
      };
   }

static void RegisterHyphenation←P1260(formal←c0504, hyphenationClass←v10016, formal←c0902, formal←c0903)
   word formal←c0504;
   word hyphenationClass←v10016;
   word formal←c0902;
   word formal←c0903;
   {
   W10 var←c71308;
   /* declaration of hyphProc←v10044 skipped */ 
   /* declaration of hyphData←v10072 skipped */ 
   register ptr gf←c71340 =  (ptr) &globalframe;
   /* declaration of oldProc←v10128 skipped */ 
   /* declaration of oldData←v10156 skipped */ 
   /* declaration of var←c67404 skipped */ 
   (* (( (ptr) &var←c71308)+4)/* hyphProc←v10044 */  ) = formal←c0902;
   (* (( (ptr) &var←c71308)+5)/* hyphData←v10072 */  ) = formal←c0903;
   /* RegisterHyphenation: */ 
SOURCE(30339, 396)
   {
      word tmpAddr313;
      tmpAddr313 = (word) (( (ptr) &var←c71308)+8)/* var←c67404 */ ;
      (*  (ptr) tmpAddr313 ) = ( ((word)  (fPt) action←P5172) );
      (* (( (ptr) tmpAddr313) + 1) ) = 1;
      };
SOURCE(30339, 396)
   (* (( (ptr) &var←c71308)+6)/* oldProc←v10128 */  ) = 0;
SOURCE(30339, 396)
   (* (( (ptr) &var←c71308)+7)/* oldData←v10156 */  ) = 0;
SOURCE(30687, 48)
   {
      word pd314;
      pd314 = (* (( (ptr) (* (( (ptr) gf←c71340)+167)/* var←c59948 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd314 ))))((* (( (ptr) gf←c71340)+33)/* hyphTab←v5800 */  ), hyphenationClass←v10016, (word) (
            ( (bPt) &var←c71308)+32)/* var←c67404 */ , pd314);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0504 ) = (* (( (ptr) &var←c71308)+6)/* oldProc←v10128 */  );
   (* (( (ptr) formal←c0504)+1) ) = (* (( (ptr) &var←c71308)+7)/* oldData←v10156 */  );
   return;
   }

static void action←P5172(formal←c0513, found←v53672, val←v53700, formal←c71404)
   word formal←c0513;
   word found←v53672;
   word val←v53700;
   word formal←c71404;
   {
   register ptr gf←c71372 =  (ptr) &globalframe;
   word op←v53744;
   word new←v53772;
   formal←c71404 = (formal←c71404 - 32);
   /* action: */ 
SOURCE(30490, 192)
SOURCE(30490, 192)
   op←v53744 = 0;
SOURCE(30490, 192)
   new←v53772 = 0;
SOURCE(30522, 67)
   {
      word var←c67436;
      var←c67436 = val←v53700;
      if ((var←c67436 == 0)) {
         goto lab←L100137;
         };
      if (((* (( (ptr) gf←c71372)+51) ) == XR←GetReferentType(var←c67436))) {
         {
            word old←v18272;
            old←v18272 = var←c67436;
SOURCE(30556, 33)
            (* (( (ptr) formal←c71404)+7) ) = (* (( (ptr) old←v18272)+1) );
            (* (( (ptr) formal←c71404)+6) ) = XR←CheckProc(*  (ptr) old←v18272 );
            };
         }
      else {
         lab←L100137: ;
         };
      };
SOURCE(30591, 91)
   if (((* (( (ptr) formal←c71404)+4) ) == 0)) {
SOURCE(30612, 20)
      op←v53744 = 2;
      new←v53772 = 0;
      /* removed tail goto */ 
      }
   else {
SOURCE(30632, 50)
      {
         word var←c67532;
         {
            word var←c67500;
            var←c67500 = XR←NewObject(8, (* (( (ptr) gf←c71372)+51) ));
            (*  (ptr) var←c67500 ) = XR←CheckProc(* (( (ptr) formal←c71404)+4) );
            (* (( (ptr) var←c67500)+1) ) = (* (( (ptr) formal←c71404)+5) );
            var←c67532 = var←c67500;
            };
         op←v53744 = 1;
         new←v53772 = var←c67532;
         /* removed tail goto */ 
         };
      };
   (*  (ptr) formal←c0513 ) = op←v53744;
   (* (( (ptr) formal←c0513)+1) ) = new←v53772;
   return;
   }

static word CharClass←P1320(char←v10228)
   word char←v10228;
   {
   word charClass←v10272;
   /* CharClass: */ 
SOURCE(30742, 383)
SOURCE(30823, 302)
   if ((((word) char←v10228 >> 8) == 0)) {
SOURCE(30852, 176)
      {
         word var←c67564;
         var←c67564 = (char←v10228 & 0377);
         if ((((var←c67564 == 32) || (var←c67564 == 9)) || (var←c67564 == 13)) || (var←c67564 == 10)) {
            charClass←v10272 = 3;
            }
         else {
            if ((((var←c67564 - 97) <= 25) || ((var←c67564 - 65) <= 25)) || ((var←c67564 - 48) <= 9)) {
               charClass←v10272 = 1;
               }
            else {
               charClass←v10272 = 2;
               };
            };
         };
      }
   else {
SOURCE(31037, 88)
      if (((((char←v10228 & 0377) & 0177) - 33) <= 93)) {
SOURCE(31085, 25)
         charClass←v10272 = 2;
         }
      else {
SOURCE(31110, 15)
         charClass←v10272 = 3;
         };
      };
SOURCE(30742, 383)
   return(charClass←v10272);
   }

static void Paint←P1380(lineInfo←v45336, context←v45364)
   word lineInfo←v45336;
   word context←v45364;
   {
   word class←v18316;
   /* Paint: */ 
SOURCE(31131, 191)
SOURCE(31171, 43)
   class←v18316 = (* (( (ptr) lineInfo←v45336)+3) );
SOURCE(31216, 106)
   if ( ( (class←v18316 != 0) ? ((* (( (ptr) class←v18316)+2) ) != 0) : 0 ) ) {
SOURCE(31256, 36)
      {
         word pd315;
         pd315 = (* (( (ptr) class←v18316)+2) );
         (void) ( *( (fPt) ((*  (ptr) pd315 ))))(lineInfo←v45336, context←v45364, pd315);
         };
      }
   else {
SOURCE(31292, 30)
      (void) NormalPaint←P1500(lineInfo←v45336, context←v45364);
      };
   }

static void PaintBackground←P1440(lineInfo←v10332, formal←c0904)
   word lineInfo←v10332;
   word formal←c0904;
   {
   W11 var←c71436;
   /* declaration of context←v10360 skipped */ 
   register ptr gf←c71468 =  (ptr) &globalframe;
   /* declaration of var←c67596 skipped */ 
   /* declaration of nChars←v18360 skipped */ 
   /* declaration of charInfo←v18388 skipped */ 
   /* declaration of formatInfo←v18416 skipped */ 
   /* declaration of lastSetColor←v18444 skipped */ 
   (* (( (ptr) &var←c71436)+4)/* context←v10360 */  ) = formal←c0904;
   /* PaintBackground: */ 
SOURCE(31328, 1879)
   {
      word tmpAddr316;
      tmpAddr316 = (word) (( (ptr) &var←c71436)+5)/* var←c67596 */ ;
      (*  (ptr) tmpAddr316 ) = ( ((word)  (fPt) Action←P5340) );
      (* (( (ptr) tmpAddr316) + 1) ) = 1;
      };
SOURCE(31412, 108)
   {
      word idx317;
      (* (( (ptr) &var←c71436)+7)/* nChars←v18360 */  ) = (
         idx317 = (word) ((* (( (ptr) lineInfo←v10332)+14) ) +  ( ((* (( (ptr) lineInfo←v10332)+15) ) == 2147483647) ? 1 : INEG((* (
               ( (ptr) lineInfo←v10332)+15) )) ) ),
         SGNCK(idx317)
         );
      };
SOURCE(31522, 50)
   (* (( (ptr) &var←c71436)+8)/* charInfo←v18388 */  ) = (*  (ptr) lineInfo←v10332 );
SOURCE(31574, 56)
   (* (( (ptr) &var←c71436)+9)/* formatInfo←v18416 */  ) = (* (( (ptr) lineInfo←v10332)+1) );
SOURCE(31632, 46)
   (* (( (ptr) &var←c71436)+10)/* lastSetColor←v18444 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c71468)+183)/* var←c63436 */  ))+54)
    ) );
SOURCE(33177, 30)
   {
      word pd318;
      pd318 = (* (( (ptr) (* (( (ptr) gf←c71468)+183)/* var←c63436 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd318 ))))((* (( (ptr) &var←c71436)+4)/* context←v10360 */  ), (word) (( (bPt) &var←c71436)+20)
         /* var←c67596 */ , pd318);
      };
   }

static void Action←P5340(formal←c71564)
   word formal←c71564;
   {
   W6 var←c71500;
   register ptr gf←c71532 =  (ptr) &globalframe;
   /* declaration of var←c67628 skipped */ 
   formal←c71564 = (formal←c71564 - 20);
   var←c71500.f0 = formal←c71564;
   /* Action: */ 
SOURCE(31845, 1327)
   {
      word tmpAddr319;
      tmpAddr319 = (word) (( (ptr) &var←c71500)+4)/* var←c67628 */ ;
      (*  (ptr) tmpAddr319 ) = ( ((word)  (fPt) Boxes←P5400) );
      (* (( (ptr) tmpAddr319) + 1) ) = 1;
      };
SOURCE(33107, 20)
   {
      word pd320;
      pd320 = (* (( (ptr) (* (( (ptr) gf←c71532)+183)/* var←c63436 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd320 ))))((* ((( (ptr) formal←c71564)+4)) ), pd320);
      };
SOURCE(33129, 20)
   (void) Boxes←P5400(1, (word) (( (bPt) &var←c71500)+16)/* var←c67628 */ );
SOURCE(33151, 21)
   (void) Boxes←P5400(0, (word) (( (bPt) &var←c71500)+16)/* var←c67628 */ );
   }

static void Boxes←P5400(outline←v18696, formal←c71660)
   word outline←v18696;
   word formal←c71660;
   {
   W12 var←c71596;
   register ptr gf←c71628 =  (ptr) &globalframe;
   /* declaration of var←c67660 skipped */ 
   word prevFormatNumber←v18724 = 2147483647;
   /* declaration of x←v18752 skipped */ 
   /* declaration of pad←v18780 skipped */ 
   /* declaration of xMin←v18808 skipped */ 
   formal←c71660 = (formal←c71660 - 16);
   (*  (ptr) &var←c71596 ) = formal←c71660;
   /* Boxes: */ 
SOURCE(31862, 1240)
   {
      word tmpAddr321;
      tmpAddr321 = (word) (( (ptr) &var←c71596)+4)/* var←c67660 */ ;
      (*  (ptr) tmpAddr321 ) = ( ((word)  (fPt) EmitBox←P5460) );
      (* (( (ptr) tmpAddr321) + 1) ) = 1;
      };
SOURCE(31928, 29)
   (* (( (ptr) &var←c71596)+6)/* x←v18752 */  ) = 0;
SOURCE(31959, 35)
   (* (( (ptr) &var←c71596)+7) ) = (*  (ptr) &fc125 );
   (* (( (ptr) &var←c71596)+8) ) = (*  (ptr) &fc125 );
   (* (( (ptr) &var←c71596)+9) ) = (*  (ptr) &fc125 );
   (* (( (ptr) &var←c71596)+10) ) = (*  (ptr) &fc125 );
SOURCE(31996, 16)
   (* (( (ptr) &var←c71596)+11)/* xMin←v18808 */  ) = (*  (ptr) &fc125 );
SOURCE(32239, 843)
   {
      register word i←v18896 = 0;
      if ((i←v18896 >= (* (( (ptr) (*  (ptr) formal←c71660 ))+7) ))) {
         goto lab←L100138;
         };
      lab←L100141: ;
      {
         word formatNumber←v18940;
         W9 format←v18968;
         word extension←v18996;
         word thickness←v19024;
         word something←v19052;
SOURCE(32268, 65)
         {
            word limit322;
            formatNumber←v18940 = ( * (ptr) (( (ptr) (( (W3Pt) (( (ptr) (* (( (ptr) (*  (ptr) formal←c71660 ))+8) ))+1))+(
                        limit322 = (*  (ptr) (* (( (ptr) (*  (ptr) formal←c71660 ))+8) ) ),
                        BCK(i←v18896, limit322)
                        )))+1) >> 2);
            };
SOURCE(32335, 62)
         {
            word limit323;
            format←v18968 = (* (( (W9Pt) (( (ptr) (* (( (ptr) (*  (ptr) formal←c71660 ))+9) ))+2))+(
                  limit323 = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c71660 ))+9) ))+1) ),
                  BCK(formatNumber←v18940, limit323)
                  )) );
            };
SOURCE(32399, 45)
         extension←v18996 = (* (( (ptr) &format←v18968)+7) );
SOURCE(32446, 70)
         thickness←v19024 =  ( (0 != outline←v18696) ? (* (( (ptr) extension←v18996)+16) ) : (*  (ptr) &fc125 ) ) ;
SOURCE(32518, 50)
         {
            word x324;
            word x325;
            something←v19052 =  (unsigned)  ( (0 == outline←v18696) ? 1 : ((
               x324 = thickness←v19024,  *(float*)&x324
               ) > (
               x325 = (*  (ptr) &fc125 ),  *(float*)&x325
               )) ) ;
            };
SOURCE(32570, 470)
         if ((prevFormatNumber←v18724 != formatNumber←v18940)) {
SOURCE(32612, 9)
            (void) EmitBox←P5460((word) ((( (bPt) &var←c71596)+16)/* var←c67660 */ ));
SOURCE(32623, 271)
            if ( ( (0 != (* (( (ptr) extension←v18996)+11) )) ? (0 != something←v19052) : 0 ) ) {
               {
                  word x326;
                  word x327;
                  *(float*)(( (ptr) &var←c71596)+7) = (
                     x326 = (* (( (ptr) extension←v18996)+15) ),  *(float*)&x326
                     ) + (
                     x327 = thickness←v19024,  *(float*)&x327
                     );
                  };
               {
                  word x328;
                  word x329;
                  *(float*)(( (ptr) &var←c71596)+8) = (
                     x328 = (* (( (ptr) extension←v18996)+15) ),  *(float*)&x328
                     ) + (
                     x329 = thickness←v19024,  *(float*)&x329
                     );
                  };
               {
                  word x330;
                  word x331;
                  *(float*)(( (ptr) &var←c71596)+9) = (
                     x330 = (* (( (ptr) extension←v18996)+13) ),  *(float*)&x330
                     ) + (
                     x331 = thickness←v19024,  *(float*)&x331
                     );
                  };
               {
                  word x332;
                  word x333;
                  *(float*)(( (ptr) &var←c71596)+10) = (
                     x332 = (* (( (ptr) extension←v18996)+12) ),  *(float*)&x332
                     ) + (
                     x333 = thickness←v19024,  *(float*)&x333
                     );
                  };
               }
            else {
               (* (( (ptr) &var←c71596)+7) ) = (*  (ptr) &fc125 );
               (* (( (ptr) &var←c71596)+8) ) = (*  (ptr) &fc125 );
               (* (( (ptr) &var←c71596)+9) ) = (*  (ptr) &fc125 );
               (* (( (ptr) &var←c71596)+10) ) = (*  (ptr) &fc125 );
               };
SOURCE(32896, 111)
            if ((0 != (* (( (ptr) extension←v18996)+11) ))) {
SOURCE(32925, 82)
               {
                  word color←v55052;
                  color←v55052 =  ( (0 != outline←v18696) ? (* (( (ptr) extension←v18996)+17) ) : (* (( (ptr) extension←v18996)+14) ) ) ;
SOURCE(31758, 83)
                  if (((* (( (ptr) (*  (ptr) formal←c71660 ))+10) ) != color←v55052)) {
SOURCE(31788, 31)
                     {
                        word pd334;
                        pd334 = (* (( (ptr) (* (( (ptr) gf←c71628)+183)/* var←c63436 */  ))+52) );
                        (void) ( *( (fPt) ((*  (ptr) pd334 ))))((* (( (ptr) (*  (ptr) formal←c71660 ))+4) ), color←v55052, pd334);
                        };
SOURCE(31821, 20)
                     (* (( (ptr) (*  (ptr) formal←c71660 ))+10) ) = color←v55052;
                     };
                  };
               };
SOURCE(33009, 31)
            prevFormatNumber←v18724 = formatNumber←v18940;
            };
SOURCE(33045, 37)
         {
            word var←c67820;
            word b←v55740;
            {
               word limit335;
               b←v55740 = (* (( (W3Pt) (( (ptr) (* (( (ptr) (*  (ptr) formal←c71660 ))+8) ))+1))+(
                     limit335 = (*  (ptr) (* (( (ptr) (*  (ptr) formal←c71660 ))+8) ) ),
                     BCK(i←v18896, limit335)
                     )) ).f2;
               };
            {
               word i←v55788;
               i←v55788 = ((* (( (ptr) &var←c71596)+6)/* x←v18752 */  ) + b←v55740);
               var←c67820 = i←v55788;
               };
            (* (( (ptr) &var←c71596)+6)/* x←v18752 */  ) = var←c67820;
            };
         };
      i←v18896 = (i←v18896 + 1);
      if ((i←v18896 < (* (( (ptr) (*  (ptr) formal←c71660 ))+7) ))) {
         goto lab←L100141;
         };
      lab←L100138: ;
      };
SOURCE(33093, 9)
   (void) EmitBox←P5460((word) ((( (bPt) &var←c71596)+16)/* var←c67660 */ ));
   }

static void EmitBox←P5460(formal←c71724)
   word formal←c71724;
   {
   register ptr gf←c71692 =  (ptr) &globalframe;
   word xMax←v19096;
   formal←c71724 = (formal←c71724 - 16);
   /* EmitBox: */ 
SOURCE(32014, 220)
SOURCE(32032, 28)
   {
      word pd336;
      pd336 = (* (( (ptr) (* (( (ptr) gf←c71692)+174)/* var←c61132 */  ))+20) );
      xMax←v19096 = (word) ( *( (fPt) ((*  (ptr) pd336 ))))((* ((( (ptr) formal←c71724)+6)) ), pd336);
      };
SOURCE(32062, 159)
   {
      word x337;
      word x338;
      word x339;
      if (((
         x337 = (* (( (ptr) formal←c71724)+10) ),  *(float*)&x337
         ) + (
         x338 = (* (( (ptr) formal←c71724)+9) ),  *(float*)&x338
         ) > (
         x339 = (*  (ptr) &fc125 ),  *(float*)&x339
         ))) {
SOURCE(32099, 122)
         {
            W4 var←c67916;
            {
               word x340;
               word x341;
               *(float*)&var←c67916.f0 = (
                  x340 = (* (( (ptr) formal←c71724)+11) ),  *(float*)&x340
                  ) - (
                  x341 = (* (( (ptr) formal←c71724)+7) ),  *(float*)&x341
                  );
               };
            {
               word x342;
               *(float*)&var←c67916.f1 =  - (
                  x342 = (* (( (ptr) formal←c71724)+9) ),  *(float*)&x342
                  );
               };
            {
               word x343;
               word x344;
               *(float*)&var←c67916.f2 = (
                  x343 = xMax←v19096,  *(float*)&x343
                  ) + (
                  x344 = (* (( (ptr) formal←c71724)+8) ),  *(float*)&x344
                  );
               };
            var←c67916.f3 = (* (( (ptr) formal←c71724)+10) );
            {
               word pd345;
               pd345 = (* (( (ptr) (* (( (ptr) gf←c71692)+183)/* var←c63436 */  ))+67) );
               (void) ( *( (fPt) ((*  (ptr) pd345 ))))((* (( (ptr) (*  (ptr) (*  (ptr) formal←c71724 ) ))+4) ), var←c67916, pd345);
               };
            };
         };
      };
SOURCE(32223, 11)
   (* (( (ptr) formal←c71724)+11) ) = xMax←v19096;
   }

static void NormalPaint←P1500(formal←c0905, formal←c0906)
   word formal←c0905;
   word formal←c0906;
   {
   W31 var←c71756;
   /* declaration of lineInfo←v10420 skipped */ 
   /* declaration of context←v10448 skipped */ 
   register ptr gf←c71788 =  (ptr) &globalframe;
   /* declaration of var←c67948 skipped */ 
   /* declaration of var←c67980 skipped */ 
   /* declaration of nChars←v19140 skipped */ 
   /* declaration of i←v19168 skipped */ 
   /* declaration of charInfo←v19196 skipped */ 
   word formatInfo←v19224;
   word lastSetColor←v19252;
   word lastAmplify←v19308;
   word lastSetFont←v19364 = 0;
   (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ) = formal←c0905;
   (* (( (ptr) &var←c71756)+5)/* context←v10448 */  ) = formal←c0906;
   /* NormalPaint: */ 
SOURCE(33237, 4150)
   {
      word tmpAddr346;
      tmpAddr346 = (word) (( (ptr) &var←c71756)+6)/* var←c67948 */ ;
      (*  (ptr) tmpAddr346 ) = ( ((word)  (fPt) do←P5940) );
      (* (( (ptr) tmpAddr346) + 1) ) = 1;
      };
   {
      word tmpAddr347;
      tmpAddr347 = (word) (( (ptr) &var←c71756)+8)/* var←c67980 */ ;
      (*  (ptr) tmpAddr347 ) = ( ((word)  (fPt) ShowProc←P5784) );
      (* (( (ptr) tmpAddr347) + 1) ) = 1;
      };
SOURCE(33324, 108)
   {
      word idx348;
      (* (( (ptr) &var←c71756)+10)/* nChars←v19140 */  ) = (
         idx348 = (word) ((* (( (ptr) (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ))+14) ) +  ( ((* (( (ptr) (* (( (ptr) &var←c71756)+4)
            /* lineInfo←v10420 */  ))+15) ) == 2147483647) ? 1 : INEG((* (( (ptr) (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ))+15)
             )) ) ),
         SGNCK(idx348)
         );
      };
SOURCE(33434, 10)
   (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) = 0;
SOURCE(33446, 50)
   (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ) = (*  (ptr) (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ) );
SOURCE(33498, 56)
   formatInfo←v19224 = (* (( (ptr) (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ))+1) );
SOURCE(33556, 46)
   lastSetColor←v19252 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+54) ) );
SOURCE(33769, 23)
   lastAmplify←v19308 = (*  (ptr) &fc100 );
SOURCE(33978, 99)
   {
      word tc349;
      word pd350;
      if (((* (( (ptr) (* (( (ptr) &var←c71756)+5)/* context←v10448 */  ))+1) ) != 0)) {
         pd350 = (* (( (ptr) (* (( (ptr) gf←c71788)+186)/* var←c68012 */  ))+12) );
         tc349 =  (word) ((word) ( *( (fPt) ((*  (ptr) pd350 ))))((* ((( (ptr) &var←c71756)+5)/* context←v10448 */ ) ), pd350) != (*  (ptr) (* (
            ( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+54) ) ));
         }
      else {
         tc349 =  (word) 0;
         };
      if (tc349) {
SOURCE(34054, 23)
         (* (( (ptr) gf←c71788)+34)/* colorBug←v5968 */  ) = ((* (( (ptr) gf←c71788)+34)/* colorBug←v5968 */  ) + 1);
         };
      };
SOURCE(34079, 65)
   if ((0 != (* (( (ptr) (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ))+17) ))) {
SOURCE(34110, 34)
      (void) PaintBackground←P1440((* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ), (* (( (ptr) &var←c71756)+5)/* context←v10448 */  ))
      ;
      };
SOURCE(34146, 3183)
   lab←L100146: ;
   if (((* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) < (* (( (ptr) &var←c71756)+10)/* nChars←v19140 */  ))) {
      }
   else {
      goto lab←L100144;
      };
   {
      /* declaration of formatNumber←v19528 skipped */ 
      /* declaration of format←v19556 skipped */ 
      /* declaration of extension←v19584 skipped */ 
      /* declaration of worry←v19612 skipped */ 
      /* declaration of doUnderline←v19640 skipped */ 
      /* declaration of doStrikeout←v19668 skipped */ 
      /* declaration of deltaWidth←v19696 skipped */ 
      /* declaration of tabFound←v19724 skipped */ 
      /* declaration of newi←v19752 skipped */ 
SOURCE(34166, 65)
      {
         word idx351;
         word limit352;
         (* (( (ptr) &var←c71756)+13)/* formatNumber←v19528 */  ) = ( * (ptr) (( (ptr) (( (W3Pt) (( (ptr) (* (( (ptr) &var←c71756)+12)
                     /* charInfo←v19196 */  ))+1))+(
                     idx351 = (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ),
                     limit352 = (*  (ptr) (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ) ),
                     BCK(idx351, limit352)
                     )))+1) >> 2);
         };
SOURCE(34233, 62)
      {
         word idx353;
         word limit354;
         (*  (W9Pt) (( (ptr) &var←c71756)+14)/* format←v19556 */  ) = (* (( (W9Pt) (( (ptr) formatInfo←v19224)+2))+(
               idx353 = (* (( (ptr) &var←c71756)+13)/* formatNumber←v19528 */  ),
               limit354 = (* (( (ptr) formatInfo←v19224)+1) ),
               BCK(idx353, limit354)
               )) );
         };
SOURCE(34297, 45)
      (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ) = (* (( (ptr) &var←c71756)+21) );
SOURCE(34344, 73)
      (* (( (ptr) &var←c71756)+24)/* worry←v19612 */  ) =  (unsigned)  ( ((* (( (ptr) &var←c71756)+20) ) != 0) ? 1 : ((* (( (ptr) &var←c71756)+19)
       ) != 0) ) ;
SOURCE(34419, 28)
      (* (( (ptr) &var←c71756)+25)/* doUnderline←v19640 */  ) = 0;
SOURCE(34449, 28)
      (* (( (ptr) &var←c71756)+26)/* doStrikeout←v19668 */  ) = 0;
SOURCE(34479, 22)
      (* (( (ptr) &var←c71756)+27)/* deltaWidth←v19696 */  ) = (*  (ptr) &fc125 );
SOURCE(34503, 22)
      (* (( (ptr) &var←c71756)+28)/* tabFound←v19724 */  ) = 0;
SOURCE(34527, 13)
      (* (( (ptr) &var←c71756)+29)/* newi←v19752 */  ) = 0;
SOURCE(35598, 99)
      if ((lastSetFont←v19364 != (* (( (ptr) &var←c71756)+15) ))) {
SOURCE(35634, 36)
         {
            word pd355;
            pd355 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+30) );
            (void) ( *( (fPt) ((*  (ptr) pd355 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) &var←c71756)+15) ), pd355)
            ;
            };
SOURCE(35672, 25)
         lastSetFont←v19364 = (* (( (ptr) &var←c71756)+15) );
         };
SOURCE(35702, 77)
      if (((* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) == (* (( (ptr) (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ))+19)
       ))) {
SOURCE(35741, 38)
         {
            word a←v55292;
            a←v55292 = (* (( (ptr) (* (( (ptr) &var←c71756)+4)/* lineInfo←v10420 */  ))+18) );
SOURCE(33873, 76)
            {
               word x356;
               word x357;
               if (((
                  x356 = a←v55292,  *(float*)&x356
                  ) != (
                  x357 = lastAmplify←v19308,  *(float*)&x357
                  ))) {
SOURCE(33898, 34)
                  {
                     word pd358;
                     pd358 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+31) );
                     (void) ( *( (fPt) ((*  (ptr) pd358 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), a←v55292, pd358);
                     };
SOURCE(33934, 15)
                  lastAmplify←v19308 = a←v55292;
                  };
               };
            };
         };
SOURCE(35781, 22)
SOURCE(33682, 83)
      if ((lastSetColor←v19252 != (* (( (ptr) &var←c71756)+16) ))) {
SOURCE(33712, 31)
         {
            word pd359;
            pd359 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+52) );
            (void) ( *( (fPt) ((*  (ptr) pd359 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) &var←c71756)+16) ), pd359)
            ;
            };
SOURCE(33745, 20)
         lastSetColor←v19252 = (* (( (ptr) &var←c71756)+16) );
         };
SOURCE(35805, 189)
      if ((0 != (* (( (ptr) &var←c71756)+24)/* worry←v19612 */  ))) {
SOURCE(35819, 177)
         {
            word startCharClass←v19944;
SOURCE(35821, 71)
            {
               word idx360;
               word limit361;
               startCharClass←v19944 = (word) CharClass←P1320((* (( (W3Pt) (( (ptr) (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ))+1)
                     )+(
                        idx360 = (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ),
                        limit361 = (*  (ptr) (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ) ),
                        BCK(idx360, limit361)
                        )) ).f0);
               };
SOURCE(35894, 50)
            (* (( (ptr) &var←c71756)+25)/* doUnderline←v19640 */  ) =  (unsigned) ((* (( (ptr) &var←c71756)+20) ) >= startCharClass←v19944);
SOURCE(35946, 48)
            (* (( (ptr) &var←c71756)+26)/* doStrikeout←v19668 */  ) =  (unsigned) ((* (( (ptr) &var←c71756)+19) ) >= startCharClass←v19944);
            };
         };
SOURCE(35999, 67)
      if (((0 != (* (( (ptr) &var←c71756)+25)/* doUnderline←v19640 */  )) || (0 != (* (( (ptr) &var←c71756)+26)/* doStrikeout←v19668 */  )))) {
SOURCE(36036, 30)
         {
            word pd362;
            pd362 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+40) );
            (void) ( *( (fPt) ((*  (ptr) pd362 ))))((* ((( (ptr) &var←c71756)+5)/* context←v10448 */ ) ), pd362);
            };
         };
SOURCE(36071, 68)
      {
         word x363;
         word x364;
         if (((
            x363 = (* (( (ptr) &var←c71756)+18) ),  *(float*)&x363
            ) != (
            x364 = (*  (ptr) &fc125 ),  *(float*)&x364
            ))) {
SOURCE(36101, 38)
            {
               word pd365;
               pd365 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+27) );
               (void) ( *( (fPt) ((*  (ptr) pd365 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) &var←c71756)+18) ), pd365)
               ;
               };
            };
         };
SOURCE(36144, 74)
      {
         word x366;
         word x367;
         if (((
            x366 = (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+10) ),  *(float*)&x366
            ) != (
            x367 = (*  (ptr) &fc125 ),  *(float*)&x367
            ))) {
SOURCE(36177, 41)
            {
               word pd368;
               pd368 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+25) );
               (void) ( *( (fPt) ((*  (ptr) pd368 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) (* (( (ptr) &var←c71756)+23)
                     /* extension←v19584 */  ))+10) ), pd368);
               };
            };
         };
SOURCE(36223, 443)
      if (((* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+2) ) == 0)) {
SOURCE(36266, 30)
         {
            word pd369;
            pd369 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+32) );
            (void) ( *( (fPt) ((*  (ptr) pd369 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (word) (( (bPt) &var←c71756)+32)
               /* var←c67980 */ , 0, pd369);
            };
SOURCE(36298, 8)
         (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) = (* (( (ptr) &var←c71756)+29)/* newi←v19752 */  );
         }
      else {
SOURCE(36313, 355)
         {
            word x←v20016;
SOURCE(36399, 49)
            x←v20016 = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+2) ))+5) );
SOURCE(36450, 132)
SOURCE(36450, 132)
            {
               /* declaration of var←c07 skipped */ 
               (* (( (ptr) &var←c71756)+30)/* var←c07 */  ) = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+13) );
               {
                  word var←c08;
                  {
                     word var←c0874;
                     var←c0874 = (word) &var←c71756;
                     var←c08 = (word) XR←Enable(( ((word)  (fPt) NoName←Q12132) ), ( ((word)  (fPt) NoName←Q12192) ), var←c0874);
                     };
                  /* removed trivial cond node */ 
                  };
               };
SOURCE(36599, 56)
            {
               word var←c68044;
               {
                  word pd370;
                  word idx371;
                  word limit372;
                  pd370 = (* (( (ptr) (* (( (ptr) gf←c71788)+174)/* var←c61132 */  ))+20) );
                  var←c68044 = (word) ( *( (fPt) ((*  (ptr) pd370 ))))((* (( (W3Pt) (( (ptr) (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ))+1)
                        )+(
                           idx371 = (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ),
                           limit372 = (*  (ptr) (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ) ),
                           BCK(idx371, limit372)
                           )) ).f2, pd370);
                  };
               {
                  word pd373;
                  pd373 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+25) );
                  (void) ( *( (fPt) ((*  (ptr) pd373 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), var←c68044, pd373);
                  };
               };
SOURCE(36657, 9)
            (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) = ((* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) + 1);
            };
         };
SOURCE(36671, 128)
      if ((0 != (* (( (ptr) &var←c71756)+28)/* tabFound←v19724 */  ))) {
SOURCE(36688, 113)
         {
            W3 entry←v20076;
SOURCE(36690, 46)
            {
               word idx374;
               word limit375;
               entry←v20076 = (* (( (W3Pt) (( (ptr) (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ))+1))+(
                     idx374 = (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ),
                     limit375 = (*  (ptr) (* (( (ptr) &var←c71756)+12)/* charInfo←v19196 */  ) ),
                     BCK(idx374, limit375)
                     )) );
               };
SOURCE(36738, 50)
            {
               word var←c68076;
               {
                  word pd376;
                  pd376 = (* (( (ptr) (* (( (ptr) gf←c71788)+174)/* var←c61132 */  ))+20) );
                  var←c68076 = (word) ( *( (fPt) ((*  (ptr) pd376 ))))(entry←v20076.f2, pd376);
                  };
               {
                  word pd377;
                  pd377 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+25) );
                  (void) ( *( (fPt) ((*  (ptr) pd377 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), var←c68076, pd377);
                  };
               };
SOURCE(36790, 9)
            (* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) = ((* (( (ptr) &var←c71756)+11)/* i←v19168 */  ) + 1);
            };
         };
SOURCE(36804, 69)
      {
         word x378;
         word x379;
         if (((
            x378 = (* (( (ptr) &var←c71756)+18) ),  *(float*)&x378
            ) != (
            x379 = (*  (ptr) &fc125 ),  *(float*)&x379
            ))) {
SOURCE(36834, 39)
            {
               word pd380;
               word x381;
               float tf382;
               pd380 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+27) );
               (void) ( *( (fPt) ((*  (ptr) pd380 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (
                     tf382 =  - (
                        x381 = (* (( (ptr) &var←c71756)+18) ),  *(float*)&x381
                        ),  *(word*)&tf382
                     ), pd380);
               };
            };
         };
SOURCE(36878, 119)
      {
         word x383;
         word x384;
         word x385;
         word x386;
         if (((
            x383 = (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+10) ),  *(float*)&x383
            ) != (
            x384 = (*  (ptr) &fc125 ),  *(float*)&x384
            )) || ((
            x385 = (* (( (ptr) &var←c71756)+27)/* deltaWidth←v19696 */  ),  *(float*)&x385
            ) != (
            x386 = (*  (ptr) &fc125 ),  *(float*)&x386
            ))) {
SOURCE(36929, 52)
            {
               word pd387;
               word x388;
               word x389;
               float tf390;
               pd387 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+25) );
               (void) ( *( (fPt) ((*  (ptr) pd387 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (
                     tf390 = (
                        x388 = (* (( (ptr) &var←c71756)+27)/* deltaWidth←v19696 */  ),  *(float*)&x388
                        ) - (
                        x389 = (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+10) ),  *(float*)&x389
                        ),  *(word*)&tf390
                     ), pd387);
               };
SOURCE(36983, 14)
            (* (( (ptr) &var←c71756)+27)/* deltaWidth←v19696 */  ) = (*  (ptr) &fc125 );
            };
         };
SOURCE(37002, 161)
      if ((0 != (* (( (ptr) &var←c71756)+25)/* doUnderline←v19640 */  ))) {
SOURCE(37024, 34)
         {
            word color←v55196;
            color←v55196 = (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+5) );
SOURCE(33682, 83)
            if ((lastSetColor←v19252 != color←v55196)) {
SOURCE(33712, 31)
               {
                  word pd391;
                  pd391 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+52) );
                  (void) ( *( (fPt) ((*  (ptr) pd391 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), color←v55196, pd391);
                  };
SOURCE(33745, 20)
               lastSetColor←v19252 = color←v55196;
               };
            };
SOURCE(37060, 79)
         {
            word pd392;
            pd392 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+41) );
            (void) ( *( (fPt) ((*  (ptr) pd392 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) (* (( (ptr) &var←c71756)+23)
                  /* extension←v19584 */  ))+3) ), (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+4) ), pd392);
            };
SOURCE(37141, 22)
SOURCE(33682, 83)
         if ((lastSetColor←v19252 != (* (( (ptr) &var←c71756)+16) ))) {
SOURCE(33712, 31)
            {
               word pd393;
               pd393 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+52) );
               (void) ( *( (fPt) ((*  (ptr) pd393 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) &var←c71756)+16) ), pd393)
               ;
               };
SOURCE(33745, 20)
            lastSetColor←v19252 = (* (( (ptr) &var←c71756)+16) );
            };
         };
SOURCE(37168, 161)
      if ((0 != (* (( (ptr) &var←c71756)+26)/* doStrikeout←v19668 */  ))) {
SOURCE(37190, 34)
         {
            word color←v55148;
            color←v55148 = (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+8) );
SOURCE(33682, 83)
            if ((lastSetColor←v19252 != color←v55148)) {
SOURCE(33712, 31)
               {
                  word pd394;
                  pd394 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+52) );
                  (void) ( *( (fPt) ((*  (ptr) pd394 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), color←v55148, pd394);
                  };
SOURCE(33745, 20)
               lastSetColor←v19252 = color←v55148;
               };
            };
SOURCE(37226, 79)
         {
            word pd395;
            pd395 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+41) );
            (void) ( *( (fPt) ((*  (ptr) pd395 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) (* (( (ptr) &var←c71756)+23)
                  /* extension←v19584 */  ))+6) ), (* (( (ptr) (* (( (ptr) &var←c71756)+23)/* extension←v19584 */  ))+7) ), pd395);
            };
SOURCE(37307, 22)
SOURCE(33682, 83)
         if ((lastSetColor←v19252 != (* (( (ptr) &var←c71756)+16) ))) {
SOURCE(33712, 31)
            {
               word pd396;
               pd396 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+52) );
               (void) ( *( (fPt) ((*  (ptr) pd396 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (* (( (ptr) &var←c71756)+16) ), pd396)
               ;
               };
SOURCE(33745, 20)
            lastSetColor←v19252 = (* (( (ptr) &var←c71756)+16) );
            };
         };
      };
   goto lab←L100146;
   lab←L100144: ;
SOURCE(37343, 22)
   {
      word color←v55100;
      color←v55100 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+54) ) );
SOURCE(33682, 83)
      if ((lastSetColor←v19252 != color←v55100)) {
SOURCE(33712, 31)
         {
            word pd397;
            pd397 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+52) );
            (void) ( *( (fPt) ((*  (ptr) pd397 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), color←v55100, pd397);
            };
SOURCE(33745, 20)
         lastSetColor←v19252 = color←v55100;
         };
      };
SOURCE(37367, 20)
SOURCE(33873, 76)
   {
      word x398;
      word x399;
      if (((
         x398 = (*  (ptr) &fc100 ),  *(float*)&x398
         ) != (
         x399 = lastAmplify←v19308,  *(float*)&x399
         ))) {
SOURCE(33898, 34)
         {
            word pd400;
            pd400 = (* (( (ptr) (* (( (ptr) gf←c71788)+183)/* var←c63436 */  ))+31) );
            (void) ( *( (fPt) ((*  (ptr) pd400 ))))((* (( (ptr) &var←c71756)+5)/* context←v10448 */  ), (*  (ptr) &fc100 ), pd400);
            };
SOURCE(33934, 15)
         lastAmplify←v19308 = (*  (ptr) &fc100 );
         };
      };
   }

static word NoName←Q12132(formal←c0842)
   word formal←c0842;
   {
SOURCE(36450, 132)
   {
      word pd401;
      pd401 = (* (( (ptr) formal←c0842)+30) );
      (void) ( *( (fPt) ((*  (ptr) pd401 ))))((* (( (ptr) formal←c0842)+5) ), (word) (( (bPt) formal←c0842)+24), pd401);
      };
   return(0);
   }

static void ShowProc←P5784(charAction←v19856, formal←c71852)
   word charAction←v19856;
   word formal←c71852;
   {
   register ptr gf←c71820 =  (ptr) &globalframe;
   word info←v20120;
   word end←v20148;
   word f←v20176;
   word whatMeWorry←v20204;
   word j←v20232;
   word entry←v20260 = 0;
   formal←c71852 = (formal←c71852 - 32);
   /* ShowProc: */ 
SOURCE(34542, 16)
SOURCE(34602, 37)
   info←v20120 = (* (( (ptr) formal←c71852)+12) );
SOURCE(34641, 17)
   end←v20148 = (* (( (ptr) formal←c71852)+10) );
SOURCE(34660, 42)
   f←v20176 = (* (( (ptr) formal←c71852)+13) );
SOURCE(34704, 25)
   whatMeWorry←v20204 = (* (( (ptr) formal←c71852)+24) );
SOURCE(34731, 10)
   j←v20232 = (* (( (ptr) formal←c71852)+11) );
SOURCE(34799, 34)
   if ((j←v20232 < end←v20148)) {
SOURCE(34815, 18)
      {
         word limit402;
         entry←v20260 = (word) (( (W3Pt) (( (bPt) info←v20120)+4))+(
               limit402 = (*  (ptr) info←v20120 ),
               BCK(j←v20232, limit402)
               ));
         };
      };
SOURCE(34835, 739)
   lab←L100153: ;
   if ((j←v20232 < end←v20148)) {
      }
   else {
      goto lab←L100151;
      };
   {
      word char←v20316;
SOURCE(34852, 24)
      char←v20316 = (*  (ptr) entry←v20260 );
SOURCE(34878, 31)
      if ((( * (ptr) (( (ptr) entry←v20260)+1) >> 2) != f←v20176)) {
SOURCE(34909, 4)
         goto lab←L100152;
         };
SOURCE(34915, 259)
      if ((0 != whatMeWorry←v20204)) {
SOURCE(34935, 245)
         {
            word charClass←v20360;
            word charUnderline←v20388;
            word charStrikeout←v20416;
SOURCE(34937, 54)
            charClass←v20360 = (word) CharClass←P1320(char←v20316);
SOURCE(34993, 56)
            charUnderline←v20388 =  (unsigned) ((* (( (ptr) formal←c71852)+20) ) >= charClass←v20360);
SOURCE(35051, 54)
            charStrikeout←v20416 =  (unsigned) ((* (( (ptr) formal←c71852)+19) ) >= charClass←v20360);
SOURCE(35107, 67)
            if (((* (( (ptr) formal←c71852)+25) ) != charUnderline←v20388) || ((* (( (ptr) formal←c71852)+26) ) != charStrikeout←v20416)) {
SOURCE(35174, 4)
               goto lab←L100152;
               };
            };
         };
SOURCE(35183, 34)
      if ((char←v20316 == 9)) {
SOURCE(35202, 15)
         (* (( (ptr) formal←c71852)+28) ) = 1;
SOURCE(35219, 4)
         goto lab←L100152;
         };
SOURCE(35226, 68)
      if ((char←v20316 !=  (word) -1) ||  ! ((* (( (bPt) entry←v20260)+7) ) & 02)) {
SOURCE(35278, 16)
         (void) ( *( (fPt) ((*  (ptr) charAction←v19856 ))))(char←v20316, charAction←v19856);
         };
SOURCE(35296, 9)
      j←v20232 = (j←v20232 + 1);
SOURCE(35307, 39)
      if ((j←v20232 == (* (( (ptr) (* (( (ptr) formal←c71852)+4) ))+19) ))) {
SOURCE(35346, 4)
         goto lab←L100152;
         };
SOURCE(35352, 164)
      if ( ( ((* (( (bPt) entry←v20260)+7) ) & 02) ? (char←v20316 !=  (word) -1) : 0 ) ) {
SOURCE(35400, 116)
         {
            W2 var←c0589;
            word var←c0876;
            {
               word var←c68108;
               word var←c0875;
               {
                  word idx403;
                  word limit404;
                  var←c68108 = (* (( (ptr) (* (( (ptr) formal←c71852)+4) ))+1) );
                  var←c0875 = (* (( (ptr) (( (W9Pt) (( (ptr) var←c68108)+2))+(
                           idx403 = (word) ( * (ptr) (( (ptr) entry←v20260)+1) >> 2),
                           limit404 = (* (( (ptr) var←c68108)+1) ),
                           BCK(idx403, limit404)
                           )))+1) );
                  };
               {
                  word pd405;
                  pd405 = (* (( (ptr) (* (( (ptr) gf←c71820)+173)/* var←c61100 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd405 ))))((word) &var←c0589, var←c0875, char←v20316, pd405);
                  };
               };
            var←c0876 = var←c0589.f0;
            {
               word pd406;
               word x407;
               word x408;
               pd406 = (* (( (ptr) (* (( (ptr) gf←c71820)+174)/* var←c61132 */  ))+20) );
               *(float*)(( (ptr) formal←c71852)+27) = (
                  x407 = (word) ( *( (fPt) ((*  (ptr) pd406 ))))((* ((( (ptr) entry←v20260)+2)) ), pd406),  *(float*)&x407
                  ) - (
                  x408 = var←c0876,  *(float*)&x408
                  );
               };
            };
SOURCE(35518, 4)
         goto lab←L100152;
         };
SOURCE(35527, 47)
      entry←v20260 = (entry←v20260 + 12);
      };
   goto lab←L100153;
   lab←L100151: ;
   lab←L100152: ;
SOURCE(35585, 8)
   (* (( (ptr) formal←c71852)+29) ) = j←v20232;
   }

static void do←P5940(formal←c71884)
   word formal←c71884;
   {
   formal←c71884 = (formal←c71884 - 24);
   /* do: */ 
SOURCE(36315, 11)
SOURCE(36327, 69)
   {
      word pd409;
      pd409 = (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c71884)+23) ))+2) ) );
      (void) ( *( (fPt) ((*  (ptr) pd409 ))))((* (( (ptr) (* (( (ptr) formal←c71884)+23) ))+2) ), (* (( (ptr) formal←c71884)+5)
          ), pd409);
      };
   }

static void Resolve←P1560(formal←c0600, lineInfo←v45424, x←v45452)
   word formal←c0600;
   word lineInfo←v45424;
   word x←v45452;
   {
   W2 loc←v45496;
   word xmin←v45524;
   word width←v45552;
   word rightOfLine←v45580;
   word class←v20460;
   /* Resolve: */ 
SOURCE(37393, 223)
SOURCE(37393, 223)
   loc←v45496.f0 = 0;
   loc←v45496.f1 = 0;
SOURCE(37437, 43)
   class←v20460 = (* (( (ptr) lineInfo←v45424)+3) );
SOURCE(37482, 134)
   {
      W5 var←c68140;
      if ( ( (class←v20460 != 0) ? ((* (( (ptr) class←v20460)+3) ) != 0) : 0 ) ) {
         {
            W5 var←c0598;
            {
               word pd410;
               pd410 = (* (( (ptr) class←v20460)+3) );
               (void) ( *( (fPt) ((*  (ptr) pd410 ))))((word) &var←c0598, lineInfo←v45424, x←v45452, pd410);
               };
            var←c68140 = var←c0598;
            };
         }
      else {
         {
            W5 var←c0599;
            (void) NormalResolve←P1620((word) &var←c0599, lineInfo←v45424, x←v45452);
            var←c68140 = var←c0599;
            };
         };
      rightOfLine←v45580 = var←c68140.f4;
      width←v45552 = var←c68140.f3;
      xmin←v45524 = var←c68140.f2;
      loc←v45496 = (*  (W2Pt) &var←c68140 );
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0600 ) = loc←v45496;
   (* (( (ptr) formal←c0600)+2) ) = xmin←v45524;
   (* (( (ptr) formal←c0600)+3) ) = width←v45552;
   (* (( (ptr) formal←c0600)+4) ) = rightOfLine←v45580;
   return;
   }

static void NormalResolve←P1620(formal←c0623, lineInfo←v10508, x←v10536)
   word formal←c0623;
   word lineInfo←v10508;
   word x←v10536;
   {
   W2 loc←v10580;
   word xmin←v10608;
   word width←v10636;
   word rightOfLine←v10664;
   word xOffset←v20504;
   word xOfi←v20532;
   word xx←v20560;
   /* NormalResolve: */ 
SOURCE(37622, 679)
SOURCE(37622, 679)
   loc←v10580.f0 = 0;
   loc←v10580.f1 = 0;
SOURCE(37765, 45)
   {
      word a←v55660;
      a←v55660 = (* (( (ptr) lineInfo←v10508)+9) );
      {
         word a←v39972;
         {
            word i←v40004;
            i←v40004 = (a←v55660 + 32768);
            a←v39972 = i←v40004;
            };
         xOffset←v20504 =  (word)( (int)a←v39972 >> 16);
         };
      };
SOURCE(37812, 36)
   {
      word var←c68332;
      var←c68332 = (* (( (ptr) lineInfo←v10508)+2) );
      {
         word limit411;
         xOfi←v20532 = (* ((( (ptr) var←c68332)+1)+(
               limit411 = (*  (ptr) var←c68332 ),
               BCK(0, limit411)
               )) );
         };
      };
SOURCE(37850, 26)
   xx←v20560 = (x←v10536 - xOffset←v20504);
SOURCE(37878, 338)
   {
      register word i←v20604 = 0;
      register word noName←c68364;
      noName←c68364 = (* (( (ptr) lineInfo←v10508)+14) );
      if ((i←v20604 >= noName←c68364)) {
         goto lab←L100159;
         };
      lab←L100162: ;
      {
         word xOfiPlusOne←v20648;
SOURCE(37916, 45)
         {
            word var←c68396;
            word var←c68428;
            var←c68396 = (i←v20604 + 1);
            var←c68428 = (* (( (ptr) lineInfo←v10508)+2) );
            {
               word limit412;
               xOfiPlusOne←v20648 = (* ((( (ptr) var←c68428)+1)+(
                     limit412 = (*  (ptr) var←c68428 ),
                     BCK(var←c68396, limit412)
                     )) );
               };
            };
SOURCE(37963, 233)
         if (( (int)i←v20604 ==  (int)((* (( (ptr) lineInfo←v10508)+14) ) - 1)) || ( (int)xx←v20560 <  (int)xOfiPlusOne←v20648)) {
SOURCE(38013, 183)
            loc←v10580.f0 = (* (( (ptr) lineInfo←v10508)+5) );
            loc←v10580.f1 = ((* (( (ptr) lineInfo←v10508)+6) ) + i←v20604);
            if (( (int)i←v20604 ==  (int)((* (( (ptr) lineInfo←v10508)+14) ) - 1))) {
               rightOfLine←v10664 =  (unsigned) ( (int)(xOfi←v20532 + xOfiPlusOne←v20648) <=  (int)(xx←v20560 + xx←v20560));
               }
            else {
               rightOfLine←v10664 =  (unsigned) 0;
               };
            xmin←v10608 = (xOfi←v20532 + xOffset←v20504);
            width←v10636 = (xOfiPlusOne←v20648 - xOfi←v20532);
            goto lab←L100155;
            };
SOURCE(38198, 18)
         xOfi←v20532 = xOfiPlusOne←v20648;
         };
      i←v20604 = (i←v20604 + 1);
      if ((i←v20604 < noName←c68364)) {
         goto lab←L100162;
         };
      lab←L100159: ;
      };
SOURCE(38227, 74)
   loc←v10580 = (*  (W2Pt) (( (ptr) lineInfo←v10508)+5) );
   xmin←v10608 = xOffset←v20504;
   width←v10636 = 0;
   rightOfLine←v10664 = 1;
   /* removed tail goto */ 
   lab←L100155: ;
   (*  (W2Pt) formal←c0623 ) = loc←v10580;
   (* (( (ptr) formal←c0623)+2) ) = xmin←v10608;
   (* (( (ptr) formal←c0623)+3) ) = width←v10636;
   (* (( (ptr) formal←c0623)+4) ) = rightOfLine←v10664;
   return;
   }

static void CharPosition←P1680(formal←c0632, lineInfo←v45640, offset←v45668)
   word formal←c0632;
   word lineInfo←v45640;
   word offset←v45668;
   {
   word x←v45712;
   word width←v45740;
   word class←v20692;
   /* CharPosition: */ 
SOURCE(38307, 237)
SOURCE(38361, 43)
   class←v20692 = (* (( (ptr) lineInfo←v45640)+3) );
SOURCE(38406, 138)
   {
      W2 var←c68588;
      if ( ( (class←v20692 != 0) ? ((* (( (ptr) class←v20692)+4) ) != 0) : 0 ) ) {
         {
            W2 var←c0630;
            {
               word pd413;
               pd413 = (* (( (ptr) class←v20692)+4) );
               (void) ( *( (fPt) ((*  (ptr) pd413 ))))((word) &var←c0630, lineInfo←v45640, offset←v45668, pd413);
               };
            var←c68588 = var←c0630;
            };
         }
      else {
         {
            W2 var←c0631;
            (void) NormalCharPosition←P1740((word) &var←c0631, lineInfo←v45640, offset←v45668);
            var←c68588 = var←c0631;
            };
         };
      width←v45740 = var←c68588.f1;
      x←v45712 = var←c68588.f0;
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0632 ) = x←v45712;
   (* (( (ptr) formal←c0632)+1) ) = width←v45740;
   return;
   }

static void NormalCharPosition←P1740(formal←c0650, lineInfo←v10724, offset←v10752)
   word formal←c0650;
   word lineInfo←v10724;
   word offset←v10752;
   {
   word x←v10796;
   word width←v10824;
   /* NormalCharPosition: */ 
SOURCE(38550, 520)
SOURCE(38653, 417)
   if (( (int)offset←v10752 <  (int)(* (( (ptr) lineInfo←v10724)+6) ))) {
SOURCE(38695, 18)
      x←v10796 = 2147483648;
SOURCE(38715, 9)
      width←v10824 = 0;
      }
   else {
SOURCE(38731, 344)
      {
         word i←v20736;
SOURCE(38733, 57)
         {
            word x414;
            i←v20736 = (x414 = (offset←v10752 - (* (( (ptr) lineInfo←v10724)+6) )),
               MIN((int)(word), x414, 2147483647));
            };
SOURCE(38792, 278)
         if ((i←v20736 > (* (( (ptr) lineInfo←v10724)+14) ))) {
SOURCE(38819, 17)
            x←v10796 = 2147483647;
SOURCE(38838, 9)
            width←v10824 = 0;
            }
         else {
SOURCE(38854, 216)
            if ((i←v20736 == (* (( (ptr) lineInfo←v10724)+14) ))) {
SOURCE(38881, 61)
               {
                  word var←c68620;
                  word var←c0877;
                  word var←c68652;
                  word a←v55524;
                  var←c68620 = (* (( (ptr) lineInfo←v10724)+2) );
                  {
                     word limit415;
                     var←c0877 = (* ((( (ptr) var←c68620)+1)+(
                           limit415 = (*  (ptr) var←c68620 ),
                           BCK(i←v20736, limit415)
                           )) );
                     };
                  a←v55524 = (* (( (ptr) lineInfo←v10724)+9) );
                  {
                     word a←v55572;
                     {
                        word i←v55616;
                        i←v55616 = (a←v55524 + 32768);
                        a←v55572 = i←v55616;
                        };
                     var←c68652 =  (word)( (int)a←v55572 >> 16);
                     };
                  x←v10796 = (var←c0877 + var←c68652);
                  };
SOURCE(38944, 9)
               width←v10824 = 0;
               }
            else {
SOURCE(38962, 28)
               {
                  word var←c68812;
                  var←c68812 = (* (( (ptr) lineInfo←v10724)+2) );
                  {
                     word limit416;
                     x←v10796 = (* ((( (ptr) var←c68812)+1)+(
                           limit416 = (*  (ptr) var←c68812 ),
                           BCK(i←v20736, limit416)
                           )) );
                     };
                  };
SOURCE(38992, 38)
               {
                  word var←c68844;
                  word var←c68876;
                  word var←c0878;
                  var←c68844 = (i←v20736 + 1);
                  var←c68876 = (* (( (ptr) lineInfo←v10724)+2) );
                  {
                     word limit417;
                     var←c0878 = (* ((( (ptr) var←c68876)+1)+(
                           limit417 = (*  (ptr) var←c68876 ),
                           BCK(var←c68844, limit417)
                           )) );
                     };
                  width←v10824 = (var←c0878 - x←v10796);
                  };
SOURCE(39032, 38)
               {
                  word var←c68908;
                  word a←v55388;
                  a←v55388 = (* (( (ptr) lineInfo←v10724)+9) );
                  {
                     word a←v55436;
                     {
                        word i←v55480;
                        i←v55480 = (a←v55388 + 32768);
                        a←v55436 = i←v55480;
                        };
                     var←c68908 =  (word)( (int)a←v55436 >> 16);
                     };
                  x←v10796 = (x←v10796 + var←c68908);
                  };
               };
            };
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0650 ) = x←v10796;
   (* (( (ptr) formal←c0650)+1) ) = width←v10824;
   return;
   }

static void BoundingBox←P1800(formal←c0659, lineInfo←v45800, start←v45828, length←v45856)
   word formal←c0659;
   word lineInfo←v45800;
   word start←v45828;
   word length←v45856;
   {
   W4 var←c45900;
   word class←v20780;
   /* BoundingBox: */ 
SOURCE(39082, 244)
SOURCE(39134, 43)
   class←v20780 = (* (( (ptr) lineInfo←v45800)+3) );
SOURCE(39179, 147)
   {
      W4 var←c69100;
      if ( ( (class←v20780 != 0) ? ((* (( (ptr) class←v20780)+5) ) != 0) : 0 ) ) {
         {
            W4 var←c0657;
            {
               word pd418;
               pd418 = (* (( (ptr) class←v20780)+5) );
               (void) ( *( (fPt) ((*  (ptr) pd418 ))))((word) &var←c0657, lineInfo←v45800, start←v45828, length←v45856, pd418);
               };
            var←c69100 = var←c0657;
            };
         }
      else {
         {
            W4 var←c0658;
            (void) NormalBoundingBox←P1860((word) &var←c0658, lineInfo←v45800, start←v45828, length←v45856);
            var←c69100 = var←c0658;
            };
         };
      var←c45900 = var←c69100;
      /* removed tail goto */ 
      };
   (*  (W4Pt) formal←c0659 ) = var←c45900;
   return;
   }

static void NormalBoundingBox←P1860(formal←c0692, lineInfo←v10884, start←v10912, length←v10940)
   word formal←c0692;
   word lineInfo←v10884;
   word start←v10912;
   word length←v10940;
   {
   W12 var←c71916;
   register ptr gf←c71948 =  (ptr) &globalframe;
   W4 var←c10984;
   /* declaration of var←c69132 skipped */ 
   /* declaration of var←c69164 skipped */ 
   word charInfo←v20824;
   word formatInfo←v20852;
   /* declaration of x0←v20880 skipped */ 
   /* declaration of y0←v20908 skipped */ 
   /* declaration of x1←v20936 skipped */ 
   /* declaration of y1←v20964 skipped */ 
   word x←v20992;
   /* NormalBoundingBox: */ 
SOURCE(39332, 1559)
   {
      word tmpAddr419;
      tmpAddr419 = (word) (( (ptr) &var←c71916)+4)/* var←c69132 */ ;
      (*  (ptr) tmpAddr419 ) = ( ((word)  (fPt) BBox←P6348) );
      (* (( (ptr) tmpAddr419) + 1) ) = 1;
      };
   {
      word tmpAddr420;
      tmpAddr420 = (word) (( (ptr) &var←c71916)+6)/* var←c69164 */ ;
      (*  (ptr) tmpAddr420 ) = ( ((word)  (fPt) BBPoint←P6288) );
      (* (( (ptr) tmpAddr420) + 1) ) = 1;
      };
SOURCE(39435, 50)
   charInfo←v20824 = (*  (ptr) lineInfo←v10884 );
SOURCE(39487, 56)
   formatInfo←v20852 = (* (( (ptr) lineInfo←v10884)+1) );
SOURCE(39545, 29)
   (* (( (ptr) &var←c71916)+8)/* x0←v20880 */  ) = 2139095039;
SOURCE(39576, 29)
   (* (( (ptr) &var←c71916)+9)/* y0←v20908 */  ) = 2139095039;
SOURCE(39607, 30)
   {
      word x421;
      *(float*)(( (ptr) &var←c71916)+10)/* x1←v20936 */  =  - (
         x421 = 2139095039,  *(float*)&x421
         );
      };
SOURCE(39639, 30)
   {
      word x422;
      *(float*)(( (ptr) &var←c71916)+11)/* y1←v20964 */  =  - (
         x422 = 2139095039,  *(float*)&x422
         );
      };
SOURCE(39671, 13)
   x←v20992 = (*  (ptr) &fc125 );
SOURCE(39898, 889)
   {
      register word i←v21240 = 0;
      register word noName←c69196;
      {
         word x423;
         noName←c69196 = (x423 = (* (( (ptr) lineInfo←v10884)+14) ),
            MIN((int)(word), (start←v10912 + length←v10940), x423));
         };
      if (( (int)i←v21240 >=  (int)noName←c69196)) {
         goto lab←L100173;
         };
      lab←L100176: ;
      {
         W3 c←v21284;
         W9 f←v21312;
         word ext←v21340;
         word w←v21368;
         word newx←v21396;
SOURCE(39955, 42)
         {
            word limit424;
            c←v21284 = (* (( (W3Pt) (( (ptr) charInfo←v20824)+1))+(
                  limit424 = (*  (ptr) charInfo←v20824 ),
                  BCK(i←v21240, limit424)
                  )) );
            };
SOURCE(39999, 59)
         {
            word idx425;
            word limit426;
            f←v21312 = (* (( (W9Pt) (( (ptr) formatInfo←v20852)+2))+(
                  idx425 = (word) ((unsigned)(* (( (ptr) &c←v21284)+1) ) >> 2),
                  limit426 = (* (( (ptr) formatInfo←v20852)+1) ),
                  BCK(idx425, limit426)
                  )) );
            };
SOURCE(40060, 34)
         ext←v21340 = (* (( (ptr) &f←v21312)+7) );
SOURCE(40096, 31)
         {
            word pd427;
            pd427 = (* (( (ptr) (* (( (ptr) gf←c71948)+174)/* var←c61132 */  ))+20) );
            w←v21368 = (word) ( *( (fPt) ((*  (ptr) pd427 ))))(c←v21284.f2, pd427);
            };
SOURCE(40129, 16)
         {
            word x428;
            word x429;
            *(float*)&newx←v21396 = (
               x428 = x←v20992,  *(float*)&x428
               ) + (
               x429 = w←v21368,  *(float*)&x429
               );
            };
SOURCE(40147, 624)
         if (( (int)i←v21240 >=  (int)start←v10912)) {
SOURCE(40166, 610)
            {
               word charClass←v21440;
               word doUnderline←v21468;
               word doStrikeout←v21496;
               word y←v21524;
               W4 extent←v21552;
SOURCE(40168, 66)
               {
                  word limit430;
                  charClass←v21440 = (word) CharClass←P1320((* (( (W3Pt) (( (ptr) charInfo←v20824)+1))+(
                           limit430 = (*  (ptr) charInfo←v20824 ),
                           BCK(i←v21240, limit430)
                           )) ).f0);
                  };
SOURCE(40236, 46)
               doUnderline←v21468 =  (unsigned) ((* (( (ptr) &f←v21312)+6) ) >= charClass←v21440);
SOURCE(40284, 44)
               doStrikeout←v21496 =  (unsigned) ((* (( (ptr) &f←v21312)+5) ) >= charClass←v21440);
SOURCE(40330, 18)
               y←v21524 = (* (( (ptr) &f←v21312)+4) );
SOURCE(40350, 136)
               if (((* (( (ptr) ext←v21340)+2) ) != 0)) {
                  extent←v21552 = (*  (W4Pt) (( (ptr) (* (( (ptr) ext←v21340)+2) ))+1) );
                  }
               else {
                  {
                     W4 var←c0685;
                     {
                        word pd431;
                        pd431 = (* (( (ptr) (* (( (ptr) gf←c71948)+173)/* var←c61100 */  ))+17) );
                        (void) ( *( (fPt) ((*  (ptr) pd431 ))))((word) &var←c0685, (* (( (ptr) &f←v21312)+1) ), c←v21284.f0, pd431);
                        };
                     extent←v21552 = var←c0685;
                     };
                  };
SOURCE(40488, 86)
               {
                  W2 var←c69228;
                  W2 var←c69260;
                  {
                     word x432;
                     word x433;
                     *(float*)&var←c69228.f0 = (
                        x432 = x←v20992,  *(float*)&x432
                        ) - (
                        x433 = extent←v21552.f0,  *(float*)&x433
                        );
                     };
                  {
                     word x434;
                     word x435;
                     *(float*)&var←c69228.f1 = (
                        x434 = y←v21524,  *(float*)&x434
                        ) - (
                        x435 = extent←v21552.f2,  *(float*)&x435
                        );
                     };
                  {
                     word x436;
                     word x437;
                     *(float*)&var←c69260.f0 = (
                        x436 = x←v20992,  *(float*)&x436
                        ) + (
                        x437 = extent←v21552.f1,  *(float*)&x437
                        );
                     };
                  {
                     word x438;
                     word x439;
                     *(float*)&var←c69260.f1 = (
                        x438 = y←v21524,  *(float*)&x438
                        ) + (
                        x439 = extent←v21552.f3,  *(float*)&x439
                        );
                     };
                  (void) BBox←P6348(var←c69228, var←c69260, (word) (( (bPt) &var←c71916)+16)/* var←c69132 */ );
                  };
SOURCE(40576, 95)
               if ((0 != doUnderline←v21468)) {
SOURCE(40598, 73)
                  {
                     W2 var←c69292;
                     W2 var←c69324;
                     var←c69292.f0 = x←v20992;
                     {
                        word x440;
                        *(float*)&var←c69292.f1 =  - (
                           x440 = (* (( (ptr) ext←v21340)+3) ),  *(float*)&x440
                           );
                        };
                     var←c69324.f0 = newx←v21396;
                     {
                        word x441;
                        word x442;
                        *(float*)&var←c69324.f1 = ( - (
                           x441 = (* (( (ptr) ext←v21340)+3) ),  *(float*)&x441
                           )) - (
                           x442 = (* (( (ptr) ext←v21340)+4) ),  *(float*)&x442
                           );
                        };
                     (void) BBox←P6348(var←c69292, var←c69324, (word) (( (bPt) &var←c71916)+16)/* var←c69132 */ );
                     };
                  };
SOURCE(40676, 95)
               if ((0 != doStrikeout←v21496)) {
SOURCE(40698, 73)
                  {
                     W2 var←c69356;
                     W2 var←c69388;
                     var←c69356.f0 = x←v20992;
                     {
                        word x443;
                        *(float*)&var←c69356.f1 =  - (
                           x443 = (* (( (ptr) ext←v21340)+6) ),  *(float*)&x443
                           );
                        };
                     var←c69388.f0 = newx←v21396;
                     {
                        word x444;
                        word x445;
                        *(float*)&var←c69388.f1 = ( - (
                           x444 = (* (( (ptr) ext←v21340)+6) ),  *(float*)&x444
                           )) - (
                           x445 = (* (( (ptr) ext←v21340)+7) ),  *(float*)&x445
                           );
                        };
                     (void) BBox←P6348(var←c69356, var←c69388, (word) (( (bPt) &var←c71916)+16)/* var←c69132 */ );
                     };
                  };
               };
            };
SOURCE(40779, 8)
         x←v20992 = newx←v21396;
         };
      i←v21240 = (i←v21240 + 1);
      if (( (int)i←v21240 <  (int)noName←c69196)) {
         goto lab←L100176;
         };
      lab←L100173: ;
      };
SOURCE(40798, 93)
   {
      word x446;
      word x447;
      if (((
         x446 = (* (( (ptr) &var←c71916)+8)/* x0←v20880 */  ),  *(float*)&x446
         ) >= (
         x447 = (* (( (ptr) &var←c71916)+10)/* x1←v20936 */  ),  *(float*)&x447
         ))) {
SOURCE(40815, 27)
         var←c10984.f0 = (*  (ptr) &fc125 );
         var←c10984.f1 = (*  (ptr) &fc125 );
         var←c10984.f2 = (*  (ptr) &fc125 );
         var←c10984.f3 = (*  (ptr) &fc125 );
         /* removed tail goto */ 
         }
      else {
SOURCE(40842, 49)
         var←c10984.f0 = (* (( (ptr) &var←c71916)+8)/* x0←v20880 */  );
         var←c10984.f1 = (* (( (ptr) &var←c71916)+9)/* y0←v20908 */  );
         var←c10984.f2 = (* (( (ptr) &var←c71916)+10)/* x1←v20936 */  );
         var←c10984.f3 = (* (( (ptr) &var←c71916)+11)/* y1←v20964 */  );
         /* removed tail goto */ 
         };
      };
   (*  (W4Pt) formal←c0692 ) = var←c10984;
   return;
   }

static void BBPoint←P6288(p←v21124, formal←c71980)
   W2 p←v21124;
   word formal←c71980;
   {
   formal←c71980 = (formal←c71980 - 24);
   /* BBPoint: */ 
SOURCE(39686, 141)
SOURCE(39721, 25)
   {
      word x448;
      word x449;
      if (((
         x448 = p←v21124.f0,  *(float*)&x448
         ) < (
         x449 = (* (( (ptr) formal←c71980)+8) ),  *(float*)&x449
         ))) {
SOURCE(39738, 8)
         (* (( (ptr) formal←c71980)+8) ) = p←v21124.f0;
         };
      };
SOURCE(39748, 25)
   {
      word x450;
      word x451;
      if (((
         x450 = p←v21124.f0,  *(float*)&x450
         ) > (
         x451 = (* (( (ptr) formal←c71980)+10) ),  *(float*)&x451
         ))) {
SOURCE(39765, 8)
         (* (( (ptr) formal←c71980)+10) ) = p←v21124.f0;
         };
      };
SOURCE(39775, 25)
   {
      word x452;
      word x453;
      if (((
         x452 = p←v21124.f1,  *(float*)&x452
         ) < (
         x453 = (* (( (ptr) formal←c71980)+9) ),  *(float*)&x453
         ))) {
SOURCE(39792, 8)
         (* (( (ptr) formal←c71980)+9) ) = p←v21124.f1;
         };
      };
SOURCE(39802, 25)
   {
      word x454;
      word x455;
      if (((
         x454 = p←v21124.f1,  *(float*)&x454
         ) > (
         x455 = (* (( (ptr) formal←c71980)+11) ),  *(float*)&x455
         ))) {
SOURCE(39819, 8)
         (* (( (ptr) formal←c71980)+11) ) = p←v21124.f1;
         };
      };
   }

static void BBox←P6348(p0←v21184, p1←v21212, formal←c72012)
   W2 p0←v21184;
   W2 p1←v21212;
   word formal←c72012;
   {
   formal←c72012 = (formal←c72012 - 16);
   /* BBox: */ 
SOURCE(39832, 61)
SOURCE(39869, 11)
   (void) BBPoint←P6288(p0←v21184, (word) (( (bPt) formal←c72012)+24));
SOURCE(39882, 11)
   (void) BBPoint←P6288(p1←v21212, (word) (( (bPt) formal←c72012)+24));
   }

static void RegisterCharacterArtwork←P1920(class←v11044)
   word class←v11044;
   {
   register ptr gf←c72044 =  (ptr) &globalframe;
   /* RegisterCharacterArtwork: */ 
SOURCE(40896, 135)
SOURCE(40969, 62)
   {
      word var←c69484;
      word pd456;
      pd456 = (* (( (ptr) (* (( (ptr) gf←c72044)+167)/* var←c59948 */  ))+9) );
      var←c69484 = (word) ( *( (fPt) ((*  (ptr) pd456 ))))((* (( (ptr) gf←c72044)+35)/* characterArtworkRegistry←v6276 */  ), (*  (ptr) class←v11044 ), class←v11044, pd456)
      ;
      };
   }

static void UnregisterCharacterArtwork←P1980(name←v11104)
   word name←v11104;
   {
   register ptr gf←c72076 =  (ptr) &globalframe;
   /* UnregisterCharacterArtwork: */ 
SOURCE(41037, 107)
SOURCE(41094, 50)
   {
      word var←c69516;
      word pd457;
      pd457 = (* (( (ptr) (* (( (ptr) gf←c72076)+167)/* var←c59948 */  ))+11) );
      var←c69516 = (word) ( *( (fPt) ((*  (ptr) pd457 ))))((* (( (ptr) gf←c72076)+35)/* characterArtworkRegistry←v6276 */  ), name←v11104, pd457)
      ;
      };
   }

static word GetCharacterArtworkClass←P2040(name←v11164)
   word name←v11164;
   {
   register ptr gf←c72108 =  (ptr) &globalframe;
   word var←c11208;
   /* GetCharacterArtworkClass: */ 
SOURCE(41150, 217)
SOURCE(41237, 63)
   if ( ( (name←v11164 != (* (( (ptr) gf←c72108)+75) )) ? (0 == (* (( (ptr) gf←c72108)+40)/* artworkEnabled←v6696 */  )) : 0 ) ) {
SOURCE(41288, 12)
      return(0);
      };
SOURCE(41302, 65)
   {
      word var←c0880;
      {
         W2 var←c0702;
         word var←c0879;
         {
            word pd458;
            pd458 = (* (( (ptr) (* (( (ptr) gf←c72108)+167)/* var←c59948 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd458 ))))((word) &var←c0702, (* (( (ptr) gf←c72108)+35)/* characterArtworkRegistry←v6276 */  ), name←v11164, pd458)
            ;
            };
         var←c0879 = var←c0702.f1;
         var←c0880 = XR←Narrow(var←c0879, (* (( (ptr) gf←c72108)+43) ));
         };
      return(var←c0880);
      };
   }

static void VRulePaint←P2100(self←v11424, context←v11452)
   word self←v11424;
   word context←v11452;
   {
   register ptr gf←c72140 =  (ptr) &globalframe;
   word data←v21596;
   /* VRulePaint: */ 
SOURCE(41552, 285)
SOURCE(41623, 42)
   data←v21596 = XR←Narrow((* (( (ptr) self←v11424)+8) ), (* (( (ptr) gf←c72140)+50) ));
SOURCE(41667, 20)
   {
      word pd459;
      pd459 = (* (( (ptr) (* (( (ptr) gf←c72140)+183)/* var←c63436 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd459 ))))(context←v11452, pd459);
      };
SOURCE(41689, 36)
   {
      word pd460;
      pd460 = (* (( (ptr) (* (( (ptr) gf←c72140)+183)/* var←c63436 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd460 ))))(context←v11452, (*  (ptr) data←v21596 ), pd460);
      };
SOURCE(41727, 110)
   {
      W4 var←c69580;
      var←c69580.f0 = (* (( (ptr) data←v21596)+4) );
      {
         word x461;
         *(float*)&var←c69580.f1 =  - (
            x461 = (* (( (ptr) data←v21596)+2) ),  *(float*)&x461
            );
         };
      var←c69580.f2 = (* (( (ptr) data←v21596)+3) );
      {
         word x462;
         word x463;
         *(float*)&var←c69580.f3 = (
            x462 = (* (( (ptr) data←v21596)+1) ),  *(float*)&x462
            ) + (
            x463 = (* (( (ptr) data←v21596)+2) ),  *(float*)&x463
            );
         };
      {
         word pd464;
         pd464 = (* (( (ptr) (* (( (ptr) gf←c72140)+183)/* var←c63436 */  ))+65) );
         (void) ( *( (fPt) ((*  (ptr) pd464 ))))(context←v11452, var←c69580, pd464);
         };
      };
   }

static word VRuleFormat←P2160(class←v45960, loc←v45988, style←v46016)
   word class←v45960;
   W2 loc←v45988;
   word style←v46016;
   {
   register ptr gf←c72172 =  (ptr) &globalframe;
   word var←c46060;
   word letter←v21652;
   /* VRuleFormat: */ 
SOURCE(41843, 1128)
SOURCE(41892, 55)
   {
      word pd465;
      pd465 = (* (( (ptr) (* (( (ptr) gf←c72172)+184)/* var←c64812 */  ))+4) );
      letter←v21652 = (word) ( *( (fPt) ((*  (ptr) pd465 ))))(loc←v45988.f0, loc←v45988.f1, pd465);
      };
SOURCE(41949, 1004)
   if ((letter←v21652 == 124)) {
SOURCE(41981, 975)
      {
         word ascent←v21696;
         word descent←v21724;
         word width←v21752;
         word bearoff←v21780;
SOURCE(41983, 57)
         {
            word pd466;
            pd466 = (* (( (ptr) (* (( (ptr) gf←c72172)+175)/* var←c61260 */  ))+12) );
            ascent←v21696 = (word) ( *( (fPt) ((*  (ptr) pd466 ))))(style←v46016, 72, pd466);
            };
SOURCE(42042, 59)
         {
            word pd467;
            pd467 = (* (( (ptr) (* (( (ptr) gf←c72172)+175)/* var←c61260 */  ))+12) );
            descent←v21724 = (word) ( *( (fPt) ((*  (ptr) pd467 ))))(style←v46016, 73, pd467);
            };
SOURCE(42103, 59)
         {
            word pd468;
            pd468 = (* (( (ptr) (* (( (ptr) gf←c72172)+175)/* var←c61260 */  ))+12) );
            width←v21752 = (word) ( *( (fPt) ((*  (ptr) pd468 ))))(style←v46016, 67, pd468);
            };
SOURCE(42164, 59)
         {
            word pd469;
            pd469 = (* (( (ptr) (* (( (ptr) gf←c72172)+175)/* var←c61260 */  ))+12) );
            bearoff←v21780 = (word) ( *( (fPt) ((*  (ptr) pd469 ))))(style←v46016, 68, pd469);
            };
SOURCE(42225, 240)
         {
            word x470;
            word x471;
            word x472;
            if (((
               x470 = ascent←v21696,  *(float*)&x470
               ) + (
               x471 = descent←v21724,  *(float*)&x471
               ) <= (
               x472 = (*  (ptr) &fc125 ),  *(float*)&x472
               ))) {
SOURCE(42255, 212)
               {
                  word font←v21824;
                  W4 fontBoundingBox←v21852;
SOURCE(42257, 48)
                  {
                     word pd473;
                     pd473 = (* (( (ptr) (* (( (ptr) gf←c72172)+175)/* var←c61260 */  ))+41) );
                     font←v21824 = (word) ( *( (fPt) ((*  (ptr) pd473 ))))(style←v46016, pd473);
                     };
SOURCE(42307, 70)
                  {
                     word pd474;
                     pd474 = (* (( (ptr) (* (( (ptr) gf←c72172)+173)/* var←c61100 */  ))+18) );
                     (void) ( *( (fPt) ((*  (ptr) pd474 ))))((word) &fontBoundingBox←v21852, font←v21824, pd474);
                     };
SOURCE(42379, 41)
                  {
                     word x475;
                     word x476;
                     *(float*)&ascent←v21696 = (
                        x475 = fontBoundingBox←v21852.f3,  *(float*)&x475
                        ) + (
                        x476 = bearoff←v21780,  *(float*)&x476
                        );
                     };
SOURCE(42422, 43)
                  {
                     word x477;
                     word x478;
                     *(float*)&descent←v21724 = (
                        x477 = fontBoundingBox←v21852.f2,  *(float*)&x477
                        ) - (
                        x478 = bearoff←v21780,  *(float*)&x478
                        );
                     };
                  };
               };
            };
SOURCE(42470, 483)
         {
            word x479;
            word x480;
            if (((
               x479 = width←v21752,  *(float*)&x479
               ) > (
               x480 = (*  (ptr) &fc125 ),  *(float*)&x480
               ))) {
SOURCE(42490, 463)
               {
                  word data←v21896;
                  W4 extents←v21924;
SOURCE(42492, 159)
                  {
                     word var←c69612;
                     word var←c69644;
                     {
                        word pd481;
                        pd481 = (* (( (ptr) (* (( (ptr) gf←c72172)+175)/* var←c61260 */  ))+43) );
                        var←c69612 = (word) ( *( (fPt) ((*  (ptr) pd481 ))))(style←v46016, 3, pd481);
                        };
                     var←c69644 = XR←NewObject(20, (* (( (ptr) gf←c72172)+50) ));
                     (*  (ptr) var←c69644 ) = var←c69612;
                     (* (( (ptr) var←c69644)+1) ) = ascent←v21696;
                     (* (( (ptr) var←c69644)+2) ) = descent←v21724;
                     (* (( (ptr) var←c69644)+3) ) = width←v21752;
                     (* (( (ptr) var←c69644)+4) ) = bearoff←v21780;
                     data←v21896 = var←c69644;
                     };
SOURCE(42653, 139)
                  {
                     word x482;
                     *(float*)&extents←v21924.f0 =  - (
                        x482 = (* (( (ptr) data←v21896)+4) ),  *(float*)&x482
                        );
                     };
                  {
                     word x483;
                     word x484;
                     *(float*)&extents←v21924.f1 = (
                        x483 = (* (( (ptr) data←v21896)+4) ),  *(float*)&x483
                        ) + (
                        x484 = (* (( (ptr) data←v21896)+3) ),  *(float*)&x484
                        );
                     };
                  extents←v21924.f2 = (* (( (ptr) data←v21896)+2) );
                  extents←v21924.f3 = (* (( (ptr) data←v21896)+1) );
SOURCE(42794, 159)
                  {
                     word var←c69740;
                     var←c69740 = XR←NewObject(36, (* (( (ptr) gf←c72172)+47) ));
                     (*  (ptr) var←c69740 ) = (word) (( (bPt) gf←c72172)+388)/* var←c58828 */ ;
                     (*  (W4Pt) (( (ptr) var←c69740)+1) ) = extents←v21924;
                     {
                        word x485;
                        word x487;
                        word x488;
                        *(float*)(( (ptr) var←c69740)+5) = (
                           x485 = (* (( (ptr) data←v21896)+3) ),  *(float*)&x485
                           ) + ((
                           x487 = (*  (ptr) &fc486 ),  *(float*)&x487
                           ) * (
                           x488 = (* (( (ptr) data←v21896)+4) ),  *(float*)&x488
                           ));
                        };
                     (* (( (ptr) var←c69740)+6) ) = (*  (ptr) &fc125 );
                     (* (( (ptr) var←c69740)+7) ) = 1;
                     (* (( (ptr) var←c69740)+8) ) = data←v21896;
                     return(var←c69740);
                     };
                  };
               };
            };
         };
      };
SOURCE(42959, 12)
   return(0);
   }

static void PlaceholderPaint←P2220(self←v11684, context←v11712)
   word self←v11684;
   word context←v11712;
   {
   W7 var←c72204;
   register ptr gf←c72236 =  (ptr) &globalframe;
   /* declaration of var←c69772 skipped */ 
   /* declaration of data←v21980 skipped */ 
   /* PlaceholderPaint: */ 
SOURCE(43240, 485)
   {
      word tmpAddr489;
      tmpAddr489 = (word) (( (ptr) &var←c72204)+4)/* var←c69772 */ ;
      (*  (ptr) tmpAddr489 ) = ( ((word)  (fPt) path←P6696) );
      (* (( (ptr) tmpAddr489) + 1) ) = 1;
      };
SOURCE(43317, 48)
   var←c72204.f6/* data←v21980 */  = XR←Narrow((* (( (ptr) self←v11684)+8) ), (* (( (ptr) gf←c72236)+45) ));
SOURCE(43493, 159)
   if (((* (( (ptr) var←c72204.f6/* data←v21980 */ )+2) ) == 0)) {
SOURCE(43521, 21)
      {
         word pd490;
         pd490 = (* (( (ptr) (* (( (ptr) gf←c72236)+183)/* var←c63436 */  ))+20) );
         (void) ( *( (fPt) ((*  (ptr) pd490 ))))(context←v11712, pd490);
         };
      }
   else {
SOURCE(43553, 42)
      {
         word pd491;
         pd491 = (* (( (ptr) (* (( (ptr) gf←c72236)+183)/* var←c63436 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd491 ))))(context←v11712, (* (( (ptr) self←v11684)+5) ), pd491);
         };
SOURCE(43597, 21)
      {
         word pd492;
         pd492 = (* (( (ptr) (* (( (ptr) gf←c72236)+183)/* var←c63436 */  ))+20) );
         (void) ( *( (fPt) ((*  (ptr) pd492 ))))(context←v11712, pd492);
         };
SOURCE(43620, 32)
      {
         W2 var←c69804;
         var←c69804.f0 = (*  (ptr) &fc493 );
         var←c69804.f1 = (*  (ptr) &fc100 );
         {
            word pd494;
            pd494 = (* (( (ptr) (* (( (ptr) gf←c72236)+183)/* var←c63436 */  ))+16) );
            (void) ( *( (fPt) ((*  (ptr) pd494 ))))(context←v11712, var←c69804, pd494);
            };
         };
      };
SOURCE(43657, 36)
   {
      word pd495;
      pd495 = (* (( (ptr) (* (( (ptr) gf←c72236)+183)/* var←c63436 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd495 ))))(context←v11712, (*  (ptr) var←c72204.f6/* data←v21980 */  ), pd495);
      };
SOURCE(43695, 30)
   {
      word pd496;
      pd496 = (* (( (ptr) (* (( (ptr) gf←c72236)+183)/* var←c63436 */  ))+62) );
      (void) ( *( (fPt) ((*  (ptr) pd496 ))))(context←v11712, (word) (( (bPt) &var←c72204)+16)/* var←c69772 */ , 0, pd496);
      };
   }

static void path←P6696(moveTo←v54608, lineTo←v54636, curveTo←v54664, conicTo←v54692, arcTo←v54720, formal←c72268)
   word moveTo←v54608;
   word lineTo←v54636;
   word curveTo←v54664;
   word conicTo←v54692;
   word arcTo←v54720;
   word formal←c72268;
   {
   word u←v22064;
   formal←c72268 = (formal←c72268 - 16);
   /* path: */ 
SOURCE(43367, 121)
SOURCE(43397, 23)
   {
      word x497;
      word x499;
      *(float*)&u←v22064 = (
         x497 = (* (( (ptr) (* (( (ptr) formal←c72268)+6) ))+1) ),  *(float*)&x497
         ) * (
         x499 = (*  (ptr) &fc498 ),  *(float*)&x499
         );
      };
SOURCE(43422, 20)
   {
      W2 var←c69836;
      var←c69836.f0 = u←v22064;
      {
         word x501;
         word x502;
         *(float*)&var←c69836.f1 = (
            x501 = (*  (ptr) &fc500 ),  *(float*)&x501
            ) * (
            x502 = u←v22064,  *(float*)&x502
            );
         };
      (void) ( *( (fPt) ((*  (ptr) moveTo←v54608 ))))(var←c69836, moveTo←v54608);
      };
SOURCE(43444, 19)
   {
      W2 var←c69868;
      var←c69868.f0 = u←v22064;
      {
         word x504;
         word x505;
         *(float*)&var←c69868.f1 = (
            x504 = (*  (ptr) &fc503 ),  *(float*)&x504
            ) * (
            x505 = u←v22064,  *(float*)&x505
            );
         };
      (void) ( *( (fPt) ((*  (ptr) lineTo←v54636 ))))(var←c69868, lineTo←v54636);
      };
SOURCE(43465, 23)
   {
      W2 var←c69900;
      {
         word x507;
         word x508;
         *(float*)&var←c69900.f0 = (
            x507 = (*  (ptr) &fc506 ),  *(float*)&x507
            ) * (
            x508 = u←v22064,  *(float*)&x508
            );
         };
      {
         word x510;
         word x511;
         *(float*)&var←c69900.f1 = (
            x510 = (*  (ptr) &fc509 ),  *(float*)&x510
            ) * (
            x511 = u←v22064,  *(float*)&x511
            );
         };
      (void) ( *( (fPt) ((*  (ptr) lineTo←v54636 ))))(var←c69900, lineTo←v54636);
      };
   }

static word PlaceholderFormat←P2280(class←v46228, loc←v46256, style←v46284)
   word class←v46228;
   W2 loc←v46256;
   word style←v46284;
   {
   register ptr gf←c72300 =  (ptr) &globalframe;
   word var←c46328;
   word char←v22108;
   word color←v22136;
   word size←v22164;
   W4 extents←v22192;
   word data←v22220 = 0;
   /* PlaceholderFormat: */ 
SOURCE(43731, 683)
SOURCE(43786, 53)
   {
      word pd512;
      pd512 = (* (( (ptr) (* (( (ptr) gf←c72300)+184)/* var←c64812 */  ))+4) );
      char←v22108 = (word) ( *( (fPt) ((*  (ptr) pd512 ))))(loc←v46256.f0, loc←v46256.f1, pd512);
      };
SOURCE(43841, 64)
   {
      word pd513;
      pd513 = (* (( (ptr) (* (( (ptr) gf←c72300)+175)/* var←c61260 */  ))+43) );
      color←v22136 = (word) ( *( (fPt) ((*  (ptr) pd513 ))))(style←v46284, 3, pd513);
      };
SOURCE(43907, 47)
   {
      word pd514;
      pd514 = (* (( (ptr) (* (( (ptr) gf←c72300)+175)/* var←c61260 */  ))+12) );
      size←v22164 = (word) ( *( (fPt) ((*  (ptr) pd514 ))))(style←v46284, 1, pd514);
      };
SOURCE(43956, 107)
   extents←v22192.f0 = (*  (ptr) &fc125 );
   {
      word x515;
      word x517;
      *(float*)&extents←v22192.f1 = (
         x515 = size←v22164,  *(float*)&x515
         ) * (
         x517 = (*  (ptr) &fc516 ),  *(float*)&x517
         );
      };
   {
      word x518;
      word x520;
      *(float*)&extents←v22192.f2 = (
         x518 = size←v22164,  *(float*)&x518
         ) * (
         x520 = (*  (ptr) &fc519 ),  *(float*)&x520
         );
      };
   {
      word x521;
      word x523;
      *(float*)&extents←v22192.f3 = (
         x521 = size←v22164,  *(float*)&x521
         ) * (
         x523 = (*  (ptr) &fc522 ),  *(float*)&x523
         );
      };
SOURCE(44076, 188)
   {
      word var←c69964;
      var←c69964 = char←v22108;
      if ((var←c69964 == 1)) {
SOURCE(44112, 52)
         {
            word var←c69996;
            var←c69996 = XR←NewObject(12, (* (( (ptr) gf←c72300)+45) ));
            (*  (ptr) var←c69996 ) = color←v22136;
            (* (( (ptr) var←c69996)+1) ) = size←v22164;
            data←v22220 = var←c69996;
            };
         }
      else {
         if ((var←c69964 == 2)) {
SOURCE(44186, 53)
            {
               word var←c70028;
               var←c70028 = XR←NewObject(12, (* (( (ptr) gf←c72300)+45) ));
               (*  (ptr) var←c70028 ) = color←v22136;
               (* (( (ptr) var←c70028)+1) ) = size←v22164;
               (* (( (ptr) var←c70028)+2) ) = 1;
               data←v22220 = var←c70028;
               };
            }
         else {
SOURCE(44252, 12)
            return(0);
            };
         };
      };
SOURCE(44266, 148)
   {
      word var←c70092;
      var←c70092 = XR←NewObject(36, (* (( (ptr) gf←c72300)+47) ));
      (*  (ptr) var←c70092 ) = (word) (( (bPt) gf←c72300)+372)/* var←c58764 */ ;
      (*  (W4Pt) (( (ptr) var←c70092)+1) ) = extents←v22192;
      {
         word x524;
         word x526;
         *(float*)(( (ptr) var←c70092)+5) = (
            x524 = size←v22164,  *(float*)&x524
            ) * (
            x526 = (*  (ptr) &fc525 ),  *(float*)&x526
            );
         };
      (* (( (ptr) var←c70092)+6) ) = (*  (ptr) &fc125 );
      (* (( (ptr) var←c70092)+8) ) = data←v22220;
      return(var←c70092);
      };
   }

static void RegisterArtwork←P2340(a←v11772)
   word a←v11772;
   {
   register ptr gf←c72332 =  (ptr) &globalframe;
   /* RegisterArtwork: */ 
SOURCE(44569, 96)
SOURCE(44620, 45)
   {
      word var←c70124;
      word pd527;
      pd527 = (* (( (ptr) (* (( (ptr) gf←c72332)+167)/* var←c59948 */  ))+9) );
      var←c70124 = (word) ( *( (fPt) ((*  (ptr) pd527 ))))((* (( (ptr) gf←c72332)+38)/* artworkRegistry←v6640 */  ), (*  (ptr) a←v11772 ), a←v11772, pd527)
      ;
      };
   }

static void UnRegisterArtwork←P2400(a←v11832)
   word a←v11832;
   {
   register ptr gf←c72364 =  (ptr) &globalframe;
   /* UnRegisterArtwork: */ 
SOURCE(44671, 83)
SOURCE(44716, 38)
   {
      word var←c70156;
      word pd528;
      pd528 = (* (( (ptr) (* (( (ptr) gf←c72364)+167)/* var←c59948 */  ))+11) );
      var←c70156 = (word) ( *( (fPt) ((*  (ptr) pd528 ))))((* (( (ptr) gf←c72364)+38)/* artworkRegistry←v6640 */  ), a←v11832, pd528)
      ;
      };
   }

static word GetArtworkClass←P2460(a←v11892)
   word a←v11892;
   {
   register ptr gf←c72396 =  (ptr) &globalframe;
   word var←c11936;
   /* GetArtworkClass: */ 
SOURCE(44760, 119)
SOURCE(44826, 53)
   {
      word var←c0882;
      {
         W2 var←c0757;
         word var←c0881;
         {
            word pd529;
            pd529 = (* (( (ptr) (* (( (ptr) gf←c72396)+167)/* var←c59948 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd529 ))))((word) &var←c0757, (* (( (ptr) gf←c72396)+38)/* artworkRegistry←v6640 */  ), a←v11892, pd529)
            ;
            };
         var←c0881 = var←c0757.f1;
         var←c0882 = XR←Narrow(var←c0881, (* (( (ptr) gf←c72396)+48) ));
         };
      return(var←c0882);
      };
   }

static word GetArtworkClassForNode←P2520(node←v11996)
   word node←v11996;
   {
   register ptr gf←c72428 =  (ptr) &globalframe;
   word var←c12040;
   word className←v22276 = 0;
   word prop←v22304;
   /* GetArtworkClassForNode: */ 
SOURCE(44885, 426)
SOURCE(44983, 44)
   {
      word pd530;
      pd530 = (* (( (ptr) (* (( (ptr) gf←c72428)+184)/* var←c64812 */  ))+24) );
      prop←v22304 = (word) ( *( (fPt) ((*  (ptr) pd530 ))))(node←v11996, (* (( (ptr) gf←c72428)+70) ), pd530);
      };
SOURCE(45029, 87)
   {
      word var←c70220;
      word var←c70252;
      var←c70220 = prop←v22304;
      if ((var←c70220 == 0)) {
         goto lab←L100177;
         };
      var←c70252 = XR←GetReferentType(var←c70220);
      {
         word tc531;
         if (((* (( (ptr) gf←c72428)+46) ) == var←c70252)) {
            {
               word a←v22360;
               a←v22360 = var←c70220;
SOURCE(45062, 13)
               className←v22276 = a←v22360;
               };
            }
         else {
            if (((* (( (ptr) gf←c72428)+63) ) == var←c70252)) {
               tc531 =  (word) ( (unsigned) (*(int*)var←c70220<0) == 0);
               }
            else {
               tc531 =  (word) 0;
               };
            if (tc531) {
               {
                  word r←v22404;
                  r←v22404 = var←c70220;
SOURCE(45088, 28)
                  {
                     word pd532;
                     pd532 = (* (( (ptr) (* (( (ptr) gf←c72428)+181)/* var←c63052 */  ))+5) );
                     className←v22276 = (word) ( *( (fPt) ((*  (ptr) pd532 ))))(r←v22404, 0, 2147483647, pd532);
                     };
                  };
               }
            else {
               lab←L100177: ;
               };
            };
         };
      };
SOURCE(45135, 145)
   if ((className←v22276 != 0)) {
SOURCE(45157, 123)
      {
         word var←c70284;
         W2 var←c0767;
         {
            word pd533;
            pd533 = (* (( (ptr) (* (( (ptr) gf←c72428)+167)/* var←c59948 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd533 ))))((word) &var←c0767, (* (( (ptr) gf←c72428)+38)/* artworkRegistry←v6640 */  ), className←v22276, pd533)
            ;
            };
         var←c70284 = var←c0767.f1;
         if ((var←c70284 == 0)) {
            goto lab←L100178;
            };
         if (((* (( (ptr) gf←c72428)+48) ) == XR←GetReferentType(var←c70284))) {
            {
               word a←v22448;
               a←v22448 = var←c70284;
SOURCE(45238, 42)
               if ((0 != (* (( (ptr) gf←c72428)+40)/* artworkEnabled←v6696 */  ))) {
                  return(a←v22448);
                  }
               else {
                  return(0);
                  };
               };
            }
         else {
            lab←L100178: ;
            };
         };
      };
SOURCE(45299, 12)
   return(0);
   }

static word ArtworkEnabled←P2580()
   {
   register ptr gf←c72460 =  (ptr) &globalframe;
   word var←c12100;
   /* ArtworkEnabled: */ 
SOURCE(45608, 75)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c72460)+16)/* LOCK←v3728 */ ));
SOURCE(45660, 23)
   {
      word var←c70316;
      var←c70316 = (* (( (ptr) gf←c72460)+40)/* artworkEnabled←v6696 */  );
      (void) (XR←MonitorExit((word) (( (bPt) gf←c72460)+16)/* LOCK←v3728 */ ));
      return(var←c70316);
      };
   }

static word SetArtworkEnabled←P2640(enabled←v12160)
   word enabled←v12160;
   {
   register ptr gf←c72492 =  (ptr) &globalframe;
   word was←v12204;
   /* SetArtworkEnabled: */ 
SOURCE(45686, 122)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c72492)+16)/* LOCK←v3728 */ ));
SOURCE(45762, 20)
   was←v12204 = (* (( (ptr) gf←c72492)+40)/* artworkEnabled←v6696 */  );
SOURCE(45784, 24)
   (* (( (ptr) gf←c72492)+40)/* artworkEnabled←v6696 */  ) = enabled←v12160;
SOURCE(45686, 122)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c72492)+16)/* LOCK←v3728 */ ));
   return(was←v12204);
   }

static void Silly←P2700(formal←c0779, node←v46580, start←v46608, len←v46636, hyphData←v46664)
   word formal←c0779;
   word node←v46580;
   word start←v46608;
   word len←v46636;
   word hyphData←v46664;
   {
   W4 var←c46708;
   W4 h←v22492;
   /* Silly: */ 
SOURCE(45812, 95)
SOURCE(45832, 63)
   h←v22492.f0 = 50727180;
   h←v22492.f1 = 252843264;
   h←v22492.f2 = 0;
   h←v22492.f3 = 0;
SOURCE(45897, 10)
   var←c46708 = h←v22492;
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0779 ) = var←c46708;
   return;
   }

static void NoName←Q12192(formal←c0786, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0786;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0863 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0863)+182)/* var←c63116 */  ))+22) ))) {
      {
         word signal←v54224;
         word parameters←v54252;
         signal←v54224 = (*  (ptr) formal←c200011 );
         parameters←v54252 = (* (( (ptr) formal←c200011)+1) );
SOURCE(36506, 76)
         if ((0 == (* (( (ptr) gf←c0863)+10)/* debug←v4092 */  ))) {
SOURCE(36526, 56)
            (void) Complain←P1080((* ((( (ptr) gf←c0863)+73)) ));
SOURCE(36584, 8)
            (*  (ptr) formal←c0786 ) = 2;
            (* (( (ptr) formal←c0786)+1) ) = 3;
            return;
            };
         };
      };
   (*  (ptr) formal←c0786 ) = 0;
   (* (( (ptr) formal←c0786)+1) ) = 0;
   return;
   }

static void NoName←Q12252(formal←c0793, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0793;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0864 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0864)+182)/* var←c63116 */  ))+22) ))) {
      {
         word signal←v51712;
         word parameters←v51740;
         signal←v51712 = (*  (ptr) formal←c200007 );
         parameters←v51740 = (* (( (ptr) formal←c200007)+1) );
SOURCE(18502, 77)
         if ((0 == (* (( (ptr) gf←c0864)+10)/* debug←v4092 */  ))) {
SOURCE(18522, 57)
            (void) Complain←P1080((* ((( (ptr) gf←c0864)+71)) ));
SOURCE(18581, 8)
            (*  (ptr) formal←c0793 ) = 2;
            (* (( (ptr) formal←c0793)+1) ) = 2;
            return;
            };
         };
      };
   (*  (ptr) formal←c0793 ) = 0;
   (* (( (ptr) formal←c0793)+1) ) = 0;
   return;
   }

static void NoName←Q12312(formal←c0801, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0801;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0865 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0865)+178)/* var←c62828 */  ))+25) ))) {
      {
         word var←c51652;
         var←c51652 = 0;
SOURCE(17942, 637)
         {
            word var←c62892;
            {
               W2 var←c62924;
               var←c62924.f0 = (* (( (ptr) formal←c200000)+5) );
               var←c62924.f1 = (* (( (ptr) formal←c200000)+24) );
               {
                  word pd534;
                  pd534 = (* (( (ptr) (* (( (ptr) gf←c0865)+179)/* var←c62956 */  ))+23) );
                  var←c62892 = (word) ( *( (fPt) ((*  (ptr) pd534 ))))(var←c62924, 1, 0, pd534);
                  };
               };
            {
               word pd535;
               pd535 = (* (( (ptr) (* (( (ptr) gf←c0865)+180)/* var←c62988 */  ))+27) );
               (*  (ptr) formal←c200002 ) = (word) ( *( (fPt) ((*  (ptr) pd535 ))))(var←c62892, 8, 1, pd535);
               };
            };
         (*  (ptr) formal←c0801 ) = 1;
         (* (( (ptr) formal←c0801)+1) ) = 0;
         return;
         };
      };
   (*  (ptr) formal←c0801 ) = 0;
   (* (( (ptr) formal←c0801)+1) ) = 0;
   return;
   }

/* file: TEditFormatImpl, module: TEditFormatImpl, compiled at: October 19, 1993 1:11:36 pm PDT */ 
extern void XR←install←TEditFormatImpl() {
   NoName←Q11952();
   }
extern void XR←run←TEditFormatImpl() { XR←Start(&globalframe); }