{"abstract":"Consumers index the static set with a dynamic id.","category":"Collision detection broadphase","checks":8,"contract":"solve(A, B): bipartite box pruning (dynamic set A vs static set B), boxes [id,minx,miny,maxx,maxy], closed intervals. Sort both by (minx,id). Pass 1: for each a, B boxes with minx in [a.minx, a.maxx]; pass 2: for each b, A boxes with minx in (b.minx, b.maxx]; y overlap required. Return sorted [a id, b id] pairs.","evaluation_group":"w2-collision_detection_broadphase-bipartite-box-pruning","failed_approach":"Sorting each pair by id breaks the set orientation.","family":"w2-collision_detection_broadphase-bipartite-box-pruning-bipartite-pair-orientation","id":"FA-87781","implementations":{"attempt":{"sha256":"c0f54ee463412d2f170c5d70cee2178ef00293802564faafe36e6a719a0aa851","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(A, B):\n    As = sorted(A, key=lambda r: (r[1], r[0]))\n    Bs = sorted(B, key=lambda r: (r[1], r[0]))\n    def yover(p, q):\n        return p[2] <= q[4] and q[2] <= p[4]\n    pairs = []\n    j = 0\n    for a in As:\n        while j < len(Bs) and Bs[j][1] < a[1]:\n            j += 1\n        k = j\n        while k < len(Bs) and Bs[k][1] <= a[3]:\n            if yover(a, Bs[k]):\n                pairs.append([a[0], Bs[k][0]])\n            k += 1\n    j2 = 0\n    for b in Bs:\n        while j2 < len(As) and As[j2][1] <= b[1]:\n            j2 += 1\n        k = j2\n        while k < len(As) and As[k][1] <= b[3]:\n            if yover(As[k], b):\n                pairs.append(sorted([As[k][0], b[0]]))\n            k += 1\n    pairs.sort()\n    return pairs\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[23, -1.0, 2.0, 0.0, 2.0]], [[28, -1.0, -5.0, 3.0, -3.0], [5, 4.0, 3.0, 5.0, 4.0]]], []], [[[[29, -3.0, -4.0, -3.0, -1.0], [37, 5.0, 0.0, 5.0, 0.0], [14, -1.0, 2.0, 0.0, 3.0]], [[1, -3.0, -1.0, 3.0, -1.0], [20, 4.0, 0.0, 5.0, 3.0]]], [[29, 1], [37, 20]]], [[[[16, -3.0, 4.0, -3.0, 4.0], [21, 0.0, -2.0, 1.0, -2.0], [17, -3.0, -1.0, -2.0, 0.0]], [[11, -3.0, -2.0, 2.0, -2.0], [24, -5.0, 4.0, -3.0, 7.0], [5, -5.0, 0.0, -4.0, 2.0]]], [[16, 24], [21, 11]]], [[[[22, -5.0, -3.0, -2.0, 0.0], [19, 1.0, 3.0, 4.0, 5.0], [38, 0.0, 1.0, 0.0, 3.0], [33, 1.0, -4.0, 3.0, -3.0]], [[18, -1.0, 1.0, 2.0, 2.0], [27, -5.0, -1.0, -2.0, 0.0]]], [[22, 27], [38, 18]]], [[[[32, -2.0, 1.0, 1.0, 1.0], [4, 5.0, -2.0, 6.0, 1.0], [17, -3.0, -4.0, -1.0, -1.0]], [[28, 2.0, 4.0, 5.0, 7.0], [10, 5.0, 2.0, 8.0, 2.0], [6, -4.0, 0.0, -2.0, 1.0]]], [[32, 6]]], [[[[7, -5.0, 2.0, -2.0, 3.0]], [[22, 0.0, 5.0, 1.0, 8.0], [19, 0.0, 3.0, 3.0, 6.0]]], []], [[[[26, 1.0, 0.0, 4.0, 2.0]], [[12, -2.0, -1.0, -1.0, -1.0], [30, -4.0, 1.0, -2.0, 1.0], [6, -1.0, 1.0, 1.0, 1.0], [25, 5.0, -2.0, 5.0, 1.0]]], [[26, 6]]], [[[[14, 2.0, -5.0, 4.0, -4.0], [36, 4.0, -3.0, 6.0, -3.0], [5, 1.0, 3.0, 1.0, 6.0], [16, -3.0, 0.0, -1.0, 2.0]], [[34, 4.0, 1.0, 7.0, 4.0]]], []]], [[[[[2, 2.0, -1.0, 4.0, 0.0], [14, 3.0, -3.0, 3.0, -2.0]], [[5, -3.0, -2.0, -1.0, 0.0]]], []], [[[[9, 1.0, 5.0, 2.0, 7.0], [2, 2.0, 3.0, 5.0, 5.0], [18, -1.0, 1.0, 1.0, 2.0]], [[10, 5.0, -4.0, 7.0, -2.0], [7, -4.0, 2.0, -1.0, 4.0], [37, 4.0, 3.0, 5.0, 3.0], [23, 1.0, -2.0, 1.0, -2.0]]], [[2, 37], [18, 7]]], [[[[17, -2.0, -5.0, 1.0, -2.0], [23, 5.0, 3.0, 6.0, 5.0], [31, -3.0, -5.0, -1.0, -5.0]], [[7, -2.0, -1.0, 5.0, -1.0]]], []], [[[[5, -1.0, 1.0, 0.0, 4.0], [23, -5.0, -5.0, -3.0, -5.0]], [[17, -1.0, 1.0, -1.0, 1.0]]], [[5, 17]]], [[[[20, -4.0, -5.0, -4.0, -2.0], [9, 5.0, 2.0, 6.0, 5.0]], [[18, 2.0, 5.0, 4.0, 5.0], [5, 4.0, 3.0, 7.0, 5.0]]], [[9, 5]]], [[[[11, 0.0, -2.0, 0.0, 1.0], [17, -2.0, 3.0, 0.0, 3.0], [29, 2.0, -2.0, 4.0, -1.0]], [[1, 3.0, 1.0, 4.0, 4.0], [7, 4.0, 3.0, 7.0, 6.0], [28, -5.0, -1.0, -2.0, 2.0], [2, -4.0, 1.0, -2.0, 4.0]]], [[17, 2]]], [[[[3, -4.0, -2.0, -4.0, -2.0], [33, 5.0, -4.0, 7.0, -1.0], [1, -4.0, 2.0, -1.0, 2.0], [19, 4.0, 5.0, 6.0, 8.0]], [[7, 1.0, -2.0, 3.0, -1.0], [6, 1.0, 4.0, 4.0, 6.0]]], [[19, 6]]], [[[[21, -4.0, -2.0, -3.0, -1.0]], [[15, -2.0, -5.0, 0.0, -3.0], [2, -2.0, 3.0, 1.0, 3.0]]], []]], [[[[[27, 0.0, 3.0, 0.0, 6.0], [12, -4.0, 4.0, -3.0, 7.0], [8, -3.0, -1.0, -1.0, -1.0]], [[4, -1.0, -4.0, -1.0, -1.0], [16, -5.0, -4.0, -4.0, -3.0], [28, -4.0, 5.0, -2.0, 5.0], [5, -1.0, 4.0, 2.0, 5.0]]], [[8, 4], [12, 28], [27, 5]]], [[[[22, 0.0, 3.0, 0.0, 6.0], [10, 4.0, -1.0, 5.0, 0.0], [26, 5.0, 2.0, 8.0, 3.0], [2, 5.0, -3.0, 5.0, 0.0]], [[18, 0.0, -5.0, 5.0, -2.0]]], [[2, 18]]], [[[[14, -4.0, -3.0, -2.0, 0.0], [18, 0.0, -5.0, 2.0, -2.0], [37, 5.0, 5.0, 7.0, 5.0]], [[34, -4.0, -1.0, 5.0, 0.0], [4, -2.0, -2.0, 1.0, 1.0], [3, -2.0, 3.0, -2.0, 4.0], [11, 4.0, 5.0, 7.0, 6.0]]], [[14, 4], [14, 34], [18, 4], [37, 11]]], [[[[17, 1.0, 5.0, 2.0, 7.0]], [[19, 1.0, 4.0, 4.0, 4.0]]], []], [[[[30, 1.0, -2.0, 2.0, -2.0], [32, -1.0, -5.0, -1.0, -3.0], [28, -3.0, 5.0, 0.0, 5.0]], [[24, -4.0, 0.0, -2.0, 1.0], [22, -3.0, -3.0, 0.0, 0.0], [8, 4.0, -5.0, 6.0, -5.0], [31, 0.0, 5.0, 2.0, 8.0]]], [[28, 31], [32, 22]]], [[[[17, -1.0, -1.0, -1.0, -1.0], [19, 2.0, 0.0, 4.0, 2.0]], [[3, -3.0, 3.0, -3.0, 5.0], [24, -4.0, 2.0, -1.0, 3.0], [16, 0.0, -3.0, 2.0, 0.0], [28, 0.0, -4.0, 1.0, -4.0]]], [[19, 16]]], [[[[34, 3.0, 5.0, 4.0, 5.0], [13, -1.0, -5.0, 0.0, -4.0], [16, -2.0, 1.0, 1.0, 1.0]], [[10, 1.0, 0.0, 3.0, 1.0], [30, -1.0, -5.0, -1.0, -2.0]]], [[13, 30], [16, 10]]], [[[[26, -1.0, 1.0, 0.0, 1.0]], [[15, 1.0, -1.0, 2.0, -1.0], [10, 4.0, 5.0, 7.0, 6.0], [34, -5.0, -1.0, -4.0, -1.0]]], []]], [[[[[31, 2.0, 4.0, 2.0, 4.0], [7, -2.0, 2.0, 1.0, 4.0], [6, 3.0, 1.0, 5.0, 2.0], [35, 3.0, 2.0, 6.0, 4.0]], [[29, 5.0, -5.0, 7.0, -3.0], [1, 0.0, 0.0, 3.0, 2.0], [39, 0.0, -3.0, 3.0, -3.0], [2, 4.0, -1.0, 4.0, 1.0]]], [[6, 1], [6, 2], [7, 1], [35, 1]]], [[[[3, -3.0, -2.0, -1.0, 0.0]], [[7, 2.0, -5.0, 3.0, -3.0]]], []], [[[[16, -3.0, 4.0, 0.0, 4.0], [32, -1.0, -2.0, 2.0, 0.0]], [[29, -3.0, 0.0, 3.0, 0.0], [2, 2.0, -1.0, 2.0, 0.0], [13, 2.0, 4.0, 2.0, 6.0], [8, -1.0, -4.0, 1.0, -2.0]]], [[32, 2], [32, 8], [32, 29]]], [[[[14, 5.0, 3.0, 7.0, 4.0], [28, -4.0, 3.0, -1.0, 4.0], [26, 0.0, -5.0, 3.0, -4.0], [8, 5.0, 2.0, 8.0, 3.0]], [[1, 5.0, 1.0, 5.0, 3.0], [12, -2.0, 3.0, 1.0, 3.0]]], [[8, 1], [14, 1], [28, 12]]], [[[[26, 4.0, -5.0, 6.0, -3.0]], [[24, 4.0, -1.0, 4.0, 0.0]]], []], [[[[24, -5.0, -1.0, -2.0, 2.0], [38, -4.0, 2.0, -3.0, 4.0], [6, -3.0, 3.0, -2.0, 5.0]], [[19, -5.0, 5.0, -1.0, 5.0], [22, 4.0, 5.0, 4.0, 7.0], [30, 2.0, 4.0, 4.0, 5.0], [25, -3.0, 3.0, -1.0, 3.0]]], [[6, 19], [6, 25], [38, 25]]], [[[[36, 4.0, -3.0, 4.0, 0.0], [6, -3.0, 1.0, -3.0, 1.0], [37, -3.0, -3.0, -1.0, -2.0]], [[33, 3.0, -2.0, 4.0, -2.0], [18, -1.0, 5.0, -1.0, 7.0], [25, -3.0, -1.0, -1.0, 1.0], [2, -3.0, 5.0, 0.0, 6.0]]], [[6, 25], [36, 33]]], [[[[11, -2.0, -5.0, -1.0, -3.0], [39, 2.0, 3.0, 2.0, 3.0], [3, 4.0, -5.0, 4.0, -2.0]], [[20, 2.0, 3.0, 3.0, 4.0], [22, -3.0, -5.0, 0.0, -3.0]]], [[11, 22], [39, 20]]]], [[[[[22, 4.0, 4.0, 4.0, 5.0], [11, 1.0, -4.0, 3.0, -4.0], [6, -2.0, -5.0, -1.0, -5.0], [2, -3.0, 0.0, -1.0, 3.0]], [[17, 3.0, 4.0, 4.0, 7.0]]], [[22, 17]]], [[[[39, 5.0, 4.0, 7.0, 5.0], [16, -5.0, -3.0, -5.0, 0.0], [9, 2.0, -5.0, 5.0, -3.0]], [[21, 5.0, -4.0, 8.0, -4.0], [31, -3.0, -3.0, -2.0, 0.0], [8, 5.0, 2.0, 5.0, 3.0]]], [[9, 21]]], [[[[8, 5.0, 5.0, 5.0, 7.0], [24, 2.0, -5.0, 4.0, -2.0], [15, -4.0, -3.0, -3.0, 0.0], [35, -1.0, 3.0, -1.0, 5.0]], [[23, 5.0, 5.0, 5.0, 7.0], [11, 2.0, 0.0, 3.0, 1.0], [25, -2.0, 4.0, 1.0, 4.0]]], [[8, 23], [35, 25]]], [[[[23, -1.0, 3.0, 2.0, 6.0]], [[8, -1.0, 1.0, 0.0, 4.0], [10, -2.0, 4.0, 0.0, 6.0], [30, 4.0, 0.0, 6.0, 2.0]]], [[23, 8], [23, 10]]], [[[[12, 2.0, 3.0, 2.0, 6.0]], [[1, -4.0, 5.0, -4.0, 5.0], [11, 2.0, 2.0, 5.0, 5.0], [32, -5.0, -5.0, -2.0, -4.0]]], [[12, 11]]], [[[[36, 0.0, -4.0, 1.0, -4.0], [14, -3.0, 1.0, -1.0, 3.0]], [[8, 0.0, -3.0, 0.0, -1.0], [20, -5.0, 0.0, -3.0, 2.0], [22, 1.0, -2.0, 1.0, 1.0], [5, -4.0, 1.0, -1.0, 3.0]]], [[14, 5], [14, 20]]], [[[[18, -5.0, -3.0, -2.0, -2.0], [16, 1.0, 2.0, 3.0, 5.0]], [[26, -4.0, -3.0, -1.0, -2.0], [20, -5.0, 3.0, -4.0, 6.0], [19, -4.0, 2.0, -1.0, 2.0], [4, 1.0, -5.0, 1.0, -5.0]]], [[18, 26]]], [[[[6, -2.0, 3.0, -2.0, 3.0], [3, -2.0, 2.0, 0.0, 5.0], [1, -4.0, -1.0, -4.0, 1.0]], [[12, -4.0, 4.0, -2.0, 5.0]]], [[3, 12]]]]]\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":"a89be9a80cb6572948c0a10ed7470f1448d079328cb8cec9f206a09a9fe553cc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(A, B):\n    As = sorted(A, key=lambda r: (r[1], r[0]))\n    Bs = sorted(B, key=lambda r: (r[1], r[0]))\n    def yover(p, q):\n        return p[2] <= q[4] and q[2] <= p[4]\n    pairs = []\n    j = 0\n    for a in As:\n        while j < len(Bs) and Bs[j][1] < a[1]:\n            j += 1\n        k = j\n        while k < len(Bs) and Bs[k][1] <= a[3]:\n            if yover(a, Bs[k]):\n                pairs.append([a[0], Bs[k][0]])\n            k += 1\n    j2 = 0\n    for b in Bs:\n        while j2 < len(As) and As[j2][1] <= b[1]:\n            j2 += 1\n        k = j2\n        while k < len(As) and As[k][1] <= b[3]:\n            if yover(As[k], b):\n                pairs.append([b[0], As[k][0]])\n            k += 1\n    pairs.sort()\n    return pairs\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[23, -1.0, 2.0, 0.0, 2.0]], [[28, -1.0, -5.0, 3.0, -3.0], [5, 4.0, 3.0, 5.0, 4.0]]], []], [[[[29, -3.0, -4.0, -3.0, -1.0], [37, 5.0, 0.0, 5.0, 0.0], [14, -1.0, 2.0, 0.0, 3.0]], [[1, -3.0, -1.0, 3.0, -1.0], [20, 4.0, 0.0, 5.0, 3.0]]], [[29, 1], [37, 20]]], [[[[16, -3.0, 4.0, -3.0, 4.0], [21, 0.0, -2.0, 1.0, -2.0], [17, -3.0, -1.0, -2.0, 0.0]], [[11, -3.0, -2.0, 2.0, -2.0], [24, -5.0, 4.0, -3.0, 7.0], [5, -5.0, 0.0, -4.0, 2.0]]], [[16, 24], [21, 11]]], [[[[22, -5.0, -3.0, -2.0, 0.0], [19, 1.0, 3.0, 4.0, 5.0], [38, 0.0, 1.0, 0.0, 3.0], [33, 1.0, -4.0, 3.0, -3.0]], [[18, -1.0, 1.0, 2.0, 2.0], [27, -5.0, -1.0, -2.0, 0.0]]], [[22, 27], [38, 18]]], [[[[32, -2.0, 1.0, 1.0, 1.0], [4, 5.0, -2.0, 6.0, 1.0], [17, -3.0, -4.0, -1.0, -1.0]], [[28, 2.0, 4.0, 5.0, 7.0], [10, 5.0, 2.0, 8.0, 2.0], [6, -4.0, 0.0, -2.0, 1.0]]], [[32, 6]]], [[[[7, -5.0, 2.0, -2.0, 3.0]], [[22, 0.0, 5.0, 1.0, 8.0], [19, 0.0, 3.0, 3.0, 6.0]]], []], [[[[26, 1.0, 0.0, 4.0, 2.0]], [[12, -2.0, -1.0, -1.0, -1.0], [30, -4.0, 1.0, -2.0, 1.0], [6, -1.0, 1.0, 1.0, 1.0], [25, 5.0, -2.0, 5.0, 1.0]]], [[26, 6]]], [[[[14, 2.0, -5.0, 4.0, -4.0], [36, 4.0, -3.0, 6.0, -3.0], [5, 1.0, 3.0, 1.0, 6.0], [16, -3.0, 0.0, -1.0, 2.0]], [[34, 4.0, 1.0, 7.0, 4.0]]], []]], [[[[[2, 2.0, -1.0, 4.0, 0.0], [14, 3.0, -3.0, 3.0, -2.0]], [[5, -3.0, -2.0, -1.0, 0.0]]], []], [[[[9, 1.0, 5.0, 2.0, 7.0], [2, 2.0, 3.0, 5.0, 5.0], [18, -1.0, 1.0, 1.0, 2.0]], [[10, 5.0, -4.0, 7.0, -2.0], [7, -4.0, 2.0, -1.0, 4.0], [37, 4.0, 3.0, 5.0, 3.0], [23, 1.0, -2.0, 1.0, -2.0]]], [[2, 37], [18, 7]]], [[[[17, -2.0, -5.0, 1.0, -2.0], [23, 5.0, 3.0, 6.0, 5.0], [31, -3.0, -5.0, -1.0, -5.0]], [[7, -2.0, -1.0, 5.0, -1.0]]], []], [[[[5, -1.0, 1.0, 0.0, 4.0], [23, -5.0, -5.0, -3.0, -5.0]], [[17, -1.0, 1.0, -1.0, 1.0]]], [[5, 17]]], [[[[20, -4.0, -5.0, -4.0, -2.0], [9, 5.0, 2.0, 6.0, 5.0]], [[18, 2.0, 5.0, 4.0, 5.0], [5, 4.0, 3.0, 7.0, 5.0]]], [[9, 5]]], [[[[11, 0.0, -2.0, 0.0, 1.0], [17, -2.0, 3.0, 0.0, 3.0], [29, 2.0, -2.0, 4.0, -1.0]], [[1, 3.0, 1.0, 4.0, 4.0], [7, 4.0, 3.0, 7.0, 6.0], [28, -5.0, -1.0, -2.0, 2.0], [2, -4.0, 1.0, -2.0, 4.0]]], [[17, 2]]], [[[[3, -4.0, -2.0, -4.0, -2.0], [33, 5.0, -4.0, 7.0, -1.0], [1, -4.0, 2.0, -1.0, 2.0], [19, 4.0, 5.0, 6.0, 8.0]], [[7, 1.0, -2.0, 3.0, -1.0], [6, 1.0, 4.0, 4.0, 6.0]]], [[19, 6]]], [[[[21, -4.0, -2.0, -3.0, -1.0]], [[15, -2.0, -5.0, 0.0, -3.0], [2, -2.0, 3.0, 1.0, 3.0]]], []]], [[[[[27, 0.0, 3.0, 0.0, 6.0], [12, -4.0, 4.0, -3.0, 7.0], [8, -3.0, -1.0, -1.0, -1.0]], [[4, -1.0, -4.0, -1.0, -1.0], [16, -5.0, -4.0, -4.0, -3.0], [28, -4.0, 5.0, -2.0, 5.0], [5, -1.0, 4.0, 2.0, 5.0]]], [[8, 4], [12, 28], [27, 5]]], [[[[22, 0.0, 3.0, 0.0, 6.0], [10, 4.0, -1.0, 5.0, 0.0], [26, 5.0, 2.0, 8.0, 3.0], [2, 5.0, -3.0, 5.0, 0.0]], [[18, 0.0, -5.0, 5.0, -2.0]]], [[2, 18]]], [[[[14, -4.0, -3.0, -2.0, 0.0], [18, 0.0, -5.0, 2.0, -2.0], [37, 5.0, 5.0, 7.0, 5.0]], [[34, -4.0, -1.0, 5.0, 0.0], [4, -2.0, -2.0, 1.0, 1.0], [3, -2.0, 3.0, -2.0, 4.0], [11, 4.0, 5.0, 7.0, 6.0]]], [[14, 4], [14, 34], [18, 4], [37, 11]]], [[[[17, 1.0, 5.0, 2.0, 7.0]], [[19, 1.0, 4.0, 4.0, 4.0]]], []], [[[[30, 1.0, -2.0, 2.0, -2.0], [32, -1.0, -5.0, -1.0, -3.0], [28, -3.0, 5.0, 0.0, 5.0]], [[24, -4.0, 0.0, -2.0, 1.0], [22, -3.0, -3.0, 0.0, 0.0], [8, 4.0, -5.0, 6.0, -5.0], [31, 0.0, 5.0, 2.0, 8.0]]], [[28, 31], [32, 22]]], [[[[17, -1.0, -1.0, -1.0, -1.0], [19, 2.0, 0.0, 4.0, 2.0]], [[3, -3.0, 3.0, -3.0, 5.0], [24, -4.0, 2.0, -1.0, 3.0], [16, 0.0, -3.0, 2.0, 0.0], [28, 0.0, -4.0, 1.0, -4.0]]], [[19, 16]]], [[[[34, 3.0, 5.0, 4.0, 5.0], [13, -1.0, -5.0, 0.0, -4.0], [16, -2.0, 1.0, 1.0, 1.0]], [[10, 1.0, 0.0, 3.0, 1.0], [30, -1.0, -5.0, -1.0, -2.0]]], [[13, 30], [16, 10]]], [[[[26, -1.0, 1.0, 0.0, 1.0]], [[15, 1.0, -1.0, 2.0, -1.0], [10, 4.0, 5.0, 7.0, 6.0], [34, -5.0, -1.0, -4.0, -1.0]]], []]], [[[[[31, 2.0, 4.0, 2.0, 4.0], [7, -2.0, 2.0, 1.0, 4.0], [6, 3.0, 1.0, 5.0, 2.0], [35, 3.0, 2.0, 6.0, 4.0]], [[29, 5.0, -5.0, 7.0, -3.0], [1, 0.0, 0.0, 3.0, 2.0], [39, 0.0, -3.0, 3.0, -3.0], [2, 4.0, -1.0, 4.0, 1.0]]], [[6, 1], [6, 2], [7, 1], [35, 1]]], [[[[3, -3.0, -2.0, -1.0, 0.0]], [[7, 2.0, -5.0, 3.0, -3.0]]], []], [[[[16, -3.0, 4.0, 0.0, 4.0], [32, -1.0, -2.0, 2.0, 0.0]], [[29, -3.0, 0.0, 3.0, 0.0], [2, 2.0, -1.0, 2.0, 0.0], [13, 2.0, 4.0, 2.0, 6.0], [8, -1.0, -4.0, 1.0, -2.0]]], [[32, 2], [32, 8], [32, 29]]], [[[[14, 5.0, 3.0, 7.0, 4.0], [28, -4.0, 3.0, -1.0, 4.0], [26, 0.0, -5.0, 3.0, -4.0], [8, 5.0, 2.0, 8.0, 3.0]], [[1, 5.0, 1.0, 5.0, 3.0], [12, -2.0, 3.0, 1.0, 3.0]]], [[8, 1], [14, 1], [28, 12]]], [[[[26, 4.0, -5.0, 6.0, -3.0]], [[24, 4.0, -1.0, 4.0, 0.0]]], []], [[[[24, -5.0, -1.0, -2.0, 2.0], [38, -4.0, 2.0, -3.0, 4.0], [6, -3.0, 3.0, -2.0, 5.0]], [[19, -5.0, 5.0, -1.0, 5.0], [22, 4.0, 5.0, 4.0, 7.0], [30, 2.0, 4.0, 4.0, 5.0], [25, -3.0, 3.0, -1.0, 3.0]]], [[6, 19], [6, 25], [38, 25]]], [[[[36, 4.0, -3.0, 4.0, 0.0], [6, -3.0, 1.0, -3.0, 1.0], [37, -3.0, -3.0, -1.0, -2.0]], [[33, 3.0, -2.0, 4.0, -2.0], [18, -1.0, 5.0, -1.0, 7.0], [25, -3.0, -1.0, -1.0, 1.0], [2, -3.0, 5.0, 0.0, 6.0]]], [[6, 25], [36, 33]]], [[[[11, -2.0, -5.0, -1.0, -3.0], [39, 2.0, 3.0, 2.0, 3.0], [3, 4.0, -5.0, 4.0, -2.0]], [[20, 2.0, 3.0, 3.0, 4.0], [22, -3.0, -5.0, 0.0, -3.0]]], [[11, 22], [39, 20]]]], [[[[[22, 4.0, 4.0, 4.0, 5.0], [11, 1.0, -4.0, 3.0, -4.0], [6, -2.0, -5.0, -1.0, -5.0], [2, -3.0, 0.0, -1.0, 3.0]], [[17, 3.0, 4.0, 4.0, 7.0]]], [[22, 17]]], [[[[39, 5.0, 4.0, 7.0, 5.0], [16, -5.0, -3.0, -5.0, 0.0], [9, 2.0, -5.0, 5.0, -3.0]], [[21, 5.0, -4.0, 8.0, -4.0], [31, -3.0, -3.0, -2.0, 0.0], [8, 5.0, 2.0, 5.0, 3.0]]], [[9, 21]]], [[[[8, 5.0, 5.0, 5.0, 7.0], [24, 2.0, -5.0, 4.0, -2.0], [15, -4.0, -3.0, -3.0, 0.0], [35, -1.0, 3.0, -1.0, 5.0]], [[23, 5.0, 5.0, 5.0, 7.0], [11, 2.0, 0.0, 3.0, 1.0], [25, -2.0, 4.0, 1.0, 4.0]]], [[8, 23], [35, 25]]], [[[[23, -1.0, 3.0, 2.0, 6.0]], [[8, -1.0, 1.0, 0.0, 4.0], [10, -2.0, 4.0, 0.0, 6.0], [30, 4.0, 0.0, 6.0, 2.0]]], [[23, 8], [23, 10]]], [[[[12, 2.0, 3.0, 2.0, 6.0]], [[1, -4.0, 5.0, -4.0, 5.0], [11, 2.0, 2.0, 5.0, 5.0], [32, -5.0, -5.0, -2.0, -4.0]]], [[12, 11]]], [[[[36, 0.0, -4.0, 1.0, -4.0], [14, -3.0, 1.0, -1.0, 3.0]], [[8, 0.0, -3.0, 0.0, -1.0], [20, -5.0, 0.0, -3.0, 2.0], [22, 1.0, -2.0, 1.0, 1.0], [5, -4.0, 1.0, -1.0, 3.0]]], [[14, 5], [14, 20]]], [[[[18, -5.0, -3.0, -2.0, -2.0], [16, 1.0, 2.0, 3.0, 5.0]], [[26, -4.0, -3.0, -1.0, -2.0], [20, -5.0, 3.0, -4.0, 6.0], [19, -4.0, 2.0, -1.0, 2.0], [4, 1.0, -5.0, 1.0, -5.0]]], [[18, 26]]], [[[[6, -2.0, 3.0, -2.0, 3.0], [3, -2.0, 2.0, 0.0, 5.0], [1, -4.0, -1.0, -4.0, 1.0]], [[12, -4.0, 4.0, -2.0, 5.0]]], [[3, 12]]]]]\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":"72c85aeca7e9cd03330bc49f617f3d9d7f35430b41964b7a40da07a860d6e7d4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(A, B):\n    As = sorted(A, key=lambda r: (r[1], r[0]))\n    Bs = sorted(B, key=lambda r: (r[1], r[0]))\n    def yover(p, q):\n        return p[2] <= q[4] and q[2] <= p[4]\n    pairs = []\n    j = 0\n    for a in As:\n        while j < len(Bs) and Bs[j][1] < a[1]:\n            j += 1\n        k = j\n        while k < len(Bs) and Bs[k][1] <= a[3]:\n            if yover(a, Bs[k]):\n                pairs.append([a[0], Bs[k][0]])\n            k += 1\n    j2 = 0\n    for b in Bs:\n        while j2 < len(As) and As[j2][1] <= b[1]:\n            j2 += 1\n        k = j2\n        while k < len(As) and As[k][1] <= b[3]:\n            if yover(As[k], b):\n                pairs.append([As[k][0], b[0]])\n            k += 1\n    pairs.sort()\n    return pairs\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[23, -1.0, 2.0, 0.0, 2.0]], [[28, -1.0, -5.0, 3.0, -3.0], [5, 4.0, 3.0, 5.0, 4.0]]], []], [[[[29, -3.0, -4.0, -3.0, -1.0], [37, 5.0, 0.0, 5.0, 0.0], [14, -1.0, 2.0, 0.0, 3.0]], [[1, -3.0, -1.0, 3.0, -1.0], [20, 4.0, 0.0, 5.0, 3.0]]], [[29, 1], [37, 20]]], [[[[16, -3.0, 4.0, -3.0, 4.0], [21, 0.0, -2.0, 1.0, -2.0], [17, -3.0, -1.0, -2.0, 0.0]], [[11, -3.0, -2.0, 2.0, -2.0], [24, -5.0, 4.0, -3.0, 7.0], [5, -5.0, 0.0, -4.0, 2.0]]], [[16, 24], [21, 11]]], [[[[22, -5.0, -3.0, -2.0, 0.0], [19, 1.0, 3.0, 4.0, 5.0], [38, 0.0, 1.0, 0.0, 3.0], [33, 1.0, -4.0, 3.0, -3.0]], [[18, -1.0, 1.0, 2.0, 2.0], [27, -5.0, -1.0, -2.0, 0.0]]], [[22, 27], [38, 18]]], [[[[32, -2.0, 1.0, 1.0, 1.0], [4, 5.0, -2.0, 6.0, 1.0], [17, -3.0, -4.0, -1.0, -1.0]], [[28, 2.0, 4.0, 5.0, 7.0], [10, 5.0, 2.0, 8.0, 2.0], [6, -4.0, 0.0, -2.0, 1.0]]], [[32, 6]]], [[[[7, -5.0, 2.0, -2.0, 3.0]], [[22, 0.0, 5.0, 1.0, 8.0], [19, 0.0, 3.0, 3.0, 6.0]]], []], [[[[26, 1.0, 0.0, 4.0, 2.0]], [[12, -2.0, -1.0, -1.0, -1.0], [30, -4.0, 1.0, -2.0, 1.0], [6, -1.0, 1.0, 1.0, 1.0], [25, 5.0, -2.0, 5.0, 1.0]]], [[26, 6]]], [[[[14, 2.0, -5.0, 4.0, -4.0], [36, 4.0, -3.0, 6.0, -3.0], [5, 1.0, 3.0, 1.0, 6.0], [16, -3.0, 0.0, -1.0, 2.0]], [[34, 4.0, 1.0, 7.0, 4.0]]], []]], [[[[[2, 2.0, -1.0, 4.0, 0.0], [14, 3.0, -3.0, 3.0, -2.0]], [[5, -3.0, -2.0, -1.0, 0.0]]], []], [[[[9, 1.0, 5.0, 2.0, 7.0], [2, 2.0, 3.0, 5.0, 5.0], [18, -1.0, 1.0, 1.0, 2.0]], [[10, 5.0, -4.0, 7.0, -2.0], [7, -4.0, 2.0, -1.0, 4.0], [37, 4.0, 3.0, 5.0, 3.0], [23, 1.0, -2.0, 1.0, -2.0]]], [[2, 37], [18, 7]]], [[[[17, -2.0, -5.0, 1.0, -2.0], [23, 5.0, 3.0, 6.0, 5.0], [31, -3.0, -5.0, -1.0, -5.0]], [[7, -2.0, -1.0, 5.0, -1.0]]], []], [[[[5, -1.0, 1.0, 0.0, 4.0], [23, -5.0, -5.0, -3.0, -5.0]], [[17, -1.0, 1.0, -1.0, 1.0]]], [[5, 17]]], [[[[20, -4.0, -5.0, -4.0, -2.0], [9, 5.0, 2.0, 6.0, 5.0]], [[18, 2.0, 5.0, 4.0, 5.0], [5, 4.0, 3.0, 7.0, 5.0]]], [[9, 5]]], [[[[11, 0.0, -2.0, 0.0, 1.0], [17, -2.0, 3.0, 0.0, 3.0], [29, 2.0, -2.0, 4.0, -1.0]], [[1, 3.0, 1.0, 4.0, 4.0], [7, 4.0, 3.0, 7.0, 6.0], [28, -5.0, -1.0, -2.0, 2.0], [2, -4.0, 1.0, -2.0, 4.0]]], [[17, 2]]], [[[[3, -4.0, -2.0, -4.0, -2.0], [33, 5.0, -4.0, 7.0, -1.0], [1, -4.0, 2.0, -1.0, 2.0], [19, 4.0, 5.0, 6.0, 8.0]], [[7, 1.0, -2.0, 3.0, -1.0], [6, 1.0, 4.0, 4.0, 6.0]]], [[19, 6]]], [[[[21, -4.0, -2.0, -3.0, -1.0]], [[15, -2.0, -5.0, 0.0, -3.0], [2, -2.0, 3.0, 1.0, 3.0]]], []]], [[[[[27, 0.0, 3.0, 0.0, 6.0], [12, -4.0, 4.0, -3.0, 7.0], [8, -3.0, -1.0, -1.0, -1.0]], [[4, -1.0, -4.0, -1.0, -1.0], [16, -5.0, -4.0, -4.0, -3.0], [28, -4.0, 5.0, -2.0, 5.0], [5, -1.0, 4.0, 2.0, 5.0]]], [[8, 4], [12, 28], [27, 5]]], [[[[22, 0.0, 3.0, 0.0, 6.0], [10, 4.0, -1.0, 5.0, 0.0], [26, 5.0, 2.0, 8.0, 3.0], [2, 5.0, -3.0, 5.0, 0.0]], [[18, 0.0, -5.0, 5.0, -2.0]]], [[2, 18]]], [[[[14, -4.0, -3.0, -2.0, 0.0], [18, 0.0, -5.0, 2.0, -2.0], [37, 5.0, 5.0, 7.0, 5.0]], [[34, -4.0, -1.0, 5.0, 0.0], [4, -2.0, -2.0, 1.0, 1.0], [3, -2.0, 3.0, -2.0, 4.0], [11, 4.0, 5.0, 7.0, 6.0]]], [[14, 4], [14, 34], [18, 4], [37, 11]]], [[[[17, 1.0, 5.0, 2.0, 7.0]], [[19, 1.0, 4.0, 4.0, 4.0]]], []], [[[[30, 1.0, -2.0, 2.0, -2.0], [32, -1.0, -5.0, -1.0, -3.0], [28, -3.0, 5.0, 0.0, 5.0]], [[24, -4.0, 0.0, -2.0, 1.0], [22, -3.0, -3.0, 0.0, 0.0], [8, 4.0, -5.0, 6.0, -5.0], [31, 0.0, 5.0, 2.0, 8.0]]], [[28, 31], [32, 22]]], [[[[17, -1.0, -1.0, -1.0, -1.0], [19, 2.0, 0.0, 4.0, 2.0]], [[3, -3.0, 3.0, -3.0, 5.0], [24, -4.0, 2.0, -1.0, 3.0], [16, 0.0, -3.0, 2.0, 0.0], [28, 0.0, -4.0, 1.0, -4.0]]], [[19, 16]]], [[[[34, 3.0, 5.0, 4.0, 5.0], [13, -1.0, -5.0, 0.0, -4.0], [16, -2.0, 1.0, 1.0, 1.0]], [[10, 1.0, 0.0, 3.0, 1.0], [30, -1.0, -5.0, -1.0, -2.0]]], [[13, 30], [16, 10]]], [[[[26, -1.0, 1.0, 0.0, 1.0]], [[15, 1.0, -1.0, 2.0, -1.0], [10, 4.0, 5.0, 7.0, 6.0], [34, -5.0, -1.0, -4.0, -1.0]]], []]], [[[[[31, 2.0, 4.0, 2.0, 4.0], [7, -2.0, 2.0, 1.0, 4.0], [6, 3.0, 1.0, 5.0, 2.0], [35, 3.0, 2.0, 6.0, 4.0]], [[29, 5.0, -5.0, 7.0, -3.0], [1, 0.0, 0.0, 3.0, 2.0], [39, 0.0, -3.0, 3.0, -3.0], [2, 4.0, -1.0, 4.0, 1.0]]], [[6, 1], [6, 2], [7, 1], [35, 1]]], [[[[3, -3.0, -2.0, -1.0, 0.0]], [[7, 2.0, -5.0, 3.0, -3.0]]], []], [[[[16, -3.0, 4.0, 0.0, 4.0], [32, -1.0, -2.0, 2.0, 0.0]], [[29, -3.0, 0.0, 3.0, 0.0], [2, 2.0, -1.0, 2.0, 0.0], [13, 2.0, 4.0, 2.0, 6.0], [8, -1.0, -4.0, 1.0, -2.0]]], [[32, 2], [32, 8], [32, 29]]], [[[[14, 5.0, 3.0, 7.0, 4.0], [28, -4.0, 3.0, -1.0, 4.0], [26, 0.0, -5.0, 3.0, -4.0], [8, 5.0, 2.0, 8.0, 3.0]], [[1, 5.0, 1.0, 5.0, 3.0], [12, -2.0, 3.0, 1.0, 3.0]]], [[8, 1], [14, 1], [28, 12]]], [[[[26, 4.0, -5.0, 6.0, -3.0]], [[24, 4.0, -1.0, 4.0, 0.0]]], []], [[[[24, -5.0, -1.0, -2.0, 2.0], [38, -4.0, 2.0, -3.0, 4.0], [6, -3.0, 3.0, -2.0, 5.0]], [[19, -5.0, 5.0, -1.0, 5.0], [22, 4.0, 5.0, 4.0, 7.0], [30, 2.0, 4.0, 4.0, 5.0], [25, -3.0, 3.0, -1.0, 3.0]]], [[6, 19], [6, 25], [38, 25]]], [[[[36, 4.0, -3.0, 4.0, 0.0], [6, -3.0, 1.0, -3.0, 1.0], [37, -3.0, -3.0, -1.0, -2.0]], [[33, 3.0, -2.0, 4.0, -2.0], [18, -1.0, 5.0, -1.0, 7.0], [25, -3.0, -1.0, -1.0, 1.0], [2, -3.0, 5.0, 0.0, 6.0]]], [[6, 25], [36, 33]]], [[[[11, -2.0, -5.0, -1.0, -3.0], [39, 2.0, 3.0, 2.0, 3.0], [3, 4.0, -5.0, 4.0, -2.0]], [[20, 2.0, 3.0, 3.0, 4.0], [22, -3.0, -5.0, 0.0, -3.0]]], [[11, 22], [39, 20]]]], [[[[[22, 4.0, 4.0, 4.0, 5.0], [11, 1.0, -4.0, 3.0, -4.0], [6, -2.0, -5.0, -1.0, -5.0], [2, -3.0, 0.0, -1.0, 3.0]], [[17, 3.0, 4.0, 4.0, 7.0]]], [[22, 17]]], [[[[39, 5.0, 4.0, 7.0, 5.0], [16, -5.0, -3.0, -5.0, 0.0], [9, 2.0, -5.0, 5.0, -3.0]], [[21, 5.0, -4.0, 8.0, -4.0], [31, -3.0, -3.0, -2.0, 0.0], [8, 5.0, 2.0, 5.0, 3.0]]], [[9, 21]]], [[[[8, 5.0, 5.0, 5.0, 7.0], [24, 2.0, -5.0, 4.0, -2.0], [15, -4.0, -3.0, -3.0, 0.0], [35, -1.0, 3.0, -1.0, 5.0]], [[23, 5.0, 5.0, 5.0, 7.0], [11, 2.0, 0.0, 3.0, 1.0], [25, -2.0, 4.0, 1.0, 4.0]]], [[8, 23], [35, 25]]], [[[[23, -1.0, 3.0, 2.0, 6.0]], [[8, -1.0, 1.0, 0.0, 4.0], [10, -2.0, 4.0, 0.0, 6.0], [30, 4.0, 0.0, 6.0, 2.0]]], [[23, 8], [23, 10]]], [[[[12, 2.0, 3.0, 2.0, 6.0]], [[1, -4.0, 5.0, -4.0, 5.0], [11, 2.0, 2.0, 5.0, 5.0], [32, -5.0, -5.0, -2.0, -4.0]]], [[12, 11]]], [[[[36, 0.0, -4.0, 1.0, -4.0], [14, -3.0, 1.0, -1.0, 3.0]], [[8, 0.0, -3.0, 0.0, -1.0], [20, -5.0, 0.0, -3.0, 2.0], [22, 1.0, -2.0, 1.0, 1.0], [5, -4.0, 1.0, -1.0, 3.0]]], [[14, 5], [14, 20]]], [[[[18, -5.0, -3.0, -2.0, -2.0], [16, 1.0, 2.0, 3.0, 5.0]], [[26, -4.0, -3.0, -1.0, -2.0], [20, -5.0, 3.0, -4.0, 6.0], [19, -4.0, 2.0, -1.0, 2.0], [4, 1.0, -5.0, 1.0, -5.0]]], [[18, 26]]], [[[[6, -2.0, 3.0, -2.0, 3.0], [3, -2.0, 2.0, 0.0, 5.0], [1, -4.0, -1.0, -4.0, 1.0]], [[12, -4.0, 4.0, -2.0, 5.0]]], [[3, 12]]]]]\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-bipartite-box-pruning-bipartite-pair-orientation","generated_at":"2026-09-29T14:51:01.946662+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":"Always report [a id, b id].","root_cause":"Pass 2 appends [b id, a id].","sha256":"9014b89681563c325d29bb14179b74a9089dd6cc109725f1810e44a96a335478","title":"Second pass reports pairs as [b, a] · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.825,"exit_code":1,"observations":[{"actual":[],"check":"case 0","expected":[],"passed":true},{"actual":[[20,37],[29,1]],"check":"case 1","expected":[[29,1],[37,20]],"passed":false},{"actual":[[11,21],[16,24]],"check":"case 2","expected":[[16,24],[21,11]],"passed":false},{"actual":[[18,38],[22,27]],"check":"case 3","expected":[[22,27],[38,18]],"passed":false},{"actual":[[6,32]],"check":"case 4","expected":[[32,6]],"passed":false},{"actual":[],"check":"case 5","expected":[],"passed":true},{"actual":[[6,26]],"check":"case 6","expected":[[26,6]],"passed":false},{"actual":[],"check":"case 7","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"case 1\", \"actual\": [[20, 37], [29, 1]], \"expected\": [[29, 1], [37, 20]], \"passed\": false}, {\"check\": \"case 2\", \"actual\": [[11, 21], [16, 24]], \"expected\": [[16, 24], [21, 11]], \"passed\": false}, {\"check\": \"case 3\", \"actual\": [[18, 38], [22, 27]], \"expected\": [[22, 27], [38, 18]], \"passed\": false}, {\"check\": \"case 4\", \"actual\": [[6, 32]], \"expected\": [[32, 6]], \"passed\": false}, {\"check\": \"case 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"case 6\", \"actual\": [[6, 26]], \"expected\": [[26, 6]], \"passed\": false}, {\"check\": \"case 7\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.598,"exit_code":1,"observations":[{"actual":[],"check":"case 0","expected":[],"passed":true},{"actual":[[20,37],[29,1]],"check":"case 1","expected":[[29,1],[37,20]],"passed":false},{"actual":[[11,21],[24,16]],"check":"case 2","expected":[[16,24],[21,11]],"passed":false},{"actual":[[18,38],[22,27]],"check":"case 3","expected":[[22,27],[38,18]],"passed":false},{"actual":[[6,32]],"check":"case 4","expected":[[32,6]],"passed":false},{"actual":[],"check":"case 5","expected":[],"passed":true},{"actual":[[6,26]],"check":"case 6","expected":[[26,6]],"passed":false},{"actual":[],"check":"case 7","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"case 1\", \"actual\": [[20, 37], [29, 1]], \"expected\": [[29, 1], [37, 20]], \"passed\": false}, {\"check\": \"case 2\", \"actual\": [[11, 21], [24, 16]], \"expected\": [[16, 24], [21, 11]], \"passed\": false}, {\"check\": \"case 3\", \"actual\": [[18, 38], [22, 27]], \"expected\": [[22, 27], [38, 18]], \"passed\": false}, {\"check\": \"case 4\", \"actual\": [[6, 32]], \"expected\": [[32, 6]], \"passed\": false}, {\"check\": \"case 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"case 6\", \"actual\": [[6, 26]], \"expected\": [[26, 6]], \"passed\": false}, {\"check\": \"case 7\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.699,"exit_code":0,"observations":[{"actual":[],"check":"case 0","expected":[],"passed":true},{"actual":[[29,1],[37,20]],"check":"case 1","expected":[[29,1],[37,20]],"passed":true},{"actual":[[16,24],[21,11]],"check":"case 2","expected":[[16,24],[21,11]],"passed":true},{"actual":[[22,27],[38,18]],"check":"case 3","expected":[[22,27],[38,18]],"passed":true},{"actual":[[32,6]],"check":"case 4","expected":[[32,6]],"passed":true},{"actual":[],"check":"case 5","expected":[],"passed":true},{"actual":[[26,6]],"check":"case 6","expected":[[26,6]],"passed":true},{"actual":[],"check":"case 7","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"case 1\", \"actual\": [[29, 1], [37, 20]], \"expected\": [[29, 1], [37, 20]], \"passed\": true}, {\"check\": \"case 2\", \"actual\": [[16, 24], [21, 11]], \"expected\": [[16, 24], [21, 11]], \"passed\": true}, {\"check\": \"case 3\", \"actual\": [[22, 27], [38, 18]], \"expected\": [[22, 27], [38, 18]], \"passed\": true}, {\"check\": \"case 4\", \"actual\": [[32, 6]], \"expected\": [[32, 6]], \"passed\": true}, {\"check\": \"case 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"case 6\", \"actual\": [[26, 6]], \"expected\": [[26, 6]], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}