� c��jHS���� ddlZddlZddlZddlZgd�Zej j ejdd�Zejdejejz�Z d�Z d�ZdZeed �D���cic]\}}|D]}||���c}}}Zd d d d �Zd%d�Zd�Zd�Zd�ZGd�d�ZGd�de�Zd&d�ZiZ d'd�Zd(dd�d�Ziadad(d�Zd(d�Zd�Z d�Z!d�Z"d �Z#d!�Z$d"�Z%d#�Z&d$�Z'eZ(ycc}}}w))�N)�NullTranslations�GNUTranslations�Catalog�bindtextdomain�find� translation�install� textdomain�dgettext� dngettext�gettext�ngettext�pgettext� dpgettext� npgettext� dnpgettext�share�localea� (?P[ \t]+) | # spaces and horizontal tabs (?P[0-9]+\b) | # decimal integer (?Pn\b) | # only n is allowed (?P[()]) | (?P[-*/%+?:]|[>, # <=, >=, ==, !=, &&, ||, # ? : # unary and bitwise ops # not allowed (?P\w+|.) # invalid token c#��K�tjt|�D]<}|j}|dk(r�|j |�}|dk(rt d|z��|���>d��y�w)N� WHITESPACES�INVALIDz invalid token in plural form: %s�)�re�finditer�_token_pattern� lastgroup�group� ValueError)�plural�mo�kind�values � /usr/lib64/python3.12/gettext.py� _tokenizer$Wsa�����k�k�.�&�1���|�|�� �=� � ������� �9� ��?�%�G�H� H�� �2� �H�s�AA!c�8�|rtd|z�Std�S)Nz#unexpected token in plural form: %szunexpected end of plural form)r)r"s r#�_errorr&cs"�� ��?�%�G�H�H��9�:�:�))�||)�&&)z==z!=)�<�>z<=z>=)�+�-)�*�/�%��or�andz//)r(r)r/c��d}t|�}|dk(r|dz }t|�}|dk(r�|dk(r&t|�\}}|�d|�d�}|dk7r+td��|dk(r|�|��}n t|d�}d ||fz}t|�}d }|t vrYt |}||krnJ|d vr |d vrd |z}t j||�}t||d z�\} }|�d|�d| ��}|}|t vr�Y||cxk(rdk(rnnd |z}|dk(rF|dkrAt|d�\} }|dk7r t |��t|�\} }| �d|�d| ��}|dk(rd |z}||fS#t$r t |�d�wxYw)Nr�!znot �(�)z%unbalanced parenthesis in plural form�n� z%s%d�d)��z(%s)r1� r<�?r�:z if z else )�next�_parser�intr&� _binary_ops� _c2py_ops�get) �tokens�priority�result�nexttok�subr"�j�i�op�right�if_true�if_falses r#rArAvs��� �F��6�l�G� �S�.��&����v�,�� �S�.��#�~��f�~� ��W�#�S�)�� �c�>��D�E� E� �C��!�7�+�� ,����$�E��6�5�/�)���6�l�G� �A� �[� � �� �� �x�<� � ��;�1��;��f�_�F� �]�]�7�G� ,�����A��.���w�%�r�5�1�� �� �[� � �H�����&����#�~�(�a�-�!�&�!�,���� �c�>���/� !�"�6�N���'�'.���A�� �q�=��f�_�F� �7�?���=� ,���/�t� +� ,�s �! E�Ec��� t|�ddl}t j d�}d}|j�b|jjd�tk(r@|dz }|j}|j�#|jjd�tk(r�@|jd|jj��t|�|S#t$r$td|jj���d�wxYw)Nz%Plural value must be an integer, got rr1��__name__) �round� TypeError� __class__rS�warnings�sys� _getframe�f_back� f_globalsrE�warn�DeprecationWarning)r8rW�frame� stacklevels r#�_as_intr`�s���;� �a�� � �M�M�!� �E��J� �,�,� "�u���':�':�:�'F�(�'R��a�� �� � �� �,�,� "�u���':�':�:�'F�(�'R� �M�M��;�;�'�'�*�$��� �H�� �;�����-�-�0�1�6:� ;�;�s � C�-C3c�P� t|�dkDr td�� tt|��\}}|r t |��d}|D](}|dk(r|dz }|dkDs�td��|dk(s�$|dz}�*t t d �}td |z|�|d S#t$r td��wxYw) Ni�z"plural form expression is too longrr6r1�z%plural form expression is too complexr7)r`rSz�if True: def func(n): if not isinstance(n, int): n = _as_int(n) return int(%s) �func) �lenrrAr$r&r`rS�exec�RecursionError)rrHrI�depth�c�nss r#�c2pyrj�s���� �6�{�T���=�>�>�B� ��6�!2�3���� ���/� !����A��C�x��� ���2�:�%�%L�M�M��c���� ���!�h� 7�� �� � � �  � �&�z��� �B��@�A�A�B�s�:B�B�('B�B%c���ddl}|j|�}d}d}d}d}|jd�}|dk\r||d}|d|}||z}nd}|jd�}|dk\r||d}|d|}||z}nd}|jd�}|dk\r||d} |d|}||z}nd} |} g} t|dz�D]:} | |zr� | } | |zr| | z } | |zr| |z } | |zr| |z } | j | ��<| j �| S) Nrr1rRr<�@r�.�_)r� normalizer�range�append�reverse)�locr�COMPONENT_CODESET�COMPONENT_TERRITORY�COMPONENT_MODIFIER�mask�pos�modifier�codeset� territory�language�retrL�vals r#� _expand_langr�sS��� � � �3� �C� �� �� �� �D� �(�(�3�-�C� �a�x��s�t�9���$�3�i�� �"�"���� �(�(�3�-�C� �a�x��c�d�)���$�3�i�� �!�!���� �(�(�3�-�C� �a�x����I� ��$�3�i�� �#�#��� ��H� �C� �4��6�]���T�E� ��C��&�&��y�(8���$�$��w����%�%��x��� �J�J�s�O� ��K�K�M� �Jr'c�L�eZdZd d�Zd�Zd�Zd�Zd�Zd�Zd�Z d �Z d �Z d d �Z y) rNc�V�i|_d|_d|_|�|j|�yy�N)�_info�_charset� _fallbackrA��self�fps r#�__init__zNullTranslations.__init__ s,���� ��� ���� �>� �K�K��O� r'c��yr��r�s r#rAzNullTranslations._parses�� r'c�b�|jr|jj|�y||_yr�)r�� add_fallback)r��fallbacks r#r�zNullTranslations.add_fallbacks"�� �>�>� �N�N� '� '�� 1�%�D�Nr'c�T�|jr|jj|�S|Sr�)r�r )r��messages r#r zNullTranslations.gettexts#�� �>�>��>�>�)�)�'�2� 2��r'c�f�|jr|jj|||�S|dk(r|S|S�Nr1)r�r)r��msgid1�msgid2r8s r#rzNullTranslations.ngettext s3�� �>�>��>�>�*�*�6�6�1�=� =� ��6��M��Mr'c�V�|jr|jj||�S|Sr�)r�r)r��contextr�s r#rzNullTranslations.pgettext(s%�� �>�>��>�>�*�*�7�G�<� <��r'c�h�|jr|jj||||�S|dk(r|S|Sr�)r�r)r�r�r�r�r8s r#rzNullTranslations.npgettext-s5�� �>�>��>�>�+�+�G�V�V�Q�G� G� ��6��M��Mr'c��|jSr�)r��r�s r#�infozNullTranslations.info5s ���z�z�r'c��|jSr�)r�r�s r#�charsetzNullTranslations.charset8s ���}�}�r'c��ddl}|j|jd<|�1hd�}|t|�zD]}t ||�|j|<�yy)Nrrn>r rrr)�builtinsr �__dict__�set�getattr)r��namesr��allowed�names r#r zNullTranslations.install;sS���!%������#�� � �F�G��#�e�*�,��*1�$��*=��!�!�$�'�-� r'r�) rS� __module__� __qualname__r�rAr�r rrrr�r�r r�r'r#rr s4��� �&� � �� ���>r'rc�@�eZdZdZdZdZdZd�Zd�Zd�Z d�Z d �Z d �Z y ) rl�*l�$<z%s%s)rr1c�� |dz |dzfS)N�i��r�)r��versions r#� _get_versionszGNUTranslations._get_versionsPs��=��2� �w��/�0�0r'c�� ddlm}t|dd�}ix|_}d�|_|j �}t |�}|d|dd�d}||jk(r|d|dd �\}} } } d } n0||jk(r|d |dd �\}} } } d } n tdd |��|j|�\} }| |jvrtddt| �z|��td| �D�]}|| || | dz�\}}||z}|| || | dz�\}}||z}||kr||kr |||}|||}n tdd|��|dk(�r4d}|jd�D�]}|j�j!�}|s�%|j#d�r|j%d�r�Hdx}}d|vrU|jdd�\}}|j!�j'�}|j!�}||j(|<|}n|r|j(|xxd|zz cc<|dk(r|jd�d|_��|dk(s��|jd�}|djd�d}t-|�|_�� |j*xsd}d|vrV|jd�\}} |jd�}t||�}t/|�D]\}}!t|!|�|||f<�nt||�|t||�<| dz } | dz } ��y)Nr)�unpackr�rc��t|dk7�Sr�)rB)r8s r#�z(GNUTranslations._parse..]s ���A��F� r'z4Iz>IIzBad magic numberzBad version number �zFile is corrupt� z #-#-#-#-#r?r1� z content-typezcharset=z plural-forms�;zplural=�ascii�)�structr�r��_catalogr�readrd�LE_MAGIC�BE_MAGIC�OSErrorr��VERSIONS�strrp�split�decode�strip� startswith�endswith�lowerr�r�rj� enumerate)"r�r�r��filename�catalog�buf�buflen�magicr��msgcount� masteridx�transidx�ii� major_version� minor_versionrL�mlen�moff�mend�tlen�toff�tend�msg�tmsg�lastk�b_item�item�k�vrr�r�r��xs" r#rAzGNUTranslations._parseTs4��F� "��2�v�r�*��#%�$�� ��+�� ��g�g�i���S����t�S��!�W�%�a�(�� �D�M�M� !�5;�E�3�q��9�5M� 2�G�X�y�(��B� �d�m�m� #�5;�E�3�q��9�5M� 2�G�X�y�(��B��!�/��:� :�'+�'9�'9�'�'B�$� �}� �� � � -��!�2�S��5G�G��R� R��q�(�#�A���C� �)�A�+�$>�?�J�D�$��$�;�D���C���!��$<�=�J�D�$��$�;�D��f�}�����$�t�n���4��~���a�!2�H�=�=��q�y���"�j�j��/�F�!�=�=�?�0�0�2�D�� ����{�3�� � �k�8R� � �L�A���d�{�#�z�z�#�q�1���1��G�G�I�O�O�-���G�G�I��()�� � �1� � !���� � �5�)�T�D�[�8�)��N�*�()��� �(;�A�(>�� ��n�,��G�G�C�L��!"�1����I�!6�q�!9��&*�6�l�� �+0�>�m�m�.�w�G��#�~�!$���7�!3�����z�z�'�*���V�W�-��%�d�O�D�A�q�+.�q�'�?�G�V�Q�K�(�,�.1��w�-?���C��)�*� ��N�I� ��M�H�s$r'c��t�}|jj||�}||ur-|jj||jd�f|�}||ur|S|jr|jj |�S|Sr�)�objectr�rErr�r )r�r��missingr�s r#r zGNUTranslations.gettext�sw���(���}�}� � ��'�2�� �7�?��=�=�$�$�g�t�{�{�1�~�%>��H�D� �w� ��K� �>�>��>�>�)�)�'�2� 2��r'c��� |j||j|�f}|S#t$r;|jr|jj |||�cYS|dk(r|}Y|S|}Y|SwxYwr�)r�r�KeyErrorr�r)r�r�r�r8r�s r#rzGNUTranslations.ngettext�sy�� ��=�=�&�$�+�+�a�.�!9�:�D�� ��� ��~�~��~�~�.�.�v�v�q�A�A��A�v���� ���� � �s� $�2A(�A(�"A(�'A(c�2�|j||fz}t�}|jj||�}||ur-|jj||j d�f|�}||ur|S|j r|j j ||�S|Sr�)�CONTEXTr�r�rErr�r)r�r�r�� ctxt_msg_idr�r�s r#rzGNUTranslations.pgettext�s����l�l�g�w�%7�7� ��(���}�}� � ��g�6�� �7�?��=�=�$�$�k�4�;�;�q�>�%B�G�L�D� �w� ��K� �>�>��>�>�*�*�7�G�<� <��r'c���|j||fz} |j||j|�f}|S#t$r<|jr |jj ||||�cYS|dk(r|}Y|S|}Y|SwxYwr�)r�r�rr�r�r)r�r�r�r�r8r�r�s r#rzGNUTranslations.npgettext�s����l�l�g�v�%6�6� � ��=�=��d�k�k�!�n�!<�=�D�� ��� ��~�~��~�~�/�/�����K�K��A�v���� ���� � �s� 5�3A:�*A:�4A:�9A:N) rSr�r�r�r�r�r�r�rAr rrrr�r'r#rrDs:���H��H��G��H�1�W�r � � � r'rc��|�t}|�Rg}dD]6}tjj|�}|s�%|j d�}nd|vr|j d�g}|D](}t |�D]}||vs�|j |���*|rg} nd} |D]f}|dk(r| Stjj||dd|z�} tjj| �s�P|r| j | ��d| cS| S)N)�LANGUAGE�LC_ALL� LC_MESSAGES�LANGr?�Cr�z%s.mo) �_default_localedir�os�environrEr�rqr�path�join�exists) �domain� localedir� languages�all�envarr~�nelangs�lang�nelangrH�mofiles r#rr�s����&� ���� �B�E��*�*�.�.��'�C���I�I�c�N� �� C� �i� � � � �S� !��G���"�4�(�F��W�$����v�&�)��  ������� �3�;� � �M� �����i��}�g��>N�O�� �7�7�>�>�&� !��� � �f�%�� �� �Mr'c���|�t}t|||d��}|s|r t�Sddlm}t |d|��d}|D]�}|t jj|�f} tj| �} | �1t|d�5} tj| || ��} ddd�ddl } | j| �} |�| }��|j| ���|S#1swY�8xYw)NT)r�r)�ENOENTz$No translation file found for domain�rb)rrr�errnor��FileNotFoundErrorr�r��abspath� _translationsrE�open� setdefault�copyr�) r�r�r��class_r��mofilesr�rHr��key�tr�rs r#rrs��� �~� ���6�9�i�T�:�G� � �#�%� %� ��� F��P� P��F����r�w�w���v�.�/�� � � �c� "�� �9��f�d�#�r�!�,�,�S�&��*�=��$� � �I�I�a�L�� �>��F� � � �� "�!�" �M�$�#�s �C�C! )r�c�B�t||d��}|j|�y)NT)r�)rr )r�r�r�r s r#r r )s���F�I��5�A��I�I�e�r'�messagesc��|�|atSr�)�_current_domain)r�s r#r r 4s�� �� �� �r'c�L�|� |t|<tj|t�Sr�)� _localedirsrEr�)r�r�s r#rr;s$����'� �F�� �?�?�6�#5� 6�6r'c�� t|tj|d��}|j |�S#t$r|cYSwxYwr�)rrrEr�r )r�r�r s r#r r BsE��� �� ����� =� >�� �9�9�W� ��� �����s� 3� A�Ac�� t|tj|d��}|j |||�S#t$r|dk(r|cYS|cYSwxYwr�)rrrEr�r)r�r�r�r8r s r#r r JsU��� �� ����� =� >�� �:�:�f�f�a� (�(�� �� ��6��M��M� �s� 5�A �A � A c�� t|tj|d��}|j ||�S#t$r|cYSwxYwr�)rrrEr�r)r�r�r�r s r#rrUsG��� �� ����� =� >�� �:�:�g�w� '�'�� �����s� 4� A�Ac�� t|tj|d��}|j ||||�S#t$r|dk(r|cYS|cYSwxYwr�)rrrEr�r)r�r�r�r�r8r s r#rr]sW��� �� ����� =� >�� �;�;�w���� 2�2�� �� ��6��M��M� �s� 6�A �A � A c�"�tt|�Sr�)r r )r�s r#r r hs�� �O�W� -�-r'c�&�tt|||�Sr�)r r )r�r�r8s r#rrls�� �_�f�f�a� 8�8r'c�$�tt||�Sr�)rr )r�r�s r#rrps�� �_�g�w� 7�7r'c�(�tt||||�Sr�)rr )r�r�r�r8s r#rrts�� �o�w���� B�Br')�����)NNF)NNNFr�))�operatorr�rrX�__all__r�r�� base_prefixr��compile�VERBOSE�DOTALLrr$r&rCr�rDrAr`rjrrrrrrr rr r rr r rrr rrrr)rL�opsrMs000r#�r sY�� �`� � � � ���W�W�\�\�#�/�/�7�H�E������ � ���B�I�I� � ��  �;�� �$-�[�!�#<�K�#<���C�s��r�1�u�s�r�#<�K� ��u�4� 0� �/�d �(!B�H'�T7>�7>�tW�&�W�v!�J� �37�&+��D�T�� � ����7��)�(�3�.�9�8�C�$ ���iLs�<C7