  """
  Content negotiation deals with selecting an appropriate renderer given the
  incoming request.  Typically this will be based on the request's Accept header.
  """
  from __future__ import unicode_literals
  
  from django.http import Http404
  
  from rest_framework import HTTP_HEADER_ENCODING, exceptions
  from rest_framework.settings import api_settings
  from rest_framework.utils.mediatypes import (
 
</s> remove from django.utils import six
 </s> add  </s> remove from django.utils import six
 </s> add  </s> remove from __future__ import unicode_literals

 </s> add  </s> remove from __future__ import unicode_literals

 </s> add  </s> remove from __future__ import unicode_literals

 </s> add 
  """
  Content negotiation deals with selecting an appropriate renderer given the
  incoming request.  Typically this will be based on the request's Accept header.
  """


  from django.http import Http404
  
  from rest_framework import HTTP_HEADER_ENCODING, exceptions
  from rest_framework.settings import api_settings
  from rest_framework.utils.mediatypes import (
keep keep keep keep replace replace keep keep keep keep keep
 Dropped Python 2 compatibility. (#6615)

Thanks to Jon Dufresne (@jdufresne) for review.

Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Rizwan Mansuri <Rizwan@webbyfox.com> 
rest_framework/negotiation.py