anchor.diff:  { TMD5Stream }
   
   function TMD5Stream.GetStream: IDataStream;
  -{$IFNDEF FPC}
  -  function getMd5HashString(Value: string): string;
  -  var
  -    hashMessageDigest5: TIdHashMessageDigest5;
  -  begin
  -    hashMessageDigest5 := nil;
  -    try
  -      hashMessageDigest5 := TIdHashMessageDigest5.Create;
  -      Result := IdGlobal.IndyLowerCase(
  -        hashMessageDigest5.HashStringAsHex(
  -          value
  -        )
  -      );
  -    finally
  -      hashMessageDigest5.Free;
  -    end;
  -  end;
  -{$ENDIF}
   begin
     Result := TDataStream.New(
       {$IFDEF FPC}
  
positive.code:   {$IFDEF FPC}
      md5,
    {$ELSE}
      IdGlobal, IdHash, IdHashMessageDigest,
    {$ENDIF}
    James.Data,
    James.Data.Clss;
  
negative.code:         )
        )
      {$ELSE}
        THashMD5.GetHashString(
          FOrigin.AsString
        )
      {$ENDIF}
  