anchor.diff:    Result := 0;
   end;
   
  -function TMARSDCSRequest.GetFormFileParam(const AIndex: Integer; out AFieldName,
  -  AFileName: string; out ABytes: System.TArray<System.Byte>;
  -  out AContentType: string): Boolean;
  -var
  -  LMultiPartBody: THttpMultiPartFormData;
  -  LFile: TFormField;
  -
  -begin
  -  Result := False;
  -  if FDCSRequest.BodyType = btMultiPart then
  -  begin
  -    LMultiPartBody := FDCSRequest.Body as THttpMultiPartFormData;
  -    Result := (AIndex >= 0) and (AIndex < LMultiPartBody.Count);
  -    if Result then
  -    begin
  -      LFile := LMultiPartBody.Items[AIndex];
  -      AFieldName := LFile.Name;
  -      AFileName := LFile.FileName;
  -      ABytes := LFile.AsBytes;
  -      AContentType := LFile.ContentType;
  -    end;
  -  end;
  -end;
  -
  -function TMARSDCSRequest.GetFormFileParamIndex(const AName: string): Integer;
  -var
  -  LMultiPartBody: THttpMultiPartFormData;
  -  LIndex: Integer;
  -  LItem: TFormField;
  -  LURLParamsBody: THttpUrlParams;
  -  LURLParamItem: TNameValue;
  -begin
  +function TMARSDCSRequest.GetFormParamCount: Integer;
  +begin
  +//AM TODO
  +  Result := 0;
  +end;
  +
  +function TMARSDCSRequest.GetFormParamIndex(const AName: string): Integer;
  +begin
  +//AM TODO
     Result := -1;
  -  if FDCSRequest.BodyType = btMultiPart then
  -  begin
  -    LMultiPartBody := FDCSRequest.Body as THttpMultiPartFormData;
  -
  -    for LIndex := 0 to LMultiPartBody.Count - 1 do
  -    begin
  -      LItem := LMultiPartBody.Items[LIndex];
  -
  -      if SameText(LItem.Name, AName) then
  -      begin
  -        Result := LIndex;
  -        Break;
  -      end;
  -    end;
  -  end
  -  else if FDCSRequest.BodyType = btUrlEncoded then
  -  begin
  -    LURLParamsBody := FDCSRequest.Body as THttpUrlParams;
  -
  -    for LIndex := 0 to LURLParamsBody.Count-1 do
  -    begin
  -      LURLParamItem := LURLParamsBody.Items[LIndex];
  -      if SameText(LURLParamItem.Name, AName) then
  -      begin
  -        Result := LIndex;
  -        Break;
  -      end;
  -    end;
  -  end;
  -end;
  -
  -function TMARSDCSRequest.GetFormParamCount: Integer;
  -begin
  -//AM TODO
  -  Result := 0;
  -end;
  -
  -function TMARSDCSRequest.GetFormParamIndex(const AName: string): Integer;
  -var
  -  LMultiPartBody: THttpMultiPartFormData;
  -  LIndex: Integer;
  -  LItem: TFormField;
  -  LURLParamsBody: THttpUrlParams;
  -  LURLParamItem: TNameValue;
  -begin
  -  Result := -1;
  -  if FDCSRequest.BodyType = btMultiPart then
  -  begin
  -    LMultiPartBody := FDCSRequest.Body as THttpMultiPartFormData;
  -
  -    for LIndex := 0 to LMultiPartBody.Count - 1 do
  -    begin
  -      LItem := LMultiPartBody.Items[LIndex];
  -
  -      if SameText(LItem.Name, AName) then
  -      begin
  -        Result := LIndex;
  -        Break;
  -      end;
  -    end;
  -  end
  -  else if FDCSRequest.BodyType = btUrlEncoded then
  -  begin
  -    LURLParamsBody := FDCSRequest.Body as THttpUrlParams;
  -
  -    for LIndex := 0 to LURLParamsBody.Count-1 do
  -    begin
  -      LURLParamItem := LURLParamsBody.Items[LIndex];
  -      if SameText(LURLParamItem.Name, AName) then
  -      begin
  -        Result := LIndex;
  -        Break;
  -      end;
  -    end;
  -  end;
   end;
   
   function TMARSDCSRequest.GetFormParamName(const AIndex: Integer): string;
  -var
  -  LMultiPartBody: THttpMultiPartFormData;
  -  LURLParamsBody: THttpUrlParams;
  -begin
  -  Result := '';
  -  if FDCSRequest.BodyType = btMultiPart then
  -  begin
  -    LMultiPartBody := FDCSRequest.Body as THttpMultiPartFormData;
  -    Result := LMultiPartBody.Items[AIndex].Name;
  -  end
  -  else if FDCSRequest.BodyType = btUrlEncoded then
  -  begin
  -    LURLParamsBody := FDCSRequest.Body as THttpUrlParams;
  -    Result := LURLParamsBody.Items[AIndex].Name;
  -  end;
  -end;
  -
  +begin
  +//AM TODO
  +  Result := '';
  +end;
   
   function TMARSDCSRequest.GetFormParams: string;
   begin
  
positive.code:     function GetFormParamName(const AIndex: Integer): string;
      function GetFormParamValue(const AIndex: Integer): string; overload;
      function GetFormParamValue(const AName: string): string; overload;
      function GetFormFileParamIndex(const AName: string): Integer;
      function GetFormFileParam(const AIndex: Integer; out AFieldName: string;
        out AFileName: string; out ABytes: System.TArray<System.Byte>;
        out AContentType: string): Boolean;
      function GetFormParams: string;
      function GetHeaderParamValue(const AHeaderName: string): string;
      function GetHostName: string;
  
negative.code: 
  function TMARSDCSRequest.GetFormParamValue(const AName: string): string;
  begin
  //AM TODO
    Result := '';
  end;
  
  function TMARSDCSRequest.GetFormParamValue(const AIndex: Integer): string;
  begin
  //AM TODO
    Result := '';
  end;
  
  function TMARSDCSRequest.GetHeaderParamValue(const AHeaderName: string): string;
  