array A_nextFree136 integer A_firstFree354 integer A_maxIndex780 array Cell_nextFree101 integer Cell_firstFree116 integer Cell_maxIndex381 integer A_firstFree354 = 0 integer A_maxIndex780 = 0 integer Cell_firstFree116 = 0 integer Cell_maxIndex381 = 0 function initGlobals194() { } function main282() { initGlobals194(); init_Test207(); } function config189() { } function init_Test207() { new_Cell153(); new_B161(); } function A_init209(integer this173) { } function construct_A633(integer this128) { A_init209(this_128); } function B_init780(integer this161) { } function new_B161() returns integer { local integer this146 this_146 = alloc_B659(); construct_B725(this_146); return this_146; } function construct_B725(integer this210) { construct_A633(this_210); B_init780(this_210); } function Cell_init168(integer this525) { } function new_Cell153() returns integer { local integer this622 this_622 = alloc_Cell152(); construct_Cell125(this_622); return this_622; } function construct_Cell125(integer this422) { Cell_init168(this_422); } function error679(string msg160) { $debugPrint123((msg_160 + (" " + #getStackTrace()))); } function alloc_B659() returns integer { local integer this601 if (A_firstFree_354 == 0) { if (A_maxIndex_780 < 32768) { A_maxIndex_780 = (A_maxIndex_780 + 1); this_601 = A_maxIndex_780; } else { error679("Out of memory: Could not create B."); this_601 = 0; }; } else { A_firstFree_354 = (A_firstFree_354 - 1); this_601 = A_nextFree_136[A_firstFree_354]; }; return this_601; } function alloc_Cell152() returns integer { local integer this788 if (Cell_firstFree_116 == 0) { if (Cell_maxIndex_381 < 32768) { Cell_maxIndex_381 = (Cell_maxIndex_381 + 1); this_788 = Cell_maxIndex_381; } else { error679("Out of memory: Could not create Cell."); this_788 = 0; }; } else { Cell_firstFree_116 = (Cell_firstFree_116 - 1); this_788 = Cell_nextFree_101[Cell_firstFree_116]; }; return this_788; }