python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_scope.cpython-312.opt-2.pyc

ΑeTddlZddlZddlmZmZddlmZGddejZedk(rejyy)N)check_syntax_errorcpython_only)
gc_collectceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZedZdZedZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*ed(Z+y))*
ScopeTestscd}|d}|d}|j|dd|j|ddy)Ncfd}|S)Nc|zSNyxs C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_scope.pyadderz?ScopeTests.testSimpleNesting.<locals>.make_adder.<locals>.adder
1urrrs` r
make_adderz0ScopeTests.testSimpleNesting.<locals>.make_adders

Lr
assertEqual)selfrincplus10s    rtestSimpleNestingzScopeTests.testSimpleNesting
sC	
mBQ#Q'rcd}|d}|d}|j|dd|j|ddy)Ncfd}|S)Ncfd}|S)Nc|zSrrr
s rrzNScopeTests.testExtraNesting.<locals>.make_adder2.<locals>.extra.<locals>.adderq5Lrr)rrs rextraz?ScopeTests.testExtraNesting.<locals>.make_adder2.<locals>.extras
!rr)rr&s` rmake_adder2z0ScopeTests.testExtraNesting.<locals>.make_adder2s
7Nrrrrrrr)rr'rrs    rtestExtraNestingzScopeTests.testExtraNestingsC	!nRQ#Q'rcd}|d}|d}|j|dd|j|ddy)Ncfd}dz|S)Nc|zSrrr
s rrzEScopeTests.testSimpleAndRebinding.<locals>.make_adder3.<locals>.adder)rrrrrs` rmake_adder3z6ScopeTests.testSimpleAndRebinding.<locals>.make_adder3(s
AALrr	rrrrr)rr,rrs    rtestSimpleAndRebindingz!ScopeTests.testSimpleAndRebinding&sC	!nQQ#Q'rcfd}d|}|j|ddd|j|ddy)Ncfd}|S)Ncfd}|S)Ncfd}|S)Nc|zSrrrglobal_xs rrzbScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest.<locals>.nest.<locals>.adder9s
'!|+rr)rr5s rnestzSScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest.<locals>.nest8s
, Lrrr6r5s rr6zEScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest7s!v
rrr7s rmake_adder4z7ScopeTests.testNestingGlobalNoFree.<locals>.make_adder46s
6Mrrrrrrr)rr8rr5s   @rtestNestingGlobalNoFreez"ScopeTests.testNestingGlobalNoFree4sC	
q1%rA&rcd}|d}|d}|j|dd|j|ddy)Nc*Gfdd}|S)NceZdZfdZy)FScopeTests.testNestingThroughClass.<locals>.make_adder5.<locals>.Adderc|zSrr)rrrs  r__call__zOScopeTests.testNestingThroughClass.<locals>.make_adder5.<locals>.Adder.__call__Jr%rN)__name__
__module____qualname__r?rsrAdderr=Is!rrDr)rrDs` rmake_adder5z7ScopeTests.testNestingThroughClass.<locals>.make_adder5Hs
!
!7Nrrrrrrr)rrErrs    rtestNestingThroughClassz"ScopeTests.testNestingThroughClassFsC	!nRQ#Q'rcd}|d}|d}|j|dd|j|ddy)Ncd}|a|S)Nct|zSr
global_nest_xrs rrzMScopeTests.testNestingPlusFreeRefToGlobal.<locals>.make_adder6.<locals>.adderXs
$q((rrJrs  rmake_adder6z>ScopeTests.testNestingPlusFreeRefToGlobal.<locals>.make_adder6Vs
)MLrrrrrr)rrMrrs    rtestNestingPlusFreeRefToGlobalz)ScopeTests.testNestingPlusFreeRefToGlobalTsC	!nRQ$Q'rcJd}|d}|j|ddy)Ncd}|dS)Ncdfd}|S)N*c|zSrr)zrs rhzEScopeTests.testNearestEnclosingScope.<locals>.f.<locals>.g.<locals>.hhr%rr)rrVrs  @rgz:ScopeTests.testNearestEnclosingScope.<locals>.f.<locals>.gfs!rrrrrWs  rfz/ScopeTests.testNearestEnclosingScope.<locals>.fes

Q4Krr/r)rrY	test_funcs   rtestNearestEnclosingScopez$ScopeTests.testNearestEnclosingScopecs&	bE	1r*rcldfd}|ddd}|ddd}|j|dy)	Nc|SrrrCs ridentityz9ScopeTests.testMixedFreevarsAndCellvars.<locals>.identityrsHrcfd}|S)Nc0|z}fd}|z|S)Nc zzSrr)br`rrUsrrVzHScopeTests.testMixedFreevarsAndCellvars.<locals>.f.<locals>.g.<locals>.hxs$AQK00rr)ardcrVrr`rrUs `  @rrWz=ScopeTests.testMixedFreevarsAndCellvars.<locals>.f.<locals>.gvs!E1Err)rrrUrWr`s` ` rrYz2ScopeTests.testMixedFreevarsAndCellvars.<locals>.fus
Hrrr'r)rrYrWrVr`s    @rtestMixedFreevarsAndCellvarsz'ScopeTests.testMixedFreevarsAndCellvarsps;			
aAJ
aAJb!rcd}|}|j|jd|j|jd|j|jddGfdd}|}|j|jd|j|jd|j|jdy)Nc.dGfdd}|S)Nvarc*eZdZdZfdZdZdZy):ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.TestcyNmethodrrs rmethod_and_varzIScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.method_and_vars#rcSrrrrus rtestz?ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.tests	))rctdSNglobalstrrts r
actual_globalzHScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.actual_globalsx=(rct|Srr|rts rr}z>ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.strst9$rNr@rArBrurxr~r}rusrTestrps$*)%rrr)rrus @rrxz,ScopeTests.testFreeVarInMethod.<locals>.tests"N
%
%6Mrrnrsr{c*eZdZdZfdZdZdZy),ScopeTests.testFreeVarInMethod.<locals>.Testcyrrrrts rruz;ScopeTests.testFreeVarInMethod.<locals>.Test.method_and_varsrcSrrrws rrxz1ScopeTests.testFreeVarInMethod.<locals>.Test.tests	%%rctdSrzr|rts rr~z:ScopeTests.testFreeVarInMethod.<locals>.Test.actual_globals8}$rct|Srr|rts rr}z0ScopeTests.testFreeVarInMethod.<locals>.Test.strs4y rNrrsrrrs
 
&
%
!rr)rrxrur~)rrxtrrus    @rtestFreeVarInMethodzScopeTests.testFreeVarInMethods	
F5)))+X6*H5		!		!
F5)))+X6*H5rcpddd}|j|dd|j|dy)Nrec"fd}|dzS)NcdzS)NrZrrsrbarz8ScopeTests.testCellIsKwonlyArg.<locals>.foo.<locals>.barrrrgr)rers` rfooz+ScopeTests.testCellIsKwonlyArg.<locals>.foos
519rrS2r)rrs  rtestCellIsKwonlyArgzScopeTests.testCellIsKwonlyArgs4	
	
rB'#rcd}|}d}||}|j\}|}|j|||j||y)Nc2dfd}|j\}|S)NrScSrrvaluesrinnerzCScopeTests.testCellIsArgAndEscapes.<locals>.external.<locals>.innerr__closure__rcellrs  @rexternalz4ScopeTests.testCellIsArgAndEscapes.<locals>.externalE
%%EDKrcfd}|S)NcSrr)argsreggsz>ScopeTests.testCellIsArgAndEscapes.<locals>.spam.<locals>.eggs
rr)rrs` rspamz0ScopeTests.testCellIsArgAndEscapes.<locals>.spams

KrrassertIsassertIsNotrrcell_extrrcell_closure	cell_eggss       rtestCellIsArgAndEscapesz"ScopeTests.testCellIsArgAndEscapessR
	:	
H~((
F	

i*L1rcd}|}d}||}|j\}|}|j|||j||y)Nc2dfd}|j\}|S)NrScSrrrsrrzEScopeTests.testCellIsLocalAndEscapes.<locals>.external.<locals>.innerrrrrs  @rrz6ScopeTests.testCellIsLocalAndEscapes.<locals>.externalrrc|fd}|S)NcSrr)rsrrz@ScopeTests.testCellIsLocalAndEscapes.<locals>.spam.<locals>.eggssrr)rrrs  @rrz2ScopeTests.testCellIsLocalAndEscapes.<locals>.spamsD
Krrrs       rtestCellIsLocalAndEscapesz$ScopeTests.testCellIsLocalAndEscapessR
	:	H~((
F	

i*L1rc:d}|j|ddy)Nc>fd|dk\r|Std)Nc,|dk(ry||dz
zSNrrr)nfacts rrz1ScopeTests.testRecursion.<locals>.f.<locals>.facts6tAE{?*rrzx must be >= 0)
ValueError)rrs @rrYz#ScopeTests.testRecursion.<locals>.fs&
+
AvAw !122rriirrrYs  r
testRecursionzScopeTests.testRecursions		3	
1s#rcdt|dt|dt|dt|dy)Nzif 1:
            def unoptimized_clash1(strip):
                def f(s):
                    from sys import *
                    return getrefcount(s) # ambiguity: free or local
                return f
            zif 1:
            def unoptimized_clash2():
                from sys import *
                def f(s):
                    return getrefcount(s) # ambiguity: global or local
                return f
            zif 1:
            def unoptimized_clash2():
                from sys import *
                def g():
                    def f(s):
                        return getrefcount(s) # ambiguity: global or local
                    return f
            zif 1:
            def f():
                def g():
                    from sys import *
                    return getrefcount # global or local?
            )rrts rtestUnoptimizedNamespacesz$ScopeTests.testUnoptimizedNamespacessD4"		4"		4"		4"	rc	d}|d}|d}|j|dd|j|ddd}|d}|d}|j|dd|j|dd	fd}d	|d}|j|dd	d
}|ddd	}|ddd}|j|d
y)NcfdS)Nc|zSrrr
s r<lambda>z:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>sQrrrCs`rrz(ScopeTests.testLambdas.<locals>.<lambda>srrrrrZcfdS)NcfdS)Nc|zSrrr
s rrzLScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>!s1q5rrrCsrrz:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>!srrrCs`rrz(ScopeTests.testLambdas.<locals>.<lambda>!s03rcfdS)Nc|zSrrr4s rrz:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>'sArr)rr5s rrz(ScopeTests.testLambdas.<locals>.<lambda>'s-rrgcfdS)NcfdS)NczzSrr)rdrrUsrrzLScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>,sa1q5krr)rerdrfrrUs ` rrz:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>,s-Arr)rrrUs ``rrz(ScopeTests.testLambdas.<locals>.<lambda>,sArrhrir)
rf1rrf2f3f8rWrVr5s
         @rtestLambdaszScopeTests.testLambdass
&eBQ#B'
3eBQ#B'
-hQ#
Aq!QK
aAJb!rchd}d}|jt||jt|y)Nc*tfd}dy)NcSrrrLsrrz@ScopeTests.testUnboundLocal.<locals>.errorInOuter.<locals>.inner5rrprintrrs @rerrorInOuterz1ScopeTests.testUnboundLocal.<locals>.errorInOuter3s!H
Arc"fd}|dy)NcSrrrLsrrz@ScopeTests.testUnboundLocal.<locals>.errorInInner.<locals>.inner:rrrrrs @rerrorInInnerz1ScopeTests.testUnboundLocal.<locals>.errorInInner9s
GArassertRaisesUnboundLocalError	NameErrorrrrs   rtestUnboundLocalzScopeTests.testUnboundLocal1s/			
+\:)\2rchd}d}|jt||jt|y)Nc,dtfd}y)NrcSrrrLsrrzIScopeTests.testUnboundLocal_AfterDel.<locals>.errorInOuter.<locals>.innerJrrrrs @rrz:ScopeTests.testUnboundLocal_AfterDel.<locals>.errorInOuterFsA!H
rc$fd}d|y)NcSrrrLsrrzIScopeTests.testUnboundLocal_AfterDel.<locals>.errorInInner.<locals>.innerNrrrrrs @rrz:ScopeTests.testUnboundLocal_AfterDel.<locals>.errorInInnerMs
AGrrrs   rtestUnboundLocal_AfterDelz$ScopeTests.testUnboundLocal_AfterDelBs/			
+\:)\2rc4tdd|jiy)Naif 1:
            global_x = 1
            def f():
                global_x += 1
            try:
                f()
            except UnboundLocalError:
                pass
            else:
                fail('scope of global_x not correctly determined')
            fail)execrrts rtestUnboundLocal_AugAssignz%ScopeTests.testUnboundLocal_AugAssignWs
$))$
	&rcd}|j|ddddd}|j|dd	dy)
Ncfd}|S)NcSrr)lstsrreturnerzIScopeTests.testComplexDefinitions.<locals>.makeReturner.<locals>.returnerhrrr)rrs` rmakeReturnerz7ScopeTests.testComplexDefinitions.<locals>.makeReturnergs

Orrrrg)rrrgcfd}|S)NcSrr)kwargssrrzJScopeTests.testComplexDefinitions.<locals>.makeReturner2.<locals>.returneros
rr)rrs` r
makeReturner2z8ScopeTests.testComplexDefinitions.<locals>.makeReturner2ns

OrrNrrer)rrrs   rtestComplexDefinitionsz!ScopeTests.testComplexDefinitionsesO	
	
,a!,.8	
	
,,.s3R8rctdy)Na;if 1:
            # I
            x = 7
            def f():
                x = 1
                def g():
                    global x
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 7)
            self.assertEqual(x, 7)

            # II
            x = 7
            def f():
                x = 1
                def g():
                    x = 2
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 2)
            self.assertEqual(x, 7)

            # III
            x = 7
            def f():
                x = 1
                def g():
                    global x
                    x = 2
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 2)
            self.assertEqual(x, 2)

            # IV
            x = 7
            def f():
                x = 3
                def g():
                    global x
                    x = 2
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 2)
            self.assertEqual(x, 2)

            # XXX what about global statements in class blocks?
            # do they affect methods?

            x = 12
            class Global:
                global x
                x = 13
                def set(self, val):
                    x = val
                def get(self):
                    return x

            g = Global()
            self.assertEqual(g.get(), 13)
            g.set(15)
            self.assertEqual(g.get(), 13)
            rrts rtestScopeOfGlobalStmtz ScopeTests.testScopeOfGlobalStmtus	
OO	rcGfddfd}tdD]	}|t|jjdy)Nc&eZdZdZfdZfdZy)!ScopeTests.testLeaks.<locals>.Foorc0xjdz
c_yNrcountrFoos r__init__z*ScopeTests.testLeaks.<locals>.Foo.__init__		Q	rc0xjdzc_yrrrs r__del__z)ScopeTests.testLeaks.<locals>.Foo.__del__rrN)r@rArBrrr	)rsrrrsE

rrc.fd}|y)NcSrrrCsrrz,ScopeTests.testLeaks.<locals>.f1.<locals>.f2rrr)rrrs @rrz ScopeTests.testLeaks.<locals>.f1sA
Drdr)rangerrr)rrirs   @r	testLeakszScopeTests.testLeakssG			s	AD		A&rctdy)Naif 1:
            def test(x):
                class Foo:
                    global x
                    def __call__(self, y):
                        return x + y
                return Foo()

            x = 0
            self.assertEqual(test(6)(2), 8)
            x = -1
            self.assertEqual(test(3)(2), 5)

            looked_up_by_load_name = False
            class X:
                # Implicit globals inside classes are be looked up by LOAD_NAME, not
                # LOAD_GLOBAL.
                locals()['looked_up_by_load_name'] = True
                passed = looked_up_by_load_name

            self.assertTrue(X.passed)
            rrts rtestClassAndGlobalzScopeTests.testClassAndGlobals	rc|d}|dd}|jd||d=|j|ddddy)Ncfd}|S)Nc8fd}z}dz
tS)Nc|zSrr)rUrs rrVz>ScopeTests.testLocalsFunction.<locals>.f.<locals>.g.<locals>.hr%rrg)locals)rrVwrs`  rrWz3ScopeTests.testLocalsFunction.<locals>.f.<locals>.gs!!EQxrrrXs` rrYz(ScopeTests.testLocalsFunction.<locals>.fs
 HrrrhrVri)rrr)assertInr)rrYds   rtestLocalsFunctionzScopeTests.testLocalsFunctionsD	
AaDG

c1
cF!!!45rcd}|j|djdd}|dj}|jd||j	d|y)Nc Gfdd}|S)Nc*eZdZdZfdZey)0ScopeTests.testLocalsClass.<locals>.f.<locals>.CcSrrrrs rmz2ScopeTests.testLocalsClass.<locals>.f.<locals>.C.mHrN)r@rArBrr#rrCsrCrsrr%rrr%s` rrYz%ScopeTests.testLocalsClass.<locals>.fs


Hrrr c Gfdd}|S)Nc8eZdZWZfdZeeZy)rcSrrr"s rr#z2ScopeTests.testLocalsClass.<locals>.f.<locals>.C.m!r$rN)r@rArBrr#listrrUrCsrr%z0ScopeTests.testLocalsClass.<locals>.f.<locals>.CsNrr%rr&s` rrYz%ScopeTests.testLocalsClass.<locals>.fs
#
#
Hrrr)rrrUassertNotInr)rrYvarnamess   rtestLocalsClasszScopeTests.testLocalsClass	sS		
1$	Q466h'

c8$rcddl}|j|j|j|jddGfdd}|j	dy)Nrcyrr)rerdrfs   rrz6ScopeTests.testLocalsClass_WithTrace.<locals>.<lambda>2rr ceZdZfdZy)/ScopeTests.testLocalsClass_WithTrace.<locals>.CcSrrr"s rrYz1ScopeTests.testLocalsClass_WithTrace.<locals>.C.f6rrN)r@rArBrYrCsrr%r25s
rr%)sys
addCleanupsettracegettracer)rr4r%rs   @rtestLocalsClass_WithTracez$ScopeTests.testLocalsClass_WithTrace*sN	clln5&'			
Brcxd}|d}|j|j|jy)Nc Gfdd}|S)NceZdZfdZWZy)1ScopeTests.testBoundAndFree.<locals>.f.<locals>.CcSrrr"s rr#z3ScopeTests.testBoundAndFree.<locals>.f.<locals>.C.m@r$rN)r@rArBr#rerCsrr%r<?s
rr%rr&s` rrYz&ScopeTests.testBoundAndFree.<locals>.f>s

Hrrg)rrer#)rrYinsts   rtestBoundAndFreezScopeTests.testBoundAndFree;s0	qtv*rcddl}fdd}Gdd}|j|j|j|j|d|d|jd|j	t
|jy)NrcSrr)rerdrftracers   rrBz7ScopeTests.testInteractionWithTraceFunc.<locals>.tracerLsMrcR|\}|dk(rdk(rd|jd|fdSy)Nr___ct|Sr)getattr)objdess rrzNScopeTests.testInteractionWithTraceFunc.<locals>.adaptgetter.<locals>.<lambda>Ts73#4r)r@)nameklassgetterkindrJs    @radaptgetterz<ScopeTests.testInteractionWithTraceFunc.<locals>.adaptgetterOs3ID#qy"9',~~t<C44rceZdZy):ScopeTests.testInteractionWithTraceFunc.<locals>.TestClassN)r@rArBrrr	TestClassrQVsrrRr)rrD)r4r5r6r7r	TypeError)rr4rOrRrBs    @rtestInteractionWithTraceFuncz'ScopeTests.testInteractionWithTraceFuncHsn			5			
clln5VE9g.T)S\\2rcd}|d}|jtt|j	t	|ji|jdy#t$rYywxYw)NcfdS)NcdzSrrrCsrrz<ScopeTests.testEvalExecFreeVars.<locals>.f.<locals>.<lambda>cs1q5rrrCs`rrYz*ScopeTests.testEvalExecFreeVars.<locals>.fbs	  rrgz9exec should have failed, because code contained free vars)rrSeval__code__rrrrYrWs   rtestEvalExecFreeVarszScopeTests.testEvalExecFreeVars`s_	!
aD)T1::6	SR 
IIQR		sA	A&%A&c	tttdd}|	tty#t$rY&wxYw#t$rYywxYw)Nzbad should not be definedc^dDcgc]}|jD]}|c}}ycc}}w)Nza b)split)sbads  rrz+ScopeTests.testListCompLocalVars.<locals>.xxs%5Q17795CS5S55s))rr`rr"s  rtestListCompLocalVarsz ScopeTests.testListCompLocalVarsosX	/#J
-.	6	
	#J				s 7A	AA	AAc$d}|dy)Ncfd}|S)Nc tdy)Nzx + 1)rXrCsrrWz1ScopeTests.testEvalFreeVars.<locals>.f.<locals>.gs
W
rrrXs` rrYz&ScopeTests.testEvalFreeVars.<locals>.fs
Hrrhrrs  rtestEvalFreeVarszScopeTests.testEvalFreeVarss		
!rcGdd}y)NceZdZdZy)+ScopeTests.testFreeingCell.<locals>.Specialctyr)nestedcell_getrts rr	z3ScopeTests.testFreeingCell.<locals>.Special.__del__s rN)r@rArBr	rrrSpecialrhs
!rrkr)rrks  rtestFreeingCellzScopeTests.testFreeingCells	!	!rcd}|d\}}|j|d|j|d|j|d|j|dy)Nc fd}fd}||fS)Ncdz
SrrrCsrrz7ScopeTests.testNonLocalFunction.<locals>.f.<locals>.incQrcdzSrrrCsrdecz7ScopeTests.testNonLocalFunction.<locals>.f.<locals>.decrprr)rrrrs`  rrYz*ScopeTests.testNonLocalFunction.<locals>.fs

8Orrrrr)rrYrrrs    rtestNonLocalFunctionzScopeTests.testNonLocalFunctions^		Q4S""""rcd}|d}|j|jd|j|jd|j|jd|j|jdy)Nc*Gfdd}|S)Nc"eZdZfdZfdZy)3ScopeTests.testNonLocalMethod.<locals>.f.<locals>.ccdz
Srrr"s rrz7ScopeTests.testNonLocalMethod.<locals>.f.<locals>.c.incFAHrcdzSrrr"s rrrz7ScopeTests.testNonLocalMethod.<locals>.f.<locals>.c.decryrN)r@rArBrrrrCsrrfrws
rrfrrrfs` rrYz(ScopeTests.testNonLocalMethod.<locals>.fs

3Jrrrr)rrrrrrYrfs   rtestNonLocalMethodzScopeTests.testNonLocalMethodsj
	
aD!$!$!$!$rczi}i}td|||jd|d|jd|dy)NaCif 1:
            def f():
                y = 1
                def g():
                    global y
                    return y
                def h():
                    return y + 1
                return g, h
            y = 9
            g, h = f()
            result9 = g()
            result2 = h()
            rresult2r-result9)rr)rlocal_ns	global_nss   r#testGlobalInParallelNestedFunctionsz.ScopeTests.testGlobalInParallelNestedFunctionssN
	
9
	&	
Ii01Ii01rcd}|d}|j|jd|jd|jjy)Nc*Gfdd}|S)Nc$eZdZWdz
fdZy)2ScopeTests.testNonLocalClass.<locals>.f.<locals>.crcSrrr"s rgetz6ScopeTests.testNonLocalClass.<locals>.f.<locals>.c.getr$rN)r@rArBrrCsrrfrsQrrfrr{s` rrYz'ScopeTests.testNonLocalClass.<locals>.fs


3Jrrrr)rrr+	__class____dict__r|s   rtestNonLocalClasszScopeTests.testNonLocalClasssB	
aD!$akk223rc`d}|d}|jt|dgdy)Ncfd}|S)Nc3@Kt|D]}dz

ywr)r
)rrrs  rrWz6ScopeTests.testNonLocalGenerator.<locals>.f.<locals>.gs(qAFAGsrrXs` rrYz+ScopeTests.testNonLocalGenerator.<locals>.fs

HrrrZ)rrrgrhrZ)rr*rZs   rtestNonLocalGeneratorz ScopeTests.testNonLocalGenerators*	
aDad_5rcVd}|d}|}|j|dy)Ncfd}|S)Ncdzfd}|S)Nrcdz
S)NrhrrCsrrVz>ScopeTests.testNestedNonLocal.<locals>.f.<locals>.g.<locals>.hryrr)rVrs rrWz3ScopeTests.testNestedNonLocal.<locals>.f.<locals>.gsQrrrXs` rrYz(ScopeTests.testNestedNonLocal.<locals>.fs
Hrrrgr)rrYrWrVs    rtestNestedNonLocalzScopeTests.testNestedNonLocals+		
aD
Ca rcd}d}y)Ncyrrrs rtopz/ScopeTests.testTopIsNotSignificant.<locals>.topsrcyrrrrrrdz-ScopeTests.testTopIsNotSignificant.<locals>.br0rr)rrrds   rtestTopIsNotSignificantz"ScopeTests.testTopIsNotSignificants		rcdGfdd}|j|jdGdd}|jt|d|jdy)NrSc(eZdZded<WZy8ScopeTests.testClassNamespaceOverridesClosure.<locals>.X+rN)r@rArBrrrCsrXrsFHSMArrrc"eZdZded<[yr)r@rArBrrrrrrz8ScopeTests.testClassNamespaceOverridesClosure.<locals>.X
sFHSMrr)rrassertFalsehasattr)rrrs  @r"testClassNamespaceOverridesClosurez-ScopeTests.testClassNamespaceOverridesClosuresX			
b!			
C)BrcGdd}|}|jtj|}~t|j	|y)NceZdZdZy)'ScopeTests.testCellLeak.<locals>.TestercV		ddzdy#t$r}|_Yd}~dyd}~wwxYwr)	Exceptionexc)rrs` rdigz+ScopeTests.testCellLeak.<locals>.Tester.digs9#aC!#"DHH#s	(#(N)r@rArBrrrrTesterrs
rr)rweakrefrefrassertIsNone)rrtesterrs    rtestCellLeakzScopeTests.testCellLeaksD		

kk&!#% rN),r@rArBr r(r.r9rFrOr]rkrrrrrrrrrrrrrrrr-rr8r?rTr[rarerlrsr}rrrrrrrrrrrrs(
(('$(
(+"(#6J	$2224
$  D"03"3*&9 Rh'.26 %B   +33.
S$!#&%$2046!" !!rr__main__)
unittestrtest.supportrrrTestCaserr@mainrrr<module>rs@9#c!""c!LzHMMOr