o
    i+                     @   s8  d dl Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 dd	l
mZmZ d
dgZdd Zdd ZdediedigiZediediediediediediediediediediediediedied ied!ied"ied#ied$ied%ifD ]	Zegeee < qwd&D ]	Zeeigee< qd'D ]&Zee fD ]Zd(D ]Ze d)e Zeeied*ied+e igee< qqqd,D ]Zee fD ]Zeeied-igee d-< qqd.D ]Zee fD ]Zeeied/ied-igee d0< qqd1D ]\ZZeeied+e igee d+e < qd2D ]\ZZZeed3 ieeied+e igee d3e d+e < q	g Zd3Zd+ZeD ]?ZehZd4d5 eD D ]Zed6d5 eD  q=d7d5 d8D D ]Z ed9d5 eD  qRed:d5 eD  e!e q1eD ]
Zeeigee< qsg d;Z"g d<j#eed=d>j#eed=d?j#eed=d@j#eed=dAj#eed=dBj#eed=dCj#eed=dDj#eedEdFj#eed=dGj#eed=dHj#eed=dIj#eed=dJj#eed=dKj#eed=dLj#eed=dMj#eed=dNj#eed=dOj#eed=dPj#eed=dQj#eed=dRj#eed=dSj#eed=dTj#eed=dUj#eed=dVj#eed=dWj#eed=dXj#eed=dYj#eed=dZj#eed=d[j#eed=d\j#eed=d]j#eed=d^j#eed=d_j#eedEd`j#eed=daj#eed=dbj#eed=dcj#eed=ddj#eed=dej#eed=dfj#eed=dgj#eed=dhj#eed=dij#eed=djj#eed=dkj#eed=dlj#eed=dmj#eed=dnj#eed=doj#eedEZ$e$dpd5 e"D 7 Z$g dqZ%e$drd5 e%D 7 Z$g dsZ&e$dtd5 e&D 7 Z$ee	eZ'e (dudv)dwdx e$D  j*Z+dS )y    N   )ORTH)
update_exc   )ALPHAALPHA_LOWER)BASE_EXCEPTIONS   )ELISIONHYPHENSzaujourd'huizAujourd'huic                 C   <   t | dkr| S t | dkr|  S | d  | dd   S Nr   r	   )lenuppertext r   V/home/ubuntu/.local/lib/python3.10/site-packages/spacy/lang/fr/tokenizer_exceptions.pyupper_first_letter   
   r   c                 C   r   r   )r   lowerr   r   r   r   lower_first_letter   r   r   zJ.-C.zJ.z-C.zav.zjanv.u   févr.zavr.zjuill.zsept.zoct.znov.u   déc.zapr.zDr.zM.zMr.zMme.zMlle.u   n°u   d°zSt.zSte.)u   après-midiu   au-delàz	au-dessuszcelle-ciz	celles-cizcelui-cizcf.z
ci-dessousu
   elle-mêmez
en-dessouszetc.u
   jusque-làu	   lui-mêmezMM.zNo.u
   peut-êtrezpp.zquelques-unszrendez-vouszVol.)aestsembleindiquemoquepasse)elleilonz-t-z-t-)r   z-ce)zqu'zn'r   zest-ce))r   r   )ESTIL))sr   r   )Sr"   r#   'c                 C      g | ]}|t kr|qS r   )orig_elision.0xr   r   r   
<listcomp>|       r,   c                 C      g | ]}| ttqS r   )replacer(   elision_charr*   wordr   r   r   r,   ~   r-   c                 C   r'   r   )orig_hyphenr)   r   r   r   r,      r-   )r!   u   ‐c                 C   r.   r   )r/   r3   hyphen_charr1   r   r   r   r,      r-   c                 C   s   g | ]}t |qS r   )r   r1   r   r   r   r,      s    )u   a[ée]roabatza[fg]roafterzaigues?u   am[ée]ricanoangloantiu	   apr[èe]sarabozarcs?archiu
   arrières?audioavantavionautobanczbas(?:ses?)?zbateaux?zbec?zbelles?beaubestzbio?bienblancu	   bo[îi]tez	bonn?e?s?boiszbou(?:c|rg)u   b[êe]tacachezcap(?:ello)?cassecastelchampchapelleu   ch[âa]teau(?:neuf)?chassezcha(?:ud|t)e?s?chauffechouchromoz	claire?s?zco(?:de|ca)?comptecontrecordonzcoupe?z	courte?s?couvrecrashcrisecrochecrosscyberu   côtedemizdi(?:sney)?dixu   d[ée]s?dyszex?u   émiratoentrer   ethnoexextrau   extrêmeu   [ée]cofauxfilfortz	franco?s?gallozgardes?gastrozgrande?gratteu	   gr[ée]cogrosu   g[ée]ozhaute?s?zhomm?es?horshyperindoinfrainterintraislamoitalojeanlabiolatinolivelotlouiszm[ai]cromalu   médiomesnilz	mi(?:ni)?monozmont?s?moyenmultiu
   m[ée]canou
   m[ée]dicou   m[ée]dou   m[ée]tazmots?neuronoixnonnordnotreu   n[ée]oouestoutreouvrer   percepharmacozph[oy]tozpieds?piquez	poissons?poncepontzpo[rs]tpousseprimou   pro(?:cès|to)?parez	petite?s?plessisporteu   préu   prêchiu   protègepseudou   pêleu   péripuyquasiquatreradiorecourtrythmoz(?:re)?doubles?u   r[ée]u	   r[ée]trorequinzsans?z
sa?inte?s?semiserresinosocioz
sociale?s?soixantesouszsu[bdrs]supertailletirethermotierstourneztoute?s?u   tra[iî]ne?transtrentetroistroussez
tr(?:i|ou)u   t[ée]l[ée]u   utérovasozvi[cd]eu	   vid[ée]ozvie(?:ux|i?lles?|i?l)z vill(?:e|eneuve|ers|ette|iers|y)vingtz	voitures?zwagons?ultra   àu   [ée]lectrou   [ée]quiFontainezLa ChapelleMariez	Le MesnilNeuvillePierreValVauxz^a[{hyphen}]sexualis[{al}]+$)hyphenalu"   ^arginine[{hyphen}]méthyl[{al}]+$z^binge[{hyphen}]watch[{al}]+$z^black[{hyphen}]out[{al}]*$z^bouche[{hyphen}]por[{al}]+$z^burn[{hyphen}]out[{al}]*$z^by[{hyphen}]pass[{al}]*$z^ch[{elision}]tiis[{al}]+$)elisionr   z^chape[{hyphen}]chut[{al}]+$z^down[{hyphen}]load[{al}]*$u   ^[ée]tats[{hyphen}]uni[{al}]*$z,^droits?[{hyphen}]de[{hyphen}]l'homm[{al}]+$z^fac[{hyphen}]simil[{al}]*$z^fleur[{hyphen}]bleuis[{al}]+$z^flic[{hyphen}]flaqu[{al}]+$z^fox[{hyphen}]trott[{al}]+$z^google[{hyphen}]is[{al}]+$z^hard[{hyphen}]discount[{al}]*$z^hip[{hyphen}]hop[{al}]*$z^jet[{hyphen}]set[{al}]*$z^knock[{hyphen}]out[{al}]*$u   ^lèche[{hyphen}]bott[{al}]+$z"^litho[{hyphen}]typographi[{al}]+$z^lock[{hyphen}]out[{al}]*$z ^lombri[{hyphen}]compost[{al}]+$z^mac[{hyphen}]adamis[{al}]+$z^marque[{hyphen}]pag[{al}]+$z^mouton[{hyphen}]noiris[{al}]+$z^new[{hyphen}]york[{al}]*$z^pair[{hyphen}]programm[{al}]+$z^people[{hyphen}]is[{al}]+$z^plan[{hyphen}]socialis[{al}]+$z!^premier[{hyphen}]ministr[{al}]*$z^prud[{elision}]hom[{al}]+$u   ^réarc[{hyphen}]bout[{al}]+$z^refox[{hyphen}]trott[{al}]+$z^remicro[{hyphen}]ond[{al}]+$z^repique[{hyphen}]niqu[{al}]+$u!   ^repetit[{hyphen}]déjeun[{al}]+$z^rick[{hyphen}]roll[{al}]*$z^rond[{hyphen}]ponn[{al}]+$z^shift[{hyphen}]cliqu[{al}]+$z^soudo[{hyphen}]bras[{al}]+$z^stabilo[{hyphen}]boss[{al}]+$z^strip[{hyphen}]teas[{al}]+$z^terra[{hyphen}]form[{al}]*$z^teuf[{hyphen}]teuf[{al}]*$z^yo[{hyphen}]yo[{al}]+$z^zig[{hyphen}]zag[{al}]*$z^z[{elision}]yeut[{al}]+$c                 C      g | ]}d j |tttdqS )z2^{prefix}[{hyphen}][{al}][{hyphen}{al}{elision}]*$)prefixr   r   r   )formatr   r
   r   r*   pr   r   r   r,     s    )u	   r?é?entrz	grande?s?rc                 C   r   )z3^{prefix}[{elision}][{al}][{hyphen}{al}{elision}]*$)r   r   r   r   )r   r
   r   r   r   r   r   r   r,         )u   l[èe]s?laenzdes?zd[eu]surr   zaux?r   etu   prèssaintc                 C   r   )zA^[{a}]+[{hyphen}]{hyphen_combo}[{hyphen}](?:l[{elision}])?[{a}]+$)hyphen_combor   r   r   )r   r
   r   r   )r*   hcr   r   r   r,     r   z(?iu)|c                 c   s    | ]}d  |V  qdS )z(?:{})N)r   )r*   mr   r   r   	<genexpr>  s    r   ),resymbolsr   utilr   char_classesr   r   tokenizer_exceptionsr   punctuationr
   r   FR_BASE_EXCEPTIONSr   r   _excexc_dataorthverbtitlepronountokenprer$   _infixes_excr(   r3   infixvariants_infixr0   updater4   extend_hyphen_prefixr   _regular_exp_elision_prefix_hyphen_combinationTOKENIZER_EXCEPTIONScompilejoinmatchTOKEN_MATCHr   r   r   r   <module>   s    "$

 M	
 !"#$%&'()*+,-./012347
