ó
    Eñi¾Z  ã                  ó¶  • 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S SKJ	r	  S SK
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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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"J#r#  S SK$J%r%  S SK$J&r&  S SK'J(r(  S SK'J)r)  \RT                  S :  a  S S!K+J,r,  \(       a  S S"K-J.r.  S S#K/J0r0  S$ r1 " S% S&5      r2      S4S' jr3      S5S( jr4      S6S) jr5 " S* S+\25      r6\ " S, S-\25      5       r7 " S. S/\5      r8    S7S0 jr9    S8S1 jr:S9S2 jr;S:S3 jr<g);é    )Úannotations)ÚIterable)ÚIterator)ÚMapping)ÚSequenceN)ÚStringIO)Úpprint)ÚAny)Úcast)Úfinal)ÚLiteral)ÚNoReturn)ÚTYPE_CHECKING)ÚExceptionChainRepr)ÚExceptionInfo)ÚExceptionRepr)Ú	ReprEntry)ÚReprEntryNative)ÚReprExceptionInfo©ÚReprFileLocation)ÚReprFuncArgs)Ú
ReprLocals©ÚReprTraceback)ÚTerminalRepr)ÚTerminalWriter)ÚConfig)Ú	Collector)ÚItem)Úfail)Úskip)é   é   )ÚBaseExceptionGroup)ÚSelf)ÚCallInfoc                óÈ   •  U R                   $ ! [         aI    U R                  nSR                  " US   S S 6 nSR                  US   US   X!S   5      =U l         nUs $ f = f)Nz{}.{}.{}Úversion_infor#   z[{}] {} -- Python {} {}ÚidÚsysplatformÚ
executable)Ú_workerinfocacheÚAttributeErrorÚ
workerinfoÚformat)ÚnodeÚdÚverÚss       ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/_pytest/reports.pyÚgetworkerinfoliner6   1   s|   € ðØ×$Ñ$Ð$øÜó Ø�O‰OˆØ×Ò  >Ñ!2°2°AÐ!6Ð7ˆØ$=×$DÑ$DØˆd‰G�Q�}Ñ% s¨l©Oó%
ð 	
ˆÔ ð Šðús   ‚ ŽAA!Á A!c                  ó„  • \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S!S jr\(       a  S"S jrS#S jrS$S jr	\
S%S j5       r\
S%S j5       r\
S%S j5       r\
S%S j5       r\
S&S j5       r\
S&S j5       r\
S&S j5       r\
S%S j5       r\
S&S j5       r\
S'S j5       r      S(S jrS)S jr\S*S j5       rSrg )+Ú
BaseReporté=   ú
str | NoneÚwhenú"tuple[str, int | None, str] | NoneÚlocationúONone | ExceptionInfo[BaseException] | tuple[str, int, str] | str | TerminalReprÚlongreprzlist[tuple[str, str]]ÚsectionsÚstrÚnodeidú&Literal['passed', 'failed', 'skipped']Úoutcomec                ó:   • U R                   R                  U5        g ©N)Ú__dict__Úupdate)ÚselfÚkws     r5   Ú__init__ÚBaseReport.__init__G   s   € Ø�‰×Ñ˜RÕ ó    c                ó   • g rF   © )rI   Úkeys     r5   Ú__getattr__ÚBaseReport.__getattr__L   s   € °rM   c                ód  • [        U S5      (       a-  [        U R                  5      nU(       a  UR                  U5        U R                  nUc  g [        US5      (       a"  [        [        U5      nUR                  U5        g  [        U5      nUR                  U5        g ! [         a    Sn N f = f)Nr1   Ú
toterminalz<unprintable longrepr>)
Úhasattrr6   r1   Úliner?   r   r   rT   rA   ÚUnicodeEncodeError)rI   ÚoutÚworker_infor?   Úlongrepr_terminalr4   s         r5   rT   ÚBaseReport.toterminalN   s—   € Ü�4˜× Ñ Ü+¨D¯I©IÓ6ˆKÞØ—‘˜Ô%à—=‘=ˆØÑØä�8˜\×*Ñ*Ü $¤\°8Ó <ÐØ×(Ñ(¨Õ-ð-Ü˜“M�ð �H‰H�Q�Køô &ó -Ø,’ð-ús   ÂB  Â B/Â.B/c              #  óp   #   • U R                    H"  u  p#UR                  U5      (       d  M  X4v •  M$     g 7frF   )r@   Ú
startswith)rI   ÚprefixÚnameÚcontents       r5   Úget_sectionsÚBaseReport.get_sectionsb   s,   é € Ø!Ÿ]œ]‰MˆDØ�‰˜v×&Ó&Ø�oÔ%ò +ùs   ‚&6¬
6c                óœ   • [        5       n[        U5      nSUl        U R                  U5        UR	                  5       nUR                  5       $ )zgRead-only property that returns the full string representation of
``longrepr``.

.. versionadded:: 3.0
F)r   r   Ú	hasmarkuprT   ÚgetvalueÚstrip)rI   ÚfileÚtwÚexcs       r5   ÚlongreprtextÚBaseReport.longreprtextg   s?   € ô ‹zˆÜ˜DÓ!ˆØˆŒØ�‰˜ÔØ�m‰m‹oˆØ�y‰y‹{ÐrM   c                óP   • SR                  S U R                  S5       5       5      $ )zOReturn captured log lines, if log capturing is enabled.

.. versionadded:: 3.5
Ú
c              3  ó*   #   • U  H	  u  pUv •  M     g 7frF   rO   ©Ú.0r^   r`   s      r5   Ú	<genexpr>Ú$BaseReport.caplog.<locals>.<genexpr>{   s   é € ð 
Ú-NÑ)˜�GÒ-Nùó   ‚zCaptured log©Újoinra   ©rI   s    r5   ÚcaplogÚBaseReport.caplogu   s-   € ð �y‰yñ 
Ø-1×->Ñ->¸~Ô-Nó
ó 
ð 	
rM   c                óP   • SR                  S U R                  S5       5       5      $ )zRReturn captured text from stdout, if capturing is enabled.

.. versionadded:: 3.0
Ú c              3  ó*   #   • U  H	  u  pUv •  M     g 7frF   rO   ro   s      r5   rq   Ú'BaseReport.capstdout.<locals>.<genexpr>…   ó   é € ð 
Ú-QÑ)˜�GÒ-Qùrs   zCaptured stdoutrt   rv   s    r5   Ú	capstdoutÚBaseReport.capstdout   ó.   € ð �w‰wñ 
Ø-1×->Ñ->Ð?PÔ-Qó
ó 
ð 	
rM   c                óP   • SR                  S U R                  S5       5       5      $ )zRReturn captured text from stderr, if capturing is enabled.

.. versionadded:: 3.0
rz   c              3  ó*   #   • U  H	  u  pUv •  M     g 7frF   rO   ro   s      r5   rq   Ú'BaseReport.capstderr.<locals>.<genexpr>�   r}   rs   zCaptured stderrrt   rv   s    r5   Ú	capstderrÚBaseReport.capstderr‰   r€   rM   c                ó    • U R                   S:H  $ )zWhether the outcome is passed.Úpassed©rD   rv   s    r5   r‡   ÚBaseReport.passed“   ó   € ð �|‰|˜xÑ'Ð'rM   c                ó    • U R                   S:H  $ )zWhether the outcome is failed.Úfailedrˆ   rv   s    r5   rŒ   ÚBaseReport.failed˜   rŠ   rM   c                ó    • U R                   S:H  $ )zWhether the outcome is skipped.Úskippedrˆ   rv   s    r5   r�   ÚBaseReport.skipped�   s   € ð �|‰|˜yÑ(Ð(rM   c                ó>   • U R                   R                  S5      S   $ )z3The path portion of the reported node, as a string.z::r   )rB   Úsplitrv   s    r5   ÚfspathÚBaseReport.fspath¢   s   € ð �{‰{× Ñ  Ó& qÑ)Ð)rM   c                ó   • g)a  **Experimental** Whether this report should be counted towards the
totals shown at the end of the test session: "1 passed, 1 failure, etc".

.. note::

    This function is considered **experimental**, so beware that it is subject to changes
    even in patch releases.
TrO   rv   s    r5   Úcount_towards_summaryÚ BaseReport.count_towards_summary§   s   € ð rM   c                ó@   • U R                   b  U R                   u  pnU$ g)ab  **Experimental** The head line shown with longrepr output for this
report, more commonly during traceback representation during
failures::

    ________ Test.foo ________


In the example above, the head_line is "Test.foo".

.. note::

    This function is considered **experimental**, so beware that it is subject to changes
    even in patch releases.
N)r=   )rI   Ú_fspathÚ_linenoÚdomains       r5   Ú	head_lineÚBaseReport.head_line³   s$   € ð  �=‰=Ñ$Ø'+§}¡}Ñ$ˆG˜fØˆMØrM   c                ó6  • UR                   R                  XS9u  p4n[        U[        5      (       a  XR4$ [        U[        5      (       a@  [        U5      S:X  a1  Uu  pg[        U[        5      (       a  [        U[        5      (       a  Xg4$ [        SU< S35        g )N)ÚreportÚconfigé   zSpytest_report_teststatus() hook (from a plugin) returned an invalid verbose value: z8.
Expected either a string or a tuple of (word, markup).)ÚhookÚpytest_report_teststatusÚ
isinstancerA   r   Úlenr   r!   )rI   r    Údefault_markupÚ	_categoryÚ_shortÚverboseÚwordÚmarkups           r5   Ú_get_verbose_word_with_markupÚ(BaseReport._get_verbose_word_with_markupÈ   sš   € ð &,§[¡[×%IÑ%IØð &Jð &
Ñ"ˆ	˜7ô �gœs×#Ñ#ØÐ*Ð*ä�gœx×(Ñ(¬S°«\¸QÓ->Ø"‰LˆDÜ˜$¤×$Ñ$¬°F¼G×)DÑ)DØ�|Ð#äð)Ø)0©ð 4,ð,õ	
rM   c                ó   • [        U 5      $ )z¾Return the contents of this report as a dict of builtin entries,
suitable for serialization.

This was originally the serialize_report() function from xdist (ca03269).

Experimental method.
)Ú_report_to_jsonrv   s    r5   Ú_to_jsonÚBaseReport._to_jsonÝ   s   € ô ˜tÓ$Ð$rM   c                ó(   • [        U5      nU " S0 UD6$ )zòCreate either a TestReport or CollectReport, depending on the calling class.

It is the callers responsibility to know which class to pass here.

This was originally the serialize_report() function from xdist (ca03269).

Experimental method.
rO   )Ú_report_kwargs_from_json)ÚclsÚ
reportdictÚkwargss      r5   Ú
_from_jsonÚBaseReport._from_jsonç   s   € ô *¨*Ó5ˆÙ‰}�V‰}ÐrM   rO   N)rJ   r
   ÚreturnÚNone)rP   rA   r¹   r
   ©rX   r   r¹   rº   )r^   rA   r¹   zIterator[tuple[str, str]]©r¹   rA   )r¹   Úbool)r¹   r:   )r    r   r¦   zMapping[str, bool]r¹   ztuple[str, Mapping[str, bool]])r¹   údict[str, Any])rµ   zdict[str, object]r¹   r&   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__rK   r   rQ   rT   ra   Úpropertyrj   rw   r~   r„   r‡   rŒ   r�   r“   r–   rœ   r¬   r°   Úclassmethodr·   Ú__static_attributes__rO   rM   r5   r8   r8   =   s>  ‡ Ø
ÓØ0Ó0àWóð $Ó#ØƒKØ3Ó3ô!ö ä3ôô(&ð
 óó ðð ó
ó ð
ð ó
ó ð
ð ó
ó ð
ð ó(ó ð(ð ó(ó ð(ð ó)ó ð)ð ó*ó ð*ð ó	ó ð	ð óó ðð(
Øð
Ø.@ð
à	'ô
ô*%ð ó
ó ó
rM   r8   c                óÔ   • Sn[        5       n[        SUS9  [        SU  3US9  [        SU 3US9  [        X$S9  [        SU 3US9  [        SUS9  [        UR                  5       5      e)Nz+https://github.com/pytest-dev/pytest/issueszd----------------------------------------------------------------------------------------------------)Ústreamz,INTERNALERROR: Unknown entry type returned: zreport_name: zPlease report this bug at )r   r	   ÚRuntimeErrorre   )Ú	type_nameÚreport_classrµ   ÚurlrÈ   s        r5   Ú_report_unserialization_failurerÍ   õ   ss   € ð 8€CÜ‹Z€FÜ
ˆ9˜VÒ$Ü
Ð9¸)¸ÐEÈfÒUÜ
ˆ]˜<˜.Ð)°&Ò9Ü
ˆ:Ò%Ü
Ð'¨ uÐ-°fÒ=Ü
ˆ9˜VÒ$Ü
�v—‘Ó(Ó
)Ð)rM   c                óž   • UR                   S:X  a  U R                  U5      nU$ U R                  X R                  R	                  SS5      S9nU$ )NÚcallÚtbstyleÚauto)Ústyle)r;   Úrepr_failureÚ_repr_failure_pyr    Ú	getoption)ÚitemrÏ   Úexcinfor?   s       r5   Ú_format_failed_longreprrØ     sY   € ð ‡y�y�FÓØ×$Ñ$ WÓ-ˆð €Oð ×(Ñ(ØŸ;™;×0Ñ0°¸FÓCð )ð 
ˆð €OrM   c                óˆ  • UR                  5       nUc   S5       e[        S UR                  R                   5       5      (       a8  U R	                  5       S S u  p4Uc   e[
        R                  " U5      US-   4nSnO-[        UR                  5      UR                  4nUR                  n/ nUR                  R                   HZ  n[        USS 5      =(       d"    UR                  (       a  UR                  S   OS n	U	(       d  MB  X—;  d  MI  UR                  U	5        M\     U(       a  SR                  U5      OUn
/ UQU
P7nU$ )	Nú=There should always be a traceback entry for skipping a test.c              3  ó<   #   • U  H  n[        US S5      v •  M     g7f)Ú_use_item_locationFN)Úgetattr)rp   r"   s     r5   rq   Ú?_format_exception_group_all_skipped_longrepr.<locals>.<genexpr>  s!   é € ð Ú?W°tŒ�Ð*¨E×2Ð2Ò?Wùs   ‚r¡   é   r�   Úmsgr   z; )Ú_getreprcrashÚallÚvalueÚ
exceptionsÚ
reportinfoÚosr“   rA   ÚpathÚlinenoÚmessagerÝ   ÚargsÚappendru   )rÖ   r×   Úrrç   rV   ÚlocÚdefault_msgÚmsgsÚ	exceptionÚmÚreasonr?   s               r5   Ú,_format_exception_group_all_skipped_longreprró     s)  € ð 	×ÑÓ€AØ‰=ð ØGóˆ=ô ñ Ø?F¿}¹}×?WÒ?Wó÷ ñ ð —_‘_Ó& r¨Ð*‰
ˆØÑÐÐÜ�yŠy˜‹  q¡Ð)ˆØ‰ä�1—6‘6‹{˜AŸH™HÐ%ˆØ—i‘iˆð €DØ—]‘]×-Ô-ˆ	Ü�I˜u dÓ+÷ 
Ø!*§§ˆI�N‰N˜1Ò°Tð 	
÷ ˆ1�•Ø�K‰K˜ŽNñ .ö !%ˆT�Y‰Y�tŒ_¨+€FØ�ˆ~�f‰~€HØ€OrM   c                  óŒ   • \ rS rSr% SrSrS\S'        S                       SS jjrSS jr\	SS	 j5       r
S
rg)Ú
TestReporti1  z�Basic test report object (also used for setup and teardown calls if
they fail).

Reports can contain arbitrary extra attributes.
FrA   ÚwasxfailNc                óø   • Xl         X l        X0l        X@l        XPl        X`l        [        U=(       d    / 5      U l        [        U5      U l        X€l	        X�l
        X l        U R                  R                  U5        g rF   )rB   r=   ÚkeywordsrD   r?   r;   ÚlistÚuser_propertiesr@   ÚdurationÚstartÚstoprG   rH   )rI   rB   r=   rø   rD   r?   r;   r@   rû   rü   rý   rú   Úextras                r5   rK   ÚTestReport.__init__>  sr   € ð( Œð 6>Œð ,4Œð Œð !Œð ;?Œ	ô  $ O×$9°rÓ:ˆÔô ˜X›ˆŒð  (Œð "Œ
àŒ	à�‰×Ñ˜UÕ#rM   c           	     óŠ   • SU R                   R                   SU R                  < SU R                  < SU R                  < S3	$ )NÚ<Ú z when=ú	 outcome=Ú>)Ú	__class__r¿   rB   r;   rD   rv   s    r5   Ú__repr__ÚTestReport.__repr__|  s?   € Ø�4—>‘>×*Ñ*Ð+¨1¨T¯[©[©O¸6À$Ç)Á)ÁÈiÐX\×XdÑXdÑWgÐghÐiÐirM   c                ó¦  • UR                   nUS:w  d   eUR                  nUR                  nUR                  nUR                   Vs0 s H  owS_M     nnUR
                  n	/ n
UR
                  (       d  SnSnGOv[        U	[        5      (       d  SnU	nGO[[        U	R                  [        R                  5      (       a¥  SnU	R                  5       nUc   S5       eU	R                  R                  (       aA  UR                  5       SS u  pïUc   e[        R                  " U5      US-   UR                   4nOº[#        UR$                  5      UR&                  UR                   4nO�[        U	R                  [(        5      (       a`  U	R                  R+                  [        R                  5      S   c3  Sn[-        [        [(        [.        [(        -        U	5      n	[1        X5      nOSn[3        XU	5      nUR4                   H   u  nnnU
R7                  S	U S
U 3U45        M"     U " UR8                  UR:                  UUUUU
UUUUR<                  S9$ s  snf )zsCreate and fill a TestReport with standard item and call info.

:param item: The item.
:param call: The call info.
Úcollectrß   r‡   NrŒ   r�   rÚ   r¡   z	Captured r  )rú   )r;   rû   rü   rý   rø   r×   r¤   r   rã   r"   Ú	Exceptionrá   rÜ   rå   ræ   r“   ré   rA   rç   rè   r%   r’   r   ÚBaseExceptionró   rØ   Ú_report_sectionsrë   rB   r=   rú   )r´   rÖ   rÏ   r;   rû   rü   rý   Úxrø   r×   r@   rD   r?   rì   rç   rV   ÚrwhenrP   r`   s                      r5   Úfrom_item_and_callÚTestReport.from_item_and_call  s"  € ð �y‰yˆà�yÓ Ð Ð Ø—=‘=ˆØ—
‘
ˆØ�y‰yˆØ"&§-¢-Ó0¢-˜Q�q’D¡-ˆÐ0Ø—,‘,ˆØˆØ�|�|Ø>FˆGð ò ô ˜g¤}×5Ñ5Ø"�Ø"’Ü˜GŸM™M¬4¯>©>×:Ñ:Ø#�Ø×)Ñ)Ó+�Ø‘}ð ØSó�}ð —=‘=×3×3Ø!%§¡Ó!2°2°AÐ!6‘J�DØÑ+Ð+Ð+Ü "§	¢	¨$£°¸±¸1¿9¹9ÐE‘Hä # A§F¡F£¨Q¯X©X°q·y±yÐA‘HÜ˜GŸM™MÔ+=×>Ñ>Ø—‘×#Ñ#¤D§N¡NÓ3°AÑ6Ñ>ð $�ÜÜ!Ü*¬=Ô;MÑ+MÑNñð ó	�ô HÈÓV‘à"�Ü2°4¸wÓG�Ø#'×#8Ô#8ÑˆE�3˜Ø�O‰O˜y¨¨¨Q¨u¨gÐ6¸Ð@ÖAñ $9áØ�K‰KØ�M‰MØØØØØØØØØ ×0Ñ0ñ
ð 	
ùò[ 1s   ÁI)rû   rø   r=   r?   rB   rD   r@   rü   rý   rú   r;   )rO   r   r   r   N)rB   rA   r=   ztuple[str, int | None, str]rø   zMapping[str, Any]rD   rC   r?   r>   r;   z$Literal['setup', 'call', 'teardown']r@   úIterable[tuple[str, str]]rû   Úfloatrü   r  rý   r  rú   z#Iterable[tuple[str, object]] | Noner¹   rº   r¼   )rÖ   r    rÏ   úCallInfo[None]r¹   rõ   )r¿   rÀ   rÁ   rÂ   Ú__doc__Ú__test__rÃ   rK   r  rÅ   r  rÆ   rO   rM   r5   rõ   rõ   1  s¾   ‡ ñð €Hð ƒMð /1ØØØØ?Cð!<$àð<$ð .ð<$ð $ð	<$ð
 8ð<$ðð<$ð 3ð<$ð ,ð<$ð ð<$ð ð<$ð ð<$ð  =ð!<$ð$ 
õ%<$ô|jð óE
ó óE
rM   rõ   c                  ód   • \ rS rSrSrSr S	           S
S jjr\  SS j5       rSS jr	Sr
g)ÚCollectReportiÈ  zKCollection report object.

Reports can contain arbitrary extra attributes.
r	  c                óž   • Xl         X l        X0l        U=(       d    / U l        [	        U5      U l        U R                  R                  U5        g rF   )rB   rD   r?   Úresultrù   r@   rG   rH   )rI   rB   rD   r?   r  r@   rþ   s          r5   rK   ÚCollectReport.__init__Ñ  sC   € ð Œð Œð !Œð —l ˆŒô ˜X›ˆŒà�‰×Ñ˜UÕ#rM   c                ó4   • U R                   S U R                   4$ rF   )r“   rv   s    r5   r=   ÚCollectReport.locationò  s   € ð —‘˜T 4§;¡;Ð/Ð/rM   c                ól   • SU R                   < S[        U R                  5       SU R                  < S3$ )Nz<CollectReport z lenresult=r  r  )rB   r¥   r  rD   rv   s    r5   r  ÚCollectReport.__repr__ø  s4   € Ø  §¡¡¨{¼3¸t¿{¹{Ó;KÐ:LÈIÐVZ×VbÑVbÑUeÐefÐgÐgrM   )r?   rB   rD   r  r@   N)rO   )rB   rA   rD   rC   r?   r>   r  zlist[Item | Collector] | Noner@   r  r¹   rº   )r¹   r<   r¼   )r¿   rÀ   rÁ   rÂ   r  r;   rK   rÄ   r=   r  rÆ   rO   rM   r5   r  r  È  su   † ñð
 €Dð /1ð$àð$ð 8ð$ðð	$ð .ð$ð ,ð$ð 
õ$ðB ð0à	+ó0ó ð0÷
hrM   r  c                  ó(   • \ rS rSrSS jrSS jrSrg)ÚCollectErrorRepriü  c                ó   • Xl         g rF   ©r?   )rI   rà   s     r5   rK   ÚCollectErrorRepr.__init__ý  s   € Ø�rM   c                ó8   • UR                  U R                  SS9  g )NT)Úred)rV   r?   )rI   rX   s     r5   rT   ÚCollectErrorRepr.toterminal   s   € Ø�‰�—‘ DˆÒ)rM   r"  N)rà   rA   r¹   rº   r»   )r¿   rÀ   rÁ   rÂ   rK   rT   rÆ   rO   rM   r5   r   r   ü  s   † ô÷*rM   r   c                ó’   • [        U [        [        -  5      (       a+  U R                  5       nU R                  R
                  US'   U$ g )Nú$report_type)r¤   rõ   r  r°   r  r¿   )rŸ   Údatas     r5   Úpytest_report_to_serializabler*    s@   € ô �&œ*¤}Ñ4×5Ñ5Ø�‰Ó ˆØ%×/Ñ/×8Ñ8ˆˆ^ÑØˆàrM   c                óº   • SU ;   aU  U S   S:X  a  [         R                  U 5      $ U S   S:X  a  [        R                  U 5      $  SR                  U S   5      5       eg )Nr(  rõ   r  z(Unknown report_type unserialize data: {})rõ   r·   r  r0   )r)  s    r5   Úpytest_report_from_serializabler,    so   € ð ˜ÓØ�Ñ <Ó/Ü×(Ñ(¨Ó.Ð.Ø�.Ñ! _Ó4Ü ×+Ñ+¨DÓ1Ð1ð	
Ð@×GÑGØ�Ñ ó
ó 	
ˆuð rM   c                ó4  ^^^•     SS jmSU4S jjm    SS jmSUU4S jjnU R                   R                  5       n[        U R                  S5      (       a[  [        U R                  S5      (       a'  [        U R                  S5      (       a  U" U 5      US'   O([	        U R                  5      US'   OU R                  US'   U HL  n[        X#   [        R                  5      (       a  [        R                  " X#   5      X#'   M@  US	:X  d  MH  S
X#'   MN     U$ )z¨Return the contents of this report as a dict of builtin entries,
suitable for serialization.

This was originally the serialize_report() function from xdist (ca03269).
c                óê   • [         R                  " U 5      nUR                  5        H0  u  p#[        US5      (       d  M  [         R                  " U5      X'   M2     [	        U 5      R
                  US.nU$ )NrG   )Útyper)  )ÚdataclassesÚasdictÚitemsrU   r/  r¿   )Úentryr)  rP   rã   Ú
entry_datas        r5   Úserialize_repr_entryÚ-_report_to_json.<locals>.serialize_repr_entry$  sa   € ô ×!Ò! %Ó(ˆØŸ*™*ž,‰JˆCÜ�u˜j×)Ó)Ü'×.Ò.¨uÓ5�“	ñ 'ô # 5›k×2Ñ2¸DÑAˆ
ØÐrM   Úreprtracebackc                óŠ   >• [         R                  " U 5      nU R                   Vs/ s H  nT" U5      PM     snUS'   U$ s  snf )NÚreprentries)r0  r1  r9  )r7  r  r  r5  s      €r5   Úserialize_repr_tracebackÚ1_report_to_json.<locals>.serialize_repr_traceback.  sJ   ø€ Ü×#Ò# MÓ2ˆà-:×-FÒ-Fó!
Ú-F¨Ñ  Ö#Ñ-Fñ!
ˆˆ}Ñð ˆùò!
s   ¦A Ú	reprcrashc                ó6   • U b  [         R                  " U 5      $ g rF   )r0  r1  )r<  s    r5   Úserialize_repr_crashÚ-_report_to_json.<locals>.serialize_repr_crash5  s   € ð Ñ Ü×%Ò% iÓ0Ð0àrM   c                ón  >• U R                   c   e[        [        U R                   5      nT" UR                  5      T" UR                  5      UR
                  S.n[        U[        5      (       a@  / US'   UR                   H)  u  p4nUS   R                  T" U5      T" U5      U45        M+     U$ S US'   U$ )N)r<  r7  r@   Úchain)
r?   r   r   r<  r7  r@   r¤   r   rA  rë   )Úrepr?   r  Úrepr_tracebackÚ
repr_crashÚdescriptionr>  r:  s         €€r5   Úserialize_exception_longreprÚ5_report_to_json.<locals>.serialize_exception_longrepr=  s½   ø€ Ø�|‰|Ñ'Ð'Ð'äœ s§|¡|Ó4ˆá-¨h×.@Ñ.@ÓAÙ5°h×6LÑ6LÓMØ ×)Ñ)ñ"
ˆô
 �hÔ 2×3Ñ3Ø ˆF�7‰OØ;C¿>¼>Ñ7�¨KØ�w‘×&Ñ&á0°Ó@Ù,¨ZÓ8Ø#ðöñ <Jð ˆð #ˆF�7‰OØˆrM   rT   r?   r  N)r3  zReprEntry | ReprEntryNativer¹   r¾   )r7  r   r¹   r¾   )r<  zReprFileLocation | Noner¹   údict[str, Any] | None)rB  r8   r¹   r¾   )	rG   ÚcopyrU   r?   rA   r¤   ræ   ÚPathLiker“   )rŸ   rF  r2   r_   r>  r5  r:  s       @@@r5   r¯   r¯     sû   ú€ ðØ*ðà	ô÷ðØ*ðà	ô÷ð ð. 	�‰×ÑÓ€AÜˆv�‰ ×-Ñ-Ü�6—?‘? O×4Ñ4¼Ø�O‰O˜[÷:
ñ :
ñ 9¸Ó@ˆAˆjŠMä §¡Ó0ˆAˆjŠMàŸ™ˆˆ*‰ÛˆÜ�a‘gœrŸ{™{×+Ñ+Ü—i’i ¡Ó(ˆA‹GØ�XÕØˆA‹Gñ	 ð
 €HrM   c                ó�  ^ ^• U 4S jmU4S jnS
S jnT S   (       a¨  ST S   ;   aŸ  ST S   ;   a–  U" T S   S   5      nU" T S   S   5      nT S   S   (       a@  / nT S   S    H&  u  pgnUR                  U" U5      U" U5      U45        M(     [        U5      n	O
[        UUS9n	T S   S	    H  n
U	R                  " U
6   M     U	T S'   T $ )z¡Return **kwargs that can be used to construct a TestReport or
CollectReport instance.

This was originally the serialize_report() function from xdist (ca03269).
c                óB  >• U S   nU S   nUS:X  af  S nS nS nUS   (       a  [        S0 US   D6nUS   (       a  [        S0 US   D6nUS   (       a  [        US   S   5      n[        US   UUUUS   S	9nU$ US
:X  a  [	        US   5      nU$ [        U[        T5        W$ )Nr)  r/  r   ÚreprfuncargsÚreprfilelocÚ
reprlocalsÚlinesrÒ   )rP  rM  rO  rN  rÒ   r   rO   )r   r   r   r   r   rÍ   rõ   )r4  r)  Ú
entry_typerM  rN  rO  Ú	reprentryrµ   s          €r5   Údeserialize_repr_entryÚ8_report_kwargs_from_json.<locals>.deserialize_repr_entrym  sÜ   ø€ Ø˜&Ñ!ˆØ Ñ'ˆ
Ø˜Ó$ØˆLØˆKØˆJØ�N×#Ü+ÑC¨d°>Ñ.BÑC�Ø�M×"Ü.ÑE°°mÑ1DÑE�Ø�L×!Ü'¨¨\Ñ(:¸7Ñ(CÓD�
ä5>Ø˜7‘mØ)Ø%Ø'Ø˜7‘mñ6ˆIð Ðð	 Ð,Ó,Ü'¨¨W©Ó6ˆIð Ðô ,¨J¼
ÀJÔOØÐrM   c                ób   >• U S    Vs/ s H  nT" U5      PM     snU S'   [        S0 U D6$ s  snf )Nr9  rO   r   )Úrepr_traceback_dictr  rS  s     €r5   Údeserialize_repr_tracebackÚ<_report_kwargs_from_json.<locals>.deserialize_repr_tracebackˆ  sD   ø€ à/BÀ=Ò/Qó.
Ú/Q¨!Ñ" 1Ö%Ñ/Qñ.
Ð˜MÑ*ô Ñ3Ð2Ñ3Ð3ùò.
s   ‰,c                ó    • U b  [        S0 U D6$ g )NrO   r   )Úrepr_crash_dicts    r5   Údeserialize_repr_crashÚ8_report_kwargs_from_json.<locals>.deserialize_repr_crashŽ  s   € ØÑ&Ü#Ñ6 oÑ6Ð6àrM   r?   r<  r7  rA  )r7  r<  r@   )rZ  rH  )rë   r   r   Ú
addsection)rµ   rW  r[  r7  r<  rA  Úrepr_traceback_dataÚrepr_crash_datarE  Úexception_infoÚsectionrS  s   `          @r5   r³   r³   f  s  ù€ õõ64ôð 	�:×Ø˜: jÑ1Ó1Ø˜z¨*Ñ5Ó5á2Ø�zÑ" ?Ñ3ó
ˆñ +¨:°jÑ+AÀ+Ñ+NÓOˆ	Ø�jÑ! '×*ØˆEØEOØñFàôFÑAÐ#°kð —‘á2Ð3FÓGÙ.¨Ó?Ø#ðöñFô FXØóF‰Nô /Ø+Ø#ñˆNð
 " *Ñ-¨jÔ9ˆGØ×%Ò% wÓ/ñ :à!/ˆ
�:ÑàÐrM   )rÊ   rA   rË   ztype[BaseReport]r¹   r   )rÖ   r    rÏ   r  r×   zExceptionInfo[BaseException])rÖ   r    r×   zEExceptionInfo[BaseExceptionGroup[BaseException | BaseExceptionGroup]]r¹   ztuple[str, int, str])rŸ   zCollectReport | TestReportr¹   rH  )r)  r¾   r¹   z!CollectReport | TestReport | None)rŸ   r8   r¹   r¾   )rµ   r¾   r¹   r¾   )=Ú
__future__r   Úcollections.abcr   r   r   r   r0  Úior   ræ   r	   ÚsysÚtypingr
   r   r   r   r   r   Ú_pytest._code.coder   r   r   r   r   r   r   r   r   r   r   Ú_pytest._ior   Ú_pytest.configr   Ú_pytest.nodesr   r    Ú_pytest.outcomesr!   r"   r)   Úexceptiongroupr%   Útyping_extensionsr&   Ú_pytest.runnerr'   r6   r8   rÍ   rØ   ró   rõ   r  r   r*  r,  r¯   r³   rO   rM   r5   Ú<module>ro     sc  ðå "å $Ý $Ý #Ý $Û Ý Û 	Ý Û 
Ý Ý Ý Ý Ý Ý  å 1Ý ,Ý ,Ý (Ý .Ý 0Ý /Ý +Ý )Ý ,Ý +Ý &Ý !Ý #Ý Ý !Ý !ð ×Ñ�gÓÝ1ö Ý&å'ò	÷uñ uðp*Øð*Ø"2ð*àô*ð
Ø
ð
Ø$ð
Ø/Kô
ðØ
ðàRðð ôôBT
�ô T
ðn ô0h�Jó 0hó ð0hôf*�|ô *ðØ&ðàôðØ
ðà&ôôFõRPrM   