python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_lzma.cpython-311.opt-1.pyc

e`ddlZddlZddlmZmZmZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
Z
ddlmZmZddlmZddlmZmZedZddlmZmZmZmZGd	d
e
jZGdde
jZGd
dZGdde
jZGdde
jZ Gdde
jZ!dZ"dZ#dZ$dZ%ej&ddgZ'dZ(ej)ddej&ej*ej+zdgZ,dZ-ej.dd d!ej&igZ/d"Z0ej)d#dej1d$d ej&d#dd%gZ2d&Z3d'Z4e5d(kre
j6dSdS))N)BytesIOUnsupportedOperationDEFAULT_BUFFER_SIZE)support)_4G
bigmemtest)
import_module)TESTFNunlinklzma)LZMACompressorLZMADecompressor	LZMAErrorLZMAFilecveZdZdZdZdZdZd'dZdZdZ	d	Z
d
ZdZdZ
d
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZej e!e"dzd d!Z#ej e!e"dzd" d#Z$d$Z%ej&d%Z'd&S)(CompressorDecompressorTestCasec8|ttg|ttd|ttd|ttd|ttd|tttj|t5td	d
tjigdddn#1swxYwY|ttd|ttd
|t5ttjddddn#1swxYwY|t5ttjddddn#1swxYwY|ttt|t5ttj
tdddn#1swxYwY|t5ttjtdddn#1swxYwYt}|t|j|t|jdd|t|j
d|
}|t|jd|t|j
t}|t|j|t|jdd|||t|jddS)Ng@formatcheckasdfpresetfiltersidrrsqwmemlimitzzzrrfoobarsblahsquux)assertRaises	TypeErrorr

ValueErrorrFORMAT_AUTOFILTER_LZMA2r
FORMAT_RAW
FILTERS_RAW_1	FORMAT_XZFORMAT_ALONEcompressflush
decompressEOFError)selflzcemptylzds    B/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_lzma.pytest_simple_bad_argsz3CompressorDecompressorTestCase.test_simple_bad_argss)^R888)^DAAA)^2>>>)^FCCC)^Q???*nT=MNNN


z
*
*	J	J!tT5F.G-HIIII	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	
)%5r:::)%5FFF


y
)
)	=	=T_e<<<<	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=

z
*
*	B	BT_yAAAA	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	
*&6
NNN


z
*
*	K	KDNMJJJJ	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K


z
*
*	N	ND$5}MMMM	N	N	N	N	N	N	N	N	N	N	N	N	N	N	N)S\222)S\66BBB)SY888		*clG<<<*ci000  )S^444)S^VVDDDu(CNG<<<<<sZ0DD"DF++F/2F/G88G<?G<!I11I58I5!KK
Kc|ttdg|ttddig|ttddig|t5ttjddgdddn#1swxYwY|t5ttjddgdddn#1swxYwY|t5ttjddgddddS#1swxYwYdS)	Nwobsiterxyzzyrr ́rr foo)r*r+r
r,rr.FILTER_DELTA
FILTER_X86r7s r;test_bad_filter_specz3CompressorDecompressorTestCase.test_bad_filter_specBs=)^j\JJJ*n|nMMM*ne}oNNN


z
*
*	J	J4+<Q$G$G#HIIII	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J


z
*
*	J	J4+<Q$G$G#HIIII	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J


z
*
*	H	H4?1$E$E#FGGGG	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	Hs6B33B7:B7DD
D(EEEct}|t|t|jddS)Nsnyan)rr5
COMPRESSED_XZr*r6r7r:s  r;test_decompressor_after_eofz:CompressorDecompressorTestCase.test_decompressor_after_eofMs?  }%%%(CNG<<<<<cvtd}|t|jttt
jd}|t|jttt
jd}|t|jtdS)Nr#)	rr*rr5rHrr1r2COMPRESSED_ALONErIs  r;test_decompressor_memlimitz9CompressorDecompressorTestCase.test_decompressor_memlimitRs---)S^]CCCt~===)S^]CCCt04@@@)S^5EFFFFFrKrKc:||j||}||t||j|||j||j|dSN)assertFalseeofr5assertEqualINPUTr
assertTrueunused_data)r7r:datarrWouts      r;_test_decompressorz1CompressorDecompressorTestCase._test_decompressor^s!!!nnT""e$$$E***   +66666rKct}||ttjt}||t
tjdSrQ)rrZrHrCHECK_CRC64rN
CHECK_NONErIs  r;test_decompressor_autoz5CompressorDecompressorTestCase.test_decompressor_autofsT  ]D4DEEE  %5tGGGGGrKcttj}||ttjdSrQ)rrr1rZrHr\rIs  r;test_decompressor_xzz3CompressorDecompressorTestCase.test_decompressor_xzms2t~..]D4DEEEEErKcttj}||ttjdSrQ)rrr2rZrNr]rIs  r;test_decompressor_alonez6CompressorDecompressorTestCase.test_decompressor_aloneqs3t011%5tGGGGGrKcttjt}||t
tjdSNr)rrr/r0rZCOMPRESSED_RAW_1r]rIs  r;test_decompressor_raw_1z6CompressorDecompressorTestCase.test_decompressor_raw_1u7t
FFF%5tGGGGGrKcttjt}||t
tjdSrd)rrr/
FILTERS_RAW_2rZCOMPRESSED_RAW_2r]rIs  r;test_decompressor_raw_2z6CompressorDecompressorTestCase.test_decompressor_raw_2yrgrKcttjt}||t
tjdSrd)rrr/
FILTERS_RAW_3rZCOMPRESSED_RAW_3r]rIs  r;test_decompressor_raw_3z6CompressorDecompressorTestCase.test_decompressor_raw_3}rgrKcttjt}||t
tjdSrd)rrr/
FILTERS_RAW_4rZCOMPRESSED_RAW_4r]rIs  r;test_decompressor_raw_4z6CompressorDecompressorTestCase.test_decompressor_raw_4rgrKc	*t}g}tdttdD]T}||j||t||dzUd|}|	|t|	|jtj
||j|	|jddSNr
rKrrangelenrHrRrSappendr5joinrTrUrrr\rVrWr7r:rYis    r;test_decompressor_chunksz7CompressorDecompressorTestCase.test_decompressor_chunkss  q#m,,b11	>	>ASW%%%JJs~~mAadF&;<<====hhsmme$$$D$4555   #.....rKc	t}g}tdttdD]}||j||d||d||d||t||dzd|}|	|t|	|jtj
||j|	|jddSrurwr|s    r;test_decompressor_chunks_emptyz=CompressorDecompressorTestCase.test_decompressor_chunks_emptysE  q#m,,b11	>	>ASW%%%JJs~~c**+++JJs~~c**+++JJs~~c**+++JJs~~mAadF&;<<====hhsmme$$$D$4555   #.....rKct}d}g}ttdz}||td||||j|t|d|||d|||j|t|d|||t|d||t|d||j	sZ||d||t|d||j	Zd
|}||t||jtj||jddS)Nd
max_lengthrK)rryrHrzr5rRneeds_inputrTassertLessEqualrSr{rUrrr\rW)r7r:rrYlen_s     r; test_decompressor_chunks_maxsizez?CompressorDecompressorTestCase.test_decompressor_chunks_maxsizes	  
=!!Q&

3>>-"6-7"99	:	:	:)))SWz222	

3>>#*>==>>>)))SWz222	

3>>-"6-7"99	:	:	:SR\\:666'	;JJs~~cj~AABBB  SWz:::'	;hhsmme$$$D$4555#.....rKct}g}||tdddd||dd||tddd||tdd|d|tdS)NrrrrKrirrTr5rHrzr{rUr7r:rYs   r;test_decompressor_inputbuf_1z;CompressorDecompressorTestCase.test_decompressor_inputbuf_1s  	

dsd(;34(667:	<	<	<
	

3>>#q))***	

3>>-C"8"==>>>	

3>>-"566777#.....rKct}g}||tdddd||d||tddd||tddd||tdd|d|tdS)NrrrKir,rrs   r;test_decompressor_inputbuf_2z;CompressorDecompressorTestCase.test_decompressor_inputbuf_2s  	

dsd(;34(667:	<	<	<

3>>#&&'''	

3>>-C"8!<<===	

3>>-C"8!<<===	

3>>-"566777#.....rKct}g}||tddd||tddd||tdd|d|tdS)NrrrK)rrzr5rHrTr{rUrs   r;test_decompressor_inputbuf_3z;CompressorDecompressorTestCase.test_decompressor_inputbuf_3s  	

3>>-"5q99:::	

3>>-C"8!<<===	

3>>-"566777#.....rKc|t}d}||t|ztj|dS)Ns	fooblibarrW)rrZrHrr\)r7r:extras   r;test_decompressor_unused_dataz<CompressorDecompressorTestCase.test_decompressor_unused_datasJ  ]U%:D<L,1	 	3	3	3	3	3rKct}|t|jttt
j}|t|jttt
j}|t|jttt
j
t}|t|jtdSrd)rr*rr5rerr1rNr2rHr/r0rIs  r;test_decompressor_bad_inputz:CompressorDecompressorTestCase.test_decompressor_bad_inputs  )S^5EFFFt~..)S^5EFFFt011)S^]CCCt
FFF)S^]CCCCCrKct}|t|jt|t|jtdSrQ)rr*rr5rerIs  r;test_decompressor_bug_28275z:CompressorDecompressorTestCase.test_decompressor_bug_28275sI  )S^5EFFF)S^5EFFFFFrKct}|t|z}t	}|||tjdSrQ)r
r3rUr4rrZrr\r7r8cdatar:s    r;test_roundtrip_xzz0CompressorDecompressorTestCase.test_roundtrip_xzsWU##ciikk1  UD,<=====rKcttj}|t|z}t
}|||tjdSrQ)	r
rr2r3rUr4rrZr]rs    r;test_roundtrip_alonez3CompressorDecompressorTestCase.test_roundtrip_alones[T.//U##ciikk1  UDO<<<<<rKc&ttjt}|t
|z}ttjt}|||tj	dSrd
r
rr/rqr3rUr4rrZr]rs    r;test_roundtrip_rawz1CompressorDecompressorTestCase.test_roundtrip_raw#shT_mDDDU##ciikk1t
FFFUDO<<<<<rKcttjt}|t
}||dz
}||dz
}||dz
}||z
}ttjt}|||tj	dS)NrrKrrs    r;test_roundtrip_raw_emptyz7CompressorDecompressorTestCase.test_roundtrip_raw_empty)sT_mDDDU##
c"""
c"""
c"""
t
FFFUDO<<<<<rKc	t}g}tdttdD]:}||t||dz;||d|}t}|	||tjdSrur
rxryrUrzr3r4r{rrZrr\r7r8rr}r:s     r;test_roundtrip_chunksz4CompressorDecompressorTestCase.test_roundtrip_chunks3sq#e**b))	6	6ALLeAadFm445555
SYY[[!!!  UD,<=====rKc	t}g}tdttdD]}||t||dz||d||d||d||d|}t}|	||tjdSrurrs     r;test_roundtrip_empty_chunksz:CompressorDecompressorTestCase.test_roundtrip_empty_chunks=sq#e**b))	,	,ALLeAadFm44555LLc**+++LLc**+++LLc**++++
SYY[[!!!  UD,<=====rKct}||ttztjtdS)Nr)rrZrHrNrr\rIs  r;test_decompressor_multistreamz<CompressorDecompressorTestCase.test_decompressor_multistreamLsL  ]5E%E $ 0>N	 	P	P	P	P	PrKrr)sizememusecvt}|d|z|z}t|}	|t
|||t
|ddd}dS#d}wxYw)Nxr)r
r3r4rr5rTrystrip)r7rr8rddatas     r;test_compressor_bigmemz5CompressorDecompressorTestCase.test_compressor_bigmemSsTD[))CIIKK7&&	SZZ...ST!2!233Q777EEEDELLLLs
AB44B8rc4t}td|}tj|}	||dz
|zdzz}t|}||}|||dx}x}}dS#dx}x}}wxYw)Ni)rminrandom	randbytesrr3r5rT)r7rr:	blocksizeblockinputrrs        r;test_decompressor_bigmemz7CompressorDecompressorTestCase.test_decompressor_bigmem_s  ($//	 ++	)d1f2Q67EMM%((ENN5))EUE***$((E(EEEED(E(EE((((sABBcttjdzD]}|t5tjt
|dddn#1swxYwY|t5tjt|dddn#1swxYwYdSNr)rxpickleHIGHEST_PROTOCOLr*r+dumpsr
r)r7protos  r;test_picklez*CompressorDecompressorTestCase.test_pickleos/62Q677	8	8E""9--
6
6^--u555
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6""9--
8
8-//777
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8	8	8s#"A''A+	.A+	"B::B>	B>	ctjtd}t}|}t	dD]}||||z
dddS)Ngettotalrefcountrrrv)delta)r
get_attributesysrrx__init__assertAlmostEqual)r7rr:refs_beforer}s     r;&test_refleaks_in_decompressor___init__zECompressorDecompressorTestCase.test_refleaks_in_decompressor___init__vs"06HII  &&((s		ALLNNNN//11K?"MMMMMrKNrK)(__name__
__module____qualname__r<rFrJrOrZr^r`rbrfrkrorsr~rrrrrrrrrrrrrrrrskip_if_pgo_taskrrrrr
refcount_testrr"rKr;rrs&=&=&=P	H	H	H===
GGG7777HHHFFFHHHHHHHHHHHHHHH
/
/
/
/
/
////@///,///*/// 333DDDGGG>>>=========>>>>>>PPP
ZS3Yq)))*)
ZS3Yq)))
)
)*)
)888
NNNNNrKrcDeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
S)"CompressDecompressFunctionTestCasecN|ttj|ttjg|ttjdd|ttjdd|ttjdd|ttjdd	|t5tdd
dtjigdddn#1swxYwY|ttj|ttjg|ttjdd
|ttjdd|t5tdtjidddn#1swxYwY|t5tdtjddddn#1swxYwY|t5tdt	dddn#1swxYwY|t5tdtj	tdddn#1swxYwY|t5tdtj
tddddS#1swxYwYdS)NrKxzrnonerblahrrMrrr r!rg1Ar#r'r&rr$)r*r+rr3r,r.r5r/r0r1r2rEs r;
test_bad_argsz0CompressDecompressFunctionTestCase.test_bad_argss)T]333)T]B777)T]CEEE)T]CvFFF)T]CGGG)T]CFFF


z
*
*	N	NMM#a49J2K1LMMMM	N	N	N	N	N	N	N	N	N	N	N	N	N	N	N	
)T_555)T_b999)T_c&III)T_cEJJJ


y
)
)	E	EOOCODDD	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E

z
*
*	M	MOOC)OLLL	M	M	M	M	M	M	M	M	M	M	M	M	M	M	M

z
*
*	8	8OOCO777	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8


z
*
*	O	OOOC
ONNN	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O


z
*
*	J	JOO 1=

J
J
J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	Jsl+D==EE=(H11H58H5(J

JJ/"KK!$K!-L;;L?L? -NN!Nc&|t5ttddddn#1swxYwY|t5tttjddddn#1swxYwY|t5tttjdddddS#1swxYwYdS)NrMr#r)r*rrr5rHr1rNr2rEs r;test_decompress_memlimitz;CompressDecompressFunctionTestCase.test_decompress_memlimits


y
)
)	:	:OOMDO999	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:


y
)
)	I	IOO!$.4

I
I
I	I	I	I	I	I	I	I	I	I	I	I	I	I	I	I

y
)
)	O	OOO$T->

O
O
O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	Os5"A		A
A
.-B''B+.B+-DD

D
cbtt}||ttt
}||ttttj}||ttt
tj}||ttttj	t}||ttttj	t}||ttttj	t}||ttttj	t }||tdSrd)rr5rHrTrUrNr1r2rer/r0rjrirnrmrrrqr7rs  r;test_decompress_good_inputz=CompressDecompressFunctionTestCase.test_decompress_good_inputs
..&&& 011&&&
t~>>&&& 0$2CDD&&& $/= JJ&&& $/= JJ&&& $/= JJ&&& $/= JJ&&&&&rKc|ttjtdd|ttjt
dd|ttjtddtjt|ttjtddtjt|ttjtddtjt|ttjtddtjtdS)Nr')r*rrr5rHrNrer/r0rjrirnrmrrrqrEs r; test_decompress_incomplete_inputzCCompressDecompressFunctionTestCase.test_decompress_incomplete_inputs9)T_mDSD6IJJJ)T_6Ftt6LMMM)T_6Ftt6L!%-		I	I	I)T_6Ftt6L!%-		I	I	I)T_6Ftt6L!%-		I	I	I)T_6Ftt6L!%-		I	I	I	I	IrKc|t5ttdddn#1swxYwY|t5tt
dddn#1swxYwY|t5tttjdddn#1swxYwY|t5tttj	dddn#1swxYwY|t5tttj
tddddS#1swxYwYdSNrr')r*rrr5COMPRESSED_BOGUSrerNr1rHr2r/r0rEs r;test_decompress_bad_inputz<CompressDecompressFunctionTestCase.test_decompress_bad_inputs


y
)
)	.	.OO,---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.


y
)
)	.	.OO,---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.


y
)
)	E	EOO,T^ODDD	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E


y
)
)	E	EOOM$2CODDD	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E


y
)
)	3	3OOM$/$1

3
3
3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3sY AAA, BBB=,C55C9<C9,EEE72F66F:=F:ctt}t|}||ttttj}t|}||ttttj}t|}||ttttjt}t|tjt}||tdSrd)	rr3rUr5rTr1r2r/rq)r7rrs   r;test_roundtripz1CompressDecompressFunctionTestCase.test_roundtrips

e$$&&&&&

eT^44&&&&&

eT%677&&&&&

eT_m
LLt
NN&&&&&rKctttz}||t
dzdS)Nr)rr5rHrNrTrUrs  r;test_decompress_multistreamz>CompressDecompressFunctionTestCase.test_decompress_multistreams9
0@ @AA	*****rKctttz}||t
dSrQrr5rHrrTrUrs  r;test_decompress_trailing_junkz@CompressDecompressFunctionTestCase.test_decompress_trailing_junks5
0@ @AA&&&&&rKcttdztz}||t
dzdS)Nrrrs  r;)test_decompress_multistream_trailing_junkzLCompressDecompressFunctionTestCase.test_decompress_multistream_trailing_junks>
 14D DEE	*****rKN)rrrrrrrrrrrrr"rKr;rrsJJJ:OOO''':
I
I
I333'''&+++'''+++++rKrc&eZdZdZddZdZdZdS)TempFilez=Context manager - creates a file, and deletes it on __exit__.rKc"||_||_dSrQ)filenamerX)r7rrXs   r;rzTempFile.__init__
s 
			rKct|jd5}||jddddS#1swxYwYdS)Nwb)openrwriterXr7fs  r;	__enter__zTempFile.__enter__s
$-
&
&	!
GGDI																		s>AAc.t|jdSrQ)rr)r7argss  r;__exit__zTempFile.__exit__st}rKNr)rrr__doc__rrrr"rKr;rrsLGGrKrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?S)@FileTestCasecttt5}	dddn#1swxYwYttd5}	dddn#1swxYwYttd5}	dddn#1swxYwYttd5}	ddddS#1swxYwYdS)Nwxa)rrrHrs  r;	test_initzFileTestCase.test_inits
gm,,
-
-																
gii
%
%																
gii
%
%																
gii
%
%																			sB044A%%A),A)BB!BCCCcntjt}t|t5t|5}||tdddn#1swxYwYt|d5}|	tdddn#1swxYwYt|5}||tdzdddn#1swxYwYddddS#1swxYwYdS)Nr
r)
pathlibPathr
rrHrrTreadrUr)r7rrs   r; test_init_with_PathLike_filenamez-FileTestCase.test_init_with_PathLike_filename"s<''
h

.
.	6	6(##
2q  5111
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2(C((
A














(##
6q  519555
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6s|D*.A9-D*9A=	=D*A=	D*B;/D*;B?	?D*B?	D*1DD*D	D*D	D**D.1D.c~ttt5tt5}	dddn#1swxYwYttd5}	dddn#1swxYwYttd5}	dddn#1swxYwYddddS#1swxYwYdS)Nrr
)rr
rHrrs  r;test_init_with_filenamez$FileTestCase.test_init_with_filename,s
fm
,
,		&!!
Q














&#&&
!














&#&&
!














																		syB2>B2A	B2A	B2A, B2,A0	0B23A0	4B2BB2B	B2!B	"B22B69B6ctt5ttd5	dddn#1swxYwYttd5	dddn#1swxYwYttd5	dddn#1swxYwYttd5	dddn#1swxYwYttd5	dddn#1swxYwYttd5	dddn#1swxYwYddddS#1swxYwYdS)Nrrbrrr
ab)rr
rrEs r;test_init_modezFileTestCase.test_init_mode5s
f

		&#&&
















&$''
















&#&&
















&$''
















&#&&
















&$''
















																		sD79D7=	D7=	D7A'D7'A+	+D7.A+	/D7B	D7B	D7B	D75C7D7C	D7
C	D7#C1%D71C5	5D78C5	9D7DD7D#	#D7&D#	'D77D;>D;c|ttdD]}tttt|5	dddn#1swxYwY|t
5tt|5	dddn#1swxYwYdddn#1swxYwYdS)N)r	xb)
addCleanuprr
rr*FileExistsError)r7modes  r;test_init_with_x_modez"FileTestCase.test_init_with_x_modeDst'''		D6NNN&$''
















""?33

fd++














			sHAA 	#A 	B<B%B<%B))B<,B)-B<<C	C	c@|t5tttddddn#1swxYwY|t5tttddddn#1swxYwY|t5tttddddn#1swxYwY|t5tttddddn#1swxYwY|t5tttddddn#1swxYwY|t5tttddddn#1swxYwY|t5tttddddn#1swxYwY|t5tttddddn#1swxYwY|t5tttd	dddn#1swxYwY|t5tttd
dddn#1swxYwY|t5tttdddddS#1swxYwYdS)N)rr	rxtzx+rxwxrtzr+wtzw+rw)r*r,rrrHrEs r;test_init_bad_modezFileTestCase.test_init_bad_modeNs


z
*
*	7	7W]++X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7


z
*
*	1	1W]++R000	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3


z
*
*	3	3W]++T222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3s#A

AA/#BB"%B"#C22C69C6#EE

E
+#FF!F?#G..G25G2#II	I'#JJJ;#K**K.1K.#L>>MM##NNNc|t5ttdddddn#1swxYwY|t5ttdt
jdddn#1swxYwY|t5ttdt
jdzdddn#1swxYwY|t5tttt
j
dddn#1swxYwY|t5tttt
jdddn#1swxYwY|t5tttt
jdddn#1swxYwY|t5tttt
j
dddn#1swxYwY|t5tttt
jddddS#1swxYwYdS)Nrsasdrr)r*r+rrrr
CHECK_UNKNOWNCHECK_ID_MAXr,rHr]CHECK_CRC32r\CHECK_SHA256rEs r;test_init_bad_checkz FileTestCase.test_init_bad_checkfs


y
)
)	3	3WYY62222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3

y
)
)	?	?WYY4+=>>>>	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?


y
)
)	B	BWYY4+<q+@AAAA	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B

z
*
*	D	DW]++4?CCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D


z
*
*	E	EW]++43CDDDD	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E


z
*
*	E	EW]++43CDDDD	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E


z
*
*	F	FW]++43DEEEE	F	F	F	F	F	F	F	F	F	F	F	F	F	F	F


z
*
*	G	GW]++43EFFFF	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	GsAA

A
+)B  B$'B$,C==DD".EE #E .F;;F?F? .HH!H?.I99I=I=.KK Kcr|t5ttdddddn#1swxYwY|t5ttdddddn#1swxYwY|t5ttdddddn#1swxYwY|t
5ttdddddn#1swxYwY|t
5ttdddddn#1swxYwY|t5ttdddddn#1swxYwY|t5tttd	ddddS#1swxYwYdS)
Nrg(\@rrvrirBr)r*r+rrr
OverflowErrorr,rHrEs r;test_init_bad_presetz!FileTestCase.test_init_bad_presetzs


y
)
)	2	2WYYD1111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2


y
)
)	0	0WYYB////	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0


y
)
)	0	0WYYB////	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0


}
-
-	0	0WYYB////	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0


}
-
-	0	0WYYB////	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0


y
)
)	3	3WYYE2222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3

z
*
*	7	7W]++A6666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s}AA

A
+BBB;C&&C*-C*D66D:=D:FF

F
+GGG;$H,,H03H0c*|t5ttddgdddn#1swxYwY|t5ttdddigdddn#1swxYwY|t5ttdddigdddn#1swxYwY|t5ttdt
jdd	gdddn#1swxYwY|t5ttdt
jdd	gdddn#1swxYwY|t5ttdt
jdd	gddddS#1swxYwYdS)
Nrr>rr?rr r@rrA)	r*r+rrr,rr.rCrDrEs r;test_init_bad_filter_specz&FileTestCase.test_init_bad_filter_specs


y
)
)	;	;WYYj\::::	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;


z
*
*	=	=WYYwl^<<<<	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=


z
*
*	>	>WYYtUm_====	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>


z
*
*	D	DWYY%)%6qAAB
D
D
D
D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D

z
*
*	D	DWYY%)%6qAAB
D
D
D
D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D

z
*
*	B	BWYY%)_Q??@
B
B
B
B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	Bsk AAA,"BB!B?"C--C14C1-EEE0-F))F-0F--HHHc|t5ttdtjdtddddS#1swxYwYdS)Nr)rrr)r*r,rrrr/r0rEs r;!test_init_with_preset_and_filtersz.FileTestCase.test_init_with_preset_and_filterss


z
*
*	6	6WYYDO}
6
6
6
6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6s0AAAcTtt5}t|}|||j|||jdddn#1swxYwYt
tt5tt}|j}||	|j|ddddS#1swxYwYdSrQ)
rrHrcloserRclosedrr
_fprV)r7srcrfps    r;
test_closezFileTestCase.test_closesk
]
#
#	)s

A
GGIIISZ(((
GGIIISZ(((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)fm
,
,		  AB
GGIIIOOBI&&&
GGIII																		s%A,B

BB2ADD!$D!chttt}	||j|||j|n#|wxYw||jttd}	||j|n#|wxYw||jdSNr)rrrHrRr7rr6rVrs  r;test_closedzFileTestCase.test_closedsW]++,,	QX&&&
FFHHHQX&&&
GGIIIIAGGIIII!!!WYY$$	QX&&&
GGIIIIAGGIIII!!!!!sABBC??Dc*ttt}	|t|j|n#|wxYw|t|jttt5tt}	|
||j||t|n#|wxYw	dddn#1swxYwY|t|jdSrQ)rrrHr*rfilenor6r,rr
rTr8assertIsInstanceintrs  r;test_filenozFileTestCase.test_filenosnW]++,,	2AH===
GGIIIIAGGIIII*ah///
fm
,
,		  A
  QU\\^^<<<%%ahhjj#666									
																
*ah/////s6 AA.+E(A,E-E(EE((E,/E,cttt}	||||||n#|wxYw|t|jttd}	|	||n#|wxYw|t|jtt}d|_t|}	|	||n#|wxYw|t|jdS)NrcdS)NFr"r"rKr;<lambda>z,FileTestCase.test_seekable.<locals>.<lambda>surK)
rrrHrVseekablerr6r*r,rR)r7rr9s   r;
test_seekablezFileTestCase.test_seekablesW]++,,	OOAJJLL)))
FFHHHOOAJJLL)))
GGIIIIAGGIIII*aj111WYY$$	QZZ\\***
GGIIIIAGGIIII*aj111m$$$}SMM	QZZ\\***
GGIIIIAGGIIII*aj11111s$A"BB00'D,,E'G

G#cttt}	||||||n#|wxYw|t|jttd}	|	||n#|wxYw|t|jdSr=)
rrrHrVreadablerr6r*r,rRrs  r;
test_readablezFileTestCase.test_readables	W]++,,	OOAJJLL)))
FFHHHOOAJJLL)))
GGIIIIAGGIIII*aj111WYY$$	QZZ\\***
GGIIIIAGGIIII*aj11111A"BB00'D,,Ecttt}	||||||n#|wxYw|t|jttd}	|	||n#|wxYw|t|jdSr=)
rrrHrRwritablerr6r*r,rVrs  r;
test_writablezFileTestCase.test_writablesW]++,,	QZZ\\***
FFHHHQZZ\\***
GGIIIIAGGIIII*aj111WYY$$	OOAJJLL)))
GGIIIIAGGIIII*aj11111rLcX	ttt5}||t
||ddddn#1swxYwYttt5}||t
dddn#1swxYwYttttj5}||t
||ddddn#1swxYwYttttj	5}||t
||ddddn#1swxYwYttttjt5}||t
||ddddn#1swxYwYttttjt5}||t
||ddddn#1swxYwYttttjt 5}||t
||ddddn#1swxYwYttt"tjt$5}||t
||dddddS#1swxYwYdS)NrKrr')rrrHrTrrUrNrr1r2rer/r0rjrirnrmrrrqrs  r;	test_readzFileTestCase.test_reads
gm,,
-
-	,QVVXXu---QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,g.//
0
0	.AQVVXXu---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.
gm,,T^
D
D
D	,QVVXXu---QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,g.//8I
J
J
J	,aQVVXXu---QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,g.//!_mEEE	,HIQVVXXu---QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,g.//!_mEEE	,HIQVVXXu---QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,g.//!_mEEE	,HIQVVXXu---QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,g.//!_mEEE	,HIQVVXXu---QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,sABBB0.C**C.1C."AFFF<AHH"%H"AJ>>KK<AMM"%M"AO>>PP<ARR#&R#cHttt5}||dddddn#1swxYwYttt
5}||dddddn#1swxYwYttttj5}||dddddn#1swxYwYttt
tj5}||ddddddS#1swxYwYdS)NrrKr)	rrrHrTrrNrr1r2rs  r;test_read_0zFileTestCase.test_read_0/sB
gm,,
-
-	-QVVAYY,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
g.//
0
0	-AQVVAYY,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
gm,,T^
D
D
D	-QVVAYY,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
g.//8I
J
J
J	-aQVVAYY,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-sG*AAA*B::B>B>2*D((D,/D, *FFFc~ttt5}g}	|d}|sn9|t|d||Q|d|tddddS#1swxYwYdSNTrvrK)
rrrHrrryrzrTr{rU)r7rchunksresults    r;test_read_10zFileTestCase.test_read_109s
gm,,
-
-	6F
&$$S[["555

f%%%
&
SXXf--u555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6sBB22B69B6ctttdz5}||t
dzdddn#1swxYwYttttz5}||t
dzdddn#1swxYwYtttdztj	t5}||t
dzddddS#1swxYwYdS)Nrrr')rrrHrTrrUrNrnrr/rmrs  r;test_read_multistreamz"FileTestCase.test_read_multistreamDs
gma/00
1
1	2QQVVXXuqy111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2
gm.>>??
@
@	2AQVVXXuqy111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2
g.233!_mEEE	2HIQVVXXuqy111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2s51A""A&)A&1CCC1EEEcntj}ttt_	t	ttdz5}||tdzdddn#1swxYwY|t_dS#|t_wxYwNr)	_compressionBUFFER_SIZEryrHrrrTrrU)r7saved_buffer_sizers   r;)test_read_multistream_buffer_size_alignedz6FileTestCase.test_read_multistream_buffer_size_alignedMs)4#&}#5#5 	9'-1"45566
6!  519555
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6(9L$$$'8L$8888s/$B&1B
B&
BB&BB&&B4cttttz5}||tddddS#1swxYwYdSrQrrrHrrTrrUrs  r;test_read_trailing_junkz$FileTestCase.test_read_trailing_junkXs
gm.>>??
@
@	.AQVVXXu---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.s.A%%A),A)ctttdztz5}||tdzddddS#1swxYwYdSr]rcrs  r;#test_read_multistream_trailing_junkz0FileTestCase.test_read_multistream_trailing_junk\s
gma/2BBCC
D
D	2QVVXXuqy111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2s1A++A/2A/cnttt5tt5}||t||ddddn#1swxYwYddddS#1swxYwYdS)NrK)rr
rHrrTrrUrs  r;test_read_from_filez FileTestCase.test_read_from_file`s
fm
,
,	0	0&!!
0Q  5111  3///
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0s5B*ABB*B	B*B	B**B.1B.c	tjd}n%#t$r|dYnwxYwt	tt
5t
|5}||t||ddddn#1swxYwYddddS#1swxYwYdS)Nascii%Temporary file name needs to be ASCIIrK)
r
encodeUnicodeEncodeErrorskipTestrrHrrTrrU)r7bytes_filenamers   r;'test_read_from_file_with_bytes_filenamez4FileTestCase.test_read_from_file_with_bytes_filenamefsa	C#]733NN!	C	C	CMMABBBBB	C
fm
,
,	0	0.))
0Q  5111  3///
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0sC99C &AC<C C	C C	C  C$'C$ctttdd5}|t|jddddS#1swxYwYdS)Nr)rrrHr*r6rrs  r;test_read_incompletez!FileTestCase.test_read_incompleteps
gmDSD122
3
3	0qh///	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0s!AAActdd}tt|5}|t|jdddn#1swxYwYtt|5}||ttt|t|jddddn#1swxYwYtdD]_}tt|d|5}|t|jddddn#1swxYwY`dS)Nir)
rHrrr*r6rrTryrUrx)r7	truncatedrr}s    r;test_read_truncatedz FileTestCase.test_read_truncatedts"$3$'	
gi((
)
)	0Qh///	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
gi((
)
)	3QQVVCJJ//777h222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3r	7	7A')BQB-0011
7Q!!(AFA666
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7	7	7s6!AA AA"C..C25C2."EE 	#E 	c&ttt}||t
|jttd5}|t
|jdddn#1swxYwYttt5}|t|jtddddS#1swxYwYdSr=)	rrrHr6r*r,rr+floatrs  r;test_read_bad_argszFileTestCase.test_read_bad_argssOW]++,,				*af---
gii
%
%	2j!&111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2
gm,,
-
-	:i999	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:s$2!BB#&B#.DD

D
cttt5}|t|jddddS#1swxYwYdSrQ)rrrr*rrrs  r;test_read_bad_datazFileTestCase.test_read_bad_datas
g.//
0
0	1Ai000	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1s!AAActtt5}g}	|}|sn||-|d|t||dddddS#1swxYwYdS)NTrKrrrHread1rzrTr{rUr7rblocksrWs    r;
test_read1zFileTestCase.test_read1s
gm,,
-
-	-F
&

f%%%	
&

SXXf--u555QWWYY,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-sBB66B:=B:cttt5}||ddddddS#1swxYwYdS)NrrK)rrrHrTr~rs  r;test_read1_0zFileTestCase.test_read1_0s
gm,,
-
-	.QWWQZZ---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.s*AA Acttt5}g}	|d}|sn||.|d|t||dddddS#1swxYwYdSrUr}rs    r;
test_read1_10zFileTestCase.test_read1_10s
gm,,
-
-	-F
&

f%%%	
&

SXXf--u555QWWYY,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-sBB77B;>B;ctttdz5}g}	|}|sn||-|d|tdz||dddddS#1swxYwYdS)NrTrKr}rs    r;test_read1_multistreamz#FileTestCase.test_read1_multistreams
gma/00
1
1	-QF
&

f%%%	
&

SXXf--uqy999QWWYY,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-sB
B<<CCcttt}||t
|jttd5}|t
|jdddn#1swxYwYttt5}|t|jdddddS#1swxYwYdSr=)rrrHr6r*r,r~r+rs  r;test_read1_bad_argsz FileTestCase.test_read1_bad_argssKW]++,,				*ag...
gii
%
%	3j!'222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3
gm,,
-
-	8i$777	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8s$2!BB#&B#"C::C>C>c2ttt5}|}|t|d|t||	|
tdddn#1swxYwYttt5}|d}|t|d|t||	|
tddddS#1swxYwYdS)Nrrv)rrrHpeek
assertGreaterryrVrU
startswithrTr)r7rrWs   r;	test_peekzFileTestCase.test_peeks
gm,,
-
-	.VVXXFs6{{A...OOE,,V44555QVVXXu---		.	.	.	.	.	.	.	.	.	.	.	.	.	.	.
gm,,
-
-	.VVBZZFs6{{A...OOE,,V44555QVVXXu---		.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.s%BCCC,BFFFcttd5}|t|jddddS#1swxYwYdSr=)rrr*r,rrs  r;test_peek_bad_argszFileTestCase.test_peek_bad_argss
gii
%
%	2j!&111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2s!AAActt5}|}dddn#1swxYwYttt5}|t
t||dddn#1swxYwYttt5}|t
t||dddn#1swxYwYttttj
5}|t
t||dddn#1swxYwYttttj5}|t
t||dddn#1swxYwYttttj
t5}|t
t||ddddS#1swxYwYdSr)rrU	readlinesrrHassertListEquallistiterrNrr1r2rjr/rir7rliness   r;
test_iteratorzFileTestCase.test_iteratorsT
U^^	"qKKMME	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"
gm,,
-
-	7  d1gg666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
g.//
0
0	7A  d1gg666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
gm,,T^
D
D
D	7  d1gg666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
g.//8I
J
J
J	7a  d1gg666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
g.//!_mEEE	7HI  d1gg666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7sf6::"1BB#&B#1DDD1E==FF51G22G69G601I..I25I2cVtt5}|}dddn#1swxYwYttt5}|D]*}|||+	ddddS#1swxYwYdSrQ)rrUrrrHrTreadline)r7rrlines    r;
test_readlinezFileTestCase.test_readlines
U^^	"qKKMME	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"
gm,,
-
-	5
5
5  t4444
5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5s6::".BB"%B"cJtt5}|}dddn#1swxYwYttt5}|||ddddS#1swxYwYdSrQ)rrUrrrHrrs   r;test_readlineszFileTestCase.test_readliness
U^^	"qKKMME	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"
gm,,
-
-	7  666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s6::")BBBctdtdzd}|t	|t
jtt|}|	|
dddtz}||j
j|ddS)z-Decompressed data buffering should be limitedg>Ar3rrz)Excessive amount of data was decompressedN)rr3rB
assertLessryr^r_rrrTrrr_bufferrawtell)r7bombdecomp
max_decomps    r;test_decompress_limitedz$FileTestCase.test_decompress_limiteds}}USXX-a}88D		<#;<<<'$--((Q///,,
V^/4466
7	9	9	9	9	9rKc(t5}t|d5}|tdddn#1swxYwYtt}|||dddn#1swxYwYt5}t|dtj5}|tdddn#1swxYwYtttj}|||dddn#1swxYwYt5}t|dtj	5}|tdddn#1swxYwYtttj	}|||dddn#1swxYwYt5}t|dtj
t5}|tdddn#1swxYwYtttj
t}|||ddddS#1swxYwYdS)Nrrr')rrrrUrr3rTgetvaluer1r2r/ri)r7dstrexpecteds    r;
test_writezFileTestCase.test_writesF
YY	7##s##
q














}}U++HS\\^^X666		7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
YY	7##s4>:::
a














}}U4>}BBHS\\^^X666		7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
YY	7##s4+<===















}}U43D}EEHS\\^^X666		7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
YY	7##s4?"/111
45














}}U4?-:%<<HS\\^^X666
	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7sB%AB%A	B%A	A
B%%B),B)>E,D6E,D	E,	D	
AE,,E03E0H3"G	=H3	G
	
H3G
	AH33H7:H7#L/J
LJ	LJ	ALLLc	t5}t|d5}tdttdD]'}|t||dz(	dddn#1swxYwYtt}||	|ddddS#1swxYwYdS)Nrrrv)
rrrxryrUrrr3rTr)r7rrstartrs     r;
test_write_10zFileTestCase.test_write_10sH
YY	7##s##
3q"1c%jj"5533EGGE%b.122223
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3}}U++HS\\^^X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s6CAA9-C9A=	=CA=	A
CCCctdd}tdd}tdd}dd|||fD}t5}t|d5}||dddn#1swxYwYt|d5}||dddn#1swxYwYt|d5}||dddn#1swxYwY|||ddddS#1swxYwYdS)NrMrKc3JK|]}t|VdSrQrr3.0r	s  r;	<genexpr>z1FileTestCase.test_write_append.<locals>.<genexpr>.LLDMM!,,LLLLLLrKrr
)rUr{rrrrTr)r7part1part2part3rrrs       r;test_write_appendzFileTestCase.test_write_appends-eted4i dee88LLueU6KLLLLL
YY	7##s##
q














#s##
q














#s##
q














S\\^^X666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s~E/BEB	EB	E,CEC	EC	E)D?ED	ED	+EEEc	ttd5}|tdddn#1swxYwYtt}t
td5}|||dddn#1swxYwYttdS#ttwxYw)Nrr)
rr
rrUrr3rrTrr)r7rrs   r;test_write_to_filezFileTestCase.test_write_to_file"s*	&#&&
!














}}U++Hfd##
5q  8444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6NNNNNF6NNNNsOC>CACA7C=)B2&C2B66C9B6:CC)cD	tjd}n%#t$r|dYnwxYw	t	|d5}|tdddn#1swxYwYtt}ttd5}|
||dddn#1swxYwYttdS#ttwxYw)Nrjrkrr)
r
rlrmrnrrrUrr3rrTrr)r7rorrs    r;&test_write_to_file_with_bytes_filenamez3FileTestCase.test_write_to_file_with_bytes_filename,sy	C#]733NN!	C	C	CMMABBBBB	C	.#..
!














}}U++Hfd##
5q  8444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6NNNNNF6NNNNs_99D	
A4(D	4A88D	;A8<7D	3)C(D	(C,,D	/C,0D		Dc6tdd}tdd}tdd}dd|||fD}	ttd5}||dddn#1swxYwYttd5}||dddn#1swxYwYttd5}||dddn#1swxYwYttd5}|||dddn#1swxYwYttdS#ttwxYw)NrMrrKc3JK|]}t|VdSrQrrs  r;rz9FileTestCase.test_write_append_to_file.<locals>.<genexpr>>rrKrr
r)	rUr{rr
rrrTrr)r7rrrrrs      r;test_write_append_to_filez&FileTestCase.test_write_append_to_file:sJeted4i dee88LLueU6KLLLLL
	&#&&
!














&#&&
!














&#&&
!














fd##
5q  8444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6NNNNNF6NNNNsF&B<FBFBF(C
>F
CFCF*DFDFDF,)E!F!E%%F(E%)FFcttd}||t|jdtttd5}|t|jddddn#1swxYwYttd5}|t|jd|t|jd|t|jdddddS#1swxYwYdS)Nrr(rr)texti)rrr6r*r,rrHr+rs  r;test_write_bad_argsz FileTestCase.test_write_bad_argsKsWYY$$				*agv666
gm,,c
2
2	;aj!'6:::	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;
gii
%
%	7i$777i&999i#666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s%4"B""B&)B&	A$D::D>D>ctt5}|}dddn#1swxYwYt5}t|d5}||dddn#1swxYwYt
t}|||ddddS#1swxYwYdSr=)	rrUrr
writelinesrr3rTr)r7rrrrs     r;test_writelineszFileTestCase.test_writelinesVs{
U^^	"qKKMME	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"
YY	7##s##
$qU###
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$}}U++HS\\^^X666		7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7sC6::C! B6C!B	C!	B	
A
C!!C%(C%cttt5}|d||tddddddS#1swxYwYdS)Ni+rrrHseekrTrrUrs  r;test_seek_forwardzFileTestCase.test_seek_forward_s
gm,,
-
-	4
FF3KKKQVVXXuSTT{333	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4sAA::A>A>c>tttdz5}|t	t
dz||t
ddddddS#1swxYwYdS)Nr{)rrrHrryrUrTrrs  r; test_seek_forward_across_streamsz-FileTestCase.test_seek_forward_across_streamsds
gma/00
1
1	4Q
FF3u::#$$$QVVXXuSTT{333	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4sA BBBc:ttt5}|d|dd||tddddddS#1swxYwYdS)Nriri8rrrHrrrTrUrs  r;%test_seek_forward_relative_to_currentz2FileTestCase.test_seek_forward_relative_to_currentis
gm,,
-
-	5
FF3KKK
FF4OOOQVVXXuTUU|444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5sA!BBBcttt5}|dd||tddddddS#1swxYwYdS)Nirrrs  r;!test_seek_forward_relative_to_endz.FileTestCase.test_seek_forward_relative_to_endo
gm,,
-
-	5
FF4OOOQVVXXuTUU|444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5AA;;A?A?c8ttt5}|d|d||tddddddS#1swxYwYdS)Nirrs  r;test_seek_backwardzFileTestCase.test_seek_backwardts
gm,,
-
-	4
FF4LLL
FF3KKKQVVXXuSTT{333	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4sA BBBcxtttdz5}|t	t
dz|d||t
ddt
zddddS#1swxYwYdS)NriMi)rrrHrryrUrrTrs  r;!test_seek_backward_across_streamsz.FileTestCase.test_seek_backward_across_streamszs
gma/00
1
1	<Q
FF3u::#$$$
FF3KKKQVVXXuSTT{U':;;;	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<sA=B//B36B3cttt5}|dd||tddddddS#1swxYwYdS)Nijrrrs  r;"test_seek_backward_relative_to_endz/FileTestCase.test_seek_backward_relative_to_endrrcttt5}|t	t
dz||t	t
||dddddS#1swxYwYdS)N)#rK)	rrrHrryrUrTrrrs  r;test_seek_past_endzFileTestCase.test_seek_past_ends
gm,,
-
-	,
FF3u::$%%%QVVXXs5zz222QVVXXs+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,sB
B<<CCcNttt5}|d||d||tddddS#1swxYwYdS)Nir)rrrHrrTrrrUrs  r;test_seek_past_startz!FileTestCase.test_seek_past_starts
gm,,
-
-	.
FF3KKKQVVXXq)))QVVXXu---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.sA+BB!Bcttt}||t
|jdttd5}|t
|jddddn#1swxYwYttt5}|t
|jdd|tt
f|jdd|t|jd|t|jdddddS#1swxYwYdS)Nrrr	r"sderp)rrrHr6r*r,rr+rs  r;test_seek_bad_argszFileTestCase.test_seek_bad_argssW]++,,				*afa000
gii
%
%	5j!&!444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5
gm,,
-
-	:j!&!Q777y*5qvq"EEEi666i999	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:s%3"B!!B%(B%
BE((E,/E,c\ttt5}d}	||||d}|sn|t
|z
}S||t
tdddn#1swxYwYttd5}tdt
tdD]O}||||	t||dzP||t
tddddS#1swxYwYdS)NrTr)
rrrHrTrrryrUrxr)r7rposrWs    r;	test_tellzFileTestCase.test_tells
gm,,
-
-	3C
#  3///s6{{"
#
QVVXXs5zz222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3gii
%
%	3QE

C00
,
,  3///c#c'k*++++QVVXXs5zz222		3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3s%BB??CC&B.F!!F%(F%cttt}||t
|jdSrQ)rrrHr6r*r,rrs  r;test_tell_bad_argszFileTestCase.test_tell_bad_argssBW]++,,				*af-----rKcft}|td}|t	|d||jt}|td}||j||j|d}|t	|d||j|||z|dS)Nrrih3i]3rK)	rr5ISSUE_21872_DATrTryrVrSrRr)r7d1entired2out1out2s      r;test_issue21872zFileTestCase.test_issue21872s

2>>Ve,,,



}}_}??(((   }}S!!TB'''f-----rKcntjdgd}t||jz}tt	d5}|||||||ddddS#1swxYwYdS)NQ)rrrrZrr)arrayryitemsizerrrTrr)r7qLENGTHrs    r;test_issue44439zFileTestCase.test_issue44439sK___--Q!*$
gii
%
%	/QWWQZZ000QVVXXv...	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/sAB**B.1B.N)Arrrrrrrrr%r+r/r1r4r;r>rCrHrKrOrQrSrXr[rardrfrhrprrrvryr{rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"rKr;rrs666


3330GGG(777"BBB"666
(""""000 2224222"222",,,:---	6	6	6222	9	9	9...222000000000777:::111	-	-	-...	-	-	-	-	-	-888
.
.
.222
7
7
7555777	9	9	97770777777"	7	7	7777444
444
555555
444<<<555
,,,...:::333 ...
...</////rKrcJeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS)OpenTestCasectttd5}||tdddn#1swxYwYt5}t|d5}|tdddn#1swxYwYt|	}||tt|d5}|tdddn#1swxYwYt|	}||tdzddddS#1swxYwYdS)Nrrrr)
rrrrHrTrrUrr5r)r7rbio	file_datas    r;test_binary_modeszOpenTestCase.test_binary_modessE
YYw}--t
4
4	.QVVXXu---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.
YY	3#3%%















77IY...3%%















77IY	222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3sm.A((A,/A,F:C8F:C	F:C	A%F:1EF:E	F:E	 A
F::F>F>c(td}|dtj}t
ttdd5}|	|
|dddn#1swxYwYt5}t
|dd5}||dddn#1swxYwYt
|
d}|	||t
|dd5}||dddn#1swxYwYt
|
d}|	||dzddddS#1swxYwYdS)Nrj
r"encodingr#atr)rUdecodereplaceoslineseprrrrHrTrrr5r)r7uncompresseduncompressed_rawrrrs      r;test_text_modeszOpenTestCase.test_text_modess||G,,'//bjAA
YYw}--tgY
F
F	5!QVVXX|444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5
YY	>#3w77
&1%%%
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&77>>wGGIY(89993w77
&1%%%
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&77>>wGGIY(81(<===	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>sn*)BB#&B#8HC8,H8C<	<H?C<	A5H5FHF	HF	AHHHc*tt5ttd5}|t
dddn#1swxYwYttd5}t|}||t
dddn#1swxYwYttd5}||t
dddn#1swxYwYttd5}|t
dddn#1swxYwYttd5}||t
dzdddn#1swxYwYddddS#1swxYwYdS)Nrrrr)	rr
rrrrUr5rrT)r7rrs   r;
test_filenamezOpenTestCase.test_filenames
f

	6	664((
A














fd##
3q OOAFFHH55	  E222
3
3
3
3
3
3
3
3
3
3
3
3
3
3
364((
2A  5111
2
2
2
2
2
2
2
2
2
2
2
2
2
2
264((
A














64((
6A  519555
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6s!HAHA!	!H$A!	%H=ACHC	HC	#H<.D6*H6D:	:H=D:	>#H!F<HF	HF	#H31G0$H0G4	4H7G4	8HHHctjt}t|5t|d5}|tdddn#1swxYwYt|d5}t|	}|
|tdddn#1swxYwYt|d5}|
|	tdddn#1swxYwYddddS#1swxYwYdS)Nrr)r
rr
rrrrrUr5rrT)r7rrrs    r;test_with_pathlike_filenamez(OpenTestCase.test_with_pathlike_filenames<''
h

	2	28T**
a














h%%
3 OOAFFHH55	  E222
3
3
3
3
3
3
3
3
3
3
3
3
3
3
38T**
2a  5111
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2s~EA, E,A0	0E3A0	4EACEC	E"C	#E.D;/E;D?	?ED?	EEEcH|t5ttddddn#1swxYwY|t5ttddddn#1swxYwY|t5ttdddddn#1swxYwY|t5ttdddddn#1swxYwY|t5ttdd	ddddS#1swxYwYdS)
Nrrbtrzutf-8rignore)errorsr)newline)r*r,rrr
rEs r;test_bad_paramszOpenTestCase.test_bad_paramss


z
*
*	"	"IIfb!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"


z
*
*	%	%IIfe$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%


z
*
*	6	6IIfdWI555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6


z
*
*	5	5IIfd8I444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5


z
*
*	2	2IIfdDI111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2sY!AAA-!BB!B?#C..C25C2#EE	E'#FFFcXtjtd}tjt	t
dfi|5}||tdddn#1swxYwYt	5}tj|dfi|5}|	tdddn#1swxYwYtj
|fi|}||tddddS#1swxYwYdS)Nr'rr)rr/r0rrrerTrrUrr5r)r7optionsrrrs     r;test_format_and_filtersz$OpenTestCase.test_format_and_filterss!_GG
Yw/00$
B
B'
B
B	.aQVVXXu---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.
YY	/#30000
A














BB'BBIY...		/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/sH.A44A8;A8
D!C<DC	DC	ADD#&D#ctd}|dtj}t5}t|dd5}||dddn#1swxYwYt	|
d}||||dt|dd5}||
|dddn#1swxYwYddddS#1swxYwYdS)Nrjrr#z	utf-16-lerrr")rUr	r
rrrrrrr5rrTrr)r7r
rrrrs      r;
test_encodingzOpenTestCase.test_encoding)s||G,,'//bjAA
YY	9#3{;;
&q%%%
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&77>>{KKIY(8999HHQKKK3{;;
9q  <888
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9s[	E('B	=E(	B
	
E(B
	B
E()EE(E	E(E	E((E,/E,cBttd5}t|ddd5}||ddddn#1swxYwYddddS#1swxYwYdS)Nsfoobarr"rjr)rrfoobar)rrr3rrTr)r7rrs   r;test_encoding_error_handlerz(OpenTestCase.test_encoding_error_handler6s
T]]=11
2
2	5c3wxHH
5A  8444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5s5B)A<0B<B	BB	BBBctd}t5}t|ddd5}||dddn#1swxYwY|dt|ddd5}|||gdddn#1swxYwYddddS#1swxYwYdS)Nrjr#r)rrrr"
)	rUr	rrrrrrTr)r7rrrs    r;test_newlinezOpenTestCase.test_newline<s||G$$
YY	8#3wEE


















HHQKKK3wEE
8  777
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8		8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8sYC6A*C6*A.	.C61A.	26C6(*CC6C"	"C6%C"	&C66C:=C:c|ttdD]}ttd|vrdnd}tt||5	dddn#1swxYwY|t5tt|5	dddn#1swxYwYdddn#1swxYwYdS)N)r	rrtrjr)rrr
rrr*r)r7rrs   r;test_x_modezOpenTestCase.test_x_modeFs'''%		D6NNN"%++ww4H64(;;
















""?33

YYvt,,














		sH#A11A5	8A5	!C7C9CC		CC	
CC 	#C 	N)
rrrrrrrrrrr!r$r'r"rKr;rrs333
>
>
>666	2	2	2222	/	/	/999555888					rKrc&eZdZdZdZdZdZdS)MiscellaneousTestCasec|ttj|ttj|ttjdz|ttjdSr)rVris_check_supportedr]r)rRr(r'rEs r;test_is_check_supportedz-MiscellaneousTestCase.test_is_check_supportedTs	
//@@AAA//0@AABBB	
001BQ1FGGHHH	
001CDDEEEEErKc(|t5tddddn#1swxYwY|t5tddidddn#1swxYwY|t5ttjdddddn#1swxYwY|tj5ttjdddddn#1swxYwYttjdd	d
dd}|	|d
dS)Ns
not a dictr rt)r junkrr distrrr)r pblplc	dict_size])
r*r+r_encode_filter_propertiesr,r.rrCFILTER_LZMA1rT)r7propss  r;test__encode_filter_propertiesz4MiscellaneousTestCase.test__encode_filter_properties`s


y
)
)	:	:**=999	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:


z
*
*	:	:**D%=999	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:


z
*
*	R	R**$2CR+P+PQQQ	R	R	R	R	R	R	R	R	R	R	R	R	R	R	R


t~
.
.	:	:**$2C37,9,9
:
:
:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:
..'$00	
 455555sGAA	A'BBB5(C))C-0C-(EEEc|t5ttjdt
idddn#1swxYwY|tj5ttjddddn#1swxYwYttjd}|	|dtj|	|dd|	|dd|	|d	d
|	|dddS)
Nz	should bestoo longr7r r3rr4rr5rr6r2)
r*r+r_decode_filter_propertiesrDbytesrrCr9rT)r7
filterspecs  r;test__decode_filter_propertiesz4MiscellaneousTestCase.test__decode_filter_propertiesus


y
)
)	R	R**4?[%<PQQQ	R	R	R	R	R	R	R	R	R	R	R	R	R	R	R


t~
.
.	K	K**4+<kJJJ	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K33!#799
D)4+<===D)1---D)1---D)1---K0':::::s#-AAA>&B00B47B4cttjd}t|}ttj|}|||dS)Nr7)rr=r9r8rT)r7spec1	reencodedspec2s    r; test_filter_properties_roundtripz6MiscellaneousTestCase.test_filter_properties_roundtripsg..!#79922599	..t/@)LL&&&&&rKN)rrrr,r;r@rEr"rKr;r)r)RsS
F
F
F666*
;
;
;'''''rKr)s
LAERTES

       O, fear me not.
       I stay too long: but here my father comes.

       Enter POLONIUS

       A double blessing is a double grace,
       Occasion smiles upon a second leave.

LORD POLONIUS

       Yet here, Laertes! aboard, aboard, for shame!
       The wind sits in the shoulder of your sail,
       And you are stay'd for. There; my blessing with thee!
       And these few precepts in thy memory
       See thou character. Give thy thoughts no tongue,
       Nor any unproportioned thought his act.
       Be thou familiar, but by no means vulgar.
       Those friends thou hast, and their adoption tried,
       Grapple them to thy soul with hoops of steel;
       But do not dull thy palm with entertainment
       Of each new-hatch'd, unfledged comrade. Beware
       Of entrance to a quarrel, but being in,
       Bear't that the opposed may beware of thee.
       Give every man thy ear, but few thy voice;
       Take each man's censure, but reserve thy judgment.
       Costly thy habit as thy purse can buy,
       But not express'd in fancy; rich, not gaudy;
       For the apparel oft proclaims the man,
       And they in France of the best rank and station
       Are of a most select and generous chief in that.
       Neither a borrower nor a lender be;
       For loan oft loses both itself and friend,
       And borrowing dulls the edge of husbandry.
       This above all: to thine ownself be true,
       And it must follow, as the night the day,
       Thou canst not then be false to any man.
       Farewell: my blessing season this in thee!

LAERTES

       Most humbly do I take my leave, my lord.

LORD POLONIUS

       The time invites you; go; your servants tend.

LAERTES

       Farewell, Ophelia; and remember well
       What I have said to you.

OPHELIA

       'Tis in my memory lock'd,
       And you yourself shall keep the key of it.

LAERTES

       Farewell.
sthis is not a valid lzma streams 7zXZִF!t/]bXn䴝o
2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bnԨNȆ3x2O@Q/OozSt<I#ud6Y]-Pee:	7
pJV%G=?(΂=I3R
isPX2jLbc-HoJliQk?@xH12Puw㾪iWЀ#cb5]dWlUGyF7v5h8W5:?rD5@7cԗitSkKvy6Te
]:kla4r}r*z8hӼl-KZL3Ϝ!^9w PPKdZ}%$/&,qh{Q)qÀo![Ԋwt`^??\RԎXaЫS>ɕH	
%$.oRbU^S/vr̢GkzʀЋIxy-0z^֏_Pi萄ܿky܁+\YYhw̴ |ejz`A叩	=_%voZO	M-<"CMg~b|'x!JFu87yu_@qc#5)_
3]o]5myK+b t0ȏ׮+iܹk>f
${pƈ0_h6Z%'
"冟7X=mNX[FUɆ0a+* _$_ޯ46qɒ`}ʮ`wجVeZ#d{w
B:^VaH
\Xu#%*v!	4Vj?uLUtwPgYZs]bXn䴝o
2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bnԨNȆ3x2O@Q/OozSt<I#ud6Y]-Pee:	7
pJV%G=?(΂=I3R
isPX2jLbpljr=	3!EvVF״P~E7ƻc%I;砋Z(o>`᪨١}獃4T㘼DMA@ȓSaśTJE}g#ZVɝc>0S/y_(r?@:zBeyX :	xD\&GYJv{)Ao5F?vVtTf'k\Y|wdd  ,Xsv}%
ߢ.6
h
 BlU}sHpB8ZA;z{5!A$qg/|r^=n6{>8
:'.
:݂'["wD$wq,1,2w$JdmgA&8i;NQrheL;mQN[jEOliB^R].-eiNwbQ~餈4kM)T3)B^..	H5#NV$Kk
t'R2-LH0~?SOE]<Z0a*?rnGd^8uEI
Vⳕi!&1FDP SO3D!w_G+.]>#h;5JK^-[\ʯԡĸprr.l []+0gaKYI,
V_#>wW,
63J2=kTUti_lhfxr)r rs]bXncyqm' QIVL8_뼥
W$=R;k8	{+cS3mb4*+.9bZrA0s"rGސcu۩.Al<OiŴg4t6"o?^}}[:
[lg2n7@6Tu	8[4PCV"x~NK%k:{6è\@F_ȐsU87JMг;X﮳eO,z,dyjlB8#6PKP؈ҡC?۔_"eޛ>H;#4ź%v9A"2i3߾Dm7o:Jہ6O	Q펕S/MSJd=^BE͑G.b&ٟj\CvҊ?^H>IqYK7DWOl5U{ϣk{O*B-(R@E:VY]ĥgX3]n콣Yu*TA$AAiw젇%=DѻqCqpL "t~cix)l)@lynD:Җ?%_
h#7QDhnѣ_?q17_|ʷSWt9L|WsL_$Fkvfhî1QG5yIcwrIp:p_va"ّeëH*m}}>l%΄dӂ5fOg^&	@ΟJ{rzMho^U7\!kUd~熊z;PGw^ı3Sf @売sxRD`Wϑ
TZ-X|^[7֢		Q5/@S5VhAKVC
MxOO<e*Hk6G+)͜lK}5u*F2rr0s]-Ԩd?ᆵH2.g5z	[}WmHgQRA5
v~:o:JCc*o\lE
2aU{׸wܾ88\[_9%fs#=<\t=7ft\Q8Ԫآ>-ӎ#ArAmJ~B(`WKkaj S%iXB;EeTbg
jу]"Mr\j~PGHN*Z.	pE1ͩHP~0JK]9F_[ԋ6뿻$kS{,f:Sjz殘Q~r?&ˀ	|x|dhh+'Ł3q`Z#܊Il{6ճxhz%ݘ!RUaX1=R0㤚bd$]Bh2cL`4xZ
]T^؉
;Y9zo)f]$n
p;QK @:UcX
!"=.6g=WnOTDW3pntVOjMi$3܊fY
KhwO2^&V
i=yZoƶ
w%c`]8mQh`[q0g"NR)(0\G!xzHyM
\A	arMꄛ!~
Hoڇh颾qN!WGڡA`j?5B~E!^ݨy}))D2fuɗx4_6$t9=˿v\8jk)ffnĩMIE5TpӉ3/֏ou;PRFj$hK(c7)ݲ,.yQi`h-	^[!M.-S+8, ë~$eP]iog^
Ek`~y+^D"!ҧT5Y4ZHf]όx3TUHy7X ( /\JvP8~4kAyPJNaO:eqACmw	uCwUP8L4w!L2 j;Vːlv@EZ[E`>ޡbZЩ`{;fk1.N(u!LГBjc_}dàY/,bl@p8quHX}OXݾeO`CF=K$I_XJ'v+.vTv5ṑS"(xCXpS'J!G	2oSdy,f
ߞE\Lh}W#\ozr.)r start_offsetr s]bXn䴝o
2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bnԨNȆ3x2O@Q/OozSt<I#ud6Y]-Pee:	7
pJV%G=?(΂=I3R
isPX2jLbc-HoJliQk?@xH12Puw㾪iWЀ#cb5]dWlUGyF7v5h8W5:?rD5@7cԗitSkKvy6Te
]:kla4r}r*z8hӼl-KZL3Ϝ!^9w PPKdZ}%$/&,qh{Q)qÀo![Ԋwt`^??\RԎXaЫS>ɕH	
%$.oRbU^S/vr̢GkzʀЋIxy-0z^֏_Pi萄ܿky܁+\YYhw̴ |ejz`A叩	=_%voZO	M-<"CMg~b|'x!JFu87yu_@qc#5)_
3]o]5myK+b t0ȏ׮+iܹk>f
${pƈ0_h6Z%'
"冟7X=mNX[FUɆ0a+* _$_ޯ46qɒ`}ʮ`wجVeZ#d{w
B:^VaH
\Xu#%*v!	4rZ@)r rr5s\bWh'֐,vJq lxBf=&fx
>TnFv_?V<#w؞*]c~]Eg"8=~WDǙ1u9hw|lk6o7{Y_b$=wZ@kmE*ح{j,)mB<ca( -c'B`װ]Bܖ6DՃ1&5 PZ&jŏSӥu$̗oV~xWp4HDY)t"Fߥ"xȒ
[l*Yر@o7ru5$U{	}QxNXX`v-f/\)Bg#2B2444q	93?mPXa)djw2A\C3!o[:0.@\4Jv4kkfss^ea=&rpEՀykTHoŌ0-e\>k	!^qA<EG񶹂sa̒ҶUنaTG@	7*޼]6N񄞟'<ߙsqН%p4{=MH:֤0DӨS `W 7N#
	1al	jA:\=D3]eZAdgFQqBro仴@dQ
/ظS5:gDzڐ5H!	uRlQOb	RA -IGE$jѪI2s53D0%P}JO^hlV.owඤ*rG+i[w@_yW.-mU6gSA(=ޒ,DnE\Yˌ~
EuVƙm<[u1
w%![·B,%df"g.3XY+4qA
=9*/s1b@FQ\,E7[!mA}3R5FH)ccнn{IJB`w&`}@Oxe	|eg@Y88NJ!qqWk*7Jmq
:`.+)ހXQmcPA'ɬ)tZR`]gRFTHS<PeJ^[c~']A,K{MxQ3=a9a2sbE"dDIJ!dGm_rNBqPΧeP!|6ͿIirejPqwS7hMʆ?P}y~I<Q8ߔ>rkv⹊qIs"㩥>D;33'e.;HqW~2x
6	;j[-%@2\ǯ¡Oth_A_
W&D܅;X,>-7S)pQBLdsuȕ*)v{FWljs]@h3`DѻZ^3+g-1F%-ps8,|*xТb!cهUn VJ"8%_`?@*‚^&gɯ'}FN\Mz-˚O@gƥw
nG'GIrυy[/_MQ+xF]&,fHgrvqxYF9'Fd<\kai C"4)֧`y|jX!NDžjv]c5ՙi^Gl:,'4$Ywkkņ>~G5]0dw#(3ʡbXr+m3qŞ*6s-r?CgJN'M
Q
`mNql:qGT!0~4J827At]5MK,j7(l2ڕ(0BhpJ	go??}όV:вkk=Ǎ/`.X*~j";V`t0d)}\bJ
+V!ޘK7`
ā~؍mY)/Pm[zZӋPf0ЕJ{Wope]ڷ5<g!̱\72Mc35
0L-˖Uʰ̉*P.~9o?
}P
;m|#03<^HiֳTFq}&ĮΜU̶drwNzsRl5^eVYٟ*Ĩ6+ֈ[_rcfx|~L/ۘCiOt<Q`%5k
7I<#)&C`!˩FMuʕebXaOf;Crbٜi]<zT9pFPw堔aq&Wo5q8t4-H	dQJs."pNg}|d3X[E+WvG/I<L\1O{mW~^@
D@A9;BOutNJ5ZO6[7o*[ɷa'uq+yaMļ0'pQHK=nFOY0	|Py~h0d[_vcI3`WyrkBiŊ^ԁ>"v`$^2.dd@Y|j}riVX4rBNPS[I(;9|^0;.*[l_Xf!43D{t]5Ufb
,Q	@<,-37	K7*X~Okz"3sL;^⽪Zfڦ:]}a?5M
}M
2YoīTU"unA̐i~4*JtuוZG~ST,
C`2>Qśhu bVKc ޅ-:*;`ݗgS}5e7/!Y'
C(bTD_E֘{\fz9˥bqW!;z~is+5khtUޣˆj
C?0Jj;0d#;c&8?Jncb4lhnZe,B-c|&LL86bViF̎4/^W?܄(dOD64,SJc^0	D[憰n^븸)a @+
/h3`+P-Bn^/w<M!EY<٦Bǃ"D|&dœ`70o喤v;]'hA&9~@t<4)=:&6A+<k\dv^l5C?ԠMCȀ
3BPjyzE[oT
'*H
M7f;'wM 帷 D+PgnkcƐVUovfZ3^翬vxJjn*o>_+D{sHAGݭ7q+Wg"X~4`q)KsV5s*;{<@GjLؒ&	u5]\A|ICeQ*~uXyP
fZEu>'`cZ8jUoe>Rb#H-!ޝkw{/K)A:UM̻{9 ((6iu؞q7-BQ8vACd!'ͮؓިb2Kl	|DU>w7}W|g|1 m@6+	D Mҵ'~Co	fI1φ`͂wcdCUEMJH=*I"
^S6=@,Gr[>n<(}~4stff	/)
ײwQnsƷ(G<6[~H ~
:e(_(c̟gvS=S>
YRGAOdcPܟ"[Q~䈡#CϾHؾmWFQ(XDKB.-՞|N]Z=)MLTiN?4O&u70ؓBNEyϘDʚL_]ܩ1 cؿp-N(#2Ilr__main__)7r^riorrrrr
rrrtestrunittesttest.supportrrtest.support.import_helperr	test.support.os_helperr
rrr
rrrTestCaserrrrrr)rUrrHrNr.r0rerCPRESET_DEFAULTPRESET_EXTREMErirjFILTER_IA64rmrnrDrqrrrrmainr"rKr;<module>rTseAAAAAAAAAA				











((((((((444444}VFFFFFFFFFFFFgNgNgNgNgNX%6gNgNgNTD+D+D+D+D+):D+D+D+NA/A/A/A/A/8$A/A/A/Huuuuu8$uuup7'7'7'7'7'H-7'7'7'x>	@6+4`("X)Q778
*\)155) /$2EEGGH
:&|(%@@)*,
)Z)155>>)Qa@@B
?HA%LzHMOOOOOrK