HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python37/lib64/python3.7/__pycache__/gettext.cpython-37.pyc
B

� f�U�@sxdZddlZddlZddlZddlZddddddd	d
ddd
ddddddgZej�ejdd�Z	e�
dejejB�Z
dd�Zdd�ZdZdd�eed�D�Zdd d!d"�Zd>d$d%�Zd&d'�Zd(d)�Zd*d+�ZGd,d�d�ZGd-d�de�Zd?d/d�ZiZd@d0d�ZdAd1d�Ziaiad2adBd3d	�Z dCd4d
�Z!dDd5d�Z"d6d�Z#d7d�Z$d8d
�Z%d9d�Z&d:d�Z'd;d�Z(d<d�Z)d=d�Z*eZ+dS)Ea�Internationalization and localization support.

This module provides internationalization (I18N) and localization (L10N)
support for your Python programs by providing an interface to the GNU gettext
message catalog library.

I18N refers to the operation by which a program is made aware of multiple
languages.  L10N refers to the adaptation of your program, once
internationalized, to the local language and cultural habits.

�N�NullTranslations�GNUTranslations�Catalog�find�translation�install�
textdomain�bindtextdomain�bind_textdomain_codeset�dgettext�	dngettext�gettext�lgettext�	ldgettext�
ldngettext�	lngettext�ngettextZshare�localea�
        (?P<WHITESPACES>[ \t]+)                    | # spaces and horizontal tabs
        (?P<NUMBER>[0-9]+\b)                       | # decimal integer
        (?P<NAME>n\b)                              | # only n is allowed
        (?P<PARENTHESIS>[()])                      |
        (?P<OPERATOR>[-*/%+?:]|[><!]=?|==|&&|\|\|) | # !, *, /, %, +, -, <, >,
                                                     # <=, >=, ==, !=, &&, ||,
                                                     # ? :
                                                     # unary and bitwise ops
                                                     # not allowed
        (?P<INVALID>\w+|.)                           # invalid token
    ccsTxHt�t|�D]8}|j}|dkr"q|�|�}|dkr@td|��|VqWdVdS)NZWHITESPACESZINVALIDz invalid token in plural form: %s�)�re�finditer�_token_pattern�	lastgroup�group�
ValueError)�plural�mo�kind�value�r�,/opt/alt/python37/lib64/python3.7/gettext.py�	_tokenizeVs

r!cCs|rtd|�Std�SdS)Nz#unexpected token in plural form: %szunexpected end of plural form)r)rrrr �_errorasr"))z||)z&&)z==z!=)�<�>z<=z>=)�+�-)�*�/�%cCs i|]\}}|D]
}||�qqSrr)�.0�i�ops�oprrr �
<dictcomp>osr.��or�andz//)z||z&&r(���cCs�d}t|�}x|dkr(|d7}t|�}qW|dkr\t|�\}}d||f}|dkr�td��nP|dkrrd	||f}n:yt|d
�}Wntk
r�t|�d�YnXd||f}t|�}d}xh|tk�r t|}||kr�P|d
kr�|d
kr�d|}t�||�}t||d�\}	}d|||	f}|}q�W||k�r:dk�rFnnd|}|dk�r�|dk�r�t|d�\}
}|dk�rzt|��t|�\}}d|
||f}|dk�r�d|}||fS)Nr�!znot �(z%s(%s)�)z%unbalanced parenthesis in plural form�nz%s%s�
z%s%d�d)��z(%s)r/z%s %s %sr:�?r�:z%s if %s else %s)�next�_parser�intr"�_binary_ops�	_c2py_ops�get)�tokensZpriority�result�nexttok�subr�jr+r-�rightZif_trueZif_falserrr r>rsP



r>cCsZyt|�}Wn(tk
r4td|jjf�d�YnXddl}|�d|jjftd�|S)Nz'Plural value must be an integer, got %srr:)�round�	TypeError�	__class__�__name__�warnings�warn�DeprecationWarning)r6r+rMrrr �_as_int�s
rPcCs�t|�dkrtd��y~tt|��\}}|r2t|��d}x>|D]6}|dkrb|d7}|dkrrtd��q<|dkr<|d8}q<Wd	ti}td
||�|dStk
r�td��YnXdS)
z�Gets a C expression as used in PO files for plural forms and returns a
    Python function that implements an equivalent expression.
    i�z"plural form expression is too longrr4r/�z%plural form expression is too complexr5rPz�if True:
            def func(n):
                if not isinstance(n, int):
                    n = _as_int(n)
                return int(%s)
            �funcN)�lenrr>r!r"rP�exec�RecursionError)rrDrE�depth�c�nsrrr �c2py�s(

rYc
Cs8t�|�}d}d}d}d}|�d�}|dkrN||d�}|d|�}||O}nd}|�d�}|dkr�||d�}|d|�}||O}nd}|�d�}|dkr�||d�}|d|�}||O}nd}|}	g}
x`t|d�D]P}||@s�|	}||@r�||7}||@�r||7}||@�r||7}|
�|�q�W|
��|
S)	Nr/�r:r�@r�.�_)r�	normalizer�range�append�reverse)
�locZCOMPONENT_CODESETZCOMPONENT_TERRITORYZCOMPONENT_MODIFIER�mask�pos�modifier�codesetZ	territory�language�retr+�valrrr �_expand_lang�sJ









rjc@speZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
ddd�ZdS)rNcCs.i|_d|_d|_d|_|dk	r*|�|�dS)N)�_info�_charset�_output_charset�	_fallbackr>)�self�fprrr �__init__�szNullTranslations.__init__cCsdS)Nr)rorprrr r>szNullTranslations._parsecCs|jr|j�|�n||_dS)N)rn�add_fallback)ro�fallbackrrr rr	szNullTranslations.add_fallbackcCs|jr|j�|�S|S)N)rnr
)ro�messagerrr r
szNullTranslations.gettextcCs2|jr|j�|�S|jr$|�|j�S|�t���S)N)rnrrm�encoder�getpreferredencoding)rortrrr rs
zNullTranslations.lgettextcCs*|jr|j�|||�S|dkr"|S|SdS)Nr/)rnr)ro�msgid1�msgid2r6rrr rs
zNullTranslations.ngettextcCsH|jr|j�|||�S|dkr$|}n|}|jr:|�|j�S|�t���S)Nr/)rnrrmrurrv)rorwrxr6�tmsgrrr r#szNullTranslations.lngettextcCs|jS)N)rk)rorrr �info.szNullTranslations.infocCs|jS)N)rl)rorrr �charset1szNullTranslations.charsetcCs|jS)N)rm)rorrr �output_charset4szNullTranslations.output_charsetcCs
||_dS)N)rm)ror{rrr �set_output_charset7sz#NullTranslations.set_output_charsetcCsvddl}|j|jd<t|d�rrd|kr6|jd|jd<d|krJ|j|jd<d|kr^|j|jd<d|krr|j|jd<dS)Nrr]�__contains__r
rrr)�builtinsr
�__dict__�hasattrrrr)ro�namesrrrr r:s
zNullTranslations.install)N)N)rL�
__module__�__qualname__rqr>rrr
rrrrzr{r|r}rrrrr r�s
c@sHeZdZdZdZdZdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�ZdS)rl�*l�$<)rr/cCs|d?|d@fS)z/Returns a tuple of major version, minor version�i��r)ro�versionrrr �
_get_versionsPszGNUTranslations._get_versionsc"Cs�ddlm}t|dd�}i|_}dd�|_|��}t|�}|d|dd	��d}||jkr||d
|d	d��\}}	}
}d}n6||jkr�|d
|d	d��\}}	}
}d}nt	dd|��|�
|�\}
}|
|jkr�t	ddt|
�|���xt
d|	�D�]�}||||
|
d��\}}||}|||||d��\}}||}||k�rd||k�rd|||�}|||�}nt	dd|��|dk�rXd}x�|�d�D]�}|����}|�s��q�d}}d|k�r�|�dd�\}}|����}|��}||j|<|}n|�r|j|d|7<|dk�r"|�d�d|_n0|dk�r�|�d�}|d�d�d}t|�|_�q�W|j�pbd}d|k�r�|�d�\}} |�d�}t||�}x>t|�D]\}}!t|!|�|||f<�q�Wnt||�|t||�<|
d7}
|d7}q�WdS)z8Override this method to support alternative .mo formats.r)�unpack�namercSst|dk�S)Nr/)r?)r6rrr �<lambda>]�z(GNUTranslations._parse.<locals>.<lambda>z<INr:z<4IrQz<IIz>4Iz>IIzBad magic numberzBad version number �zFile is corrupt�
r<r/�
zcontent-typezcharset=zplural-forms�;zplural=�ascii�)�structr��getattr�_catalogr�readrS�LE_MAGIC�BE_MAGIC�OSErrorr��VERSIONS�strr_�split�decode�strip�lowerrkrlrY�	enumerate)"rorpr��filenameZcatalog�buf�buflen�magicr�ZmsgcountZ	masteridxZtransidx�ii�
major_versionZ
minor_versionr+ZmlenZmoffZmendZtlenZtoffZtend�msgryZlastkZb_item�item�k�vrr{rwrx�xrrr r>Tsr














zGNUTranslations._parsecCsRt�}|j�||�}||kr2|jr.|j�|�S|}|jrD|�|j�S|�t���S)N)	�objectr�rBrnrrmrurrv)rort�missingryrrr r�szGNUTranslations.lgettextcCsvy|j||�|�f}Wn<tk
rT|jr>|j�|||�S|dkrL|}n|}YnX|jrh|�|j�S|�t���S)Nr/)	r�r�KeyErrorrnrrmrurrv)rorwrxr6ryrrr r�s
zGNUTranslations.lngettextcCs6t�}|j�||�}||kr2|jr.|j�|�S|S|S)N)r�r�rBrnr
)rortr�ryrrr r
�szGNUTranslations.gettextcCsZy|j||�|�f}Wn<tk
rT|jr>|j�|||�S|dkrL|}n|}YnX|S)Nr/)r�rr�rnr)rorwrxr6ryrrr r�s
zGNUTranslations.ngettextN)rLr�r�r�r�r�r�r>rrr
rrrrr rHsV	FcCs�|dkrt}|dkrTg}x(dD] }tj�|�}|r|�d�}PqWd|krT|�d�g}x0|D](}x"t|�D]}||krl|�|�qlWq^W|r�g}	nd}	xL|D]D}|dkr�Ptj�||dd|�}
tj�	|
�r�|r�|	�|
�q�|
Sq�W|	S)N)�LANGUAGE�LC_ALL�LC_MESSAGES�LANGr<�Cr�z%s.mo)
�_default_localedir�os�environrBr�r`rj�path�join�exists)�domain�	localedir�	languages�allZenvarriZnelangs�langZnelangrD�mofilerrr r�s8




c
Cs�|dkrt}t|||dd�}|sB|r*t�Sddlm}t|d|��d}x�|D]�}	|tj�|	�f}
t	�
|
�}|dkr�t|	d��}t	�|
||��}WdQRXddl
}
|
�
|�}|r�|�|�|dkr�|}qL|�|�qLW|S)NT)r�r)�ENOENTz$No translation file found for domain�rb)rrr�errnor��FileNotFoundErrorr�r��abspath�
_translationsrB�open�
setdefault�copyr}rr)r�r�r��class_rsrfZmofilesr�rDr��key�trpr�rrr rs0



cCst||d|d�}|�|�dS)NT)rsrf)rr)r�r�rfr�r�rrr r&s�messagescCs|dk	r|atS)N)�_current_domain)r�rrr r4scCs|dk	r|t|<t�|t�S)N)�_localedirsrBr�)r�r�rrr r	;scCs|dk	r|t|<t�|�S)N)�_localecodesetsrB)r�rfrrr r
BscCs@y t|t�|d�t�|�d�}Wntk
r4|SX|�|�S)N)rf)rr�rBr�r�r
)r�rtr�rrr rIscCsRt�|�}yt|t�|d�|d�}Wn"tk
rF|�|pBt���SX|�|�S)N)rf)	r�rBrr�r�rurrvr)r�rtrfr�rrr rQs
cCsTy t|t�|d�t�|�d�}Wn$tk
rD|dkr<|S|SYnX|�|||�S)N)rfr/)rr�rBr�r�r)r�rwrxr6r�rrr rYs
cCsht�|�}yt|t�|d�|d�}Wn4tk
rX|dkrB|}n|}|�|pTt���SX|�|||�S)N)rfr/)	r�rBrr�r�rurrvr)r�rwrxr6rfr�ryrrr rds
cCs
tt|�S)N)rr�)rtrrr r
pscCs
tt|�S)N)rr�)rtrrr rsscCstt|||�S)N)rr�)rwrxr6rrr rvscCstt|||�S)N)rr�)rwrxr6rrr rys)r2)NNF)NNNFN)NNN)N)N)N),�__doc__rr�r�sys�__all__r�r��base_prefixr��compile�VERBOSE�DOTALLrr!r"r@r�rAr>rPrYrjrrrr�rrr�r�r�rr	r
rrrrr
rrrrrrrr �<module>sX&



1$*K
&
#