array A_nextFree127 integer A_firstFree509 integer A_maxIndex139 array Cell_nextFree189 integer Cell_firstFree184 integer Cell_maxIndex208 integer A_firstFree509 = 0 integer A_maxIndex139 = 0 integer Cell_firstFree184 = 0 integer Cell_maxIndex208 = 0 function initGlobals103() { A_firstFree_509 = 0; A_maxIndex_139 = 0; Cell_firstFree_184 = 0; Cell_maxIndex_208 = 0; } function main185() { initGlobals103(); init_Test922(); } function config193() { } function init_Test922() { local integer c174 c_174 = new_Cell205(); new_B392(); } function A_init140(integer this129) { } function construct_A306(integer this133) { A_init140(this_133); } function B_init161(integer this144) { } function new_B392() returns integer { local integer this192 this_192 = alloc_B193(); construct_B182(this_192); return this_192; } function construct_B182(integer this806) { construct_A306(this_806); B_init161(this_806); } function Cell_init173(integer this172) { } function new_Cell205() returns integer { local integer this327 this_327 = alloc_Cell742(); construct_Cell102(this_327); return this_327; } function construct_Cell102(integer this128) { Cell_init173(this_128); } function error431(string msg172) { $debugPrint152((msg_172 + (" " + #getStackTrace()))); } function alloc_B193() returns integer { local integer this213 if (A_firstFree_509 == 0) { if (A_maxIndex_139 < 32768) { A_maxIndex_139 = (A_maxIndex_139 + 1); this_213 = A_maxIndex_139; } else { error431("Out of memory: Could not create B."); this_213 = 0; }; } else { A_firstFree_509 = (A_firstFree_509 - 1); this_213 = A_nextFree_127[A_firstFree_509]; }; return this_213; } function alloc_Cell742() returns integer { local integer this888 if (Cell_firstFree_184 == 0) { if (Cell_maxIndex_208 < 32768) { Cell_maxIndex_208 = (Cell_maxIndex_208 + 1); this_888 = Cell_maxIndex_208; } else { error431("Out of memory: Could not create Cell."); this_888 = 0; }; } else { Cell_firstFree_184 = (Cell_firstFree_184 - 1); this_888 = Cell_nextFree_189[Cell_firstFree_184]; }; return this_888; }