+
    )O|jÅ  ã            	      ó6  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^RI
Ht ]'       d	   ^ RIHtHt ] ! R R4      4       t ! R	 R
]4      t/ R]P$                  ! R4      bR]P$                  ! R4      bR]P$                  ! R4      bR]P$                  ! R4      bR]P$                  ! R4      bR]P$                  ! R4      bR]P$                  ! R]P&                  4      bR]P$                  ! R4      bR]P$                  ! R4      bR]P$                  ! R4      bR]P$                  ! R 4      bR!]P$                  ! R"]P&                  4      bR#]P$                  ! ]P(                  ]P&                  ]P*                  ,          4      bR$]P$                  ! R%4      bR&]P$                  ! R'4      bR(]P$                  ! R)4      bR*]P$                  ! R+4      bR,]P$                  ! R-4      R.]P$                  ! R/4      R0]P$                  ! R14      /CtR2]R3&    ! R4 R54      tR# )6é    )ÚannotationsN)Ú	dataclass)ÚTYPE_CHECKINGÚNoReturn)Ú	Specifier)Ú	GeneratorÚMappingc                  ó:   € ] tR t^t$ RtR]R&   R]R&   R]R&   RtR# )	ÚTokenÚnameÚpositionÚtextÚstrÚint© N)r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__Ú__annotations__Ú__static_attributes__r   ó    ÚMC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\packaging/_tokenizer.pyr   r      s   ‡ à,€Ià
ƒIØ
ƒIØ‡Mr   r   c                  ó>   a € ] tR t^tRtR V 3R lltR R ltRtV ;t# )ÚParserSyntaxErrorz7The provided source text could not be parsed correctly.c               ó(   € V ^8„  d   QhRRRRRRRR/# )é   Úmessager   ÚsourceÚspanztuple[int, int]ÚreturnÚNoner   )Úformats   "r   Ú__annotate__ÚParserSyntaxError.__annotate__   s2   € ÷ ñ àðð ð	ð
 ðð 
ñr   c               	óH   <€ W0n         Wn        W n        \        SV `  4        R # ©N)r!   r   r    ÚsuperÚ__init__)Úselfr   r    r!   Ú	__class__s   &&$$€r   r*   ÚParserSyntaxError.__init__   s   ø€ ð Œ	ØŒØŒä‰ÑÖr   c               ó   € V ^8„  d   QhRR/# )r   r"   r   r   )r$   s   "r   r%   r&   '   s   € ÷ Bñ B˜ñ Br   c                	óî   € R V P                   ^ ,          ,          RV P                   ^,          V P                   ^ ,          ,
          ,          ,           R,           pV P                   RV P                   RV 2# )Ú Ú~Ú^z
    )r!   r   r    )r+   Úmarkers   & r   Ú__str__ÚParserSyntaxError.__str__'   sW   € Ø�t—y‘y •|Õ# c¨T¯Y©Y°q­\¸D¿I¹IÀa½LÕ-HÕ&IÕIÈCÕOˆØ—,‘,�˜v d§k¡k ]°&¸¸ÐAÐAr   )r   r    r!   )	r   r   r   r   Ú__doc__r*   r4   r   Ú__classcell__)r,   s   @r   r   r      s   ø† ÙA÷ð ÷Bó Br   r   ÚLEFT_PARENTHESISz\(ÚRIGHT_PARENTHESISz\)ÚLEFT_BRACKETz\[ÚRIGHT_BRACKETz\]Ú	SEMICOLONÚ;ÚCOMMAÚ,ÚQUOTED_STRINGzk
            (
                ('[^']*')
                |
                ("[^"]*")
            )
        ÚOPz(===|==|~=|!=|<=|>=|<|>)ÚBOOLOPz\b(or|and)\bÚINz\bin\bÚNOTz\bnot\bÚVARIABLEa¬  
            \b(
                python_version
                |python_full_version
                |os[._]name
                |sys[._]platform
                |platform_(release|system)
                |platform[._](version|machine|python_implementation)
                |python_implementation
                |implementation_(name|version)
                |extras?
                |dependency_groups
            )\b
        Ú	SPECIFIERÚATz\@ÚURLz[^ \t]+Ú
IDENTIFIERz\b[a-zA-Z0-9][a-zA-Z0-9._-]*\bÚVERSION_PREFIX_TRAILz\.\*ÚVERSION_LOCAL_LABEL_TRAILz\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*ÚWSz[ \t]+ÚENDz\Zzdict[str, re.Pattern[str]]ÚDEFAULT_RULESc                  ó¤   € ] tR t^`tRtRtR R ltR R ltRR/R R	 lltR
 R lt	R R lt
RRRR/R R llt]P                  R R l4       tRtR# )Ú	TokenizerzxContext-sensitive token parsing.

Provides methods to examine the input stream to check whether the next token
matches.
c               ó$   € V ^8„  d   QhRRRRRR/# )r   r    r   ÚruleszMapping[str, re.Pattern[str]]r"   r#   r   )r$   s   "r   r%   ÚTokenizer.__annotate__i   s(   € ÷ 	ñ 	àð	ð -ð		ð
 
ñ	r   c               	ó:   € Wn         W n        R V n        ^ V n        R # r(   )r    rR   Ú
next_tokenr   )r+   r    rR   s   &&$r   r*   ÚTokenizer.__init__i   s   € ð ŒØŒ
Ø(,ˆŒØˆŽr   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r"   r#   r   )r$   s   "r   r%   rS   t   s   € ÷ ñ ˜Cð  Dñ r   c                óX   € V P                  V4      '       d   V P                  4        R# R# )z8Move beyond provided token name, if at current position.N)ÚcheckÚread)r+   r   s   &&r   ÚconsumeÚTokenizer.consumet   s   € à�:‰:�d×ÒØ�I‰IŽKñ r   ÚpeekFc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r]   Úboolr"   r   )r$   s   "r   r%   rS   y   s!   € ÷ ñ ˜#ð ¨ð ¸ñ r   c               ó\  € V P                   e   Q RV: RV P                   : 24       hWP                  9   g   Q RV: 24       hV P                  V,          pVP                  V P                  V P                  4      pVf   R# V'       g#   \        W^ ,          V P                  4      V n         R# )zßCheck whether the next token has the provided name.

By default, if the check succeeds, the token *must* be read before
another check. If `peek` is set to `True`, the token is not loaded and
would need to be checked again.
zCannot check for z, already have zUnknown token name: FT)rU   rR   Úmatchr    r   r   )r+   r   r]   Ú
expressionra   s   &&$  r   rY   ÚTokenizer.checky   s›   € ð �‰Ò&ð 	
Ø ™x °t·±Ñ6IÐJó	
Ð&ð —z‘zÔ!ÐBÐ%9¸$¹Ð#BÓBÐ!à—Z‘Z Õ%ˆ
à× Ñ  §¡¨d¯m©mÓ<ˆØŠ=ÙßÜ# D°­(°D·M±MÓBˆDŒOÙr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Úexpectedr"   r   r   )r$   s   "r   r%   rS   Ž   s!   € ÷ ñ ˜3ð ¨Sð °Uñ r   c               óx   € V P                  V4      '       g   V P                  RV 24      hV P                  4       # )zjExpect a certain token name next, failing with a syntax error otherwise.

The token is read and returned.
z	Expected )rY   Úraise_syntax_errorrZ   )r+   r   re   s   &&$r   ÚexpectÚTokenizer.expectŽ   s7   € ð
 �z‰z˜$×ÒØ×)Ñ)¨I°h°ZÐ*@ÓAÐAØ�y‰y‹{Ðr   c               ó   € V ^8„  d   QhRR/# )r   r"   r   r   )r$   s   "r   r%   rS   —   s   € ÷ ñ �eñ r   c                ó�   € V P                   pVf   Q hV ;P                  \        VP                  4      ,          un        RV n         V# )z%Consume the next token and return it.N)rU   r   Úlenr   )r+   Útokens   & r   rZ   ÚTokenizer.read—   s9   € à—‘ˆØÒ Ð Ð à�Šœ˜UŸZ™Z›Õ(�ØˆŒàˆr   Ú
span_startNÚspan_endc               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r   r   ro   z
int | Nonerp   r"   r   r   )r$   s   "r   r%   rS   ¡   s2   € ÷ 
ñ 
àð
ð ð	
ð
 ð
ð 
ñ
r   c               óz   € Vf   V P                   MTVf   V P                   MT3p\        VV P                  VR7      h)z.Raise ParserSyntaxError at the given position.)r    r!   )r   r   r    )r+   r   ro   rp   r!   s   &&$$ r   rg   ÚTokenizer.raise_syntax_error¡   sC   € ð (Ò/ˆD�MŠM°ZØ%Ò-ˆD�MŠM°8ð
ˆô  ØØ—;‘;Øô
ð 	
r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Ú
open_tokenr   Úclose_tokenÚaroundr"   zGenerator[None, None, None]r   )r$   s   "r   r%   rS   ´   s,   € ÷ ñ ØðØ,/ðØ<?ðà	$ñr   c             #  	ó  "  € V P                  V4      '       d   V P                  pV P                  4        MR pR x € Vf   R # V P                  V4      '       g   V P                  RV RV RV 2VR7       V P                  4        R # 5i)NzExpected matching z for z, after )ro   )rY   r   rZ   rg   )r+   ru   rv   rw   Úopen_positions   &&&$ r   Úenclosing_tokensÚTokenizer.enclosing_tokens³   s   é € ð �:‰:�j×!Ò!Ø ŸM™MˆMØ�I‰I�Kà ˆMãàÒ Ùà�z‰z˜+×&Ò&Ø×#Ñ#Ø$ [ M°°z°lÀ(È6È(ÐSØ(ð $ô ð
 	�	‰	Žùs   ‚ABÁ.B)rU   r   rR   r    )r   r   r   r   r6   r   r*   r[   rY   rh   rZ   rg   Ú
contextlibÚcontextmanagerrz   r   r   r   r   rP   rP   `   sa   † ñð >€Iõ	õð
¨u÷ õ*õð
ð "&ð	
ð
  $÷
ð$ ×Ñôó ôr   rP   )Ú__conditional_annotations__Ú
__future__r   r|   ÚreÚdataclassesr   Útypingr   r   Ú
specifiersr   Úcollections.abcr   r	   r   Ú	Exceptionr   ÚcompileÚVERBOSEÚ_specifier_regex_strÚ
IGNORECASErN   r   rP   )r~   s   @r   Ú<module>rŠ      s:  øðß "Ð "ã Û 	Ý !ß *å !çß2ð ÷ð ó ðôB˜	ô Bð*1-Ø˜Ÿ
š
 5Ó)ð1-à˜Ÿš EÓ*ð1-ð �B—J’J˜uÓ%ð1-ð �R—Z’Z Ó&ð	1-ð
 �—’˜DÓ!ð1-ð ˆR�ZŠZ˜Óð1-ð �R—Z’Zð	ð 	�
‰
ó	ð1-ð" 	ˆ"�*Š*Ð0Ó
1ð#1-ð$ ˆb�jŠj˜Ó)ð%1-ð& 	ˆ"�*Š*�YÓ
ð'1-ð( 
ˆ2�:Š:�jÓ!ð)1-ð* �—
’
ð	ð 	�
‰
óð+1-ðL �—’Ø×&Ñ&Ø
�
‰
�R—]‘]Õ"óðM1-ðT 	ˆ"�*Š*�UÓ
ðU1-ðV 
ˆ2�:Š:�jÓ!ðW1-ðX �"—*’*Ð>Ó?ðY1-ðZ ˜BŸJšJ wÓ/ð[1-ð\   §¢Ð,NÓ!OØˆ"�*Š*�YÓ
Ø	ˆ2�:Š:�eÓña1-€Ð)ó 1÷hhó hr   