ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙELF>Y@@8@0!0! X)X)!X)!i0n p)p)!p)!$$!!! PtdQtdRtdX)X)!X)!GNU?5k^Qp|tƦ`CP $r@!` *JP\^I   l ǀDQ!@#+PSTVWX[\^`acdefiklorstvwy{|}hf8$טd# F\LVdʆ%/#U)z#pdX;U !Ȣq'c5! v c| ϕb̚q.JU13{xAQ&(ҬMMf*1 F,a#$81eP̏PF1=uSɔ` τB> -ܲBE )HG`.tYr& t|ưWt˳H Ҿ9V l:.qXDt^Y֯2srx z44Q YrHj+. YvS  F  gQdRk#cK`2xWg, F"_ q  P  yU 0 f  Px  Pj! l[n!w   k!  K`D!5!3  !p!  j6i!Eg!% 5!:D ? !  0s  ! pJ ]U Y 0vD  O' `f3t 0v  4 k! 0  d= 03 PI 7!0 P*8 &  pZ0!w x    2!k \    @!   M Ѝi  5   ` N !C p  0i ht! o[s!a ! ` [ P\ pQ=  j~  l " 0 AU !D L  Л.  p__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizefsb_dx_addmethodsPyModule_GetDictPyDict_SetItemStringPyCFunction_NewExinitsetscNyMutBitSet_TypeNyCplBitSet_TypeNyNodeSet_TypePy_InitModule4_64fsb_dx_nybitset_initfsb_dx_nynodeset_initsets_docPyString_FromStringPyCObject_FromVoidPtrAndDescPyErr_OccurredPyExc_ImportErrorPyErr_SetStringmutbitset_indisizecplbitset_traversenodeset_indisizenodeset_traversenodeset_relateNyImmBitSet_hasbit_NyImmBitSet_EmptyStruct_Py_TrueStruct_Py_ZeroStructPyObject_ReallocPyObject_InitVarNyUnion_Type_PyObject_NewVarmemmove_Py_NoneStructPyInt_AsLongPyExc_IndexErrorPyInt_FromLongimmbitset_longPyMem_Malloc_PyLong_FromByteArrayPyMem_FreePyLong_FromLongPyErr_NoMemoryPyExc_OverflowErrorPyNumber_Invertimmbitset_iterNyImmBitSetIter_Type_PyObject_NewPyObject_FreePyTuple_NewPyString_FromStringAndSizePyOS_snprintfPyObject_ReprPyString_ConcatAndDel__stack_chk_failPyObject_GetIterPyString_ConcatPyIter_NextNyMutBitSet_hasbitPyExc_TypeErrorNyImmBitSet_TypePyType_IsSubtypeNyAnyBitSet_iteratePyErr_FormatPyLong_AsLongPySequence_Checkimmbitset_intNyImmBitSet_SubtypeNewNyImmBitSet_NewPyExc_ValueErrorNyMutBitSet_setbitNyMutBitSet_clrbit_Py_NotImplementedStructPyTuple_SizePyArg_ParseTupleNyMutBitSet_SubtypeNewNyMutBitSet_Newcpl_conv_leftcpl_conv_right_PyLong_Frexp_PyLong_AsByteArraylogNyMutBitSet_clearmutbitset_iopPyDict_Nextmutbitset_iandmutbitset_iorNyImmBitSet_SubtypeNewArgmemcpyPyArg_ParseTupleAndKeywordsmutbitset_isubmutbitset_ixorNyMutBitSet_popNyCplBitSet_SubtypeNew_NyImmBitSet_OmegaStructcplbitset_newNyCplBitSet_NewNyMutBitSet_AsImmBitSetmutbitset_iterPyNumber_LongPyNumber_IntPyString_AsStringAndSizeNyCplBitSet_New_DelNyAnyBitSet_lengthpos_add_checksf_slicePySlice_Typeclaset_loadgeneric_indisizeanybitset_indisizeNyBitSet_TypePyType_ReadyPyObject_GetAttrStringPyType_GenericNewPyObject_GenericGetAttrPyType_GenericAllocmutbitset_is_immutable_docimmbitset_is_immutable_docbitset_docPyInt_AsUnsignedLongMaskNyImmNodeSetIter_Type_PyObject_GC_NewPyObject_GC_Tracknodeset_get_is_immutableNyImmNodeSet_Type_PyThreadState_CurrentPyObject_GC_Del_PyTrash_thread_deposit_object_PyTrash_thread_destroy_chain__sprintf_chkmutnodeset_iterNyMutNodeSetIter_TypeNyNodeSet_clrobjNyMutNodeSet_TypePyObject_RichCompareNyNodeSet_setobjNyNodeSet_iterateNyNodeSet_hasobjNyNodeSet_invobjNyMutNodeSet_SubtypeNewFlagsNyMutNodeSet_NewFlagsNyMutNodeSet_NewNyMutNodeSet_NewHidingNyNodeSet_clearNyImmNodeSet_SubtypeNewmemsetNyImmNodeSet_NewPyNumber_AndPyNumber_OrPyNumber_SubtractPyNumber_XorNyMutNodeSet_SubtypeNewIterableNyImmNodeSet_NewSingletonNyImmNodeSet_SubtypeNewCopyNyImmNodeSet_NewCopyNyNodeSet_be_immutableNyImmNodeSet_SubtypeNewIterablelibpython2.7.so.1.0libpthread.so.0libc.so.6_edata__bss_start_endGLIBC_2.3.4GLIBC_2.14GLIBC_2.2.5GLIBC_2.4/opt/alt/python27/lib64D ti f r ui } ii  X)!Y`)!pYh)!h)!a!;a!;a!;a!;a!Ua!pa!:!a!\a!a! 9!b!b!b!6! b!7(b!p8b! 8!`b!0nhb!b!b!b!wb!c!c!c!`>! c!(c!@8c!>!@c!Hc!Xc!@!k!`l!b!l!b!l!l!Xl!0l!l! dl!l!m!m!ahm!m! mm!m!Pm!`m!@m! m!Pm!n!*n!an!pho!`e!o!e!o!PaPo!@!ho!@o!d!o!@p!@p!Hp!ap!Ep!^p! tq!r!q!f!q!f!q!^Pq!A!hq! q! g!q!@r!q!p@r!Hr!ar!r! _r!Шs!Ps!`s!@ s! t!`@!-P!-X!6!A!`!u!!H !H!! !y!!!P!`y!!Ȇ!`؆! y!! !`!x!!!!x! !(!`8! x!@!"H!X!w!`!&h!x!@w!!ȇ!!0!8!@!!!! Ȉ!!!!!U!!!! !i!!!!!!0!{!8!`@!H!x!! !8!!!(X!Xp!! !!!!z!!`!!Ȑ!!А! !ؐ! !!!!@!0! v!8!@!H!X!`h!!p!!x!!!.!V/!/!/!ys!y/! /!^(/!TH!T0/!f8/!@/!H/!P/!X/!X`/! h/!ap/!(x/!+/!_/!s!s!s!s/!~/!1/!b/!6/!/!8/!Z/!/!@/!H/! l!o!q!/!L/!P!/!4!4!g5!5!v 5!g!g!xg!tg!g!g!Wg!kph!*j!*k!*0o!*0q!*p!*!*Ў!*p!*!*k!jPl!4o!4q!4!4!4!4`l!"o!"q!"(m!d n!Xn!`n!chn!So!pXp!]Xr!]xq!o0s!h8s!ut!\! !(!0!8!i@![X!!`!Y!(!!! !!!Q+!S+!W+!+!e+!+!+!+!P+!+!+!+!+! ,! ,!,! ,! ,! (,!0,!8,!@,!H,!P,!X,!r`,!h,!p,!Tx,!,!,!,!,!l,!,!,!,!,!!,!`,!",!#,!$,!,!m,!-!%-!&-!'-!t -!w(-!)0-!x8-!Y@-!,H-!-P-!.X-!/`-!0h-!p-!|x-!-!-!k-!2-!3-!-!5-!R-!7-!-!n-!U-!-!9-!:-!-!.!;.!<.!=.!z .!>(.!?0.!8.!@.!uH.!hP.!AX.!`.!Bh.!Cp.!x.!D.!E.!F.!G.!.!I.!{.!J.!q.!.!K.!L.!M.!N.!.!OHH HtH5 % hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% DH=:!H9!H9tH Ht H=9!H59!H)HHH?HHtH} HtfD=9!u+UH=b Ht H= d}9!]wAUATIUHSHWH}thI7HuHLHuZHHu HCHP0H H}t,1LHHHuH[]A\A]H1[]A\A]HHuHCHP0U11ASH58!H=HH' H H H H HL HtzHH_HH$t_HtRH= &H5HHt/1H5H=_ H5HHhu [HtH[]Hq H5VH8H[]f.f1u H fuH@uH@uH@uHH@H?Hu H HHuHHHuHHHuHHHuHHH?)ÐATLg(USHW HL9tAIL!Ht[]A\A]A^L1L HL!LgLWH L941E16I9skMKICI9uL9rAME1sfDMr1IPfLgLWH DHiLYE1H )@[1]A\A]A^DHiLYH fHH@HHHfSHWHH*u HHGP0HCH@-#2![f.HCHGHHGDf.fDH HHU HS1uHH^HHt)HGHp(HHp tH[HpHd@H= H[AWHAVIAUATUSHHo HE LceI)IML9epHG(IIt$H9HHT$NHL$HHI^Io HHM9}1LH{ HHL$L)H>HL$HM9|AHDmH HCH[]A\A]A^A_M HuD1HT$HL$HHt'LIwHHx HL$HHL$G@1ff.AUIATIUHSHH H: H9tHGgHu}H}H9tHHGBIEH}H9t6HGt`#I$1H[]A\A]fIEH}H9uHI$H1[]A\A]H H52H8fD뤐HG Hcx/Df.HGHLGL9@~cLHO HHHB(Hu fHHtHz HHHtHHN I1LFHN D1DAUATUSH_ HHGHHHH9H HhHHH9HH9L,LmIHtm1Ht"fD1H9uHSHIHH9uL1ɺLLHHH[]A\A]ÐH1[]A\A]/1HH[]A\A]H H51H88fDH H51H8SHH~Ht9HHNH+tH[fHSHD$HR0HD$H[fDH1[SHH= HtHXHH@H@ [f.SHWHH*u HHGP0H[f.UHSHG~<1f.HHHT 8HtH*u H| 8HGP0HcEHH9HH[]fAUAATUHSHH IcIHuH} IHHHtBMt=MHH/!HCHHLc Ml$Il$ H[]A\A]HusMtI,$u ID$LP0MtImu IELP0HtHmu HEHP0H1H[]A\A]H+uHCHP0fDH+t1DH@f.UHށHSH(dH%(H$1H\$HHlH}HD$H\$HtTHtOH\$HHOH=3HH8H\$H$dH3 %(HuMH([]Ht H+t%1ΐHtH(uHPHR0fH|$1HGP0{f.AWIAVAUATUSH8WdH%(H$(1H\$ 5HHAGLAGIH>H=HD$-H|$INMEH1Ll$B~ LLHyH+uHSHD$HR0HD$HLL)HHu,HI,$I.u IFLP0HT$HtH*u H|$HGP01H$(dH34%(H8[]A\A]A^A_ÐHH1LRIf.I,$I.twAGuOH=uH|$HHD$j@MtI,$u ID$LP0M#H=H|$HDIFLP0AG{ID$LP0I.\fI,$|f.Ht HH9HHcxHp HHHH;t+HNHOHH)HHH?HHHHH9uL@HHLH;tKHNHOHH)HHH?HHHHH9uH9sH;HN1I9vH;HDDI9HFHHV?HHIHHHH)yH@HHw HHIHtLHfD1DGuEHw Hc~HHHH H9v.HNHVH9w*f.HH9vHztf.H H9wfDHGHtÐL_M~~E1E1L%!f.LHHT(Ht1DA HuHcIxIM9uLWLHHo H5~HD$H:HD$HE1@HGLW McZIIMI M9~E1H=%!MBIrI9wT@HL9sGHFHt1@HuAyH H5{H8QHHDI M9rIcH1HT H5~H8Hff.UHSHHH?H5Z H9t tEH[]fDH;H5 H9t1tu(H;H5V H9t1\u(EEH[]f.EAWAVIAUATUSHHH;Lk *HcCHHHIHL[]A\A]A^A_fDIIH= HsHH~HcSLh Hs LUT$ HL$ 1~"DHHHHT8HHcUH9|I/I$H+t HPfHCHHP0Ho HtiHKHP HC1HHSH)H)HKHSH[]fDHCHt+HHHH?HHHHD HCHCH1[]øAWAVIAUATUSHHHoHGH}~vLoL} H}L)HD$M)HHDeIHt]HUHH LHHLcIHHD$LkHHCHmu HEHP0HCIHCH[]A\A]A^A_Ð1ff.AWAVIAUIATUSHHH_dH%(HD$81Ht H93\H\$0Iu HD$0I}HHL$0DL;ut.HNHOHH)HHHH?HHHHH9uHHHMHuIHL;3LNHOLH)HHHH?HHHHH9uL9sL;0LNL9v M94$MIIcUI)M)LMHIH9~ L9rHULZ HRIIMM9L9H@L9LL9H{LHHEL3HCI]H|$8dH3<%(H+HH[]A\A]A^A_IH96I]fDL9M9t K<H9 L9IHI)H)LHHH9HqHLD$L)LL$HvHEH]HHLP HHL)LT$HHLHH+EHL$ HH)LII?IIIJ<#LL$HuLD$LT$K!LLeHM9HuLeI9IH~LI\$HmH1I]@HLLD$ L)H)LL$HHL\$H)LLT$(HH?HHHH<HL$+HL$HuLL$LD$ HI HML\$M9HuHM'I9@LIE HHu LLD$H LL$H)H|$LLL$LD$HHH|$IE LLD$LL$Hl8 HHsLD$HVL)HH?HLHHH| LJH{HC5HCHHHLeL+eIt$HBLL$H]LHCHE`HL$ L9%LT$(I9M9VLHGHt H90LO McAII IIMDH;2t.LNHOLH)HHHH?HHHHH9uLZHJM H;0tKLNHOLH)HIH?LHHHH9uL9sH;1LN1M9v-I92t3I9v#I9 HRH:~FfD1LHt/trt=H H5mH8HDHzuq1Hf.HztH2HT$HT$HtHRH P1fDHztH2HT$|HtHT$HRHH!P1H2HT$sHcHT$HRH1P1gfDUHSHGt1҅HHq?HIHHHH)yH@HHt,HtSHPHuAH HX1H[]@HtHPHtHH!HXfH[]øBfUHHSHHHt"HHwtHHc[]T@HtH1[]f.1DUHHSHKHHt"HHtHHc[]@HtH1[]f.ATAUHHSHHt%DHHGtHì H[]A\fHt[1]A\Df.1DAVAAUIHATIUSgHHHHp?HHIHHHH)AEHtALEu4HtjHPHtaHH!HhH H[]A\A]A^HtMHPHu-H Hh@H1Hu(H@Ht@H9 HLH81[1]A\A]A^fDH j1@f.H jf.AWE1E1AVAUATAUHo SHZ HHGLpHBILhI1IIՐHHf.L9skLL9s{HL9LVuHOHHLH1AtAtVMLI!H AIEHtMt`MIIQL9rL9s[LHOE1HLV1H@HL!HDHOIHE1uDI7MuLHt LH H[]A\A]A^A_fDtt"HS HfDHHVrftt"H HfDHCHV2fAWAVAUATUSHhdH%(H$X1HHH9HFH1H)HHHcH|$H9H|$HHC?HHIHHHD$ HH)y HH@H|$ HHF?HHIHHHD$HH)HHT$yH@HHD$H|$AIH?=H|$ HH9|$@HD|$H9~ ADLHHHI H9H;T$ILII@?LIIHHHH)HHt$8IE1LT$@ALl$0Ht$H$PH|$(H$XWDILII@?MIIHHHI)LyH@HH9McAI9AHEMOMHIHGLH?HH9D$@HDD$H9wMHIHM H9LSH HH$XdH3%(Hh[]A\A]A^A_Ll$0Ht$8H;T$H$PND@LAHL$@H)IHD$H)HH)HIHHLOH1L)IHH9DHIH9~HD$HHH)H)H1H94AMMFHHK HH)H)HH9}E1LH9LL$0AILD$I|LHLL$0H|$ Lh(HP0LD$MHx Ll$(IE1E1fLJ<"fH1HHLHrHqHrH9uIMHM9uMMHIH$PJ47DH HHLHOHJHOH9uM#HH{?HIHHHH)HH>HHVH?HH9|$@HD|$IH9ALHHH I9HVE1YHH|$ Lh(E1E1Hx Hx0H@HHhH@HQH8 H5qcH815Hۣ H5,cH81HE1I{ML`IHE1@f.SHHH dH%(HD$1H$HD$HD$H~L1HL$HHLD$H5b.tDHT$Ht$H<$HL$dH3 %(u%H [Ð1HT$H5bHu1}f.SH#HHuBHu01HtH@HHP ٺHHP([1[@~HtHHS?HIHHHH)yff.ATI1UHS0Ht}HHHCHCHC(HC8C@Ht Hk HEH؃![]A\HC(LHHC uH+u HCHP01H[]A\@f.H= 11,ff.t)tG~-tuCf.u#fAVLcAUIHATUSHH dH%(HD$1HD$IŃIu I}IcHT$HHIH;D$seLd$LLHt$H9s?H9v(HHH9SHH9DHH9w1HPHH9rI L9l$w1H|$dH3<%(H []A\A]A^ÃHE1MIu I}IHT$LLd$8HIH;D$sLL Ht$H9s?H9v(HHH9HH9HH9w1HPHH9rI L9l$w3HuLhHt0IHM9LH}tH H5_H8fH9HPHH#SEEfIII@HL9HډLuH9HPHHH#S fDH(dH%(HD$1HHB?HIHHHH)yH@HH$HHHD$Ht$dH34%(uH(Df.t!t~t8D@fu@AVAUATIUSHH dH%(HD$1BHt$HD$D$RI|$L9 )HT$It$ I|$|IH;D$shLt$Hk fLLELT$IL9s3IH{Hq1HtIQH#PIQIM9rI L9l$wD$9AT$1AD$1!fDLk IcEHHLI HD$L9vAIEHD$ImH9v$@HuLDHHH9l$wI L9l$wHT$It$ I|$Lt$\Hk IH;D$@f.LL%LT$IL9s6IH{HQ1Ht IQHH#PIQIM9rI L9l$wfHa H5Z[H8*HL$dH3 %(H []A\A]A^@~L&1LLi말Lk IcEHHLI HD$L9AIEHD$I]H9v*fHډLPHH9\$wI L9l$w*f.AWAVIAUATUSHH+HAhHHtsMLDLtEH}HHHyH+Iu HCHP0Iu[HtfDM9tI,$t4HmtH[]A\A]A^A_fHEHP0@ID$LP0Hmu@HuM9t LLtI,$HEHP1HUHzHUD$ HR0D$ cIHJH/HHu'M91I,$&ID$LP0AID$LP0lDAWIAVAAUIHATUSHHdH%(HD$81H\$D$H衽f.\sff/yE1f.HH$H$HHLE1HAǃHD$I}D舿ArHT$Iu I}HIH;D$HE1Lt$ LLHL$L$H|$ L$HL$H9sLHt7HJ4;II)L9$@L9HIHI)Hu1HPHH9rI L;D$~D|$EAU1E1AEeHL$1DHt$D$LAIHHHλf.Z("$H$Mf*T$$k Z^ZHXX$YZXH,H9ni1AHMtI,$t-HL$8dH3 %(D1HH[]A\A]A^A_ID$LP0uc1E11Hu" f.AIcHH9H|tLHuA\DMf @Hi H5UAH8,&L9HHH#PIHH1Lt$ fDHL$D$HH9HL$ HDLDLHL$HD$(D$AǃuHT$Iu I}IH;D$jHE1Lt$ DLLHL$L$LL$ L$HL$L9sPfHt3HJ4;HH)L9GH9t;HIHI)Hu1HPHL9rI L;D$zDL9uHPHIHHH#QfApHkSHH1[HStHߓ HHfD1@AWAVAUATAUHSHHzHXdH%(HD$H1Ht$D$D$)hHEH_t IA9HD$ L|$0HD$ Lt$(H$DL%tAH4$LLHH|$(HHuHD$蹸HT$HtL9MImBIELP01(DHMHU DHHHHL$HdH3 %(HX[]A\A]A^A_fHxD$(HHHD$0H6HT$0DHHl$8zt$(wK1CeL}AIMJE1DLt8IM9HEJHct$H'HHtH趯HL$dH3 %(uH[ۭHt1 f.H;5% u H;=d t*SH0HtHXO H[DH H@SH t HHHHBHL) dH%(HD$1IH$I1t H4$HHL$dH3 %(uH[:f.HH= ͭf.7ATIUH5 SHHtAD$@8uH[]A\fHH+HuHCHHP0H[]A\f.HH[]A\D1uDSHH1HtHH+t H[@HSHD$HR0HD$H[fDSHH賭H+uHSHD$HR0HD$H[SH肭Ht=HHH+t H[fDHSHD$HR0HD$H[fDH1[SH"Ht=HHH+t H[fDHSHD$HR0HD$H[fDH1["fSHHHCtiHt{HH1Ht"H!H+uHSHD$HR0HD$H[Ð6HtH@ HX(H[Hу HH[Hq HH[Df.ATUHSHHEPvz HCHtd7IHHھHLHHtH{HH[]A\fDHH[]A\@HtǫIHHھH{tfH5/ L'I,$HuID$LP0vDH`HHtGH/HPHتH9I,$u ID$LP01H[]A\@˨Ht1fAUIATIUHSHdH%(HD$1HeHHHt$HLHH$T$t,L% I$HHAIH+u HCHP0Hmu HEHP0HL$dH3 %(LusH[]A\A]DH+uHCHP0E1HHAIf.HHAIqDHHAIYH uHfH %H~fH H>ifH H^IfSHH Ѳ HH;H dH%(HD$1LD$HD$ttH|$HtrHt$ D$ pHËD$ tHL$dH3 %(HuLH [@Ht+H H5AH81˨H+u HCHP01@HqATUSHH dH%(HD$1HHFH{HGH{ IHGHT$Ht$6Hl$HHLHHttHHt$Hx H迦A}AHL$dH3 %(HH []A\H{FH~ H5@1H8蕣1@H~ H5@1H8pfDH= HiH+Hu HCHP0HtAHYU1EGfHI~ H5?1H8(HH+HtH HCHHP0虢f1Ht=SHH訤H+t H[@HSHD$HR0HD$H[fDHtt6H_} HHfDHHHHkHVHfHHJf.tt"H| HfDH#HHH~ HHDf.tt:H| HfDHHHHH韢HVHfDtt"H3| HfDHcHHVNHH2fHtt'H{ HHWHHHVHHH֡fDtt:H{ HfDHHHHH鏡HWH~fDSH5{ HHH9t0ӣu'H{H5{ H9t 躣tH[@H`[Hz H5<H8ȟ[ÐHHHHH9fDAWAVAUATUSHHXdH%(HD$H1H;=hz bLgLF?H LHHHLILhILMHH)HH6LF]LL3JH͢HD$H H MA@,$E1A)HuxIHM9Hk $H3HLHDLVHHt$ LT$0HT$(Hl$8HtH|$HT$LT$HbHT$LT$H PHtH|$LH9IH hHM9nHD$HdH3%(8H|$HX[]A\A]A^A_@HS(H@LH@HH)HHIHy H5:H8蛝1H|$HdH3<%(HX[]A\A]A^A_fDH@IHArf.L舟HtM~ fHLHHLH LH HI9upfHH[H|$HH$HHu H|$HGP013藜USHHH(dH%(HD$1+HHtrHHt$HHtgD$tdtoHpw HH+tHL$dH3 %(udH([]HSHD$HR0HD$f.諝Ht1fHHuH{HdH,赛DAVIAUATUHSHHH~}H9IE1H= E1@MAIqL9M9|"DHM9L9HFHt1DHuHcIIHHI9HIE1E1IH5~ fDI L9w_IyIQHH9r8M9}BHGHt1DB HuHcHIIH9sM9|f.L؜1ILHItH H9wGHEH}HH9r*I9~*HHHtHNHHHHHNH9sI9M9~1HVAHI脡LHHHH!M9uHV[L]A\A]A^fDM9~ I L96L1IHp DH{HCH9v5I9 <@L9}3HPHtHVHHHHVHH9rL9} H H9wM9mLNADLI LHHHI!M9uLNL[]A\A]A^Ht H5h6H8E1[]LA\A]A^[1]A\A]A^2fSHHH@dH%(HD$81H t H9FtT菗HH;s HtsHDt H5=6H8荘1HL$8dH3 %(H@[ÐHT$H蓧1tH$HL$HHH9uyHHH{(藟H{ HHHe蛙H1HrH;r tdHCHHHH{蜟H;HHH;fDHsHC H|$HD$HHHw HD$ 詗 @H1s H55H8z1>@f.SHHH dH%(HD$1Hzr H9FHASHHK HcqHHHH H9vbHAHQH9w JfHH9s?HzHt9H:HHHH\$dH3%(H [fDH H9rH0r H5A5H8y1DHT$Ht$葥1tHT$HL$HuHH9sHC HcpHx HHHRf.Hq H5*4H81+kH1HCuHC HcPHp HHHH H9HJHBf.HH9rHyHt9H9HHH踘Hq H53H8M1H讘Hp H53H8#1dt_t2t@HG HAHWHHHAIH I ËGHW HcBHHHH IIDHwHF HAHVAWAVAUAATIHzUHSHdH%(H$1Ht$St$CHT*H:*D4H*Dl$HL$@HT$HLL$(LD$ Ct$HL$`HT$LL$8LD$0L#xuD$9D$.EtiH?o gDHL$@HT$DLLL$(LD$ їt$HL$`HT$LL$8LD$0H豗x~HuD$9D$H.n HH$dH3%( HĘ[]A\A]A^A_ÐE1Dd$l$C$ v\HD$ L|$8Ll$0Ht$(MHHD$LH4$1҅ u A9Et҅VH(@E1LD$8HL$0Ht$(H|$ 藝1҅fDHm H521H8B1HDLIH4$H|$L:NΑ@f.HMf.H-f.H f.HWHHwHz` f.HWHB HR(HtHWHfATUSHGHW L` HG(H9tHBHJHHA IċB~*H1HcÃHH|8\HU HI9ZD[]A\fDSH5l HHH9tH胔u?H{H5$l H9t"juH{H5k H9t QtH[@H[GHk H5/H8a[f.H裒HHc釓AWIAVAUATUSHHk H-}k L5k L%Gk HhHk I8L`L芐0H8HlI$8LML->k I8L(H=j H8H=j H8qLDLH5{'HH蟍LH50'H荍HH59'H{LH5t&Hi1H5%H=9 褍H5%HHB1H5Y LюH5%LɍH H1L Ht7f1@uAtHHu 1H[]A\A]A^A_HFi I8 H3i I$8IHi H8H i I8HHh H8|Hh H8GtHH@HHcVHH|(1HFÐHHHH8PHff.HG1HÐHHHtH1DSHGHHt0HcOHH;H}HD(WH[ÐH(u HHGP0HC1[HHcVH|(1HFDAUIATIUHSHGt3H~,11H|(Ht LAԅu.HcH;E|H} HtHLL[]A\A]D1H[]A\A]Hw7H~.11f.H3D(HcH9|Ht fHUHHSHKHHHEHu(LD(L9sYLH)HHH?HHHI9HH9rthHAA1AtAAA! ADDEtMtPI:IHI9wI9vkH8H1HDHH1HH1ҹ`!Az@MHu tIHLP(HO H5*E1H8sbfE1H+t\I,$u ID$LP0I.u IFLP0MtImu IELP0MtI/u IGLP0E1HCHP0HyN H5H8BsH+uE1E1HCHP0Mu]E1fqIHtHHHHHSLHHHPHR0uf.H+tE1fH+CE1xfDsICwIzCwIjL1>r@f.BfUHSHHHH5UM H9t utH8M HHH[]HHHߺ[]fUHSHirHtDHHt HHqHtH(u HPHR0HH[]fH+u HCHP01HH[]@SH HHHH+HdH%(HD$1IH$o1tH4$1H:pHL$dH3 %(uH[pDf.fUHSHHHH5K H9t ttHK HHH[]?HHHߺ[]frfUHSHH(HH5K dH%(HD$1H9t tH}H5K H$Hl$H9t stYHH5WHqtzHHD$H9tHtH(u H|$HGP0HL$dH3 %(HufH([]nHD$HtIHH^HtH(~HPHR0o1@HߺHhH17oBfUHSHHHH5UJ H9t rtHK HHH[]HHHߺ[]fSHoHtHX(H[Df.SHH HV vdH%(HD$1D$ qH$HtHH5HoH$HL$dH3 %(uH [&nfDHH=*I pf.USHHH? oHt*HHH(tH+1H[]fDH;HGP0DUHSHH=H lHtBHHHTpH+tH[]HSHD$HR0HD$H[]DH1[]SH HHHH1H dH%(HD$1LL$LD$HD$HD$kt[H;G Ht$HT$t(HpkHL$dH3 %(u4H [f.HtH9^uH9V uHHD$@1lAUIATUSHH=8H H8r5mHG H8hHmH=9H H8[lL%G I$8PLlpH-)G H8CHlKLp1H5 H=à IjH5 LHIjHXlHH5 LjH,lHH5 LiLlLLH5 iH[]A\A]HIF H8{DH1F H8DHF H8DHF I$8@HE H8DH[]A\A]HHsetsc__doc__NyHeapDef[] v1.0_NyHeapDefs_module initialization failedu v0v(v8vvbitset slicing step must be 1(~MutBitSet(~ImmBitSet([MutBitSet([, ]))len() is too largeImmBitSet([])|O:immbitset|O:mutbitset_newpop(): index must be 0 or -1pop(): empty set|i:popO!:CplBitSet.__new__NybitSet_Exports v1.0NyBitSet_Exports_bsargNyBitSet_Exports v1.0immbitimmbitrangeguppy.sets.setsc.Unionimmbitset-iteratorguppy.sets.setsc.MutBitSet_splitting_size_num_seg_indisizeis_immutable__reduce__helper for pickleaddappendcleardiscardremovemutcopytastacguppy.sets.setsc.CplBitSetguppy.sets.setsc.ImmBitSetguppy.sets.setsc.BitSetimmbitset with negative bits can not be converted to longimmbitset too large to convert to longlen() of this immbitset is too large to telllen() of complemented set is undefinedoperand for anybitset_iterate must be immbitset or mutsetbitno_from_object: an int or long was expectedimmbitset with negative bits can not be convert to intimmbitset too large to convert to intInvalid mutbitset_iop_field() operationmutset.remove(%ld): bit is not in the set.mutset.append(%ld): bit is already in the set.bitrange() arg 3 must be positivebitrange() result has too many itemsl;bitrange() requires 1-3 int argumentsll|l;bitrange() requires 1-3 int argumentsInvalid mutbitset_iop_fields() operationInvalid mutbitset_iop_bits() operationoperand for mutable bitset must be integer or iterableImmBitSet.__new__ : complemented arg not supportedpop(): The mutset is complemented, and doesn't support pop. operand for immbitset must be a bitset, iterable or integerNyBitSet_Form() requires exactly 2 argumentsNyBitSet_Form(): 1st arg must be an intNyBitSet_Form(): 2nd arg must be a stringNyAnyBitSet_length: bitset required.immbitset_lshift(): too large shift countthis slice index form is not implementedempty immbitset - index out of rangeimmbitset_subscript(): index must be 0 or -1mutbitset_slice(): The mutset is complemented, and doesn't support other slice than [:]. mutbitset_subscript(): The mutset is complemented, and doesn't support indexing. mutbitset_subscript(): index must be 0 or -1mutbitset_subscript(): empty setbitset_richcompare: some bitset expectedanybitset_indisize: some bitset expected9B.???No object found at address %p nodeset_richcompare: some nodeset expectedS.append(e): e is already in SNyNodeSet_iterate: can not iterate because not owning element nodesiop: left argument must be mutableleft argument must be a NodeSetnodeset_op: mismatching '_hiding_tag_' attributesS.is_immutable == True True since S is immutable.S.is_immutable == False False since S is not immmutable.S.is_immutable : bool True if S is immutable, else False.list(%%s)[%d]immutable nodesetmutable nodeset requiredpop: argument must be mutableS.remove(e): e not in S|O:MutNodeSet.__new__|OO:ImmNodeSet.__new__NyNodeSet_Exports v1.0NyNodeSet_Exportsiterablehiding_tagobj_at_hiding_tag_immnodeset-iteratorguppy.sets.setsc.NodeSetguppy.sets.setsc.MutNodeSetguppy.sets.setsc.ImmNodeSet;T[<cTcdee4f0dfLfggdhh$jH 4j\ Tjt j j j j j j Tk l` dm m n Do8 ol o p tp q q0 qD rp 4u v dv v tw Tx8 xp y z4{4{h{4|t|}d}<tԀDdā<TtHt\T|tDD|Tddh4|tD(`t@Ĥ$dDxd$$D8dLt`$$t<P$d48l$d@Thķ|T8Phdļ$ĽTtdD<Pdt0X$p$4D$d8XlT , TL D T!$!4X!!T!!""H"T""L#x#d###d#D4$l$$$0%L%%%T&d&P&d&x&$&t&&&' '$L'D`'''d'((TL(d`(((((d)8)\)$p)t))*zRx $MFJ w?:*3$"D@TL\[FBD D(D0a (F ABBH D (C ABBD 4\EKR  AAH UAA\L]( ]BEA p ABE 8]#E]LT^xGEE E(D0A8D@K8A0A(B BBBA@^ _HU_v_T_KBB A(A0 (F BBBH  (C BBBF XP` d`HR|`3Em``a a```A P KH8a$BEE B(A0A8DP 8A0A(B BBBD LhbBED D(D0t (A ABBC c (C ABBA bb{\$c=FBA A(H0 (D ABBB D (C ABBL K (D ABBD 0@dXED c AC X AG DCt0d3EmTd&E\$hd^EDD GDALdBEA I(D0t (A ABBA L (F ABBI $`e 8\e(LheEPG AAD Lx {>L {rBBB B(A0A8G h 8A0A(B BBBA EJ0~ AB EG D C E 40 FFD T ABI nABh | i@ BEI A(A0GP 0A(A BBBA  @qD0g A  \@BBB F(A0GP? 0A(A BBBE HHBBE B(A0A8GP 8A0A(B BBBJ L BEE H(A0A8D 8A0A(B BBBH EN,HY G LFBB B(D0D8Kd 8A0A(B BBBC lēDГ&BDA  ABE m ABH U ABA (EDD0 AAA oE[ H AA ,@T h oE[ H AA Xd(pkEADP9 AAK EQ X AA  LWcF TvE[ O AA DX @l{BDJ c ABJ b ABK GAB $JED a AE XA-AG cA0 (XED _ AG X AG DC0@TXED _ AG X AG DCt8|AG E AB _ AH O AH OADnBAD  ABG H ABE  ABE 8 @BED D(D@ (A ABBF H\(p4@ LEX0e AE 0FAA G@  AABD (ILG O AE XAG ȟfHY G U K V@QtUX\ZdUpNtRܠZ|V$ZdU$loE~ E I A \*dСBBB B(A0A8G 8A0A(B BBBI g 8A0A(B BBBG (\8EAJ@f AAH pFEB A(D0 (D BBBG  (A BBBA Z (A EBBA A(C BBB hEJPn AB ԨIEJ0 AG DLXlBBB E(H0D8IT 8A0A(B BBBB ȭԭ( jFAA ^AB$8<ER I D E \`HIHxFEB B(A0A8D@ 8A0A(B BBBA  $KS ,@$MEi B \`THt`}FED D(D0F (G ABBG F(A ABBI4бEGD  AAA N AAA $ CEDD pDA4\XX H OHTEAG  AAG D AAJ ^ DAE TAA@FDA E ABE Y ABL KCB(gaAG0t AAA D;Eq0,hFAA D{  AABE 4`ԴyEAG0w AAJ P CAD 4EDG0H AAF V AAA GH] K V,HY G  ȵ#NM($yEDD ^ CAA HP4EAG } AAD D AAJ W AAG DAA4BHD d ABK dAE|0FED D(D@ (A ABBG _ (A ABBC Y (C ABBG w (A ABBK z(C ABB(T@xEDG F AAA GH] K Vĸ,HY G ظRH] K $jEy B M C Y8dFBA A(DP (A ABBB 4<EAG y CAF K CAA Ht`EAG } AAD D AAJ W AAG DAA4>FDD U GBD JAB<EDG r CAJ D FAA VAE8lRH] K <TEDG l GAL D GAE \FA0NEDG V CAF WCA@bBBB A(D0GP 0A(A BBBE  H 4 DjFFD z ABC VABX|l$AEAG oCA3QH0C A (E@ K ~ ,HY G (( OFDA @ABT оHh ܾBBB B(D0D8Gp 8A0A(B BBBK  @0 <^EDG d GAL DLA0 hlEID v DAC VDA 0!qE[ J AA T!0h!^EDG d GAL DLA!((!$EDG@ AAD !0!^EDG d GAL DLA$"@!E[ @"TjEG0W AA d"(x"KEAG b AAG <"iEDD0i AAH X AAF DCA "E[0d AK H# FEA A(D0t (D ADBH |(F ABBGNUYpYh)! 4 D  HK X)!`)!o( +! (A`! oo!ooop)!KKKKKKKKLL L0L@LPL`LpLLLLLLLLLMM M0M@MPM`MpMMMMMMMMMNN N0N@NPN`NpNNNNNNNNNOO O0O@OPO`OpOOOOOOOOOPP P0P@PPP`PpPPPPPPPPPQQ Q0Q@QPQ`QpQQQQQQQQQRR R0RThis module implements two specialized kinds of sets, 'bitsets' and 'nodesets'. Bitsets are sets of 'bits' -- here meaning integers in a particular range -- and designed to be efficient with dense as well as sparse distributions. Nodesets are sets of 'nodes', i.e. objects with equality based on their address; this makes inclusion test work with any combination of objects independently from how equality or hashing has been defined for the objects involved. Summary of module content. Classes BitSet Abstract bitset base class. CplBitSet Complemented immutable bitset. ImmBitSet Immutable bitset, non-complemented. MutBitSet Mutable bitset, complemented or not. NodeSet Abstract nodeset base class. ImmNodeSet Immutable nodeset. MutNodeSet Mutable nodeset. Functions immbit Immutable bitset singleton constructor. immbitrange Immutable bitset range constructor. immbitset Immutable bitset constructor. Data NyBitSet_Exports, NyNodeSet_Exports C-level exported function tables. S.is_immutable == False False since S is not immmutable.S.is_immutable == True True since S is immutable.immbitset() -> empty immutable bitset immbitset(bitset) -> immutable bitset with bitset's bits immbitset(iterable) -> immutable bitset with iterable's bits (int items) immbitset(integer) -> immutable bitset with integer's bits (binary 2-complement) Return an immutable bitset. It will be complemented if the argument is a complemented bitset or a negative integer. If the argument is an immutable bitset, the result is the same object. _bs(flags, data) -> some kind of bitset Internal function used to form a bitset when unpickling. It is designed to be 'safe' with any data but may give strange results if given something else than what x.__reduce__() generated.immbitrange([start,] stop[, step]) -> immutable bitset Return an immutable bitset containing an arithmetic progression of integers. immbitrange(i, j) equals immbitset([i, i+1, i+2, ..., j-1]). Start defaults to 0. If step is given, it specifies a positive increment. For example, immbitrange(3) equals immbitset([0, 1, 2]).immbit(bit) -> immutable bitset Return an immutable bitset containing the single bit specified. The bit must be an integer in the range of an int.S.mutcopy() -> mutable bitset Return a mutable copy of S. S.tac(e) -> bool Test and Clear. If e is in S, remove e from S and return True, else return False.S.tas(e) -> bool Test and Set. If e is in S return True, else add e to S and return False.S.clear() Remove all elements from S, and compact its storage.S.remove(e) Remove e from S, or raise ValueError if e was not in S.S.pop([index]) -> int Remove and return a bit, or raise ValueError if there is no bit to pop. The index must be -1 (default) to pop the highest bit or 0 to pop the lowest bit; otherwise IndexError will be raised.S.discard(e) Remove e from S; no effect if e was not in S.S.append(e) Add e to S, or raise ValueError if e was already in S.S.add(e) Add e to S; no effect if e was already in S MutBitSet() -> new empty mutable bitset MutBitSet(bitset) -> new mutable bitset with bitset's bits MutBitSet(iterable) -> new mutable bitset with iterable's bits (int items) MutBitSet(integer) -> new mutable bitset with integer's bits (binary 2-complement) A mutable bitset has operations common for all bitsets as described for the BitSet base class. It also defines the following methods: add, append, clear, discard, pop, remove, tac, tas CplBitSet(x:ImmBitSet) -> complemented immutable bitset. If the argument is an instance of ImmBitSet, this is the same as ~x, otherwise TypeError is raised. A complemented immutable bitset provides the same operations as non-complemented immutable bitsets, except for len() and iter(). ImmBitSet() -> empty immutable bitset ImmBitSet(bitset) -> immutable bitset with bitset's bits ImmBitSet(iterable) -> immutable bitset with iterable's bits (int items) ImmBitSet(integer) -> immutable bitset with integer's bits (binary 2-complement) The result can only be non-complemented; TypeError is raised otherwise. (The function immbitset() can be used to create both complemented and non-complemented bitsets.) An immutable bitset provides the operations common for all bitsets as described for the BitSet base class. It also defines the following: hash(x) -> int Return a hash value based on the bit numbers of the elements. The class BitSet is the base class for all bitset classes. A bitset is a set of 'bits'. Bits are integers, in a range that is typically [-2**31 .. 2**31-1] or the range of the builtin Python int type. The implementation of bitsets is such that it handles dense sets the most efficiently while sparse sets are handled reasonably well. Bitsets can be either mutable or immutable. Mutable bitsets have various operations to add and remove bits in-place. Immutable bitsets have hashing so they can be used as keys in dicts. Both kinds of bitsets have several operations in common. Sometimes an operand can be either a bitset or a 'convertible', which means it is one of the following kinds. iterable An iterable argument is convertible to a bitset if each object yielded is an integer (int or long) in the range of an int. int, long A positive argument, x, of one of these types will be converted to a bitset with the same bits as the binary representation of x. A negative argument will be converted to a complemented bitset, equivalent to the following expression: ~immbitset(~x) This corresponds to the bits in the 2-complement binary representation of x, except that the result conceptually has all negative bits set. The difference shows (only) when shifting a complemented bitset. The following operations are common for mutable and immutable bitsets. ------------------------------------------ Standard binary operations. In the usual case the left argument is some kind of bitset, and the right argument is a bitset or a 'convertible' as defined above. The return value is then an immutable bitset. x & y -> Intersection: the set of bits that are in both x and y. x | y -> Union: the set of bits that are in either x or y. x ^ y -> Symmetric difference: the set of bits that are in exactly one of x and y. x - y -> Difference: the set of bits that are in x but not in y. If the right argument is a bitset but not the left argument, the result will be an immutable bitset if only the left argument is a convertible that does not define the same operation; otherwise the result is what is returned by the operation of the left argument or a TypeError will be raised. The following table gives the result for the different kinds of arguments. Left argument Right argument Result - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bitset bitset immutable bitset bitset convertible immutable bitset bitset other TypeError defining the same op bitset handled by left argument convertible bitset immutable bitset other bitset TypeError ------------------------------------------ In-place binary operations. The left argument must be a bitset. If it is mutable, it is updated in place and returned. If it is immutable, the result is a new immutable bitset. The right argument is a bitset or a convertible. x &= y -> Intersection x |= y -> Union x ^= y -> Symmetric difference x -= y -> Difference ------------------------------------------ Complement operation. ~x -> immutable bitset Return the complement of x. This is a bitset that, conceptually, contains all bits in the universe except the ones in x. [ Subtle If x is not already complemented, ~x will return a special complemented kind of set. This can be used like other bitsets except for two operations that are not supported: it is not possible to iterate over, or take the length of a complemented bitset. If x is a complemented bitset, ~x returns a non-complemented bitset. Mutable bitsets may become complemented in-place if given a complemented argument to a suitable in-place operation. This is represented by a flag. Immutable complemented bitsets are represented by a special type, but this is to be considered an implementation detail, it could as well be using a flag. ] ------------------------------------------ Shift operation. x << y -> immutable bitset Return the set of bits of x, with the integer y added to each one. Raise OverflowError if some bit would exceed the range of an int. [ Subtle For non-complemented x and positive y, the result is what one would expect if x was a number in binary representation. But when x is complemented, the result will equal ~((~x) << y) which is different from what one would expect from binary number shifting, since 1's are shifted in from the right. The operation allows both positive or negative y values, unlike the shift for integer objects. For negative y's, the operation will shift bits to the right but not quite in the same way as a binary integer right-shift operation would do it, because the low bits will not disappear but be shifted towards negative bits. ] ------------------------------------------ Inclusion test. The left argument is an integer in the range of an int. The right argument is a bitset. x in y -> bool True if x is an element of y, False otherwise. ------------------------------------------ Relational operations. These return a boolean value. The left argument is a bitset. The right argument is a bitset. If the right argument is another type, TypeError will be raised. (This restriction may be reconsidered in the future.) x == y -> Equal: x and y contain the same bits. x != y -> Not equal: x and y do not contain the same bits. x <= y -> Subset, non-strict: all bits in x are also in y. x < y -> Subset, strict: all bits in x are also in y, and y contains some bits not in x. x >= y -> Superset, non-strict: all bits in y are also in x. x > y -> Superset, strict: all bits in y are also in x, and x contains some bit not in y. ------------------------------------------ Iteration. iter(x) -> iterator The iterator yields the bits of x. Raises TypeError if x is complemented. [The order is implementation dependent.] ------------------------------------------ Length. len(x) -> int Return the number of bits in x. Raises TypeError if x is complemented. ------------------------------------------ Truth-value testing. bool(x) -> bool Return True if x is not empty, False otherwise. ------------------------------------------ Conversions. int(x) -> int long(x) -> long Return an integer having the same binary representation as the bits of x, or raise an exception if the bitset can not be represented in the choosen type. When no exception is raised, the bitset x can be exactly recreated and the following invariants will hold. immbitset(int(x)) == x immbitset(long(x)) == x The exception OverflowError will be raised if it is found that x can not be represented. Note that for a sparse bitset with high bit numbers, long(x) may create a very big object since it allocates storage for all the low bits up to the highest bit number set, unlike bitsets that use a sparse representation. Creating such big objects may run out of storage which may raise a MemoryError or cause some other malfunction depending on the system. ------------------------------------------ Mutable copy S.mutcopy() -> mutable bitset Return a mutable copy of S. ;;;;Up:!\ 9!6!7p 8!0nw`>!@>!@!`b!b!l!0 da mP`@ P*aph`e!e!Pa@!@d!@p!aE ^ tr!f!f!^A! g!@r!pa _ШP`@ `x.obj_at(address) Return the object in x that is at a specified address, if any, otherwise raise ValueErrorImmNodeSet([iterable]) Return a new immutable nodeset with elements from iterable. An immutable nodeset inherits the operations defined for NodeSet. It also supports the following operation: hash(x) -> int Return a hash value based on the addresses of the elements.S.tac(e) -> bool Test and Clear. If e is in S, remove e from S and return True, else return False.S.tas(e) -> bool Test and Set. If e is in S return True, else add e to S and return False.S.remove(e) Remove e from S, or raise ValueError if e was not in S.S.pop() -> object Remove and return some object from S, or raise ValueError if S was empty.S.discard(e) Remove e from S; no effect if e was not in S.S.clear() Remove all elements from S, and compact its storage.S.append(e) Add e to S, or raise ValueError if e was already in S.S.add(e) Add e to S; no effect if e was already in S.MutNodeSet([iterable]) Return a new mutable nodeset with elements from iterable. A mutable nodeset inherits the operations defined for NodeSet. It also supports the following methods: add, append, clear, discard, pop, remove, tac, tas. The class NodeSet is the base class for ImmNodeSet and MutNodeSet. A nodeset is a set of objects with equality based on heap address. The following operations are defined for both mutable and immutable nodesets. ------------------------------------------ Binary operations. The following operations all return an immutable nodeset. The left argument must be a nodeset. The right argument can be any iterable object. x & y -> Intersection: the set of objects that are in both x and y. x | y -> Union: the set of objects that are in either x or y. x ^ y -> Symmetric difference: the set of objects that are in exactly one of x and y. x - y -> Difference: the set of objects that are in x but not in y. ------------------------------------------ In-place binary operations. The left argument can be mutable or immutable. If it is mutable, it is updated in place and returned. If it is immutable, the result is a new immutable nodeset. The right argument can be any iterable object. x &= y -> Intersection x |= y -> Union x ^= y -> Symmetric difference x -= y -> Difference ------------------------------------------ Inclusion test. The left argument can be any object. The right argument is a nodeset. x in y -> bool True if x is an element of y, False otherwise. ------------------------------------------ Relational operations. These return a boolean value. The left argument is a nodeset. The right argument is a nodeset. If the right argument is another type, TypeError will be raised. (This may be relaxed in future.) x == y -> Equal: x and y contain the same elements. x != y -> Not equal: x and y do not contain the same elements. x <= y -> Subset, non-strict: all elements in x are also in y. x < y -> Subset, strict: all elements in x are also in y, and y contains some element not in x. x >= y -> Superset, non-strict: all elements in y are also in x. x > y -> Superset, strict: all elements in y are also in x, and x contains some element not in y. ------------------------------------------ Iteration. iter(x) -> iterator The iterator yields the elements of x. [The order is implementation dependent.] ------------------------------------------ Length. len(x) -> int Return the number of elements in x. ------------------------------------------ Truth-value testing. bool(x) -> bool Return True if x is not empty, False otherwise. --6A`u!H H y!P`y!` y! `x!x!` x!"w!&@w! hU A i0!!!E{!`!(X 0Ez!`! ! !(@E v!`!!!GA$3a1YYGA$3a1GA$3a1YY GA$3p864Yt[GA$gcc 8.2.1 20180905Y GA*GOW*EYt[GA*YGA+stack_clashYt[GA*cf_protectionYGA+GLIBCXX_ASSERTIONSYt[GA*FORTIFYYGA*GA! GA* GA!stack_realignYt[ GA$3p864[ GA*GOW*E[xGA+stack_clashGA+GLIBCXX_ASSERTIONSGA!stack_realign GA*GOW*EGA+stack_clashGA+GLIBCXX_ASSERTIONSGA!stack_realignGA$3a1^KcKGA$3a1setsc.so-0.1.10-1.el8.x86_64.debugk7zXZִF!t/0 ]?Eh=ڊ2Nug7׵8p(υi|P-bqs`yx0k}V5-bv$-#yb9୥9(}WSι^uIZ^=tݽt]ZRq[unXV+]ŎO\Ew {? ;91zGA5qLZ[G2(qztцAo6!C&U:xᥧ.&dž. toFL\RN@@I>>ؤUCS<7m骒Smb@k`/o#~ѷ/&tl?:~Q픠qVc:>SQ=Sc?RDJ@uZ4MWYȯ,Lv]>`%nVXf֖@ȝ&8[ڋssL^?g(TE.c=6 s; \% !r)n`C9٤_:$F1L>0_Tg|l|OޙLIy2L_Ok4}i*w5J!ٵɐ*9~ 5K*7~( wM|r1svn?#('ّaiVT܇ͬ Q&yqs٬U(ؒ`.uϠ]y Y]zQΚL`-wjڜQB 2ZU_hl0n.+#_F0xE1fim3^(3' $  )X勺*X𺆁7ML_^Lɻبy6F䧀i+\f)&R_Dg*wsѦ[ 3քFۉ-IȚ &aJ59N@MtYrK27iW6TtJa̜"ؗY>N8RYu}0tƭ.De`6941*Y,q7G$hOܩc=&wI^7\\s@Pz !fƵZC9Z : f[|Ճ1yGt+r-@!'Жu}4J7,Zhߝ?&=td-k}RzGG{ǐjc5NF?j8љJTcstvOQLVP+OMQVf fq~W%&r ^vS*IG) :NJ@` }82:Os|P5J"Ȧ%g-2ZLQpoD@08PY]09p;0ӧBuX-zsdKƖ(E7MNP ™ =f)x'6K~5"]8߃{]*Y<OxnlU0?^H@sܢ{N`1bHu*k{ln'pF>e-~x/qsòp3eI{kNHBdU]ÿa"gYZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata $o((( H0 8oFEo!!PT`!`!^B(A(A hHKHKcpKpKn@R@RwYY} * T#!! X)!X)`)!`)h)!h)p)!p)+!+0!0c  !h a Ȗ( ԡ(