HEX
Server: Apache
System: Linux sg2plmcpnl492417.prod.sin2.secureserver.net 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64
User: nyiet8349bzl (9207396)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/pip/_vendor/pyparsing/__pycache__/unicode.cpython-38.pyc
U

��e�)�@stddlZddlmZddlmZmZmZGdd�d�ZeeeeefeefZ	Gdd�d�Z
Gdd	�d	e
�ZdS)
�N)�filterfalse)�List�Tuple�Unionc@seZdZdd�Zdd�ZdS)�_lazyclasspropertycCs||_|j|_|j|_dS)N)�fn�__doc__�__name__)�selfr�r�A/tmp/pip-unpacked-wheel-uzdrexel/pip/_vendor/pyparsing/unicode.py�__init__	sz_lazyclassproperty.__init__csl�dkrt|��t�d�r:t�fdd��jdd�D��r@i�_|jj}|�jkrb|����j|<�j|S)N�_internc3s |]}�jt|dg�kVqdS)rN)r�getattr)�.0�
superclass��clsrr�	<genexpr>s�z-_lazyclassproperty.__get__.<locals>.<genexpr>�)�type�hasattr�any�__mro__rrr	)r
�objr�attrnamerrr�__get__s�
z_lazyclassproperty.__get__N)r	�
__module__�__qualname__r
rrrrrrsrc@s~eZdZUdZgZeed<edd��Zedd��Z	edd��Z
ed	d
��Zedd��Zed
d��Z
edd��Zedd��ZdS)�unicode_seta�
    A set of Unicode characters, for language-specific strings for
    ``alphas``, ``nums``, ``alphanums``, and ``printables``.
    A unicode_set is defined by a list of ranges in the Unicode character
    set, in a class attribute ``_ranges``. Ranges can be specified using
    2-tuples or a 1-tuple, such as::

        _ranges = [
            (0x0020, 0x007e),
            (0x00a0, 0x00ff),
            (0x0100,),
            ]

    Ranges are left- and right-inclusive. A 1-tuple of (x,) is treated as (x, x).

    A unicode set can also be defined using multiple inheritance of other unicode sets::

        class CJK(Chinese, Japanese, Korean):
            pass
    �_rangescCs`g}|jD]>}|tkrqJt|dd�D] }|�t|d|dd��q&q
dd�tt|��D�S)Nr rr���rcSsg|]}t|��qSr)�chr�r�crrr�
<listcomp>?sz1unicode_set._chars_for_ranges.<locals>.<listcomp>)rrr�extend�range�sorted�set)r�ret�cc�rrrrr�_chars_for_ranges7s
 zunicode_set._chars_for_rangescCsd�ttj|j��S)z+all non-whitespace characters in this range�)�joinr�str�isspacer-rrrr�
printablesAszunicode_set.printablescCsd�ttj|j��S)z'all alphabetic characters in this ranger.)r/�filterr0�isalphar-rrrr�alphasFszunicode_set.alphascCsd�ttj|j��S)z*all numeric digit characters in this ranger.)r/r3r0�isdigitr-rrrr�numsKszunicode_set.numscCs|j|jS)z)all alphanumeric characters in this range)r5r7rrrr�	alphanumsPszunicode_set.alphanumsc	Cs.d�ttd�ttj|j��ddd���S)zVall characters in this range that are valid identifier characters, plus underscore '_'r.u:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzªµºu|ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ�_)r/r(r)r3r0�isidentifierr-rrrr�
identcharsUs������zunicode_set.identcharsc	Cs.d�tt|jdd�dd�|jD�����S)u�
        all characters in this range that are valid identifier body characters,
        plus the digits 0-9, and · (Unicode MIDDLE DOT)
        r.u0123456789·cSsg|]}d|��r|�qS)r9)r:r#rrrr%osz.unicode_set.identbodychars.<locals>.<listcomp>)r/r(r)r;r-rrrr�identbodycharscs������zunicode_set.identbodycharscCsddlm}||j|j�S)z�
        a pyparsing Word expression for an identifier using this range's definitions for
        identchars and identbodychars
        r)�Word)�pip._vendor.pyparsingr=r;r<)rr=rrr�
identifieruszunicode_set.identifierN)r	rrrr �UnicodeRangeList�__annotations__rr-r2r5r7r8r;r<r?rrrrrs$

	






rc@s6eZdZUdZdejfgZeed<Gdd�de	�Z
Gdd�de	�ZGdd	�d	e	�ZGd
d�de	�Z
Gdd
�d
e	�ZGdd�de	�ZGdd�de	�ZGdd�de	�ZGdd�de	�ZeZGdd�deee�ZGdd�de	�ZGdd�de	�ZGdd�de	�ZGdd�de	�Ze
ZeZeZeZeZeZeZeZ eZ!eZ"d S)!�pyparsing_unicodezF
    A namespace class for defining common language unicode_sets.
    � r c@s eZdZUdZdgZeed<dS)z(pyparsing_unicode.BasicMultilingualPlanez,Unicode set for the Basic Multilingual Plane)rCi��r N�r	rrrr r@rArrrr�BasicMultilingualPlane�s
�rEc@s"eZdZUdZddgZeed<dS)zpyparsing_unicode.Latin1z/Unicode set for Latin-1 Unicode Character Range)rC�~)��r NrDrrrr�Latin1�s
�rIc@s eZdZUdZdgZeed<dS)zpyparsing_unicode.LatinAz/Unicode set for Latin-A Unicode Character Range)�ir NrDrrrr�LatinA�s
�rKc@s eZdZUdZdgZeed<dS)zpyparsing_unicode.LatinBz/Unicode set for Latin-B Unicode Character Range)i�iOr NrDrrrr�LatinB�s
�rLc#@sdeZdZUdZdddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$g#Zeed%<d&S)'zpyparsing_unicode.Greekz.Unicode set for Greek Unicode Character Ranges)iBiE)ipiw)izi)i�i�)i�)i�i�)i�i�)i�i�)i&i*)i^)i`)ifij)ii)ii)i iE)iHiM)iPiW)iY)i[)i])i_i})i�i�)i�i�)i�i�)i�i�)i�i�)i�i�)i�i�)i)!)i'i')ie�)i@i�)i�)i�iE�)i��i��r NrDrrrr�Greek�sJ
�rMc@s.eZdZUdZdddddddd	gZeed
<dS)zpyparsing_unicode.Cyrillicz0Unicode set for Cyrillic Unicode Character Range)ii/)i�i�)i+)ix)i�-i�-)i@�ir�)it�i��)i.�i/�r NrDrrrr�Cyrillic�s
�rNc@sBeZdZUdZdddddddd	d
ddd
ddddddgZeed<dS)zpyparsing_unicode.Chinesez/Unicode set for Chinese Unicode Character Range)i�.i�.)i�.i�.)i�1i�1)i4i�M)�Ni�)i�i�)i�im�)ip�i�)i�oi�o)i�i�)i�i;�)i@�iH�)ii֦)i�i4�)i@�i�)i �i��)i��i��)i�i�r NrDrrrr�Chinese�s(
�rPc@s^eZdZdZGdd�de�ZGdd�de�ZGdd�de�ZeZeZ	eZ
ejejejZdS)	zpyparsing_unicode.Japanesez`Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana rangesc@s"eZdZUdZddgZeed<dS)z pyparsing_unicode.Japanese.Kanjiz-Unicode set for Kanji Unicode Character Range)rOi��)i0i?0r NrDrrrr�Kanji�s
�rQc@s,eZdZUdZdddddddgZeed	<d
S)z#pyparsing_unicode.Japanese.Hiraganaz0Unicode set for Hiragana Unicode Character Range)iA0i�0)�0�0)i�0)ip�)i�)iP�iR�)i�r NrDrrrr�Hiragana�s
�rTc	@s0eZdZUdZdddddddd	d
g	Zeed<dS)
z#pyparsing_unicode.Japanese.Katakanaz1Unicode set for Katakana  Unicode Character Range)rRi�0)rSi�0)i�1i�1)i�2i�2)ie�i��)i�)id�ig�)i�i�)i�r NrDrrrr�Katakanas
�rUN)r	rrrrrQrTrU�漢字�カタカナ�ひらがなr rrrr�Japanese�s���rYc@s<eZdZUdZdddddddd	d
ddd
dddgZeed<dS)zpyparsing_unicode.Hangulz7Unicode set for Hangul (Korean) Unicode Character Range)ii�)i.0i/0)i11i�1)i2i2)i`2i{2)i~2)i`�i|�)i�i��)i��i��)i��i��)i��i��)i�i�)i�i�)i�i�)i�i�r NrDrrrr�Hanguls"
�rZc@seZdZdZdS)zpyparsing_unicode.CJKzTUnicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character RangeN)r	rrrrrrr�CJK5sr[c@s"eZdZUdZddgZeed<dS)zpyparsing_unicode.Thaiz,Unicode set for Thai Unicode Character Range)ii:)i?i[r NrDrrrr�Thai8s
�r\c@s$eZdZUdZdddgZeed<dS)zpyparsing_unicode.Arabicz.Unicode set for Arabic Unicode Character Range)ii)ii�)iir NrDrrrr�Arabic?s

�r]c	@s0eZdZUdZdddddddd	d
g	Zeed<dS)
zpyparsing_unicode.Hebrewz.Unicode set for Hebrew Unicode Character Range)i�i�)i�i�)i�i�)i�i6�)i8�i<�)i>�)i@�iA�)iC�iD�)iF�iO�r NrDrrrr�HebrewGs
�r^c@s"eZdZUdZddgZeed<dS)zpyparsing_unicode.Devanagariz2Unicode set for Devanagari Unicode Character Range)i	i	)i�i��r NrDrrrr�
DevanagariUs
�r_N)#r	rrr�sys�
maxunicoder r@rArrErIrKrLrMrNrPrYrZ�Koreanr[r\r]r^r_ZBMP�العربية�中文�кириллица�Ελληνικά�עִברִית�	日本語�	한국어�	ไทย�देवनागरीrrrrrB�s8
�(
.rB)r`�	itertoolsr�typingrrrr�intr@rrBrrrr�<module>sa