B üÈA¿¡žÅã@sxdZddlZddlZddlZddlZddddddd d d d d ddddddgZej ejdd¡Z e  dej ej 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[ \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 ccsTxHt t|¡D]8}|j}|dkr"q| |¡}|dkr@td|ƒ‚|VqWdVdS)NZ WHITESPACESZINVALIDz invalid token in plural form: %sÚ)ÚreÚfinditerÚ_token_patternÚ lastgroupÚgroupÚ ValueError)ÚpluralZmoZkindÚvalue©rú*/opt/alt/python37/lib/python3.7/gettext.pyÚ _tokenizeVs   rcCs|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ÚiZopsÚoprrrú 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|tkr t|}||krÖP|d krî|d krîd|}t ||¡}t||dƒ\} }d||| f}|}qºW||kr:dkrFnnd|}|dkr¦|dkr¦t|dƒ\} }|dkrzt|ƒ‚t|ƒ\} }d| || f}|dkr¦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 %sr7ú?rú:z%s if %s else %s)ÚnextÚ_parserÚintr Ú _binary_opsÚ _c2py_opsÚget) ÚtokensZpriorityÚresultÚnexttokÚsubrÚjr)r*ÚrightZif_trueZif_falserrrr;rsP           r;cCsZy t|ƒ}Wn(tk r4td|jjfƒd‚YnXddl}| d|jjftd¡|S)Nz'Plural value must be an integer, got %srr7)ÚroundÚ TypeErrorÚ __class__Ú__name__ÚwarningsÚwarnÚDeprecationWarning)r3r)rJrrrÚ_as_int£s  rMcCs´t|ƒdkrtdƒ‚y~tt|ƒƒ\}}|r2t|ƒ‚d}x>|D]6}|dkrb|d7}|dkrrtdƒ‚q<|dkr<|d8}qt|ƒ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<)r3rrrÚ]óz(GNUTranslations._parse..z4Iz>IIzBad magic numberzBad version number ézFile is corruptó r9r,Ú z content-typezcharset=z plural-formsú;zplural=Úasciió)Zstructr€ÚgetattrÚ_catalogrÚreadrPÚLE_MAGICÚBE_MAGICÚOSErrorrÚVERSIONSÚstrr[ÚsplitÚdecodeÚstripÚlowerrcrdrUÚ enumerate)"rgrhr€ÚfilenameZcatalogZbufZbuflenÚmagicr~ZmsgcountZ masteridxZtransidxZiiZ major_versionZ minor_versionr)ZmlenZmoffZmendZtlenZtoffZtendÚmsgrqZlastkZb_itemÚitemÚkÚvrrsrorpÚxrrrr;Tsr                      zGNUTranslations._parsecCsRtƒ}|j ||¡}||kr2|jr.|j |¡S|}|jrD| |j¡S| t ¡¡S)N) Úobjectr‹r?rfrrermrrn)rgrlÚmissingrqrrrrªs  zGNUTranslations.lgettextcCsvy|j|| |¡f}Wn<tk rT|jr>|j |||¡S|dkrL|}n|}YnX|jrh| |j¡S| t ¡¡S)Nr,) r‹rÚKeyErrorrfrrermrrn)rgrorpr3rqrrrrµs  zGNUTranslations.lngettextcCs6tƒ}|j ||¡}||kr2|jr.|j |¡S|S|S)N)ržr‹r?rfr )rgrlrŸrqrrrr Ãs zGNUTranslations.gettextcCsZy|j|| |¡f}Wn<tk rT|jr>|j |||¡S|dkrL|}n|}YnX|S)Nr,)r‹rr rfr)rgrorpr3rqrrrrÌs zGNUTranslations.ngettextN) rIr{r|rrŽrrr;rrr rrrrrrHsV  Fc Csê|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)ZLANGUAGEÚLC_ALLÚ LC_MESSAGESZLANGr9ÚCr¢z%s.mo) Ú_default_localedirÚosÚenvironr?r’r\rbÚpathÚjoinÚexists) ÚdomainÚ localedirÚ languagesÚallZenvarraZnelangsZlangZnelangrAÚmofilerrrrÚ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Ú _translationsr?ÚopenÚ setdefaultÚcopyrurj)rªr«r¬Zclass_rkr`Zmofilesr¯rAr®ÚkeyÚtrhr·rrrrs0      cCst||d|d}| |¡dS)NT)rkr`)rr)rªr«r`rzr¹rrrr&sZmessagescCs|dk r |atS)N)Ú_current_domain)rªrrrr4scCs|dk r|t|<t |t¡S)N)Ú _localedirsr?r¤)rªr«rrrr ;scCs|dk r|t|<t |¡S)N)Ú_localecodesetsr?)rªr`rrrr BscCs@y t|t |d¡t |¡d}Wntk r4|SX| |¡S)N)r`)rr»r?r¼rr )rªrlr¹rrrr Is cCsRt |¡}yt|t |d¡|d}Wn"tk rF| |pBt ¡¡SX| |¡S)N)r`) r¼r?rr»rrmrrnr)rªrlr`r¹rrrrQs  cCsTy t|t |d¡t |¡d}Wn$tk rD|dkr<|S|SYnX| |||¡S)N)r`r,)rr»r?r¼rr)rªrorpr3r¹rrrr Ys cCsht |¡}yt|t |d¡|d}Wn4tk rX|dkrB|}n|}| |pTt ¡¡SX| |||¡S)N)r`r,) r¼r?rr»rrmrrnr)rªrorpr3r`r¹rqrrrrds cCs tt|ƒS)N)r rº)rlrrrr pscCs tt|ƒS)N)rrº)rlrrrrsscCstt|||ƒS)N)r rº)rorpr3rrrrvscCstt|||ƒS)N)rrº)rorpr3rrrrys)r/)NNF)NNNFN)NNN)N)N)N),Ú__doc__rr¥rÚsysÚ__all__r§r¨Ú base_prefixr¤ÚcompileÚVERBOSEÚDOTALLrrr r=r–r>r;rMrUrbrrrr´rrr»r¼rºrr r r rr rr rrrrrrrrÚ sX&        1 $*K & #