+
    iS                        ^ RI Ht ^ 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 ^ RIHt ^ RIHt ^ RIHt ^ RI H!t! ^ RI"H#t# ^ RI$H%t% ^ R	I&H't' ^ R
I(H)t) ^ RI*H+t+H,t, ^ RI-H.t.H/t/H0t0H1t1 ^ RI2H3t3H4t4H5t5H6t6 ^ RI H7t8 ^ RI H9t9H:t: ^ RI;H<t<H=t=H>t> ^ RI?H@t@ ^ RIAHBtB ^ RICHDtDHEtEHFtF ^ RIGHHtH ^ RIIHJtJ ^ RIKHLtLHMtM R tNR tORKR ltPR tQ]3R 4       tRR tSR tTR tUR tVR  tWRLR! ltX]5R" 4       tYR# tZR$ t[R% t\R& t]R' t^R( t_R) t`RMR* lta]5R+ 4       tbR, tc]3R- 4       td]5R. 4       teR/ tf]5R0 4       tgR1 thR2 tiR3 tjR4 tkR5 tl]5R6 4       tmR7 tn]5R8 4       toR9 tp]6R: 4       tq]5R; 4       tr]5R< 4       ts]5R= 4       tt]5R> 4       tu]5R? 4       tvR@ tw]5RA 4       txRB tyRC tz]5RD 4       t{]3RE 4       t|]3RF 4       t}]3RG 4       t~RH tRI tRJ# )N    )	randrange)ShiftAShiftBUnShiftAUnShiftBMeijerShiftAMeijerShiftBMeijerShiftCMeijerShiftDMeijerUnShiftAMeijerUnShiftBMeijerUnShiftCMeijerUnShiftDReduceOrderreduce_orderapply_operatorsdevise_planmake_derivative_operatorFormulahyperexpandHyper_Function
G_Functionreduce_order_meijerbuild_hypergeometric_formula)Sum)Tuple)Expr)I)S)symbols)binomial)	Piecewise)hypermeijerg)zabc)XFAILraisesslowtooslow)verify_numerically)Rationalpi)exp	exp_polarlog)atanh)sqrt)asincossin)besseli)erf)gamma
lowergammac                  &   \        \        \        R^4      \        P                  3\        ^^4      \        ^^4      3\
        ) 4      4      \
        \        R4      ,          ) \        \        \        \        ,          4      ^,          \
        4      ,          ^,          \        \        4      \        \        \
        4      4      ,          ^\        \
        4      ,          ,          ,           8X  g   Q h\        \        \        ^^4      ^.. \        ^^4      .\        ^^4      ^ .\
        4      4      ^\
        \        R4      ,          ,          ^\        \        4      ,          \        \        \
        4      4      ,          \        \
        4      ,          ^\        \        ^^4      \
        4      ,          \
        \        R4      ,          ,          ,
          ,          \        \        ^^4      4      ,          \        \        ^^4      4      ,          8X  g   Q hR# )   z1/3z2/3N)r   r#   r.   r   Halfr%   r;   r1   r   r/   r4   r9   r$   r:        c/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/simplify/tests/test_hyperexpand.pytest_branch_bugrC   #   ss   uhr1oqvv6!QRSUV8X[\Z\]^	
AeHZ	!B$ 1155a7
r(3tAw<
47
+	,, , , wA2B!Q8H8TUWX>[\J]_`ab	!QuX+qbz#d1g,.tAw6:1~q<* :**+QuX+:6 6 	77<Xa^7L	MMRS[\]_`SaMb	cc c crA   c            	         \        \        . . \        4      4      \        \        4      8X  g   Q h\        \        ^^.^.\        ) 4      \        ,          4      \	        ^\        ,           4      8X  g   Q h\        \        . \
        P                  .\        ^,          ) ^,          4      4      \        \        4      8X  g   Q h\        \        \        . \        R4      .\        ^,          ) ^,          4      ,          4      \        \        4      8X  g   Q h\        \        \        R4      \        R4      .\        R4      .\        ^,          4      \        ,          4      \        \        4      8X  g   Q h\        \        \        ^\        4      \        ^,          ,          \        ^ \        34      P                  4       \        4      '       g   Q hR# )r=   3/21/2N)r   r#   r%   r0   r2   r   r?   r6   r7   r5   
isinstancer   r!   r&   doitr   r@   rA   rB   test_hyperexpandrI   ,   s5    uRQ'(CF222uaVaS1"-a/0CAJ>>>uR!&&AqD5734A>>>qrAeH:1uQw778CFBBBuah%1AeH:q!tDQFG7  c(1a.A-1ay9>>@$GGGGrA   c           
         \        \        W\        4      4      pVP                  \        4      '       d   R # V'       g   R# / pVP                  \        0,
          pV'       d   \        V4       F  w  r\        V4      V,          Wi&   K  	  \        ;QJ d2    R \        V!  P                  V4       4       F  '       g   K   RM'	  R M#! R \        V!  P                  V4       4       4      '       d   K   . ROw  rrV'       d   . ROw  rr\        \        W\        4      P                  V4      VP                  \        \        4      P                  V4      \        WWR7      # )FTc              3   R   "   T F  qP                   ;'       d    V^ 8*  x  K  	  R# 5i)r   N)
is_Integer).0r'   s   & rB   	<genexpr>can_do.<locals>.<genexpr>E   s#     J4Iq<<**AF*4Is   '')r&   r'   r(   d)   r>      r=   )rQ   rR   r>   )r   r#   r%   hasfree_symbols	enumeraterandcplxanyr   substnreplacer1   r0   )apbq	numericaldiv
lowerplanerreplrandsymsnair&   r'   r(   rP   s   &&&&&         rB   can_dorf   9   s    E"!$%AuuU||D~~#H
x(EA{3DH )sJE2JOOD4IJsssJE2JOOD4IJJJ LQ1%qbad#			)S!&&t,	Qq rA   c                     \        \        P                  .\        ^	^4      .4      '       g   Q h\        . ^\        ^^4      ^.4      '       g   Q h\        \        R^4      ^^.^^.4      '       g   Q h\        \        ^^4      .\        R^4      \        R^4      \        P                  ^.4      '       g   Q h\        \        R^4      \        R^4      .\        R^4      ^.4      '       g   Q h\        \        R^4      .\        R^4      \        P                  .4      '       g   Q h\        \        R^4      \        R^4      .^.4      '       g   Q hR# )	   Nr>   rS   )rf   r   r?   r.   r@   rA   rB   
test_roachrk   P   s    166(Xa^,----"q(1a.!,----8B?Aq)Aq622228Aq>"Xb!_hr1oqvvq$QRRRR8B?HRO4xA6JKKKK8B?%Q'@AAAA8B?HRO4qc::::rA   c            	      D   \        \        R^4      ^.\        ^^4      \        P                  \        ^^4      .4      '       g   Q h\        \        ^^4      .\        ^^4      ^.4      '       g   Q h\        \        R^4      \        P                  ^.\        ^^4      \        ^^4      .4      '       g   Q h\        . RO\        P                  ^.4      '       g   Q h\        \        P                  .\        R^4      \        R^4      \        R^4      .4      '       g   Q hR# )r=   Nr>   r=   rQ   rR   rS   )rf   r.   r   r?   r@   rA   rB   test_roach_failrn   \   s    8B?A&!Q!Q(PQQQQ8Aq>"Xa^Q$788888B?AFFA.!Q!Q0PQQQQ)affa[))))166(Xb!_hr1oxAOPPPPrA   c                     ^ RI Hp  \        \        . R.\        4      4      V J g   Q h\        \        R.R.\        4      4      V J g   Q h\        \        ^ ^ .R.\        4      4      ^8X  g   Q h\        RR\        4       \        4       .R\        4       .4      '       g   Q h\        \        RR\        4      4      ^\        ^,          ,           8X  g   Q hR# )	r   ooNr>   rS   rj   i)r>   r=   )rS   )sympy.core.numbersrq   r   r#   r%   rf   rW   rp   s    rB   test_polynomialrs   g   s    %uR"q)*b000ubTB4+,222uaVbT1-.!3332r8:xz2S(*4EFFFFuWeQ/0A!G;;;rA   c            
         \        \        ^.\        .\        4      4      \        \        \        ) ^,           ,          \        ^,          ) ^\        ,          ,           \        \        ^,
          ,          ,           ^,
          ,          \	        \        4      ,          \        \        ^,
          \        4      ,          ,           ^,
          8X  g   Q h\        \        ^^.^.\        4      4      R\        ,          ^\        \        ) ^,           4      ,          \        ^,          ,          ,
          8X  g   Q h\        \        \        P                  ^.\        ^^4      .\        4      4      R^\        ,          ^,
          ,          \        \        \        4      4      \        \        4      ,          ^,          ,           8X  g   Q h\        \        \        P                  \        P                  .\        ^^4      .\        4      4      R\        ,          ^,           ^,          \        \        \        ) ^,           4      ,          ,          ^\        ,          ^,
          \        \        \        4      4      ,          ^\        \        ^^4      ,          ,          ,          ,           8X  g   Q h\        \        ^^.\        ^^4      .\        4      4      R^\        ,          ^,
          ,          \        \        \        4      4      \        \        4      ^\        ,          ^,
          ,          \        \        ) ^,           4      ,          ,          ,
          8X  g   Q h\        \        \        R^4      ^,
          ^^.\        P                  ^.\        4      4      \        \        4      \        \        ^^4      ,          \        ^^4      ,
          ,          \        \        \        4      4      ,          R\        ^,          ,          ^ \        ,          ,           ^,
          ^#,          \        ,          ,           ^\        \        ) ^,           4      ,          ^#\        ^,          ,          ,          ,
          8X  g   Q h\        \        ^\        P                  ,           ^^.^^.\        4      4      R\        \        \        ) ^,           4      ^,          \        P                  ,           4      ,          \        ,          8X  g   Q h\        \        ^.\        ^.\        4      4      \        \        ) ^,          \        P                  ,           ,          \        \        ^,
          ^\        \        4      ,          4      ,          \        \        4      ,          \        \        ) ^,          ^,           ,          \        \        ^\        \        4      ,          4      ,          \        \        4      ,          ,           8X  g   Q hR# )rQ   NrS   r>   ri   i)r   r#   r&   r%   r0   r;   r2   r   r?   r.   r3   r4   r5   r'   r8   r:   r@   rA   rB   test_hyperexpand_basesrv   p   s   uaS1#q)*	AQK!Q$1q!a%y0145c!f<1q5! 	 	!! ! ! uaVaS!,-A#qb1f+ad8J1JJJJuaffa[8Aq>*:A>?
AaC!GuT!W~d1g-a//0 0 0uaffaff-A/?CD	A1aaR!Vn%Q37DaM
!1QA%6#6
7	88 8 8 uaVhq!n%5q9:b!A#'l
tAw-a!A#'*4Q<7
8?9 9 9 9uhr1o11a81661+qIJQ8Aq>!HQN23E$q'NBq!t8bd?Q
"1
$	%'(aR!V}bAg'>	?? ? ? ua!&&j!Q/!Q;<
3tQBF|A~&'')* * * uaS1a&!,-	QBqD166M71q5!DG)44U1X=
qbdQh-1T!W9-
-eAh
6	77 7 7rA   c            	         \        \        \        \        P                  \        ,           .\        P                  .\
        4      4      ^\        \
        4      ,           R\        ,          ,          ^,          ^\        \
        4      ,
          R\        ,          ,          ^,          ,           8X  g   Q h\        \        \        \        R^4      \        ,           .^\        ,          .\
        4      4      ^^\        ,          ^,
          ,          \
        ) ^,           \        P                  ,          ^,           R\        ,          ^,           ,          ,          8X  g   Q hR# )r=   NrS   r>   )r   r#   r&   r   r?   r%   r4   r.   r@   rA   rB   test_hyperexpand_parametricrx      s    ua!_qvvh:;QK2a4 "a$q'kRT%:1%<<= = =ua"a1!45!ua@AqsQw<1"q&166)A-A::; ; ;rA   c                     ^ RI Hp  V ! \        \        ^,          \	        ^.^\        R4      .\        ^,          ) 4      ,          4      4      \        \        ^\        ,          4      ,          \        ^,          ) \
        P                  ,           \        ^\        ,          4      ,          ,           \
        P                  ,
          8X  g   Q hR# )r   simplifyrE   N)	sympy.simplify.simplifyr{   r   r%   r#   r   r7   r?   r6   rz   s    rB   test_shifted_sumr}      s{    0K1UA3AeH1u%E EFGS1X:!Q$QqS11AFF:; ; ;rA   c                 F    \        \        ^4      ^
,           4      ^2,          # )zSteer clear of integers. )r   r   r@   rA   rB   _randratr      s    Yr]R ##rA   c                |    \        4       \        \        4       ,          ,           \        ^V ,           ,          ,           # )z*Polys is not good with real coefficients. )r   r   )offsets   &rB   rW   rW      s"    :(*$q!f*~55rA   c            	      v   ^ RI Hp  V ! 4       P                  pV EF  pVP                  VP                  4      p/ p\        VP                  4       F  w  rV\        V4      WF&   K  	  VP                  V4      pVP                  P                  V4      P                  R4      pVP                  p\        W7P                  \        \        4      V4      '       g   Q hVP                  VP                   ,          ^ ,          P                  V4      P                  R4      p	\        VP                  \        \        4      V	P                  \        \        4      V4      '       g   Q hWP                   P#                  R 4      P%                  V4      ,          p
VP&                  VP                   ,          p\)        W4       Fw  w  r\        VP                  V4      P                  \        \        4      VP                  V4      P                  R4      P                  \        \        4      V4      '       d   Kw  Q h	  EK  	  R# )r   )FormulaCollectionnonrepsmallc                 $    V P                  R 4      # )r   )rewrite)ts   &rB   <lambda>test_formulae.<locals>.<lambda>   s    2rA   N)sympy.simplify.hyperexpandr   formulaefuncr%   rV   r    rW   rY   closed_formr   rZ   r[   r1   r0   CB	applyfuncdiffMzip)r   r   formulahreprd   symr   r%   clderiv1deriv2d1d2s                 rB   test_formulaer      s   < "++HLL#0FA{CH 1 FF3K))..s3;;MJII!((C8!<<<< ii'))#Q',,S199-H+%%sZZ	37< < 	< <99&& (  DG$WYY&&)FBbggcl**9c:ggcl**=9AA)SQSTV V V V *1 rA   c            	         ^ RI Hp  V ! 4       P                  pV EF  pW,           EF  p\        VP                  P
                  VP                  P                  VP                  P                  VP                  P                  VP                  4      p/ pVP                   F  p\        4       WV&   K  	  VP                  V4      pVP                  P                  V4      pVP                  p\        WGV4      '       g   Q hVP                  VP                   ,          ^ ,          P                  V4      p	\        WyV4      '       g   Q hWP                   P#                  V4      ,          p
VP$                  VP                   ,          p\'        W4       F8  w  r\        VP                  V4      VP                  V4      V4      '       d   K8  Q h	  EK  	  EK  	  R# )r   )MeijerFormulaCollectionN)r   r   r   r$   r   anr\   bmr]   r%   r    rW   rY   r   rZ   r   r   r   r   r   )r   r   sigr   gr   r   r   r%   r   r   r   r   r   s                 rB   test_meijerg_formulaer      sX   B&(11H}}G		#A C#: ' sA!--2237K		Aaa(((( ))gii'+005Bkq))))yy~~a((FYY*Ff-"''#,a8888 .' % rA   c                 B    \         V P                  \         4      ,          # N)r%   r   )fs   &rB   opr      s    QVVAY;rA   c                     \        \        ^ .R4      \        ^ .R4      \        4      . 8X  g   Q h\        \        4      ;_uu_ 4        \        \        ^.R4      \        RR4      \        4       RRR4       \        \        4      ;_uu_ 4        \        \        ^.^.4      \        ^.^.4      \        4       RRR4       \        \        4      ;_uu_ 4        \        \        ^.. 4      \        \        R4      .. 4      \        4       RRR4       R \        ^4       4       w  rpV^\        ,          ,          p\        W.V.\        4      p\        V ^,           V3V.\        4      p\        \        V\        \        V ^,           V3V.4      \        W3V.4      \        4      \        4      V\        4      '       g   Q h\        V ^,           V^,
          3V.\        4      p\        \        V\        \        V ^,           V^,
          3V.4      \        W3V.4      \        4      \        4      V\        4      '       g   Q hR#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELi; i)r   NrF   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rW   rM   rd   s   & rB   rN   test_plan.<locals>.<genexpr>        0x!(1++x   r@   )r   r   r%   r*   
ValueErrorr   ranger   r#   rZ   r   r   )a1a2b1r   h2s        rB   	test_planr      s   ~qc2.A3#Q(+-. . .	
		NA3+^B-CQG 
	
		NA3,naS1#.FJ 
	
		NA3+^QuXJ-KQO 
 1uQx0JBB!A#IBrha A	Q|bT1	%BoaNBFB<"6B8bT*A	/024 	A   
 
QQ"q	)BoaNBFBF#3bT:B8bT*A	/024 	A   ' 
								s$   'H>*I1I&>I	I#	&I7	c                      ^^\        R4      r!p ^\        R4      rC\        WV3W434      p\        V ^,           V^,           V^,           3V^,           V^,           34      p\        We\        4      p\	        V\        V! \        4      . 4      p\        VP                  \        4      p	\        \        VP                  Wy4      VP                  ,          ^ ,          V! \        4      \        4      '       g   Q h\        W^,
          V^,
          3V^,
          V^,
          34      p\        We\        4      p\        \        VP                  Wy4      VP                  ,          ^ ,          V! \        4      \        4      '       g   Q hR# )r=   rF   z5/2N)r   r   r   r%   r   r   r   rZ   r   r   r   )
r   r   a3r   b2r   r   opsr   derivs
             rB   test_plan_derivativesr      s    AqxBB%|bX.A	aaa026262B	CB
bQ
C1adBA$QSS!,EqssC/3Q7ABBBB	!VR!V,rAvrAv.>	?B
bQ
CqssC/3Q7ABBBBrA   c                     R  \        ^4       4       w  rp\        V .V.\        4      p\        ^^ 4      e   Q h\        ^R4      e   Q h\        ^\	        R4      4      e   Q h\        W3W!3\        4      p\        \        W4      P                  V\        4      V\        4      '       g   Q h\        W^,           3W!3\        4      p\        \        V^,           V4      P                  V\        4      V\        4      '       g   Q h\        V^,           V 3W!3\        4      p\        \        V^,           V4      P                  V\        4      V\        4      '       g   Q hV^,           W^,           3pWV3p\        \        WV4      4      w  rxVP                  V 38X  g   Q hVP                  V38X  g   Q h\        \        W8\        4      \        WV\        4      \        4      '       g   Q hR# )c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   r   s   & rB   rN   +test_reduction_operators.<locals>.<genexpr>  r   r   NrF   r>   )r   r#   r%   r   r   rZ   applyr   r   r   r\   r]   r   )	r   r   r   r   r   r\   r]   r   r   s	            rB   test_reduction_operatorsr     s   0uQx0JBBrdRD!Aq!$$$q"%%%q!E(#+++	x"1	%Bk"!''2.A6666	F|bXq	)Bk"q&"%++Ar2B::::	Q|bXq	)Bk"q&"%++Ar2B:::: q&"1f	B
"B^B34ID77re77reoab)5+;Q????rA   c            
         R  \        ^4       4       w  rr#p\        W3W#V3\        4      p\        \        R 4       \        \        R 4       \        \        V 4      P                  V\        4      \        V ^,           V3W#V3\        4      \        4      '       g   Q h\        \        V4      P                  V\        4      \        W^,           3W#V3\        4      \        4      '       g   Q h\        \        V4      P                  V\        4      \        W3V^,
          W43\        4      \        4      '       g   Q h\        \        V4      P                  V\        4      \        W3W#^,
          V3\        4      \        4      '       g   Q h\        \        V4      P                  V\        4      \        W3W#V^,
          3\        4      \        4      '       g   Q hR# )c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   r   s   & rB   rN   'test_shift_operators.<locals>.<genexpr>'       8x!(1++xr   c                      \        ^ 4      # r   )r   r@   rA   rB   r   &test_shift_operators.<locals>.<lambda>*      vayrA   c                      \        ^4      # r=   )r   r@   rA   rB   r   r   +  r   rA   N)
r   r#   r%   r*   r   rZ   r   r   r   r   )r   r   r   r   b3r   s         rB   test_shift_operatorsr   &  sc   8uQx8BBBrha(A
:()
:()fRjq"%ub1fb\BB<'KQOOOOfRjq"%ubq&\BB<'KQOOOOfRjq"%ubXQ7G'KQOOOOfRjq"%ubXFB7G'KQOOOOfRjq"%ubXQ7G'KQOOOOrA   c            
      r   R  \        ^4       4       w  rr#p\        W3W#V3\        4      p\        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        W3W#V3^ \        4      p\        VP                  V\        4      \        V ^,
          V3W#V3\        4      \        4      '       g   Q h\        W3W#V3^\        4      p\        VP                  V\        4      \        W^,
          3W#V3\        4      \        4      '       g   Q h\        W3W#V3^ \        4      p\        VP                  V\        4      \        W3V^,           W43\        4      \        4      '       g   Q h\        W3W#V3^\        4      p\        VP                  V\        4      \        W3W#^,           V3\        4      \        4      '       g   Q h\        W3W#V3^\        4      p\        VP                  V\        4      \        W3W#V^,           3\        4      \        4      '       g   Q hR# )c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   r   s   & rB   rN   (test_ushift_operators.<locals>.<genexpr>5  r   r   c                  &    \        RR^ \        4      # )r=   r   r@   r   r%   r@   rA   rB   r   'test_ushift_operators.<locals>.<lambda>8  s    xb!Q7rA   c                  &    \        RR^ \        4      # )r=   r@   r>   r   r%   r@   rA   rB   r   r   9  s    xE1a8rA   c                  &    \        RR^ \        4      # )r=   r   )r   r>   r=   r   r@   rA   rB   r   r   :  s    xj!Q?rA   c                  &    \        RR^ \        4      # )r   r   r=   r   r   r@   rA   rB   r   r   ;  s    xa;rA   N)
r   r#   r%   r*   r   r   rZ   r   r   r   )r   r   r   r   r   r   ss          rB   test_ushift_operatorsr   4  s   8uQx8BBBrha(A
:78
:89
:?@
:;<"BB<A.AagganeR!VRL22,BAFFFF"BB<A.AagganeRaL22,BAFFFF"BB<A.AagganeRHrAvr.>BAFFFF"BB<A.AagganeRHr62.>BAFFFF"BB<A.AagganeRHrrAv.>BAFFFFrA   c                   ^ RI Hp ^ RIHp \	        \        WW#\        4      4      pVP                  \
        4      '       d   R# V! V! VRRRRRRRR7      4      pV'       g   R# / p\        \        WW#\        4      P                  \        0,
          4       F  w  r\        V	4      W&   K  	  \        \        WW#\        4      P                  V4      VP                  V4      \        4      # )aF  
This helper function tries to hyperexpand() the meijer g-function
corresponding to the parameters a1, a2, b1, b2.
It returns False if this expansion still contains g-functions.
If numeric is True, it also tests the so-obtained formula numerically
(at random values) and returns False if the test fails.
Else it returns True.
)expand)
unpolarifyFT)force
power_base	power_expmulr2   multinomialbasic)sympy.core.functionr   $sympy.functions.elementary.complexesr   r   r$   r%   rT   rV   rU   rW   rZ   rY   )r   r   r   r   numericr   r   ra   rb   rd   re   s   &&&&&      rB   can_do_meijerr   J  s     +?GBBA./AuuW~~ 	6!4DE#EP 	QA D72215BBaSHIA; Jgbba(--d3QVVD\1EErA   c                  f   ^ RI Hp  ^ RIHp \	        \        . . .^ .. .\        ) 4      4      \        \        4      8X  g   Q h\	        \        ^^.. .^.^ ..\        4      4      \        \        ^,           4      8X  g   Q h\	        \        ^^.. .^.^..\        4      4      \        \        ^,           ,          8X  g   Q h\	        \        . . .\        P                  .^ ..\        ^,          ^,          4      4      \        \        4      \        \        4      ,          8X  g   Q h\	        \        . . .^ .\        P                  ..\        ^,          ^,          4      4      \        \        4      \        \        4      ,          8X  g   Q h\        . \         .\         ^,
          \         \        P                  ,
          .. 4      '       g   Q h\        . . \         ^,          .\         ) ^,          .R4      '       g   Q h\        \         .\"        .\         .\"        \         ^,
          .4      '       g   Q h\	        \        ^.. . ^ .\        4      4      \%        ^ \'        \        4      ^8  3^\'        ^\        ,          4      ^8  3\        ^.. . ^ .\        4      R34      8X  g   Q h\	        \        . ^.^ .. \        4      4      \%        ^\'        \        4      ^8  3^ \'        ^\        ,          4      ^8  3\        . ^.^ .. \        4      R34      8X  g   Q h\        . . \         \"        ^,          ,           .\         \         \"        ^,          ,
          \         \        P                  ,           .4      '       g   Q h\        . . \         .\"        .R4      '       g   Q h\        . \        P                  .\         .\         ) .4      '       g   Q h\        . . \         \"        .. 4      '       g   Q h\        . . \         \"        .. 4      '       g   Q h\        . . \         \         \        P                  ,           .\"        \"        \        P                  ,           .4      '       g   Q h\        . . \         \         ) .^ \        P                  .R4      '       g   Q h\        . . \         \         \        P                  ,           \"        \"        \        P                  ,           .. 4      '       g   Q h\        \        P                  .. ^ .\         \         ) .4      '       g   Q h\        \        P                  .. \         .^ \         ) .R4      '       g   Q h\        . \         \        P                  ,
          .\         \"        .\         \        P                  ,
          .R4      '       g   Q h\        . \         \        P                  ,           .\         \"        ,           \         \"        ,
          \         .. R4      '       g   Q h\        \         \        P                  ,           .. \"        ^\         ,          \"        ,
          \         .. R4      '       g   Q h\        . . . \         \"        .4      '       g   Q h\	        \        ^ ^.. . R^.\        4      4      \%        ^ \'        \        4      ^8  3\        ^^\        ^,          ,          ,
          ,          ^,          \'        ^\        ,          4      ^8  3\        ^ ^.. . R^.\        4      R34      8X  g   Q hV ! V! \	        \        ^.^\         ,
          .\         ) ^,          \         ) ^,          \        P                  ,           .. ^\        ,          4      4      4      4      R\        \        4      ,          \        \        ^,           4      ^,           \         ,          ,          \         ,          8X  g   Q h\	        \        ^.. \         .^ ^ .\        4      4      \)        \         3\         ^,           \         ^,           3\        \+        \,        \        ,          4      ,          4      \        \         ,          ,          \/        \         4      ,          \/        \         ^,           4      ^,          ,          8X  g   Q h\        R	\        P                  3R
3\        ^,          4      p\	        V4      \        \        4      \        ^\        R,          ,           4      ,          8X  g   Q h\	        V^ R7      \        \        4      \        ,          \        \        ^,          ^,           4      ,          8X  g   Q hR# )r   	gammasimprz   FT)placeNr>   rS   )r   r@   r   )sympy.simplify.gammasimpr   r|   r{   r   r$   r%   r0   r2   r   r?   r7   r4   r/   r6   r   r&   r'   r"   absr#   r1   r   r:   )r   r{   r   s      rB   test_meijerg_expandr   i  s   20wBx1#rQB78CFBBBwA|qcA3Z;<AE
  wA|qcA3Z;<	1q5	  wBx166(QC1Q3(CDq6$r(?  wBx1#x1Q3(CDq6$r(?  aS1q5!aff*"5r::::R!A#!A6666!qcA3AE
3333 wsBQC341c!fqj/As1Q3x!|#41#r2sA.5	77 7 7 wrA3R341c!fqj/As1Q3x!|#4"qcA3A.5	77 7 7
 R!ac'QAaCQVV,DEEEE
BaS%! ! ! !affXsaRD1111R!Q,,,,R!Q,,,,R!QZ1a!&&j/BBBBR!aR1aff+u====R!QZAJ!?DDDD!&&2sQG4444!&&2sQGU;;;;a!&&j\Aq6AJ<GGGGa!&&j\AE1q5!+<b%HHHH!aff*rAqsQw?BFFFF RaV,,,, w1vr2Aw:;1c!fqj/a!AqD&j>!#S1X\2Aq62rB7A6=	?? ? ? Xka!eWr!taRTAFF]3R1=? @ A
48T!a%[1_q((*+ + +
 wsBaVQ78E	
q1ua!ena	!B$/=112A=66;Ah=??DQU|Q=O O O O 	y$/A6Aq>T"Xd1q2w;&77777q"d2hqjadQh&????rA   c            
         ^ RI Hp Hp ^ RIHp \        \        \        .. \        \        .. \        4      4      \        \        ,          \        \        4      ,          \        \        ) \        ,           ^,           4      ,          V! \        \        ,
          \        4      ,          8X  g   Q h\        \        ^ .. ^ ^ .. \        4      4      \        \        4      V! ^ \        4      ,          8X  g   Q h\        \        .. \        \        ^,           .. 4      '       g   Q h\        \        .. \        ^,           \        .. 4      '       g   Q h\        \        .. \        ^,
          \        .. 4      '       g   Q h\        \        \        .. \        \        \        \        P                  ,
          .. \        4      4      \        \         4      ) \        \        \        P                  ,
          ,          ,          ^\#        ^\        \        4      ,          4      ,          V! ^\        \        4      ,          4      \         ^,          ,
          ,          ^\%        ^\        \        4      ,          4      ,          V ! ^\        \        4      ,          4      ,          ,
          ,          u;8X  d   \        \        \        .. \        \        \        P                  ,
          \        .. \        4      4      u;8X  dL   \        \        \        .. \        \        P                  ,
          \        \        .. \        4      4      8X  g   Q h Q h\        \        ^,
          .. \        ^,           \        \'        ^^4      ,
          \        ^,           .. 4      '       g   Q hR# )r   )CiSi)
uppergammaN)'sympy.functions.special.error_functionsr   r   'sympy.functions.special.gamma_functionsr   r   r$   r&   r'   r%   r0   r:   r   r   r?   r4   r/   r6   r7   r.   )r   r   r   s      rB   test_meijerg_lookupr     sV   @BwsBAA67	1SVE1"q&1*%%jQ&::; ; ;wsBAA67Az!Q     !b1a!e*b1111!b1q5!*b1111!b1q5!*b1111wsBAq166z(:BBC	b	!a!&&j/!1S47^#3R$q'	]RT5I#J%&s1T!W9~%5b47m%C$D 	EA 	GQCaQVVQ%7Q?@A 	GQCa!&&j!Q%7Q?@	A A A A A
 !a%"q1ua(1a..@!a%&H"MMMMrA   c            
      j   \        . . \        \        P                  ,           .\        \        \        ^,          ,
          \        \        ^,          ,           .4      '       g   Q h\        . . ^ \        P                  .\        \        ) .4      '       g   Q h\        . . ^\        ,          \        P                  ,
          \        \        ) \        P                  ,
          .\        \        P                  ,
          .4      '       g   Q h\        . . ^ \        \        P                  ,
          \        ) \        P                  ,
          .\        P                  .4      '       g   Q h\        . . \        \        \        P                  ,           \        .^\        ,          \        ,
          .4      '       g   Q h\        . . \        \        \        P                  ,           \        ^\        ,          \        ,
          .4      '       g   Q h\        \        P                  .. \        ) \        .^ .4      '       g   Q hR# rQ   N)r   r&   r   r?   r'   r@   rA   rB   test_meijerg_expand_failr     sX    R!aff*1qs7A!G/DEEEER!QVVq1"g6666R!A#,A2;!?!aff*NNNNR!QZ!aff!=xHHHHR!QZ!3acAgY????R!QZAaC!G!<====!&&2Aw4444rA   c            
          R  \        ^4       4       w  rR \        ^4       4       w  r#R \        ^4       4       w  rErgr\        V .Wx.V.WE.\        4      p
\        P                  ! ^^4      e   Q h\        P
                  ! ^^4      e   Q h\        W.Wx.V.WEV.\        4      p\        \        P
                  ! W4      P                  V
\        4      V\        4      '       g   Q h\        W.Wx.V.WEV^,           .\        4      p\        \        P
                  ! W^,           4      P                  V
\        4      V\        4      '       g   Q h\        W^,
          .Wx.V.WEV^,           .\        4      p\        \        P
                  ! V^,
          V^,           4      P                  V
\        4      V\        4      '       g   Q h\        V .WxV^,
          .W#^,           .WE.\        4      p\        \        P                  ! V^,           V^,
          4      P                  V
\        4      V\        RR7      '       g   Q hW.pWEV^,           .pWxV^,
          .pW#^,           .p\        \        WW4      4      w  ppVP                  V 38X  g   Q h\        VP                  4      Wx08X  g   Q hVP                  V38X  g   Q h\        VP                  4      WE08X  g   Q h\        \!        V
V\        4      \        WW\        4      \        4      '       g   Q hR# )c              3      "   T F4  p\        V4      ^\        ,          ,
          V\        ,          ,
          x  K6  	  R# 5i   NrW   r   r   s   & rB   rN   test_meijerg.<locals>.<genexpr>  )     8x!hqkAaC!A#%%x   <>c              3      "   T F4  p\        V4      ^\        ,          ,           V\        ,          ,           x  K6  	  R# 5ir   r   r   s   & rB   rN   r     r   r  c              3   6   "   T F  p\        4       x  K  	  R # 5ir   r   r   s   & rB   rN   r     s     ;(Qhjj(   Ngư>)tol)r   r$   r%   r   meijer_minusmeijer_plusrZ   r   r   r   r   r   setr\   r   r]   r   )r   r   r   r   r   b4b5r   a4a5r   g2r   r]   r\   r   niqr   s                     rB   test_meijergr    s   
 9uQx8FB8uQx8FB;%(;BBBrhrh2A##Aq)111""1a(000	"B8bTBB<	;Bk%%b-33Ar:BBBBB	"B8bTBBF+;Q	?Bk%%bq&1772>AFFFF	"1fx"Q/?	CBk%%b1fb1f5;;ArBBJJJJ	"Q'"1fx	CBk&&
QQab!7 7 7 7 B
"q&	B
"q&	B
1fB":bb#=>HC66bU??svv;2("""66bU??svv;2("""oab)7221+EqIIIIrA   c            
         R  \        ^
4       4       w
  rr#rErgr\        V .W#.V.Wx.\        4      p
\        \	        V4      P                  V
\        4      \        V .W#.V^,           .Wx.\        4      \        4      '       g   Q h\        \        V 4      P                  V
\        4      \        V ^,
          .W#.V.Wx.\        4      \        4      '       g   Q h\        \        V4      P                  V
\        4      \        V .W#.V.V^,           V.\        4      \        4      '       g   Q h\        \        V4      P                  V
\        4      \        V .V^,
          V.V.Wx.\        4      \        4      '       g   Q h\        V .W#.V.Wx.^ \        4      p\        VP                  V
\        4      \        V .W#.V^,
          .Wx.\        4      \        4      '       g   Q h\        V .W#.V.Wx.^ \        4      p\        VP                  V
\        4      \        V .W#.V.V^,
          V.\        4      \        4      '       g   Q h\        V .W#.V.Wx.^ \        4      p\        VP                  V
\        4      \        V ^,           .W#.V.Wx.\        4      \        4      '       g   Q h\        V .W#.V.Wx.^ \        4      p\        VP                  V
\        4      \        V .V^,           V.V.Wx.\        4      \        4      '       g   Q hR# )c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   r   s   & rB   rN   /test_meijerg_shift_operators.<locals>.<genexpr>  s     -M9ahqkk9r   N)r   r$   r%   rZ   r   r   r   r	   r
   r   r   r   r   r   )r   r   r   r  r  r   r   r   r	  r
  r   r   s               rB   test_meijerg_shift_operatorsr    s   -M59-M*BBBBBrhrh2Al2$$Q+rdRHrAvh!<aA A A Al2$$Q+rAvh2$!<aA A A Al2$$Q+rdRHrdR!VRL!<aA A A Al2$$Q+rdR!VRL2$!<aA A A A 	tbXtbXq!<A	2rha2(AFK K K K 	tbXtbXq!<A	2rhrAvrlAFK K K K 	tbXtbXq!<A	2a2(RD2(AFK K K K 	tbXtbXq!<A	2rAvrlRD2(AFK K K KrA   c                     R  p V ! \        . ^^.^ ^ .. \        4      \        \        4      ) ^ 4      '       g   Q hV ! \        . ^^.^ ^ .. \        4      \        ^,          ) ^,          \        ,           \        \        4      ^,          ,
          \        ^^4      ,
          ^ 4      '       g   Q hV ! \        . ^^.R^ .. \        4      \        ^,          ^,          \        ^,          ,
          \        \        4      ^,          ,           \        ^^4      ,           ^^\        ,          ,          ,           ^ 4      '       g   Q hV ! \        . . RO. RO. \        4      \        \        4      ^,          ) ^,          ^ 4      '       g   Q hV ! \        ^^.. . ^ ^ .\        4      ^ \        ^\        ,          4      ) 4      '       g   Q hV ! \        ^^.^^.^^.^ ^ .\        4      \        ) \        \        4      ,          ^\        ,          ,           \        ^\        ,          4      ) ^,           4      '       g   Q hV ! \        \        P
                  .^^.^ ^ .\        ^^4      .\        4      \        \        4      ^,          ^,
          ^ 4      '       g   Q hR pV! . ^.^ ^ .. 4      '       g   Q hV! ^^.. . ^ .4      '       g   Q hV! ^^.. RO. RO^ ^ .4      '       g   Q hV! ^^.. RO. RO^ .4      '       g   Q hR# )c           	      Z   ^ RI Hp V! W.4      w  rT p\        V 4      p V \        V\	        \
        4      ^8  3V\	        ^\
        ,          4      ^8  3VR34      8X  g   R# V P                  ^ ,          P                  ^ ,          V8X  d*   V P                  ^,          P                  ^ ,          V8X  g   R# \        4       ^
,          p\	        V P                  \
        V4      P                  4       VP                  ! \
        V4      P                  4       ,
          4      P                  4       R8  d   R# \	        V P                  \
        ^V,          4      P                  4       VP                  ! \
        ^V,          4      P                  4       ,
          4      P                  4       R8  d   R# R# )r   )sympifyTFg|=)
sympy.core.sympifyr  r   r"   r   r%   argsrW   rY   rd   )mr&   r'   r  m_z0s   &&&   rB   r   "test_meijerg_confluence.<locals>.t  s#   .vNIq#a&1*o3qs8a</@2t*MMq	q!Q&166!9>>!+<+AZ]qvva} 166!R=??#445779EAqvva2  "QVVAqt_%6%6%889;;=ErA   c                     \        WW#\        4      p\        VR R7      pVP                  \         4      '       d/   VP                  '       d   \        VP                  4      ^8X  g   R# \        WE\        4      # )T)allow_hyperF)r$   r%   r   rT   is_Piecewiselenr  rZ   )r   r\   r   r]   r  m2s   &&&&  rB   u"test_meijerg_confluence.<locals>.u1  sO    BBA&-66'??BOOOBGG8I!|rA   Nr>   r=   r=   r=   r=   )r   r   r   r   )rQ   rQ   r   )r=   r=      )r$   r%   r2   r.   r   r?   )r   r"  s     rB   test_meijerg_confluencer&    s     WR!Q!QQ/#a&!<<<<W
QFQFB#%&TE!GaK#a&($:Xa^$KQP P P PWR!Q"a"a0T"Wqs]SVAX%A6AaC@!E E E EWR|R;c!faiZ\1MMMMWaVRaVQ/S1XI>>>>WaVaVaVaVQ7RAY1_s1Q3xi!m- - - -WaffX1v1vA/?CSVAXPQ\STUUUU R!q!fb!!!!aVRaS!!!!aVY	Aq62222aVY	A3////rA   c            
         ^ RI Hp  \        R\        ^^4      3R3\        4      pRpV\        \        ^^4      ,          ,          \        R\        ^^4      3\        ^^4      3\        \        \        \        ,          4      ,          4      ,          pV P                  \        V4      V,          P                  4       RR4      '       g   Q hR# )	r   )RRg      ?g-q=N))g      @r=   r@   r   gwg      )sympy.polys.domains.realfieldr(  r$   r.   r%   r#   r1   r   r/   almosteqr   rd   )r(  r   r&   r   s       rB   test_meijerg_with_Floatsr+  =  s    0(1a.!2D 91=AA	!Xa^
E4!Q"88Aq>:KQyYZ[]Y]M^__A;;Aq(++-sE::::rA   c                     ^ RI Hp Hp ^ RIHp \        \        ^\        .\        ^,           .\        4      \        ,          4      V ! \        ^\        4      8X  g   Q h\        \        ^\        \        .\        ^,           \        ^,           .\        4      \        ^,          ,          4      V ! \        ^\        4      8X  g   Q h\        \        ^\        \        \        .\        ^,           \        ^,           \        ^,           .\        4      \        ^,          ,          4      V ! \        ^\        4      8X  g   Q h\        \        ^.\        .^
,          ,           \        ^,           .^
,          \        4      \        ^
,          ,          4      V ! \        ^
\        4      8X  g   Q hV! \        \        ^ ^\        ,
          .. ^ .\        ) .\        \        ) \        ,          4      \        ,          4      4      4      V ! \        ^\        4      8X  g   Q hV! \        \        ^ ^\        ,
          ^\        ,
          .. ^ .\        ) \        ) .\        \        ) \        ,          4      \        ,          4      4      4      V ! \        ^\        4      8X  g   Q hV! \        \        ^ ^\        ,
          ^\        ,
          ^\        ,
          .. ^ .\        ) \        ) \        ) .\        \        ) \        ,          4      \        ,          4      4      4      V ! \        ^\        4      8X  g   Q h\        \        \        ^^.^.\        4      ,          4      \        ^\        ) ,           4      ) 8X  g   Q h\        \        \        . RO^^.\        4      ,          4      V! ^\        4      8X  g   Q h\        \        \        . R	O. R
O\        4      ,          4      V! ^\        4      8X  g   Q h\        \        ^\        ^\        P                  ,           .\        ^,           \        P                  .\        4      4      R\        ,          \        ^,
          ,          R\        ^,          ,          \        ,           V ! \        ^\        4      ,          ,           8X  g   Q h\!        . R
O^^.4      '       g   Q h\!        ^^^\"        ^,           .^^\"        .^
R7      '       g   Q h\!        ^\        \        \        \"        ^,           .\        ^,           \        ^,           \        ^,           \"        .RR7      '       g   Q h^ RIHp \        \        \        P                  \        P                  \        P                  ^.\)        ^^4      \)        ^^4      \)        ^^4      .\)        ^^4      4      4      V! V! ^\        \        \        ,          4      ^,          4      ) V! ^\        P                  4      ,           4      8X  g   Q hR# )r   )lerchphipolylogr   )r_   Fr^   )AbsN)r=   r=   r=   r$  )rQ   rQ   rQ   rS   )&sympy.functions.special.zeta_functionsr-  r.  r   r   r   r#   r&   r%   r$   r1   r   r/   r2   r   r?   rf   r'   r   r0  r.   )r-  r.  r   r0  s       rB   test_lerchphir2  F  sd   J2uaVa!eWa023x1a7HHHHq!Qi!a%Q+AqD025=aA5FG G GuaAq\AE1q5!a%+@!DQTIJAq  uaSA3r6\AE72:q9!R%?@B  [!QUR!
i2q "" # $'/1a'89 9 9[!QUAE):B
aR)QBrE"1$"& ' (+3Aq!+<= = =[!QUAE1q5)A2s
aR!i2&q("* + ,/71a/@A A A q1vsA../CQBK<???qy1a&!445AFFFq|Y::;wq!}LLLuaAJ/!a%!DE
1a!e1a4!XaA%6667 7 7 )aV$$$$ 1aAE"Q1I26666 	
Aq!QUa!eQUAE15H H H H 9uaffaffaffa8&q!nhq!nhq!nMxXY[\~_ `WQ	!B$)**WQ-??@A A ArA   c            
      T   R  \        ^4       4       w  rr#p\        WV.W4.4      \        . WW#V.4      3 F  p\        V4      pVP                  pVP                  V! V4      8X  g   Q hVP
                  P                  V4      V,          pVP                  VP
                  ,          p	\        W4       F  w  r\        WV4      '       d   K  Q h	  K  	  \        R4      w  rp\        \        ^V .^V.V4      4      V ) V,          ^,          W,          ^,          ,           ^V ,          ,           \        V ^,           .V.V4      ,          W,          ^,          ^V ,          ,
          ^,           \        V .V.V4      ,          ,           8X  g   Q h\        \        \        ^V.^V.V4      4      \        ^V.^V.V4      V4      '       g   Q h\        \        ^.^W.V4      4      \        RW3V4      V\        RV ^,           V3V4      ,          ^V ,          ,          ,           Wq^,
          ,          \        RV ^,           V^,           3V4      ,          ^V ,          V,          ,          ,
          8X  g   Q h\        \        \        ^.^W4.V4      4      \        ^.^W4.V4      V4      '       g   Q hR# )c              3   6   "   T F  p\        4       x  K  	  R # 5ir   r   )rM   _s   & rB   rN   $test_partial_simp.<locals>.<genexpr>v  s     2AXZZr  za b zNr@   )r   r   r   r%   r   r   r   r   r   rZ   r    r   r#   )r&   r'   r(   rP   er   r   r%   r   r   func1func2s               rB   test_partial_simpr:  t  sq   2q2MA!q	A622aA/1(.CC}}Q'''!QQSS/LEeA&&&& 01 gGA!uaVaVQ/0
Aa!#a%!A#	ua!eWqc1553q51Q3;?E1#sA.
.	// / / E1a&1a&!,-uaVaVQ/GL L L LuaS1a)Q/0b1&!
E"q1uaj!$
$ac
*	+
U)E"q1ua!ena0
0!A#a%
8	99 9 9 E1#1y!,-uaS1a)Q/GL L L LrA   c            	         \        \        \        \        .\        .^4      4      \        \        4      \        \        \        ,
          \        ,
          4      ,          \        \        \        ,
          4      ,          \        \        \        ,
          4      ,          8X  g   Q h\        \        \        \        .^\        ,           \        ,
          .R4      4      \        ^\        ^,          ,           4      \        ^\        ,           \        ,
          4      ,          \        ^\        ,           4      ,          \        ^\        ^,          ,           \        ,
          4      ,          8X  g   Q h\        \        \        \        .^\        ,           \        ,
          .R4      4      \        ^\        ^,          ,           4      \        ^\        ,           \        ,
          4      ,          \        ^\        ,           4      ,          \        ^\        ^,          ,           \        ,
          4      ,          8X  g   Q h\        \        ^\        ,
          \        ^,          ,
          .^\        ,
          \        ^,          ,           .\        ^,          .\        ) ^,          .^4      4      \        ^^\        ,          ,
          4      \        \        \        ^,          ,           \        ^,          ,           4      ,          \        ^\        ,
          \        ^,          ,           \        ^,          ,
          4      ,          \        ^\        ,
          \        ^,          ,
          \        ^,          ,           4      ,          \        ^\        ,
          \        ^,          ,           \        ^,          ,           4      ,          8X  g   Q h\        \        \        .\        .^ 4      4      ^8X  g   Q h\        \        .\        .^ 4      ^ 8w  g   Q hR# r=   Nr>   )r   r#   r&   r'   r(   r:   r$   r%   r@   rA   rB   test_hyperexpand_specialr=    s\   uaVaS!,-aq1uqy!!%A,.uQU|;< < <uaVa!eai["56a!A#guQUQY''a!e4U1qs7Q;5GGH H HuaVa!eai["56a!A#guQUQY''a!e4U1qs7Q;5GGH H HwA!}q1uqs{macUaRTFANOa!A#guQ1Wqs]++E!a%!A#+!2C,DD	q1uqs{QqS 	!	""'A!ac(9":	;; ; ; uaS1#q)*a///!qc1"""rA   c                      ^ RI Hp  ^ RIHp V ! RRR7      pV! \	        \        ^.. V^,           .^ .\        4      4      4      \        V^,           \        4      8X  g   Q hR# )r   )Symbolrz   rd   T)integerN)sympy.core.symbolr?  r|   r{   r   r$   r%   r;   )r?  r{   rd   s      rB   test_Mod1_behaviorrB    sU    (0sD!AKR!a%1#q ABC1q5!  rA   c                     \        ^^\        ,           ^,          ^\        ,
          ^,          .\        ^^4      ^.4      '       g   Q h\        \        P                  \
        ^,
          .\        ^^4      \
        ^,           .RR7      '       g   Q h\        . \        ^,           .4      '       g   Q h\        \
        .\
        ^,
          \        ^,           .4      '       g   Q h\        \
        .\
        \        P                  ,
          ^\
        ,          .4      '       g   Q h\        \
        .\
        \        P                  ,
          ^\
        ,          ^,           .4      '       g   Q h\        \
        .\
        \        P                  ,
          ^\
        ,          ^,
          .4      '       g   Q h\        \
        .\
        \        P                  ,           ^\
        ,          .4      '       g   Q h\        \
        .\
        \        P                  ,           ^\
        ,          ^,           .4      '       g   Q h\        \
        .\
        \        P                  ,           ^\
        ,          ^,
          .4      '       g   Q h\        \        P                  .\        ^\        ,
          .4      '       g   Q h\        \        P                  .\        ^\        ,
          .4      '       g   Q h\        ^.^\        .4      '       g   Q h\        \
        \
        \        P                  ,           .^\
        ,          \        ^\
        ,          \        ,
          ^,           .4      '       g   Q h\        \
        \
        \        P                  ,           .\        P                  ^\
        ,          ^\
        ,          \        P                  ,           .4      '       g   Q h\        \
        .\
        ^,           .RR7      '       g   Q hR# )r=   T)r`   N)rf   r   r.   r   r?   r&   r'   r@   rA   rB   test_prudnikov_miscrD    s}   1q1uai!a%+hq!na-@AAAA1661q5/HQNAE#:tLLLL"q1ug1#Aq1u~&&&&1#AFF
AaC())))1#AFF
AaC!G,----1#AFF
AaC!G,----1#AFF
AaC())))1#AFF
AaC!G,----1#AFF
AaC!G,----166(QAJ''''166(QAJ''''1#1v1a!&&j/AaCAaC!GaK#899991a!&&j/AFFAaC1qvv#>????1#Aw40000rA   c                     \        \        \        ) .\        P                  .4      '       g   Q h\        \        ^\        ,
          .\        P                  .4      '       g   Q h\        \        ^\        ,
          .\	        ^^4      .4      '       g   Q h\        \        ^\        ,
          .\        P                  .4      '       g   Q h\        \        ^\        ,
          .\	        ^^4      .4      '       g   Q h\        \        ^\        ,
          .\	        ^^4      .4      '       g   Q h\        \        \        \        P                  ,           .^\        ,          ^,
          .4      '       g   Q h\        \        \        \        P                  ,           .^\        ,          .4      '       g   Q h\        \        \        \        P                  ,           .^\        ,          ^,           .4      '       g   Q h\        \        \        \        P                  ,           .\        P                  .4      '       g   Q h\        \        \        \        P                  ,           .\	        ^^4      .4      '       g   Q h\        \        \        ^,          ^,           .\        ^,          .4      '       g   Q h\        ^\
        .^.4      '       g   Q h\        ^\
        .\
        ^,           .RR7      '       g   Q h\        \        .^\        ,          .4      '       g   Q h\        \        .^\        ,          ^,           .4      '       g   Q h\        \        .^\        ,          ^,
          .4      '       g   Q hR# )r=   Fr/  N)rf   r&   r   r?   r.   r'   r@   rA   rB   test_prudnikov_1rF    sM    1qb'AFF8$$$$1a!e*qvvh''''1a!e*x1~.////1a!e*qvvh''''1a!e*x1~.////1a!e*x1~.////1a!&&j/AaC!G9----1a!&&j/AaC5))))1a!&&j/AaC!G9----1a!&&j/AFF8,,,,1a!&&j/HQN#344441acAg,1&&&&1a&1#1a&1q5'U3333 1#!u1#!ay!!!!1#!ay!!!!rA   c            
      n   \         P                  p \        V ) V ) .V .4      '       g   Q h\        V ) V .^V ,          .4      '       g   Q h\        V ) V .^V ,          .4      '       g   Q h\        V ) V .^V ,          .4      '       g   Q h\        V ) ^.V .4      '       g   Q hV ) V 3 F  pV ) V ^^V ,          ^^V ,          ^^V ,          ^3	 F=  pV ) V ^V ,          ^V ,          ^V ,          3 F  p\        W.V.4      '       d   K  Q h	  K?  	  R F"  pR F  p\        W.V.4      '       d   K  Q h	  K$  	  K  	  R# rR   Nr=   rQ   rR      r   r?   rf   r   prd   r  s       rB   test_prudnikov_2rN    sB   	AA2r(QC    A2q'AaC5!!!!A2q'AaC5!!!!A2q'AaC5!!!!A2q'A3b!W"aAaCAaCAaC3Ab!QqS!A#qs+qfqc**** , 4 A!qfqc**** " 	 rA   c                     \         P                  p \        \        ^^4      \        ^^4      .V .4      '       g   Q h\        \        ^^4      \        ^^4      .^V ,          .4      '       g   Q h\        \        ^^4      \        ^^4      .^V ,          .4      '       g   Q h\        \        ^^4      \        ^^4      .V .4      '       g   Q h\        \        ^^4      \        ^^4      .^V ,          .4      '       g   Q hR# )r=   N)r   r?   rf   r.   r   s    rB   test_prudnikov_3rQ    s    	A8Aq>8Aq>2QC88888Aq>8Aq>2QqSE::::8Aq>8Aq>2QqSE::::8Aq>8Aq>2QC88888Aq>8Aq>2QqSE::::rA   c                     \         P                  p R Fn  pV ) V ^^V ,          ^^V ,          ^^V ,          ^^	V ,          3
 F>  p^^V ,          ^^V ,          ^^V ,          ^3 F  p\        W.V.4      '       d   K  Q h	  K@  	  Kp  	  R# )r=   NrI  rK  rL  s       rB   test_prudnikov_3_slowrS    s     	
A"aAaCAaCAaCAaC8A1a1a1a0qfqc**** 1 9 rA   c                  t   \         P                  p ^V ,          ^V ,          ^V ,          3 F  pV ) V ^V ,          ^V ,          ^V ,          3 F=  p^V ,          ^^V ,          ^^V ,          ^3 F  p\        W.V.4      '       d   K  Q h	  K?  	  R F"  pR F  p\        W.V.4      '       d   K  Q h	  K$  	  K  	  R# )rR   NrI  )rQ   rR   rJ  rK  rL  s       rB   test_prudnikov_4rU     s    	Ac1Q3!_"a1ac1Q3'Ac1ac1ac1-qfqc**** . ( Aqfqc****  	 rA   c            	         \         P                  p R FJ  p\        V^4       F7  pR F.  p\        V^4       F  p\        V ) W.W4.4      '       d   K  Q h	  K0  	  K9  	  KL  	  V ^^V ,          ^^V ,          ^3 Fy  pV ^V ,          ^V ,          3 F_  pV ^V ,          ^V ,          3 FE  pV ^V ,          ^V ,          3 F+  pWB8:  g   K  WC8:  g   K  \        V ) W.W4.4      '       d   K+  Q h	  KG  	  Ka  	  K{  	  V ^^V ,          ^^V ,          ^3 FG  pR F>  pV ^V ,          ^V ,          3 F$  pR F  p\        V ) W.W4.4      '       d   K  Q h	  K&  	  K@  	  KI  	  R# r=   Nrm   r   r?   r   rf   )r   rM  qra   r   s        rB   test_prudnikov_5rZ    sO   	Aq!Aq!A!A2q*qf5555 %    AaCAaC#QqS!A#A1ac]QqS!A#Av!&%r1j1&9999 ' #  $ AaCAaC#A1ac]"A!A2q*qf5555 # #  $rA   c            	         \         P                  p ^V ,          ^V ,          3 Fq  pR Fh  pV ^^3 F#  pR F  p\        WV.W.4      '       d   K  Q h	  K%  	  R F3  p^V ,          ^V ,          3 F  p\        WV.W.4      '       d   K  Q h	  K5  	  Kj  	  Ks  	  R F5  pR F,  pR F#  pR F  p\        WV.W.4      '       d   K  Q h	  K%  	  K.  	  K7  	  \        W ^V ,          .^V ,          ^V ,          .4      '       g   Q h\        V ^^V ,          .^V ,          ^V ,          .4      '       g   Q h\        V ^^.^^.4      '       g   Q hR# )rR   Nrm   )r=   rQ   rK  )r   r  rd   rY  rM  s        rB   test_prudnikov_6r\  $  sK   	Ac1Q3ZAAY"A!1)aV4444 #  A#qsA!1)aV4444 $ 	   A"A!1)aV4444 #    11+!QqSz****1a1+!QqSz****1a)aV$$$$rA   c            
         \        ^.^.4      '       g   Q h\        P                  p V ^V ,          ^V ,          ^V ,          3 F  p\        V ) .V.4      '       d   K  Q h	  V ) V ^^V ,          ^^V ,          ^^V ,          ^3	 FA  pV ) V ^V ,          ^V ,          ^V ,          ^^^^3	 F  p\        V.V.4      '       d   K  Q h	  KC  	  R# )rR   N)rf   r   r?   )r   rd   r  s      rB   test_prudnikov_7r^  >  s    1#s	A1ac1Q3rdQC      b!Q!Q!Q!Q/"a1ac1Q31a3A1#s#### 4 0rA   c            	      0   \         P                  p R F  pR FP  p\        ^V^,           4       F6  pV ^^V ,          ^^V ,          ^3 F  p\        W.W4.4      '       d   K  Q h	  K8  	  KR  	  ^V ,          ^V ,          3 F?  pV ^^V ,          ^^V ,          ^3 F"  pR F  p\        W.W4.4      '       d   K  Q h	  K$  	  KA  	  K  	  V ) V ^V ,          ^V ,          3 F  pR F?  pV ^^V ,          ^^V ,          ^3 F"  pR F  p\        W.W4.4      '       d   K  Q h	  K$  	  KA  	  V ^V ,          ^V ,          3 FY  pV ^V ,          ^V ,          ^3 F>  pV ^^V ,          ^^V ,          ^3 F!  pW28:  g   K  \        W.W4.4      '       d   K!  Q h	  K@  	  K[  	  K  	  R# rW  rX  )r   re   bicidis        rB   test_prudnikov_8rc  J  s   	A BArAv&a1a1a0B!2(RH5555 1 '  Q3!*B!QqS!QqS!,#B!2(RH5555 $ -   r1ac1Q3B!QqS!QqS!,#B!2(RH5555 $ -  ac1Q3-B!A#qsA&a1a1a0Bx%rh9999 1 '    rA   c                     \        ^	4       F/  p \        . \        V 4      ^,           ^,          .4      '       d   K/  Q h	  \        ^4       F7  p \        . ^\        V 4      ,          ^,           ) ^,          .4      '       d   K7  Q h	  R# )rh   N)r   rf   r   )is    rB   test_prudnikov_9rf  e  sg    1XbAaD1Ha<.)))) 1XbQqtVaZ=?+,,,, rA   c            	      T   \         P                  p V ) V ^^V ,          ^^V ,          ^^V ,          ^3	 F5  pR F,  p\        V^4       F  p\        V.W#.4      '       d   K  Q h	  K.  	  K7  	  R FD  pV ^V ,          ^V ,          ^V ,          3 F"  pR F  p\        V.W2.4      '       d   K  Q h	  K$  	  KF  	  ^V ,          ^V ,          ^V ,          3 FU  pV ^^^V ,          ^^V ,          ^3 F7  p\        V.W.4      '       g   Q h\        V.^V ,          V.4      '       d   K7  Q h	  KW  	  V ^^^V ,          ^^V ,          ^3 F(  p\        ^V ,          .^V ,          V.4      '       d   K(  Q h	  \        \	        R^4      .\         P                  \         P                  .4      '       g   Q hR# )r=   NrI  r>   )r   r?   r   rf   r.   r   rM  r  rd   s       rB   test_prudnikov_10ri  m  s    	
Ab!Q!Q!Q!Q/A1a[qcA6**** !  0
 QqS!A#qs#A!qcA6**** " $ 
 c1Q3!_Q1Q31Q3*A1#v&&&&1#!Qx(((( + 
 AqsAqsA&qseac1X&&&& ' 8B?#affaff%56666rA   c                     \        \        \        \        P                  ,           .^\        ,          \        ^\        ,          \        ,
          .4      '       g   Q h\        \        \        \        P                  ,           .\        ^^4      ^\        ,          ^\        ,          \        P                  ,
          .4      '       g   Q h\        \        ^^4      \        ^^4      .\        P                  \        P                  ^.4      '       g   Q h\        \        ^^4      \        ^^4      .\        ^^4      \        P                  ^.4      '       g   Q h\        \        ^^4      \        ^^4      .\        ^^4      \        ^^4      ^.4      '       g   Q h\        \        ^^4      \        ^^4      .\        ^^4      \        ^^4      ^.4      '       g   Q h\        ^^.\        ^^4      ^^.4      '       g   Q hR# r   )rf   r&   r   r?   r'   r.   r@   rA   rB   test_prudnikov_11rk    sn   1a!&&j/AaCAaC!G#455551a!&&j/HQNAaC1qvv#FGGGG8Aq>8Aq>2QVVQVVQ4GHHHH8Aq>8Aq>2Xa^QVVQ4OPPPP8Aq>8Aq>2Xa^XaQR^UV4WXXXX8Aq>8Aq>2Xa^XaQR^UV4WXXXX1a&8Aq>1a01111rA   c            	      N   \        . \        \        \        P                  ,           ^\        ,          .R4      '       g   Q h\        . \        \        \        P                  ,           ^\        ,          ^,           .R4      '       g   Q h\        . \        P                  \        \        \        P                  ,           .4      '       g   Q h\        . \	        ^^4      \        \        \        P                  ,           .4      '       g   Q h\        . \	        ^^4      \        P                  \	        ^^4      .4      '       g   Q h\        . \        P                  \        P                  ^.4      '       g   Q h\        . \        P                  \	        ^^4      ^.4      '       g   Q h\        . \	        ^^4      \	        ^^4      \	        ^^4      .4      '       g   Q h\        . ^^\	        ^^4      .4      '       g   Q h\        . ^^\	        ^^4      .4      '       g   Q h\        . ^\	        ^^4      \	        ^^4      .4      '       g   Q h\        . \	        ^^4      \	        ^^4      \	        ^^4      .4      '       g   Q h\        . ^\	        ^^4      \	        ^^4      .4      '       g   Q hR# )rQ   FN)rf   r&   r   r?   r.   r@   rA   rB   test_prudnikov_12rm    s   
QAFF
AaC %) ) ) )"q!aff*acAg.6666"qvvq!aff*-...."x1~q!aff*56666"x1~qvvx1~>????"qvvqvvq)****"qvvx1~q12222"x1~x1~x1~FGGGG"q!Xa^,----"q!Xa^,----"q(1a.(1a.9::::"x1~x1~x1~FGGGG"q(1a.(1a.9::::rA   c                      \         P                  p V ) V 3 FD  pV ^V ,          ^V ,          ^V ,          3 F"  pR F  p\        W.V.4      '       d   K  Q h	  K$  	  KF  	  R# rH  rK  rh  s       rB   test_prudnikov_2F1ro    s[    	Ab!WQqS!A#qs#A!qfqc**** " $ rA   c                  b   \        \        \        .\        ^,           .4      '       g   Q h\        R\        .\        .4      '       g   Q h\        \        \        .\        \        ,           \        P
                  ,           .4      '       g   Q h\        \        \        .\        \        ,           \        P
                  ,
          .4      '       g   Q h\        \        \        .\        \        ,           \        ^^4      ,           .4      '       g   Q h\        \        \        .\        \        ,           ^,           ^,          .4      '       g   Q h\        \        \        .\        \        ,           ^,          ^,           .4      '       g   Q h\        \        \        .\        \        ,
          ^,           .4      '       g   Q h\        \        \        .\        \        ,
          ^,           .4      '       g   Q h\        \        \        .^\        ,          .4      '       g   Q h\        \        \        .\        P
                  .4      '       g   Q h\        \        \        .\        ^^4      .4      '       g   Q h\        \        ^\        ,
          .\        .4      '       g   Q h\        \        ^\        ,
          .\        .4      '       g   Q h\        \        ^\        ,
          .\        .4      '       g   Q h\        \        \        \        P
                  ,           .\        .4      '       g   Q h\        ^\        .\        .4      '       g   Q h\        ^\        .\        ^^4      .4      '       g   Q h\        \        ^^4      \        ^^4      .^.4      '       g   Q h\        P                  p \        V ^,          ^.V ^,          ^	,          .4      '       g   Q h\        V ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^.V ^,          ^	,          .4      '       g   Q h\        V ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^	,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q h\        V ^,          ^,          ^.V ^,          ^,          .4      '       g   Q hR# r<  )rf   r&   r'   r(   r   r?   r.   One)os    rB   test_prudnikov_fail_2F1rs    s+   1a&1q5'""""2q'A3
 1a&1q5166>*++++1a&1q5166>*++++1a&1q58Aq>1233331a&AEAIq=/****1a&AE19q=/****1a&1q519+&&&&1a&1q519+&&&&1a&1Q3%    1a&166(####1a&8Aq>*++++1a!e*qc""""1a!e*qc""""1a!e*qc""""1a!&&j/A3''''1a&1#1a&8Aq>*++++8Aq>8Aq>2QC8888 	
A1Q3(QqSUG$$$$1Q3(QqSUG$$$$1Q3(QqSVH%%%%1Q3(QqSUG$$$$1Q3(QqSVH%%%%1Q3(QqSUG$$$$1Q3(QqSUG$$$$1Q3(QqSUG$$$$1Q3(QqSUG$$$$1Q3q5!*qs2vh''''1Q3q5!*qs1ug&&&&1Q3q5!*qs2vh''''1Q3q5!*qs1ug&&&&1Q3q5!*qs2vh''''1Q3q5!*qs2vh''''1Q3q5!*qs1ug&&&&1Q3q5!*qs2vh''''1Q3q5!*qs1ug&&&&1Q3q5!*qs1ug&&&&1Q3q5!*qs1ug&&&&1Q3q5!*qs2vh''''1Q3q5!*qs2vh''''1Q3q5!*qs2vh''''1Q3q5!*qs2vh''''rA   c            	         \        \        \        \        ^^4      ,           \        \        ^^4      ,           .\        ^^4      \        ^^4      .4      '       g   Q h\        \        \        \        ^^4      ,           \        \        ^^4      ,           .\        ^^4      \        ^^4      .4      '       g   Q h\        \        \        \        ^^4      ,           \        \        ^^4      ,           .\        ^^4      \        ^^4      .4      '       g   Q h\        \        \        \        ^^4      ,           \        \        ^^4      ,           .\        \        ^^4      ,          ^\        ,          ^,           ^,          .4      '       g   Q h\        \        R^4      \        P                  \        P                  .^^.4      '       g   Q h\        \        R^4      \        P                  ^.\        ^^4      \        ^^4      .4      '       g   Q h\        \        ^^4      \        ^^4      ^.\        ^	^4      \        ^^4      .4      '       g   Q h\        \        ^^4      \        ^^4      ^.\        ^	^4      \        ^^4      .4      '       g   Q h\        \        ^^4      \        ^^4      ^.\        ^	^4      \        ^^4      .4      '       g   Q h\        \        ^^4      \        ^^4      ^.\        ^^4      \        ^^4      .4      '       g   Q h\        \        ^^4      \        ^^4      ^.\        ^^4      \        ^^4      .4      '       g   Q h\        \        ^^4      \        ^^4      ^.\        ^^4      \        ^^4      .4      '       g   Q h\        \        P                  ^^.\        ^^4      \        ^^4      .4      '       g   Q hR# r<  )rf   r&   r.   r   r?   r@   rA   rB   test_prudnikov_fail_3F2ru    s   1a(1a.(!hq!n*<=APXYZ\]P^?_````1a(1a.(!hq!n*<=APXYZ\]P^?_````1a(1a.(!hq!n*<=APXYZ\]P^?_```` 1a(1a.(!hq!n*<=(1a.@PSTUVSVYZSZ\]R]?^____ 8B?AFFAFF3aV<<<<8B?AFFA.!Q!Q0PQQQQ 8Aq>8Aq>15AQSUV7XYYYY8Aq>8Aq>15AQSUV7XYYYY8Aq>8Aq>15AQSUV7XYYYY8Aq>8Aq>15AQRTU7WXXXX8Aq>8Aq>15AQRTU7WXXXX8Aq>8Aq>15AQSUV7XYYYY1661a.8Aq>8Aq>"BCCCCrA   c            	         \        ^\        .\        ^^\        ,          ,
          \        ,           .4      '       g   Q h\        \        R^4      .\        P
                  ^.4      '       g   Q h\        ^.\        P
                  \        P
                  .4      '       g   Q h\        \        ^^4      .\        P
                  \        ^^4      .4      '       g   Q h\        \        ^^4      .\        ^^4      \        ^^4      .4      '       g   Q h\        ^.\        ^^4      \        ^^4      .4      '       g   Q h\        ^.\        ^^4      \        ^^4      .4      '       g   Q h\        ^.\        ^^4      \        ^^4      .4      '       g   Q h\        \        P
                  ^.\        ^^4      \        ^^4      \        ^^4      .4      '       g   Q h\        \        P
                  ^.\        ^^4      \        ^^4      \        ^^4      .4      '       g   Q h\        . \        ^^4      \	        R4      .4      '       g   Q h\        . \        ^^4      \	        R4      .4      '       g   Q h\        . \        ^^4      \	        R4      .4      '       g   Q h\        . \        \        \        P
                  ,           ^\        ,          ^,
          .4      '       g   Q hR# )r=   Nr>   gUUUUUU?gUUUUUU?)rf   r&   r'   r.   r   r?   r@   rA   rB   test_prudnikov_fail_otherrw     s<   
 1a&1a!A#gk*++++ 8B?#affa[11111#'((((8Aq>"QVVXa^$<====8Aq>"Xa^Xa^$DEEEE1#AA788881#AA788881#AA78888 1661+AAAOPPPP1661+AAAOPPPP "x1~qv.////"x1~qv.////"x1~qv.//// "q!aff*acAg.////rA   c                  ~    \        R^.\        .R4      p \        V 4      \        ^,           \        ,          8X  g   Q hR# r<  )r#   r%   r   rP  s    rB   test_bugry    s0    r1gsBAq>a!eQY&&&rA   c                      \        RR^4      p \        V 4      \        ^^4      8X  g   Q h\        RR^4      p \        V 4      \        R^4      8X  g   Q hR# )r   N)rj   ri   ru   )r{  )r{  irj   r>   )r#   r   r.   rP  s    rB   test_omgissue_203r|  #  sN    lHa(Aq>Xa_,,,lHa(Aq>Xb!_,,,rA   N)Tr=   Fr   )T)sympy.core.randomr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   sympy.concrete.summationsr   sympy.core.containersr   sympy.core.exprr   rr   r   sympy.core.singletonr   rA  r    (sympy.functions.combinatorial.factorialsr!   $sympy.functions.elementary.piecewiser"   sympy.functions.special.hyperr#   r$   	sympy.abcr%   r&   r'   r(   sympy.testing.pytestr)   r*   r+   r,   r-   rZ   r.   r/   &sympy.functions.elementary.exponentialr0   r1   r2   %sympy.functions.elementary.hyperbolicr3   (sympy.functions.elementary.miscellaneousr4   (sympy.functions.elementary.trigonometricr5   r6   r7   sympy.functions.special.besselr8   r   r9   r   r:   r;   rC   rI   rf   rk   rn   rs   rv   rx   r}   r   rW   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r&  r+  r2  r:  r=  rB  rD  rF  rN  rQ  rS  rU  rZ  r\  r^  rc  rf  ri  rk  rm  ro  rs  ru  rw  ry  r|  r@   rA   rB   <module>r     s   '5 5 5 5 5 5 5 * '     " % = : :     = = 6 - H H 7 9 E E 2 7 Gc
H.	; Q Q<74;;$
6
 V V@968C@4PG,F> ?@ ?@DN& 5 5 #J #JLK> %0 %0P;+A\L8# 1 1*"6 + +"; 		+ 		+ + + 6 6. % %2 $ $ : :4- 7 70
2;& + + 3( 3(l D D0 0 0:'
-rA   