o
    ph>                     @   s  d dl mZ ddlmZ ddlmZ i ddddd	d
ddddddddddddddd	ddddddd d!d"d#d	d d$d$d%d&d'd(d)d*d+d,	dd-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDd8dEdFdGdHdIdJdKdLdMdNdOdPd8dQdRdSdTdUdVdWdXdYdZd[d\d8d]d^d_d`dadbdcdddedfdgdhd8didjdjdkdldmdndndodldpdqdqdrdldsdtdtdudldvdwdwdxdydzd{d|d}d~dd
dddddldddddldddddlddddlddddlddddlddddlddddlddddlddddddddddd
ddddlddddlddddldddddddddddddddddddddddddddddZddddddddddddddddddddddddddddddddddddddddd՜
ZdZdZ	G ddل deZ
dS )    )unicode_literals   )parse_currency_parts)Num2Word_EU	casenamesu   Им.u   Род.u   Дат.u   Эрг;u	   Твор.u   Вещ.u   Сравнит.u   Местн.)absgendaterginstrmatcompallcasesuffix_consu
   аннанu   аннаu   аммаu   анцаu
   аннахu
   анналu   ангаu   анu
   алгӀа)	r   r	   r
   r   r   r   r   oblORDcasesuffix_vocu   ннанu   ннаu   ммаu   нцаu   ннахu   нналu   нгаu   нu   лгӀаu   нольu
   ноланu   ноланаu   нолоu   ноланцаu   ноланахu   ноланалu   ноланга)	attrr   r   r	   r
   r   r   r   r   u   цхьаu   цхьанаu
   цхьаъu   цхьаннанu   цхьаннаu   цхьаммаu   цхьаьнцаu   цхьаннахu   цхьанналu   цхаьнгаu   цхьалгӀа)r   r   r   r   r	   r
   r   r   r   r   r      u   шиu   шинаu   шиъu   шиннанu
   шиннаu
   шиммаu
   шинцаu   шиннахu   шинналu
   шингаu   шолгӀа   u   кхоu
   кхонаu   кхоъu   кхааннанu   кхааннаu   кхааммаu   кхаанцаu   кхааннахu   кхаанналu   кхаангаu   кхоалгӀа   u   д*иu   д*еаu   д*иъu   д*еаннанu   д*еаннаu   д*еаммаu   д*еанцаu   д*еаннахu   д*еанналu   д*еангаu   д*оьалгӀа   u   пхиu   пхеаu   пхиъu   пхеаннанu   пхеаннаu   пхеаммаu   нхеанцаu   пхеаннахu   пхеанналu   пхеангаu   пхоьалгӀа   u   ялхu   йолхалгӀа)r   r   r      u
   ворхӀu   ворхӀалгӀа   u
   бархӀu   борхӀалӀа	   u   иссu   уьссалгӀа
   u   иттu   иттаннанu   иттаннаu   иттаммаu   иттанцаu   иттаннахu   иттанналu   иттангаu   уьтталгӀа)
r   r   r   r	   r
   r   r   r   r   r      u   цхьайттаu   цхьайтталгӀа   u   шийттаu   шийтталга   u   кхойттаu   кхойтталгӀаu   д*ейттаu   д*ейтталгӀаu   пхийттаu   пхийтталгӀаu   ялхиттаu   ялхитталгӀаu   вуьрхӀиттаu   вуьрхӀитталгӀаu   берхӀиттаu   берхитталӀаu   ткъайеснаu   ткъаесналгӀаu   ткъаu   ткъаннанu   ткъаннаu   ткъаммаu   ткъанцаu   ткъаннахu   ткъанналu   ткъангаu   ткъеu   ткъолгӀа)
r   r   r	   r
   r   r   r   r   r   r   u   шовзткъаu   шовзткъеu   шовзткъалгІаu   кхузткъаu   кхузткъеu   кхузткъалгІаu   дезткъаu   дезткъеu   дезткъалгІаu   бӀеu   бӀенu   бӀеннанu   бӀеннаu   бӀеммаu   бӀенцаu   бӀеннахu   бӀенналu   бӀенгаu   бІолгІа)r   r   r   r   r	   r
   r   r   r   r   r   u   эзарu   эзаранu   эзарнанu   эзарнаu   эзарноu   эзарнацаu   эзарнахu   эзарналu   эзарангаu   эзарлагІаu   миллионu   миллионалгІа)r   r   r   )                     (   <   P   d     @B u   миллиардu   миллиардалгІаu   биллионu   биллионалгІаu   биллиардu   биллиардалгІаu   триллионu   триллионалгІаu   триллиардu   триллиардалгІаu   квадриллионu    квадриллионалгІаu   квадриллиардu"   квадриллиардалгІаu   квинтиллионu    квинтиллионалгІаu   квинтиллиардu"   квинтиллиардалгІа
r   r   r   r!   r$               !   
   минус   аc                   @   st   e Zd ZdddddZdd Zdd	d
Zd ddZdd Zdd Z					d!ddZ	dd Z
d"ddZdd ZdS )#Num2Word_CE))   Евроr6   u   Сентu   Сенташ))u   Сомu
   Сомаш)u
   Кепекu   Кепекаш))u   Долларu   Долларашr7   ))u   Фунтu   Фунташ)
   Пенниr8   )EURRUBUSDGBPc                 C   s,   t |  d| _d| _g | _g | _i | _d S )Nr3   u   запятая)r   setupnegword	pointwordmid_numwordslow_numwordsordsself rE   ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_CE.pyr=   Z  s   

zNum2Word_CE.setup   дc                 C   s   | j ||ddS )Nr   clazzcaseto_cardinal)rD   numberrI   rE   rE   rF   
to_ordinali  s   zNum2Word_CE.to_ordinalr   c                    s  t |tr+ t|}t|dd }d fdd|D }|d t d | S |dk r6 |||S |dk rj|d }|d }|d }	|dkrQ |||S  |	d	|}
 j|||d
}|
d |	d| S |dk r|d }|d }|dkrt
| d	 	d|d }nd}|dkr j|||d
}|t
d d  d | S | d|| S |dk r|d }|d }|dkrd	}n|}|dkrԈ j||d	d
d t
d |  }n d||}|dkrd j|||d
 }|| S d}|| S |dd k r?g }tg dD ]%}|d|  d }|dkr& j||d	d
}||d t| d	   q|d }|r:| j|||d
 d|S dS )N.r    c                    s   g | ]	}  t|qS rE   )rL   int).0crC   rE   rF   
<listcomp>u  s    z+Num2Word_CE.to_cardinal.<locals>.<listcomp>r&   r*   r   r   rH      д*r+    r   r,   r   "   r-   zNOT IMPLEMENTED)
isinstancefloatrL   rQ   strsplitjoinDECIMALPOINTmakecasereplace	CARDINALSreversedappendILLIONS)rD   rM   rI   rJ   entires
float_partpostfixtwensunitsbasetwentiesresthundredstenshundert	thousandstcasetausendoutpotstepwordsrE   rC   rF   rL   o  sz   



zNum2Word_CE.to_cardinalc                 C      d}|dkrd}| j ||dS Nr   r   r   rJ   rK   rD   rM   currencyrJ   mcaserE   rE   rF   _money_verbose     zNum2Word_CE._money_verbosec                 C   rv   rw   rK   ry   rE   rE   rF   _cents_verbose  r}   zNum2Word_CE._cents_verboser:   T,Fc                 C   s   t |\}}}	z| j| \}
}|
d }|d }W n ty)   td|| jjf w |	r3d| j  nd}| |||}|rE| 	|||n| 
||}d||||||f S )a*  
        Args:
            val: Numeric value
            currency (str): Currency code
            cents (bool): Verbose cents
            separator (str): Cent separator
            adjective (bool): Prefix currency name with adjective
        Returns:
            str: Formatted string

        r   z+Currency code "%s" not implemented for "%s"z%s rV   z%s%s %s%s %s %s)r   CURRENCY_FORMSKeyErrorNotImplementedError	__class____name__r>   stripr|   r~   _cents_terse)rD   valrz   cents	separator	adjectiverJ   leftrightis_negativecr1cr2devisecentime	minus_str	money_str	cents_strrE   rE   rF   to_currency  s4   

zNum2Word_CE.to_currencyc                 C   s   |  | t|d S )Nu   -й)verify_ordinalrZ   )rD   rM   rE   rE   rF   to_ordinal_num  s   
zNum2Word_CE.to_ordinal_numc                 C   s   | j ||dS )Nrx   rK   )rD   yearrJ   rE   rE   rF   to_year  s   zNum2Word_CE.to_yearc                 C   st   |t | v rt | | d|S t | d d dv r*t | d d|t d |  S t | d d|t d |  S )NrU   r   r4   r   r   )r`   r_   )rD   rM   rJ   rI   rE   rE   rF   r^     s   

zNum2Word_CE.makecaseN)rG   )rG   r   )r:   Tr   Fr   )r   )r   
__module____qualname__r   r=   rN   rL   r|   r~   r   r   r   r^   rE   rE   rE   rF   r5   Q  s(    

I	
1
r5   N)
__future__r   rz   r   lang_EUr   r`   rc   MINUSr]   r5   rE   rE   rE   rF   <module>   sf  !,9FS`mrw|           y6