+
    *O|jI  ã                   óÚ   € R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 . ROt
^R	IHt ^R
IHt ^RIHt ^RIHt ]! R4      t]! R4      t ! R R4      t ! R R4      tR# )zdbrain-dead simple parser for ini-style files.
(C) Ronny Pfannschmidt, Holger Krekel -- MIT licensed
N)ÚCallable)ÚIterator)ÚMapping)ÚFinal)ÚTypeVar)ÚoverloadÚ	IniConfig)Ú_parse)ÚCOMMENTCHARS)Úiscommentline)Ú
ParseErrorÚ_DÚ_Tc                   ó,  a € ] tR t^t o V 3R lR ltV 3R lR lt]V 3R lR l4       t]V 3R lR l4       t]V 3R	 lR
 l4       t]RV 3R lR ll4       t]V 3R lR l4       tRV 3R lR lltV 3R lR ltV 3R lR lt	V 3R lR lt
V 3R ltRtV tR# )ÚSectionWrapperc                ó(   <€ V ^8„  d   QhRRRS[ RR/# )é   Úconfigr   ÚnameÚreturnN©Ústr)ÚformatÚ__classdict__s   "€ÚKC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\iniconfig/__init__.pyÚ__annotate__ÚSectionWrapper.__annotate__   s"   ø€ ÷ ñ ˜{ð ±#ð ¸$ñ ó    c                ó   € Wn         W n        R # ©N©r   r   )Úselfr   r   s   &&&r   Ú__init__ÚSectionWrapper.__init__   s   € ØŒØŽ	r   c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )r   r   r   N©r   Úint)r   r   s   "€r   r   r       s   ø€ ÷ 3ñ 3™3ð 3¡3¨¥:ñ 3r   c                óN   € V P                   P                  V P                  V4      # r   ©r   Úlineofr   ©r!   r   s   &&r   r)   ÚSectionWrapper.lineof    s   € Ø�{‰{×!Ñ! $§)¡)¨TÓ2Ð2r   c                ó4   <€ V ^8„  d   QhRS[ RS[ R,          /# )r   Úkeyr   Nr   )r   r   s   "€r   r   r   $   s   ø€ ×.Ñ.‘sÐ.™s T�zÑ.r   c                ó   € R # r   © ©r!   r-   s   &&r   ÚgetÚSectionWrapper.get#   s   € Ù+.r   c                óR   <€ V ^8„  d   QhRS[ RS[S[ .S[3,          RS[R,          /# )r   r-   Úconvertr   N©r   r   r   )r   r   s   "€r   r   r   '   s8   ø€ ÷ ñ áðñ ™3˜%¡˜)Õ$ðñ 
ˆd�ñ	r   c                ó   € R # r   r/   )r!   r-   r4   s   &&&r   r1   r2   &   s   € ñ
 r   c          	      óV   <€ V ^8„  d   QhRS[ RRRS[S[ .S[3,          RS[R,          /# ©r   r-   ÚdefaultNr4   r   r5   )r   r   s   "€r   r   r   .   sB   ø€ ÷ ñ áðð ðñ ™3˜%¡˜)Õ$ð	ñ
 
ˆd�ñr   c                ó   € R # r   r/   ©r!   r-   r9   r4   s   &&&&r   r1   r2   -   ó   € ñ r   Nc          	      ó@   <€ V ^8„  d   QhRS[ RS[RRRS[ S[,          /# )r   r-   r9   r4   Nr   ©r   r   )r   r   s   "€r   r   r   6   s!   ø€ ×OÑO‘sÐO¡RÐO°$ÐOÁ#ÉÅ(ÑOr   c                ó   € R # r   r/   r;   s   &&&&r   r1   r2   5   s   € ÙLOr   c          	      óZ   <€ V ^8„  d   QhRS[ RS[RS[S[ .S[3,          RS[S[,          /# )r   r-   r9   r4   r   ©r   r   r   r   )r   r   s   "€r   r   r   9   sB   ø€ ÷ ñ áðñ ðñ ™3˜%¡˜)Õ$ð	ñ
 
‰b�ñr   c                ó   € R # r   r/   r;   s   &&&&r   r1   r2   8   s   € ñ r   c          	      ó”   <€ V ^8„  d   QhRS[ RS[R,          RS[S[ .S[3,          R,          RS[S[,          S[ ,          R,          /# r8   rA   )r   r   s   "€r   r   r   A   sZ   ø€ ÷ Qñ QáðQñ �d•ðQñ ™3˜%¡˜)Õ$ tÕ+ð	Qñ
 
‰b�‘3�˜Õ	ñQr   c                óR   € V P                   P                  V P                  WVR 7      # ))r4   r9   )r   r1   r   r;   s   &&&&r   r1   r2   A   s!   € ð �{‰{�‰˜tŸy™y¨#ÈˆÓPÐPr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   r-   r   r   )r   r   s   "€r   r   r   I   s   ø€ ÷ 4ñ 4™sð 4¡sñ 4r   c                ó^   € V P                   P                  V P                  ,          V,          # r   )r   Úsectionsr   r0   s   &&r   Ú__getitem__ÚSectionWrapper.__getitem__I   s    € Ø�{‰{×#Ñ# D§I¡IÕ.¨sÕ3Ð3r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r   r   )r   r   )r   r   s   "€r   r   r   L   s   ø€ ÷ /ñ /™(¡3�-ñ /r   c              #  ó®   a "  € S P                   P                  P                  S P                  / 4      pR  V 3R llp\	        WR7       Rj  x€L
  R#  L5i)c                ó0   € V ^8„  d   QhR\         R\        /# rF   r%   )r   s   "r   r   Ú-SectionWrapper.__iter__.<locals>.__annotate__O   s   € ÷ 	6ñ 	6œð 	6¤ñ 	6r   c                 óP   <€ SP                   P                  SP                  V 4      # r   r(   )r-   r!   s   &€r   r)   Ú'SectionWrapper.__iter__.<locals>.lineofO   s   ø€ Ø—;‘;×%Ñ% d§i¡i°Ó5Ð5r   ©r-   N)r   rH   r1   r   Úsorted)r!   Úsectionr)   s   f  r   Ú__iter__ÚSectionWrapper.__iter__L   s@   øé € Ø%)§[¡[×%9Ñ%9×%=Ñ%=¸d¿i¹iÈÓ%Lˆ÷	6ð 	6ô ˜'Ô.×.Ô.ùs   ƒA	AÁAÁAc                óF   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          /# rL   )r   Útupler   )r   r   s   "€r   r   r   T   s!   ø€ ÷ #ñ #‘x¡¡c©3 h¥Õ0ñ #r   c              #  ó8   "  € V  F  pWV,          3x € K  	  R # 5ir   r/   r*   s   & r   ÚitemsÚSectionWrapper.itemsT   s   é € ÛˆDØ˜T�
Ð"Ô"ó ùs   ‚c                óP   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[ S[,          ;R&   # )r   r   r   r   )r   r   )r   r   s   "€r   r   r      s$   ø‡ ‚ Ù�+ÕÑñ á
‘�*Ñò r   r    r   ©NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   r)   r   r1   rI   rU   rZ   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s¦   ø‡ € ÷ð ÷3ð 3ð ß.ó Ø.à÷ó ðð ÷ó ðð ßOÑOó ØOà÷ó ð÷Qò Q÷4ð 4÷/ð /÷#ð #÷y ƒ r   r   c                   ól  a € ] tR t^Yt o R"RRRR/V 3R lR lllt]R"RRRR	/V 3R
 lR lll4       tR#V 3R lR llt]V 3R lR l4       t	]V 3R lR l4       t	]V 3R lR l4       t	]R#V 3R lR ll4       t	]V 3R lR l4       t	R$V 3R lR llt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R  ltR!tV tR# )%r   NÚ	_sectionsÚ_sourcesc                ó   <€ V ^8„  d   QhRS[ S[P                  S[ ,          ,          RS[ R,          RS[ RS[S[ S[S[ S[ 3,          3,          R,          RS[S[S[ S[ R,          3,          S[3,          R,          RR/# )r   ÚpathÚdataNÚencodingrg   rh   r   )r   ÚosÚPathLiker   rX   r&   )r   r   s   "€r   r   ÚIniConfig.__annotate__^   s�   ø€ ÷ &ñ &á‘B—K‘K¡Õ$Õ$ð&ñ �D�jð&ñ ð	&ñ ™3¡©©S¨Õ 1Ð1Õ2°TÕ9ð&ñ ™%¡¡S¨4¥Z Õ0±#Ð5Õ6¸Õ=ð&ð 
ñ&r   c               óV  € \         P                  ! V4      V n        Ve
   Ve   TpTpMaVf9   \        V P                  VR7      ;_uu_ 4       pVP	                  4       pR R R 4       \
        P                  ! V P                  VRR7      w  rgWpn        W`n        R #   + '       g   i     LC; i)N©rl   F)Ústrip_inline_comments)	rm   Úfspathrj   ÚopenÚreadr	   Úparse_ini_datarh   rH   )	r!   rj   rk   rl   rg   rh   Úsections_dataÚsourcesÚfps	   &&&&$$   r   r"   ÚIniConfig.__init__^   s‰   € ô —I’I˜d“OˆŒ	ð Ò  XÒ%9à%ˆMØ‰Gð Š|Ü˜$Ÿ)™)¨h×7Õ7¸2ØŸ7™7›9�D÷ 8ô &,×%:Ò%:Ø—	‘	˜4°uô&Ñ"ˆMð
  ŒØ%Ž÷ 8×7ús   ÁBÂB(	rr   TÚstrip_section_whitespaceFc                ó~   <€ V ^8„  d   QhRS[ S[P                  S[ ,          ,          RS[ R,          RS[ RS[RS[RR/# )	r   rj   rk   Nrl   rr   r{   r   r   )r   rm   rn   Úbool)r   r   s   "€r   r   ro   ~   sa   ø€ ÷ 4Kñ 4Ká‘B—K‘K¡Õ$Õ$ð4Kñ �D�jð4Kñ ð	4Kñ  $ð4Kñ #'ð4Kð 
ñ4Kr   c               ó  € \         P                  ! V4      pVf.   \        WcR7      ;_uu_ 4       pVP                  4       pRRR4       \        P
                  ! VVVVR7      w  r‰V ! WhV	R7      #   + '       g   i     L6; i)aá  Parse an INI file.

Args:
    path: Path to the INI file (used for error messages)
    data: Optional INI content as string. If None, reads from path.
    encoding: Encoding to use when reading the file (default: utf-8)
    strip_inline_comments: Whether to strip inline comments from values
        (default: True). When True, comments starting with # or ; are
        removed from values, matching the behavior for section comments.
    strip_section_whitespace: Whether to strip whitespace from section and key names
        (default: False). When True, strips Unicode whitespace from section and key names,
        addressing issue #4. When False, preserves existing behavior for backward compatibility.

Returns:
    IniConfig instance with parsed configuration

Example:
    # With comment stripping (default):
    config = IniConfig.parse("setup.cfg")
    # value = "foo" instead of "foo # comment"

    # Without comment stripping (old behavior):
    config = IniConfig.parse("setup.cfg", strip_inline_comments=False)
    # value = "foo # comment"

    # With section name stripping (opt-in for issue #4):
    config = IniConfig.parse("setup.cfg", strip_section_whitespace=True)
    # section names and keys have Unicode whitespace stripped
Nrq   )rr   r{   )rj   rg   rh   )rm   rs   rt   ru   r	   rv   )
Úclsrj   rk   rl   rr   r{   rs   ry   rw   rx   s
   &&&&$$    r   ÚparseÚIniConfig.parse}   sm   € ôN —’˜4“ˆàŠ<Ü�f×0Õ0°BØ—w‘w“y�÷ 1ô "(×!6Ò!6ØØØ"7Ø%=ô	"
Ñˆñ ˜À'ÔJÐJ÷ 1×0ús   ¯A.Á.A>	c                óH   <€ V ^8„  d   QhRS[ RS[ R,          RS[R,          /# )r   rT   r   Nr   r%   )r   r   s   "€r   r   ro   ´   s*   ø€ ÷ 6ñ 6™cð 6©¨t­ð 6¹sÀT½zñ 6r   c                óX   € V P                   P                  W34      pVf   R # V^,           # r   )rh   r1   )r!   rT   r   Úlinenos   &&& r   r)   ÚIniConfig.lineof´   s+   € Ø—‘×"Ñ" G ?Ó3ˆØ’~ˆtÐ5¨6°A­:Ð5r   c                ó:   <€ V ^8„  d   QhRS[ RS[ RS[ R,          /# )r   rT   r   r   Nr   )r   r   s   "€r   r   ro   ¹   s-   ø€ ÷ ñ áðñ ðñ 
ˆt�ñ	r   c                ó   € R # r   r/   )r!   rT   r   s   &&&r   r1   ÚIniConfig.get¸   s   € ñ
 r   c          	      óX   <€ V ^8„  d   QhRS[ RS[ RS[S[ .S[3,          RS[R,          /# )r   rT   r   r4   r   Nr5   )r   r   s   "€r   r   ro   À   sB   ø€ ÷ ñ áðñ ðñ ™3˜%¡˜)Õ$ð	ñ
 
ˆd�ñr   c                ó   € R # r   r/   )r!   rT   r   r4   s   &&&&r   r1   rˆ   ¿   r<   r   c                ó\   <€ V ^8„  d   QhRS[ RS[ RRRS[S[ .S[3,          RS[R,          /# ©r   rT   r   r9   Nr4   r   r5   )r   r   s   "€r   r   ro   È   sL   ø€ ÷ ñ áðñ ðð ð	ñ
 ™3˜%¡˜)Õ$ðñ 
ˆd�ñr   c                ó   € R # r   r/   ©r!   rT   r   r9   r4   s   &&&&&r   r1   rˆ   Ç   s   € ñ r   c                óF   <€ V ^8„  d   QhRS[ RS[ RS[RRRS[ S[,          /# )r   rT   r   r9   r4   Nr   r>   )r   r   s   "€r   r   ro   Ñ   s9   ø€ ÷ ñ ÙðÙ"%ðÙ02ðØ=Aðá	‰r�ñr   c                ó   € R # r   r/   rŽ   s   &&&&&r   r1   rˆ   Ð   s   € ñ r   c                ó`   <€ V ^8„  d   QhRS[ RS[ RS[RS[S[ .S[3,          RS[S[,          /# )r   rT   r   r9   r4   r   rA   )r   r   s   "€r   r   ro   Ö   sL   ø€ ÷ ñ áðñ ðñ ð	ñ
 ™3˜%¡˜)Õ$ðñ 
‰b�ñr   c                ó   € R # r   r/   rŽ   s   &&&&&r   r1   rˆ   Õ   s   € ñ r   c                óš   <€ V ^8„  d   QhRS[ RS[ RS[R,          RS[S[ .S[3,          R,          RS[S[,          S[ ,          R,          /# rŒ   rA   )r   r   s   "€r   r   ro   Þ   s^   ø€ ÷ ñ áðñ ðñ �d•ð	ñ
 ™3˜%¡˜)Õ$ tÕ+ðñ 
‰b�‘3�˜Õ	ñr   c                óz   €  V P                   V,          V,          pVe	   V! V4      # V#   \         d    Tu # i ; ir   )rH   ÚKeyError)r!   rT   r   r9   r4   Úvalues   &&&&& r   r1   rˆ   Þ   sG   € ð	ØŸ™ wÕ/°Õ5ˆEð Ò"Ù˜u“~Ð%à�øô ô 	ØŠNð	ús   ‚* ª:¹:c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r   r   )r   r   )r   r   s   "€r   r   ro   ï   s   ø€ ÷ *ñ *¡ð *©ñ *r   c                óN   € WP                   9  d   \        V4      h\        W4      # r   )rH   r•   r   r*   s   &&r   rI   ÚIniConfig.__getitem__ï   s!   € Ø—}‘}Ô$Ü˜4“.Ð Ü˜dÓ)Ð)r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rL   )r   r   )r   r   s   "€r   r   ro   ô   s   ø€ ÷ -ñ -™(¡>Õ2ñ -r   c              #  óx   "  € \        V P                  V P                  R 7       F  p\        W4      x € K  	  R# 5i)rR   N)rS   rH   r)   r   r*   s   & r   rU   ÚIniConfig.__iter__ô   s)   é € Ü˜4Ÿ=™=¨d¯k©k×:ˆDÜ  Ó,Ô,ó ;ùs   ‚8:c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úargr   )r   r}   )r   r   s   "€r   r   ro   ø   s   ø€ ÷ $ñ $¡ð $©ñ $r   c                ó   € WP                   9   # r   )rH   )r!   rž   s   &&r   Ú__contains__ÚIniConfig.__contains__ø   s   € Ø—m‘mÑ#Ð#r   c                óÔ   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[S[S[S[S[3,          3,          ,          ;R&   S[ S[S[S[S[R,          3,          S[3,          ,          ;R&   # )r   rj   rH   Nrh   )r   r   r   rX   r&   )r   r   s   "€r   r   ro   Y   s`   ø‡ ‚ Ù
‘�*Ññ á‘G™C¡©©c¨Õ!2Ð2Õ3Õ4Ñ4ñ ñ ‘G™E¡#¡s¨T¥z /Õ2±CÐ7Õ8Õ9Ñ9ò r   )rh   rj   rH   )Nzutf-8r   r]   )r^   r_   r`   ra   r"   Úclassmethodr€   r)   r   r1   rI   rU   r    rb   rc   rd   re   s   @r   r   r   Y   sü   ø‡ € ñ
&ð =Að&ð AE÷&ó &ð> ñ4Kð '+ð4Kð */÷4Kò 4Kó ð4K÷l6ò 6ð ÷ó ðð ÷ó ðð ÷ó ðð ÷ñ ó ðð ÷ó ð÷ò ÷"*ð *÷
-ð -÷$ð $÷ ƒ r   )r   r   r
   r   )Ú__doc__rm   Úcollections.abcr   r   r   Útypingr   r   r   Ú__all__Ú r	   r
   r   Ú
exceptionsr   r   r   r   r   r/   r   r   Ú<module>rª      s[   ðñó 
Ý $Ý $Ý #Ý Ý Ý â
F€å Ý  Ý !Ý "áˆTƒ]€ÙˆTƒ]€÷>#ñ >#÷B`$ó `$r   