          data = parse_qs(input)
  
          # Flatening data and removing EMPTY_VALUEs from the lists
          data = self.flatten_data(data)
          for key in filter(lambda k: self.is_a_list(k), data):
              self.remove_empty_val(data[key])
  
          # Strip any parameters that we are treating as reserved
          for key in data.keys():
              if key in self.resource.RESERVED_FORM_PARAMS:
                  data.pop(key)
 
</s> remove         # Flatening data and removing EMPTY_VALUEs from the lists
 </s> add         # removing EMPTY_VALUEs from the lists and flatening the data 
        for key, val_list in data.items():
            self.remove_empty_val(val_list) </s> remove         data = parse_qs(input)
 </s> add         data = parse_qs(input, keep_blank_values=True) </s> remove         for key, attr_value in data.items():
            if self.is_a_list(key):
                if isinstance(attr_value, list):
                    flatdata[key] = attr_value
                else:
                    flatdata[key] = [attr_value]
 </s> add         for key, val_list in data.items():
            if self.is_a_list(key, val_list):
                flatdata[key] = val_list </s> remove                     flatdata[key] = attr_value 
 </s> add                     # If the list is empty, but the parameter is not a list,
                    # we strip this parameter.
                    data.pop(key)
          data = parse_qs(input)
  
          # Flatening data and removing EMPTY_VALUEs from the lists
          data = self.flatten_data(data)


  
          # Strip any parameters that we are treating as reserved
          for key in data.keys():
              if key in self.resource.RESERVED_FORM_PARAMS:
                  data.pop(key)
keep keep keep keep replace replace keep keep keep keep keep
 documentation + tests + debugging for formparsers 
djangorestframework/parsers.py