
    ƪb
                         d dl mZ ddZd Zy)    )
get_globalc                    t        |       j                         } dh}|r|j                  d       |r|j                  d       t        d      j	                  | i       }|j                         D cg c]  \  }}|j	                  d      |v r|d   |f! }}}|j                  d       t        d	 |D              S c c}}w )
a^  
    Get the official language(s) for the given territory.

    The language codes, if any are known, are returned in order of descending popularity.

    If the `regional` flag is set, then languages which are regionally official are also returned.

    If the `de_facto` flag is set, then languages which are "de facto" official are also returned.

    .. warning:: Note that the data is as up to date as the current version of the CLDR used
                 by Babel.  If you need scientifically accurate information, use another source!

    :param territory: Territory code
    :type territory: str
    :param regional: Whether to return regionally official languages too
    :type regional: bool
    :param de_facto: Whether to return de-facto official languages too
    :type de_facto: bool
    :return: Tuple of language codes
    :rtype: tuple[str]
    officialofficial_regionalde_facto_officialterritory_languagesofficial_statuspopulation_percentT)reversec              3   &   K   | ]	  \  }}|  y w)N ).0_langs      1/usr/lib/python3/dist-packages/babel/languages.py	<genexpr>z)get_official_languages.<locals>.<genexpr>)   s     +'!T+s   )strupperaddr   getitemssorttuple)	territoryregionalde_factoallowed_stati	languageslanguageinfopairss           r   get_official_languagesr"      s    . I$$&ILM-.-.0155iDI (oo/Hd88%&-7 
"	#X.E 
 
JJtJ+U+++s   1$B<c                     t        |       j                         } t        d      j                  | i       j	                         S )a!  
    Get a dictionary of language information for a territory.

    The dictionary is keyed by language code; the values are dicts with more information.

    The following keys are currently known for the values:

    * `population_percent`: The percentage of the territory's population speaking the
                            language.
    * `official_status`: An optional string describing the officiality status of the language.
                         Known values are "official", "official_regional" and "de_facto_official".

    .. warning:: Note that the data is as up to date as the current version of the CLDR used
                 by Babel.  If you need scientifically accurate information, use another source!

    .. note:: Note that the format of the dict returned may change between Babel versions.

    See https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html

    :param territory: Territory code
    :type territory: str
    :return: Language information dictionary
    :rtype: dict[str, dict]
    r   )r   r   r   r   copy)r   s    r   get_territory_language_infor%   ,   s8    2 I$$&I+,00B?DDFF    N)FF)
babel.corer   r"   r%   r   r&   r   <module>r(      s    !%,PGr&   