
    %i?-              
       Z   d dl mZmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ dZdd	d
ddddddd	ZddddZdddddddddZdd d!d"Zd#d$d%d"Zi dd&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJZdKZdLZ edM      Z	 	 dSdNZ	 	 dTdOZ G dP dQe      ZyR)U    )print_functionunicode_literals   )Num2Word_Base)to_s)parse_currency_parts)
get_digitssplitbyx)u   אפס)   אחת   אחדr   r   u   ראשונהu
   ראשוןu   ראשונותu   ראשונים)u
   שתיים
   שנייםu   שתי   שניu
   שנייהr   u
   שניותr   )   שלושu
   שלושהr   u
   שלושתu   שלישיתu
   שלישיu   שלישיותu   שלישיים)   ארבעu
   ארבעהr   u
   ארבעתu   רביעיתu
   רביעיu   רביעיותu   רביעיים)   חמשu
   חמישהr   u   חמשתu   חמישיתu
   חמישיu   חמישיותu   חמישיים)   ששu   שישהr   u   ששתu
   שישיתu   שישיu   שישיותu   שישיים)   שבעu   שבעהr   u   שבעתu   שביעיתu
   שביעיu   שביעיותu   שביעיים)
   שמונהr   r   u
   שמונתu   שמיניתu
   שמיניu   שמיניותu   שמיניים)   תשעu   תשעהr   u   תשעתu   תשיעיתu
   תשיעיu   תשיעיותu   תשיעיים)	r                        	   )   עשר   עשרהr   u   עשרתu   עשיריתu
   עשיריu   עשיריותu   עשיריים)r   r   )u   שתים עשרהu   שנים עשר)r   r   r   )u
   עשרים)u   שלושים)u   ארבעים)u   חמישים)u
   שישים)u
   שבעים)u   שמונים)u
   תשעים)r   r   r   r   r   r   r   r   )u   מאהu   מאת)u   מאתיים)u   מאות)r   r   r   )u   אלף)u   אלפיים)u
   אלפיםu   אלפי)u   מיליוןu   מיליוניr   )u   מיליארדu   מיליארדיr   )u   טריליוןu   טריליוניr   )u   קוודריליוןu   קוודריליוניr   )u   קווינטיליוןu   קווינטיליוניr   )u   סקסטיליוןu   סקסטיליוניr   )u   ספטיליוןu   ספטיליוניr   )u   אוקטיליוןu   אוקטיליוני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   הC1000000000000000000000000000000000000000000000000000000000000000000c                    g }t        |      \  }}	}
|
dkD  ro|r!| dk(  r|j                  t        |
   d          nL|
dk  r|j                  t        |
   d          n+|j                  t        |
   d   dz   t        d   d   z          |	dkD  r|j                  t        |	   d          |dk(  s|dk\  r|dk(  xs |dkD  }d|xr |dk(  z  d	|z  z   d|z  z   | dk  z  }|	dk(  rq|dk(  r|j                  t
        |   ||z             np|dk(  r|j                  t
        |   |          nO|j                  t        |   |   dz   t
        d   |   z          n#|dkD  r|j                  t        |   ||z             |xr | d
|z  z  dk(  }|dk(  r|dk\  r|d   dz   t        d   d   z   |d<   |S |dk(  r-|j                  t
        d   d   dz   t        d   |   z          |S |dk  r|j                  t        |   d          |S |j                  t        |   d   dz   t        d   |   z          |S |dkD  r|dk\  r|d   dz   t        |dz
     |   z   |d<   |S |dk(  r6|j                  t
        d   dd|z  z      dz   t        |dz
     |   z          |S |dk(  r |j                  t        |dz
     d          |S |j                  t        |   dd|xs |dk(  z  z      dz   t        |dz
     |   z          |S )Nr   d   r   r    r   r!   mr   i  )r	   appendHUNDREDSONESTWENTIESTENS	THOUSANDSLARGE)nixgender	constructordinalpluralwordsn1n2n3malecopconstruct_lasts                 o/var/www/html/navyabakers_fullstack/navyabakers_prod/venv_new/lib/python3.12/site-packages/num2words/lang_HE.py
chunk2wordrG   m   s;   EAJBB	AvcLL"a)1WLL"a)LLb!s*Xa[^;<	AvXb\!_%Avb}%A)&Q''	1!F(:q2vF7QwT"XdSj12qT"Xd^,T"Xd^c1DGDMAB!VLLb$*-.7A	MQ$6NAv7b	C)A,q/9E"I( L' 1WLLac)IaL,HHI$ L# 1WLL2q)*  L LLb!s*Yq\.-IIJ L 
Q7b	C%A,~*FFE"I L 1WLLaQ~%5!56<q1un56 7 L 1WLLq1ua)
 L LLb!a)A16&B"BCcIq1un56 7 L    c                    | t        |       k(  sJ |r|rJ |s|s|rJ | t        k\  rt        d| dt        d      | dk(  r|rt        t        d   z   S t        d   S g }t        t        t        |       d            }t        |      }|D ]@  }	|dz  }|	dk(  r|t        | ||	||||      z  }t        |      dkD  s2t        |d   z   |d<   B |r| d	k\  s|rt        |d   z   |d<   d
j                  |      S )Nzabs(z) must be less than .r   r   r   )r;   r<   r=   r>   r0   r!   r.   )intMAXVALOverflowErrorDEFZEROlistr
   strlenrG   ANDjoin)
r8   r;   r<   r=   definiter>   r?   chunksr9   r:   s
             rF   int2wordrW      s   A;;''8F33F{q&IJJAva= AwE(3q61%&FFA (	Q6Aq!Fi$+F< 	< u:>eBiE"I( AGxq>a88E?rH   c                   v     e Zd ZddddZddddZd fd	Z fdZdd	ZddZddZ	ddZ
dded
d
d
fdZ xZS )Num2Word_HE))u   שקלu
   שקלים)u
   אגורהu   אגורות))   אירוrZ   u   סנטu
   סנטים))u   דולרu   דולריםr[   )ILSEURUSD)r/   f)r/   r/   c                 8    t         t        |           || _        y )N)superrY   __init__makaf)selfrc   	__class__s     rF   rb   zNum2Word_HE.__init__   s    k4)+
rH   c                 \    t         t        |           d| _        d| _        t
        | _        y )Nu
   מינוסu
   נקודה)ra   rY   setupnegword	pointwordrL   )rd   re   s    rF   rg   zNum2Word_HE.setup   s%    k4&($&rH   c                 n   	 t        |      |k(   | j                  t        |            \  }}t        |      }d| j                  t        |      z
  z  |z   }| j                  ||      g}| j                  r*|j                  | j                  | j                               t        | j                        D ]9  }t        ||         }|j                  t!        | j                  |                   ; dj#                  |      S # t        t        t        t        f$ r t        | j
                  |z        w xY w)N0r;   r.   )float
ValueError	TypeErrorAssertionErrorAttributeErrorerrmsg_nonnumfloat2tuplerQ   	precisionrR   to_cardinalr1   titleri   rangerK   r   rT   )rd   valuer;   prepostoutr9   currs           rF   to_cardinal_floatzNum2Word_HE.to_cardinal_float   s   	8%LE! $$U5\2	T4yDNNSY./$6F34>>JJtzz$..12t~~& 	5AtAw<DJJtD,,T234	5 xx}! I~~F 	8D..677	8s   D 2D4Fc                 x   	 t        |      |k(  sJ 	 d}|dk  r(t        |      }d| j                  j                         z  }|| j                  k\  r$t        | j                  || j                  fz        |t        t        |      ||      z   S # t        t        t        f$ r | j	                  ||      cY S w xY w)Nrl    r   %s r;   r<   )rK   rn   ro   rp   r}   absrh   striprL   rM   errmsg_toobigrW   )rd   rx   r;   r<   r{   s        rF   ru   zNum2Word_HE.to_cardinal   s    	@u:&&&
 19JE$,,,,..CDKK 2 2eT[[5I IJJXc%j9MMM I~6 	@))%)??	@s   B 'B98B9c                     | j                  |       || j                  k\  r$t        | j                  || j                  fz        t	        t        |      |d||      S )NT)r;   r=   rU   r>   )verify_ordinalrL   rM   r   rW   rK   )rd   rx   r;   rU   r>   s        rF   
to_ordinalzNum2Word_HE.to_ordinal  sW    E"DKK 2 2eT[[5I IJJE
64!)&: 	:rH   c                 r    |t        |      k(  sJ d}|dk(  s|rt        |      dk\  s
|dk(  s|dk7  rd}||   S )Nr   r!   r   r\   )rK   r   )rd   r8   formscurrencyprefer_singularforms         rF   	pluralizezNum2Word_HE.pluralize  sG    CF{{6_A"Q(e*;DT{rH   r\   Tc                    t        |      \  }}	}
|j                  d      sd|z   }	 | j                  |   \  }}|
rd| j                  j                         z  nd}	 | j                  |   \  }}| j                  |||dk(        }|r| j                  |	||	dk(        }n?| j                  |	|      }|j                         }|r|d	   t        k(  r|| j                  z  }||| j                  ||||
      ||| j                  |	|||
      g}|dk(  r|d   |d   c|d<   |d<   |	dk(  r|d   |d   c|d<   |d<   dt!        |      z  S # t        $ r' t	        d|d| j
                  j                  d      w xY w# t        $ r dx}}Y w xY w)Nr.   zCurrency code "z" not implemented for ""r   r   r   r   r0   )r   r   r   r   r   z%s%s %s%s%s %s)r   
startswithCURRENCY_FORMSKeyErrorNotImplementedErrorre   __name__rh   r   CURRENCY_GENDERSru   _cents_tersesplitrS   rc   r   tuple)rd   valr   cents	separator	adjectiver   prefer_singular_centsleftrightis_negativecr1cr2	minus_strgender1gender2	money_str	cents_str	sep_partsstringss                       rF   to_currencyzNum2Word_HE.to_currency  s    $8#< e[##C(iI	5**84HC 5@EDLL..00R		##44X>GW $$T'/3qy % :	((w38A: ) ?I ))%:I!)IYr]c1TZZ'	 NN4x+:  <NN5#+@  B	
 19%,QZ"GAJ
A:%,QZ"GAJ
 5>11K  	5%4>>2245 5	5  	# ""Gg	#s   E E8 0E58F	F	)-)r_   )r_   F)r/   FF)NF)r   
__module____qualname__r   r   rb   rg   r}   ru   r   r   rS   r   __classcell__)re   s   @rF   rY   rY      s[    MGKN *N": ).T!U$)02rH   rY   N)r_   FFF)r_   FFFF)
__future__r   r   baser   compatr   r   r   utilsr	   r
   rO   r3   r5   r4   r2   r6   r7   rS   rN   rK   rL   rG   rW   rY    rH   rF   <module>r      s  & 8   * 'N@NNNFNNN#,N1	 	  "		+	/	 /	 ;		
 ?	 7	 3	 7	 3	 0	 <	 @	 8	 P	 D	  <!	" @#	$ 	E@@)	. 	\	 /4%*5p ',38!H~2- ~2rH   