anchor.diff:  // for details. All rights reserved. Use of this source code is governed by a
   // BSD-style license that can be found in the LICENSE file.
   
  -// Find the newest commit that has a full set of results on the bots.
  -
  -// @dart = 2.9
  +// Find the newest commit that has a full set of results on the builders.
   
   import 'dart:async';
   import 'dart:convert';
  
positive.code: 
  void main(List<String> args) async {
    final parser = new ArgParser();
    parser.addMultiOption("bot",
        abbr: "b",
        help: "Select the bots matching the glob pattern [option is repeatable]",
        splitCommas: false);
    parser.addOption("branch",
        abbr: "B",
        help: "Select the bots building this branch",
        defaultsTo: "master");
    parser.addOption("count",
        abbr: "c", help: "List this many commits", defaultsTo: "1");
  
negative.code: 
    int count = int.parse(options["count"]);
    final globs = new List<Glob>.from(
        options["builder"].map((String pattern) => new Glob(pattern)));
  
    // Download the most recent builds from buildbucket.
    const maxBuilds = 1000;
    final url = Uri.parse("https://cr-buildbucket.appspot.com"
        "/prpc/buildbucket.v2.Builds/SearchBuilds");
    const maxRetries = 3;
    const timeout = const Duration(seconds: 30);
    final query = jsonEncode({
      "predicate": {
        "builder": {"project": "dart", "bucket": "ci.sandbox"},
        "status": "ENDED_MASK"
      },
      "pageSize": maxBuilds,
      "fields": "builds.*.builder.builder,builds.*.input"
    });
    late Map<String, dynamic> searchResult;
    for (int i = 1; i <= maxRetries; i++) {
      try {
        final client = new HttpClient();
        final request = await client.postUrl(url).timeout(timeout)
          ..headers.contentType = ContentType.json
          ..headers.add(HttpHeaders.acceptHeader, ContentType.json)
          ..write(query);
        final response = await request.close().timeout(timeout);
        if (response.statusCode != 200) {
          print("Failed to search for builds: "
              "${response.statusCode}:${response.reasonPhrase}");
          exit(1);
        }
        const prefix = ")]}'";
        searchResult = await (response
            .cast<List<int>>()
            .transform(new Utf8Decoder())
            .map((event) =>
                event.startsWith(prefix) ? event.substring(prefix.length) : event)
            .transform(new JsonDecoder())
            .cast<Map<String, dynamic>>()
            .first
            .timeout(timeout));
        client.close();
        break;
      } on TimeoutException catch (e) {
        final inSeconds = e.duration?.inSeconds;
        stderr.writeln(
            "Attempt $i of $maxRetries timed out after $inSeconds seconds");
        if (i == maxRetries) {
  