anchor.diff:  import '../knode.dart';
   import 'knodeai.dart';
   
  -class KNodeAIAnnounce extends KNodeAI  {
  +class KNodeAIAnnounce extends KNodeAI {
     bool _isStart = false;
     bool get isStart => _isStart;
  -  List<KNodeAIAnnounceTask> taskList = [];
  +  Map<KId, KNodeAIAnnounceTask> taskList = {};
     start(KNode node) {
       _isStart = true;
     }
  
positive.code:                   _findedNode.rawshuffled.sort((KPeerInfo a, KPeerInfo b) {
                      if (a.id == b.id) {
                        return 0;
                      } else if (a.id.xor(_infoHashId) > b.id.xor(_infoHashId) ) {
                        return 1;
                      } else {
                        return -1;
  
negative.code:       while (8 < announcedNode.length) {
          announcedNode.removeAt(10);
        }
        for (KAnnounceInfo i in announcedNode) {
          node.sendAnnouncePeerQuery(i.ipAsString, i.port, 1, _infoHashId.id, i.token.id);
        }
      }
  