bg@ddlmZGddZGddeZGddeZGdd eZGd d eZGd d ZGddeZ GddeZ GddZ GddeZ GddZ GddeZGddZGddeZGddZGd d!eZGd"d#eZGd$d%ZGd&d'eZGd(d)ZGd*d+eZGd,d-eZGd.d/ZGd0d1eZGd2d3ZGd4d5ZGd6d7eZGd8d9ZGd:d;eZGd<d=Z d>S)?)property_nondataceZdZddZdZdZeeZdZdZ d Z d Z d Z d Z d ZddZddZdZdZdZdZdZdZddZddZdS) ClassifierNFcF||_||_|||_|j|g|_|r|D]}|xj|jzc_n |xj|jjjgzc_|D] }|j rd}n||_ |r|j j |_ dSdSNT) modnamecliImpSet immnodesetsuper_classifiersUseUnity classifierwith_referrersViewcall_with_referrers) selfr r r supersdependsrsds N/opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/heapy/Classifiers.py__init__zClassifier.__init__s ?DH"%!6!6v!>!>  A > >&&!*==&&& >  " "sw}'?&@ @ " "  A !%  -  D'*x'CD $ $ $ D Dc||SNr)rxfs rrzClassifier.call_with_referrers!sqtt rc*|Sr)get_clirs r_get_clizClassifier._get_cli&s||~~rc8|j||Sr)r alt)rkindr&s rget_altzClassifier.get_alt,sx||D#&&&rcdjzjfd}|j|S)N %s.dictofcRjtjSr)r _er_by_ ByDictOwner)r rsrz'Classifier.get_dictof..4s# H  [$(D$ ? ?r)r r mker_memoizedrdictof)rr'err s` @r get_dictofzClassifier.get_dictof0sbTY& X # #  @ @ @ @ @AA }##D)))rc,||Srfamilyrks rget_kindzClassifier.get_kind9s{{1~~rcb|\}}}||urtd|z|S)Nz1get_kindarg: argument with classifier %r expected)get_ckc ValueError)rr'clakacmps r get_kindargzClassifier.get_kindarg=s@||~~ R d??CdJLL L rc6|jjj|jSr)r rreprefixr r#s r get_reprnamezClassifier.get_reprnameEs.. ::rc4||i|}t||fSr)CallableSoKind)rr1argskwdsr7s r get_sokindzClassifier.get_sokindHs( B   b1$'''rc~ddfd|jDS)Nz.sokindc@g|]}d|zS)(%s)get_userkindargrepr.0r7rs r z-Classifier.get_sokindrepr..PsB)@)@)@-.*0$2J2J12M2M)M)@)@)@r)rBjoinkinds)rsokinds` rget_sokindreprzClassifier.get_sokindreprLsn!% 1 1 3 3 3 3 ")@)@)@)@28,)@)@)@!A!A!AB BrrIc*|Sr get_bynamerctxs r get_tabheaderzClassifier.get_tabheaderSs   rc|jSr)briefrr<rYs rget_tabrenderingzClassifier.get_tabrenderingXs yrc|j|i|Srr4)rrErFs r get_userkindzClassifier.get_userkind]st{D)D)))rc|jSrargrr's rget_userkindargzClassifier.get_userkindargas xrcFt||Sr)reprrerds rrMzClassifier.get_userkindargreprdsD((..///rcg}||D]W\}}||}|jj||j}|||fX|S)N)r1) partition_clir8r ridsetr1append)riterableitemsr7vs r partitionzClassifier.partitiongsu&&x00 ! !DAq a  A ""1"11A LL!Q  rc|||jjfdDS)Nc$g|] }||f Srr)rOr7eps rrPz,Classifier.partition_cli..ss!444qBqE 444r)rr epartition get_domain)rarrs @rrizClassifier.partition_cliosG  % % H !!5444BMMOO4444rc|}fd|D}jj|dS)Nc@g|]\}}|Srr8)rOr7rnrs rrPz%Classifier.relimg..ws)000daq!!000r) maximized)rir runion)rXprRs` rrelimgzClassifier.relimgusL   q ! !0000a000x|!!%1!555r==c>|fdS)Nc<j|Sr)r select)rubr>rs rr.z'Classifier.select_cli..}sdhooaC00r)r)rrurr>s` ``r select_clizClassifier.select_clizs2'' 0 0 0 0 0 022 2rcx|jj||j||}|Sr)r rrjrnodes)rr|r7r&rs r select_idszClassifier.select_idss0 HL  tqw3?? @ @r)NrrFrI)rr)__name__ __module__ __qualname__rrr$rr r(r2r8r?rBrGrTrZr^r`rerMrorir~rrrrrrrsrDDDD8   8 $ $C'''***;;;(((BBB!!!!  ***000555 666 2222 rrcBeZdZdZdZdZdZdZeeZ dS)SoKindc|_|j_|_jjjfd|D_dS)NcDg|]}j|Sr)rr?)rOr'rs rrPz#SoKind.__init__..s) A A A4T_ ( ( . . A A Ar)r1rrRr r r clikinds)rr1rRs` rrzSoKind.__init__sV- +2== A A A A5 A A ACC rct|tsdS|j|jkrdS|jjj|j}|jjj|j}||kSNF) isinstancerrr rr{rR)rotherrurs r__eq__z SoKind.__eq__sq%(( 5 ?e. . .5 O  # ) )$* 5 5 O  # ) )%+ 6 6Av rc:tt|Sr)hashrgr#s r__hash__zSoKind.__hash__sDJJrc6|j|Sr)rrTr#s r__repr__zSoKind.__repr__s--d333rc6|j|Sr)r1refdbyr#s r _get_refdbyzSoKind._get_refdbysw~~d###rN) rrrrrrrrpropertyrrrrrrsmCCC   444$$$Xk " "FFFrrceZdZdZdS)rDcd|j|i|}||j|j|fzSr)r1 __class__rR)rrErFr7s r__call__zCallableSoKind.__call__s7 DGT "T " "~~dgtzQD'8999rN)rrrrrrrrDrDs#:::::rrDceZdZdZdS)SoNoKindc6|jjjjdS)Nsonokind)rr rrAr#s rrzSoNoKind.__repr__s,099::FFrN)rrrrrrrrrs(GGGGGrrcPeZdZdZdZdZeeZdZeeZ dS) QuickSoKindrrc"||_||_dSrr)rrrs rrzQuickSoKind.__init__s$  rc|jjSr)rr1r#s r_get_erzQuickSoKind._get_ers !!rcDtfdjDS)NcDg|]}j|Sr)rr8rNs rrPz*QuickSoKind._get_kinds..s)IIIado..q11IIIr)tuplerr#s`r _get_kindszQuickSoKind._get_kindss(IIII4=IIIJJJrN) rrr __slots__rrrr1rrRrrrrrsg)I!!!""" '  BKKK HZ EEErrc8eZdZdZdZdZdZdZdZdZ dS) IdentityFamilycR||jj||_dSr defrefiningrAnythingrrr rs rrzIdentityFamily.__init__& )***$rcl||jur|j|juS|jjduo|jj|kSrfamrcsuperclrrurs r_ge_ATOMzIdentityFamily._ge_ATOMs8 15==5AE> !u}D(?QU]a-??rcX||jur|j|juS|jduo |j|kSrrrs r_le_ATOMzIdentityFamily._le_ATOMs4 15==5AE> !|4'=DLA,==rc||juSrrbrs r c_containszIdentityFamily.c_containsAEzrc\|jj|j|jgzSr)r rrjrrcrs r_and_IDzIdentityFamily._and_IDs%x|!!!'QUG"3444rcJdtt|jzS)Nz)hexidrcrrus r c_get_briefzIdentityFamily.c_get_briefs3r!%yy>>))rcp|jd|j|dSN()rrBrMrs rc_reprzIdentityFamily.c_reprs8?7799994?;^;^_`;a;a;a;abbrN) rrrrrrrrrrrrrrrs%%%@@@ >>> 555***cccccrrc4eZdZdZdZd dZdZdZdZdS) ByIdentityct||||j|t ||_dSr)rrhvcli_idfam_mixin_argatomrr5rr r s rrzByIdentity.__init__sAD#tSV]]__===++NDAA rcdS)Nzobject identityrr#s rrWzByIdentity.get_byname  rrIcdS)NzObject IdentityrrXs rrZzByIdentity.get_tabheaderrrcf||jj|Sr)r8r robj_at)raddresss rr`zByIdentity.get_userkinds&}}TX]11'::;;;rc*t|jSr)rrcrds rrezByIdentity.get_userkindargs$(||rcFt||Sr)rrerds rrMzByIdentity.get_userkindargreprs4''--...rNr) rrrrrWrZr`rerMrrrrrsvBBB !!!!!!!<<</////rrc&eZdZdZdZdZdZdS) ByIdentitySetct||||j|jj|_dSr)rrr cli_idsetrrjr5rs rrzByIdentitySet.__init__s9D#tSV-=-=-?-?@@@gm rcdS)Nzby identity setrr#s rrWzByIdentitySet.get_byname rrch||jj|gSr)r5r r r )rnodes rr`zByIdentitySet.get_userkind s({{48?55tf==>>>rc||}|jjd|D}||S)Ncg|]\}}|Srr)rOr7rns rrPz(ByIdentitySet.relimg..s->->->DAqa->->->r)rir r immnodeset_unionr5)rr|r}r7s rr~zByIdentitySet.relimgsK   q ! ! HO , ,->->A->->-> ? ?{{1~~rN)rrrrrWr`r~rrrrrsP$$$ !!!???rrc>eZdZdZdZdZdZdZdZdZ dZ d S) PyObjectFamilyc||_dSrrrs rrzPyObjectFamily.__init__s $rcdSrrrs rrzPyObjectFamily.c_containstrcdS)NzKind: Name/Value/Addressrrs rc_get_idpart_headerz"PyObjectFamily.c_get_idpart_headers))rcdS)NrIrrs rc_get_idpart_labelz!PyObjectFamily.c_get_idpart_label srrcfd}|S)Ncjj|}|jdd}|S)Nz<1 >)r risor\lstriprstrip)rrrs rrenderz2PyObjectFamily.c_get_idpart_render..render$s@   ##Au%%,,S11AHrr)rrurs` rc_get_idpart_renderz"PyObjectFamily.c_get_idpart_render#s#      rcdS)Nz rrs rrzPyObjectFamily.c_get_brief*s|rc,|jjjdS)Nr)r rrArs rrzPyObjectFamily.c_repr-s.. ;;rc|Srrrs rrzPyObjectFamily._and_ID0s rN) rrrrrrrrrrrrrrrrs%%%***<<<rrc2eZdZdZdZdZd dZdZdZdS) ByUnityzXbyunity Classify by . The classification returned for every object is .ct||||j|g|t ||_dS)N)r)rrrcli_nonerrr5rs rrzByUnity.__init__;sUD#tSV__->->$(6    ++NDAA rcdS)Nunityrr#s rrWzByUnity.get_bynameBswrrIcdS)NzrrXs rrZzByUnity.get_tabheaderErc$|jjjSr)r rrrrEs rr`zByUnity.get_userkindHsx|$$rcdSrrrds rrezByUnity.get_userkindargKrrNr) rrr__doc__rrWrZr`rerrrrr6sq??BBB    %%%rrc>eZdZdZdZdZdZdZdZdZ dZ d S) IndiSizeFamilycR||jj||_dSrrrs rrzIndiSizeFamily.__init__Prrc`t|}|jj||Sr)intr AtomFamilyrrs rrzIndiSizeFamily.__call__Ts( FFx"++D!444rc8|j||Srrr(rrur&s rc_altzIndiSizeFamily.c_altX&&q#...rcR|j|jj|kSr)rcrr classifyrs rrzIndiSizeFamily.c_contains[s"u+44Q7777rc@|j|jSrr summary_strrcrs r c_get_renderzIndiSizeFamily.c_get_render^x##AE***rcd|jzS)Nz rbrs rrzIndiSizeFamily.c_get_briefasqu$$rcd||jfzS)Nz rbrs rc_get_brief_altzIndiSizeFamily.c_get_brief_altdsae ,,rcJ|jd|jdSrrrBrcrs rrzIndiSizeFamily.c_reprgs'?7799991555AArN rrrrrrrrrr!rrrrrrOs%%%555///888+++%%%---BBBBBrrc4eZdZdZdZdZdZd dZd dZdS) ByIndiSizezjbyindisize Classify by . The classification will be individual memory size of the object.c~t||||t||_dSr)rrrrr5rs rrzByIndiSize.__init__ps5D#t,,,++NDAA rcdS)Nzindividual sizerr#s rrWzByIndiSize.get_bynametrrc@|jjiSr)r r cli_indisizer#s rr"zByIndiSize.get_cliwsx{''+++rrIcdS)NzIndividual SizerrXs rrZzByIndiSize.get_tabheaderzrrc.|r d|jzSd|jzS)Nz%dz%9drbr]s rr^zByIndiSize.get_tabrendering}s"  ##'> !37? "rNr) rrrr rrWr"rZr^rrrr&r&ksxDDBBB!!!,,,!!!!######rr&c>eZdZdZdZdZdZdZdZdZ dZ d S) TypeFamilyc||jj||_|||_dSrrrrr fam_Familyrangers rrzTypeFamily.__init__9 )***$^^D)) rcvt|tstd|||S)NzArgument should be a type.)rtype TypeErrorSetrs rrzTypeFamily.__call__s7!T"" :899 9xxa   rc8|j||Srrrs rrzTypeFamily.c_altrrc.t||juSr)r5rcrs rrzTypeFamily.c_containssAww!%rc@|j|jSrrrs rrzTypeFamily.c_get_renderrrcv|jt|j|jSrr rr5rcrs rrzTypeFamily.c_get_brief,0tx##DKK00777rcTddddd|}d|d||dS) Nzstrict subtypesubtype supertypezstrict supertype<<=>=rrBz of rrrrur&rs rr!zTypeFamily.c_get_brief_altsK!#      !qq$"2"21"5"5"5"566rc6|j|Sr)rget_reprrs rrzTypeFamily.c_reprs''***rNr$rrrr.r.s*** !!! ///   +++888777+++++rr.c>eZdZdZdZdZdZdZd dZdZ d Z d S) ByTypezMbytype Classify by . The classification will be the type of the object.ct||||j|t ||_dSr)rrrcli_typerr.r5rs rrzByType.__init__sCD#tSV__->->???++J== rc t|jj|dz}n<#t$r/t|jj|}YnwxYw||SNType)getattrr typesAttributeErrorbuiltinslowerr`)rr tys rget_attr_for_erzByType.get_attr_for_erso :f55BB : : :*DJJLL99BBB :  $$$s 6AAcdS)Nr5rr#s rrWzByType.get_bynamevrc|j}|}||jjvr|d|jj|S|d||dS)N.rr)rcrBr invtypemodre)rr'trns rrHzByType.get_reprsi H     # # # bb$("5a"8"89 9!rr4#7#7#=#=#=#=> >rrIcdSrNrrXs rrZzByType.get_tabheaderrXrc`|j|}||Sr)r tc_adaptr5rds rr`zByType.get_userkinds)x  &&{{4   rcJ|jj|jSr)r rtc_reprrcrds rrezByType.get_userkindargsx|##DH---rNr) rrrr rrVrWrHrZr`rerrrrJrJs66>>>%%%???!!!.....rrJcJeZdZdZdZdZdZdZdZdZ dZ d Z d Z d S) OwnedDictFamilycj||jtdSr) defrefidisrrOdict)rr s rrzOwnedDictFamily.__init__s(  T**+++++rc|jSrrbrs r_get_ownerkindzOwnedDictFamily._get_ownerkinds u rcH||j|Sr)rcr&rs rrzOwnedDictFamily.c_altstAEIIcNN###rc|}|jjjur(jjjjS|fd}|S)Ncjj|jj}d|vrd|ddz}|S)NrZz..)r rrownerstheonesplit)rret ownrenderrs rrz,OwnedDictFamily.c_get_render..rendersQi 0 0 3 3 : ABB#::syy~~b11C r) rir rNothingrODict get_renderfam_TyperQ ModuleTypeModule)rrur=r modrenderrrs` @@rrzOwnedDictFamily.c_get_rendersx   # # % % %8<$)4466 6 I       Mrcj||}||jjjurdSd|jzSNzdict (no owner)zdict of )rir rrsr\rrur=s rrzOwnedDictFamily.c_get_briefs:   # # % % %$$( (rc|j\}}}|dkr0|jd\}}}|jjj}|j|jjjur|j }|||fS)Nrr) rcr:biperr1r0rr rrs notownedtag)rrur<r7r>doclas r c_get_ckczOwnedDictFamily.c_get_ckcswemmoo Q $;;%++a..0022KCC ( 5DHL( ( (!Aa}rc,||SrrErs r c_get_str_forzOwnedDictFamily.c_get_str_fors"""rc|}|jjjur"|j|fd}|Sjjjjj }|j|S)Nchjj|jjSr)r rrrnro)r owner_renderrs rrz3OwnedDictFamily.c_get_idpart_render..render s+#|DHL$4$4Q$7$7$>$EFFFr) rir rrsrr_parentSpecrOrt)rrur=rrrs` @rrz#OwnedDictFamily.c_get_idpart_renders   # # TX\) ) )655b99L G G G G G GM %*/A5,,Q// /rc||}||jjjurdSd|j|zS)NzAddress*LengthzOwner )rir rrsrrr|s rrz#OwnedDictFamily.c_get_idpart_headersH   # # % % %##bf88<<< > !rcZ||jurdS||jur|jjjS|jSr)rrr rrsrcrds rrezByDictOwner.get_userkindarg]s6 4<  4 T' ' '8<' '8Orcv||j}|jj}|j}|jD]T}||}|s'|jj|||}|r|d}|||U|jj |S)Nr) rirr r mutnodesetrrupdate_dictownersaddrrj)rr|r}nsdrgr7r\rns rrnzByDictOwner.ownerses   qw ' ' X_ ' ' ) )n  AAA  --c222F aD=FF1IIIx|!!"%%%rNr) rrrrrWr"r8r?rZr^r`rernrrrr-r-s777 BBB AAA>>>FFFF""" & & & & &rr-cLeZdZdZdZdZdZdZdZd dZ dd Z d Z d Z d S)ByClassOrDictOwnerabyclodo Classify by . The classification is performed as follows: 1. If the object is not a dictionary, the classification will be the type of the object. 2. The object is a dictionary. The referrers of the object are searched to find one that 'owns' the dictionary. That is, typically, that the dict is the __dict__ attribute of the owner. If no such owner is found, the type 'dict' will be the classification. If an owner is found, a special object that indicates the classification of the owner will be returned. The classification of the owner will be done by class. (As byclass.)c|j}|j}||zj}|j}t|||d|g|g||_|j|_|j|_||_dS)Nr rr) rOr0rrrsuprurad)rr r rurrrs rrzByClassOrDictOwner.__init__su H H!e lD#t$'52$  8 8 8rcdS)Nz[dict of] classrr#s rrWzByClassOrDictOwner.get_bynamerrc|jjSr)rr r#s rr"zByClassOrDictOwner.get_clis w{rc|\}}||jjur|j|S|j|Sr)rrrur8)rxxx_todo_changemer=kds rr8zByClassOrDictOwner.get_kindsC$R " " "6??2&& &6??2&& &rc|j|jjur"t}|j|}n&|j|}|jj}||fSr)rrr5rgr?rur)rr'r=rs rr?zByClassOrDictOwner.get_kindargsW 8tv} $ $B##D))BB##D))B"BBxrrIcdS)NzKind (class / dict of class)rrXs rrZz ByClassOrDictOwner.get_tabheaders--rNc |N|L|dkr|jjj}n|j|}|j|S|N|L|j|}|turtd|j |St#t$rtdwxYw)Nrz dictof= dictof=()) r UniSetrsrr`rr`rgr6r8)rr'r0dos rr`zByClassOrDictOwner.get_userkinds | 2R<<0BB..v66Bv**2...!fnx((..4<<#VXXXx((...     sAB)AB)"B))Cc|j|jjurD|j|jjjurd}n$|jj|j}d|zS|jj |S)Nz()z dictof=%s) rrr5rcr rrsrrMr)rr'rs rrMz&ByClassOrDictOwner.get_userkindargreprsk 8tv} $ $x48?222F*>>txHH? "8&::4@@ @rc6|j|Sr)rrn)rr|s rrnzByClassOrDictOwner.ownerssv}}QrrNN) rrrr rrWr"r8r?rZr`rMrnrrrrrus 0 0   !!!'''.....AAA     rrc>eZdZdZdZdZdZdZdZdZ dZ d S) RetClaSetFamilycR||jj||_dSrrrs rrzRetClaSetFamily.__init__rrc`|jjjjj||Sr)rcrr1rr(rs rrzRetClaSetFamily.c_alts&u")4<rrs rrzRetClaSetFamily.c_get_briefs"T%8%8%;%;;;rcTddddd|}d|d||dS) Nz by less thanz by at mostz by at leastz by more thanrAz > ? ? ? ?x))#...rcn|r(|t|j|S|jjSr)r5rrr refdbynothingr6s rr8zByRetClaSet.get_kinds4  *;;{4+CQGGHH H8) )rrIcNd|j|z}|rd|z}|S)NzReferrers by %s{%s})rrZ)rrYths rrZzByRetClaSet.get_tabheaders3 !9!G!G!L!L L  "B rcfd|jjD}|d|}rd|z}n|sd}|S)NcFg|]}j|Sr)rr^)rOrrYrs rrPz0ByRetClaSet.get_tabrendering..!sA,,,&77 s,,,r, rz )rcrRsortrQ)rr<rYrsrs` ` rr^zByRetClaSet.get_tabrendering sv,,,,, W],,,  IIbMM   AA Arcd}g}|D]}t|trW|j|jur*t d|jjd|jjd||j||}n||j |t|dks|3t|j|j j |}n|}||S)NzExpected a SoKind with the z classifier, argument had rZry)rrrrr;r extendrrkr?lenrr r r r5)rrEfirstsokrrcrs rr`zByRetClaSet.get_userkind+s K KC#v&& K~)AAA$*0555+++&-... ---#"H  8 D DS I IJJJJ t99q==H,d6"ho88BBDDCCC{{3rNr) rrrrrWr"rr8rZr^r`rrrrrs   PPP / / /***         rrc8eZdZdZdZdZdZdZdZdZ dS) InRelFamilycR||_||jjdSr)rrrrrs rrzInRelFamily.__init__Gs($ )*****rcrtd|D}td|D}||kS)Ncg|]}|dfSrrrOrs rrPz(InRelFamily._eq_args..P%%%a1b'%%%rcg|]}|dfSrrrs rrPz(InRelFamily._eq_args..Qrr)rgrs r_eq_argszInRelFamily._eq_argsKsE %%1%%% & & %%1%%% & &Av rc||jur ||j|jS|jjduo|jj|kSrrrrcrrs rrzInRelFamily._ge_ATOMTsB 15====.. .u}D(?QU]a-??rc|||jur ||j|jS|jduo |j|kSrrrs rrzInRelFamily._le_ATOMZs> 15====.. .|4'=DLA,==rc8|j||Srrrs rrzInRelFamily.c_alt`rrc>d|j|dzS)Nz)rr^rs rrzInRelFamily.c_get_briefcsDO<?779999?>>qAAAAC CrN) rrrrrrrrrrrrrrrFs+++@@@ >>> ///FFFCCCCCrrcNeZdZdZdZdZdZdZdZd dZ d d Z d Z d Z d S)ByInRelct|||d||_|t||_dSr)rrrrrr5)rr r rs rrzByInRel.__init__lsAD#tDAAA++K>> rc|jjj}|j}||j|j}|dd}|dr |dd}|S)N_F)safery)r rPath rel_tabler'relatorstrar)rrPr\rrs r_rel2strzByInRel._rel2strqsh H  ! K AafIai  FF3UF # # <<   !""Arcjjj}|}fd}|dr?|ddd}t |}||j|}|S|dr |dd}|drN|ddd}djji}t||}||j |}nS|d r|dd}| dd  r||j |}n|d r@|d dd}t|i}||j |}n|d r@|ddd}t|i}||j|}nN|dr>|ddd}t |}||j|}n|dr>|ddd}t |}||j|}nt#d|z|dro|dd}|dr>|ddd}t |}||j|}n$||j|}nt#d|z|S)NcHjjjj|jg|RSr)r rheapycRelationcode)RrErs rmkrelzByInRel._str2rel..mkrels'048='0?$??? ?rzlist(_)[]rry[hprZrz f_locals[ z f_locals [ zkeys()[z__dict__.keys()[zCant make a relation of %r.z->z f_valuestack[ )r rrrrrR_INSETreval R_INDEXVALreplaceisalnum R_ATTRIBUTE R_LOCAL_VARR_CELL R_INDEXKEY R_HASATTR SyntaxErrorR_STACK R_INTERATTR)rrrorgsr rrellocs` r_str2relzByInRel._str2relzsL H  ! @ @ @ @ @ << # # !"" S!!AAA% 1%%CJ <<   !""A <<  $ D!"" S!!A&CQ A% a((CC \\#   D!""Ayyc""**,, HeAM1--k** HabbELL%%BKKeAM1--l++ HbccFMM#&&BKKeAHa((i(( HabbELL%%FFeAL!,,011 HbccFMM#&&FFeAK++!"?$"FGGG \\$   D!""A||O,, .bccFMM#&&FFeAIq))eAM1--;dBCC C rcdS)Nz referred viarr#s rrWzByInRel.get_bynames~rcVi}i}|jj|j||Sr)r r cli_inrelr)rmemokindmemorels rr"zByInRel.get_clis*x{$$TWh@@@rc,||Srr4r6s rr8zByInRel.get_kinds{{1~~rrIc(|sdSd}|dkrd|z}|S)Nz Referred Via:z Referred ViaandrrrrYrs rrZzByInRel.get_tabheaders+ "?Ae||QJHrcF||}|dkrd|z}|S)Nr-rrLrs rr^zByInRel.get_tabrenderings,  $ $T * * %<< ArcFfd|DS)Nc:g|]}|Sr)r%rOrrs rrPz(ByInRel.get_userkind..s%===1dmmA..===rrxr s` rr`zByInRel.get_userkinds*}}=======>>>rc|fd|jD}|d|S)NcTg|]$}t|%Sr)rgrr2s rrPz/ByInRel.get_userkindargrepr..s- 6 6 6T$--"" # # 6 6 6rr)rcrrQ)rr'rus` rrMzByInRel.get_userkindargreprs; 6 6 6 6TX 6 6 6 yy||rNr) rrrrrr%rWr"r8rZr^r`rMrrrrrks??? 444lAAA  ???rrc<eZdZdZdZdZdZdZd dZd dZ d S) AndClassifierc|"ddd|Dz}t|||d||||_dS)NrK & cg|] }|j Srr rs rrPz*AndClassifier.__init__..s'='='=1'='='=rr)rQrrrE)rr r rEs rrzAndClassifier.__init__sa <EJJ'='='='='=>>>DD#t#'  7 7 7 rcPddd|jDzS)Nz<%s>r8c6g|]}|SrrVrs rrPz,AndClassifier.get_byname..s #F#F#FqALLNN#F#F#FrrQrEr#s rrWzAndClassifier.get_bynames* #F#FDI#F#F#FGGGGrc~i}|jjtd|jD|S)Ncg|] }|j Srr rs rrPz)AndClassifier.get_cli..s)C)C)CA!%)C)C)Cr)r rcli_andrrErs rr"zAndClassifier.get_clis:x{""5)C)C)C)C)C#D#DdKKKrcg}t||jD]-\}}|||.|jjj|Sr)ziprErkr8r rfam_And_cons)rr7rkicis rr8zAndClassifier.get_kinds` !TY'' ' 'FB IIbkk"oo & & & &x&,,R000rcPddd|jDzS)NrKr8c6g|]}|Sr)rBrs rrPz.AndClassifier.get_reprname..s"#H#H#HANN$4$4#H#H#Hrr=r#s rrBzAndClassifier.get_reprnames* #H#Hdi#H#H#HIIIIrrIcjddd|jDz}|dkrd|z}|S)Nz%sr8c8g|]}|dS)r-)rZrs rrPz/AndClassifier.get_tabheader..s$III!qu55IIIrr-rKr=r.s rrZzAndClassifier.get_tabheaders@ 5::IItyIIIJJ J %<< Arcg}t|j|jD]0\}}||d}||1d|}|dkrd|z}|S)Nr-r8rK)rCrcrEr^rkrQ)rr<rYssruclrrs rr^zAndClassifier.get_tabrenderingst $),,  EAr##Au--A IIaLLLL JJrNN %<< ArNr) rrrrrWr"r8rBrZr^rrrr6r6sHHHLLL111 JJJ rr6c,eZdZdZdZdZdZdZdS) ModuleFamilyc||jj||_|||_dSrr0rs rrzModuleFamily.__init__r3rc||juSrrbrs rrzModuleFamily.c_containsrrc@|j|jSrrrs rrzModuleFamily.c_get_renderrrcv|jt|j|jSrr<rs rrzModuleFamily.c_get_briefr=rcp|jd|j|dSrrrs rrzModuleFamily.c_repr rrN)rrrrrrrrrrrrPrPsd*** +++888CCCCCrrPc<eZdZdZdZdZdZd dZd dZd Z dS) ByModulectfd}|j|jjjj|jjjj|d}t ||||jjj_ d_ | t_|jj_dS)Nc(xjdz c_|S)Nry)nc)rrs rrz#ByModule.__init__..classifys GGqLGGHrr)rcli_user_definedrrOrr rxrcrr not_modulerZrrPr5rQrw)rr r rr s` rrzByModule.__init__s     f%%cgl&=&A&)gl&9&=&.&*(( D#tS1117<..++L$?? ).rcdS)Nmodulerr#s rrWzByModule.get_byname!xrc>||jS||Sr)r\r5r6s rr8zByModule.get_kind$s 9? ";;q>> !rcF||jurdS|j|jusJ|jSr)r\rr5rcrds rr?zByModule.get_kindarg*s0 4? " "48t{****8OrrIcdS)NrxrrXs rrZzByModule.get_tabheader1r_rNc| ||jS|C |jjjjj|}n?#t $rtd|zwxYw|jj|}t||j stdt|z|&|j |krtd|d|j d||S)Nz(No module %r in View.target.sys.modules.z3The specified object is not of module type, but %r.z"The specified module has not name z but rZ)r\r rtargetsysmodulesKeyErrorr;rrrwr6r5rr5)rr atms rr`zByModule.get_userkind4s EGGG G $$R((A!T_-- QEQOQQ Q   d 2 2*BF$$ SUU U{{1~~s !1Ac||jurdS|j}|j}d|z}|jjjj||ur"|dtt|zz }|S)NrIz%rz, at=%s) r\rcrr _rootrerfgetrr)rr'rir rs rrMzByModule.get_userkindargreprGsn 4? " "2A:Dt Ax~!)--d331<<YRUU++Hrrr) rrrrrWr8r?rZr`rMrrrrWrWs/// """ &     rrWc&eZdZdZdZdZdZdS) AltFamilycb|dvrtd|z||_|xj|gzc_dS)N)rBrCr!=rrDzNo such comparison symbol: %r)r;altcode disjoints)rr rqs rrzAltFamily.__init__Ts? < < <>>:::::rrnc eZdZdZdZdZdS) FindexFamilyc||jj||_|||_dSrr0rs rrzFindexFamily.__init__kr3rcd|jcxkrt|jjksndSd|jj|jj|jfzS)Nrzz%s / %d)rcrrrRr\rs rrzFindexFamily.c_get_briefpsVAE6666C 56666668 5ae < BAEJJ JrcHd|j|jfzS)Nz%s(%d)r#rs rrzFindexFamily.c_reprvs"4?779915AAArN)rrrrrrrrrryryjsI*** KKK BBBBBrryc(eZdZdZdZdZddZdS)ByFindexcd|D|_d|jD}t||||||_|t ||_dS)NcBg|]}|j|Sr)rrrOr7s rrPz%ByFindex.__init__..|s&777AQU__Q''777rcg|] }|d S)rr)rOrvs rrPz%ByFindex.__init__..}s///c3q6///rr)altsrrrRrryr5)rr r rRrs rrzByFindex.__init__{sk77777 //TY///D#tW=== ++L$?? rctd|jD}i}|jj||}|S)Nc*g|]\}}}|j||fSrr@)rOr<r7r>s rrPz$ByFindex.get_cli..s'GGGMS!Ssw3'GGGr)rrr r cli_findex)rrrr s rr"zByFindex.get_clisCGGTYGGGHHhk$$T400 rcd|jS)Nz index of first matching kind of )rRr#s rrWzByFindex.get_bynames7;zzCCrrIcdS)NzFirst Matching Kind / IndexrrXs rrZzByFindex.get_tabheaders,,rNr)rrrrr"rWrZrrrr~r~zs[@@@ DDD------rr~c&eZdZdZdZdZdZdS) ProdFamilyc||jj||_|||_dSrr0rs rrzProdFamily.__init__r3rc8|j||Srrrs rrzProdFamily.c_altrrc(|jdSd|jzS)Nunknownz%s:%drbrs rrzProdFamily.c_get_briefs 5=9QU? "rcp|jd|j|dSrrrs rrzProdFamily.c_reprrrN)rrrrrrrrrrrrsU*** ///### CCCCCrrc4eZdZdZdZdZd dZdZdZdS) ByProdc~t||||t||_dSr)rrrrr5rs rrzByProd.__init__s5D#t,,,++J== rcdS)Nproducerrr#s rrWzByProd.get_bynameszrc|jji}|jj|Sr)r r_check_tracemallocrcli_prodrs rr"zByProd.get_clis5  '')))x{##D)))rrIcdS)NzProducer (line of allocation)rrXs rrZzByProd.get_tabheaders..rcD|r6|r4td||r~t|ddhkr4td|||d|dfSt |dkr|dSt |dkr&|\}t|tr*||df dS|j j |}|j j |\}}t |t|d}}||df d|d|f dz|d||zf dzSt |d kr|\}}|It|ts4td ||It|ts4td ||||fStd |t |) Nz1{}() takes either positional or keyword argumentsfilenamelinenoz6{}() keyword arguments must be "filename" and "lineno"rryrBrDrz&{}() argument 1 must be string or Nonez'{}() argument 2 must be integer or Nonez={}() takes from 0 to 2 positional arguments but {} were given)r6formatrBsetkeysr5rrstrr&r inspect getsourcefilegetsourcelinesmaxr)rrErFrcrlineslnumrs rr`zByProd.get_userkinds  *D *CJJ%%''))** *  C499;;J#999..4f))++/-/-...;;Z 0$x.ABB B t99>>;;t$$ $ YY!^^DC#s## 9{{C;//33C888x'55c::H(*99#>>KE4e**c$ll4E Xt,--11#66 T4L))--d334 T4%<01155c::; <YY!^^# Hf#Jx,E,E#<CC))++--...!*VS*A*A!=DD))++--...;;&122 2$$*F%%''T%4%455 5rc(|jdSd|jzS)NrIz%r, %rrbrds rrMzByProd.get_userkindargreprs 8 2$(""rNr) rrrrrWr"rZr`rMrrrrrst>>>*** ////,5,5,5\#####rrceZdZdZdZdZdZdZdZdZ dZ d Z d Z dd Z d ZdZddZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd S) _GLUECLAMP_) z_parent:ImpSetz _parent:Viewz_parent.View:hvz_parent:UniSetz _parent.UniSet:fam_mixin_argatomz _parent:Usez_root.guppy.etc.etc:str2intz _root:inspectz_root:rez _root:typesz_root:builtinsc.|jj|g|Ri|Sr)rfam_EquivalenceRelation)r constructorrErFs rr,z_GLUECLAMP_._er_by_s'2t{2;NNNNNNNrc<|t|dS)NClodor:)r,rr#s r _get_Clodoz_GLUECLAMP_._get_Clodos||.7|CCCrc<|t|dS)NIdr:)r,rr#s r_get_Idz_GLUECLAMP_._get_Ids||J4|888rc<|t|dS)NIdsetr:)r,rr#s r _get_Idsetz_GLUECLAMP_._get_Idsets||M4g|>>>rc<|t|dS)Nrxr:)r,rWr#s r _get_Modulez_GLUECLAMP_._get_Modules||Hd|:::rc<|t|dS)NProdr:)r,rr#s r _get_Prodz_GLUECLAMP_._get_Prods||FDv|666rc<|t|dS)Nrr:)r,rr#s r _get_Unityz_GLUECLAMP_._get_Unity s||GT|888rc6||jSr) mker_refdbyrr#s r_get_Rcsz_GLUECLAMP_._get_Rcs s +++rct|dkr|jSd|D}d}|jt|||S)Nrcg|] }|j Srr)rOr1s rrPz(_GLUECLAMP_.mker_and..s333r}333r)rrrrr6)rers classifiersr s rmker_andz_GLUECLAMP_.mker_andsM s88q==: 33s333 {22=$kZZZrNc`djjzfdS)Nr*cHtjSr)r,r-rr1r rsrr.z)_GLUECLAMP_.mker_dictof..s LLdD"- @ @rrr r/rr1r s```r mker_dictofz_GLUECLAMP_.mker_dictofs[ <!33D!!  A A A A A ABB BrciSrrr#s r _get_memo_erz_GLUECLAMP_._get_memo_ers rcf|j|}||x|j|<}|Sr)memo_errl)rr r rns rr/z_GLUECLAMP_.mker_memoized"s8 L  T " " 9%&QSS (DL rc`djjzfdS)Nz %s.refdbyc tjjjdjdjjdS)Nz Classify by of referrers. This classifier uses the z classifier to classify the referrers of the object. The classifications of the referrers are collected in a set. This set becomes the classification of the object. )r,rrrrrWr rsrr.z)_GLUECLAMP_.mker_refdby..-s_ LL   ttR] % % ' ' ' '););); = > >rrrs```rrz_GLUECLAMP_.mker_refdby(sR <!33D!!  > > > > > >?? ?rc:|t|dS)NSize)r,r&r#s r _get_Sizez_GLUECLAMP_._get_Size<s||Jf555rc:|t|dSrN)r,rJr#s r _get_Typez_GLUECLAMP_._get_Type?s||FD&111rcT|j}|t|d|jS)NVia)rr,rr)rrs r_get_Viaz_GLUECLAMP_._get_ViaBs-y||    G  rc t|tr|St|tstdd|z}|}|dr|dst ||dd}| d}t|dkrt ||d}| |d}|j |}|d kr&t|dkrt |d}nt|d krt ||d vrt | t|j|d z}n7#t"$r*t|j|}YnwxYwt||std |z|dd kst ||d d}t|dkrt |d|dd} |d} |j| krt d|d|d| d|j| krt d|d|d| d|S)Nz"type, class or basestring expectedzString argument to tc_adapt should be of form '' or '' or ''. I got: %rrBr rrrmrh)r5classrOz%s object expectedryrZzThe z has wrong __module__, expected z has wrong __name__, expected )rr5rr6rendswithr;rrrprstr2intrrrPrQ capitalizerRrSrTrQrr) rr7errrr\addrr'rUnames modulenametcnames rr`z_GLUECLAMP_.tc_adaptJs a   H!S!! B@AA A*-..  S!! "ajjoo "S// ! HHSMM  % % GGCLL q66A::S// ! aD||AbE""y%% 991vv{{ oo%BB1vv{{ oo%))) oo% 7TZ)>??! 7 7 7T]AGGII66 7dB'' : 4q 8999Q44<< oo%aDJJsOOE5zzA~~ oo%%*--J2YF*,, jFGaazzzZ\\\}&& jDEAAtttVVVTVVV s:*F%%1GGc t|trd}ntdd|d|jd|jdt t |d S)Nr5z type expectedrBrrZz at r)rr5r6rrrr)rr7r\s rrbz_GLUECLAMP_.tc_reprsa a   -AAO,, , &'QQ ajjj#bee****MMrc$dddfd}|S)Nc|Srrr7s rr.z&_GLUECLAMP_._get_alt..sArc|Srrrs rr.z&_GLUECLAMP_._get_alt..sQBr)rrpc|}| t|}||<||Sr)rlrrn)r'r>rualtmemors rr&z!_GLUECLAMP_._get_alt..altsD C  Ay**9c::  1T77Nrr)rr&rs` @r_get_altz_GLUECLAMP_._get_alts?+,           rc,||Sr)findexrds rr~z_GLUECLAMP_.bipers{{4   rc6|tSr)rrdr#s r _get_dictofz_GLUECLAMP_._get_dictofs%%o666rc@||jjSr)r0rrsr#s r_get_dictofnothingz_GLUECLAMP_._get_dictofnothings{{48+,,,rci}t|jjjD]'\}}|dr |dd||<(|S)NrO)rurQ_module__dict__rmr)rr[r7rns r_get_invtypemodz_GLUECLAMP_._get_invtypemodsb +4::<<== ' 'DAqzz&!! ' !#2# 1 rc&|jjjSr)rrOrtr#s r _get_notdictz_GLUECLAMP_._get_notdicts """rc ||t|ddd|Dz|S)Nz findex(%s)rc,g|]}t|Sr)rgrs rrPz&_GLUECLAMP_.findex..s%=%=%=!d1gg%=%=%=r)r,r~rQ)rrRs rrz_GLUECLAMP_.findexsD||   499%=%=u%=%=%=>> >     rc|jjSr)rrr#s r_get_refdbynothingz_GLUECLAMP_._get_refdbynothings }##rcd}g}|std|D]}|}| |d}n)|d|urtdt|z|ddkrtdt|z||dt ||j|S) z sokind(0..*:Kind+) -> SetOfKind Nz$At least one argument must be given.rz&Kind at index %d has wrong classifier.rmrz'Kind at index %d has wrong comparision.ry)r;r:rrkrr r )rrRr<rr'rvs rrSz_GLUECLAMP_.sokinds ECDD D $ $D,,..C{!fq6$$$@3x==PRRR2w$ =H MOOO OOCF # # # #3 6 6x @ @AAArc,t|jdS)Nr)rrr#s r _get_sonokindz_GLUECLAMP_._get_sonokinds B'''rr) rrr _imports_r,rrrrrrrrrrr/rrrrr`rbrr~rrrrrrrSrrrrrrs IOOO DDD999???;;;777999,,,[[[BBBB ????(666222666p N N N   !!!777---###   $$$BBB*(((((rrN)!guppy.etc.DescriptorrrobjectrrDrrrrrrrrr&r.rJrdr-rrrrrr6rPrWrnryr~rrrrrrrs111111}}}}}}}}@#####V###::::::V::: GGGGGvGGG !!!!!&!!!(cccccccc@////////,J@@j2BBBBBBBB8########2!+!+!+!+!+!+!+!+H$.$.$.$.$.Z$.$.$.NM M M M M M M M `S&S&S&S&S&*S&S&S&lW W W W W W W W t')')')')')')')')TJ J J J J *J J J Z"C"C"C"C"C"C"C"CJeeeeejeeeP&&&&&J&&&RCCCCCCCC(@@@@@z@@@F::::::::. B B B B B B B B -----z---*CCCCCCCC(A#A#A#A#A#ZA#A#A#Hm(m(m(m(m(m(m(m(m(m(r