o
    hs:                     @   sX  d Z ddlZG dd deZg dZi ZeD ]\ZZeevs J eee< qi ZeD ]\ZZeevs3J eee< q)e	ee	eksBJ e	ee	eksLJ dZ
e
D ]M\ZZeev rueev s^J eevsdJ eevsjJ eee< ee ee< qPeev reev sJ eevsJ eevsJ eee< ee ee< qPedeef dd	 e
D Zd
d	 e
D Ze	ee	e
ksJ e	ee	e
ksJ ded< ded< ded< g dZeD ]\ZZeevsJ eev sJ eee< qded< i ZeD ]
Zee ee < qddddddddddd
ZedZdd  Zd!d" Zd#d$ Zeg d%Zd&d' Zd(d) Zd*d+ ZdS ),zP
Global constants.

These language codes mirror UD language codes when possible
    Nc                   @   s   e Zd ZdS )UnknownLanguageErrorN)__name__
__module____qualname__ r   r   X/var/www/html/env_mimamsha/lib/python3.10/site-packages/stanza/models/common/constant.pyr   	   s    r   (4  )abqAbaza)ab	Abkhazian)aaAfar)af	Afrikaans)akAkan)akkAkkadian)aqzAkuntsu)sqAlbanian)amAmharic)grcAncient_Greek)hboAncient_Hebrew)apuApurina)arArabic)arzEgyptian_Arabic)an	Aragonese)hyArmenian)asAssamese)aiiAssyrian)astAsturian)avAvaric)aeAvestan)ayAymara)azAzerbaijani)bmBambara)baBashkir)euBasque)barBavarian)bejBeja)be
Belarusian)bnBengali)bhoBhojpuri)bpyBishnupriya_Manipuri)biBislama)borBororo)bsBosnian)brBreton)bg	Bulgarian)bxrBuryat)yue	Cantonese)cpgCappadocian)caCatalan)cebCebuano)kmCentral_Khmer)chChamorro)ceChechen)nyChichewa)cktChukchi)cvChuvash)xclClassical_Armenian)lzhClassical_Chinese)copCoptic)kwCornish)coCorsican)crCree)hrCroatian)csCzech)daDanish)darDargwa)dvDhivehi)nlDutch)dzDzongkha)egyEgyptian)enEnglish)myvErzya)eo	Esperanto)etEstonian)eeEwe)extExtremaduran)foFaroese)fjFijian)fiFinnish)fonFon)frFrench)qfnFrisian_Dutch)ffFulah)glGalician)lgGanda)kaGeorgian)deGerman)alnGheg)bbju
   Ghomálá')gotGothic)elGreek)klGreenlandic)gub	Guajajara)gnGuarani)guGujarati)gwiGwichin)htHaitian)haHausa)heHebrew)hzHerero)azzHighland_Puebla_Nahuatl)hil
Hiligaynon)hiHindi)qheHindi_English)ho	Hiri_Motu)hitHittite)hu	Hungarian)is	Icelandic)ioIdo)igIgbo)iloIlocano)arcImperial_Aramaic)id
Indonesian)iu	Inuktitut)ikInupiaq)gaIrish)itItalian)jaJapanese)jvJavanese)urbKaapor)kabKabyle)xnrKangri)knKannada)krKanuri)pamKapampangan)krlKarelian)arrKaro)ksKashmiri)kkKazakh)kfmKhunsari)qucKiche)cggKiga)kiKikuyu)rwKinyarwanda)kyKyrgyz)kvKomi)koiKomi_Permyak)kpvKomi_Zyrian)kgKongo)koKorean)kuKurdish)kmrKurmanji)kjKwanyama)ladLadino)loLao)ltg	Latgalian)laLatin)lvLatvian)lijLigurian)li
Limburgish)lnLingala)lt
Lithuanian)livLivonian)oloLivvi)nds	Low_Saxon)luLuba_Katanga)lbLuxembourgish)mk
Macedonian)jaaMadi)magMagahi)qafMaghrebi_Arabic_French)maiMaithili)mpuMakurap)mgMalagasy)msMalay)ml	Malayalam)mtMaltese)mjlMandyali)gvManx)miMaori)mrMarathi)mhMarshallese)mznMazandarani)gunMbya_Guarani)enmMiddle_English)frmMiddle_French)minMinangkabau)xmf
Mingrelian)mwl	Mirandese)mdfMoksha)mn	Mongolian)mosMossi)myu	Munduruku)myMyanmar)nqozN'Ko)nahNahuatl)pcmNaija)naNauru)nvNavajo)nyqNayini)ngNdonga)nap
Neapolitan)neNepali)newNewar)yrl	Nheengatu)nynNkore)frrNorth_Frisian)ndNorth_Ndebele)sme
North_Sami)nsoNorthern_Sotho)gyaNorthwest_Gbaya)nbNorwegian_Bokmaal)nnNorwegian_Nynorsk)iiNuosu)ocOccitan)orOdia)ojOjibwa)cuOld_Church_Slavonic)orvOld_East_Slavic)angOld_English)fro
Old_French)sga	Old_Irish)ojpOld_Japanese)otkOld_Turkish)omOromo)osOssetian)otaOttoman_Turkish)piPali)psPashto)padPaumari)faPersian)payPesh)xpgPhrygian)pbvPnar)plPolish)qpmPomak)pntPontic)pt
Portuguese)praPrakrit)paPunjabi)quQuechua)rhgRohingya)roRomanian)rmRomansh)rnRundi)ruRussian)smSamoan)sgSango)saSanskrit)skrSaraiki)sc	Sardinian)scoScots)gdScottish_Gaelic)srSerbian)snShona)zh-hansSimplified_Chinese)sdSindhi)siSinhala)sms
Skolt_Sami)skSlovak)sl	Slovenian)sojSoi)soSomali)ckbSorani)ajpSouth_Levantine_Arabic)nrSouth_Ndebele)stSouthern_Sotho)esSpanish)sspSpanish_Sign_Language)su	Sundanese)swSwahili)ssSwati)svSwedish)swlSwedish_Sign_Language)gswSwiss_German)syrSyriac)tlTagalog)tyTahitian)tgTajik)taTamil)ttTatar)emeTeko)teTelugu)qteTelugu_English)thThai)boTibetan)tiTigrinya)toTonga)zh-hantTraditional_Chinese)tsTsonga)tnTswana)tpn	Tupinamba)trTurkish)qtdTurkish_German)tkTurkmen)twTwi)uk	Ukrainian)xumUmbrian)hsbUpper_Sorbian)urUrdu)ugUyghur)uzUzbek)veVenda)vepVeps)vi
Vietnamese)vou   Volapük)waWalloon)warWaray)wbpWarlpiri)cyWelsh)hywWestern_Armenian)fyWestern_Frisian)nhiWestern_Sierra_Puebla_Nahuatl)woWolof)xavXavante)xhXhosa)sjoXibe)sahYakut)yiYiddish)yoYoruba)essYupik)sayZaar)zzaZazaki)zea	Zeelandic)zaZhuang)zuZulu))r6   bam)r   ewe)r   hau)r   ibo)r  kin)r   lug)rb   nya)r  sna)r  swa)r&  tsn)r0  twi)rS  wol)rW  xho)r_  yor)rk  zul)ser  zCFound a proposed alias %s -> %s when neither code was already knownc                 C   s   i | ]\}}||qS r   r   .0twothreer   r   r   
<dictcomp>      
r  c                 C   s   i | ]\}}||qS r   r   r}  r   r   r   r    r  	Norwegianr  nor  zh)-)r
   Abkhaz)r  	Alemannic)re  Burmese)r  Central_Kurdish)rb   Chewa)r  Chinese)ri  Chuang)r|   Divehi)r  	Emerillon)r  Genoese)r   Gaelic)rv  Gorkhali)r   Haitian_Creole)r   Ilokano)r  
isiNdebele)rW  isiXhosa)rk  isiZulu)r3  u	   Jamamadí)r   Kabylian)r   Kalaallisut)r\   Khmer)r  Kirghiz)r/  Letzeburgesch)r   Luganda)r3  u   Madí)r|   	Maldivian)rE  Mandeali)r  Multani)r  r  )rb   Nyanja)r  
Old_Gaelic)r  Oriya)r   Ramarama)r[  Sakha)r  Sepedi)r&  Setswana)r  
Sichuan_Yi)r  	Sinhalese)r   Siswati)r  Sohi)r  Sesotho)r>  	Tshivenda)r$  Xitsonga)rO  West_Frisian)re  Zazar  Old_Russianzzh-hans_beginnerzzh-hans_gsdsimpzzh-hant_gsdz
zh-hant_hkzzh-hans_cflzzh-hans_patentcharzzh-hant_pud
nb_bokmaal
nn_nynorsknn_nynorsklia)
zUD_Chinese-BeginnerzUD_Chinese-GSDSimpzUD_Chinese-GSDzUD_Chinese-HKzUD_Chinese-CFLzUD_Chinese-PatentCharzUD_Chinese-PUDzUD_Norwegian-BokmaalzUD_Norwegian-NynorskzUD_Norwegian-NynorskLIAz^[a-z-]+_[a-z0-9-_]+$c                 C   s,   | t v rt |  S |  t v rt |   S | S )N)
lcode2langlower)lcoder   r   r   langcode_to_lang  s
   r  c                 C   s4   t | }|dd}|dkrd}|S |dkrd}|S )N_ zSimplified ChinesezChinese (Simplified)zTraditional ChinesezChinese (Traditional))r  replace)r  langr   r   r   pretty_langcode_to_lang  s   r  c                 C   sd   | t v r
t |  }|S |  tv rt|   }|S | tv r | }|S |  tv r,|  }|S td|  )Nz#Unable to find language code for %s)
lang2lcoder  langlower2lcoder  r   r  r  r   r   r   lang_to_langcode  s   	r  )r    r   r4   r  r|   r   r   r  rO  rg  r  r  r  r  r  r8  c                 C   s   t | }|tv S )z
    Covers all the RtL languages we support, as well as many we don't.

    If a language is left out, please let us know!
    )r  RIGHT_TO_LEFTr  r   r   r   is_right_to_left  s   r  c                 C   s   | t v r	t | S t| r | dd\}}t|}|d | S | dr+| dd } | ds5| drH| dtd | tdd d f}n| d}t|dkrY| dd}t|d	kseJ d
|  |\}}t|}d||	 }|S )z& Convert treebank name to short code. r     UD_   Nr  r"  -   zUnable to process %sz{}_{})
treebank_special_casesgetSHORTNAME_REmatchsplitr  
startswithlenformatr  )treebankr  corpussplitsr  shortr   r   r   treebank_to_short_name  s$   


&
r  c                 C   s   t | }|dd S )z! Convert treebank name to langid r  r   )r  r  )r  
short_namer   r   r   treebank_to_langid"  s   r  )__doc__re
ValueErrorr   lcode2lang_rawr  codelanguager  r  two_to_three_letters_rawr  r  AssertionErrortwo_to_three_lettersthree_to_two_lettersextra_lang_to_lcodesr  kr  r  compiler  r  r  r  setr  r  r  r  r   r   r   r   <module>   s    
  :

0

		