anchor.diff:      for I := 0 to Length(aPLsDefAreas) - 1 do
         Inc(  DefLinesReq[ aPLsDefAreas[I] ], Round( SeparatedDefLines[ aPLsDefAreas[I] ].PolyCnt / PolySum * aDefPosReq[aIdx] )  );
     end;
  -  function GetOwners(DefLineIdx: Integer; var aPLsDefAreas: TKMByte2Array): TKMHndIdxArray;
  +  function GetOwners(DefLineIdx: Integer; var aPLsDefAreas: TKMByte2Array): TKMHandIndexArray;
     var
       IdxPL,K,Cnt: Integer;
     begin
  
positive.code:     procedure AddPolygon(aIdx: Word);
      function FindDefenceLines(aOwner: TKMHandIndex): TKMDefenceLines;
      function FindDefensivePolygons(aOwner: TKMHandIndex; var aBaseCnt, aFirstLine: Word; var aBestDefLines: TKMDefenceLines; aMinDefeces: Boolean; aDefLinesRequired: Boolean): TKMDefencePosArr;
      procedure FindTeamDefences(var aOwners: TKMHndIdxArray; var aDefPosReq: TKMWordArray; var aTeamDefPos: TKMTeamDefPos);
      //procedure DEBUG();
    end;
  
  
negative.code: 
    TKMTeamDefPos = array of record
      Polygons: Word;
      Owners: TKMHandIndexArray;
      DefPosArr: TKMDefencePosArr;
    end;
  
  