array A_nextFree311 integer A_firstFree709 integer A_maxIndex214 array Cell_nextFree174 integer Cell_firstFree958 integer Cell_maxIndex120 integer A_firstFree709 = 0 integer A_maxIndex214 = 0 integer Cell_firstFree958 = 0 integer Cell_maxIndex120 = 0 function initGlobals199() { A_firstFree_709 = 0; A_maxIndex_214 = 0; Cell_firstFree_958 = 0; Cell_maxIndex_120 = 0; } function main523() { initGlobals199(); init_Test194(); } function config186() { } function init_Test194() { local integer c942 c_942 = new_Cell180(); new_B714(); } function A_init141(integer this461) { } function construct_A394(integer this149) { A_init141(this_149); } function B_init154(integer this872) { } function new_B714() returns integer { local integer this183 this_183 = alloc_B857(); construct_B185(this_183); return this_183; } function construct_B185(integer this705) { construct_A394(this_705); B_init154(this_705); } function Cell_init209(integer this343) { } function new_Cell180() returns integer { local integer this495 this_495 = alloc_Cell709(); construct_Cell139(this_495); return this_495; } function construct_Cell139(integer this411) { Cell_init209(this_411); } function error393(string msg460) { $debugPrint183((msg_460 + (" " + #getStackTrace()))); } function alloc_B857() returns integer { local integer this664 if (A_firstFree_709 == 0) { if (A_maxIndex_214 < 32768) { A_maxIndex_214 = (A_maxIndex_214 + 1); this_664 = A_maxIndex_214; } else { error393("Out of memory: Could not create B."); this_664 = 0; }; } else { A_firstFree_709 = (A_firstFree_709 - 1); this_664 = A_nextFree_311[A_firstFree_709]; }; return this_664; } function alloc_Cell709() returns integer { local integer this476 if (Cell_firstFree_958 == 0) { if (Cell_maxIndex_120 < 32768) { Cell_maxIndex_120 = (Cell_maxIndex_120 + 1); this_476 = Cell_maxIndex_120; } else { error393("Out of memory: Could not create Cell."); this_476 = 0; }; } else { Cell_firstFree_958 = (Cell_firstFree_958 - 1); this_476 = Cell_nextFree_174[Cell_firstFree_958]; }; return this_476; }