other bugs not captured in this diff:
I'm starting to gain some confidence that we reject illegal paths. But we're still rejecting some legal paths like candidate 56 in level 1.
3AOSRXSHG5UYYVLV5RIDCPEG2NB7H3K23QF7V6EOJCP24TVP5U6QC 3CIDHIL2YPGFIPMVPGROBQPUGPGF5OPDQXHSRCQ7EVLNKJ6XDNHQC BUPMQLGRZJFGYEY7DI7YV7V3URUE5HVT2AFQHQBG2GORLNSRW7VAC FKENDSMEJXEZPAT6K5TYJC2KZBVYKMXA7LN7ZVPZMYIBODWIB64AC DFYYOQMHA7M7WMELX5DHXP5DT5KGQLNJHXYDJZ5P5BIJCTCOQ7LQC AHABKD5VEK5RSTM3CME4XJAHCVTHYV2D2WAWUGSJ6PBUCUI7CB3AC GVX7YSQYURPWFSUWVUAORZJTQBJURWWNBNUGEZYFAUMX3X5LSACQC if curr ~= CELL_WALL and (curr ~= CELL_CRATE or crate_id[c.y][c.x] ~= crate.id) and (curr ~= CELL_CRATE_ON_TARGET or crate_id[c.y][c.x] ~= crate.id) then
Real_print('aaa', crate.id, curr, crate_id[c.y][c.x])if curr ~= CELL_WALL and (curr ~= CELL_CRATE or crate_id[c.y][c.x] == crate.id) and (curr ~= CELL_CRATE_ON_TARGET or crate_id[c.y][c.x] == crate.id) then