python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_functools.cpython-311.opt-2.pyc

ehddlZddlZddlZddlZddlZddlmZddlZddlm	Z	ddl
Z
ddlmZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlmZddlZddlmZddlmZddlmZddlZejd	d
gZejd	d
gZejd
dgZ ej!gZ"ere"#ej!ej$dZ%dZ&dZ'Gdde(Z)Gdde(Z*Gdde+Z,GddZ-ej.edGdde-ej/Z0Gdde-ej/Z1erGdd ej!Z2Gd!d"ej!Z3ej.edGd#d$e0Z4Gd%d&e1Z5Gd'd(ej/Z6Gd)d*ej/Z7Gd+d,e7Z8Gd-d.Z9ej.edGd/d0e9ej/Z:Gd1d2e9ej/Z;Gd3d4Z<ej.edGd5d6e<ej/Z=Gd7d8e<ej/Z>Gd9d:ej/Z?ej@Gd;d<ZAGd=d>ZBGd?d@ZCeDdAZEereDdBZFGdCdDeCej/ZGej.edGdEdFeCej/ZHGdGdHej/ZIGdIdJZJGdKdLZKGdMdNZLGdOdPZMGdQdRej/ZNeOdSkrejPdSdS)TN)permutations)choice)support)proxy)
import_helper)threading_helper)assert_python_ok	functools
_functools)blocked)freshdecimal_decimalc#Ktj|}|tj|<	dV|tj|<dS#|tj|<wxYwN)sysmodules)namereplacementoriginal_modules   G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_functools.pyreplaced_moduler(sVk$'O#CK,
+DOD++++s	:Ac	||fSr)argskws  rcapturer1s68Oc8	|j|j|j|jfSr)funcrkeywords__dict__)parts r	signaturer$6s4Ity$-??rceZdZdS)MyTupleN__name__
__module____qualname__rrrr&r&:Drr&ceZdZdZdS)BadTuplec@t|t|zSr)listselfothers  r__add__zBadTuple.__add__>sDzzDKK''rN)r(r)r*r3rrrr-r-=s#(((((rr-ceZdZdS)MyDictNr'rrrr5r5Ar+rr5ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdS)TestPartialc	|tdddd}|t|||dddd	
dtddd	f|td
}|t|gdgddS)N
ab(r?cr9r:r@rAr>r?rEc|dzS)Nr;rxs r<lambda>z1TestPartial.test_basic_examples.<locals>.<lambda>Ls
"r)r;r<rBrC)partialr
assertTruecallableassertEqualdictmapr/r1ps  rtest_basic_exampleszTestPartial.test_basic_examplesGsLL!Q"L33$$$1a2,,,&rR2(>(>(>?	A	A	ALLnn--aa			ll++-=-=-=>>>>>rc|tdddd}||jt||jd||jt
dddS)Nr9r:r;r<r=r9r:)rLrrOr rr!rPrRs  rtest_attributeszTestPartial.test_attributesOsxLL!Q"L33)))(((TB"%5%5%566666rc|t|j	|d|ddS#t$rYdSwxYw)Nr:z%First arg not checked for callability)assertRaises	TypeErrorrLfailr1s rtest_argument_checkingz"TestPartial.test_argument_checkingVsv)T\222	?DLLOO
II=>>>>>			DD	sA
A$#A$cd
d}ddi}||d}||di|d||ddi|d	||ddidS)Nr;r<c|Srrr=s  rr zBTestPartial.test_protection_of_callers_dict_argument.<locals>.funcasHrr>r@r>r?)r;r<r)rLrO)r1r drSs    r(test_protection_of_callers_dict_argumentz4TestPartial.test_protection_of_callers_dict_argument_s				
GLLL##Q###SG$$$	ASG$$$$$rcddi}|jtfi|}||dddifd|d<||dddifdS)Nr>r@rr`rLrrO)r1rdrSs   rtest_kwargs_copyzTestPartial.test_kwargs_copyjs}!HDL&&A&&rC8n---#rC8n-----rcz|t}||dif||dddif|tdd}||dif||dddifdS)Nrr9r:rVr@rArFrgrRs  rtest_arg_combinationsz!TestPartial.test_arg_combinationsss
LL!!r2h'''1Q%---LL!Q''ubk***1Q)R11111rcD|t}||ji||dif||ddddif|td}||jddi||dddif||dddddf||ddddddfdS)	Nrr9rar>r:rcr=r@)rLrrOr!rRs  rtest_kw_combinationsz TestPartial.test_kw_combinations}s(
LL!!R(((r2h'''Q"s1g///LLAL&&c!W---rC7m,,,Q"1!nn!5666Q!rq>>&:;;;;;rcdD]G}|jtg|R}|dz}|d\}}|||ko|ikHdS)N)rrrr9)rr9r:)rr9r:r@rIrJrLrrM)r1rrSexpectedgotemptys      rtest_positionalzTestPartial.test_positionalsp9	=	=DW,t,,,Af}H3JCOOHO;<<<<		=	=rcdD]Q}|t|}|dd}|d\}}|||ko|dkRdS)N)r>rNg@ra)r>rJrIrrp)r1r>rSrqrsrrs      rtest_keywordzTestPartial.test_keywordsr$	=	=AW**A$''HTJE3OOHO;<<<<		=	=rc|tdd}|dd\}}||dko|dddk|\}}||dko|d	dikdS)
Nrr9rar:rcror=rnr>rp)r1rSargs1kw1args2kw2s      rtest_no_side_effectsz TestPartial.test_no_side_effectssLL!qL))QqAYYY
s?3qQ--+?@@@QSS
s
8##a.99999rcd}|t||dd|t||dd|t||dd|t||dddS)Nc||zdSrrrJys  rfz-TestPartial.test_error_propagation.<locals>.fs
EEEErr9r)r)rYZeroDivisionErrorrLr1rs  rtest_error_propagationz"TestPartial.test_error_propagations			+T\\!Q-B-BCCC+T\\!Q-?-?CCC+T\\!__aCCC+T\\!q\-A-A1EEEEErc
|td}t|}||j|jd}tj|tt|ddS)N)baser )
rLintrrOr r
gc_collectrYReferenceErrorgetattrr1rrSs   rtest_weakrefzTestPartial.test_weakrefspLL2L&&!HH(((.'1f=====rcTttttd}|tjd}|||d|dj}|||ddS)Nr;
0123456789)r/rQstrrangerLjoinrO)r1datars   r#test_with_bound_and_unbound_methodsz/TestPartial.test_with_bound_and_unbound_methodssCU2YY''((||CHb))d\222||BG$$d\22222rc|j}|td}||d}|tdd}|t|t|dSNasdfTbar)rLr$rO)r1rLinnernestedflats     rtest_nested_optimizationz$TestPartial.test_nested_optimizationsn,	6**D)))wy&d3336**IdOO<<<<<rc|j}d}||d}||d}d|_||jddS)Nc|Srrrs rfooz;TestPartial.test_nested_partial_with_attribute.<locals>.foosJrfirstsecondspam)rLnew_attrrO)r1rLrrSp2s     r"test_nested_partial_with_attributez.TestPartial.test_nested_partial_with_attributesa,			
GC!!
WQ
!
!f-----rcpttf}dd|Dttd}d|d|g}|jtvrdn|jj|t}|dtdt||jtg|R}|dtddt||jtfi|}|	t|fd	|D|jtg|Ri|}|	t|fd
|DdS)N, c34K|]}t|VdSr)repr).0r>s  r	<genexpr>z(TestPartial.test_repr.<locals>.<genexpr>s(44!d1gg444444rr=za={a!r}, b={b!r}zb={b!r}, a={a!r}functools.partial()c0g|]}dtd|dSrrrr)rkwargs_reprrs  r
<listcomp>z)TestPartial.test_repr.<locals>.<listcomp>sB888&<<<<k<<<888rc
6g|]}dtdd|dSrr)rr	args_reprrs  rrz)TestPartial.test_repr.<locals>.<listcomp>sJ888&IIIIiII;III888r)
objectr
format_maprL_partial_typesr(rrOrassertIn)r1rkwargskwargs_reprsrrrs     @@r	test_reprzTestPartial.test_reprs&((#II44t44444	xxfhh//*55f==*55f==?<>))&DD<(DLL!!D//7///a999DL(4(((D<<7<<	<<<d1ggFFFDL++F++

d1gg8888*6888	9	9	9
DL24222622

d1gg88888*6888	9	9	9	9	9rc |jtvrd}n|jj}|t}||diif	|t
||d|tdiifn##|tdiifwxYw|t}|t|fiif	|t
||dtd|tdiifn##|tdiifwxYw|t}|tdd|iif	|t
||dtd|tdiifdS#|tdiifwxYw)Nrrz(...)rz, ...)r>z, a=...))rLrr(r__setstate__rOr)r1rrs   rtest_recursive_reprzTestPartial.test_recursive_reprs<>))&DD<(DLL!!	2r2'''	2T!WW444&9:::
NNGRR01111ANNGRR01111LL!!	!r2.///	2T!WWtttWWW&FGGG
NNGRR01111ANNGRR01111LL!!	c1Xr2333	2T!WWwww&HIII
NNGRR011111ANNGRR01111s$&B B74.E E!.G-- H
ctd|j5|tdgdg}g|_ttjdzD]Y}t
jt
j	||}|
t|t|Z	ddddS#1swxYwYdS)Nr
rTrr9)rmodulerLr$attrrpickleHIGHEST_PROTOCOLloadsdumpsrOr1rprotof_copys    rtest_picklezTestPartial.test_pickles
[$+
6
6	B	BYtf==AAFv6:;;
B
Bfl1e&<&<==  6!2!2IaLLAAAA
B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	BsBCCCc|tdgdg}g|_tj|}|t|t|||j|j||j|j||j|jdSr)rLr$rcopyrOassertIsrr!r1rrs   r	test_copyzTestPartial.test_copysLLVH4&L9916**IaLL999

fk16***

fk16***

foqz22222rcJ|tdgdg}g|_tj|}|t|t|||j|j||j|j||jd|jd||j|j||jd|jddS)NrTrrr)	rLr$rrdeepcopyrOassertIsNotrr!rs   r
test_deepcopyzTestPartial.test_deepcopysLLVH4&L99q!!6**IaLL999af---af---Q333!*555/E1BCCCCCrc	
|t}|tdt	dt	gf|t|tdt	dt	gf||dddddd	f|tdt	ddf|t|tdt	dif||dddddd	f|tdddf||dddd
dif||ddif||dif|tdidf|t|tdiif||dddd
dif||ddif||difdS)
Nr9r;rarr:r<rcrVr=r?r)r:)rLr$rrrPrOrs  r
test_setstatezTestPartial.test_setstatesfLL##	tbzzz4R===ABBB1!4Tr]]]C	E	E	E1fBR.@.@%ABBB	tbzzz489991tbzzz2'FGGG1fBR.@.@%ABBB	tT23331fsBi%89991|,,,tRj)))	R.///1R'<===1dS"I%67771bz***r2h'''''rc	||t}|t|jt
dif|t|jt
diidf|t|jt
didg|t|jddidf|t|jt
didf|t|jt
gidf|t|jt
dgdfdS)Nr)rLr$rYrZrrrs  rtest_setstate_errorsz TestPartial.test_setstate_errors8sLL##)Q^gr25FGGG)Q^gr2r45PQQQ)Q^gr2t5LMMM)Q^dBD5IJJJ)Q^gtR5NOOO)Q^gr2t5LMMM)Q^gr2t5LMMMMMrc|t}|tt	dtddft|}||tdtdif|t|dt|t|dt|}||dddif|t|dt|t|dt|ttdidft|}||tdiif|t|dt|d}||dif|t|dtdS)	Nrr;rar9r:r>rrV)rLr$rrr&r5rOrPrtypetupler-)r1rsrs    rtest_setstate_subclassesz$TestPartial.test_setstate_subclassesBsLL##	dCDDDaLLWdD2JJJ;<<<

d1Q4jj%(((

d1Q4jj$'''
ACCTC9-...

d1Q4jj%(((

d1Q4jj$'''	$T:;;;aLLWdB3444

d1Q4jj%(((
AaDDVRL)))

d1Q4jj%(((((rc
td|j5|t}||diif	ttjdzD]I}|t5t
j
||dddn#1swxYwYJ	|tdiifn##|tdiifwxYw|t}|t|fiif	ttjdzD]}t
jt
j
||}	||j
d||tdiifj#|tdiifwxYw	|tdiifn##|tdiifwxYw|t}|tdd|iif	ttjdzD]}t
jt
j
||}	||jd||tdiifj#|tdiifwxYw	|tdiifn##|tdiifwxYw	ddddS#1swxYwYdS)Nr
rr9rr>)rrrLrrrrrrYRecursionErrorrrrrr!rs    rtest_recursive_picklez!TestPartial.test_recursive_pickleVs
[$+
6
6 	6 	6W%%A
NNAr2r?+++
6"6#:Q#>??//E**>:://Q...////////////////R45555R45555W%%A
NNGaT2r2333
6"6#:Q#>??CCE#\&,q%*@*@AAFC

fk!nf===++Wb"b,ABBBB++Wb"b,ABBBBCR45555R45555W%%A
NNGR#q26777
6"6#:Q#>??CCE#\&,q%*@*@AAFC

foc&:FCCC++Wb"b,ABBBB++Wb"b,ABBBBCR45555R455555A 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s4M8CB%C%B))C,B)-C2M C11<M.AG74!F4G74 GG7M7 H=MAL!K<L K;;L?M L>>MMMcGdd}|t}|t|j|dS)NceZdZdZdZdS)7TestPartial.test_setstate_refcount.<locals>.BadSequencecdS)NrArr\s r__len__z?TestPartial.test_setstate_refcount.<locals>.BadSequence.__len__|qrcz|dkrtS|dkrttdS|dvriSt)Nrr9i@B)r:r@)maxrr
IndexError)r1keys  r__getitem__zCTestPartial.test_setstate_refcount.<locals>.BadSequence.__getitem__~sA!88JAXX w000F]]I  rN)r(r)r*rrrrrBadSequencer{s2



!
!
!
!
!rr)rLrrYrZr)r1rrs   rtest_setstate_refcountz"TestPartial.test_setstate_refcountzsc
	!
	!
	!
	!
	!
	!
	!
	!
LL  )Q^[[]]CCCCCrN)r(r)r*rTrWr]rerhrjrlrtrvr|rrrrrrrrrrrrrrrrrrr7r7Es???777???	%	%	%...222<<<======:::FFF>>>333===
.
.
.99962226BBB333	D	D	D(((2NNN)))(!6!6!6HDDDDDrr7z requires the C _functools modulec6eZdZer	eZejZdZdZdZdS)TestPartialCc
|tdddd}|tt|dt
|tt|dd|tt|d	t
dd|t}	|`|	d
dS#t$rYdSwxYw)Nr9r:r;r<r=r rrVr!z-partial object allowed __dict__ to be deleted)rLrrYAttributeErrorsetattrrQrPhexr"r[rZrRs  rtest_attributes_unwritablez'TestPartialC.test_attributes_unwritablesLL!Q"L33.'1fcBBB.'1ffEEE.'1j$a...QQQLL	G

IIEFFFFF			DD	s8C
CCc>|t}d|jd<t|}|d||d||t5|ddddS#1swxYwYdS)Nvaluei1234z'value')rLrr!rrrYrZ)r1rSrs   r'test_manually_adding_non_string_keywordz4TestPartialC.test_manually_adding_non_string_keywordsLL!!"
4GG

fa   

i###


y
)
)		
ACCC																		s:BBBc|tGfddt}dgj|<t	}|d||d|dS)NceZdZfdZdS)@TestPartialC.test_keystr_replaces_value.<locals>.MutatesYourDictcdgj|<dS)Nsth2astr)r!rRs r__str__zHTestPartialC.test_keystr_replaces_value.<locals>.MutatesYourDict.__str__s$*8
4 vrN)r(r)r*r)rSsrMutatesYourDictrs.






rrsthrz['sth'])rLrrr!rr)r1rrrSs   @rtest_keystr_replaces_valuez'TestPartialC.test_keystr_replaces_valuesLL!!							f			*/
??$$%GG

fa   

i#####rN)	r(r)r*c_functoolsrrLrrrrrrrrsY&%
G
G
G
$
$
$
$
$rrc eZdZeZejZdS)
TestPartialPyN)r(r)r*py_functoolsrrLrrrr	r	s
F"GGGrr	ceZdZdS)CPartialSubclassNr'rrrrrsrrceZdZdS)PyPartialSubclassNr'rrrrrr+rrceZdZereZdZdS)TestPartialCSubclassN)r(r)r*rrrLrrrrrrs%#" $rrceZdZeZdS)TestPartialPySubclassN)r(r)r*rrLrrrrrsGGGrrceZdZGddeZeZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdS)TestPartialMethodceZdZejeZejedZejedZejeddZ	ejeddZ
ejedZejejed	
dZ
ejeedZejeed
ZdS)TestPartialMethod.Ar9r:rar@rArcr1r r`rErb	rdN)r(r)r*r

partialmethodrnothing
positionalr!both
spec_keywordsrrLover_partialstaticmethodstaticclassmethodclsrrrArs)))'22,Y,Wa88
*9*7a888&y&wQ777/	/aaHHH
((Q77.y./@y/@A/N/N/NPQRR((g)>)>BB%i%kk'&:&:a@@@rr'c$||j|jfif||jd|jdfif||jd|jfddif||jdd|jdfddif||j|jdfif||jd|jddfif||jd|jdfddif||jdd|jddfddif||j|jfddif||jd|jdfddif||jd|jfdddf||jdd|jdfdddf||j|jd	fd
dif||jd|jd	dfd
dif||jd|jd	fdddf||jdd|jd	dfdddf||j|jdd|jd	dfdddf||j|jfddd
fdS)Nr`rrrEr9r>r:)r>rEr@r?rArDr)rOr>rrr!r r'r!r\s rrjz'TestPartialMethod.test_arg_combinationss))TVIr?;;;**dfa[",=>>>!,,y3(.CDDDQ//461+Qx1HIII**,,{B.?@@@**1--A/CDDD**Q*//461+Qx1HIII**1*22dfa^c1X4NOOO**dfYa,ABBB++tvqkC8-DEEE1--	;K;K/LMMMa00DFA;aa@P@P2QRRR$&!sAh(?@@@Q461a.3()CDDDq))TVQKqq9I9I+JKKKQ!,,1~QQ?O?O.PQQQTVQ!441~QUVGWGW6XYYY--//46)aQR=S=S1TUUUUUrc\||j|jddfif||jd|jdddfif||jd|jddfddif||jdd|jdddfddif||j|jdd|jdddfddifdS)Nr9r`rrbrrd)rOr>rr'r\s rtest_nestedzTestPartialMethod.test_nestedsDFAq>2*>???q))TVQ1,=r+BCCC++tvq!nsAh-GHHHqA..$&!Q1BS!H0MNNNtvqA66$&!Q9JSRSH8UVVVVVrc`||j|jdfddif||jd|jddfddif||jd|jdfdddf||jdd|jddfdddf||j|jdd|jddfdddfdS)NrbrErr`rrrErd)rOr>r"r'r\s rtest_over_partialz#TestPartialMethod.test_over_partials5,,..$&!sAh0GHHH,,Q//461a.3(1KLLL,,q,11TVQKqqAQAQ3RSSS,,Q!,441~QUVGWGW6XYYY,,TVQ!,<<1~UV]^O_O_>`aaaaarcr|j}||jj|||jj|||jj|||jj|j||jjj|jdSr)r>rr __self__rr"r&r'r1objs  rtest_bound_method_introspectionz1TestPartialMethod.test_bound_method_introspectionsf

ch'---

cj)3///

c&/555

cg&///

dfj)4622222rc|j}|t|jd|t|jd|t|jd|t|jd|t|jjddS)Nr/)r'assertFalsehasattrr rr"r$r>r0s  rtest_unbound_method_retrievalz/TestPartialMethod.test_unbound_method_retrievalsf:66777Z88999!1:>>???Z88999
;;<<<<<rc	|j|jfD]}||5||dif||ddif||ddddif||dddddif|||jfddif||d|jdfddif||d	|jfddd
f||dd	|jdfddd
fdddn#1swxYwYdS)Nr1)rr`)rr`rrrdrrr,)r'r>subTestrOr$r&r0s  rtest_descriptorsz"TestPartialMethod.test_descriptorssFDF#
	S
	SC#&&	
S	
S  bz:::  A===  a4#q2BCCC  A!3!3fsAh5GHHH  dfYa,ABBB  tvqkC8-DEEE  1	;K;K/LMMM  aDFA;aa@P@P2QRRR	
S	
S	
S	
S	
S	
S	
S	
S	
S	
S	
S	
S	
S	
S	
S
	S
	SsFF99F=	F=	c||jd|jfddif||j|jd|jfddifdS)Nr@rar>)rOr>r!r'r\s rtest_overriding_keywordsz*TestPartialMethod.test_overriding_keywords(sr1--	C8/DEEE155	C87LMMMMMrc|t5Gddt}dddn#1swxYwY|t5Gdd}dddn#1swxYwY|t5Gdd}ddddS#1swxYwYdS)Nc0eZdZejddZdS).TestPartialMethod.test_invalid_args.<locals>.BNr9r(r)r*r
rmethodrrrBr?.s"00q99rrBc,eZdZejZdS)r?Nr@rrrrBz.TestPartialMethod.test_invalid_args.<locals>.B1s0022rc2eZdZejedZdS)r?r9)r r>N)r(r)r*r
rrrArrrrBz.TestPartialMethod.test_invalid_args.<locals>.B4s%00gCCCr)rYrZr)r1rBs  rtest_invalid_argsz#TestPartialMethod.test_invalid_args,s


y
)
)	:	:
:
:
:
:
:F
:
:
:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:

y
)
)	3	3
3
3
3
3
3
3
3
3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3

y
)
)	D	D
D
D
D
D
D
D
D
D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	Ds1;?? A::A>A>B::B>B>c|tt|jddt
dS)Nr z#functools.partialmethod({}, 3, b=4))rOrvarsr'formatrr\s rrzTestPartialMethod.test_repr7sQd46ll6233>EEgNN	P	P	P	P	PrcrGddtj}||jj||jj|jj|jj|jj	|jj
|jjfD]&}|t|dd'dS)NcPeZdZejdZejedZdS)1TestPartialMethod.test_abstract.<locals>.AbstractcdSrrr1rJrs   raddz5TestPartialMethod.test_abstract.<locals>.Abstract.add>srr`N)	r(r)r*abcabstractmethodrNr
radd5rrrAbstractrK<sA



 

+9*322DDDrrR__isabstractmethod__F)rOABCMetarMrNrSrQr'r$r&r"rr r4r)r1rRr s   r
test_abstractzTestPartialMethod.test_abstract;s	3	3	3	3	3s{	3	3	3	
9:::
:;;;V]DFJ0CTV]TXTZT_`	K	KDWT+A5IIJJJJ	K	Krcd}tj|d}||d|dddS)Nc||zSrrr=s  rrz1TestPartialMethod.test_positional_only.<locals>.fKq5Lrr9r:)r
rLrOrs   rtest_positional_onlyz&TestPartialMethod.test_positional_onlyJsS			
a##1qqAww'''''rN)r(r)r*rr'r>rjr*r-r2r6r:r<rErrUrYrrrrrsAAAAAFAAA	
AVVV2WWWbbb333===SSSNNN	D	D	DPPP
K
K
K(((((rrceZdZejejfdZdZdZe	j
ejj
dkddZdZdZd	Zeje	j
ejj
dkdd
ZdS)TestUpdateWrapperc\|D]4}|t||t||5|D]V}t||}t||}|D]1}|dkr|dkr|||||2W||j|dS)Nr"__wrapped__)rrr])	r1wrapperwrappedassignedupdatedrwrapper_attrwrapped_attrrs	         r
check_wrapperzTestUpdateWrapper.check_wrapperTs	J	JDMM''400''42H2HIIII	D	DD"7D11L"7D11L#
D
D:%%#*>*>

l3/c1BCCCC	
D	


g)733333rc`d	d}d|_d|_d
d}tj||||fS)Nr>This is a new annotationc	dSrrras rrz,TestUpdateWrapper._default_update.<locals>.fh
 DrThis is also a testzThis is a bald faced lier?This is the prior annotationcdSrrrcs rr^z2TestUpdateWrapper._default_update.<locals>.wrappermDr)r>rf)r?rj)rr]r
update_wrapperr1rr^s   r_default_updatez!TestUpdateWrapper._default_updategsW				'2
				 !,,,zrc|\}}|||||j|||jd||j|j||jd||jdd|	d|jdS)Nrrir>rfr?)
rordrr]rOr(r*r__annotations__assertNotInr1r^rs   rtest_default_updatez%TestUpdateWrapper.test_default_updaters))++
7A&&&

g)1---)3///-q~>>>'<===057QRRRg566666rr:)Docstrings are omitted with -O2 and abovecj|\}}||jddSNzThis is a testrorO__doc__rss   rtest_default_update_docz)TestUpdateWrapper.test_default_update_doc|8))++
*:;;;;;rcd}d|_d}tj||dd|||dd||jd||j|j||jd||j	i|
t|ddS)Nc	dSrrrrrrz+TestUpdateWrapper.test_no_update.<locals>.frhrricdSrrrrrr^z1TestUpdateWrapper.test_no_update.<locals>.wrapperrlrrr^r)rr
rmrdrOr(assertNotEqualr*ryrqr4r5rns   rtest_no_updatez TestUpdateWrapper.test_no_updates			'			 !R4447Ar2...)9555G0!.AAA$///0"555&1122222rcd}d|_tddd|_d}i|_d}d	}tj|||||||||||jd
||j	|j	||j
d||jd||j|jdS)NcdSrrrrrrz2TestUpdateWrapper.test_selective_update.<locals>.frlrThis is a different testr9r:r@rGcdSrrrrrr^z8TestUpdateWrapper.test_selective_update.<locals>.wrapperrlrr	dict_attrr^)rrPrr
rmrdrOr(rr*ryr1rr^assignupdates     rtest_selective_updatez'TestUpdateWrapper.test_selective_updates			+Q!q)))			 !VV<<<7Avv666)9555G0!.AAA$///'ABBB*AK88888rcd}d}i|_d}d}tj|||||d|j||ji|`|t5tj||||dddn#1swxYwYd|_|t5tj||||ddddS#1swxYwYdS)NcdSrrrrrrz4TestUpdateWrapper.test_missing_attributes.<locals>.frlrcdSrrrrrr^z:TestUpdateWrapper.test_missing_attributes.<locals>.wrapperrlrrrrr9)rr
rmrrr"rOrYrrs     rtest_missing_attributesz)TestUpdateWrapper.test_missing_attributess						 !VV<<<!1222*B///


~
.
.	A	A$Wa@@@	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A


~
.
.	A	A$Wa@@@	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	As$;BB#&B#C00C47C4cd}tj|t||jd||jd||jidS)NcdSrrrrrr^z6TestUpdateWrapper.test_builtin_update.<locals>.wrapperrlrrzmax()	r
rmrrOr(rMry
startswithrq)r1r^s  rtest_builtin_updatez%TestUpdateWrapper.test_builtin_updates~
			 #...)5111226::;;;0"55555rN)r(r)r*r
WRAPPER_ASSIGNMENTSWRAPPER_UPDATESrdrortunittestskipIfrflagsoptimizerzrrrrrequires_docstringsrrrrr[r[Rs )<'74444&			777X_SY'1,@BB<<BB<
3
3
3999$AAA(
 X_SY'1,@BB66BB! 666rr[cveZdZdZdZejejj	dkddZ
dZdZdS)		TestWrapscfd}d|_d|_tj|d}||fS)Nc	dSrrrrrrz$TestWraps._default_update.<locals>.frhrrizThis is still a bald faced liecdSrrrrrr^z*TestWraps._default_update.<locals>.wrapperDr)rr]r
wrapsrns   rrozTestWraps._default_updatesO			'8
					
		zrc|\}}|||||jd||j|j||jddS)Nrri)rordrOr(r*rrss   rrtzTestWraps.test_default_updates))++
7A&&&)3///-q~>>>'<=====rr:rucj|\}}||jddSrwrx)r1r^_s   rrzz!TestWraps.test_default_update_docr{rczd}d|_tj|ddd}|||dd||jd||j|j||jd|	t|ddS)Nc	dSrrrrrrz#TestWraps.test_no_update.<locals>.frhrrircdSrrrrrr^z)TestWraps.test_no_update.<locals>.wrapperrrr^r)rr
rrdrOr(rr*ryr4r5rns   rrzTestWraps.test_no_updates			'	B	#	#		
$	#	7Ar2...)9555G0!.AAA$///&1122222rcd}d|_tddd|_d}d}d	}tj||||d
}|||||||jd||j	|j	||j
d||jd||j|jdS)NcdSrrrrrrz*TestWraps.test_selective_update.<locals>.frlrrr9r:r@rGci|_|Srr)rs r
add_dict_attrz6TestWraps.test_selective_update.<locals>.add_dict_attrsAKHrrrcdSrrrrrr^z0TestWraps.test_selective_update.<locals>.wrappers	
Drr^)rrPrr
rrdrOr(rr*ry)r1rrrrr^s      rrzTestWraps.test_selective_updates			+Q!q)))				FF	+	+			

,	+	7Avv666)9555G0!.AAA$///'ABBB*AK88888rN)
r(r)r*rortrrrrrrzrrrrrrrs			>>>X_SY'1,@BB<<BB<33399999rrceZdZdZdZdS)
TestReducec	nGdd}d}|||gddd|||ddggd	d
ggggd||dtd
ddd||dtd
ddd||||dd||||ddd||||ddd|t|j|t|jdd|t|jddd||ddd||dddd|t|jdd|t|j|g|t|j|d|t|j|d|t|j|tGdd}|t|j|||||gdd|||gddGdd}|t|jd|dS)Nc eZdZdZdZdZdS)'TestReduce.test_reduce.<locals>.Squaresc"||_g|_dSr)rsofar)r1rs  r__init__z0TestReduce.test_reduce.<locals>.Squares.__init__s


rc*t|jSr)lenrr\s rrz/TestReduce.test_reduce.<locals>.Squares.__len__	s4:&rcd|cxkr|jks	ntt|j}||kr(|j||z|dz
}||k(|j|S)Nrr9)rrrrappend)r1ins   rrz3TestReduce.test_reduce.<locals>.Squares.__getitem__szA((((((((
*:
OO1ffJ%%ac***FA1ffz!}$rN)r(r)r*rrrrrrSquaresrsA
 
 
 
'
'
'
%
%
%
%
%rrc||zSrrrs  rrNz#TestReduce.test_reduce.<locals>.addrXrrGrrOr>rErdw)r>rErdrc||zSrrrs  rrKz(TestReduce.test_reduce.<locals>.<lambda>s
!A#rr:rr9ic||zSrrrs  rrKz(TestReduce.test_reduce.<locals>.<lambda>s
QqSrlhr;ir*1)rrrceZdZdZdS)/TestReduce.test_reduce.<locals>.TestFailingIterctrRuntimeErrorr\s r__iter__z8TestReduce.test_reduce.<locals>.TestFailingIter.__iter__.s""rN)r(r)r*rrrrTestFailingIterr-s#
#
#
#
#
#rrceZdZdZdS)&TestReduce.test_reduce.<locals>.BadSeqctr)
ValueError)r1indexs  rrz2TestReduce.test_reduce.<locals>.BadSeq.__getitem__6s  rN)r(r)r*rrrrBadSeqr5s#
!
!
!
!
!rr)rOreducerrYrZrrr)r1rrNrrs     rtest_reducezTestReduce.test_reduces	%	%	%	%	%	%	%	%			S///2>>FFFKKsCj"sCj92>>	
	
	
	
%5%5uQqzz1EEtLLLKK((%"++q99	
	
	
	
S''"++66<<<S''"++q993???S''!**a88!<<<)T[111)T["b999)T["b"===R--s333RS113777)T["h???)T[#r:::)T[#r:::)T[#r:::)T[#vxx@@@	#	#	#	#	#	#	#	#	
,S//:K:KLLLS"d33T:::S"b112666	!	!	!	!	!	!	!	!	
*dk2vvxx@@@@@rc0Gdd}ddlm}||||dd||||ddd|t
|j||d||||ddd||||d	d||||d	ddd	d
dd}||||d
|dS)NceZdZdZdZdS)5TestReduce.test_iterator_usage.<locals>.SequenceClassc||_dSrr)r1rs  rrz>TestReduce.test_iterator_usage.<locals>.SequenceClass.__init__=
rc>d|cxkr|jkrnn|StNr)rr)r1rs  rrzATestReduce.test_iterator_usage.<locals>.SequenceClass.__getitem__?s(????DF?????H$$rN)r(r)r*rrrrr
SequenceClassr<s2



%
%
%
%
%rrr)rNr`r;r4r9r:r@)onetwothreer)operatorrNrOrrYrZrkeys)r1rrNrds    rtest_iterator_usagezTestReduce.test_iterator_usage;s	%	%	%	%	%	%	%	%	!     S--*:*:;;R@@@S--*:*:B??DDD)T[#}}Q7G7GHHHS--*:*:B??DDDS--*:*:;;Q???S--*:*:B??DDDa!,,S!,,bggaffhh.?.?@@@@@rN)r(r)r*rrrrrrrs;5A5A5ApAAAAArrc$eZdZer	ejZdSdS)TestReduceCN)r(r)r*rrrrrrrQs($#$$rrc.eZdZeejZdS)TestReducePyN)r(r)r*r#r
rrrrrrWs 
\,-
.
.FFFrrc8eZdZdZdZdZdZdZdZdZ	dS)	TestCmpToKeycd}||}||d|d||d|d||d|dd}||}||d|d||d|d||d|d||d|ddS)	Nc||k||kz
Srrrs  rcmp1z*TestCmpToKey.test_cmp_to_key.<locals>.cmp1^Ea!e$$rr@r9c@t|t|z
Srrrs  rcmp2z*TestCmpToKey.test_cmp_to_key.<locals>.cmp2esq66CFF?"rg@4r:35)
cmp_to_keyrO
assertGreaterassertGreaterEqual
assertLessassertLessEqualr)r1rrrs    rtest_cmp_to_keyzTestCmpToKey.test_cmp_to_key]sP	%	%	%ood##QQ(((33q6633q66***AA///	#	#	#ood##S33s88,,,AD		***SSVVSSYY///CCFFCCII.....rc<d}||}||d|d||d|d|tt
f5|ddkdddn#1swxYwY|tt
f5d|dkdddn#1swxYwY|t5|}dddn#1swxYwY|t5||d}dddn#1swxYwY||}|t5|dddn#1swxYwY|t5|ddddddS#1swxYwYdS)Nc||k||kz
Srrrs  rrz4TestCmpToKey.test_cmp_to_key_arguments.<locals>.cmp1nrrmycmpr@r8r9)rrOrrYrZrr1rrs   rtest_cmp_to_key_argumentsz&TestCmpToKey.test_cmp_to_key_argumentsmsv	%	%	%ooDo))SSQZZZ000331:::ssqzzz222


	>:
;
;		CFFQJJ															


	>:
;
;		
AJJ															


y
)
)	$	$//##C	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$


y
)
)	.	.//$--C	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.ood##


y
)
)		CEEE															


y
)
)		CdOOO																		slB++B/2B/C33C7:C7D99D=D=FFF;GGG7
HHHcd}||}|t5|d|dkdddn#1swxYwYGddfd}|t5|d|dkddddS#1swxYwYdS)Nctrrrs  rrz'TestCmpToKey.test_bad_cmp.<locals>.cmp1s##rr@r9ceZdZdZdS))TestCmpToKey.test_bad_cmp.<locals>.BadCmpctrrr0s  r__lt__z0TestCmpToKey.test_bad_cmp.<locals>.BadCmp.__lt__s''rN)r(r)r*rrrrBadCmprs#
(
(
(
(
(rrcSrr)rJrrs  rrz'TestCmpToKey.test_bad_cmp.<locals>.cmp1s688Or)rrYr)r1rrrs   @rtest_bad_cmpzTestCmpToKey.test_bad_cmpsy	$	$	$ood##


0
1
1		CFFSSVVOO																(	(	(	(	(	(	(	(					


0
1
1		CFFSSVVOO																		s#AA AB66B:=B:cd}||}||djddS)Nc||k||kz
Srrrs  rrz)TestCmpToKey.test_obj_field.<locals>.cmp1rrr2)rrOr1rs   rtest_obj_fieldzTestCmpToKey.test_obj_fieldsJ	%	%	%ooDo))Rb)))))rcd}|ttd||gddS)Nc||z
Srrrs  rrz)TestCmpToKey.test_sort_int.<locals>.mycmprXrr`r)rAr@r:r9r)rOsortedrr)r1rs  r
test_sort_intzTestCmpToKey.test_sort_ints[			adooe.D.DEEE(	*	*	*	*	*rcd}gd}t|||}|d|DgddS)NcXt|t|}}||k||kz
Srrrs  rrz-TestCmpToKey.test_sort_int_str.<locals>.mycmps*q663q66qAEa!e$$r)	r`3rbr:0rrA10r9rc,g|]}t|Srr)rrs  rrz2TestCmpToKey.test_sort_int_str.<locals>.<listcomp>s999#e**999r)	rr9r9r:r@rAr`rbr;)r
rrO)r1rvaluess   rtest_sort_int_strzTestCmpToKey.test_sort_int_strsx	%	%	%655DOOE$:$:;;;99&999555	7	7	7	7	7rcd}||}|d}|tt|||t
jjdS)Nc||z
Srrrs  rrz%TestCmpToKey.test_hash.<locals>.mycmprXrr;)rrYrZhashassertNotIsInstancecollectionsrOHashable)r1rrks    r	test_hashzTestCmpToKey.test_hashsh			ooe$$CGG)T1---  KO$<=====rN)
r(r)r*rrrr	rrrrrrrr[s}/// (


******777>>>>>rrc@eZdZerejZejdZdS)
TestCmpToKeyCcztj|ttddSr)rcheck_disallow_instantiationrrrr\s rtest_disallow_instantiationz)TestCmpToKeyC.test_disallow_instantiations>	,${--d3344	
	
	
	
	
rN)r(r)r*rrrcpython_onlyr#rrrr r sA, +





rr c.eZdZeejZdS)TestCmpToKeyPyN)r(r)r*r#r
rrrrr&r&s l566JJJrr&cJeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS)TestTotalOrderingctjGdd}||d|dk||d|dk||d|dk||d|dk||d|dk||d|dk||d|dkdS)Nc eZdZdZdZdZdS)3TestTotalOrdering.test_total_ordering_lt.<locals>.Ac||_dSrrr1rs  rrz<TestTotalOrdering.test_total_ordering_lt.<locals>.A.__init__
"


rc"|j|jkSrr-r0s  rrz:TestTotalOrdering.test_total_ordering_lt.<locals>.A.__lt__zEK//rc"|j|jkSrr-r0s  r__eq__z:TestTotalOrdering.test_total_ordering_lt.<locals>.A.__eq__zU[00rNr(r)r*rrr3rrrr'r+A
#
#
#
0
0
0
1
1
1
1
1rr'r9r:r
total_orderingrMr4r1r's  rtest_total_ordering_ltz(TestTotalOrdering.test_total_ordering_ltL		!	1	1	1	1	1	1	1
"	!	1	
!qqtt$$$!qqtt$$$!!%%%!!%%%!!%%%!!%%%1!%%%%%rctjGdd}||d|dk||d|dk||d|dk||d|dk||d|dk||d|dk||d|dkdS)Nc eZdZdZdZdZdS)3TestTotalOrdering.test_total_ordering_le.<locals>.Ac||_dSrr-r.s  rrz<TestTotalOrdering.test_total_ordering_le.<locals>.A.__init__r/rc"|j|jkSrr-r0s  r__le__z:TestTotalOrdering.test_total_ordering_le.<locals>.A.__le__r4rc"|j|jkSrr-r0s  rr3z:TestTotalOrdering.test_total_ordering_le.<locals>.A.__eq__r4rN)r(r)r*rrAr3rrrr'r>A
#
#
#
1
1
1
1
1
1
1
1rr'r9r:r7r9s  rtest_total_ordering_lez(TestTotalOrdering.test_total_ordering_leL		!	1	1	1	1	1	1	1
"	!	1	
!qqtt$$$!qqtt$$$!!%%%!!%%%!!%%%!!%%%11&&&&&rctjGdd}||d|dk||d|dk||d|dk||d|dk||d|dk||d|dk||d|dkdS)Nc eZdZdZdZdZdS)3TestTotalOrdering.test_total_ordering_gt.<locals>.Ac||_dSrr-r.s  rrz<TestTotalOrdering.test_total_ordering_gt.<locals>.A.__init__r/rc"|j|jkSrr-r0s  r__gt__z:TestTotalOrdering.test_total_ordering_gt.<locals>.A.__gt__r1rc"|j|jkSrr-r0s  rr3z:TestTotalOrdering.test_total_ordering_gt.<locals>.A.__eq__r4rN)r(r)r*rrKr3rrrr'rHr6rr'r9r:r7r9s  rtest_total_ordering_gtz(TestTotalOrdering.test_total_ordering_gtr;rctjGdd}||d|dk||d|dk||d|dk||d|dk||d|dk||d|dk||d|dkdS)Nc eZdZdZdZdZdS)3TestTotalOrdering.test_total_ordering_ge.<locals>.Ac||_dSrr-r.s  rrz<TestTotalOrdering.test_total_ordering_ge.<locals>.A.__init__r/rc"|j|jkSrr-r0s  r__ge__z:TestTotalOrdering.test_total_ordering_ge.<locals>.A.__ge__r4rc"|j|jkSrr-r0s  rr3z:TestTotalOrdering.test_total_ordering_ge.<locals>.A.__eq__r4rN)r(r)r*rrSr3rrrr'rPrCrr'r9r:r7r9s  rtest_total_ordering_gez(TestTotalOrdering.test_total_ordering_gerErcTtjGddt}||d|dk||d|dk||d|dk||d|dk||d|dk||d|dkdS)NceZdZdS)=TestTotalOrdering.test_total_ordering_no_overwrite.<locals>.ANr'rrrr'rXDrr'r9r:)r
r8rrMr9s  r test_total_ordering_no_overwritez2TestTotalOrdering.test_total_ordering_no_overwrites$		!							
"	!	!qqtt$$$!qqtt$$$!!%%%!!%%%!!%%%!!%%%%%rc|t5tjGdd}ddddS#1swxYwYdS)NceZdZdS)7TestTotalOrdering.test_no_operations_defined.<locals>.ANr'rrrr'r]srr')rYrr
r8r9s  rtest_no_operations_definedz,TestTotalOrdering.test_no_operations_defineds


z
*
*		

%






&
%
																		s AAAc>tjGfddtjGfddtjGfddtjGfdd|d	d	t|d	d	t|d	d	t|d	d	t|d	d	t|d	d	t|d	d	t|d	d	t|d	d	t|d	d	t|d	d	t|d	d	tdS)
Nc*eZdZdZfdZfdZdS)ATestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanc||_dSrr-r.s  rrzJTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__init__r/rcHt|r|j|jkSdSNF
isinstancerr1r2ImplementsLessThans  rr3zHTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__eq__*e%7885:44urcRt|r|j|jkStSrrfrNotImplementedrgs  rrzHTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThan.__lt__!+e%7884:33%%rNr(r)r*rr3rrhsrrhraV
#
#
#





&
&
&
&
&
&
&rrhc*eZdZdZfdZfdZdS)HTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualToc||_dSrr-r.s  rrzQTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__init__(r/rcHt|r|j|jkSdSrdrer1r2ImplementsLessThanEqualTos  rr3zOTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__eq__**e%>??5:44urcRt|r|j|jkStSrrkrus  rrAzOTestTotalOrdering.test_notimplemented.<locals>.ImplementsLessThanEqualTo.__le__.+e%>??5:44%%rNr(r)r*rr3rArvsrrvrr&rprrvc*eZdZdZfdZfdZdS)DTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanc||_dSrr-r.s  rrzMTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__init__5r/rcHt|r|j|jkSdSrdrer1r2ImplementsGreaterThans  rr3zKTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__eq__7*e%:;;5:44urcRt|r|j|jkStSrrkrs  rrKzKTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThan.__gt__;+e%:;;4:33%%rNr(r)r*rr3rKrsrrr}3rprrc*eZdZdZfdZfdZdS)KTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualToc||_dSrr-r.s  rrzTTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__init__Br/rcHt|r|j|jkSdSrdrer1r2ImplementsGreaterThanEqualTos  rr3zRTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__eq__D*e%ABB5:44urcRt|r|j|jkStSrrkrs  rrSzRTestTotalOrdering.test_notimplemented.<locals>.ImplementsGreaterThanEqualTo.__ge__H+e%ABB5:44%%rNr(r)r*rr3rSrsrrr@rprrr9)r
r8rrArlrKrSr)r1rrrhrvs @@@@rtest_notimplementedz%TestTotalOrdering.test_notimplementeds<		!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&
	!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&
	!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&
	!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&	


((++22155~FFF

((++22155~FFF

((++22155~FFF

//2299!<<nMMM

//2299!<<nMMM

//2299!<<nMMM

++A..55a88.III

++A..55a88.III

++A..55a88.III

22155<<Q??PPP

22155<<Q??PPP

22155<<Q??PPPPPrctjGfddtjGfddtjGfddtjGfddtjGfd	d
|d5|t5dd
kdddn#1swxYwYdddn#1swxYwY|d5|t5ddkdddn#1swxYwYdddn#1swxYwY|d5|t5d
d
kdddn#1swxYwYdddn#1swxYwY|d5|t5ddkdddn#1swxYwYdddn#1swxYwY|d5|t5ddkdddn#1swxYwYdddn#1swxYwY|d5|t5ddkdddn#1swxYwYdddn#1swxYwY|d5|t5ddkdddn#1swxYwYdddn#1swxYwY|d5|t5ddkdddn#1swxYwYdddn#1swxYwY|d5|t5ddkdddn#1swxYwYdddn#1swxYwY|d5d}d}||||t5||kdddn#1swxYwYdddn#1swxYwY|d5d }d }||||t5||kdddn#1swxYwYddddS#1swxYwYdS)!Nc*eZdZdZfdZfdZdS)RTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanc||_dSrr-r.s  rrz[TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__init___r/rcHt|r|j|jkSdSrdrergs  rr3zYTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__eq__arircRt|r|j|jkStSrrkrgs  rrzYTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThan.__lt__ermrNrnrosrrhr]rprrhc*eZdZdZfdZfdZdS)UTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanc||_dSrr-r.s  rrz^TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__init__lr/rcHt|r|j|jkSdSrdrers  rr3z\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__eq__nrrcRt|r|j|jkStSrrkrs  rrKz\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThan.__gt__rrrNrrsrrrjrprrc*eZdZdZfdZfdZdS)YTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualToc||_dSrr-r.s  rrzbTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__init__yr/rcHt|r|j|jkSdSrdrerus  rr3z`TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__eq__{rwrcRt|r|j|jkStSrrkrus  rrAz`TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsLessThanEqualTo.__le__ryrNrzr{srrvrwrprrvc*eZdZdZfdZfdZdS)\TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualToc||_dSrr-r.s  rrzeTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__init__r/rcHt|r|j|jkSdSrdrers  rr3zcTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__eq__rrcRt|r|j|jkStSrrkrs  rrSzcTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ImplementsGreaterThanEqualTo.__ge__rrNrrsrrrrprrc&eZdZdZfdZdZdS)XTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplementedc||_dSrr-r.s  rrzaTestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__init__r/rcHt|r|j|jkSdSrdre)r1r2ComparatorNotImplementeds  rr3z_TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__eq__s*e%=>>5:44urctSr)rlr0s  rrz_TestTotalOrdering.test_type_error_when_not_implemented.<locals>.ComparatorNotImplemented.__lt__s%%rNrn)rsrrrsL
#
#
#





&
&
&
&
&rrzLT < 1r9zLT < LErzLT < GTzLE <= LTr:zLE <= GEr@zGT > GErAzGT > LTr`zGE >= GTrzGE >= LErbz
GE when equalrz
LE when equalr)r
r8r9rYrZrO)r1r>r?rrrrhrvs   @@@@@r$test_type_error_when_not_implementedz6TestTotalOrdering.test_type_error_when_not_implementedZs
	!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&
	!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&
	!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&
	!
	&
	&
	&
	&
	&
	&
	&
	&
	&
"	!
	&
	!	&	&	&	&	&	&	&	&	&
"	!	&\\(
#
#	'	'T%6%6y%A%A	'	'r""Q&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'\\)
$
$	A	Ad&7&7	&B&B	A	Aq!!$=$=a$@$@@@	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A\\)
$
$	=	=d&7&7	&B&B	=	=q!!$9$9!$<$<<<	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=\\*
%
%	B	Bt'8'8'C'C	B	B%%a((,>,>q,A,AAA	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B\\*
%
%	L	Lt'8'8'C'C	L	L%%a((,H,H,K,KKK	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L\\)
$
$	G	Gd&7&7	&B&B	G	G!!!$$'C'CA'F'FFF	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G\\)
$
$	=	=d&7&7	&B&B	=	=!!!$$'9'9!'<'<<<	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=\\*
%
%	H	Ht'8'8'C'C	H	H((++/D/DQ/G/GGG	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H\\*
%
%	L	Lt'8'8'C'C	L	L((++/H/H/K/KKK	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L\\/
*
*		((++A((++AQ"""""9--

Q














																\\/
*
*		((++A((++AQ"""""9--

Q














																			sTDC7+D7C;	;D>C;	?DDD.F	E."F.E2	2F5E2	6FF	F	%G<G%G<%G)	)G<,G)	-G<<HHI37II3I 	 I3#I 	$I33I7:I7K*.KK*K	K*K	K**K.1K.
M!%M
>M!
M	M!M	M!!M%(M%OO5OO	OO		OOO8QP8,Q8P<	<Q?P<	QQQ/S
R/#S/R3	3S6R3	7SS

S
&AU-U4UU	UU	UUU7AW)>WW)W	W)W	W))W-0W-c	PttjdzD]}dD]}|||5t	t
|}tjtj||}|||dddn#1swxYwYdS)Nr9)rrKrArS)rAr)	rrrr9rOrderable_LTrrr)r1rrrAmethod_copys     rrzTestTotalOrdering.test_pickles62Q677	7	7E>
7
7\\U\;;77$\488F"(,v|FE/J/J"K"KKMM+v666777777777777777
7	7	7sABB BctjGfddtGdd}Gdd}|||k|||kdS)Nc4eZdZfdZfdZfdZxZS)WTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMetacLt||||Sr)super__new__)r&rbasesns	__class__s    rrz_TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__new__swwsD%<<<rcFt|s	|j|jkSrrfr(r1r2SortableMetas  rrz^TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__lt__s'!%66}u~55rcFt|s	|j|jkSrrrs  rr3z^TestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.SortableMeta.__eq__s'!%66}66r)r(r)r*rrr3
__classcell__)rrs@rrrsk
=
=
=
=
=
6
6
6
6
6

7
7
7
7
7
7
7
7
7rrceZdZdS)LTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.BNr'rrrrBrDrrB	metaclassceZdZdS)LTestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605.<locals>.ANr'rrrr'rrrr')r
r8rrMr4)r1rBr'rs   @r/test_total_ordering_for_metaclasses_issue_44605zATestTotalOrdering.test_total_ordering_for_metaclasses_issue_44605s		!	7	7	7	7	7	7	74	7	7
"	!	7					,									,					
AQrN)
r(r)r*r:rDrMrUrZr^rrrrrrrr(r(s&&&"'''"&&&"'''"
&
&
&AQAQAQFiiiV777     rr(c eZdZdZdZdZdS)rc||_dSrr-r.s  rrzOrderable_LT.__init__s



rc"|j|jkSrr-r0s  rrzOrderable_LT.__lt__szEK''rc"|j|jkSrr-r0s  rr3zOrderable_LT.__eq__szU[((rNr5rrrrrsA((()))))rrceZdZdZdS)	TestCachec	|jjfd|fdtdDgd||jdddd||jdddddS)NcN|dkr|S|dz
|dz
zSNr:r9rrfibs rrz!TestCache.test_cache.<locals>.fib41uu3qs88cc!A#hh&&rc&g|]
}|Srrrrrs  rrz(TestCache.test_cache.<locals>.<listcomp>!444Q##a&&444rrrr9r9r:r@r`r
r"7Yiyibhitsmissesmaxsizecurrsizer)rcacherOr
cache_info
_CacheInfocache_clearr1rs @r
test_cachezTestCache.test_caches	
		'	'	'	'
		'	
4444%))444III	K	K	K))K""2tb"QQ	S	S	S))K""!TA"NN	P	P	P	P	PrN)r(r)r*rrrrrrs(PPPPPrrc.eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZejdZejdZejdZdZdZdZdZdZdZdZdS)TestLRUcD
d}|jd|}|\}}}}||d||d||d||dt	d}t	dD]N}t|t|}
}	||	|
}||	|
}|||O|\}}}}|||k|||zd||d||\}}}}||d||d||d||	|
|\}}}}||d||d||d||j	||	|	|
|\}}}}||d||d||d|jd
fd}||j
dd
t	dD] }||d!|
d|\}}}}||d||d||d|jd
fd	}||j
dd
t	dD] }||d!|
d|\}}}}||d
||d||d|jd
fd}||j
dd
d
D]$}	|||	|	dz%|
d
|\}}}}||d||d
||ddS)Ncd|z|zSNr@rrs  rorigzTestLRU.test_lru.<locals>.orig	q519rr<rrr`r9cdz
dSNr9r<rf_cntsrrzTestLRU.test_lru.<locals>.f1
QJE2rcdz
dSrrrsrrzTestLRU.test_lru.<locals>.fArrrAr:cdz
|dzSNr9r;r)rJrs rrzTestLRU.test_lru.<locals>.fQs
QJER4Kr)rbrrbrrbrrrrrrrrrrrbr;)r	lru_cacherrOrrrMrrr]r)r1rrrrrrdomainrrJractualrqrs             @rtest_lruzTestLRU.test_lrus			-DK!!"!--d33*+,,..'fgx"%%%1%%%q!!!###qt	/	/A&>>6&>>qAQq!WWFtAqzzHVX....*+,,..'fgxv
&&&---2&&&	

*+,,..'fgxq!!!###1%%%	!Q*+,,..'fgxq!!!###1%%%	


amT***	

a*+,,..'fgxq!!!###1%%%
		q	!	!				
"	!		
/333q	&	&AQQSS"%%%%"""*+,,..'fgxq!!!###1%%%
		q	!	!				
"	!		
/333q	&	&AQQSS"%%%%"""*+,,..'fgxq!!!###1%%%
		q	!	!				
"	!		
/333?	)	)AQQqTT1R4(((("""*+,,..'fgxr"""###1%%%%%rc	|jjd}|tt	|gdgd||jd||jd||jd||j	ddS)Nc|dzSNr:rrIs rsquarez(TestLRU.test_lru_no_args.<locals>.squarebs6Mr)r;r<r;)dirr9r:)
rrrOr/rQrrrrr)r1rs  rtest_lru_no_argszTestLRU.test_lru_no_argsas	
			
			
c&,,,7788(	*	*	***,,11555**,,3Q777**,,4c:::**,,5q99999rcd|jdfdtdD]%}||d|d&|jd|dd|jddS)	NTr;rc>d|d}|dkrr
d|}|S)N.r<Fr)rJrvronces  rrz%TestLRU.test_lru_bug_35780.<locals>.fvs6QBBww4wQqTTIrrr<z.20.)rrrrOrr)r1rJrr
s  @@rtest_lru_bug_35780zTestLRU.test_lru_bug_35780ms	
		r		*	*					
+	*	r	-	-AQQqTT8q888,,,,0"555	
2'''0"55555rc|jd}|d|dii||jddS)NcdSrrrIs rrz%TestLRU.test_lru_bug_36650.<locals>.frrrr9rn)rrrOrrrs  rtest_lru_bug_36650zTestLRU.test_lru_bug_36650ss
			 	 		
!	 		
!	

r


,a00000rc^|jdd}tj}tjd|_tjd|_|||dd||jjd||	d|||dd||jjd	||	d
||dd	d||jjd	||	d
|||dd||jjd||	ddS)Nr9rc|dz|zSrrrs  rrz*TestLRU.test_lru_hash_only_once.<locals>.fq519rr)return_valueir)rr9r9r9r:)r9r9r9r9rr<)r9r:r9r9r@)r9r@r9r9)
rrrmockMock__mul____hash__rO
call_countr)r1rmock_ints   rtest_lru_hash_only_oncezTestLRU.test_lru_hash_only_onces
		q		)	)		
*	)	=%%''#=--2->>$M..C.@@	
8Q,,,*5q999666	
8Q,,,*5q999666	
1a"%%%*5q999666	
8Q,,,*5q99966666rc tj}	|jdtt_dD]-}|tdd||.	|t_dS#|t_wxYw)NrA)
rrr9r:r@r@rAr`rr9rbr:r9abcdefghijklmn)builtinsrrrrO)r1old_lenrs   rtest_lru_reentrancy_with_lenz$TestLRU.test_lru_reentrancy_with_lens,	#34;0033C88HL<
?
?  %5bqb%9!:!:A>>>>
?#HLLL7HL""""sA"A??B
c|jd}||ddd||dddS)Nc|Srrrs rrz-TestLRU.test_lru_star_arg_handling.<locals>.fsKrr9r:rV)rVrrrOrs  rtest_lru_star_arg_handlingz"TestLRU.test_lru_star_arg_handlingsp	
			 	 		
!	 		
1a&)))6I.....rc|jdd}|jdd}|t5|gdddn#1swxYwY|t5|gddddS#1swxYwYdS)NrcdSrros rinfinite_cachez3TestLRU.test_lru_type_error.<locals>.infinite_cacherrr;cdSrrr*s r
limited_cachez2TestLRU.test_lru_type_error.<locals>.limited_cacherr)rrrYrZ)r1r,r.s   rtest_lru_type_errorzTestLRU.test_lru_type_errorse

		t		,	,		
-	,	
		r		*	*		
+	*	

y
)
)		N2															

y
)
)		M"																		s$#A;;A?A? B99B=B=c	|jdfd|fdtdDgd||jdddd||jdddddS)	NrcN|dkr|S|dz
|dz
zSrrrs rrz/TestLRU.test_lru_with_maxsize_none.<locals>.fibrrc&g|]
}|Srrrs  rrz6TestLRU.test_lru_with_maxsize_none.<locals>.<listcomp>rrrrrrrrrrOrrrrrs @rtest_lru_with_maxsize_nonez"TestLRU.test_lru_with_maxsize_nones	
		t		,	,	'	'	'	'
-	,	'	
4444%))444III	K	K	K))K""2tb"QQ	S	S	S))K""!TA"NN	P	P	P	P	Prc	t|jdddD]K}|fdtdDt	tdL||jdddd	dS)
Nirc|Srrrs reqz2TestLRU.test_lru_with_maxsize_negative.<locals>.eqHrroc&g|]
}|Srr)rrr7s  rrz:TestLRU.test_lru_with_maxsize_negative.<locals>.<listcomp>s!888bbee888rri,r)rrrOrr/rr)r1rr7s  @rtest_lru_with_maxsize_negativez&TestLRU.test_lru_with_maxsize_negatives	
		s		+	+		
,	+		L	LA8888U3ZZ888$uSzz:J:JKKKKK""#q1"MM	O	O	O	O	OrcdD]}|j|d}||dd|t5}|ddddn#1swxYwY||jj|t5|ddddn#1swxYwYdS)NNrcd|S)NrOrrs rr z.TestLRU.test_lru_with_exceptions.<locals>.funcsQxrrr>r)rrrOrYrassertIsNone	exception__context__)r1rr cms    rtest_lru_with_exceptionsz TestLRU.test_lru_with_exceptionssh#
	
	G
[
"
"7
+
+
 
 ,
+
 TT!WWc***"":..
"R














bl6777"":..

R















	
	s$!A99A=	A=	=CC	C	cdD]}|j|dd}||dd|t|dtd||dd|t|dtd||d	d|t|d	td||d	d|t|d	td||jd
||jd
dS)Nr=Trtypedc||zSrrrIs rrz+TestLRU.test_lru_with_types.<locals>.square
s1urr@rg@g"@rIrA)rrrOrrrr)r1rrs   rtest_lru_with_typeszTestLRU.test_lru_with_typess"
	<
	<G
[
"
"7$
"
?
?

@
?
VVAYY***T&&))__d1gg666VVC[[#...T&&++..S		:::VVa[[[!,,,T&&1+++..Q888VVc]]]C000T&&3---00$s))<<<V..005q999V..007;;;;
	<
	<rcF|jdt}||dd||dd||dd||dd	||d
d||dd
||dd||dd||dd||dd||dd||ddGddt}|||dd|||dd|||dd|||dd|||dd|||dddS)NT)rGr9rTrue?z1.0rrFFalsez0.0rz(1,))T)rLrnz(0,))F)rNceZdZdS)8TestLRU.test_lru_cache_typed_is_not_recursive.<locals>.TNr'rrrTrP)rrrQ)rrrrOr)r1cachedrQs   r%test_lru_cache_typed_is_not_recursivez-TestLRU.test_lru_cache_typed_is_not_recursives2&&T&22488C(((v...e,,,C(((000e,,,v...&111000v...))6222000									
$&111'

++V444&		**F333$&111(,,f555&		**F33333rc	|jfd|fdtdDgd||jdddd||jdddddS)	NcR|dkr|S|dz
|dz
zSNr:r9rrrs rrz/TestLRU.test_lru_with_keyword_args.<locals>.fib481uu31:::ac


**rc(g|]}|Srrrnumberrs  rrz6TestLRU.test_lru_with_keyword_args.<locals>.<listcomp>:s#333vSS6]]]333rrrrrrrr3rs @rtest_lru_with_keyword_argsz"TestLRU.test_lru_with_keyword_args3s	
			 	 	+	+	+	+
!	 	+	
3333r333III	
	
	
	
))K""2sR"PP	R	R	R))K""!S1"MM	O	O	O	O	Orc	|jdfd|fdtdDgd||jdddd||jdddddS)	NrcR|dkr|S|dz
|dz
zSrVrrs rrz<TestLRU.test_lru_with_keyword_args_maxsize_none.<locals>.fibDrWrc(g|]}|SrYrrZs  rrzCTestLRU.test_lru_with_keyword_args_maxsize_none.<locals>.<listcomp>Is#@@@F##---@@@rrrrrrr3rs @r'test_lru_with_keyword_args_maxsize_nonez/TestLRU.test_lru_with_keyword_args_maxsize_noneCs	
		t		,	,	+	+	+	+
-	,	+	
@@@@eBii@@@III	K	K	K))K""2tb"QQ	S	S	S))K""!TA"NN	P	P	P	P	Prc	b|jdd}||ddddg||dd	ddg|||jd
ddddS)Nr;rcDt|Sr)r/items)rs rrz$TestLRU.test_kwargs_order.<locals>.fSs'''rr9r:r=)r>r9)r?r:)r?r>rr)rrrOrrrs  rtest_kwargs_orderzTestLRU.test_kwargs_orderQs	
		r		*	*	(	(
+	*	(Q!x&:;;;Q!x&:;;;K""!R!"LL	N	N	N	N	Nrcdd}|j|}|jjD]4}|t	||t	||5dS)Nzomgzomg_annotationc	dS)Nrr)rfs rrz,TestLRU.test_lru_cache_decoration.<locals>.f\s
2r)rfrg)rrrrOr)r1rgrs    rtest_lru_cache_decorationz!TestLRU.test_lru_cache_decoration[s				
$DK!!##A&&K3	A	ADWQ--wq$/?/?@@@@	A	Arc	

d\}dj|z		\}}}}|dt	j
	
fd
	
fd}t
j}tj	d	
fdt|D}tj|5

dddn#1swxYwY	\}}}}jtur3||||z|z
n2||||z|z
||t	j|	g}|
fd
t|Dz
}
tj|5

dddn#1swxYwYt
j	|dS#t
j	|wxYw)N)r`cd|z|zSrrrs  rrz-TestLRU.test_lru_cache_threaded.<locals>.origfrrrrcdtD],}|d|d-dS)Nr;r)waitrrO)rrrmrr1starts  rfullz-TestLRU.test_lru_cache_threaded.<locals>.fullms^JJrNNN1XX
6
6  1a$$q!**5555
6
6rcdtdzD]}dS)Nr;r:)rorr)rrrprqs rclearz.TestLRU.test_lru_cache_threaded.<locals>.clearrsDJJrNNN1Q3ZZ
 
 


 
 rư>c>g|]}tj|gS)targetr	threadingThreadrrrrs  rrz3TestLRU.test_lru_cache_threaded.<locals>.<listcomp>{s;***!'t1#>>>***rrxc>g|]}tj|gSrwryr|s  rrz3TestLRU.test_lru_cache_threaded.<locals>.<listcomp>s;+++"(A3???+++r)rrrrOrzEventrgetswitchintervalrsetswitchintervalrr
start_threadssetr
rr{rt)r1rrrrrrtorig_sithreadsrrrrprrqs`        @@@@@rtest_lru_cache_threadedzTestLRU.test_lru_cache_threadedcs:1			.DK!!!A#!..t44*+,,..'fgx1%%%!!	6	6	6	6	6	6	6	6	6
	 	 	 	 	 	 	 
'))!$'''	+**** %a***G!/88

		














/0llnn+D&'8{l**$$VQ///$$T1Q3<8888  +++  qsV|444Xq)))!'u5556G++++!&q+++
+GKKMMM!/88

		















!'*****C!'****sU0/ID4IDIDDI	H*I*H..I1H.2II!c
	d\}tj|dztj|dztj|dzj|zfddd|zdffd		fdt
|D}tj|5t
D]}	d
	d
	d
d|dz|z|z|dzf	ddddS#1swxYwYdS)	N)r`rbr9rc8dd|zSNr;r@)ro)rJpauses rrz+TestLRU.test_lru_cache_threaded2.<locals>.fsJJrNNNq5LrrctD]N}d|d|zdOdSr)rrorO)rrrpr1rqstops rtestz.TestLRU.test_lru_cache_threaded2.<locals>.testsd1XX



2  1q1u---		"





rc:g|]}tjS)r}ry)rrrs  rrz4TestLRU.test_lru_cache_threaded2.<locals>.<listcomp>s'CCCQ9#4000CCCrr;)rzBarrierrrrOrrrrroreset)
r1rrrrrprrqrrs
`   @@@@@@rtest_lru_cache_threaded2z TestLRU.test_lru_cache_threaded2s:1!!A#&&!!A#&& 1%%	
		qs		+	+				
,	+		
!Q!Q888									
DCCC%((CCC

+G
4
4	I	I1XX
I
I

2



2


		"





  !ac1Wac1Q31GHHHH
I	I	I	I	I	I	I	I	I	I	I	I	I	I	I	I	I	I	Is"CF66F:=F:cjddfdfdtgdD}tj|5	ddddS#1swxYwYdS)Nr:rc4tjdd|zS)Ng{Gz?r@)timesleeprIs rrz+TestLRU.test_lru_cache_threaded3.<locals>.fsJsOOOq5Lrc|5|d|z|ddddS#1swxYwYdS)N)threadr@)r9rO)rrJrr1s  rrz.TestLRU.test_lru_cache_threaded3.<locals>.testsQ''
1
1  1q1ua000
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1s$A		A
A
cFg|]\}}tj||fSrwry)rrvrs   rrz4TestLRU.test_lru_cache_threaded3.<locals>.<listcomp>sA;;;q!#4q!f===;;;r)r9r:r:r@r:)rr	enumeraterr)r1rrrs` @@rtest_lru_cache_threaded3z TestLRU.test_lru_cache_threaded3s	
		q		)	)		
*	)		1	1	1	1	1	1;;;;(99;;;

+G
4
4																				sA..A25A2c$|jddGfdddd|dddS)Nr;rc	|SrrrIs r	test_funcz.TestLRU.test_need_for_rlock.<locals>.test_funcs
SHrc*eZdZ	dZdZfdZdS)-TestLRU.test_need_for_rlock.<locals>.DoubleEqc||_dSrrIr1rJs  rrz6TestLRU.test_need_for_rlock.<locals>.DoubleEq.__init__rrc|jSrrIr\s rrz6TestLRU.test_need_for_rlock.<locals>.DoubleEq.__hash__s	v
rcb|jdkrd|j|jkSrrI)r1r2DoubleEqrs  rr3z4TestLRU.test_need_for_rlock.<locals>.DoubleEq.__eq__s56Q;;Ihhqkk***v((rN)r(r)r*rrr3)rrsrrrsTK






)
)
)
)
)
)
)
)rrr9r:r&)r1rrs @@rtest_need_for_rlockzTestLRU.test_need_for_rlocks
		r		*	*		
+	*			)		)		)		)		)		)		)		)		)		)		)		((1++	((1++88A;;//!!	&	&	&	&	&rcGfddt}|d}|d}|d}|jddD]1}|||dzdz2|j|j|jfd|jd	d
D]1}|||dzdz2|j|j|jfd|jdd
D]1}|||dzdz2|j|j|jfd|jd|j|j|j|j|j|jdS)NcZeZdZdZjddZdS)"TestLRU.test_lru_method.<locals>.Xrr:c2|xjdz
c_|dz|zSrrrs  rrz$TestLRU.test_lru_method.<locals>.X.fs

a

tDy rN)r(r)r*rrrrr\srXrsDE
[
"
"1
%
%
!
!&
%
!
!
!rrr`rb)rrr:r)
r9r:r:r@r9r9r9r:r@r@r;)rrr)rArr:r:)
r9r:r9r9r9r9r@r:r:r:)rrAr)r;r;r:r:)
r:r9r9r9r9r:r9r@r:r9)rrAr`)rrr:r:)rrOrrr)r1rr>r?rErJs`     rtest_lru_methodzTestLRU.test_lru_methods	!	!	!	!	!	!	!	!	!	!
AaDD
AaDD
AaDD))<888-	/	/AQSSVVQrTAX....!'17AG4i@@@))<888-	/	/AQSSVVQrTAX....!'17AG4i@@@))>:::-	/	/AQSSVVQrTAX....!'17AG4i@@@))>:::))13>>+;+;<<<))13>>+;+;<<<))13>>+;+;<<<<<rc	d|j}|jd|j|jfD]}t	t
jdzD]n}|||5tjtj	||}|
||dddn#1swxYwYodS)Nrr9)rr )rcached_funccached_methcached_staticmethrrrr9rrr)r1r&rrrs     rrzTestLRU.test_picklesn#S_c6KK	-	-Av6:;;
-
-\\A\66--#\&,q%*@*@AAFMM&!,,,---------------
-	-	-s>B##B'*B'c|j}d}|j|d}|jd|j|j|jd|f}|D]Z}||5tj|}|	||dddn#1swxYwY[dS)Ncd|z|zSrrrs  rrzTestLRU.test_copy.<locals>.origrrr:rr )
rrrLrrrrr9rrr1r&rr#funcsrrs       rrzTestLRU.test_copys
n			{""4++#S_c6K)&&q))$//1	)	)A1%%
)
)1

fa(((
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)	)	)<+B33B7	:B7	c|j}d}|j|d}|jd|j|j|jd|f}|D]Z}||5tj	|}|
||dddn#1swxYwY[dS)Ncd|z|zSrrrs  rrz#TestLRU.test_deepcopy.<locals>.origrrr:rr)rrrLrrrrr9rrrrs       rrzTestLRU.test_deepcopy	sn			{""4++#S_c6K)&&q))$//1	)	)A1%%
)
)q))

fa(((
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)	)	)rcD|jdd}||ddd|jddd}||ddddS)	Nr:rcdSNr9rrrrrz,TestLRU.test_lru_cache_parameters.<locals>.f1rFrFrTcdSrrrrrrz,TestLRU.test_lru_cache_parameters.<locals>.frr)rrrOcache_parametersrs  rtest_lru_cache_parametersz!TestLRU.test_lru_cache_parameterss	
		q		)	)		
*	)	++--1u/M/MNNN	
		t4		8	8		
9	8	++--4$/O/OPPPPPrcjjd}Gfdd}tj|tj|jtj|jg}|D]}| ~~tj|D]}	| dS)Nc|SrrrIs r
test_functionz9TestLRU.test_lru_cache_weakrefable.<locals>.test_function!r8rcxeZdZjjdZejjfdZdS)-TestLRU.test_lru_cache_weakrefable.<locals>.Ac
||fSrrrs  rtest_methodz9TestLRU.test_lru_cache_weakrefable.<locals>.A.test_method&say rc|fSrr)rJr1s rtest_staticmethodz?TestLRU.test_lru_cache_weakrefable.<locals>.A.test_staticmethod*say rN)r(r)r*rrrr#rr\srr'r%si
[
"
!
!#
"
!
[
"
!
!
!
!#
"\
!
!
!rr')
rrweakrefrefrrassertIsNotNonegccollectr@)r1rr'refsrs`    rtest_lru_cache_weakrefablez"TestLRU.test_lru_cache_weakrefable s	
			
			!	!	!	!	!	!	!	!	!	!M**AM**A/002	(	(C  ''''


	%	%Cccee$$$$	%	%rN) r(r)r*rrrrrr"r'r/r4r;rDrIrSr\r`rdrjrrequires_working_threadingrrrrrrrrrrrrrrrsW&W&W&r
:
:
:6666111!7!7!7F
#
#
#///&PPPOOO <<< 4446OOO PPPNNNAAA1022.+.+32.+`1022II32I6102232&&&0===>---
)
)
)
)
)
)	Q	Q	Q%%%%%rrcd|z|zSrrrs  rpy_cached_funcr>sq519rcd|z|zSrrrs  r
c_cached_funcrC1uqyrceZdZeZefZedZe	edZ
dS)	TestLRUPycd|z|zSrrrMs   rrzTestLRUPy.cached_methLrrcd|z|zSrrrs  rrzTestLRUPy.cached_staticmethPs1uqyrN)r(r)r*r
rrrrrr#rrrrrrHsx
F /K\rrceZdZerIeZefZedZe	edZ
dSdS)TestLRUCcd|z|zSrrrMs   rrzTestLRUC.cached_meth\rrcd|z|zSrrrs  rrzTestLRUC.cached_staticmeth`sq519rN)r(r)r*rrrrrrr#rrrrrrVs#n							
		
							
	
			rrc
eZdZdZdZdZdZeje	de
jdZdZ
dZd	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%d S)!TestSingleDispatchc*tjd}d}|t|||dd||dd||gdddS)NcdSNrrr8s rriz3TestSingleDispatch.test_simple_overloads.<locals>.gh6rcdS)Nintegerrr?s rg_intz7TestSingleDispatch.test_simple_overloads.<locals>.g_intks9rrrr9rr9r:r@)r
singledispatchregisterrrOr1rirs   rtest_simple_overloadsz(TestSingleDispatch.test_simple_overloadsgs		!		
"	!					

356***1y)))777V,,,,,rc<tjd}Gdd}Gdd|}Gdd|}Gdd	||}d
}d}|||||||||d|||d|||d|||ddS)NcdSrrr8s rriz&TestSingleDispatch.test_mro.<locals>.gsrrceZdZdS)&TestSingleDispatch.test_mro.<locals>.ANr'rrrr'rvrrr'ceZdZdS)&TestSingleDispatch.test_mro.<locals>.CNr'rrrCrxrrrceZdZdS)&TestSingleDispatch.test_mro.<locals>.BNr'rrrrBrzrrrBceZdZdS)&TestSingleDispatch.test_mro.<locals>.DNr'rrrDr|rrrcdS)Nr'rras rg_Az(TestSingleDispatch.test_mro.<locals>.g_A~3rcdS)NrBrrcs rg_Bz(TestSingleDispatch.test_mro.<locals>.g_Brr)r
rrrO)r1rir'rrBrrrs        rtest_mrozTestSingleDispatch.test_mrors		!		
"	!																														1										

1c	

1c1133%%%1133%%%1133%%%1133%%%%%rctjd}|td}||dd||dd||t|||t|tdS)NcdSrrr8s rriz5TestSingleDispatch.test_register_decorator.<locals>.grrcd|S)Nzint rr?s rrz9TestSingleDispatch.test_register_decorator.<locals>.g_ints q?"rrrrzint 12)	r
rrrrOrdispatchrrrs   rtest_register_decoratorz*TestSingleDispatch.test_register_decorators		!		
"	!		
C	#	#
	#2'''2)))

ajjoou---

ajj((!**S//:::::rctjd}||jdtjjdkr||jddSdS)Nc	dS)NTestrr8s rriz6TestSingleDispatch.test_wrapping_attributes.<locals>.gs
6rrir:zSimple test)r
rrOr(rrrry)r1ris  rtest_wrapping_attributesz+TestSingleDispatch.test_wrapping_attributesso		!		
"	!		
S)))9!!QY
66666"!rzrequires _decimalc0tjd}|tjd}td}td}|||d|||d|tjd}|||d|||ddS)	NcdSrrr8s rriz,TestSingleDispatch.test_c_classes.<locals>.grrc|jSrr%r8s rrz,TestSingleDispatch.test_c_classes.<locals>._s	8OrExponent < EminNumber got rounded)r
)rcdS)NToo small to care.rr8s rrz,TestSingleDispatch.test_c_classes.<locals>._s''rr
)r
rrrDecimalException	SubnormalRoundedrO)r1rirsubnrnds     rtest_c_classesz!TestSingleDispatch.test_c_classess
	!		
"	!		
G,	-	-		
.	-	  !233oo2334"67773!8999	
G%	&	&	(	(
'	&	(4"67773!899999rc6tj}tj}|j|j|j|jg}t|D]Y}|t|}|
|t|j|j|j|j|j
|jtgZ|j|j|jtjg}t|D]c}|tj|}|
|tj|j|j|j|j|j
|jtgd|j|jt$g}t|D]c}|tj|j|jt$g}|
|tjt|j|jtgdGddtj}|j||j|jg}t|D]r}|||}|
|||j|j|jtjt|j|j|j|j|j
|jtg
sGddtj}|j|j|j|jg}t|D]`}|||}|
|||jtjt|j|j|j|j
|jtg
adS)NceZdZdS).TestSingleDispatch.test_compose_mro.<locals>.DNr'rrrrrrrrceZdZdZdS).TestSingleDispatch.test_compose_mro.<locals>.CcdSrrr\s r__call__z7TestSingleDispatch.test_compose_mro.<locals>.C.__call__rNr(r)r*rrrrrr#




rr)rrOr
_compose_mroSequenceMutableMappingMappingSetrrPrO
CollectionSizedIterable	ContainerrOrderedDictChainMaprdefaultdictMutableSequencer
ReversibleCallable)r1rEmrorhaystackrprrs        rtest_compose_mroz#TestSingleDispatch.test_compose_mros0O$Q-qy!%@$U++	7	7HD(##AQq'7!"qw
!"f!6
7
7
7
7ai)9;;RS$U++	7	7HK((33AQ!5q7G!"qw
!"f!6
7
7
7
7ags+$U++	7	7HK+agq{C-HIIAQ!8$!"f!6
7
7
7
7					'				""1%%%"A$45$U++	*	*HAu

AQA$5qz1<!,!8$@PRSR[!"qw
AK!'!)
*
*
*
*					'			!*ak19=$U++	7	7HAx  AQAJ0Gqy!"qw
!"f!6
7
7
7
7	7	7rcptj}ddi}gd}tdh}t|}d}tjd}|||d|||d|||d|||d|||d||jd|||d|||d|||d|||d|||d||j	d|||d	|||d|||d|||d|||d|tj
d
|||d	|||d|||d|||d|||d||jd|||d	|||d|||d|||d|||d||jd
|||d	|||d|||d|||d|||d||j
d|||d	|||d|||d|||d|||d||jd|||d	|||d|||d|||d|||d||jd|||d	|||d|||d|||d|||d|t d|||d|||d|||d|||d|||d|t"d|||d|||d|||d|||d|||d|t$d|||d|||d|||d|||d|||d|td|||d|||d|||d|||d|||d|t&d|||d|||d|||d|||d|||ddS)Nr>r?rcdSrrr8s rriz/TestSingleDispatch.test_register_abc.<locals>.grrrcdSNsizedrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>rr4cdSNmutablemappingrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>s1Arr8cdS)Nchainmaprr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>sZrcdS)Nmutablesequencerr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>
s2Crr<cdS)N
mutablesetrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>s\rr>cdSNmappingrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>s)rcdSNsequencerr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>:rrDcdSNrrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>"errcdSNrPrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>(VrrPcdSNr/rr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>.rKrr/cdS)Nconcrete-setrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>4sNrrOcdS)N
frozen-setrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>:s,rrQcdS)Nrrr8s rrKz6TestSingleDispatch.test_register_abc.<locals>.<lambda>@sgrr)rrOr	frozensetr
rrOrr$r r(r*
MutableSetr!rr"rPr/rr)r1rErdlrrtris        rtest_register_abcz$TestSingleDispatch.test_register_abcs	O
#JII
XXtaLL		!		
"	!	1v&&&1v&&&1v&&&1v&&&1v&&&	

17//0001w'''1w'''1w'''1w'''1w'''	

1#%A%ABBB1/0001w'''1w'''1w'''1w'''	

;')?)?@@@1/0001w'''1w'''1w'''1w'''	

1$&C&CDDD1/000101111w'''1w'''1w'''	

1<!9!9:::1/000101111|,,,1w'''1w'''	

19334441/000101111|,,,1w'''1w'''	

1:556661/000101111|,,,1w'''1z***	

15++,,,1/000101111|,,,1u%%%1z***	

4++,,,1v&&&101111|,,,1u%%%1z***	

4++,,,1v&&&1v&&&1|,,,1u%%%1z***	

3223331v&&&1v&&&1~...1u%%%1z***	

9667771v&&&1v&&&1~...1|,,,1z***	

5--...1v&&&1v&&&1~...1|,,,1w'''''rc	Rtj}tj}Gddt}Gdd|}|jjGddt}Gddt}Gd	d
|||}||j|||j||j|tg	}t|j|j|jgD]#}	|
|||	|$|j|j|j|j|jg}
|
|||
|dS)NceZdZdS))TestSingleDispatch.test_c3_abc.<locals>.ANr'rrrr'rZJrrr'ceZdZdZdS))TestSingleDispatch.test_c3_abc.<locals>.BcdSrrr\s rrz1TestSingleDispatch.test_c3_abc.<locals>.B.__len__MrrNr(r)r*rrrrrBr\L#




rrBceZdZdS))TestSingleDispatch.test_c3_abc.<locals>.CNr'rrrrraOrYrrceZdZdS))TestSingleDispatch.test_c3_abc.<locals>.DNr'rrrrrcRrrrceZdZdZdS))TestSingleDispatch.test_c3_abc.<locals>.XcdSrrr\s rrz2TestSingleDispatch.test_c3_abc.<locals>.X.__call__UrrNrrrrrreTrrr)abcs)
rrOr
_c3_mrorr&rr,r$rrOr!r%)r1rEr-r'rBrrrrqrg	many_abcss           rtest_c3_abczTestSingleDispatch.test_c3_abcGsO																
								
															1a			qz1aa!VL !'1:q{!CDD	:	:DSS...9999YQ[!*M	QY///:::::rcGddt}Gdd|}Gdd|}tjd}||d	}|}|||d
dS)NceZdZdZdS)1TestSingleDispatch.test_false_meta.<locals>.MetaAcdSrrr\s rrz9TestSingleDispatch.test_false_meta.<locals>.MetaA.__len__arrNr^rrrMetaArm`r_rroceZdZdS)-TestSingleDispatch.test_false_meta.<locals>.ANr'rrrr'rqcrrr'rceZdZdS).TestSingleDispatch.test_false_meta.<locals>.AANr'rrrAArserrrtcdS)Nzbase Arras rfunz/TestSingleDispatch.test_false_meta.<locals>.fungs8rcdS)Nfun Arras rrz-TestSingleDispatch.test_false_meta.<locals>._j7rrx)rr
rrrO)r1ror'rtrvraas       rtest_false_metaz"TestSingleDispatch.test_false_meta^s					D								%														!		
"	!		a		
	
RTTR'*****rc
tj}tjd}Gdd|j}|}|||d||jd||jd||jd||j	d|||d	|j||||d	|j||||d	|j	||||d
Gdd}|}|||d|j||||d
|j||
t5}||dddn#1swxYwY|t|jdGdd|j}|}	|||	d	|j||||	d	|j	||||	d
tjd}
|
|jd}|
|jd}|
t5}|
tjddddn#1swxYwY|t|jdGddtj}
|j|
tjd}||jd}||jd}|
}|||dGdd}Gdd||j}|}||
|d	|j|||
|d	Gd d!}|}||
|d	|j||
t5}|
|dddn#1swxYwY|t|jdGd"d#|j|}tjd$}||d%}||jd&}|}|||d'|j||||d(dS))NcdSrrargs rriz0TestSingleDispatch.test_mro_conflicts.<locals>.grrrceZdZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.OcdSrrr\s rrz8TestSingleDispatch.test_mro_conflicts.<locals>.O.__len__vrrNr^rrrOrur_rrrcdS)Niterablerr~s rrKz7TestSingleDispatch.test_mro_conflicts.<locals>.<lambda>zrErcdSN	containerrr~s rrKz7TestSingleDispatch.test_mro_conflicts.<locals>.<lambda>{sKrcdSr3rr~s rrKz7TestSingleDispatch.test_mro_conflicts.<locals>.<lambda>|r5rcdSrGrr~s rrKz7TestSingleDispatch.test_mro_conflicts.<locals>.<lambda>}rHrr4rceZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.PNr'rrrPrrrrr)z]Ambiguous dispatch: <class 'collections.abc.Container'> or <class 'collections.abc.Iterable'>z]Ambiguous dispatch: <class 'collections.abc.Iterable'> or <class 'collections.abc.Container'>ceZdZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.QcdSrrr\s rrz8TestSingleDispatch.test_mro_conflicts.<locals>.Q.__len__rrNr^rrrQrr_rrcdSrrr~s rhz0TestSingleDispatch.test_mro_conflicts.<locals>.hrrcdSr3rr~s rrz0TestSingleDispatch.test_mro_conflicts.<locals>._ryrcdSrrr~s rrz0TestSingleDispatch.test_mro_conflicts.<locals>._;rcdSrrrrrrKz7TestSingleDispatch.test_mro_conflicts.<locals>.<lambda>sar)zZAmbiguous dispatch: <class 'collections.abc.Container'> or <class 'collections.abc.Sized'>zZAmbiguous dispatch: <class 'collections.abc.Sized'> or <class 'collections.abc.Container'>ceZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.RNr'rrrRrrrrcdSrrr~s rrz0TestSingleDispatch.test_mro_conflicts.<locals>.irrcdSr@rr~s rrz0TestSingleDispatch.test_mro_conflicts.<locals>._9rcdSrCrr~s rrz0TestSingleDispatch.test_mro_conflicts.<locals>._:rrDceZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.SNr'rrrSrrrrceZdZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.TcdSrrr\s rrz8TestSingleDispatch.test_mro_conflicts.<locals>.T.__len__rrNr^rrrrQrr_rrQceZdZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.UcdSrrr\s rrz8TestSingleDispatch.test_mro_conflicts.<locals>.U.__len__rrNr^rrrUrr_rrceZdZdZdS)0TestSingleDispatch.test_mro_conflicts.<locals>.VcdSrrr\s rrz8TestSingleDispatch.test_mro_conflicts.<locals>.V.__len__rrNr^rrrVrr_rrcdSrrr~s rjz0TestSingleDispatch.test_mro_conflicts.<locals>.jrrcdS)Nrrr~s rrz0TestSingleDispatch.test_mro_conflicts.<locals>._s3rcdSrrr~s rrz0TestSingleDispatch.test_mro_conflicts.<locals>._rrrr)rrOr
rr$rOrr%r&r"rYrrrrAr)r*r )r1rErirr+rrSre_onerqrrre_tworrrrrQrVrure_threerrrs                         rtest_mro_conflictsz%TestSingleDispatch.test_mro_conflictsps=O		!		
"	!									
ACC1v&&&	

1:55666	

1; 7 7888	

17//000	

15++,,,1w'''	
A1w'''	Q1w'''	q1u%%%								
ACC1v&&&	
A1z***	Q


|
,
,	
AaDDD															

 !!
9	
	
	
								
ACC1w'''	
A1w'''	q1u%%%		!		
"	!		
AG				
			
AK	 	 		
!	 	

|
,
,	2
Ak%ii00111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2

 !!
9	
	
	
					'				""1%%%		!		
"	!		
A$	%	%		
&	%		
A%	&	&		
'	&	
ACC1z***													17			
ACC1w'''	Q1w'''								
ACC1w'''	Q


|
,
,	
AaDDD															

"##
9	
	
	
								
	!		
"	!		
A		
		
AK	 	 		
!	 	
ACC1s###	Q1{+++++s6;III)OOO*WW	Wc	ddlm}ddl}Gfdd|	tj|d	fd5tj}tjd}i}g}|t	d|||d|t	d	|	j
g|	jtg|	j
t|jt|||d|t	d
|	j
g|	jtt g|	j
t|jt|	j
t |jt|	j
t	j
t |||d|||d|	j
t tg|	jtt g|t d|	j
t tg|t	d|||d|t	d	|	j
t tg|	jtt tg|	j
tt
jt|j|||d|t	d
|	j
t tg|	jtt tt g|	j
t t
jt |jGd
d}|j||||d|||d|	j
t ttt g|	jtt tt g||jd|t	d|||d|t	d	|	j
t ttt g|	jtt tt tg|||d|t	d
|	j
t ttt g|	jtt tt tt g|||d|||d|	j
t ttt t tg|	jtt tt tt g|t |t|	j
t ttt t tt tg|	jtt tt tt g|j||t	d
|||d|t	d	||jd|t	d|||d|t	d	|||d|t	d
|td|||d|||d||t	dddddS#1swxYwYdS)Nr)UserDictc4eZdZfdZdZdZdZxZS)?TestSingleDispatch.test_cache_invalidation.<locals>.TracingDictcZt|j|i|g|_g|_dSr)rrset_opsget_ops)r1rrTracingDictrs   rrzHTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__init__s71k4((14B6BBB!!rcT|j|}|j||Sr)rrr)r1rresults   rrzKTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__getitem__s(3##C(((
rcN|j|||j|<dSr)rrr)r1rrs   r__setitem__zKTestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.__setitem__s'##C(((!&	#rc8|jdSr)rrtr\s rrtzETestSingleDispatch.test_cache_invalidation.<locals>.TracingDict.clear	s	!!!!!r)r(r)r*rrrrtr)rrs@rrrsk
"
"
"
"
"
"



'
'
'
"
"
"
"
"
"
"rrWeakKeyDictionarycSrr)tdsrrKz<TestSingleDispatch.test_cache_invalidation.<locals>.<lambda>	sRrcdSrrr~s rriz5TestSingleDispatch.test_cache_invalidation.<locals>.g	vrrr9r:cdSrMrr~s rrKz<TestSingleDispatch.test_cache_invalidation.<locals>.<lambda>	rr/ceZdZdS)5TestSingleDispatch.test_cache_invalidation.<locals>.XNr'rrrrr+	srrcdSr3rr~s rrKz<TestSingleDispatch.test_cache_invalidation.<locals>.<lambda>3	sGrr4cdSr7rr~s rrKz<TestSingleDispatch.test_cache_invalidation.<locals>.<lambda>J	s5Err8cdSrJrr~s rrKz<TestSingleDispatch.test_cache_invalidation.<locals>.<lambda>P	rrrP)rrrr	swap_attrrOr
rrOrrrrPrregistryrr/r
_find_implr r$rrT_clear_cache)
r1rrrErirdrUrrrs
        @@rtest_cache_invalidationz*TestSingleDispatch.test_cache_invalidationsH	((((((
	"
	"
	"
	"
	"
	"
	"(
	"
	"
	"[]]

w(;ZZZZ
H
HP	)P	)A

%

&
%
AASWWa(((QQqTT6***SWWa(((RZ,,,RZ$000RWT]AJv,>???QQqTT6***SWWa(((RZ,,,RZ$666RWT]AJv,>???RWT]AJv,>???RWT]BGDM:::QQqTT6***QQqTT6***RZ$666RZ$666
JJt//000RZ$666SWWa(((QQqTT6***SWWa(((RZ$666RZ$d);<<<RWT]&1$
CC
E
E
EQQqTT6***SWWa(((RZ$666RZ$dD)ABBBRWT]&1$
CC
E
E
E








%%a(((QQqTT6***QQqTT6***RZ$dD)ABBBRZ$dD)ABBB
JJqw 3 3444SWWa(((QQqTT7+++SWWa(((RZ$dD)ABBBRZ$dD$)GHHHQQqTT6***SWWa(((RZ$dD)ABBBRZ$dD$)MNNNQQqTT6***QQqTT7+++RZ$dD$)MNNNRZ$dD$)MNNN
JJt
JJtRZ$dD$*.*6
7
7
7RZ$dD$)MNNN
L!!!$$$SWWa(((QQqTT6***SWWa(((
JJq')E)EFFFSWWa(((QQqTT#3444SWWa(((QQqTT6***SWWa(((
JJt//000QQqTT6***QQqTT6***
NNSWWa(((aP	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)P	)sjkkkcltjd}|jdtjjfd}|jdd}||dd||ddid	||gd
d||d
d||dd|tGd
d}||dddS)NcdSrrr~s rrz.TestSingleDispatch.test_annotations.<locals>.iW	rrrcdSr@rr~s rrz.TestSingleDispatch.test_annotations.<locals>._Z	rrcollections.abc.SequencecdSrCrr~s rrz.TestSingleDispatch.test_annotations.<locals>._]	rrrr>r9rArrDrceZdZdZdZdS).TestSingleDispatch.test_annotations.<locals>._c||_dSrr~r1rs  rrz7TestSingleDispatch.test_annotations.<locals>._.__init__j	
rc|j|kSrr~r0s  rr3z5TestSingleDispatch.test_annotations.<locals>._.__eq__m	sx5((rN)r(r)r*rr3rrrrrh	s2



)
)
)
)
)rr)rr)r
rrrrOr!rOr)r1rrs   rtest_annotationsz#TestSingleDispatch.test_annotationsV	sm		!		
"	!		
	;?*			
		
			
	4&)))C8i000999z2229z2225:...
C	)	)	)	)	)	)	)
	)	
55)))))rcbGdd}|}|d||jd|}|t	|d|d||jd|}|t	|d|d||jd	|}|t	|ddS)
NceZdZejdZeedZee	dZdS)2TestSingleDispatch.test_method_register.<locals>.Acd|_dSrr~rs  rrVz4TestSingleDispatch.test_method_register.<locals>.A.ts	s
!rcd|_dSNrr~rs  rrz4TestSingleDispatch.test_method_register.<locals>.A._v	
 rcd|_dSNrr~rs  rrz4TestSingleDispatch.test_method_register.<locals>.A._y	rrN
r(r)r*r
singledispatchmethodrVrrrrrrrr'rr	sw

+
"
",
+
"
ZZ__
!
!_
!
ZZ__
!
!_
!
!
!rr'rrrrrrNr)rVrOrr4r5)r1r'r>rzs    rtest_method_registerz'TestSingleDispatch.test_method_registerq	s-		!		!		!		!		!		!		!		!
ACC	A&&&
QSSU++,,,	B&&&
QSSU++,,,	C'''
QSSU++,,,,,rc&Gdd}|}||d||d||dddS)NceZdZejedZeeedZ	ee
edZ	dS)8TestSingleDispatch.test_staticmethod_register.<locals>.Ac|Srrr~s rrVz:TestSingleDispatch.test_staticmethod_register.<locals>.A.t		
rc,t|tSrrfrr~s rrz:TestSingleDispatch.test_staticmethod_register.<locals>.A._	"#s+++rc,t|tSrrfrr~s rrz:TestSingleDispatch.test_staticmethod_register.<locals>.A._	rrNr(r)r*r
rr#rVrrrrrrrr'r	s

+


\,
+

ZZ__

,
,\_
,
ZZ__

,
,\_
,
,
,rr'rrrNrMrVrOr1r'r>s   rtest_staticmethod_registerz-TestSingleDispatch.test_staticmethod_register		,	,	,	,	,	,	,	,
ACCAB   S3'''''rc4Gdd}||djd||djd||djddS)	NceZdZdZejedZee	edZ
eeedZ
dS)7TestSingleDispatch.test_classmethod_register.<locals>.Ac||_dSrr~rs  rrz@TestSingleDispatch.test_classmethod_register.<locals>.A.__init__	rrc|dSrrr&rs  rrVz9TestSingleDispatch.test_classmethod_register.<locals>.A.t	s6{{"rc|dSrrrs  rrz9TestSingleDispatch.test_classmethod_register.<locals>.A._	s5zz!rc|dSrrrs  rrz9TestSingleDispatch.test_classmethod_register.<locals>.A._	rrNr(r)r*rr
rr%rVrrrrrrrr'r	s



+

#
#[,
+
#
ZZ__

"
"[_
"
ZZ__

"
"[_
"
"
"rr'rrrrrNrrOrVrr9s  rtest_classmethod_registerz,TestSingleDispatch.test_classmethod_register		"	"	"	"	"	"	"	""	
QU+++Re,,,Sv.....rcGdd}|jttd}|jttd}||djd||djd||d	jd
dS)NcDeZdZdZejedZdS)4TestSingleDispatch.test_callable_register.<locals>.Ac||_dSrr~rs  rrz=TestSingleDispatch.test_callable_register.<locals>.A.__init__	rrc|dSrrrs  rrVz6TestSingleDispatch.test_callable_register.<locals>.A.t	rrN)r(r)r*rr
rr%rVrrrr'r
	sL



+

#
#[,
+
#
#
#rr'c|dSrrrs  rrz4TestSingleDispatch.test_callable_register.<locals>._	3u::rc|dSrrrs  rrz4TestSingleDispatch.test_callable_register.<locals>._	rrrrrrrNr)rVrrr%rrOr)r1r'rs   rtest_callable_registerz)TestSingleDispatch.test_callable_register	s	#	#	#	#	#	#	#	#
c					

			
c					

			
QU+++Re,,,Sv.....rc:Gddtj}||jj||jdj|t5|ddddS#1swxYwYdS)NcHeZdZejejdZdS)ATestSingleDispatch.test_abstractmethod_register.<locals>.AbstractcdSrrrMs   rrNzETestSingleDispatch.test_abstractmethod_register.<locals>.Abstract.add	s	rN)r(r)r*r
rrOrPrNrrrrRr	s?

+



 
,
+


rrRrrN)rOrTrMrNrSr"rYrZ)r1rRs  rtest_abstractmethod_registerz/TestSingleDispatch.test_abstractmethod_register	s										
9:::)%0EFFF


y
)
)		HJJJ																		s8BBBc*Gdd}|}||dd||dd||dddS)	NczeZdZejdZejdefdZejde	fdZdS)4TestSingleDispatch.test_type_ann_register.<locals>.AcdSrrrs  rrVz6TestSingleDispatch.test_type_ann_register.<locals>.A.t	rrrcdSrrrs  rrz6TestSingleDispatch.test_type_ann_register.<locals>.A._	urcdSrrrs  rrz6TestSingleDispatch.test_type_ann_register.<locals>.A._	rrNrrrrr'r	s

+

,
+

Z
S


Z

Z
S


Z


rr'rrrrrNr)rOrVrs   rtest_type_ann_registerz)TestSingleDispatch.test_type_ann_register	s																
ACCQ'''R%(((S6*****rc&Gdd}|}||d||d||dddS)NceZdZejedZejedefdZ	ejede
fdZ	dS)ATestSingleDispatch.test_staticmethod_type_ann_register.<locals>.Ac|Srrr~s rrVzCTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A.t	rrrc,t|tSrrr~s rrzCTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A._	rrc,t|tSrrr~s rrzCTestSingleDispatch.test_staticmethod_type_ann_register.<locals>.A._	rrNrrrrr'r#	s

+


\,
+

Z

,s
,
,
,\Z
,
Z

,s
,
,
,\Z
,
,
,rr'rrrNrrs   r#test_staticmethod_type_ann_registerz6TestSingleDispatch.test_staticmethod_type_ann_register	rrc4Gdd}||djd||djd||djddS)	NceZdZdZejedZejede	fdZ
ejedefdZ
dS)@TestSingleDispatch.test_classmethod_type_ann_register.<locals>.Ac||_dSrr~rs  rrzITestSingleDispatch.test_classmethod_type_ann_register.<locals>.A.__init__
rrc|dSrrrs  rrVzBTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A.t
rrrc|dSrrrs  rrzBTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A._
rrc|dSrrrs  rrzBTestSingleDispatch.test_classmethod_type_ann_register.<locals>.A._
rrNrrrrr'r*
s



+

#
#[,
+
#
Z

"C
"
"
"[Z
"
Z

"C
"
"
"[Z
"
"
"rr'rrrrrNrrr9s  r"test_classmethod_type_ann_registerz5TestSingleDispatch.test_classmethod_type_ann_register	r
rc0Gdd}|j|j|j|j|j|jfD]q}||5||jd||jdtdddn#1swxYwYr||jjd||jjd||jjd||jjd||jjd||jjddS)	NceZdZejdedefdZejededefdZ	eje
dedefdZdS)=TestSingleDispatch.test_method_wrapping_attributes.<locals>.Arreturnc"	t|Srrrs  rr zBTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.func
s+3xxrc"	t|Srr5rs  rcls_funczFTestSingleDispatch.test_method_wrapping_attributes.<locals>.A.cls_func
,3xxrc"	t|Srr5r~s rstatic_funczITestSingleDispatch.test_method_wrapping_attributes.<locals>.A.static_func 
r8rN)r(r)r*r
rrrr r%r7r#r:rrrr'r2
s

+
 
 
 
 
 ,
+
 
+

 3
 3
 
 
 [,
+
 
+

 
 
 
 
 \,
+
 
 
 rr'methMy function docstringrr r7r:)	r r7r:r9rOryrqrr()r1r'r<s   rtest_method_wrapping_attributesz2TestSingleDispatch.test_method_wrapping_attributes
s	 	 	 	 	 	 	 	 "
F
ACCH
J
ACCL
M
ACCO


	C
	CD4((
C
C  /FGGG  !5e!<cBBB
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C	
&111*F333,j999.
;;;/???1=AAAAAs$AB22B6	9B6	c	dGfdd}Gfdd}|d5}|}dddn#1swxYwY|d5}|}dddn#1swxYwY|||||d||d|d||dddD]}||	5|t	||jt	||j|t	||jt	||jdddn#1swxYwY|j|j|j|jfD]q}||
5||jd||jdtdddn#1swxYwYr||jjd
||jjd
||jjd||jjddS)Ncn|jttjfd}|S)Nc|i|Srr)rrr_s  rr^zgTestSingleDispatch.test_double_wrapped_methods.<locals>.classmethod_friendly_decorator.<locals>.wrapper<
sw////r)__func__r%r
r)r r^r_s  @rclassmethod_friendly_decoratorzVTestSingleDispatch.test_double_wrapped_methods.<locals>.classmethod_friendly_decorator:
sGmG

_W
%
%
0
0
0
0&
%[
0NrczeZdZeejdedefdZededefdZ	dS)MTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatchrr3c3>K	t|VdS#YdSxYwNDoner5rs  rcls_context_managerzaTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.cls_context_managerC
s."c((NNN!66666666sc t|Srr5rs  rdecorated_classmethodzcTestSingleDispatch.test_double_wrapped_methods.<locals>.WithoutSingleDispatch.decorated_classmethodK
s3xxrN)
r(r)r*r%
contextlibcontextmanagerrrrIrKrCsrWithoutSingleDispatchrEB
s


&
"c
"c
"
"
"'
&[
",

 
 
 
 
 [,
+
 
 
 rrOceZdZejeejdede	fdZ
ejedede	fdZdS)JTestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatchrr3c3@K		t|VdS#YdSxYwrGr5rs  rrIz^TestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.cls_context_managerQ
s3,"c((NNN!66666666sc"	t|Srr5rs  rrKz`TestSingleDispatch.test_double_wrapped_methods.<locals>.WithSingleDispatch.decorated_classmethod[
s,3xxrN)r(r)r*r
rr%rLrMrrrIrKrNsrWithSingleDispatchrQP
s

+


&
"c
"c
"
"
"'
&[,
+
"
+
+

 
 
 
 
 [,
+,
+
 
 
 rrTr`5)rIrK)rAr;r=rrIrK)	rIrOrKr9rr(ryrqr)	r1rOrTrwithout_single_dispatch_foosingle_dispatch_foomethod_namer<rCs	        @rtest_double_wrapped_methodsz.TestSingleDispatch.test_double_wrapped_methods9
s				 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 (#
6
6q
9
9	.S*-'	.	.	.	.	.	.	.	.	.	.	.	.	.	.	. 
3
3A
6
6	&#"%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	
46IJJJ,c222!77::44Q77	
	
	

	
+AA!DDcJJJL
	
	K[11	
	
  .<<E1;??H
  ..00+>>G1133[AAJ
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

2  44  6	
	C	CD4((
C
C  /FGGG  !5e!<cBBB
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C	
2;!	
	
	
	
  4=!	
	
	
	
4=#	
	
	
	
  6?#	
	
	
	
	
sIAAA'A66A:=A:,B	GG	G	AII!	$I!	cd}d}tjd}|t5}|dd}dddn#1swxYwY|t
|j|dz|t
|j	||t5}|jd}dddn#1swxYwY|t
|j|dz|t
|j	||t5}|jd	tjtfd
}dddn#1swxYwY|t
|jd|t
|j	d|t5}|jd	tjttjtffd
}dddn#1swxYwY|t
|jd|t
|j	ddS)Nz(Invalid first argument to `register()`: zS. Use either `@register(some_class)` or plain `@register` on an annotated function.cdSrrr~s rrz8TestSingleDispatch.test_invalid_registrations.<locals>.i
rrrcdS)NzI annotated with a non-typerr~s rrz8TestSingleDispatch.test_invalid_registrations.<locals>._
s44r42cdS)NzI forgot to annotaterr~s rrz8TestSingleDispatch.test_invalid_registrations.<locals>._
s--rzB<function TestSingleDispatch.test_invalid_registrations.<locals>._rcdS)Nz%I annotated with a generic collectionrr~s rrz8TestSingleDispatch.test_invalid_registrations.<locals>._
s
?>rzInvalid annotation for 'arg'.z$typing.Iterable[str] is not a class.cdS)Nz
Invalid Unionrr~s rrz8TestSingleDispatch.test_invalid_registrations.<locals>._
s&rzFtyping.Union[int, typing.Iterable[str]] not all arguments are classes.)r
rrYrZrrMrrArendswithtypingr%Unionr)r1
msg_prefix
msg_suffixrexcrs      rtest_invalid_registrationsz-TestSingleDispatch.test_invalid_registrations
s?

"	
	!		
"	!	


y
)
)	5S
ZZ^^
5
5^
5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	
CM**55j46GHHIIICM**33J??@@@


y
)
)	.S
Z
.
.Z
.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	
CM**55jP7Q

				
CM**33J??@@@


y
)
)	?S
Z
?vs+
?
?
?Z
?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	
CM**55+

				
CM**332

			

y
)
)	'S
Z
'v|C)=$=>
'
'
'Z
'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	
CM**55+

				
CM**33T

					sHAA#&A#;DDD4)G))G-0G-AKKKctjd}d}|t|5|ddddS#1swxYwYdS)NcdSrrr%s rrz>TestSingleDispatch.test_invalid_positional_argument.<locals>.f
rrz)f requires at least 1 positional argument)r
rassertRaisesRegexrZ)r1rmsgs   r test_invalid_positional_argumentz3TestSingleDispatch.test_invalid_positional_argument
s		!		
"	!	9

#
#Is
3
3		
ACCC																		sAAActjd}|jdtjt
tffd}|jdttzfd}|	|gd|	|dd|	|dd|	|d	d
|	|dd
dS)NcdSNdefaultrr~s rrz(TestSingleDispatch.test_union.<locals>.f
rrrcdSNtyping.Unionrr~s rrz(TestSingleDispatch.test_union.<locals>._
!>rcdSNtypes.UnionTyperr~s rrz(TestSingleDispatch.test_union.<locals>._
$$rrprrsrr9rwrL)
r
rrrbrcrbytesrfloatrOr1rrs   r
test_unionzTestSingleDispatch.test_union
s 		!		
"	!	
	"6<U
+	"	"	"
	"
	%3;	%	%	%
	%	
2	***2///3000101113!233333rctjd}|jdtjt
tffd}|jdtt
zfd}||gd||dd||dd	||d
ddS)NcdSrorr~s rrz1TestSingleDispatch.test_union_conflict.<locals>.f
rrrcdSrrrr~s rrz1TestSingleDispatch.test_union_conflict.<locals>._
rtrcdSrvrr~s rrz1TestSingleDispatch.test_union_conflict.<locals>._
rxrrprrwrrsr9)	r
rrrbrcrryrrOr{s   rtest_union_conflictz&TestSingleDispatch.test_union_conflict
s		!		
"	!	
	"6<U
+	"	"	"
	"
	%39	%	%	%
	%	
2	***2 122230001011111rcXtjd}|jdtjt
dffd}||dd||dd||ddtjd}|jdtdzfd	}||dd||dd
||dd
dS)NcdSrorr~s rtyping_unionz8TestSingleDispatch.test_union_None.<locals>.typing_union
rrrcdSrrrr~s rrz-TestSingleDispatch.test_union_None.<locals>._rtrr9rprrscdSrorr~s rtypes_unionz7TestSingleDispatch.test_union_None.<locals>.types_unionrrcdSrvrr~s rrz-TestSingleDispatch.test_union_None.<locals>._rxrrw)r
rrrbrcrrOr)r1rrrs    rtest_union_Nonez"TestSingleDispatch.test_union_None
sg		!		
"	!	
		"6<T	*	"	"	"
		"	
a)444b))>:::d++^<<<		!		
"	!	
		%3:	%	%	%
		%	
R)444Q):;;;T**,=>>>>>rc0tjd}|td5|t
tddddn#1swxYwY|td5|tjtddddn#1swxYwY|td5|t
ttzddddn#1swxYwY|td5|tjttzddddn#1swxYwY||dgd||d	gd||d
d||dddS)NcdSrorr~s rrz8TestSingleDispatch.test_register_genericalias.<locals>.frrInvalid first argument to cdSNztypes.GenericAliasrr~s rrKz?TestSingleDispatch.test_register_genericalias.<locals>.<lambda>s.BrcdSNztyping.GenericAliasrr~s rrKz?TestSingleDispatch.test_register_genericalias.<locals>.<lambda>s5JrcdS)Nz$types.UnionTypes(types.GenericAlias)rr~s rrKz?TestSingleDispatch.test_register_genericalias.<locals>.<lambda>s4ZrcdSNz!typing.Union[typing.GenericAlias]rr~s rrKz?TestSingleDispatch.test_register_genericalias.<locals>.<lambda> s?brr9rprLrr)
r
rrjrZrr/rrbListrrzryrOrs  rtest_register_genericaliasz-TestSingleDispatch.test_register_genericaliass		!		
"	!	
#
#I/K
L
L	D	D
JJtCy"B"BCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D

#
#I/K
L
L	L	L
JJv{3')J)JKKK	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L

#
#I/K
L
L	\	\
JJtCy3(Z(Z[[[	\	\	\	\	\	\	\	\	\	\	\	\	\	\	\

#
#I/K
L
L	d	d
JJv{5)E13b3bccc	d	d	d	d	d	d	d	d	d	d	d	d	d	d	d	
A3+++C59---2	***3+++++sG(A%%A),A)-CCC*0D&&D*-D*5F

FFc&tjd}|td5|t
tdddn#1swxYwY|td5|tjtdddn#1swxYwY|td5|t
ttzdddn#1swxYwY|td5|tjttzddddS#1swxYwYdS)NcdSrorr~s rrzBTestSingleDispatch.test_register_genericalias_decorator.<locals>.f(rrr)
r
rrjrZrr/rrbrrrs  r$test_register_genericalias_decoratorz7TestSingleDispatch.test_register_genericalias_decorator'sG		!		
"	!	
#
#I/K
L
L	"	"
JJtCy!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"

#
#I/K
L
L	)	)
JJv{3'(((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)

#
#I/K
L
L	(	(
JJtCy3'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(

#
#I/K
L
L	/	/
JJv{3'#-...	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/sG&A##A'*A'	+CCC&.D  D$'D$3FF

F
ctjd}|td5|jdt
tfd}dddn#1swxYwY|td5|jdtjtfd}dddn#1swxYwY|td5|jdt
ttzfd}dddn#1swxYwY|td5|jdtjttzfd}dddn#1swxYwY||dgd	||d
gd	||dd	||dd	dS)
NcdSrorr~s rrzCTestSingleDispatch.test_register_genericalias_annotation.<locals>.f6rrzInvalid annotation for 'arg'rcdSrrr~s rrzCTestSingleDispatch.test_register_genericalias_annotation.<locals>._;s++rcdSrrr~s rrzCTestSingleDispatch.test_register_genericalias_annotation.<locals>._?s,,rcdS)Nz#types.UnionType(types.GenericAlias)rr~s rrzCTestSingleDispatch.test_register_genericalias_annotation.<locals>._Cs<<rcdSrrr~s rrzCTestSingleDispatch.test_register_genericalias_annotation.<locals>._Gs::rr9rprLrr)
r
rrjrZrr/rrbrrzrryrOr{s   r%test_register_genericalias_annotationz8TestSingleDispatch.test_register_genericalias_annotation5s		!		
"	!	
#
#I/M
N
N	,	,
Z
,tCy
,
,
,Z
,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,
#
#I/M
N
N	-	-
Z
-v{5)
-
-
-Z
-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
#
#I/M
N
N	=	=
Z
=tCy3
=
=
=Z
=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=
#
#I/M
N
N	;	;
Z
;v{5)E1
;
;
;Z
;	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;
	
A3+++C59---2	***3+++++sG$A!!A%(A%)B<<CC",DD!D1E==FFN)&r(r)r*rrrrr
skipUnlessrrr$rr/rWrjr{rrrrrr	rrr r'r/r>rYrgrlr|rrrrrrrrrrfs	-	-	-&&&.
;
;
;777X"566::76:"474747l\(\(\(|;;;.+++$},},},@d)d)d)L***6---4((((///,///.+++"((((///,"B"B"BHa
a
a
F000d444&222$???2,,,&///,,,,,rrc8eZdZdZdZejdZdS)CachedCostItemr9cBt|_dSr)r
RLocklockr\s rrzCachedCostItem.__init__Ts &&((			rcp	|j5|xjdz
c_dddn#1swxYwY|jSr)r_costr\s rcostzCachedCostItem.costWsy#
Y		JJ!OJJ															zs&**N)r(r)r*rrr
cached_propertyrrrrrrQsG
E)))!"!rrcBeZdZdZdZeeZdS)OptionallyCachedCostItemr9c2	|xjdz
c_|jSrrr\s rget_costz!OptionallyCachedCostItem.get_costbs#

a

zrN)r(r)r*rrr
rcached_costrrrrr_s7
E
..x88KKKrrc4eZdZdZejdZdS)CachedCostItemWaitc^d|_t|_||_dSr)rr
rrevent)r1rs  rrzCachedCostItemWait.__init__ls'
 &&((	


rc|jd|j5|xjdz
c_dddn#1swxYwY|jSr)rrorrr\s rrzCachedCostItemWait.costqs

Y		JJ!OJJ															zs?AAN)r(r)r*rr
rrrrrrrjsB
!"!rrc8eZdZdZdZejdZdS)CachedCostItemWithSlotsrcd|_dSrrr\s rrz CachedCostItemWithSlots.__init__|s



rc td)Nz!never called, slots not supportedrr\s rrzCachedCostItemWithSlots.costs>???rN)r(r)r*	__slots__rr
rrrrrrrysLI!@@"!@@@rrcteZdZdZdZejdZdZdZ	dZ
dZdZd	Z
d
ZdS)TestCachedPropertyct}||jd||jddSr)rrOrr1items  rtest_cachedzTestCachedProperty.test_cachedsCA&&&A&&&&&rc.t}||d||jd||d||jddS)Nr:r@rA)rrOrrrs  r1test_cached_attribute_name_differs_from_func_namezDTestCachedProperty.test_cached_attribute_name_differs_from_func_names'))!,,,)1---!,,,)1-----rctj}t|d}tj}tjd	fdt
|D}tj|5|	dddn#1swxYwYtj|n#tj|wxYw|
jddS)Nr@ruc@g|]}tjfdS)cjSr)r)rsrrKz=TestCachedProperty.test_threaded.<locals>.<listcomp>.<lambda>s		rr}ry)rrrs  rrz4TestCachedProperty.test_threaded.<locals>.<listcomp>sA (9(9(9(9:::rr:)rzrrrrrrrrrrOr)r1gonum_threadsrrrs     @r
test_threadedz TestCachedProperty.test_threadeds6
_

!"%%'))d###	+{++G"/88

















!'****C!'****A&&&&&s0/B>=BB>B""B>%B"&B>>Cct}|td5|jddddS#1swxYwYdS)NzWNo '__dict__' attribute on 'CachedCostItemWithSlots' instance to cache 'cost' property.)rrjrZrrs  rtest_object_with_slotsz)TestCachedProperty.test_object_with_slotss&((

#
#i

		
II																			s?AAcGddt}Gdd|}|td5|jddddS#1swxYwYdS)Nc.eZdZejdZdS)6TestCachedProperty.test_immutable_dict.<locals>.MyMetacdS)NTrr\s rpropz;TestCachedProperty.test_immutable_dict.<locals>.MyMeta.propstrN)r(r)r*r
rrrrrMyMetars1

)

*
)


rrceZdZdS)7TestCachedProperty.test_immutable_dict.<locals>.MyClassNr'rrrMyClassrrrrrzkThe '__dict__' attribute on 'MyMeta' instance does not support item assignment for caching 'prop' property.)rrjrZr)r1rrs   rtest_immutable_dictz&TestCachedProperty.test_immutable_dicts					T			
									
#
#y

		
LL																			sAAAc	|t5}Gdd}dddn#1swxYwY|t|jjtt
ddS)Nc2eZdZejdZeZdS)KTestCachedProperty.test_reuse_different_names.<locals>.ReusedCachedPropertycdSrrr\s rr>zMTestCachedProperty.test_reuse_different_names.<locals>.ReusedCachedProperty.asDrN)r(r)r*r
rr>r?rrrReusedCachedPropertyrs2-.-rrzLCannot assign the same cached_property to two different names ('a' and 'b').)rYrrOrrArBrZ)r1ctxrs   rtest_reuse_different_namesz-TestCachedProperty.test_reuse_different_namessR


|
,
,	







																

)**	hiijj	
	
	
	
	
s6::cD	dtjfdGfdd}Gfdd}|}|}||jd||jd||jddS)	Nrcdz
Srr)_selfcounters r_cpz4TestCachedProperty.test_reuse_same_name.<locals>._cps
qLGNrceZdZZdS)2TestCachedProperty.test_reuse_same_name.<locals>.ANr(r)r*cprsrr'rBBBrr'ceZdZZdS)2TestCachedProperty.test_reuse_same_name.<locals>.BNrrsrrBrrrrBr9r:)r
rrOr)r1r'rBr>r?rrs     @@rtest_reuse_same_namez'TestCachedProperty.test_reuse_same_namesW		%				
&	%	
																				
ACC
ACCq!!!q!!!q!!!!!rctd}Gdd}||_|td5|jddddS#1swxYwYdS)NcdSrr)rs rrKz=TestCachedProperty.test_set_name_not_called.<locals>.<lambda>sDrceZdZdS)8TestCachedProperty.test_set_name_not_called.<locals>.FooNr'rrrFoorrrrzGCannot use cached_property instance without calling __set_name__ on it.)r
rrrjrZ)r1rrs   rtest_set_name_not_calledz+TestCachedProperty.test_set_name_not_calleds

)
)..
9
9								

#
#Y

		
CEEHH																			sA((A,/A,cZ|tjtjdSr)assertIsInstancerrr
rr\s rtest_access_from_classz)TestCachedProperty.test_access_from_classs$n1<3OPPPPPrcP|tjjddS)NzThe cost of the item.)rOrrryr\s rtest_doczTestCachedProperty.test_docs%,46MNNNNNrN)r(r)r*rrrrrrrrrrrrrrrrrs'''
...1022''32'(








""".QQQOOOOOrr__main__)QrOr rcollections.abcr	itertoolsrrrandomrrrrrzrrbr
unittest.mockosrrrrLtest.supportrrtest.support.script_helperr	r
import_fresh_moduler
rrrLrrrMrrr$rr&r-rPr5r7rTestCaserr	rrrrrr[rrrrrr r&r(r8rrrrrrrrrrrrrrr(mainrrr<module>rs



""""""











								&&&&&&))))))7777770}0:FIII/m/7CnFFF,-
+Ij\
J
J
J&'/+-...,,,
@@@					e			(((((u(((					T			CDCDCDCDCDCDCDCDJ
["DEE+$+$+$+$+$; 1+$+$FE+$\#####K!2###






;.


					,			["DEE$$$$$<$$FE$     M   ((((()(((Do6o6o6o6o6)o6o6o6d;9;9;9;9;9!;9;9;9|LALALALALALALALA^["DEE$$$$$*h/$$FE$
/////:x0///P>P>P>P>P>P>P>P>f["DEE	
	
	
	
	
L("3	
	
FE	
77777\8#4777g g g g g )g g g T	))))))))PPPPPPPP&u%u%u%u%u%u%u%u%p*["DEEw)FEh,h,h,h,h,*h,h,h,V99999999@@@@@@@@pOpOpOpOpO*pOpOpOfzHMOOOOOr