�
L�g7 � �R � d Z ddlZddlmZ defd�Zdefd�Zedefd �� � ZdS )
zIBAN.� N� )� validator�charc � � | � � � r| n.t dt | � � z t d� � z
� � S )zA=10, B=11, ..., Z=35.�
�A)�isdigit�str�ord)r s �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/validators/iban.py�_char_valuer
s6 � ��<�<�>�>�E�4�4�s�2��D� � �>�C��H�H�+D�'E�'E�E� �valuec � � | dd� | dd� z }t d� d� |D � � � � � � dz dk S )z0Check if the value string passes the mod97-test.� N� c 3 �4 K � | ]}t |� � V � �d S )N)r
)�.0r s r � <genexpr>z_mod_check.<locals>.<genexpr> s* � � � �@�@�T�{�4�(�(�@�@�@�@�@�@r �a r )�int�join)r �
rearrangeds r �
_mod_checkr sQ � � �q�r�r��U�2�A�2�Y�&�J��r�w�w�@�@�Z�@�@�@�@�@�A�A�B�F�!�K�Kr c �h � | r/t j d| t j � � ot | � � ndS )a� Return whether or not given value is a valid IBAN code.
Examples:
>>> iban('DE29100500001061045672')
# Output: True
>>> iban('123456')
# Output: ValidationError(func=iban, ...)
Args:
value:
IBAN string to validate.
Returns:
(Literal[True]): If `value` is a valid IBAN code.
(ValidationError): If `value` is an invalid IBAN code.
z!^[a-z]{2}[0-9]{2}[a-z0-9]{11,30}$F)�re�match�
IGNORECASEr )r s r �ibanr s7 � �( � ���6��r�}� M� M� c�R\�]b�Rc�Rc��
�r )�__doc__r �utilsr r
r
r r � r r �<module>r# s� �� ��
� � � � � � � � � �F�c� F� F� F� F�
L�c� L� L� L� L� ��� � � � ��� � r