+
    ®¾jl,  ã                   ó   € ^ RI Ht  ^ RIHtHt  ^ RIHt ^ RIH	t	 ^RI
Ht ^RIHt ^R	IHtHt R
R.t]! 4       t ! R R
]4      t ! R R]4      tR#   ] d    ^ RIHtHt  LUi ; i  ] d     ! R R4      t Lei ; i)é    )Úabsolute_import)ÚMappingÚMutableMapping)ÚRLockc                   ó,   a € ] tR t^t o R tR tRtV tR# )r   c                ó   € R # ©N© ©Úselfs   &Ú_/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/urllib3/_collections.pyÚ	__enter__ÚRLock.__enter__   ó   € Ùó    c                ó   € R # r	   r
   )r   Úexc_typeÚ	exc_valueÚ	tracebacks   &&&&r   Ú__exit__ÚRLock.__exit__   r   r   r
   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ò	÷	ð 	r   r   )ÚOrderedDict)ÚInvalidHeader)Úsix)ÚiterkeysÚ
itervaluesÚRecentlyUsedContainerÚHTTPHeaderDictc                   ó\   a € ] tR t^t o Rt]tRR ltR tR t	R t
R tR tR	 tR
 tRtV tR# )r%   am  
Provides a thread-safe dict-like container which maintains up to
``maxsize`` keys while throwing away the least-recently-used keys beyond
``maxsize``.

:param maxsize:
    Maximum number of recent elements to retain.

:param dispose_func:
    Every time an item is evicted from the container,
    ``dispose_func(value)`` is called.  Callback which will get called
Nc                óf   € Wn         W n        V P                  4       V n        \	        4       V n        R # r	   )Ú_maxsizeÚdispose_funcÚContainerClsÚ
_containerr   Úlock)r   Úmaxsizer*   s   &&&r   Ú__init__ÚRecentlyUsedContainer.__init__/   s&   € ØŒØ(Ôà×+Ñ+Ó-ˆŒÜ“GˆŽ	r   c                ó¾   € V P                   ;_uu_ 4        V P                  P                  V4      pW P                  V&   VuuR R R 4       #   + '       g   i     R # ; ir	   )r-   r,   Úpop)r   ÚkeyÚitems   && r   Ú__getitem__Ú!RecentlyUsedContainer.__getitem__6   s:   € à�Y�Y‹YØ—?‘?×&Ñ& sÓ+ˆDØ#'�O‰O˜CÑ Ø÷ �Y�Y‹Yús   •+AÁA	c                ó´  € \         pV P                  ;_uu_ 4        V P                  P                  V\         4      pW P                  V&   \	        V P                  4      V P
                  8”  d   V P                  P                  R R7      w  rCRRR4       V P                  '       d    V\         Jd   V P                  V4       R# R# R#   + '       g   i     LC; i)F)ÚlastN)Ú_Nullr-   r,   ÚgetÚlenr)   Úpopitemr*   )r   r3   ÚvalueÚevicted_valueÚ_keys   &&&  r   Ú__setitem__Ú!RecentlyUsedContainer.__setitem__=   s›   € ÜˆØ�Y�Y‹Yà ŸO™O×/Ñ/°´UÓ;ˆMØ#(�O‰O˜CÑ ô �4—?‘?Ó# d§m¡mÔ3Ø&*§o¡o×&=Ñ&=À5Ð&=Ó&IÑ#�÷ ð ××Ð ´eÓ!;Ø×Ñ˜mÖ,ñ "<Ñ÷ �Yús   ›A1CÃC	c                óæ   € V P                   ;_uu_ 4        V P                  P                  V4      pR R R 4       V P                  '       d   V P                  X4       R # R #   + '       g   i     L7; ir	   )r-   r,   r2   r*   )r   r3   r=   s   && r   Ú__delitem__Ú!RecentlyUsedContainer.__delitem__L   sM   € Ø�Y�Y‹YØ—O‘O×'Ñ'¨Ó,ˆE÷ ð ××ÐØ×Ñ˜eÖ$ñ ÷ �Yús   •A Á A0	c                ó’   € V P                   ;_uu_ 4        \        V P                  4      uuR R R 4       #   + '       g   i     R # ; ir	   )r-   r;   r,   r   s   &r   Ú__len__ÚRecentlyUsedContainer.__len__S   s#   € Ø�Y�Y‹YÜ�t—‘Ó'÷ �Y�Y‹Yús	   •5µA	c                ó   € \        R 4      h)z7Iteration over this class is unlikely to be threadsafe.)ÚNotImplementedErrorr   s   &r   Ú__iter__ÚRecentlyUsedContainer.__iter__W   s   € Ü!ØEó
ð 	
r   c                ó2  € V P                   ;_uu_ 4        \        \        V P                  4      4      pV P                  P	                  4        R R R 4       V P
                  '       d   X F  pV P                  V4       K  	  R # R #   + '       g   i     L@; ir	   )r-   Úlistr$   r,   Úclearr*   )r   Úvaluesr=   s   &  r   rN   ÚRecentlyUsedContainer.clear\   sf   € Ø�Y�Y‹Yäœ* T§_¡_Ó5Ó6ˆFØ�O‰O×!Ñ!Ô#÷ ð
 ××ÐÛ�Ø×!Ñ! %Ö(ó  ñ ÷ �Yús   •9BÂB	c                ó¤   € V P                   ;_uu_ 4        \        \        V P                  4      4      uuR R R 4       #   + '       g   i     R # ; ir	   )r-   rM   r#   r,   r   s   &r   ÚkeysÚRecentlyUsedContainer.keysf   s(   € Ø�Y�Y‹YÜœ §¡Ó1Ó2÷ �Y�Y‹Yús	   •>¾A	)r,   r)   r*   r-   )é
   N)r   r   r   r   Ú__doc__r    r+   r/   r5   r@   rC   rF   rJ   rN   rR   r   r   r   s   @r   r%   r%      s>   ø‡ € ñð €Lôòò-ò%ò(ò
ò
)÷3ð 3r   c                   ó@  a a€ ] tR t^kt oRtRV 3R lltR tR tR tR t	R t
R t]P                  '       d   ]P                  t]P                   t]! 4       tR	 tR
 t]3R ltR tR tR t]3R ltR t]t]t]t]tR tR t R t!R t"R t#R t$]%R 4       t&Rt'Vt(V ;t)# )r&   a  
:param headers:
    An iterable of field-value pairs. Must not contain multiple field names
    when compared case-insensitively.

:param kwargs:
    Additional field-value pairs to pass in to ``dict.update``.

A ``dict`` like container for storing HTTP Headers.

Field names are stored and compared case-insensitively in compliance with
RFC 7230. Iteration provides the first case-sensitive key seen for each
case-insensitive pair.

Using ``__setitem__`` syntax overwrites fields that compare equal
case-insensitively in order to maintain ``dict``'s api. For fields that
compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add``
in a loop.

If multiple fields that are equal case-insensitively are passed to the
constructor or ``.update``, the behavior is undefined and some will be
lost.

>>> headers = HTTPHeaderDict()
>>> headers.add('Set-Cookie', 'foo=bar')
>>> headers.add('set-cookie', 'baz=quxx')
>>> headers['content-length'] = '7'
>>> headers['SET-cookie']
'foo=bar, baz=quxx'
>>> headers['Content-Length']
'7'
c                óú   <€ \         \        V `  4        \        4       V n        Ve:   \        V\        4      '       d   V P                  V4       MV P                  V4       V'       d   V P                  V4       R # R # r	   )Úsuperr&   r/   r    r,   Ú
isinstanceÚ
_copy_fromÚextend)r   ÚheadersÚkwargsÚ	__class__s   &&,€r   r/   ÚHTTPHeaderDict.__init__�   sX   ø€ ÜŒn˜dÑ,Ô.Ü%›-ˆŒØÒÜ˜'¤>×2Ò2Ø—‘ Õ(à—‘˜GÔ$ßØ�K‰K˜Öñ r   c                ó€   € W.V P                   VP                  4       &   V P                   VP                  4       ,          # r	   ©r,   Úlower©r   r3   Úvals   &&&r   r@   ÚHTTPHeaderDict.__setitem__˜   s-   € Ø(+ zˆ�‰˜Ÿ	™	›Ñ$Ø�‰˜sŸy™y›{Õ+Ð+r   c                ót   € V P                   VP                  4       ,          pR P                  VR,          4      # )ú, ºé   NN©r,   rb   Újoinrc   s   && r   r5   ÚHTTPHeaderDict.__getitem__œ   s)   € Ø�o‰o˜cŸi™i›kÕ*ˆØ�y‰y˜˜R�Ó!Ð!r   c                ó<   € V P                   VP                  4        R # r	   ra   ©r   r3   s   &&r   rC   ÚHTTPHeaderDict.__delitem__    s   € Ø�O‰O˜CŸI™I›KÒ(r   c                ó<   € VP                  4       V P                  9   # r	   )rb   r,   rn   s   &&r   Ú__contains__ÚHTTPHeaderDict.__contains__£   s   € Ø�y‰y‹{˜dŸo™oÑ-Ð-r   c                ó0  € \        V\        4      '       g   \        VR 4      '       g   R# \        V\        V 4      4      '       g   \        V 4      ! V4      p\	        R V P                  4        4       4      \	        R VP                  4        4       4      8H  # )rR   Fc              3   óJ   "  € T F  w  rVP                  4       V3x € K  	  R # 5ir	   ©rb   ©Ú.0ÚkÚvs   &  r   Ú	<genexpr>Ú(HTTPHeaderDict.__eq__.<locals>.<genexpr>«   s   é € ÐAÑ/@¡t q�Q—W‘W“Y •NÓ/@ùó   ‚!#c              3   óJ   "  € T F  w  rVP                  4       V3x € K  	  R # 5ir	   ru   rv   s   &  r   rz   r{   «   s!   é € ð J
Ù'9™t˜qˆQ�W‰W‹Y˜�NÓ'9ùr|   )rY   r   ÚhasattrÚtypeÚdictÚ
itermerged©r   Úothers   &&r   Ú__eq__ÚHTTPHeaderDict.__eq__¦   s|   € Ü˜%¤×)Ò)´'¸%À×2HÒ2HÙÜ˜%¤ d£×,Ò,Ü˜”J˜uÓ%ˆEÜÑA¨t¯©Ô/@ÓAÓAÄTñ J
Ø',×'7Ñ'7Ô'9óJ
ó F
ñ 
ð 	
r   c                ó.   € V P                  V4      '       * # r	   )r„   r‚   s   &&r   Ú__ne__ÚHTTPHeaderDict.__ne__¯   s   € Ø—;‘;˜uÓ%Ô%Ð%r   c                ó,   € \        V P                  4      # r	   )r;   r,   r   s   &r   rF   ÚHTTPHeaderDict.__len__¸   s   € Ü�4—?‘?Ó#Ð#r   c              #  óf   "  € V P                   P                  4        F  pV^ ,          x € K  	  R# 5i)r   N)r,   rO   )r   Úvalss   & r   rJ   ÚHTTPHeaderDict.__iter__»   s%   é € à—O‘O×*Ñ*Ö,ˆDØ�q•'ŒMó -ùs   ‚/1c                ób   €  W,          pW V#   \          d    Y P                  J d   h Tu # i ; i)z—D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised.
)ÚKeyErrorÚ_HTTPHeaderDict__marker)r   r3   Údefaultr=   s   &&& r   r2   ÚHTTPHeaderDict.popÀ   s=   € ð	Ø•IˆEð �	ØˆLøô ô 	ØŸ-™-Ó'ØØŠNð	ús   ‚ Ž.­.c                ó0   €  W R #   \          d     R # i ; ir	   )r�   rn   s   &&r   ÚdiscardÚHTTPHeaderDict.discardÑ   s   € ð	Ø’	øÜô 	Úð	ús   ‚ †”c                ó’   € VP                  4       pW.pV P                  P                  W44      pWEJd   VP                  V4       R# R# )z²Adds a (name, value) pair, doesn't overwrite the value if it already
exists.

>>> headers = HTTPHeaderDict(foo='bar')
>>> headers.add('Foo', 'baz')
>>> headers['foo']
'bar, baz'
N)rb   r,   Ú
setdefaultÚappend)r   r3   rd   Ú	key_lowerÚnew_valsrŒ   s   &&&   r   ÚaddÚHTTPHeaderDict.add×   sA   € ð —I‘I“Kˆ	Ø�:ˆà�‰×)Ñ)¨)Ó>ˆØÓØ�K‰K˜Öñ  r   c                ó¤  € \        V4      ^8”  d$   \        RP                  \        V4      4      4      h\        V4      ^8¼  d
   V^ ,          MRp\        V\        4      '       d,   VP                  4        F  w  rEV P                  WE4       K  	  M–\        V\        4      '       d#   V F  pV P                  WCV,          4       K  	  M^\        VR4      '       d1   VP                  4        F  pV P                  WCV,          4       K  	  MV F  w  rFV P                  WF4       K  	  VP                  4        F  w  rFV P                  WF4       K  	  R# )z¨Generic import function for any type of header-like object.
Adapted version of MutableMapping.update in order to insert items
with self.add instead of self.__setitem__
z9extend() takes at most 1 positional arguments ({0} given)rR   Nr
   )r;   Ú	TypeErrorÚformatrY   r&   Ú	iteritemsr›   r   r~   rR   Úitems)r   Úargsr]   rƒ   r3   rd   r=   s   &*,    r   r[   ÚHTTPHeaderDict.extendç   s   € ô
 ˆt‹9�qŒ=Üð(ß(.©¬s°4«yÓ(9óð ô ˜t›9¨œ>��Q–¨rˆä�eœ^×,Ò,Ø!ŸO™OÖ-‘�Ø—‘˜Ö"ò .ä˜œw×'Ò'Û�Ø—‘˜ C�jÖ)ò ä�U˜F×#Ò#Ø—z‘z–|�Ø—‘˜ C�jÖ)ò $ó $‘
�Ø—‘˜Ö$ñ $ð !Ÿ,™,ž.‰JˆCØ�H‰H�SÖ ó )r   c                ó¤   €  V P                   VP                  4       ,          pVR,          #   \         d    Y P                  J d   . u # Tu # i ; i)zeReturns a list of all the values for the named field. Returns an
empty list if the key doesn't exist.rh   )r,   rb   r�   r�   )r   r3   r‘   rŒ   s   &&& r   ÚgetlistÚHTTPHeaderDict.getlist  sK   € ð	Ø—?‘? 3§9¡9£;Õ/ˆDð ˜•8ˆOøô ô 	ØŸ-™-Ó'Ø’	ØŠNð	ús   ‚!, ¬AÁ
AÁAc                óB   € . ROpV F  pV P                  V4       K  	  V # )z~
Remove content-specific header fields before changing the request
method to GET or HEAD according to RFC 9110, Section 15.4.
)zContent-EncodingzContent-LanguagezContent-LocationzContent-TypezContent-LengthÚDigestzLast-Modified)r”   )r   Úcontent_specific_headersÚheaders   &  r   Ú_prepare_for_method_changeÚ)HTTPHeaderDict._prepare_for_method_change  s'   € ò
$
Ð ó /ˆFØ�L‰L˜Ö ñ /àˆr   c                ój   € \        V 4      P                  : R \        V P                  4       4      : R2# )Ú(Ú))r   r   r€   r�   r   s   &r   Ú__repr__ÚHTTPHeaderDict.__repr__)  s#   € Ü ›:×.Ô.´°T·_±_Ó5FÖ0GÐHÐHr   c                óÆ   € V FZ  pVP                  V4      p\        V\        4      '       d   \        V4      pV.V,           V P                  VP	                  4       &   K\  	  R # r	   )r¥   rY   rM   r,   rb   )r   rƒ   r3   rd   s   &&  r   rZ   ÚHTTPHeaderDict._copy_from,  sJ   € ÛˆCØ—-‘- Ó$ˆCÜ˜#œt×$Ò$ä˜3“i�Ø,/¨5°3­;ˆD�O‰O˜CŸI™I›KÓ(ó r   c                óH   € \        V 4      ! 4       pVP                  V 4       V# r	   )r   rZ   )r   Úclones   & r   ÚcopyÚHTTPHeaderDict.copy4  s    € Ü�T”
“ˆØ×Ñ˜ÔØˆr   c              #  óœ   "  € V  FA  pV P                   VP                  4       ,          pVR,           F  pV^ ,          V3x € K  	  KC  	  R# 5i)z8Iterate over all header lines, including duplicate ones.rh   Nra   )r   r3   rŒ   rd   s   &   r   r    ÚHTTPHeaderDict.iteritems9  sA   é € ãˆCØ—?‘? 3§9¡9£;Õ/ˆDØ˜B—x�x�Ø˜1•g˜s�lÔ"ó  ó ùs   ‚A
Ac              #  ó¨   "  € V  FG  pV P                   VP                  4       ,          pV^ ,          RP                  VR,          4      3x € KI  	  R# 5i)z:Iterate over all headers, merging duplicate ones together.rg   rh   Nrj   rc   s   &  r   r�   ÚHTTPHeaderDict.itermerged@  s?   é € ãˆCØ—/‘/ #§)¡)£+Õ.ˆCØ�a•&˜$Ÿ)™) C¨¥GÓ,Ð,Ô,ó ùs   ‚AAc                ó4   € \        V P                  4       4      # r	   )rM   r    r   s   &r   r¡   ÚHTTPHeaderDict.itemsF  s   € Ü�D—N‘NÓ$Ó%Ð%r   c                óh  € Rp. pVP                    F—  pVP                  V4      '       dJ   V'       g   \        RV,          4      hVR,          w  rVWVR,           VP                  4       ,           3VR&   Kc  VP	                  R^4      w  rVVP                  WVP                  4       34       K™  	  V ! V4      # )z4Read headers from a Python 2 httplib message object.Ú z/Header continuation with no previous header: %sÚ:)r¿   Ú	éÿÿÿÿ)r\   Ú
startswithr!   ÚstripÚsplitr˜   )ÚclsÚmessageÚobs_fold_continued_leadersr\   Úliner3   r=   s   &&     r   Úfrom_httplibÚHTTPHeaderDict.from_httplibI  s¥   € ð &1Ð"Øˆà—O”OˆDØ�‰Ð9×:Ò:ßô (ØIÈDÕPóð ð ")¨¥‘J�CØ#&°­°d·j±j³lÕ(BÐ"C�G˜B‘KÙàŸ™ C¨Ó+‰JˆCØ�N‰N˜C§¡£Ð/Ö0ñ $ñ" �7‹|Ðr   )r,   r	   )*r   r   r   r   rU   r/   r@   r5   rC   rq   r„   r‡   r"   ÚPY2r   r#   r$   Úobjectr�   rF   rJ   r2   r”   r›   r[   r¥   r«   Ú
getheadersÚgetallmatchingheadersÚigetÚget_allr°   rZ   r¶   r    r�   r¡   ÚclassmethodrÊ   r   r   Ú__classcell__)r^   r   s   @@r   r&   r&   k   sÙ   ù‡ € ñ÷B	 ò,ò"ò)ò.ò
ò&ð ‡w‡w€wØ!×*Ñ*ˆØ#×.Ñ.ˆ
á‹x€Hò$òð
  (ô ò"òò !ð8 $,ô 
òð& €JØ#ÐØ€Dð €GòIò7òò
#ò-ò&ð ñó ÷ð r   N)Ú
__future__r   Úcollections.abcr   r   ÚImportErrorÚcollectionsÚ	threadingr   r    Ú
exceptionsr!   Úpackagesr"   Úpackages.sixr#   r$   Ú__all__rÍ   r9   r%   r&   r
   r   r   Ú<module>rÝ      s‰   ðÝ &ð4ß7ð	Ýõ $å %Ý ß .à"Ð$4Ð
5€ñ 	‹€ôI3˜Nô I3ôXx�^ö xøðM ô 4ß3Ñ3ð4ûð ô ÷ó ðús"   ˆA ‘A) ÁA&Á%A&Á)A=Á<A=