NfXddlmZddlmZdgZGddZGddZdS)ref) GenericAliasWeakSetc eZdZdZdZdZdS)_IterationGuardc.t||_dSN)r weakcontainer)selfr s "/usr/lib/python3.11/_weakrefset.py__init__z_IterationGuard.__init__s //cf|}||j||Sr )r _iteratingadd)r ws r __enter__z_IterationGuard.__enter__s3     = L  T " " " rc|}|4|j}|||s|dSdSdSr )r rremove_commit_removals)r etbrss r __exit__z_IterationGuard.__exit__s_     = A HHTNNN %""$$$$$ = % %rN)__name__ __module__ __qualname__rrrrr rr sA 000 %%%%%rrceZdZd!dZdZdZdZdZdZdZ d Z d Z d Z d Z d ZdZdZdZeZdZdZdZeZdZdZdZeZdZdZeZdZdZdZ e Z!dZ"dZ#dZ$e$Z%dZ&d Z'e(e)Z*dS)"rNct|_t|fd}||_g|_t|_|||dSdS)Nc|}|?|jr|j|dS|j|dSdSr )r_pending_removalsappenddatadiscard)itemselfrefr s r _removez!WeakSet.__init__.._remove's^799D?,*11$77777I%%d+++++  r)setr&rr*r$rupdate)r r&r*s r rzWeakSet.__init__%slEE "%d)) , , , , !#%%   KK       rc|jj}|jj} |}n#t$rYdSwxYw||)r )r$popr&r' IndexError)r r.r'r(s r rzWeakSet._commit_removals5sb$()#  suu     GDMMM  s & 44c#Kt|5|jD]}|}||V ddddS#1swxYwYdSr )rr&r itemrefr(s r __iter__zWeakSet.__iter__?s T " "  9  wyy#JJJ                    s ;??cTt|jt|jz Sr )lenr&r$r s r __len__zWeakSet.__len__Hs 49~~D$: ; ;;;rcX t|}n#t$rYdSwxYw||jvS)NF)r TypeErrorr&)r r(wrs r __contains__zWeakSet.__contains__KsB TBB   55 TYs   cV|jt|f|fSr ) __class__list __getstate__r6s r __reduce__zWeakSet.__reduce__Rs%~T }d.?.?.A.AAArc|jr||jt ||jdSr )r$rr&rrr*r r(s r rz WeakSet.addUsE  ! $  ! ! # # # c$ --.....rcn|jr||jdSr )r$rr&clearr6s r rDz WeakSet.clearZs7  ! $  ! ! # # # rc,||Sr r=r6s r copyz WeakSet.copy_s~~d###rc|jr| |j}n#t$rt ddwxYw|}||SH)NTzpop from empty WeakSet)r$rr&r.KeyErrorr1s r r.z WeakSet.popbs  ! $  ! ! # # #  C)--// C C C788dB C799D  s 8Ac|jr||jt |dSr )r$rr&rrrBs r rzWeakSet.removensA  ! $  ! ! # # # T#####rc|jr||jt |dSr )r$rr&r'rrBs r r'zWeakSet.discardssA  ! $  ! ! # # # #d))$$$$$rcp|jr||D]}||dSr )r$rr)r otherelements r r,zWeakSet.updatexsM  ! $  ! ! # # #  G HHW      rc0|||Sr )r,r rMs r __ior__zWeakSet.__ior__~s E rcX|}|||Sr )rGdifference_updater rMnewsets r differencezWeakSet.differences(  ''' rc0||dSr )__isub__rPs r rSzWeakSet.difference_update erc|jr|||ur|jn$|jd|D|S)Nc34K|]}t|VdSr r.0r(s r z#WeakSet.__isub__..s('D'DdD 'D'D'D'D'D'Dr)r$rr&rDrSrPs r rXzWeakSet.__isub__sg  ! $  ! ! # # # 5== IOO     I ' ''D'De'D'D'D D D D rcFfd|DS)Nc3$K|] }|v|V dSr r r]r(r s r r^z'WeakSet.intersection..s'EEt d EErrFrPs` r intersectionzWeakSet.intersections*~~EEEEuEEEEEErc0||dSr )__iand__rPs r intersection_updatezWeakSet.intersection_updaterYrc|jr||jd|D|S)Nc34K|]}t|VdSr rr\s r r^z#WeakSet.__iand__..s(%B%BDc$ii%B%B%B%B%B%Br)r$rr&rerPs r rdzWeakSet.__iand__sI  ! $  ! ! # # # %%%B%BE%B%B%BBBB rcJ|jd|DS)Nc34K|]}t|VdSr rr\s r r^z#WeakSet.issubset..s(!>!>#d))!>!>!>!>!>!>r)r&issubsetrPs r rjzWeakSet.issubsets'y!!!>!>!>!>!>>>>rcX|jttt|kSr r&r+maprrPs r __lt__zWeakSet.__lt__y3s3////rcJ|jd|DS)Nc34K|]}t|VdSr rr\s r r^z%WeakSet.issuperset..s(#@#@$CII#@#@#@#@#@#@r)r& issupersetrPs r rrzWeakSet.issupersets'y###@#@%#@#@#@@@@rcX|jttt|kSr rlrPs r __gt__zWeakSet.__gt__rorct||jstS|jt t t |kSr ) isinstancer=NotImplementedr&r+rmrrPs r __eq__zWeakSet.__eq__s9%00 "! !yCC0000rcX|}|||Sr )rGsymmetric_difference_updaterTs r symmetric_differencezWeakSet.symmetric_differences(**5111 rc0||dSr )__ixor__rPs r rzz#WeakSet.symmetric_difference_updaterYrcjr|urjn&jfd|DS)Nc3BK|]}t|jVdSr )rr*ras r r^z#WeakSet.__ixor__..s/1\1\d#dDL2I2I1\1\1\1\1\1\r)r$rr&rDrzrPs` r r}zWeakSet.__ixor__so  ! $  ! ! # # # 5== IOO     I 1 11\1\1\1\V[1\1\1\ \ \ \ rcD|d||fDS)Nc3$K|] }|D]}|V dSr r )r]rrs r r^z WeakSet.union..s/BBABB1aBBBBBBBrrFrPs r unionz WeakSet.unions'~~BB$BBBBBBrcNt||dkS)Nr)r5rbrPs r isdisjointzWeakSet.isdisjoints#4$$U++,,11rc*t|jSr )reprr&r6s r __repr__zWeakSet.__repr__sDIrr )+rrrrrr3r7r;r@rrDrGr.rr'r,rQrV__sub__rSrXrb__and__rerdrj__le__rnrr__ge__rtrxr{__xor__rzr}r__or__rr classmethodr__class_getitem__r rr rr$s& <<<BBB///  $$$   $$$ %%%  GFFFG ??? F000AAA F000111 #GCCC F222$ L11rN)_weakrefrtypesr__all__rrr rr rs  +%%%%%%%%2i2i2i2i2i2i2i2i2i2i2r