ó
    Ð]j#K  ã                  ó  • % S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	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JrJrJr  SSKJr  SS	KJrJrJrJr  SS
KJrJr  SSK J!r!J"r"  SSK#J$r$  SSK%J&r&  SSK'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1  \$" \5      r\2" \3" \Rh                  " SS5      5      5      r5\2" \3" \Rh                  " SS5      5      5      r6\7" \SS5      r8\" S\95      r:\\:   r;\" \;\7" \8SS5      5      r<\5(       aG   " S S5      r=\=" \8S5      r8\8c   e\R|                  " \SSSS9r\?" 5       r@S\AS'   S'S jrBS(S jrCS)S jrDO
S'S jrBS)S jrD\ " S  S!5      5       rE " S" S#\,5      rF\RŽ                  " S$S%9S*S& j5       rHg)+zBCallback functions and support for sys.monitoring data collection.é    )ÚannotationsN)ÚCallable)Ú	dataclass)ÚCodeType)ÚAnyÚNewTypeÚOptionalÚcast)Úenv)ÚTBranchTrailsÚalways_jumpsÚbranch_trailsÚbytes_to_lines)Úshort_filenameÚshort_stack)ÚNoSourceÚ	NotPython)Úisolate_module)ÚPythonParser)
ÚAnyCallableÚTFileDispositionÚTLineNoÚTOffsetÚTracerÚTShouldStartContextFnÚTShouldTraceFnÚ
TTraceDataÚTTraceFileDataÚTWarnFnÚCOVERAGE_SYSMON_LOGÚCOVERAGE_SYSMON_STATSÚ
monitoringÚDISABLE_TYPEÚDISABLEc                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚLoggingWrapperé@   z*Wrap a namespace to log all its functions.c                ó   • Xl         X l        g ©N)ÚwrappedÚ	namespace)Úselfr*   r+   s      ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/coverage/sysmon.pyÚ__init__ÚLoggingWrapper.__init__C   s   € Ø"ŒLØ&�Nó    c                ó   ^ ^• SUU 4S jjnU$ )Nc                 óx   >• [        TR                   ST U  U 35        [        TR                  T5      " U 0 UD6$ )NÚ.)Úlogr+   Úgetattrr*   )ÚargsÚkwargsÚnamer,   s     €€r-   Ú_wrappedÚ,LoggingWrapper.__getattr__.<locals>._wrappedH   s>   ø€ Ü�t—~‘~Ð& a¨ v¨d¨V°F°8Ð<Ô=Ü˜tŸ|™|¨TÔ2°DÐC¸FÑCÐCr0   )r6   r   r7   r   Úreturnr   © )r,   r8   r9   s   `` r-   Ú__getattr__ÚLoggingWrapper.__getattr__G   s   ù€ ÷Dð Dð ˆOr0   )r+   r*   N)r*   r   r+   Ústrr;   ÚNone)r8   r?   r;   zCallable[..., Any])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r.   r=   Ú__static_attributes__r<   r0   r-   r&   r&   @   s   † Ù8ô	'÷	r0   r&   zsys.monitoringT)ÚfullÚshort_filenamesÚ	frame_idszset[int]Úseen_threadsc                óî  • [         R                  " 5       n[        [        [        R
                  " 5       R                  5      nX-  S-  S nU[        ;  a1  [        R                  U5        [        SU SU S[        5        35        S H+  n[        USSS	9 n [        U S
U SU  3USS9  SSS5        M-     g! [         a    [        U S
U S[        U 5       3USS9   N5f = f! , (       d  f       Mk  = f)z1Write a message to our detailed debugging log(s).iw–˜ Ú07dzNew thread Ú z:
)z/tmp/foo.outÚazutf-8)ÚencodingÚ:ú: T)ÚfileÚflushN)ÚosÚgetpidr
   ÚintÚ	threadingÚcurrent_threadÚidentrJ   Úaddr4   r   ÚopenÚprintÚUnicodeErrorÚascii)ÚmsgÚpidÚtidÚtslugÚfilenameÚfs         r-   r4   r4   Y   sò   € ô �iŠi‹kˆÜ”3œ	×0Ò0Ó2×8Ñ8Ó9ˆØ‘I Ñ*¨3Ð/ˆØ”lÓ"Ü×Ñ˜SÔ!Ü�+˜c˜U ! E 7¨#¬k«m¨_Ð=Ô>ó
ˆHô �h ¨gÒ6¸!ðNÜ˜S˜E  5 '¨¨C¨5Ð1¸ÀÒF÷ 7Ñ6ò
øô $ó NÜ˜S˜E  5 '¨¬E°#«J¨<Ð8¸qÈÔMðNú÷ 7Ö6ús*   ÂC%ÂB9Â9&C"ÃC%Ã!C"Ã"C%Ã%
C4	c                óÒ   • [        U [        5      (       aH  S[        U 5      S 3SU R                   S3-   S[	        U R
                  5      < SU R                   S3-   $ [        U 5      $ )z)Make a customized repr for logged values.z<code @ú#xz name=Ú,z file=Ú#Ú>)Ú
isinstancer   ÚidÚco_namer   Úco_filenameÚco_firstlinenoÚrepr)Úargs    r-   Úarg_reprrq   q   so   € ä�cœ8×$Ñ$àœ"˜S›' "˜Ð&Ø˜3Ÿ;™;˜- qÐ)ñ*àœ>¨#¯/©/Ó:Ñ=¸Q¸s×?QÑ?QÐ>RÐRSÐTñUðô
 �C‹yÐr0   c                 ó   ^ • SU 4S jjnU$ )z%Decorate a function to log its calls.c                óN   >^ • [         R                  " T 5      SU U4S jj5       nU$ )Nc           	     ót  >•  / n[        TU5       H)  u  p4Uc  M
  UR                  U S[        U5       35        M+     [        [	        U 5      S STR
                   SSR                  U5       S35        T" U /UQ76 nU$ ! [         a­  n[        SUR                  R
                   SU 35         [        S	R                  [        R                  " U5      5      5         [        c   e[        R                  [        R                  R                  S
5        e ! [          a    [        S5         e f = fS nAff = f)NÚ=rf   rP   Ú(z, Ú)z!!rQ   Ú r   z/oops, shutting off events with disabled tool id)ÚzipÚappendrq   r4   rk   rA   ÚjoinÚ	ExceptionÚ	__class__Ú	tracebackÚformat_exceptionÚsys_monitoringÚ
set_eventsÚsysr"   ÚCOVERAGE_IDÚ
ValueError)	r,   r6   Ú
args_reprsr8   rp   ÚretÚexcÚmethodÚnamess	          €€r-   r9   Ú0panopticon.<locals>._decorator.<locals>._wrapped   s*  ø€ ðà!#�JÜ%(¨°Ö%5™	˜Ø™<Ù$Ø"×)Ñ)¨T¨F°!´H¸S³M°?Ð*CÖDñ &6ô œ2˜d›8 B˜- q¨¯©Ð(9¸¸4¿9¹9ÀZÓ;PÐ:QÐQRÐSÔTÙ  Ð-¨Ò-�Cà�JøÜ ó 
Ü˜"˜SŸ]™]×3Ñ3Ð4°B°s°eÐ<Ô=ØÜ˜BŸG™G¤I×$>Ò$>¸sÓ$CÓDÔEðOÜ-Ñ9Ð9Ð9Ü&×1Ñ1´#·.±.×2LÑ2LÈaÔPð øô &ó OäÐMÕNØðOþð
ús=   ƒA<B  Â 
D7Â
AD2Ã7DÄD2ÄD/Ä,D2Ä.D/Ä/D2Ä2D7)r,   r   r6   r   r;   r   )Ú	functoolsÚwraps)rˆ   r9   r‰   s   ` €r-   Ú
_decoratorÚpanopticon.<locals>._decorator~   s%   ù€ Ü�_Š_˜VÓ$÷ó %ðð0 ˆOr0   )rˆ   r   r;   r   r<   ©r‰   r�   s   ` r-   Ú
panopticonr�   {   s   ø€ ÷	ð8 Ðr0   c                ó   • g)zAWrite a message to our detailed debugging log(s), but not really.Nr<   )r_   s    r-   r4   r4   ž   s   � r0   c                 ó   • SS jnU$ )z5Decorate a function to log its calls, but not really.c                ó   • U $ r)   r<   )Úmeths    r-   r�   rŽ   ¤   s   € ØˆKr0   )r”   r   r;   r   r<   r�   s     r-   r�   r�   ¡   s   € ô	ð Ðr0   c                  óL   • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   Srg)ÚCodeInfoéª   z/The information we want about each code object.ÚboolÚtracingzTTraceFileData | NoneÚ	file_datazdict[TOffset, TLineNo] | NoneÚbyte_to_liner   r   zdict[TOffset, TOffset]r   r<   N)rA   rB   rC   rD   rE   Ú__annotations__rF   r<   r0   r-   r–   r–   ª   s&   ‡ á9àƒMØ$Ó$Ø/Ó/ð !Ó ð )Ö(r0   r–   c                  ór  • \ rS rSrSrSS jrSS jr\" 5       SS j5       r\" 5       SS j5       r	\" 5       SS j5       r
SS jrSS	 jrSS
 jr\" SS5      SS j5       r\" SSS5              SS j5       r\" SS5      SS j5       r\" SS5      SS j5       r\" SSS5              SS j5       rSrg)Ú
SysMonitoré¿   zHPython implementation of the raw data tracer for PEP669 implementations.c                ór  • U   SU l         U   U   S U l        S U l        U   U   U   Xl        0 U l        / U l        [        R                  " [        5      U l	        SU l
        [        R                  " 5       U l        S U l        [        (       a)  [         R#                  SR%                  5       S5      U l        SU l        g )NFzHstarts start_tracing returns line_lines line_arcs branches branch_trailsr   )Ú
trace_arcsÚshould_start_contextÚswitch_contextÚmyidÚ
code_infosÚcode_objectsÚcollectionsÚdefaultdictÚsetÚfilename_code_idsÚ	sysmon_onrW   ÚLockÚlockÚstatsÚCOLLECT_STATSÚdictÚfromkeysÚsplitÚ	_activity)r,   Útool_ids     r-   r.   ÚSysMonitor.__init__Ä   s¦   € áØˆŒÙÙð CGˆÔ!ØCGˆÔÙÙáàŒ	ð 02ˆŒð -/ˆÔô 7B×6MÒ6MÌcÓ6RˆÔàˆŒÜ—N’NÓ$ˆŒ	à,0ˆŒ
ßŠ=ÜŸ™ØZ×`Ñ`ÓbØóˆDŒJð
 ˆ�r0   c                ó¬   • [        S U R                  R                  5        5       5      n[        U R                  5      nS[	        U 5      S SU SU S3$ )Nc              3  ó8   #   • U  H  n[        U5      v •  M     g 7fr)   ©Úlen)Ú.0Úvs     r-   Ú	<genexpr>Ú&SysMonitor.__repr__.<locals>.<genexpr>ë   s   é € Ð8Ò%7 ”S˜—V�VÒ%7ùs   ‚z<SysMonitor at rf   rQ   z data points in z files>)ÚsumÚdataÚvaluesr¹   rk   )r,   ÚpointsÚfiless      r-   Ú__repr__ÚSysMonitor.__repr__ê   sN   € ÜÑ8 T§Y¡Y×%5Ñ%5Ô%7Ó8Ó8ˆÜ�D—I‘I“ˆØ ¤ D£¨" ¨R°¨xÐ7GÈÀwÈgÐVÐVr0   c                ó|  • U R                      [        c   e[        R                  U R                  S5        [        R
                  " [        R                  U R                  5      n[        R                  R                  n[        R                  U R                  UR                  5        U" UR                  U R                  5        U R                  (       a”  U" UR                  U R                  5        U" UR                   U R"                  5        [$        R&                  R(                  (       a:  U" UR*                  U R,                  5        U" UR.                  U R,                  5        OU" UR                   U R0                  5        [        R3                  5         SU l        SSS5        g! , (       d  f       g= f)zStart this Tracer.Nzcoverage.pyT)r­   r€   Úuse_tool_idr¤   r‹   ÚpartialÚregister_callbackr‚   r"   Úeventsr�   ÚPY_STARTÚsysmon_py_startr¡   Ú	PY_RETURNÚsysmon_py_returnÚLINEÚsysmon_line_arcsr   Ú
PYBEHAVIORÚbranch_right_leftÚBRANCH_RIGHTÚsysmon_branch_eitherÚBRANCH_LEFTÚsysmon_line_linesÚrestart_eventsr«   )r,   ÚregisterrÉ   s      r-   ÚstartÚSysMonitor.startï   s  € ð �Y‹YÜ!Ñ-Ð-Ð-Ü×&Ñ& t§y¡y°-Ô@Ü ×(Ò(¬×)IÑ)IÈ4Ï9É9ÓUˆHÜ—^‘^×*Ñ*ˆFä×%Ñ% d§i¡i°·±ÔAÙ�V—_‘_ d×&:Ñ&:Ô;Ø��Ù˜×)Ñ)¨4×+@Ñ+@ÔAÙ˜Ÿ™ d×&;Ñ&;Ô<Ü—>‘>×3×3Ù˜V×0Ñ0°$×2KÑ2KÔLÙ˜V×/Ñ/°×1JÑ1JÔKøá˜Ÿ™ d×&<Ñ&<Ô=Ü×)Ñ)Ô+Ø!ˆDŒN÷# �YŽYús   �FF-Æ-
F;c                óz  • U R                      U R                  (       d
   SSS5        g[        c   e[        R                  U R                  S5        SU l        [        R                  U R                  5        SSS5        [        (       a   [        U R                  R                  5       S SS9n[        S U 5       5      nU[        U5      -
  nU(       aI  [        SU S	U S
35        U H0  u  pE[        U5      S:”  d  M  [        [        U5      S SU 35        M2     g[        S5        gg! , (       d  f       Nº= f)zStop this Tracer.Nr   Fc                ó   • [        U S   5      $ )Né   r¸   )Úitems    r-   Ú<lambda>Ú!SysMonitor.stop.<locals>.<lambda>  s   € ¤ T¨!¡W¤r0   T)ÚkeyÚreversec              3  ó<   #   • U  H  u  p[        U5      v •  M     g 7fr)   r¸   )rº   Ú_Úcode_idss      r-   r¼   Ú"SysMonitor.stop.<locals>.<genexpr>  s   é € ÐCºU©k¨aœC ŸM˜MºUùs   ‚z==== Duplicate code objects: z duplicates, z totalrÜ   z>5z
 objects: z!==== Duplicate code objects: none)r­   r«   r€   r�   r¤   Úfree_tool_idÚLOGÚsortedrª   Úitemsr¾   r¹   r4   )r,   ré   Ú	code_objsÚdupesrc   rä   s         r-   ÚstopÚSysMonitor.stop  s  € ð �Y‹YØ—>—>ð ÷	 ˆYô
 "Ñ-Ð-Ð-Ü×%Ñ% d§i¡i°Ô3Ø"ˆDŒNÜ×'Ñ'¨¯	©	Ô2÷ ÷ Š3ÜØ×&Ñ&×,Ñ,Ó.Ù-ØñˆEô
 ÑC¹UÓCÓCˆIØ¤ E£
Ñ*ˆEÞÜÐ3°E°7¸-È	À{ÐRXÐYÔZÛ*/Ñ&�HÜ˜8“} qÕ(Üœs 8›}¨RÐ0°
¸8¸*ÐEÖFò +0ô Ð7Õ8ð ÷ �Yús   �D,©AD,Ä,
D:c                ó$   • U R                  5         g)z+The process has forked, clean up as needed.N)rì   ©r,   s    r-   Ú	post_forkÚSysMonitor.post_fork"  s   € ð 	�	‰	�r0   c                ó   • U R                   $ )zHas there been any activity?©r³   rï   s    r-   ÚactivityÚSysMonitor.activity'  s   € à�~‰~Ðr0   c                ó   • SU l         g)zReset the activity() flag.FNró   rï   s    r-   Úreset_activityÚSysMonitor.reset_activity+  s	   € àˆ�r0   c                ó   • U R                   $ )z+Return a dictionary of statistics, or None.)r®   rï   s    r-   Ú	get_statsÚSysMonitor.get_stats/  s   € à�z‰zÐr0   ÚcodeÚ@c                ó  • SU l         U R                  b  U R                  S==   S-  ss'   UR                  S:X  a  [        $ U R                  R                  [        U5      5      nSnSnUb  UR                  nUR                  nUGcÉ  UR                  nU R                  R                  U5      nUcm  [        R                  " 5       nUb6  [        R                  " 5       R                  n[        (       a  UR                  nU R                  Xh5      nXpR                  U'   UR                   nU(       as  UR"                  n	U	c   eU R%                  5          X�R&                  ;  a  [)        5       U R&                  U	'   U R+                  5         U R&                  U	   n[-        U5      n
OSnSn
[/        UUU
0 0 S9nX0R                  [        U5      '   U R0                  R3                  U5        U(       Gaa  U R                  b  U R                  S==   S-  ss'   [4        R6                  R8                  nU R:                     U R<                  (       a÷  [>        c   eUR@                  URB                  -  URD                  -  nU RF                  (       a<  [H        RJ                  RL                  (       d   eXËRN                  URP                  -  -  n[>        RS                  U RT                  X5        [        (       aP  UR                  S;  a@  U RV                  UR                   S	UR                   3   RY                  [        U5      5        SSS5        [        $ [        $ ! U R+                  5         f = f! , (       d  f       [        $ = f)
z-Handle sys.monitoring.events.PY_START events.TNÚstartsrÜ   Ú__annotate__)r™   rš   r›   r   r   Ústart_tracing>   ú<string>rP   )-r³   r®   rl   r$   r¥   Úgetrk   r™   rš   rm   Úshould_trace_cacheÚinspectÚcurrentframeÚf_backrç   Úshould_traceÚtraceÚsource_filenameÚ	lock_datar¿   r©   Úunlock_datar   r–   r¦   rz   r‚   r"   rÉ   r­   r«   r€   rÌ   Ú	PY_RESUMErÎ   r¡   r   rÐ   rÑ   rÒ   rÔ   Úset_local_eventsr¤   rª   rZ   )r,   rü   Úinstruction_offsetÚ	code_infoÚtracing_coderš   rc   ÚdispÚframeÚ	tracenameÚb2lrÉ   Úlocal_eventss                r-   rË   ÚSysMonitor.sysmon_py_start3  sÜ  € ð ˆŒØ�:‰:Ñ!Ø�J‰J�xÓ  AÑ%Ó à�<‰<˜>Ó)äˆNð —O‘O×'Ñ'¬¨4«Ó1ˆ	Ø$(ˆØ+/ˆ	ØÑ Ø$×,Ñ,ˆLØ!×+Ñ+ˆIàÒØ×'Ñ'ˆHØ×*Ñ*×.Ñ.¨xÓ8ˆDØ‰|Ü×,Ò,Ó.�ØÑ$Ü#×0Ò0Ó2×9Ñ9�Eß’sà %§¡˜Ø×(Ñ(¨Ó9�Ø48×'Ñ'¨Ñ1àŸ:™:ˆLÞØ ×0Ñ0�	Ø Ñ,Ð,Ð,Ø—‘Ô ð'Ø ¯	©	Ó1Ü/2«u˜Ÿ	™	 )Ñ,à×$Ñ$Ô&Ø ŸI™I iÑ0�	Ü$ TÓ*‘à �	Ø�ä Ø$Ø#Ø Ø ØñˆIð )2�O‰OœB˜t›HÑ%Ø×Ñ×$Ñ$ TÔ*çØ—:‘:Ñ)Ø—J‘J˜Ó/°1Ñ4Ó/ÜŸ™×.Ñ.�Ø—Y“YØ—~—~Ü-Ñ9Ð9Ð9Ø'-×'7Ñ'7¸&×:JÑ:JÑ'JÈVÏ[É[Ñ'X˜ØŸ?Ÿ?Ü#&§>¡>×#C×#CÐCÐ#CØ(×,?Ñ,?À&×BTÑBTÑ,TÑT˜LÜ&×7Ñ7¸¿	¹	À4ÔVçš3Ø#×/Ñ/°|ÓCØ $× 6Ñ 6¸$×:JÑ:JÐ9KÈ1ÈTÏ\É\ÈNÐ7[Ñ \× `Ñ `Ü$& t£Hô!"÷ ô ˆŒwˆøðI ×$Ñ$Õ&ú÷* ”Yô ˆús   Å&M È;D	M-ÍM*Í-
N Nc                ó,  • U R                   b  U R                   S==   S-  ss'   U R                  R                  [        U5      5      nUR                  R                  U5      nUb)  XQR
                  * 4nUR                  R                  U5        [        $ )zBHandle sys.monitoring.events.PY_RETURN events for branch coverage.ÚreturnsrÜ   )	r®   r¥   r  rk   r›   rn   rš   rZ   r$   )r,   rü   r  Úretvalr  Ú	last_lineÚarcs          r-   rÍ   ÚSysMonitor.sysmon_py_return‚  sƒ   € ð �:‰:Ñ!Ø�J‰J�yÓ! QÑ&Ó!Ø—O‘O×'Ñ'¬¨4«Ó1ˆ	ð ×*Ñ*×.Ñ.Ð/AÓBˆ	ØÑ Ø×2Ñ2Ð2Ð3ˆCØ×Ñ×#Ñ# CÔ(äˆr0   Úlinec                óô   • U R                   b  U R                   S==   S-  ss'   U R                  R                  [        U5      5      nUb(  UR                  b  UR                  R                  U5        [        $ )z;Handle sys.monitoring.events.LINE events for line coverage.Ú
line_linesrÜ   )r®   r¥   r  rk   rš   rZ   r$   )r,   rü   Úline_numberr  s       r-   rÕ   ÚSysMonitor.sysmon_line_lines–  sf   € ð �:‰:Ñ!Ø�J‰J�|Ó$¨Ñ)Ó$Ø—O‘O×'Ñ'¬¨4«Ó1ˆ	ð Ñ  Y×%8Ñ%8Ñ%DØ×Ñ×#Ñ# KÔ0äˆr0   c                óÂ   • U R                   b  U R                   S==   S-  ss'   U R                  [        U5         nX"4nUR                  R	                  U5        [
        $ )z=Handle sys.monitoring.events.LINE events for branch coverage.Ú	line_arcsrÜ   )r®   r¥   rk   rš   rZ   r$   )r,   rü   r!  r  r  s        r-   rÏ   ÚSysMonitor.sysmon_line_arcs¤  sW   € ð �:‰:Ñ!Ø�J‰J�{Ó# qÑ(Ó#Ø—O‘O¤B t£HÑ-ˆ	ð Ð(ˆØ×Ñ×Ñ Ô$äˆr0   c                ó´  • U R                   b  U R                   S==   S-  ss'   U R                  [        U5         nUR                  (       dW  U R                   b  U R                   S==   S-  ss'   [	        UR
                  5      n[        XS9Ul        [        U5      Ul        SnUR                  R                  U5      nU1nUR                  R                  U5      =n	b3  U	nUR                  U5        UR                  R                  U5      =n	b  M3  UbF  UR                  5        H2  u  p«U
c  M
  X‹-  (       d  M  UR                  R                  U
5        Sn  O   U(       dn  UR                  c   eUR                  R                  U5      nUbA  UR                  R                  U5      nUb#  XÍ:w  a  XÍ4n
UR                  R                  U
5        [        $ )z+Handle BRANCH_RIGHT and BRANCH_LEFT events.ÚbranchesrÜ   r   )Úmultiline_mapFT)r®   r¥   rk   r   Úget_multiline_maprm   r   r  rZ   ré   rš   r›   r$   )r,   rü   r  Údestination_offsetr  r(  Ú	added_arcÚ	dest_infoÚdestsÚdestr  ÚoffsetsÚl1Úl2s                 r-   rÓ   ÚSysMonitor.sysmon_branch_either±  s·  € ð
 �:‰:Ñ!Ø�J‰J�zÓ" aÑ'Ó"Ø—O‘O¤B t£HÑ-ˆ	ð ×&×&Ø�z‰zÑ%Ø—
‘
˜?Ó+¨qÑ0Ó+Ü-¨d×.>Ñ.>Ó?ˆMÜ&3°DÑ&VˆIÔ#Ü%1°$Ó%7ˆIÔ"àˆ	Ø×+Ñ+×/Ñ/Ð0BÓCˆ	ð $Ð$ˆØ ×-Ñ-×1Ñ1Ð2DÓEÐEˆtÑRØ!%ÐØ�I‰IÐ(Ô)ð !×-Ñ-×1Ñ1Ð2DÓEÐEˆtÓRð
 Ñ Ø )§¡Ö 1‘�Ø‘;ÙØ—?‘?Ø×'Ñ'×+Ñ+¨CÔ0à $�IÙñ !2ö à×)Ñ)Ñ5Ð5Ð5Ø×'Ñ'×+Ñ+Ð,>Ó?ˆBØ‰~Ø×+Ñ+×/Ñ/Ð0BÓC�Ø‘> b£hØ˜(�CØ×'Ñ'×+Ñ+¨CÔ0ô ˆr0   )r³   r¥   r¦   rª   r­   r¤   r¢   r®   r£   r«   r¡   )r´   rV   r;   r@   )r;   r?   )r;   r@   )r;   r˜   )r;   zdict[str, int] | None)rü   r   r  r   r;   ÚMonitorReturn)rü   r   r  r   r  Úobjectr;   r3  )rü   r   r!  r   r;   r3  )rü   r   r  r   r*  r   r;   r3  )rA   rB   rC   rD   rE   r.   rÃ   r�   rØ   rì   rð   rô   r÷   rú   rË   rÍ   rÕ   rÏ   rÓ   rF   r<   r0   r-   rž   rž   ¿   s6  † ÙRô$ôLWñ
 ƒ\ó"ó ð"ñ* ƒ\ó9ó ð9ñ8 ƒ\óó ðôôôñ �˜ÓóLó ðLñ\ �˜˜TÓ"ðàðð $ðð ð	ð
 
óó #ðñ& �˜Óóó  ðñ �˜Óó
ó  ð
ñ �˜˜SÓ!ð/Øð/Ø29ð/ØOVð/à	ó/ó "ó/r0   rž   é   )Úmaxsizec                óŒ   •  [        U S9nUR                  5         UR                  $ ! [         a    0 s $ [         a    0 s $ f = f)z2Get a PythonParser for the given filename, cached.)rc   )r   Úparse_sourcer   r   r(  )rc   Úparsers     r-   r)  r)  ä  sP   € ðÜ xÑ0ˆØ×ÑÔð ×ÑÐøô ó ð
 Š	Üó àŠ	ðús   ‚' §AµAÁA)r_   r?   r;   r@   )rp   r   r;   r?   )r‰   z
str | Noner;   r   )rc   r?   r;   zdict[TLineNo, TLineNo])IrE   Ú
__future__r   r§   r‹   r  rT   Úos.pathr‚   rW   r~   Úcollections.abcr   Údataclassesr   Útypesr   Útypingr   r   r	   r
   Úcoverager   Úcoverage.bytecoder   r   r   r   Úcoverage.debugr   r   Úcoverage.exceptionsr   r   Úcoverage.miscr   Úcoverage.parserr   Úcoverage.typesr   r   r   r   r   r   r   r   r   r   r˜   rV   Úgetenvrç   r¯   r5   r€   r4  r#   r3  r$   r&   rÇ   r©   rJ   rœ   r4   rq   r�   r–   rž   Ú	lru_cacher)  r<   r0   r-   Ú<module>rI     s‘  ðò Iå "ã Û Û Û 	Û Û 
Û Û Ý $Ý !Ý ß /Ó /å ß XÓ Xß 6ß 3Ý (Ý (÷÷ ÷ ñ  �BÓ€ñ
 ‰3ˆr�yŠyÐ.°Ó2Ó3Ó4€ñ ‘S˜ŸšÐ#:¸AÓ>Ó?Ó@€ñ ˜˜l¨DÓ1€á�~ vÓ.€Ø˜Ñ&€Ù
ˆ}™g n°iÀÓFÓ
G€ö ÷ñ ñ $ NÐ4DÓE€NØÑ%Ð%Ð%à×#Ò#ØØØØñ	€Kñ !›U€L�(Ó"ôNô0õôFPôð ÷)ð )ó ð)ô(b�ô bðJ	 ×Ò˜RÑ ó ó !ñ r0   