+
    ito                     .   ^ RI HtHtHtHtHtHtHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtC ^ RIDHEtE ^ RIFHGtH ^ RIIHJtJ ^ RIKHLtL ^ RIMHNtN ^ RIOHPtP R tQR	 tRR
 tSR tTR tUR tVR tWR tXR tYR tZR t[R t\R t]R t^R t_R t`R taR tbR tcR tdR teR tfR tgR thR  tiR! tjR" tkR# tlR$ tmR% tnR& toR' tpR( tqR) trR*# )+    )Cgf_crtgf_crt1gf_crt2gf_int	gf_degreegf_stripgf_trunc	gf_normalgf_from_dict
gf_to_dictgf_from_int_polygf_to_int_polygf_neggf_add_groundgf_sub_groundgf_mul_groundgf_addgf_sub
gf_add_mul
gf_sub_mulgf_mulgf_sqrgf_divgf_remgf_quogf_exquo	gf_lshift	gf_rshift	gf_expandgf_pow
gf_pow_modgf_gcdexgf_gcdgf_lcmgf_cofactorsgf_LCgf_TCgf_monicgf_evalgf_multi_eval
gf_composegf_compose_modgf_trace_mapgf_diffgf_irreduciblegf_irreducible_pgf_irred_p_ben_orgf_irred_p_rabingf_sqf_listgf_sqf_partgf_sqf_p
gf_Qmatrix	gf_Qbasisgf_ddf_zassenhausgf_ddf_shoupgf_edf_zassenhausgf_edf_shoupgf_berlekampgf_factor_sqf	gf_factorgf_valuelinear_congruence_csolve_prime_las_vegascsolve_prime	gf_csolvegf_frobenius_mapgf_frobenius_monomial_base)ExactQuotientFailed)
polyconfig)ZZ)pi)	nextprime)raisesc                      . ROp . ROpRpRp\        W\        4      V8X  g   Q h. ROp. ROp\        V\        4      W$V38X  g   Q h\        WW$V\        4      V8X  g   Q hR# )1   i i	 N)rM   L   A   )c   a   _   )i#  i$  i%  )>         )r   rH   r   r   )UMpuESs         `/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/tests/test_galoistools.pytest_gf_crtr]   )   sf    AAAA!q   AA1b>aAY&&&1q"%***    c                      \        ^ ^4      ^ 8X  g   Q h\        ^^4      ^8X  g   Q h\        ^^4      ^8X  g   Q h\        ^^4      R8X  g   Q h\        ^^4      R8X  g   Q h\        ^^4      ^ 8X  g   Q hR# )r   N)r    r^   r\   test_gf_intrc   9   sz    !Q<1!Q<1!Q<1!Q<2!Q<2!Q<1r^   c                      \        . 4      R8X  g   Q h\        ^.4      ^ 8X  g   Q h\        ^^ .4      ^8X  g   Q h\        . RO4      ^8X  g   Q hR# )   Nra   )re   r   r   r   re   )r   rb   r^   r\   test_gf_degreerf   B   sR    R=BaS>QaV!!!_%***r^   c                  x   \        . 4      . 8X  g   Q h\        ^ .4      . 8X  g   Q h\        . RO4      . 8X  g   Q h\        ^.4      ^.8X  g   Q h\        ^ ^.4      ^.8X  g   Q h\        . RO4      ^.8X  g   Q h\        . RO4      . RO8X  g   Q h\        . RO4      . RO8X  g   Q h\        . RO4      . RO8X  g   Q hR# )r   N)r   r   r   )r   r   r   re   re      r   )r   re   ri   r   )r   r   r   re   ri   r   )r   rb   r^   r\   test_gf_striprj   I   s    B<2QC=BI"$$$QC=QCQFs"""L!aS(((I)+++L!Y...&'9444r^   c                     \        . ^4      . 8X  g   Q h\        ^.^4      ^.8X  g   Q h\        ^.^4      . 8X  g   Q h\        ^.^4      ^.8X  g   Q h\        . RO^4      . RO8X  g   Q h\        . RO^4      . RO8X  g   Q hR# )   Nrl         re   r      re   r   )rU      ro   re   r   )re   re   rq   re   r   )r	   rb   r^   r\   test_gf_truncrs   W   s    Br!!!QC###RD"###RD"!$$$&+y888&+>>>r^   c                  >    \        . RO^\        4      . RO8X  g   Q hR# )rl   Nrm   rp   )r
   rH   rb   r^   r\   test_gf_normalru   a   s    'R0I===r^   c                  f   ^^^^^ ^/p ^^^^^ ^/p. ROp\        V ^\        4      V8X  g   Q h\        V^4      V8X  g   Q h^R^^ ^^^ ^/p ^R^^^ ^/p. ROp\        V ^\        4      V8X  g   Q h\        V^4      V8X  g   Q h\        ^
.^RR7      ^ R/8X  g   Q h\        ^
.^RR7      ^ ^
/8X  g   Q hR# )	rl   T	symmetricFN)re   r   r   r   r   ri   r   r   r   r   r      )rq   r   r   r   r   r   r   r   re   r   r   re   ra   )r   rH   r   )fFgs      r\   test_gf_from_to_dictr~   e   s    	RAq"A	Q1aA,A2r"a'''a!!!	RAq!Q#A	RAq!A,A2r"a'''a!!!rdB$/Ar7:::rdB%0QG;;;r^   c                      \        . RO^4      . RO8X  g   Q h\        . RO^4      . R	O8X  g   Q h\        ^
.^RR7      R.8X  g   Q h\        ^
.^RR7      ^
.8X  g   Q hR# )
re   Trw   FN)re   r      ri      )re   r   ri   ri   r   )re   r      ri   ry   ra   )re   r   ra   ri   r`   )r   r   rb   r^   r\   test_gf_from_to_int_polyr   x   sd    ,a0OCCC/1-1BBBB2$d3t;;;2$e4<<<r^   c                      \        . \        4      ^ 8X  g   Q h\        ^.\        4      ^8X  g   Q h\        ^^.\        4      ^8X  g   Q hR# r   N)r&   rH   rb   r^   r\   
test_gf_LCr      E    R=A!b>Q!Q!!!r^   c                      \        . \        4      ^ 8X  g   Q h\        ^.\        4      ^8X  g   Q h\        ^^.\        4      ^8X  g   Q hR# r   )r'   rH   rb   r^   r\   
test_gf_TCr      r   r^   c                     \        \        P                  ! . 4      ^\        4      ^ . 38X  g   Q h\        \        P                  ! ^.4      ^\        4      ^^.38X  g   Q h\        \        P                  ! ^.4      ^\        4      ^^.38X  g   Q h\        \        P                  ! . RO4      ^\        4      ^. RO38X  g   Q h\        \        P                  ! . RO4      ^\        4      ^. RO38X  g   Q hR# )rl   Nre   ri   ry   r   )ri   ry   r      )re   r   ri      )r(   rH   maprb   r^   r\   test_gf_monicr      s    BFF2JB'Ar7222BFFA3KR(QH444BFFA3KR(QH444BFF<("b1a5FFFFBFF<("b1a5FFFFr^   c                  
   \        . ^\        4      . 8X  g   Q h\        ^.^\        4      ^
.8X  g   Q h\        . RO^\        4      . RO8X  g   Q h\        . ^ ^\        4      . 8X  g   Q h\        . ^ ^\        4      . 8X  g   Q h\        . ^^\        4      ^.8X  g   Q h\        . ^^\        4      ^.8X  g   Q h\        ^.^^\        4      ^.8X  g   Q h\        ^.^^\        4      ^	.8X  g   Q h\        ^.^^\        4      . 8X  g   Q h\        ^.^^\        4      . 8X  g   Q h\        . RO^^\        4      . RO8X  g   Q h\        . RO^^\        4      . RO8X  g   Q h\	        . ^ ^\        4      . 8X  g   Q h\	        . ^^\        4      . 8X  g   Q h\	        ^.^ ^\        4      . 8X  g   Q h\	        ^.^^\        4      ^.8X  g   Q h\	        . RO^ ^\        4      . 8X  g   Q h\	        . RO^^\        4      . RO8X  g   Q h\	        . RO^^\        4      . RO8X  g   Q h\        . . ^\        4      . 8X  g   Q h\        ^.. ^\        4      ^.8X  g   Q h\        . ^.^\        4      ^.8X  g   Q h\        ^.^.^\        4      ^.8X  g   Q h\        ^.^.^\        4      ^.8X  g   Q h\        ^^.^.^\        4      ^^.8X  g   Q h\        ^.^^.^\        4      ^^.8X  g   Q h\        . RO. RO^\        4      . RO8X  g   Q h\        . . ^\        4      . 8X  g   Q h\        ^.. ^\        4      ^.8X  g   Q h\        . ^.^\        4      ^
.8X  g   Q h\        ^.^.^\        4      . 8X  g   Q h\        ^.^.^\        4      ^
.8X  g   Q h\        ^^.^.^\        4      ^^.8X  g   Q h\        ^.^^.^\        4      ^
^
.8X  g   Q h\        . R	O. RO^\        4      . R
O8X  g   Q h\        . RO^^.. RO^\        4      . RO8X  g   Q h\        . RO^^.. RO^\        4      . RO8X  g   Q h\        . . ^\        4      . 8X  g   Q h\        . ^.^\        4      . 8X  g   Q h\        ^.. ^\        4      . 8X  g   Q h\        ^.^.^\        4      ^.8X  g   Q h\        ^.^.^\        4      ^.8X  g   Q h\        . RO. RO^\        4      . RO8X  g   Q h\        . RO. RO^\        4      . RO8X  g   Q h\        . RO. RO^\        4      . RO8X  g   Q h\        . ^\        4      . 8X  g   Q h\        ^.^\        4      ^.8X  g   Q h\        ^^.^\        4      . RO8X  g   Q h\        . RO^\        4      . RO8X  g   Q hR# )rl   Nre   ri   ry   )
   	   r   )re   ri   rq   rh   )r   ry   r   )r   r   r   )r   r   ri   ry   ri   re   )rq   r   ri   )re   r   rq   )r   r   rq   re   )re   ri   r   r   r   )r   r   ry   ri   ry   )ry   r   r   rq   re   ri   )r   r   re   r   	re   r   ry   ri   r   ry   re   ri   r   )ri   r   r   re   r   	r   r   r   r   rq   r   re   ry   r   )re   r   r   )r   rH   r   r   r   r   r   r   r   r   r   rb   r^   r\   test_gf_arithr      s   "b"###1#r22$&&&)R$
222QB'2---QB'2---QB'A3...QB'A3...!aR(QC///!aR(QC///!aR(B...!aR(B...Ar2.);;;Ar2.);;;QB'2---QB'2---!aR(B...!aR(QC///Ar2."444Ar2.);;;Ar2.*<<<"b"b!R'''1#r2r"qc)))"qc2r"qc)))1#sB#s***1#sB#s***1a&1#r2&1a&0001#1vr2&1a&000)ZR0I==="b"b!R'''1#r2r"qc)))"qc2r"rd***1#sB#r)))1#sB#t+++1a&1#r2&1a&0001#1vr2&2r(222)ZR0I===Aq6<R14DE E EAq6<R14DE E E "b"b!R'''"qc2r"b(((1#r2r"b(((1#sB#s***1#sB#s***$lB; @' ' ' ', 2B; @' ' ' ' /?B; @' ' ' ' "b"###1#r21#%%%1a&"b!Y.../2r*.IIIIr^   c                  4  aa \        \        R  4       \        \        R 4       \        \        R 4       \        \        R 4       \        ^.. RO^\        4      . ^.38X  g   Q h\	        ^.. RO^\        4      ^.8X  g   Q h\        ^.. RO^\        4      . 8X  g   Q h\        P                  ! . RO4      o\        P                  ! . RO4      o. R	Op ^^.p\        SS^\        4      W38X  g   Q h\	        SS^\        4      V8X  g   Q h\        SS^\        4      V 8X  g   Q h\        \        VV3R l4       \        P                  ! . RO4      o\        P                  ! . R
O4      o. ROp . ROp\        SS^\        4      W38X  g   Q h\	        SS^\        4      V8X  g   Q h\        SS^\        4      V 8X  g   Q h\        \        VV3R l4       \        \        P                  ! . RO4      \        P                  ! ^^.4      ^\        4      ^^.8X  g   Q hR# )c                  *    \        . RO. ^\        4      # re   r   )r   rH   rb   r^   r\   <lambda>"test_gf_division.<locals>.<lambda>       fYB&Cr^   c                  *    \        . RO. ^\        4      # r   )r   rH   rb   r^   r\   r   r      r   r^   c                  *    \        . RO. ^\        4      # r   r   rH   rb   r^   r\   r   r      r   r^   c                  *    \        . RO. ^\        4      # r   r   rb   r^   r\   r   r      r   r^   c                  (   < \        S S^\        4      # r   r   rH   r{   r}   s   r\   r   r          Aq"(=r^   c                  (   < \        S S^\        4      # r   r   r   s   r\   r   r     r   r^   Nr   )r   r   ry   ri   re   r   )r   re   r   rq   )re   ri   ry   r   )r   re   r   rp   )re   ri   re   )rK   ZeroDivisionErrorr   rH   r   r   r   rF   )qrr{   r}   s     @@r\   test_gf_divisionr      s   
CD
CD
CD
CD1#y!R(R!I5551#y!R(QC///1#y!R(B...
!"A
yAA	
AA!Q21&(((!Q2!###!Q2!###
 =>
!"A
|AAA!Q21&(((!Q2!###!Q2!###
 =>"&&#RVVQF^R<AFFFr^   c                     . ROp \        . ^\        4      . 8X  g   Q h\        . ^\        4      . . 38X  g   Q h\        V ^\        4      . RO8X  g   Q h\        V ^\        4      . RO8X  g   Q h\        V ^ \        4      V . 38X  g   Q h\        V ^\        4      . RO^.38X  g   Q h\        V ^\        4      ^^.. RO38X  g   Q h\        V ^\        4      . V 38X  g   Q hR# )re   N)re   ri   ry   r   r   )re   ri   ry   r   r   r   )re   ri   ry   r   r   r   r   r   )ry   r   r   )r   rH   r   r{   s    r\   test_gf_shiftr     s    ARB2%%%RBB8+++Q2"4444Q2"7777Q21b')))Q2<!"5555Q2Aq69"5555Q22q')))r^   c                      ^^.^3^^.^3.p \        V ^\        4      . RO8X  g   Q h\        ^V 3^\        4      . RO8X  g   Q hR# )re   N)re   r   ry   r   rq   r   )r   r   re   r   ri   r   )r   rH   )r|   s    r\   test_gf_expandr     sP    a&!1vqk"AQB#5555aVR$(<<<<r^   c                     \        . RO^ ^\        4      ^.8X  g   Q h\        . RO^^\        4      . RO8X  g   Q h\        . RO^^\        4      . RO8X  g   Q h\        . RO^^\        4      . RO8X  g   Q h\        . RO^^\        4      . ^N^ N^ N^N^	N^ N^N^N^
N^N^N^N^
N^N^N^	N^N^N^ N^ N^N^N^N^N^N^N^N^	N^
N^
N^N^N^N8X  g   Q h\        . RO^-^\        4      . ^N^ N^ N^N^N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^
N^ N^ N^ N^ N^ N^ N^
N^ N^ N^
N^N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^	N^ N^ N^ N^ N^ N^ N^
N^ N^ N^
N^N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^
N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^	N^ N^ N^ N^ N^ N^ N^	N^ N^ N^	N^N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^N^ N^ N^ N^ N^ N^ N^
N^ N^ N^
N^N^ N^ N^ N^ N^ N^ N^
N^ N^ N^
N^N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^N^ N^ N^ N^ N^ N^ N^N^ N^ N^N^
N8X  g   Q h\        \        P                  ! . RO4      ^ \        P                  ! . RO4      ^\        4      ^.8X  g   Q h\        \        P                  ! . RO4      ^\        P                  ! . RO4      ^\        4      ^^.8X  g   Q h\        \        P                  ! . RO4      ^\        P                  ! . RO4      ^\        4      ^^.8X  g   Q h\        \        P                  ! . RO4      ^\        P                  ! . RO4      ^\        4      ^^.8X  g   Q h\        \        P                  ! . RO4      ^\        P                  ! . RO4      ^\        4      ^^.8X  g   Q h\        \        P                  ! . RO4      ^-\        P                  ! . RO4      ^\        4      ^^.8X  g   Q hR# )re   N)re   r   r   re   r   )	re   r   r   ri   r   r   re   r   r   )re   r   r   r   r   r   r   rq   ri   r   r   rq   r   rq   rq   r   r   ri   r   r   r   )ri   r   r   )r    rH   r!   r   rb   r^   r\   test_gf_poweringr     s	   /1b"-!444/1b"-@@@/1b"-1LLLL/1b"-KL L L /1b"-	, 	,A 	,q 	,! 	,Q 	, 	,1 	,a 	, 	,Q 	, 	,1 	,b 	,! 	,Q 	, 	,1 	,a 	, 	,A 	,q 	,! 	,	
	,	,	,	,	,	,	,!	,#$	,&'	,)*	,, , , /2r2.	! 	Q 	 	A 	 	1 	a 	 	A 	q 	! 	a 	 	A 	 	A 	q 	! 	Q 	 	1 	a 	
							!"	$%	'(	*+	./	12	45	89	;=	?@	BC	EF	HI	KL	NO									!"	$%	'(	*+	./	12	45	89	<=	?@	BC	EF	HI	KL	NO	 	 	 	 	 	 	  	 "#	 %&	 ()	 +,	 /0	 23	 56	 9:	 =>	 @A	 CD	 FG	 IJ	 LM	 OP	 
		 		 		 		 		 		  		 "#		 %&		 ()		 +,		 /0		 23		 56		 9:		 <>		 @A		 CD		 FG		 IJ		 LM		 OP		
 	
 	
 	
 	
 	
 	
  	
 "#	
 %&	
 ()	
 +,	
 /0	
 23	
 56	
 9:	
 =>	
 @A	
 CD	
 FG	
 IJ	
 LM	
 OP	 	 	 	 	 	 	  	 "#	 %&	 ()	 +,	 .0	 23	 56	 8:	 =>	 @A	 CD	 FG	 IJ	 LM	 OP	 
	 	 	 	 	 	  	 "#	 %&	 ()	 +,	 /0	 23	 56	 9:	 =>	 @A	 CD	 FG	 IJ	 LM	 OP	 	 	 	 	 		 	 	 bff_-q"&&2CRLQRPSSSSbff_-q"&&2CRLQRTUPVVVVbff_-q"&&2CRLQRTUPVVVVbff_-q"&&2CRLQRTUPVVVVbff_-q"&&2CRLQRTUPVVVVbff_-r266)3Db"MRSUVQWWWWr^   c                     \        \        P                  ! . 4      \        P                  ! . 4      ^\        4      ^.. . 38X  g   Q h\        \        P                  ! ^.4      \        P                  ! . 4      ^\        4      ^.. ^.38X  g   Q h\        \        P                  ! . 4      \        P                  ! ^.4      ^\        4      . ^.^.38X  g   Q h\        \        P                  ! ^.4      \        P                  ! ^.4      ^\        4      . ^.^.38X  g   Q h\        \        P                  ! . 4      \        P                  ! ^^ .4      ^\        4      . ^.^^ .38X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! . 4      ^\        4      ^.. ^^ .38X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! ^^ .4      ^\        4      . ^.^^ .38X  g   Q h\        \        P                  ! . RO4      \        P                  ! . RO4      ^\        4      ^^.^.^^.38X  g   Q hR# rl   Nre   r   r   re   r   re   r   )r"   rH   r   rb   r^   r\   test_gf_gcdexr   <  s   BFF2Jr
B3R}DDDBFFA3KR4!b1#FFFBFF2JsR4aS1#FFFBFFA3Kb"5"qcA3GGGBFF2J1vB7BaV;LLLLBFFAq6NBFF2JB7QCaV;LLLLBFFAq6NBFFAq6NB;QC!Q?PPPPBFF9%rvvl';RD!QRSQTWXZ[V\H]]]]r^   c                  L   \        \        P                  ! . 4      \        P                  ! . 4      ^\        4      . 8X  g   Q h\        \        P                  ! ^.4      \        P                  ! . 4      ^\        4      ^.8X  g   Q h\        \        P                  ! . 4      \        P                  ! ^.4      ^\        4      ^.8X  g   Q h\        \        P                  ! ^.4      \        P                  ! ^.4      ^\        4      ^.8X  g   Q h\        \        P                  ! . 4      \        P                  ! ^^ .4      ^\        4      ^^ .8X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! . 4      ^\        4      ^^ .8X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! ^^ .4      ^\        4      ^^ .8X  g   Q h\        \        P                  ! . RO4      \        P                  ! . RO4      ^\        4      ^^.8X  g   Q hR# r   )r#   rH   r   rb   r^   r\   test_gf_gcdr   J  sz   "&&*bffRj"b1R777"&&!+rvvbz2r2qc999"&&*bffaSk2r2qc999"&&!+rvvqc{B3s:::"&&*bffaVnb"5!Q???"&&!Q."&&*b"5!Q???"&&!Q."&&!Q."b9aVCCC"&&#RVVL%92rBq!fLLLr^   c                  @   \        \        P                  ! . 4      \        P                  ! . 4      ^\        4      . 8X  g   Q h\        \        P                  ! ^.4      \        P                  ! . 4      ^\        4      . 8X  g   Q h\        \        P                  ! . 4      \        P                  ! ^.4      ^\        4      . 8X  g   Q h\        \        P                  ! ^.4      \        P                  ! ^.4      ^\        4      ^.8X  g   Q h\        \        P                  ! . 4      \        P                  ! ^^ .4      ^\        4      . 8X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! . 4      ^\        4      . 8X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! ^^ .4      ^\        4      ^^ .8X  g   Q h\        \        P                  ! . RO4      \        P                  ! . RO4      ^\        4      . RO8X  g   Q hR# )rl   Nr   r   )re   r   r   r   r   )r$   rH   r   rb   r^   r\   test_gf_lcmr   W  sj   "&&*bffRj"b1R777"&&!+rvvbz2r2b888"&&*bffaSk2r2b888"&&!+rvvqc{B3s:::"&&*bffaVnb"5;;;"&&!Q."&&*b"5;;;"&&!Q."&&!Q."b9aVCCC"&&#RVVL%92rBoUUUr^   c                     \        \        P                  ! . 4      \        P                  ! . 4      ^\        4      . . . 38X  g   Q h\        \        P                  ! ^.4      \        P                  ! . 4      ^\        4      ^.^.. 38X  g   Q h\        \        P                  ! . 4      \        P                  ! ^.4      ^\        4      ^.. ^.38X  g   Q h\        \        P                  ! ^.4      \        P                  ! ^.4      ^\        4      ^.^.^.38X  g   Q h\        \        P                  ! . 4      \        P                  ! ^^ .4      ^\        4      ^^ .. ^.38X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! . 4      ^\        4      ^^ .^.. 38X  g   Q h\        \        P                  ! ^^ .4      \        P                  ! ^^ .4      ^\        4      ^^ .^.^.38X  g   Q h\        \        P                  ! . RO4      \        P                  ! . RO4      ^\        4      ^^.^^.. RO38X  g   Q hR# )rl   Nr   r   re   r   re   )r%   rH   r   rb   r^   r\   test_gf_cofactorsr   d  s   r
BFF2JB7BB<GGGsRVVBZR8aS1#rNJJJr
BFFA3KR8aS"qcNJJJsRVVQC["b9qcA3_LLLr
BFFAq6NB;AQC?PPPP1vr
B;AR?PPPP1v1vB?	
AaSD   y)266,+?RH
Q!Q#% % %r^   c                  
   \        . ^\        4      . 8X  g   Q h\        ^.^\        4      . 8X  g   Q h\        ^^.^\        4      ^.8X  g   Q h\        . RO^\        4      ^^.8X  g   Q h\        . RO^\        4      . 8X  g   Q hR# )rl   Nr   ry   re   )re   r   r   r   r   r   r   r   r   r   r   re   )r.   rH   rb   r^   r\   test_gf_diffr   s  s    2r2"$$$A3B2%%%Aq62r"qc)))9b"%!Q///7R@BFFFr^   c                  T   \        . ^^\        4      ^ 8X  g   Q h\        . ^^\        4      ^ 8X  g   Q h\        ^.^^\        4      ^8X  g   Q h\        ^.^^\        4      ^8X  g   Q h\        . RO^ ^\        4      ^ 8X  g   Q h\        . RO^^\        4      ^	8X  g   Q h\        . RO^^\        4      ^8X  g   Q h\        . RO^ ^\        4      ^8X  g   Q h\        . RO^^\        4      ^8X  g   Q h\        . RO^^\        4      ^	8X  g   Q h\        . RO. RO^\        4      . RO8X  g   Q hR# )r   Nr   r   r   )r   re   ri   ry   )re   rq   rq   re   )r)   rH   r*   rb   r^   r\   test_gf_evalr   }  s   2q"b!Q&&&2r2r"a'''A32r"a'''A3B#q(((.2r:a???.2r:a???.B;q@@@.2r:a???.2r:a???.B;q@@@L"b9\IIIr^   c                     \        . ^^ .^\        4      . 8X  g   Q h\        . ^^ .^^ .^\        4      . 8X  g   Q h\        ^.. ^\        4      ^.8X  g   Q h\        ^^ .. ^\        4      . 8X  g   Q h\        ^^ .^^ .^\        4      ^^ .8X  g   Q h\        P                  ! . RO4      p \        P                  ! . RO4      p\        P                  ! . RO4      p\        W^\        4      . RO8X  g   Q h\        WV ^\        4      . RO8X  g   Q hR# )re   Nre   re   r   r   re   re   re   re   )re   r   r   ri   )re   r   r   r   r   r   r   )ry   r   rq   r   )r+   rH   r,   r   r{   r}   hs      r\   test_gf_composer     s    b1a&"b)R///"q!fq!fb"5;;;qc2r2&1#---q!fb"b)R///q!fq!fb"-!Q777
A
yA
|AaB#'<<<<!2r*m;;;r^   c            	      ^   \         P                  ! . RO4      p . ROp\         P                  ! ^^ .4      p\        V^V ^\         4      p\        WV^ V ^\         4      . RO. RO38X  g   Q h\        WV^V ^\         4      . RO. RO38X  g   Q h\        WV^V ^\         4      . RO. RO38X  g   Q h\        WV^V ^\         4      . RO^.38X  g   Q h\        WV^V ^\         4      . RO. R	O38X  g   Q h\        WV^V ^\         4      . RO. R
O38X  g   Q h\        WV^V ^\         4      . RO^
.38X  g   Q hR# )re   Nr   r   )r   ri   r   ry   )r   ry   r   r   )r   r   r   ry   )r   re   r   r   )re   r   rq   r   )re   re   r   )r   ry   r   r   )rH   r   r!   r-   )r{   acbs       r\   test_gf_trace_mapr     s[   
AA
1vA1b!R$AaAr2.	I  aAr2.	%& & &aAr2.	}%& & &aAr2.	  aAr2.	I  aAr2.	%& & &aQB/	  r^   c                     \        \        ^^\        4      ^\        4      RJ g   Q h\        \        ^^\        4      ^\        4      RJ g   Q h\        \        ^^\        4      ^\        4      RJ g   Q h\        \        ^^\        4      ^\        4      RJ g   Q h\        \        ^^\        4      ^\        4      RJ g   Q h\        \        ^^\        4      ^\        4      RJ g   Q h\        \        ^^\        4      ^\        4      RJ g   Q hR# )re   TN)r0   r/   rH   rb   r^   r\   test_gf_irreducibler     s    N1b"5r2>$FFFN1b"5r2>$FFFN1b"5r2>$FFFN1b"5r2>$FFFN1b"5r2>$FFFN1b"5r2>$FFFN1b"5r2>$FFFr^   c                     \        \        P                  ! ^.4      ^\        4      RJ g   Q h\        \        P                  ! ^^.4      ^\        4      RJ g   Q h\        \        P                  ! . R	O4      ^\        4      RJ g   Q h\        \        P                  ! ^.4      ^\        4      RJ g   Q h\        \        P                  ! ^^.4      ^\        4      RJ g   Q h\        \        P                  ! . R	O4      ^\        4      RJ g   Q h\        P
                  ! RR4       \        \        P                  ! ^.4      ^\        4      RJ g   Q h\        \        P                  ! ^^.4      ^\        4      RJ g   Q h\        \        P                  ! . R	O4      ^\        4      RJ g   Q h\        P
                  ! RR4       \        \        P                  ! ^.4      ^\        4      RJ g   Q h\        \        P                  ! ^^.4      ^\        4      RJ g   Q h\        \        P                  ! . R	O4      ^\        4      RJ g   Q h\        P
                  ! RR4       \        \        R 4       \        P
                  ! R4       \        P                  ! . R
O4      p \        P                  ! . RO4      p\        W^\        4      p\        V ^\        4      RJ g   Q h\        V^\        4      RJ g   Q h\        V^\        4      RJ g   Q h\        V ^\        4      RJ g   Q h\        V^\        4      RJ g   Q h\        V^\        4      RJ g   Q hR# )r   TFGF_IRRED_METHODzben-orrabinotherc                  &    \        ^.^\        4      # r   )r0   rH   rb   r^   r\   r   'test_gf_irreducible_p.<locals>.<lambda>  s    -qc2r:r^   Nr   )re   r   r            rq   r   r   r   r   )re   r   r   r   r   r   r   rl   r   r   r   )
r1   rH   r   r2   configsetupr0   rK   KeyErrorr   r   s      r\   test_gf_irreducible_pr     s   RVVQC["b1T999RVVQF^R4<<<RVVI.B75@@@BFFA3KR0D888BFFAq6NB3t;;;BFF9-r26%???
LL"H-BFFA3KR0D888BFFAq6NB3t;;;BFF9-r26%???
LL"G,BFFA3KR0D888BFFAq6NB3t;;;BFF9-r26%???
LL"G,
8:;
LL"#
45A
78AqRAQB'4///QB'4///QB'5000Ar2&$...Ar2&$...Ar2&%///r^   c                     \        . ^\        4      ^ . 38X  g   Q h\        ^.^\        4      ^. 38X  g   Q h\        ^^.^\        4      ^^^.^3.38X  g   Q h\        . ^\        4      RJ g   Q h\        ^.^\        4      RJ g   Q h\        ^^.^\        4      RJ g   Q h\        ^^^ ^/^\        4      p \        V ^\        4      RJ g   Q h\        V ^\        4      ^^^.^3.38X  g   Q h. ROp \        V ^\        4      RJ g   Q h\        V ^\        4      ^^^.^3^^.^3.38X  g   Q h\	        V ^\        4      . RO8X  g   Q h. ROp \        V ^\        4      ^^^ .^3^^.^3^^.^3.38X  g   Q hR# )rl   TFNre   r   r   r   )re   ry   ri   )re   r   r   ri   r   r   ri   r   r   re   r   )r3   rH   r5   r   r4   r   s    r\   test_gf_squarefreer     s   r2r"q"g---sB#2w...1vr2&1A{m*<<<<BB4'''QCR D(((QFB#t+++b!Q]B+AAr2%'''q"b!	
q!fb\N   	AAr2%'''q"b!	
q!fa[!fa[ 	   q"b!Y...)Aq!R 	
q!fa[!fa[!fa[ 	  r^   c                      \         P                  ! . RO4      p \         P                  ! . RO4      p^p\        W\         4      p\        WW2\         4      p\	        WW\         4      pWE8X  g   Q hR# )ri   N)
ri   r   re   r   ri   ri   r   ri   ri   ri   )
re   re   r   ri   r   re   r   ri   r   re   )rH   r   rE   rD   r!   )r{   r}   rX   r   r   h1s         r\   test_gf_frobenius_mapr     sV    
-.A
$%A	A"1,AqR(A	A!	#B7N7r^   c                  F   \        . RO^4      p . RO. RO. RO. RO. RO. RO.p. RO. R	O. R
O.p\        V ^\        4      V8X  g   Q h\        V^\        4      V8X  g   Q h\	        V ^\        4      ^^.. RO. RO.8X  g   Q h\        P
                  ! . RO4      p \        P
                  ! . RO. RO. RO. RO. RO. RO. RO. RO.4      p. RO. RO. RO.p\        V ^\        4      V8X  g   Q h\        V^\        4      V8X  g   Q h\	        V ^\        4      ^^.. RO. RO.8X  g   Q hR# )re   Nre   re   r   ra   r   re   )re   r   r   r   r   r   )ry   r   r   r   rq   r   )ry   rq   rq   re   r   r   )r   r   r   ry   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   re   re   re   re   r   )r   r   r   r   r   re   re   r   ry   r   )	re   r   re   r   r   r   r   ri   r   )re   r   r   r   r   r   r   r   )ri   re   r   rl   r   rU   r   rl   )ry   rq   r   ry   r   r   r   ri   )r   ry   rq   r   re   rq   ri   ry   )ri   rl   r   r   ry   re   ry   rl   )rq   rl   r   rq   ri   r   r   r   )r   rl   r   r   r   rl   r   rU   )ry   ry   rU   r   r   rl   r   rU   )r   r   r   r   r   r   re   r   )r   r   rl   r   r   rU   r   re   )re   r   r   rU   )re   ri   ry   r   rq   )r   r6   rH   r7   r<   r   )r{   QVs      r\   test_gf_berlekampr     s:   2B7A							A 
			A aR A%%%QB1$$$2r"
QL)* * * 	,-A
(	%	!	!	#	#	%	$& 	'A 
"	!	$	&A aR A%%%QB1$$$2r"
Q01 1 1r^   c                  F   \        ^\        ^4      ^ \        R4      /^\        4      p . RO^3. RO^3.p\        V ^\        4      V8X  g   Q h\        V ^\        4      V8X  g   Q h\        ^?\        ^4      ^ \        ^4      /^\        4      p ^^.^3. RO^3. RO^3. ^N^N^ N^N^N^ N^N^ N^N^N^ N^N^N^ N^ N^ N^ N^ N^ N^ N^ N^N^N^ N^N^N^ N^N^ N^N^N^ N^N^N^ N^ N^ N^ N^ N^ N^ N^ N^N^N^ N^N^N^ N^N^ N^N^N^ N^N^N^3.p\        V ^\        4      V8X  g   Q h\        V ^\        4      V8X  g   Q h\        ^\        ^4      ^\        R4      ^\        ^4      ^\        ^4      ^\        R4      /^\        4      p . R	O^3. R
O^3.p\        V ^\        4      V8X  g   Q h\        V ^\        4      V8X  g   Q h\        P                  ! . RO4      p ^R.^3. RO^	3.p\        V R\        4      V8X  g   Q h\        V R\        4      V8X  g   Q h\        \        \        R\        ,          P                  4       4      4      4      p\        ^^^^^ ^/V\        4      p . RO^3. RO^3. RO^3.p\        W\        4      V8X  g   Q h\        W\        4      V8X  g   Q hR# )r   i  i)  Nra   )re   r   r   r   r   r   )re   r   r   r   r   re   r   r   r   r   re   r   )re   re   re   re   re   re   re   )re   re   r   re   re   r   re   ri   )re   ri   r      i  i  i  iE  i  rT   iA  )
re   n   i/  i  i     r   F   i  z      re   iX  i0
 )	re   il  i	H i#*  i1  i  i  iW iI re   i;  i.s iYJ i,q ih )	r   rH   r8   r9   r   rJ   intrI   evalf)r{   r}   rX   s      r\   test_gf_ddfr   <  s   b"Q%BrF+R4A
q	!
+Q	/	1A QB'1,,,2r"a'''b"Q%BqE*Ar2Aa&!
Q
	#>1 >a > >A >q >! >Q > >1 >a > >A >q >! >Q > >1 >a > >>>>>>>> !>#$>&'>)*>,->/0>23>56>89>;<>>?>AB>>>>>>>> !>#$>&'>)*>,->/0>23>56>89>;<>?@
B	CA Q2&!+++1b!Q&&&aA2b61beQ1q"R&I1bQA
Q
1		A Q2&!+++1b!Q&&&
>?Ac(A
91	=	?A QR(A---3#q(((
9S%"*++-./0Ab!Q1a(!R0A
Q	
Eq	I
0!	4	6A Q2&!+++b!Q&&&r^   c                      \         P                  ! . RO4      p \         P                  ! . RO. RO.4      p\        V ^^\         4      V8X  g   Q h\        V ^^\         4      V8X  g   Q hR# )re   Nr   r   )re   re   ri   )rH   r   r:   r;   r   s     r\   test_gf_edfr   g  sU    
A
	9%&AQ1b)Q...1a$)))r^   c                      \         P                  ! . RO4      p \         P                  ! . RO. RO.4      p\        V ^^\         4      V8X  g   Q hR# )re   N)re   re   re   re   re   re   re   re   re   re   re   re   re   re   re   re   re   )	re   r   r   re   re   re   r   r   re   )	re   re   re   r   re   r   re   re   re   )rH   r   r:   r   s     r\   test_issue_23174r   o  s?    
BCA
+-HIJAQ1b)Q...r^   c                  >   \        . ^\        4      ^ . 38X  g   Q h\        ^.^\        4      ^. 38X  g   Q h\        ^^.^\        4      ^^^.^3.38X  g   Q h\        . ^\        4      ^ . 38X  g   Q h\        ^.^\        4      ^. 38X  g   Q h\        ^^.^\        4      ^^^..38X  g   Q h\        P                  ! RR4       \        . ^\        4      ^ . 38X  g   Q h\        ^.^\        4      ^. 38X  g   Q h\        ^^.^\        4      ^^^..38X  g   Q h\        P                  ! RR4       \        . ^\        4      ^ . 38X  g   Q h\        ^.^\        4      ^. 38X  g   Q h\        ^^.^\        4      ^^^..38X  g   Q h\        P                  ! RR4       \        \        P
                  ! . 4      ^\        4      ^ . 38X  g   Q h\        \        P
                  ! ^.4      ^\        4      ^. 38X  g   Q h\        \        P
                  ! ^^.4      ^\        4      ^^^..38X  g   Q h\        P
                  ! . R	O4      ^r^^^ .^3^^.^3. R
O^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h^^^ .^^.. R
O.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        . RO^4      ^r^^^.^3. RO^3. RO^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h. RO^r^^^.^3^^.^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h. RO^r^^^ .^3. RO^3. RO^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        ^ ^^ ^/^\        4      ^r^. RO^3. RO^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        ^ \        ^4      ^ \        ^4      /^\        4      ^r^^^.^3^^.^3. RO^3. RO^3. RO^3. RO^3. RO^3. RO^3. RO^3.	3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        ^?\        ^4      ^ \        ^4      /^\        4      ^r^^^.^3. RO^3. RO^3. RO^3. RO^3. RO^3. R O^3. R!O^3. R"O^3. R#O^3. R$O^3. R%O^3. R&O^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        \        \        R'\        ,          P                  4       4      4      4      p\        ^^^^^ ^/V\        4      p \        W\        4      RJ g   Q h^. R(O^3. R)O^3. R*O^3. R+O^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h^. R(O. R)O. R*O. R+O.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        \        \        ^\        ,          P                  4       4      4      4      p\        P
                  ! . R,O4      p \        W\        4      RJ g   Q h^. R-O^3. R.O^3.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h^. R-O. R.O.3p\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        W\        4      V8X  g   Q h\        P                  ! RR4       \        \        R 4       \        P                  ! R4       R# )/rl   GF_FACTOR_METHOD	berlekamp
zassenhausshoupTr   c                  (    \        ^^.^\        4      # )re   )r>   rH   rb   r^   r\   r    test_gf_factor.<locals>.<lambda>J  s    Y1vr26r^   N)re   r   r   re   r   r   r   r   r   r   )
re   re   r   re   r   r   r   r   r   r   )re   r   r   )re   ry   r   r   r   ri   )re   r   r   r   r   r   r   r   ry   r   r   r   r   r   r   r   r   )re   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )re   r   r   )re   ri   ri   )re   r   ri   )re   r   r   r   r   )re   r   rq   r   r   )	re   r   r   r   re   r   r   r   rq   )	re   r   r   r   r   r   r   r   rq   )re   r   r   )re   rq   r   ri   )re   r   r   ri   )re   r   r   r   r   r   r   )re   ri   r   r   r   rq   r   )re   ri   ry   r   r   rq   r   )re   ri   rq   r   r   r   r   )re   ry   ry   re   rq   r   r   )re   r   rq   r   r   rq   r   )re   rq   ri   r   r   r   r   )re   r   r   r   r   r   r   )re   r   r   re   r   r   r   r   r   )re   i> i. iS it  )re   iQ i  i:  iW{  r   )re   ri   r   r   )   '   &   )re   ,   r   )re   rl            )r>   rH   r=   r   r   r   r   r   rJ   r   rI   r   r5   rK   r   )r{   rX   r}   s      r\   test_gf_factorr
  v  s
   RR QG+++aS"b!aW,,,aVR$q!fa[M(::::R$B///!b"%!R000!QR(Q!QM999
LL#[1R$B///!b"%!R000!QR(Q!QM999
LL#\2R$B///!b"%!R000!QR(Q!QM999
LL#W-R,B777b"-!R888AR0Q!QMAAA66/"Aq	
q!fa[!fa[^ 	A LL#[1Q2!###
LL#\2Q2!###
LL#W-Q2!###	
aVV 	A LL#[1r"a'''
LL#\2r"a'''
LL#W-r"a'''5r:Bq	
q!fa[^A  	!A LL#[1Q2!###
LL#\2Q2!###
LL#W-Q2!###q	
q!fa[Aq61+&'A
LL#[1Q2!###
LL#\2Q2!###
LL#W-Q2!###-rq	
q!fa[9a.+=q*ABCA
LL#[1Q2!###
LL#\2Q2!###
LL#W-Q2!###Q1r2.q	
BAFBAFH 	IA LL#[1Q2!###
LL#\2Q2!###
LL#W-Q2!###RUAr!u-r26q	
q!fa[!fa[^^^q!q!)1-*A.0 	1A LL#[1Q2!###
LL#\2Q2!###
LL#W-Q2!###RUAr!u-r26q	
q!fa[^AA#Q'#Q'#Q'#Q'#Q'#Q'#Q'%q)%q)+ 	,A LL#[1Q2!###
LL#\2Q2!###
LL#W-Q2!### 	9S%"*++-./0Ab!Q1a(!R0AA"%%%	
#,a0-q14a8: 	;A
 LL#\2Q2!###
LL#W-Q2!###	
+,35 	6A
 LL#\2r"a'''
LL#W-r"a'''
 	9S$)**,-./A
()AA"%%%	
k1!1%' 	(A LL#\2Q2!###
LL#W-Q2!###	
[ " 	#A LL#\2r"a'''
LL#W-r"a'''
LL#W-
867
LL#$r^   c            	         \        . RO^4      R8X  g   Q h\        ^^^4      ^.8X  g   Q h\        ^ ^^4      . 8X  g   Q h\        ^^^4      . 8X  g   Q h\        ^ ^^4      . RO8X  g   Q h\        ^^^4      . RO8X  g   Q h\        ^^ ^4      . RO8X  g   Q h\        . RO^4      ^^.8X  g   Q h\        . R	O^4      . 8X  g   Q h^ RIHp  V ! ^^d4       FS  p\        \        ^^ .V^,
          V\        4      ^V\        4      p\        W!4      \        \        ^V4      4      8X  d   KS  Q h	  \        . R
O^4      ^.8X  g   Q h\        . RO^4      ^ ^.8X  g   Q h\        . RO^4      . RO8X  g   Q h\        . RO^^4      . RO8X  g   Q h\        . RO^^4      . RO8X  g   Q h\        . RO^^4      . RO8X  g   Q h\        . RO^4      . RO8X  g   Q h\        . RO^<4      ^
^.8X  g   Q h\        . RO^4      . 8X  g   Q hR# )re   i  )
primerangeN)re   r   ri   r   )r   re   ri   ry   r   )r   r      )r   ry   rq   r   rU   r   )ri   ry   re   )ri   r   re   )re   ry   ri   ro   )re   ry   re   r   )ry   rq   r   ry   )r   re   ri   )re   re      )	r   r   rn      (   rM   :   C   rN   )ry   r   ri   r  )r   2   rP   )ry   ri   ri   rM   )         )re   re   r   )r   rM   rN   p         )re   ry   r   re   r	  )r?   r@   rA   sympy.ntheoryr  r   r    rH   listrangerB   rC   )r  rX   r{   s      r\   test_gf_csolver  N  s   L"%---Q1%!,,,Q1%+++Q1%+++Q1%888QB':555Q2&*>>>>"9a0QF:::"9a0B666(3&!QQ261bA&q,U1a[0AAAA  
 q)aS000a(QF222a(I555QAB B Bq!,<<<q!,???Y$(CCCC%r*r2h666Y#r)))r^   N)ssympy.polys.galoistoolsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   sympy.polys.polyerrorsrF   sympy.polysrG   r   sympy.polys.domainsrH   sympy.core.numbersrI   sympy.ntheory.generaterJ   sympy.testing.pytestrK   r]   rc   rf   rj   rs   ru   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
  r  rb   r^   r\   <module>r%     s2                   8 - " ! , '+ +5?><&=""GKJ\ GF*=X>^
M
V%GJ"< ,G&0RB'1T('V*/U%p*r^   