
    :iQ)                        % S r SSKrSSKrSSKJr  SSKJrJ	r	J
r
Jr  SSKr SSKrS\S\S\4S	 jrS
\S\
\   4S jr\" S S5      r\\S'   \" S S5      r\\S'   \" S 5      r\
\   \S'   S\S\4S jr " S S\R2                  R4                  5      r " S S\5      r " S S\R2                  R4                  5      r " S S\R2                  R4                  5      r " S S\R2                  R4                  5      r " S S\R2                  R4                  5      r  " S S \R2                  RB                  5      r" " S! S"\R2                  R4                  5      r#\" \RH                  RK                  \S#5      5      r&\\S$'   \#" \RH                  RK                  \S%5      5      r'\#\S&'   \" \RH                  RK                  \S'5      5      r(\\S('   \" \RH                  RK                  \S)5      5      r)\\S*'   \" \RH                  RK                  \S+5      5      r*\\S,'   \ " \RH                  RK                  \S-5      5      r+\ \S.'   \" \RH                  RK                  \S/5      5      r,\\S0'   g! \ a
    SSKJr   GNQf = f)1	pycountry    N)metadata)DictListOptionalType)	resourcespackage_or_requirementresource_namereturnc                 F    [        [        R                  " U 5      U-  5      $ )N)strimportlib_resourcesfiles)r
   r   s     L/home/james-whalen/.local/lib/python3.13/site-packages/pycountry/__init__.pyresource_filenamer      s#    !!"89MI     distribution_namec                 d     [         R                  " U 5      $ ! [         R                   a     gf = f)Nzn/a)_importlib_metadataversionPackageNotFoundError)r   s    r   get_versionr      s1    "**+<==33 s    //localesLOCALES_DIR	databasesDATABASE_DIR__version__	input_strc                     U nU R                  5       (       dV  [        R                  " SU 5      nSR                  U Vs/ s H"  n[        R                  " U5      (       a  M   UPM$     sn5      nU$ s  snf )NNFKD )isasciiunicodedata	normalizejoin	combining)r   
output_str	nfkd_formcs       r   remove_accentsr+   (   sc    J))&)<	WW!B	1)>)>q)AQ	B

  Cs   A0!A0c                   f    \ rS rSrSr\R                  R                  rSr	S\
S\\S       4S jrSrg)	ExistingCountries3   z4Provides access to an ISO 3166 database (Countries).z3166-1queryr   c                 x  ^	 [        UR                  5       R                  5       5      n0 m	SSS[        SS 4U	4S jjn U" U R	                  U5      S5        [        R                  R                  [        US9nU H  nU" UR                  S5        M     U  H  nUR                  R                  S	5      UR                  R                  S
5      UR                  R                  S5      4 HR  nUc  M  [        UR                  5       5      nX;   d  M(  U" U[        SSSUR                  U5      -  -
  /5      5          M     M     [        R                  R                  [        US9nU Hn  nUR                  R                  S	5      n[        UR                  5       5      nX;   d  M>  U" UR                  [        SSUR                  U5      -
  /5      5        Mp     T	(       d  [        U5      e[!        T	R#                  5       S S9 Vs/ s H  nU R                  US   S9PM     nnU$ ! [
         a     GNf = fs  snf )Ncountryzpycountry.db.Countrypointsr   c                 l   > TR                  U R                  S5        TU R                  ==   U-  ss'   g Nr   )
setdefaultalpha_2)r1   r2   resultss     r   
add_result2ExistingCountries.search_fuzzy.<locals>.add_result@   s+    w2GOO$.$r   2   )selfr/   1   nameofficial_namecomment            c                     U S   * U S   4$ NrC   r    xs    r   <lambda>0ExistingCountries.search_fuzzy.<locals>.<lambda>w       QqTE1Q4=r   keyr   r6   )r+   striplowerintlookupLookupErrorr   Subdivisionsmatchsubdivisionsr1   _fieldsgetmaxfindpartial_matchsorteditems)
r;   r/   r8   match_subdivions	candidatevpartial_match_subdivisionsrH   sorted_resultsr7   s
            @r   search_fuzzyExistingCountries.search_fuzzy9   s0   u{{}2245 #%	/ 6 	/ 	/ 	/
	t{{5)2.
 %1177U 8 
 *Iy(("- * I !!%%f-!!%%o6!!%%i0
 =&qwwy1Az
 #%sArQ5F/G+H'I  ( &/%;%;%I%IU &J &
" 4I!!%%f-Aqwwy)Az9,,c1a!&&-6G2H.IJ	 4 e$$ GMMO1HI

 J	 HHQqTH" J 	 
 e  		V
s   H& H7&
H43H4rF   N)__name__
__module____qualname____firstlineno____doc__r   dbCountry
data_classroot_keyr   r   r   rc   __static_attributes__rF   r   r   r-   r-   3   s:    >%%JH@# @$t4G/H*I @r   r-   c                   H    \ rS rSrSr\R                  R                  rSr	Sr
g)HistoricCountries|   z_Provides access to an ISO 3166-3 database
(Countries that have been removed from the standard).z3166-3rF   N)re   rf   rg   rh   ri   r   rj   rk   rl   rm   rn   rF   r   r   rp   rp   |   s    = %%JHr   rp   c                        \ rS rSrSrSrSrSrg)Scripts   z3Provides access to an ISO 15924 database (Scripts).Script15924rF   Nre   rf   rg   rh   ri   rl   rm   rn   rF   r   r   rs   rs      s    =JHr   rs   c                        \ rS rSrSrSrSrSrg)
Currencies   z5Provides access to an ISO 4217 database (Currencies).Currency4217rF   Nrw   rF   r   r   ry   ry      s    ?JHr   ry   c                   (    \ rS rSrSr/ SQrSrSrSrg)	Languages   z:Provides access to an ISO 639-1/2T/3 database (Languages).)statusscopetypeinverted_namecommon_nameLanguagez639-3rF   N)	re   rf   rg   rh   ri   no_indexrl   rm   rn   rF   r   r   r~   r~      s    DJHJHr   r~   c                        \ rS rSrSrSrSrSrg)LanguageFamilies   zHProvides access to an ISO 639-5 database
(Language Families and Groups).LanguageFamilyz639-5rF   Nrw   rF   r   r   r   r      s    ' "JHr   r   c                   H   ^  \ rS rSrU 4S jr\S 5       r\S 5       rSrU =r	$ )SubdivisionHierarchy   c                 N  > SU;   a	  US   US'   OS US'   [         TU ]  " S0 UD6  U R                  R                  S5      S   U l        U R
                  bP  U R
                  R                  S5      nUS   U R                  :w  a!  U R                   SU R
                   3U l        g g g )Nparentparent_code-r   rF   )super__init__codesplitcountry_coder   )r;   kwparts	__class__s      r   r   SubdivisionHierarchy.__init__   s    r> "8B} $B}2 IIOOC03'$$**3/EQx4,,,&*&7&7%8$:J:J9K#L  - (r   c                 <    [         R                  U R                  S9$ )NrN   )	countriesrX   r   r;   s    r   r1   SubdivisionHierarchy.country   s    }}T%6%6}77r   c                 `    U R                   (       d  g [        R                  U R                   S9$ )Nr   )r   rV   rX   r   s    r   r   SubdivisionHierarchy.parent   s(    T%5%566r   )r   r   )
re   rf   rg   rh   r   propertyr1   r   rn   __classcell__r   s   @r   r   r      s1    M 8 8 7 7r   r   c                   n   ^  \ rS rSr\r/ SQrSrU 4S jrU 4S jr	S r
S rS\S	\\S       4S
 jrSrU =r$ )rT      )r=   r   r   r   z3166-2c                    > [         TU ]  " U0 UD6  0 U R                  S'   U  HS  nU R                  S   R                  UR                  R                  5       [        5       5      nUR                  U5        MU     g )Nr   )r   _loadindicesr5   r   rP   setadd)r;   argsr   subdivisiondivsr   s        r   r   Subdivisions._load   sk    t"r" (*^$K<</::((..0#%D HH[!	  r   c                    > UR                  SS 5      n[        TU ]  " S0 UD6nX2L a  SU;   a  [        R                  US   S9b  / $ U$ )Ndefaultr   rN   rF   )r5   r   rX   r   )r;   r   r   rV   r   s       r   rX   Subdivisions.get   sT    --	40w{(R("~'; }}R%7}8D	r   c                 R   [        UR                  5       R                  5       5      n/ n[         Hs  nUR                  R                  5        HR  nUc  M  [        UR                  5       5      nUR                  S5       H  nXQ:X  d  M
  UR                  U5          MP     MT     Mu     U$ )N;)r+   rO   rP   rV   rW   valuesr   append)r;   r/   matching_candidatesr_   r`   ws         r   rU   Subdivisions.match   s    u{{}2245 %I&&--/=&qwwy1A WWS\:/66yA! * 0 & #"r   c                 
   [        UR                  5       R                  5       5      n/ n[         HO  nUR                  R                  S5      n[        UR                  5       5      nX;   d  M>  UR                  U5        MQ     U$ )Nr=   )r+   rO   rP   rV   rW   rX   r   )r;   r/   r   r_   r`   s        r   r[   Subdivisions.partial_match   sl    u{{}2245 %I!!%%f-Aqwwy)Az#**95	 & #"r   r/   r   c                 Z  ^	 [        UR                  5       R                  5       5      n0 m	SSS[        SS 4U	4S jjnU R	                  U5      nU H  nU" US5        M     U R                  U5      nU Hd  nUR                  R                  S5      n[        UR                  5       5      nX;   d  M>  U" U[        SS	UR                  U5      -
  /5      5        Mf     T	(       d  [        U5      e[        T	R                  5       S
 S9 Vs/ s H  nU R                  US   S9PM     nnU$ s  snf )Nr   zpycountry.db.Subdivisionr2   r   c                 l   > TR                  U R                  S5        TU R                  ==   U-  ss'   g r4   )r5   r   )r   r2   r7   s     r   r8   -Subdivisions.search_fuzzy.<locals>.add_result   s1     {//3K$$%/%r   r:   r=   rC   r@   c                     U S   * U S   4$ rE   rF   rG   s    r   rI   +Subdivisions.search_fuzzy.<locals>.<lambda>  rK   r   rL   r   r   )r+   rO   rP   rQ   rU   r[   rW   rX   rY   rZ   rS   r\   r]   )
r;   r/   r8   match_subdivisionsr_   ra   r`   rH   rb   r7   s
            @r   rc   Subdivisions.search_fuzzy   s0   u{{}2245 #%	03	0=@	0	0 "ZZ.+Iy"% , &*%7%7%>"3I!!%%f-Aqwwy)Az9c1a!&&-.?*@&AB	 4 e$$ GMMO1HI

 J	 HH!A$H J 	 
 
s   D(rF   )re   rf   rg   rh   r   rl   r   rm   r   rX   rU   r[   r   r   r   rc   rn   r   r   s   @r   rT   rT      sJ    
 &J8HH	"	# 	#$# $$tN/C*D $ $r   rT   ziso3166-1.jsonr   ziso3166-2.jsonrV   ziso3166-3.jsonhistoric_countriesziso4217.json
currenciesziso639-3.json	languagesziso639-5.jsonlanguage_familiesziso15924.jsonscripts)-ri   os.pathosr$   	importlibr   r   typingr   r   r   r   pycountry.dbr   r   ModuleNotFoundErrorr	   r   r   r   r   __annotations__r   r   r+   rj   Databaser-   rp   rs   ry   r~   r   Datar   rT   pathr&   r   rV   r   r   r   r   r   rF   r   r   <module>r      sZ      5 - - ;
c # # 3 8C=  %[)<S <%k;?c ?(5Xc] 5c c F	-- FR) ill## && 	%% y||,, 79<<,, 72^9<<(( ^D  1GGLL/0 	  *GGLL/0l  ):GGLL/0) %  $BGGLL~$NO
J O lO!LM	9 M&6GGLL/' #  277<<oFG G}  ;::;s   I) )I98I9