/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 11, 1993 8:03:22 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: GGHistoryImpl, module: GGHistoryImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2894736571,2162247208] GGHistoryImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {W8 f; word r;} W9; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {word f0, f1, f2;} W3; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {W8 f; W8 r;} W16; typedef struct {W8 f; W5 r;} W13; typedef struct {W16 f; W13 r;} W29; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {W8 f; W4 r;} W12; typedef struct {W16 f; W12 r;} W28; typedef struct {W8 f; W2 r;} W10; typedef struct {W16 f; W10 r;} W26; typedef W26 *W26Pt; typedef W28 *W28Pt; typedef struct {W8 f; W6 r;} W14; typedef struct {W16 f; W14 r;} W30; typedef struct {W8 f; W3 r;} W11; typedef struct {W16 f; W11 r;} W27; typedef W27 *W27Pt; typedef struct {W16 f; W16 r;} W32; typedef struct {W32 f; W4 r;} W36; #define SOURCE(p, l) /* source p, l */ #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define IOP2(op, x, y) ( (word) ((x) op (y)) ) static void NoName←Q4608(); static void GGHistoryImpl←P0(); static word NewCurrent←P60(); static void PushCurrent←P120(); static word SetSliceIndex←P2904(); static word MarkSlices←P3012(); static word TopHistory←P3120(); static void KillAdvanceCapture←P180(); static word NoName←Q4668(); static void KillAdvanceCaptureInternal←P240(); static word DiscardAction←P300(); static void DoAdvanceCapture←P360(); static word NoName←Q4728(); static word CaptureAction←P420(); static void NewCapture←P480(); static word NoName←Q4788(); static void Capture←P540(); static void Uncapture←P600(); static word Create←P660(); static void SetCurrent←P720(); static void GetCurrent←P780(); static void DescendASlice←P840(); static void WalkSlicesInEvent←P900(); static void SetHistory←P960(); static word GetHistory←P1020(); static void Push←P1080(); static void Note←P1140(); static void Undo←P1200(); static void ResetHistory←P1260(); static word NoName←Q4848(); static void ResetEvent←P1320(); static word AddSliceToUnlink←P4044(); static void UnlinkListedSlices←P1380(); static void Reset←P1440(); static word Empty←P1500(); static void UndoN←P1560(); static word Reselect←P4296(); static void CapTool←P1620(); static word BuildTool←P1680(); static void EventNumberButton←P1740(); static void HistorySizeButton←P1800(); static void SynchShow←P1860(); static void DoShow←P1920(); static word NoName←Q4908(); static void SynchUndo←P1980(); static void DoUndo←P2040(); static word NoName←Q4968(); static void SynchGetSize←P2100(); static void DoGetSize←P2160(); static void SynchSetSize←P2220(); static void DoSetSize←P2280(); static word NoName←Q5028(); static void ClearTool←P2340(); static word BuildButton←P2400(); static void DataFieldButton←P2460(); static void BuildDataFieldPair←P2520(); static word GetInt←P2580(); static word NoName←Q5088(); static void SetInt←P2640(); static void HRule←P2700(); static void NoName←Q5148(); static void NoName←Q5208(); static void NoName←Q5268(); static void NoName←Q5328(); static void NoName←Q5388(); static void NoName←Q5448(); static void NoName←Q5508(); static void NoName←Q5568(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\122\207\370\054\300\315\202\135\375\100\200\000\000"}; static struct {unsigned f; char r[12];} string2 = {589833, "\007\000\040\003\004\036\004\016\014\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\252\050\175\356\300\250\337\044\120\100\164\000\000"}; static struct {unsigned f; char r[4];} string4 = {131074, "\004\017\000"}; static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string6 = {65537, "\001\000\000"}; static struct {unsigned f; char r[20];} string7 = {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];} string8 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\252\050\175\356\300\250\337\044\120\100\200\000\000"}; static struct {unsigned f; char r[4];} string10 = {131074, "\003\007\000"}; static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\252\043\023\037\300\070\056\113\065\100\164\000\000"}; static struct {unsigned f; char r[4];} string13 = {131074, "\004\005\000"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\200\000\000"}; static struct {unsigned f; char r[68];} string15 = {4325442, "\006\031\000\001\004\001\010\001\014\001\024\001\030\001\034\001\044\001\050\001\054\001\060\001\064\001\070\001\074\001\100\100\001\100\104\001\100\110\001\100\164\001\100\170\001\100\224\004\017\100\244\004\100\171\100\300\001\100\304\001\100\310\001\100\320\001\000"}; static struct {unsigned f; char r[48];} string16 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\252\043\023\037\300\070\056\113\065\100\214\005\004\162\145\163\164\214\216\257\300\252\043\023\037\300\070\056\113\065\100\214\261\000\000\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"}; static struct {unsigned f; char r[32];} string18 = {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[48];} string19 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\252\043\023\037\300\070\056\113\065\100\164\005\004\162\145\163\164\214\216\257\300\252\043\023\037\300\070\056\113\065\100\164\261\000\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\252\043\023\037\300\070\056\113\065\100\214\000\000"}; static struct {unsigned f; char r[4];} string21 = {131074, "\003\001\000"}; static struct {unsigned f; char r[44];} string22 = {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];} string23 = {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[48];} string24 = {2883632, "Undo %g event%g. Actually undid %g event%g.\000\000\000"}; static struct {unsigned f; char r[20];} string25 = {1114132, "UndoN Placeholder\000\000"}; static struct {unsigned f; char r[8];} string26 = {458760, "advance"}; static struct {unsigned f; char r[16];} string27 = {917520, "Set scale unit\000"}; static struct {unsigned f; char r[8];} string28 = {262152, "Undo\000\000\000"}; static struct {unsigned f; char r[8];} string29 = {458760, "Motion:"}; static struct {unsigned f; char r[12];} string30 = {524300, "Feedback\000\000\000"}; static struct {unsigned f; char r[12];} string31 = {589836, "Transform\000\000"}; static struct {unsigned f; char r[20];} string32 = {1048596, "PaintEntireScene\000\000\000"}; static struct {unsigned f; char r[12];} string33 = {589836, "Complaint\000\000"}; static struct {unsigned f; char r[40];} string34 = {2490408, "No entries on the history list to Undo\000"}; static struct {unsigned f; char r[16];} string35 = {917520, "GGHistory for \000"}; static struct {unsigned f; char r[40];} string36 = {2359336, "GGHistory tool for %g already exists\000\000\000"}; static struct {unsigned f; char r[4];} string37 = {65540, "s\000\000"}; static struct {unsigned f; char r[16];} string38 = {983056, "%g %g object%g"}; static struct {unsigned f; char r[8];} string39 = {262152, "Show\000\000\000"}; static struct {unsigned f; char r[32];} string40 = {1900576, "since Gargoyle event number: \000\000"}; static struct {unsigned f; char r[4];} string41 = {196612, "Get"}; static struct {unsigned f; char r[4];} string42 = {196612, "Set"}; static struct {unsigned f; char r[16];} string43 = {917520, "history size: \000"}; static struct {unsigned f; char r[8];} string44 = {262152, "Text\000\000\000"}; static struct {unsigned f; char r[16];} string45 = {851984, "%g no object\000\000"}; static struct {unsigned f; char r[12];} string46 = {720908, "HistoryShow"}; static struct {unsigned f; char r[8];} string47 = {393224, "%g\011%g\012\000"}; static struct {unsigned f; char r[12];} string48 = {720908, "HistoryUndo"}; static struct {unsigned f; char r[92];} string49 = {5963868, "Please fill in the \042since Gargoyle event number\042 field with a positive integer event number"}; static struct {unsigned f; char r[16];} string50 = {917520, "HistoryGetSize\000"}; static struct {unsigned f; char r[16];} string51 = {917520, "HistorySetSize\000"}; static struct {unsigned f; char r[72];} string52 = {4456520, "Please fill in the \042history size\042 field with a positive integer size\000\000\000"}; static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\254\212\054\273\300\200\341\106\050\100\164\000\000"}; static struct {unsigned f; char r[16];} string54 = {851981, "\006\003\060\001\070\001\100\220\010\000\004\035\001\000\000"}; static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\212\210\334\132\300\036\362\033\164\100\150\000\000"}; static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\176\323\376\273\300\203\041\251\010\100\150\000\000"}; static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"}; static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\223\031\346\162\300\275\253\133\335\100\150\000\000"}; static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\003\033\274\104\300\263\246\312\006\100\150\000\000"}; static struct {unsigned f; char r[8];} string61 = {1195853929, "story"}; static struct {unsigned f; char r[16];} string62 = {851984, "\257\300\252\050\175\356\300\250\337\044\120\100\150\000\000"}; static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"}; static struct {unsigned f; char r[16];} string64 = {851984, "\257\300\011\245\206\305\300\112\326\356\245\100\150\000\000"}; static struct {unsigned f; char r[16];} string65 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"}; static struct {unsigned f; char r[16];} string66 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"}; static struct {unsigned f; char r[16];} string67 = {851984, "\257\300\206\055\004\241\300\261\334\001\116\100\150\000\000"}; static struct {unsigned f; char r[16];} string68 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\356\024\243\250\300\175\157\203\227\100\150\000\000"}; static struct {unsigned f; char r[16];} string70 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string71 = {851984, "\257\300\234\045\277\356\300\323\171\341\105\100\150\000\000"}; static struct {unsigned f; char r[16];} string72 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string73 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string74 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string75 = {851984, "\257\300\117\004\011\134\300\015\100\060\362\100\150\000\000"}; static struct {unsigned f; char r[16];} string76 = {851984, "\257\300\360\202\255\211\300\267\057\343\102\100\150\000\000"}; static struct {unsigned f; char r[16];} string77 = {851984, "\257\300\351\360\047\051\300\272\273\201\332\100\150\000\000"}; static struct {unsigned f; char r[16];} string78 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"}; static struct {unsigned f; char r[16];} string79 = {851984, "\257\300\177\015\147\234\300\177\160\240\356\100\150\000\000"}; static struct {unsigned f; char r[16];} string80 = {851984, "\257\300\045\005\337\143\300\252\356\334\244\100\150\000\000"}; static struct {unsigned f; char r[16];} string81 = {851984, "\257\300\252\043\023\037\300\070\056\113\065\100\150\000\000"}; static struct {unsigned f; char r[20];} string82 = {1245204, "\211\007\006Change\300\252#\023\037\3008.K5"}; static struct {unsigned f; char r[28];} string83 = {1769500, "\211\017\016HistoryToolObj\300\252#\023\037\3008.K5"}; static struct { word f0[9]; word f9; word f10; word f11; word f12; word f13; word f14[54]; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; word f121; word f122; word f123; word f124; word f125; word f126; word f127; word f128; word f129; word f130; 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[28]; } globalframe = { {0}, (word) 1, (word) 1, (word) 1, 0, (word) 2, {0}, (word) HRule←P2700, 0, (word) SetInt←P2640, 0, (word) GetInt←P2580, 0, (word) BuildDataFieldPair←P2520, 0, (word) DataFieldButton←P2460, 0, (word) BuildButton←P2400, 0, (word) ClearTool←P2340, 0, (word) DoSetSize←P2280, 0, (word) SynchSetSize←P2220, 0, (word) DoGetSize←P2160, 0, (word) SynchGetSize←P2100, 0, (word) DoUndo←P2040, 0, (word) SynchUndo←P1980, 0, (word) DoShow←P1920, 0, (word) SynchShow←P1860, 0, (word) HistorySizeButton←P1800, 0, (word) EventNumberButton←P1740, 0, (word) BuildTool←P1680, 0, (word) CapTool←P1620, 0, (word) UndoN←P1560, 0, (word) Empty←P1500, 0, (word) Reset←P1440, 0, (word) UnlinkListedSlices←P1380, 0, (word) ResetEvent←P1320, 0, (word) ResetHistory←P1260, 0, (word) Undo←P1200, 0, (word) Note←P1140, 0, (word) Push←P1080, 0, (word) GetHistory←P1020, 0, (word) SetHistory←P960, 0, (word) WalkSlicesInEvent←P900, 0, (word) DescendASlice←P840, 0, (word) GetCurrent←P780, 0, (word) SetCurrent←P720, 0, (word) Create←P660, 0, (word) Uncapture←P600, 0, (word) Capture←P540, 0, (word) NewCapture←P480, 0, (word) CaptureAction←P420, 0, (word) DoAdvanceCapture←P360, 0, (word) DiscardAction←P300, 0, (word) KillAdvanceCaptureInternal←P240, 0, (word) KillAdvanceCapture←P180, 0, (word) PushCurrent←P120, 0, (word) NewCurrent←P60, 0, (word) GGHistoryImpl←P0, {0} }; static void NoName←Q4608() { register ptr gf←c0465 = (ptr) &globalframe; word var←c52720; (* (( (ptr) gf←c0465)+15) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0465)+16) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0465)+19) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf←c0465)+20) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8); (* (( (ptr) gf←c0465)+22) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c0465)+24) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string6); (* (( (ptr) gf←c0465)+28) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf←c0465)+29) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15); (* (( (ptr) gf←c0465)+31) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string8); (* (( (ptr) gf←c0465)+32) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18); (* (( (ptr) gf←c0465)+33) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string8); (* (( (ptr) gf←c0465)+34) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21); (* (( (ptr) gf←c0465)+35) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23); (* (ptr) (( (bPt) gf←c0465)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string24); (* (ptr) (( (bPt) gf←c0465)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string25); (* (ptr) (( (bPt) gf←c0465)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string26); (* (ptr) (( (bPt) gf←c0465)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string27); (* (ptr) (( (bPt) gf←c0465)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string28); (* (ptr) (( (bPt) gf←c0465)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string29); (* (ptr) (( (bPt) gf←c0465)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string30); (* (ptr) (( (bPt) gf←c0465)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string31); (* (ptr) (( (bPt) gf←c0465)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string32); (* (ptr) (( (bPt) gf←c0465)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string33); (* (ptr) (( (bPt) gf←c0465)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string34); (* (ptr) (( (bPt) gf←c0465)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string35); (* (ptr) (( (bPt) gf←c0465)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string36); (* (ptr) (( (bPt) gf←c0465)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string37); (* (ptr) (( (bPt) gf←c0465)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string38); (* (ptr) (( (bPt) gf←c0465)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string39); (* (ptr) (( (bPt) gf←c0465)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string40); (* (ptr) (( (bPt) gf←c0465)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string41); (* (ptr) (( (bPt) gf←c0465)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string42); (* (ptr) (( (bPt) gf←c0465)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string43); (* (ptr) (( (bPt) gf←c0465)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string44); (* (ptr) (( (bPt) gf←c0465)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string45); (* (ptr) (( (bPt) gf←c0465)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string46); (* (ptr) (( (bPt) gf←c0465)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string47); (* (ptr) (( (bPt) gf←c0465)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string48); (* (ptr) (( (bPt) gf←c0465)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string49); (* (ptr) (( (bPt) gf←c0465)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string50); (* (ptr) (( (bPt) gf←c0465)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+24) ), (word) &string51); (* (ptr) (( (bPt) gf←c0465)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0465)+19) ), (word) &string52); (void) XR←DeclareGlobalFrame((word) "GGHistoryImpl", &globalframe, (word) XR←GetTypeIndex((word) &string53, 0, (word) &string54) , (word) (( (bPt) gf←c0465)+632)/* var←c48944 */ ); var←c52720 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string55)), 83); (* (( (ptr) gf←c0465)+168)/* var←c50544 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 68175108); var←c52720 = (word) XR←ImportInterface((word) "CedarProcess", (word) XR←GetTypeIndexS((word) (&string56)), 10); (* (( (ptr) gf←c0465)+166)/* var←c49744 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 262145); (void) XR←ImportProcS(var←c52720, 68420355); (void) XR←ImportProcS(var←c52720, 134743298); (void) XR←ImportProcS(var←c52720, 263681); (void) XR←ImportProcS(var←c52720, 67372033); var←c52720 = (word) XR←ImportInterface((word) "Containers", (word) XR←GetTypeIndexS((word) (&string57)), 5); (* (( (ptr) gf←c0465)+178)/* var←c51728 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 524802); (void) XR←ImportProcS(var←c52720, 524546); (void) XR←ImportProcS(var←c52720, 74711042); var←c52720 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string58)), 25); (* (( (ptr) gf←c0465)+175)/* var←c51472 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 1575429); (void) XR←ImportProcS(var←c52720, 1050628); var←c52720 = (word) XR←ImportInterface((word) "GGCaret", (word) XR←GetTypeIndexS((word) (&string59)), 13); (* (( (ptr) gf←c0465)+172)/* var←c51344 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 264449); (void) XR←ImportProcS(var←c52720, 525570); var←c52720 = (word) XR←ImportInterface((word) "GGEvent", (word) XR←GetTypeIndexS((word) (&string60)), 38); (* (( (ptr) gf←c0465)+179)/* var←c52048 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 531458); var←c52720 = (word) XR←ImportInterface((word) &string61, (word) XR←GetTypeIndexS((word) (&string62)), 20); (* (( (ptr) gf←c0465)+170)/* var←c50992 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 526338); (void) XR←ImportProcS(var←c52720, 262657); (void) XR←ImportProcS(var←c52720, 134480129); (void) XR←ImportProcS(var←c52720, 526082); (void) XR←ImportProcS(var←c52720, 67633154); (void) XR←ImportProcS(var←c52720, 67374081); (void) XR←ImportProcS(var←c52720, 267009); var←c52720 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string63)), 50); (* (( (ptr) gf←c0465)+161)/* var←c49008 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 68164356); (void) XR←ImportProcS(var←c52720, 68165636); var←c52720 = (word) XR←ImportInterface((word) "GGSelect", (word) XR←GetTypeIndexS((word) (&string64)), 23); (* (( (ptr) gf←c0465)+174)/* var←c51408 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 525570); (void) XR←ImportProcS(var←c52720, 264705); var←c52720 = (word) XR←ImportInterface((word) "GGSlice", (word) XR←GetTypeIndexS((word) (&string65)), 128); (* (( (ptr) gf←c0465)+171)/* var←c51088 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 279297); var←c52720 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string66)), 73); (* (( (ptr) gf←c0465)+164)/* var←c49488 */ ) = var←c52720; var←c52720 = (word) XR←ImportInterface((word) "GGState", (word) XR←GetTypeIndexS((word) (&string67)), 119); (* (( (ptr) gf←c0465)+173)/* var←c51376 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 550146); (void) XR←ImportProcS(var←c52720, 549122); var←c52720 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string68)), 42); (* (( (ptr) gf←c0465)+165)/* var←c49616 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 135008515); (void) XR←ImportProcS(var←c52720, 793091); (void) XR←ImportProcS(var←c52720, 134748418); (void) XR←ImportProcS(var←c52720, 269057); (void) XR←ImportProcS(var←c52720, 134221824); var←c52720 = (word) XR←ImportInterface((word) "GGWindow", (word) XR←GetTypeIndexS((word) (&string69)), 12); (* (( (ptr) gf←c0465)+176)/* var←c51504 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 1572870); var←c52720 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string70)), 103); (* (( (ptr) gf←c0465)+162)/* var←c49072 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 799490); (void) XR←ImportProcS(var←c52720, 67388417); (void) XR←ImportProcS(var←c52720, 67640578); (void) XR←ImportProcS(var←c52720, 67641090); (void) XR←ImportProcS(var←c52720, 2111493); (void) XR←ImportProcS(var←c52720, 67378689); (void) XR←ImportProcS(var←c52720, 67648770); (void) XR←ImportProcS(var←c52720, 68958724); (void) XR←ImportProcS(var←c52720, 67910402); var←c52720 = (word) XR←ImportInterface((word) "MBQueue", (word) XR←GetTypeIndexS((word) (&string71)), 8); (* (( (ptr) gf←c0465)+160)/* var←c48976 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 76546825); (void) XR←ImportProcS(var←c52720, 67371265); var←c52720 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string72)), 22); (* (( (ptr) gf←c0465)+167)/* var←c49872 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 4864); var←c52720 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string73)), 16); (* (( (ptr) gf←c0465)+169)/* var←c50640 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 134742786); var←c52720 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string74)), 43); (* (( (ptr) gf←c0465)+163)/* var←c49200 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 67633666); (void) XR←ImportProcS(var←c52720, 67898627); (void) XR←ImportProcS(var←c52720, 67896323); var←c52720 = (word) XR←ImportInterface((word) "Rules", (word) XR←GetTypeIndexS((word) (&string75)), 3); (* (( (ptr) gf←c0465)+184)/* var←c52688 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 74973187); var←c52720 = (word) XR←ImportInterface((word) "SlackProcess", (word) XR←GetTypeIndexS((word) (&string76)), 26); (* (( (ptr) gf←c0465)+180)/* var←c52080 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 1573638); var←c52720 = (word) XR←ImportInterface((word) "TEditOps", (word) XR←GetTypeIndexS((word) (&string77)), 12); (* (( (ptr) gf←c0465)+181)/* var←c52240 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 67372033); (void) XR←ImportProcS(var←c52720, 525570); var←c52720 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string78)), 43); (* (( (ptr) gf←c0465)+177)/* var←c51536 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 532482); (void) XR←ImportProcS(var←c52720, 74973699); (void) XR←ImportProcS(var←c52720, 1049348); (void) XR←ImportProcS(var←c52720, 1051652); var←c52720 = (word) XR←ImportInterface((word) "ViewerSpecs", (word) XR←GetTypeIndexS((word) (&string79)), 24); (* (( (ptr) gf←c0465)+183)/* var←c52560 */ ) = var←c52720; var←c52720 = (word) XR←ImportInterface((word) "ViewerTools", (word) XR←GetTypeIndexS((word) (&string80)), 12); (* (( (ptr) gf←c0465)+182)/* var←c52496 */ ) = var←c52720; (void) XR←ImportProcS(var←c52720, 524802); (void) XR←ImportProcS(var←c52720, 788227); var←c52720 = (word) XR←ExportInterface((word) &string61, (word) XR←GetTypeIndexS((word) (&string62)), 20); (* (( (ptr) gf←c0465)+185)/* var←c52752 */ ) = var←c52720; (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+624)/* var←c48912 */ , 67633154, (word) "NewCurrent"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+528)/* var←c48528 */ , 134480129, (word) "GetCurrent"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+616)/* var←c48880 */ , 262657, (word) "PushCurrent"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+568)/* var←c48688 */ , 525058, (word) "NewCapture"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+608)/* var←c48848 */ , 263169, (word) "KillAdvanceCapture"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+584)/* var←c48752 */ , 263425, (word) "DoAdvanceCapture"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+480)/* var←c48336 */ , 787971, (word) "Note"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+472)/* var←c48304 */ , 526082, (word) "Undo"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+424)/* var←c48112 */ , 526338, (word) "UndoN"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+544)/* var←c48592 */ , 67373313, (word) "Create"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+536)/* var←c48560 */ , 526850, (word) "SetCurrent"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+504)/* var←c48432 */ , 527106, (word) "SetHistory"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+496)/* var←c48400 */ , 67374081, (word) "GetHistory"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+488)/* var←c48368 */ , 527618, (word) "Push"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+440)/* var←c48176 */ , 265729, (word) "Reset"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+464)/* var←c48272 */ , 265985, (word) "ResetHistory"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+432)/* var←c48144 */ , 67375105, (word) "Empty"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+408)/* var←c48048 */ , 67637506, (word) "BuildTool"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+416)/* var←c48080 */ , 528898, (word) "CapTool"); (void) XR←ExportProcS(var←c52720, (word) (( (bPt) gf←c0465)+320)/* var←c47696 */ , 267009, (word) "ClearTool"); var←c52720 = (word) XR←ExportInterface((word) "GGHistoryTypes", (word) XR←GetTypeIndexS((word) (&string81)), 2); (* (( (ptr) gf←c0465)+186)/* var←c52784 */ ) = var←c52720; (void) XR←ExportType((word) "Change", (word) XR←GetTypeIndexS((word) (&string82)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2) ); (void) XR←ExportType((word) "HistoryToolObj", (word) XR←GetTypeIndexS((word) (&string83)), (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4) ); } static void GGHistoryImpl←P0(formal←c0101, formal←c0100) word formal←c0101; word formal←c0100; { register ptr gf←c52816 = (ptr) &globalframe; /* GGHistoryImpl: */ SOURCE(355, 22814) /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ SOURCE(23175, 39) { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c52816)+160)/* var←c48976 */ ))+5) ); (* (( (ptr) gf←c52816)+14)/* queue←v5884 */ ) = (word) ( *( (fPt) ((* (ptr) pd84 ))))(1, pd84); }; } static word NewCurrent←P60(name←v6008, ggData←v6036) word name←v6008; word ggData←v6036; { register ptr gf←c52848 = (ptr) &globalframe; word var←c6080; /* NewCurrent: */ SOURCE(1739, 1261) SOURCE(1739, 1261) var←c6080 = 0; SOURCE(1881, 1119) if ((0 != (* (( (ptr) gf←c52848)+8)/* noHistory←v4428 */ ))) { SOURCE(1899, 12) return(var←c6080); } else { SOURCE(1911, 1094) { word count←v10268; word nameAndCount←v10296; word var←c49232; word var←c49264; SOURCE(1913, 69) { word pd85; word idx86; pd85 = (* (( (ptr) (* (( (ptr) gf←c52848)+161)/* var←c49008 */ ))+36) ); count←v10268 = ( idx86 = (word) ( *( (fPt) ((* (ptr) pd85 ))))((* (( (ptr) ggData←v6036)+11) ), 0, 0, 0, pd85), SGNCK(idx86) ); }; SOURCE(1984, 186) if (( (int)count←v10268 == (int)0)) { { W2 var←c49040; var←c49040.f0 = 11; var←c49040.f1 = name←v6008; { word pd87; pd87 = (* (( (ptr) (* (( (ptr) gf←c52848)+162)/* var←c49072 */ ))+63) ); nameAndCount←v10296 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((* (( (ptr) gf←c52848)+57) ), var←c49040, pd87); }; }; } else { { W2 var←c49104; W2 var←c49136; W2 var←c49168; var←c49104.f0 = 11; var←c49104.f1 = name←v6008; var←c49136.f0 = 5; var←c49136.f1 = count←v10268; var←c49168.f0 = 11; if (( (int)count←v10268 > (int)1)) { var←c49168.f1 = (* (( (ptr) gf←c52848)+49) ); } else { var←c49168.f1 = 0; }; { word pd88; pd88 = (* (( (ptr) (* (( (ptr) gf←c52848)+162)/* var←c49072 */ ))+62) ); nameAndCount←v10296 = (word) ( *( (fPt) ((* (ptr) pd88 ))))((* (( (ptr) gf←c52848)+50) ), var←c49104, var←c49136, var←c49168, pd88) ; }; }; }; SOURCE(2172, 828) if ((0 != (* (( (ptr) gf←c52848)+9)/* tempCapture←v4456 */ ))) { { word pd89; word pd92; word pd94; word pd95; pd89 = (* (( (ptr) (* (( (ptr) gf←c52848)+163)/* var←c49200 */ ))+8) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd89 ))))((* (( (ptr) gf←c52848)+43) ), name←v6008, 0, pd89))) { goto then090;}; { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf←c52848)+163)/* var←c49200 */ ))+17) ); var←c49232 = (word) ( *( (fPt) ((* (ptr) pd91 ))))(name←v6008, 0, 7, pd91); }; pd92 = (* (( (ptr) (* (( (ptr) gf←c52848)+163)/* var←c49200 */ ))+8) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd92 ))))((* (( (ptr) gf←c52848)+41) ), var←c49232, 0, pd92))) { goto then090;}; { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c52848)+163)/* var←c49200 */ ))+17) ); var←c49264 = (word) ( *( (fPt) ((* (ptr) pd93 ))))(name←v6008, 0, 4, pd93); }; pd94 = (* (( (ptr) (* (( (ptr) gf←c52848)+163)/* var←c49200 */ ))+8) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd94 ))))((* (( (ptr) gf←c52848)+40) ), var←c49264, 0, pd94))) { goto then090;}; pd95 = (* (( (ptr) (* (( (ptr) gf←c52848)+163)/* var←c49200 */ ))+8) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd95 ))))((* (( (ptr) gf←c52848)+39) ), name←v6008, 0, pd95))) { then090: ; SOURCE(2521, 26) (void) KillAdvanceCapture←P180(ggData←v6036); SOURCE(2620, 40) { word var←c49296; var←c49296 = (word) Create←P660(nameAndCount←v10296); (void) SetCurrent←P720(ggData←v6036, var←c49296); }; SOURCE(2662, 32) { word var←c0533; W2 var←c0114; (void) GetCurrent←P780((word) &var←c0114, ggData←v6036); var←c0533 = var←c0114.f0; return(var←c0533); }; } else { SOURCE(2712, 24) (void) NewCapture←P480(name←v6008, ggData←v6036); SOURCE(2802, 11) return(0); }; }; } else { SOURCE(2827, 26) (void) KillAdvanceCapture←P180(ggData←v6036); SOURCE(2926, 40) { word var←c49360; var←c49360 = (word) Create←P660(nameAndCount←v10296); (void) SetCurrent←P720(ggData←v6036, var←c49360); }; SOURCE(2968, 32) { word var←c0534; W2 var←c0116; (void) GetCurrent←P780((word) &var←c0116, ggData←v6036); var←c0534 = var←c0116.f0; return(var←c0534); }; }; }; }; } static void PushCurrent←P120(ggData←v6140) word ggData←v6140; { W9 var←c52880; register ptr gf←c52912 = (ptr) &globalframe; /* declaration of var←c49424 skipped */ /* declaration of var←c49456 skipped */ /* PushCurrent: */ SOURCE(3012, 1618) { word tmpAddr96; tmpAddr96 = (word) (( (ptr) &var←c52880)+4)/* var←c49424 */ ; (* (ptr) tmpAddr96 ) = ( ((word) (fPt) MarkSlices←P3012) ); (* (( (ptr) tmpAddr96) + 1) ) = 1; }; { word tmpAddr97; tmpAddr97 = (word) (( (ptr) &var←c52880)+6)/* var←c49456 */ ; (* (ptr) tmpAddr97 ) = ( ((word) (fPt) SetSliceIndex←P2904) ); (* (( (ptr) tmpAddr97) + 1) ) = 1; }; SOURCE(3100, 1530) if ((0 != (* (( (ptr) gf←c52912)+8)/* noHistory←v4428 */ ))) { SOURCE(3118, 12) return; } else { SOURCE(3130, 1530) { word event←v10340; W2 var←c0121; SOURCE(3132, 46) (void) GetCurrent←P780((word) &var←c0121, ggData←v6140); event←v10340 = var←c0121.f0; SOURCE(3180, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c52912)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(3209, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c52912)+260), 0, 0)); }; SOURCE(3227, 1403) if ((event←v10340 != 0)) { SOURCE(3245, 1412) { word oldTail←v10412 = 0; word tail←v10440 = 0; /* declaration of newIndex←v10468 skipped */ SOURCE(3429, 45) (* (( (ptr) &var←c52880)+8)/* newIndex←v10468 */ ) = ((* (( (ptr) ggData←v6140)+43) ) + 1); SOURCE(3502, 39) (void) WalkSlicesInEvent←P900(event←v10340, (word) (( (bPt) &var←c52880)+24)/* var←c49456 */ ); SOURCE(3689, 22) (* (( (ptr) event←v10340)+1) ) = (* (( (ptr) &var←c52880)+8)/* newIndex←v10468 */ ); SOURCE(3713, 32) { word var←c49520; var←c49520 = (word) GetHistory←P1020(ggData←v6140); (void) Push←P1080(event←v10340, var←c49520); }; SOURCE(3747, 38) (* (( (ptr) ggData←v6140)+43) ) = (* (( (ptr) &var←c52880)+8)/* newIndex←v10468 */ ); SOURCE(3829, 25) tail←v10440 = (word) GetHistory←P1020(ggData←v6140); SOURCE(3885, 100) { register word noName←c49552 = 0; register word noName←c49584; noName←c49584 = (* (( (ptr) ggData←v6140)+42) ); if (( (int)noName←c49552 >= (int)noName←c49584)) { goto lab←L100000; }; lab←L100003: ; SOURCE(3924, 61) if ((tail←v10440 == 0)) { SOURCE(3941, 10) goto lab←L100001; } else { SOURCE(3953, 14) oldTail←v10412 = tail←v10440; SOURCE(3969, 16) tail←v10440 = (* (( (ptr) tail←v10440)+1) ); }; noName←c49552 = (noName←c49552 + 1); if (( (int)noName←c49552 < (int)noName←c49584)) { goto lab←L100003; }; lab←L100000: ; lab←L100001: ; }; SOURCE(3999, 631) if ( ( (tail←v10440 != 0) ? ((* (ptr) tail←v10440 ) != 0) : 0 ) ) { SOURCE(4035, 619) { word sliceList←v10728 = 0; word ptr←v10756 = 0; SOURCE(4292, 45) { W2 var←c49648; { word pd98; pd98 = (* (( (ptr) (* (( (ptr) gf←c52912)+165)/* var←c49616 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd98 ))))((word) (&var←c49648), pd98); }; ptr←v10756 = var←c49648.f1; sliceList←v10728 = var←c49648.f0; }; SOURCE(4340, 56) { word var←c49680; word pd99; pd99 = (* (( (ptr) (* (( (ptr) gf←c52912)+161)/* var←c49008 */ ))+31) ); var←c49680 = (word) ( *( (fPt) ((* (ptr) pd99 ))))((* (( (ptr) ggData←v6140)+11) ), 0, (word) (( (bPt) &var←c52880)+16)/* var←c49424 */ , 0, pd99) ; }; SOURCE(4399, 129) { register word tailEvents←v10988; tailEvents←v10988 = tail←v10440; lab←L100007: ; if ((tailEvents←v10988 != 0)) { } else { goto lab←L100004; }; SOURCE(4484, 44) (void) ResetEvent←P1320((* (ptr) tailEvents←v10988 ), sliceList←v10728, ptr←v10756); tailEvents←v10988 = (* (( (ptr) tailEvents←v10988)+1) ); goto lab←L100007; lab←L100004: ; }; SOURCE(4539, 18) (* (( (ptr) oldTail←v10412)+1) ) = 0; SOURCE(4601, 29) (void) UnlinkListedSlices←P1380(sliceList←v10728); }; }; }; }; }; }; } static word SetSliceIndex←P2904(slice←v10544, formal←c52944) word slice←v10544; word formal←c52944; { word done←v10588; formal←c52944 = (formal←c52944 - 24); /* SetSliceIndex: */ SOURCE(3247, 21) SOURCE(3247, 21) done←v10588 = 0; SOURCE(3315, 27) (* (( (ptr) slice←v10544)+20) ) = (* (( (ptr) formal←c52944)+8) ); SOURCE(3247, 21) return(done←v10588); } static word MarkSlices←P3012(slice←v10832, formal←c53008) word slice←v10832; word formal←c53008; { W6 var←c52976; word done←v10876; /* declaration of var←c49712 skipped */ formal←c53008 = (formal←c53008 - 16); var←c52976.f0 = formal←c53008; /* MarkSlices: */ SOURCE(4062, 18) { word tmpAddr100; tmpAddr100 = (word) (( (ptr) &var←c52976)+4)/* var←c49712 */ ; (* (ptr) tmpAddr100 ) = ( ((word) (fPt) TopHistory←P3120) ); (* (( (ptr) tmpAddr100) + 1) ) = 1; }; SOURCE(4062, 18) done←v10876 = 0; SOURCE(4224, 32) (void) DescendASlice←P840(slice←v10832, (word) (( (bPt) &var←c52976)+16)/* var←c49712 */ ); SOURCE(4062, 18) return(done←v10876); } static word TopHistory←P3120(slice←v11192, formal←c53040) word slice←v11192; word formal←c53040; { word done←v11236; formal←c53040 = (formal←c53040 - 16); /* TopHistory: */ SOURCE(4127, 18) SOURCE(4127, 18) done←v11236 = 0; SOURCE(4192, 27) (* (( (ptr) slice←v11192)+20) ) = (* (( (ptr) (* (ptr) formal←c53040 ))+8) ); SOURCE(4127, 18) return(done←v11236); } static void KillAdvanceCapture←P180(formal←c0568) word formal←c0568; { W5 var←c53072; /* declaration of ggData←v6200 skipped */ register ptr gf←c53104 = (ptr) &globalframe; var←c53072.f4/* ggData←v6200 */ = formal←c0568; /* KillAdvanceCapture: */ SOURCE(4667, 116) (void) (XR←MonitorEntry((word) (( (bPt) gf←c53104)+16)/* LOCK←v3952 */ )); SOURCE(4726, 57) { word var←c0535; var←c0535 = (word) &var←c53072; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q4668) ), ( ((word) (fPt) NoName←Q5568) ), var←c0535); }; SOURCE(4667, 116) (void) (XR←MonitorExit((word) (( (bPt) gf←c53104)+16)/* LOCK←v3952 */ )); return; } static word NoName←Q4668(formal←c0473) word formal←c0473; { SOURCE(4749, 34) (void) KillAdvanceCaptureInternal←P240((* ((( (ptr) formal←c0473)+4)) )); return(0); } static void KillAdvanceCaptureInternal←P240(ggData←v6260) word ggData←v6260; { register ptr gf←c53136 = (ptr) &globalframe; word advanceProcess←v11264; word advanceEvent←v11292; /* KillAdvanceCaptureInternal: */ SOURCE(4789, 764) SOURCE(4852, 68) advanceProcess←v11264 = (* (( (ptr) ggData←v6260)+46) ); SOURCE(4922, 56) advanceEvent←v11292 = (* (( (ptr) ggData←v6260)+47) ); SOURCE(4980, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53136)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(5009, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53136)+260), 0, 0)); }; SOURCE(5027, 526) if (((* (( (ptr) ggData←v6260)+46) ) != 0)) { SOURCE(5071, 35) (* (( (ptr) ggData←v6260)+46) ) = 0; SOURCE(5108, 33) (* (( (ptr) ggData←v6260)+47) ) = 0; SOURCE(5143, 86) { word pd101; pd101 = (* (( (ptr) (* (( (ptr) gf←c53136)+166)/* var←c49744 */ ))+8) ); if (((word) ( *( (fPt) ((* (ptr) pd101 ))))(advanceProcess←v11264, pd101) == 3)) { SOURCE(5195, 34) { word pd102; pd102 = (* (( (ptr) (* (( (ptr) gf←c53136)+166)/* var←c49744 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd102 ))))(advanceProcess←v11264, pd102); }; }; }; SOURCE(5231, 59) { W2 var←c49776; { word pd103; pd103 = (* (( (ptr) (* (( (ptr) gf←c53136)+166)/* var←c49744 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd103 ))))((word) &var←c49776, advanceProcess←v11264, 1, pd103); }; }; SOURCE(5292, 97) { word tc104; word pd105; if ((advanceEvent←v11292 != 0)) { pd105 = (* (( (ptr) (* (( (ptr) gf←c53136)+163)/* var←c49200 */ ))+8) ); tc104 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd105 ))))((* (ptr) advanceEvent←v11292 ), (* (( (ptr) gf←c53136)+38) ), 0, pd105)); } else { tc104 = (word) 0; }; if (tc104) { SOURCE(5373, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53136)+264), 0, 0)); }; }; SOURCE(5410, 143) if ((advanceEvent←v11292 != 0)) { SOURCE(5435, 118) { word var←c49840; { W3 var←c49808; var←c49808.f0 = (* (( (ptr) gf←c53136)+13)/* tryPriority←v4708 */ ); var←c49808.f1 = 1; var←c49808.f2 = 0; { word pd106; pd106 = (* (( (ptr) (* (( (ptr) gf←c53136)+166)/* var←c49744 */ ))+7) ); var←c49840 = (word) ( *( (fPt) ((* (ptr) pd106 ))))((word) (( (bPt) gf←c53136)+592)/* var←c48784 */ , advanceEvent←v11292, var←c49808, pd106) ; }; }; }; }; }; } static word DiscardAction←P300(data←v19920) word data←v19920; { register ptr gf←c53168 = (ptr) &globalframe; word results←v19964; word advanceEvent←v11336; /* DiscardAction: */ SOURCE(5717, 341) SOURCE(5717, 341) results←v19964 = 0; SOURCE(5762, 41) advanceEvent←v11336 = XR←Narrow(data←v19920, (* (( (ptr) gf←c53168)+28) )); SOURCE(5805, 97) { word tc107; word pd108; if ((advanceEvent←v11336 != 0)) { pd108 = (* (( (ptr) (* (( (ptr) gf←c53168)+163)/* var←c49200 */ ))+8) ); tc107 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd108 ))))((* (ptr) advanceEvent←v11336 ), (* (( (ptr) gf←c53168)+38) ), 0, pd108)); } else { tc107 = (word) 0; }; if (tc107) { SOURCE(5886, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53168)+264), 0, 0)); }; }; SOURCE(5923, 135) if ((advanceEvent←v11336 != 0)) { SOURCE(5950, 46) { word pd109; pd109 = (* (( (ptr) (* (( (ptr) gf←c53168)+166)/* var←c49744 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd109 ))))(1, pd109); }; SOURCE(5998, 15) { word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf←c53168)+167)/* var←c49872 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd110 ))))(pd110); }; SOURCE(6015, 43) { word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf←c53168)+165)/* var←c49616 */ ))+31) ); (void) ( *( (fPt) ((* (ptr) pd111 ))))(advanceEvent←v11336, pd111); }; }; SOURCE(5717, 341) return(results←v19964); } static void DoAdvanceCapture←P360(formal←c0569) word formal←c0569; { W5 var←c53200; /* declaration of ggData←v6320 skipped */ register ptr gf←c53232 = (ptr) &globalframe; var←c53200.f4/* ggData←v6320 */ = formal←c0569; /* DoAdvanceCapture: */ SOURCE(6112, 459) (void) (XR←MonitorEntry((word) (( (bPt) gf←c53232)+16)/* LOCK←v3952 */ )); SOURCE(6169, 402) { word var←c01; { word var←c0536; var←c0536 = (word) &var←c53200; var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q4728) ), ( ((word) (fPt) NoName←Q5508) ), var←c0536); }; if ((var←c01 == 1)) { goto lab←L03; }; }; SOURCE(6112, 459) (void) (XR←MonitorExit((word) (( (bPt) gf←c53232)+16)/* LOCK←v3952 */ )); return; lab←L03: ; return; } static word NoName←Q4728(formal←c0478) word formal←c0478; { register ptr gf←c0477 = (ptr) &globalframe; SOURCE(6192, 379) if ((0 != (* (( (ptr) gf←c0477)+8)/* noHistory←v4428 */ ))) { SOURCE(6210, 12) (void) (XR←MonitorExit((word) (( (bPt) gf←c0477)+16)/* LOCK←v3952 */ )); return(1); } else { SOURCE(6224, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c0477)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(6253, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c0477)+260), 0, 0)); }; SOURCE(6271, 76) if (((* (( (ptr) (* (( (ptr) formal←c0478)+4) ))+46) ) != 0)) { SOURCE(6313, 34) (void) KillAdvanceCaptureInternal←P240((* ((( (ptr) formal←c0478)+4)) )); }; SOURCE(6382, 47) (* (( (ptr) (* (( (ptr) formal←c0478)+4) ))+47) ) = (word) Create←P660((* ((( (ptr) gf←c0477)+38)) )); SOURCE(6431, 140) { W3 var←c49904; var←c49904.f0 = (* (( (ptr) gf←c0477)+13)/* tryPriority←v4708 */ ); var←c49904.f1 = 1; var←c49904.f2 = 0; { word pd112; pd112 = (* (( (ptr) (* (( (ptr) gf←c0477)+166)/* var←c49744 */ ))+7) ); (* (( (ptr) (* (( (ptr) formal←c0478)+4) ))+46) ) = (word) ( *( (fPt) ((* (ptr) pd112 ))))((word) (( (bPt) gf←c0477)+576) /* var←c48720 */ , (* (( (ptr) formal←c0478)+4) ), var←c49904, pd112); }; }; }; return(0); } static word CaptureAction←P420(data←v20056) word data←v20056; { register ptr gf←c53264 = (ptr) &globalframe; word results←v20100; word ggData←v11380; /* CaptureAction: */ SOURCE(6723, 239) SOURCE(6723, 239) results←v20100 = 0; SOURCE(6768, 29) ggData←v11380 = XR←Narrow(data←v20056, (* (( (ptr) gf←c53264)+29) )); SOURCE(6799, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53264)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(6828, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53264)+260), 0, 0)); }; SOURCE(6846, 46) { word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf←c53264)+166)/* var←c49744 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd113 ))))(1, pd113); }; SOURCE(6894, 15) { word pd114; pd114 = (* (( (ptr) (* (( (ptr) gf←c53264)+167)/* var←c49872 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd114 ))))(pd114); }; SOURCE(6911, 51) (void) Capture←P540(ggData←v11380, (* (( (ptr) ggData←v11380)+47) ), 0); SOURCE(6723, 239) return(results←v20100); } static void NewCapture←P480(formal←c0570, formal←c0571) word formal←c0570; word formal←c0571; { W6 var←c53296; /* declaration of name←v6380 skipped */ /* declaration of ggData←v6408 skipped */ register ptr gf←c53328 = (ptr) &globalframe; var←c53296.f4/* name←v6380 */ = formal←c0570; var←c53296.f5/* ggData←v6408 */ = formal←c0571; /* NewCapture: */ SOURCE(6968, 1146) (void) (XR←MonitorEntry((word) (( (bPt) gf←c53328)+16)/* LOCK←v3952 */ )); SOURCE(7036, 1078) { word var←c02; { word var←c0537; var←c0537 = (word) &var←c53296; var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q4788) ), ( ((word) (fPt) NoName←Q5448) ), var←c0537); }; if ((var←c02 == 1)) { goto lab←L05; }; }; SOURCE(6968, 1146) (void) (XR←MonitorExit((word) (( (bPt) gf←c53328)+16)/* LOCK←v3952 */ )); return; lab←L05: ; return; } static word NoName←Q4788(formal←c0482) word formal←c0482; { register ptr gf←c0481 = (ptr) &globalframe; SOURCE(7059, 1055) if ((0 != (* (( (ptr) gf←c0481)+8)/* noHistory←v4428 */ ))) { SOURCE(7077, 12) (void) (XR←MonitorExit((word) (( (bPt) gf←c0481)+16)/* LOCK←v3952 */ )); return(1); } else { SOURCE(7089, 1030) { word count←v11424; word nameAndCount←v11452; SOURCE(7091, 69) { word pd115; word idx116; pd115 = (* (( (ptr) (* (( (ptr) gf←c0481)+161)/* var←c49008 */ ))+36) ); count←v11424 = ( idx116 = (word) ( *( (fPt) ((* (ptr) pd115 ))))((* (( (ptr) (* (( (ptr) formal←c0482)+5) ))+11) ), 0, 0, 0, pd115), SGNCK(idx116) ); }; SOURCE(7162, 186) if (( (int)count←v11424 == (int)0)) { { W2 var←c49936; var←c49936.f0 = 11; var←c49936.f1 = (* (( (ptr) formal←c0482)+4) ); { word pd117; pd117 = (* (( (ptr) (* (( (ptr) gf←c0481)+162)/* var←c49072 */ ))+63) ); nameAndCount←v11452 = (word) ( *( (fPt) ((* (ptr) pd117 ))))((* (( (ptr) gf←c0481)+57) ), var←c49936, pd117); }; }; } else { { W2 var←c49968; W2 var←c50000; W2 var←c50032; var←c49968.f0 = 11; var←c49968.f1 = (* (( (ptr) formal←c0482)+4) ); var←c50000.f0 = 5; var←c50000.f1 = count←v11424; var←c50032.f0 = 11; if (( (int)count←v11424 > (int)1)) { var←c50032.f1 = (* (( (ptr) gf←c0481)+49) ); } else { var←c50032.f1 = 0; }; { word pd118; pd118 = (* (( (ptr) (* (( (ptr) gf←c0481)+162)/* var←c49072 */ ))+62) ); nameAndCount←v11452 = (word) ( *( (fPt) ((* (ptr) pd118 ))))((* (( (ptr) gf←c0481)+50) ), var←c49968, var←c50000, var←c50032, pd118) ; }; }; }; SOURCE(7350, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c0481)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(7379, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c0481)+260), 0, 0)); }; SOURCE(7397, 717) if (((* (( (ptr) (* (( (ptr) formal←c0482)+5) ))+46) ) != 0)) { SOURCE(7439, 561) { word advanceStatus←v11496; W2 var←c0166; SOURCE(7441, 114) { word pd119; pd119 = (* (( (ptr) (* (( (ptr) gf←c0481)+166)/* var←c49744 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd119 ))))((word) &var←c0166, (* (( (ptr) (* (( (ptr) formal←c0482)+5) ))+46) ), 1, pd119); }; advanceStatus←v11496 = var←c0166.f0; SOURCE(7557, 348) { word var←c50064; var←c50064 = advanceStatus←v11496; if ((var←c50064 == 0)) { SOURCE(7593, 47) (* (ptr) (* (( (ptr) (* (( (ptr) formal←c0482)+5) ))+47) ) ) = nameAndCount←v11452; SOURCE(7642, 47) (void) SetCurrent←P720((* (( (ptr) formal←c0482)+5) ), (* (( (ptr) (* (( (ptr) formal←c0482)+5) ))+47) )); } else { if ((var←c50064 == 1)) { SOURCE(7815, 40) { word var←c50096; var←c50096 = (word) Create←P660(nameAndCount←v11452); (void) SetCurrent←P720((* (( (ptr) formal←c0482)+5) ), var←c50096); }; SOURCE(7857, 48) { word var←c50128; W2 var←c0170; (void) GetCurrent←P780((word) &var←c0170, (* (( (ptr) formal←c0482)+5) )); var←c50128 = var←c0170.f0; (void) Capture←P540((* (( (ptr) formal←c0482)+5) ), var←c50128, 0); }; } else { SOURCE(7921, 5) (void) XR←RaiseUnnamedError(); }; }; }; SOURCE(7928, 35) (* (( (ptr) (* (( (ptr) formal←c0482)+5) ))+46) ) = 0; SOURCE(7965, 33) (* (( (ptr) (* (( (ptr) formal←c0482)+5) ))+47) ) = 0; }; } else { SOURCE(8024, 40) { word var←c50160; var←c50160 = (word) Create←P660(nameAndCount←v11452); (void) SetCurrent←P720((* (( (ptr) formal←c0482)+5) ), var←c50160); }; SOURCE(8066, 48) { word var←c50192; W2 var←c0173; (void) GetCurrent←P780((word) &var←c0173, (* (( (ptr) formal←c0482)+5) )); var←c50192 = var←c0173.f0; (void) Capture←P540((* (( (ptr) formal←c0482)+5) ), var←c50192, 0); }; }; }; }; return(0); } static void Capture←P540(ggData←v6468, currentEvent←v6496, copyAll←v6524) word ggData←v6468; word currentEvent←v6496; word copyAll←v6524; { register ptr gf←c53360 = (ptr) &globalframe; /* Capture: */ SOURCE(8126, 396) SOURCE(8212, 310) if ((currentEvent←v6496 != 0)) { SOURCE(8237, 287) { word captureRef←v11540 = 0; word virginList←v11568 = 0; word virginMap←v11596 = 0; SOURCE(8321, 73) { W2 var←c50224; { word pd120; pd120 = (* (( (ptr) (* (( (ptr) gf←c53360)+165)/* var←c49616 */ ))+29) ); (void) ( *( (fPt) ((* (ptr) pd120 ))))((word) &var←c50224, (* (( (ptr) ggData←v6468)+11) ), copyAll←v6524, pd120); }; virginMap←v11596 = var←c50224.f1; virginList←v11568 = var←c50224.f0; }; SOURCE(8396, 83) { word var←c50256; var←c50256 = XR←NewObject(16, (* (( (ptr) gf←c53360)+15) )); (* (ptr) var←c50256 ) = 2; (* (( (ptr) var←c50256)+1) ) = (* (( (ptr) ggData←v6468)+11) ); (* (( (ptr) var←c50256)+2) ) = virginList←v11568; (* (( (ptr) var←c50256)+3) ) = virginMap←v11596; captureRef←v11540 = var←c50256; }; SOURCE(8481, 41) (void) Note←P1140(currentEvent←v6496, (word) (( (bPt) gf←c53360)+552)/* var←c48624 */ , captureRef←v11540); }; }; } static void Uncapture←P600(historyData←v6584, currentEvent←v6612) word historyData←v6584; word currentEvent←v6612; { register ptr gf←c53392 = (ptr) &globalframe; /* Uncapture: */ SOURCE(8531, 268) SOURCE(8605, 194) if ((0 != (* (( (ptr) gf←c53392)+8)/* noHistory←v4428 */ ))) { SOURCE(8623, 12) return; } else { SOURCE(8635, 166) { word captureData←v11736 = 0; SOURCE(8670, 34) if ((historyData←v6584 == 0)) { goto lab←L100014; }; if (((* (ptr) historyData←v6584 ) == 2)) { goto lab←L100014; }; (void) XR←RaiseError(XR←NarrowFault, 0); lab←L100014: ; captureData←v11736 = historyData←v6584; SOURCE(8706, 93) { word pd121; pd121 = (* (( (ptr) (* (( (ptr) gf←c53392)+165)/* var←c49616 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd121 ))))((* (( (ptr) captureData←v11736)+1) ), (* (( (ptr) captureData←v11736)+2) ), (* (( (ptr) captureData←v11736)+3) ), pd121); }; }; }; } static word Create←P660(name←v6684) word name←v6684; { register ptr gf←c53424 = (ptr) &globalframe; word var←c6728; /* Create: */ SOURCE(8808, 146) SOURCE(8873, 81) if ((0 != (* (( (ptr) gf←c53424)+8)/* noHistory←v4428 */ ))) { return(0); } else { { word var←c50320; word var←c50416; var←c50320 = XR←NewObject(8, (* (( (ptr) gf←c53424)+31) )); { word var←c50384; var←c50384 = var←c50320; }; var←c50416 = XR←NewObject(12, (* (( (ptr) gf←c53424)+28) )); (* (ptr) var←c50416 ) = name←v6684; (* (( (ptr) var←c50416)+1) ) = (word) -1; (* (( (ptr) var←c50416)+2) ) = var←c50320; return(var←c50416); }; }; } static void SetCurrent←P720(ggData←v6788, event←v6816) word ggData←v6788; word event←v6816; { register ptr gf←c53456 = (ptr) &globalframe; /* SetCurrent: */ SOURCE(8960, 179) SOURCE(9057, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53456)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(9086, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53456)+260), 0, 0)); }; SOURCE(9104, 35) (* (( (ptr) ggData←v6788)+44) ) = event←v6816; } static void GetCurrent←P780(formal←c0198, ggData←v6876) word formal←c0198; word ggData←v6876; { word event←v6920; word index←v6948; /* GetCurrent: */ SOURCE(9145, 151) SOURCE(9145, 151) event←v6920 = 0; SOURCE(9232, 64) event←v6920 = (* (( (ptr) ggData←v6876)+44) ); index←v6948 = (* (( (ptr) ggData←v6876)+43) ); /* removed tail goto */ (* (ptr) formal←c0198 ) = event←v6920; (* (( (ptr) formal←c0198)+1) ) = index←v6948; return; } static void DescendASlice←P840(slice←v7008, walkProc←v7036) word slice←v7008; word walkProc←v7036; { register ptr gf←c53488 = (ptr) &globalframe; /* DescendASlice: */ SOURCE(9302, 134) SOURCE(9366, 20) { word var←c50512; var←c50512 = (word) ( *( (fPt) ((* (ptr) walkProc←v7036 ))))(slice←v7008, walkProc←v7036); }; SOURCE(9388, 48) { word var←c50576; word pd122; pd122 = (* (( (ptr) (* (( (ptr) gf←c53488)+168)/* var←c50544 */ ))+73) ); var←c50576 = (word) ( *( (fPt) ((* (ptr) pd122 ))))(slice←v7008, 2, walkProc←v7036, 0, pd122); }; } static void WalkSlicesInEvent←P900(event←v7096, walkProc←v7124) word event←v7096; word walkProc←v7124; { register ptr gf←c53520 = (ptr) &globalframe; /* WalkSlicesInEvent: */ SOURCE(9442, 928) SOURCE(9517, 853) if ((event←v7096 != 0)) { SOURCE(9535, 835) { register word subevents←v11792; subevents←v11792 = (* (( (ptr) event←v7096)+2) ); lab←L100019: ; if ((subevents←v11792 != 0)) { } else { goto lab←L100016; }; SOURCE(9624, 746) if (((* (ptr) subevents←v11792 ) != 0)) { SOURCE(9652, 785) { word subevent←v11920; word historyData←v11948; SOURCE(9654, 36) subevent←v11920 = (* (ptr) subevents←v11792 ); SOURCE(9692, 46) historyData←v11948 = (* (( (ptr) subevent←v11920)+1) ); SOURCE(9740, 630) { word var←c50608; var←c50608 = historyData←v11948; if ((var←c50608 == 0)) { goto lab←L100020; }; { word var←c50704; var←c50704 = (* (ptr) var←c50608 ); switch (var←c50704) { case 2: { /*1*/ word captureRef←v12004; /*1*/ captureRef←v12004 = var←c50608; SOURCE(9805, 436) /*1*/ { /*1*/ register word capturedSlices←v12060; /*1*/ capturedSlices←v12060 = (* (( (ptr) captureRef←v12004)+2) ); /*1*/ lab←L100024: ; /*1*/ if ((capturedSlices←v12060 != 0)) { /*1*/ } /*1*/ else { /*1*/ goto lab←L100021; /*1*/ }; /*1*/ { /*1*/ word found←v12188 = 0; /*1*/ word nextVal←v12216 = 0; /*1*/ word nextSlice←v12244; SOURCE(9947, 39) /*1*/ nextSlice←v12244 = (* (ptr) capturedSlices←v12060 ); SOURCE(9988, 64) /*1*/ { /*1*/ W2 var←c50672; /*1*/ { /*1*/ word pd123; /*1*/ pd123 = (* (( (ptr) (* (( (ptr) gf←c53520)+169)/* var←c50640 */ ))+7) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd123 ))))((word) &var←c50672, (* (( (ptr) captureRef←v12004)+3) ), nextSlice←v12244, pd123) /*1*/ ; /*1*/ }; /*1*/ nextVal←v12216 = var←c50672.f1; /*1*/ found←v12188 = var←c50672.f0; /*1*/ }; SOURCE(10054, 62) /*1*/ if (((* (ptr) nextSlice←v12244 ) != 0)) { SOURCE(10082, 34) /*1*/ (void) DescendASlice←P840(nextSlice←v12244, walkProc←v7124); /*1*/ }; SOURCE(10118, 123) /*1*/ if ((0 != found←v12188)) { SOURCE(10132, 111) /*1*/ { /*1*/ word nextOriginal←v12300; SOURCE(10134, 37) /*1*/ nextOriginal←v12300 = XR←Narrow(nextVal←v12216, (* (( (ptr) gf←c53520)+32) )); SOURCE(10173, 68) /*1*/ if (((* (ptr) nextOriginal←v12300 ) != 0)) { SOURCE(10204, 37) /*1*/ (void) DescendASlice←P840(nextOriginal←v12300, walkProc←v7124); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ capturedSlices←v12060 = (* (( (ptr) capturedSlices←v12060)+1) ); /*1*/ goto lab←L100024; /*1*/ lab←L100021: ; /*1*/ }; /*1*/ }; break; case 0: { /*1*/ word propsRef←v12344; /*1*/ propsRef←v12344 = var←c50608; SOURCE(10298, 72) /*1*/ if (((* (ptr) (* (( (ptr) propsRef←v12344)+2) ) ) != 0)) { SOURCE(10331, 39) /*1*/ (void) DescendASlice←P840((* (( (ptr) propsRef←v12344)+2) ), walkProc←v7124); /*1*/ }; /*1*/ }; break; case 1: { /*1*/ word stateRef←v12400; /*1*/ stateRef←v12400 = var←c50608; /*1*/ }; break; default: lab←L100020: ; SOURCE(10430, 5) (void) XR←RaiseUnnamedError(); break; }; }; }; }; }; subevents←v11792 = (* (( (ptr) subevents←v11792)+1) ); goto lab←L100019; lab←L100016: ; }; }; } static void SetHistory←P960(ggData←v7184, list←v7212) word ggData←v7184; word list←v7212; { register ptr gf←c53552 = (ptr) &globalframe; /* SetHistory: */ SOURCE(10453, 146) SOURCE(10526, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53552)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(10555, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53552)+260), 0, 0)); }; SOURCE(10573, 26) (* (( (ptr) ggData←v7184)+41) ) = list←v7212; } static word GetHistory←P1020(ggData←v7356) word ggData←v7356; { word var←c7400; /* GetHistory: */ SOURCE(10605, 103) SOURCE(10681, 27) return((* (( (ptr) ggData←v7356)+41) )); } static void Push←P1080(event←v7544, list←v7572) word event←v7544; word list←v7572; { register ptr gf←c53584 = (ptr) &globalframe; /* Push: */ SOURCE(10714, 397) SOURCE(10786, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53584)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(10815, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53584)+260), 0, 0)); }; SOURCE(10833, 278) if ( ( (event←v7544 != 0) ? ((* (( (ptr) event←v7544)+2) ) != 0) : 0 ) ) { SOURCE(10875, 238) { word tempEvent←v12456 = 0; word newList←v12484; word temp←v12512; SOURCE(10902, 9) newList←v12484 = XR←NewObject(8, (* (( (ptr) gf←c53584)+33) )); { word var←c50768; var←c50768 = newList←v12484; (* (ptr) var←c50768 ) = event←v7544; }; SOURCE(10947, 6) temp←v12512 = (* (( (ptr) list←v7572)+1) ); SOURCE(10987, 19) (* (( (ptr) list←v7572)+1) ) = newList←v12484; SOURCE(11008, 19) (* (( (ptr) newList←v12484)+1) ) = temp←v12512; SOURCE(11030, 22) tempEvent←v12456 = (* (ptr) list←v7572 ); SOURCE(11054, 28) (* (ptr) list←v7572 ) = (* (ptr) (* (( (ptr) list←v7572)+1) ) ); SOURCE(11084, 27) (* (ptr) (* (( (ptr) list←v7572)+1) ) ) = tempEvent←v12456; }; }; } static void Note←P1140(event←v7716, historyProc←v7744, historyData←v7772) word event←v7716; word historyProc←v7744; word historyData←v7772; { register ptr gf←c53616 = (ptr) &globalframe; /* Note: */ SOURCE(11120, 399) SOURCE(11215, 26) if ((event←v7716 == 0)) { SOURCE(11235, 6) return; }; SOURCE(11243, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53616)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(11272, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53616)+260), 0, 0)); }; SOURCE(11290, 141) if ( ( ( ( (0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53616)+164)/* var←c49488 */ ))+4) ) )) ? ((* (( (ptr) event←v7716)+2) ) != 0) : 0 ) ? ((* (ptr) (* (( (ptr) event←v7716)+2) ) ) != 0) : 0 ) ? ((* (ptr) (* (( (ptr) (* (ptr) (* (( (ptr) event←v7716)+2) ) ))+1) ) ) == 2) : 0 ) ) { SOURCE(11425, 6) return; }; SOURCE(11433, 86) { word var←c50800; word var←c50864; { word var←c50832; var←c50832 = XR←NewObject(8, (* (( (ptr) gf←c53616)+34) )); (* (ptr) var←c50832 ) = XR←CheckProc(historyProc←v7744); (* (( (ptr) var←c50832)+1) ) = historyData←v7772; var←c50800 = var←c50832; }; var←c50864 = XR←NewObject(8, (* (( (ptr) gf←c53616)+31) )); (* (ptr) var←c50864 ) = var←c50800; (* (( (ptr) var←c50864)+1) ) = (* (( (ptr) event←v7716)+2) ); (* (( (ptr) event←v7716)+2) ) = var←c50864; }; } static void Undo←P1200(historyEvent←v7844, currentEvent←v7872) word historyEvent←v7844; word currentEvent←v7872; { register ptr gf←c53648 = (ptr) &globalframe; /* Undo: */ SOURCE(11525, 346) SOURCE(11604, 31) if ((historyEvent←v7844 == 0)) { SOURCE(11629, 6) return; }; SOURCE(11637, 45) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c53648)+164)/* var←c49488 */ ))+5) ) ))) { SOURCE(11666, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c53648)+260), 0, 0)); }; SOURCE(11684, 187) { register word nextSubs←v12724; nextSubs←v12724 = (* (( (ptr) historyEvent←v7844)+2) ); lab←L100028: ; if ((nextSubs←v12724 != 0)) { } else { goto lab←L100025; }; { word sub←v12852; SOURCE(11777, 30) sub←v12852 = (* (ptr) nextSubs←v12724 ); SOURCE(11809, 62) if ((sub←v12852 != 0)) { SOURCE(11825, 46) { word pd124; pd124 = (* (ptr) sub←v12852 ); (void) ( *( (fPt) ((* (ptr) pd124 ))))((* (( (ptr) sub←v12852)+1) ), currentEvent←v7872, pd124); }; }; }; nextSubs←v12724 = (* (( (ptr) nextSubs←v12724)+1) ); goto lab←L100028; lab←L100025: ; }; } static void ResetHistory←P1260(formal←c0572) word formal←c0572; { W5 var←c53680; /* declaration of ggData←v7932 skipped */ register ptr gf←c53712 = (ptr) &globalframe; var←c53680.f4/* ggData←v7932 */ = formal←c0572; /* ResetHistory: */ SOURCE(11886, 550) (void) (XR←MonitorEntry((word) (( (bPt) gf←c53712)+16)/* LOCK←v3952 */ )); SOURCE(11939, 497) { word var←c0538; var←c0538 = (word) &var←c53680; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q4848) ), ( ((word) (fPt) NoName←Q5388) ), var←c0538); }; SOURCE(11886, 550) (void) (XR←MonitorExit((word) (( (bPt) gf←c53712)+16)/* LOCK←v3952 */ )); return; } static word NoName←Q4848(formal←c0495) word formal←c0495; { register ptr gf←c0494 = (ptr) &globalframe; SOURCE(11962, 16) { word sliceList←v12896 = 0; word ptr←v12924 = 0; SOURCE(11993, 45) { W2 var←c50896; { word pd125; pd125 = (* (( (ptr) (* (( (ptr) gf←c0494)+165)/* var←c49616 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd125 ))))((word) (&var←c50896), pd125); }; ptr←v12924 = var←c50896.f1; sliceList←v12896 = var←c50896.f0; }; SOURCE(12040, 34) (void) KillAdvanceCaptureInternal←P240((* ((( (ptr) formal←c0495)+4)) )); SOURCE(12076, 168) { register word historyEventList←v13052; historyEventList←v13052 = (* (( (ptr) (* (( (ptr) formal←c0495)+4) ))+41) ); lab←L100034: ; if ((historyEventList←v13052 != 0)) { } else { goto lab←L100031; }; SOURCE(12194, 50) (void) ResetEvent←P1320((* (ptr) historyEventList←v13052 ), sliceList←v12896, ptr←v12924); historyEventList←v13052 = (* (( (ptr) historyEventList←v13052)+1) ); goto lab←L100034; lab←L100031: ; }; SOURCE(12255, 29) (void) UnlinkListedSlices←P1380(sliceList←v12896); SOURCE(12308, 31) (* (( (ptr) (* (( (ptr) formal←c0495)+4) ))+41) ) = XR←NewObject(8, (* (( (ptr) gf←c0494)+33) )); { word var←c50960; var←c50960 = (* (( (ptr) (* (( (ptr) formal←c0495)+4) ))+41) ); }; SOURCE(12341, 31) (* (( (ptr) (* (( (ptr) formal←c0495)+4) ))+43) ) = 0; SOURCE(12374, 33) (* (( (ptr) (* (( (ptr) formal←c0495)+4) ))+44) ) = 0; SOURCE(12409, 27) { word pd126; pd126 = (* (( (ptr) (* (( (ptr) gf←c0494)+170)/* var←c50992 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd126 ))))((* ((( (ptr) formal←c0495)+4)) ), pd126); }; }; return(0); } static void ResetEvent←P1320(event←v7992, formal←c0573, formal←c0574) word event←v7992; word formal←c0573; word formal←c0574; { W9 var←c53744; /* declaration of sliceList←v8020 skipped */ /* declaration of ptr←v8048 skipped */ /* declaration of var←c51024 skipped */ (* (( (ptr) &var←c53744)+4)/* sliceList←v8020 */ ) = formal←c0573; (* (( (ptr) &var←c53744)+5)/* ptr←v8048 */ ) = formal←c0574; /* ResetEvent: */ SOURCE(12442, 552) { word tmpAddr127; tmpAddr127 = (word) (( (ptr) &var←c53744)+6)/* var←c51024 */ ; (* (ptr) tmpAddr127 ) = ( ((word) (fPt) AddSliceToUnlink←P4044) ); (* (( (ptr) tmpAddr127) + 1) ) = 1; }; SOURCE(12517, 477) if ((event←v7992 != 0)) { SOURCE(12535, 461) { /* declaration of index←v13208 skipped */ SOURCE(12726, 24) (* (( (ptr) &var←c53744)+8)/* index←v13208 */ ) = (* (( (ptr) event←v7992)+1) ); SOURCE(12752, 42) (void) WalkSlicesInEvent←P900(event←v7992, (word) (( (bPt) &var←c53744)+24)/* var←c51024 */ ); SOURCE(12797, 165) { register word subeventList←v13356; subeventList←v13356 = (* (( (ptr) event←v7992)+2) ); lab←L100038: ; if ((subeventList←v13356 != 0)) { } else { goto lab←L100035; }; SOURCE(12895, 67) if (((* (ptr) subeventList←v13356 ) != 0)) { SOURCE(12926, 36) (* (( (ptr) (* (ptr) subeventList←v13356 ))+1) ) = 0; }; subeventList←v13356 = (* (( (ptr) subeventList←v13356)+1) ); goto lab←L100038; lab←L100035: ; }; SOURCE(12973, 21) (* (( (ptr) event←v7992)+2) ) = 0; }; }; } static word AddSliceToUnlink←P4044(slice←v13284, formal←c53808) word slice←v13284; word formal←c53808; { register ptr gf←c53776 = (ptr) &globalframe; word done←v13328; formal←c53808 = (formal←c53808 - 24); /* AddSliceToUnlink: */ SOURCE(12537, 24) SOURCE(12537, 24) done←v13328 = 0; SOURCE(12608, 112) if ( ( ((* (ptr) slice←v13284 ) != 0) ? ( (int)(* (( (ptr) slice←v13284)+20) ) <= (int)(* (( (ptr) formal←c53808)+8) )) : 0 ) ) { SOURCE(12660, 60) { W2 var←c51056; { word pd128; pd128 = (* (( (ptr) (* (( (ptr) gf←c53776)+165)/* var←c49616 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd128 ))))((word) &var←c51056, slice←v13284, (* (( (ptr) formal←c53808)+4) ), (* (( (ptr) formal←c53808)+5) ), pd128); }; (* (( (ptr) formal←c53808)+5) ) = var←c51056.f1; (* (( (ptr) formal←c53808)+4) ) = var←c51056.f0; }; }; SOURCE(12537, 24) return(done←v13328); } static void UnlinkListedSlices←P1380(sliceList←v8192) word sliceList←v8192; { register ptr gf←c53840 = (ptr) &globalframe; /* UnlinkListedSlices: */ SOURCE(13003, 177) SOURCE(13059, 121) if ((0 != (* (( (ptr) gf←c53840)+11)/* doUnlink←v4512 */ ))) { SOURCE(13076, 104) { register word slices←v13484; slices←v13484 = sliceList←v8192; lab←L100042: ; if ((slices←v13484 != 0)) { } else { goto lab←L100039; }; SOURCE(13147, 33) { word pd129; pd129 = (* (( (ptr) (* (( (ptr) gf←c53840)+171)/* var←c51088 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd129 ))))((* (ptr) (slices←v13484) ), pd129); }; slices←v13484 = (* (( (ptr) slices←v13484)+1) ); goto lab←L100042; lab←L100039: ; }; }; } static void Reset←P1440(event←v8336) word event←v8336; { /* Reset: */ SOURCE(13253, 104) SOURCE(13298, 59) if ((event←v8336 != 0)) { SOURCE(13318, 21) (* (( (ptr) event←v8336)+2) ) = 0; SOURCE(13341, 16) (* (ptr) event←v8336 ) = 0; }; } static word Empty←P1500(event←v8396) word event←v8396; { word var←c8440; /* Empty: */ SOURCE(13366, 102) SOURCE(13426, 42) { word tc130; if ((event←v8396 == 0)) { tc130 = (word) (unsigned) 1; } else { tc130 = (word) (unsigned) ((* (( (ptr) event←v8396)+2) ) == 0); }; return(tc130); }; } static void UndoN←P1560(formal←c0575, N←v8528) word formal←c0575; word N←v8528; { W7 var←c53872; /* declaration of ggData←v8500 skipped */ register ptr gf←c53904 = (ptr) &globalframe; /* declaration of var←c51120 skipped */ var←c53872.f4/* ggData←v8500 */ = formal←c0575; /* UndoN: */ SOURCE(13472, 1743) { word tmpAddr131; tmpAddr131 = (word) (( (ptr) &var←c53872)+5)/* var←c51120 */ ; (* (ptr) tmpAddr131 ) = ( ((word) (fPt) Reselect←P4296) ); (* (( (ptr) tmpAddr131) + 1) ) = 1; }; SOURCE(13524, 1691) if ((0 != (* (( (ptr) gf←c53904)+8)/* noHistory←v4428 */ ))) { SOURCE(13542, 12) return; } else { SOURCE(13554, 1663) { word title←v13640 = 0; word actualCount←v13668 = 0; word currentEvent←v13696 = 0; word list←v13724; SOURCE(13670, 6) { word pd132; pd132 = (* (( (ptr) (* (( (ptr) gf←c53904)+170)/* var←c50992 */ ))+16) ); list←v13724 = (word) ( *( (fPt) ((* (ptr) pd132 ))))(var←c53872.f4/* ggData←v8500 */ , pd132); }; SOURCE(13729, 1486) if ( ( (list←v13724 != 0) ? ((* (ptr) list←v13724 ) != 0) : 0 ) ) { SOURCE(13792, 56) { word pd133; pd133 = (* (( (ptr) (* (( (ptr) gf←c53904)+170)/* var←c50992 */ ))+4) ); currentEvent←v13696 = (word) ( *( (fPt) ((* (ptr) pd133 ))))((* (( (ptr) gf←c53904)+37) ), var←c53872.f4/* ggData←v8500 */ , pd133) ; }; SOURCE(13850, 35) (void) Capture←P540(var←c53872.f4/* ggData←v8500 */ , currentEvent←v13696, 1); SOURCE(13932, 162) { register word noName←c51152 = 0; register word noName←c51184; noName←c51184 = N←v8528; if (( (int)noName←c51152 >= (int)noName←c51184)) { goto lab←L100043; }; lab←L100046: ; SOURCE(13950, 144) if ( ( (list←v13724 != 0) ? ((* (ptr) list←v13724 ) != 0) : 0 ) ) { SOURCE(13988, 59) { word pd134; pd134 = (* (( (ptr) (* (( (ptr) gf←c53904)+170)/* var←c50992 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd134 ))))((* (ptr) list←v13724 ), 0, pd134); }; SOURCE(14049, 16) list←v13724 = (* (( (ptr) list←v13724)+1) ); SOURCE(14067, 27) actualCount←v13668 = (actualCount←v13668 + 1); }; noName←c51152 = (noName←c51152 + 1); if (( (int)noName←c51152 < (int)noName←c51184)) { goto lab←L100046; }; lab←L100043: ; }; SOURCE(14108, 232) { word var←c51216; W2 var←c0275; { word var←c51248; { word var←c51280; word var←c51312; var←c51280 = XR←NewObject(12, (* (( (ptr) gf←c53904)+35) )); var←c51312 = var←c51280; (* (ptr) var←c51312 ) = 5; (* (( (ptr) var←c51312)+1) ) = N←v8528; (* (( (ptr) var←c51312)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c53904)+35) )); var←c51312 = (* (( (ptr) var←c51312)+2) ); (* (ptr) var←c51312 ) = 11; if (( (int)N←v8528 > (int)1)) { (* (( (ptr) var←c51312)+1) ) = (* (( (ptr) gf←c53904)+49) ); } else { (* (( (ptr) var←c51312)+1) ) = 0; }; (* (( (ptr) var←c51312)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c53904)+35) )); var←c51312 = (* (( (ptr) var←c51312)+2) ); (* (ptr) var←c51312 ) = 5; (* (( (ptr) var←c51312)+1) ) = actualCount←v13668; (* (( (ptr) var←c51312)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c53904)+35) )); var←c51312 = (* (( (ptr) var←c51312)+2) ); (* (ptr) var←c51312 ) = 11; if (( (int)actualCount←v13668 > (int)1)) { (* (( (ptr) var←c51312)+1) ) = (* (( (ptr) gf←c53904)+49) ); } else { (* (( (ptr) var←c51312)+1) ) = 0; }; var←c51248 = var←c51280; }; { word pd135; pd135 = (* (( (ptr) (* (( (ptr) gf←c53904)+162)/* var←c49072 */ ))+65) ); var←c51216 = (word) ( *( (fPt) ((* (ptr) pd135 ))))((* (( (ptr) gf←c53904)+36) ), var←c51248, pd135); }; }; { word pd136; pd136 = (* (( (ptr) (* (( (ptr) gf←c53904)+170)/* var←c50992 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd136 ))))((word) &var←c0275, var←c53872.f4/* ggData←v8500 */ , pd136); }; (* (ptr) var←c0275.f0 ) = var←c51216; title←v13640 = var←c51216; }; SOURCE(14342, 29) { word pd137; pd137 = (* (( (ptr) (* (( (ptr) gf←c53904)+170)/* var←c50992 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd137 ))))(var←c53872.f4/* ggData←v8500 */ , pd137); }; SOURCE(14373, 32) { word pd138; pd138 = (* (( (ptr) (* (( (ptr) gf←c53904)+172)/* var←c51344 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd138 ))))((* (( (ptr) var←c53872.f4/* ggData←v8500 */ )+13) ), 0, pd138); }; SOURCE(14426, 33) { word pd139; pd139 = (* (( (ptr) (* (( (ptr) gf←c53904)+172)/* var←c51344 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd139 ))))((* ((( (ptr) var←c53872.f4/* ggData←v8500 */ )+13)) ), pd139); }; SOURCE(14484, 37) { word pd140; pd140 = (* (( (ptr) (* (( (ptr) gf←c53904)+173)/* var←c51376 */ ))+101) ); (void) ( *( (fPt) ((* (ptr) pd140 ))))(var←c53872.f4/* ggData←v8500 */ , 0, pd140); }; SOURCE(14546, 35) { word pd141; pd141 = (* (( (ptr) (* (( (ptr) gf←c53904)+173)/* var←c51376 */ ))+105) ); (void) ( *( (fPt) ((* (ptr) pd141 ))))(var←c53872.f4/* ggData←v8500 */ , 8, pd141); }; SOURCE(14612, 44) { word pd142; pd142 = (* (( (ptr) (* (( (ptr) gf←c53904)+174)/* var←c51408 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd142 ))))((* ((( (ptr) var←c53872.f4/* ggData←v8500 */ )+11)) ), pd142); }; SOURCE(14689, 217) SOURCE(14829, 75) if ((0 != (* (( (ptr) gf←c53904)+10)/* doSelections←v4484 */ ))) { SOURCE(14850, 54) { word var←c51440; word pd143; pd143 = (* (( (ptr) (* (( (ptr) gf←c53904)+161)/* var←c49008 */ ))+31) ); var←c51440 = (word) ( *( (fPt) ((* (ptr) pd143 ))))((* (( (ptr) var←c53872.f4/* ggData←v8500 */ )+11) ), 0, (word) (( (bPt) &var←c53872)+20) /* var←c51120 */ , 0, pd143); }; }; SOURCE(14911, 58) { word pd144; pd144 = (* (( (ptr) (* (( (ptr) gf←c53904)+175)/* var←c51472 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd144 ))))((* (( (ptr) var←c53872.f4/* ggData←v8500 */ )+3) ), 0, (* (( (ptr) gf←c53904)+42) ), title←v13640, pd144); }; SOURCE(14971, 141) { word pd145; pd145 = (* (( (ptr) (* (( (ptr) gf←c53904)+176)/* var←c51504 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd145 ))))((* (( (ptr) gf←c53904)+44) ), var←c53872.f4/* ggData←v8500 */ , 0, 1, 0, 0, pd145) ; }; } else { SOURCE(15121, 94) { word pd146; pd146 = (* (( (ptr) (* (( (ptr) gf←c53904)+175)/* var←c51472 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd146 ))))((* (( (ptr) var←c53872.f4/* ggData←v8500 */ )+3) ), 0, (* (( (ptr) gf←c53904)+45) ), (* (( (ptr) gf←c53904)+46) ), pd146); }; }; }; }; } static word Reselect←P4296(slice←v13928, formal←c53968) word slice←v13928; word formal←c53968; { register ptr gf←c53936 = (ptr) &globalframe; word done←v13972; formal←c53968 = (formal←c53968 - 20); /* Reselect: */ SOURCE(14695, 16) SOURCE(14695, 16) done←v13972 = 0; SOURCE(14758, 68) { word pd147; pd147 = (* (( (ptr) (* (( (ptr) gf←c53936)+174)/* var←c51408 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd147 ))))(slice←v13928, (* (( (ptr) (* (( (ptr) formal←c53968)+4) ))+11) ), pd147); }; SOURCE(14695, 16) return(done←v13972); } static void CapTool←P1620(caption←v8604, ggData←v8632) word caption←v8604; word ggData←v8632; { register ptr gf←c54000 = (ptr) &globalframe; word tool←v14000; /* CapTool: */ SOURCE(15252, 291) SOURCE(15314, 39) tool←v14000 = (* (( (ptr) ggData←v8632)+45) ); SOURCE(15355, 188) if ((tool←v14000 != 0)) { SOURCE(15372, 173) { word container←v14044; SOURCE(15374, 55) container←v14044 = (* (( (ptr) (* (ptr) tool←v14000 ))+7) ); SOURCE(15431, 55) { word pd148; pd148 = (* (( (ptr) (* (( (ptr) gf←c54000)+163)/* var←c49200 */ ))+6) ); (* (( (ptr) container←v14044)+13) ) = (word) ( *( (fPt) ((* (ptr) pd148 ))))((* (( (ptr) gf←c54000)+47) ), caption←v8604, pd148) ; }; SOURCE(15488, 55) { word pd149; pd149 = (* (( (ptr) (* (( (ptr) gf←c54000)+177)/* var←c51536 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd149 ))))(container←v14044, 3, 1, 0, pd149); }; }; }; } static word BuildTool←P1680(caption←v8692, ggData←v8720) word caption←v8692; word ggData←v8720; { register ptr gf←c54032 = (ptr) &globalframe; word var←c8764; word openHeight←v14088 = 120; word viewer←v14116 = 0; word tool←v14144 = 0; word layout←v14172 = 0; word name←v14200; /* BuildTool: */ SOURCE(15552, 1704) SOURCE(15731, 56) { word pd150; pd150 = (* (( (ptr) (* (( (ptr) gf←c54032)+163)/* var←c49200 */ ))+6) ); name←v14200 = (word) ( *( (fPt) ((* (ptr) pd150 ))))((* (( (ptr) gf←c54032)+47) ), caption←v8692, pd150); }; SOURCE(15789, 86) if (((* (( (ptr) ggData←v8720)+45) ) == 0)) { viewer←v14116 = 0; } else { viewer←v14116 = (* (( (ptr) (* (ptr) (* (( (ptr) ggData←v8720)+45) ) ))+7) ); }; SOURCE(15877, 294) if ( ( (viewer←v14116 != 0) ? ( ( ! ((* (( (bPt) viewer←v14116)+77) ) & 0100)) ? ! ((* (( (bPt) viewer←v14116)+77) ) & 02) : 0 ) : 0 ) ) { SOURCE(15983, 48) if ((* (( (bPt) viewer←v14116)+76) ) & 020) { SOURCE(16005, 26) { word pd151; pd151 = (* (( (ptr) (* (( (ptr) gf←c54032)+177)/* var←c51536 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd151 ))))(viewer←v14116, 0, 1, 1, pd151); }; }; SOURCE(16033, 108) { W2 var←c51568; var←c51568.f0 = 11; var←c51568.f1 = caption←v8692; { word pd152; pd152 = (* (( (ptr) (* (( (ptr) gf←c54032)+175)/* var←c51472 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd152 ))))((* (( (ptr) ggData←v8720)+3) ), 0, (* (( (ptr) gf←c54032)+45) ), (* (( (ptr) gf←c54032)+48) ), var←c51568, pd152); }; }; SOURCE(16143, 28) return((* (( (ptr) ggData←v8720)+45) )); }; SOURCE(16176, 26) tool←v14144 = XR←NewObject(16, (* (( (ptr) gf←c54032)+16) )); SOURCE(16204, 37) { word var←c51632; { word var←c51664; var←c51664 = XR←NewObject(32, (* (( (ptr) gf←c54032)+22) )); (* (ptr) var←c51664 ) = 5; (* (( (ptr) var←c51664)+1) ) = 5; (* (( (ptr) var←c51664)+2) ) = 5; (* (( (ptr) var←c51664)+3) ) = 5; (* (( (ptr) var←c51664)+4) ) = 15; (* (( (ptr) var←c51664)+5) ) = 5; (* (( (ptr) var←c51664)+6) ) = 5; var←c51632 = var←c51664; }; (* (ptr) tool←v14144 ) = var←c51632; layout←v14172 = var←c51632; }; SOURCE(16243, 112) { W28 var←c51696; W29 var←c0295; XR←FillWords(&(* (W26Pt) (&var←c51696)), 26, 0); (* (( (ptr) &var←c51696)+13) ) = name←v14200; (* (( (ptr) &var←c51696)+17) ) = (word) -1; (* (( (ptr) &var←c51696)+18) ) = 2; (* (( (ptr) &var←c51696)+19) ) = 419430400; (* (( (ptr) &var←c51696)+26) ) = ggData←v8720; (* (( (ptr) &var←c51696)+27) ) = 27; (* (W28Pt) (word) &var←c0295 ) = var←c51696; (* (( (ptr) (word) &var←c0295) + 28) ) = 1; { word pd153; pd153 = (* (( (ptr) (* (( (ptr) gf←c54032)+178)/* var←c51728 */ ))+4) ); (* (( (ptr) layout←v14172)+7) ) = (word) ( *( (fPt) ((* (ptr) pd153 ))))((word) (&var←c0295), pd153); }; }; SOURCE(16357, 51) { word var←c51760; var←c51760 = (word) BuildButton←P2400(layout←v14172, (* (( (ptr) gf←c54032)+51) ), (word) (( (bPt) gf←c54032)+384)/* var←c47952 */ , ggData←v8720, 0, 1 , 0); }; SOURCE(16410, 51) { word var←c51792; var←c51792 = (word) BuildButton←P2400(layout←v14172, (* (( (ptr) gf←c54032)+40) ), (word) (( (bPt) gf←c54032)+368)/* var←c47888 */ , ggData←v8720, 0, 1 , 0); }; SOURCE(16463, 117) { W2 var←c51824; (void) BuildDataFieldPair←P2520((word) &var←c51824, layout←v14172, (* (( (ptr) gf←c54032)+52) ), (word) (( (bPt) gf←c54032)+400) /* var←c48016 */ , ggData←v8720, 1); (* (( (ptr) tool←v14144)+1) ) = var←c51824.f1; }; SOURCE(16582, 62) (* (( (ptr) layout←v14172)+2) ) = ((* (( (ptr) layout←v14172)+2) ) + IOP2( / , (int)(* (( (ptr) layout←v14172)+5) ), (int)2) ); SOURCE(16646, 53) { word var←c51856; var←c51856 = (word) BuildButton←P2400(layout←v14172, (* (( (ptr) gf←c54032)+53) ), (word) (( (bPt) gf←c54032)+352)/* var←c47824 */ , ggData←v8720, 0, 1 , 0); }; SOURCE(16701, 53) { word var←c51888; var←c51888 = (word) BuildButton←P2400(layout←v14172, (* (( (ptr) gf←c54032)+54) ), (word) (( (bPt) gf←c54032)+336)/* var←c47760 */ , ggData←v8720, 0, 1 , 0); }; SOURCE(16756, 98) { W2 var←c51920; (void) BuildDataFieldPair←P2520((word) &var←c51920, layout←v14172, (* (( (ptr) gf←c54032)+55) ), (word) (( (bPt) gf←c54032)+392) /* var←c47984 */ , ggData←v8720, 1); (* (( (ptr) tool←v14144)+2) ) = var←c51920.f1; }; SOURCE(16856, 13) (void) HRule←P2700(layout←v14172, 1, 1, 1); SOURCE(16871, 199) { W28 var←c51952; W30 var←c0305; (* (ptr) (word) &var←c0305 ) = (* (( (ptr) gf←c54032)+56) ); XR←FillWords(&(* (W27Pt) (&var←c51952)), 27, 0); (* (( (ptr) &var←c51952)+1) ) = (* (ptr) layout←v14172 ); (* (( (ptr) &var←c51952)+2) ) = (* (( (ptr) layout←v14172)+2) ); (* (( (ptr) &var←c51952)+3) ) = 200; (* (( (ptr) &var←c51952)+4) ) = 700; (* (( (ptr) &var←c51952)+17) ) = (word) -1; (* (( (ptr) &var←c51952)+18) ) = 1; (* (( (ptr) &var←c51952)+19) ) = 1358954496; (* (( (ptr) &var←c51952)+22) ) = (* (( (ptr) layout←v14172)+7) ); (* (( (ptr) &var←c51952)+27) ) = 27; (* (W28Pt) (( (ptr) (word) &var←c0305) + 1) ) = (var←c51952 ); (* (( (ptr) (word) &var←c0305) + 29) ) = 0; { word pd154; pd154 = (* (( (ptr) (* (( (ptr) gf←c54032)+177)/* var←c51536 */ ))+6) ); (* (( (ptr) tool←v14144)+3) ) = (word) ( *( (fPt) ((* (ptr) pd154 ))))((word) (&var←c0305), pd154); }; }; SOURCE(17072, 56) { word pd155; pd155 = (* (( (ptr) (* (( (ptr) gf←c54032)+178)/* var←c51728 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd155 ))))((* (( (ptr) layout←v14172)+7) ), (* (( (ptr) tool←v14144)+3) ), pd155); }; SOURCE(17130, 56) { word pd156; pd156 = (* (( (ptr) (* (( (ptr) gf←c54032)+178)/* var←c51728 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd156 ))))((* (( (ptr) layout←v14172)+7) ), (* (( (ptr) tool←v14144)+3) ), pd156); }; SOURCE(17188, 53) { word pd157; pd157 = (* (( (ptr) (* (( (ptr) gf←c54032)+177)/* var←c51536 */ ))+36) ); (void) ( *( (fPt) ((* (ptr) pd157 ))))((* (( (ptr) layout←v14172)+7) ), openHeight←v14088, pd157); }; SOURCE(17243, 13) return(tool←v14144); } static void EventNumberButton←P1740(parent←v20160, clientData←v20188, mouseButton←v20216, shift←v20244, control←v20272) word parent←v20160; word clientData←v20188; word mouseButton←v20216; word shift←v20244; word control←v20272; { register ptr gf←c54064 = (ptr) &globalframe; word ggData←v14244; word tool←v14272; /* EventNumberButton: */ SOURCE(17262, 170) SOURCE(17304, 35) ggData←v14244 = XR←Narrow(clientData←v20188, (* (( (ptr) gf←c54064)+29) )); SOURCE(17341, 39) tool←v14272 = (* (( (ptr) ggData←v14244)+45) ); SOURCE(17382, 50) (void) DataFieldButton←P2460((* (( (ptr) tool←v14272)+1) ), (unsigned) (mouseButton←v20216 != 0)); } static void HistorySizeButton←P1800(parent←v20332, clientData←v20360, mouseButton←v20388, shift←v20416, control←v20444) word parent←v20332; word clientData←v20360; word mouseButton←v20388; word shift←v20416; word control←v20444; { register ptr gf←c54096 = (ptr) &globalframe; word ggData←v14316; word tool←v14344; /* HistorySizeButton: */ SOURCE(17438, 166) SOURCE(17480, 35) ggData←v14316 = XR←Narrow(clientData←v20360, (* (( (ptr) gf←c54096)+29) )); SOURCE(17517, 39) tool←v14344 = (* (( (ptr) ggData←v14316)+45) ); SOURCE(17558, 46) (void) DataFieldButton←P2460((* (( (ptr) tool←v14344)+2) ), (unsigned) (mouseButton←v20388 != 0)); } static void SynchShow←P1860(parent←v20504, clientData←v20532, mouseButton←v20560, shift←v20588, control←v20616) word parent←v20504; word clientData←v20532; word mouseButton←v20560; word shift←v20588; word control←v20616; { register ptr gf←c54128 = (ptr) &globalframe; word ggData←v14388; word handle←v14416; word event←v14444; /* SynchShow: */ SOURCE(17610, 259) SOURCE(17644, 35) ggData←v14388 = XR←Narrow(clientData←v20532, (* (( (ptr) gf←c54128)+29) )); SOURCE(17681, 40) handle←v14416 = (* (( (ptr) ggData←v14388)+48) ); SOURCE(17723, 7) { word var←c52016; event←v14444 = XR←NewObject(8, (* (( (ptr) gf←c54128)+20) )); var←c52016 = event←v14444; (* (ptr) var←c52016 ) = (* (( (ptr) gf←c54128)+58) ); }; SOURCE(17764, 36) { word pd158; pd158 = (* (( (ptr) (* (( (ptr) gf←c54128)+179)/* var←c52048 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd158 ))))(ggData←v14388, event←v14444, pd158); }; SOURCE(17809, 60) { word pd159; pd159 = (* (( (ptr) (* (( (ptr) gf←c54128)+180)/* var←c52080 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd159 ))))(handle←v14416, (word) (( (bPt) gf←c54128)+376)/* var←c47920 */ , event←v14444, ggData←v14388, 0, (word) -1, pd159) ; }; } static void DoShow←P1920(clientData←v8824, inputAction←v8852) word clientData←v8824; word inputAction←v8852; { W7 var←c54160; register ptr gf←c54192 = (ptr) &globalframe; word ggData←v14584; word tool←v14612; word num←v14640 = 0; /* declaration of stop←v14668 skipped */ word h←v14696; word list←v14724; W2 var←c0337; /* DoShow: */ SOURCE(17875, 646) SOURCE(17932, 35) ggData←v14584 = XR←Narrow(clientData←v8824, (* (( (ptr) gf←c54192)+29) )); SOURCE(17969, 39) tool←v14612 = (* (( (ptr) ggData←v14584)+45) ); SOURCE(18010, 18) var←c54160.f4/* stop←v14668 */ = 0; SOURCE(18030, 23) { word pd160; pd160 = (* (( (ptr) (* (( (ptr) gf←c54192)+162)/* var←c49072 */ ))+34) ); h←v14696 = (word) ( *( (fPt) ((* (ptr) pd160 ))))(0, pd160); }; SOURCE(18055, 6) { word pd161; pd161 = (* (( (ptr) (* (( (ptr) gf←c54192)+170)/* var←c50992 */ ))+16) ); list←v14724 = (word) ( *( (fPt) ((* (ptr) pd161 ))))(ggData←v14584, pd161); }; SOURCE(18114, 40) { word pd162; pd162 = (* (( (ptr) (* (( (ptr) gf←c54192)+170)/* var←c50992 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd162 ))))((word) &var←c0337, ggData←v14584, pd162); }; num←v14640 = var←c0337.f1; SOURCE(18180, 56) SOURCE(18180, 56) { /* declaration of var←c03 skipped */ var←c54160.f5/* var←c03 */ = (* (( (ptr) tool←v14612)+1) ); { /* declaration of var←c04 skipped */ { word var←c05; { word var←c0539; var←c0539 = (word) &var←c54160; var←c05 = (word) XR←Enable(( ((word) (fPt) NoName←Q4908) ), ( ((word) (fPt) NoName←Q5328) ), var←c0539); }; if ((var←c05 == 2)) { goto lab←L100048; }; }; var←c54160.f4/* stop←v14668 */ = var←c54160.f6/* var←c04 */ ; }; }; lab←L100048: ; SOURCE(18308, 143) lab←L100053: ; if ( ( ( ( (int)num←v14640 > (int)var←c54160.f4/* stop←v14668 */ ) ? (list←v14724 != 0) : 0 ) ? ((* (ptr) list←v14724 ) != 0) : 0 ) ) { } else { goto lab←L100051; }; SOURCE(18360, 60) { W2 var←c52112; W2 var←c52144; W2 var←c0540; var←c52112.f0 = 5; var←c52112.f1 = num←v14640; var←c52144.f0 = 11; var←c52144.f1 = (* (ptr) (* (ptr) list←v14724 ) ); (* (ptr) (word) &var←c0540 ) = 0; (* (( (ptr) (word) &var←c0540) + 1) ) = 0; { word pd163; pd163 = (* (( (ptr) (* (( (ptr) gf←c54192)+162)/* var←c49072 */ ))+60) ); (void) ( *( (fPt) ((* (ptr) pd163 ))))(h←v14696, (* (( (ptr) gf←c54192)+59) ), var←c52112, var←c52144, var←c0540, pd163) ; }; }; SOURCE(18422, 11) num←v14640 = (num←v14640 - 1); SOURCE(18435, 16) list←v14724 = (* (( (ptr) list←v14724)+1) ); goto lab←L100053; lab←L100051: ; SOURCE(18462, 59) { word var←c52208; { word pd164; pd164 = (* (( (ptr) (* (( (ptr) gf←c54192)+162)/* var←c49072 */ ))+35) ); var←c52208 = (word) ( *( (fPt) ((* (ptr) pd164 ))))(h←v14696, 1, pd164); }; { word pd165; pd165 = (* (( (ptr) (* (( (ptr) gf←c54192)+181)/* var←c52240 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd165 ))))((* (( (ptr) tool←v14612)+3) ), var←c52208, pd165); }; }; } static word NoName←Q4908(formal←c0508) word formal←c0508; { SOURCE(18180, 56) (* (( (ptr) formal←c0508)+6) ) = (word) GetInt←P2580((* ((( (ptr) formal←c0508)+5)) )); return(0); } static void SynchUndo←P1980(parent←v20676, clientData←v20704, mouseButton←v20732, shift←v20760, control←v20788) word parent←v20676; word clientData←v20704; word mouseButton←v20732; word shift←v20760; word control←v20788; { register ptr gf←c54224 = (ptr) &globalframe; word ggData←v14852; word handle←v14880; word event←v14908; /* SynchUndo: */ SOURCE(18527, 259) SOURCE(18561, 35) ggData←v14852 = XR←Narrow(clientData←v20704, (* (( (ptr) gf←c54224)+29) )); SOURCE(18598, 40) handle←v14880 = (* (( (ptr) ggData←v14852)+48) ); SOURCE(18640, 7) { word var←c52304; event←v14908 = XR←NewObject(8, (* (( (ptr) gf←c54224)+20) )); var←c52304 = event←v14908; (* (ptr) var←c52304 ) = (* (( (ptr) gf←c54224)+60) ); }; SOURCE(18681, 36) { word pd166; pd166 = (* (( (ptr) (* (( (ptr) gf←c54224)+179)/* var←c52048 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd166 ))))(ggData←v14852, event←v14908, pd166); }; SOURCE(18726, 60) { word pd167; pd167 = (* (( (ptr) (* (( (ptr) gf←c54224)+180)/* var←c52080 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd167 ))))(handle←v14880, (word) (( (bPt) gf←c54224)+360)/* var←c47856 */ , event←v14908, ggData←v14852, 0, (word) -1, pd167) ; }; } static void DoUndo←P2040(clientData←v8940, inputAction←v8968) word clientData←v8940; word inputAction←v8968; { W6 var←c54256; register ptr gf←c54288 = (ptr) &globalframe; word ggData←v15048; /* DoUndo: */ SOURCE(18792, 560) SOURCE(18849, 35) ggData←v15048 = XR←Narrow(clientData←v8940, (* (( (ptr) gf←c54288)+29) )); SOURCE(18886, 466) SOURCE(18888, 39) { word tool←v15092; word num←v15120; W2 var←c0355; word stop←v15148; word back←v15176; SOURCE(18888, 39) tool←v15092 = (* (( (ptr) ggData←v15048)+45) ); SOURCE(18929, 45) { word pd168; pd168 = (* (( (ptr) (* (( (ptr) gf←c54288)+170)/* var←c50992 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd168 ))))((word) &var←c0355, ggData←v15048, pd168); }; num←v15120 = var←c0355.f1; SOURCE(19000, 51) { /* declaration of var←c06 skipped */ var←c54256.f4/* var←c06 */ = (* (( (ptr) tool←v15092)+1) ); { /* declaration of var←c07 skipped */ { word var←c08; { word var←c0541; var←c0541 = (word) &var←c54256; var←c08 = (word) XR←Enable(( ((word) (fPt) NoName←Q4968) ), ( ((word) (fPt) NoName←Q5268) ), var←c0541); }; if ((var←c08 == 3)) { goto lab←L100054; }; }; stop←v15148 = var←c54256.f5/* var←c07 */ ; }; }; SOURCE(19118, 20) back←v15176 = (num←v15120 - stop←v15148); SOURCE(19140, 46) if (( (int)back←v15176 > (int)0)) { SOURCE(19157, 29) { word pd169; pd169 = (* (( (ptr) (* (( (ptr) gf←c54288)+170)/* var←c50992 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd169 ))))(ggData←v15048, back←v15176, pd169); }; }; }; goto lab←L100057; lab←L100054: ; SOURCE(19201, 149) { word pd170; pd170 = (* (( (ptr) (* (( (ptr) gf←c54288)+175)/* var←c51472 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd170 ))))((* (( (ptr) ggData←v15048)+3) ), 0, (* (( (ptr) gf←c54288)+45) ), (* (( (ptr) gf←c54288)+61) ), pd170); }; lab←L100057: ; } static word NoName←Q4968(formal←c0511) word formal←c0511; { SOURCE(19000, 51) (* (( (ptr) formal←c0511)+5) ) = (word) GetInt←P2580((* ((( (ptr) formal←c0511)+4)) )); return(0); } static void SynchGetSize←P2100(parent←v20848, clientData←v20876, mouseButton←v20904, shift←v20932, control←v20960) word parent←v20848; word clientData←v20876; word mouseButton←v20904; word shift←v20932; word control←v20960; { register ptr gf←c54320 = (ptr) &globalframe; word ggData←v15220; word handle←v15248; word event←v15276; /* SynchGetSize: */ SOURCE(19359, 268) SOURCE(19396, 35) ggData←v15220 = XR←Narrow(clientData←v20876, (* (( (ptr) gf←c54320)+29) )); SOURCE(19433, 40) handle←v15248 = (* (( (ptr) ggData←v15220)+48) ); SOURCE(19475, 7) { word var←c52368; event←v15276 = XR←NewObject(8, (* (( (ptr) gf←c54320)+20) )); var←c52368 = event←v15276; (* (ptr) var←c52368 ) = (* (( (ptr) gf←c54320)+62) ); }; SOURCE(19519, 36) { word pd171; pd171 = (* (( (ptr) (* (( (ptr) gf←c54320)+179)/* var←c52048 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd171 ))))(ggData←v15220, event←v15276, pd171); }; SOURCE(19564, 63) { word pd172; pd172 = (* (( (ptr) (* (( (ptr) gf←c54320)+180)/* var←c52080 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd172 ))))(handle←v15248, (word) (( (bPt) gf←c54320)+344)/* var←c47792 */ , event←v15276, ggData←v15220, 0, (word) -1, pd172) ; }; } static void DoGetSize←P2160(clientData←v9052, inputAction←v9080) word clientData←v9052; word inputAction←v9080; { register ptr gf←c54352 = (ptr) &globalframe; word ggData←v15416; word tool←v15444; /* DoGetSize: */ SOURCE(19633, 182) SOURCE(19693, 35) ggData←v15416 = XR←Narrow(clientData←v9052, (* (( (ptr) gf←c54352)+29) )); SOURCE(19730, 39) tool←v15444 = (* (( (ptr) ggData←v15416)+45) ); SOURCE(19771, 44) (void) SetInt←P2640((* (( (ptr) tool←v15444)+2) ), (* (( (ptr) ggData←v15416)+42) )); } static void SynchSetSize←P2220(parent←v21020, clientData←v21048, mouseButton←v21076, shift←v21104, control←v21132) word parent←v21020; word clientData←v21048; word mouseButton←v21076; word shift←v21104; word control←v21132; { register ptr gf←c54384 = (ptr) &globalframe; word ggData←v15488; word handle←v15516; word event←v15544; /* SynchSetSize: */ SOURCE(19821, 268) SOURCE(19858, 35) ggData←v15488 = XR←Narrow(clientData←v21048, (* (( (ptr) gf←c54384)+29) )); SOURCE(19895, 40) handle←v15516 = (* (( (ptr) ggData←v15488)+48) ); SOURCE(19937, 7) { word var←c52432; event←v15544 = XR←NewObject(8, (* (( (ptr) gf←c54384)+20) )); var←c52432 = event←v15544; (* (ptr) var←c52432 ) = (* (( (ptr) gf←c54384)+63) ); }; SOURCE(19981, 36) { word pd173; pd173 = (* (( (ptr) (* (( (ptr) gf←c54384)+179)/* var←c52048 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd173 ))))(ggData←v15488, event←v15544, pd173); }; SOURCE(20026, 63) { word pd174; pd174 = (* (( (ptr) (* (( (ptr) gf←c54384)+180)/* var←c52080 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd174 ))))(handle←v15516, (word) (( (bPt) gf←c54384)+328)/* var←c47728 */ , event←v15544, ggData←v15488, 0, (word) -1, pd174) ; }; } static void DoSetSize←P2280(clientData←v9164, inputAction←v9192) word clientData←v9164; word inputAction←v9192; { W6 var←c54416; register ptr gf←c54448 = (ptr) &globalframe; word ggData←v15684; /* DoSetSize: */ SOURCE(20095, 436) SOURCE(20155, 35) ggData←v15684 = XR←Narrow(clientData←v9164, (* (( (ptr) gf←c54448)+29) )); SOURCE(20192, 339) SOURCE(20194, 39) { word tool←v15728; word num←v15756; SOURCE(20194, 39) tool←v15728 = (* (( (ptr) ggData←v15684)+45) ); SOURCE(20235, 46) { /* declaration of var←c09 skipped */ var←c54416.f4/* var←c09 */ = (* (( (ptr) tool←v15728)+2) ); { /* declaration of var←c010 skipped */ { word var←c011; { word var←c0542; var←c0542 = (word) &var←c54416; var←c011 = (word) XR←Enable(( ((word) (fPt) NoName←Q5028) ), ( ((word) (fPt) NoName←Q5208) ), var←c0542); }; if ((var←c011 == 4)) { goto lab←L100058; }; }; num←v15756 = var←c54416.f5/* var←c010 */ ; }; }; SOURCE(20292, 50) if (( (int)num←v15756 <= (int)0)) { (* (( (ptr) ggData←v15684)+42) ) = 1; } else { (* (( (ptr) ggData←v15684)+42) ) = num←v15756; }; SOURCE(20344, 44) (void) SetInt←P2640((* (( (ptr) tool←v15728)+2) ), (* (( (ptr) ggData←v15684)+42) )); }; goto lab←L100061; lab←L100058: ; SOURCE(20403, 126) { word pd175; pd175 = (* (( (ptr) (* (( (ptr) gf←c54448)+175)/* var←c51472 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd175 ))))((* (( (ptr) ggData←v15684)+3) ), 0, (* (( (ptr) gf←c54448)+45) ), (* (( (ptr) gf←c54448)+64) ), pd175); }; lab←L100061: ; } static word NoName←Q5028(formal←c0516) word formal←c0516; { SOURCE(20235, 46) (* (( (ptr) formal←c0516)+5) ) = (word) GetInt←P2580((* ((( (ptr) formal←c0516)+4)) )); return(0); } static void ClearTool←P2340(ggData←v9276) word ggData←v9276; { register ptr gf←c54480 = (ptr) &globalframe; word tool←v15800; /* ClearTool: */ SOURCE(20538, 199) SOURCE(20582, 40) tool←v15800 = (* (( (ptr) ggData←v9276)+45) ); SOURCE(20624, 113) if ((tool←v15800 != 0)) { SOURCE(20643, 45) { word pd176; pd176 = (* (( (ptr) (* (( (ptr) gf←c54480)+181)/* var←c52240 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd176 ))))((* (( (ptr) tool←v15800)+3) ), 0, pd176); }; SOURCE(20690, 47) { word pd177; pd177 = (* (( (ptr) (* (( (ptr) gf←c54480)+181)/* var←c52240 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd177 ))))((* (( (ptr) tool←v15800)+1) ), 0, pd177); }; }; } static word BuildButton←P2400(info←v9336, name←v9364, proc←v9392, clientData←v9420, fork←v9448, gapAfter←v9476, border←v9504) word info←v9336; word name←v9364; word proc←v9392; word clientData←v9420; word fork←v9448; word gapAfter←v9476; word border←v9504; { register ptr gf←c54512 = (ptr) &globalframe; word button←v9560; /* BuildButton: */ SOURCE(20747, 525) SOURCE(20747, 525) button←v9560 = 0; SOURCE(20952, 192) { W28 var←c52464; W36 var←c0396; (* (ptr) (word) &var←c0396 ) = (* (( (ptr) gf←c54512)+14)/* queue←v5884 */ ); XR←FillWords(&(* (W27Pt) (&var←c52464)), 27, 0); (* (( (ptr) &var←c52464)+1) ) = (* (ptr) info←v9336 ); (* (( (ptr) &var←c52464)+2) ) = (* (( (ptr) info←v9336)+2) ); (* (( (ptr) &var←c52464)+13) ) = name←v9364; (* (( (ptr) &var←c52464)+17) ) = (word) -1; (* (( (ptr) &var←c52464)+18) ) = 1; (* (( (ptr) &var←c52464)+19) ) = (((word) (unsigned) (border←v9504 & 1) << 27) + 1358954496); (* (( (ptr) &var←c52464)+22) ) = (* (( (ptr) info←v9336)+7) ); (* (( (ptr) &var←c52464)+27) ) = 27; (* (W28Pt) (( (ptr) (word) &var←c0396) + 1) ) = var←c52464; (* (( (ptr) (word) &var←c0396) + 29) ) = proc←v9392; (* (( (ptr) (word) &var←c0396) + 30) ) = clientData←v9420; (* (( (ptr) (word) &var←c0396) + 31) ) = 0; (* (( (ptr) (word) &var←c0396) + 32) ) = 0; (* (( (ptr) (word) &var←c0396) + 33) ) = 0; (* (( (ptr) (word) &var←c0396) + 34) ) = 0; (* (( (ptr) (word) &var←c0396) + 35) ) = 0; { word pd178; pd178 = (* (( (ptr) (* (( (ptr) gf←c54512)+160)/* var←c48976 */ ))+7) ); button←v9560 = (word) ( *( (fPt) ((* (ptr) pd178 ))))((word) (&var←c0396), pd178); }; }; SOURCE(21146, 43) (* (ptr) info←v9336 ) = ((* (ptr) info←v9336 ) + (* (( (ptr) button←v9560)+3) )); SOURCE(21191, 63) if ((0 != gapAfter←v9476)) { SOURCE(21208, 46) (* (ptr) info←v9336 ) = ((* (ptr) info←v9336 ) + (* (( (ptr) info←v9336)+6) )); }; SOURCE(21256, 16) return(button←v9560); } static void DataFieldButton←P2460(arg←v9620, clear←v9648) word arg←v9620; word clear←v9648; { register ptr gf←c54544 = (ptr) &globalframe; /* DataFieldButton: */ SOURCE(21278, 177) SOURCE(21345, 47) if ((0 != clear←v9648)) { SOURCE(21359, 33) { word pd179; pd179 = (* (( (ptr) (* (( (ptr) gf←c54544)+182)/* var←c52496 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd179 ))))(arg←v9620, 0, 1, pd179); }; }; SOURCE(21421, 34) { word pd180; pd180 = (* (( (ptr) (* (( (ptr) gf←c54544)+182)/* var←c52496 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd180 ))))(arg←v9620, 0, pd180); }; } static void BuildDataFieldPair←P2520(formal←c0408, info←v9708, buttonRope←v9736, buttonProc←v9764, clientData←v9792, lines←v9820) word formal←c0408; word info←v9708; word buttonRope←v9736; word buttonProc←v9764; word clientData←v9792; word lines←v9820; { register ptr gf←c54576 = (ptr) &globalframe; word button←v9876; word arg←v9904; /* BuildDataFieldPair: */ SOURCE(21512, 739) SOURCE(21512, 739) button←v9876 = 0; SOURCE(21512, 739) arg←v9904 = 0; SOURCE(21740, 122) button←v9876 = (word) BuildButton←P2400(info←v9708, buttonRope←v9736, buttonProc←v9764, clientData←v9792, 0, 0 , 0); SOURCE(21864, 248) { W28 var←c52528; W30 var←c0407; (* (ptr) (word) &var←c0407 ) = (* (( (ptr) gf←c54576)+56) ); XR←FillWords(&(* (W27Pt) (&var←c52528)), 27, 0); (* (( (ptr) &var←c52528)+1) ) = (* (ptr) info←v9708 ); (* (( (ptr) &var←c52528)+2) ) = ((* (( (ptr) info←v9708)+2) ) + 1); (* (( (ptr) &var←c52528)+3) ) = (((* (ptr) (* (( (ptr) (* (( (ptr) gf←c54576)+183)/* var←c52560 */ ))+18) ) ) - (* (ptr) info←v9708 )) - 5); (* (( (ptr) &var←c52528)+4) ) = IOP2( * , (int)(* (( (ptr) info←v9708)+4) ), (int)lines←v9820); (* (( (ptr) &var←c52528)+17) ) = (word) -1; (* (( (ptr) &var←c52528)+18) ) = 1; (* (( (ptr) &var←c52528)+19) ) = 285212672; (* (( (ptr) &var←c52528)+22) ) = (* (( (ptr) info←v9708)+7) ); (* (( (ptr) &var←c52528)+27) ) = 27; (* (W28Pt) (( (ptr) (word) &var←c0407) + 1) ) = (var←c52528 ); (* (( (ptr) (word) &var←c0407) + 29) ) = 0; { word pd181; pd181 = (* (( (ptr) (* (( (ptr) gf←c54576)+177)/* var←c51536 */ ))+6) ); arg←v9904 = (word) ( *( (fPt) ((* (ptr) pd181 ))))((word) (&var←c0407), pd181); }; }; SOURCE(22114, 60) (* (( (ptr) info←v9708)+2) ) = ((* (( (ptr) info←v9708)+2) ) + IOP2( * , (int)(* (( (ptr) info←v9708)+4) ), (int)lines←v9820) ); SOURCE(22176, 30) (* (ptr) info←v9708 ) = (* (( (ptr) info←v9708)+1) ); SOURCE(22208, 43) { word pd182; pd182 = (* (( (ptr) (* (( (ptr) gf←c54576)+178)/* var←c51728 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd182 ))))((* (( (ptr) info←v9708)+7) ), arg←v9904, pd182); }; /* removed tail goto */ (* (ptr) formal←c0408 ) = button←v9876; (* (( (ptr) formal←c0408)+1) ) = arg←v9904; return; } static word GetInt←P2580(arg←v9964) word arg←v9964; { W7 var←c54608; register ptr gf←c54640 = (ptr) &globalframe; word num←v10008; /* GetInt: */ SOURCE(22257, 238) SOURCE(22319, 176) SOURCE(22321, 47) { word rope←v15888; /* declaration of h←v15916 skipped */ SOURCE(22321, 47) { word pd183; pd183 = (* (( (ptr) (* (( (ptr) gf←c54640)+181)/* var←c52240 */ ))+8) ); rope←v15888 = (word) ( *( (fPt) ((* (ptr) pd183 ))))(arg←v9964, pd183); }; SOURCE(22370, 27) { word pd184; pd184 = (* (( (ptr) (* (( (ptr) gf←c54640)+162)/* var←c49072 */ ))+33) ); var←c54608.f4/* h←v15916 */ = (word) ( *( (fPt) ((* (ptr) pd184 ))))(rope←v15888, 0, pd184); }; SOURCE(22399, 48) { /* declaration of var←c012 skipped */ var←c54608.f5/* var←c012 */ = (* (( (ptr) (* (( (ptr) gf←c54640)+162)/* var←c49072 */ ))+72) ); { /* declaration of var←c013 skipped */ { word var←c014; { word var←c0543; var←c0543 = (word) &var←c54608; var←c014 = (word) XR←Enable(( ((word) (fPt) NoName←Q5088) ), ( ((word) (fPt) NoName←Q5148) ), var←c0543); }; if ((var←c014 == 5)) { goto lab←L100063; }; }; num←v10008 = var←c54608.f6/* var←c013 */ ; }; }; }; goto lab←L100066; lab←L100063: ; SOURCE(22477, 16) (void) (XR←RaiseSignal((word) (( (bPt) gf←c54640)+268), 0, 0)); lab←L100066: ; SOURCE(22257, 238) return(num←v10008); } static word NoName←Q5088(formal←c0522) word formal←c0522; { SOURCE(22399, 48) { word pd185; pd185 = (* (( (ptr) formal←c0522)+5) ); (* (( (ptr) formal←c0522)+6) ) = (word) ( *( (fPt) ((* (ptr) pd185 ))))((* ((( (ptr) formal←c0522)+4)) ), pd185); }; return(0); } static void SetInt←P2640(arg←v10068, num←v10096) word arg←v10068; word num←v10096; { register ptr gf←c54672 = (ptr) &globalframe; word h←v15960; /* SetInt: */ SOURCE(22499, 153) SOURCE(22554, 23) { word pd186; pd186 = (* (( (ptr) (* (( (ptr) gf←c54672)+162)/* var←c49072 */ ))+34) ); h←v15960 = (word) ( *( (fPt) ((* (ptr) pd186 ))))(0, pd186); }; SOURCE(22579, 23) { W2 var←c52592; var←c52592.f0 = 5; var←c52592.f1 = num←v10096; { word pd187; pd187 = (* (( (ptr) (* (( (ptr) gf←c54672)+162)/* var←c49072 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd187 ))))(h←v15960, var←c52592, pd187); }; }; SOURCE(22604, 48) { word var←c52624; { word pd188; pd188 = (* (( (ptr) (* (( (ptr) gf←c54672)+162)/* var←c49072 */ ))+35) ); var←c52624 = (word) ( *( (fPt) ((* (ptr) pd188 ))))(h←v15960, 1, pd188); }; { word pd189; pd189 = (* (( (ptr) (* (( (ptr) gf←c54672)+181)/* var←c52240 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd189 ))))(arg←v10068, var←c52624, pd189); }; }; } static void HRule←P2700(info←v10156, thickness←v10184, gapAbove←v10212, gapBelow←v10240) word info←v10156; word thickness←v10184; word gapAbove←v10212; word gapBelow←v10240; { register ptr gf←c54704 = (ptr) &globalframe; word rule←v16004 = 0; /* HRule: */ SOURCE(22658, 511) SOURCE(22765, 73) if ((0 != gapAbove←v10212)) { SOURCE(22782, 56) (* (( (ptr) info←v10156)+2) ) = ((* (( (ptr) info←v10156)+2) ) + IOP2( * , (int)(* (( (ptr) info←v10156)+5) ), (int)2)); }; SOURCE(22840, 141) { W28 var←c52656; W30 var←c0424; XR←FillWords(&(* (W27Pt) (&var←c52656)), 27, 0); (* (( (ptr) &var←c52656)+2) ) = (* (( (ptr) info←v10156)+2) ); (* (( (ptr) &var←c52656)+3) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c54704)+183)/* var←c52560 */ ))+18) ) ); (* (( (ptr) &var←c52656)+4) ) = SGNCK(thickness←v10184); (* (( (ptr) &var←c52656)+17) ) = (word) -1; (* (( (ptr) &var←c52656)+18) ) = 1; (* (( (ptr) &var←c52656)+19) ) = 1493172224; (* (( (ptr) &var←c52656)+22) ) = (* (( (ptr) info←v10156)+7) ); (* (( (ptr) &var←c52656)+27) ) = 27; (* (W28Pt) (word) &var←c0424 ) = var←c52656; (* (( (ptr) (word) &var←c0424) + 28) ) = 0; (* (( (ptr) (word) &var←c0424) + 29) ) = 0; { word pd190; pd190 = (* (( (ptr) (* (( (ptr) gf←c54704)+184)/* var←c52688 */ ))+4) ); rule←v16004 = (word) ( *( (fPt) ((* (ptr) pd190 ))))((word) (&var←c0424), pd190); }; }; SOURCE(22983, 62) { word pd191; pd191 = (* (( (ptr) (* (( (ptr) gf←c54704)+178)/* var←c51728 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd191 ))))((* (( (ptr) info←v10156)+7) ), rule←v16004, pd191); }; SOURCE(23047, 47) (* (( (ptr) info←v10156)+2) ) = ((* (( (ptr) info←v10156)+2) ) + thickness←v10184); SOURCE(23096, 73) if ((0 != gapBelow←v10240)) { SOURCE(23113, 56) (* (( (ptr) info←v10156)+2) ) = ((* (( (ptr) info←v10156)+2) ) + IOP2( * , (int)(* (( (ptr) info←v10156)+5) ), (int)2)); }; } static void NoName←Q5148(formal←c0429, formal←c200028, formal←c200029, formal←c200030, formal←c200031) word formal←c0429; word formal←c200028; word formal←c200029; word formal←c200030; word formal←c200031; { register ptr gf←c0525 = (ptr) &globalframe; if ((formal←c200029 == (* (( (ptr) (* (( (ptr) gf←c0525)+162)/* var←c49072 */ ))+5) )) || (formal←c200029 == (* (( (ptr) (* ( ( (ptr) gf←c0525)+162)/* var←c49072 */ ))+4) ))) { SOURCE(22447, 12) (* (ptr) formal←c0429 ) = 2; (* (( (ptr) formal←c0429)+1) ) = 5; return; }; (* (ptr) formal←c0429 ) = 0; (* (( (ptr) formal←c0429)+1) ) = 0; return; } static void NoName←Q5208(formal←c0434, formal←c200024, formal←c200025, formal←c200026, formal←c200027) word formal←c0434; word formal←c200024; word formal←c200025; word formal←c200026; word formal←c200027; { register ptr gf←c0526 = (ptr) &globalframe; if ((formal←c200025 == (word) (( (bPt) gf←c0526)+268))) { SOURCE(20281, 9) (* (ptr) formal←c0434 ) = 2; (* (( (ptr) formal←c0434)+1) ) = 4; return; }; (* (ptr) formal←c0434 ) = 0; (* (( (ptr) formal←c0434)+1) ) = 0; return; } static void NoName←Q5268(formal←c0439, formal←c200020, formal←c200021, formal←c200022, formal←c200023) word formal←c0439; word formal←c200020; word formal←c200021; word formal←c200022; word formal←c200023; { register ptr gf←c0527 = (ptr) &globalframe; if ((formal←c200021 == (word) (( (bPt) gf←c0527)+268))) { SOURCE(19051, 9) (* (ptr) formal←c0439 ) = 2; (* (( (ptr) formal←c0439)+1) ) = 3; return; }; (* (ptr) formal←c0439 ) = 0; (* (( (ptr) formal←c0439)+1) ) = 0; return; } static void NoName←Q5328(formal←c0444, formal←c200016, formal←c200017, formal←c200018, formal←c200019) word formal←c0444; word formal←c200016; word formal←c200017; word formal←c200018; word formal←c200019; { register ptr gf←c0528 = (ptr) &globalframe; if ((formal←c200017 == (word) (( (bPt) gf←c0528)+268))) { SOURCE(18228, 8) (* (( (ptr) formal←c200016)+4) ) = 0; SOURCE(18238, 9) (* (ptr) formal←c0444 ) = 2; (* (( (ptr) formal←c0444)+1) ) = 2; return; }; (* (ptr) formal←c0444 ) = 0; (* (( (ptr) formal←c0444)+1) ) = 0; return; } static void NoName←Q5388(formal←c0449, formal←c200012, formal←c200013, formal←c200014, formal←c200015) word formal←c0449; word formal←c200012; word formal←c200013; word formal←c200014; word formal←c200015; { register ptr gf←c0529 = (ptr) &globalframe; if ((formal←c200013 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0529)+16)/* LOCK←v3952 */ )); }; (* (ptr) formal←c0449 ) = 0; (* (( (ptr) formal←c0449)+1) ) = 0; return; } static void NoName←Q5448(formal←c0454, formal←c200008, formal←c200009, formal←c200010, formal←c200011) word formal←c0454; word formal←c200008; word formal←c200009; word formal←c200010; word formal←c200011; { register ptr gf←c0530 = (ptr) &globalframe; if ((formal←c200009 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0530)+16)/* LOCK←v3952 */ )); }; (* (ptr) formal←c0454 ) = 0; (* (( (ptr) formal←c0454)+1) ) = 0; return; } static void NoName←Q5508(formal←c0459, formal←c200004, formal←c200005, formal←c200006, formal←c200007) word formal←c0459; word formal←c200004; word formal←c200005; word formal←c200006; word formal←c200007; { register ptr gf←c0531 = (ptr) &globalframe; if ((formal←c200005 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0531)+16)/* LOCK←v3952 */ )); }; (* (ptr) formal←c0459 ) = 0; (* (( (ptr) formal←c0459)+1) ) = 0; return; } static void NoName←Q5568(formal←c0464, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0464; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c0532 = (ptr) &globalframe; if ((formal←c200001 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0532)+16)/* LOCK←v3952 */ )); }; (* (ptr) formal←c0464 ) = 0; (* (( (ptr) formal←c0464)+1) ) = 0; return; } /* file: GGHistoryImpl, module: GGHistoryImpl, compiled at: July 11, 1993 8:03:21 pm PDT */ extern void XR←install←GGHistoryImpl() { NoName←Q4608(); } extern void XR←run←GGHistoryImpl() { XR←Start(&globalframe); }