/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 11, 1993 8:07:12 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGSliceImplB, module: GGSliceImplB */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [340468832,899653753] GGSliceImplB";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W2 r;} W10;
typedef struct {W8 f; W8 r;} W16;
typedef W16 *W16Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; word r;} W9;
typedef W6 *W6Pt;
typedef struct {W16 f; W8 r;} W24;
typedef W24 *W24Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
static float fc124 = 0.1;
static float fc128 = -1.0;
static float fc129 = 1.0;
static float fc131 = 1.2;
static float fc154 = 0.0;
static float fc160 = 10.0;
static float fc315 = 5.0;
static float fc320 = 2.0;
#define FMIN(x, y, tx, ty)  ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty )
#define FMAX(x, y, tx, ty)  ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc383 = 1.0e37;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc434 = 0.01;
static float fc465 = 8702.11;
static float fc469 = 8601.22;
static float fc478 = 8701.30;
static float fc482 = 8601.06;
static float fc485 = 8601.27;
static float fc489 = 8605.12;
static float fc495 = 8605.28;
static float fc527 = 9106.27;
static float fc530 = 8609.26;
static float fc538 = 8607.22;
static float fc548 = 8701.13;
static float fc552 = 8706.08;
static float fc559 = 8803.08;
static float fc577 = 1E16;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc662 = 1E12;
static void NoName←Q8064();
static void GGSliceImplB←P0();
static word BuildTextSliceClass←P60();
static word MakeTextSlice←P120();
static word IsWhitespace←P180();
static word GetText←P240();
static void SetText←P300();
static void AppendText←P360();
static void BackspaceText←P420();
static word DigitBreak←P480();
static void TFontParamsFromFontName←P540();
static word NoName←Q8124();
static word NoName←Q8184();
static word NoName←Q8244();
static word GetNumber←P5076();
static word NoName←Q8304();
static word NoName←Q8364();
static word SetTextFont←P600();
static word SetTextFontAndTransform←P660();
static word SetTextFontAux←P720();
static word NoName←Q8424();
static word GetLooksDataRope←P780();
static word GetFontData←P840();
static word GetFontDataRope←P900();
static word GetFontLiteralDataRope←P960();
static word UnpackComplexFontName←P1020();
static void SetTextAmplifySpace←P1080();
static word GetTextAmplifySpace←P1140();
static void DropShadowOn←P1200();
static void DropShadowOff←P1260();
static void GetTextDropShadow←P1320();
static void GetTextColors←P1380();
static void SetTextColors←P1440();
static word GetTextLineSpacing←P1500();
static void SetTextLineSpacing←P1560();
static void SetTextDisplayStyle←P1620();
static void OutlinesFromTextString←P1680();
static void SplinesFromTextString←P5712();
static void SplinesFromChar←P5772();
static void proc←P5832();
static void StringEscapement←P1740();
static void charAction←P5892();
static void RopeEscapement←P1800();
static void string←P5952();
static void UpdateTextPoints←P1860();
static void NewComputeTextBounds←P1920();
static void NewTextGetBoundBoxAux←P1980();
static void ComputeTextBounds←P2040();
static void TextGetBoundBoxAux←P2100();
static void TextFindBoundBox←P6012();
static word TextGetBoundBox←P2160();
static word TextGetTightBox←P2220();
static word TextCopy←P2280();
static void TextRestore←P2340();
static void TextDrawParts←P2400();
static void DoDrawText←P6120();
static void TextDrawSelectionFeedback←P2460();
static void DrawSelectionFeedbackText←P2520();
static void DoDrawFeedback←P6228();
static void TextDrawAttractorFeedback←P2580();
static void DoDrawFeedback←P6432();
static void DrawEdgeAndPoints←P6492();
static void DrawText←P2640();
static void DrawDropShadow←P2700();
static void DoDrawDropShadow←P6696();
static word GetScreenFont←P2760();
static void TextDrawTransform←P2820();
static void DoTextDrawTransform←P6756();
static void TextTransform←P2880();
static word InvolvesScaling←P2940();
static word TextDescribe←P3000();
static word TextDescribeHit←P3060();
static void TextFileout←P3120();
static word TextFilein←P3180();
static word NoName←Q8484();
static word NoName←Q8544();
static word NoName←Q8604();
static void MakeComplete←P3240();
static word IsComplete←P3300();
static word IsEmpty←P3360();
static word TextIsEmptyParts←P3420();
static word TextIsCompleteParts←P3480();
static word TextNewParts←P3540();
static word TextUnionParts←P3600();
static word TextDiffParts←P3660();
static void TextMovingParts←P3720();
static word TextAugmentParts←P3780();
static word TextPointsInDescriptor←P3840();
static void TextWalkPointsInDescriptor←P3900();
static word TextPointPairsInDescriptor←P3960();
static word TextSegmentsInDescriptor←P4020();
static word TextWalkSegments←P4080();
static void TextNextSegment←P4140();
static void TextNextPoint←P4200();
static void TextNextPointPair←P4260();
static word PointIsInBox←P4320();
static void TextClosestPoint←P4380();
static void TextClosestJointToHitData←P4440();
static void TextClosestSegment←P4500();
static void TextNearestPoint←P4560();
static void TextNearestEdge←P4620();
static void TextSetStrokeColor←P4680();
static void TextGetStrokeColor←P4740();
static void TextSetDefaults←P4800();
static void TextSetFillColor←P4860();
static void TextGetFillColor←P4920();
static void NoName←Q8664();
static void NoName←Q8724();
static void NoName←Q8784();
static void NoName←Q8844();
static void NoName←Q8904();
static void NoName←Q8964();
static void NoName←Q9024();
static void NoName←Q9084();
static void NoName←Q9144();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\144\000\000"};
static struct {unsigned f; char r[4];} string4 = {196611, "\004@\321"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\224\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\011\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\210\000\000"};
static struct {unsigned f; char r[20];} string8 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[4];} string9 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\024\113\044\140\300\065\237\240\171\100\260\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\024\113\044\140\300\065\237\240\171\100\244\000\000"};
static struct {unsigned f; char r[48];} string12 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\324\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\324\261\000\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\214\000\000"};
static struct {unsigned f; char r[44];} string14 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"};
static struct {unsigned f; char r[28];} string15 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"};
static struct {unsigned f; char r[32];} string17 = {1966110, "\006\015\000\001\004\001\010\001\034\001\040\001\044\001\050\001\054\001\060\001\064\001\074\001\100\110\001\100\130\001\000"};
static struct {unsigned f; char r[20];} string18 = {1179668, "\205\210\242\000\013\257\300\247\031\224\326\300\123\162\224\023\100\164\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\024\113\044\140\300\065\237\240\171\100\230\000\000"};
static struct {unsigned f; char r[28];} string20 = {1572888, "\006\012\000\001\004\001\014\001\020\001\024\001\030\001\034\001\044\001\100\100\001\100\110\001\000\000\000"};
static struct {unsigned f; char r[4];} string21 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\354\000\000"};
static struct {unsigned f; char r[56];} string23 = {3407928, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\000\000\000"};
static struct {unsigned f; char r[8];} string24 = {262152, "Text\000\000\000"};
static struct {unsigned f; char r[24];} string25 = {1310744, "vertical center line\000\000\000"};
static struct {unsigned f; char r[24];} string26 = {1441816, "horizontal center line\000"};
static struct {unsigned f; char r[12];} string27 = {524300, "baseline\000\000\000"};
static struct {unsigned f; char r[12];} string28 = {720908, "bottom edge"};
static struct {unsigned f; char r[12];} string29 = {655372, "right edge\000"};
static struct {unsigned f; char r[4];} string30 = {65540, " \000\000"};
static struct {unsigned f; char r[4];} string31 = {4, "\000\000\000"};
static struct {unsigned f; char r[4];} string32 = {65540, "-\000\000"};
static struct {unsigned f; char r[12];} string33 = {524300, "top edge\000\000\000"};
static struct {unsigned f; char r[8];} string34 = {458760, "Warning"};
static struct {unsigned f; char r[24];} string35 = {1376280, "%g substituted for %g\000\000"};
static struct {unsigned f; char r[12];} string36 = {589836, "left edge\000\000"};
static struct {unsigned f; char r[20];} string37 = {1114132, "upper right point\000\000"};
static struct {unsigned f; char r[20];} string38 = {1179668, "center right point\000"};
static struct {unsigned f; char r[12];} string39 = {589836, "Complaint\000\000"};
static struct {unsigned f; char r[48];} string40 = {2883632, "Fatal PFS Error during ImagerFont.Find of %g\000\000\000"};
static struct {unsigned f; char r[48];} string41 = {3080240, "Fatal Imager Error during ImagerFont.Find of %g"};
static struct {unsigned f; char r[28];} string42 = {1638428, "No Such Font: %g %g %g %g\000\000"};
static struct {unsigned f; char r[20];} string43 = {1048596, "base right point\000\000\000"};
static struct {unsigned f; char r[56];} string44 = {3539000, "ImagerSys.FileError [%g, %g] during ImagerFont.Find %g\000"};
static struct {unsigned f; char r[20];} string45 = {1114132, "lower right point\000\000"};
static struct {unsigned f; char r[16];} string46 = {983056, "Text color: %g "};
static struct {unsigned f; char r[4];} string47 = {131076, "%g\000"};
static struct {unsigned f; char r[20];} string48 = {1245204, "No Text Fill Color "};
static struct {unsigned f; char r[20];} string49 = {1048596, "ShadowColor: %g \000\000\000"};
static struct {unsigned f; char r[24];} string50 = {1376280, "No Drop Shadow color \000\000"};
static struct {unsigned f; char r[20];} string51 = {1114132, " offset: [%g, %g]\000\000"};
static struct {unsigned f; char r[20];} string52 = {1048596, "%g%g %g %g %g %g\000\000\000"};
static struct {unsigned f; char r[12];} string53 = {720908, "SUBSTITUTED"};
static struct {unsigned f; char r[16];} string54 = {917520, "%g %g %g %g %g\000"};
static struct {unsigned f; char r[4];} string55 = {196612, "MRR"};
static struct {unsigned f; char r[4];} string56 = {196612, "BRR"};
static struct {unsigned f; char r[4];} string57 = {65540, "B\000\000"};
static struct {unsigned f; char r[4];} string58 = {196612, "MIR"};
static struct {unsigned f; char r[4];} string59 = {65540, "I\000\000"};
static struct {unsigned f; char r[4];} string60 = {196612, "BIR"};
static struct {unsigned f; char r[4];} string61 = {131076, "BI\000"};
static struct {unsigned f; char r[16];} string62 = {983056, "upper mid point"};
static struct {unsigned f; char r[12];} string63 = {524300, "Gargoyle\000\000\000"};
static struct {unsigned f; char r[20];} string64 = {1048596, "center mid point\000\000\000"};
static struct {unsigned f; char r[16];} string65 = {917520, "base mid point\000"};
static struct {unsigned f; char r[8];} string66 = {458760, "visible"};
static struct {unsigned f; char r[16];} string67 = {786448, "a Text slice\000\000\000"};
static struct {unsigned f; char r[32];} string68 = {1966112, "multiple parts of a Text slice\000"};
static struct {unsigned f; char r[28];} string69 = {1572892, "NO parts of a Text slice\000\000\000"};
static struct {unsigned f; char r[20];} string70 = {1048596, " of a Text slice\000\000\000"};
static struct {unsigned f; char r[16];} string71 = {983056, "lower mid point"};
static struct {unsigned f; char r[12];} string72 = {720908, " \042%q\042 %g%g "};
static struct {unsigned f; char r[12];} string73 = {589836, " \042%q\042 %g \000\000"};
static struct {unsigned f; char r[8];} string74 = {458760, " %g %g "};
static struct {unsigned f; char r[4];} string75 = {196612, " %g"};
static struct {unsigned f; char r[12];} string76 = {655372, " props: ( \000"};
static struct {unsigned f; char r[12];} string77 = {524300, ") ls: %g\000\000\000"};
static struct {unsigned f; char r[20];} string78 = {1114132, "xerox/pressfonts/\000\000"};
static struct {unsigned f; char r[20];} string79 = {1114132, "xerox/tiogafonts/\000\000"};
static struct {unsigned f; char r[12];} string80 = {589836, "Helvetica\000\000"};
static struct {unsigned f; char r[12];} string81 = {589836, "props: ( \000\000"};
static struct {unsigned f; char r[8];} string82 = {262152, "ls: \000\000\000"};
static struct {unsigned f; char r[20];} string83 = {1048596, "upper left point\000\000\000"};
static struct {unsigned f; char r[20];} string84 = {1114132, "center left point\000\000"};
static struct {unsigned f; char r[16];} string85 = {983056, "base left point"};
static struct {unsigned f; char r[20];} string86 = {1048596, "lower left point\000\000\000"};
static struct {unsigned f; char r[20];} string87 = {1048596, "Broken Invariant\000\000\000"};
static struct {unsigned f; char r[4];} string88 = {196612, "Set"};
static struct {unsigned f; char r[12];} string89 = {589836, "ChangeHue\000\000"};
static struct {unsigned f; char r[16];} string90 = {851984, "\257\300\024\113\044\140\300\065\237\240\171\100\164\000\000"};
static struct {unsigned f; char r[16];} string91 = {786444, "\006\002\060\001\100\234\010\000\004\100\103\001\000\000\000"};
static struct {unsigned f; char r[16];} string92 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string93 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string94 = {851984, "\257\300\103\154\257\030\300\165\276\076\350\100\150\000\000"};
static struct {unsigned f; char r[16];} string95 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"};
static struct {unsigned f; char r[16];} string96 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"};
static struct {unsigned f; char r[16];} string97 = {851984, "\257\300\374\260\327\235\300\333\341\342\010\100\150\000\000"};
static struct {unsigned f; char r[16];} string98 = {851984, "\257\300\354\026\341\177\300\147\046\234\221\100\150\000\000"};
static struct {unsigned f; char r[16];} string99 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"};
static struct {unsigned f; char r[16];} string100 = {851984, "\257\300\045\215\147\016\300\153\043\150\276\100\150\000\000"};
static struct {unsigned f; char r[16];} string101 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string102 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string103 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\150\000\000"};
static struct {unsigned f; char r[16];} string104 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"};
static struct {unsigned f; char r[4];} string105 = {1195856748, "ice"};
static struct {unsigned f; char r[16];} string106 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string107 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string108 = {851984, "\257\300\104\154\010\164\300\126\073\363\036\100\150\000\000"};
static struct {unsigned f; char r[16];} string109 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string110 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string111 = {851984, "\257\300\000\172\225\152\300\104\041\252\375\100\150\000\000"};
static struct {unsigned f; char r[16];} string112 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string113 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"};
static struct {unsigned f; char r[16];} string114 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string115 = {851984, "\257\300\301\227\276\106\300\342\254\204\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string116 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string117 = {851984, "\257\300\103\306\166\071\300\047\126\012\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string118 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string119 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string120 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string121 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string122 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string123 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"};
static struct {
   word f0[107]; word f107; word f108; word f109; 
   word f110; word f111; word f112; word f113; 
   word f114; word f115; word f116; word f117; 
   word f118; word f119; word f120; word f121; 
   word f122; word f123; word f124; word f125; 
   word f126; word f127; word f128; word f129; 
   word f130; word f131; word f132; word f133; 
   word f134; word f135; word f136; word f137; 
   word f138; word f139; word f140; word f141; 
   word f142; word f143; word f144; word f145; 
   word f146; word f147; word f148; word f149; 
   word f150; word f151; word f152; word f153; 
   word f154; word f155; word f156; word f157; 
   word f158; word f159; word f160; word f161; 
   word f162; word f163; word f164; word f165; 
   word f166; word f167; word f168; word f169; 
   word f170; word f171; word f172; word f173; 
   word f174; word f175; word f176; word f177; 
   word f178; word f179; word f180; word f181; 
   word f182; word f183; word f184; word f185; 
   word f186; word f187; word f188; word f189; 
   word f190; word f191; word f192; word f193; 
   word f194; word f195; word f196; word f197; 
   word f198; word f199; word f200; word f201; 
   word f202; word f203; word f204; word f205; 
   word f206; word f207; word f208; word f209; 
   word f210; word f211; word f212; word f213; 
   word f214; word f215; word f216; word f217; 
   word f218; word f219; word f220; word f221; 
   word f222; word f223; word f224; word f225; 
   word f226; word f227; word f228; word f229; 
   word f230; word f231; word f232; word f233; 
   word f234; word f235; word f236; word f237; 
   word f238; word f239; word f240; word f241; 
   word f242; word f243; word f244; word f245; 
   word f246; word f247; word f248; word f249; 
   word f250; word f251; word f252; word f253; 
   word f254; word f255; word f256; word f257; 
   word f258; word f259; word f260; word f261; 
   word f262; word f263; word f264; word f265; 
   word f266; word f267; word f268; word f269; 
   word f270; word f271; word f272[37]; 
   } globalframe = {
   {0}, (word) TextGetFillColor←P4920, 0, (word) TextSetFillColor←P4860, 
   0, (word) TextSetDefaults←P4800, 0, (word) TextGetStrokeColor←P4740, 
   0, (word) TextSetStrokeColor←P4680, 0, (word) TextNearestEdge←P4620, 
   0, (word) TextNearestPoint←P4560, 0, (word) TextClosestSegment←P4500, 
   0, (word) TextClosestJointToHitData←P4440, 0, (word) TextClosestPoint←P4380, 
   0, (word) PointIsInBox←P4320, 0, (word) TextNextPointPair←P4260, 
   0, (word) TextNextPoint←P4200, 0, (word) TextNextSegment←P4140, 
   0, (word) TextWalkSegments←P4080, 0, (word) TextSegmentsInDescriptor←P4020, 
   0, (word) TextPointPairsInDescriptor←P3960, 0, (word) TextWalkPointsInDescriptor←P3900, 
   0, (word) TextPointsInDescriptor←P3840, 0, (word) TextAugmentParts←P3780, 
   0, (word) TextMovingParts←P3720, 0, (word) TextDiffParts←P3660, 
   0, (word) TextUnionParts←P3600, 0, (word) TextNewParts←P3540, 
   0, (word) TextIsCompleteParts←P3480, 0, (word) TextIsEmptyParts←P3420, 
   0, (word) IsEmpty←P3360, 0, (word) IsComplete←P3300, 
   0, (word) MakeComplete←P3240, 0, (word) TextFilein←P3180, 
   0, (word) TextFileout←P3120, 0, (word) TextDescribeHit←P3060, 
   0, (word) TextDescribe←P3000, 0, (word) InvolvesScaling←P2940, 
   0, (word) TextTransform←P2880, 0, (word) TextDrawTransform←P2820, 
   0, (word) GetScreenFont←P2760, 0, (word) DrawDropShadow←P2700, 
   0, (word) DrawText←P2640, 0, (word) TextDrawAttractorFeedback←P2580, 
   0, (word) DrawSelectionFeedbackText←P2520, 0, (word) TextDrawSelectionFeedback←P2460, 
   0, (word) TextDrawParts←P2400, 0, (word) TextRestore←P2340, 
   0, (word) TextCopy←P2280, 0, (word) TextGetTightBox←P2220, 
   0, (word) TextGetBoundBox←P2160, 0, (word) TextGetBoundBoxAux←P2100, 
   0, (word) ComputeTextBounds←P2040, 0, (word) NewTextGetBoundBoxAux←P1980, 
   0, (word) NewComputeTextBounds←P1920, 0, (word) UpdateTextPoints←P1860, 
   0, (word) RopeEscapement←P1800, 0, (word) StringEscapement←P1740, 
   0, (word) OutlinesFromTextString←P1680, 0, (word) SetTextDisplayStyle←P1620, 
   0, (word) SetTextLineSpacing←P1560, 0, (word) GetTextLineSpacing←P1500, 
   0, (word) SetTextColors←P1440, 0, (word) GetTextColors←P1380, 
   0, (word) GetTextDropShadow←P1320, 0, (word) DropShadowOff←P1260, 
   0, (word) DropShadowOn←P1200, 0, (word) GetTextAmplifySpace←P1140, 
   0, (word) SetTextAmplifySpace←P1080, 0, (word) UnpackComplexFontName←P1020, 
   0, (word) GetFontLiteralDataRope←P960, 0, (word) GetFontDataRope←P900, 
   0, (word) GetFontData←P840, 0, (word) GetLooksDataRope←P780, 
   0, (word) SetTextFontAux←P720, 0, (word) SetTextFontAndTransform←P660, 
   0, (word) SetTextFont←P600, 0, (word) TFontParamsFromFontName←P540, 
   0, (word) DigitBreak←P480, 0, (word) BackspaceText←P420, 
   0, (word) AppendText←P360, 0, (word) SetText←P300, 
   0, (word) GetText←P240, 0, (word) IsWhitespace←P180, 
   0, (word) MakeTextSlice←P120, 0, (word) BuildTextSliceClass←P60, 
   0, (word) GGSliceImplB←P0, {0}
   };

static void NoName←Q8064()
   {
   register ptr gf←c01037 =  (ptr) &globalframe;
   word var←c96528;
   (* (( (ptr) gf←c01037)+14) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c01037)+15) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c01037)+16) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c01037)+17) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string6);
   (* (( (ptr) gf←c01037)+18) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (* (( (ptr) gf←c01037)+19) ) = (word) XR←GetTypeIndexS((word) (&string10));
   (* (( (ptr) gf←c01037)+20) ) = (word) XR←GetTypeIndexS((word) (&string11));
   (* (( (ptr) gf←c01037)+21) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string9);
   (* (( (ptr) gf←c01037)+22) ) = (word) XR←GetTypeIndexS((word) (&string13));
   (* (( (ptr) gf←c01037)+28) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c01037)+31) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (* (( (ptr) gf←c01037)+32) ) = (word) XR←GetTypeIndexS((word) (&string18));
   (* (( (ptr) gf←c01037)+33) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20);
   (* (( (ptr) gf←c01037)+36) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string2);
   (* (( (ptr) gf←c01037)+38) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string2);
   (*  (ptr) (( (bPt) gf←c01037)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c01037)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+36) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c01037)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c01037)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c01037)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c01037)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c01037)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c01037)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c01037)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c01037)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c01037)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c01037)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+36) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c01037)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c01037)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c01037)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c01037)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c01037)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+36) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c01037)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c01037)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c01037)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c01037)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c01037)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c01037)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c01037)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c01037)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c01037)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c01037)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string49);
   (*  (ptr) (( (bPt) gf←c01037)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string50);
   (*  (ptr) (( (bPt) gf←c01037)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string51);
   (*  (ptr) (( (bPt) gf←c01037)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string52);
   (*  (ptr) (( (bPt) gf←c01037)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string53);
   (*  (ptr) (( (bPt) gf←c01037)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string54);
   (*  (ptr) (( (bPt) gf←c01037)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string55);
   (*  (ptr) (( (bPt) gf←c01037)+288) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string56);
   (*  (ptr) (( (bPt) gf←c01037)+292) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string57);
   (*  (ptr) (( (bPt) gf←c01037)+296) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string58);
   (*  (ptr) (( (bPt) gf←c01037)+300) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string59);
   (*  (ptr) (( (bPt) gf←c01037)+304) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string60);
   (*  (ptr) (( (bPt) gf←c01037)+308) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string61);
   (*  (ptr) (( (bPt) gf←c01037)+312) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string62);
   (*  (ptr) (( (bPt) gf←c01037)+316) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+36) ), (word) &string63);
   (*  (ptr) (( (bPt) gf←c01037)+320) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string64);
   (*  (ptr) (( (bPt) gf←c01037)+324) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string65);
   (*  (ptr) (( (bPt) gf←c01037)+328) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+36) ), (word) &string66);
   (*  (ptr) (( (bPt) gf←c01037)+332) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string67);
   (*  (ptr) (( (bPt) gf←c01037)+336) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string68);
   (*  (ptr) (( (bPt) gf←c01037)+340) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string69);
   (*  (ptr) (( (bPt) gf←c01037)+344) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string70);
   (*  (ptr) (( (bPt) gf←c01037)+348) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string71);
   (*  (ptr) (( (bPt) gf←c01037)+352) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string72);
   (*  (ptr) (( (bPt) gf←c01037)+356) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string73);
   (*  (ptr) (( (bPt) gf←c01037)+360) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string74);
   (*  (ptr) (( (bPt) gf←c01037)+364) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string75);
   (*  (ptr) (( (bPt) gf←c01037)+368) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string76);
   (*  (ptr) (( (bPt) gf←c01037)+372) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string77);
   (*  (ptr) (( (bPt) gf←c01037)+376) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string78);
   (*  (ptr) (( (bPt) gf←c01037)+380) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string79);
   (*  (ptr) (( (bPt) gf←c01037)+384) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string80);
   (*  (ptr) (( (bPt) gf←c01037)+388) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string81);
   (*  (ptr) (( (bPt) gf←c01037)+392) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string82);
   (*  (ptr) (( (bPt) gf←c01037)+396) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string83);
   (*  (ptr) (( (bPt) gf←c01037)+400) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string84);
   (*  (ptr) (( (bPt) gf←c01037)+404) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string85);
   (*  (ptr) (( (bPt) gf←c01037)+408) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string86);
   (*  (ptr) (( (bPt) gf←c01037)+412) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+14) ), (word) &string87);
   (*  (ptr) (( (bPt) gf←c01037)+416) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+36) ), (word) &string88);
   (*  (ptr) (( (bPt) gf←c01037)+420) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01037)+36) ), (word) &string89);
   (void) XR←DeclareGlobalFrame((word) "GGSliceImplB", &globalframe, (word) XR←GetTypeIndex((word) &string90, 0, (word) &string91)
      , (word) (( (bPt) gf←c01037)+1084)/* var←c89104 */ );
   var←c96528 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string92)), 73);
   (* (( (ptr) gf←c01037)+295)/* var←c91792 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67902211);
   var←c96528 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string93)), 25);
   (* (( (ptr) gf←c01037)+277)/* var←c89200 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67372545);
   (void) XR←ImportProcS(var←c96528, 1575429);
   (void) XR←ImportProcS(var←c96528, 1313029);
   var←c96528 = (word) XR←ImportInterface((word) "FileNames", (word) XR←GetTypeIndexS((word) (&string94)), 17);
   (* (( (ptr) gf←c01037)+294)/* var←c91696 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67635202);
   (void) XR←ImportProcS(var←c96528, 67634946);
   var←c96528 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string95)), 24);
   (* (( (ptr) gf←c01037)+280)/* var←c89360 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 68681990);
   (void) XR←ImportProcS(var←c96528, 67371777);
   (void) XR←ImportProcS(var←c96528, 67634434);
   (void) XR←ImportProcS(var←c96528, 527618);
   (void) XR←ImportProcS(var←c96528, 789506);
   (void) XR←ImportProcS(var←c96528, 528386);
   (void) XR←ImportProcS(var←c96528, 790275);
   (void) XR←ImportProcS(var←c96528, 1314309);
   (void) XR←ImportProcS(var←c96528, 67109376);
   var←c96528 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string96)), 37);
   (* (( (ptr) gf←c01037)+298)/* var←c92176 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67641602);
   (void) XR←ImportProcS(var←c96528, 67379713);
   (void) XR←ImportProcS(var←c96528, 794627);
   var←c96528 = (word) XR←ImportInterface((word) "GGFont", (word) XR←GetTypeIndexS((word) (&string97)), 16);
   (* (( (ptr) gf←c01037)+281)/* var←c89456 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 69731594);
   (void) XR←ImportProcS(var←c96528, 404229894);
   (void) XR←ImportProcS(var←c96528, 67897347);
   (void) XR←ImportProcS(var←c96528, 67633922);
   (void) XR←ImportProcS(var←c96528, 67374337);
   (void) XR←ImportProcS(var←c96528, 67109376);
   var←c96528 = (word) XR←ImportInterface((word) "GGFromImager", (word) XR←GetTypeIndexS((word) (&string98)), 2);
   (* (( (ptr) gf←c01037)+296)/* var←c92080 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67633410);
   var←c96528 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string99)), 26);
   (* (( (ptr) gf←c01037)+304)/* var←c94800 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67373313);
   (void) XR←ImportProcS(var←c96528, 525570);
   (void) XR←ImportProcS(var←c96528, 134483713);
   (void) XR←ImportProcS(var←c96528, 67636226);
   (void) XR←ImportProcS(var←c96528, 67375105);
   (void) XR←ImportProcS(var←c96528, 67376897);
   (void) XR←ImportProcS(var←c96528, 67372033);
   (void) XR←ImportProcS(var←c96528, 525826);
   (void) XR←ImportProcS(var←c96528, 67376129);
   var←c96528 = (word) XR←ImportInterface((word) "GGParseOut", (word) XR←GetTypeIndexS((word) (&string100)), 15);
   (* (( (ptr) gf←c01037)+292)/* var←c90736 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 526594);
   (void) XR←ImportProcS(var←c96528, 787714);
   (void) XR←ImportProcS(var←c96528, 524802);
   (void) XR←ImportProcS(var←c96528, 525826);
   (void) XR←ImportProcS(var←c96528, 527106);
   (void) XR←ImportProcS(var←c96528, 526338);
   var←c96528 = (word) XR←ImportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string101)), 11);
   (* (( (ptr) gf←c01037)+302)/* var←c93360 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 1050116);
   var←c96528 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string102)), 50);
   (* (( (ptr) gf←c01037)+297)/* var←c92112 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67902723);
   var←c96528 = (word) XR←ImportInterface((word) "GGSegment", (word) XR←GetTypeIndexS((word) (&string103)), 47);
   (* (( (ptr) gf←c01037)+282)/* var←c89584 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67374337);
   (void) XR←ImportProcS(var←c96528, 68419843);
   var←c96528 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string104)), 20);
   (* (( (ptr) gf←c01037)+303)/* var←c93552 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 1052419);
   (void) XR←ImportProcS(var←c96528, 1314820);
   (void) XR←ImportProcS(var←c96528, 1315076);
   var←c96528 = (word) XR←ImportInterface((word) &string105, (word) XR←GetTypeIndexS((word) (&string106)), 128);
   (* (( (ptr) gf←c01037)+279)/* var←c89296 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67634178);
   (void) XR←ImportProcS(var←c96528, 795651);
   (void) XR←ImportProcS(var←c96528, 67379969);
   (void) XR←ImportProcS(var←c96528, 278529);
   (void) XR←ImportProcS(var←c96528, 67371777);
   (void) XR←ImportProcS(var←c96528, 134774274);
   (void) XR←ImportProcS(var←c96528, 68189444);
   (void) XR←ImportProcS(var←c96528, 336100354);
   (void) XR←ImportProcS(var←c96528, 1866503);
   (void) XR←ImportProcS(var←c96528, 134511105);
   (void) XR←ImportProcS(var←c96528, 1341701);
   (void) XR←ImportProcS(var←c96528, 134771714);
   (void) XR←ImportProcS(var←c96528, 1078020);
   (void) XR←ImportProcS(var←c96528, 134771202);
   (void) XR←ImportProcS(var←c96528, 1077508);
   (void) XR←ImportProcS(var←c96528, 134770690);
   (void) XR←ImportProcS(var←c96528, 68185860);
   (void) XR←ImportProcS(var←c96528, 67661058);
   (void) XR←ImportProcS(var←c96528, 134769666);
   (void) XR←ImportProcS(var←c96528, 134769410);
   (void) XR←ImportProcS(var←c96528, 135293443);
   (void) XR←ImportProcS(var←c96528, 470837251);
   (void) XR←ImportProcS(var←c96528, 810499);
   (void) XR←ImportProcS(var←c96528, 67656962);
   (void) XR←ImportProcS(var←c96528, 67653634);
   (void) XR←ImportProcS(var←c96528, 806659);
   (void) XR←ImportProcS(var←c96528, 2115848);
   (void) XR←ImportProcS(var←c96528, 2377737);
   (void) XR←ImportProcS(var←c96528, 279297);
   (void) XR←ImportProcS(var←c96528, 68189956);
   var←c96528 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string107)), 73);
   (* (( (ptr) gf←c01037)+283)/* var←c89776 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67633922);
   (void) XR←ImportProcS(var←c96528, 470820867);
   (void) XR←ImportProcS(var←c96528, 67634434);
   (void) XR←ImportProcS(var←c96528, 67371521);
   var←c96528 = (word) XR←ImportInterface((word) "GGTransform", (word) XR←GetTypeIndexS((word) (&string108)), 7);
   (* (( (ptr) gf←c01037)+306)/* var←c95984 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 135004418);
   var←c96528 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string109)), 42);
   (* (( (ptr) gf←c01037)+293)/* var←c91024 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67641346);
   (void) XR←ImportProcS(var←c96528, 67380225);
   var←c96528 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string110)), 84);
   (* (( (ptr) gf←c01037)+289)/* var←c90416 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 1319429);
   (void) XR←ImportProcS(var←c96528, 531202);
   (void) XR←ImportProcS(var←c96528, 530946);
   (void) XR←ImportProcS(var←c96528, 1328387);
   (void) XR←ImportProcS(var←c96528, 540674);
   (void) XR←ImportProcS(var←c96528, 541186);
   (void) XR←ImportProcS(var←c96528, 536578);
   (void) XR←ImportProcS(var←c96528, 272129);
   (void) XR←ImportProcS(var←c96528, 796674);
   (void) XR←ImportProcS(var←c96528, 791298);
   (void) XR←ImportProcS(var←c96528, 265985);
   (void) XR←ImportProcS(var←c96528, 526338);
   (void) XR←ImportProcS(var←c96528, 790786);
   (void) XR←ImportProcS(var←c96528, 790018);
   (void) XR←ImportProcS(var←c96528, 526850);
   var←c96528 = (word) XR←ImportInterface((word) "ImagerBox", (word) XR←GetTypeIndexS((word) (&string111)), 7);
   (* (( (ptr) gf←c01037)+301)/* var←c92912 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 270533890);
   (void) XR←ImportProcS(var←c96528, 269484545);
   var←c96528 = (word) XR←ImportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string112)), 26);
   (* (( (ptr) gf←c01037)+288)/* var←c90384 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 269752325);
   (void) XR←ImportProcS(var←c96528, 67636226);
   (void) XR←ImportProcS(var←c96528, 67635970);
   (void) XR←ImportProcS(var←c96528, 134744578);
   (void) XR←ImportProcS(var←c96528, 1048580);
   (void) XR←ImportProcS(var←c96528, 67634434);
   (void) XR←ImportProcS(var←c96528, 67374849);
   (void) XR←ImportProcS(var←c96528, 67633922);
   var←c96528 = (word) XR←ImportInterface((word) "ImagerSys", (word) XR←GetTypeIndexS((word) (&string113)), 15);
   (* (( (ptr) gf←c01037)+291)/* var←c90480 */  ) = var←c96528;
   var←c96528 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string114)), 55);
   (* (( (ptr) gf←c01037)+287)/* var←c90224 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 134493185);
   (void) XR←ImportProcS(var←c96528, 67635458);
   (void) XR←ImportProcS(var←c96528, 135013122);
   (void) XR←ImportProcS(var←c96528, 67900162);
   (void) XR←ImportProcS(var←c96528, 67634689);
   (void) XR←ImportProcS(var←c96528, 67635970);
   (void) XR←ImportProcS(var←c96528, 402927105);
   (void) XR←ImportProcS(var←c96528, 67383041);
   (void) XR←ImportProcS(var←c96528, 67371521);
   var←c96528 = (word) XR←ImportInterface((word) "ImagerTypeface", (word) XR←GetTypeIndexS((word) (&string115)), 12);
   (* (( (ptr) gf←c01037)+300)/* var←c92304 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 787715);
   var←c96528 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string116)), 103);
   (* (( (ptr) gf←c01037)+285)/* var←c89904 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67910402);
   (void) XR←ImportProcS(var←c96528, 67389953);
   (void) XR←ImportProcS(var←c96528, 1071364);
   (void) XR←ImportProcS(var←c96528, 528642);
   (void) XR←ImportProcS(var←c96528, 67648770);
   (void) XR←ImportProcS(var←c96528, 2111493);
   (void) XR←ImportProcS(var←c96528, 1063171);
   (void) XR←ImportProcS(var←c96528, 67641090);
   (void) XR←ImportProcS(var←c96528, 67378689);
   (void) XR←ImportProcS(var←c96528, 527874);
   (void) XR←ImportProcS(var←c96528, 67372801);
   (void) XR←ImportProcS(var←c96528, 67392257);
   (void) XR←ImportProcS(var←c96528, 134763778);
   (void) XR←ImportProcS(var←c96528, 67640578);
   (void) XR←ImportProcS(var←c96528, 67653890);
   var←c96528 = (word) XR←ImportInterface((word) "Lines2d", (word) XR←GetTypeIndexS((word) (&string117)), 50);
   (* (( (ptr) gf←c01037)+278)/* var←c89232 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 135014914);
   (void) XR←ImportProcS(var←c96528, 1317123);
   (void) XR←ImportProcS(var←c96528, 67114240);
   var←c96528 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string118)), 40);
   (* (( (ptr) gf←c01037)+290)/* var←c90448 */  ) = var←c96528;
   var←c96528 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string119)), 11);
   (* (( (ptr) gf←c01037)+305)/* var←c95024 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67371521);
   var←c96528 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string120)), 36);
   (* (( (ptr) gf←c01037)+286)/* var←c90128 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67372289);
   (void) XR←ImportProcS(var←c96528, 67633922);
   var←c96528 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string121)), 43);
   (* (( (ptr) gf←c01037)+284)/* var←c89840 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 67896323);
   (void) XR←ImportProcS(var←c96528, 68419845);
   (void) XR←ImportProcS(var←c96528, 67900419);
   (void) XR←ImportProcS(var←c96528, 67898627);
   (void) XR←ImportProcS(var←c96528, 68159492);
   (void) XR←ImportProcS(var←c96528, 67633666);
   (void) XR←ImportProcS(var←c96528, 67373569);
   var←c96528 = (word) XR←ImportInterface((word) "Vector2", (word) XR←GetTypeIndexS((word) (&string122)), 22);
   (* (( (ptr) gf←c01037)+299)/* var←c92272 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 135005698);
   var←c96528 = (word) XR←ImportInterface((word) "Vectors2d", (word) XR←GetTypeIndexS((word) (&string123)), 21);
   (* (( (ptr) gf←c01037)+307)/* var←c96048 */  ) = var←c96528;
   (void) XR←ImportProcS(var←c96528, 68161794);
   (void) XR←ImportProcS(var←c96528, 135268098);
   (void) XR←ImportProcS(var←c96528, 68161282);
   var←c96528 = (word) XR←ExportInterface((word) &string105, (word) XR←GetTypeIndexS((word) (&string106)), 128);
   (* (( (ptr) gf←c01037)+308)/* var←c96560 */  ) = var←c96528;
   (void) XR←ExportVar(var←c96528, 1, (word) (( (bPt) gf←c01037)+424)/* var←c86448 */ );
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1076)/* var←c89072 */ , 67112704, (word) "BuildTextSliceClass")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1068)/* var←c89040 */ , 69210119, (word) "MakeTextSlice");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1004)/* var←c88784 */ , 68161796, (word) "SetTextFont");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+996)/* var←c88752 */ , 68162052, (word) "SetTextFontAndTransform")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+972)/* var←c88656 */ , 67375873, (word) "GetFontData");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+964)/* var←c88624 */ , 67376129, (word) "GetFontDataRope");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+956)/* var←c88592 */ , 67376385, (word) "GetFontLiteralDataRope")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+980)/* var←c88688 */ , 67376641, (word) "GetLooksDataRope");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1060)/* var←c89008 */ , 67376897, (word) "IsWhitespace");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1052)/* var←c88976 */ , 67377153, (word) "GetText");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1044)/* var←c88944 */ , 530690, (word) "SetText");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1036)/* var←c88912 */ , 530946, (word) "AppendText");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+1028)/* var←c88880 */ , 531202, (word) "BackspaceText");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+940)/* var←c88528 */ , 1055748, (word) "SetTextAmplifySpace")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+932)/* var←c88496 */ , 67378433, (word) "GetTextAmplifySpace")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+892)/* var←c88336 */ , 1580550, (word) "SetTextColors");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+900)/* var←c88368 */ , 134487809, (word) "GetTextColors");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+908)/* var←c88400 */ , 268705793, (word) "GetTextDropShadow")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+924)/* var←c88464 */ , 1057027, (word) "DropShadowOn");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+916)/* var←c88432 */ , 532994, (word) "DropShadowOff");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+884)/* var←c88304 */ , 67379969, (word) "GetTextLineSpacing")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+876)/* var←c88272 */ , 795651, (word) "SetTextLineSpacing");
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+868)/* var←c88240 */ , 795907, (word) "SetTextDisplayStyle")
   ;
   (void) XR←ExportProcS(var←c96528, (word) (( (bPt) gf←c01037)+860)/* var←c88208 */ , 134489601, (word) "OutlinesFromTextString")
   ;
   }

static void GGSliceImplB←P0(formal←c0154, formal←c0153)
   word formal←c0154;
   word formal←c0153;
   {
   register ptr gf←c96592 =  (ptr) &globalframe;
   /* GGSliceImplB: */ 
SOURCE(459, 67594)
SOURCE(2785, 24)
   (* (( (ptr) gf←c96592)+8)/* Problem←v5576 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c96592)+277)/* var←c89200 */  ))+28)
    ) );
SOURCE(23975, 23)
   (* (( (ptr) gf←c96592)+9)/* tryNewBBox←v6976 */  ) = 1;
SOURCE(68059, 21)
   (* (( (ptr) gf←c96592)+11)/* dropScale←v8460 */  ) = (*  (ptr) &fc124 );
SOURCE(68132, 58)
   {
      word pd125;
      pd125 = (* (( (ptr) (* (( (ptr) gf←c96592)+278)/* var←c89232 */  ))+25) );
      (* (( (ptr) gf←c96592)+12)/* scratchEdge←v8488 */  ) = (word) ( *( (fPt) ((*  (ptr) pd125 ))))(pd125);
      };
   }

static word BuildTextSliceClass←P60()
   {
   register ptr gf←c96624 =  (ptr) &globalframe;
   word class←v9704;
   /* BuildTextSliceClass: */ 
SOURCE(5277, 8712)
SOURCE(5277, 8712)
   class←v9704 = 0;
SOURCE(5359, 8630)
   {
      word var←c89264;
      var←c89264 = XR←NewObject(252, (* (( (ptr) gf←c96624)+38) ));
      (*  (ptr) var←c89264 ) = (* (( (ptr) gf←c96624)+40) );
      (* (( (ptr) var←c89264)+1) ) = (word) (( (bPt) gf←c96624)+796)/* var←c87952 */ ;
      (* (( (ptr) var←c89264)+2) ) = (* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+131) );
      (* (( (ptr) var←c89264)+3) ) = (word) (( (bPt) gf←c96624)+788)/* var←c87920 */ ;
      (* (( (ptr) var←c89264)+4) ) = (word) (( (bPt) gf←c96624)+780)/* var←c87888 */ ;
      (* (( (ptr) var←c89264)+5) ) = (* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+71) );
      (* (( (ptr) var←c89264)+6) ) = (word) (( (bPt) gf←c96624)+772)/* var←c87856 */ ;
      (* (( (ptr) var←c89264)+7) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+76) );
      (* (( (ptr) var←c89264)+8) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+77) );
      (* (( (ptr) var←c89264)+9) ) = (word) (( (bPt) gf←c96624)+764)/* var←c87824 */ ;
      (* (( (ptr) var←c89264)+10) ) = (word) (( (bPt) gf←c96624)+708)/* var←c87600 */ ;
      (* (( (ptr) var←c89264)+11) ) = (word) (( (bPt) gf←c96624)+756)/* var←c87792 */ ;
      (* (( (ptr) var←c89264)+12) ) = (word) (( (bPt) gf←c96624)+740)/* var←c87728 */ ;
      (* (( (ptr) var←c89264)+13) ) = XR←CheckProc(0);
      (* (( (ptr) var←c89264)+14) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+83) );
      (* (( (ptr) var←c89264)+15) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+84) );
      (* (( (ptr) var←c89264)+16) ) = (word) (( (bPt) gf←c96624)+700)/* var←c87568 */ ;
      (* (( (ptr) var←c89264)+17) ) = (word) (( (bPt) gf←c96624)+684)/* var←c87504 */ ;
      (* (( (ptr) var←c89264)+18) ) = (word) (( (bPt) gf←c96624)+676)/* var←c87472 */ ;
      (* (( (ptr) var←c89264)+19) ) = (word) (( (bPt) gf←c96624)+668)/* var←c87440 */ ;
      (* (( (ptr) var←c89264)+20) ) = (word) (( (bPt) gf←c96624)+660)/* var←c87408 */ ;
      (* (( (ptr) var←c89264)+21) ) = (word) (( (bPt) gf←c96624)+628)/* var←c87280 */ ;
      (* (( (ptr) var←c89264)+22) ) = (word) (( (bPt) gf←c96624)+620)/* var←c87248 */ ;
      (* (( (ptr) var←c89264)+23) ) = (word) (( (bPt) gf←c96624)+612)/* var←c87216 */ ;
      (* (( (ptr) var←c89264)+24) ) = (word) (( (bPt) gf←c96624)+604)/* var←c87184 */ ;
      (* (( (ptr) var←c89264)+25) ) = (word) (( (bPt) gf←c96624)+596)/* var←c87152 */ ;
      (* (( (ptr) var←c89264)+26) ) = (word) (( (bPt) gf←c96624)+588)/* var←c87120 */ ;
      (* (( (ptr) var←c89264)+27) ) = (word) (( (bPt) gf←c96624)+580)/* var←c87088 */ ;
      (* (( (ptr) var←c89264)+28) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+97) );
      (* (( (ptr) var←c89264)+29) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+98) );
      (* (( (ptr) var←c89264)+30) ) = (word) (( (bPt) gf←c96624)+572)/* var←c87056 */ ;
      (* (( (ptr) var←c89264)+31) ) = (word) (( (bPt) gf←c96624)+564)/* var←c87024 */ ;
      (* (( (ptr) var←c89264)+32) ) = (word) (( (bPt) gf←c96624)+556)/* var←c86992 */ ;
      (* (( (ptr) var←c89264)+33) ) = (word) (( (bPt) gf←c96624)+548)/* var←c86960 */ ;
      (* (( (ptr) var←c89264)+34) ) = (word) (( (bPt) gf←c96624)+540)/* var←c86928 */ ;
      (* (( (ptr) var←c89264)+35) ) = (word) (( (bPt) gf←c96624)+524)/* var←c86864 */ ;
      (* (( (ptr) var←c89264)+36) ) = (word) (( (bPt) gf←c96624)+516)/* var←c86832 */ ;
      (* (( (ptr) var←c89264)+37) ) = (word) (( (bPt) gf←c96624)+532)/* var←c86896 */ ;
      (* (( (ptr) var←c89264)+38) ) = (word) (( (bPt) gf←c96624)+500)/* var←c86768 */ ;
      (* (( (ptr) var←c89264)+39) ) = (word) (( (bPt) gf←c96624)+492)/* var←c86736 */ ;
      (* (( (ptr) var←c89264)+40) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+108) );
      (* (( (ptr) var←c89264)+41) ) = (word) (( (bPt) gf←c96624)+484)/* var←c86704 */ ;
      (* (( (ptr) var←c89264)+42) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+110) );
      (* (( (ptr) var←c89264)+43) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+111) );
      (* (( (ptr) var←c89264)+44) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+112) );
      (* (( (ptr) var←c89264)+45) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+113) );
      (* (( (ptr) var←c89264)+46) ) = (word) (( (bPt) gf←c96624)+444)/* var←c86544 */ ;
      (* (( (ptr) var←c89264)+47) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+115) );
      (* (( (ptr) var←c89264)+48) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+116) );
      (* (( (ptr) var←c89264)+49) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+117) );
      (* (( (ptr) var←c89264)+50) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+118) );
      (* (( (ptr) var←c89264)+51) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+119) );
      (* (( (ptr) var←c89264)+52) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+120) );
      (* (( (ptr) var←c89264)+53) ) = (word) (( (bPt) gf←c96624)+460)/* var←c86608 */ ;
      (* (( (ptr) var←c89264)+54) ) = (word) (( (bPt) gf←c96624)+452)/* var←c86576 */ ;
      (* (( (ptr) var←c89264)+55) ) = (word) (( (bPt) gf←c96624)+436)/* var←c86512 */ ;
      (* (( (ptr) var←c89264)+56) ) = (word) (( (bPt) gf←c96624)+428)/* var←c86480 */ ;
      (* (( (ptr) var←c89264)+57) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+125) );
      (* (( (ptr) var←c89264)+58) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+126) );
      (* (( (ptr) var←c89264)+59) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+127) );
      (* (( (ptr) var←c89264)+60) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+128) );
      (* (( (ptr) var←c89264)+61) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+129) );
      (* (( (ptr) var←c89264)+62) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c96624)+279)/* var←c89296 */  ))+130) );
      class←v9704 = var←c89264;
      };
SOURCE(5277, 8712)
   return(class←v9704);
   }

static word MakeTextSlice←P120(text←v9764, color←v9792, displayStyle←v9820, amplifySpace←v9848, dropShadowsOn←v9876, dropShadowOffset←v9904, shadowColor←v9932)
   word text←v9764;
   word color←v9792;
   word displayStyle←v9820;
   word amplifySpace←v9848;
   word dropShadowsOn←v9876;
   W2 dropShadowOffset←v9904;
   word shadowColor←v9932;
   {
   register ptr gf←c96656 =  (ptr) &globalframe;
   word slice←v9976;
   word textData←v22336;
   /* MakeTextSlice: */ 
SOURCE(7549, 6440)
SOURCE(7549, 6440)
   slice←v9976 = 0;
SOURCE(7806, 507)
   {
      word var←c89328;
      word var←c89392;
      word var←c89424;
      word var←c89488;
      word var←c89616;
      {
         word pd126;
         pd126 = (* (( (ptr) (* (( (ptr) gf←c96656)+280)/* var←c89360 */  ))+6) );
         var←c89328 = (word) ( *( (fPt) ((*  (ptr) pd126 ))))(pd126);
         };
      var←c89392 = XR←NewObject(96, (* (( (ptr) gf←c96656)+32) ));
      {
         word pd127;
         pd127 = (* (( (ptr) (* (( (ptr) gf←c96656)+281)/* var←c89456 */  ))+6) );
         var←c89424 = (word) ( *( (fPt) ((*  (ptr) pd127 ))))(pd127);
         };
      {
         W2 var←c89520;
         W2 var←c89552;
         var←c89520.f0 = (*  (ptr) &fc128 );
         var←c89520.f1 = (*  (ptr) &fc128 );
         var←c89552.f0 = (*  (ptr) &fc129 );
         var←c89552.f1 = (*  (ptr) &fc129 );
         {
            word pd130;
            pd130 = (* (( (ptr) (* (( (ptr) gf←c96656)+282)/* var←c89584 */  ))+5) );
            var←c89488 = (word) ( *( (fPt) ((*  (ptr) pd130 ))))(var←c89520, var←c89552, 0, pd130);
            };
         };
      var←c89616 = XR←NewObject(76, (* (( (ptr) gf←c96656)+33) ));
      (*  (ptr) var←c89616 ) = var←c89328;
      (* (( (ptr) var←c89616)+1) ) = var←c89392;
      (* (( (ptr) var←c89616)+3) ) = text←v9764;
      (* (( (ptr) var←c89616)+4) ) = color←v9792;
      (* (( (ptr) var←c89616)+5) ) = var←c89424;
      (* (( (ptr) var←c89616)+8) ) = displayStyle←v9820;
      (* (( (ptr) var←c89616)+10) ) = (*  (ptr) &fc128 );
      (* (( (ptr) var←c89616)+11) ) = (*  (ptr) &fc128 );
      (* (( (ptr) var←c89616)+12) ) = amplifySpace←v9848;
      (* (( (ptr) var←c89616)+13) ) = dropShadowsOn←v9876;
      (*  (W2Pt) (( (ptr) var←c89616)+14) ) = dropShadowOffset←v9904;
      (* (( (ptr) var←c89616)+16) ) = shadowColor←v9932;
      (* (( (ptr) var←c89616)+17) ) = (*  (ptr) &fc131 );
      (* (( (ptr) var←c89616)+18) ) = var←c89488;
      textData←v22336 = var←c89616;
      };
SOURCE(8315, 31)
   (* (( (ptr) (* (( (ptr) textData←v22336)+18) ))+2) ) = (*  (ptr) &fc128 );
SOURCE(8384, 5605)
   {
      word var←c89648;
      word var←c89680;
      word var←c89712;
      word var←c89744;
      {
         word pd132;
         pd132 = (* (( (ptr) (* (( (ptr) gf←c96656)+279)/* var←c89296 */  ))+7) );
         var←c89648 = (word) ( *( (fPt) ((*  (ptr) pd132 ))))((* ((( (ptr) gf←c96656)+40)) ), pd132);
         };
      {
         word pd133;
         pd133 = (* (( (ptr) (* (( (ptr) gf←c96656)+280)/* var←c89360 */  ))+6) );
         var←c89680 = (word) ( *( (fPt) ((*  (ptr) pd133 ))))(pd133);
         };
      {
         word pd134;
         pd134 = (* (( (ptr) (* (( (ptr) gf←c96656)+280)/* var←c89360 */  ))+6) );
         var←c89712 = (word) ( *( (fPt) ((*  (ptr) pd134 ))))(pd134);
         };
      var←c89744 = XR←NewObject(92, (* (( (ptr) gf←c96656)+31) ));
      (*  (ptr) var←c89744 ) = var←c89648;
      (* (( (ptr) var←c89744)+1) ) = textData←v22336;
      (*  (W4Pt) (( (ptr) var←c89744)+3) ) = (*  (W4Pt) (( (ptr) gf←c96656)+273)/* var←c89168 */  );
      (* (( (ptr) var←c89744)+13) ) = var←c89680;
      (* (( (ptr) var←c89744)+15) ) = var←c89712;
      (* (( (ptr) var←c89744)+21) ) =  (word) -1;
      slice←v9976 = var←c89744;
      };
SOURCE(7549, 6440)
   return(slice←v9976);
   }

static word IsWhitespace←P180(slice←v10036)
   word slice←v10036;
   {
   register ptr gf←c96688 =  (ptr) &globalframe;
   word var←c10080;
   /* IsWhitespace: */ 
SOURCE(8694, 5295)
SOURCE(8694, 5295)
   var←c10080 = 0;
SOURCE(8762, 5227)
   {
      word pd135;
      pd135 = (* (( (ptr) (* (( (ptr) gf←c96688)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd135 ))))(slice←v10036, pd135) != (* (( (ptr) gf←c96688)+40) ))) {
SOURCE(8802, 19)
         return(0);
         }
      else {
SOURCE(8821, 115)
         {
            word rope←v22380;
SOURCE(8823, 51)
            rope←v22380 = (* (( (ptr) XR←Narrow((* (( (ptr) slice←v10036)+1) ), (* (( (ptr) gf←c96688)+33) )))+3) );
SOURCE(8876, 5113)
            {
               word var←c01157;
               {
                  word var←c89872;
                  word var←c01156;
                  {
                     word pd136;
                     pd136 = (* (( (ptr) (* (( (ptr) gf←c96688)+285)/* var←c89904 */  ))+33) );
                     var←c89872 = (word) ( *( (fPt) ((*  (ptr) pd136 ))))(rope←v22380, 0, pd136);
                     };
                  {
                     word pd137;
                     pd137 = (* (( (ptr) (* (( (ptr) gf←c96688)+285)/* var←c89904 */  ))+85) );
                     var←c01156 = (word) ( *( (fPt) ((*  (ptr) pd137 ))))(var←c89872, 1, pd137);
                     };
                  {
                     word pd138;
                     pd138 = (* (( (ptr) (* (( (ptr) gf←c96688)+284)/* var←c89840 */  ))+14) );
                     var←c01157 =  (unsigned) ( (int)(word) ( *( (fPt) ((*  (ptr) pd138 ))))(rope←v22380, pd138) ==  (int)var←c01156);
                     };
                  };
               return(var←c01157);
               };
            };
         };
      };
   }

static word GetText←P240(slice←v10140)
   word slice←v10140;
   {
   register ptr gf←c96720 =  (ptr) &globalframe;
   word text←v10184;
   /* GetText: */ 
SOURCE(8943, 5046)
SOURCE(8943, 5046)
   text←v10184 = 0;
SOURCE(9009, 4980)
   {
      word pd139;
      pd139 = (* (( (ptr) (* (( (ptr) gf←c96720)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd139 ))))(slice←v10140, pd139) != (* (( (ptr) gf←c96720)+40) ))) {
         return(0);
         }
      else {
         return((* (( (ptr) XR←Narrow((* (( (ptr) slice←v10140)+1) ), (* (( (ptr) gf←c96720)+33) )))+3) ));
         };
      };
   }

static void SetText←P300(slice←v10244, text←v10272)
   word slice←v10244;
   word text←v10272;
   {
   register ptr gf←c96752 =  (ptr) &globalframe;
   word textData←v22424 = 0;
   /* SetText: */ 
SOURCE(9105, 4884)
SOURCE(9182, 4807)
   {
      word pd140;
      pd140 = (* (( (ptr) (* (( (ptr) gf←c96752)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd140 ))))(slice←v10244, pd140) != (* (( (ptr) gf←c96752)+40) ))) {
SOURCE(9222, 6)
         return;
         };
      };
SOURCE(9230, 29)
   textData←v22424 = XR←Narrow((* (( (ptr) slice←v10244)+1) ), (* (( (ptr) gf←c96752)+33) ));
SOURCE(9261, 20)
   (* (( (ptr) textData←v22424)+3) ) = text←v10272;
SOURCE(9298, 27)
   {
      word pd141;
      pd141 = (* (( (ptr) (* (( (ptr) gf←c96752)+279)/* var←c89296 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd141 ))))(slice←v10244, pd141);
      };
   }

static void AppendText←P360(slice←v10332, text←v10360)
   word slice←v10332;
   word text←v10360;
   {
   register ptr gf←c96784 =  (ptr) &globalframe;
   word textData←v22468 = 0;
   /* AppendText: */ 
SOURCE(9331, 4658)
SOURCE(9411, 4578)
   {
      word pd142;
      pd142 = (* (( (ptr) (* (( (ptr) gf←c96784)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd142 ))))(slice←v10332, pd142) != (* (( (ptr) gf←c96784)+40) ))) {
SOURCE(9451, 6)
         return;
         };
      };
SOURCE(9459, 29)
   textData←v22468 = XR←Narrow((* (( (ptr) slice←v10332)+1) ), (* (( (ptr) gf←c96784)+33) ));
SOURCE(9490, 4499)
   {
      word pd143;
      pd143 = (* (( (ptr) (* (( (ptr) gf←c96784)+284)/* var←c89840 */  ))+6) );
      (* (( (ptr) textData←v22468)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd143 ))))((* (( (ptr) textData←v22468)+3) ), text←v10360, pd143)
      ;
      };
SOURCE(9555, 27)
   {
      word pd144;
      pd144 = (* (( (ptr) (* (( (ptr) gf←c96784)+279)/* var←c89296 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd144 ))))(slice←v10332, pd144);
      };
   }

static void BackspaceText←P420(slice←v10420, word←v10448)
   word slice←v10420;
   word word←v10448;
   {
   register ptr gf←c96816 =  (ptr) &globalframe;
   word textData←v22512 = 0;
   /* BackspaceText: */ 
SOURCE(9588, 4401)
SOURCE(9674, 4315)
   {
      word pd145;
      pd145 = (* (( (ptr) (* (( (ptr) gf←c96816)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd145 ))))(slice←v10420, pd145) != (* (( (ptr) gf←c96816)+40) ))) {
SOURCE(9714, 6)
         return;
         };
      };
SOURCE(9722, 29)
   textData←v22512 = XR←Narrow((* (( (ptr) slice←v10420)+1) ), (* (( (ptr) gf←c96816)+33) ));
SOURCE(9753, 4236)
   if ((0 != word←v10448)) {
SOURCE(9768, 4221)
      lab←L100002: ;
      {
         word length←v22556;
         word lastSpaceAt←v22584;
SOURCE(9782, 40)
         {
            word pd146;
            pd146 = (* (( (ptr) (* (( (ptr) gf←c96816)+284)/* var←c89840 */  ))+14) );
            length←v22556 = (word) ( *( (fPt) ((*  (ptr) pd146 ))))((* ((( (ptr) textData←v22512)+3)) ), pd146);
            };
SOURCE(9824, 57)
         {
            word pd147;
            pd147 = (* (( (ptr) (* (( (ptr) gf←c96816)+284)/* var←c89840 */  ))+12) );
            lastSpaceAt←v22584 = (word) ( *( (fPt) ((*  (ptr) pd147 ))))((* (( (ptr) textData←v22512)+3) ), (* (( (ptr) gf←c96816)+46)
                ), 2147483647, 1, pd147);
            };
SOURCE(9916, 4073)
         if ( ( ( (int)lastSpaceAt←v22584 ==  (int)(length←v22556 - 1)) ? ( (int)length←v22556 !=  (int)0) : 0 ) ) {
SOURCE(10001, 3988)
            {
               word pd148;
               pd148 = (* (( (ptr) (* (( (ptr) gf←c96816)+284)/* var←c89840 */  ))+17) );
               (* (( (ptr) textData←v22512)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd148 ))))((* (( (ptr) textData←v22512)+3) ), 0, lastSpaceAt←v22584, pd148)
               ;
               };
            }
         else {
SOURCE(10104, 3885)
            {
               word var←c89968;
               {
                  word pd149;
                  if (( (int)lastSpaceAt←v22584 ==  (int) (word) -1)) {
                     var←c89968 = (* (( (ptr) gf←c96816)+47) );
                     }
                  else {
                     pd149 = (* (( (ptr) (* (( (ptr) gf←c96816)+284)/* var←c89840 */  ))+17) );
                     var←c89968 = (word) ( *( (fPt) ((*  (ptr) pd149 ))))((* (( (ptr) textData←v22512)+3) ), 0, (lastSpaceAt←v22584 + 1), pd149)
                     ;
                     };
                  };
               (* (( (ptr) textData←v22512)+3) ) = var←c89968;
               };
SOURCE(10253, 4)
            goto lab←L100001;
            };
         };
      goto lab←L100002;
      lab←L100001: ;
      }
   else {
SOURCE(10291, 3698)
      {
         word var←c90000;
         {
            word pd150;
            pd150 = (* (( (ptr) (* (( (ptr) gf←c96816)+284)/* var←c89840 */  ))+14) );
            var←c90000 = ((word) ( *( (fPt) ((*  (ptr) pd150 ))))((* ((( (ptr) textData←v22512)+3)) ), pd150) - 1);
            };
         {
            word pd151;
            pd151 = (* (( (ptr) (* (( (ptr) gf←c96816)+284)/* var←c89840 */  ))+17) );
            (* (( (ptr) textData←v22512)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd151 ))))((* (( (ptr) textData←v22512)+3) ), 0, var←c90000, pd151)
            ;
            };
         };
      };
SOURCE(10382, 27)
   {
      word pd152;
      pd152 = (* (( (ptr) (* (( (ptr) gf←c96816)+279)/* var←c89296 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd152 ))))(slice←v10420, pd152);
      };
   }

static word DigitBreak←P480(char←v39928)
   word char←v39928;
   {
   word var←c39972;
   /* DigitBreak: */ 
SOURCE(10415, 79)
SOURCE(10444, 50)
   if (((char←v39928 - 48) <= 9)) {
      return(0);
      }
   else {
      return(2);
      };
   }

static void TFontParamsFromFontName←P540(formal←c0207, fontName←v10508)
   word formal←c0207;
   word fontName←v10508;
   {
   W12 var←c96848;
   register ptr gf←c96880 =  (ptr) &globalframe;
   word fontFamily←v10552;
   word fontFace←v10580;
   word fontSize←v10608;
   /* declaration of var←c90032 skipped */ 
   /* declaration of face←v22656 skipped */ 
   /* declaration of fontStream←v22684 skipped */ 
   /* TFontParamsFromFontName: */ 
SOURCE(10500, 3489)
   {
      word tmpAddr153;
      tmpAddr153 = (word) (( (ptr) &var←c96848)+4)/* var←c90032 */ ;
      (*  (ptr) tmpAddr153 ) = ( ((word)  (fPt) GetNumber←P5076) );
      (* (( (ptr) tmpAddr153) + 1) ) = 1;
      };
SOURCE(10500, 3489)
   fontFamily←v10552 = 0;
SOURCE(10500, 3489)
   fontFace←v10580 = 0;
SOURCE(10500, 3489)
   fontSize←v10608 = (*  (ptr) &fc154 );
SOURCE(11247, 15)
   (* (( (ptr) &var←c96848)+6)/* face←v22656 */  ) = 0;
SOURCE(11264, 40)
   {
      word pd155;
      pd155 = (* (( (ptr) (* (( (ptr) gf←c96880)+285)/* var←c89904 */  ))+33) );
      (* (( (ptr) &var←c96848)+7)/* fontStream←v22684 */  ) = (word) ( *( (fPt) ((*  (ptr) pd155 ))))(fontName←v10508, 0, pd155)
      ;
      };
SOURCE(11306, 2683)
   {
      W2 var←c90064;
      {
         /* declaration of var←c01 skipped */ 
         (* (( (ptr) &var←c96848)+8)/* var←c01 */  ) = (* (( (ptr) (* (( (ptr) gf←c96880)+285)/* var←c89904 */  ))+89) );
         {
            /* declaration of var←c02 skipped */ 
            {
               word var←c01158;
               var←c01158 = (word) &var←c96848;
                (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q8244) ), ( ((word)  (fPt) NoName←Q9144) ), var←c01158);
               };
            var←c90064 = (*  (W2Pt) (( (ptr) &var←c96848)+9)/* var←c02 */  );
            };
         };
      fontFamily←v10552 = var←c90064.f0;
      };
SOURCE(11428, 2561)
   {
      /* declaration of var←c03 skipped */ 
      {
         word var←c01159;
         var←c01159 = (word) &var←c96848;
          (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q8184) ), ( ((word)  (fPt) NoName←Q9084) ), var←c01159);
         };
      fontSize←v10608 = (* (( (ptr) &var←c96848)+8)/* var←c03 */  );
      };
SOURCE(11503, 2486)
SOURCE(11503, 2486)
   {
      W2 var←c90096;
      {
         /* declaration of var←c04 skipped */ 
         /* declaration of var←c05 skipped */ 
         (* (( (ptr) &var←c96848)+8)/* var←c04 */  ) = (* (( (ptr) (* (( (ptr) gf←c96880)+285)/* var←c89904 */  ))+87) );
         (* (( (ptr) &var←c96848)+9)/* var←c05 */  ) = (* (( (ptr) (* (( (ptr) gf←c96880)+285)/* var←c89904 */  ))+89) );
         {
            /* declaration of var←c06 skipped */ 
            {
               word var←c07;
               {
                  word var←c01160;
                  var←c01160 = (word) &var←c96848;
                  var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8124) ), ( ((word)  (fPt) NoName←Q9024) ), var←c01160);
                  };
               if ((var←c07 == 2)) {
                  goto lab←L100009;
                  };
               };
            var←c90096 = (*  (W2Pt) (( (ptr) &var←c96848)+10)/* var←c06 */  );
            };
         };
      (* (( (ptr) &var←c96848)+6)/* face←v22656 */  ) = var←c90096.f0;
      };
   lab←L100009: ;
SOURCE(11626, 2363)
   if (((* (( (ptr) &var←c96848)+6)/* face←v22656 */  ) != 0)) {
SOURCE(11643, 2346)
      {
         word pd156;
         pd156 = (* (( (ptr) (* (( (ptr) gf←c96880)+284)/* var←c89840 */  ))+6) );
         fontFace←v10580 = (word) ( *( (fPt) ((*  (ptr) pd156 ))))((* (( (ptr) gf←c96880)+48) ), (* (( (ptr) &var←c96848)+6)/* face←v22656 */  ), pd156)
         ;
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0207 ) = fontFamily←v10552;
   (* (( (ptr) formal←c0207)+1) ) = fontFace←v10580;
   (* (( (ptr) formal←c0207)+2) ) = fontSize←v10608;
   return;
   }

static word NoName←Q8124(formal←c01047)
   word formal←c01047;
   {
SOURCE(11503, 2486)
   {
      word pd157;
      pd157 = (* (( (ptr) formal←c01047)+9) );
      (void) ( *( (fPt) ((*  (ptr) pd157 ))))((word) (( (bPt) formal←c01047)+40), (* (( (ptr) formal←c01047)+7) ), (* (( (ptr) formal←c01047)+8)
          ), pd157);
      };
   return(0);
   }

static word NoName←Q8184(formal←c01048)
   word formal←c01048;
   {
SOURCE(11428, 2561)
   (* (( (ptr) formal←c01048)+8) ) = (word) GetNumber←P5076((* (( (ptr) formal←c01048)+7) ), (word) (( (bPt) formal←c01048)+16)
      );
   return(0);
   }

static word NoName←Q8244(formal←c01050)
   word formal←c01050;
   {
   register ptr gf←c01049 =  (ptr) &globalframe;
SOURCE(11306, 2683)
   {
      word pd158;
      pd158 = (* (( (ptr) formal←c01050)+8) );
      (void) ( *( (fPt) ((*  (ptr) pd158 ))))((word) (( (bPt) formal←c01050)+36), (* (( (ptr) formal←c01050)+7) ), (word) (( (bPt) gf←c01049)+1020)
         /* var←c88848 */ , pd158);
      };
   return(0);
   }

static word GetNumber←P5076(formal←c01204, formal←c96976)
   word formal←c01204;
   word formal←c96976;
   {
   W8 var←c96912;
   /* declaration of s←v22760 skipped */ 
   register ptr gf←c96944 =  (ptr) &globalframe;
   word x←v22804;
   word frac←v22832;
   word fracCount←v22860;
   /* declaration of c←v22888 skipped */ 
   formal←c96976 = (formal←c96976 - 16);
   var←c96912.f4/* s←v22760 */  = formal←c01204;
   var←c96912.f0 = formal←c96976;
   /* GetNumber: */ 
SOURCE(10632, 3357)
SOURCE(10632, 3357)
   x←v22804 = (*  (ptr) &fc154 );
SOURCE(10691, 27)
   frac←v22832 = (*  (ptr) &fc154 );
   fracCount←v22860 = (*  (ptr) &fc154 );
SOURCE(10729, 3260)
SOURCE(10729, 3260)
   lab←L100016: ;
   {
      /* declaration of var←c08 skipped */ 
      var←c96912.f6/* var←c08 */  = (* (( (ptr) (* (( (ptr) gf←c96944)+285)/* var←c89904 */  ))+11) );
      {
         /* declaration of var←c09 skipped */ 
         {
            word var←c010;
            {
               word var←c01161;
               var←c01161 = (word) &var←c96912;
               var←c010 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8364) ), ( ((word)  (fPt) NoName←Q8964) ), var←c01161);
               };
            if ((var←c010 == 3)) {
               goto lab←L100013;
               };
            };
         var←c96912.f5/* c←v22888 */  = var←c96912.f7/* var←c09 */ ;
         };
      };
   if (((var←c96912.f5/* c←v22888 */  - 48) <= 9)) {
      }
   else {
      goto lab←L100014;
      };
SOURCE(10819, 15)
   {
      word x159;
      word x161;
      *(float*)&x←v22804 = ((
         x159 = x←v22804,  *(float*)&x159
         ) * (
         x161 = (*  (ptr) &fc160 ),  *(float*)&x161
         )) + (float)(int)(var←c96912.f5/* c←v22888 */  - 48);
      };
   goto lab←L100016;
   lab←L100014: ;
   lab←L100013: ;
SOURCE(10845, 36)
   if ( ( (var←c96912.f5/* c←v22888 */  != 0) ? (var←c96912.f5/* c←v22888 */  != 46) : 0 ) ) {
SOURCE(10870, 11)
      {
         word pd162;
         pd162 = (* (( (ptr) (* (( (ptr) gf←c96944)+285)/* var←c89904 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd162 ))))(var←c96912.f4/* s←v22760 */ , var←c96912.f5/* c←v22888 */ , pd162);
         };
      };
SOURCE(10945, 3044)
   if ((var←c96912.f5/* c←v22888 */  == 46)) {
SOURCE(10979, 3010)
SOURCE(10979, 3010)
      lab←L100023: ;
      {
         /* declaration of var←c011 skipped */ 
         var←c96912.f6/* var←c011 */  = (* (( (ptr) (* (( (ptr) gf←c96944)+285)/* var←c89904 */  ))+11) );
         {
            /* declaration of var←c012 skipped */ 
            {
               word var←c013;
               {
                  word var←c01162;
                  var←c01162 = (word) &var←c96912;
                  var←c013 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8304) ), ( ((word)  (fPt) NoName←Q8904) ), var←c01162);
                  };
               if ((var←c013 == 4)) {
                  goto lab←L100020;
                  };
               };
            var←c96912.f5/* c←v22888 */  = var←c96912.f7/* var←c012 */ ;
            };
         };
      if (((var←c96912.f5/* c←v22888 */  - 48) <= 9)) {
         }
      else {
         goto lab←L100021;
         };
SOURCE(11069, 23)
      {
         word x163;
         word x164;
         *(float*)&fracCount←v22860 = (
            x163 = fracCount←v22860,  *(float*)&x163
            ) + (
            x164 = (*  (ptr) &fc129 ),  *(float*)&x164
            );
         };
SOURCE(11094, 23)
      {
         word x165;
         word x166;
         *(float*)&frac←v22832 = ((
            x165 = frac←v22832,  *(float*)&x165
            ) * (
            x166 = (*  (ptr) &fc160 ),  *(float*)&x166
            )) + (float)(int)(var←c96912.f5/* c←v22888 */  - 48);
         };
      goto lab←L100023;
      lab←L100021: ;
      lab←L100020: ;
SOURCE(11128, 2861)
      {
         word x167;
         word x168;
         word pd169;
         word x170;
         word x171;
         float tf172;
         word x173;
         pd169 = (* (( (ptr) (* (( (ptr) gf←c96944)+286)/* var←c90128 */  ))+7) );
         *(float*)&x←v22804 = (
            x167 = x←v22804,  *(float*)&x167
            ) + ((
            x168 = frac←v22832,  *(float*)&x168
            ) * (
            x173 = (word) ( *( (fPt) ((*  (ptr) pd169 ))))((*  (ptr) &fc160 ), (
                  tf172 = (
                     x170 = (*  (ptr) &fc128 ),  *(float*)&x170
                     ) * (
                     x171 = fracCount←v22860,  *(float*)&x171
                     ),  *(word*)&tf172
                  ), pd169),  *(float*)&x173
            ));
         };
SOURCE(11174, 27)
      if ((var←c96912.f5/* c←v22888 */  != 0)) {
SOURCE(11190, 11)
         {
            word pd174;
            pd174 = (* (( (ptr) (* (( (ptr) gf←c96944)+285)/* var←c89904 */  ))+18) );
            (void) ( *( (fPt) ((*  (ptr) pd174 ))))(var←c96912.f4/* s←v22760 */ , var←c96912.f5/* c←v22888 */ , pd174);
            };
         };
      };
SOURCE(10632, 3357)
   return(x←v22804);
   }

static word NoName←Q8304(formal←c01053)
   word formal←c01053;
   {
SOURCE(10979, 3010)
   {
      word pd175;
      pd175 = (* (( (ptr) formal←c01053)+6) );
      (* (( (ptr) formal←c01053)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd175 ))))((* ((( (ptr) formal←c01053)+4)) ), pd175);
      };
   return(0);
   }

static word NoName←Q8364(formal←c01054)
   word formal←c01054;
   {
SOURCE(10729, 3260)
   {
      word pd176;
      pd176 = (* (( (ptr) formal←c01054)+6) );
      (* (( (ptr) formal←c01054)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd176 ))))((* ((( (ptr) formal←c01054)+4)) ), pd176);
      };
   return(0);
   }

static word SetTextFont←P600(slice←v10668, fontData←v10696, router←v10724, history←v10752)
   word slice←v10668;
   word fontData←v10696;
   word router←v10724;
   word history←v10752;
   {
   word success←v10796;
   /* SetTextFont: */ 
SOURCE(11682, 2307)
SOURCE(11682, 2307)
   success←v10796 = 1;
SOURCE(11820, 2169)
   return((word) SetTextFontAux←P720(slice←v10668, fontData←v10696, router←v10724, 0, history←v10752, 0
      , 0, 0));
   }

static word SetTextFontAndTransform←P660(slice←v10856, fontData←v10884, router←v10912, history←v10940)
   word slice←v10856;
   word fontData←v10884;
   word router←v10912;
   word history←v10940;
   {
   word success←v10984;
   /* SetTextFontAndTransform: */ 
SOURCE(11889, 2100)
SOURCE(11889, 2100)
   success←v10984 = 1;
SOURCE(12039, 1950)
   return((word) SetTextFontAux←P720(slice←v10856, fontData←v10884, router←v10912, 1, history←v10940, 0
      , 0, 0));
   }

static word SetTextFontAux←P720(slice←v11044, formal←c01205, router←v11100, andTransform←v11128, history←v11156, substituteFont←v11184, trueFont←v11212, screenFont←v11240)
   word slice←v11044;
   word formal←c01205;
   word router←v11100;
   word andTransform←v11128;
   word history←v11156;
   word substituteFont←v11184;
   word trueFont←v11212;
   word screenFont←v11240;
   {
   W10 var←c97008;
   /* declaration of fontData←v11072 skipped */ 
   register ptr gf←c97040 =  (ptr) &globalframe;
   word success←v11284;
   word transform←v22932 = 0;
   word oldTransform←v22960 = 0;
   /* declaration of eCode←v22988 skipped */ 
   /* declaration of eExplanation←v23016 skipped */ 
   (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) = formal←c01205;
   /* SetTextFontAux: */ 
SOURCE(12107, 3486)
SOURCE(12107, 3486)
   success←v11284 = 1;
SOURCE(12387, 11)
   (* (( (ptr) &var←c97008)+5)/* eCode←v22988 */  ) = 0;
SOURCE(12400, 23)
   (* (( (ptr) &var←c97008)+6)/* eExplanation←v23016 */  ) = 0;
SOURCE(12425, 1564)
   {
      word pd177;
      pd177 = (* (( (ptr) (* (( (ptr) gf←c97040)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd177 ))))(slice←v11044, pd177) != (* (( (ptr) gf←c97040)+40) ))) {
SOURCE(12465, 13)
         return(0);
         };
      };
SOURCE(12480, 3113)
SOURCE(12486, 39)
   {
      word textData←v23060;
SOURCE(12486, 39)
      textData←v23060 = XR←Narrow((* (( (ptr) slice←v11044)+1) ), (* (( (ptr) gf←c97040)+33) ));
SOURCE(12527, 1462)
      {
         word pd178;
         pd178 = (* (( (ptr) (* (( (ptr) gf←c97040)+283)/* var←c89776 */  ))+6) );
         if (((word) ( *( (fPt) ((*  (ptr) pd178 ))))(slice←v11044, pd178) != (* (( (ptr) gf←c97040)+40) ))) {
SOURCE(12567, 6)
            return(success←v11284);
            };
         };
SOURCE(12575, 1414)
      if (((* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+15) ) != 0)) {
SOURCE(12613, 30)
         (*  (W16Pt) (* (( (ptr) textData←v23060)+5) ) ) = (*  (W16Pt) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
SOURCE(12645, 50)
         (* (( (ptr) textData←v23060)+6) ) = (* (( (ptr) (* (( (ptr) textData←v23060)+5) ))+15) );
SOURCE(12697, 39)
         (* (( (ptr) textData←v23060)+7) ) = (* (( (ptr) textData←v23060)+6) );
SOURCE(12738, 1251)
         {
            word pd179;
            pd179 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+6) );
            transform←v22932 = (word) ( *( (fPt) ((*  (ptr) pd179 ))))((* ((( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+5)
               ) ), pd179);
            };
SOURCE(12797, 39)
         (* (( (ptr) (* (( (ptr) textData←v23060)+5) ))+5) ) = transform←v22932;
SOURCE(12838, 1151)
         {
            word pd180;
            pd180 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+51) );
            (* (( (ptr) textData←v23060)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd180 ))))(transform←v22932, pd180);
            };
SOURCE(12897, 1092)
         {
            W2 var←c90256;
            W6 var←c0240;
            {
               word pd181;
               pd181 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+50) );
               (void) ( *( (fPt) ((*  (ptr) pd181 ))))((word) &var←c0240, (* (( (ptr) textData←v23060)+9) ), pd181);
               };
            var←c90256 = (*  (W2Pt) (( (ptr) &var←c0240)+1) );
            (*  (W2Pt) (( (ptr) textData←v23060)+10) ) = var←c90256;
            };
SOURCE(12970, 27)
         {
            word pd182;
            pd182 = (* (( (ptr) (* (( (ptr) gf←c97040)+279)/* var←c89296 */  ))+68) );
            (void) ( *( (fPt) ((*  (ptr) pd182 ))))(slice←v11044, pd182);
            };
SOURCE(13035, 6)
         return(success←v11284);
         };
SOURCE(13046, 29)
      if (((*  (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) ) == 0)) {
SOURCE(13075, 10)
         goto lab←L100027;
         };
SOURCE(13087, 42)
      oldTransform←v22960 = (* (( (ptr) (* (( (ptr) textData←v23060)+5) ))+5) );
SOURCE(13131, 858)
      {
         word pd183;
         if ((0 != andTransform←v11128)) {
            pd183 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+6) );
            transform←v22932 = (word) ( *( (fPt) ((*  (ptr) pd183 ))))((* ((( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+5)
               ) ), pd183);
            }
         else {
            if (((* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+5) ) == 0)) {
               {
                  word var←c90288;
                  {
                     W6 var←c0243;
                     W2 var←c90320;
                     {
                        word pd184;
                        pd184 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+50) );
                        (void) ( *( (fPt) ((*  (ptr) pd184 ))))((word) &var←c0243, oldTransform←v22960, pd184);
                        };
                     var←c90320 = (*  (W2Pt) (( (ptr) &var←c0243)+4) );
                     {
                        word pd185;
                        pd185 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+10) );
                        var←c90288 = (word) ( *( (fPt) ((*  (ptr) pd185 ))))(var←c90320, pd185);
                        };
                     };
                  {
                     word pd186;
                     pd186 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+15) );
                     transform←v22932 = (word) ( *( (fPt) ((*  (ptr) pd186 ))))(var←c90288, (* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+6)
                         ), pd186);
                     };
                  };
               }
            else {
               {
                  W2 var←c90352;
                  W6 var←c0245;
                  {
                     word pd187;
                     pd187 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+50) );
                     (void) ( *( (fPt) ((*  (ptr) pd187 ))))((word) &var←c0245, oldTransform←v22960, pd187);
                     };
                  var←c90352 = (*  (W2Pt) (( (ptr) &var←c0245)+4) );
                  {
                     word pd188;
                     pd188 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+23) );
                     transform←v22932 = (word) ( *( (fPt) ((*  (ptr) pd188 ))))((* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+5)
                         ), var←c90352, pd188);
                     };
                  };
               };
            };
         };
SOURCE(13482, 830)
      if ((trueFont←v11212 != 0)) {
SOURCE(13505, 69)
         (* (( (ptr) textData←v23060)+6) ) = trueFont←v11212;
         }
      else {
SOURCE(13574, 738)
         if ( ( (0 != (* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+14) )) ? (substituteFont←v11184 != 0) : 0 ) ) {
SOURCE(13628, 34)
            (* (( (ptr) textData←v23060)+6) ) = substituteFont←v11184;
            }
         else {
SOURCE(13673, 316)
            {
               /* declaration of var←c014 skipped */ 
               /* declaration of var←c015 skipped */ 
               (* (( (ptr) &var←c97008)+7)/* var←c014 */  ) = (*  (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
               (* (( (ptr) &var←c97008)+8)/* var←c015 */  ) = (* (( (ptr) (* (( (ptr) gf←c97040)+288)/* var←c90384 */  ))+7) );
               {
                  /* declaration of var←c016 skipped */ 
                  {
                     word var←c017;
                     {
                        word var←c01163;
                        var←c01163 = (word) &var←c97008;
                        var←c017 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8424) ), ( ((word)  (fPt) NoName←Q8844) ), var←c01163);
                        };
                     switch (var←c017) {
                        case 8: 
                           goto lab←L100028;
                        case 7: 
                           goto lab←L100029;
                        case 6: 
                           goto lab←L100026;
                        case 5: 
                           goto lab←L100027;
                        };
                     };
                  (* (( (ptr) textData←v23060)+6) ) = (* (( (ptr) &var←c97008)+9)/* var←c016 */  );
                  };
               };
SOURCE(14019, 173)
            if ((0 != (* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+14) ))) {
SOURCE(14048, 144)
               {
                  word var←c90512;
                  {
                     word var←c90544;
                     word var←c90576;
                     var←c90544 = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
                     var←c90576 = var←c90544;
                     (*  (ptr) var←c90576 ) = 11;
                     {
                        word pd189;
                        pd189 = (* (( (ptr) (* (( (ptr) gf←c97040)+288)/* var←c90384 */  ))+19) );
                        (* (( (ptr) var←c90576)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd189 ))))((* ((( (ptr) textData←v23060)+6)) ), pd189);
                        };
                     (* (( (ptr) var←c90576)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
                     var←c90576 = (* (( (ptr) var←c90576)+2) );
                     (*  (ptr) var←c90576 ) = 11;
                     (* (( (ptr) var←c90576)+1) ) = (*  (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
                     var←c90512 = var←c90544;
                     };
                  {
                     word pd190;
                     pd190 = (* (( (ptr) (* (( (ptr) gf←c97040)+277)/* var←c89200 */  ))+13) );
                     (void) ( *( (fPt) ((*  (ptr) pd190 ))))(router←v11100, 0, (* (( (ptr) gf←c97040)+50) ), (* (( (ptr) gf←c97040)+51) ), var←c90512, pd190)
                     ;
                     };
                  };
               };
SOURCE(14194, 118)
            {
               word pd191;
               word x192;
               word x193;
               float tf194;
               pd191 = (* (( (ptr) (* (( (ptr) gf←c97040)+288)/* var←c90384 */  ))+9) );
               (* (( (ptr) textData←v23060)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd191 ))))((* (( (ptr) textData←v23060)+6) ),  ( (0 != (* (
                     ( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+14) )) ? (*  (ptr) &fc129 ) : (
                     tf194 = (
                        x192 = (*  (ptr) &fc129 ),  *(float*)&x192
                        ) / (
                        x193 = (* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+7) ),  *(float*)&x193
                        ),  *(word*)&tf194
                     ) ) , pd191);
               };
            };
         };
SOURCE(14317, 30)
      (* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+5) ) = transform←v22932;
SOURCE(14397, 66)
      if ((screenFont←v11240 != 0)) {
         (* (( (ptr) textData←v23060)+7) ) = screenFont←v11240;
         }
      else {
         (* (( (ptr) textData←v23060)+7) ) = 0;
         };
SOURCE(14465, 30)
      (*  (W16Pt) (* (( (ptr) textData←v23060)+5) ) ) = (*  (W16Pt) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
SOURCE(14551, 57)
      {
         word pd195;
         pd195 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+51) );
         (* (( (ptr) textData←v23060)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd195 ))))(transform←v22932, pd195);
         };
SOURCE(14610, 71)
      {
         W2 var←c90640;
         W6 var←c0250;
         {
            word pd196;
            pd196 = (* (( (ptr) (* (( (ptr) gf←c97040)+287)/* var←c90224 */  ))+50) );
            (void) ( *( (fPt) ((*  (ptr) pd196 ))))((word) &var←c0250, (* (( (ptr) textData←v23060)+9) ), pd196);
            };
         var←c90640 = (*  (W2Pt) (( (ptr) &var←c0250)+1) );
         (*  (W2Pt) (( (ptr) textData←v23060)+10) ) = var←c90640;
         };
SOURCE(14683, 27)
      {
         word pd197;
         pd197 = (* (( (ptr) (* (( (ptr) gf←c97040)+279)/* var←c89296 */  ))+68) );
         (void) ( *( (fPt) ((*  (ptr) pd197 ))))(slice←v11044, pd197);
         };
      };
   goto lab←L100032;
   lab←L100026: ;
SOURCE(14732, 118)
   {
      W2 var←c90672;
      var←c90672.f0 = 11;
      var←c90672.f1 = (*  (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
      {
         word pd198;
         pd198 = (* (( (ptr) (* (( (ptr) gf←c97040)+277)/* var←c89200 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd198 ))))(router←v11100, 0, (* (( (ptr) gf←c97040)+55) ), (* (( (ptr) gf←c97040)+56) ), var←c90672, pd198)
         ;
         };
      };
SOURCE(14852, 15)
   success←v11284 = 0;
   goto lab←L100032;
   lab←L100027: ;
SOURCE(14883, 121)
   {
      W2 var←c90704;
      var←c90704.f0 = 11;
      var←c90704.f1 = (*  (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
      {
         word pd199;
         pd199 = (* (( (ptr) (* (( (ptr) gf←c97040)+277)/* var←c89200 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd199 ))))(router←v11100, 0, (* (( (ptr) gf←c97040)+55) ), (* (( (ptr) gf←c97040)+57) ), var←c90704, pd199)
         ;
         };
      };
SOURCE(15006, 15)
   success←v11284 = 0;
   goto lab←L100032;
   lab←L100028: ;
SOURCE(15038, 334)
   {
      word scratch←v23104;
SOURCE(15040, 29)
      {
         word pd200;
         pd200 = (* (( (ptr) (* (( (ptr) gf←c97040)+285)/* var←c89904 */  ))+34) );
         scratch←v23104 = (word) ( *( (fPt) ((*  (ptr) pd200 ))))(0, pd200);
         };
SOURCE(15071, 83)
      if ((transform←v22932 != 0)) {
SOURCE(15093, 61)
         {
            word pd201;
            pd201 = (* (( (ptr) (* (( (ptr) gf←c97040)+292)/* var←c90736 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd201 ))))(scratch←v23104, transform←v22932, pd201);
            };
         };
SOURCE(15156, 197)
      {
         word var←c90768;
         {
            word var←c90800;
            word var←c90832;
            var←c90800 = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
            var←c90832 = var←c90800;
            (*  (ptr) var←c90832 ) = 11;
            (* (( (ptr) var←c90832)+1) ) = (*  (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
            (* (( (ptr) var←c90832)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
            var←c90832 = (* (( (ptr) var←c90832)+2) );
            (*  (ptr) var←c90832 ) = 11;
            {
               word pd202;
               pd202 = (* (( (ptr) (* (( (ptr) gf←c97040)+285)/* var←c89904 */  ))+35) );
               (* (( (ptr) var←c90832)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd202 ))))(scratch←v23104, 1, pd202);
               };
            (* (( (ptr) var←c90832)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
            var←c90832 = (* (( (ptr) var←c90832)+2) );
            (*  (ptr) var←c90832 ) = 8;
            (* (( (ptr) var←c90832)+1) ) = (* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+7) );
            (* (( (ptr) var←c90832)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
            var←c90832 = (* (( (ptr) var←c90832)+2) );
            (*  (ptr) var←c90832 ) = 8;
            (* (( (ptr) var←c90832)+1) ) = (* (( (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ))+8) );
            var←c90768 = var←c90800;
            };
         {
            word pd203;
            pd203 = (* (( (ptr) (* (( (ptr) gf←c97040)+277)/* var←c89200 */  ))+13) );
            (void) ( *( (fPt) ((*  (ptr) pd203 ))))(router←v11100, 0, (* (( (ptr) gf←c97040)+55) ), (* (( (ptr) gf←c97040)+58) ), var←c90768, pd203)
            ;
            };
         };
SOURCE(15355, 15)
      success←v11284 = 0;
      };
   goto lab←L100032;
   lab←L100029: ;
SOURCE(15399, 172)
   {
      word var←c90896;
      {
         word var←c90928;
         word var←c90960;
         var←c90928 = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
         var←c90960 = var←c90928;
         (*  (ptr) var←c90960 ) = 1;
         (* (( (ptr) var←c90960)+1) ) = (* (( (ptr) &var←c97008)+5)/* eCode←v22988 */  );
         (* (( (ptr) var←c90960)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
         var←c90960 = (* (( (ptr) var←c90960)+2) );
         (*  (ptr) var←c90960 ) = 11;
         (* (( (ptr) var←c90960)+1) ) = (* (( (ptr) &var←c97008)+6)/* eExplanation←v23016 */  );
         (* (( (ptr) var←c90960)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97040)+28) ));
         var←c90960 = (* (( (ptr) var←c90960)+2) );
         (*  (ptr) var←c90960 ) = 11;
         (* (( (ptr) var←c90960)+1) ) = (*  (ptr) (* (( (ptr) &var←c97008)+4)/* fontData←v11072 */  ) );
         var←c90896 = var←c90928;
         };
      {
         word pd204;
         pd204 = (* (( (ptr) (* (( (ptr) gf←c97040)+277)/* var←c89200 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd204 ))))(router←v11100, 0, (* (( (ptr) gf←c97040)+55) ), (* (( (ptr) gf←c97040)+60) ), var←c90896, pd204)
         ;
         };
      };
SOURCE(15573, 15)
   success←v11284 = 0;
   lab←L100032: ;
SOURCE(12107, 3486)
   return(success←v11284);
   }

static word NoName←Q8424(formal←c01056)
   word formal←c01056;
   {
SOURCE(13673, 316)
   {
      word pd205;
      pd205 = (* (( (ptr) formal←c01056)+8) );
      (* (( (ptr) formal←c01056)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd205 ))))((* (( (ptr) formal←c01056)+7) ), 1, pd205);
      };
   return(0);
   }

static word GetLooksDataRope←P780(slice←v11344)
   word slice←v11344;
   {
   register ptr gf←c97072 =  (ptr) &globalframe;
   word var←c11388;
   word scratch←v23148;
   /* GetLooksDataRope: */ 
SOURCE(15602, 816)
SOURCE(15671, 29)
   {
      word pd206;
      pd206 = (* (( (ptr) (* (( (ptr) gf←c97072)+285)/* var←c89904 */  ))+34) );
      scratch←v23148 = (word) ( *( (fPt) ((*  (ptr) pd206 ))))(0, pd206);
      };
SOURCE(15702, 677)
   {
      word pd207;
      pd207 = (* (( (ptr) (* (( (ptr) gf←c97072)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd207 ))))(slice←v11344, pd207) != (* (( (ptr) gf←c97072)+40) ))) {
SOURCE(15742, 17)
         return(0);
         }
      else {
SOURCE(15759, 625)
         {
            word scale←v23192;
            word textData←v23220;
SOURCE(15761, 18)
            scale←v23192 = (*  (ptr) &fc160 );
SOURCE(15837, 39)
            textData←v23220 = XR←Narrow((* (( (ptr) slice←v11344)+1) ), (* (( (ptr) gf←c97072)+33) ));
SOURCE(15878, 165)
            if (((* (( (ptr) textData←v23220)+4) ) != 0)) {
SOURCE(15905, 88)
               {
                  word var←c90992;
                  {
                     word pd208;
                     pd208 = (* (( (ptr) (* (( (ptr) gf←c97072)+293)/* var←c91024 */  ))+40) );
                     var←c90992 = (word) ( *( (fPt) ((*  (ptr) pd208 ))))((* ((( (ptr) textData←v23220)+4)) ), pd208);
                     };
                  {
                     W2 var←c91056;
                     var←c91056.f0 = 11;
                     var←c91056.f1 = var←c90992;
                     {
                        word pd209;
                        pd209 = (* (( (ptr) (* (( (ptr) gf←c97072)+285)/* var←c89904 */  ))+61) );
                        (void) ( *( (fPt) ((*  (ptr) pd209 ))))(scratch←v23148, (* (( (ptr) gf←c97072)+62) ), var←c91056, pd209);
                        };
                     };
                  };
               }
            else {
SOURCE(15993, 50)
               {
                  W2 var←c91088;
                  var←c91088.f0 = 11;
                  var←c91088.f1 = (* (( (ptr) gf←c97072)+64) );
                  {
                     word pd210;
                     pd210 = (* (( (ptr) (* (( (ptr) gf←c97072)+285)/* var←c89904 */  ))+61) );
                     (void) ( *( (fPt) ((*  (ptr) pd210 ))))(scratch←v23148, (* (( (ptr) gf←c97072)+63) ), var←c91088, pd210);
                     };
                  };
               };
SOURCE(16045, 334)
            if ((0 != (* (( (ptr) textData←v23220)+13) ))) {
SOURCE(16077, 180)
               if (((* (( (ptr) textData←v23220)+16) ) != 0)) {
SOURCE(16110, 95)
                  {
                     word var←c91120;
                     {
                        word pd211;
                        pd211 = (* (( (ptr) (* (( (ptr) gf←c97072)+293)/* var←c91024 */  ))+40) );
                        var←c91120 = (word) ( *( (fPt) ((*  (ptr) pd211 ))))((* ((( (ptr) textData←v23220)+16)) ), pd211);
                        };
                     {
                        W2 var←c91152;
                        var←c91152.f0 = 11;
                        var←c91152.f1 = var←c91120;
                        {
                           word pd212;
                           pd212 = (* (( (ptr) (* (( (ptr) gf←c97072)+285)/* var←c89904 */  ))+61) );
                           (void) ( *( (fPt) ((*  (ptr) pd212 ))))(scratch←v23148, (* (( (ptr) gf←c97072)+65) ), var←c91152, pd212);
                           };
                        };
                     };
                  }
               else {
SOURCE(16205, 52)
                  {
                     W2 var←c91184;
                     var←c91184.f0 = 11;
                     var←c91184.f1 = (* (( (ptr) gf←c97072)+66) );
                     {
                        word pd213;
                        pd213 = (* (( (ptr) (* (( (ptr) gf←c97072)+285)/* var←c89904 */  ))+61) );
                        (void) ( *( (fPt) ((*  (ptr) pd213 ))))(scratch←v23148, (* (( (ptr) gf←c97072)+63) ), var←c91184, pd213);
                        };
                     };
                  };
SOURCE(16259, 120)
               {
                  W2 var←c91216;
                  W2 var←c91248;
                  W2 var←c01164;
                  var←c91216.f0 = 8;
                  {
                     word x214;
                     word x215;
                     *(float*)&var←c91216.f1 = (
                        x214 = (* (( (ptr) textData←v23220)+14) ),  *(float*)&x214
                        ) / (
                        x215 = scale←v23192,  *(float*)&x215
                        );
                     };
                  var←c91248.f0 = 8;
                  {
                     word x216;
                     word x217;
                     *(float*)&var←c91248.f1 = (
                        x216 = (* (( (ptr) textData←v23220)+15) ),  *(float*)&x216
                        ) / (
                        x217 = scale←v23192,  *(float*)&x217
                        );
                     };
                  (*  (ptr) (word) &var←c01164 ) = 0;
                  (* (( (ptr) (word) &var←c01164) + 1) ) = 0;
                  {
                     word pd218;
                     pd218 = (* (( (ptr) (* (( (ptr) gf←c97072)+285)/* var←c89904 */  ))+60) );
                     (void) ( *( (fPt) ((*  (ptr) pd218 ))))(scratch←v23148, (* (( (ptr) gf←c97072)+67) ), var←c91216, var←c91248, var←c01164, pd218)
                     ;
                     };
                  };
               };
            };
         };
      };
SOURCE(16387, 31)
   {
      word pd219;
      pd219 = (* (( (ptr) (* (( (ptr) gf←c97072)+285)/* var←c89904 */  ))+35) );
      return((word) ( *( (fPt) ((*  (ptr) pd219 ))))(scratch←v23148, 1, pd219));
      };
   }

static word GetFontData←P840(slice←v11448)
   word slice←v11448;
   {
   register ptr gf←c97104 =  (ptr) &globalframe;
   word fontData←v11492;
   word textData←v23264 = 0;
   /* GetFontData: */ 
SOURCE(16424, 202)
SOURCE(16424, 202)
   fontData←v11492 = 0;
SOURCE(16517, 51)
   {
      word pd220;
      pd220 = (* (( (ptr) (* (( (ptr) gf←c97104)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd220 ))))(slice←v11448, pd220) != (* (( (ptr) gf←c97104)+40) ))) {
SOURCE(16557, 11)
         return(0);
         };
      };
SOURCE(16570, 29)
   textData←v23264 = XR←Narrow((* (( (ptr) slice←v11448)+1) ), (* (( (ptr) gf←c97104)+33) ));
SOURCE(16601, 25)
   return((* (( (ptr) textData←v23264)+5) ));
   }

static word GetFontDataRope←P900(slice←v11552)
   word slice←v11552;
   {
   register ptr gf←c97136 =  (ptr) &globalframe;
   word var←c11596;
   word textData←v23308 = 0;
   word fontData←v23336 = 0;
   word scratch←v23364;
   /* GetFontDataRope: */ 
SOURCE(16632, 846)
SOURCE(16740, 29)
   {
      word pd221;
      pd221 = (* (( (ptr) (* (( (ptr) gf←c97136)+285)/* var←c89904 */  ))+34) );
      scratch←v23364 = (word) ( *( (fPt) ((*  (ptr) pd221 ))))(0, pd221);
      };
SOURCE(16771, 51)
   {
      word pd222;
      pd222 = (* (( (ptr) (* (( (ptr) gf←c97136)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd222 ))))(slice←v11552, pd222) != (* (( (ptr) gf←c97136)+40) ))) {
SOURCE(16811, 11)
         return(0);
         };
      };
SOURCE(16824, 29)
   textData←v23308 = XR←Narrow((* (( (ptr) slice←v11552)+1) ), (* (( (ptr) gf←c97136)+33) ));
SOURCE(16855, 28)
   fontData←v23336 = (* (( (ptr) textData←v23308)+5) );
SOURCE(16885, 70)
   {
      word pd223;
      pd223 = (* (( (ptr) (* (( (ptr) gf←c97136)+292)/* var←c90736 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd223 ))))(scratch←v23364, (* (( (ptr) fontData←v23336)+5) ), pd223);
      };
SOURCE(16957, 521)
   if ((0 != (* (( (ptr) fontData←v23336)+9) ))) {
SOURCE(16986, 272)
      {
         word var←c91408;
         word var←c91440;
         word var←c91376;
         var←c91408 = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91440 = var←c91408;
         (*  (ptr) var←c91440 ) = 11;
         (* (( (ptr) var←c91440)+1) ) = (* (( (ptr) (* (( (ptr) textData←v23308)+5) ))+1) );
         (* (( (ptr) var←c91440)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91440 = (* (( (ptr) var←c91440)+2) );
         (*  (ptr) var←c91440 ) = 11;
         (* (( (ptr) var←c91440)+1) ) = (* (( (ptr) (* (( (ptr) textData←v23308)+5) ))+3) );
         (* (( (ptr) var←c91440)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91440 = (* (( (ptr) var←c91440)+2) );
         (*  (ptr) var←c91440 ) = 11;
         {
            word pd224;
            pd224 = (* (( (ptr) (* (( (ptr) gf←c97136)+285)/* var←c89904 */  ))+35) );
            (* (( (ptr) var←c91440)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd224 ))))(scratch←v23364, 1, pd224);
            };
         (* (( (ptr) var←c91440)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91440 = (* (( (ptr) var←c91440)+2) );
         (*  (ptr) var←c91440 ) = 8;
         (* (( (ptr) var←c91440)+1) ) = (* (( (ptr) fontData←v23336)+7) );
         (* (( (ptr) var←c91440)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91440 = (* (( (ptr) var←c91440)+2) );
         (*  (ptr) var←c91440 ) = 8;
         (* (( (ptr) var←c91440)+1) ) = (* (( (ptr) fontData←v23336)+8) );
         (* (( (ptr) var←c91440)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91440 = (* (( (ptr) var←c91440)+2) );
         (*  (ptr) var←c91440 ) = 11;
         (* (( (ptr) var←c91440)+1) ) =  ( (0 != (* (( (ptr) fontData←v23336)+14) )) ? (* (( (ptr) gf←c97136)+69) ) : (* (( (ptr) gf←c97136)+47)
          ) ) ;
         var←c91376 = var←c91408;
         {
            word pd225;
            pd225 = (* (( (ptr) (* (( (ptr) gf←c97136)+285)/* var←c89904 */  ))+65) );
            return((word) ( *( (fPt) ((*  (ptr) pd225 ))))((* (( (ptr) gf←c97136)+68) ), var←c91376, pd225));
            };
         };
      }
   else {
SOURCE(17258, 220)
      {
         word var←c91568;
         word var←c91600;
         word var←c91536;
         var←c91568 = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91600 = var←c91568;
         (*  (ptr) var←c91600 ) = 11;
         (* (( (ptr) var←c91600)+1) ) = (*  (ptr) fontData←v23336 );
         (* (( (ptr) var←c91600)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91600 = (* (( (ptr) var←c91600)+2) );
         (*  (ptr) var←c91600 ) = 11;
         {
            word pd226;
            pd226 = (* (( (ptr) (* (( (ptr) gf←c97136)+285)/* var←c89904 */  ))+35) );
            (* (( (ptr) var←c91600)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd226 ))))(scratch←v23364, 1, pd226);
            };
         (* (( (ptr) var←c91600)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91600 = (* (( (ptr) var←c91600)+2) );
         (*  (ptr) var←c91600 ) = 8;
         (* (( (ptr) var←c91600)+1) ) = (* (( (ptr) fontData←v23336)+7) );
         (* (( (ptr) var←c91600)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91600 = (* (( (ptr) var←c91600)+2) );
         (*  (ptr) var←c91600 ) = 8;
         (* (( (ptr) var←c91600)+1) ) = (* (( (ptr) fontData←v23336)+8) );
         (* (( (ptr) var←c91600)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c97136)+28) ));
         var←c91600 = (* (( (ptr) var←c91600)+2) );
         (*  (ptr) var←c91600 ) = 11;
         (* (( (ptr) var←c91600)+1) ) =  ( (0 != (* (( (ptr) fontData←v23336)+14) )) ? (* (( (ptr) gf←c97136)+69) ) : (* (( (ptr) gf←c97136)+47)
          ) ) ;
         var←c91536 = var←c91568;
         {
            word pd227;
            pd227 = (* (( (ptr) (* (( (ptr) gf←c97136)+285)/* var←c89904 */  ))+65) );
            return((word) ( *( (fPt) ((*  (ptr) pd227 ))))((* (( (ptr) gf←c97136)+70) ), var←c91536, pd227));
            };
         };
      };
   }

static word GetFontLiteralDataRope←P960(slice←v11656)
   word slice←v11656;
   {
   register ptr gf←c97168 =  (ptr) &globalframe;
   word var←c11700;
   word textData←v23408 = 0;
   /* GetFontLiteralDataRope: */ 
SOURCE(17484, 230)
SOURCE(17579, 51)
   {
      word pd228;
      pd228 = (* (( (ptr) (* (( (ptr) gf←c97168)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd228 ))))(slice←v11656, pd228) != (* (( (ptr) gf←c97168)+40) ))) {
SOURCE(17619, 11)
         return(0);
         };
      };
SOURCE(17632, 29)
   textData←v23408 = XR←Narrow((* (( (ptr) slice←v11656)+1) ), (* (( (ptr) gf←c97168)+33) ));
SOURCE(17663, 51)
   {
      word pd229;
      pd229 = (* (( (ptr) (* (( (ptr) gf←c97168)+281)/* var←c89456 */  ))+17) );
      return((word) ( *( (fPt) ((*  (ptr) pd229 ))))((* ((( (ptr) textData←v23408)+5)) ), pd229));
      };
   }

static word UnpackComplexFontName←P1020(fontName←v11760, fontSize←v11788)
   word fontName←v11760;
   word fontSize←v11788;
   {
   register ptr gf←c97200 =  (ptr) &globalframe;
   word new←v11832;
   word face←v23452 = 0;
   /* UnpackComplexFontName: */ 
SOURCE(17720, 605)
SOURCE(17720, 605)
   new←v11832 = 0;
SOURCE(17832, 38)
   {
      word pd230;
      pd230 = (* (( (ptr) (* (( (ptr) gf←c97200)+294)/* var←c91696 */  ))+11) );
      new←v11832 = (word) ( *( (fPt) ((*  (ptr) pd230 ))))(fontName←v11760, 1, pd230);
      };
SOURCE(17906, 30)
   {
      word pd231;
      pd231 = (* (( (ptr) (* (( (ptr) gf←c97200)+294)/* var←c91696 */  ))+12) );
      face←v23452 = (word) ( *( (fPt) ((*  (ptr) pd231 ))))(new←v11832, 45, pd231);
      };
SOURCE(17976, 83)
   {
      word var←c91728;
      {
         word pd232;
         pd232 = (* (( (ptr) (* (( (ptr) gf←c97200)+284)/* var←c89840 */  ))+24) );
         var←c91728 = (word) ( *( (fPt) ((*  (ptr) pd232 ))))(new←v11832, 0, (* (( (ptr) gf←c97200)+48) ), pd232);
         };
      {
         word pd233;
         pd233 = (* (( (ptr) (* (( (ptr) gf←c97200)+284)/* var←c89840 */  ))+17) );
         new←v11832 = (word) ( *( (fPt) ((*  (ptr) pd233 ))))(new←v11832, 0, var←c91728, pd233);
         };
      };
SOURCE(18082, 243)
   {
      word var←c91760;
      word var←c91824;
      {
         word pd234;
         pd234 = (* (( (ptr) (* (( (ptr) gf←c97200)+295)/* var←c91792 */  ))+31) );
         var←c91760 = (word) ( *( (fPt) ((*  (ptr) pd234 ))))(fontSize←v11788, 7, 0, pd234);
         };
      {
         word pd236;
         word pd237;
         word pd238;
         word pd239;
         pd236 = (* (( (ptr) (* (( (ptr) gf←c97200)+284)/* var←c89840 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd236 ))))(face←v23452, (* (( (ptr) gf←c97200)+71) ), 0, pd236))) {
            var←c91824 = (* (( (ptr) gf←c97200)+47) );
            goto endif0235;
            };
         pd237 = (* (( (ptr) (* (( (ptr) gf←c97200)+284)/* var←c89840 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd237 ))))(face←v23452, (* (( (ptr) gf←c97200)+72) ), 0, pd237))) {
            var←c91824 = (* (( (ptr) gf←c97200)+73) );
            goto endif0235;
            };
         pd238 = (* (( (ptr) (* (( (ptr) gf←c97200)+284)/* var←c89840 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd238 ))))(face←v23452, (* (( (ptr) gf←c97200)+74) ), 0, pd238))) {
            var←c91824 = (* (( (ptr) gf←c97200)+75) );
            goto endif0235;
            };
         pd239 = (* (( (ptr) (* (( (ptr) gf←c97200)+284)/* var←c89840 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd239 ))))(face←v23452, (* (( (ptr) gf←c97200)+76) ), 0, pd239))) {
            var←c91824 = (* (( (ptr) gf←c97200)+77) );
            goto endif0235;
            };
         var←c91824 = (
            XR←RaiseUnnamedError(), 0
            );
         goto endif0235;
         endif0235: ;
         };
      {
         word pd240;
         pd240 = (* (( (ptr) (* (( (ptr) gf←c97200)+284)/* var←c89840 */  ))+5) );
         new←v11832 = (word) ( *( (fPt) ((*  (ptr) pd240 ))))(new←v11832, var←c91760, var←c91824, 0, 0, pd240);
         };
      };
SOURCE(17720, 605)
   return(new←v11832);
   }

static void SetTextAmplifySpace←P1080(slice←v11892, amplifySpace←v11920, router←v11948, history←v11976)
   word slice←v11892;
   word amplifySpace←v11920;
   word router←v11948;
   word history←v11976;
   {
   register ptr gf←c97232 =  (ptr) &globalframe;
   /* SetTextAmplifySpace: */ 
SOURCE(18331, 262)
SOURCE(18445, 148)
   {
      word pd241;
      pd241 = (* (( (ptr) (* (( (ptr) gf←c97232)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd241 ))))(slice←v11892, pd241) == (* (( (ptr) gf←c97232)+40) ))) {
SOURCE(18485, 110)
         {
            word textData←v23496;
SOURCE(18487, 39)
            textData←v23496 = XR←Narrow((* (( (ptr) slice←v11892)+1) ), (* (( (ptr) gf←c97232)+33) ));
SOURCE(18528, 36)
            (* (( (ptr) textData←v23496)+12) ) = amplifySpace←v11920;
SOURCE(18566, 27)
            {
               word pd242;
               pd242 = (* (( (ptr) (* (( (ptr) gf←c97232)+279)/* var←c89296 */  ))+68) );
               (void) ( *( (fPt) ((*  (ptr) pd242 ))))(slice←v11892, pd242);
               };
            };
         };
      };
   }

static word GetTextAmplifySpace←P1140(slice←v12036)
   word slice←v12036;
   {
   register ptr gf←c97264 =  (ptr) &globalframe;
   word amplifySpace←v12080;
   /* GetTextAmplifySpace: */ 
SOURCE(18602, 209)
SOURCE(18683, 112)
   {
      word pd243;
      pd243 = (* (( (ptr) (* (( (ptr) gf←c97264)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd243 ))))(slice←v12036, pd243) == (* (( (ptr) gf←c97264)+40) ))) {
SOURCE(18723, 74)
         {
            word textData←v23540;
SOURCE(18725, 39)
            textData←v23540 = XR←Narrow((* (( (ptr) slice←v12036)+1) ), (* (( (ptr) gf←c97264)+33) ));
SOURCE(18766, 29)
            return((* (( (ptr) textData←v23540)+12) ));
            };
         };
      };
SOURCE(18800, 11)
   return((*  (ptr) &fc129 ));
   }

static void DropShadowOn←P1200(slice←v12140, offset←v12168, history←v12196)
   word slice←v12140;
   W2 offset←v12168;
   word history←v12196;
   {
   register ptr gf←c97296 =  (ptr) &globalframe;
   /* DropShadowOn: */ 
SOURCE(18817, 260)
SOURCE(18901, 176)
   {
      word pd244;
      pd244 = (* (( (ptr) (* (( (ptr) gf←c97296)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd244 ))))(slice←v12140, pd244) == (* (( (ptr) gf←c97296)+40) ))) {
SOURCE(18941, 138)
         {
            word textData←v23584;
SOURCE(18943, 39)
            textData←v23584 = XR←Narrow((* (( (ptr) slice←v12140)+1) ), (* (( (ptr) gf←c97296)+33) ));
SOURCE(18984, 28)
            (* (( (ptr) textData←v23584)+13) ) = 1;
SOURCE(19014, 34)
            (*  (W2Pt) (( (ptr) textData←v23584)+14) ) = offset←v12168;
SOURCE(19050, 27)
            {
               word pd245;
               pd245 = (* (( (ptr) (* (( (ptr) gf←c97296)+279)/* var←c89296 */  ))+68) );
               (void) ( *( (fPt) ((*  (ptr) pd245 ))))(slice←v12140, pd245);
               };
            };
         };
      };
   }

static void DropShadowOff←P1260(slice←v12256, history←v12284)
   word slice←v12256;
   word history←v12284;
   {
   register ptr gf←c97328 =  (ptr) &globalframe;
   /* DropShadowOff: */ 
SOURCE(19086, 210)
SOURCE(19155, 141)
   {
      word pd246;
      pd246 = (* (( (ptr) (* (( (ptr) gf←c97328)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd246 ))))(slice←v12256, pd246) == (* (( (ptr) gf←c97328)+40) ))) {
SOURCE(19195, 103)
         {
            word textData←v23628;
SOURCE(19197, 39)
            textData←v23628 = XR←Narrow((* (( (ptr) slice←v12256)+1) ), (* (( (ptr) gf←c97328)+33) ));
SOURCE(19238, 29)
            (* (( (ptr) textData←v23628)+13) ) = 0;
SOURCE(19269, 27)
            {
               word pd247;
               pd247 = (* (( (ptr) (* (( (ptr) gf←c97328)+279)/* var←c89296 */  ))+68) );
               (void) ( *( (fPt) ((*  (ptr) pd247 ))))(slice←v12256, pd247);
               };
            };
         };
      };
   }

static void GetTextDropShadow←P1320(formal←c0320, slice←v12344)
   word formal←c0320;
   word slice←v12344;
   {
   register ptr gf←c97360 =  (ptr) &globalframe;
   word dropShadowOn←v12388;
   W2 dropShadow←v12416;
   word color←v12444;
   /* GetTextDropShadow: */ 
SOURCE(19305, 302)
SOURCE(19305, 302)
   dropShadowOn←v12388 = 0;
SOURCE(19305, 302)
   dropShadow←v12416.f0 = (*  (ptr) &fc154 );
   dropShadow←v12416.f1 = (*  (ptr) &fc154 );
SOURCE(19305, 302)
   color←v12444 = 0;
SOURCE(19446, 161)
   {
      word pd248;
      pd248 = (* (( (ptr) (* (( (ptr) gf←c97360)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd248 ))))(slice←v12344, pd248) == (* (( (ptr) gf←c97360)+40) ))) {
SOURCE(19486, 123)
         {
            word textData←v23672;
SOURCE(19488, 39)
            textData←v23672 = XR←Narrow((* (( (ptr) slice←v12344)+1) ), (* (( (ptr) gf←c97360)+33) ));
SOURCE(19529, 78)
            dropShadowOn←v12388 = (* (( (ptr) textData←v23672)+13) );
            dropShadow←v12416 = (*  (W2Pt) (( (ptr) textData←v23672)+14) );
            color←v12444 = (* (( (ptr) textData←v23672)+16) );
            goto lab←L100033;
            };
         };
      };
   /* removed tail goto */ 
   lab←L100033: ;
   (*  (ptr) formal←c0320 ) = dropShadowOn←v12388;
   (*  (W2Pt) (( (ptr) formal←c0320)+1) ) = dropShadow←v12416;
   (* (( (ptr) formal←c0320)+3) ) = color←v12444;
   return;
   }

static void GetTextColors←P1380(formal←c0327, slice←v12504)
   word formal←c0327;
   word slice←v12504;
   {
   register ptr gf←c97392 =  (ptr) &globalframe;
   word textColor←v12548;
   word shadowColor←v12576;
   /* GetTextColors: */ 
SOURCE(19616, 220)
SOURCE(19616, 220)
   textColor←v12548 = 0;
SOURCE(19616, 220)
   shadowColor←v12576 = 0;
SOURCE(19709, 127)
   {
      word pd249;
      pd249 = (* (( (ptr) (* (( (ptr) gf←c97392)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd249 ))))(slice←v12504, pd249) == (* (( (ptr) gf←c97392)+40) ))) {
SOURCE(19749, 89)
         {
            word textData←v23716;
SOURCE(19751, 39)
            textData←v23716 = XR←Narrow((* (( (ptr) slice←v12504)+1) ), (* (( (ptr) gf←c97392)+33) ));
SOURCE(19792, 44)
            textColor←v12548 = (* (( (ptr) textData←v23716)+4) );
            shadowColor←v12576 = (* (( (ptr) textData←v23716)+16) );
            goto lab←L100034;
            };
         };
      };
   /* removed tail goto */ 
   lab←L100034: ;
   (*  (ptr) formal←c0327 ) = textColor←v12548;
   (* (( (ptr) formal←c0327)+1) ) = shadowColor←v12576;
   return;
   }

static void SetTextColors←P1440(slice←v12636, textColor←v12664, useTextColor←v12692, shadowColor←v12720, useShadowColor←v12748, history←v12776)
   word slice←v12636;
   word textColor←v12664;
   word useTextColor←v12692;
   word shadowColor←v12720;
   word useShadowColor←v12748;
   word history←v12776;
   {
   register ptr gf←c97424 =  (ptr) &globalframe;
   /* SetTextColors: */ 
SOURCE(19845, 367)
SOURCE(20023, 189)
   {
      word pd250;
      pd250 = (* (( (ptr) (* (( (ptr) gf←c97424)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd250 ))))(slice←v12636, pd250) == (* (( (ptr) gf←c97424)+40) ))) {
SOURCE(20063, 151)
         {
            word textData←v23760;
SOURCE(20065, 39)
            textData←v23760 = XR←Narrow((* (( (ptr) slice←v12636)+1) ), (* (( (ptr) gf←c97424)+33) ));
SOURCE(20106, 47)
            if ((0 != useTextColor←v12692)) {
SOURCE(20127, 26)
               (* (( (ptr) textData←v23760)+4) ) = textColor←v12664;
               };
SOURCE(20155, 57)
            if ((0 != useShadowColor←v12748)) {
SOURCE(20178, 34)
               (* (( (ptr) textData←v23760)+16) ) = shadowColor←v12720;
               };
            };
         };
      };
   }

static word GetTextLineSpacing←P1500(slice←v12836)
   word slice←v12836;
   {
   register ptr gf←c97456 =  (ptr) &globalframe;
   word var←c12880;
   /* GetTextLineSpacing: */ 
SOURCE(20221, 197)
SOURCE(20287, 131)
   {
      word pd251;
      pd251 = (* (( (ptr) (* (( (ptr) gf←c97456)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd251 ))))(slice←v12836, pd251) == (* (( (ptr) gf←c97456)+40) ))) {
SOURCE(20327, 73)
         {
            word textData←v23804;
SOURCE(20329, 39)
            textData←v23804 = XR←Narrow((* (( (ptr) slice←v12836)+1) ), (* (( (ptr) gf←c97456)+33) ));
SOURCE(20370, 28)
            return((* (( (ptr) textData←v23804)+17) ));
            };
         }
      else {
SOURCE(20407, 11)
         return((*  (ptr) &fc154 ));
         };
      };
   }

static void SetTextLineSpacing←P1560(slice←v12940, lineSpacing←v12968, history←v12996)
   word slice←v12940;
   word lineSpacing←v12968;
   word history←v12996;
   {
   register ptr gf←c97488 =  (ptr) &globalframe;
   /* SetTextLineSpacing: */ 
SOURCE(20424, 210)
SOURCE(20517, 117)
   {
      word pd252;
      pd252 = (* (( (ptr) (* (( (ptr) gf←c97488)+283)/* var←c89776 */  ))+6) );
      if (((word) ( *( (fPt) ((*  (ptr) pd252 ))))(slice←v12940, pd252) == (* (( (ptr) gf←c97488)+40) ))) {
SOURCE(20557, 79)
         {
            word textData←v23848;
SOURCE(20559, 39)
            textData←v23848 = XR←Narrow((* (( (ptr) slice←v12940)+1) ), (* (( (ptr) gf←c97488)+33) ));
SOURCE(20600, 34)
            (* (( (ptr) textData←v23848)+17) ) = lineSpacing←v12968;
            };
         };
      };
   }

static void SetTextDisplayStyle←P1620(slice←v13056, displayStyle←v13084, history←v13112)
   word slice←v13056;
   word displayStyle←v13084;
   word history←v13112;
   {
   register ptr gf←c97520 =  (ptr) &globalframe;
   word textData←v23892;
   /* SetTextDisplayStyle: */ 
SOURCE(20643, 254)
SOURCE(20746, 39)
   textData←v23892 = XR←Narrow((* (( (ptr) slice←v13056)+1) ), (* (( (ptr) gf←c97520)+33) ));
SOURCE(20787, 72)
   if ((displayStyle←v13084 != (* (( (ptr) textData←v23892)+8) ))) {
SOURCE(20832, 27)
      {
         word pd253;
         pd253 = (* (( (ptr) (* (( (ptr) gf←c97520)+279)/* var←c89296 */  ))+68) );
         (void) ( *( (fPt) ((*  (ptr) pd253 ))))(slice←v13056, pd253);
         };
      };
SOURCE(20861, 36)
   (* (( (ptr) textData←v23892)+8) ) = displayStyle←v13084;
   }

static void OutlinesFromTextString←P1680(formal←c0358, slice←v13172)
   word formal←c0358;
   word slice←v13172;
   {
   W13 var←c97552;
   register ptr gf←c97584 =  (ptr) &globalframe;
   word shadowOutlines←v13216;
   word outlines←v13244;
   /* declaration of var←c92016 skipped */ 
   /* declaration of textData←v23936 skipped */ 
   /* declaration of fontData←v23964 skipped */ 
   /* declaration of font←v23992 skipped */ 
   /* declaration of amplifySpace←v24020 skipped */ 
   word camera←v24048;
   word fakeScene←v24104 = 0;
   /* declaration of shadows←v24132 skipped */ 
   /* declaration of tVec←v24160 skipped */ 
   /* OutlinesFromTextString: */ 
SOURCE(20903, 1728)
   {
      word tmpAddr254;
      tmpAddr254 = (word) (( (ptr) &var←c97552)+4)/* var←c92016 */ ;
      (*  (ptr) tmpAddr254 ) = ( ((word)  (fPt) SplinesFromTextString←P5712) );
      (* (( (ptr) tmpAddr254) + 1) ) = 1;
      };
SOURCE(20903, 1728)
   shadowOutlines←v13216 = 0;
SOURCE(20903, 1728)
   outlines←v13244 = 0;
SOURCE(21008, 39)
   (* (( (ptr) &var←c97552)+6)/* textData←v23936 */  ) = XR←Narrow((* (( (ptr) slice←v13172)+1) ), (* (( (ptr) gf←c97584)+33)
       ));
SOURCE(21049, 38)
   (* (( (ptr) &var←c97552)+7)/* fontData←v23964 */  ) = (* (( (ptr) (* (( (ptr) &var←c97552)+6)/* textData←v23936 */  ))+5)
    );
SOURCE(21089, 30)
   (* (( (ptr) &var←c97552)+8)/* font←v23992 */  ) = (* (( (ptr) (* (( (ptr) &var←c97552)+6)/* textData←v23936 */  ))+6) );
SOURCE(21121, 42)
   (* (( (ptr) &var←c97552)+9)/* amplifySpace←v24020 */  ) = (* (( (ptr) (* (( (ptr) &var←c97552)+6)/* textData←v23936 */  ))+12)
    );
SOURCE(21165, 31)
   camera←v24048 = XR←NewObject(20, (* (( (ptr) gf←c97584)+22) ));
   (* (( (ptr) camera←v24048)+4) ) = (*  (ptr) &fc129 );
SOURCE(22220, 20)
   (* (( (ptr) &var←c97552)+10)/* shadows←v24132 */  ) = 1;
SOURCE(22253, 244)
   if ((0 != (* (( (ptr) (* (( (ptr) &var←c97552)+6)/* textData←v23936 */  ))+13) ))) {
SOURCE(22285, 92)
      {
         word x255;
         word x256;
         *(float*)(( (ptr) &var←c97552)+11) = (
            x255 = (* (( (ptr) (* (( (ptr) &var←c97552)+6)/* textData←v23936 */  ))+14) ),  *(float*)&x255
            ) * (
            x256 = (* (( (ptr) gf←c97584)+11)/* dropScale←v8460 */  ),  *(float*)&x256
            );
         };
      {
         word x257;
         word x258;
         *(float*)(( (ptr) &var←c97552)+12) = (
            x257 = (* (( (ptr) (* (( (ptr) &var←c97552)+6)/* textData←v23936 */  ))+15) ),  *(float*)&x257
            ) * (
            x258 = (* (( (ptr) gf←c97584)+11)/* dropScale←v8460 */  ),  *(float*)&x258
            );
         };
SOURCE(22379, 63)
      {
         word pd259;
         pd259 = (* (( (ptr) (* (( (ptr) gf←c97584)+296)/* var←c92080 */  ))+5) );
         fakeScene←v24104 = (word) ( *( (fPt) ((*  (ptr) pd259 ))))((word) (( (bPt) &var←c97552)+16)/* var←c92016 */ , camera←v24048, pd259)
         ;
         };
SOURCE(22444, 53)
      {
         word pd260;
         pd260 = (* (( (ptr) (* (( (ptr) gf←c97584)+297)/* var←c92112 */  ))+33) );
         shadowOutlines←v13216 = (word) ( *( (fPt) ((*  (ptr) pd260 ))))(fakeScene←v24104, 0, 0, pd260);
         };
      };
SOURCE(22502, 15)
   (* (( (ptr) &var←c97552)+10)/* shadows←v24132 */  ) = 0;
SOURCE(22519, 63)
   {
      word pd261;
      pd261 = (* (( (ptr) (* (( (ptr) gf←c97584)+296)/* var←c92080 */  ))+5) );
      fakeScene←v24104 = (word) ( *( (fPt) ((*  (ptr) pd261 ))))((word) (( (bPt) &var←c97552)+16)/* var←c92016 */ , camera←v24048, pd261)
      ;
      };
SOURCE(22584, 47)
   {
      word pd262;
      pd262 = (* (( (ptr) (* (( (ptr) gf←c97584)+297)/* var←c92112 */  ))+33) );
      outlines←v13244 = (word) ( *( (fPt) ((*  (ptr) pd262 ))))(fakeScene←v24104, 0, 0, pd262);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0358 ) = shadowOutlines←v13216;
   (* (( (ptr) formal←c0358)+1) ) = outlines←v13244;
   return;
   }

static void SplinesFromTextString←P5712(formal←c01206, formal←c97680)
   word formal←c01206;
   word formal←c97680;
   {
   W7 var←c97616;
   /* declaration of dc←v24236 skipped */ 
   register ptr gf←c97648 =  (ptr) &globalframe;
   /* declaration of var←c92144 skipped */ 
   formal←c97680 = (formal←c97680 - 16);
   var←c97616.f4/* dc←v24236 */  = formal←c01206;
   var←c97616.f0 = formal←c97680;
   /* SplinesFromTextString: */ 
SOURCE(21254, 943)
   {
      word tmpAddr263;
      tmpAddr263 = (word) (( (ptr) &var←c97616)+5)/* var←c92144 */ ;
      (*  (ptr) tmpAddr263 ) = ( ((word)  (fPt) SplinesFromChar←P5772) );
      (* (( (ptr) tmpAddr263) + 1) ) = 1;
      };
SOURCE(21817, 200)
   if ((0 != (* (( (ptr) formal←c97680)+10) ))) {
SOURCE(21833, 101)
      {
         word pd264;
         pd264 = (* (( (ptr) (* (( (ptr) gf←c97648)+298)/* var←c92176 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd264 ))))(var←c97616.f4/* dc←v24236 */ ,  ( ((* (( (ptr) (* (( (ptr) formal←c97680)+6) ))+16)
             ) == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c97648)+289)/* var←c90416 */  ))+54) ) ) : (* (( (ptr) (* (( (ptr) formal←c97680)+6)
                ))+16) ) ) , 0, pd264);
         };
      }
   else {
SOURCE(21934, 83)
      {
         word pd265;
         pd265 = (* (( (ptr) (* (( (ptr) gf←c97648)+298)/* var←c92176 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd265 ))))(var←c97616.f4/* dc←v24236 */ ,  ( ((* (( (ptr) (* (( (ptr) formal←c97680)+6) ))+4)
             ) == 0) ? (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c97648)+289)/* var←c90416 */  ))+54) ) ) : (* (( (ptr) (* (( (ptr) formal←c97680)+6)
                ))+4) ) ) , 0, pd265);
         };
      };
SOURCE(22019, 38)
   {
      word pd266;
      pd266 = (* (( (ptr) (* (( (ptr) gf←c97648)+289)/* var←c90416 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd266 ))))(var←c97616.f4/* dc←v24236 */ , (* (( (ptr) (* (( (ptr) formal←c97680)+7) ))+5) ), pd266)
      ;
      };
SOURCE(22059, 43)
   if ((0 != (* (( (ptr) formal←c97680)+10) ))) {
SOURCE(22075, 27)
      {
         word pd267;
         pd267 = (* (( (ptr) (* (( (ptr) gf←c97648)+289)/* var←c90416 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd267 ))))(var←c97616.f4/* dc←v24236 */ , (*  (W2Pt) (( (ptr) formal←c97680)+11) ), pd267);
         };
      };
SOURCE(22104, 28)
   {
      W2 var←c92208;
      var←c92208.f0 = (*  (ptr) &fc154 );
      var←c92208.f1 = (*  (ptr) &fc154 );
      {
         word pd268;
         pd268 = (* (( (ptr) (* (( (ptr) gf←c97648)+289)/* var←c90416 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd268 ))))(var←c97616.f4/* dc←v24236 */ , var←c92208, pd268);
         };
      };
SOURCE(22134, 63)
   {
      word pd269;
      pd269 = (* (( (ptr) (* (( (ptr) gf←c97648)+288)/* var←c90384 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd269 ))))((* (( (ptr) (* (( (ptr) formal←c97680)+6) ))+3) ), 0, 2147483647, (word) (( (bPt) &var←c97616)+20)
         /* var←c92144 */ , pd269);
      };
   }

static void SplinesFromChar←P5772(formal←c01207, formal←c97776)
   word formal←c01207;
   word formal←c97776;
   {
   W7 var←c97712;
   /* declaration of char←v24340 skipped */ 
   register ptr gf←c97744 =  (ptr) &globalframe;
   /* declaration of var←c92240 skipped */ 
   formal←c97776 = (formal←c97776 - 20);
   var←c97712.f4/* char←v24340 */  = formal←c01207;
   var←c97712.f0 = formal←c97776;
   /* SplinesFromChar: */ 
SOURCE(21307, 505)
   {
      word tmpAddr270;
      tmpAddr270 = (word) (( (ptr) &var←c97712)+5)/* var←c92240 */ ;
      (*  (ptr) tmpAddr270 ) = ( ((word)  (fPt) proc←P5832) );
      (* (( (ptr) tmpAddr270) + 1) ) = 1;
      };
SOURCE(21789, 23)
   {
      word pd271;
      pd271 = (* (( (ptr) (* (( (ptr) gf←c97744)+289)/* var←c90416 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd271 ))))((* (( (ptr) formal←c97776)+4) ), (word) (( (bPt) &var←c97712)+20)/* var←c92240 */ , pd271)
      ;
      };
   }

static void proc←P5832(formal←c97840)
   word formal←c97840;
   {
   register ptr gf←c97808 =  (ptr) &globalframe;
   W2 escapement←v24428;
   formal←c97840 = (formal←c97840 - 20);
   /* proc: */ 
SOURCE(21352, 414)
SOURCE(21367, 51)
   {
      word pd272;
      pd272 = (* (( (ptr) (* (( (ptr) gf←c97808)+288)/* var←c90384 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd272 ))))((word) &escapement←v24428, (* (( (ptr) (*  (ptr) (*  (ptr) formal←c97840 ) ))+8) ), (* (
            ( (ptr) formal←c97840)+4) ), pd272);
      };
SOURCE(21420, 114)
   {
      word tc273;
      word x274;
      word x275;
      word pd276;
      if (((
         x274 = (* (( (ptr) (*  (ptr) (*  (ptr) formal←c97840 ) ))+9) ),  *(float*)&x274
         ) != (
         x275 = (*  (ptr) &fc129 ),  *(float*)&x275
         ))) {
         pd276 = (* (( (ptr) (* (( (ptr) gf←c97808)+288)/* var←c90384 */  ))+15) );
         tc273 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd276 ))))((* (( (ptr) (*  (ptr) (*  (ptr) formal←c97840 ) ))+8) ), (* (
               ( (ptr) formal←c97840)+4) ), pd276));
         }
      else {
         tc273 =  (word) 0;
         };
      if (tc273) {
SOURCE(21484, 50)
         {
            word pd277;
            pd277 = (* (( (ptr) (* (( (ptr) gf←c97808)+299)/* var←c92272 */  ))+10) );
            (void) ( *( (fPt) ((*  (ptr) pd277 ))))((word) &escapement←v24428, escapement←v24428, (* (( (ptr) (*  (ptr) (*  (ptr) formal←c97840 ) ))+9)
                ), pd277);
            };
         };
      };
SOURCE(21539, 15)
   {
      word pd278;
      pd278 = (* (( (ptr) (* (( (ptr) gf←c97808)+289)/* var←c90416 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd278 ))))((* ((( (ptr) (*  (ptr) formal←c97840 ))+4)) ), pd278);
      };
SOURCE(21556, 39)
   {
      word pd279;
      pd279 = (* (( (ptr) (* (( (ptr) gf←c97808)+300)/* var←c92304 */  ))+9) );
      (void) ( *( (fPt) ((*  (ptr) pd279 ))))((* (( (ptr) (*  (ptr) (*  (ptr) formal←c97840 ) ))+8) ), (* (( (ptr) formal←c97840)+4)
          ), (* (( (ptr) (*  (ptr) formal←c97840 ))+4) ), pd279);
      };
SOURCE(21597, 31)
   {
      word pd280;
      pd280 = (* (( (ptr) (* (( (ptr) gf←c97808)+289)/* var←c90416 */  ))+23) );
      (void) ( *( (fPt) ((*  (ptr) pd280 ))))((* (( (ptr) (*  (ptr) formal←c97840 ))+4) ), escapement←v24428, pd280);
      };
SOURCE(21630, 136)
   {
      word var←c92336;
      {
         word pd281;
         pd281 = (* (( (ptr) (* (( (ptr) gf←c97808)+288)/* var←c90384 */  ))+16) );
         var←c92336 = (word) ( *( (fPt) ((*  (ptr) pd281 ))))((* (( (ptr) (*  (ptr) (*  (ptr) formal←c97840 ) ))+8) ), (* (( (ptr) formal←c97840)+4)
             ), pd281);
         };
      switch (var←c92336) {
         case 2: 
            break;
         case 1: 
SOURCE(21699, 35)
            {
               word pd282;
               pd282 = (* (( (ptr) (* (( (ptr) gf←c97808)+289)/* var←c90416 */  ))+44) );
               (void) ( *( (fPt) ((*  (ptr) pd282 ))))((* (( (ptr) (*  (ptr) formal←c97840 ))+4) ), escapement←v24428, pd282);
               };
            break;
         case 0: 
SOURCE(21744, 22)
            {
               word pd283;
               pd283 = (* (( (ptr) (* (( (ptr) gf←c97808)+289)/* var←c90416 */  ))+43) );
               (void) ( *( (fPt) ((*  (ptr) pd283 ))))((* ((( (ptr) (*  (ptr) formal←c97840 ))+4)) ), pd283);
               };
            break;
         default: 
SOURCE(21779, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   }

static void StringEscapement←P1740(formal←c0374, formal←c01208, string←v13416, formal←c01209)
   word formal←c0374;
   word formal←c01208;
   word string←v13416;
   word formal←c01209;
   {
   W10 var←c97872;
   /* declaration of font←v13388 skipped */ 
   /* declaration of amplifySpace←v13444 skipped */ 
   W2 var←c13488;
   /* declaration of var←c92368 skipped */ 
   /* declaration of sum←v24472 skipped */ 
   (* (( (ptr) &var←c97872)+4)/* font←v13388 */  ) = formal←c01208;
   (* (( (ptr) &var←c97872)+5)/* amplifySpace←v13444 */  ) = formal←c01209;
   /* StringEscapement: */ 
SOURCE(22636, 418)
   {
      word tmpAddr284;
      tmpAddr284 = (word) (( (ptr) &var←c97872)+6)/* var←c92368 */ ;
      (*  (ptr) tmpAddr284 ) = ( ((word)  (fPt) charAction←P5892) );
      (* (( (ptr) tmpAddr284) + 1) ) = 1;
      };
SOURCE(22753, 17)
   (* (( (ptr) &var←c97872)+8) ) = (*  (ptr) &fc154 );
   (* (( (ptr) &var←c97872)+9) ) = (*  (ptr) &fc154 );
SOURCE(23023, 18)
   (void) ( *( (fPt) ((*  (ptr) string←v13416 ))))((word) ((( (bPt) &var←c97872)+24)/* var←c92368 */ ), string←v13416);
SOURCE(23043, 11)
   var←c13488 = (*  (W2Pt) (( (ptr) &var←c97872)+8)/* sum←v24472 */  );
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0374 ) = var←c13488;
   return;
   }

static void charAction←P5892(char←v73648, formal←c97936)
   word char←v73648;
   word formal←c97936;
   {
   register ptr gf←c97904 =  (ptr) &globalframe;
   W2 width←v24544;
   formal←c97936 = (formal←c97936 - 24);
   /* charAction: */ 
SOURCE(22772, 246)
SOURCE(22821, 41)
   {
      word pd285;
      pd285 = (* (( (ptr) (* (( (ptr) gf←c97904)+288)/* var←c90384 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd285 ))))((word) &width←v24544, (* (( (ptr) formal←c97936)+4) ), char←v73648, pd285);
      };
SOURCE(22864, 105)
   {
      word pd286;
      pd286 = (* (( (ptr) (* (( (ptr) gf←c97904)+288)/* var←c90384 */  ))+15) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd286 ))))((* (( (ptr) formal←c97936)+4) ), char←v73648, pd286))) {
SOURCE(22907, 30)
         {
            word x287;
            word x288;
            *(float*)&width←v24544.f0 = (
               x287 = width←v24544.f0,  *(float*)&x287
               ) * (
               x288 = (* (( (ptr) formal←c97936)+5) ),  *(float*)&x288
               );
            };
SOURCE(22939, 30)
         {
            word x289;
            word x290;
            *(float*)&width←v24544.f1 = (
               x289 = width←v24544.f1,  *(float*)&x289
               ) * (
               x290 = (* (( (ptr) formal←c97936)+5) ),  *(float*)&x290
               );
            };
         };
      };
SOURCE(22974, 21)
   {
      word x291;
      word x292;
      *(float*)(( (ptr) formal←c97936)+8) = (
         x291 = (* (( (ptr) formal←c97936)+8) ),  *(float*)&x291
         ) + (
         x292 = width←v24544.f0,  *(float*)&x292
         );
      };
SOURCE(22997, 21)
   {
      word x293;
      word x294;
      *(float*)(( (ptr) formal←c97936)+9) = (
         x293 = (* (( (ptr) formal←c97936)+9) ),  *(float*)&x293
         ) + (
         x294 = width←v24544.f1,  *(float*)&x294
         );
      };
   }

static void RopeEscapement←P1800(formal←c0387, font←v13548, formal←c01210, amplifySpace←v13604, formal←c01211, formal←c01212)
   word formal←c0387;
   word font←v13548;
   word formal←c01210;
   word amplifySpace←v13604;
   word formal←c01211;
   word formal←c01212;
   {
   W9 var←c97968;
   /* declaration of rope←v13576 skipped */ 
   /* declaration of start←v13632 skipped */ 
   /* declaration of len←v13660 skipped */ 
   W2 var←c13704;
   /* declaration of var←c92432 skipped */ 
   (* (( (ptr) &var←c97968)+4)/* rope←v13576 */  ) = formal←c01210;
   (* (( (ptr) &var←c97968)+5)/* start←v13632 */  ) = formal←c01211;
   (* (( (ptr) &var←c97968)+6)/* len←v13660 */  ) = formal←c01212;
   /* RopeEscapement: */ 
SOURCE(23060, 276)
   {
      word tmpAddr295;
      tmpAddr295 = (word) (( (ptr) &var←c97968)+7)/* var←c92432 */ ;
      (*  (ptr) tmpAddr295 ) = ( ((word)  (fPt) string←P5952) );
      (* (( (ptr) tmpAddr295) + 1) ) = 1;
      };
SOURCE(23284, 52)
   {
      W2 var←c92496;
      (void) StringEscapement←P1740((word) &var←c92496, font←v13548, (word) (( (bPt) &var←c97968)+28)/* var←c92432 */ , amplifySpace←v13604)
      ;
      var←c13704 = var←c92496;
      /* removed tail goto */ 
      };
   (*  (W2Pt) formal←c0387 ) = var←c13704;
   return;
   }

static void string←P5952(charAction←v73708, formal←c98032)
   word charAction←v73708;
   word formal←c98032;
   {
   register ptr gf←c98000 =  (ptr) &globalframe;
   formal←c98032 = (formal←c98032 - 28);
   /* string: */ 
SOURCE(23197, 84)
SOURCE(23232, 49)
   {
      word pd296;
      pd296 = (* (( (ptr) (* (( (ptr) gf←c98000)+288)/* var←c90384 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd296 ))))((* (( (ptr) formal←c98032)+4) ), (* (( (ptr) formal←c98032)+5) ), (* (( (ptr) formal←c98032)+6)
          ), charAction←v73708, pd296);
      };
   }

static void UpdateTextPoints←P1860(textData←v13764, left←v13792, middle←v13820, right←v13848, bottom←v13876, base←v13904, center←v13932, top←v13960)
   word textData←v13764;
   word left←v13792;
   word middle←v13820;
   word right←v13848;
   word bottom←v13876;
   word base←v13904;
   word center←v13932;
   word top←v13960;
   {
   /* UpdateTextPoints: */ 
SOURCE(23342, 543)
SOURCE(23444, 35)
   {
      word var←c92528;
      var←c92528 = (* (( (ptr) textData←v13764)+1) );
      (*  (ptr) var←c92528 ) = left←v13792;
      (* (( (ptr) var←c92528)+1) ) = bottom←v13876;
      };
SOURCE(23481, 33)
   {
      word var←c92560;
      var←c92560 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+8);
      (*  (ptr) var←c92560 ) = left←v13792;
      (* (( (ptr) var←c92560)+1) ) = base←v13904;
      };
SOURCE(23516, 35)
   {
      word var←c92592;
      var←c92592 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+16);
      (*  (ptr) var←c92592 ) = left←v13792;
      (* (( (ptr) var←c92592)+1) ) = center←v13932;
      };
SOURCE(23553, 32)
   {
      word var←c92624;
      var←c92624 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+24);
      (*  (ptr) var←c92624 ) = left←v13792;
      (* (( (ptr) var←c92624)+1) ) = top←v13960;
      };
SOURCE(23587, 37)
   {
      word var←c92656;
      var←c92656 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+32);
      (*  (ptr) var←c92656 ) = middle←v13820;
      (* (( (ptr) var←c92656)+1) ) = bottom←v13876;
      };
SOURCE(23626, 35)
   {
      word var←c92688;
      var←c92688 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+40);
      (*  (ptr) var←c92688 ) = middle←v13820;
      (* (( (ptr) var←c92688)+1) ) = base←v13904;
      };
SOURCE(23663, 37)
   {
      word var←c92720;
      var←c92720 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+48);
      (*  (ptr) var←c92720 ) = middle←v13820;
      (* (( (ptr) var←c92720)+1) ) = center←v13932;
      };
SOURCE(23702, 34)
   {
      word var←c92752;
      var←c92752 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+56);
      (*  (ptr) var←c92752 ) = middle←v13820;
      (* (( (ptr) var←c92752)+1) ) = top←v13960;
      };
SOURCE(23738, 36)
   {
      word var←c92784;
      var←c92784 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+64);
      (*  (ptr) var←c92784 ) = right←v13848;
      (* (( (ptr) var←c92784)+1) ) = bottom←v13876;
      };
SOURCE(23776, 34)
   {
      word var←c92816;
      var←c92816 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+72);
      (*  (ptr) var←c92816 ) = right←v13848;
      (* (( (ptr) var←c92816)+1) ) = base←v13904;
      };
SOURCE(23812, 37)
   {
      word var←c92848;
      var←c92848 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+80);
      (*  (ptr) var←c92848 ) = right←v13848;
      (* (( (ptr) var←c92848)+1) ) = center←v13932;
      };
SOURCE(23851, 34)
   {
      word var←c92880;
      var←c92880 = (word) (( (bPt) (* (( (ptr) textData←v13764)+1) ))+88);
      (*  (ptr) var←c92880 ) = right←v13848;
      (* (( (ptr) var←c92880)+1) ) = top←v13960;
      };
   }

static void NewComputeTextBounds←P1920(formal←c0425, font←v14020, namelessFont←v14048, rope←v14076, amplifySpace←v14104)
   word formal←c0425;
   word font←v14020;
   word namelessFont←v14048;
   word rope←v14076;
   word amplifySpace←v14104;
   {
   register ptr gf←c98064 =  (ptr) &globalframe;
   W4 boundBox←v14148;
   W4 feedbackBox←v14176;
   W4 fontExtents←v24632;
   word fbRight←v24660;
   word bTop←v24688;
   word bBottom←v24716;
   word cpBottom←v24744;
   word cpTop←v24772;
   /* NewComputeTextBounds: */ 
SOURCE(24000, 898)
SOURCE(24190, 51)
   fbRight←v24660 = (*  (ptr) &fc154 );
   bTop←v24688 = (*  (ptr) &fc154 );
   bBottom←v24716 = (*  (ptr) &fc154 );
   cpBottom←v24744 = (*  (ptr) &fc154 );
   cpTop←v24772 = (*  (ptr) &fc154 );
   {
      W2 var←c0421;
SOURCE(24243, 52)
      (void) RopeEscapement←P1800((word) &var←c0421, font←v14020, rope←v14076, amplifySpace←v14104, 0, 2147483647);
      fbRight←v24660 = var←c0421.f0;
SOURCE(24328, 52)
      {
         word pd297;
         pd297 = (* (( (ptr) (* (( (ptr) gf←c98064)+288)/* var←c90384 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd297 ))))((word) &fontExtents←v24632, font←v14020, rope←v14076, 0, 2147483647, (*  (ptr) &fc129 ), pd297)
         ;
         };
SOURCE(24382, 48)
      {
         word pd298;
         pd298 = (* (( (ptr) (* (( (ptr) gf←c98064)+301)/* var←c92912 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd298 ))))((word) &boundBox←v14148, fontExtents←v24632, pd298);
         };
SOURCE(24463, 26)
      cpTop←v24772 = fontExtents←v24632.f3;
SOURCE(24520, 31)
      {
         word x299;
         *(float*)&cpBottom←v24744 =  - (
            x299 = fontExtents←v24632.f2,  *(float*)&x299
            );
         };
SOURCE(24585, 231)
      if ((namelessFont←v14048 == 0)) {
SOURCE(24664, 62)
         {
            word pd300;
            pd300 = (* (( (ptr) (* (( (ptr) gf←c98064)+288)/* var←c90384 */  ))+28) );
            (void) ( *( (fPt) ((*  (ptr) pd300 ))))((word) &fontExtents←v24632, font←v14020, (* (( (ptr) gf←c98064)+39) ), 0, 2147483647, (*  (ptr) &fc129 ), pd300)
            ;
            };
SOURCE(24728, 26)
         cpTop←v24772 = fontExtents←v24632.f3;
SOURCE(24785, 31)
         {
            word x301;
            *(float*)&cpBottom←v24744 =  - (
               x301 = fontExtents←v24632.f2,  *(float*)&x301
               );
            };
         };
SOURCE(24853, 45)
      feedbackBox←v14176.f0 = (*  (ptr) &fc154 );
      feedbackBox←v14176.f1 = cpBottom←v24744;
      feedbackBox←v14176.f2 = fbRight←v24660;
      feedbackBox←v14176.f3 = cpTop←v24772;
      };
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0425 ) = boundBox←v14148;
   (*  (W4Pt) (( (ptr) formal←c0425)+4) ) = feedbackBox←v14176;
   return;
   }

static void NewTextGetBoundBoxAux←P1980(formal←c0441, slice←v14236, parts←v14264)
   word formal←c0441;
   word slice←v14236;
   word parts←v14264;
   {
   register ptr gf←c98096 =  (ptr) &globalframe;
   word tightBox←v14308;
   word boundBox←v14336;
   word textData←v24816;
   word fontData←v24844;
   W4 eBox←v24872;
   W4 fBox←v24900;
   W4 uBox←v24928;
   word screenFont←v24956 = 0;
   /* NewTextGetBoundBoxAux: */ 
SOURCE(24904, 2804)
SOURCE(24904, 2804)
   tightBox←v14308 = 0;
SOURCE(24904, 2804)
   boundBox←v14336 = 0;
SOURCE(25014, 39)
   textData←v24816 = XR←Narrow((* (( (ptr) slice←v14236)+1) ), (* (( (ptr) gf←c98096)+33) ));
SOURCE(25055, 38)
   fontData←v24844 = (* (( (ptr) textData←v24816)+5) );
   {
      W8 var←c0438;
SOURCE(25581, 124)
      {
         W8 var←c92944;
         (void) NewComputeTextBounds←P1920((word) &var←c92944, (* (( (ptr) textData←v24816)+6) ), (* (( (ptr) (* (( (ptr) textData←v24816)+5)
                ))+15) ), (* (( (ptr) textData←v24816)+3) ), (* (( (ptr) textData←v24816)+12) ));
         fBox←v24900 = (*  (W4Pt) (( (ptr) &var←c92944)+4) );
         eBox←v24872 = (*  (W4Pt) &var←c92944 );
         };
SOURCE(25707, 214)
      if (((* (( (ptr) textData←v24816)+8) ) == 0)) { goto then0302;};
      screenFont←v24956 = (word) GetScreenFont←P2760(textData←v24816);
      if ((screenFont←v24956 == 0)) {
         then0302: ;
         }
      else {
SOURCE(25803, 118)
         (void) NewComputeTextBounds←P1920((word) &var←c0438, screenFont←v24956, (* (( (ptr) (* (( (ptr) textData←v24816)+5) ))+15)
             ), (* (( (ptr) textData←v24816)+3) ), (* (( (ptr) textData←v24816)+12) ));
         eBox←v24872 = (*  (W4Pt) &var←c0438 );
         };
SOURCE(26069, 83)
      {
         word pd303;
         pd303 = (* (( (ptr) (* (( (ptr) gf←c98096)+280)/* var←c89360 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd303 ))))((*  (ptr) textData←v24816 ), fBox←v24900.f0, fBox←v24900.f1, fBox←v24900.f2, fBox←v24900.f3, pd303)
         ;
         };
SOURCE(26254, 83)
      {
         word pd304;
         pd304 = (* (( (ptr) (* (( (ptr) gf←c98096)+280)/* var←c89360 */  ))+19) );
         (void) ( *( (fPt) ((*  (ptr) pd304 ))))((*  (ptr) textData←v24816 ), (*  (ptr) textData←v24816 ), (* (( (ptr) fontData←v24844)+5)
             ), pd304);
         };
SOURCE(26363, 59)
      {
         word pd305;
         pd305 = (* (( (ptr) (* (( (ptr) gf←c98096)+280)/* var←c89360 */  ))+20) );
         (void) ( *( (fPt) ((*  (ptr) pd305 ))))((* (( (ptr) slice←v14236)+13) ), (*  (ptr) textData←v24816 ), pd305);
         };
SOURCE(26479, 40)
      {
         word pd306;
         pd306 = (* (( (ptr) (* (( (ptr) gf←c98096)+301)/* var←c92912 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd306 ))))((word) &uBox←v24928, fBox←v24900, eBox←v24872, pd306);
         };
SOURCE(26564, 85)
      {
         word pd307;
         pd307 = (* (( (ptr) (* (( (ptr) gf←c98096)+280)/* var←c89360 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd307 ))))((* (( (ptr) slice←v14236)+15) ), uBox←v24928.f0, uBox←v24928.f1, uBox←v24928.f2, uBox←v24928.f3, pd307)
         ;
         };
SOURCE(26686, 158)
      if ((0 != (* (( (ptr) textData←v24816)+13) ))) {
SOURCE(26716, 128)
         {
            W2 var←c92976;
            {
               word x308;
               word x309;
               *(float*)&var←c92976.f0 = (
                  x308 = (* (( (ptr) textData←v24816)+14) ),  *(float*)&x308
                  ) * (
                  x309 = (* (( (ptr) gf←c98096)+11)/* dropScale←v8460 */  ),  *(float*)&x309
                  );
               };
            {
               word x310;
               word x311;
               *(float*)&var←c92976.f1 = (
                  x310 = (* (( (ptr) textData←v24816)+15) ),  *(float*)&x310
                  ) * (
                  x311 = (* (( (ptr) gf←c98096)+11)/* dropScale←v8460 */  ),  *(float*)&x311
                  );
               };
            {
               word pd312;
               pd312 = (* (( (ptr) (* (( (ptr) gf←c98096)+280)/* var←c89360 */  ))+16) );
               (void) ( *( (fPt) ((*  (ptr) pd312 ))))((* (( (ptr) slice←v14236)+15) ), var←c92976, pd312);
               };
            };
         };
SOURCE(26875, 87)
      {
         word pd313;
         pd313 = (* (( (ptr) (* (( (ptr) gf←c98096)+280)/* var←c89360 */  ))+19) );
         (void) ( *( (fPt) ((*  (ptr) pd313 ))))((* (( (ptr) slice←v14236)+15) ), (* (( (ptr) slice←v14236)+15) ), (* (( (ptr) fontData←v24844)+5)
             ), pd313);
         };
SOURCE(26988, 64)
      {
         word pd314;
         word x316;
         word x317;
         float tf318;
         pd314 = (* (( (ptr) (* (( (ptr) gf←c98096)+280)/* var←c89360 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd314 ))))((* (( (ptr) slice←v14236)+15) ), (
               tf318 = (
                  x316 = (*  (ptr) &fc315 ),  *(float*)&x316
                  ) + (
                  x317 = (*  (ptr) &fc129 ),  *(float*)&x317
                  ),  *(word*)&tf318
               ), pd314);
         };
SOURCE(27214, 184)
      {
         word x319;
         word x321;
         float tf322;
         word x323;
         word x324;
         word x325;
         float tf326;
         (void) UpdateTextPoints←P1860(textData←v24816, (*  (ptr) &fc154 ), (
               tf322 = (
                  x319 = fBox←v24900.f2,  *(float*)&x319
                  ) / (
                  x321 = (*  (ptr) &fc320 ),  *(float*)&x321
                  ),  *(word*)&tf322
               ), fBox←v24900.f2, fBox←v24900.f1, (*  (ptr) &fc154 )
            , (
               tf326 = ((
                  x323 = fBox←v24900.f3,  *(float*)&x323
                  ) + (
                  x324 = fBox←v24900.f1,  *(float*)&x324
                  )) / (
                  x325 = (*  (ptr) &fc320 ),  *(float*)&x325
                  ),  *(word*)&tf326
               ), fBox←v24900.f3);
         };
SOURCE(27430, 34)
      {
         word pd327;
         pd327 = (* (( (ptr) (* (( (ptr) gf←c98096)+279)/* var←c89296 */  ))+68) );
         (void) ( *( (fPt) ((*  (ptr) pd327 ))))((* ((( (ptr) slice←v14236)+2)) ), pd327);
         };
SOURCE(27496, 21)
      (* (( (ptr) slice←v14236)+16) ) = 1;
SOURCE(27576, 26)
      (* (( (ptr) slice←v14236)+14) ) = 1;
SOURCE(27656, 25)
      tightBox←v14308 = (* (( (ptr) slice←v14236)+13) );
SOURCE(27683, 25)
      boundBox←v14336 = (* (( (ptr) slice←v14236)+15) );
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0441 ) = tightBox←v14308;
   (* (( (ptr) formal←c0441)+1) ) = boundBox←v14336;
   return;
   }

static void ComputeTextBounds←P2040(formal←c0457, font←v14396, namelessFont←v14424, rope←v14452, amplifySpace←v14480)
   word formal←c0457;
   word font←v14396;
   word namelessFont←v14424;
   word rope←v14452;
   word amplifySpace←v14480;
   {
   register ptr gf←c98128 =  (ptr) &globalframe;
   word middle←v14524;
   word right←v14552;
   word bottom←v14580;
   word top←v14608;
   word cpBottom←v14636;
   word cpCenter←v14664;
   word cpTop←v14692;
   W4 fontExtents←v25000;
   /* ComputeTextBounds: */ 
SOURCE(27715, 642)
   {
      W2 var←c0454;
SOURCE(27934, 50)
      (void) RopeEscapement←P1800((word) &var←c0454, font←v14396, rope←v14452, amplifySpace←v14480, 0, 2147483647);
      right←v14552 = var←c0454.f0;
SOURCE(27986, 27)
      {
         word x328;
         word x329;
         word x330;
         *(float*)&middle←v14524 = ((
            x328 = (*  (ptr) &fc154 ),  *(float*)&x328
            ) + (
            x329 = right←v14552,  *(float*)&x329
            )) / (
            x330 = (*  (ptr) &fc320 ),  *(float*)&x330
            );
         };
SOURCE(28015, 52)
      {
         word pd331;
         pd331 = (* (( (ptr) (* (( (ptr) gf←c98128)+288)/* var←c90384 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd331 ))))((word) &fontExtents←v25000, font←v14396, rope←v14452, 0, 2147483647, (*  (ptr) &fc129 ), pd331)
         ;
         };
SOURCE(28069, 24)
      top←v14608 = fontExtents←v25000.f3;
SOURCE(28095, 29)
      {
         word x332;
         *(float*)&bottom←v14580 =  - (
            x332 = fontExtents←v25000.f2,  *(float*)&x332
            );
         };
SOURCE(28126, 193)
      if ((namelessFont←v14424 != 0)) {
SOURCE(28155, 11)
         cpTop←v14692 = top←v14608;
SOURCE(28168, 17)
         cpBottom←v14636 = bottom←v14580;
         }
      else {
SOURCE(28196, 62)
         {
            word pd333;
            pd333 = (* (( (ptr) (* (( (ptr) gf←c98128)+288)/* var←c90384 */  ))+28) );
            (void) ( *( (fPt) ((*  (ptr) pd333 ))))((word) &fontExtents←v25000, font←v14396, (* (( (ptr) gf←c98128)+39) ), 0, 2147483647, (*  (ptr) &fc129 ), pd333)
            ;
            };
SOURCE(28260, 26)
         cpTop←v14692 = fontExtents←v25000.f3;
SOURCE(28288, 31)
         {
            word x334;
            *(float*)&cpBottom←v14636 =  - (
               x334 = fontExtents←v25000.f2,  *(float*)&x334
               );
            };
         };
SOURCE(28324, 33)
      {
         word x335;
         word x336;
         word x337;
         *(float*)&cpCenter←v14664 = ((
            x335 = cpTop←v14692,  *(float*)&x335
            ) + (
            x336 = cpBottom←v14636,  *(float*)&x336
            )) / (
            x337 = (*  (ptr) &fc320 ),  *(float*)&x337
            );
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0457 ) = middle←v14524;
   (* (( (ptr) formal←c0457)+1) ) = right←v14552;
   (* (( (ptr) formal←c0457)+2) ) = bottom←v14580;
   (* (( (ptr) formal←c0457)+3) ) = top←v14608;
   (* (( (ptr) formal←c0457)+4) ) = cpBottom←v14636;
   (* (( (ptr) formal←c0457)+5) ) = cpCenter←v14664;
   (* (( (ptr) formal←c0457)+6) ) = cpTop←v14692;
   return;
   }

static void TextGetBoundBoxAux←P2100(formal←c0465, slice←v14752, parts←v14780)
   word formal←c0465;
   word slice←v14752;
   word parts←v14780;
   {
   W6 var←c98160;
   register ptr gf←c98192 =  (ptr) &globalframe;
   word tightBox←v14824;
   word boundBox←v14852;
   /* declaration of var←c93008 skipped */ 
   /* TextGetBoundBoxAux: */ 
SOURCE(28363, 1894)
   {
      word tmpAddr338;
      tmpAddr338 = (word) (( (ptr) &var←c98160)+4)/* var←c93008 */ ;
      (*  (ptr) tmpAddr338 ) = ( ((word)  (fPt) TextFindBoundBox←P6012) );
      (* (( (ptr) tmpAddr338) + 1) ) = 1;
      };
SOURCE(28363, 1894)
   tightBox←v14824 = 0;
SOURCE(28363, 1894)
   boundBox←v14852 = 0;
SOURCE(29939, 53)
   {
      W2 var←c93040;
      (void) TextFindBoundBox←P6012((word) &var←c93040, slice←v14752, parts←v14780, (word) (( (bPt) &var←c98160)+16)/* var←c93008 */ )
      ;
      boundBox←v14852 = var←c93040.f1;
      tightBox←v14824 = var←c93040.f0;
      };
SOURCE(30021, 236)
   if ((parts←v14780 == 0)) {
SOURCE(30088, 34)
      {
         word pd339;
         pd339 = (* (( (ptr) (* (( (ptr) gf←c98192)+279)/* var←c89296 */  ))+68) );
         (void) ( *( (fPt) ((*  (ptr) pd339 ))))((* ((( (ptr) slice←v14752)+2)) ), pd339);
         };
SOURCE(30154, 25)
      (* (( (ptr) slice←v14752)+15) ) = boundBox←v14852;
SOURCE(30181, 25)
      (* (( (ptr) slice←v14752)+13) ) = tightBox←v14824;
SOURCE(30208, 21)
      (* (( (ptr) slice←v14752)+16) ) = 1;
SOURCE(30231, 26)
      (* (( (ptr) slice←v14752)+14) ) = 1;
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0465 ) = tightBox←v14824;
   (* (( (ptr) formal←c0465)+1) ) = boundBox←v14852;
   return;
   }

static void TextFindBoundBox←P6012(formal←c0489, slice←v25176, parts←v25204, formal←c98256)
   word formal←c0489;
   word slice←v25176;
   word parts←v25204;
   word formal←c98256;
   {
   register ptr gf←c98224 =  (ptr) &globalframe;
   word tightBox←v25248;
   word boundBox←v25276;
   word textData←v25304;
   word fontData←v25332;
   word middle←v25416;
   word right←v25444;
   word bottom←v25472;
   word top←v25500;
   word cpBottom←v25528;
   word cpCenter←v25556;
   word cpTop←v25584;
   word altMiddle←v25612;
   word altRight←v25640;
   word altBottom←v25668;
   word altTop←v25696;
   formal←c98256 = (formal←c98256 - 16);
   /* TextFindBoundBox: */ 
SOURCE(28470, 1463)
SOURCE(28470, 1463)
   tightBox←v25248 = 0;
SOURCE(28470, 1463)
   boundBox←v25276 = 0;
SOURCE(28570, 39)
   textData←v25304 = XR←Narrow((* (( (ptr) slice←v25176)+1) ), (* (( (ptr) gf←c98224)+33) ));
SOURCE(28611, 38)
   fontData←v25332 = (* (( (ptr) textData←v25304)+5) );
SOURCE(28783, 164)
   {
      W7 var←c93072;
      (void) ComputeTextBounds←P2040((word) &var←c93072, (* (( (ptr) textData←v25304)+6) ), (* (( (ptr) (* (( (ptr) textData←v25304)+5)
             ))+15) ), (* (( (ptr) textData←v25304)+3) ), (* (( (ptr) textData←v25304)+12) ));
      cpTop←v25584 = var←c93072.f6;
      cpCenter←v25556 = var←c93072.f5;
      cpBottom←v25528 = var←c93072.f4;
      top←v25500 = var←c93072.f3;
      bottom←v25472 = var←c93072.f2;
      right←v25444 = var←c93072.f1;
      middle←v25416 = var←c93072.f0;
      };
SOURCE(28949, 325)
   if (((* (( (ptr) textData←v25304)+8) ) == 0) || ((word) GetScreenFont←P2760(textData←v25304) == 0)) {
SOURCE(29022, 18)
      altMiddle←v25612 = middle←v25416;
SOURCE(29042, 16)
      altRight←v25640 = right←v25444;
SOURCE(29060, 18)
      altBottom←v25668 = bottom←v25472;
SOURCE(29080, 12)
      altTop←v25696 = top←v25500;
      }
   else {
SOURCE(29101, 173)
      {
         W7 var←c93136;
         {
            word var←c93104;
            var←c93104 = (word) GetScreenFont←P2760(textData←v25304);
            (void) ComputeTextBounds←P2040((word) &var←c93136, var←c93104, (* (( (ptr) (* (( (ptr) textData←v25304)+5) ))+15) ), (* (
                  ( (ptr) textData←v25304)+3) ), (* (( (ptr) textData←v25304)+12) ));
            };
         altTop←v25696 = var←c93136.f3;
         altBottom←v25668 = var←c93136.f2;
         altRight←v25640 = var←c93136.f1;
         altMiddle←v25612 = var←c93136.f0;
         };
      };
SOURCE(29277, 74)
   {
      word pd340;
      pd340 = (* (( (ptr) (* (( (ptr) gf←c98224)+280)/* var←c89360 */  ))+18) );
      (void) ( *( (fPt) ((*  (ptr) pd340 ))))((*  (ptr) textData←v25304 ), (*  (ptr) &fc154 ), altBottom←v25668, altRight←v25640, altTop←v25696, pd340)
      ;
      };
SOURCE(29353, 156)
   if ((0 != (* (( (ptr) textData←v25304)+13) ))) {
SOURCE(29383, 126)
      {
         W2 var←c93168;
         {
            word x341;
            word x342;
            *(float*)&var←c93168.f0 = (
               x341 = (* (( (ptr) textData←v25304)+14) ),  *(float*)&x341
               ) * (
               x342 = (* (( (ptr) gf←c98224)+11)/* dropScale←v8460 */  ),  *(float*)&x342
               );
            };
         {
            word x343;
            word x344;
            *(float*)&var←c93168.f1 = (
               x343 = (* (( (ptr) textData←v25304)+15) ),  *(float*)&x343
               ) * (
               x344 = (* (( (ptr) gf←c98224)+11)/* dropScale←v8460 */  ),  *(float*)&x344
               );
            };
         {
            word pd345;
            pd345 = (* (( (ptr) (* (( (ptr) gf←c98224)+280)/* var←c89360 */  ))+16) );
            (void) ( *( (fPt) ((*  (ptr) pd345 ))))((*  (ptr) textData←v25304 ), var←c93168, pd345);
            };
         };
      };
SOURCE(29511, 78)
   {
      word pd346;
      pd346 = (* (( (ptr) (* (( (ptr) gf←c98224)+280)/* var←c89360 */  ))+9) );
      (*  (ptr) textData←v25304 ) = (word) ( *( (fPt) ((*  (ptr) pd346 ))))((*  (ptr) textData←v25304 ), (* (( (ptr) fontData←v25332)+5)
          ), pd346);
      };
SOURCE(29591, 45)
   {
      word pd347;
      pd347 = (* (( (ptr) (* (( (ptr) gf←c98224)+280)/* var←c89360 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd347 ))))((*  (ptr) textData←v25304 ), (*  (ptr) &fc129 ), pd347);
      };
SOURCE(29638, 48)
   {
      word pd348;
      pd348 = (* (( (ptr) (* (( (ptr) gf←c98224)+280)/* var←c89360 */  ))+7) );
      boundBox←v25276 = (word) ( *( (fPt) ((*  (ptr) pd348 ))))((*  (ptr) (textData←v25304) ), pd348);
      };
SOURCE(29689, 89)
   {
      word pd349;
      word x350;
      float tf351;
      float tf352;
      word x353;
      float tf354;
      word x355;
      float tf356;
      float tf357;
      word x358;
      float tf359;
      pd349 = (* (( (ptr) (* (( (ptr) gf←c98224)+280)/* var←c89360 */  ))+5) );
      tightBox←v25248 = (word) ( *( (fPt) ((*  (ptr) pd349 ))))((*  (ptr) &fc154 ), (
            tf354 = FMIN((
                  x350 = bottom←v25472,  *(float*)&x350
                  ), (
                  x353 = cpBottom←v25528,  *(float*)&x353
                  ), tf351, tf352),  *(word*)&tf354
            ), right←v25444, (
            tf359 = FMAX((
                  x355 = top←v25500,  *(float*)&x355
                  ), (
                  x358 = cpTop←v25584,  *(float*)&x358
                  ), tf356, tf357),  *(word*)&tf359
            ), 0, 0, pd349);
      };
SOURCE(29780, 70)
   {
      word pd360;
      pd360 = (* (( (ptr) (* (( (ptr) gf←c98224)+280)/* var←c89360 */  ))+9) );
      tightBox←v25248 = (word) ( *( (fPt) ((*  (ptr) pd360 ))))(tightBox←v25248, (* (( (ptr) fontData←v25332)+5) ), pd360);
      };
SOURCE(29853, 80)
   (void) UpdateTextPoints←P1860(textData←v25304, (*  (ptr) &fc154 ), middle←v25416, right←v25444, cpBottom←v25528, (*  (ptr) &fc154 )
      , cpCenter←v25556, cpTop←v25584);
   /* removed tail goto */ 
   (*  (ptr) formal←c0489 ) = tightBox←v25248;
   (* (( (ptr) formal←c0489)+1) ) = boundBox←v25276;
   return;
   }

static word TextGetBoundBox←P2160(slice←v14912, parts←v14940)
   word slice←v14912;
   word parts←v14940;
   {
   register ptr gf←c98288 =  (ptr) &globalframe;
   word box←v14984;
   /* TextGetBoundBox: */ 
SOURCE(30318, 269)
SOURCE(30318, 269)
   box←v14984 = 0;
SOURCE(30402, 59)
   if ( ( (0 != (* (( (ptr) slice←v14912)+16) )) ? (parts←v14940 == 0) : 0 ) ) {
SOURCE(30439, 22)
      return((* (( (ptr) slice←v14912)+15) ));
      };
SOURCE(30476, 111)
   if ((0 != (* (( (ptr) gf←c98288)+9)/* tryNewBBox←v6976 */  ))) {
      {
         word var←c01165;
         W2 var←c0493;
         (void) NewTextGetBoundBoxAux←P1980((word) &var←c0493, slice←v14912, 0);
         var←c01165 = var←c0493.f1;
         return(var←c01165);
         };
      }
   else {
      {
         word var←c01166;
         W2 var←c0494;
         (void) TextGetBoundBoxAux←P2100((word) &var←c0494, slice←v14912, parts←v14940);
         var←c01166 = var←c0494.f1;
         return(var←c01166);
         };
      };
   }

static word TextGetTightBox←P2220(slice←v15044, parts←v15072)
   word slice←v15044;
   word parts←v15072;
   {
   register ptr gf←c98320 =  (ptr) &globalframe;
   word box←v15116;
   /* TextGetTightBox: */ 
SOURCE(30651, 358)
SOURCE(30651, 358)
   box←v15116 = 0;
SOURCE(30735, 102)
   if ( ( (0 != (* (( (ptr) slice←v15044)+16) )) ? (parts←v15072 == 0) : 0 ) ) {
SOURCE(30772, 65)
      if ((0 != (* (( (ptr) gf←c98320)+10)/* useBBoxForTBox←v7144 */  ))) {
         return((* (( (ptr) slice←v15044)+15) ));
         }
      else {
         return((* (( (ptr) slice←v15044)+13) ));
         };
      };
SOURCE(30852, 90)
   {
      W2 var←c93232;
      if ((0 != (* (( (ptr) gf←c98320)+9)/* tryNewBBox←v6976 */  ))) {
         {
            W2 var←c0499;
            (void) NewTextGetBoundBoxAux←P1980((word) &var←c0499, slice←v15044, 0);
            var←c93232 = var←c0499;
            };
         }
      else {
         {
            W2 var←c0500;
            (void) TextGetBoundBoxAux←P2100((word) &var←c0500, slice←v15044, parts←v15072);
            var←c93232 = var←c0500;
            };
         };
      };
SOURCE(30944, 65)
   if ((0 != (* (( (ptr) gf←c98320)+10)/* useBBoxForTBox←v7144 */  ))) {
      return((* (( (ptr) slice←v15044)+15) ));
      }
   else {
      return((* (( (ptr) slice←v15044)+13) ));
      };
   }

static word TextCopy←P2280(slice←v15176, parts←v15204)
   word slice←v15176;
   word parts←v15204;
   {
   register ptr gf←c98352 =  (ptr) &globalframe;
   word copy←v15248;
   word copySlice←v25740 = 0;
   word copyData←v25768 = 0;
   word textData←v25796;
   word success←v25824 = 1;
   word router←v25852;
   /* TextCopy: */ 
SOURCE(31043, 980)
SOURCE(31043, 980)
   copy←v15248 = 0;
SOURCE(31170, 39)
   textData←v25796 = XR←Narrow((* (( (ptr) slice←v15176)+1) ), (* (( (ptr) gf←c98352)+33) ));
SOURCE(31233, 52)
   {
      word pd361;
      pd361 = (* (( (ptr) (* (( (ptr) gf←c98352)+277)/* var←c89200 */  ))+10) );
      router←v25852 = (word) ( *( (fPt) ((*  (ptr) pd361 ))))((* ((( (ptr) gf←c98352)+79)) ), pd361);
      };
SOURCE(31288, 216)
   {
      word var←c93264;
      word var←c93296;
      {
         word pd362;
         pd362 = (* (( (ptr) (* (( (ptr) gf←c98352)+298)/* var←c92176 */  ))+38) );
         var←c93264 = (word) ( *( (fPt) ((*  (ptr) pd362 ))))((* ((( (ptr) textData←v25796)+4)) ), pd362);
         };
      {
         word pd363;
         pd363 = (* (( (ptr) (* (( (ptr) gf←c98352)+298)/* var←c92176 */  ))+38) );
         var←c93296 = (word) ( *( (fPt) ((*  (ptr) pd363 ))))((* ((( (ptr) textData←v25796)+16)) ), pd363);
         };
      copySlice←v25740 = (word) MakeTextSlice←P120((* (( (ptr) textData←v25796)+3) ), var←c93264, (* (( (ptr) textData←v25796)+8)
          ), (* (( (ptr) textData←v25796)+12) ), (* (( (ptr) textData←v25796)+13) ), (*  (W2Pt) (( (ptr) textData←v25796)+14) )
         , var←c93296);
      };
SOURCE(31506, 33)
   copyData←v25768 = XR←Narrow((* (( (ptr) copySlice←v25740)+1) ), (* (( (ptr) gf←c98352)+33) ));
SOURCE(31542, 258)
   {
      word var←c93328;
      {
         word pd364;
         pd364 = (* (( (ptr) (* (( (ptr) gf←c98352)+281)/* var←c89456 */  ))+7) );
         var←c93328 = (word) ( *( (fPt) ((*  (ptr) pd364 ))))((* (( (ptr) textData←v25796)+5) ), (* (( (ptr) copyData←v25768)+5) ), pd364)
         ;
         };
      success←v25824 = (word) SetTextFontAux←P720(copySlice←v25740, var←c93328, router←v25852, 1, 0, (* (( (ptr) textData←v25796)+6)
          )
         , (* (( (ptr) textData←v25796)+6) ), (* (( (ptr) textData←v25796)+7) ));
      };
SOURCE(31802, 20)
   if ((0 == success←v25824)) {
SOURCE(31822, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(31830, 55)
   {
      word pd365;
      pd365 = (* (( (ptr) (* (( (ptr) gf←c98352)+282)/* var←c89584 */  ))+17) );
      (* (( (ptr) copyData←v25768)+18) ) = (word) ( *( (fPt) ((*  (ptr) pd365 ))))((* ((( (ptr) textData←v25796)+18)) ), pd365)
      ;
      };
SOURCE(31887, 56)
   {
      word pd366;
      pd366 = (* (( (ptr) (* (( (ptr) gf←c98352)+279)/* var←c89296 */  ))+39) );
      (* (( (ptr) copyData←v25768)+17) ) = (word) ( *( (fPt) ((*  (ptr) pd366 ))))(slice←v15176, pd366);
      };
SOURCE(31945, 53)
   {
      word pd367;
      pd367 = (* (( (ptr) (* (( (ptr) gf←c98352)+302)/* var←c93360 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd367 ))))(slice←v15176, copySlice←v25740, 0, 0, pd367);
      };
SOURCE(32000, 23)
   {
      word var←c93424;
      word var←c93456;
      var←c93424 = XR←NewObject(8, (* (( (ptr) gf←c98352)+21) ));
      var←c93456 = var←c93424;
      (*  (ptr) var←c93456 ) = copySlice←v25740;
      return(var←c93424);
      };
   }

static void TextRestore←P2340(from←v15392, to←v15420)
   word from←v15392;
   word to←v15420;
   {
   register ptr gf←c98384 =  (ptr) &globalframe;
   /* TextRestore: */ 
SOURCE(32029, 1494)
SOURCE(32076, 27)
   if ((to←v15420 == 0) || (from←v15392 == 0)) {
SOURCE(32103, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(32110, 28)
   if (((*  (ptr) to←v15420 ) != (*  (ptr) from←v15392 ))) {
SOURCE(32138, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(32145, 28)
   if (((*  (ptr) (*  (ptr) to←v15420 ) ) != (* (( (ptr) gf←c98384)+40) ))) {
SOURCE(32173, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(32180, 1345)
   {
      word fromData←v25896;
      word toData←v25924;
SOURCE(32186, 38)
      fromData←v25896 = XR←Narrow((* (( (ptr) from←v15392)+1) ), (* (( (ptr) gf←c98384)+33) ));
SOURCE(32226, 34)
      toData←v25924 = XR←Narrow((* (( (ptr) to←v15420)+1) ), (* (( (ptr) gf←c98384)+33) ));
SOURCE(32263, 729)
      if ((0 != (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c98384)+279)/* var←c89296 */  ))+67) ) ))) {
SOURCE(32293, 27)
         (*  (W6Pt) (*  (ptr) toData←v25924 ) ) = (*  (W6Pt) (*  (ptr) fromData←v25896 ) );
SOURCE(32322, 33)
         (*  (W24Pt) (* (( (ptr) toData←v25924)+1) ) ) = (*  (W24Pt) (* (( (ptr) fromData←v25896)+1) ) );
SOURCE(32357, 27)
         (* (( (ptr) toData←v25924)+3) ) = (* (( (ptr) fromData←v25896)+3) );
SOURCE(32386, 29)
         (* (( (ptr) toData←v25924)+4) ) = (* (( (ptr) fromData←v25896)+4) );
SOURCE(32417, 35)
         (* (( (ptr) toData←v25924)+5) ) = (* (( (ptr) fromData←v25896)+5) );
SOURCE(32454, 35)
         (* (( (ptr) toData←v25924)+6) ) = (* (( (ptr) fromData←v25896)+6) );
SOURCE(32491, 39)
         (* (( (ptr) toData←v25924)+7) ) = (* (( (ptr) fromData←v25896)+7) );
SOURCE(32532, 43)
         (* (( (ptr) toData←v25924)+8) ) = (* (( (ptr) fromData←v25896)+8) );
SOURCE(32577, 33)
         (* (( (ptr) toData←v25924)+9) ) = (* (( (ptr) fromData←v25896)+9) );
SOURCE(32612, 43)
         (*  (W2Pt) (( (ptr) toData←v25924)+10) ) = (*  (W2Pt) (( (ptr) fromData←v25896)+10) );
SOURCE(32657, 43)
         (* (( (ptr) toData←v25924)+12) ) = (* (( (ptr) fromData←v25896)+12) );
SOURCE(32702, 43)
         (* (( (ptr) toData←v25924)+13) ) = (* (( (ptr) fromData←v25896)+13) );
SOURCE(32747, 51)
         (*  (W2Pt) (( (ptr) toData←v25924)+14) ) = (*  (W2Pt) (( (ptr) fromData←v25896)+14) );
SOURCE(32800, 51)
         (*  (W2Pt) (( (ptr) toData←v25924)+14) ) = (*  (W2Pt) (( (ptr) fromData←v25896)+14) );
SOURCE(32853, 41)
         (* (( (ptr) toData←v25924)+16) ) = (* (( (ptr) fromData←v25896)+16) );
SOURCE(32896, 41)
         (* (( (ptr) toData←v25924)+17) ) = (* (( (ptr) fromData←v25896)+17) );
SOURCE(32939, 25)
         (* (( (ptr) toData←v25924)+18) ) = (* (( (ptr) fromData←v25896)+18) );
         }
      else {
SOURCE(32973, 19)
         (* (( (ptr) to←v15420)+1) ) = (* (( (ptr) from←v15392)+1) );
         };
SOURCE(32996, 39)
      (*  (W4Pt) (( (ptr) to←v15420)+3) ) = (*  (W4Pt) (( (ptr) from←v15392)+3) );
SOURCE(33055, 28)
      (* (( (ptr) to←v15420)+7) ) = 0;
SOURCE(33109, 25)
      (* (( (ptr) to←v15420)+8) ) = 0;
SOURCE(33160, 28)
      (* (( (ptr) to←v15420)+9) ) = 0;
SOURCE(33214, 27)
      (* (( (ptr) to←v15420)+10) ) = 0;
SOURCE(33267, 29)
      (*  (W6Pt) (* (( (ptr) to←v15420)+13) ) ) = (*  (W6Pt) (* (( (ptr) from←v15392)+13) ) );
SOURCE(33298, 37)
      (* (( (ptr) to←v15420)+14) ) = (* (( (ptr) from←v15392)+14) );
SOURCE(33337, 29)
      (*  (W6Pt) (* (( (ptr) to←v15420)+15) ) ) = (*  (W6Pt) (* (( (ptr) from←v15392)+15) ) );
SOURCE(33368, 27)
      (* (( (ptr) to←v15420)+16) ) = (* (( (ptr) from←v15392)+16) );
SOURCE(33397, 29)
      (* (( (ptr) to←v15420)+17) ) = (* (( (ptr) from←v15392)+17) );
SOURCE(33428, 33)
      (* (( (ptr) to←v15420)+18) ) = (* (( (ptr) from←v15392)+18) );
SOURCE(33463, 27)
      (* (( (ptr) to←v15420)+19) ) = (* (( (ptr) from←v15392)+19) );
SOURCE(33492, 31)
      (* (( (ptr) to←v15420)+20) ) = (* (( (ptr) from←v15392)+20) );
      };
   }

static void TextDrawParts←P2400(slice←v15480, parts←v15508, formal←c01213, formal←c01214, formal←c01215)
   word slice←v15480;
   word parts←v15508;
   word formal←c01213;
   word formal←c01214;
   word formal←c01215;
   {
   W10 var←c98416;
   /* declaration of dc←v15536 skipped */ 
   /* declaration of camera←v15564 skipped */ 
   /* declaration of quick←v15592 skipped */ 
   register ptr gf←c98448 =  (ptr) &globalframe;
   /* declaration of var←c93488 skipped */ 
   /* declaration of textData←v25996 skipped */ 
   word textParts←v26024;
   (* (( (ptr) &var←c98416)+4)/* dc←v15536 */  ) = formal←c01213;
   (* (( (ptr) &var←c98416)+5)/* camera←v15564 */  ) = formal←c01214;
   (* (( (ptr) &var←c98416)+6)/* quick←v15592 */  ) = formal←c01215;
   /* TextDrawParts: */ 
SOURCE(33534, 421)
   {
      word tmpAddr368;
      tmpAddr368 = (word) (( (ptr) &var←c98416)+7)/* var←c93488 */ ;
      (*  (ptr) tmpAddr368 ) = ( ((word)  (fPt) DoDrawText←P6120) );
      (* (( (ptr) tmpAddr368) + 1) ) = 1;
      };
SOURCE(33798, 39)
   (* (( (ptr) &var←c98416)+9)/* textData←v25996 */  ) = XR←Narrow((* (( (ptr) slice←v15480)+1) ), (* (( (ptr) gf←c98448)+33)
       ));
SOURCE(33839, 36)
   textParts←v26024 = XR←Narrow(parts←v15508, (* (( (ptr) gf←c98448)+20) ));
SOURCE(33877, 78)
   if ((textParts←v26024 == 0) || (0 != (* (( (ptr) textParts←v26024)+2) ))) {
SOURCE(33926, 29)
      {
         word pd369;
         pd369 = (* (( (ptr) (* (( (ptr) gf←c98448)+289)/* var←c90416 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd369 ))))((* (( (ptr) &var←c98416)+4)/* dc←v15536 */  ), (word) (( (bPt) &var←c98416)+28)/* var←c93488 */ , pd369)
         ;
         };
      };
   }

static void DoDrawText←P6120(formal←c98480)
   word formal←c98480;
   {
   formal←c98480 = (formal←c98480 - 28);
   /* DoDrawText: */ 
SOURCE(33660, 133)
SOURCE(33681, 73)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c98480)+9) ))+13) ))) {
SOURCE(33711, 43)
      (void) DrawDropShadow←P2700((* (( (ptr) formal←c98480)+4) ), (* (( (ptr) formal←c98480)+9) ), (* (( (ptr) formal←c98480)+5)
          ), (* (( (ptr) formal←c98480)+6) ));
      };
SOURCE(33756, 37)
   (void) DrawText←P2640((* (( (ptr) formal←c98480)+4) ), (* (( (ptr) formal←c98480)+9) ), (* (( (ptr) formal←c98480)+5) ), (* (
         ( (ptr) formal←c98480)+6) ));
   }

static void TextDrawSelectionFeedback←P2460(slice←v15652, selectedParts←v15680, hotParts←v15708, dc←v15736, camera←v15764, dragInProgress←v15792, caretIsMoving←v15820, hideHot←v15848, quick←v15876)
   word slice←v15652;
   word selectedParts←v15680;
   word hotParts←v15708;
   word dc←v15736;
   word camera←v15764;
   word dragInProgress←v15792;
   word caretIsMoving←v15820;
   word hideHot←v15848;
   word quick←v15876;
   {
   register ptr gf←c98512 =  (ptr) &globalframe;
   word slowNormal←v26084 = 0;
   word slowHot←v26112 = 0;
   word completeNormal←v26140 = 0;
   word completeHot←v26168 = 0;
   W2 firstJoint←v26196;
   word normalTextParts←v26224 = 0;
   word hotTextParts←v26252 = 0;
   word textData←v26280;
   word transform←v26308;
   /* TextDrawSelectionFeedback: */ 
SOURCE(33961, 1775)
SOURCE(34275, 39)
   textData←v26280 = XR←Narrow((* (( (ptr) slice←v15652)+1) ), (* (( (ptr) gf←c98512)+33) ));
SOURCE(34316, 55)
   transform←v26308 = (* (( (ptr) (* (( (ptr) textData←v26280)+5) ))+5) );
SOURCE(34373, 72)
   if (((0 != caretIsMoving←v15820) || (0 != dragInProgress←v15792)) || ((*  (ptr) camera←v15764 ) == 2)) {
SOURCE(34439, 6)
      return;
      };
SOURCE(34447, 49)
   if ( ( (selectedParts←v15680 == 0) ? (hotParts←v15708 == 0) : 0 ) ) {
SOURCE(34490, 6)
      return;
      };
SOURCE(34498, 39)
   normalTextParts←v26224 = XR←Narrow(selectedParts←v15680, (* (( (ptr) gf←c98512)+20) ));
SOURCE(34539, 31)
   hotTextParts←v26252 = XR←Narrow(hotParts←v15708, (* (( (ptr) gf←c98512)+20) ));
SOURCE(34572, 68)
   if ((normalTextParts←v26224 != 0)) {
      completeNormal←v26140 =  (unsigned) (0 != (word) IsComplete←P3300(normalTextParts←v26224));
      }
   else {
      completeNormal←v26140 =  (unsigned) 0;
      };
SOURCE(34642, 59)
   if ((hotTextParts←v26252 != 0)) {
      completeHot←v26168 =  (unsigned) (0 != (word) IsComplete←P3300(hotTextParts←v26252));
      }
   else {
      completeHot←v26168 =  (unsigned) 0;
      };
SOURCE(34703, 82)
   if ((normalTextParts←v26224 != 0)) {
      if ((0 == quick←v15876)) {
         slowNormal←v26084 =  (unsigned) 1;
         }
      else {
         if ((0 != quick←v15876)) {
            slowNormal←v26084 =  (unsigned) (0 == completeNormal←v26140);
            }
         else {
            slowNormal←v26084 =  (unsigned) 0;
            };
         };
      }
   else {
      slowNormal←v26084 =  (unsigned) 0;
      };
SOURCE(34787, 73)
   if ((hotTextParts←v26252 != 0)) {
      if ((0 == quick←v15876)) {
         slowHot←v26112 =  (unsigned) 1;
         }
      else {
         if ((0 != quick←v15876)) {
            slowHot←v26112 =  (unsigned) (0 == completeHot←v26168);
            }
         else {
            slowHot←v26112 =  (unsigned) 0;
            };
         };
      }
   else {
      slowHot←v26112 =  (unsigned) 0;
      };
SOURCE(34862, 345)
   if (((0 != slowNormal←v26084) && (0 != slowHot←v26112))) {
SOURCE(34893, 102)
      (void) DrawSelectionFeedbackText←P2520(slice←v15652, textData←v26280, normalTextParts←v26224, hotTextParts←v26252, dc←v15736, transform←v26308
         , camera←v15764);
      }
   else {
SOURCE(34995, 212)
      if ((0 != slowNormal←v26084)) {
SOURCE(35014, 93)
         (void) DrawSelectionFeedbackText←P2520(slice←v15652, textData←v26280, normalTextParts←v26224, 0, dc←v15736, transform←v26308
            , camera←v15764);
         }
      else {
SOURCE(35107, 100)
         if ((0 != slowHot←v26112)) {
SOURCE(35123, 84)
            (void) DrawSelectionFeedbackText←P2520(slice←v15652, textData←v26280, 0, hotTextParts←v26252, dc←v15736, transform←v26308
               , camera←v15764);
            };
         };
      };
SOURCE(35209, 303)
   if ( ( (0 == slowNormal←v26084) ? (0 != completeNormal←v26140) : 0 )  ||  ( (0 == slowHot←v26112) ? (0 != completeHot←v26168) : 0 ) ) {
SOURCE(35286, 228)
      {
         word fullParts←v26352;
SOURCE(35288, 79)
         fullParts←v26352 =  ( (0 != completeNormal←v26140) ? normalTextParts←v26224 : hotTextParts←v26252 ) ;
SOURCE(35369, 34)
         {
            word var←c93520;
            word pd370;
            pd370 = (* (( (ptr) (* (( (ptr) gf←c98512)+283)/* var←c89776 */  ))+9) );
            var←c93520 = (word) ( *( (fPt) ((*  (ptr) pd370 ))))(slice←v15652, 0, pd370);
            };
SOURCE(35438, 74)
         {
            word pd371;
            pd371 = (* (( (ptr) (* (( (ptr) gf←c98512)+287)/* var←c90224 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd371 ))))((word) &firstJoint←v26196, transform←v26308, (*  (W2Pt) (* (( (ptr) textData←v26280)+1)
                ) ), pd371);
            };
         };
      };
SOURCE(35517, 104)
   if ( ( (0 == slowHot←v26112) ? (0 != completeHot←v26168) : 0 ) ) {
SOURCE(35553, 68)
      {
         word pd372;
         pd372 = (* (( (ptr) (* (( (ptr) gf←c98512)+303)/* var←c93552 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd372 ))))(dc←v15736, firstJoint←v26196, 1, (* (( (ptr) camera←v15764)+4) ), pd372);
         };
      };
SOURCE(35623, 113)
   if ( ( (0 == slowNormal←v26084) ? (0 != completeNormal←v26140) : 0 ) ) {
SOURCE(35665, 71)
      {
         word pd373;
         pd373 = (* (( (ptr) (* (( (ptr) gf←c98512)+303)/* var←c93552 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd373 ))))(dc←v15736, firstJoint←v26196, 0, (* (( (ptr) camera←v15764)+4) ), pd373);
         };
      };
   }

static void DrawSelectionFeedbackText←P2520(formal←c01216, formal←c01217, formal←c01218, formal←c01219, formal←c01220, formal←c01221, formal←c01222)
   word formal←c01216;
   word formal←c01217;
   word formal←c01218;
   word formal←c01219;
   word formal←c01220;
   word formal←c01221;
   word formal←c01222;
   {
   W13 var←c98544;
   /* declaration of slice←v15936 skipped */ 
   /* declaration of textData←v15964 skipped */ 
   /* declaration of normalTextParts←v15992 skipped */ 
   /* declaration of hotTextParts←v16020 skipped */ 
   /* declaration of dc←v16048 skipped */ 
   /* declaration of t←v16076 skipped */ 
   /* declaration of camera←v16104 skipped */ 
   register ptr gf←c98576 =  (ptr) &globalframe;
   /* declaration of var←c93584 skipped */ 
   (* (( (ptr) &var←c98544)+4)/* slice←v15936 */  ) = formal←c01216;
   (* (( (ptr) &var←c98544)+5)/* textData←v15964 */  ) = formal←c01217;
   (* (( (ptr) &var←c98544)+6)/* normalTextParts←v15992 */  ) = formal←c01218;
   (* (( (ptr) &var←c98544)+7)/* hotTextParts←v16020 */  ) = formal←c01219;
   (* (( (ptr) &var←c98544)+8)/* dc←v16048 */  ) = formal←c01220;
   (* (( (ptr) &var←c98544)+9)/* t←v16076 */  ) = formal←c01221;
   (* (( (ptr) &var←c98544)+10)/* camera←v16104 */  ) = formal←c01222;
   /* DrawSelectionFeedbackText: */ 
SOURCE(35742, 1004)
   {
      word tmpAddr374;
      tmpAddr374 = (word) (( (ptr) &var←c98544)+11)/* var←c93584 */ ;
      (*  (ptr) tmpAddr374 ) = ( ((word)  (fPt) DoDrawFeedback←P6228) );
      (* (( (ptr) tmpAddr374) + 1) ) = 1;
      };
SOURCE(36713, 33)
   {
      word pd375;
      pd375 = (* (( (ptr) (* (( (ptr) gf←c98576)+289)/* var←c90416 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd375 ))))((* (( (ptr) &var←c98544)+8)/* dc←v16048 */  ), (word) (( (bPt) &var←c98544)+44)/* var←c93584 */ , pd375)
      ;
      };
   }

static void DoDrawFeedback←P6228(formal←c98640)
   word formal←c98640;
   {
   register ptr gf←c98608 =  (ptr) &globalframe;
   word thisCPisHot←v26456 = 0;
   word thisCPisSelected←v26484 = 0;
   W24 pts←v26512;
   formal←c98640 = (formal←c98640 - 44);
   /* DoDrawFeedback: */ 
SOURCE(35943, 756)
SOURCE(36042, 34)
   {
      word var←c93616;
      word pd376;
      pd376 = (* (( (ptr) (* (( (ptr) gf←c98608)+283)/* var←c89776 */  ))+9) );
      var←c93616 = (word) ( *( (fPt) ((*  (ptr) pd376 ))))((* (( (ptr) formal←c98640)+4) ), 0, pd376);
      };
SOURCE(36111, 87)
   {
      register word i←v26592 = 0;
      lab←L100046: ;
SOURCE(36136, 62)
      {
         W2 var←c93648;
         {
            word pd377;
            pd377 = (* (( (ptr) (* (( (ptr) gf←c98608)+287)/* var←c90224 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd377 ))))((word) &var←c93648, (* (( (ptr) formal←c98640)+9) ), (* (( (W2Pt) (* (( (ptr) (* (
                        ( (ptr) formal←c98640)+5) ))+1) ))+BCK(i←v26592, 12)) ), pd377);
            };
         (* (( (W2Pt) &pts←v26512)+BCK(i←v26592, 12)) ) = var←c93648;
         };
      if ((i←v26592 >= 11)) {
         goto lab←L100043;
         };
      i←v26592 = (i←v26592 + 1);
      goto lab←L100046;
      lab←L100043: ;
      };
SOURCE(36209, 33)
   {
      word pd378;
      pd378 = (* (( (ptr) (* (( (ptr) gf←c98608)+289)/* var←c90416 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd378 ))))((* (( (ptr) formal←c98640)+8) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c98608)+289)
            /* var←c90416 */  ))+54) ) ), pd378);
      };
SOURCE(36244, 455)
   {
      register word point←v26636 = 0;
      if (( (int)point←v26636 >  (int)11)) {
         goto lab←L100047;
         };
      lab←L100050: ;
SOURCE(36288, 61)
      if (((* (( (ptr) formal←c98640)+7) ) != 0)) {
         thisCPisHot←v26456 =  (unsigned) XR←ExtractField((* (( (ptr) formal←c98640)+7) ), 20 + (word) BCK(point←v26636, 12), 1);
         }
      else {
         thisCPisHot←v26456 =  (unsigned) 0;
         };
SOURCE(36351, 72)
      if (((* (( (ptr) formal←c98640)+6) ) != 0)) {
         thisCPisSelected←v26484 =  (unsigned) XR←ExtractField((* (( (ptr) formal←c98640)+6) ), 20 + (word) BCK(point←v26636, 12), 1)
         ;
         }
      else {
         thisCPisSelected←v26484 =  (unsigned) 0;
         };
SOURCE(36425, 83)
      if ((0 != thisCPisHot←v26456)) {
SOURCE(36445, 63)
         {
            word pd379;
            pd379 = (* (( (ptr) (* (( (ptr) gf←c98608)+303)/* var←c93552 */  ))+20) );
            (void) ( *( (fPt) ((*  (ptr) pd379 ))))((* (( (ptr) formal←c98640)+8) ), (* (( (W2Pt) &pts←v26512)+BCK(point←v26636, 12))
                ), 1, (* (( (ptr) (* (( (ptr) formal←c98640)+10) ))+4) ), pd379);
            };
         };
SOURCE(36510, 91)
      if ((0 != thisCPisSelected←v26484)) {
SOURCE(36535, 66)
         {
            word pd380;
            pd380 = (* (( (ptr) (* (( (ptr) gf←c98608)+303)/* var←c93552 */  ))+20) );
            (void) ( *( (fPt) ((*  (ptr) pd380 ))))((* (( (ptr) formal←c98640)+8) ), (* (( (W2Pt) &pts←v26512)+BCK(point←v26636, 12))
                ), 0, (* (( (ptr) (* (( (ptr) formal←c98640)+10) ))+4) ), pd380);
            };
         };
SOURCE(36603, 96)
      if ( ( (0 == thisCPisHot←v26456) ? (0 == thisCPisSelected←v26484) : 0 ) ) {
SOURCE(36652, 47)
         {
            word pd381;
            pd381 = (* (( (ptr) (* (( (ptr) gf←c98608)+303)/* var←c93552 */  ))+19) );
            (void) ( *( (fPt) ((*  (ptr) pd381 ))))((* (( (ptr) formal←c98640)+8) ), (* (( (W2Pt) &pts←v26512)+BCK(point←v26636, 12))
                ), (* (( (ptr) (* (( (ptr) formal←c98640)+10) ))+4) ), pd381);
            };
         };
      if (( (int)point←v26636 >=  (int)11)) {
         goto lab←L100047;
         };
      point←v26636 = (point←v26636 + 1);
      goto lab←L100050;
      lab←L100047: ;
      };
   }

static void TextDrawAttractorFeedback←P2580(formal←c01223, attractorParts←v16192, selectedParts←v16220, dragInProgress←v16248, formal←c01224, formal←c01225, editConstraints←v16332)
   word formal←c01223;
   word attractorParts←v16192;
   word selectedParts←v16220;
   word dragInProgress←v16248;
   word formal←c01224;
   word formal←c01225;
   word editConstraints←v16332;
   {
   W13 var←c98672;
   /* declaration of slice←v16164 skipped */ 
   /* declaration of dc←v16276 skipped */ 
   /* declaration of camera←v16304 skipped */ 
   register ptr gf←c98704 =  (ptr) &globalframe;
   /* declaration of var←c93680 skipped */ 
   /* declaration of bigReal←v26680 skipped */ 
   (* (( (ptr) &var←c98672)+4)/* slice←v16164 */  ) = formal←c01223;
   (* (( (ptr) &var←c98672)+5)/* dc←v16276 */  ) = formal←c01224;
   (* (( (ptr) &var←c98672)+6)/* camera←v16304 */  ) = formal←c01225;
   /* TextDrawAttractorFeedback: */ 
SOURCE(36752, 1877)
   {
      word tmpAddr382;
      tmpAddr382 = (word) (( (ptr) &var←c98672)+7)/* var←c93680 */ ;
      (*  (ptr) tmpAddr382 ) = ( ((word)  (fPt) DoDrawFeedback←P6432) );
      (* (( (ptr) tmpAddr382) + 1) ) = 1;
      };
SOURCE(36951, 22)
   (* (( (ptr) &var←c98672)+9)/* bigReal←v26680 */  ) = (*  (ptr) &fc383 );
SOURCE(36975, 1654)
   if ((0 == dragInProgress←v16248) || (selectedParts←v16220 == 0)) {
SOURCE(37026, 1605)
      {
         /* declaration of textData←v26752 skipped */ 
         /* declaration of hitParts←v26780 skipped */ 
         /* declaration of fontData←v26808 skipped */ 
SOURCE(38421, 39)
         (* (( (ptr) &var←c98672)+10)/* textData←v26752 */  ) = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c98672)+4)/* slice←v16164 */  ))+1)
             ), (* (( (ptr) gf←c98704)+33) ));
SOURCE(38462, 44)
         (* (( (ptr) &var←c98672)+11)/* hitParts←v26780 */  ) = XR←Narrow(attractorParts←v16192, (* (( (ptr) gf←c98704)+20) ));
SOURCE(38508, 38)
         (* (( (ptr) &var←c98672)+12)/* fontData←v26808 */  ) = (* (( (ptr) (* (( (ptr) &var←c98672)+10)/* textData←v26752 */  ))+5)
          );
SOURCE(38548, 81)
         if ( ( ((*  (ptr) (* (( (ptr) &var←c98672)+6)/* camera←v16304 */  ) ) != 2) ? ((* (( (ptr) &var←c98672)+11)/* hitParts←v26780 */  ) != 0) : 0 ) ) {
SOURCE(38596, 33)
            {
               word pd384;
               pd384 = (* (( (ptr) (* (( (ptr) gf←c98704)+289)/* var←c90416 */  ))+12) );
               (void) ( *( (fPt) ((*  (ptr) pd384 ))))((* (( (ptr) &var←c98672)+5)/* dc←v16276 */  ), (word) (( (bPt) &var←c98672)+28)/* var←c93680 */ , pd384)
               ;
               };
            };
         };
      };
   }

static void DoDrawFeedback←P6432(formal←c98800)
   word formal←c98800;
   {
   W6 var←c98736;
   register ptr gf←c98768 =  (ptr) &globalframe;
   /* declaration of var←c93712 skipped */ 
   W24 pts←v26896;
   word t←v26924;
   formal←c98800 = (formal←c98800 - 28);
   var←c98736.f0 = formal←c98800;
   /* DoDrawFeedback: */ 
SOURCE(37028, 23)
   {
      word tmpAddr385;
      tmpAddr385 = (word) (( (ptr) &var←c98736)+4)/* var←c93712 */ ;
      (*  (ptr) tmpAddr385 ) = ( ((word)  (fPt) DrawEdgeAndPoints←P6492) );
      (* (( (ptr) tmpAddr385) + 1) ) = 1;
      };
SOURCE(37414, 59)
   t←v26924 = (* (( (ptr) (* (( (ptr) formal←c98800)+12) ))+5) );
SOURCE(37475, 34)
   {
      word var←c93744;
      word pd386;
      pd386 = (* (( (ptr) (* (( (ptr) gf←c98768)+283)/* var←c89776 */  ))+9) );
      var←c93744 = (word) ( *( (fPt) ((*  (ptr) pd386 ))))((* (( (ptr) formal←c98800)+4) ), 0, pd386);
      };
SOURCE(37544, 87)
   {
      register word i←v27148 = 0;
      lab←L100054: ;
SOURCE(37569, 62)
      {
         W2 var←c93776;
         {
            word pd387;
            pd387 = (* (( (ptr) (* (( (ptr) gf←c98768)+287)/* var←c90224 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd387 ))))((word) &var←c93776, t←v26924, (* (( (W2Pt) (* (( (ptr) (* (( (ptr) formal←c98800)+10)
                      ))+1) ))+BCK(i←v27148, 12)) ), pd387);
            };
         (* (( (W2Pt) &pts←v26896)+BCK(i←v27148, 12)) ) = var←c93776;
         };
      if ((i←v27148 >= 11)) {
         goto lab←L100051;
         };
      i←v27148 = (i←v27148 + 1);
      goto lab←L100054;
      lab←L100051: ;
      };
SOURCE(37642, 33)
   {
      word pd388;
      pd388 = (* (( (ptr) (* (( (ptr) gf←c98768)+289)/* var←c90416 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd388 ))))((* (( (ptr) formal←c98800)+5) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c98768)+289)
            /* var←c90416 */  ))+54) ) ), pd388);
      };
SOURCE(37677, 32)
   {
      word pd389;
      pd389 = (* (( (ptr) (* (( (ptr) gf←c98768)+289)/* var←c90416 */  ))+70) );
      (void) ( *( (fPt) ((*  (ptr) pd389 ))))((* (( (ptr) formal←c98800)+5) ), 2, pd389);
      };
SOURCE(37711, 30)
   {
      word pd390;
      pd390 = (* (( (ptr) (* (( (ptr) gf←c98768)+289)/* var←c90416 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd390 ))))((* (( (ptr) formal←c98800)+5) ), (*  (ptr) &fc129 ), pd390);
      };
SOURCE(37743, 126)
   if (( (unsigned) ((* (( (hPt) (* (( (ptr) formal←c98800)+11) ))+1) ) & 07777) != 0)) {
SOURCE(37778, 91)
      {
         register word point←v27192 = 0;
         if (( (int)point←v27192 >  (int)11)) {
            goto lab←L100055;
            };
         lab←L100058: ;
SOURCE(37822, 47)
         {
            word pd391;
            pd391 = (* (( (ptr) (* (( (ptr) gf←c98768)+303)/* var←c93552 */  ))+19) );
            (void) ( *( (fPt) ((*  (ptr) pd391 ))))((* (( (ptr) formal←c98800)+5) ), (* (( (W2Pt) &pts←v26896)+BCK(point←v27192, 12))
                ), (* (( (ptr) (* (( (ptr) formal←c98800)+6) ))+4) ), pd391);
            };
         if (( (int)point←v27192 >=  (int)11)) {
            goto lab←L100055;
            };
         point←v27192 = (point←v27192 + 1);
         goto lab←L100058;
         lab←L100055: ;
         };
      };
SOURCE(37880, 500)
   if (( (unsigned) ((* (( (bPt) (* (( (ptr) formal←c98800)+11) ))+7) ) & 0177) != 0)) {
SOURCE(37914, 466)
      {
         register word edge←v27236 = 0;
         if (( (int)edge←v27236 >  (int)6)) {
            goto lab←L100059;
            };
         lab←L100062: ;
SOURCE(37956, 424)
         if (XR←ExtractField((* (( (ptr) formal←c98800)+11) ), 57 + (word) BCK(edge←v27236, 7), 1)) {
SOURCE(37987, 393)
            {
               word var←c93808;
               var←c93808 = edge←v27236;
               switch (var←c93808) {
                  case 0: 
SOURCE(38010, 50)
                     (void) DrawEdgeAndPoints←P6492((*  (W2Pt) &pts←v26896 ), (*  (W2Pt) (( (ptr) &pts←v26896)+6) ), (*  (W2Pt) (( (ptr) &pts←v26896)+2)
                         ), (*  (W2Pt) (( (ptr) &pts←v26896)+4) ), (word) (( (bPt) &var←c98736)+16)/* var←c93712 */ );
                     break;
                  case 1: 
SOURCE(38068, 43)
                     {
                        W2 var←c93840;
                        var←c93840.f0 = (* (( (ptr) formal←c98800)+9) );
                        var←c93840.f1 = (* (( (ptr) formal←c98800)+9) );
                        (void) DrawEdgeAndPoints←P6492((*  (W2Pt) (( (ptr) &pts←v26896)+6) ), (*  (W2Pt) (( (ptr) &pts←v26896)+22) ), (*  (W2Pt) (
/*1*/   ( (ptr) &pts←v26896)+14) ), var←c93840, (word) (( (bPt) &var←c98736)+16)/* var←c93712 */ );
                        };
                     break;
                  case 2: 
SOURCE(38119, 52)
                     (void) DrawEdgeAndPoints←P6492((*  (W2Pt) (( (ptr) &pts←v26896)+22) ), (*  (W2Pt) (( (ptr) &pts←v26896)+16) ), (*  (W2Pt) (
                           ( (ptr) &pts←v26896)+18) ), (*  (W2Pt) (( (ptr) &pts←v26896)+20) ), (word) (( (bPt) &var←c98736)+16)/* var←c93712 */ );
                     break;
                  case 3: 
SOURCE(38179, 42)
                     {
                        W2 var←c93872;
                        var←c93872.f0 = (* (( (ptr) formal←c98800)+9) );
                        var←c93872.f1 = (* (( (ptr) formal←c98800)+9) );
                        (void) DrawEdgeAndPoints←P6492((*  (W2Pt) (( (ptr) &pts←v26896)+16) ), (*  (W2Pt) &pts←v26896 ), (*  (W2Pt) (( (ptr) &pts←v26896)+8)
                            ), var←c93872, (word) (( (bPt) &var←c98736)+16)/* var←c93712 */ );
                        };
                     break;
                  case 4: 
SOURCE(38229, 42)
                     {
                        W2 var←c93904;
                        var←c93904.f0 = (* (( (ptr) formal←c98800)+9) );
                        var←c93904.f1 = (* (( (ptr) formal←c98800)+9) );
                        (void) DrawEdgeAndPoints←P6492((*  (W2Pt) (( (ptr) &pts←v26896)+2) ), (*  (W2Pt) (( (ptr) &pts←v26896)+18) ), (*  (W2Pt) (
/*1*/   ( (ptr) &pts←v26896)+10) ), var←c93904, (word) (( (bPt) &var←c98736)+16)/* var←c93712 */ );
                        };
                     break;
                  case 5: 
SOURCE(38279, 43)
                     {
                        W2 var←c93936;
                        var←c93936.f0 = (* (( (ptr) formal←c98800)+9) );
                        var←c93936.f1 = (* (( (ptr) formal←c98800)+9) );
                        (void) DrawEdgeAndPoints←P6492((*  (W2Pt) (( (ptr) &pts←v26896)+4) ), (*  (W2Pt) (( (ptr) &pts←v26896)+20) ), (*  (W2Pt) (
/*1*/   ( (ptr) &pts←v26896)+12) ), var←c93936, (word) (( (bPt) &var←c98736)+16)/* var←c93712 */ );
                        };
                     break;
                  case 6: 
SOURCE(38330, 50)
                     (void) DrawEdgeAndPoints←P6492((*  (W2Pt) (( (ptr) &pts←v26896)+8) ), (*  (W2Pt) (( (ptr) &pts←v26896)+14) ), (*  (W2Pt) (
                           ( (ptr) &pts←v26896)+10) ), (*  (W2Pt) (( (ptr) &pts←v26896)+12) ), (word) (( (bPt) &var←c98736)+16)/* var←c93712 */ );
                     break;
                  default: 
SOURCE(38393, 5)
                     (void) XR←RaiseUnnamedError();
                     break;
                  };
               };
SOURCE(38400, 4)
            goto lab←L100060;
            };
         if (( (int)edge←v27236 >=  (int)6)) {
            goto lab←L100059;
            };
         edge←v27236 = (edge←v27236 + 1);
         goto lab←L100062;
         lab←L100059: ;
         lab←L100060: ;
         };
      };
   }

static void DrawEdgeAndPoints←P6492(start←v27000, end←v27028, cp1←v27056, cp2←v27084, formal←c98864)
   W2 start←v27000;
   W2 end←v27028;
   W2 cp1←v27056;
   W2 cp2←v27084;
   word formal←c98864;
   {
   register ptr gf←c98832 =  (ptr) &globalframe;
   formal←c98864 = (formal←c98864 - 16);
   /* DrawEdgeAndPoints: */ 
SOURCE(37053, 25)
SOURCE(37133, 33)
   {
      word pd392;
      pd392 = (* (( (ptr) (* (( (ptr) gf←c98832)+289)/* var←c90416 */  ))+73) );
      (void) ( *( (fPt) ((*  (ptr) pd392 ))))((* (( (ptr) (*  (ptr) formal←c98864 ))+5) ), start←v27000, end←v27028, pd392);
      };
SOURCE(37168, 42)
   {
      word pd393;
      pd393 = (* (( (ptr) (* (( (ptr) gf←c98832)+303)/* var←c93552 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd393 ))))((* (( (ptr) (*  (ptr) formal←c98864 ))+5) ), start←v27000, (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c98864 ))+6)
             ))+4) ), pd393);
      };
SOURCE(37212, 40)
   {
      word pd394;
      pd394 = (* (( (ptr) (* (( (ptr) gf←c98832)+303)/* var←c93552 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd394 ))))((* (( (ptr) (*  (ptr) formal←c98864 ))+5) ), end←v27028, (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c98864 ))+6)
             ))+4) ), pd394);
      };
SOURCE(37254, 62)
   {
      word x395;
      word x396;
      if (((
         x395 = cp1←v27056.f0,  *(float*)&x395
         ) != (
         x396 = (* (( (ptr) (*  (ptr) formal←c98864 ))+9) ),  *(float*)&x396
         ))) {
SOURCE(37276, 40)
         {
            word pd397;
            pd397 = (* (( (ptr) (* (( (ptr) gf←c98832)+303)/* var←c93552 */  ))+19) );
            (void) ( *( (fPt) ((*  (ptr) pd397 ))))((* (( (ptr) (*  (ptr) formal←c98864 ))+5) ), cp1←v27056, (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c98864 ))+6)
                   ))+4) ), pd397);
            };
         };
      };
SOURCE(37318, 62)
   {
      word x398;
      word x399;
      if (((
         x398 = cp2←v27084.f0,  *(float*)&x398
         ) != (
         x399 = (* (( (ptr) (*  (ptr) formal←c98864 ))+9) ),  *(float*)&x399
         ))) {
SOURCE(37340, 40)
         {
            word pd400;
            pd400 = (* (( (ptr) (* (( (ptr) gf←c98832)+303)/* var←c93552 */  ))+19) );
            (void) ( *( (fPt) ((*  (ptr) pd400 ))))((* (( (ptr) (*  (ptr) formal←c98864 ))+5) ), cp2←v27084, (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c98864 ))+6)
                   ))+4) ), pd400);
            };
         };
      };
   }

static void DrawText←P2640(dc←v16392, textData←v16420, camera←v16448, quick←v16476)
   word dc←v16392;
   word textData←v16420;
   word camera←v16448;
   word quick←v16476;
   {
   register ptr gf←c98896 =  (ptr) &globalframe;
   /* DrawText: */ 
SOURCE(38638, 641)
SOURCE(38740, 33)
   if (((* (( (ptr) textData←v16420)+4) ) == 0)) {
SOURCE(38767, 6)
      return;
      };
SOURCE(38775, 159)
   {
      word var←c93968;
      if ((((*  (ptr) camera←v16448 ) == 2) || ((* (( (ptr) camera←v16448)+1) ) == 0)) || ((* (( (ptr) textData←v16420)+8) ) == 0)) {
         var←c93968 = (* (( (ptr) textData←v16420)+6) );
         }
      else {
         var←c93968 = (word) GetScreenFont←P2760(textData←v16420);
         };
      {
         word pd401;
         pd401 = (* (( (ptr) (* (( (ptr) gf←c98896)+289)/* var←c90416 */  ))+30) );
         (void) ( *( (fPt) ((*  (ptr) pd401 ))))(dc←v16392, var←c93968, pd401);
         };
      };
SOURCE(38936, 38)
   {
      word pd402;
      pd402 = (* (( (ptr) (* (( (ptr) gf←c98896)+298)/* var←c92176 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd402 ))))(dc←v16392, (* (( (ptr) textData←v16420)+4) ), 0, pd402);
      };
SOURCE(39028, 47)
   {
      word pd403;
      pd403 = (* (( (ptr) (* (( (ptr) gf←c98896)+289)/* var←c90416 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd403 ))))(dc←v16392, (* (( (ptr) (* (( (ptr) textData←v16420)+5) ))+5) ), pd403);
      };
SOURCE(39077, 28)
   {
      W2 var←c94000;
      var←c94000.f0 = (*  (ptr) &fc154 );
      var←c94000.f1 = (*  (ptr) &fc154 );
      {
         word pd404;
         pd404 = (* (( (ptr) (* (( (ptr) gf←c98896)+289)/* var←c90416 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd404 ))))(dc←v16392, var←c94000, pd404);
         };
      };
SOURCE(39149, 49)
   {
      word pd405;
      pd405 = (* (( (ptr) (* (( (ptr) gf←c98896)+289)/* var←c90416 */  ))+31) );
      (void) ( *( (fPt) ((*  (ptr) pd405 ))))(dc←v16392, (* (( (ptr) textData←v16420)+12) ), pd405);
      };
SOURCE(39245, 34)
   {
      word pd406;
      pd406 = (* (( (ptr) (* (( (ptr) gf←c98896)+289)/* var←c90416 */  ))+38) );
      (void) ( *( (fPt) ((*  (ptr) pd406 ))))(dc←v16392, (* (( (ptr) textData←v16420)+3) ), 0, 2147483647, 0, pd406);
      };
   }

static void DrawDropShadow←P2700(formal←c01226, formal←c01227, formal←c01228, quick←v16620)
   word formal←c01226;
   word formal←c01227;
   word formal←c01228;
   word quick←v16620;
   {
   W9 var←c98928;
   /* declaration of dc←v16536 skipped */ 
   /* declaration of textData←v16564 skipped */ 
   /* declaration of camera←v16592 skipped */ 
   register ptr gf←c98960 =  (ptr) &globalframe;
   /* declaration of var←c94032 skipped */ 
   (* (( (ptr) &var←c98928)+4)/* dc←v16536 */  ) = formal←c01226;
   (* (( (ptr) &var←c98928)+5)/* textData←v16564 */  ) = formal←c01227;
   (* (( (ptr) &var←c98928)+6)/* camera←v16592 */  ) = formal←c01228;
   /* DrawDropShadow: */ 
SOURCE(39285, 849)
   {
      word tmpAddr407;
      tmpAddr407 = (word) (( (ptr) &var←c98928)+7)/* var←c94032 */ ;
      (*  (ptr) tmpAddr407 ) = ( ((word)  (fPt) DoDrawDropShadow←P6696) );
      (* (( (ptr) tmpAddr407) + 1) ) = 1;
      };
SOURCE(40058, 39)
   if (((* (( (ptr) (* (( (ptr) &var←c98928)+5)/* textData←v16564 */  ))+16) ) == 0)) {
SOURCE(40091, 6)
      return;
      };
SOURCE(40099, 35)
   {
      word pd408;
      pd408 = (* (( (ptr) (* (( (ptr) gf←c98960)+289)/* var←c90416 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd408 ))))((* (( (ptr) &var←c98928)+4)/* dc←v16536 */  ), (word) (( (bPt) &var←c98928)+28)/* var←c94032 */ , pd408)
      ;
      };
   }

static void DoDrawDropShadow←P6696(formal←c99024)
   word formal←c99024;
   {
   register ptr gf←c98992 =  (ptr) &globalframe;
   W2 tVec←v27340;
   formal←c99024 = (formal←c99024 - 28);
   /* DoDrawDropShadow: */ 
SOURCE(39393, 660)
SOURCE(39420, 96)
   {
      word x409;
      word x410;
      *(float*)&tVec←v27340.f0 = (
         x409 = (* (( (ptr) (* (( (ptr) formal←c99024)+5) ))+14) ),  *(float*)&x409
         ) * (
         x410 = (* (( (ptr) gf←c98992)+11)/* dropScale←v8460 */  ),  *(float*)&x410
         );
      };
   {
      word x411;
      word x412;
      *(float*)&tVec←v27340.f1 = (
         x411 = (* (( (ptr) (* (( (ptr) formal←c99024)+5) ))+15) ),  *(float*)&x411
         ) * (
         x412 = (* (( (ptr) gf←c98992)+11)/* dropScale←v8460 */  ),  *(float*)&x412
         );
      };
SOURCE(39518, 44)
   {
      word pd413;
      pd413 = (* (( (ptr) (* (( (ptr) gf←c98992)+298)/* var←c92176 */  ))+36) );
      (void) ( *( (fPt) ((*  (ptr) pd413 ))))((* (( (ptr) formal←c99024)+4) ), (* (( (ptr) (* (( (ptr) formal←c99024)+5) ))+16)
          ), 0, pd413);
      };
SOURCE(39612, 47)
   {
      word pd414;
      pd414 = (* (( (ptr) (* (( (ptr) gf←c98992)+289)/* var←c90416 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd414 ))))((* (( (ptr) formal←c99024)+4) ), (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c99024)+5)
                ))+5) ))+5) ), pd414);
      };
SOURCE(39661, 27)
   {
      word pd415;
      pd415 = (* (( (ptr) (* (( (ptr) gf←c98992)+289)/* var←c90416 */  ))+18) );
      (void) ( *( (fPt) ((*  (ptr) pd415 ))))((* (( (ptr) formal←c99024)+4) ), tVec←v27340, pd415);
      };
SOURCE(39690, 159)
   {
      word var←c94096;
      if ((((*  (ptr) (* (( (ptr) formal←c99024)+6) ) ) == 2) || ((* (( (ptr) (* (( (ptr) formal←c99024)+6) ))+1) ) == 0)) || ((* (
         ( (ptr) (* (( (ptr) formal←c99024)+5) ))+8) ) == 0)) {
         var←c94096 = (* (( (ptr) (* (( (ptr) formal←c99024)+5) ))+6) );
         }
      else {
         var←c94096 = (word) GetScreenFont←P2760((* ((( (ptr) formal←c99024)+5)) ));
         };
      {
         word pd416;
         pd416 = (* (( (ptr) (* (( (ptr) gf←c98992)+289)/* var←c90416 */  ))+30) );
         (void) ( *( (fPt) ((*  (ptr) pd416 ))))((* (( (ptr) formal←c99024)+4) ), var←c94096, pd416);
         };
      };
SOURCE(39851, 28)
   {
      W2 var←c94128;
      var←c94128.f0 = (*  (ptr) &fc154 );
      var←c94128.f1 = (*  (ptr) &fc154 );
      {
         word pd417;
         pd417 = (* (( (ptr) (* (( (ptr) gf←c98992)+289)/* var←c90416 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd417 ))))((* (( (ptr) formal←c99024)+4) ), var←c94128, pd417);
         };
      };
SOURCE(39923, 49)
   {
      word pd418;
      pd418 = (* (( (ptr) (* (( (ptr) gf←c98992)+289)/* var←c90416 */  ))+31) );
      (void) ( *( (fPt) ((*  (ptr) pd418 ))))((* (( (ptr) formal←c99024)+4) ), (* (( (ptr) (* (( (ptr) formal←c99024)+5) ))+12)
          ), pd418);
      };
SOURCE(40019, 34)
   {
      word pd419;
      pd419 = (* (( (ptr) (* (( (ptr) gf←c98992)+289)/* var←c90416 */  ))+38) );
      (void) ( *( (fPt) ((*  (ptr) pd419 ))))((* (( (ptr) formal←c99024)+4) ), (* (( (ptr) (* (( (ptr) formal←c99024)+5) ))+3) ), 0, 2147483647, 0, pd419)
      ;
      };
   }

static word GetScreenFont←P2760(textData←v16680)
   word textData←v16680;
   {
   register ptr gf←c99056 =  (ptr) &globalframe;
   word font←v16724;
   /* GetScreenFont: */ 
SOURCE(40140, 210)
SOURCE(40140, 210)
   font←v16724 = 0;
SOURCE(40217, 133)
   {
      word pd420;
      if (((* (( (ptr) textData←v16680)+7) ) != 0)) {
         return((* (( (ptr) textData←v16680)+7) ));
         }
      else {
         pd420 = (* (( (ptr) (* (( (ptr) gf←c99056)+281)/* var←c89456 */  ))+12) );
         return((word) ( *( (fPt) ((*  (ptr) pd420 ))))((* (( (ptr) textData←v16680)+5) ), (* (( (ptr) textData←v16680)+6) ), (* (
               ( (ptr) gf←c99056)+82) ), pd420));
         };
      };
   }

static void TextDrawTransform←P2820(slice←v16784, parts←v16812, formal←c01229, formal←c01230, formal←c01231, editConstraints←v16924)
   word slice←v16784;
   word parts←v16812;
   word formal←c01229;
   word formal←c01230;
   word formal←c01231;
   word editConstraints←v16924;
   {
   W10 var←c99088;
   /* declaration of dc←v16840 skipped */ 
   /* declaration of camera←v16868 skipped */ 
   /* declaration of transform←v16896 skipped */ 
   register ptr gf←c99120 =  (ptr) &globalframe;
   /* declaration of var←c94192 skipped */ 
   /* declaration of textData←v27412 skipped */ 
   (* (( (ptr) &var←c99088)+4)/* dc←v16840 */  ) = formal←c01229;
   (* (( (ptr) &var←c99088)+5)/* camera←v16868 */  ) = formal←c01230;
   (* (( (ptr) &var←c99088)+6)/* transform←v16896 */  ) = formal←c01231;
   /* TextDrawTransform: */ 
SOURCE(40356, 443)
   {
      word tmpAddr421;
      tmpAddr421 = (word) (( (ptr) &var←c99088)+7)/* var←c94192 */ ;
      (*  (ptr) tmpAddr421 ) = ( ((word)  (fPt) DoTextDrawTransform←P6756) );
      (* (( (ptr) tmpAddr421) + 1) ) = 1;
      };
SOURCE(40720, 39)
   (* (( (ptr) &var←c99088)+9)/* textData←v27412 */  ) = XR←Narrow((* (( (ptr) slice←v16784)+1) ), (* (( (ptr) gf←c99120)+33)
       ));
SOURCE(40761, 38)
   {
      word pd422;
      pd422 = (* (( (ptr) (* (( (ptr) gf←c99120)+289)/* var←c90416 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd422 ))))((* (( (ptr) &var←c99088)+4)/* dc←v16840 */  ), (word) (( (bPt) &var←c99088)+28)/* var←c94192 */ , pd422)
      ;
      };
   }

static void DoTextDrawTransform←P6756(formal←c99184)
   word formal←c99184;
   {
   register ptr gf←c99152 =  (ptr) &globalframe;
   formal←c99184 = (formal←c99184 - 28);
   /* DoTextDrawTransform: */ 
SOURCE(40542, 173)
SOURCE(40572, 29)
   {
      word pd423;
      pd423 = (* (( (ptr) (* (( (ptr) gf←c99152)+289)/* var←c90416 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd423 ))))((* (( (ptr) formal←c99184)+4) ), (* (( (ptr) formal←c99184)+6) ), pd423);
      };
SOURCE(40603, 73)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c99184)+9) ))+13) ))) {
SOURCE(40633, 43)
      (void) DrawDropShadow←P2700((* (( (ptr) formal←c99184)+4) ), (* (( (ptr) formal←c99184)+9) ), (* (( (ptr) formal←c99184)+5)
          ), 0);
      };
SOURCE(40678, 37)
   (void) DrawText←P2640((* (( (ptr) formal←c99184)+4) ), (* (( (ptr) formal←c99184)+9) ), (* (( (ptr) formal←c99184)+5) ), 0)
   ;
   }

static void TextTransform←P2880(slice←v16984, parts←v17012, transform←v17040, editConstraints←v17068, history←v17096)
   word slice←v16984;
   word parts←v17012;
   word transform←v17040;
   word editConstraints←v17068;
   word history←v17096;
   {
   register ptr gf←c99216 =  (ptr) &globalframe;
   word textData←v27472;
   word fontData←v27500;
   /* TextTransform: */ 
SOURCE(40805, 713)
SOURCE(40974, 39)
   textData←v27472 = XR←Narrow((* (( (ptr) slice←v16984)+1) ), (* (( (ptr) gf←c99216)+33) ));
SOURCE(41015, 38)
   fontData←v27500 = (* (( (ptr) textData←v27472)+5) );
SOURCE(41055, 79)
   {
      word pd424;
      pd424 = (* (( (ptr) (* (( (ptr) gf←c99216)+287)/* var←c90224 */  ))+13) );
      (* (( (ptr) fontData←v27500)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd424 ))))((* (( (ptr) fontData←v27500)+5) ), transform←v17040, pd424)
      ;
      };
SOURCE(41136, 66)
   {
      word pd425;
      pd425 = (* (( (ptr) (* (( (ptr) gf←c99216)+287)/* var←c90224 */  ))+51) );
      (* (( (ptr) textData←v27472)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd425 ))))((* ((( (ptr) fontData←v27500)+5)) ), pd425);
      };
SOURCE(41204, 71)
   {
      W2 var←c94224;
      W6 var←c0625;
      {
         word pd426;
         pd426 = (* (( (ptr) (* (( (ptr) gf←c99216)+287)/* var←c90224 */  ))+50) );
         (void) ( *( (fPt) ((*  (ptr) pd426 ))))((word) &var←c0625, (* (( (ptr) textData←v27472)+9) ), pd426);
         };
      var←c94224 = (*  (W2Pt) (( (ptr) &var←c0625)+1) );
      (*  (W2Pt) (( (ptr) textData←v27472)+10) ) = var←c94224;
      };
SOURCE(41277, 68)
   {
      word pd427;
      pd427 = (* (( (ptr) (* (( (ptr) gf←c99216)+298)/* var←c92176 */  ))+37) );
      (* (( (ptr) textData←v27472)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd427 ))))((* (( (ptr) textData←v27472)+4) ), transform←v17040, pd427)
      ;
      };
SOURCE(41347, 80)
   {
      word pd428;
      pd428 = (* (( (ptr) (* (( (ptr) gf←c99216)+298)/* var←c92176 */  ))+37) );
      (* (( (ptr) textData←v27472)+16) ) = (word) ( *( (fPt) ((*  (ptr) pd428 ))))((* (( (ptr) textData←v27472)+16) ), transform←v17040, pd428)
      ;
      };
SOURCE(41429, 60)
   if ((0 != (word) InvolvesScaling←P2940(transform←v17040))) {
SOURCE(41464, 25)
      (* (( (ptr) textData←v27472)+7) ) = 0;
      };
SOURCE(41491, 27)
   {
      word pd429;
      pd429 = (* (( (ptr) (* (( (ptr) gf←c99216)+279)/* var←c89296 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd429 ))))(slice←v16984, pd429);
      };
   }

static word InvolvesScaling←P2940(transform←v17156)
   word transform←v17156;
   {
   register ptr gf←c99248 =  (ptr) &globalframe;
   word var←c17200;
   W2 sigma←v27572;
   /* InvolvesScaling: */ 
SOURCE(41524, 284)
SOURCE(41636, 59)
   {
      word pd430;
      pd430 = (* (( (ptr) (* (( (ptr) gf←c99248)+287)/* var←c90224 */  ))+56) );
      (void) ( *( (fPt) ((*  (ptr) pd430 ))))((word) &sigma←v27572, transform←v17156, pd430);
      };
SOURCE(41697, 47)
   {
      float tf431;
      word x432;
      word x433;
      word x435;
      if ((FABS(((
            x432 = sigma←v27572.f0,  *(float*)&x432
            ) - (
            x433 = (*  (ptr) &fc129 ),  *(float*)&x433
            )), tf431) > (
         x435 = (*  (ptr) &fc434 ),  *(float*)&x435
         ))) {
SOURCE(41732, 12)
         return(1);
         };
      };
SOURCE(41746, 47)
   {
      float tf436;
      word x437;
      word x438;
      word x439;
      if ((FABS(((
            x437 = sigma←v27572.f1,  *(float*)&x437
            ) - (
            x438 = (*  (ptr) &fc129 ),  *(float*)&x438
            )), tf436) > (
         x439 = (*  (ptr) &fc434 ),  *(float*)&x439
         ))) {
SOURCE(41781, 12)
         return(1);
         };
      };
SOURCE(41795, 13)
   return(0);
   }

static word TextDescribe←P3000(sliceD←v17260)
   word sliceD←v17260;
   {
   register ptr gf←c99280 =  (ptr) &globalframe;
   word rope←v17304;
   word prefix←v27616 = 0;
   word textParts←v27644 = 0;
   word eCount←v27672 = 0;
   word pCount←v27700 = 0;
   /* TextDescribe: */ 
SOURCE(41814, 663)
SOURCE(41814, 663)
   rope←v17304 = 0;
SOURCE(41955, 49)
   if (((* (( (ptr) sliceD←v17260)+1) ) == 0)) {
SOURCE(41982, 22)
      return((* (( (ptr) gf←c99280)+83) ));
      };
SOURCE(42006, 32)
   textParts←v27644 = XR←Narrow((* (( (ptr) sliceD←v17260)+1) ), (* (( (ptr) gf←c99280)+20) ));
SOURCE(42040, 117)
   {
      register word i←v27744 = 0;
      if (( (int)i←v27744 >  (int)11)) {
         goto lab←L100063;
         };
      lab←L100066: ;
SOURCE(42080, 77)
      if (XR←ExtractField(textParts←v27644, 20 + (word) BCK(i←v27744, 12), 1)) {
         {
            W12 var←c94256;
SOURCE(42110, 19)
            pCount←v27700 = (pCount←v27700 + 1);
SOURCE(42131, 26)
            (*  (ptr) &var←c94256 ) = (* (( (ptr) gf←c99280)+102) );
            (* (( (ptr) &var←c94256)+1) ) = (* (( (ptr) gf←c99280)+101) );
            (* (( (ptr) &var←c94256)+2) ) = (* (( (ptr) gf←c99280)+100) );
            (* (( (ptr) &var←c94256)+3) ) = (* (( (ptr) gf←c99280)+99) );
            (* (( (ptr) &var←c94256)+4) ) = (* (( (ptr) gf←c99280)+87) );
            (* (( (ptr) &var←c94256)+5) ) = (* (( (ptr) gf←c99280)+81) );
            (* (( (ptr) &var←c94256)+6) ) = (* (( (ptr) gf←c99280)+80) );
            (* (( (ptr) &var←c94256)+7) ) = (* (( (ptr) gf←c99280)+78) );
            (* (( (ptr) &var←c94256)+8) ) = (* (( (ptr) gf←c99280)+61) );
            (* (( (ptr) &var←c94256)+9) ) = (* (( (ptr) gf←c99280)+59) );
            (* (( (ptr) &var←c94256)+10) ) = (* (( (ptr) gf←c99280)+54) );
            (* (( (ptr) &var←c94256)+11) ) = (* (( (ptr) gf←c99280)+53) );
            prefix←v27616 = (* (( (ptr) &var←c94256)+BCK(i←v27744, 12)) );
            };
         };
      if (( (int)i←v27744 >=  (int)11)) {
         goto lab←L100063;
         };
      i←v27744 = (i←v27744 + 1);
      goto lab←L100066;
      lab←L100063: ;
      };
SOURCE(42171, 114)
   {
      register word i←v27788 = 0;
      if (( (int)i←v27788 >  (int)6)) {
         goto lab←L100067;
         };
      lab←L100070: ;
SOURCE(42210, 75)
      if (XR←ExtractField(textParts←v27644, 57 + (word) BCK(i←v27788, 7), 1)) {
         {
            W7 var←c94288;
SOURCE(42239, 19)
            eCount←v27672 = (eCount←v27672 + 1);
SOURCE(42260, 25)
            var←c94288.f0 = (* (( (ptr) gf←c99280)+52) );
            var←c94288.f1 = (* (( (ptr) gf←c99280)+49) );
            var←c94288.f2 = (* (( (ptr) gf←c99280)+45) );
            var←c94288.f3 = (* (( (ptr) gf←c99280)+44) );
            var←c94288.f4 = (* (( (ptr) gf←c99280)+43) );
            var←c94288.f5 = (* (( (ptr) gf←c99280)+42) );
            var←c94288.f6 = (* (( (ptr) gf←c99280)+41) );
            prefix←v27616 = (* (( (ptr) &var←c94288)+BCK(i←v27788, 7)) );
            };
         };
      if (( (int)i←v27788 >=  (int)6)) {
         goto lab←L100067;
         };
      i←v27788 = (i←v27788 + 1);
      goto lab←L100070;
      lab←L100067: ;
      };
SOURCE(42299, 64)
   if (((pCount←v27700 + eCount←v27672) > 1)) {
SOURCE(42323, 40)
      return((* (( (ptr) gf←c99280)+84) ));
      };
SOURCE(42365, 64)
   if ( ( (eCount←v27672 == 0) ? (pCount←v27700 == 0) : 0 ) ) {
SOURCE(42395, 34)
      return((* (( (ptr) gf←c99280)+85) ));
      };
SOURCE(42431, 46)
   {
      word pd440;
      pd440 = (* (( (ptr) (* (( (ptr) gf←c99280)+284)/* var←c89840 */  ))+6) );
      rope←v17304 = (word) ( *( (fPt) ((*  (ptr) pd440 ))))(prefix←v27616, (* (( (ptr) gf←c99280)+86) ), pd440);
      };
SOURCE(41814, 663)
   return(rope←v17304);
   }

static word TextDescribeHit←P3060(slice←v17364, hitData←v17392)
   word slice←v17364;
   word hitData←v17392;
   {
   register ptr gf←c99312 =  (ptr) &globalframe;
   word rope←v17452;
   word textHitData←v27832;
   word prefix←v27860 = 0;
   /* TextDescribeHit: */ 
SOURCE(42483, 352)
SOURCE(42483, 352)
   rope←v17452 = 0;
SOURCE(42568, 42)
   textHitData←v27832 = XR←Narrow(hitData←v17392, (* (( (ptr) gf←c99312)+19) ));
   {
      W12 var←c94320;
      W7 var←c94352;
SOURCE(42631, 151)
      if (( (int)((*  (ptr) textHitData←v27832 ) - 1) !=  (int) (word) -1)) {
SOURCE(42660, 48)
         {
            word idx441;
            (*  (ptr) &var←c94320 ) = (* (( (ptr) gf←c99312)+102) );
            (* (( (ptr) &var←c94320)+1) ) = (* (( (ptr) gf←c99312)+101) );
            (* (( (ptr) &var←c94320)+2) ) = (* (( (ptr) gf←c99312)+100) );
            (* (( (ptr) &var←c94320)+3) ) = (* (( (ptr) gf←c99312)+99) );
            (* (( (ptr) &var←c94320)+4) ) = (* (( (ptr) gf←c99312)+87) );
            (* (( (ptr) &var←c94320)+5) ) = (* (( (ptr) gf←c99312)+81) );
            (* (( (ptr) &var←c94320)+6) ) = (* (( (ptr) gf←c99312)+80) );
            (* (( (ptr) &var←c94320)+7) ) = (* (( (ptr) gf←c99312)+78) );
            (* (( (ptr) &var←c94320)+8) ) = (* (( (ptr) gf←c99312)+61) );
            (* (( (ptr) &var←c94320)+9) ) = (* (( (ptr) gf←c99312)+59) );
            (* (( (ptr) &var←c94320)+10) ) = (* (( (ptr) gf←c99312)+54) );
            (* (( (ptr) &var←c94320)+11) ) = (* (( (ptr) gf←c99312)+53) );
            prefix←v27860 = (* (( (ptr) &var←c94320)+(
                  idx441 = (word) ((*  (ptr) textHitData←v27832 ) - 1),
                  BCK(idx441, 12)
                  )) );
            };
         }
      else {
SOURCE(42708, 74)
         if (( (int)((* (( (ptr) textHitData←v27832)+1) ) - 1) !=  (int) (word) -1)) {
SOURCE(42736, 46)
            {
               word idx442;
               var←c94352.f0 = (* (( (ptr) gf←c99312)+52) );
               var←c94352.f1 = (* (( (ptr) gf←c99312)+49) );
               var←c94352.f2 = (* (( (ptr) gf←c99312)+45) );
               var←c94352.f3 = (* (( (ptr) gf←c99312)+44) );
               var←c94352.f4 = (* (( (ptr) gf←c99312)+43) );
               var←c94352.f5 = (* (( (ptr) gf←c99312)+42) );
               var←c94352.f6 = (* (( (ptr) gf←c99312)+41) );
               prefix←v27860 = (* (( (ptr) &var←c94352)+(
                     idx442 = (word) ((* (( (ptr) textHitData←v27832)+1) ) - 1),
                     BCK(idx442, 7)
                     )) );
               };
            }
         else {
SOURCE(42782, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
SOURCE(42789, 46)
      {
         word pd443;
         pd443 = (* (( (ptr) (* (( (ptr) gf←c99312)+284)/* var←c89840 */  ))+6) );
         rope←v17452 = (word) ( *( (fPt) ((*  (ptr) pd443 ))))(prefix←v27860, (* (( (ptr) gf←c99312)+86) ), pd443);
         };
      };
SOURCE(42483, 352)
   return(rope←v17452);
   }

static void TextFileout←P3120(slice←v17512, f←v17540)
   word slice←v17512;
   word f←v17540;
   {
   register ptr gf←c99344 =  (ptr) &globalframe;
   word textData←v27904;
   word fontData←v27932;
   /* TextFileout: */ 
SOURCE(42841, 1172)
SOURCE(42892, 39)
   textData←v27904 = XR←Narrow((* (( (ptr) slice←v17512)+1) ), (* (( (ptr) gf←c99344)+33) ));
SOURCE(42933, 38)
   fontData←v27932 = (* (( (ptr) textData←v27904)+5) );
SOURCE(42973, 69)
   {
      word pd444;
      pd444 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd444 ))))(f←v17540,  ( (0 != (* (( (ptr) fontData←v27932)+9) )) ? 1 : 0 ) , pd444);
      };
SOURCE(43044, 204)
   if ((0 != (* (( (ptr) fontData←v27932)+9) ))) {
SOURCE(43073, 104)
      {
         W2 var←c94384;
         W2 var←c94416;
         W2 var←c94448;
         var←c94384.f0 = 11;
         var←c94384.f1 = (* (( (ptr) textData←v27904)+3) );
         var←c94416.f0 = 11;
         var←c94416.f1 = (* (( (ptr) fontData←v27932)+1) );
         var←c94448.f0 = 11;
         var←c94448.f1 = (* (( (ptr) fontData←v27932)+3) );
         {
            word pd445;
            pd445 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+60) );
            (void) ( *( (fPt) ((*  (ptr) pd445 ))))(f←v17540, (* (( (ptr) gf←c99344)+88) ), var←c94384, var←c94416, var←c94448, pd445)
            ;
            };
         };
      }
   else {
SOURCE(43177, 71)
      {
         W2 var←c94480;
         W2 var←c94512;
         W2 var←c01167;
         var←c94480.f0 = 11;
         var←c94480.f1 = (* (( (ptr) textData←v27904)+3) );
         var←c94512.f0 = 11;
         var←c94512.f1 = (*  (ptr) fontData←v27932 );
         (*  (ptr) (word) &var←c01167 ) = 0;
         (* (( (ptr) (word) &var←c01167) + 1) ) = 0;
         {
            word pd446;
            pd446 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+60) );
            (void) ( *( (fPt) ((*  (ptr) pd446 ))))(f←v17540, (* (( (ptr) gf←c99344)+89) ), var←c94480, var←c94512, var←c01167, pd446)
            ;
            };
         };
      };
SOURCE(43250, 53)
   {
      word pd447;
      pd447 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd447 ))))(f←v17540, (* (( (ptr) fontData←v27932)+5) ), pd447);
      };
SOURCE(43305, 109)
   if ((0 == (* (( (ptr) fontData←v27932)+9) ))) {
SOURCE(43338, 76)
      {
         W2 var←c94576;
         W2 var←c94608;
         W2 var←c01168;
         var←c94576.f0 = 8;
         var←c94576.f1 = (* (( (ptr) fontData←v27932)+7) );
         var←c94608.f0 = 8;
         var←c94608.f1 = (* (( (ptr) fontData←v27932)+8) );
         (*  (ptr) (word) &var←c01168 ) = 0;
         (* (( (ptr) (word) &var←c01168) + 1) ) = 0;
         {
            word pd448;
            pd448 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+60) );
            (void) ( *( (fPt) ((*  (ptr) pd448 ))))(f←v17540, (* (( (ptr) gf←c99344)+90) ), var←c94576, var←c94608, var←c01168, pd448)
            ;
            };
         };
      };
SOURCE(43416, 40)
   {
      word pd449;
      pd449 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd449 ))))(f←v17540, (* (( (ptr) textData←v27904)+4) ), pd449);
      };
SOURCE(43458, 16)
   {
      word pd450;
      pd450 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd450 ))))(f←v17540, 32, pd450);
      };
SOURCE(43476, 237)
   if ((0 != (* (( (ptr) textData←v27904)+13) ))) {
SOURCE(43508, 29)
      {
         word pd451;
         pd451 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd451 ))))(f←v17540, 1, pd451);
         };
SOURCE(43539, 16)
      {
         word pd452;
         pd452 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd452 ))))(f←v17540, 32, pd452);
         };
SOURCE(43557, 51)
      {
         word pd453;
         pd453 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd453 ))))(f←v17540, (*  (W2Pt) (( (ptr) textData←v27904)+14) ), pd453);
         };
SOURCE(43610, 16)
      {
         word pd454;
         pd454 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd454 ))))(f←v17540, 32, pd454);
         };
SOURCE(43628, 46)
      {
         word pd455;
         pd455 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd455 ))))(f←v17540, (* (( (ptr) textData←v27904)+16) ), pd455);
         };
      }
   else {
SOURCE(43683, 30)
      {
         word pd456;
         pd456 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd456 ))))(f←v17540, 0, pd456);
         };
      };
SOURCE(43715, 45)
   {
      W2 var←c94672;
      var←c94672.f0 = 8;
      var←c94672.f1 = (* (( (ptr) textData←v27904)+12) );
      {
         word pd457;
         pd457 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+61) );
         (void) ( *( (fPt) ((*  (ptr) pd457 ))))(f←v17540, (* (( (ptr) gf←c99344)+91) ), var←c94672, pd457);
         };
      };
SOURCE(43762, 23)
   {
      word pd458;
      pd458 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+93) );
      (void) ( *( (fPt) ((*  (ptr) pd458 ))))(f←v17540, (* (( (ptr) gf←c99344)+92) ), 0, 2147483647, pd458);
      };
SOURCE(43787, 47)
   {
      word pd459;
      pd459 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd459 ))))(f←v17540,  (unsigned) ((* (( (ptr) (* (( (ptr) textData←v27904)+18) ))+25) ) != 0), pd459)
      ;
      };
SOURCE(43836, 97)
   if (((* (( (ptr) (* (( (ptr) textData←v27904)+18) ))+25) ) != 0)) {
SOURCE(43867, 50)
      {
         word pd460;
         pd460 = (* (( (ptr) (* (( (ptr) gf←c99344)+292)/* var←c90736 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd460 ))))(f←v17540, (* (( (ptr) (* (( (ptr) textData←v27904)+18) ))+25) ), pd460);
         };
      }
   else {
SOURCE(43917, 16)
      {
         word pd461;
         pd461 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd461 ))))(f←v17540, 32, pd461);
         };
      };
SOURCE(43951, 62)
   {
      word var←c94704;
      {
         word pd462;
         pd462 = (* (( (ptr) (* (( (ptr) gf←c99344)+279)/* var←c89296 */  ))+39) );
         var←c94704 = (word) ( *( (fPt) ((*  (ptr) pd462 ))))(slice←v17512, pd462);
         };
      {
         W2 var←c94736;
         var←c94736.f0 = 8;
         var←c94736.f1 = var←c94704;
         {
            word pd463;
            pd463 = (* (( (ptr) (* (( (ptr) gf←c99344)+285)/* var←c89904 */  ))+61) );
            (void) ( *( (fPt) ((*  (ptr) pd463 ))))(f←v17540, (* (( (ptr) gf←c99344)+93) ), var←c94736, pd463);
            };
         };
      };
   }

static word TextFilein←P3180(f←v17600, version←v17628, router←v17656, camera←v17684)
   word f←v17600;
   word version←v17628;
   word router←v17656;
   word camera←v17684;
   {
   W8 var←c99376;
   register ptr gf←c99408 =  (ptr) &globalframe;
   word slice←v17728;
   word tempBBox←v27976 = 0;
   word tempTBox←v28004 = 0;
   word text←v28032 = 0;
   word fontName←v28060 = 0;
   word prefix←v28088;
   word tiogaPrefix←v28116;
   word family←v28144;
   word face←v28172;
   /* declaration of fontData←v28200 skipped */ 
   word fontDataComfortable←v28228 = 0;
   word size←v28256;
   word preferredSize←v28284;
   word preferredSizeRope←v28312;
   word defaultSize←v28340;
   word transform←v28368 = 0;
   word shadowColor←v28396;
   word textColor←v28424;
   word dropShadowOn←v28452 = 0;
   word good←v28480 = 0;
   W2 dropShadowOffset←v28508;
   word amplifySpace←v28536;
   word lineSpacing←v28564;
   word props←v28592 = 0;
   /* TextFilein: */ 
SOURCE(44019, 5747)
SOURCE(44019, 5747)
   slice←v17728 = 0;
SOURCE(44185, 39)
   prefix←v28088 = (* (( (ptr) gf←c99408)+94) );
SOURCE(44226, 44)
   tiogaPrefix←v28116 = (* (( (ptr) gf←c99408)+95) );
SOURCE(44272, 31)
   family←v28144 = (* (( (ptr) gf←c99408)+96) );
SOURCE(44305, 20)
   face←v28172 = (* (( (ptr) gf←c99408)+47) );
SOURCE(44327, 25)
   var←c99376.f4/* fontData←v28200 */  = 0;
SOURCE(44389, 16)
   size←v28256 = (*  (ptr) &fc129 );
SOURCE(44407, 25)
   preferredSize←v28284 = (*  (ptr) &fc129 );
SOURCE(44434, 33)
   preferredSizeRope←v28312 = (* (( (ptr) gf←c99408)+47) );
SOURCE(44469, 24)
   defaultSize←v28340 = (*  (ptr) &fc160 );
SOURCE(44543, 40)
   shadowColor←v28396 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c99408)+289)/* var←c90416 */  ))+54) ) );
SOURCE(44585, 38)
   textColor←v28424 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c99408)+289)/* var←c90416 */  ))+54) ) );
SOURCE(44659, 37)
   dropShadowOffset←v28508.f0 = (*  (ptr) &fc154 );
   dropShadowOffset←v28508.f1 = (*  (ptr) &fc154 );
SOURCE(44698, 24)
   amplifySpace←v28536 = (*  (ptr) &fc129 );
SOURCE(44724, 23)
   lineSpacing←v28564 = (*  (ptr) &fc129 );
SOURCE(44781, 72)
   {
      word x464;
      word x466;
      if (((
         x464 = version←v17628,  *(float*)&x464
         ) >= (
         x466 = (*  (ptr) &fc465 ),  *(float*)&x466
         ))) {
SOURCE(44810, 43)
         {
            word pd467;
            pd467 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+24) );
            fontDataComfortable←v28228 = (word) ( *( (fPt) ((*  (ptr) pd467 ))))(f←v17600, pd467);
            };
         };
      };
SOURCE(44858, 146)
   {
      word x468;
      word x470;
      if (((
         x468 = version←v17628,  *(float*)&x468
         ) > (
         x470 = (*  (ptr) &fc469 ),  *(float*)&x470
         ))) {
SOURCE(44886, 25)
         {
            word pd471;
            pd471 = (* (( (ptr) (* (( (ptr) gf←c99408)+285)/* var←c89904 */  ))+78) );
            text←v28032 = (word) ( *( (fPt) ((*  (ptr) pd471 ))))(f←v17600, pd471);
            };
         }
      else {
SOURCE(44922, 25)
         {
            word pd472;
            pd472 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+10) );
            (void) ( *( (fPt) ((*  (ptr) pd472 ))))(f←v17600, 40, pd472);
            };
SOURCE(44949, 28)
         {
            word pd473;
            pd473 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
            text←v28032 = (word) ( *( (fPt) ((*  (ptr) pd473 ))))(f←v17600, pd473);
            };
SOURCE(44979, 25)
         {
            word pd474;
            pd474 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+10) );
            (void) ( *( (fPt) ((*  (ptr) pd474 ))))(f←v17600, 41, pd474);
            };
         };
      };
SOURCE(45009, 2702)
   {
      word x475;
      word x476;
      if (((
         x475 = version←v17628,  *(float*)&x475
         ) < (
         x476 = (*  (ptr) &fc465 ),  *(float*)&x476
         ))) {
SOURCE(45063, 59)
         {
            word x477;
            word x479;
            if (((
               x477 = version←v17628,  *(float*)&x477
               ) >= (
               x479 = (*  (ptr) &fc478 ),  *(float*)&x479
               ))) {
SOURCE(45092, 30)
               {
                  word pd480;
                  pd480 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
                  prefix←v28088 = (word) ( *( (fPt) ((*  (ptr) pd480 ))))(f←v17600, pd480);
                  };
               };
            };
SOURCE(45155, 1441)
         {
            word x481;
            word x483;
            if (((
               x481 = version←v17628,  *(float*)&x481
               ) <= (
               x483 = (*  (ptr) &fc482 ),  *(float*)&x483
               ))) {
SOURCE(45233, 18)
               size←v28256 = defaultSize←v28340;
               }
            else {
SOURCE(45260, 1336)
               {
                  word x484;
                  word x486;
                  if (((
                     x484 = version←v17628,  *(float*)&x484
                     ) <= (
                     x486 = (*  (ptr) &fc485 ),  *(float*)&x486
                     ))) {
SOURCE(45334, 30)
                     {
                        word pd487;
                        pd487 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
                        family←v28144 = (word) ( *( (fPt) ((*  (ptr) pd487 ))))(f←v17600, pd487);
                        };
                     }
                  else {
SOURCE(45373, 1223)
                     {
                        word x488;
                        word x490;
                        if (((
                           x488 = version←v17628,  *(float*)&x488
                           ) <= (
                           x490 = (*  (ptr) &fc489 ),  *(float*)&x490
                           ))) {
SOURCE(45458, 32)
                           {
/*1*/   word pd491;
/*1*/   pd491 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
/*1*/   fontName←v28060 = (word) ( *( (fPt) ((*  (ptr) pd491 ))))(f←v17600, pd491);
/*1*/   };
SOURCE(45492, 28)
                           {
/*1*/   word pd492;
/*1*/   pd492 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
/*1*/   size←v28256 = (word) ( *( (fPt) ((*  (ptr) pd492 ))))(f←v17600, pd492);
/*1*/   };
SOURCE(45522, 26)
                           {
/*1*/   word var←c94832;
/*1*/   word pd493;
/*1*/   pd493 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
/*1*/   var←c94832 = (word) ( *( (fPt) ((*  (ptr) pd493 ))))(f←v17600, pd493);
/*1*/   };
SOURCE(45550, 48)
                           fontName←v28060 = (word) UnpackComplexFontName←P1020(fontName←v28060, size←v28256);
SOURCE(45622, 56)
                           {
/*1*/   W3 var←c94864;
/*1*/   (void) TFontParamsFromFontName←P540((word) &var←c94864, fontName←v28060);
/*1*/   face←v28172 = var←c94864.f1;
/*1*/   family←v28144 = var←c94864.f0;
/*1*/   };
                           }
                        else {
SOURCE(45687, 909)
                           {
/*1*/   word x494;
/*1*/   word x496;
/*1*/   if (((
/*1*/      x494 = version←v17628,  *(float*)&x494
/*1*/      ) <= (
/*1*/      x496 = (*  (ptr) &fc495 ),  *(float*)&x496
/*1*/      ))) {
SOURCE(45771, 32)
/*1*/      {
/*1*/         word pd497;
/*1*/         pd497 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
/*1*/         fontName←v28060 = (word) ( *( (fPt) ((*  (ptr) pd497 ))))(f←v17600, pd497);
/*1*/         };
SOURCE(45805, 28)
/*1*/      {
/*1*/         word pd498;
/*1*/         pd498 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
/*1*/         size←v28256 = (word) ( *( (fPt) ((*  (ptr) pd498 ))))(f←v17600, pd498);
/*1*/         };
SOURCE(45835, 26)
/*1*/      {
/*1*/         word var←c94896;
/*1*/         word pd499;
/*1*/         pd499 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
/*1*/         var←c94896 = (word) ( *( (fPt) ((*  (ptr) pd499 ))))(f←v17600, pd499);
/*1*/         };
SOURCE(45892, 56)
/*1*/      {
/*1*/         W3 var←c94928;
/*1*/         (void) TFontParamsFromFontName←P540((word) &var←c94928, fontName←v28060);
/*1*/         face←v28172 = var←c94928.f1;
/*1*/         family←v28144 = var←c94928.f0;
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(45957, 639)
/*1*/      {
/*1*/         word x500;
/*1*/         word x501;
/*1*/         if (((
/*1*/            x500 = version←v17628,  *(float*)&x500
/*1*/            ) < (
/*1*/            x501 = (*  (ptr) &fc478 ),  *(float*)&x501
/*1*/            ))) {
SOURCE(46071, 32)
/*1*/            {
/*1*/               word pd502;
/*1*/               pd502 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
/*1*/               fontName←v28060 = (word) ( *( (fPt) ((*  (ptr) pd502 ))))(f←v17600, pd502);
/*1*/               };
SOURCE(46105, 28)
/*1*/            {
/*1*/               word pd503;
/*1*/               pd503 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
/*1*/               size←v28256 = (word) ( *( (fPt) ((*  (ptr) pd503 ))))(f←v17600, pd503);
/*1*/               };
SOURCE(46135, 56)
/*1*/            {
/*1*/               W3 var←c94960;
/*1*/               (void) TFontParamsFromFontName←P540((word) &var←c94960, fontName←v28060);
/*1*/               face←v28172 = var←c94960.f1;
/*1*/               family←v28144 = var←c94960.f0;
/*1*/               };
/*1*/            }
/*1*/         else {
SOURCE(46200, 396)
/*1*/            {
/*1*/               word x504;
/*1*/               word x505;
/*1*/               if (((
/*1*/                  x504 = version←v17628,  *(float*)&x504
/*1*/                  ) == (
/*1*/                  x505 = (*  (ptr) &fc478 ),  *(float*)&x505
/*1*/                  ))) {
SOURCE(46226, 372)
/*1*/                  {
/*1*/                     word ps←v28720 = 0;
/*1*/                     word fail←v28748 = 0;
SOURCE(46286, 74)
/*1*/                     {
/*1*/                        W6 var←c94992;
/*1*/                        {
/*1*/                           word pd506;
/*1*/                           pd506 = (* (( (ptr) (* (( (ptr) gf←c99408)+281)/* var←c89456 */  ))+19) );
/*1*/                           (void) ( *( (fPt) ((*  (ptr) pd506 ))))((word) &var←c94992, f←v17600, 0, 1, 1, 0
/*1*/                              , 0, pd506);
/*1*/                           };
/*1*/                        face←v28172 = var←c94992.f3;
/*1*/                        family←v28144 = var←c94992.f2;
/*1*/                        fail←v28748 = var←c94992.f0;
/*1*/                        };
SOURCE(46362, 13)
/*1*/                     if ((0 != fail←v28748)) {
SOURCE(46375, 5)
/*1*/                        (void) XR←RaiseUnnamedError();
/*1*/                        };
SOURCE(46382, 43)
/*1*/                     {
/*1*/                        word pd507;
/*1*/                        pd507 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+20) );
/*1*/                        transform←v28368 = (word) ( *( (fPt) ((*  (ptr) pd507 ))))(f←v17600, pd507);
/*1*/                        };
SOURCE(46427, 37)
/*1*/                     {
/*1*/                        word pd508;
/*1*/                        pd508 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
/*1*/                        preferredSize←v28284 = (word) ( *( (fPt) ((*  (ptr) pd508 ))))(f←v17600, pd508);
/*1*/                        };
SOURCE(46466, 30)
/*1*/                     {
/*1*/                        word pd509;
/*1*/                        pd509 = (* (( (ptr) (* (( (ptr) gf←c99408)+305)/* var←c95024 */  ))+6) );
/*1*/                        ps←v28720 = (word) ( *( (fPt) ((*  (ptr) pd509 ))))(preferredSize←v28284, pd509);
/*1*/                        };
SOURCE(46498, 98)
/*1*/                     {
/*1*/                        word pd510;
/*1*/                        pd510 = (* (( (ptr) (* (( (ptr) gf←c99408)+284)/* var←c89840 */  ))+8) );
/*1*/                        if ((0 != (word) ( *( (fPt) ((*  (ptr) pd510 ))))(prefix←v28088, tiogaPrefix←v28116, 0, pd510))) {
SOURCE(46545, 51)
/*1*/                           {
/*1*/                              W2 var←c95056;
/*1*/                              var←c95056.f0 = 5;
/*1*/                              var←c95056.f1 = ps←v28720;
/*1*/                              {
/*2*/   word pd511;
/*2*/   pd511 = (* (( (ptr) (* (( (ptr) gf←c99408)+285)/* var←c89904 */  ))+63) );
/*2*/   preferredSizeRope←v28312 = (word) ( *( (fPt) ((*  (ptr) pd511 ))))((* (( (ptr) gf←c99408)+63) ), var←c95056, pd511);
/*2*/   };
/*1*/                              };
/*1*/                           };
/*1*/                        };
/*1*/                     };
/*1*/                  };
/*1*/               };
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
SOURCE(46601, 34)
         {
            word pd512;
            pd512 = (* (( (ptr) (* (( (ptr) gf←c99408)+281)/* var←c89456 */  ))+6) );
            var←c99376.f4/* fontData←v28200 */  = (word) ( *( (fPt) ((*  (ptr) pd512 ))))(pd512);
            };
SOURCE(46637, 30)
         (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5) ) = transform←v28368;
SOURCE(46669, 35)
         (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+7) ) = preferredSize←v28284;
SOURCE(46733, 204)
SOURCE(46733, 204)
         {
            /* declaration of var←c95088 skipped */ 
            {
               word var←c95120;
               {
                  word pd513;
                  pd513 = (* (( (ptr) (* (( (ptr) gf←c99408)+284)/* var←c89840 */  ))+5) );
                  var←c95120 = (word) ( *( (fPt) ((*  (ptr) pd513 ))))(prefix←v28088, family←v28144, face←v28172, preferredSizeRope←v28312, 0, pd513)
                  ;
                  };
               {
                  word pd514;
                  pd514 = (* (( (ptr) (* (( (ptr) gf←c99408)+285)/* var←c89904 */  ))+33) );
                  var←c99376.f5/* var←c95088 */  = (word) ( *( (fPt) ((*  (ptr) pd514 ))))(var←c95120, 0, pd514);
                  };
               };
            {
               /* declaration of var←c018 skipped */ 
               var←c99376.f6/* var←c018 */  = (* (( (ptr) (* (( (ptr) gf←c99408)+281)/* var←c89456 */  ))+9) );
               {
                  /* declaration of var←c019 skipped */ 
                  {
                     word var←c020;
                     {
                        word var←c01169;
                        var←c01169 = (word) &var←c99376;
                        var←c020 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8604) ), ( ((word)  (fPt) NoName←Q8784) ), var←c01169);
                        };
                     if ((var←c020 == 9)) {
                        goto lab←L100072;
                        };
                     };
                  var←c99376.f4/* fontData←v28200 */  = var←c99376.f7/* var←c019 */ ;
                  };
               };
            };
         lab←L100072: ;
         }
      else {
SOURCE(46987, 770)
         {
            word name←v28792;
SOURCE(46989, 39)
            {
               word pd515;
               pd515 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+8) );
               name←v28792 = (word) ( *( (fPt) ((*  (ptr) pd515 ))))(f←v17600, pd515);
               };
SOURCE(47030, 34)
            {
               word pd516;
               pd516 = (* (( (ptr) (* (( (ptr) gf←c99408)+281)/* var←c89456 */  ))+6) );
               var←c99376.f4/* fontData←v28200 */  = (word) ( *( (fPt) ((*  (ptr) pd516 ))))(pd516);
               };
SOURCE(47093, 618)
            if ((0 != fontDataComfortable←v28228)) {
SOURCE(47166, 159)
SOURCE(47166, 159)
               {
                  /* declaration of var←c95152 skipped */ 
                  {
                     word pd517;
                     pd517 = (* (( (ptr) (* (( (ptr) gf←c99408)+285)/* var←c89904 */  ))+33) );
                     var←c99376.f5/* var←c95152 */  = (word) ( *( (fPt) ((*  (ptr) pd517 ))))(name←v28792, 0, pd517);
                     };
                  {
                     /* declaration of var←c021 skipped */ 
                     var←c99376.f6/* var←c021 */  = (* (( (ptr) (* (( (ptr) gf←c99408)+281)/* var←c89456 */  ))+9) );
                     {
                        /* declaration of var←c022 skipped */ 
                        {
                           word var←c023;
                           {
/*1*/   word var←c01170;
/*1*/   var←c01170 = (word) &var←c99376;
/*1*/   var←c023 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8544) ), ( ((word)  (fPt) NoName←Q8724) ), var←c01170);
/*1*/   };
                           if ((var←c023 == 10)) {
/*1*/   goto lab←L100076;
/*1*/   };
                           };
                        var←c99376.f4/* fontData←v28200 */  = var←c99376.f7/* var←c022 */ ;
                        };
                     };
                  };
               lab←L100076: ;
SOURCE(47369, 52)
               {
                  word pd518;
                  pd518 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+20) );
                  (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5) ) = (word) ( *( (fPt) ((*  (ptr) pd518 ))))(f←v17600, pd518);
                  };
               }
            else {
SOURCE(47457, 52)
               {
                  word pd519;
                  pd519 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+20) );
                  (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5) ) = (word) ( *( (fPt) ((*  (ptr) pd519 ))))(f←v17600, pd519);
                  };
SOURCE(47511, 43)
               {
                  word pd520;
                  pd520 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
                  (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+7) ) = (word) ( *( (fPt) ((*  (ptr) pd520 ))))(f←v17600, pd520);
                  };
SOURCE(47556, 43)
               {
                  word pd521;
                  pd521 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
                  (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+8) ) = (word) ( *( (fPt) ((*  (ptr) pd521 ))))(f←v17600, pd521);
                  };
SOURCE(47601, 110)
SOURCE(47601, 110)
               {
                  /* declaration of var←c95184 skipped */ 
                  {
                     word pd522;
                     pd522 = (* (( (ptr) (* (( (ptr) gf←c99408)+285)/* var←c89904 */  ))+33) );
                     var←c99376.f5/* var←c95184 */  = (word) ( *( (fPt) ((*  (ptr) pd522 ))))(name←v28792, 0, pd522);
                     };
                  {
                     /* declaration of var←c024 skipped */ 
                     var←c99376.f6/* var←c024 */  = (* (( (ptr) (* (( (ptr) gf←c99408)+281)/* var←c89456 */  ))+9) );
                     {
                        /* declaration of var←c025 skipped */ 
                        {
                           word var←c026;
                           {
/*1*/   word var←c01171;
/*1*/   var←c01171 = (word) &var←c99376;
/*1*/   var←c026 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8484) ), ( ((word)  (fPt) NoName←Q8664) ), var←c01171);
/*1*/   };
                           if ((var←c026 == 11)) {
/*1*/   goto lab←L100080;
/*1*/   };
                           };
                        var←c99376.f4/* fontData←v28200 */  = var←c99376.f7/* var←c025 */ ;
                        };
                     };
                  };
               lab←L100080: ;
               };
            };
         };
      };
SOURCE(47761, 143)
   {
      word x523;
      word x524;
      if (((
         x523 = version←v17628,  *(float*)&x523
         ) > (
         x524 = (*  (ptr) &fc495 ),  *(float*)&x524
         ))) {
SOURCE(47789, 43)
         {
            word pd525;
            pd525 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+16) );
            textColor←v28424 = (word) ( *( (fPt) ((*  (ptr) pd525 ))))(f←v17600, version←v17628, pd525);
            };
SOURCE(47834, 70)
         {
            word x526;
            word x528;
            if ( ( (textColor←v28424 == 0) ? ((
               x526 = version←v17628,  *(float*)&x526
               ) < (
               x528 = (*  (ptr) &fc527 ),  *(float*)&x528
               )) : 0 ) ) {
SOURCE(47880, 24)
               textColor←v28424 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c99408)+289)/* var←c90416 */  ))+54) ) );
               };
            };
         };
      };
SOURCE(47909, 286)
   {
      word x529;
      word x531;
      if (((
         x529 = version←v17628,  *(float*)&x529
         ) >= (
         x531 = (*  (ptr) &fc530 ),  *(float*)&x531
         ))) {
SOURCE(47938, 36)
         {
            word pd532;
            pd532 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+24) );
            dropShadowOn←v28452 = (word) ( *( (fPt) ((*  (ptr) pd532 ))))(f←v17600, pd532);
            };
SOURCE(47976, 187)
         if ((0 != dropShadowOn←v28452)) {
SOURCE(47999, 41)
            {
               word pd533;
               pd533 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+19) );
               (void) ( *( (fPt) ((*  (ptr) pd533 ))))((word) &dropShadowOffset←v28508, f←v17600, pd533);
               };
SOURCE(48042, 45)
            {
               word pd534;
               pd534 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+16) );
               shadowColor←v28396 = (word) ( *( (fPt) ((*  (ptr) pd534 ))))(f←v17600, version←v17628, pd534);
               };
SOURCE(48089, 74)
            {
               word x535;
               word x536;
               if ( ( (shadowColor←v28396 == 0) ? ((
                  x535 = version←v17628,  *(float*)&x535
                  ) < (
                  x536 = (*  (ptr) &fc527 ),  *(float*)&x536
                  )) : 0 ) ) {
SOURCE(48137, 26)
                  shadowColor←v28396 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c99408)+289)/* var←c90416 */  ))+54) ) );
                  };
               };
            };
         }
      else {
SOURCE(48175, 20)
         dropShadowOn←v28452 = 0;
         };
      };
SOURCE(48198, 430)
   {
      word x537;
      word x539;
      if (((
         x537 = version←v17628,  *(float*)&x537
         ) <= (
         x539 = (*  (ptr) &fc538 ),  *(float*)&x539
         ))) {
SOURCE(48225, 226)
         {
            W2 point←v28836;
SOURCE(48262, 37)
            {
               word pd540;
               pd540 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+19) );
               (void) ( *( (fPt) ((*  (ptr) pd540 ))))((word) &point←v28836, f←v17600, pd540);
               };
SOURCE(48301, 58)
            {
               word pd541;
               pd541 = (* (( (ptr) (* (( (ptr) gf←c99408)+287)/* var←c90224 */  ))+10) );
               (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5) ) = (word) ( *( (fPt) ((*  (ptr) pd541 ))))(point←v28836, pd541);
               };
SOURCE(48361, 76)
            {
               word pd542;
               pd542 = (* (( (ptr) (* (( (ptr) gf←c99408)+287)/* var←c90224 */  ))+15) );
               (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5) ) = (word) ( *( (fPt) ((*  (ptr) pd542 ))))((* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5)
                   ), size←v28256, pd542);
               };
SOURCE(48439, 10)
            size←v28256 = (*  (ptr) &fc129 );
            };
         }
      else {
SOURCE(48458, 170)
         {
            word x543;
            word x544;
            if (((
               x543 = version←v17628,  *(float*)&x543
               ) < (
               x544 = (*  (ptr) &fc478 ),  *(float*)&x544
               ))) {
SOURCE(48486, 52)
               {
                  word pd545;
                  pd545 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+20) );
                  (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5) ) = (word) ( *( (fPt) ((*  (ptr) pd545 ))))(f←v17600, pd545);
                  };
SOURCE(48540, 76)
               {
                  word pd546;
                  pd546 = (* (( (ptr) (* (( (ptr) gf←c99408)+287)/* var←c90224 */  ))+15) );
                  (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5) ) = (word) ( *( (fPt) ((*  (ptr) pd546 ))))((* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+5)
                      ), size←v28256, pd546);
                  };
SOURCE(48618, 10)
               size←v28256 = (*  (ptr) &fc129 );
               };
            };
         };
      };
SOURCE(48682, 92)
   {
      word x547;
      word x549;
      if (((
         x547 = version←v17628,  *(float*)&x547
         ) >= (
         x549 = (*  (ptr) &fc548 ),  *(float*)&x549
         ))) {
SOURCE(48711, 36)
         {
            word pd550;
            pd550 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
            amplifySpace←v28536 = (word) ( *( (fPt) ((*  (ptr) pd550 ))))(f←v17600, pd550);
            };
         }
      else {
SOURCE(48756, 18)
         amplifySpace←v28536 = (*  (ptr) &fc129 );
         };
      };
SOURCE(48776, 234)
   {
      word x551;
      word x553;
      if (((
         x551 = version←v17628,  *(float*)&x551
         ) >= (
         x553 = (*  (ptr) &fc552 ),  *(float*)&x553
         ))) {
SOURCE(48801, 211)
         {
            word hasProps←v28880 = 0;
SOURCE(48852, 34)
            {
               word pd554;
               pd554 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+9) );
               (void) ( *( (fPt) ((*  (ptr) pd554 ))))(f←v17600, (* (( (ptr) gf←c99408)+97) ), pd554);
               };
SOURCE(48888, 32)
            {
               word pd555;
               pd555 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+24) );
               hasProps←v28880 = (word) ( *( (fPt) ((*  (ptr) pd555 ))))(f←v17600, pd555);
               };
SOURCE(48922, 61)
            {
               word pd556;
               if ((0 != hasProps←v28880)) {
                  pd556 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+13) );
                  props←v28592 = (word) ( *( (fPt) ((*  (ptr) pd556 ))))(f←v17600, pd556);
                  }
               else {
                  props←v28592 = 0;
                  };
               };
SOURCE(48985, 25)
            {
               word pd557;
               pd557 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+10) );
               (void) ( *( (fPt) ((*  (ptr) pd557 ))))(f←v17600, 41, pd557);
               };
            };
         };
      };
SOURCE(49015, 117)
   {
      word x558;
      word x560;
      if (((
         x558 = version←v17628,  *(float*)&x558
         ) >= (
         x560 = (*  (ptr) &fc559 ),  *(float*)&x560
         ))) {
SOURCE(49066, 29)
         {
            word pd561;
            pd561 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+9) );
            (void) ( *( (fPt) ((*  (ptr) pd561 ))))(f←v17600, (* (( (ptr) gf←c99408)+98) ), pd561);
            };
SOURCE(49097, 35)
         {
            word pd562;
            pd562 = (* (( (ptr) (* (( (ptr) gf←c99408)+304)/* var←c94800 */  ))+27) );
            lineSpacing←v28564 = (word) ( *( (fPt) ((*  (ptr) pd562 ))))(f←v17600, pd562);
            };
         };
      };
SOURCE(49138, 118)
   slice←v17728 = (word) MakeTextSlice←P120(text←v28032, textColor←v28424, (* (( (ptr) camera←v17684)+1) ), amplifySpace←v28536, dropShadowOn←v28452, dropShadowOffset←v28508
      , shadowColor←v28396);
SOURCE(49258, 28)
   (* (( (ptr) var←c99376.f4/* fontData←v28200 */ )+13) ) = 1;
SOURCE(49329, 86)
   if ((0 == (word) SetTextFontAndTransform←P660(slice←v17728, var←c99376.f4/* fontData←v28200 */ , router←v17656, 0))) {
SOURCE(49395, 20)
      (void) (XR←RaiseSignal((word) (( (bPt) gf←c99408)+424)/* var←c86448 */ , 0, 0));
      };
SOURCE(49417, 173)
   if ((props←v28592 != 0)) {
SOURCE(49435, 166)
      {
         word seg←v28924;
SOURCE(49437, 47)
         seg←v28924 = (* (( (ptr) XR←Narrow((* (( (ptr) slice←v17728)+1) ), (* (( (ptr) gf←c99408)+33) )))+18) );
SOURCE(49486, 104)
         {
            register word next←v28968;
            next←v28968 = props←v28592;
            lab←L100086: ;
            if ((next←v28968 != 0)) {
               }
            else {
               goto lab←L100083;
               };
SOURCE(49551, 39)
            {
               word var←c95216;
               var←c95216 = XR←NewObject(8, (* (( (ptr) gf←c99408)+18) ));
               (*  (ptr) var←c95216 ) = (*  (ptr) next←v28968 );
               (* (( (ptr) var←c95216)+1) ) = (* (( (ptr) seg←v28924)+25) );
               (* (( (ptr) seg←v28924)+25) ) = var←c95216;
               };
            next←v28968 = (* (( (ptr) next←v28968)+1) );
            goto lab←L100086;
            lab←L100083: ;
            };
         };
      };
SOURCE(49605, 27)
   {
      word pd563;
      pd563 = (* (( (ptr) (* (( (ptr) gf←c99408)+279)/* var←c89296 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd563 ))))(slice←v17728, pd563);
      };
SOURCE(49634, 38)
   tempBBox←v27976 = (word) TextGetBoundBox←P2160(slice←v17728, 0);
SOURCE(49674, 38)
   tempTBox←v28004 = (word) TextGetTightBox←P2220(slice←v17728, 0);
SOURCE(49715, 51)
   {
      word pd564;
      pd564 = (* (( (ptr) (* (( (ptr) gf←c99408)+279)/* var←c89296 */  ))+40) );
      (void) ( *( (fPt) ((*  (ptr) pd564 ))))(slice←v17728, lineSpacing←v28564, 0, pd564);
      };
SOURCE(44019, 5747)
   return(slice←v17728);
   }

static word NoName←Q8484(formal←c01118)
   word formal←c01118;
   {
SOURCE(47601, 110)
   {
      word pd565;
      pd565 = (* (( (ptr) formal←c01118)+6) );
      (* (( (ptr) formal←c01118)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd565 ))))((* (( (ptr) formal←c01118)+4) ), (* (( (ptr) formal←c01118)+5)
          ), 1, 0, 0, 0
         , 0, 0, 0, 0, pd565);
      };
   return(0);
   }

static word NoName←Q8544(formal←c01119)
   word formal←c01119;
   {
SOURCE(47166, 159)
   {
      word pd566;
      pd566 = (* (( (ptr) formal←c01119)+6) );
      (* (( (ptr) formal←c01119)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd566 ))))((* (( (ptr) formal←c01119)+4) ), (* (( (ptr) formal←c01119)+5)
          ), 0, 1, 1, 1
         , 0, 0, 0, 0, pd566);
      };
   return(0);
   }

static word NoName←Q8604(formal←c01120)
   word formal←c01120;
   {
SOURCE(46733, 204)
   {
      word pd567;
      pd567 = (* (( (ptr) formal←c01120)+6) );
      (* (( (ptr) formal←c01120)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd567 ))))((* (( (ptr) formal←c01120)+4) ), (* (( (ptr) formal←c01120)+5)
          ), 0, 1, 1, 1
         , 0, 0, 0, 0, pd567);
      };
   return(0);
   }

static void MakeComplete←P3240(parts←v17788)
   word parts←v17788;
   {
   register ptr gf←c99440 =  (ptr) &globalframe;
   word textParts←v29096;
   /* MakeComplete: */ 
SOURCE(49773, 169)
SOURCE(49817, 36)
   textParts←v29096 = XR←Narrow(parts←v17788, (* (( (ptr) gf←c99440)+20) ));
SOURCE(49855, 28)
   (*  (ptr) textParts←v29096 ) |= 4095;
SOURCE(49885, 27)
   (* (( (ptr) textParts←v29096) + 1) ) |= 127;
SOURCE(49914, 28)
   (* (( (ptr) textParts←v29096)+2) ) = 1;
   }

static word IsComplete←P3300(parts←v17848)
   word parts←v17848;
   {
   register ptr gf←c99472 =  (ptr) &globalframe;
   word var←c17892;
   word textParts←v29140;
   /* IsComplete: */ 
SOURCE(49948, 215)
SOURCE(49948, 215)
   var←c17892 = 0;
SOURCE(50012, 36)
   textParts←v29140 = XR←Narrow(parts←v17848, (* (( (ptr) gf←c99472)+20) ));
SOURCE(50050, 113)
   {
      word tc568;
      word tc569;
      word tc570;
      if ((textParts←v29140 != 0)) {
         tc570 =  (word) ( (unsigned) ((* (( (hPt) textParts←v29140)+1) ) & 07777) == 4095);
         }
      else {
         tc570 =  (word) 0;
         };
      if (tc570) {
         tc569 =  (word) ( (unsigned) ((* (( (bPt) textParts←v29140)+7) ) & 0177) == 127);
         }
      else {
         tc569 =  (word) 0;
         };
      if (tc569) {
         tc568 =  (word)  (unsigned) ((* (( (ptr) textParts←v29140)+2) ) == 1);
         }
      else {
         tc568 =  (word)  (unsigned) 0;
         };
      return(tc568);
      };
   }

static word IsEmpty←P3360(parts←v17952)
   word parts←v17952;
   {
   register ptr gf←c99504 =  (ptr) &globalframe;
   word var←c17996;
   word textParts←v29184;
   /* IsEmpty: */ 
SOURCE(50169, 218)
SOURCE(50169, 218)
   var←c17996 = 0;
SOURCE(50230, 36)
   textParts←v29184 = XR←Narrow(parts←v17952, (* (( (ptr) gf←c99504)+20) ));
SOURCE(50268, 119)
   {
      word tc571;
      word tc572;
      if ((textParts←v29184 == 0)) {
         tc571 =  (word)  (unsigned) 1;
         }
      else {
         if (( (unsigned) ((* (( (hPt) textParts←v29184)+1) ) & 07777) == 0)) {
            tc572 =  (word) ( (unsigned) ((* (( (bPt) textParts←v29184)+7) ) & 0177) == 0);
            }
         else {
            tc572 =  (word) 0;
            };
         if (tc572) {
            tc571 =  (word)  (unsigned) ((* (( (ptr) textParts←v29184)+2) ) == 0);
            }
         else {
            tc571 =  (word)  (unsigned) 0;
            };
         };
      return(tc571);
      };
   }

static word TextIsEmptyParts←P3420(sliceD←v18056)
   word sliceD←v18056;
   {
   word var←c18100;
   /* TextIsEmptyParts: */ 
SOURCE(50393, 105)
SOURCE(50393, 105)
   var←c18100 = 0;
SOURCE(50469, 29)
   return((word) IsEmpty←P3360((* ((( (ptr) sliceD←v18056)+1)) )));
   }

static word TextIsCompleteParts←P3480(sliceD←v18160)
   word sliceD←v18160;
   {
   word var←c18204;
   /* TextIsCompleteParts: */ 
SOURCE(50504, 111)
SOURCE(50504, 111)
   var←c18204 = 0;
SOURCE(50583, 32)
   return((word) IsComplete←P3300((* ((( (ptr) sliceD←v18160)+1)) )));
   }

static word TextNewParts←P3540(slice←v18264, hitData←v18292, mode←v18320)
   word slice←v18264;
   word hitData←v18292;
   word mode←v18320;
   {
   register ptr gf←c99536 =  (ptr) &globalframe;
   word sliceD←v18376;
   word textHitData←v29228;
   word textParts←v29256;
   /* TextNewParts: */ 
SOURCE(50621, 1327)
SOURCE(50621, 1327)
   sliceD←v18376 = 0;
SOURCE(50729, 42)
   textHitData←v29228 = XR←Narrow(hitData←v18292, (* (( (ptr) gf←c99536)+19) ));
SOURCE(50773, 104)
   textParts←v29256 = XR←NewObject(12, (* (( (ptr) gf←c99536)+20) ));
SOURCE(50879, 957)
   {
      word var←c95344;
      var←c95344 = mode←v18320;
      switch (var←c95344) {
         case 0: 
SOURCE(50909, 151)
            if (( (int)((*  (ptr) textHitData←v29228 ) - 1) !=  (int) (word) -1)) {
SOURCE(50938, 48)
               {
                  word idx573;
                  XR←DepositField(textParts←v29256, 20 + (word) (
                        idx573 = (word) ((*  (ptr) textHitData←v29228 ) - 1),
                        BCK(idx573, 12)
                        ), 1, 1);
                  };
               }
            else {
SOURCE(50986, 74)
               if (( (int)((* (( (ptr) textHitData←v29228)+1) ) - 1) !=  (int) (word) -1)) {
SOURCE(51014, 46)
                  {
                     word idx574;
                     XR←DepositField(textParts←v29256, 57 + (word) (
                           idx574 = (word) ((* (( (ptr) textHitData←v29228)+1) ) - 1),
                           BCK(idx574, 7)
                           ), 1, 1);
                     };
                  }
               else {
SOURCE(51060, 5)
                  (void) XR←RaiseUnnamedError();
                  };
               };
            break;
         case 1: 
SOURCE(51081, 473)
            if (( (int)((*  (ptr) textHitData←v29228 ) - 1) !=  (int) (word) -1)) {
SOURCE(51112, 42)
               {
                  word idx575;
                  XR←DepositField(textParts←v29256, 20 + (word) (
                        idx575 = (word) ((*  (ptr) textHitData←v29228 ) - 1),
                        BCK(idx575, 12)
                        ), 1, 1);
                  };
               }
            else {
SOURCE(51163, 393)
               {
                  word hitData←v29300 = 0;
                  word pointHitData←v29328 = 0;
                  word success←v29356;
                  word wholeD←v29384 = 0;
SOURCE(51250, 43)
                  wholeD←v29384 = (word) TextNewParts←P3540(slice←v18264, 0, 7);
SOURCE(51295, 116)
                  {
                     W7 var←c95376;
                     {
                        word pd576;
                        pd576 = (* (( (ptr) (* (( (ptr) gf←c99536)+283)/* var←c89776 */  ))+44) );
                        (void) ( *( (fPt) ((*  (ptr) pd576 ))))((word) &var←c95376, wholeD←v29384, (*  (W2Pt) (( (ptr) textHitData←v29228)+2) ), (*  (ptr) &fc577 ), pd576)
                        ;
                        };
                     success←v29356 = var←c95376.f6;
                     hitData←v29300 = var←c95376.f5;
                     };
SOURCE(51413, 20)
                  if ((0 == success←v29356)) {
SOURCE(51433, 5)
                     (void) XR←RaiseUnnamedError();
                     };
SOURCE(51440, 30)
                  pointHitData←v29328 = XR←Narrow(hitData←v29300, (* (( (ptr) gf←c99536)+19) ));
SOURCE(51472, 32)
                  if (( (int)((*  (ptr) pointHitData←v29328 ) - 1) ==  (int) (word) -1)) {
SOURCE(51504, 5)
                     (void) XR←RaiseUnnamedError();
                     };
SOURCE(51511, 43)
                  {
                     word idx578;
                     XR←DepositField(textParts←v29256, 20 + (word) (
                           idx578 = (word) ((*  (ptr) pointHitData←v29328 ) - 1),
                           BCK(idx578, 12)
                           ), 1, 1);
                     };
                  };
               };
SOURCE(51559, 28)
            (* (( (ptr) textParts←v29256)+2) ) = 1;
            break;
         case 3: 
SOURCE(51603, 100)
            if (( (int)((* (( (ptr) textHitData←v29228)+1) ) - 1) !=  (int) (word) -1)) {
SOURCE(51633, 40)
               {
                  word idx579;
                  XR←DepositField(textParts←v29256, 57 + (word) (
                        idx579 = (word) ((* (( (ptr) textHitData←v29228)+1) ) - 1),
                        BCK(idx579, 7)
                        ), 1, 1);
                  };
SOURCE(51675, 28)
               (* (( (ptr) textParts←v29256)+2) ) = 1;
               };
            break;
         case 2: 
SOURCE(51726, 28)
            (*  (ptr) textParts←v29256 ) |= 4095;
SOURCE(51756, 27)
            (* (( (ptr) textParts←v29256) + 1) ) |= 127;
            break;
         case 5: case 6: case 7: 
SOURCE(51813, 23)
            (void) MakeComplete←P3240(textParts←v29256);
            break;
         case 8: 
            break;
         default: 
SOURCE(51887, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
SOURCE(51894, 54)
   {
      word pd580;
      pd580 = (* (( (ptr) (* (( (ptr) gf←c99536)+279)/* var←c89296 */  ))+8) );
      sliceD←v18376 = (word) ( *( (fPt) ((*  (ptr) pd580 ))))(slice←v18264, textParts←v29256, pd580);
      };
SOURCE(50621, 1327)
   return(sliceD←v18376);
   }

static word TextUnionParts←P3600(partsA←v18436, partsB←v18464)
   word partsA←v18436;
   word partsB←v18464;
   {
   register ptr gf←c99568 =  (ptr) &globalframe;
   word aPlusB←v18508;
   word textPartsA←v29440;
   word textPartsB←v29468;
   word newParts←v29496 = 0;
   /* TextUnionParts: */ 
SOURCE(51954, 806)
SOURCE(51954, 806)
   aPlusB←v18508 = 0;
SOURCE(52064, 44)
   textPartsA←v29440 = XR←Narrow((* (( (ptr) partsA←v18436)+1) ), (* (( (ptr) gf←c99568)+20) ));
SOURCE(52110, 44)
   textPartsB←v29468 = XR←Narrow((* (( (ptr) partsB←v18464)+1) ), (* (( (ptr) gf←c99568)+20) ));
SOURCE(52177, 37)
   if ((partsA←v18436 == 0) || (partsB←v18464 == 0)) {
SOURCE(52214, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(52221, 41)
   if (((* (( (ptr) partsA←v18436)+1) ) == 0)) {
SOURCE(52248, 14)
      return(partsB←v18464);
      };
SOURCE(52264, 41)
   if (((* (( (ptr) partsB←v18464)+1) ) == 0)) {
SOURCE(52291, 14)
      return(partsA←v18436);
      };
SOURCE(52307, 90)
   newParts←v29496 = XR←NewObject(12, (* (( (ptr) gf←c99568)+20) ));
SOURCE(52399, 105)
   {
      register word i←v29540 = 0;
      if (( (int)i←v29540 >  (int)11)) {
         goto lab←L100087;
         };
      lab←L100090: ;
SOURCE(52439, 65)
      if (XR←ExtractField(textPartsA←v29440, 20 + (word) BCK(i←v29540, 12), 1)) {
         XR←DepositField(newParts←v29496, 20 + (word) BCK(i←v29540, 12), 1, 1);
         }
      else {
         XR←DepositField(newParts←v29496, 20 + (word) BCK(i←v29540, 12), 1, XR←ExtractField(textPartsB←v29468, 20 + (word) BCK(i←v29540, 12)
               , 1));
         };
      if (( (int)i←v29540 >=  (int)11)) {
         goto lab←L100087;
         };
      i←v29540 = (i←v29540 + 1);
      goto lab←L100090;
      lab←L100087: ;
      };
SOURCE(52515, 101)
   {
      register word i←v29584 = 0;
      if (( (int)i←v29584 >  (int)6)) {
         goto lab←L100091;
         };
      lab←L100094: ;
SOURCE(52554, 62)
      if (XR←ExtractField(textPartsA←v29440, 57 + (word) BCK(i←v29584, 7), 1)) {
         XR←DepositField(newParts←v29496, 57 + (word) BCK(i←v29584, 7), 1, 1);
         }
      else {
         XR←DepositField(newParts←v29496, 57 + (word) BCK(i←v29584, 7), 1, XR←ExtractField(textPartsB←v29468, 57 + (word) BCK(i←v29584, 7)
               , 1));
         };
      if (( (int)i←v29584 >=  (int)6)) {
         goto lab←L100091;
         };
      i←v29584 = (i←v29584 + 1);
      goto lab←L100094;
      lab←L100091: ;
      };
SOURCE(52627, 71)
   if ((0 != (* (( (ptr) textPartsA←v29440)+2) ))) {
      (* (( (ptr) newParts←v29496)+2) ) =  (unsigned) 1;
      }
   else {
      (* (( (ptr) newParts←v29496)+2) ) =  (unsigned) (0 != (* (( (ptr) textPartsB←v29468)+2) ));
      };
SOURCE(52700, 60)
   {
      word pd581;
      pd581 = (* (( (ptr) (* (( (ptr) gf←c99568)+279)/* var←c89296 */  ))+8) );
      aPlusB←v18508 = (word) ( *( (fPt) ((*  (ptr) pd581 ))))((*  (ptr) partsA←v18436 ), newParts←v29496, pd581);
      };
SOURCE(51954, 806)
   return(aPlusB←v18508);
   }

static word TextDiffParts←P3660(partsA←v18568, partsB←v18596)
   word partsA←v18568;
   word partsB←v18596;
   {
   register ptr gf←c99600 =  (ptr) &globalframe;
   word aMinusB←v18640;
   word textPartsA←v29628;
   word textPartsB←v29656;
   word newParts←v29684 = 0;
   /* TextDiffParts: */ 
SOURCE(52766, 887)
SOURCE(52766, 887)
   aMinusB←v18640 = 0;
SOURCE(52876, 44)
   textPartsA←v29628 = XR←Narrow((* (( (ptr) partsA←v18568)+1) ), (* (( (ptr) gf←c99600)+20) ));
SOURCE(52922, 44)
   textPartsB←v29656 = XR←Narrow((* (( (ptr) partsB←v18596)+1) ), (* (( (ptr) gf←c99600)+20) ));
SOURCE(52989, 37)
   if ((partsA←v18568 == 0) || (partsB←v18596 == 0)) {
SOURCE(53026, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(53033, 79)
   if (((* (( (ptr) partsA←v18568)+1) ) == 0)) {
SOURCE(53058, 54)
      {
         word pd582;
         pd582 = (* (( (ptr) (* (( (ptr) gf←c99600)+279)/* var←c89296 */  ))+8) );
         return((word) ( *( (fPt) ((*  (ptr) pd582 ))))((*  (ptr) partsA←v18568 ), 0, pd582));
         };
      };
SOURCE(53114, 33)
   if ((partsB←v18596 == 0)) {
SOURCE(53133, 14)
      return(partsA←v18568);
      };
SOURCE(53149, 92)
   newParts←v29684 = XR←NewObject(12, (* (( (ptr) gf←c99600)+20) ));
SOURCE(53243, 121)
   {
      register word i←v29728 = 0;
      if (( (int)i←v29728 >  (int)11)) {
         goto lab←L100095;
         };
      lab←L100098: ;
SOURCE(53283, 81)
      if (XR←ExtractField(textPartsB←v29656, 20 + (word) BCK(i←v29728, 12), 1)) {
         XR←DepositField(newParts←v29684, 20 + (word) BCK(i←v29728, 12), 1, 0);
         }
      else {
         XR←DepositField(newParts←v29684, 20 + (word) BCK(i←v29728, 12), 1, ( (unsigned) XR←ExtractField(textPartsA←v29628, 20 + (word) BCK(
                  i←v29728, 12), 1) & 1));
         };
      if (( (int)i←v29728 >=  (int)11)) {
         goto lab←L100095;
         };
      i←v29728 = (i←v29728 + 1);
      goto lab←L100098;
      lab←L100095: ;
      };
SOURCE(53375, 117)
   {
      register word i←v29772 = 0;
      if (( (int)i←v29772 >  (int)6)) {
         goto lab←L100099;
         };
      lab←L100102: ;
SOURCE(53414, 78)
      if (XR←ExtractField(textPartsB←v29656, 57 + (word) BCK(i←v29772, 7), 1)) {
         XR←DepositField(newParts←v29684, 57 + (word) BCK(i←v29772, 7), 1, 0);
         }
      else {
         XR←DepositField(newParts←v29684, 57 + (word) BCK(i←v29772, 7), 1, ( (unsigned) XR←ExtractField(textPartsA←v29628, 57 + (word) BCK(
                  i←v29772, 7), 1) & 1));
         };
      if (( (int)i←v29772 >=  (int)6)) {
         goto lab←L100099;
         };
      i←v29772 = (i←v29772 + 1);
      goto lab←L100102;
      lab←L100099: ;
      };
SOURCE(53503, 87)
   if ((0 != (* (( (ptr) textPartsB←v29656)+2) ))) {
      (* (( (ptr) newParts←v29684)+2) ) = 0;
      }
   else {
      (* (( (ptr) newParts←v29684)+2) ) = (* (( (ptr) textPartsA←v29628)+2) );
      };
SOURCE(53592, 61)
   {
      word pd583;
      pd583 = (* (( (ptr) (* (( (ptr) gf←c99600)+279)/* var←c89296 */  ))+8) );
      aMinusB←v18640 = (word) ( *( (fPt) ((*  (ptr) pd583 ))))((*  (ptr) partsA←v18568 ), newParts←v29684, pd583);
      };
SOURCE(52766, 887)
   return(aMinusB←v18640);
   }

static void TextMovingParts←P3720(formal←c0766, slice←v18700, selectedParts←v18728, editConstraints←v18756, bezierDrag←v18784)
   word formal←c0766;
   word slice←v18700;
   word selectedParts←v18728;
   word editConstraints←v18756;
   W5 bezierDrag←v18784;
   {
   register ptr gf←c99632 =  (ptr) &globalframe;
   word background←v18828;
   word overlay←v18856;
   word rubber←v18884;
   word drag←v18912;
   word dragParts←v29816;
   word backgroundParts←v29844;
   /* TextMovingParts: */ 
SOURCE(53659, 901)
SOURCE(53659, 901)
   background←v18828 = 0;
SOURCE(53659, 901)
   overlay←v18856 = 0;
SOURCE(53659, 901)
   rubber←v18884 = 0;
SOURCE(53659, 901)
   drag←v18912 = 0;
SOURCE(53869, 101)
   dragParts←v29816 = XR←NewObject(12, (* (( (ptr) gf←c99632)+20) ));
   (*  (ptr) dragParts←v29816 ) = 4095;
   (* (( (ptr) dragParts←v29816)+1) ) = 127;
   (* (( (ptr) dragParts←v29816)+2) ) = 1;
SOURCE(53972, 107)
   backgroundParts←v29844 = XR←NewObject(12, (* (( (ptr) gf←c99632)+20) ));
   (*  (ptr) backgroundParts←v29844 ) = 4095;
   (* (( (ptr) backgroundParts←v29844)+1) ) = 127;
   (* (( (ptr) backgroundParts←v29844)+2) ) = 1;
SOURCE(54081, 296)
   if ((0 != (word) IsEmpty←P3360(selectedParts←v18728))) {
SOURCE(54142, 28)
      (* (( (ptr) dragParts←v29816) + 1) ) &= 4294967168;
SOURCE(54172, 29)
      (*  (ptr) dragParts←v29816 ) &= 4294963200;
SOURCE(54203, 29)
      (* (( (ptr) dragParts←v29816)+2) ) = 0;
      }
   else {
SOURCE(54269, 34)
      (* (( (ptr) backgroundParts←v29844) + 1) ) &= 4294967168;
SOURCE(54305, 35)
      (*  (ptr) backgroundParts←v29844 ) &= 4294963200;
SOURCE(54342, 35)
      (* (( (ptr) backgroundParts←v29844)+2) ) = 0;
      };
SOURCE(54382, 64)
   {
      word pd584;
      pd584 = (* (( (ptr) (* (( (ptr) gf←c99632)+279)/* var←c89296 */  ))+8) );
      background←v18828 = (word) ( *( (fPt) ((*  (ptr) pd584 ))))(slice←v18700, backgroundParts←v29844, pd584);
      };
SOURCE(54448, 58)
   {
      word var←c95568;
      {
         word pd585;
         pd585 = (* (( (ptr) (* (( (ptr) gf←c99632)+279)/* var←c89296 */  ))+8) );
         var←c95568 = (word) ( *( (fPt) ((*  (ptr) pd585 ))))(slice←v18700, 0, pd585);
         };
      rubber←v18884 = var←c95568;
      overlay←v18856 = var←c95568;
      };
SOURCE(54508, 52)
   {
      word pd586;
      pd586 = (* (( (ptr) (* (( (ptr) gf←c99632)+279)/* var←c89296 */  ))+8) );
      drag←v18912 = (word) ( *( (fPt) ((*  (ptr) pd586 ))))(slice←v18700, dragParts←v29816, pd586);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0766 ) = background←v18828;
   (* (( (ptr) formal←c0766)+1) ) = overlay←v18856;
   (* (( (ptr) formal←c0766)+2) ) = rubber←v18884;
   (* (( (ptr) formal←c0766)+3) ) = drag←v18912;
   return;
   }

static word TextAugmentParts←P3780(sliceD←v18972, selectClass←v19000)
   word sliceD←v18972;
   word selectClass←v19000;
   {
   register ptr gf←c99664 =  (ptr) &globalframe;
   word more←v19044;
   word textParts←v29888;
   word newParts←v29916;
   /* TextAugmentParts: */ 
SOURCE(54566, 1163)
SOURCE(54566, 1163)
   more←v19044 = 0;
SOURCE(54680, 43)
   textParts←v29888 = XR←Narrow((* (( (ptr) sliceD←v18972)+1) ), (* (( (ptr) gf←c99664)+20) ));
SOURCE(54725, 129)
   newParts←v29916 = XR←NewObject(12, (* (( (ptr) gf←c99664)+20) ));
   (*  (ptr) newParts←v29916 ) =  (unsigned) ((* (( (hPt) textParts←v29888)+1) ) & 07777);
   (* (( (ptr) newParts←v29916)+1) ) =  (unsigned) ((* (( (bPt) textParts←v29888)+7) ) & 0177);
   (* (( (ptr) newParts←v29916)+2) ) = (* (( (ptr) textParts←v29888)+2) );
SOURCE(54856, 784)
   {
      register word i←v29960 = 0;
      if (( (int)i←v29960 >  (int)6)) {
         goto lab←L100104;
         };
      lab←L100107: ;
SOURCE(54895, 745)
      if (XR←ExtractField(textParts←v29888, 57 + (word) BCK(i←v29960, 7), 1)) {
SOURCE(54922, 718)
         {
            word var←c95632;
            var←c95632 = i←v29960;
            switch (var←c95632) {
               case 0: 
SOURCE(54942, 25)
                  (*  (ptr) newParts←v29916 ) |= 2048;
SOURCE(54969, 25)
                  (*  (ptr) newParts←v29916 ) |= 1024;
SOURCE(54996, 25)
                  (*  (ptr) newParts←v29916 ) |= 512;
SOURCE(55023, 25)
                  (*  (ptr) newParts←v29916 ) |= 256;
                  break;
               case 1: 
SOURCE(55058, 25)
                  (*  (ptr) newParts←v29916 ) |= 256;
SOURCE(55085, 25)
                  (*  (ptr) newParts←v29916 ) |= 16;
SOURCE(55112, 26)
                  (*  (ptr) newParts←v29916 ) |= 1;
                  break;
               case 2: 
SOURCE(55148, 25)
                  (*  (ptr) newParts←v29916 ) |= 8;
SOURCE(55175, 25)
                  (*  (ptr) newParts←v29916 ) |= 4;
SOURCE(55202, 26)
                  (*  (ptr) newParts←v29916 ) |= 2;
SOURCE(55230, 26)
                  (*  (ptr) newParts←v29916 ) |= 1;
                  break;
               case 3: 
SOURCE(55266, 25)
                  (*  (ptr) newParts←v29916 ) |= 2048;
SOURCE(55293, 25)
                  (*  (ptr) newParts←v29916 ) |= 128;
SOURCE(55320, 25)
                  (*  (ptr) newParts←v29916 ) |= 8;
                  break;
               case 4: 
SOURCE(55355, 25)
                  (*  (ptr) newParts←v29916 ) |= 1024;
SOURCE(55382, 25)
                  (*  (ptr) newParts←v29916 ) |= 64;
SOURCE(55409, 25)
                  (*  (ptr) newParts←v29916 ) |= 4;
                  break;
               case 5: 
SOURCE(55444, 25)
                  (*  (ptr) newParts←v29916 ) |= 512;
SOURCE(55471, 25)
                  (*  (ptr) newParts←v29916 ) |= 32;
SOURCE(55498, 26)
                  (*  (ptr) newParts←v29916 ) |= 2;
                  break;
               case 6: 
SOURCE(55534, 25)
                  (*  (ptr) newParts←v29916 ) |= 128;
SOURCE(55561, 25)
                  (*  (ptr) newParts←v29916 ) |= 64;
SOURCE(55588, 25)
                  (*  (ptr) newParts←v29916 ) |= 32;
SOURCE(55615, 25)
                  (*  (ptr) newParts←v29916 ) |= 16;
                  break;
               default: 
SOURCE(55655, 5)
                  (void) XR←RaiseUnnamedError();
                  break;
               };
            };
         };
      if (( (int)i←v29960 >=  (int)6)) {
         goto lab←L100104;
         };
      i←v29960 = (i←v29960 + 1);
      goto lab←L100107;
      lab←L100104: ;
      };
SOURCE(55671, 58)
   {
      word pd587;
      pd587 = (* (( (ptr) (* (( (ptr) gf←c99664)+279)/* var←c89296 */  ))+8) );
      more←v19044 = (word) ( *( (fPt) ((*  (ptr) pd587 ))))((*  (ptr) sliceD←v18972 ), newParts←v29916, pd587);
      };
SOURCE(54566, 1163)
   return(more←v19044);
   }

static word TextPointsInDescriptor←P3840(sliceD←v19104)
   word sliceD←v19104;
   {
   register ptr gf←c99696 =  (ptr) &globalframe;
   word pointGen←v19148;
   word parts←v30004;
   /* TextPointsInDescriptor: */ 
SOURCE(55735, 435)
SOURCE(55735, 435)
   pointGen←v19148 = 0;
SOURCE(55829, 39)
   parts←v30004 = XR←Narrow((* (( (ptr) sliceD←v19104)+1) ), (* (( (ptr) gf←c99696)+20) ));
SOURCE(55870, 56)
   {
      word var←c95664;
      var←c95664 = XR←NewObject(16, (* (( (ptr) gf←c99696)+17) ));
      (*  (ptr) var←c95664 ) = sliceD←v19104;
      pointGen←v19148 = var←c95664;
      };
SOURCE(55966, 39)
   {
      word var←c95696;
      var←c95696 = (word) TextGetBoundBox←P2160((*  (ptr) sliceD←v19104 ), 0);
      };
SOURCE(56065, 105)
   {
      register word point←v30048 = 0;
      if (( (int)point←v30048 >  (int)11)) {
         goto lab←L100108;
         };
      lab←L100111: ;
SOURCE(56109, 61)
      if (XR←ExtractField(parts←v30004, 20 + (word) BCK(point←v30048, 12), 1)) {
SOURCE(56137, 33)
         (* (( (ptr) pointGen←v19148)+1) ) = ((* (( (ptr) pointGen←v19148)+1) ) + 1);
         };
      if (( (int)point←v30048 >=  (int)11)) {
         goto lab←L100108;
         };
      point←v30048 = (point←v30048 + 1);
      goto lab←L100111;
      lab←L100108: ;
      };
SOURCE(55735, 435)
   return(pointGen←v19148);
   }

static void TextWalkPointsInDescriptor←P3900(sliceD←v19208, walkProc←v19236)
   word sliceD←v19208;
   word walkProc←v19236;
   {
   register ptr gf←c99728 =  (ptr) &globalframe;
   word parts←v30092;
   word textData←v30120;
   word fontData←v30148;
   word done←v30176 = 0;
   /* TextWalkPointsInDescriptor: */ 
SOURCE(56185, 561)
SOURCE(56273, 39)
   parts←v30092 = XR←Narrow((* (( (ptr) sliceD←v19208)+1) ), (* (( (ptr) gf←c99728)+20) ));
SOURCE(56314, 46)
   textData←v30120 = XR←Narrow((* (( (ptr) (*  (ptr) sliceD←v19208 ))+1) ), (* (( (ptr) gf←c99728)+33) ));
SOURCE(56362, 38)
   fontData←v30148 = (* (( (ptr) textData←v30120)+5) );
SOURCE(56460, 39)
   {
      word var←c95728;
      var←c95728 = (word) TextGetBoundBox←P2160((*  (ptr) sliceD←v19208 ), 0);
      };
SOURCE(56559, 187)
   {
      register word index←v30220 = 0;
      if (( (int)index←v30220 >  (int)11)) {
         goto lab←L100112;
         };
      lab←L100115: ;
SOURCE(56603, 143)
      if (XR←ExtractField(parts←v30092, 20 + (word) BCK(index←v30220, 12), 1)) {
SOURCE(56631, 117)
         {
            W2 point←v30264;
SOURCE(56633, 89)
            {
               word pd588;
               pd588 = (* (( (ptr) (* (( (ptr) gf←c99728)+287)/* var←c90224 */  ))+39) );
               (void) ( *( (fPt) ((*  (ptr) pd588 ))))((word) &point←v30264, (* (( (ptr) fontData←v30148)+5) ), (* (( (W2Pt) (* (( (ptr) textData←v30120)+1)
                      ))+BCK(index←v30220, 12)) ), pd588);
               };
SOURCE(56724, 22)
            done←v30176 = (word) ( *( (fPt) ((*  (ptr) walkProc←v19236 ))))(point←v30264, walkProc←v19236);
            };
         };
      if (( (int)index←v30220 >=  (int)11)) {
         goto lab←L100112;
         };
      index←v30220 = (index←v30220 + 1);
      goto lab←L100115;
      lab←L100112: ;
      };
   }

static word TextPointPairsInDescriptor←P3960(sliceD←v19296)
   word sliceD←v19296;
   {
   register ptr gf←c99760 =  (ptr) &globalframe;
   word pointPairGen←v19340;
   word parts←v30308;
   /* TextPointPairsInDescriptor: */ 
SOURCE(56764, 486)
SOURCE(56764, 486)
   pointPairGen←v19340 = 0;
SOURCE(56870, 39)
   parts←v30308 = XR←Narrow((* (( (ptr) sliceD←v19296)+1) ), (* (( (ptr) gf←c99760)+20) ));
SOURCE(56949, 39)
   {
      word var←c95760;
      var←c95760 = (word) TextGetBoundBox←P2160((*  (ptr) sliceD←v19296 ), 0);
      };
SOURCE(57048, 64)
   {
      word var←c95792;
      var←c95792 = XR←NewObject(16, (* (( (ptr) gf←c99760)+16) ));
      (*  (ptr) var←c95792 ) = sliceD←v19296;
      pointPairGen←v19340 = var←c95792;
      };
SOURCE(57141, 109)
   {
      register word edge←v30352 = 0;
      if (( (int)edge←v30352 >  (int)6)) {
         goto lab←L100116;
         };
      lab←L100119: ;
SOURCE(57183, 67)
      if (XR←ExtractField(parts←v30308, 57 + (word) BCK(edge←v30352, 7), 1)) {
SOURCE(57209, 41)
         (* (( (ptr) pointPairGen←v19340)+1) ) = ((* (( (ptr) pointPairGen←v19340)+1) ) + 1);
         };
      if (( (int)edge←v30352 >=  (int)6)) {
         goto lab←L100116;
         };
      edge←v30352 = (edge←v30352 + 1);
      goto lab←L100119;
      lab←L100116: ;
      };
SOURCE(56764, 486)
   return(pointPairGen←v19340);
   }

static word TextSegmentsInDescriptor←P4020(sliceD←v19400)
   word sliceD←v19400;
   {
   register ptr gf←c99792 =  (ptr) &globalframe;
   word segGen←v19444;
   word parts←v30396;
   /* TextSegmentsInDescriptor: */ 
SOURCE(57265, 325)
SOURCE(57265, 325)
   segGen←v19444 = 0;
SOURCE(57361, 39)
   parts←v30396 = XR←Narrow((* (( (ptr) sliceD←v19400)+1) ), (* (( (ptr) gf←c99792)+20) ));
SOURCE(57402, 76)
   {
      word var←c95824;
      var←c95824 = XR←NewObject(32, (* (( (ptr) gf←c99792)+15) ));
      (* (( (ptr) var←c95824)+6) ) = sliceD←v19400;
      segGen←v19444 = var←c95824;
      };
SOURCE(57507, 83)
   {
      register word edge←v30440 = 0;
      if (( (int)edge←v30440 >  (int)6)) {
         goto lab←L100120;
         };
      lab←L100123: ;
SOURCE(57549, 41)
      if (XR←ExtractField(parts←v30396, 57 + (word) BCK(edge←v30440, 7), 1)) {
SOURCE(57575, 15)
         (* (( (ptr) segGen←v19444)+1) ) = 1;
         };
      if (( (int)edge←v30440 >=  (int)6)) {
         goto lab←L100120;
         };
      edge←v30440 = (edge←v30440 + 1);
      goto lab←L100123;
      lab←L100120: ;
      };
SOURCE(57265, 325)
   return(segGen←v19444);
   }

static word TextWalkSegments←P4080(slice←v19504, walkProc←v19532)
   word slice←v19504;
   word walkProc←v19532;
   {
   register ptr gf←c99824 =  (ptr) &globalframe;
   word sliceD←v19576;
   word textData←v30484;
   /* TextWalkSegments: */ 
SOURCE(57637, 248)
SOURCE(57637, 248)
   sliceD←v19576 = 0;
SOURCE(57733, 39)
   textData←v30484 = XR←Narrow((* (( (ptr) slice←v19504)+1) ), (* (( (ptr) gf←c99824)+33) ));
SOURCE(57774, 111)
   if ((0 != (word) ( *( (fPt) ((*  (ptr) walkProc←v19532 ))))((* (( (ptr) textData←v30484)+18) ), 0, walkProc←v19532))) {
      return((word) TextNewParts←P3540(slice←v19504, 0, 6));
      }
   else {
      return((word) TextNewParts←P3540(slice←v19504, 0, 8));
      };
   }

static void TextNextSegment←P4140(formal←c0810, slice←v19636, segGen←v19664)
   word formal←c0810;
   word slice←v19636;
   word segGen←v19664;
   {
   register ptr gf←c99856 =  (ptr) &globalframe;
   word seg←v19708;
   word transform←v19736;
   /* TextNextSegment: */ 
SOURCE(57891, 276)
SOURCE(57891, 276)
   seg←v19708 = 0;
SOURCE(57891, 276)
   transform←v19736 = 0;
SOURCE(58015, 152)
   if ((segGen←v19664 == 0) || ((* (( (ptr) segGen←v19664)+1) ) == 0)) {
SOURCE(58053, 22)
      seg←v19708 = 0;
      transform←v19736 = 0;
      goto lab←L100124;
      }
   else {
SOURCE(58075, 94)
      {
         word textData←v30528;
SOURCE(58077, 53)
         textData←v30528 = XR←Narrow((* (( (ptr) (*  (ptr) (* (( (ptr) segGen←v19664)+6) ) ))+1) ), (* (( (ptr) gf←c99856)+33) ));
SOURCE(58132, 18)
         seg←v19708 = (* (( (ptr) textData←v30528)+18) );
SOURCE(58152, 15)
         (* (( (ptr) segGen←v19664)+1) ) = 0;
         };
      };
   /* removed tail goto */ 
   lab←L100124: ;
   (*  (ptr) formal←c0810 ) = seg←v19708;
   (* (( (ptr) formal←c0810)+1) ) = transform←v19736;
   return;
   }

static void TextNextPoint←P4200(formal←c0820, slice←v19796, pointGen←v19824)
   word formal←c0820;
   word slice←v19796;
   word pointGen←v19824;
   {
   register ptr gf←c99888 =  (ptr) &globalframe;
   W3 pointAndDone←v19868;
   /* TextNextPoint: */ 
SOURCE(58176, 771)
SOURCE(58291, 656)
   if ((pointGen←v19824 == 0) || ((* (( (ptr) pointGen←v19824)+1) ) == 0)) {
SOURCE(58335, 24)
      pointAndDone←v19868.f2 = 1;
SOURCE(58361, 6)
      goto lab←L100125;
      }
   else {
SOURCE(58376, 626)
      {
         word sliceD←v30572;
         word textData←v30600;
         word fontData←v30628;
         word textParts←v30656;
         register word index←v30684 =  (word) -1;
SOURCE(58378, 41)
         sliceD←v30572 = (*  (ptr) pointGen←v19824 );
SOURCE(58421, 46)
         textData←v30600 = XR←Narrow((* (( (ptr) (*  (ptr) sliceD←v30572 ))+1) ), (* (( (ptr) gf←c99888)+33) ));
SOURCE(58469, 38)
         fontData←v30628 = (* (( (ptr) textData←v30600)+5) );
SOURCE(58509, 43)
         textParts←v30656 = XR←Narrow((* (( (ptr) sliceD←v30572)+1) ), (* (( (ptr) gf←c99888)+20) ));
SOURCE(58575, 25)
         pointAndDone←v19868.f2 = 0;
SOURCE(58602, 99)
         index←v30684 = (* (( (ptr) pointGen←v19824)+2) );
         lab←L100129: ;
         if (( (int)index←v30684 <  (int)12)) {
            }
         else {
            goto lab←L100126;
            };
SOURCE(58669, 32)
         if (XR←ExtractField(textParts←v30656, 20 + (word) BCK(index←v30684, 12), 1)) {
SOURCE(58701, 4)
            goto lab←L100127;
            };
         index←v30684 = (index←v30684 + 1);
         goto lab←L100129;
         lab←L100126: ;
         lab←L100127: ;
SOURCE(58760, 96)
         {
            word pd589;
            pd589 = (* (( (ptr) (* (( (ptr) gf←c99888)+287)/* var←c90224 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd589 ))))((word) &pointAndDone←v19868, (* (( (ptr) fontData←v30628)+5) ), (* (( (W2Pt) (* (
                     ( (ptr) textData←v30600)+1) ))+BCK(index←v30684, 12)) ), pd589);
            };
SOURCE(58858, 31)
         {
            word idx590;
            (* (( (ptr) pointGen←v19824)+1) ) = (
               idx590 = (word) ((* (( (ptr) pointGen←v19824)+1) ) - 1),
               SGNCK(idx590)
               );
            };
SOURCE(58891, 56)
         {
            word idx591;
            (* (( (ptr) pointGen←v19824)+2) ) = (
               idx591 = (word)  ( ((* (( (ptr) pointGen←v19824)+1) ) == 0) ? 99 : (index←v30684 + 1) ) ,
               SGNCK(idx591)
               );
            };
         };
      };
   /* removed tail goto */ 
   lab←L100125: ;
   (*  (W3Pt) formal←c0820 ) = pointAndDone←v19868;
   return;
   }

static void TextNextPointPair←P4260(formal←c0846, slice←v19928, pointPairGen←v19956)
   word formal←c0846;
   word slice←v19928;
   word pointPairGen←v19956;
   {
   register ptr gf←c99920 =  (ptr) &globalframe;
   W5 pointPairAndDone←v20000;
   /* TextNextPointPair: */ 
SOURCE(59009, 2129)
SOURCE(59144, 1994)
   if ((pointPairGen←v19956 == 0) || ((* (( (ptr) pointPairGen←v19956)+1) ) == 0)) {
SOURCE(59196, 28)
      pointPairAndDone←v20000.f4 = 1;
SOURCE(59226, 6)
      goto lab←L100130;
      }
   else {
SOURCE(59241, 1951)
      {
         word sliceD←v30728;
         word textData←v30756;
         word textParts←v30784;
         word t←v30812;
         register word index←v30840 =  (word) -1;
SOURCE(59243, 45)
         sliceD←v30728 = (*  (ptr) pointPairGen←v19956 );
SOURCE(59290, 46)
         textData←v30756 = XR←Narrow((* (( (ptr) (*  (ptr) sliceD←v30728 ))+1) ), (* (( (ptr) gf←c99920)+33) ));
SOURCE(59338, 43)
         textParts←v30784 = XR←Narrow((* (( (ptr) sliceD←v30728)+1) ), (* (( (ptr) gf←c99920)+20) ));
SOURCE(59383, 69)
         t←v30812 = (* (( (ptr) (* (( (ptr) textData←v30756)+5) ))+5) );
SOURCE(59475, 29)
         pointPairAndDone←v20000.f4 = 0;
SOURCE(59506, 101)
         index←v30840 = (* (( (ptr) pointPairGen←v19956)+2) );
         lab←L100134: ;
         if (( (int)index←v30840 <  (int)7)) {
            }
         else {
            goto lab←L100131;
            };
SOURCE(59576, 31)
         if (XR←ExtractField(textParts←v30784, 57 + (word) BCK(index←v30840, 7), 1)) {
SOURCE(59607, 4)
            goto lab←L100132;
            };
         index←v30840 = (index←v30840 + 1);
         goto lab←L100134;
         lab←L100131: ;
         lab←L100132: ;
SOURCE(59664, 39)
         {
            word var←c95888;
            word pd592;
            pd592 = (* (( (ptr) (* (( (ptr) gf←c99920)+283)/* var←c89776 */  ))+7) );
            var←c95888 = (word) ( *( (fPt) ((*  (ptr) pd592 ))))(slice←v19928, 0, pd592);
            };
SOURCE(59743, 1286)
         {
            word var←c95920;
            var←c95920 = index←v30840;
            switch (var←c95920) {
               case 0: 
SOURCE(59821, 76)
                  {
                     word pd593;
                     pd593 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd593 ))))((word) &pointPairAndDone←v20000, t←v30812, (*  (W2Pt) (* (( (ptr) textData←v30756)+1)
                         ) ), pd593);
                     };
SOURCE(59899, 76)
                  {
                     word pd594;
                     pd594 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd594 ))))((word) (( (bPt) &pointPairAndDone←v20000)+8), t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+6) ), pd594);
                     };
                  break;
               case 1: 
SOURCE(59987, 76)
                  {
                     word pd595;
                     pd595 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd595 ))))((word) &pointPairAndDone←v20000, t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+6) ), pd595);
                     };
SOURCE(60065, 77)
                  {
                     word pd596;
                     pd596 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd596 ))))((word) (( (bPt) &pointPairAndDone←v20000)+8), t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+22) ), pd596);
                     };
                  break;
               case 2: 
SOURCE(60154, 77)
                  {
                     word pd597;
                     pd597 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd597 ))))((word) &pointPairAndDone←v20000, t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+22) ), pd597);
                     };
SOURCE(60233, 76)
                  {
                     word pd598;
                     pd598 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd598 ))))((word) (( (bPt) &pointPairAndDone←v20000)+8), t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+16) ), pd598);
                     };
                  break;
               case 3: 
SOURCE(60321, 76)
                  {
                     word pd599;
                     pd599 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd599 ))))((word) &pointPairAndDone←v20000, t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+16) ), pd599);
                     };
SOURCE(60399, 76)
                  {
                     word pd600;
                     pd600 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd600 ))))((word) (( (bPt) &pointPairAndDone←v20000)+8), t←v30812, (*  (W2Pt) (* (( (ptr) textData←v30756)+1)
                         ) ), pd600);
                     };
                  break;
               case 4: 
SOURCE(60487, 76)
                  {
                     word pd601;
                     pd601 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd601 ))))((word) &pointPairAndDone←v20000, t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+2) ), pd601);
                     };
SOURCE(60565, 76)
                  {
                     word pd602;
                     pd602 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd602 ))))((word) (( (bPt) &pointPairAndDone←v20000)+8), t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+18) ), pd602);
                     };
                  break;
               case 5: 
SOURCE(60653, 76)
                  {
                     word pd603;
                     pd603 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd603 ))))((word) &pointPairAndDone←v20000, t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+4) ), pd603);
                     };
SOURCE(60731, 77)
                  {
                     word pd604;
                     pd604 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd604 ))))((word) (( (bPt) &pointPairAndDone←v20000)+8), t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+20) ), pd604);
                     };
                  break;
               case 6: 
SOURCE(60820, 76)
                  {
                     word pd605;
                     pd605 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd605 ))))((word) &pointPairAndDone←v20000, t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+8) ), pd605);
                     };
SOURCE(60898, 76)
                  {
                     word pd606;
                     pd606 = (* (( (ptr) (* (( (ptr) gf←c99920)+287)/* var←c90224 */  ))+39) );
                     (void) ( *( (fPt) ((*  (ptr) pd606 ))))((word) (( (bPt) &pointPairAndDone←v20000)+8), t←v30812, (*  (W2Pt) (( (ptr) (* (( (ptr) textData←v30756)+1)
                            ))+14) ), pd606);
                     };
                  break;
               default: 
SOURCE(60990, 39)
                  {
                     word var←c0845;
                     var←c0845 = (* (( (ptr) gf←c99920)+103) );
                     (void) (XR←RaiseSignal((* (( (ptr) gf←c99920)+8)/* Problem←v5576 */  ), 0, (word) &var←c0845));
                     };
                  break;
               };
            };
SOURCE(61031, 41)
         {
            word idx607;
            (* (( (ptr) pointPairGen←v19956)+1) ) = (
               idx607 = (word) ((* (( (ptr) pointPairGen←v19956)+1) ) - 1),
               SGNCK(idx607)
               );
            };
SOURCE(61074, 64)
         {
            word idx608;
            (* (( (ptr) pointPairGen←v19956)+2) ) = (
               idx608 = (word)  ( ((* (( (ptr) pointPairGen←v19956)+1) ) == 0) ? 99 : (index←v30840 + 1) ) ,
               SGNCK(idx608)
               );
            };
         };
      };
   /* removed tail goto */ 
   lab←L100130: ;
   (*  (W5Pt) formal←c0846 ) = pointPairAndDone←v20000;
   return;
   }

static word PointIsInBox←P4320(test←v20060, box←v20088)
   W2 test←v20060;
   W6 box←v20088;
   {
   word var←c20132;
   /* PointIsInBox: */ 
SOURCE(61199, 170)
SOURCE(61199, 170)
   var←c20132 = 0;
SOURCE(61277, 92)
   {
      word tc609;
      word x610;
      word x611;
      word x612;
      word x613;
      word x614;
      word x615;
      word x616;
      word x617;
      if ( (  ( ((
         x610 = test←v20060.f0,  *(float*)&x610
         ) >= (
         x611 = box←v20088.f0,  *(float*)&x611
         )) ? ((
         x612 = test←v20060.f0,  *(float*)&x612
         ) <= (
         x613 = box←v20088.f2,  *(float*)&x613
         )) : 0 )  ? ((
         x614 = test←v20060.f1,  *(float*)&x614
         ) >= (
         x615 = box←v20088.f1,  *(float*)&x615
         )) : 0 ) ) {
         tc609 =  (word)  (unsigned) ((
            x616 = test←v20060.f1,  *(float*)&x616
            ) <= (
            x617 = box←v20088.f3,  *(float*)&x617
            ));
         }
      else {
         tc609 =  (word)  (unsigned) 0;
         };
      return(tc609);
      };
   }

static void TextClosestPoint←P4380(formal←c0870, sliceD←v20192, testPoint←v20220, tolerance←v20248)
   word formal←c0870;
   word sliceD←v20192;
   W2 testPoint←v20220;
   word tolerance←v20248;
   {
   register ptr gf←c99952 =  (ptr) &globalframe;
   W2 bestPoint←v20292;
   word bestDist←v20320;
   W2 bestNormal←v20348;
   word hitData←v20376;
   word success←v20404;
   word index←v30884 = 9999;
   word textData←v30912;
   word tightBox←v30940;
   W6 bigBox←v30968;
   /* TextClosestPoint: */ 
SOURCE(61375, 1169)
SOURCE(61375, 1169)
   bestNormal←v20348.f0 = (*  (ptr) &fc154 );
   bestNormal←v20348.f1 = (*  (ptr) &fc128 );
SOURCE(61375, 1169)
   hitData←v20376 = 0;
SOURCE(61375, 1169)
   success←v20404 = 0;
SOURCE(61595, 46)
   textData←v30912 = XR←Narrow((* (( (ptr) (*  (ptr) sliceD←v20192 ))+1) ), (* (( (ptr) gf←c99952)+33) ));
SOURCE(61643, 57)
   {
      word pd618;
      pd618 = (* (( (ptr) (* (( (ptr) gf←c99952)+283)/* var←c89776 */  ))+9) );
      tightBox←v30940 = (word) ( *( (fPt) ((*  (ptr) pd618 ))))((*  (ptr) sliceD←v20192 ), 0, pd618);
      };
SOURCE(61728, 132)
   {
      word x619;
      word x620;
      *(float*)&bigBox←v30968.f0 = (
         x619 = (*  (ptr) tightBox←v30940 ),  *(float*)&x619
         ) - (
         x620 = tolerance←v20248,  *(float*)&x620
         );
      };
   {
      word x621;
      word x622;
      *(float*)&bigBox←v30968.f1 = (
         x621 = (* (( (ptr) tightBox←v30940)+1) ),  *(float*)&x621
         ) - (
         x622 = tolerance←v20248,  *(float*)&x622
         );
      };
   {
      word x623;
      word x624;
      *(float*)&bigBox←v30968.f2 = (
         x623 = (* (( (ptr) tightBox←v30940)+2) ),  *(float*)&x623
         ) + (
         x624 = tolerance←v20248,  *(float*)&x624
         );
      };
   {
      word x625;
      word x626;
      *(float*)&bigBox←v30968.f3 = (
         x625 = (* (( (ptr) tightBox←v30940)+3) ),  *(float*)&x625
         ) + (
         x626 = tolerance←v20248,  *(float*)&x626
         );
      };
   bigBox←v30968.f4 = 0;
   bigBox←v30968.f5 = 0;
SOURCE(61887, 657)
   if ((0 != (word) PointIsInBox←P4320(testPoint←v20220, bigBox←v30968))) {
SOURCE(61927, 622)
      {
         word textParts←v31012;
         W2 localTestpoint←v31040;
         word localTolerance←v31068;
SOURCE(61929, 43)
         textParts←v31012 = XR←Narrow((* (( (ptr) sliceD←v20192)+1) ), (* (( (ptr) gf←c99952)+20) ));
SOURCE(61974, 74)
         {
            word pd627;
            pd627 = (* (( (ptr) (* (( (ptr) gf←c99952)+306)/* var←c95984 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd627 ))))((word) &localTestpoint←v31040, (* (( (ptr) textData←v30912)+9) ), testPoint←v20220, pd627)
            ;
            };
SOURCE(62050, 91)
         {
            float tf628;
            word x629;
            word x630;
            float tf631;
            float tf632;
            word x633;
            float tf634;
            localTolerance←v31068 = (
               tf634 = FABS(((
                     x629 = tolerance←v20248,  *(float*)&x629
                     ) * FMAX((
                        x630 = (* (( (ptr) textData←v30912)+10) ),  *(float*)&x630
                        ), (
                        x633 = (* (( (ptr) textData←v30912)+11) ),  *(float*)&x633
                        ), tf631, tf632)), tf628),  *(word*)&tf634
               );
            };
SOURCE(62195, 123)
         {
            W5 var←c96016;
            (void) TextNearestPoint←P4560((word) &var←c96016, (* (( (ptr) textData←v30912)+1) ), localTestpoint←v31040, localTolerance←v31068,  (unsigned) ((* (
                  ( (hPt) textParts←v31012)+1) ) & 07777));
            success←v20404 = var←c96016.f4;
            bestPoint←v20292 = (*  (W2Pt) (( (ptr) &var←c96016)+2) );
            index←v30884 = var←c96016.f1;
            bestDist←v20320 = var←c96016.f0;
            };
SOURCE(62320, 224)
         if ((0 != success←v20404)) {
SOURCE(62338, 73)
            {
               word pd635;
               pd635 = (* (( (ptr) (* (( (ptr) gf←c99952)+306)/* var←c95984 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd635 ))))((word) &bestPoint←v20292, (* (( (ptr) (* (( (ptr) textData←v30912)+5) ))+5) ), bestPoint←v20292, pd635)
               ;
               };
SOURCE(62413, 51)
            {
               word pd636;
               pd636 = (* (( (ptr) (* (( (ptr) gf←c99952)+307)/* var←c96048 */  ))+19) );
               bestDist←v20320 = (word) ( *( (fPt) ((*  (ptr) pd636 ))))(testPoint←v20220, bestPoint←v20292, pd636);
               };
SOURCE(62466, 78)
            {
               word var←c96080;
               var←c96080 = XR←NewObject(16, (* (( (ptr) gf←c99952)+19) ));
               (*  (ptr) var←c96080 ) = BCK((index←v30884 + 1), 13);
               (*  (W2Pt) (( (ptr) var←c96080)+2) ) = bestPoint←v20292;
               hitData←v20376 = var←c96080;
               };
            };
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0870 ) = bestPoint←v20292;
   (* (( (ptr) formal←c0870)+2) ) = bestDist←v20320;
   (*  (W2Pt) (( (ptr) formal←c0870)+3) ) = bestNormal←v20348;
   (* (( (ptr) formal←c0870)+5) ) = hitData←v20376;
   (* (( (ptr) formal←c0870)+6) ) = success←v20404;
   return;
   }

static void TextClosestJointToHitData←P4440(formal←c0885, sliceD←v20476, mapPoint←v20504, testPoint←v20532, hitData←v20560)
   word formal←c0885;
   word sliceD←v20476;
   W2 mapPoint←v20504;
   W2 testPoint←v20532;
   word hitData←v20560;
   {
   register ptr gf←c99984 =  (ptr) &globalframe;
   word jointD←v20616;
   W2 point←v20644;
   W2 normal←v20672;
   word bestDist←v31112;
   word newHitData←v31140 = 0;
   word textHitData←v31168 = 0;
   word textParts←v31196;
   word success←v31224 = 0;
   /* TextClosestJointToHitData: */ 
SOURCE(62556, 633)
SOURCE(62556, 633)
   jointD←v20616 = 0;
SOURCE(62791, 104)
   textParts←v31196 = XR←NewObject(12, (* (( (ptr) gf←c99984)+20) ));
SOURCE(62920, 114)
   {
      W7 var←c96144;
      {
         word pd637;
         pd637 = (* (( (ptr) (* (( (ptr) gf←c99984)+283)/* var←c89776 */  ))+44) );
         (void) ( *( (fPt) ((*  (ptr) pd637 ))))((word) &var←c96144, sliceD←v20476, mapPoint←v20504, (*  (ptr) &fc577 ), pd637);
         };
      success←v31224 = var←c96144.f6;
      newHitData←v31140 = var←c96144.f5;
      normal←v20672 = (*  (W2Pt) (( (ptr) &var←c96144)+3) );
      bestDist←v31112 = var←c96144.f2;
      point←v20644 = (*  (W2Pt) &var←c96144 );
      };
SOURCE(63036, 32)
   textHitData←v31168 = XR←Narrow(newHitData←v31140, (* (( (ptr) gf←c99984)+19) ));
SOURCE(63070, 42)
   {
      word idx638;
      XR←DepositField(textParts←v31196, 20 + (word) (
            idx638 = (word) ((*  (ptr) textHitData←v31168 ) - 1),
            BCK(idx638, 12)
            ), 1, 1);
      };
SOURCE(63114, 75)
   {
      word pd639;
      pd639 = (* (( (ptr) (* (( (ptr) gf←c99984)+279)/* var←c89296 */  ))+8) );
      jointD←v20616 = (word) ( *( (fPt) ((*  (ptr) pd639 ))))((*  (ptr) sliceD←v20476 ), textParts←v31196, pd639);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0885 ) = jointD←v20616;
   (*  (W2Pt) (( (ptr) formal←c0885)+1) ) = point←v20644;
   (*  (W2Pt) (( (ptr) formal←c0885)+3) ) = normal←v20672;
   return;
   }

static void TextClosestSegment←P4500(formal←c0909, sliceD←v20732, testPoint←v20760, tolerance←v20788)
   word formal←c0909;
   word sliceD←v20732;
   W2 testPoint←v20760;
   word tolerance←v20788;
   {
   register ptr gf←c100016 =  (ptr) &globalframe;
   W2 bestPoint←v20832;
   word bestDist←v20860;
   W2 bestNormal←v20888;
   word hitData←v20916;
   word success←v20944;
   word textData←v31280;
   word tightBox←v31308;
   W6 bigBox←v31336;
   /* TextClosestSegment: */ 
SOURCE(63195, 1254)
SOURCE(63195, 1254)
   bestNormal←v20888.f0 = (*  (ptr) &fc154 );
   bestNormal←v20888.f1 = (*  (ptr) &fc128 );
SOURCE(63195, 1254)
   hitData←v20916 = 0;
SOURCE(63195, 1254)
   success←v20944 = 0;
SOURCE(63399, 46)
   textData←v31280 = XR←Narrow((* (( (ptr) (*  (ptr) sliceD←v20732 ))+1) ), (* (( (ptr) gf←c100016)+33) ));
SOURCE(63447, 57)
   {
      word pd640;
      pd640 = (* (( (ptr) (* (( (ptr) gf←c100016)+283)/* var←c89776 */  ))+9) );
      tightBox←v31308 = (word) ( *( (fPt) ((*  (ptr) pd640 ))))((*  (ptr) sliceD←v20732 ), 0, pd640);
      };
SOURCE(63532, 132)
   {
      word x641;
      word x642;
      *(float*)&bigBox←v31336.f0 = (
         x641 = (*  (ptr) tightBox←v31308 ),  *(float*)&x641
         ) - (
         x642 = tolerance←v20788,  *(float*)&x642
         );
      };
   {
      word x643;
      word x644;
      *(float*)&bigBox←v31336.f1 = (
         x643 = (* (( (ptr) tightBox←v31308)+1) ),  *(float*)&x643
         ) - (
         x644 = tolerance←v20788,  *(float*)&x644
         );
      };
   {
      word x645;
      word x646;
      *(float*)&bigBox←v31336.f2 = (
         x645 = (* (( (ptr) tightBox←v31308)+2) ),  *(float*)&x645
         ) + (
         x646 = tolerance←v20788,  *(float*)&x646
         );
      };
   {
      word x647;
      word x648;
      *(float*)&bigBox←v31336.f3 = (
         x647 = (* (( (ptr) tightBox←v31308)+3) ),  *(float*)&x647
         ) + (
         x648 = tolerance←v20788,  *(float*)&x648
         );
      };
   bigBox←v31336.f4 = 0;
   bigBox←v31336.f5 = 0;
SOURCE(63691, 758)
   if ((0 != (word) PointIsInBox←P4320(testPoint←v20760, bigBox←v31336))) {
SOURCE(63731, 723)
      {
         word seg←v31380 = 9999;
         word textHitData←v31408 = 0;
         word textParts←v31436;
         W2 localTestpoint←v31464;
         word localTolerance←v31492;
SOURCE(63776, 43)
         textParts←v31436 = XR←Narrow((* (( (ptr) sliceD←v20732)+1) ), (* (( (ptr) gf←c100016)+20) ));
SOURCE(63821, 74)
         {
            word pd649;
            pd649 = (* (( (ptr) (* (( (ptr) gf←c100016)+306)/* var←c95984 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd649 ))))((word) &localTestpoint←v31464, (* (( (ptr) textData←v31280)+9) ), testPoint←v20760, pd649)
            ;
            };
SOURCE(63897, 91)
         {
            float tf650;
            word x651;
            word x652;
            float tf653;
            float tf654;
            word x655;
            float tf656;
            localTolerance←v31492 = (
               tf656 = FABS(((
                     x651 = tolerance←v20788,  *(float*)&x651
                     ) * FMAX((
                        x652 = (* (( (ptr) textData←v31280)+10) ),  *(float*)&x652
                        ), (
                        x655 = (* (( (ptr) textData←v31280)+11) ),  *(float*)&x655
                        ), tf653, tf654)), tf650),  *(word*)&tf656
               );
            };
SOURCE(64042, 119)
         {
            W5 var←c96208;
            (void) TextNearestEdge←P4620((word) &var←c96208, (* (( (ptr) textData←v31280)+1) ), localTestpoint←v31464, localTolerance←v31492,  (unsigned) ((* (
                  ( (bPt) textParts←v31436)+7) ) & 0177));
            success←v20944 = var←c96208.f4;
            bestPoint←v20832 = (*  (W2Pt) (( (ptr) &var←c96208)+2) );
            seg←v31380 = var←c96208.f1;
            bestDist←v20860 = var←c96208.f0;
            };
SOURCE(64163, 286)
         if ((0 != success←v20944)) {
SOURCE(64181, 73)
            {
               word pd657;
               pd657 = (* (( (ptr) (* (( (ptr) gf←c100016)+306)/* var←c95984 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd657 ))))((word) &bestPoint←v20832, (* (( (ptr) (* (( (ptr) textData←v31280)+5) ))+5) ), bestPoint←v20832, pd657)
               ;
               };
SOURCE(64256, 51)
            {
               word pd658;
               pd658 = (* (( (ptr) (* (( (ptr) gf←c100016)+307)/* var←c96048 */  ))+19) );
               bestDist←v20860 = (word) ( *( (fPt) ((*  (ptr) pd658 ))))(testPoint←v20760, bestPoint←v20832, pd658);
               };
SOURCE(64309, 90)
            {
               word var←c96240;
               {
                  word var←c96272;
                  var←c96272 = XR←NewObject(16, (* (( (ptr) gf←c100016)+19) ));
                  (* (( (ptr) var←c96272)+1) ) = BCK((seg←v31380 + 1), 8);
                  (*  (W2Pt) (( (ptr) var←c96272)+2) ) = bestPoint←v20832;
                  var←c96240 = var←c96272;
                  };
               textHitData←v31408 = var←c96240;
               hitData←v20916 = var←c96240;
               };
SOURCE(64401, 48)
            {
               word pd659;
               pd659 = (* (( (ptr) (* (( (ptr) gf←c100016)+307)/* var←c96048 */  ))+11) );
               (void) ( *( (fPt) ((*  (ptr) pd659 ))))((word) &bestNormal←v20888, testPoint←v20760, bestPoint←v20832, pd659);
               };
            };
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0909 ) = bestPoint←v20832;
   (* (( (ptr) formal←c0909)+2) ) = bestDist←v20860;
   (*  (W2Pt) (( (ptr) formal←c0909)+3) ) = bestNormal←v20888;
   (* (( (ptr) formal←c0909)+5) ) = hitData←v20916;
   (* (( (ptr) formal←c0909)+6) ) = success←v20944;
   return;
   }

static void TextNearestPoint←P4560(formal←c0924, points←v21016, testPoint←v21044, tolerance←v21072, mask←v21100)
   word formal←c0924;
   word points←v21016;
   W2 testPoint←v21044;
   word tolerance←v21072;
   word mask←v21100;
   {
   register ptr gf←c100048 =  (ptr) &globalframe;
   word bestDist←v21144;
   word bestPoint←v21172;
   W2 bestXY←v21200;
   word success←v21228;
   W2 thisPoint←v31536;
   word thisDist2←v31564;
   word bestDist2←v31592;
   word tolerance2←v31620;
   register word index←v31648 = 0;
   /* TextNearestPoint: */ 
SOURCE(64461, 746)
SOURCE(64461, 746)
   success←v21228 = 0;
SOURCE(64698, 38)
   {
      word x660;
      word x661;
      *(float*)&tolerance2←v31620 = (
         x660 = tolerance←v21072,  *(float*)&x660
         ) * (
         x661 = tolerance←v21072,  *(float*)&x661
         );
      };
SOURCE(64754, 21)
   bestXY←v21200.f0 = (*  (ptr) &fc128 );
   bestXY←v21200.f1 = (*  (ptr) &fc128 );
SOURCE(64777, 16)
   bestDist2←v31592 = (*  (ptr) &fc662 );
SOURCE(64819, 16)
   bestPoint←v21172 = 9999;
SOURCE(64837, 274)
   {
      register word noName←c96304 = 0;
      lab←L100142: ;
      index←v31648 = noName←c96304;
SOURCE(64872, 239)
      {
         word ix663;
         if ((
            ix663 = (BCK(index←v31648, 12) + 20),
            ((word) mask←v21100 >> (31 - (word) ix663)) & 1
            )) {
SOURCE(64894, 25)
            thisPoint←v31536 = (* (( (W2Pt) points←v21016)+BCK(index←v31648, 12)) );
SOURCE(64958, 59)
            {
               word pd664;
               pd664 = (* (( (ptr) (* (( (ptr) gf←c100048)+307)/* var←c96048 */  ))+21) );
               thisDist2←v31564 = (word) ( *( (fPt) ((*  (ptr) pd664 ))))(thisPoint←v31536, testPoint←v21044, pd664);
               };
SOURCE(65019, 92)
            {
               word x665;
               word x666;
               if (((
                  x665 = thisDist2←v31564,  *(float*)&x665
                  ) < (
                  x666 = bestDist2←v31592,  *(float*)&x666
                  ))) {
SOURCE(65051, 21)
                  bestDist2←v31592 = thisDist2←v31564;
SOURCE(65074, 17)
                  bestPoint←v21172 = index←v31648;
SOURCE(65093, 18)
                  bestXY←v21200 = thisPoint←v31536;
                  };
               };
            };
         };
      noName←c96304 = index←v31648;
      if ((noName←c96304 >= 11)) {
         goto lab←L100139;
         };
      noName←c96304 = (noName←c96304 + 1);
      goto lab←L100142;
      lab←L100139: ;
      };
SOURCE(65128, 34)
   {
      word pd667;
      pd667 = (* (( (ptr) (* (( (ptr) gf←c100048)+286)/* var←c90128 */  ))+9) );
      bestDist←v21144 = (word) ( *( (fPt) ((*  (ptr) pd667 ))))(bestDist2←v31592, pd667);
      };
SOURCE(65164, 43)
   {
      word x668;
      word x669;
      if (((
         x668 = bestDist←v21144,  *(float*)&x668
         ) < (
         x669 = tolerance←v21072,  *(float*)&x669
         ))) {
SOURCE(65193, 14)
         success←v21228 = 1;
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0924 ) = bestDist←v21144;
   (* (( (ptr) formal←c0924)+1) ) = bestPoint←v21172;
   (*  (W2Pt) (( (ptr) formal←c0924)+2) ) = bestXY←v21200;
   (* (( (ptr) formal←c0924)+4) ) = success←v21228;
   return;
   }

static void TextNearestEdge←P4620(formal←c0941, points←v21288, testPoint←v21316, tolerance←v21344, mask←v21372)
   word formal←c0941;
   word points←v21288;
   W2 testPoint←v21316;
   word tolerance←v21344;
   word mask←v21372;
   {
   register ptr gf←c100080 =  (ptr) &globalframe;
   word bestDist←v21416;
   word bestSeg←v21444;
   W2 bestPoint←v21472;
   word success←v21500;
   W2 thisPoint←v31692;
   word thisDist2←v31720;
   word bestDist2←v31748;
   word tolerance2←v31776;
   register word index←v31804 = 0;
   /* TextNearestEdge: */ 
SOURCE(65213, 1216)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c100080)+16)/* LOCK←v4400 */ ));
SOURCE(65213, 1216)
   success←v21500 = 0;
SOURCE(65467, 38)
   {
      word x670;
      word x671;
      *(float*)&tolerance2←v31776 = (
         x670 = tolerance←v21344,  *(float*)&x670
         ) * (
         x671 = tolerance←v21344,  *(float*)&x671
         );
      };
SOURCE(65523, 24)
   bestPoint←v21472.f0 = (*  (ptr) &fc128 );
   bestPoint←v21472.f1 = (*  (ptr) &fc128 );
SOURCE(65549, 16)
   bestDist2←v31748 = (*  (ptr) &fc662 );
SOURCE(65591, 14)
   bestSeg←v21444 = 9999;
SOURCE(65607, 726)
   {
      register word noName←c96336 = 0;
      lab←L100148: ;
      index←v31804 = noName←c96336;
SOURCE(65641, 692)
      {
         word ix672;
         if ((
            ix672 = (BCK(index←v31804, 7) + 25),
            ((word) mask←v21372 >> (31 - (word) ix672)) & 1
            )) {
SOURCE(65663, 432)
            {
               word var←c96368;
               var←c96368 = index←v31804;
               switch (var←c96368) {
                  case 0: 
SOURCE(65686, 52)
                     {
                        word pd673;
                        pd673 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+29) );
                        (void) ( *( (fPt) ((*  (ptr) pd673 ))))((*  (W2Pt) points←v21288 ), (*  (W2Pt) (( (ptr) points←v21288)+6) ), (* (( (ptr) gf←c100080)+12)
                           /* scratchEdge←v8488 */  ), pd673);
                        };
                     break;
                  case 1: 
SOURCE(65745, 53)
                     {
                        word pd674;
                        pd674 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+29) );
                        (void) ( *( (fPt) ((*  (ptr) pd674 ))))((*  (W2Pt) (( (ptr) points←v21288)+6) ), (*  (W2Pt) (( (ptr) points←v21288)+22) ), (* (
/*1*/   ( (ptr) gf←c100080)+12)/* scratchEdge←v8488 */  ), pd674);
                        };
                     break;
                  case 2: 
SOURCE(65805, 53)
                     {
                        word pd675;
                        pd675 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+29) );
                        (void) ( *( (fPt) ((*  (ptr) pd675 ))))((*  (W2Pt) (( (ptr) points←v21288)+22) ), (*  (W2Pt) (( (ptr) points←v21288)+16) ), (* (
/*1*/   ( (ptr) gf←c100080)+12)/* scratchEdge←v8488 */  ), pd675);
                        };
                     break;
                  case 3: 
SOURCE(65865, 52)
                     {
                        word pd676;
                        pd676 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+29) );
                        (void) ( *( (fPt) ((*  (ptr) pd676 ))))((*  (W2Pt) (( (ptr) points←v21288)+16) ), (*  (W2Pt) points←v21288 ), (* (( (ptr) gf←c100080)+12)
                           /* scratchEdge←v8488 */  ), pd676);
                        };
                     break;
                  case 4: 
SOURCE(65924, 52)
                     {
                        word pd677;
                        pd677 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+29) );
                        (void) ( *( (fPt) ((*  (ptr) pd677 ))))((*  (W2Pt) (( (ptr) points←v21288)+2) ), (*  (W2Pt) (( (ptr) points←v21288)+18) ), (* (
/*1*/   ( (ptr) gf←c100080)+12)/* scratchEdge←v8488 */  ), pd677);
                        };
                     break;
                  case 5: 
SOURCE(65983, 53)
                     {
                        word pd678;
                        pd678 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+29) );
                        (void) ( *( (fPt) ((*  (ptr) pd678 ))))((*  (W2Pt) (( (ptr) points←v21288)+4) ), (*  (W2Pt) (( (ptr) points←v21288)+20) ), (* (
/*1*/   ( (ptr) gf←c100080)+12)/* scratchEdge←v8488 */  ), pd678);
                        };
                     break;
                  case 6: 
SOURCE(66043, 52)
                     {
                        word pd679;
                        pd679 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+29) );
                        (void) ( *( (fPt) ((*  (ptr) pd679 ))))((*  (W2Pt) (( (ptr) points←v21288)+8) ), (*  (W2Pt) (( (ptr) points←v21288)+14) ), (* (
/*1*/   ( (ptr) gf←c100080)+12)/* scratchEdge←v8488 */  ), pd679);
                        };
                     break;
                  default: 
SOURCE(66108, 5)
                     (void) XR←RaiseUnnamedError();
                     break;
                  };
               };
SOURCE(66115, 62)
            {
               word pd680;
               pd680 = (* (( (ptr) (* (( (ptr) gf←c100080)+278)/* var←c89232 */  ))+46) );
               (void) ( *( (fPt) ((*  (ptr) pd680 ))))((word) &thisPoint←v31692, testPoint←v21316, (* (( (ptr) gf←c100080)+12)/* scratchEdge←v8488 */  ), pd680)
               ;
               };
SOURCE(66179, 59)
            {
               word pd681;
               pd681 = (* (( (ptr) (* (( (ptr) gf←c100080)+307)/* var←c96048 */  ))+21) );
               thisDist2←v31720 = (word) ( *( (fPt) ((*  (ptr) pd681 ))))(thisPoint←v31692, testPoint←v21316, pd681);
               };
SOURCE(66240, 93)
            {
               word x682;
               word x683;
               if (((
                  x682 = thisDist2←v31720,  *(float*)&x682
                  ) < (
                  x683 = bestDist2←v31748,  *(float*)&x683
                  ))) {
SOURCE(66272, 21)
                  bestDist2←v31748 = thisDist2←v31720;
SOURCE(66295, 15)
                  bestSeg←v21444 = index←v31804;
SOURCE(66312, 21)
                  bestPoint←v21472 = thisPoint←v31692;
                  };
               };
            };
         };
      noName←c96336 = index←v31804;
      if ((noName←c96336 >= 6)) {
         goto lab←L100145;
         };
      noName←c96336 = (noName←c96336 + 1);
      goto lab←L100148;
      lab←L100145: ;
      };
SOURCE(66350, 34)
   {
      word pd684;
      pd684 = (* (( (ptr) (* (( (ptr) gf←c100080)+286)/* var←c90128 */  ))+9) );
      bestDist←v21416 = (word) ( *( (fPt) ((*  (ptr) pd684 ))))(bestDist2←v31748, pd684);
      };
SOURCE(66386, 43)
   {
      word x685;
      word x686;
      if (((
         x685 = bestDist←v21416,  *(float*)&x685
         ) < (
         x686 = tolerance←v21344,  *(float*)&x686
         ))) {
SOURCE(66415, 14)
         success←v21500 = 1;
         };
      };
   /* removed tail goto */ 
   (void) (XR←MonitorExit((word) (( (bPt) gf←c100080)+16)/* LOCK←v4400 */ ));
   (*  (ptr) formal←c0941 ) = bestDist←v21416;
   (* (( (ptr) formal←c0941)+1) ) = bestSeg←v21444;
   (*  (W2Pt) (( (ptr) formal←c0941)+2) ) = bestPoint←v21472;
   (* (( (ptr) formal←c0941)+4) ) = success←v21500;
   return;
   }

static void TextSetStrokeColor←P4680(slice←v21560, parts←v21588, color←v21616, setHow←v21644, history←v21672)
   word slice←v21560;
   word parts←v21588;
   word color←v21616;
   word setHow←v21644;
   word history←v21672;
   {
   register ptr gf←c100112 =  (ptr) &globalframe;
   word textData←v31848;
   /* TextSetStrokeColor: */ 
SOURCE(66435, 334)
SOURCE(66556, 39)
   textData←v31848 = XR←Narrow((* (( (ptr) slice←v21560)+1) ), (* (( (ptr) gf←c100112)+33) ));
SOURCE(66597, 172)
   {
      word var←c96400;
      var←c96400 = setHow←v21644;
      if ((var←c96400 == (* (( (ptr) gf←c100112)+104) ))) {
SOURCE(66624, 28)
         (* (( (ptr) textData←v31848)+16) ) = color←v21616;
         }
      else {
         if ((var←c96400 == (* (( (ptr) gf←c100112)+105) ))) {
SOURCE(66668, 103)
            {
               word newColor←v31892;
SOURCE(66670, 66)
               {
                  word pd687;
                  pd687 = (* (( (ptr) (* (( (ptr) gf←c100112)+293)/* var←c91024 */  ))+36) );
                  newColor←v31892 = (word) ( *( (fPt) ((*  (ptr) pd687 ))))((* (( (ptr) textData←v31848)+16) ), color←v21616, pd687);
                  };
SOURCE(66738, 31)
               (* (( (ptr) textData←v31848)+16) ) = newColor←v31892;
               };
            }
         else {
SOURCE(66785, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   }

static void TextGetStrokeColor←P4740(formal←c0955, slice←v21732, parts←v21760)
   word formal←c0955;
   word slice←v21732;
   word parts←v21760;
   {
   register ptr gf←c100144 =  (ptr) &globalframe;
   word color←v21804;
   word isUnique←v21832;
   word textData←v31936;
   /* TextGetStrokeColor: */ 
SOURCE(66796, 185)
SOURCE(66796, 185)
   color←v21804 = 0;
SOURCE(66796, 185)
   isUnique←v21832 = 1;
SOURCE(66912, 39)
   textData←v31936 = XR←Narrow((* (( (ptr) slice←v21732)+1) ), (* (( (ptr) gf←c100144)+33) ));
SOURCE(66953, 28)
   color←v21804 = (* (( (ptr) textData←v31936)+16) );
   /* removed tail goto */ 
   (*  (ptr) formal←c0955 ) = color←v21804;
   (* (( (ptr) formal←c0955)+1) ) = isUnique←v21832;
   return;
   }

static void TextSetDefaults←P4800(slice←v21892, parts←v21920, defaults←v21948, history←v21976)
   word slice←v21892;
   word parts←v21920;
   word defaults←v21948;
   word history←v21976;
   {
   register ptr gf←c100176 =  (ptr) &globalframe;
   word textData←v31980;
   word textParts←v32008;
   word router←v32036;
   /* TextSetDefaults: */ 
SOURCE(66987, 539)
SOURCE(67093, 39)
   textData←v31980 = XR←Narrow((* (( (ptr) slice←v21892)+1) ), (* (( (ptr) gf←c100176)+33) ));
SOURCE(67134, 36)
   textParts←v32008 = XR←Narrow(parts←v21920, (* (( (ptr) gf←c100176)+20) ));
SOURCE(67172, 52)
   {
      word pd688;
      pd688 = (* (( (ptr) (* (( (ptr) gf←c100176)+277)/* var←c89200 */  ))+10) );
      router←v32036 = (word) ( *( (fPt) ((*  (ptr) pd688 ))))((* ((( (ptr) gf←c100176)+79)) ), pd688);
      };
SOURCE(67226, 300)
   if ((textParts←v32008 == 0) || (0 != (* (( (ptr) textParts←v32008)+2) ))) {
SOURCE(67275, 51)
      {
         word var←c96432;
         var←c96432 = (word) SetTextFont←P600(slice←v21892, (* (( (ptr) defaults←v21948)+9) ), router←v32036, 0);
         };
SOURCE(67328, 35)
      (* (( (ptr) textData←v31980)+4) ) = (* (( (ptr) defaults←v21948)+10) );
SOURCE(67365, 112)
      if ((0 != (* (( (ptr) defaults←v21948)+11) ))) {
SOURCE(67395, 57)
         (void) DropShadowOn←P1200(slice←v21892, (*  (W2Pt) (( (ptr) defaults←v21948)+12) ), 0);
         }
      else {
SOURCE(67452, 25)
         (void) DropShadowOff←P1260(slice←v21892, 0);
         };
SOURCE(67479, 47)
      (* (( (ptr) textData←v31980)+16) ) = (* (( (ptr) defaults←v21948)+14) );
      };
   }

static void TextSetFillColor←P4860(slice←v22036, parts←v22064, color←v22092, setHow←v22120, history←v22148)
   word slice←v22036;
   word parts←v22064;
   word color←v22092;
   word setHow←v22120;
   word history←v22148;
   {
   register ptr gf←c100208 =  (ptr) &globalframe;
   word textData←v32080;
   /* TextSetFillColor: */ 
SOURCE(67535, 314)
SOURCE(67654, 39)
   textData←v32080 = XR←Narrow((* (( (ptr) slice←v22036)+1) ), (* (( (ptr) gf←c100208)+33) ));
SOURCE(67695, 154)
   {
      word var←c96464;
      var←c96464 = setHow←v22120;
      if ((var←c96464 == (* (( (ptr) gf←c100208)+104) ))) {
SOURCE(67722, 22)
         (* (( (ptr) textData←v32080)+4) ) = color←v22092;
         }
      else {
         if ((var←c96464 == (* (( (ptr) gf←c100208)+105) ))) {
SOURCE(67760, 91)
            {
               word newColor←v32124;
SOURCE(67762, 60)
               {
                  word pd689;
                  pd689 = (* (( (ptr) (* (( (ptr) gf←c100208)+293)/* var←c91024 */  ))+36) );
                  newColor←v32124 = (word) ( *( (fPt) ((*  (ptr) pd689 ))))((* (( (ptr) textData←v32080)+4) ), color←v22092, pd689);
                  };
SOURCE(67824, 25)
               (* (( (ptr) textData←v32080)+4) ) = newColor←v32124;
               };
            }
         else {
SOURCE(67865, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   }

static void TextGetFillColor←P4920(formal←c0978, slice←v22208, parts←v22236)
   word formal←c0978;
   word slice←v22208;
   word parts←v22236;
   {
   register ptr gf←c100240 =  (ptr) &globalframe;
   word color←v22280;
   word isUnique←v22308;
   word textData←v32168;
   /* TextGetFillColor: */ 
SOURCE(67876, 177)
SOURCE(67876, 177)
   color←v22280 = 0;
SOURCE(67876, 177)
   isUnique←v22308 = 1;
SOURCE(67990, 39)
   textData←v32168 = XR←Narrow((* (( (ptr) slice←v22208)+1) ), (* (( (ptr) gf←c100240)+33) ));
SOURCE(68031, 22)
   color←v22280 = (* (( (ptr) textData←v32168)+4) );
   isUnique←v22308 = 1;
   /* removed tail goto */ 
   (*  (ptr) formal←c0978 ) = color←v22280;
   (* (( (ptr) formal←c0978)+1) ) = isUnique←v22308;
   return;
   }

static void NoName←Q8664(formal←c0984, formal←c200032, formal←c200033, formal←c200034, formal←c200035)
   word formal←c0984;
   word formal←c200032;
   word formal←c200033;
   word formal←c200034;
   word formal←c200035;
   {
   register ptr gf←c01147 =  (ptr) &globalframe;
   if ((formal←c200033 == (* (( (ptr) (* (( (ptr) gf←c01147)+281)/* var←c89456 */  ))+4) ))) {
      {
         word explanation←v82848;
         explanation←v82848 = (*  (ptr) formal←c200035 );
SOURCE(47711, 8)
         (*  (ptr) formal←c0984 ) = 2;
         (* (( (ptr) formal←c0984)+1) ) = 11;
         return;
         };
      };
   (*  (ptr) formal←c0984 ) = 0;
   (* (( (ptr) formal←c0984)+1) ) = 0;
   return;
   }

static void NoName←Q8724(formal←c0990, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
   word formal←c0990;
   word formal←c200028;
   word formal←c200029;
   word formal←c200030;
   word formal←c200031;
   {
   register ptr gf←c01148 =  (ptr) &globalframe;
   if ((formal←c200029 == (* (( (ptr) (* (( (ptr) gf←c01148)+281)/* var←c89456 */  ))+4) ))) {
      {
         word explanation←v82788;
         explanation←v82788 = (*  (ptr) formal←c200031 );
SOURCE(47325, 8)
         (*  (ptr) formal←c0990 ) = 2;
         (* (( (ptr) formal←c0990)+1) ) = 10;
         return;
         };
      };
   (*  (ptr) formal←c0990 ) = 0;
   (* (( (ptr) formal←c0990)+1) ) = 0;
   return;
   }

static void NoName←Q8784(formal←c0996, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
   word formal←c0996;
   word formal←c200024;
   word formal←c200025;
   word formal←c200026;
   word formal←c200027;
   {
   register ptr gf←c01149 =  (ptr) &globalframe;
   if ((formal←c200025 == (* (( (ptr) (* (( (ptr) gf←c01149)+281)/* var←c89456 */  ))+4) ))) {
      {
         word explanation←v82728;
         explanation←v82728 = (*  (ptr) formal←c200027 );
SOURCE(46937, 8)
         (*  (ptr) formal←c0996 ) = 2;
         (* (( (ptr) formal←c0996)+1) ) = 9;
         return;
         };
      };
   (*  (ptr) formal←c0996 ) = 0;
   (* (( (ptr) formal←c0996)+1) ) = 0;
   return;
   }

static void NoName←Q8844(formal←c01006, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
   word formal←c01006;
   word formal←c200020;
   word formal←c200021;
   word formal←c200022;
   word formal←c200023;
   {
   register ptr gf←c01150 =  (ptr) &globalframe;
   if ((formal←c200021 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c01150)+289)/* var←c90416 */  ))+6) ) ))) {
      {
         W3 error←v64500;
         error←v64500 = (*  (W3Pt) formal←c200023 );
SOURCE(13767, 10)
         (*  (ptr) formal←c01006 ) = 2;
         (* (( (ptr) formal←c01006)+1) ) = 5;
         return;
         };
      };
   if ((formal←c200021 == (* (( (ptr) (* (( (ptr) gf←c01150)+290)/* var←c90448 */  ))+9) ))) {
      {
         W4 error←v64956;
         error←v64956 = (*  (W4Pt) formal←c200023 );
SOURCE(13792, 13)
         (*  (ptr) formal←c01006 ) = 2;
         (* (( (ptr) formal←c01006)+1) ) = 6;
         return;
         };
      };
   if ((formal←c200021 == (* (( (ptr) (* (( (ptr) gf←c01150)+291)/* var←c90480 */  ))+12) ))) {
      {
         word code←v65136;
         word explanation←v65164;
         code←v65136 = (*  (ptr) formal←c200023 );
         explanation←v65164 = (* (( (ptr) formal←c200023)+1) );
SOURCE(13832, 12)
         (* (( (ptr) formal←c200020)+5) ) = code←v65136;
SOURCE(13846, 26)
         (* (( (ptr) formal←c200020)+6) ) = explanation←v65164;
SOURCE(13874, 23)
         (*  (ptr) formal←c01006 ) = 2;
         (* (( (ptr) formal←c01006)+1) ) = 7;
         return;
         };
      };
   if ((formal←c200021 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c01150)+289)/* var←c90416 */  ))+7) ) ))) {
      {
         W3 error←v65328;
         error←v65328 = (*  (W3Pt) formal←c200023 );
SOURCE(13922, 67)
         if ((0 != (* (( (ptr) (* (( (ptr) formal←c200020)+4) ))+13) ))) {
SOURCE(13954, 27)
            (* (( (ptr) (* (( (ptr) formal←c200020)+4) ))+14) ) = 1;
SOURCE(13983, 6)
            (*  (ptr) formal←c01006 ) = 1;
            (* (( (ptr) formal←c01006)+1) ) = 0;
            return;
            }
         else {
SOURCE(13998, 13)
            (*  (ptr) formal←c01006 ) = 2;
            (* (( (ptr) formal←c01006)+1) ) = 8;
            return;
            };
         };
      };
   (*  (ptr) formal←c01006 ) = 0;
   (* (( (ptr) formal←c01006)+1) ) = 0;
   return;
   }

static void NoName←Q8904(formal←c01012, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c01012;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c01151 =  (ptr) &globalframe;
   if ((formal←c200017 == (* (( (ptr) (* (( (ptr) gf←c01151)+285)/* var←c89904 */  ))+4) ))) {
      {
         word stream←v62352;
         stream←v62352 = (*  (ptr) formal←c200019 );
SOURCE(11024, 9)
         (* (( (ptr) formal←c200016)+5) ) = 0;
SOURCE(11035, 8)
         (*  (ptr) formal←c01012 ) = 2;
         (* (( (ptr) formal←c01012)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c01012 ) = 0;
   (* (( (ptr) formal←c01012)+1) ) = 0;
   return;
   }

static void NoName←Q8964(formal←c01018, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c01018;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c01152 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c01152)+285)/* var←c89904 */  ))+4) ))) {
      {
         word stream←v62172;
         stream←v62172 = (*  (ptr) formal←c200015 );
SOURCE(10774, 9)
         (* (( (ptr) formal←c200012)+5) ) = 0;
SOURCE(10785, 8)
         (*  (ptr) formal←c01018 ) = 2;
         (* (( (ptr) formal←c01018)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c01018 ) = 0;
   (* (( (ptr) formal←c01018)+1) ) = 0;
   return;
   }

static void NoName←Q9024(formal←c01024, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c01024;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c01153 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c01153)+285)/* var←c89904 */  ))+4) ))) {
      {
         word stream←v61976;
         stream←v61976 = (*  (ptr) formal←c200011 );
SOURCE(11599, 10)
         (* (( (ptr) formal←c200008)+6) ) = 0;
SOURCE(11611, 8)
         (*  (ptr) formal←c01024 ) = 2;
         (* (( (ptr) formal←c01024)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c01024 ) = 0;
   (* (( (ptr) formal←c01024)+1) ) = 0;
   return;
   }

static void NoName←Q9084(formal←c01030, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c01030;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c01154 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c01154)+285)/* var←c89904 */  ))+4) ))) {
      {
         word stream←v61916;
         stream←v61916 = (*  (ptr) formal←c200007 );
SOURCE(11480, 21)
         (void) (XR←RaiseSignal((word) (( (bPt) gf←c01154)+424)/* var←c86448 */ , 0, 0));
         };
      };
   (*  (ptr) formal←c01030 ) = 0;
   (* (( (ptr) formal←c01030)+1) ) = 0;
   return;
   }

static void NoName←Q9144(formal←c01036, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c01036;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c01155 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c01155)+285)/* var←c89904 */  ))+4) ))) {
      {
         word stream←v61856;
         stream←v61856 = (*  (ptr) formal←c200003 );
SOURCE(11405, 21)
         (void) (XR←RaiseSignal((word) (( (bPt) gf←c01155)+424)/* var←c86448 */ , 0, 0));
         };
      };
   (*  (ptr) formal←c01036 ) = 0;
   (* (( (ptr) formal←c01036)+1) ) = 0;
   return;
   }

/* file: GGSliceImplB, module: GGSliceImplB, compiled at: July 11, 1993 8:07:09 pm PDT */ 
extern void XR←install←GGSliceImplB() {
   NoName←Q8064();
   }
extern void XR←run←GGSliceImplB() { XR←Start(&globalframe); }