anchor.diff:  /// green.
   
   import 'dart:async';
  +import 'dart:collection';
   import 'dart:convert';
   import 'dart:io';
   import 'dart:math';
  
positive.code:         ? loadResultsMap(path)
          : <String, Map<String, dynamic>>{};
  
  /// Loads a log from logdog.
  Future<String> loadLog(String id, String step) async {
    final logUrl = Uri.parse("https://logs.chromium.org/"
        "logs/dart/buildbucket/cr-buildbucket.appspot.com/"
        "$id/+/steps/$step?format=raw");
    final client = new HttpClient();
    final request =
        await client.getUrl(logUrl).timeout(const Duration(seconds: 60));
    final response = await request.close().timeout(const Duration(seconds: 60));
    if (response.statusCode != HttpStatus.ok) {
      throw new Exception("The log at $logUrl doesn't exist");
    }
    final contents = (await response
            .transform(new Utf8Decoder())
            .timeout(const Duration(seconds: 60))
            .toList())
        .join("");
    client.close();
    return contents;
  }
  
  /// TODO(https://github.com/dart-lang/sdk/issues/36015): The step name changed
  
negative.code:   // Load all the latest results for the selected bots, as well as flakiness
    // data, and the set of currently approved results. Each bot's latest build
    // is downloaded in parallel to make this phase faster.
    final testListFutures = <Future<List<Test>>>[];
    final noResultsBuilds = new SplayTreeMap<String, String>();
    for (final String bot in bots) {
      testListFutures.add(new Future(() async {
        try {
          return await loadResultsFromBot(bot, options, changelistBuilds[bot]);
        } on NoResultsException catch (e) {
          print(
              "Error: Failed to find results for $bot build <${e.buildUrl}>: $e");
          noResultsBuilds[bot] = e.buildUrl;
          return <Test>[];
        }
      }));
    }
  
    // Collect all the tests from the synchronous downloads.
  