{"abstract":"Tall boxes are inserted into too few rows, wide boxes into too many.","category":"Collision detection broadphase","checks":8,"contract":"solve(boxes, cs): insert each box [id,minx,miny,maxx,maxy] into every grid cell floor(min/cs)..floor(max/cs) inclusive on both axes. Return [sorted unique canonical candidate pairs sharing a cell, total cell insertions, largest bucket size].","evaluation_group":"w2-collision_detection_broadphase-uniform-grid-candidates","failed_approach":"Using minx for the first row mixes axes the other way.","family":"w2-collision_detection_broadphase-uniform-grid-candidates-row-range-source","id":"FA-87381","implementations":{"attempt":{"sha256":"0c10af3d8c94a7892c2237e704f84ee0e027784ede49263b6def4ce1148c4532","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(boxes, cs):\n    grid = {}\n    inserts = 0\n    for b in boxes:\n        i0, i1 = math.floor(b[1] / cs), math.floor(b[3] / cs)\n        j0, j1 = math.floor(b[1] / cs), math.floor(b[4] / cs)\n        for i in range(i0, i1 + 1):\n            for j in range(j0, j1 + 1):\n                grid.setdefault((i, j), []).append(b[0])\n                inserts += 1\n    pairs = set()\n    for cell in grid.values():\n        for p in range(len(cell)):\n            for q in range(p + 1, len(cell)):\n                a, c = cell[p], cell[q]\n                pairs.add((min(a, c), max(a, c)))\n    return [sorted([list(p) for p in pairs]), inserts, max((len(v) for v in grid.values()), default=0)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[14, -1.0, -6.0, 1.0, -4.0], [11, 5.0, -3.0, 7.0, 1.0], [36, 1.0, 4.0, 1.0, 9.0]], 2.5], [[], 10, 1]], [[[[4, 5.0, 3.0, 5.0, 3.0], [32, -4.0, 4.0, -4.0, 7.0], [19, -2.0, 4.0, -1.0, 7.0], [23, -6.0, -6.0, -3.0, -2.0], [16, -1.0, 2.0, 1.0, 2.0]], 2.5], [[], 13, 1]], [[[[14, -2.5, 0.5, -2.5, 3.0], [38, 0.0, 2.0, 1.0, 3.0]], 1.0], [[], 8, 1]], [[[[31, -1.5, 0.0, 0.5, 0.0], [39, -2.5, 1.5, 0.0, 3.5]], 3.0], [[[31, 39]], 6, 2]], [[[[38, -0.5, 3.0, 0.0, 4.5], [37, -1.0, -3.0, -1.0, -2.5], [14, -1.5, -1.0, -1.0, -1.0], [18, 1.5, -1.0, 2.5, 0.5], [32, -3.0, 2.0, -0.5, 2.5], [16, 1.0, 3.0, 1.5, 3.0]], 2.0], [[[16, 38], [32, 38]], 13, 2]], [[[[13, 2.0, 3.0, 2.5, 5.5], [36, -3.0, 1.0, -3.0, 3.0]], 2.0], [[], 4, 1]], [[[[12, -2.5, -2.0, -2.0, -2.0], [8, -3.0, -2.5, -0.5, -1.5]], 3.0], [[[8, 12]], 2, 2]], [[[[7, 5.0, 1.0, 5.0, 4.0], [6, 0.0, -6.0, 5.0, -1.0], [22, 6.0, 6.0, 9.0, 10.0], [34, -1.0, 2.0, -1.0, 6.0], [1, 4.0, -5.0, 4.0, -2.0]], 2.5], [[[1, 6]], 22, 2]]], [[[[[20, 0.0, 1.0, 1.0, 1.0], [7, -1.0, -3.0, 2.0, -1.0], [10, 0.0, -2.0, 3.0, 0.0], [35, 5.0, 6.0, 7.0, 7.0], [32, 2.0, -4.0, 5.0, -2.0], [4, -6.0, 1.0, -6.0, 6.0]], 1.0], [[[7, 10], [7, 32], [10, 32]], 50, 3]], [[[[31, 1.0, -4.0, 2.0, -3.0], [34, 3.0, 0.0, 3.0, 2.0], [39, 3.0, 2.0, 3.0, 7.0], [18, 1.0, 3.0, 2.0, 4.0]], 3.0], [[[34, 39]], 7, 2]], [[[[2, -3.0, -0.5, -2.5, 2.0], [10, 1.0, -3.0, 2.0, -3.0], [36, 0.0, 0.5, 2.0, 0.5]], 2.0], [[], 7, 1]], [[[[6, -2.5, 2.5, -1.5, 4.0], [32, -2.5, 0.5, -0.5, 1.0], [29, 2.5, 0.0, 4.0, 1.5], [18, -2.5, -0.5, -1.0, 2.0]], 1.0], [[[6, 18], [18, 32]], 30, 2]], [[[[19, 3.0, 3.0, 4.5, 5.5], [18, 1.5, -2.0, 3.0, -1.0], [2, -1.5, 0.5, -1.0, 3.0], [27, 3.0, 1.5, 5.0, 3.5], [32, -3.0, 0.0, -2.5, 1.5], [34, -0.5, 2.5, 2.0, 2.5], [14, -1.0, 2.5, -0.5, 2.5]], 3.0], [[[2, 14], [2, 32], [2, 34], [14, 32], [14, 34], [19, 27], [32, 34]], 11, 4]], [[[[24, -4.0, 3.0, -4.0, 5.0], [19, 5.0, 1.0, 8.0, 6.0]], 2.5], [[], 8, 1]], [[[[1, 1.0, -6.0, 4.0, -1.0], [35, -5.0, 6.0, 0.0, 11.0], [13, 5.0, 4.0, 5.0, 7.0], [17, 4.0, 3.0, 4.0, 7.0]], 2.0], [[[13, 17]], 26, 2]], [[[[9, 1.0, 0.5, 3.5, 1.0], [16, -2.5, -3.0, -1.0, -0.5], [8, -3.0, 1.5, -1.0, 3.5], [28, -2.5, -2.5, -1.5, -1.5]], 3.0], [[[16, 28]], 6, 2]]], [[[[[21, 1.0, -1.0, 5.0, 2.0], [18, -6.0, 3.0, -3.0, 8.0], [29, 6.0, -1.0, 6.0, 2.0], [10, 5.0, 0.0, 7.0, 1.0], [30, 0.0, -4.0, 3.0, -3.0], [16, 2.0, 1.0, 7.0, 2.0]], 2.5], [[[10, 16], [10, 21], [10, 29], [16, 21], [16, 29], [21, 29]], 20, 4]], [[[[13, 1.0, 4.0, 4.0, 8.0], [39, 4.0, -4.0, 6.0, 1.0], [11, 0.0, 6.0, 0.0, 8.0], [15, -3.0, -3.0, 0.0, -1.0], [30, 2.0, -1.0, 2.0, 1.0], [31, -1.0, 0.0, -1.0, 5.0], [37, 6.0, 5.0, 6.0, 10.0], [7, 6.0, 3.0, 6.0, 8.0]], 3.0], [[[7, 37], [11, 13], [15, 30]], 22, 2]], [[[[7, 0.0, 1.0, 5.0, 2.0], [2, -4.0, -1.0, -1.0, 2.0]], 3.0], [[], 6, 1]], [[[[22, 1.0, -5.0, 3.0, -1.0], [35, -5.0, -6.0, -1.0, -1.0], [16, -1.0, -2.0, -1.0, 2.0], [1, 4.0, 2.0, 9.0, 3.0], [24, 5.0, -3.0, 7.0, 0.0], [5, 4.0, 1.0, 5.0, 1.0]], 2.5], [[[1, 5], [1, 24], [5, 24], [16, 35]], 23, 3]], [[[[13, -0.5, 1.0, 0.0, 2.0], [22, -1.0, -1.5, -0.5, -0.5], [32, 3.0, -2.0, 3.0, -0.5]], 2.0], [[], 6, 1]], [[[[23, -2.0, 3.0, -0.5, 3.5], [26, 3.0, 2.0, 5.5, 3.0], [38, -1.5, 0.0, 0.0, 0.0], [4, 1.5, 2.5, 4.0, 5.0]], 1.0], [[[4, 26]], 27, 2]], [[[[34, 2.0, 4.0, 7.0, 8.0], [3, 5.0, -3.0, 9.0, 1.0], [15, -3.0, 1.0, 2.0, 2.0], [24, -5.0, -1.0, -1.0, -1.0]], 3.0], [[], 16, 1]], [[[[1, 4.0, -2.0, 8.0, 3.0], [19, -6.0, 3.0, -4.0, 6.0]], 3.0], [[], 8, 1]]], [[[[[32, 3.0, -5.0, 4.0, -3.0], [30, 2.0, 4.0, 6.0, 9.0], [11, 0.0, -4.0, 0.0, -1.0]], 2.5], [[], 12, 1]], [[[[33, 2.0, 0.0, 5.0, 1.0], [26, 1.0, -1.0, 1.0, 0.0], [29, -5.0, 2.0, -4.0, 5.0]], 2.0], [[], 8, 1]], [[[[22, -0.5, -2.5, 1.0, -1.0], [14, 2.0, -2.0, 2.0, -2.0], [24, 2.5, 0.5, 3.0, 1.5], [5, -1.5, 3.0, 1.0, 5.0], [19, -1.0, -1.5, 1.0, -1.0], [17, -0.5, -2.5, 1.5, -0.5], [33, 3.0, 3.0, 5.5, 5.5]], 1.0], [[[17, 19], [17, 22], [19, 22]], 50, 3]], [[[[33, 5.0, 4.0, 6.0, 9.0], [23, -6.0, 0.0, -6.0, 5.0]], 3.0], [[], 8, 1]], [[[[23, -4.0, 4.0, -4.0, 7.0], [25, 5.0, 4.0, 9.0, 6.0]], 2.5], [[], 6, 1]], [[[[32, 2.0, -1.0, 2.0, 0.0], [15, 2.5, 1.0, 4.0, 2.5], [34, -2.0, 2.5, 0.0, 5.0], [1, 2.0, 1.5, 2.5, 2.5]], 3.0], [[[1, 15], [1, 32], [1, 34], [15, 32], [15, 34], [32, 34]], 9, 4]], [[[[28, -2.0, 3.0, -2.0, 3.5], [14, 1.0, 3.0, 1.5, 4.5], [12, 2.5, -1.5, 4.0, -0.5], [33, 0.0, 2.5, 1.0, 2.5], [6, -2.0, 1.0, -0.5, 1.5], [17, 1.0, 0.5, 2.5, 2.5]], 3.0], [[[17, 33]], 7, 2]], [[[[22, 1.0, 3.0, 3.0, 6.0], [10, -6.0, 1.0, -2.0, 5.0], [2, 5.0, 5.0, 10.0, 6.0], [20, 1.0, -4.0, 4.0, -2.0]], 1.0], [[], 61, 1]]], [[[[[18, 3.0, 3.0, 4.0, 4.0], [25, 3.0, 0.5, 5.0, 3.0], [15, -2.0, -0.5, -1.5, 1.0], [21, 0.0, 2.5, 0.5, 4.0], [6, 3.0, 0.5, 5.5, 3.0], [29, -3.0, 1.0, -0.5, 1.5], [11, -1.5, 2.0, 0.5, 3.0], [10, 0.5, -0.5, 2.5, 0.0]], 1.0], [[[6, 18], [6, 25], [11, 21], [15, 29], [18, 25]], 49, 3]], [[[[27, 0.0, 4.0, 2.0, 6.0], [26, -2.0, 5.0, -1.0, 5.0], [14, 1.0, 6.0, 1.0, 7.0]], 1.0], [[[14, 27]], 13, 2]], [[[[9, -6.0, 2.0, -3.0, 3.0], [13, -6.0, 3.0, -3.0, 5.0], [11, 1.0, -6.0, 4.0, -5.0], [35, 2.0, 1.0, 4.0, 3.0], [24, -1.0, -3.0, 4.0, 0.0], [39, 3.0, 1.0, 4.0, 6.0]], 2.5], [[[9, 13], [11, 24], [24, 35], [24, 39], [35, 39]], 28, 3]], [[[[12, 6.0, -3.0, 8.0, -2.0], [23, 2.0, 6.0, 5.0, 8.0], [11, -3.0, 0.0, 1.0, 4.0], [10, -3.0, -1.0, -1.0, 2.0], [29, -5.0, -4.0, 0.0, -4.0], [6, 1.0, -1.0, 1.0, 2.0], [38, 5.0, 1.0, 10.0, 3.0]], 2.5], [[[6, 11], [10, 11]], 31, 2]], [[[[35, 0.0, 0.0, 0.0, 4.0], [18, -1.0, -6.0, 3.0, -6.0], [6, 3.0, 4.0, 5.0, 8.0], [25, 4.0, -4.0, 6.0, -2.0], [36, 2.0, -6.0, 7.0, -5.0], [21, 0.0, 4.0, 4.0, 6.0], [29, 4.0, -2.0, 9.0, 3.0], [34, 3.0, -2.0, 7.0, 0.0], [33, 5.0, -4.0, 5.0, -3.0], [15, 4.0, 0.0, 4.0, 5.0]], 2.5], [[[6, 15], [6, 21], [6, 29], [15, 21], [15, 29], [15, 34], [18, 36], [21, 29], [21, 35], [25, 29], [25, 33], [25, 34], [25, 36], [29, 34], [33, 36]], 42, 4]], [[[[4, -1.0, -2.0, 0.5, -0.5], [34, -3.0, -2.0, -1.5, 0.0], [26, 2.0, 2.5, 2.5, 3.0], [5, 1.5, -0.5, 3.5, 1.5]], 3.0], [[[4, 5], [4, 34], [5, 26]], 10, 2]], [[[[37, 0.0, 2.5, 1.5, 2.5], [14, 2.0, -0.5, 3.0, 0.5]], 2.0], [[], 3, 1]], [[[[27, 3.0, -6.0, 6.0, -1.0], [29, 1.0, 3.0, 4.0, 3.0], [10, -3.0, 1.0, 0.0, 1.0]], 2.0], [[], 15, 1]]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"case %d\" % i, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"ba91ff9672466a5293dd6722fa981f48d3517dcf66d5513d8b92c92245ecd2cd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(boxes, cs):\n    grid = {}\n    inserts = 0\n    for b in boxes:\n        i0, i1 = math.floor(b[1] / cs), math.floor(b[3] / cs)\n        j0, j1 = math.floor(b[2] / cs), math.floor(b[3] / cs)\n        for i in range(i0, i1 + 1):\n            for j in range(j0, j1 + 1):\n                grid.setdefault((i, j), []).append(b[0])\n                inserts += 1\n    pairs = set()\n    for cell in grid.values():\n        for p in range(len(cell)):\n            for q in range(p + 1, len(cell)):\n                a, c = cell[p], cell[q]\n                pairs.add((min(a, c), max(a, c)))\n    return [sorted([list(p) for p in pairs]), inserts, max((len(v) for v in grid.values()), default=0)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[14, -1.0, -6.0, 1.0, -4.0], [11, 5.0, -3.0, 7.0, 1.0], [36, 1.0, 4.0, 1.0, 9.0]], 2.5], [[], 10, 1]], [[[[4, 5.0, 3.0, 5.0, 3.0], [32, -4.0, 4.0, -4.0, 7.0], [19, -2.0, 4.0, -1.0, 7.0], [23, -6.0, -6.0, -3.0, -2.0], [16, -1.0, 2.0, 1.0, 2.0]], 2.5], [[], 13, 1]], [[[[14, -2.5, 0.5, -2.5, 3.0], [38, 0.0, 2.0, 1.0, 3.0]], 1.0], [[], 8, 1]], [[[[31, -1.5, 0.0, 0.5, 0.0], [39, -2.5, 1.5, 0.0, 3.5]], 3.0], [[[31, 39]], 6, 2]], [[[[38, -0.5, 3.0, 0.0, 4.5], [37, -1.0, -3.0, -1.0, -2.5], [14, -1.5, -1.0, -1.0, -1.0], [18, 1.5, -1.0, 2.5, 0.5], [32, -3.0, 2.0, -0.5, 2.5], [16, 1.0, 3.0, 1.5, 3.0]], 2.0], [[[16, 38], [32, 38]], 13, 2]], [[[[13, 2.0, 3.0, 2.5, 5.5], [36, -3.0, 1.0, -3.0, 3.0]], 2.0], [[], 4, 1]], [[[[12, -2.5, -2.0, -2.0, -2.0], [8, -3.0, -2.5, -0.5, -1.5]], 3.0], [[[8, 12]], 2, 2]], [[[[7, 5.0, 1.0, 5.0, 4.0], [6, 0.0, -6.0, 5.0, -1.0], [22, 6.0, 6.0, 9.0, 10.0], [34, -1.0, 2.0, -1.0, 6.0], [1, 4.0, -5.0, 4.0, -2.0]], 2.5], [[[1, 6]], 22, 2]]], [[[[[20, 0.0, 1.0, 1.0, 1.0], [7, -1.0, -3.0, 2.0, -1.0], [10, 0.0, -2.0, 3.0, 0.0], [35, 5.0, 6.0, 7.0, 7.0], [32, 2.0, -4.0, 5.0, -2.0], [4, -6.0, 1.0, -6.0, 6.0]], 1.0], [[[7, 10], [7, 32], [10, 32]], 50, 3]], [[[[31, 1.0, -4.0, 2.0, -3.0], [34, 3.0, 0.0, 3.0, 2.0], [39, 3.0, 2.0, 3.0, 7.0], [18, 1.0, 3.0, 2.0, 4.0]], 3.0], [[[34, 39]], 7, 2]], [[[[2, -3.0, -0.5, -2.5, 2.0], [10, 1.0, -3.0, 2.0, -3.0], [36, 0.0, 0.5, 2.0, 0.5]], 2.0], [[], 7, 1]], [[[[6, -2.5, 2.5, -1.5, 4.0], [32, -2.5, 0.5, -0.5, 1.0], [29, 2.5, 0.0, 4.0, 1.5], [18, -2.5, -0.5, -1.0, 2.0]], 1.0], [[[6, 18], [18, 32]], 30, 2]], [[[[19, 3.0, 3.0, 4.5, 5.5], [18, 1.5, -2.0, 3.0, -1.0], [2, -1.5, 0.5, -1.0, 3.0], [27, 3.0, 1.5, 5.0, 3.5], [32, -3.0, 0.0, -2.5, 1.5], [34, -0.5, 2.5, 2.0, 2.5], [14, -1.0, 2.5, -0.5, 2.5]], 3.0], [[[2, 14], [2, 32], [2, 34], [14, 32], [14, 34], [19, 27], [32, 34]], 11, 4]], [[[[24, -4.0, 3.0, -4.0, 5.0], [19, 5.0, 1.0, 8.0, 6.0]], 2.5], [[], 8, 1]], [[[[1, 1.0, -6.0, 4.0, -1.0], [35, -5.0, 6.0, 0.0, 11.0], [13, 5.0, 4.0, 5.0, 7.0], [17, 4.0, 3.0, 4.0, 7.0]], 2.0], [[[13, 17]], 26, 2]], [[[[9, 1.0, 0.5, 3.5, 1.0], [16, -2.5, -3.0, -1.0, -0.5], [8, -3.0, 1.5, -1.0, 3.5], [28, -2.5, -2.5, -1.5, -1.5]], 3.0], [[[16, 28]], 6, 2]]], [[[[[21, 1.0, -1.0, 5.0, 2.0], [18, -6.0, 3.0, -3.0, 8.0], [29, 6.0, -1.0, 6.0, 2.0], [10, 5.0, 0.0, 7.0, 1.0], [30, 0.0, -4.0, 3.0, -3.0], [16, 2.0, 1.0, 7.0, 2.0]], 2.5], [[[10, 16], [10, 21], [10, 29], [16, 21], [16, 29], [21, 29]], 20, 4]], [[[[13, 1.0, 4.0, 4.0, 8.0], [39, 4.0, -4.0, 6.0, 1.0], [11, 0.0, 6.0, 0.0, 8.0], [15, -3.0, -3.0, 0.0, -1.0], [30, 2.0, -1.0, 2.0, 1.0], [31, -1.0, 0.0, -1.0, 5.0], [37, 6.0, 5.0, 6.0, 10.0], [7, 6.0, 3.0, 6.0, 8.0]], 3.0], [[[7, 37], [11, 13], [15, 30]], 22, 2]], [[[[7, 0.0, 1.0, 5.0, 2.0], [2, -4.0, -1.0, -1.0, 2.0]], 3.0], [[], 6, 1]], [[[[22, 1.0, -5.0, 3.0, -1.0], [35, -5.0, -6.0, -1.0, -1.0], [16, -1.0, -2.0, -1.0, 2.0], [1, 4.0, 2.0, 9.0, 3.0], [24, 5.0, -3.0, 7.0, 0.0], [5, 4.0, 1.0, 5.0, 1.0]], 2.5], [[[1, 5], [1, 24], [5, 24], [16, 35]], 23, 3]], [[[[13, -0.5, 1.0, 0.0, 2.0], [22, -1.0, -1.5, -0.5, -0.5], [32, 3.0, -2.0, 3.0, -0.5]], 2.0], [[], 6, 1]], [[[[23, -2.0, 3.0, -0.5, 3.5], [26, 3.0, 2.0, 5.5, 3.0], [38, -1.5, 0.0, 0.0, 0.0], [4, 1.5, 2.5, 4.0, 5.0]], 1.0], [[[4, 26]], 27, 2]], [[[[34, 2.0, 4.0, 7.0, 8.0], [3, 5.0, -3.0, 9.0, 1.0], [15, -3.0, 1.0, 2.0, 2.0], [24, -5.0, -1.0, -1.0, -1.0]], 3.0], [[], 16, 1]], [[[[1, 4.0, -2.0, 8.0, 3.0], [19, -6.0, 3.0, -4.0, 6.0]], 3.0], [[], 8, 1]]], [[[[[32, 3.0, -5.0, 4.0, -3.0], [30, 2.0, 4.0, 6.0, 9.0], [11, 0.0, -4.0, 0.0, -1.0]], 2.5], [[], 12, 1]], [[[[33, 2.0, 0.0, 5.0, 1.0], [26, 1.0, -1.0, 1.0, 0.0], [29, -5.0, 2.0, -4.0, 5.0]], 2.0], [[], 8, 1]], [[[[22, -0.5, -2.5, 1.0, -1.0], [14, 2.0, -2.0, 2.0, -2.0], [24, 2.5, 0.5, 3.0, 1.5], [5, -1.5, 3.0, 1.0, 5.0], [19, -1.0, -1.5, 1.0, -1.0], [17, -0.5, -2.5, 1.5, -0.5], [33, 3.0, 3.0, 5.5, 5.5]], 1.0], [[[17, 19], [17, 22], [19, 22]], 50, 3]], [[[[33, 5.0, 4.0, 6.0, 9.0], [23, -6.0, 0.0, -6.0, 5.0]], 3.0], [[], 8, 1]], [[[[23, -4.0, 4.0, -4.0, 7.0], [25, 5.0, 4.0, 9.0, 6.0]], 2.5], [[], 6, 1]], [[[[32, 2.0, -1.0, 2.0, 0.0], [15, 2.5, 1.0, 4.0, 2.5], [34, -2.0, 2.5, 0.0, 5.0], [1, 2.0, 1.5, 2.5, 2.5]], 3.0], [[[1, 15], [1, 32], [1, 34], [15, 32], [15, 34], [32, 34]], 9, 4]], [[[[28, -2.0, 3.0, -2.0, 3.5], [14, 1.0, 3.0, 1.5, 4.5], [12, 2.5, -1.5, 4.0, -0.5], [33, 0.0, 2.5, 1.0, 2.5], [6, -2.0, 1.0, -0.5, 1.5], [17, 1.0, 0.5, 2.5, 2.5]], 3.0], [[[17, 33]], 7, 2]], [[[[22, 1.0, 3.0, 3.0, 6.0], [10, -6.0, 1.0, -2.0, 5.0], [2, 5.0, 5.0, 10.0, 6.0], [20, 1.0, -4.0, 4.0, -2.0]], 1.0], [[], 61, 1]]], [[[[[18, 3.0, 3.0, 4.0, 4.0], [25, 3.0, 0.5, 5.0, 3.0], [15, -2.0, -0.5, -1.5, 1.0], [21, 0.0, 2.5, 0.5, 4.0], [6, 3.0, 0.5, 5.5, 3.0], [29, -3.0, 1.0, -0.5, 1.5], [11, -1.5, 2.0, 0.5, 3.0], [10, 0.5, -0.5, 2.5, 0.0]], 1.0], [[[6, 18], [6, 25], [11, 21], [15, 29], [18, 25]], 49, 3]], [[[[27, 0.0, 4.0, 2.0, 6.0], [26, -2.0, 5.0, -1.0, 5.0], [14, 1.0, 6.0, 1.0, 7.0]], 1.0], [[[14, 27]], 13, 2]], [[[[9, -6.0, 2.0, -3.0, 3.0], [13, -6.0, 3.0, -3.0, 5.0], [11, 1.0, -6.0, 4.0, -5.0], [35, 2.0, 1.0, 4.0, 3.0], [24, -1.0, -3.0, 4.0, 0.0], [39, 3.0, 1.0, 4.0, 6.0]], 2.5], [[[9, 13], [11, 24], [24, 35], [24, 39], [35, 39]], 28, 3]], [[[[12, 6.0, -3.0, 8.0, -2.0], [23, 2.0, 6.0, 5.0, 8.0], [11, -3.0, 0.0, 1.0, 4.0], [10, -3.0, -1.0, -1.0, 2.0], [29, -5.0, -4.0, 0.0, -4.0], [6, 1.0, -1.0, 1.0, 2.0], [38, 5.0, 1.0, 10.0, 3.0]], 2.5], [[[6, 11], [10, 11]], 31, 2]], [[[[35, 0.0, 0.0, 0.0, 4.0], [18, -1.0, -6.0, 3.0, -6.0], [6, 3.0, 4.0, 5.0, 8.0], [25, 4.0, -4.0, 6.0, -2.0], [36, 2.0, -6.0, 7.0, -5.0], [21, 0.0, 4.0, 4.0, 6.0], [29, 4.0, -2.0, 9.0, 3.0], [34, 3.0, -2.0, 7.0, 0.0], [33, 5.0, -4.0, 5.0, -3.0], [15, 4.0, 0.0, 4.0, 5.0]], 2.5], [[[6, 15], [6, 21], [6, 29], [15, 21], [15, 29], [15, 34], [18, 36], [21, 29], [21, 35], [25, 29], [25, 33], [25, 34], [25, 36], [29, 34], [33, 36]], 42, 4]], [[[[4, -1.0, -2.0, 0.5, -0.5], [34, -3.0, -2.0, -1.5, 0.0], [26, 2.0, 2.5, 2.5, 3.0], [5, 1.5, -0.5, 3.5, 1.5]], 3.0], [[[4, 5], [4, 34], [5, 26]], 10, 2]], [[[[37, 0.0, 2.5, 1.5, 2.5], [14, 2.0, -0.5, 3.0, 0.5]], 2.0], [[], 3, 1]], [[[[27, 3.0, -6.0, 6.0, -1.0], [29, 1.0, 3.0, 4.0, 3.0], [10, -3.0, 1.0, 0.0, 1.0]], 2.0], [[], 15, 1]]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"case %d\" % i, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"84374a5d3ca965c6e9ac94ae752e6a05f6a0088e4e65f3295c54228e1ddcf2e9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(boxes, cs):\n    grid = {}\n    inserts = 0\n    for b in boxes:\n        i0, i1 = math.floor(b[1] / cs), math.floor(b[3] / cs)\n        j0, j1 = math.floor(b[2] / cs), math.floor(b[4] / cs)\n        for i in range(i0, i1 + 1):\n            for j in range(j0, j1 + 1):\n                grid.setdefault((i, j), []).append(b[0])\n                inserts += 1\n    pairs = set()\n    for cell in grid.values():\n        for p in range(len(cell)):\n            for q in range(p + 1, len(cell)):\n                a, c = cell[p], cell[q]\n                pairs.add((min(a, c), max(a, c)))\n    return [sorted([list(p) for p in pairs]), inserts, max((len(v) for v in grid.values()), default=0)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[14, -1.0, -6.0, 1.0, -4.0], [11, 5.0, -3.0, 7.0, 1.0], [36, 1.0, 4.0, 1.0, 9.0]], 2.5], [[], 10, 1]], [[[[4, 5.0, 3.0, 5.0, 3.0], [32, -4.0, 4.0, -4.0, 7.0], [19, -2.0, 4.0, -1.0, 7.0], [23, -6.0, -6.0, -3.0, -2.0], [16, -1.0, 2.0, 1.0, 2.0]], 2.5], [[], 13, 1]], [[[[14, -2.5, 0.5, -2.5, 3.0], [38, 0.0, 2.0, 1.0, 3.0]], 1.0], [[], 8, 1]], [[[[31, -1.5, 0.0, 0.5, 0.0], [39, -2.5, 1.5, 0.0, 3.5]], 3.0], [[[31, 39]], 6, 2]], [[[[38, -0.5, 3.0, 0.0, 4.5], [37, -1.0, -3.0, -1.0, -2.5], [14, -1.5, -1.0, -1.0, -1.0], [18, 1.5, -1.0, 2.5, 0.5], [32, -3.0, 2.0, -0.5, 2.5], [16, 1.0, 3.0, 1.5, 3.0]], 2.0], [[[16, 38], [32, 38]], 13, 2]], [[[[13, 2.0, 3.0, 2.5, 5.5], [36, -3.0, 1.0, -3.0, 3.0]], 2.0], [[], 4, 1]], [[[[12, -2.5, -2.0, -2.0, -2.0], [8, -3.0, -2.5, -0.5, -1.5]], 3.0], [[[8, 12]], 2, 2]], [[[[7, 5.0, 1.0, 5.0, 4.0], [6, 0.0, -6.0, 5.0, -1.0], [22, 6.0, 6.0, 9.0, 10.0], [34, -1.0, 2.0, -1.0, 6.0], [1, 4.0, -5.0, 4.0, -2.0]], 2.5], [[[1, 6]], 22, 2]]], [[[[[20, 0.0, 1.0, 1.0, 1.0], [7, -1.0, -3.0, 2.0, -1.0], [10, 0.0, -2.0, 3.0, 0.0], [35, 5.0, 6.0, 7.0, 7.0], [32, 2.0, -4.0, 5.0, -2.0], [4, -6.0, 1.0, -6.0, 6.0]], 1.0], [[[7, 10], [7, 32], [10, 32]], 50, 3]], [[[[31, 1.0, -4.0, 2.0, -3.0], [34, 3.0, 0.0, 3.0, 2.0], [39, 3.0, 2.0, 3.0, 7.0], [18, 1.0, 3.0, 2.0, 4.0]], 3.0], [[[34, 39]], 7, 2]], [[[[2, -3.0, -0.5, -2.5, 2.0], [10, 1.0, -3.0, 2.0, -3.0], [36, 0.0, 0.5, 2.0, 0.5]], 2.0], [[], 7, 1]], [[[[6, -2.5, 2.5, -1.5, 4.0], [32, -2.5, 0.5, -0.5, 1.0], [29, 2.5, 0.0, 4.0, 1.5], [18, -2.5, -0.5, -1.0, 2.0]], 1.0], [[[6, 18], [18, 32]], 30, 2]], [[[[19, 3.0, 3.0, 4.5, 5.5], [18, 1.5, -2.0, 3.0, -1.0], [2, -1.5, 0.5, -1.0, 3.0], [27, 3.0, 1.5, 5.0, 3.5], [32, -3.0, 0.0, -2.5, 1.5], [34, -0.5, 2.5, 2.0, 2.5], [14, -1.0, 2.5, -0.5, 2.5]], 3.0], [[[2, 14], [2, 32], [2, 34], [14, 32], [14, 34], [19, 27], [32, 34]], 11, 4]], [[[[24, -4.0, 3.0, -4.0, 5.0], [19, 5.0, 1.0, 8.0, 6.0]], 2.5], [[], 8, 1]], [[[[1, 1.0, -6.0, 4.0, -1.0], [35, -5.0, 6.0, 0.0, 11.0], [13, 5.0, 4.0, 5.0, 7.0], [17, 4.0, 3.0, 4.0, 7.0]], 2.0], [[[13, 17]], 26, 2]], [[[[9, 1.0, 0.5, 3.5, 1.0], [16, -2.5, -3.0, -1.0, -0.5], [8, -3.0, 1.5, -1.0, 3.5], [28, -2.5, -2.5, -1.5, -1.5]], 3.0], [[[16, 28]], 6, 2]]], [[[[[21, 1.0, -1.0, 5.0, 2.0], [18, -6.0, 3.0, -3.0, 8.0], [29, 6.0, -1.0, 6.0, 2.0], [10, 5.0, 0.0, 7.0, 1.0], [30, 0.0, -4.0, 3.0, -3.0], [16, 2.0, 1.0, 7.0, 2.0]], 2.5], [[[10, 16], [10, 21], [10, 29], [16, 21], [16, 29], [21, 29]], 20, 4]], [[[[13, 1.0, 4.0, 4.0, 8.0], [39, 4.0, -4.0, 6.0, 1.0], [11, 0.0, 6.0, 0.0, 8.0], [15, -3.0, -3.0, 0.0, -1.0], [30, 2.0, -1.0, 2.0, 1.0], [31, -1.0, 0.0, -1.0, 5.0], [37, 6.0, 5.0, 6.0, 10.0], [7, 6.0, 3.0, 6.0, 8.0]], 3.0], [[[7, 37], [11, 13], [15, 30]], 22, 2]], [[[[7, 0.0, 1.0, 5.0, 2.0], [2, -4.0, -1.0, -1.0, 2.0]], 3.0], [[], 6, 1]], [[[[22, 1.0, -5.0, 3.0, -1.0], [35, -5.0, -6.0, -1.0, -1.0], [16, -1.0, -2.0, -1.0, 2.0], [1, 4.0, 2.0, 9.0, 3.0], [24, 5.0, -3.0, 7.0, 0.0], [5, 4.0, 1.0, 5.0, 1.0]], 2.5], [[[1, 5], [1, 24], [5, 24], [16, 35]], 23, 3]], [[[[13, -0.5, 1.0, 0.0, 2.0], [22, -1.0, -1.5, -0.5, -0.5], [32, 3.0, -2.0, 3.0, -0.5]], 2.0], [[], 6, 1]], [[[[23, -2.0, 3.0, -0.5, 3.5], [26, 3.0, 2.0, 5.5, 3.0], [38, -1.5, 0.0, 0.0, 0.0], [4, 1.5, 2.5, 4.0, 5.0]], 1.0], [[[4, 26]], 27, 2]], [[[[34, 2.0, 4.0, 7.0, 8.0], [3, 5.0, -3.0, 9.0, 1.0], [15, -3.0, 1.0, 2.0, 2.0], [24, -5.0, -1.0, -1.0, -1.0]], 3.0], [[], 16, 1]], [[[[1, 4.0, -2.0, 8.0, 3.0], [19, -6.0, 3.0, -4.0, 6.0]], 3.0], [[], 8, 1]]], [[[[[32, 3.0, -5.0, 4.0, -3.0], [30, 2.0, 4.0, 6.0, 9.0], [11, 0.0, -4.0, 0.0, -1.0]], 2.5], [[], 12, 1]], [[[[33, 2.0, 0.0, 5.0, 1.0], [26, 1.0, -1.0, 1.0, 0.0], [29, -5.0, 2.0, -4.0, 5.0]], 2.0], [[], 8, 1]], [[[[22, -0.5, -2.5, 1.0, -1.0], [14, 2.0, -2.0, 2.0, -2.0], [24, 2.5, 0.5, 3.0, 1.5], [5, -1.5, 3.0, 1.0, 5.0], [19, -1.0, -1.5, 1.0, -1.0], [17, -0.5, -2.5, 1.5, -0.5], [33, 3.0, 3.0, 5.5, 5.5]], 1.0], [[[17, 19], [17, 22], [19, 22]], 50, 3]], [[[[33, 5.0, 4.0, 6.0, 9.0], [23, -6.0, 0.0, -6.0, 5.0]], 3.0], [[], 8, 1]], [[[[23, -4.0, 4.0, -4.0, 7.0], [25, 5.0, 4.0, 9.0, 6.0]], 2.5], [[], 6, 1]], [[[[32, 2.0, -1.0, 2.0, 0.0], [15, 2.5, 1.0, 4.0, 2.5], [34, -2.0, 2.5, 0.0, 5.0], [1, 2.0, 1.5, 2.5, 2.5]], 3.0], [[[1, 15], [1, 32], [1, 34], [15, 32], [15, 34], [32, 34]], 9, 4]], [[[[28, -2.0, 3.0, -2.0, 3.5], [14, 1.0, 3.0, 1.5, 4.5], [12, 2.5, -1.5, 4.0, -0.5], [33, 0.0, 2.5, 1.0, 2.5], [6, -2.0, 1.0, -0.5, 1.5], [17, 1.0, 0.5, 2.5, 2.5]], 3.0], [[[17, 33]], 7, 2]], [[[[22, 1.0, 3.0, 3.0, 6.0], [10, -6.0, 1.0, -2.0, 5.0], [2, 5.0, 5.0, 10.0, 6.0], [20, 1.0, -4.0, 4.0, -2.0]], 1.0], [[], 61, 1]]], [[[[[18, 3.0, 3.0, 4.0, 4.0], [25, 3.0, 0.5, 5.0, 3.0], [15, -2.0, -0.5, -1.5, 1.0], [21, 0.0, 2.5, 0.5, 4.0], [6, 3.0, 0.5, 5.5, 3.0], [29, -3.0, 1.0, -0.5, 1.5], [11, -1.5, 2.0, 0.5, 3.0], [10, 0.5, -0.5, 2.5, 0.0]], 1.0], [[[6, 18], [6, 25], [11, 21], [15, 29], [18, 25]], 49, 3]], [[[[27, 0.0, 4.0, 2.0, 6.0], [26, -2.0, 5.0, -1.0, 5.0], [14, 1.0, 6.0, 1.0, 7.0]], 1.0], [[[14, 27]], 13, 2]], [[[[9, -6.0, 2.0, -3.0, 3.0], [13, -6.0, 3.0, -3.0, 5.0], [11, 1.0, -6.0, 4.0, -5.0], [35, 2.0, 1.0, 4.0, 3.0], [24, -1.0, -3.0, 4.0, 0.0], [39, 3.0, 1.0, 4.0, 6.0]], 2.5], [[[9, 13], [11, 24], [24, 35], [24, 39], [35, 39]], 28, 3]], [[[[12, 6.0, -3.0, 8.0, -2.0], [23, 2.0, 6.0, 5.0, 8.0], [11, -3.0, 0.0, 1.0, 4.0], [10, -3.0, -1.0, -1.0, 2.0], [29, -5.0, -4.0, 0.0, -4.0], [6, 1.0, -1.0, 1.0, 2.0], [38, 5.0, 1.0, 10.0, 3.0]], 2.5], [[[6, 11], [10, 11]], 31, 2]], [[[[35, 0.0, 0.0, 0.0, 4.0], [18, -1.0, -6.0, 3.0, -6.0], [6, 3.0, 4.0, 5.0, 8.0], [25, 4.0, -4.0, 6.0, -2.0], [36, 2.0, -6.0, 7.0, -5.0], [21, 0.0, 4.0, 4.0, 6.0], [29, 4.0, -2.0, 9.0, 3.0], [34, 3.0, -2.0, 7.0, 0.0], [33, 5.0, -4.0, 5.0, -3.0], [15, 4.0, 0.0, 4.0, 5.0]], 2.5], [[[6, 15], [6, 21], [6, 29], [15, 21], [15, 29], [15, 34], [18, 36], [21, 29], [21, 35], [25, 29], [25, 33], [25, 34], [25, 36], [29, 34], [33, 36]], 42, 4]], [[[[4, -1.0, -2.0, 0.5, -0.5], [34, -3.0, -2.0, -1.5, 0.0], [26, 2.0, 2.5, 2.5, 3.0], [5, 1.5, -0.5, 3.5, 1.5]], 3.0], [[[4, 5], [4, 34], [5, 26]], 10, 2]], [[[[37, 0.0, 2.5, 1.5, 2.5], [14, 2.0, -0.5, 3.0, 0.5]], 2.0], [[], 3, 1]], [[[[27, 3.0, -6.0, 6.0, -1.0], [29, 1.0, 3.0, 4.0, 3.0], [10, -3.0, 1.0, 0.0, 1.0]], 2.0], [[], 15, 1]]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"case %d\" % i, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic bounded teaching model with stipulated toy conventions; not a production physics engine or spatial index. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-collision_detection_broadphase-uniform-grid-candidates-row-range-source","generated_at":"2026-09-29T14:50:58.298833+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Broadphase stages decide which object pairs ever reach narrowphase; a wrong boundary, ordering or bookkeeping rule silently drops real contacts or floods the solver with false candidates.","repair":"Rows run from floor(miny/cs) to floor(maxy/cs).","root_cause":"j1 is computed from maxx.","sha256":"d75eea2f3d1e7799c5fb961e7354f6c17b339a7fdfefcb7d3fdb4df980c5c9bf","title":"Grid row range uses the maximum x as maximum y · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.779,"exit_code":1,"observations":[{"actual":[[],4,1],"check":"case 0","expected":[[],10,1],"passed":false},{"actual":[[[16,19],[23,32]],19,2],"check":"case 1","expected":[[],13,1],"passed":false},{"actual":[[],15,1],"check":"case 2","expected":[[],8,1],"passed":false},{"actual":[[[31,39]],10,2],"check":"case 3","expected":[[[31,39]],6,2],"passed":false},{"actual":[[[14,32],[14,38],[16,18],[16,38],[18,38],[32,38]],21,3],"check":"case 4","expected":[[[16,38],[32,38]],13,2],"passed":false},{"actual":[[],6,1],"check":"case 5","expected":[[],4,1],"passed":false},{"actual":[[[8,12]],2,2],"check":"case 6","expected":[[[8,12]],2,2],"passed":true},{"actual":[[],10,1],"check":"case 7","expected":[[[1,6]],22,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [[], 4, 1], \"expected\": [[], 10, 1], \"passed\": false}, {\"check\": \"case 1\", \"actual\": [[[16, 19], [23, 32]], 19, 2], \"expected\": [[], 13, 1], \"passed\": false}, {\"check\": \"case 2\", \"actual\": [[], 15, 1], \"expected\": [[], 8, 1], \"passed\": false}, {\"check\": \"case 3\", \"actual\": [[[31, 39]], 10, 2], \"expected\": [[[31, 39]], 6, 2], \"passed\": false}, {\"check\": \"case 4\", \"actual\": [[[14, 32], [14, 38], [16, 18], [16, 38], [18, 38], [32, 38]], 21, 3], \"expected\": [[[16, 38], [32, 38]], 13, 2], \"passed\": false}, {\"check\": \"case 5\", \"actual\": [[], 6, 1], \"expected\": [[], 4, 1], \"passed\": false}, {\"check\": \"case 6\", \"actual\": [[[8, 12]], 2, 2], \"expected\": [[[8, 12]], 2, 2], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [[], 10, 1], \"expected\": [[[1, 6]], 22, 2], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.835,"exit_code":1,"observations":[{"actual":[[],13,1],"check":"case 0","expected":[[],10,1],"passed":false},{"actual":[[],8,1],"check":"case 1","expected":[[],13,1],"passed":false},{"actual":[[],0,0],"check":"case 2","expected":[[],8,1],"passed":false},{"actual":[[[31,39]],4,2],"check":"case 3","expected":[[[31,39]],6,2],"passed":false},{"actual":[[[14,37]],9,2],"check":"case 4","expected":[[[16,38],[32,38]],13,2],"passed":false},{"actual":[[],1,1],"check":"case 5","expected":[[],4,1],"passed":false},{"actual":[[[8,12]],2,2],"check":"case 6","expected":[[[8,12]],2,2],"passed":true},{"actual":[[[1,6],[6,7],[6,22],[7,22]],29,3],"check":"case 7","expected":[[[1,6]],22,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [[], 13, 1], \"expected\": [[], 10, 1], \"passed\": false}, {\"check\": \"case 1\", \"actual\": [[], 8, 1], \"expected\": [[], 13, 1], \"passed\": false}, {\"check\": \"case 2\", \"actual\": [[], 0, 0], \"expected\": [[], 8, 1], \"passed\": false}, {\"check\": \"case 3\", \"actual\": [[[31, 39]], 4, 2], \"expected\": [[[31, 39]], 6, 2], \"passed\": false}, {\"check\": \"case 4\", \"actual\": [[[14, 37]], 9, 2], \"expected\": [[[16, 38], [32, 38]], 13, 2], \"passed\": false}, {\"check\": \"case 5\", \"actual\": [[], 1, 1], \"expected\": [[], 4, 1], \"passed\": false}, {\"check\": \"case 6\", \"actual\": [[[8, 12]], 2, 2], \"expected\": [[[8, 12]], 2, 2], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [[[1, 6], [6, 7], [6, 22], [7, 22]], 29, 3], \"expected\": [[[1, 6]], 22, 2], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.327,"exit_code":0,"observations":[{"actual":[[],10,1],"check":"case 0","expected":[[],10,1],"passed":true},{"actual":[[],13,1],"check":"case 1","expected":[[],13,1],"passed":true},{"actual":[[],8,1],"check":"case 2","expected":[[],8,1],"passed":true},{"actual":[[[31,39]],6,2],"check":"case 3","expected":[[[31,39]],6,2],"passed":true},{"actual":[[[16,38],[32,38]],13,2],"check":"case 4","expected":[[[16,38],[32,38]],13,2],"passed":true},{"actual":[[],4,1],"check":"case 5","expected":[[],4,1],"passed":true},{"actual":[[[8,12]],2,2],"check":"case 6","expected":[[[8,12]],2,2],"passed":true},{"actual":[[[1,6]],22,2],"check":"case 7","expected":[[[1,6]],22,2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [[], 10, 1], \"expected\": [[], 10, 1], \"passed\": true}, {\"check\": \"case 1\", \"actual\": [[], 13, 1], \"expected\": [[], 13, 1], \"passed\": true}, {\"check\": \"case 2\", \"actual\": [[], 8, 1], \"expected\": [[], 8, 1], \"passed\": true}, {\"check\": \"case 3\", \"actual\": [[[31, 39]], 6, 2], \"expected\": [[[31, 39]], 6, 2], \"passed\": true}, {\"check\": \"case 4\", \"actual\": [[[16, 38], [32, 38]], 13, 2], \"expected\": [[[16, 38], [32, 38]], 13, 2], \"passed\": true}, {\"check\": \"case 5\", \"actual\": [[], 4, 1], \"expected\": [[], 4, 1], \"passed\": true}, {\"check\": \"case 6\", \"actual\": [[[8, 12]], 2, 2], \"expected\": [[[8, 12]], 2, 2], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [[[1, 6]], 22, 2], \"expected\": [[[1, 6]], 22, 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}