�
��^iS) � �" � d Z ddlmZ ddlZddlmZ dZddd d
d�Zi Zd� Z d
� Z
d� Z G d� de� � Z
e
d� � Z e
d� � Z e
d� � Zd!d�Zd� Zedfd�Zd!d�Zd� Zedfd�Zd� Z G d� de� � Z G d� d e� � ZdS )"a
webencodings
~~~~~~~~~~~~
This is a Python implementation of the `WHATWG Encoding standard
`. See README for details.
:copyright: Copyright 2012 by Simon Sapin
:license: BSD, see LICENSE for details.
� )�unicode_literalsN� )�LABELSz0.5.1z
iso-8859-8zmac-cyrillicz mac-roman�cp874)ziso-8859-8-izx-mac-cyrillic� macintoshzwindows-874c �v � | � d� � � � � � d� � S )a9 Transform (only) ASCII letters to lower case: A-Z is mapped to a-z.
:param string: An Unicode string.
:returns: A new Unicode string.
This is used for `ASCII case-insensitive
`_
matching of encoding labels.
The same matching is also used, among other things,
for `CSS keywords `_.
This is different from the :meth:`~py:str.lower` method of Unicode strings
which also affect non-ASCII characters,
sometimes mapping them into the ASCII range:
>>> keyword = u'Bac\N{KELVIN SIGN}ground'
>>> assert keyword.lower() == u'background'
>>> assert ascii_lower(keyword) != keyword.lower()
>>> assert ascii_lower(keyword) == u'bac\N{KELVIN SIGN}ground'
�utf8)�encode�lower�decode)�strings ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/webencodings/__init__.py�ascii_lowerr # s0 � �. �=�=�� � �&�&�(�(�/�/��7�7�7� c �^ � t | � d� � � � } t j | � � }|�dS t � |� � }|�V|dk rddlm} n/t � ||� � }t j |� � }t ||� � }|t |<