code: def split_query(qs, keep_blank_values=False):
      '''Split the query string.
  
      Note for empty values: If an equal sign (``=``) is present, the value
      will be an empty string (``''``). Otherwise, the value will be ``None``::
  
          >>> list(split_query('a=&b', keep_blank_values=True))
          [('a', ''), ('b', None)]
  
      No processing is done on the actual values.
      '''
      items = []
      for pair in qs.split('&'):
          name, delim, value = pair.partition('=')
  
          if not delim and keep_blank_values:
              value = None
  
          if keep_blank_values or value:
              items.append((name, value))
  
      return itemf split_query(qs, keep_blank_values=False):
      '''Split the query string.
  
      Note for empty values: If an equal sign (``=``) is present, the value
      will be an empty string (``''``). Otherwise, the value will be ``None``::
  
          >>> list(split_query('a=&b', keep_blank_values=True))
          [('a', ''), ('b', None)]
  
      No processing is done on the actual values.
      '''
      items = []
      for pair in qs.split('&'):
          name, delim, value = pair.partition('=')
  
          if not delim and keep_blank_values:
              value = None
  
          if keep_blank_values or value:
              items.append((name, value))
  
      return items
docs: Split the query string.
  
      Note for empty values: If an equal sign (``=``) is present, the value
      will be an empty string (``''``). Otherwise, the value will be ``None``::
  
          >>> list(split_query('a=&b', keep_blank_values=True))
          [('a', ''), ('b', None)]
  
      No processing is done on the actual values.