+
    öÙ†jF  ã                   ó^  € ^ RI HtHt ^ RIHt ^ RIt^ RIt^ RIt^ RI	t	^ RI
5 ^ RI
HtHt R t ! R R4      t ! R	 R
4      tR t] ! R R4      4       t] ! R R]4      4       tR t ! R R4      t ! R R]4      tR t ! R R4      t ! R R]4      t ! R R]4      t ! R R4      tR tR# )é    )ÚSequenceÚIterable)Útotal_orderingN)Ú*)Ú_get_object_tracebackÚ_get_tracesc                 ó  € R Fz  p\        V 4      ^d8  d(   VR 8w  d!   V'       d   RW3,          u # RW3,          u # \        V 4      R	8  g   VR8X  d!   V'       d   RW3,          u # RW3,          u # V R,          p K|  	  R# )
ÚBÚTiBz%+.1f %sz%.1f %si   z%+.0f %sz%.0f %sN)r
   ÚKiBÚMiBÚGiBr   i (  )Úabs)ÚsizeÚsignÚunits   && Ú"/usr/lib/python3.14/tracemalloc.pyÚ_format_sizer      sr   € Û1ˆÜˆt‹9�sŒ?˜t sœ{çØ! T LÕ0Ò0à  D <Õ/Ò/Üˆt‹9�yÔ  D¨E¤MçØ! T LÕ0Ò0à  D <Õ/Ò/Ø��Šó 2ó    c                   óL   a € ] tR t^t o RtR
tR tR tR tR t	R t
R tRtV tR	# )Ú	StatisticzK
Statistic difference on memory allocations between two Snapshot instance.
c                ó*   € Wn         W n        W0n        R # ©N©Ú	tracebackr   Úcount)Úselfr   r   r   s   &&&&r   Ú__init__ÚStatistic.__init__%   s   € Ø"ŒØŒ	ØŽ
r   c                óZ   € \        V P                  V P                  V P                  34      # r   )Úhashr   r   r   ©r   s   &r   Ú__hash__ÚStatistic.__hash__*   s    € Ü�T—^‘^ T§Y¡Y°·
±
Ð;Ó<Ð<r   c                óð   € \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  # r   )Ú
isinstancer   ÚNotImplementedr   r   r   ©r   Úothers   &&r   Ú__eq__ÚStatistic.__eq__-   s^   € Ü˜%¤×+Ò+Ü!Ð!Ø—‘ %§/¡/Ñ1÷ .ð .Ø—I‘I §¡Ñ+÷.ð .à—J‘J %§+¡+Ñ-ð	/r   c                ó   € R V P                   \        V P                  R4      V P                  3,          pV P                  '       d8   V P                  V P                  ,          pVR\        VR4      ,          ,          pV# )z%s: size=%s, count=%iFú, average=%s)r   r   r   r   ©r   ÚtextÚaverages   &  r   Ú__str__ÚStatistic.__str__4   se   € Ø'Ø—N‘NÜ  §¡¨EÓ2Ø—J‘Jð õ ˆð �:�:ˆ:Ø—i‘i $§*¡*Õ,ˆGØ�N¤\°'¸5Ó%AÕAÕAˆDØˆr   c                óV   € R V P                   V P                  V P                  3,          # )z)<Statistic traceback=%r size=%i count=%i>r   r"   s   &r   Ú__repr__ÚStatistic.__repr__>   s%   € Ø;Ø—>‘> 4§9¡9¨d¯j©jÐ9õ:ð 	;r   c                óH   € V P                   V P                  V P                  3# r   )r   r   r   r"   s   &r   Ú	_sort_keyÚStatistic._sort_keyB   s   € Ø—	‘	˜4Ÿ:™: t§~¡~Ð6Ð6r   )r   r   r   Nr   ©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   r#   r*   r1   r4   r7   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s4   ø‡ € ñð /€Iòò
=ò/òò;÷7ð 7r   r   c                   óL   a € ] tR t^Ft o RtR
tR tR tR tR t	R t
R tRtV tR	# )ÚStatisticDiffzX
Statistic difference on memory allocations between an old and a new
Snapshot instance.
c                óB   € Wn         W n        W0n        W@n        WPn        R # r   ©r   r   Ú	size_diffr   Ú
count_diff)r   r   r   rH   r   rI   s   &&&&&&r   r   ÚStatisticDiff.__init__M   s   € Ø"ŒØŒ	Ø"ŒØŒ
Ø$Žr   c                ó†   € \        V P                  V P                  V P                  V P                  V P
                  34      # r   )r!   r   r   rH   r   rI   r"   s   &r   r#   ÚStatisticDiff.__hash__T   s3   € Ü�T—^‘^ T§Y¡Y°·±Ø—Z‘Z §¡ð2ó 3ð 	3r   c                ót  € \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d}    V P                  VP                  8H  ;'       d\    V P
                  VP
                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r   )r&   rE   r'   r   r   rH   r   rI   r(   s   &&r   r*   ÚStatisticDiff.__eq__X   s˜   € Ü˜%¤×/Ò/Ü!Ð!Ø—‘ %§/¡/Ñ1÷ 8ð 8Ø—I‘I §¡Ñ+÷8ð 8à—N‘N e§o¡oÑ5÷8ð 8ð —J‘J %§+¡+Ñ-÷8ð 8ð —O‘O u×'7Ñ'7Ñ7ð		9r   c                ó@  € R V P                   \        V P                  R4      \        V P                  R4      V P                  V P
                  3,          pV P                  '       d8   V P                  V P                  ,          pVR\        VR4      ,          ,          pV# )z %s: size=%s (%s), count=%i (%+i)FTr-   )r   r   r   rH   r   rI   r.   s   &  r   r1   ÚStatisticDiff.__str__a   sz   € Ø2Ø—>‘>Ü §	¡	¨5Ó1Ü §¡°Ó5Ø—:‘:Ø—?‘?ð	$õ$ˆð �:�:ˆ:Ø—i‘i $§*¡*Õ,ˆGØ�N¤\°'¸5Ó%AÕAÕAˆDØˆr   c                ó‚   € R V P                   V P                  V P                  V P                  V P                  3,          # )z9<StatisticDiff traceback=%r size=%i (%+i) count=%i (%+i)>rG   r"   s   &r   r4   ÚStatisticDiff.__repr__m   s4   € ØKØ—>‘> 4§9¡9¨d¯n©nØ—:‘:˜tŸ™ð0õ0ð 	1r   c                ó˜   € \        V P                  4      V P                  \        V P                  4      V P                  V P
                  3# r   )r   rH   r   rI   r   r   r"   s   &r   r7   ÚStatisticDiff._sort_keyr   s7   € Ü�D—N‘NÓ# T§Y¡YÜ�D—O‘OÓ$ d§j¡jØ—‘ð ð 	 r   )r   rI   r   rH   r   NrG   r9   rB   s   @r   rE   rE   F   s5   ø‡ € ñð J€Iò%ò3ò9ò
ò1÷
 ð  r   rE   c           	      óJ  € . pVP                  4        F½  w  r4V P                  VR 4      pVe[   \        VVP                  VP                  VP                  ,
          VP                  VP                  VP                  ,
          4      pM7\        VVP                  VP                  VP                  VP                  4      pVP                  V4       K¿  	  V P                  4        F;  w  r4\        V^ VP                  ) ^ VP                  ) 4      pVP                  V4       K=  	  V# r   )ÚitemsÚpoprE   r   r   Úappend)Ú	old_groupÚ	new_groupÚ
statisticsr   ÚstatÚpreviouss   &&    r   Ú_compare_grouped_statsr^   x   sê   € Ø€JØ$Ÿ?™?Ö,‰ˆ	Ø—=‘= ¨DÓ1ˆØÒÜ  Ø!%§¡¨D¯I©I¸¿¹Õ,EØ!%§¡¨T¯Z©Z¸(¿.¹.Õ-HóJ‰Dô ! Ø!%§¡¨D¯I©IØ!%§¡¨T¯Z©Zó9ˆDð 	×Ñ˜$Öñ -ð %Ÿ?™?Ö,‰ˆ	Ü˜Y¨¨D¯I©I¨:°q¸4¿:¹:¸+ÓFˆØ×Ñ˜$Öñ -ð Ðr   c                   ól   a € ] tR t^Œt o RtR
tR t]R 4       t]R 4       t	R t
R tR tR tR	 tR
tV tR# )ÚFramez
Frame of a traceback.
c                ó   € Wn         R # r   ©Ú_frame©r   Úframes   &&r   r   ÚFrame.__init__“   s   € àŽr   c                ó(   € V P                   ^ ,          # ©r   rb   r"   s   &r   ÚfilenameÚFrame.filename—   ó   € à�{‰{˜1�~Ðr   c                ó(   € V P                   ^,          # ©é   rb   r"   s   &r   ÚlinenoÚFrame.lineno›   rk   r   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8H  # r   ©r&   r`   r'   rc   r(   s   &&r   r*   ÚFrame.__eq__Ÿ   ó(   € Ü˜%¤×'Ò'Ü!Ð!Ø—‘˜uŸ|™|Ñ+Ð,r   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8  # r   rr   r(   s   &&r   Ú__lt__ÚFrame.__lt__¤   s(   € Ü˜%¤×'Ò'Ü!Ð!Ø—‘˜eŸl™lÑ*Ð+r   c                ó,   € \        V P                  4      # r   )r!   rc   r"   s   &r   r#   ÚFrame.__hash__©   ó   € Ü�D—K‘KÓ Ð r   c                ó<   € V P                   : R V P                  : 2# )Ú:©ri   ro   r"   s   &r   r1   ÚFrame.__str__¬   s   € ØŸ-œ-¨¯«Ð5Ð5r   c                ó@   € R V P                   : RV P                  : R2# )z<Frame filename=z lineno=Ú>r}   r"   s   &r   r4   ÚFrame.__repr__¯   s   � Ø26·-´-ÀÇÄÐMÐMr   rb   N)r:   r;   r<   r=   r>   r?   r   Úpropertyri   ro   r*   rv   r#   r1   r4   r@   rA   rB   s   @r   r`   r`   Œ   s^   ø‡ € ñð €Iòð ñó ðð ñó ðò-ò
,ò
!ò6÷Nð Nr   r`   c                   ó|   a € ] tR t^³t o RtRtRR lt]R 4       tR t	R t
R tR tR	 tR
 tR tR tRR ltRtV tR# )Ú	TracebackzT
Sequence of Frame instances sorted from the oldest frame
to the most recent frame.
Nc                óp   € \         P                  ! V 4       \        \        V4      4      V n        W n        R # r   )r   r   ÚtupleÚreversedÚ_framesÚ_total_nframe)r   ÚframesÚtotal_nframes   &&&r   r   ÚTraceback.__init__»   s)   € Ü×Ò˜$Ôô
 œX fÓ-Ó.ˆŒØ)Ör   c                ó   € V P                   # r   )r‰   r"   s   &r   r‹   ÚTraceback.total_nframeÄ   s   € à×!Ñ!Ð!r   c                ó,   € \        V P                  4      # r   )Úlenrˆ   r"   s   &r   Ú__len__ÚTraceback.__len__È   ó   € Ü�4—<‘<Ó Ð r   c                ó  € \        V\        4      '       dO   \        ;QJ d%    . R  V P                  V,           4       F  NK  	  5# ! R  V P                  V,           4       4      # \	        V P                  V,          4      # )c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   )r`   ©Ú.0Útraces   & r   Ú	<genexpr>Ú(Traceback.__getitem__.<locals>.<genexpr>Í   ó   é € ÐGÑ3F¨%œ˜uŸ˜Ó3Fùó   ‚)r&   Úslicer†   rˆ   r`   ©r   Úindexs   &&r   Ú__getitem__ÚTraceback.__getitem__Ë   óW   € Ü�eœU×#Ò#ß”5ÑG°4·<±<ÀÖ3FÓG—5ÐG�5ÑG°4·<±<ÀÖ3FÓGÓGÐGä˜Ÿ™ eÕ,Ó-Ð-r   c                ó4   € VP                   V P                  9   # r   )rc   rˆ   rd   s   &&r   Ú__contains__ÚTraceback.__contains__Ñ   ó   € Ø�|‰|˜tŸ|™|Ñ+Ð+r   c                ó,   € \        V P                  4      # r   )r!   rˆ   r"   s   &r   r#   ÚTraceback.__hash__Ô   s   € Ü�D—L‘LÓ!Ð!r   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8H  # r   ©r&   r„   r'   rˆ   r(   s   &&r   r*   ÚTraceback.__eq__×   s(   € Ü˜%¤×+Ò+Ü!Ð!Ø—‘ §¡Ñ-Ð.r   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8  # r   rª   r(   s   &&r   rv   ÚTraceback.__lt__Ü   s(   € Ü˜%¤×+Ò+Ü!Ð!Ø—‘˜uŸ}™}Ñ,Ð-r   c                ó&   € \        V ^ ,          4      # rh   )Ústrr"   s   &r   r1   ÚTraceback.__str__á   s   € Ü�4˜•7‹|Ðr   c                ó‚   € R \        V 4       2pV P                  f   VR,          pV# VRV P                   R2,          pV# )z<Traceback r€   z total_nframe=)r†   r‰   r‹   )r   Úss   & r   r4   ÚTraceback.__repr__ä   sO   € Øœ% ›+˜Ð'ˆØ×ÑÒ%Ø��HˆAð ˆð �> $×"3Ñ"3Ð!4°AÐ6Õ6ˆAØˆr   c                ó„  € . pVe   V^ 8”  d   W) R  pMV R V pMT pV'       d   \        V4      pV F‹  pVP                  RVP                  : RVP                  : 24       \        P
                  ! VP                  VP                  4      P                  4       pV'       g   Ks  VP                  RV,          4       K�  	  V# )Nz  File "z", line z    %s)r‡   rX   ri   ro   Ú	linecacheÚgetlineÚstrip)r   ÚlimitÚmost_recent_firstÚlinesÚframe_slicere   Úlines   &&&    r   ÚformatÚTraceback.formatì   s£   € ØˆØÒØ�qŒyØ" 6 7˜m‘à" 6 E˜l‘àˆKçÜ" ;Ó/ˆKÛ ˆEØ�LŠLØ!ŸNœN¨E¯L«Lð:ô ;ä×$Ò$ U§^¡^°U·\±\ÓB×HÑHÓJˆDß‰tØ—‘˜X¨�_Ö-ñ !ð ˆr   )rˆ   r‰   r   )NF)r:   r;   r<   r=   r>   r?   r   r‚   r‹   r‘   r    r¤   r#   r*   rv   r1   r4   r½   r@   rA   rB   s   @r   r„   r„   ³   s\   ø‡ € ñð -€Iô*ð ñ"ó ð"ò!ò.ò,ò"ò/ò
.ò
ò÷ò r   r„   c                ó:   € \        V 4      pVe   \        V4      # R# )zÕ
Get the traceback where the Python object *obj* was allocated.
Return a Traceback instance.

Return None if the tracemalloc module is not tracing memory allocations or
did not trace the allocation of the object.
N)r   r„   )ÚobjrŠ   s   & r   Úget_object_tracebackrÁ     s"   € ô # 3Ó'€FØÒÜ˜Ó Ð ár   c                   óv   a € ] tR tRt o RtRtR t]R 4       t]R 4       t	]R 4       t
R tR tR	 tR
 tRtV tR# )ÚTracei  z
Trace of a memory block.
c                ó   € Wn         R # r   ©Ú_trace©r   r˜   s   &&r   r   ÚTrace.__init__  s	   € ð Žr   c                ó(   € V P                   ^ ,          # rh   rÅ   r"   s   &r   ÚdomainÚTrace.domain  rk   r   c                ó(   € V P                   ^,          # rm   rÅ   r"   s   &r   r   Ú
Trace.size  rk   r   c                ó6   € \        V P                  R ,          !  # ):é   NN)r„   rÆ   r"   s   &r   r   ÚTrace.traceback#  s   € ä˜$Ÿ+™+ b�/Ñ*Ð*r   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8H  # r   )r&   rÃ   r'   rÆ   r(   s   &&r   r*   ÚTrace.__eq__'  rt   r   c                ó,   € \        V P                  4      # r   )r!   rÆ   r"   s   &r   r#   ÚTrace.__hash__,  rz   r   c                óP   € V P                   : R \        V P                  R4      : 2# )z: F)r   r   r   r"   s   &r   r1   ÚTrace.__str__/  s   € ØŸ>œ>¬<¸¿	¹	À5Õ+IÐJÐJr   c                óp   € R V P                   : R\        V P                  R4      : RV P                  : R2# )z<Trace domain=z size=Fz, traceback=r€   )rÊ   r   r   r   r"   s   &r   r4   ÚTrace.__repr__2  s(   � à—;”;¤¨T¯Y©Y¸Ö >ÀÇÄðPð 	Qr   rÅ   N)r:   r;   r<   r=   r>   r?   r   r‚   rÊ   r   r   r*   r#   r1   r4   r@   rA   rB   s   @r   rÃ   rÃ     sn   ø‡ € ñð €Iòð
 ñó ðð ñó ðð ñ+ó ð+ò-ò
!òK÷Qð Qr   rÃ   c                   óD   a € ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
Ú_Tracesi7  c                ó>   € \         P                  ! V 4       Wn        R # r   )r   r   Ú_traces)r   Útracess   &&r   r   Ú_Traces.__init__8  s   € Ü×Ò˜$ÔàŽr   c                ó,   € \        V P                  4      # r   )r�   rÜ   r"   s   &r   r‘   Ú_Traces.__len__=  r“   r   c                ó  € \        V\        4      '       dO   \        ;QJ d%    . R  V P                  V,           4       F  NK  	  5# ! R  V P                  V,           4       4      # \	        V P                  V,          4      # )c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   )rÃ   r–   s   & r   r™   Ú&_Traces.__getitem__.<locals>.<genexpr>B  r›   rœ   )r&   r�   r†   rÜ   rÃ   rž   s   &&r   r    Ú_Traces.__getitem__@  r¢   r   c                ó4   € VP                   V P                  9   # r   )rÆ   rÜ   rÇ   s   &&r   r¤   Ú_Traces.__contains__F  r¦   r   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8H  # r   )r&   rÚ   r'   rÜ   r(   s   &&r   r*   Ú_Traces.__eq__I  s(   € Ü˜%¤×)Ò)Ü!Ð!Ø—‘ §¡Ñ-Ð.r   c                ó&   € R \        V 4      ,          # )z<Traces len=%s>)r�   r"   s   &r   r4   Ú_Traces.__repr__N  s   € Ø ¤3 t£9Õ,Ð,r   )rÜ   N)r:   r;   r<   r=   r   r‘   r    r¤   r*   r4   r@   rA   rB   s   @r   rÚ   rÚ   7  s(   ø‡ € òò
!ò.ò,ò/÷
-ð -r   rÚ   c                 ó|   € \         P                  P                  V 4      p V P                  R 4      '       d   V RR p V # )z.pycNéÿÿÿÿ)ÚosÚpathÚnormcaseÚendswith)ri   s   &r   Ú_normalize_filenamerñ   R  s7   € Ü�w‰w×Ñ Ó)€HØ×Ñ˜× Ò Ø˜C˜R�=ˆØ€Or   c                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú
BaseFilteriY  c                ó   € Wn         R # r   ©Ú	inclusive)r   rö   s   &&r   r   ÚBaseFilter.__init__Z  s   € Ø"Žr   c                ó   € \         hr   )ÚNotImplementedErrorrÇ   s   &&r   Ú_matchÚBaseFilter._match]  s   € Ü!Ð!r   rõ   N)r:   r;   r<   r=   r   rú   r@   rA   rB   s   @r   ró   ró   Y  s   ø‡ € ò#÷"ð "r   ró   c                   ó^   a a€ ] tR tRt oR	V 3R llt]R 4       tR tR tR t	R t
RtVtV ;t# )
ÚFilteria  c                óv   <€ \         SV `  V4       Wn        \        V4      V n        W0n        W@n        WPn        R # r   )Úsuperr   rö   rñ   Ú_filename_patternro   Ú
all_framesrÊ   )r   rö   Úfilename_patternro   r  rÊ   Ú	__class__s   &&&&&&€r   r   ÚFilter.__init__b  s2   ø€ ä‰Ñ˜Ô#Ø"ŒÜ!4Ð5EÓ!FˆÔØŒØ$ŒØŽr   c                ó   € V P                   # r   )r   r"   s   &r   r  ÚFilter.filename_patternk  s   € à×%Ñ%Ð%r   c                ó¤   € \        V4      p\        P                  ! WP                  4      '       g   R # V P                  f   R# W P                  8H  # )FT)rñ   Úfnmatchr   ro   ©r   ri   ro   s   &&&r   Ú_match_frame_implÚFilter._match_frame_implo  s>   € Ü& xÓ0ˆÜ�Š˜x×)?Ñ)?×@Ò@ÙØ�;‰;ÒÙàŸk™kÑ)Ð*r   c                óP   € V P                  W4      V P                  '       * ,          # r   )r
  rö   r	  s   &&&r   Ú_match_frameÚFilter._match_framex  s   € Ø×%Ñ% hÓ7¸t¿~¹~Ô;MÕNÐNr   c                ó  a € S P                   '       d^   \        ;QJ d    V 3R  lV 4       F  '       g   K   RM	  RM! V 3R  lV 4       4      '       d   S P                  # S P                  '       * # V^ ,          w  r#S P                  W#4      # )c              3   óJ   <"  € T F  w  rSP                  W4      x € K  	  R # 5ir   )r
  )r—   ri   ro   r   s   &  €r   r™   Ú*Filter._match_traceback.<locals>.<genexpr>}  s)   øé € ð 6Ù+4Ñ'�xð ×)Ñ)¨(×;Ð;Û+4ùs   ƒ #TF)r  Úanyrö   r  )r   r   ri   ro   s   f&  r   Ú_match_tracebackÚFilter._match_traceback{  so   ø€ Ø�?�?ˆ?ß‹sô 6Ù+4ó6�s�sŠsô 6Ù+4ó6÷ 6ò 6à—~‘~Ð%à ŸN™NÔ*Ð+à(¨�|ÑˆHØ×$Ñ$ XÓ6Ð6r   c                óÒ   € Vw  r#rEV P                  V4      pV P                  eC   V P                  '       d   T;'       d    W P                  8H  # T;'       g    W P                  8g  # V# r   )r  rÊ   rö   )r   r˜   rÊ   r   r   r‹   Úress   &&     r   rú   ÚFilter._match†  s^   € Ø05Ñ-ˆ�iØ×#Ñ# IÓ.ˆØ�;‰;Ò"Ø�~�~ˆ~Ø×6Ð6 ¯+©+Ñ 5Ð6à×5Ð5˜v¯©Ñ4Ð5Øˆ
r   )r   r  rÊ   rö   ro   )NFN)r:   r;   r<   r=   r   r‚   r  r
  r  r  rú   r@   rA   Ú__classcell__©r  rC   s   @@r   rý   rý   a  s8   ù‡ € ÷ð ñ&ó ð&ò+òOò	7÷ò r   rý   c                   óH   a a€ ] tR tRt oV 3R lt]R 4       tR tRtVt	V ;t
# )ÚDomainFilteri‘  c                ó2   <€ \         SV `  V4       W n        R # r   )rÿ   r   Ú_domain)r   rö   rÊ   r  s   &&&€r   r   ÚDomainFilter.__init__’  s   ø€ Ü‰Ñ˜Ô#ØŽr   c                ó   € V P                   # r   ©r  r"   s   &r   rÊ   ÚDomainFilter.domain–  s   € à�|‰|Ðr   c                óT   € Vw  r#rEW P                   8H  V P                  '       * ,          # r   )rÊ   rö   )r   r˜   rÊ   r   r   r‹   s   &&    r   rú   ÚDomainFilter._matchš  s%   € Ø05Ñ-ˆ�iØŸ+™+Ñ%¨d¯n©nÔ*<Õ=Ð=r   r   )r:   r;   r<   r=   r   r‚   rÊ   rú   r@   rA   r  r  s   @@r   r  r  ‘  s(   ù‡ € õð ñó ð÷>ò >r   r  c                   óf   a € ] tR tRt o RtR tR t]R 4       tR t	R t
R tRR	 ltRR
 ltRtV tR# )ÚSnapshotiŸ  z:
Snapshot of traces of memory blocks allocated by Python.
c                ó2   € \        V4      V n        W n        R # r   )rÚ   rÝ   Útraceback_limit)r   rÝ   r'  s   &&&r   r   ÚSnapshot.__init__¤  s   € ô ˜f“oˆŒØ.Ör   c                ó²   € \        VR4      ;_uu_ 4       p\        P                  ! W\        P                  4       RRR4       R#   + '       g   i     R# ; i)z!
Write the snapshot into a file.
ÚwbN)ÚopenÚpickleÚdumpÚHIGHEST_PROTOCOL)r   ri   Úfps   && r   r-  ÚSnapshot.dumpª  s6   € ô �(˜D×!Ô! RÜ�KŠK˜¤&×"9Ñ"9Ô:÷ "×!×!Ò!ús   •&AÁA	c                ó”   € \        V R4      ;_uu_ 4       p\        P                  ! V4      uuRRR4       #   + '       g   i     R# ; i)z
Load a snapshot from a file.
ÚrbN)r+  r,  Úload)ri   r/  s   & r   r3  ÚSnapshot.load±  s-   € ô
 �(˜D×!Ô! RÜ—;’;˜r“?÷ "×!×!Ó!ús	   •6¶A	c                ó0  a€ V'       dC   \         ;QJ d    V3R  lV 4       F  '       g   K   RM	  RM! V3R  lV 4       4      '       g   R# V'       dC   \         ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   R# R# )c              3   óF   <"  € T F  pVP                  S4      x € K  	  R # 5ir   ©rú   ©r—   Útrace_filterr˜   s   & €r   r™   Ú)Snapshot._filter_trace.<locals>.<genexpr>»  s&   øé € ð <Ù+:˜<ð $×*Ñ*¨5×1Ð1Û+:ùs   ƒ!TFc              3   óP   <"  € T F  pVP                  S4      '       * x € K  	  R # 5ir   r7  r8  s   & €r   r™   r:  ¿  s)   øé € ð 8Ù'6�|ð $×*Ñ*¨5Ó1×1Ñ1Û'6ùs   ƒ#&)r  )r   Úinclude_filtersÚexclude_filtersr˜   s   &&&fr   Ú_filter_traceÚSnapshot._filter_trace¹  sp   ø€ ßß“3ô <Ù+:ó<—3—3’3ô <Ù+:ó<÷ <ò <áßß‹sô 8Ù'6ó8�s�sŠsô 8Ù'6ó8÷ 8ò 8áÙr   c                ó  € \        V\        4      '       g&   \        R\        V4      P                  ,          4      hV'       d…   . p. pV F9  pVP
                  '       d   VP                  V4       K(  VP                  V4       K;  	  V P                  P                   Uu. uF   pV P                  VVV4      '       g   K  VNK"  	  ppM$V P                  P                  P                  4       p\        W`P                  4      # u upi )zÐ
Create a new Snapshot instance with a filtered traces sequence, filters
is a list of Filter or DomainFilter instances.  If filters is an empty
list, return a new Snapshot instance with a copy of the traces.
z)filters must be a list of filters, not %s)r&   r   Ú	TypeErrorÚtyper:   rö   rX   rÝ   rÜ   r>  Úcopyr%  r'  )r   Úfiltersr<  r=  r9  r˜   Ú
new_tracess   &&     r   Úfilter_tracesÚSnapshot.filter_tracesÄ  så   € ô ˜'¤8×,Ò,ÜÐGÜ" 7›m×4Ñ4õ5ó 6ð 6çØ ˆOØ ˆOÛ '�Ø×)×)Ð)Ø#×*Ñ*¨<Ö8à#×*Ñ*¨<Ö8ñ	 !(ð
 .2¯[©[×-@Ò-@ó 8Ñ-@ EØ!×/Ñ/°Ø0?Ø05÷7÷  ˜%Ñ-@ˆJð 8ˆJð
 Ÿ™×,Ñ,×1Ñ1Ó3ˆJÜ˜
×$8Ñ$8Ó9Ð9ùò8s   ÂDÂ?Dc                óÈ  € VR9  d   \        RV: 24      hV'       d   VR9  d   \        RV,          4      h/ p/ pV'       gi   V P                  P                   FL  pVw  rgr‰ WH,          p
 W:,          pV;P
                  V,          un        V;P                  ^,          un        KN  	  V# V P                  P                   FU  pVw  rgr‰V FG  p WM,          p
 W:,          pV;P
                  V,          un        V;P                  ^,          un        KI  	  KW  	  V#   \         dA    TR 8X  d   TpM$TR8X  d   TR,          pMT^ ,          ^ ,          ^ 33p\	        T4      p
Y¤T&    Lüi ; i  \         d    \        Y§^4      Y:&    EK.  i ; i  \         d*    TR8X  d   T3pMT^ ,          ^ 33p\	        T4      p
Y¤T&    Lçi ; i  \         d    \        Y§^4      Y:&    EK  i ; i)r   ro   zunknown key_type: z/cumulative mode cannot by used with key type %r:Nrn   N)r   ri   ro   )ro   ri   )Ú
ValueErrorrÝ   rÜ   ÚKeyErrorr„   r   r   r   )r   Úkey_typeÚ
cumulativeÚstatsÚ
tracebacksr˜   rÊ   r   Útrace_tracebackr‹   r   rŠ   r\   re   s   &&&           r   Ú	_group_byÚSnapshot._group_byÝ  sí  € ØÐ>Ô>Ý²xÐAÓBÐBß˜(Ð*@Ô@Üð 0Ø2:õ;ó <ð <ð ˆØˆ
ßØŸ™×,Ô,�Ø>CÑ;�˜oð
<Ø *Õ ;�IðEØ Õ+�DØ—I’I Õ%•IØ—J’J !•O—Jñ! -ðN ˆð% Ÿ™×,Ô,�Ø>CÑ;�˜oÛ,�Eð6Ø$.Õ$5˜	ðIØ$Õ/˜ØŸ	š	 TÕ)�	ØŸ
š
 a�Ÿ
ó -ñ -ð$ ˆøôG  ô <Ø ;Ô.Ø!0™Ø! XÔ-Ø!0°Õ!4™à#2°1Õ#5°aÕ#8¸!Ð"<Ð!>˜Ü )¨&Ó 1�IØ2;˜Ó/ð<ûô  ô EÜ'0°À!Ó'D�EÕ$ðEûô $ô 6Ø# xÔ/Ø&+ X™Fà',¨Q¥x° mÐ%5˜FÜ$-¨fÓ$5˜	Ø,5 5Ó)ð6ûô $ô IÜ+4°YÀaÓ+H˜Õ(ðIúsI   Á#DÁ,:E+ÃFÃ:GÄAE(Å'E(Å+F	ÆF	Æ1G Æ?G ÇG!Ç G!c                óœ   € V P                  W4      p\        VP                  4       4      pVP                  R\        P
                  R7       V# )zL
Group statistics by key_type. Return a sorted list of Statistic
instances.
T©ÚreverseÚkey)rP  ÚlistÚvaluesÚsortr   r7   )r   rK  rL  Úgroupedr[   s   &&&  r   r[   ÚSnapshot.statistics  s?   € ð
 —.‘. Ó6ˆÜ˜'Ÿ.™.Ó*Ó+ˆ
Ø�‰ ¬)×*=Ñ*=ˆÔ>ØÐr   c                ó¢   € V P                  W#4      pVP                  W#4      p\        WT4      pVP                  R\        P                  R7       V# )z�
Compute the differences with an old snapshot old_snapshot. Get
statistics as a sorted list of StatisticDiff instances, grouped by
group_by.
TrS  )rP  r^   rX  rE   r7   )r   Úold_snapshotrK  rL  rZ   rY   r[   s   &&&&   r   Ú
compare_toÚSnapshot.compare_to  sH   € ð —N‘N 8Ó8ˆ	Ø ×*Ñ*¨8Ó@ˆ	Ü+¨IÓAˆ
Ø�‰ ¬-×*AÑ*AˆÔBØÐr   )r'  rÝ   N)F)r:   r;   r<   r=   r>   r   r-  Ústaticmethodr3  r>  rF  rP  r[   r]  r@   rA   rB   s   @r   r%  r%  Ÿ  sG   ø‡ € ñò/ò;ð ñ#ó ð#ò	ò:ò21ôf÷
ò 
r   r%  c                 óv   € \        4       '       g   \        R4      h\        4       p \        4       p\	        W4      # )zA
Take a snapshot of traces of memory blocks allocated by Python.
zLthe tracemalloc module must be tracing memory allocations to take a snapshot)Ú
is_tracingÚRuntimeErrorr   Úget_traceback_limitr%  )rÝ   r'  s     r   Útake_snapshotrd  '  s7   € ô �<Š<Üð <ó =ð 	=ä‹]€FÜ)Ó+€OÜ�FÓ,Ð,r   )Úcollections.abcr   r   Ú	functoolsr   r  rµ   Úos.pathrí   r,  Ú_tracemallocr   r   r   r   rE   r^   r`   r„   rÁ   rÃ   rÚ   rñ   ró   rý   r  r%  rd  © r   r   Ú<module>rj     sÓ   ðß .Ý $Û Û Û Û ô ß ;ò÷"%7ñ %7÷P/ ñ / òdð( ÷#Nð #Nó ð#NðL ôJ�ó Jó ðJòZ÷$Qñ $QôN-ˆhô -ò6÷"ñ "ô-ˆZô -ô`>�:ô >÷Eñ EôP	-r   