e^^ SrSSKrSSKrSSKrSSKrSSKr SSK J r /SQr SSSSS.SjjrSSSSS.S jjrSS .S jrS rS rSr"SS5rSr"SS5r\"\\\\\\\"S515rSr Sr!g)a/Support to pretty-print lists, tuples, & dictionaries recursively. Very simple, but useful, especially in debugging data structures. Classes ------- PrettyPrinter() Handle pretty-printing operations onto a stream using a configured set of formatting parameters. Functions --------- pformat() Format a Python object into a pretty-printed representation. pprint() Pretty-print a Python object to a stream [default is sys.stdout]. saferepr() Generate a 'standard' repr()-like value, but protect against recursive data structures. N)StringIO)pprintpformat isreadable isrecursivesaferepr PrettyPrinterppFTcompact sort_dictsunderscore_numbersc >[XX4XVUS9nURU5 g)zAPretty-print a Python object to a stream [default is sys.stdout].)streamindentwidthdepthr r rN)r r) objectrrrrr r rprinters ,/opt/imh/python3.13/lib/python3.13/pprint.pyrr0s'E-/G NN6c 8[XUXEUS9RU5$)z @@GPr)r c&[U/UQ7SU0UD6 g)zPretty-print a Python objectr N)r)rr argskwargss rr r @s 6:D:Z:6:rc@[5RU0SS5S$)z=Version of repr() which can handle recursive data structures.Nrr _safe_reprrs rrrD ? % %fb$ :1 ==rc@[5RU0SS5S$)z4Determine if saferepr(object) is readable by eval().Nrrrs rrrHr rc@[5RU0SS5S$)z8Determine if object requires a recursive representation.Nrrrs rrrLr rc*\rSrSrSrS/rSrSrSrg) _safe_keyPaAHelper function for key functions when sorting unorderable objects. The wrapped-object will fallback to a Py2.x style comparison for unorderable types (sorting first comparing the type name and then by the obj ids). Does not work recursively, so dict.items() must have _safe_key applied to both the key and the value. objcXlgNr()selfr(s r__init___safe_key.__init__\src$URUR:$![aj [[UR55[ UR54[[UR55[ UR54:s$f=fr*)r( TypeErrorstrtypeid)r,others r__lt___safe_key.__lt___sm ;88eii' ' ;dhh("TXX,7eii)2eii=9: ; ;sA1BBr+N) __name__ __module__ __qualname____firstlineno____doc__ __slots__r-r5__static_attributes__rrr&r&PsI;rr&c:[US5[US54$)z&Helper function for comparing 2-tuplesrr")r&)ts r _safe_tuplerAfs QqT?IadO ++rc\rSrSrS%SSSS.SjjrSrSrS rS rS r S r 0r S r \ \ \ R'Sr\\ \R"R'Sr\\ \R'Sr\\ \R'Sr\\ \R'\\ \R'Sr\\ \R'Sr\\ \R'Sr\\ \R'Sr\\ \ RBR'Sr"\"\ \ RFR'Sr$Sr%Sr&Sr'Sr(Sr)\)\ \RTR'Sr+\+\ \RXR'Sr-\-\ \R\R'Sr/\/\ \R`R'S r1\1\ \RdR'S!r3\3\ \RhR'S"r5\5\ \RlR'S#r7S$r8g)&r jNFTr c8[U5n[U5nUS:a [S5eUbUS::a [S5eU(d [S5eX0lXlX lUbX@lO[ RUl[U5Ul X`l Xpl g)aYHandle pretty printing operations onto a stream using a set of configured parameters. indent Number of spaces to indent for each level of nesting. width Attempted maximum number of columns in the output. depth The maximum depth to print out nested structures. stream The desired output stream. If omitted (or false), the standard output stream available at construction will be used. compact If true, several items will be combined in one line. sort_dicts If true, dict keys are sorted. underscore_numbers If true, digit groups are separated with underscores. rzindent must be >= 0Nzdepth must be > 0zwidth must be != 0) int ValueError_depth_indent_per_level_width_stream_sysstdoutbool_compact _sort_dicts_underscore_numbers)r,rrrrr r rs rr-PrettyPrinter.__init__ks8VE  A:23 3  !01 112 2 !'  !L;;DLW  %#5 rcURb;URXRSS0S5 URRS5 gg)Nr )rJ_formatwriter,rs rrPrettyPrinter.pprints; << # LLq!R ; LL  t $ $rc`[5nURXSS0S5 UR5$Nr) _StringIOrTgetvalue)r,rsios rrPrettyPrinter.pformats)k V!QA.||~rc0URU0SS5S$)Nrr$formatrVs rrPrettyPrinter.isrecursives{{62q!,Q//rcPURU0SS5up#nU=(a U(+$rYr_)r,rsreadable recursives rrPrettyPrinter.isreadables(!%VRA!>Y) M)rc [U5nXu;a)UR[U55 SUlSUlgUR XU5nUR U- U- n [U5U :aURR[U5RS5n U bSXW'U "XX#XEUS-5 XW g[R"U5(a[U[5(dwURR (a\[#URS5(aASURR$R&;aSXW'UR)XX4XVS-5 XW gURU5 g)NTFr" __wrapped__ __create_fn__)r3rU _recursion _recursive _readable_reprrIlen _dispatchgetr2__repr__ _dataclasses is_dataclass isinstance__dataclass_params__reprhasattrrhr9_pprint_dataclass) r,rrr allowancecontextlevelobjidrep max_widthps rrTPrettyPrinter._formats16    LLF+ ,"DO"DN jj%0KK&(94 s8i ""4<#8#8$?A}!"$ EAINN++F33 ..--22&//=99!V__%@%@%M%MM!"&&vv'[\S\]N SrczURRnU[U5S-- n[R"U5Vs/sH6oR (dMUR [XR 54PM8 n nURUS-5 URXX4XV5 URS5 gs snf)Nr"()) __class__r7rnrrfieldsrvnamegetattrrU_format_namespace_items) r,rrrryrzr{cls_namefitemss rrxPrettyPrinter._pprint_dataclasss##,,#h-!## c rcURS5 URUR5X#S-US-XV5 URS5 g)Nz mappingproxy( r"r)rUrTcopyrs r_pprint_mappingproxy"PrettyPrinter._pprint_mappingproxyes= _% V[[]FRKQ % Src4[U5[RLaSnOURRnU[ U5S-- nUR R5nURUS-5 URXX4XV5 URS5 g)N namespacer"rr) r2_typesSimpleNamespacerr7rn__dict__rrUr) r,rrrryrzr{rrs r_pprint_simplenamespace%PrettyPrinter._pprint_simplenamespacems <611 1#H''00H#h-!##%%' X^$ $$UFwV Src XURnX0R- nSSU--n[U5S- n [U5Hkun upX:Hn UR XU5nU"U5 U"S5 UR XU[U5-S-U (aUOSXV5 U (aMcU"U5 Mm g)N, rr": r$)rUrHrnrrmrT)r,rrrryrzr{rUdelimnl last_indexrrentlastr}s rr PrettyPrinter._format_dict_items|s (((#,&Z!^ &u-MAz?D**S51C #J $K LLfs3x&7!&;&*  )4g.rc HURnSSU--n[U5S- n [U5Hqun upX:Hn U"U 5 U"S5 [U 5U;a U"S5 O,UR XU[U 5-S-U (aUOSXV5 U (aMiU"U5 Ms g)Nrrr"=...)rUrnrr3rT)r,rrrryrzr{rUrrrrrrs rr%PrettyPrinter._format_namespace_itemss #,&Z!^ &u-MAz?D #J #J#w'!e  S&3s8*;a*?*.YA$-4g.rcURnX0R- nURS:aU"URS- S-5 SSU--nSn URU- S-=p[U5n [ U 5n SnU(dU n[ U 5n UR (aPURXU5n[U5S-nU U:a U n U (aUn U U:aU U-n U"U 5 Sn U"U5 MvU"U 5 Un URXUU(aUOSXV5 U(dMgg![ a gf=f![ a SnX-n X-n Nf=f) Nr"rrrFTr$, ) rUrHrIiternext StopIterationrNrmrnrT)r,rrrryrzr{rUrrrr~itnext_entrrr}ws rrPrettyPrinter._format_itemssb (((  ! !A % 4))A-4 5#,& KK&0144 %[ BxHC #8 }}jju5HqL19%E 'A:QJE%L E#J %LE LLf&*  )/$   ! #& " #s$, D! D1! D.-D.1EEcURXR5URU5upEnU(dSUlU(aSUlU$)NFT)r`rrGrlrk)r,rrzr{rvrdres rrmPrettyPrinter._reprs@$(KK 04 U%D! "DN "DO rc&URXX45$)zFormat object for a specific context, returning a string and flags indicating whether the representation is 'readable' and whether the object represents a recursive construct. )r)r,rrz maxlevelsr{s rr`PrettyPrinter.formats v AArc[U5(dUR[U55 gURURXV5nUR nU[UR 5S-- nURUR <SU<SSU-<35 URXX4S-XV5 URS5 g)Nr"rrrr)rnrUrvrmdefault_factoryrr7r) r,rrrryrzr{rdfrs r_pprint_default_dict"PrettyPrinter._pprint_default_dicts6{{ LLf & jj//@#cll#a'' S\\3f EF &&a-P Src[U5(dUR[U55 gURnURURS-5 UR S:a!URUR S- S-5 UR 5nURXU[UR5-S-US-XV5 URS5 g)Nrr"rr$r)rnrUrvrr7rH most_commonr) r,rrrryrzr{rrs r_pprint_counterPrettyPrinter._pprint_counters6{{ LLf &  S\\D()  ! !A % LL$0014; <""$  &S\\): :Q > A ' 0  Trc [UR5(dUR[U55 gURnURUR S-5 U[UR 5S-- n[ UR5HuupU[UR5S- :Xa)URXX4S-XV5 URS5 MJURXUSXV5 URSSU--5 Mw g)Nrr"rrr)rnmapsrUrvrr7rrT) r,rrrryrzr{rrms r_pprint_chain_mapPrettyPrinter._pprint_chain_maps6;; LLf &  S\\C'(#cll#a''fkk*DAC $q(( QA wN S! Q7B US6\12 +rc [U5(dUR[U55 gURnURURS-5 U[UR5S-- nURS5 UR c(UR XX4S-XV5 URS5 gUR XUSXV5 URUR XV5nURSSU-<SU<S 35 g) Nrr"rr$z])z], rzmaxlen=r)rnrUrvrr7maxlenrrm) r,rrrryrzr{rrmls r _pprint_dequePrettyPrinter._pprint_deques6{{ LLf &  S\\C'(#cll#a'' S ==   vv1}& / LL    vvq& /**V]]G;C LLsV|SA Brc FURURX#XEUS- 5 gNr"rTdatars r_pprint_user_dictPrettyPrinter._pprint_user_dict V[[&)eaiPrc FURURX#XEUS- 5 gr r rs r_pprint_user_listPrettyPrinter._pprint_user_list rrc FURURX#XEUS- 5 gr r rs r_pprint_user_string!PrettyPrinter._pprint_user_string%rrc6[U5nU[;a[U5SS4$[USS5n[ U[ 5(a9U[ R La&UR(aUSSS4$[U5SS4$[ U[5(Ga*U[R LGaU(dg[U5nU(a XC:aSSXr;4$Xr;a[U5SS4$SX''SnSn /n U Rn US- nUR(a[UR5[S9n OUR5n U HfupUR!XX45unnnUR!XX45unnnU "U<S U<35 U=(a U=(a UnU(d U(dMdSn Mh X' S S R#U 5-X4$[ U[$5(aU[$R Ld([ U[&5(aU[&R La[ U[$5(a U(dg S nO[)U5S:XaSnO U(dgSn[U5nU(aXC:a US-SXr;4$Xr;a[U5SS4$SX''SnSn /n U Rn US- nUH6nUR!UX#U5unnnU "U5 U(dSnU(dM4Sn M8 X' US R#U 5-X4$[U5nUU=(a UR+S5(+S4$)NTFrq_d)z{}TFz{...}r"rrz{%s}r)z[]TFz[%s]z(%s,))z()TFz(%s)r<)r2_builtin_scalarsrvr issubclassrErqrPdictr3rjrrOrrrAr`joinrtuplern startswith)r,rrzrr{rrr|rdre componentsrrkvkrepr kreadablekrecurvrepr vreadablevrecurr`oorepr oreadableorecurr}s rrPrettyPrinter._safe_repr*s6l " "<u, , CT * c3  A$5'' tU22F|T500 c4 Q$--%7(vJEU/u'777!&)5$66GNHIJ&&F QJEv||~;? +/;; ,2(y&+/;; ,2(y&5%01#? ?iVV $IDIIj118F F sD ! !a4==&8 sE " "qENN':#t$$,V! ,vJEU/~ue.>>>!&)5$66GNHIJ&&F QJE+/;;w5,2(y&u  $H6 $IDIIj118F F6lS4!44u<rrr r js.-64E-6^%  0*8I  ,Idmm 4HIl&&//0 ,Idmm!.Ienn"*Icll$/Ii  !/b*Icll&!.Ienn%6Ii  ! 3GIf%%../ 2IIf$$--."&')RB 4HIl&&//0 0?Il""++, 31BIl##,,-C$.;Il  ))*Q1BIl##,,-Q1BIl##,,-Q3FIl%%../O=rr cPS[U5R<S[U5<S3$)Nz)r2r7r3rs rrjrj~sF|$$bj 23rc#"# Sn[U5S-S-n[S[U5S5HInXUS-nX6-nXT:XaX-n[[U55U:aU(a [U5v UnMGUnMK U(a[U5v gg7f)Nrrr)rnrangerv)rrryrrrrrs rrrsG v;! a D 1c&k1 %1~N 9  E tI % '7m#GG&7msB B)Nr"r'N)r"r'N)"r; collectionsr/ dataclassesrrrsysrKtypesriorrZ__all__rrr rrrr&rAr r1r1rr2floatcomplexrMr2rrjrr>rrrGs4#" $ "TePduP"';>>>;;,,O=O=bc5)UG"DJ013 r