docs: def parse_pac_value(value, socks_scheme=None):
      """
      Parse the return value of ``FindProxyForURL()`` into a list.
      List elements will either be the string "DIRECT" or a proxy URL.
  
      For example, the result of parsing ``PROXY example.local:8080; DIRECT``
      is a list containing strings ``http://example.local:8080`` and ``DIRECT``.
  
      :param str value: Any value returned by ``FindProxyForURL()``.
      :param str socks_scheme: Scheme to assume for SOCKS proxies. ``socks5`` by default.
      :returns: Parsed output, with invalid elements ignored. Warnings are logged for invalid elements.
      :rtype: list[str]
      """
      config = []
      for element in value.split(';'):
          element = element.strip()
          if not element:
              continue
          try:
              config.append(proxy_url(element, socks_scheme))
          except ValueError as e:
              warnings.warn(str(e))
      return config