ó
    Eñi;  ã                  óê   • S r SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSKJ
r
  SSKJr  SS	KJr  SS
KJr  SSKr\\\      " 5       rSS jr\R*                  " SS9SS j5       rSS jrSS jrSS jrg)zASubmit failure or test session information to a pastebin service.é    )Úannotations)ÚStringION)ÚIO)ÚConfig)Úcreate_terminal_writer)ÚParser)ÚStashKey)ÚTerminalReporterc           
     óT   • U R                  S5      nUR                  SSSSS SS/SS	9  g )
Nzterminal reportingz
--pastebinÚmodeÚstoreÚpastebinÚfailedÚallz3Send failed|all info to bpaste.net pastebin service)ÚmetavarÚactionÚdestÚdefaultÚchoicesÚhelp)ÚgetgroupÚ	addoption)ÚparserÚgroups     ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/_pytest/pastebin.pyÚpytest_addoptionr      s<   € Ø�O‰OÐ0Ó1€EØ	‡O�OØØØØØØ˜5Ð!ØBð ò ó    T)Útrylastc                ó$  ^ ^• T R                   R                  S:X  at  T R                  R                  S5      nUbU  [        R
                  " S5      T R                  [        '   UR                  R                  mU U4S jnX!R                  l	        g g g )Nr   Úterminalreporterzw+bc                ó¨   >• T" U 40 UD6  [        U [        5      (       a  U R                  S5      n TR                  [           R                  U 5        g )Núutf-8)Ú
isinstanceÚstrÚencodeÚstashÚpastebinfile_keyÚwrite)ÚsÚkwargsÚconfigÚoldwrites     €€r   Ú	tee_writeÚ#pytest_configure.<locals>.tee_write.   sC   ø€ Ù˜Ñ%˜fÒ%Ü˜a¤×%Ñ%ØŸ™ Ó)�AØ—‘Ô-Ñ.×4Ñ4°QÕ7r   )
Úoptionr   ÚpluginmanagerÚ	getpluginÚtempfileÚTemporaryFiler&   r'   Ú_twr(   )r+   Útrr-   r,   s   `  @r   Úpytest_configurer6   "   st   ù€ à‡}�}×Ñ Ó&Ø×!Ñ!×+Ñ+Ð,>Ó?ˆð ‰>ä-5×-CÒ-CÀEÓ-JˆF�L‰LÔ)Ñ*Ø—v‘v—|‘|ˆHö8ð %�F‰F�Lð ð 'r   c                ó   • [         U R                  ;   aº  U R                  [            nUR                  S5        UR                  5       nUR	                  5         U R                  [         	 U R
                  R                  S5      nUR                  R                  S	 UR                  SS5        [        U5      nUR                  SU S35        g g )Nr   r    r(   Ú=ú$Sending information to Paste Servicezpastebin session-log: Ú
)r'   r&   ÚseekÚreadÚcloser0   r1   r4   Ú__dict__Ú	write_sepÚcreate_new_pasteÚ
write_line)r+   ÚpastebinfileÚ
sessionlogr5   Úpastebinurls        r   Úpytest_unconfigurerE   7   s­   € Ü˜6Ÿ<™<Ó'Ø—|‘|Ô$4Ñ5ˆà×Ñ˜!ÔØ!×&Ñ&Ó(ˆ
Ø×ÑÔØ�L‰LÔ)Ð*à×!Ñ!×+Ñ+Ð,>Ó?ˆØ�F‰F�O‰O˜GÐ$à
�‰�SÐ@ÔAÜ& zÓ2ˆØ
�‰Ð.¨{¨m¸2Ð>Õ?ð (r   c                ó¾  • SSK nSSKJn  SSKJn  SSKJn  U SSS.nS	n U" Xc" U5      R                  S
5      S9R                  5       R                  S5      nUR                  SW5      n	U	(       a  U SU	R                  S5       3$ SU-   S-   $ ! U a0  nU   SU 3sSSS5        s SnA$ ! , (       d  f        SnANe= fSnAf[         a  nSU 3s SnA$ SnAff = f)z�Create a new paste using the bpaste.net service.

:contents: Paste contents string.
:returns: URL to the pasted contents, or an error message.
r   N)Ú	HTTPError)Ú	urlencode)ÚurlopenÚtextÚ1week)ÚcodeÚlexerÚexpiryzhttps://bpa.stÚascii)Údatar"   zbad response: zhref="/raw/(\w+)"z/show/é   zbad response: invalid format ('z'))ÚreÚurllib.errorrG   Úurllib.parserH   Úurllib.requestrI   r%   r<   ÚdecodeÚOSErrorÚsearchr   )
ÚcontentsrR   rG   rH   rI   ÚparamsÚurlÚresponseÚeÚms
             r   r@   r@   H   sÚ   € ó Ý&Ý&Ý&à¨¸7ÑC€FØ
€Cð$á�C˜i¨Ó/×6Ñ6°wÓ?Ñ@×EÑEÓG×NÑNÈwÓWð 	ð 	�	‰	Ð&¨Ó1€AÞØ��f˜QŸW™W Q›Z˜LÐ)Ð)à0°8Ñ;¸dÑBÐBøð ó (ÚØ# A 3Ð'÷ �Q�Q�QˆQþäó $Ø ˜sÐ#Õ#ûð$úsM    8B ÂCÂC ÂB+Â	C Â%CÂ+
B=	Â5C Â=C Ã CÃCÃCÃCc                óF  • U R                   R                  R                  S:w  a  g SU R                  ;   aË  U R	                  SS5        U R                  S    H¥  n UR
                  R                  R                  S   R                  n[        5       n[        U R                   U5      nUR                  U5        UR                  5       n[        U5      (       d   e[!        U5      nU R#                  U SU 35        M§     g g ! [         a    U R                  U5      n N—f = f)Nr   r8   r9   éÿÿÿÿz --> )r+   r/   r   Ústatsr?   ÚlongreprÚreprtracebackÚreprentriesÚreprfilelocÚAttributeErrorÚ_getfailureheadliner   r   Ú
toterminalÚgetvalueÚlenr@   rA   )r    ÚrepÚmsgÚfileÚtwr)   rD   s          r   Úpytest_terminal_summaryro   e   s  € Ø×Ñ×%Ñ%×.Ñ.°(Ó:ØØÐ#×)Ñ)Ó)Ø×"Ñ" 3Ð(NÔOØ#×)Ñ)¨(Ô3ˆCð@Ø—l‘l×0Ñ0×<Ñ<¸RÑ@×LÑL�ô “:ˆDÜ'Ð(8×(?Ñ(?ÀÓFˆBØ�N‰N˜2ÔØ—‘“ˆAÜ�q—6‘6ˆM�6Ü*¨1Ó-ˆKØ×'Ñ'¨3¨%¨u°[°MÐ(BÖCò 4ð *øô
 "ó @Ø&×:Ñ:¸3Ó?’ð@ús   Á-DÄD ÄD )r   r   ÚreturnÚNone)r+   r   rp   rq   )rY   zstr | bytesrp   r$   )r    r
   rp   rq   )Ú__doc__Ú
__future__r   Úior   r2   Útypingr   Ú_pytest.configr   r   Ú_pytest.config.argparsingr   Ú_pytest.stashr	   Ú_pytest.terminalr
   ÚpytestÚbytesr'   r   Úhookimplr6   rE   r@   ro   © r   r   Ú<module>r~      sn   ðá Gå "å Û Ý å !Ý 1Ý ,Ý "Ý -Û ð ˜B˜u™IÒ&Ó(Ð ô
ð ‡‚˜Ñó%ó ð%ô(@ô"Cõ:Dr   