+
    ®¾j¾  ã                  ó  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 ] ! R R4      4       t ! R R	]4      t/ R
RbRRbRRbRRbRRbRRbR]P                  ! R]P                   4      bRRbRRbRRbRRbR ]P                  ! R!]P                   4      bR"]P                  ! ]P"                  ]P$                  ,           ]P                   ]P&                  ,          4      bR#R$bR%R&bR'R(bR)R*bR+R,R-R.R/R0/CtR1]R2&    ! R3 R44      tR# )5é    )ÚannotationsN)Ú	dataclass)ÚIteratorÚNoReturn)Ú	Specifierc                  ó6   € ] tR t^t$ R]R&   R]R&   R]R&   RtR# )ÚTokenÚstrÚnameÚtextÚintÚposition© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    Ú_/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/packaging/_tokenizer.pyr	   r	      s   ‡ à
ƒ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RP                  V P                  V P                  V.4      # )Ú Ú~Ú^z
    )r   Újoinr   r   )r(   Úmarkers   & r   Ú__str__ÚParserSyntaxError.__str__"   sV   € Ø�t—y‘y •|Õ# c¨T¯Y©Y°q­\¸D¿I¹IÀa½LÕ-HÕ&IÕIÈCÕOˆØ�}‰}˜dŸl™l¨D¯K©K¸Ð@ÓAÐAr   )r   r   r   )	r   r   r   r   Ú__doc__r'   r2   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]+ÚENDÚ$ú dict[str, str | re.Pattern[str]]ÚDEFAULT_RULESc                  ó    € ] tR t^[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
   ÚrulesrM   r   r    r   )r!   s   "r   r"   ÚTokenizer.__annotate__b   s(   € ÷ ñ àðð 0ð	ð
 
ñr   c               	ó¶   € Wn         VP                  4        UUu/ uF  w  r4V\        P                  ! V4      bK  	  uppV n        R V n        ^ V n        R # u uppi r%   )r   ÚitemsÚreÚcompilerR   Ú
next_tokenr   )r(   r   rR   r   Úpatterns   &&$  r   r'   ÚTokenizer.__init__b   sO   € ð Œà;@¿;¹;¼=ô2
Ù;H©-¨$ˆD”"—*’*˜WÓ%Ò%¹=ò2
ˆŒ
ð )-ˆŒØˆŽùó	2
s   š"Ac               ó    € V ^8„  d   QhRRRR/# )r   r   r
   r   r    r   )r!   s   "r   r"   rS   o   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.consumeo   s   € à�:‰:�d×ÒØ�I‰IŽKñ r   ÚpeekFc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r
   ra   Úboolr   r   )r!   s   "r   r"   rS   t   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)rX   rR   Úmatchr   r   r	   )r(   r   ra   Ú
expressionre   s   &&$  r   r]   ÚTokenizer.checkt   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       # )zcExpect a certain token name next, failing with a syntax error otherwise.

The token is *not* read.
z	Expected )r]   Úraise_syntax_errorr^   )r(   r   ri   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)rX   r   Úlenr   )r(   Útokens   & r   r^   Ú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
   rs   z
int | Nonert   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   rs   rt   r   s   &&$$ r   rk   Ú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Iterator[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 )rs   )r]   r   r^   rk   )r(   ry   rz   r{   Ú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)rX   r   rR   r   )r   r   r   r   r4   r'   r_   r]   rl   r^   rk   Ú
contextlibÚcontextmanagerr~   r   r   r   r   rP   rP   [   sZ   † ñõõð
¨u÷ õ*õð
ð "&ð	
ð
  $÷
ð$ ×Ñôó ôr   rP   )Ú__conditional_annotations__Ú
__future__r   r€   rV   Údataclassesr   Útypingr   r   Ú
specifiersr   r	   Ú	Exceptionr   rW   ÚVERBOSEÚ_operator_regex_strÚ_version_regex_strÚ
IGNORECASErN   r   rP   )r‚   s   @r   Ú<module>rŒ      s¦  øðß "Ð "ã Û 	Ý !ß %å !ð ÷ð ó ðôB˜	ô Bð*13Ø˜ð13à˜ð13ð �Eð13ð �Uð	13ð
 �ð13ð ˆTð13ð �R—Z’Zð	ð 	�
‰
ó	ð13ð" 	Ð
%ð#13ð$ ˆoð%13ð& 	ˆ)ð'13ð( 
ˆ:ð)13ð* �—
’
ð	ð 	�
‰
óð+13ðL �—’Ø×%Ñ%¨	×(DÑ(DÕDØ
�
‰
�R—]‘]Õ"óðM13ðT 	ˆ%ðU13ðV 
ˆ:ðW13ðX Ð3ðY13ðZ ˜Gð[13ð\  Ð!CØˆ)Ø	ˆ4ña13€Ð/ó 1÷hhó hr   