
    %i>                        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 d؄ de      Z
y)    )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                   b    e Zd ZdddddZd ZddZddZd	 Zd
 Z	 	 	 	 	 ddZ	d Z
ddZd Zy)Num2Word_CE))   Евроr8   u   Сентu   Сенташ))u   Сомu
   Сомаш)u
   Кепекu   Кепекаш))u   Долларu   Долларашr9   ))u   Фунтu   Фунташ)
   Пенниr:   )EURRUBUSDGBPc                 t    t        j                  |        d| _        d| _        g | _        g | _        i | _        y )Nr4   u   запятая)r   setupnegword	pointwordmid_numwordslow_numwordsords)selfs    o/var/www/html/navyabakers_fullstack/navyabakers_prod/venv_new/lib/python3.12/site-packages/num2words/lang_CE.pyr@   zNum2Word_CE.setupZ  s7    $#) 	    c                 *    | j                  ||d      S )Nr   clazzcaseto_cardinal)rF   numberrK   s      rG   
to_ordinalzNum2Word_CE.to_ordinali  s     e%@@rH   c           
      ^   t        |t              r| j                  t        |            }t	        |      j                  d      d   }dj                  |D cg c]  }| j                  t        |             c}      }|dz   t        z   dz   |z   S |dk  r| j                  |||      S |dk  rf|dz  }|dz  }	|dz  }
|	dk(  r| j                  |||      S | j                  |
d|      }| j                  |	||      }|dz   |j                  d	|      z   S |d
k  ru|dz  }|dz  }|dkD  r t        |   d   j                  d	|      dz   }nd}|dk7  r)| j                  |||      }|t        d   d   z   dz   |z   S || j                  d||      z   S |dk  ry|d
z  }|d
z  }|dkD  rd}n|}|dkD  r%| j                  ||d      dz   t        d
   |   z   }n| j                  d
||      }|dk7  rd| j                  |||      z   }||z   S d}||z   S |ddz  k  rg }t        g d      D ]H  }|d|z  z  d
z  }|dkD  s| j                  ||d      }|j                  |dz   t        |   d   z          J |dz  }|r#|j                  | j                  |||             dj                  |      S yc c}w )N.r    r'   r+   r   r   rJ      д*r,    r   r-   r   "   r.   zNOT IMPLEMENTED)
isinstancefloatrN   intstrsplitjoinDECIMALPOINTmakecasereplace	CARDINALSreversedappendILLIONS)rF   rO   rK   rL   entires
float_partcpostfixtwensunitsbasetwentiesresthundredstenshundert	thousandstcasetausendoutpotstepwordss                          rG   rN   zNum2Word_CE.to_cardinalo  s)   fe$&&s6{3GV**3/2Jhh3=>a!!#a&)>G S=</#5??b[==u55c\bLERKE2:Dz}}VT599==vu=''U'F#~UE(BBBd]}HC<D!|h'/77uEK  qy''E'E3!66<tCCsD%!@@@g$ItmG{1}$$Ye&$Ioe,-  --eU;!|T--gU-NN T>! T>!b"f_C FG CS(4/!8 ,,TV,LEJJus{WS\&-AABC E>D

4++DD+IJ88C=  C ?s   !J*c                 :    d}|dk7  rd}| j                  ||      S Nr   r   r   rL   rM   rF   rO   currencyrL   mcases        rG   _money_verbosezNum2Word_CE._money_verbose  )    5=EU33rH   c                 :    d}|dk7  rd}| j                  ||      S rx   rM   rz   s        rG   _cents_verbosezNum2Word_CE._cents_verbose  r~   rH   c           	         t        |      \  }}}		 | j                  |   \  }
}|
d   }|d   }|	rd| j                  j                         z  nd}| j                  |||      }|r| j                  |||      n| j                  ||      }||d||d|d|	S # t        $ r' t        d|d| j                  j
                  d      w xY w)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 "z" not implemented for ""z%s rU   rS   )r   CURRENCY_FORMSKeyErrorNotImplementedError	__class____name__rA   stripr}   r   _cents_terse)rF   valr{   cents	separator	adjectiverL   leftrightis_negativecr1cr2devisecentime	minus_str	money_str	cents_strs                    rG   to_currencyzNum2Word_CE.to_currency  s    ( $8#< e[	**84HCVF!fG 5@EDLL..00R	''h=	  x6""5(3 	 
 	
  	%T^^446 	s   B 0C	c                 @    | j                  |       t        |      dz   S )Nu   -й)verify_ordinalrZ   )rF   rO   s     rG   to_ordinal_numzNum2Word_CE.to_ordinal_num  s    F#6{U""rH   c                 (    | j                  ||      S )Nry   rM   )rF   yearrL   s      rG   to_yearzNum2Word_CE.to_year  s    400rH   c                    |t         |   v rt         |   |   j                  d|      S t         |   d   d   dv r)t         |   d   j                  d|      t         d   |   z   S t         |   d   j                  d|      t         d   |   z   S )NrT   r   r5   r   r   )r`   r_   )rF   rO   rL   rK   s       rG   r^   zNum2Word_CE.makecase  s    9V$$V$T*225%@@ '+t3f%e,44UEB 01$78 f%e,44UEB 12489rH   N)   д)r   r   )r<   T,Fr   )r   )r   
__module____qualname__r   r@   rP   rN   r}   r   r   r   r   r^    rH   rG   r7   r7   Q  sZ     HKSKNAG!R44 /
b#1rH   r7   N)
__future__r   r{   r   lang_EUr   r`   rc   MINUSr]   r7   r   rH   rG   <module>r      s  " ( *  t!	t 
t, 
-tB ! 
CtX !#!"!Ytr stL !!!"!Mtf    !"gt@ !!!"#AtZ #[td %etn #otx #ytB !!!"#	CtZ !")	[td #	etn  '	otz &	   '	   '	 &&-	 $$'	 $$)	 !!!"!	 "")	 "")	   '	  
 # !# !)_t	p !) #!+ !)	 #!+	 #!+	 %#-	 )'1	 +)3	 )'1	 +)3	]3l 	y+ yrH   