grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026§ =½wv§ –¾ãóŠ—dZgd¢ZddlmZd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„ZeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z!d!„Z"d"„Z#d#„Z$d$„Z%d%„Z&d&„Z'd@d'„Z(d(„Z)Gd)„d*¦«Z*Gd+„d,¦«Z+Gd-„d.¦«Z,d/„Z-d0„Z.d1„Z/d2„Z0d3„Z1d4„Z2d5„Z3d6„Z4d7„Z5d8„Z6d9„Z7d:„Z8d;„Z9d<„Z: dd=l;Tdd>l;mZn #e<$rYnwxYweZ=eZ>eZ?eZ@e ZAe ZBe ZCeZDeZEeZFe)ZGeZHeZIeZJeZKeZLeZMeZNeZOeZPeZQeZReZSeZTeZUeZVe ZWe!ZXe"ZYe$ZZe%Z[e'Z\e-Z]e.Z^e/Z_e0Z`e1Zae2Zbe3Zce4Zde5Zee6Zfe7Zge8Zhe9Zie:Zjd?S)Aas Operator Interface This module exports a set of functions corresponding to the intrinsic operators of Python. For example, operator.add(x, y) is equivalent to the expression x+y. The function names are those used for special methods; variants without leading and trailing '__' are also provided for convenience. This is the pure Python implementation of the module. )7ÚabsÚaddÚand_Ú attrgetterÚcallÚconcatÚcontainsÚcountOfÚdelitemÚeqÚfloordivÚgeÚgetitemÚgtÚiaddÚiandÚiconcatÚ ifloordivÚilshiftÚimatmulÚimodÚimulÚindexÚindexOfÚinvÚinvertÚiorÚipowÚirshiftÚis_Úis_notÚisubÚ itemgetterÚitruedivÚixorÚleÚ length_hintÚlshiftÚltÚmatmulÚ methodcallerÚmodÚmulÚneÚnegÚnot_Úor_ÚposÚpowÚrshiftÚsetitemÚsubÚtruedivÚtruthÚxoré)rcó—||kS)zSame as a < b.©©ÚaÚbs ú//opt/alt/python311/lib64/python3.11/operator.pyr(r(ó €à ˆqŠ5€Lócó—||kS)zSame as a <= b.r;r<s r?r%r%ó €à �Š6€MrAcó—||kS)zSame as a == b.r;r<s r?r r #rCrAcó—||kS)zSame as a != b.r;r<s r?r-r-'rCrAcó—||kS)zSame as a >= b.r;r<s r?r r +rCrAcó—||kS)zSame as a > b.r;r<s r?rr/r@rAcó—| S)zSame as not a.r;©r=s r?r/r/5s €àˆ5€LrAcó—|rdndS)z*Return True if a is true, False otherwise.TFr;rIs r?r7r79s€àÐ ˆ4ˆ4˜%ÐrAcó —||uS)zSame as a is b.r;r<s r?rr=ó €à �ˆ6€MrAcó —||uS)zSame as a is not b.r;r<s r?r r As €à �Aˆ:ÐrAcó —t|¦«S)zSame as abs(a).)Ú_absrIs r?rrGs €å �‰7Œ7€NrAcó —||zS)zSame as a + b.r;r<s r?rrKó €à ˆq‰5€LrAcó —||zS)zSame as a & b.r;r<s r?rrOrQrAcó —||zS)zSame as a // b.r;r<s r?r r Só €à �‰6€MrAcó*—| ¦«S)zSame as a.__index__().)Ú __index__rIs r?rrWs€à �;Š;‰=Œ=ÐrAcó—|S)z Same as ~a.r;rIs r?rr[ó €à ˆ2€IrAcó —||zS)zSame as a << b.r;r<s r?r'r'`rTrAcó —||zS)zSame as a % b.r;r<s r?r+r+drQrAcó —||zS)zSame as a * b.r;r<s r?r,r,hrQrAcó —||zS)zSame as a @ b.r;r<s r?r)r)lrQrAcó—| S)z Same as -a.r;rIs r?r.r.prXrAcó —||zS)zSame as a | b.r;r<s r?r0r0trQrAcó—| S)z Same as +a.r;rIs r?r1r1xrXrAcó —||zS)zSame as a ** b.r;r<s r?r2r2|rTrAcó —||z S)zSame as a >> b.r;r<s r?r3r3€rTrAcó —||z S)zSame as a - b.r;r<s r?r5r5„rQrAcó —||z S)zSame as a / b.r;r<s r?r6r6ˆrQrAcó —||z S)zSame as a ^ b.r;r<s r?r8r8ŒrQrAcóx—t|d¦«s&dt|¦«jz}t|¦«‚||zS)z%Same as a + b, for a and b sequences.Ú __getitem__ú!'%s' object can't be concatenated©ÚhasattrÚtypeÚ__name__Ú TypeError©r=r>Úmsgs r?rr’s<€å �1�mÑ $Ô $ðØ1µD¸±G´GÔ4DÑDˆÝ˜‰nŒnÐØ ˆq‰5€LrAcó —||vS)z(Same as b in a (note reversed operands).r;r<s r?rr™rLrAcó2—d}|D]}||us||kr|dz }Œ|S)z=Return the number of items in a which are, or which equal, b.r9ér;)r=r>ÚcountÚis r?r r �s6€à €EØ ððˆØ �ˆ6ˆ6�Q˜!’V�VØ �Q‰JˆEøØ €LrAcó —||=dS)zSame as del a[b].Nr;r<s r?r r ¥s €à ˆ!ˆˆˆrAcó—||S)z Same as a[b].r;r<s r?rr©s €à ˆQŒ4€KrAcóf—t|¦«D]\}}||us||kr|cSŒtd¦«‚)z!Return the first index of b in a.z$sequence.index(x): x not in sequence)Ú enumerateÚ ValueError)r=r>rsÚjs r?rr­sM€å˜!‘ ” ðAðA‰ˆˆ1Ø �ˆ6ˆ6�Q˜!’V�V؈HˆHˆHðõÐ?Ñ@Ô@Ð@rAcó—|||<dS)zSame as a[b] = c.Nr;)r=r>Úcs r?r4r4µs€à €A€a�D€D€DrAcó—t|t¦«s&dt|¦«jz}t |¦«‚ t |¦«S#t$rYnwxYw t|¦«j}n#t$r|cYSwxYw ||¦«}n#t$r|cYSwxYw|tur|St|t¦«s&dt|¦«jz}t |¦«‚|dkrd}t|¦«‚|S)a2 Return an estimate of the number of items in obj. This is useful for presizing containers when building from an iterable. If the object supports len(), the result will be exact. Otherwise, it may over- or under-estimate by an arbitrary amount. The result will be an integer >= 0. z/'%s' object cannot be interpreted as an integerz'__length_hint__ must be integer, not %sr9z$__length_hint__() should return >= 0) Ú isinstanceÚintrjrkrlÚlenÚ__length_hint__ÚAttributeErrorÚNotImplementedrx)ÚobjÚdefaultrnÚhintÚvals r?r&r&¹s<€õ �g�sÑ #Ô #ðØ@Ý�G‰}Œ}Ô%ñ&ˆå˜‰nŒnÐð Ý�3‰xŒxˆøÝ ð ð ð Ø ˆð øøøðÝ�C‰yŒyÔ(ˆˆøÝ ðððØˆˆˆðøøøð؈d�3‰iŒiˆˆøÝ ðððØˆˆˆðøøøà �nÐÐØˆÝ �c�3Ñ Ô ðØ8Ý�C‰yŒyÔ!ñ"ˆå˜‰nŒnÐØ ˆQ‚w€wØ4ˆÝ˜‰oŒoÐØ €Js5½A Á AÁAÁA2Á2 BÂB B B ÂB có—||i|¤ŽS)zSame as obj(*args, **kwargs).r;)rƒÚargsÚkwargss r?rrâs€à ˆ3�Ð ˜Ð Ð ÐrAcó.—eZdZdZdZd„Zd„Zd„Zd„ZdS)raV Return a callable object that fetches the given attribute(s) from its operand. After f = attrgetter('name'), the call f(r) returns r.name. After g = attrgetter('name', 'date'), the call g(r) returns (r.name, r.date). After h = attrgetter('name.first', 'name.last'), the call h(r) returns (r.name.first, r.name.last). )Ú_attrsÚ_callcó(‡‡—|sOt|t¦«std¦«‚|f|_| d¦«Šˆfd„}||_dS|f|z|_t tt|j¦«¦«Šˆfd„}||_dS)Nzattribute name must be a stringú.có2•—‰D]}t||¦«}Œ|S©N)Úgetattr)rƒÚnameÚnamess €r?Úfuncz!attrgetter.__init__..funcøs(ø€Ø!ð-ð-�DÝ! # tÑ,Ô,�C�CØ� rAcó<•‡—tˆfd„‰D¦«¦«S)Nc3ó.•K—|]}|‰¦«V—ŒdSr�r;)Ú.0Úgetterrƒs €r?ú z4attrgetter.__init__..func..s+øèè€Ð?Ð?¨V˜V˜V C™[œ[Ð?Ð?Ð?Ð?Ð?Ð?rA©Útuple)rƒÚgetterss`€r?r”z!attrgetter.__init__..funcs'øø€ÝÐ?Ð?Ð?Ð?°wÐ?Ñ?Ô?Ñ?Ô?Ð?rA) r}Ústrrlr‹ÚsplitrŒr›Úmapr)ÚselfÚattrÚattrsr”rœr“s @@r?Ú__init__zattrgetter.__init__òs»øø€Øð ݘd¥CÑ(Ô(ð CÝÐ AÑBÔBÐBؘ'ˆDŒKØ—J’J˜s‘O”OˆEð ð ð ð ð ðˆDŒJˆJˆJà˜' E™/ˆDŒKÝ�C¥ ¨D¬KÑ8Ô8Ñ9Ô9ˆGð @ð @ð @ð @ð @àˆDŒJˆJˆJrAcó,—| |¦«Sr�©rŒ©r rƒs r?Ú__call__zattrgetter.__call__ó€Ø�zŠz˜#‰ŒÐrAc ó–—|jj›d|jj›dd t t |j¦«¦«›d�S©NrŽú(ú, ú))Ú __class__Ú __module__Ú __qualname__ÚjoinrŸÚreprr‹©r s r?Ú__repr__zattrgetter.__repr__sK€Ø"œnÔ7Ð7Ð7Ø"œnÔ9Ð9Ð9Ø"Ÿiši­­D°$´+Ñ(>Ô(>Ñ?Ô?Ð?Ð?ðAð ArAcó—|j|jfSr�)r®r‹r³s r?Ú __reduce__zattrgetter.__reduce__ ó€ØŒ~˜tœ{Ð*Ð*rAN© rkr¯r°Ú__doc__Ú __slots__r£r§r´r¶r;rAr?rrèsd€€€€€ððð$€Iðððð$ðððAðAðAð +ð+ð+ð+ð+rArcó.—eZdZdZdZd„Zd„Zd„Zd„ZdS)r"zØ Return a callable object that fetches the given item(s) from its operand. After f = itemgetter(2), the call f(r) returns r[2]. After g = itemgetter(2, 5, 3), the call g(r) returns (r[2], r[5], r[3]) ©Ú_itemsrŒcól‡‡—‰s‰f|_ˆfd„}||_dS‰f‰zx|_Šˆfd„}||_dS)Ncó•—|‰Sr�r;)rƒÚitems €r?r”z!itemgetter.__init__..funcs ø€Ø˜4”yÐ rAcó<•‡—tˆfd„‰D¦«¦«S)Nc3ó(•K—|] }‰|V—Œ dSr�r;)r—rsrƒs €r?r™z4itemgetter.__init__..func.. s'øèè€Ð3Ð3¨˜S œVÐ3Ð3Ð3Ð3Ð3Ð3rArš)rƒÚitemss`€r?r”z!itemgetter.__init__..funcs'øø€ÝÐ3Ð3Ð3Ð3¨UÐ3Ñ3Ô3Ñ3Ô3Ð3rAr¼)r rÀrÃr”s `` r?r£zitemgetter.__init__soøø€Øð ؘ'ˆDŒKð !ð !ð !ð !ð !àˆDŒJˆJˆJà#' '¨E¡/Ð 1ˆDŒK˜%ð 4ð 4ð 4ð 4ð 4àˆDŒJˆJˆJrAcó,—| |¦«Sr�r¥r¦s r?r§zitemgetter.__call__#r¨rAc ó–—|jj›d|jj›dd t t |j¦«¦«›d�Srª)r®r¯rkr±rŸr²r½r³s r?r´zitemgetter.__repr__&sK€Ø"œnÔ7Ð7Ð7Ø"œnÔ5Ð5Ð5Ø"Ÿiši­­D°$´+Ñ(>Ô(>Ñ?Ô?Ð?Ð?ðAð ArAcó—|j|jfSr�)r®r½r³s r?r¶zitemgetter.__reduce__+r·rANr¸r;rAr?r"r"sd€€€€€ððð $€Ið ð ð ððððAðAðAð +ð+ð+ð+ð+rAr"có.—eZdZdZdZd„Zd„Zd„Zd„ZdS)r*zö Return a callable object that calls the given method on its operand. After f = methodcaller('name'), the call f(r) returns r.name(). After g = methodcaller('name', 'date', foo=1), the call g(r) returns r.name('date', foo=1). )Ú_nameÚ_argsÚ_kwargscó‚—||_t|jt¦«std¦«‚||_||_dS)Nzmethod name must be a string)rÈr}r�rlrÉrÊ)r r’rˆr‰s r?r£zmethodcaller.__init__7s>€ØˆŒ ݘ$œ*¥cÑ*Ô*ð <ÝÐ:Ñ;Ô;Ð ;؈Œ ؈Œ ˆ ˆ rAcóL—t||j¦«|ji|j¤ŽSr�)r‘rÈrÉrÊr¦s r?r§zmethodcaller.__call__>s'€Ø'�w�s˜DœJÑ'Ô'¨¬ÐD°t´|ÐDÐDÐDrAcóV—t|j¦«g}| tt|j¦«¦«| d„|j ¦«D¦«¦«|jj›d|jj ›dd  |¦«›d�S)Nc3ó*K—|]\}}|›d|›�V—ŒdS)ú=Nr;)r—ÚkÚvs r?r™z(methodcaller.__repr__..Ds1èè€ÐFÐF©¨¨A˜q˜q˜q ! !Ð$ÐFÐFÐFÐFÐFÐFrArŽr«r¬r­) r²rÈÚextendrŸrÉrÊrÃr®r¯rkr±)r rˆs r?r´zmethodcaller.__repr__As˜€Ý�T”ZÑ Ô Ð!ˆØ � Š •C�˜dœjÑ)Ô)Ñ*Ô*Ð*Ø � Š ÐFÐF°´×1CÒ1CÑ1EÔ1EÐFÑFÔFÑFÔFÐFØ"œnÔ7Ð7Ð7Ø"œnÔ5Ð5Ð5Ø"Ÿiši¨™oœo˜o˜oð/ð /rAcóŠ—|js|j|jf|jzfSddlm}||j|jfi|j¤Ž|jfS)Nr9)Úpartial)rÊr®rÈrÉÚ functoolsrÔ)r rÔs r?r¶zmethodcaller.__reduce__Is^€ØŒ|ð SØ”> D¤J =°4´:Ñ#=Ð=Ð =à )Ð )Ð )Ð )Ð )Ð )Ø�7˜4œ>¨4¬:ÐFÐF¸¼ÐFÐFÈÌ ÐRÐ RrANr¸r;rAr?r*r*.si€€€€€ððð .€IððððEðEðEð/ð/ð/ðSðSðSðSðSrAr*có—||z }|S)zSame as a += b.r;r<s r?rrSó€àˆ�F€AØ €HrAcó—||z}|S)zSame as a &= b.r;r<s r?rrXr×rAcó|—t|d¦«s&dt|¦«jz}t|¦«‚||z }|S)z&Same as a += b, for a and b sequences.rfrgrhrms r?rr]sA€å �1�mÑ $Ô $ðØ1µD¸±G´GÔ4DÑDˆÝ˜‰nŒnÐØˆ�F€AØ €HrAcó—||z}|S)zSame as a //= b.r;r<s r?rreó€àˆ!�G€AØ €HrAcó—||z}|S)zSame as a <<= b.r;r<s r?rrjrÛrAcó—||z}|S)zSame as a %= b.r;r<s r?rror×rAcó—||z}|S)zSame as a *= b.r;r<s r?rrtr×rAcó—||z}|S)zSame as a @= b.r;r<s r?rryr×rAcó—||z}|S)zSame as a |= b.r;r<s r?rr~r×rAcó—||z}|S)zSame as a **= b.r;r<s r?rrƒr×rAcó—||z}|S)zSame as a >>= b.r;r<s r?rrˆrÛrAcó—||z}|S)zSame as a -= b.r;r<s r?r!r!�r×rAcó—||z}|S)zSame as a /= b.r;r<s r?r#r#’r×rAcó—||z}|S)zSame as a ^= b.r;r<s r?r$r$—r×rA)Ú*)r¹N)r9)kr¹Ú__all__ÚbuiltinsrrOr(r%r r-r rr/r7rr rrr rrrr'r+r,r)r.r0r1r2r3r5r6r8rrr r rrr4r&rrr"r*rrrrrrrrrrrr!r#r$Ú _operatorÚ ImportErrorÚ__lt__Ú__le__Ú__eq__Ú__ne__Ú__ge__Ú__gt__Ú__not__Ú__abs__Ú__add__Ú__and__r§Ú __floordiv__rVÚ__inv__Ú __invert__Ú __lshift__Ú__mod__Ú__mul__Ú __matmul__Ú__neg__Ú__or__Ú__pos__Ú__pow__Ú __rshift__Ú__sub__Ú __truediv__Ú__xor__Ú __concat__Ú __contains__Ú __delitem__rfÚ __setitem__Ú__iadd__Ú__iand__Ú __iconcat__Ú __ifloordiv__Ú __ilshift__Ú__imod__Ú__imul__Ú __imatmul__Ú__ior__Ú__ipow__Ú __irshift__Ú__isub__Ú __itruediv__Ú__ixor__r;rAr?úrsùðð ð ð 8ð 8ð 8€ð!Ð Ð Ð Ð Ð ð ðððððððððððððððððð ððð ð ð ððððððð ðððððððððððððððððð €ððððððððððððððððððððððððððððððððððððð ððððððððð ð ð ððððAðAðAð ð ð ð%ð%ð%ð%ðR ð ð ð %+ð%+ð%+ð%+ð%+ñ%+ô%+ð%+ðN+ð+ð+ð+ð+ñ+ô+ð+ð> Sð Sð Sð Sð Sñ Sô Sð SðJ ð ð ð  ð ð ð  ð ð ð ð ð ð  ð ð ð  ð ð ð  ð ð ð  ð ð ð  ð ð ð  ð ð ð  ð ð ð  ð ð ð  ð ð ð  ð ð ð "ØÐÐÐð"Ð!Ð!Ð!Ð!Ð!Ð!øðð ð ð Ø€Dð øøøð €Ø €Ø €Ø €Ø €Ø €Ø €Ø €Ø €Ø €Ø €Ø€ Ø € Ø €Ø € Ø € Ø €Ø €Ø € Ø €Ø €Ø €Ø €Ø € Ø €Ø€ Ø €Ø € Ø€ Ø€ Ø€ Ø€ Ø €Ø €Ø€ Ø€ Ø€ Ø €Ø €Ø€ Ø €Ø €Ø€ Ø €Ø€ Ø €€€sÃCÃC$Ã#C$