Ë
    3^(hrÉ  ã                   óê  — d dl mZ ddlmZmZ d„ ZdZeg dfd„«       Zed„ «       Zed	„ «       Z	ed
„ «       Z
ed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zd„ Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed$d„«       Zed„ «       Zed„ «       Zed „ «       Zed!„ «       Z ed"„ «       Z!	 ed#„ «       Z"y)%é   )Úxrangeé   )ÚdefunÚdefun_wrappedc                 ó”  — dx}}d}g }t        |«      D �],  \  }}	|	\  }
}}}}}}d}t        |
«      D ],  \  }}|rŒ	| j                  ||   «      dk  sŒ!||   sŒ'dx}}d}Œ. g d¢}t        |||g«      D ]’  \  }}t        |«      D ]  \  }}| j                  |«      \  }}|dkD  rŒ || j                  k(  rCd}|dk(  r+|D ]&  }| j	                  |«      sŒ|t        |«      k\  sŒ$d} n |rŒd||xx   dz  cc<   Œr|dk  sŒx|| z  }d}Œ� Œ” |r&|d   |d   |d   z   kD  r|s|j                  |«       �Œt        |«      s�Œ)dx}}�Œ/ ||||fS )NFé    T)r   r   r   r   r   éüÿÿÿ)Ú	enumerateÚreÚnint_distanceÚninfÚisnpintÚintÚappendÚsum)ÚctxÚtermsÚprecÚdiscard_known_zerosÚperturbÚ	recomputeÚ	extraprecÚdiscardÚ
term_indexÚtermÚw_sÚc_sÚalpha_sÚbeta_sÚa_sÚb_sÚzÚhave_singular_nongamma_weightÚkÚwÚ
pole_countÚ
data_indexÚdataÚiÚxÚnÚdÚokÚus                                ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/mpmath/functions/hypergeometric.pyÚ_check_need_perturbr0      s±  € ØÐ€GˆiØ€IØ€GÜ% eÓ,ó ('Ñˆ
�DØ15Ñ.ˆˆS�'˜6 3¨¨QØ(-Ð%ô ˜c“Nò 	9‰DˆAˆqÚØ—6‘6˜#˜a™&“> QÓ&¨3¨q«6Ø*.Ð.�G˜iØ48Ñ1ð		9ò
 ˆ
ä )¨7°F¸CÐ*@Ó Aò 	%ÑˆJ˜Ü! $›ò %‘��1Ø×(Ñ(¨Ó+‘��1à�q’5ØØ˜Ÿ™’=ð �BØ! Q’Ø!$ò &˜AØ"Ÿ{™{¨1�~°!´s¸1³v³+Ø%) Ù %ð&ñ Ø Ø˜zÓ*¨aÑ/Ô*ð ˜“VØ ! ‘O�IØ $‘Iñ-%ð	%ñ0  :¨a¡=°:¸a±=À:ÈaÁ=Ñ3PÒ#PÙ1Ø�N‰N˜:Ö&Ü�Ž_Ø"&Ð&ˆG’iðQ('ðR �I˜y¨'Ð1Ð1ó    a  
hypercomb() failed to converge to the requested %i bits of accuracy
using a working precision of %i bits. The function value may be zero or
infinite; try passing zeroprec=N or infprec=M to bound finite values between
2^(-N) and 2^M. Otherwise try a higher maxprec or maxterms.
Tc                 ód  — | j                   }| j                  }| j                  }| j                  }|d d  }	|j	                  dd«      }
|j	                  d| j                  |«      «      }||d<   |j	                  d«      }|j	                  d«      }d }d}	 	 | xj                   dz  c_         | j                   |kD  rt        t        || j                   fz  «      ‚| j                   }|	d d  } ||Ž }|
r7t        «        t        d	«       t        d
| j                   «       t        d|«       t        | |||«      \  }}}}| xj                   |z  c_         |r•d|v r|d   }n-| j                  rt        | j                   dz  «      }n|dz   |z   }| j                  | j                  | «      }|dz   |z   dz   | _         t        t        |«      «      D ]  }||xx   |z  cc<   |||dz   z  z  }Œ |r ||Ž }|r"t!        |«      D ��cg c]  \  }}||vsŒ|‘Œ }}}|s| j                  || _         S g }t!        |«      D �]œ  \  }}|\  }}} }!}"}#}$|
rÖt        «        t        d|dz   t        |«      t        |"«      t        |#«      fz  «       t        d| j#                  |«      | j#                  |«      «       t        d| j#                  | «      | j#                  |!«      «       t        d| j#                  |"«      | j#                  |#«      «       t        d| j#                  |$«      «       | j%                   | j&                  |"|#|$fi |¤Žg| D �%cg c]  }%| j)                  |%«      ‘Œ c}%z   |!D �&cg c]  }&| j+                  |&«      ‘Œ c}&z   t-        ||«      D �'�(cg c]  \  }'}(| j/                  |'|(«      ‘Œ c}(}'z   «      })|
rt        d|)«       |j1                  |)«       �ŒŸ t        |«      dk(  r	|s|d   }�n—| j                  r| j3                  |«      }�nx| j3                  |«      }|D �*cg c]  }*| j5                  |*«      ‘Œ }+}*t7        |+«      },| j5                  |«      }-|,|-z
  }.|
r1t        «        t        d|.d«       t        d| j                   |z
  d«       |.| j                   |z
  k  }/|€d}0n|,| j                   z
  | k  }0|€d}1n|,|kD  }1|/r|r| j9                  |.«      rn«|/r`|€	|dz  }|}�ŒN| j5                  ||z
  «      | j5                  |«      |z
  k  rnt|0r| j                  }ne|1r| j:                  }nVd|v rnQ|dz  }|}nGt=        t7        |.|dz  «      t7        ||«      «      }2| xj                   |2z  c_         |
rt        d«       �Œê�Œë|| _         |­S c c}}w c c}%w c c}&w c c}(}'w c c}*w # || _         w xY w)NÚverboseFÚmaxprecÚzeroprecÚinfprecr   r   é
   zENTERING hypercomb main loopzprec =ÚhextraÚhmagg333333Ó?z  Evaluating term %i/%i : %iF%iz
    powersz	    gammaz	    hyperz    zz
    Value:z  Cancellation:Úbitsz  Increased precision:é   r   z*  Must start over with increased precision)r   Úzeror   r   ÚgetÚ_default_hyper_maxprecÚ
ValueErrorÚ_hypercomb_msgÚprintr0   Ú_fixed_precisionr   ÚldexpÚoneÚrangeÚlenr
   ÚnstrÚfprodÚhyperÚgammaÚrgammaÚzipÚpowerr   ÚfsumÚmagÚmaxÚisnanÚinfÚmin)3r   ÚfunctionÚparamsr   ÚkwargsÚorigÚsumvalueÚdistr   Úorig_paramsr3   r4   r5   r6   Úperturbed_reference_valuer8   Úorig2r   r   r   r   r   r9   Úhr$   r)   r   Úevaluated_termsr   Ú	term_datar   r   r   r   r    r!   r"   ÚaÚbr%   ÚcÚvr*   Úterm_magnitudesÚmax_magnitudeÚsum_magnitudeÚcancellationÚprecision_okÚzero_okÚinf_okÚ	increments3                                                      r/   Ú	hypercombrl   :   s”  € à�8‰8€DØ�x‰x€HØ×Ñ€DØ�8‰8€DØ™�)€KØ�j‰j˜ EÓ*€GØ�j‰j˜ C×$>Ñ$>¸tÓ$DÓE€GØ€Fˆ9ÑØ�z‰z˜*Ó%€HØ�j‰j˜Ó#€GØ $ÐØ€FðwØØ�HŠH˜‰N�HØ�x‰x˜'Ò!Ü ¤°4¸¿¹Ð2BÑ!BÓCÐCØ—H‘HˆEØ ¡�^ˆFÙ˜fÐ%ˆEÙÜ”ÜÐ4Ô5Ü�h §¡Ô)Ü�h Ô'ä# C¨°Ð6IÓJñ 3ˆG�Y 	¨7à�HŠH˜	Ñ!�HÙØ˜VÑ#Ø! &™>‘DØ×)Ò)Ü˜sŸx™x¨™|Ó,‘Dà "™9 vÑ-�DØ—I‘I˜cŸg™g¨ uÓ-�Ø  2™:¨Ñ,¨rÑ1�”Üœs 6›{Ó+ò !�AØ˜1“I ‘N“Ið
 ˜˜A˜a™C™‘L‘Að!ñ Ù  &Ð)�Ù"Ü/8¸Ó/?×T¡) 1 dÀ1ÈGÒCSšÐT�ÑTÙØ—x‘xðd ˆ�ðc !ˆOÜ)2°5Ó)9ó *Ñ%�
˜IØ9BÑ6��S˜' 6¨3°°QÙÜ”GÜÐ;Ø# A™¤s¨5£z´3°s³8¼SÀ»XÐFñGô Hä˜,¨¯©°«°s·x±xÀ³}ÔEÜ˜+ s§x¡x°Ó'8¸#¿(¹(À6Ó:JÔKÜ˜+ s§x¡x°£}°c·h±h¸s³mÔDÜ˜' 3§8¡8¨A£;Ô/ð
 —I‘I˜y˜sŸy™y¨¨c°1Ñ?¸Ñ?Ð@Ø+2Ö3 a�S—Y‘Y˜q•\Ò3ñ4à,2Ö3 q�S—Z‘Z •]Ò3ñ4ô 25°S¸³×>©¨¨1�S—Y‘Y˜q •^Ó>ñ?ó @�ñ Ü˜,¨Ô*Ø×&Ñ& qÖ)ð)*ô, �5‹z˜QŠ©Ø*¨1Ñ-�Ùà×#Ò#ØŸ8™8 OÓ4�Ùà—x‘x Ó0ˆHØ3BÖC¨a˜sŸw™w q�zÐCˆOÐCÜ Ó0ˆMØŸG™G HÓ-ˆMØ(¨=Ñ8ˆLÙÜ”ÜÐ'¨°vÔ>ÜÐ.°·±¸4±ÀÔHà'¨#¯(©(°T©/Ñ9ˆLàÐØ‘à'¨#¯(©(Ñ2°h°YÑ>�ØˆØ‘à&¨Ñ0�á¡W°·±¸<Ô1HØÙØ,Ð4Ø˜b‘L�FØ08Ð-ÙØ—W‘W˜XÐ(AÑAÓBØŸ™ Ó)¨DÑ0ò1àÙØ"Ÿx™x�HØÙØ"Ÿw™w�HØØ˜vÑ%Øà˜a‘K�FØ08Ñ-ô  ¤ L°$¸±'Ó :¼CÀ	È$Ó<OÓP�	Ø—’˜IÑ%•ÙÜÐFÔGÙñi ðl ˆŒØˆ9Ðùók Uùò& 4ùÚ3ùÛ>ùò Døðb ˆ�ús^   ÂE(V& Ç=VÈ
VÈV& È&DV& Í VÍV& Í VÍ8V& ÎVÎ'A7V& ÐV!Ð6EV& ÖV& Ö&	V/c                 óÀ  — | j                  |«      }t        |«      }t        |«      }|D �cg c]  }| j                  |«      ‘Œ }}|D �cg c]  }| j                  |«      ‘Œ }}|j                  dd«      rt|j                  dd«      }	d}
|
|k  r[|rY||
   }||v rC|	s| j	                  |d   «      s-|j                  |«       |j                  |«       |dz  }|dz  }n|
dz  }
|
|k  r|rŒY|dk(  r0|dk(  r | j                  ||fi |¤ŽS |dk(  �r#| j                  |«      S |dk(  rQ|dk(  r | j                  |||fi |¤ŽS |dk(  r | j                  |||fi |¤ŽS |dk(  rÔ| j                  |d   d   |«      S |dk(  rh|dk(  r | j                  |||fi |¤ŽS |dk(  r | j                  |||fi |¤ŽS |dk(  r | j                  |||fi |¤ŽS |dk(  rd | j                  |||fi |¤ŽS ||dz   k(  r | j                  |||||fi |¤ŽS ||dz   kD  r(|j                  d	«      s | j                   |||||fi |¤ŽS t#        ||z   Ž \  }} | j$                  |||||fi |¤ŽS c c}w c c}w )
z0
    Hypergeometric function, general case.
    Ú	eliminateTÚeliminate_allFr   r   r   é   Úforce_series)ÚconvertrF   Ú_convert_paramr=   r   ÚremoveÚ_hyp0f1ÚexpÚ_hyp1f1Ú_hyp1f2Ú_hyp1f0Ú_hyp2f1Ú_hyp2f2Ú_hyp2f3Ú_hyp2f0Ú_hypq1fqÚ
_hyp_borelrL   Úhypsum)r   r    r!   r"   rV   ÚpÚqr`   ra   Úelim_nonpositiver)   ÚcoeffsÚtypess                r/   rI   rI   Â   s§  € ð
 	�‰�A‹€AÜˆC‹€AÜˆC‹€AØ*-Ö
. Qˆ3×Ñ˜aÕ Ð
.€CÐ
.Ø*-Ö
. Qˆ3×Ñ˜aÕ Ð
.€CÐ
.à‡z�z�+˜tÔ$Ø!Ÿ:™: o°uÓ=ÐØˆØ�!Še™Ø�A‘ˆAØ�C‰xÑ-°S·[±[ÀÀ1ÁÔ5FØ—
‘
˜1”Ø—
‘
˜1”Ø�Q‘�Ø�Q‘‘à�Q‘�ð �!Šešð 	ˆA‚vØ�!ŠV˜K˜CŸK™K¨¨QÑ9°&Ñ9Ð9Ø�!‹V˜CŸG™G A›JÐ&Ø	
ˆaŠØ�!ŠV˜K˜CŸK™K¨¨S°!Ñ>°vÑ>Ð>Ø�!ŠV˜K˜CŸK™K¨¨S°!Ñ>°vÑ>Ð>Ø�!ŠV˜CŸK™K¨¨A©¨q©	°1Ó5Ð5Ø	
ˆaŠØ�!ŠV˜K˜CŸK™K¨¨S°!Ñ>°vÑ>Ð>Ø�!ŠV˜K˜CŸK™K¨¨S°!Ñ>°vÑ>Ð>Ø�!ŠV˜K˜CŸK™K¨¨S°!Ñ>°vÑ>Ð>Ø�!ŠV˜K˜CŸK™K¨¨S°!Ñ>°vÑ>Ð>Ø	
ˆa�‰cŠØˆs�|‰|˜A˜q # s¨AÑ8°Ñ8Ð8Ø	
ˆQˆq‰SŠ˜Ÿ™ NÔ3Øˆs�~‰~˜a  C¨¨aÑ:°6Ñ:Ð:Ü˜#˜c™'�O�M€FˆEØˆ3�:‰:�a˜˜E 6¨1Ñ7°Ñ7Ð7ùòC /ùÚ
.s   ¬IÁ
Ic                 ó.   —  | j                   g |g|fi |¤ŽS ©N©rI   )r   ra   r"   rV   s       r/   Úhyp0f1r‰   í   s   € àˆ3�9‰9�R˜˜˜AÑ' Ñ'Ð'r1   c                 ó0   —  | j                   |g|g|fi |¤ŽS r‡   rˆ   ©r   r`   ra   r"   rV   s        r/   Úhyp1f1rŒ   ñ   s    € àˆ3�9‰9�a�S˜!˜˜QÑ( Ñ(Ð(r1   c                 ó2   —  | j                   |g||g|fi |¤ŽS r‡   rˆ   )r   Úa1Úb1Úb2r"   rV   s         r/   Úhyp1f2r‘   õ   s"   € àˆ3�9‰9�b�T˜2˜b˜' !Ñ- fÑ-Ð-r1   c                 ó2   —  | j                   ||g|g|fi |¤ŽS r‡   rˆ   )r   r`   ra   rb   r"   rV   s         r/   Úhyp2f1r“   ù   s"   € àˆ3�9‰9�a˜�U˜A˜3˜qÑ* 6Ñ*Ð*r1   c                 ó4   —  | j                   ||g||g|fi |¤ŽS r‡   rˆ   )r   rŽ   Úa2r�   r�   r"   rV   s          r/   Úhyp2f2r–   ý   s$   € àˆ3�9‰9�b˜�W˜b ˜W QÑ0¨Ñ0Ð0r1   c                 ó6   —  | j                   ||g|||g|fi |¤ŽS r‡   rˆ   )r   rŽ   r•   r�   r�   Úb3r"   rV   s           r/   Úhyp2f3r™     s&   € àˆ3�9‰9�b˜�W˜b  B˜Z¨Ñ3¨FÑ3Ð3r1   c                 ó0   —  | j                   ||gg |fi |¤ŽS r‡   rˆ   r‹   s        r/   Úhyp2f0r›     s    € àˆ3�9‰9�a˜�U˜2˜aÑ) &Ñ)Ð)r1   c                 ó6   —  | j                   |||g||g|fi |¤ŽS r‡   rˆ   )r   rŽ   r•   Úa3r�   r�   r"   rV   s           r/   Úhyp3f2rž   	  s&   € àˆ3�9‰9�b˜˜B�Z  B ¨Ñ3¨FÑ3Ð3r1   c                 ó   — d|z
  | z  S ©Nr   © )r   r`   r"   s      r/   ry   ry     s   € àˆa‰C�a�R‰=Ðr1   c                 óJ  ‡ ‡‡	— |\  \  Š	}‰r‰ j                  ‰«      }nd}|dk\  rÅ|j                  d«      s´	 ‰ j                  }	 ‰ xj                  d|dz  z   z  c_        ˆ	ˆ ˆfd„}‰ j                  |g d¬«      }‰ j	                  ‰	«      d‰ j                  ‰ j                  «      z  z  |z  }|‰ _        ‰ j                  ‰	«      r"‰ j                  ‰«      r‰ j                  |«      }|­S  ‰ j                  dd	|f‰	g‰fi |¤ŽS # |‰ _        w xY w# ‰ j                  $ r Y Œ6w xY w)
Nr   é   rq   é   r   c                  óL  •— ‰j                  ‰	 «      } ‰j                  | z  }dd|z  z  }‰j                  ‰z
  }‰j                  d|z  «      }| |g|dgg g ‰‰j                  z
  ‰j                  ‰z
  gg | f}||g|dgg g ‰‰j                  z
  ‰j                  ‰z
  gg |f}||fS )Nr   é   r   éÿÿÿÿ)ÚsqrtÚjÚmpq_1_2rv   Úmpq_3_2)
r%   Újwr.   rb   ÚEÚT1ÚT2ra   r   r"   s
          €€€r/   r]   z_hyp0f1.<locals>.h!  s¾   ø€ ØŸ™ ! ›�AØŸ™˜q™�BØ˜1˜R™4™�AØŸ™ a™�AØŸ™  "¡›�AØ˜3˜q˜' A b 6¨2¨r°A°c·k±k±MÀ3Ç;Á;ÈqÁ=Ð3QÐSUÐXYÐWYÐZ�BØ˜a˜& 1 Q %¨¨R°!°C·K±K±-ÀÇÁÈQÁÐ1OÐQSÐUVÐW�BØ˜r˜6�Mr1   T©rq   r   )rO   r=   r   rl   rJ   r¨   ÚpiÚ_is_real_typeÚ_reÚNoConvergencer€   )
r   r!   r"   rV   ÚbtypeÚmagzrW   r]   rc   ra   s
   ` `      @r/   ru   ru     s"  ú€ à�K�J€QˆÙØ�w‰w�q‹z‰àˆØˆq‚y˜Ÿ™ NÔ3ð	ð
 —8‘8ˆDð Ø—’˜B  q¡™LÑ(•ö"ð —M‘M ! R°d�MÓ;�Ø—I‘I˜a“L ! C§H¡H¨S¯V©VÓ$4Ñ"4Ñ5°aÑ7�à�”Ø× Ñ  Ô#¨×(9Ñ(9¸!Ô(<Ø—G‘G˜A“J�Ø�2ˆIð ˆ3�:‰:�a˜˜U˜H q c¨1Ñ7°Ñ7Ð7øð  �•ûð × Ñ ò 	Ùð	ús*   ¸D ÁA)D Â.<D Ä	DÄD ÄD"Ä!D"c                 ó¤  ‡ ‡‡— |\  \  }}|\  \  }}‰s‰ j                   ‰z   S ‰ j                  ‰«      }	|	dk\  �r5‰ j                  |«      r‰ j                  |«      dk  �s‰ j	                  ‰«      rZ‰ j                  |«      ‰ j                  |«      cxk(  r%‰ j                  ‰«      cxk(  rdk(  r‰ j                  S  ‰ j                  ‰z  S 	 	 ‰ xj                  |	z  c_        ‰ j                  ‰«      dk  Šˆ ˆˆfd„}
‰ j                  |
||gd¬«      }‰ j                  |«      r3‰ j                  |«      r"‰ j                  ‰«      r‰ j                  |«      }|­‰ xj                  |	z  c_        S  ‰ j                  dd||f||g‰fi |¤Ž}|S # ‰ j                  $ r Y nw xY w	 ‰ xj                  |	z  c_        ŒI# ‰ xj                  |	z  c_        w xY w)Né   r   r   c                 ó  •— ‰r#‰j                  ‰j                  | d¬«      «      }n‰j                  | «      }d‰z  }|‰gd|  g|g|| z
  g| d| z   |z
  gg | f}‰j                  ‰«      ‰gd| |z
  g|g| g|| z
  d| z
  gg |f}||fS ©NT)Úexactr   )ÚexpjpiÚfnegrv   )	r`   ra   r­   Úrzr®   r¯   r   Úsectorr"   s	         €€€r/   r]   z_hyp1f1.<locals>.hE  s¬   ø€ ÙØŸJ™J s§x¡x°¸ xÓ'>Ó?™àŸJ™J q›M˜Ø˜1™�BØ˜Q˜% ! Q B ¨!¨¨q°©s¨e°a¸¸1¹¸Q¹°ZÀÀbÀSÐI�BØŸ7™7 1›: a˜.¨1¨Q¨q©S¨'°A°3¸¸¸aÀ¹cÀ1ÀQÁ3¸ZÈÈRÐP�BØ˜r˜6�Mr1   Tr°   )rD   rO   Úisintr   ÚisinfÚsignrR   Únanr   Ú_imrl   r²   r³   r´   r€   )r   r    r!   r"   rV   r`   Úatypera   rµ   r¶   r]   rc   r¿   s   `  `        @r/   rw   rw   5  sž  ú€ à�K�J€QˆØ�K�J€QˆÙØ�w‰w�q‰yÐØ�7‰7�1‹:€DØˆqƒy˜#Ÿ)™) Aœ,¨3¯6©6°!«9¸«>Ø�9‰9�QŒ<Ø�x‰x˜‹{˜cŸh™h q›kÔ=¨S¯X©X°a«[Ô=¸AÒ=Ø—w‘w�ð >à—7‘7˜Q‘;Ðð	ðØ—’˜DÑ •ØŸ™ › a™�ö"ð —M‘M ! a¨ U¸�MÓ>�Ø×$Ñ$ QÔ'¨C×,=Ñ,=¸aÔ,@ÀS×EVÑEVÐWXÔEYØŸ™ ›
�AØ�rð �HŠH˜ÑŽHØˆ�
‰
�1�a˜% ˜¨!¨Q¨°Ñ=°fÑ=€AØ€Høð ×$Ñ$ò ÙðúØà�HŠH˜ÑŽHøˆC�HŠH˜ÑŽHús%   ÃBF ÆFÆF8 ÆFÆF8 Æ8Gc                 ó   — ||||f\  }}}}	| j                   }
|j                  dd|
z  «      }d}	 |
|z   | _         | j                  |	«      }| j                  d«      }| j                  d«      }| j                  d«      }d}||z  |z  }|| j                  z  }|dz   | j                  z  }d|z
  }||z  }||z  |z  }||z
  |z
  }|dz
  }| j                    dz
  }| j
                  }| j                  }| j                  }| j                  }	 ||z   }||z   ||z   z  |z  d|dz   z  |z  ||z   z  z  }||||z   |z  |z  z
  z  } |||z  ||z   |z  z   z  }!||||z  ||z  z   |z
  z  |z
  z  d|z  |z  z  }"||z   |"z
  }#t        | ||#«      «      } ||#|z
  «      |k  rn| |!|#}}}|dz  }Œœ| ||#«      z
  }$|$|k  r	 |#S ||$z  }||kD  r| j                  ‚�Œ )Nr4   éd   r7   r   r   r   r¦   )r   r=   rr   Úmpfrª   rG   ÚnprintrO   r   rP   r´   )%r   r`   ra   rb   r"   rV   Ú_aÚ_bÚ_cÚ_zrW   r4   Úextrar,   ÚeÚfr$   ÚabzÚchÚc1hÚnzÚgÚabgÚcbaÚz2ÚtolrG   rÉ   rO   ÚmaxmagÚkchÚkakbzÚd1Úe1ÚftÚf1rg   s%                                        r/   Ú_hyp2f1_gosperrá   Y  sK  € ð �Q˜˜1�*�K€B€rˆ"ˆRØ�8‰8€DØ�j‰j˜ C¨¡HÓ-€GØ€EØ
Ø˜%‘<ˆŒð �K‰K˜‹OˆØ�G‰G�A‹JˆØ�G‰G�A‹JˆØ�G‰G�A‹JˆØˆð �‰c�!‰eˆØ�—‘‰_ˆØ�‰s�c—k‘kÑ!ˆØˆq‰SˆØˆb‰DˆØ�‰c�!‰eˆØ�‰c�!‰eˆØˆq‰SˆØ�x‰xˆi˜"‰nˆØ�x‰xˆØ—‘ˆØ�g‰gˆØ—‘ˆØØ�B‘$ˆCØ�q‘S˜1˜Q™3‘K ‘M Q¨¨!©¡W¨S¡[°!°C±%Ñ%8Ñ9ˆEØ˜˜1˜S™5 !™) A™+™Ñ&ˆBØ˜˜#™˜q ™s A™g™Ñ&ˆBØ�A�s˜1‘u˜Q˜r™T‘z !‘|Ñ$ SÑ(Ñ)¨1¨S©5°©8Ñ4ˆBØ�Q‘˜‘ˆBÜ˜¡ R£Ó)ˆFÙ�2�a‘4‹y˜3ŠØØ˜"˜b�!ˆqˆAØ�‰FˆAð ð ¡ B£Ñ'ˆØ˜%ÒØð
 €Ið �\Ñ!ˆEØ�wŠØ×'Ñ'Ð'ñY r1   c                 óÎ  ‡ ‡‡— |\  \  }}\  }}|\  \  Š}	‰dk(  �r
‰ j                  ‰|z
  |z
  «      dkD  }
‰ j                  |«      xr |dk  xs ‰ j                  |«      xr |dk  }‰ j                  ‰«      xrP ‰dk  xrI ‰ j                  |«      xr ‰|cxk  xr dk  nc xs# ‰ j                  |«      xr ‰|cxk  xr dk  nc  }|
s|r&|s$‰ j                  ‰‰|z
  |z
  g‰|z
  ‰|z
  gd¬«      S ‰ j                  ||‰d‰ j                  dz  z
  «      ‰ j
                  z  S ‰s‰s
|dk(  s|dk(  rd‰z   S ‰ j                  S ‰ j                  ‰«      rZ‰dk  rU‰ j                  |«      r‰|cxk  rdk  s,n ‰ j                  |«      r‰|cxk  rdk  rn ‰ j
                  S n‰ j
                  S t        ‰«      }|dk  s6‰ j                  |«      r
|dk  r|dk\  s‰ j                  |«      r'|dk  r"|dk\  r ‰ j                  dd|||	f||‰g‰fi |¤ŽS ‰ j                  }	 ‰ xj                  dz  c_	        |d	k\  rˆˆ ˆfd
„} ‰ j                  |||gfi |¤Ž}nyt        d‰z
  «      dk  rˆˆfd„} ‰ j                  |||gfi |¤Ž}nKt        ‰‰dz
  z  «      dk  r'‰ j                  |‰|z
  ‰‰‰dz
  z  «      d‰z
  |z  z  }nt        ‰ ||‰‰fi |¤Ž}|‰ _	        |­S # |‰ _	        w xY w)Nr   r   T)Ú_infsignr   gš™™™™™é?iüÿÿr7   gÍÌÌÌÌÌô?c                 óÜ   •— ‰j                   ‰z
  }| |z
  }d‰	z  }‰	 g|  g‰| g|‰| z
  g| || z   g‰j                   |z   g|f}‰	 g| g‰|g| ‰|z
  g|||z   g‰j                   |z
  g|f}||fS r    )Úmpq_1)
r`   ra   ÚtÚabr¾   r®   r¯   rb   r   r"   s
          €€€r/   r]   z_hyp2f1.<locals>.hÃ  sŸ   ø€ Ø—I‘I˜a‘K� a¨¡c °°!±¨2Ø�r�d˜Q˜B˜4 ! R C ¨!¨A¨a©C¨°1°Q°q±S°'¸3¿9¹9ÀR¹<¸.È2ÐN�Ø�r�d˜Q˜B˜4 ! B ¨¨1¨Q©3¨°!°A°a±C°¸#¿)¹)ÀB¹,¸È"ÐM�Ø˜2�v�r1   g      è?c                 ó–   •— ‰| z
  |z
  }‰| z
  }‰|z
  }d‰	z
  }g g ‰|g||g| |gd|z
  g|f}|g|g‰| |z   ‰z
  g| |g||gd|z   g|f}||fS r    r¡   )
r`   ra   ræ   ÚcaÚcbr¾   r®   r¯   rb   r"   s
           €€r/   r]   z_hyp2f1.<locals>.hÌ  s‰   ø€ Ø�a‘C˜‘E�  !¡˜2¨!¨A©# R°A°a±C¨rØ˜˜a ˜U R¨ G¨a°¨U°Q°q±S°E¸2Ð=�Ø�T˜A˜3  1 Q¡3 q¡5 	¨A¨a¨5°2°b°'¸A¸a¹C¸5À"ÐD�Ø˜2�v�r1   )r   rÀ   Ú	gammaprodr“   ÚepsrR   rÃ   Úabsr€   r   rl   rá   )r   r    r!   r"   rV   r`   rÅ   ra   rµ   ÚctypeÚ
convergentÚfiniteÚzerodivÚabszrW   r]   rc   rb   s   `  `             @r/   rz   rz   �  s  ú€ à Ñ�J€Qˆ‘
��EØ�K�J€QˆØˆAƒvà—V‘V˜A˜a™C ™E“] QÑ&ˆ
Ø—)‘)˜A“,Ò) 1¨¡6ÒG¨s¯y©y¸«|Ò/FÀÀQÁˆØ—)‘)˜A“,ò O 1¨¡6ò OØ�i‰i˜‹lÒ*˜q Až{¨œ{ÒM°·	±	¸!³Ò0LÀÀaÆÈ1Äð/Oˆñ ™&©'Ø—=‘= ! Q q¡S¨¡U ¨a°©c°1°Q±3¨ZÀ$�=ÓGÐGð �z‰z˜!˜A˜a  #§'¡'¨!¡)¡Ó,¨s¯w©wÑ6Ð6ñ ñ ��Q’˜!˜qš&Ø�Q‘3ˆJà�w‰wˆð ‡y�y�„|˜˜QšØ�I‰I�aŒL˜Q !œ[ qœ[Ø�I‰I�aŒL˜Q !œ[ qœ[ð —7‘7ˆNð ð —7‘7ˆNäˆq‹6€Dð ˆs‚{�s—y‘y ”|¨¨Qª°1¸²:Ø—y‘y ”|¨¨Qª°1¸²:Øˆs�z‰z˜!˜Q ¨¨uÐ 5¸¸1¸a°yÀ!ÑNÀvÑNÐNà�8‰8€DðØ�Š�B‰�ð �3Š;öð
 �—‘˜a ! A Ñ1¨&Ñ1‰Aô ��1‘‹X˜Òõð
 �—‘˜a ! A Ñ1¨&Ñ1‰Aô ��A�a‘C‘‹\˜TÒ!Ø—
‘
˜1˜a ™c 1 a¨¨1©¡gÓ.°!°A±#¸±Ñ9‰Aô ˜s 1 Q q¨Ñ4¨VÑ4ˆAð ˆŒØˆ2€Iøð ˆ�ús   È B1K Ë	K$c           
      ó°  ‡ ‡‡‡‡‡‡‡‡‡‡‡‡ — t        ‰Ž \  Š}t        ‰Ž \  Š}t        ‰«      Št        ‰«      Št        ‰«      }	d}
‰D ]  }‰ j                  |«      sŒ|dk  sŒd}
 n |	dk  s|
r	  ‰ j                  ‰‰||z   ‰‰z   ‰fi |¤ŽS ‰dk(  rM‰ j                  t        ‰«      t        ‰«      z
  «      }|dk  r" ‰ j                  ‰‰dfi |¤Ž‰ j                  z  S ‰‰fdk(  r´t        ‰dz
  «      dk  r£‰\  ŠŠŠ‰\  ŠŠ‰‰z   ‰z
  }‰ j                  ‰‰z
  ‰‰z
  ‰‰g‰‰z
  ‰‰z
  d|g«      }d|ifˆˆˆˆˆˆ ˆfd	„	Š 	 ‰ j                  ‰ d‰ j                  g|j                  d
«      |j                  dd«      ¬«      }|‰ j                  ‰‰g‰‰‰g«      z  S |	dk  r‘‰ j                  ‰«      dk  r}d‰ j                  ifˆˆˆ ˆˆˆ ˆfd„	Š |j                  dd«      }	 ‰ j                  ‰ d‰ j                  g|j                  d
«      |j                  dd«      |j                  dd«      ¬«      S ˆ ˆˆˆfd„} ‰ j.                  |‰‰z   fi |¤ŽS # ‰ j
                  $ r |	dkD  s|
r‚ Y �ŒÜw xY w# ‰ j
                  $ r Y Œäw xY w# ‰ j
                  $ r d|vr‚ Y nw xY w|j                  d
«      rt!        d«       	 ˆˆˆ ˆfd„Šˆˆˆ ˆfd„}‰ j"                  dz  }‰ j$                  }	 d‰ j&                  z  }‰ xj$                  dz  c_        t)        d«      D ]ª  }‰ j+                  ˆ fd„t)        |«      D «       «      }‰ j-                  ‰ |‰ j                  g| ||«      |j                  d
«      dd¬«      \  }}||k  r||z   } n?|dz  }‰ xj$                  ‰ j$                  dz  z  c_        |dk(  sŒ›‰ j                  d«      ‚ |‰ _        ­S # |‰ _        w xY w) z&
    Evaluates 3F2, 4F3, 5F4, ...
    Fr   Tr   gš™™™™™ñ?gÍÌÌÌÌÌì?)rp   r   gš™™™™™©?c                 óÀ   •— ‰‰z   ‰z
  | z   }| |v r||    }n2|| dz
     }|‰| z   ‰z
  dz
  ‰| z   ‰z
  dz
  z  z  }|| |dz
  z  z  }||| <   |‰	j                  ‰‰|‰
«      z  S r    )r“   )r$   Ú_cacher.   ræ   rŽ   r•   r�   r�   r�   r   r"   s       €€€€€€€r/   r   z_hypq1fq.<locals>.term  sŒ   ø€ Ø�2‘�b‘˜‘
ˆAØ�F‰{Ø˜1‘I‘à˜1˜Q™3‘K�Ø�b˜‘d˜2‘g˜a‘i " Q¡$ r¡'¨!¡)Ñ,Ñ,�Ø�Q˜˜!™‘W‘�Ø��q‘	Ø�s—z‘z " R¨¨!Ó,Ñ,Ð,r1   r3   Ústrict)r3   rö   c                 ó¤  •— t        | «      }|| k7  r`‰‰
j                  | «      z  ‰
j                  | «      z  }‰D ]  }|‰
j                  || «      z  }Œ ‰	D ]  }|‰
j                  || «      z  }Œ |S ||v r||   S  ‰|dz
  «      }|dz
  }t	        ‰«      D ]  }|‰|   |z   z  }Œ t	        ‰«      D ]  }|‰	|   |z   z  }Œ |‰z  }||z  }|||<   |S r    )r   rÈ   ÚfacÚrfr   )Úkkrõ   r$   ræ   r`   ra   Úmr©   r    r!   r   r�   r‚   r   r"   s           €€€€€€€r/   r   z_hypq1fq.<locals>.term'  sø   ø€ Ü�B“ˆAØ�BŠwØ˜Ÿ™ ›Ñ$ s§w¡w¨r£{Ñ2�ØÒ/�A˜a 3§6¡6¨!¨B£<Ñ/™aÐ/ØÒ/�A˜a 3§6¡6¨!¨B£<Ñ/™aÐ/Ø�Ø�F‰{Ø˜a‘yÐ Ù�Q�q‘S“	ˆAØ�!‘ˆAÜ˜A“YÒ/�  c¨!¡f¨Q¡h¡¡Ð/Ü˜A“YÒ/�  c¨!¡f¨Q¡h¡¡Ð/Ø�‰FˆAØ�‰FˆAØˆF�1‰IØˆHr1   Ú
sum_methodzr+s+erÏ   Ú )r3   rö   Úmethodz$Attempting Euler-Maclaurin summationc              3   óF  •‡ ‡K  — ‰dgz   }t        ˆˆ fd„‰D «       «      t        ˆˆ fd„|D «       «      z
  ‰ ‰j                  ‰«      z  z   –— dŠ	 t        ˆˆˆ fd„‰D «       «      t        ˆˆˆ fd„|D «       «      z
  }‰dk(  r|‰j                  ‰«      z  }|–— ‰dz  ŠŒP­w)Nr   c              3   óF   •K  — | ]  }‰j                  |‰z   «      –— Œ y ­wr‡   ©Úloggamma)Ú.0r`   r   Úk0s     €€r/   ú	<genexpr>z._hypq1fq.<locals>.log_diffs.<locals>.<genexpr>i  s   øè ø€ Ò6¨Q�c—l‘l 1 R¡4×(Ñ6ùó   ƒ!c              3   óF   •K  — | ]  }‰j                  |‰z   «      –— Œ y ­wr‡   r  )r  ra   r   r  s     €€r/   r  z._hypq1fq.<locals>.log_diffs.<locals>.<genexpr>j  s   øè ø€ Ò3¨1�C—L‘L  2¡×&Ñ3ùr  r   c              3   óH   •K  — | ]  }‰j                  ‰|‰z   «      –— Œ y ­wr‡   ©Úpsi)r  r`   r   r)   r  s     €€€r/   r  z._hypq1fq.<locals>.log_diffs.<locals>.<genexpr>m  s   øè ø€ Ò5¨A˜Ÿ™  ! B¡$ŸÑ5ùó   ƒ"c              3   óH   •K  — | ]  }‰j                  ‰|‰z   «      –— Œ y ­wr‡   r	  )r  ra   r   r)   r  s     €€€r/   r  z._hypq1fq.<locals>.log_diffs.<locals>.<genexpr>n  s   øè ø€ Ò4¨A˜Ÿ™  ! B¡$ŸÑ4ùr  )r   Úlog)r  r�   rc   r)   r    r!   r   r"   s   `  @€€€€r/   Ú	log_diffsz_hypq1fq.<locals>.log_diffsg  s¤   úè ø€ Ø˜�s‘ˆBÜÔ6°#Ô6Ó6ÜÔ3°Ô3Ó3ñ4Ø68¸¿¹À»±mñDò DàˆAØÜÕ5°Ô5Ó5ÜÕ4°Ô4Ó4ñ5�à˜’6Ø˜Ÿ™ ›‘O�AØ’Ø�Q‘�ð ùs   …BB!c              3   óÈ   •K  — ‰j                  ‰D �cg c]  }|‘Œ c}‰D �cg c]  }|‘Œ c}«      }‰j                   ‰	| «      «      D ]  }||z  }|–— Œ y c c}w c c}w ­wr‡   )rë   Ú	diffs_exp)
r  ra   r`   ÚCr,   rc   r    r!   r   r  s
         €€€€r/   Úhyper_diffsz_hypq1fq.<locals>.hyper_diffst  s_   øè ø€ Ø—‘¨#Ö. QšqÒ.¸CÖ0@°q²Ò0@ÓAˆAØ—]‘]¡9¨R£=Ó1ò �Ø˜‘E�Ø“ñùò /ùÒ0@ùs   ƒA"“	AœA"¢	A
«7A"i   é2   r;   é   c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr‡   r¡   )r  r$   r   s     €r/   r  z_hypq1fq.<locals>.<genexpr>€  s   øè ø€ Ò?¨A¡ Q§Ñ?ùs   ƒ)rÙ   Úadiffsr3   ÚerrorÚ_fast_abortr   r¦   z*Euler-Maclaurin summation did not convergec            
      ó`  •— t        | d ‰ «      }t        | ‰d  «      }g }‰j                  ‰z  }‰j                  ‰d¬«      }t        ‰dz   «      D ]Ç  }||   }|g}| g}	||gz   t        ‰dz   «      D �
cg c]  }
|
|k7  sŒ	||
   |z
  ‘Œ c}
z   }|t        ‰«      D �
cg c]
  }
||
   |z
  ‘Œ c}
z   }|gt        ‰«      D �
cg c]  }
|||
   z
  dz   ‘Œ c}
z   }t        ‰dz   «      D �
cg c]  }
|
|k7  sŒ	d||
   z
  |z   ‘Œ }}
|j	                  ||	|||||f«       ŒÉ |S c c}
w c c}
w c c}
w c c}
w rº   )ÚlistrD   r½   rE   r   )Úargsr    r!   ÚTsÚreczÚnegzr$   Úakr  ÚCpr©   ÚGnÚGdÚFnÚFdr   r�   r‚   r"   s                  €€€€r/   r]   z_hypq1fq.<locals>.h—  sL  ø€ Ü�4˜˜�8‹nˆÜ�4˜˜�8‹nˆØˆØ�w‰w�q‰yˆØ�x‰x˜ ˆxÓ&ˆÜ�q˜‘s“ò 	5ˆAØ�Q‘ˆBØ�ˆAØ�#�ˆBØ˜�t‘´%¸¸!¹³*ÖG¨QÀÀQÃ˜s 1™v b›yÒGÑGˆBØ¬5°«8Ö4 a˜˜A™˜r›	Ò4Ñ4ˆBØ�¬e°A«hÖ7¨˜˜C ™F™ 1›Ò7Ñ7ˆBÜ',¨Q¨q©S£zÖ< !°Q¸!³V�!�C˜‘F‘(˜2“+Ð<ˆBÐ<Ø�I‰I�q˜"˜b " b¨"¨dÐ3Õ4ð	5ð ˆ	ùò HùÚ4ùÚ7ùÚ<s$   Á4
DÁ?
DÂD!Â?D&Ã&
D+Ã1D+)rL   r  rí   rÀ   r€   r´   r   r   rI   rR   rë   Únsumr=   r³   rD   ÚreplacerA   rì   r   Údpsr   rN   Úsumemrl   )!r   r�   r‚   r    r!   r"   rV   Úa_typesÚb_typesrò   Úispolyr`   ÚSr.   Úinitialrü   r  rÙ   r   Útruncr)   ÚheadÚtailÚerrrc   r]   rŽ   r•   r�   r�   r�   r  r   s!   ``````                    @@@@@@@r/   r~   r~   ß  s  ÿü€ ô
 ˜�9�L€CˆÜ˜�9�L€CˆÜ
ˆs‹)€CÜ
ˆs‹)€CÜˆq‹6€DØ€FØò ˆØ�9‰9�Q�<˜A ›FØˆFÙðð
 ˆa‚x‘6ð	Ø�3—:‘:˜a  G¨G¡O°S¸±W¸aÑJÀ6ÑJÐJð& 	ˆA‚vð �F‰F”3�s“8œC ›HÑ$Ó%ˆØ�Š6à�3—9‘9˜S # sÑ5¨fÑ5¸¿¹Ñ?Ð?Ø	ˆ!€u�‚~œ#˜a ™c›( Tš/à‰ˆˆ2ˆbØ‰ˆˆ2Øˆr‰E�"‰HˆØ—-‘-  B¡ r¨"¡u¨R°Ð 3°R¸±U¸2¸b¹5ÀÀ1Ð4EÓFˆØ˜g˜;÷ 		-ó 		-ð	Ø—‘˜  #§'¡'˜{°F·J±J¸yÓ4IØ—z‘z (¨DÓ1ð ó 3ˆAà�s—}‘} b¨ W¨b°°B¨ZÓ8Ñ8Ð8ð ˆc‚z�c—g‘g˜a“j A’oà˜sŸw™w˜K÷ 	ó 	ð$ —Z‘Z ¨gÓ6ˆ
ð	Ø—8‘8˜D 1 S§W¡W +°v·z±zÀ)Ó7LØ—z‘z (¨DÓ1Ø!×)Ñ)¨#¨bÓ1ð ó 3ð 3÷vð  ˆ3�=‰=˜˜C ™GÑ. vÑ.Ð.øðk × Ñ ò 	Ø�cŠz™VØò $ð	ûðZ × Ñ ò 	Ùð	ûð@ × Ñ ò 	Ø˜*Ñ$ØÙð	úð
 �:‰:�iÔ ÜÐ8Ô9ð	÷>	÷	ð �g‰g˜‰nˆØ�x‰xˆð	Ø˜Ÿ™‘LˆEØ�HŠH˜‰N�HÜ˜A“Yò F�Ø—x‘xÓ?´¸³Ô?Ó?�ØŸI™I d¨U°C·G±GÐ,<À#Ù& uÓ-Ø"ŸJ™J yÓ1ØØ $ð	 &ó &‘	��cð
 ˜’9Ø˜t™�AÙØ˜‘
�ð —’˜CŸH™H a™KÑ'•Ø˜“6Ø×+Ñ+ØDóFð FðFð$ ˆCŒHØˆrˆ	øð ˆC�HúsK   Á1I ÅAI. Ç AJ ÉI+É*I+É.J É?J ÊJÊJË&C	O Î0O Ï	Oc                 óŠ  ‡ ‡‡‡‡— ‰rt        ‰Ž \  Š}t        ‰«      Šng dcŠ}‰rt        ‰Ž \  Š}t        ‰«      Šng dcŠ}|j                  d‰ j                  «      |d<   	  ‰ j                  ||||z   ‰‰z   ‰fi |¤ŽS # ‰ j
                  $ r Y nw xY w‰ j                  }		 |j                  d‰ j                  dz  «      }
‰ xj                  dz  c_        d‰ j                  ifˆˆˆˆfd„	Š‰ j                  }t        d‰ j                  «      D ](  } ‰|«      }||z  }t        |«      |
k  sŒ|c |	‰ _        S  	 |	‰ _        n# |	‰ _        w xY w||d	z   k  rä|j                  d
«      }|s~‰ j                  ‰«      dk  r\‰t        dt        ‰«      «      z  }‰ j                  ‰«      dk\  rddd|z  d|z  ‰ j                  g}n&ddd|z  d|z  ‰ j                  g}nd‰ j                  g}|j                  di «      }ˆˆˆ ˆfd„} ‰ j                  ||fddi|¤Ž\  }}|t        |«      ‰ j                  z  dz  k  r|S ‰ j
                  ‚)Nr¡   ÚmaxtermsÚ	asymp_tolr¦   r7   r   c                 ó–   •— | |v r||    S  ‰| dz
  «      }‰D ]  }||| dz
  z   z  }Œ ‰D ]  }||| dz
  z   z  }Œ |‰z  }|| z  }||| <   |S r    r¡   )	r$   Úcacheræ   r`   ra   r    r!   r   r"   s	        €€€€r/   r   z_hyp_borel.<locals>.term¿  sv   ø€ Ø�E‰zØ˜Q‘x�Ù�Q�q‘S“	ˆAØÒ(�˜!  1 Q¡3¡™.™!Ð(ØÒ(�˜!  1 Q¡3¡™.™!Ð(Ø�‰FˆAØ�‰FˆAØˆE�!‰HØˆHr1   r   rp   Úcontourg      Ð?y               @y       @       @r   y       €       Ày       @       ÀÚquad_kwargsc                 ó^   •— ‰j                  |  «      ‰j                  ‰‰dgz   | ‰z  «      z  S r    )rv   rI   )ræ   r    r!   r   r"   s    €€€€r/   rÕ   z_hyp_borel.<locals>.gà  s/   ø€ Ø—7‘7˜A˜2“;˜sŸy™y¨¨c°1°#©g°q¸±sÓ;Ñ;Ð;r1   r  Tr£   )rL   r  r=   r   r€   r´   rì   rD   r   rí   ÚargrP   rR   Úquad)r   r�   r‚   r    r!   r"   rV   r)  r*  r   rÙ   Úsr$   ræ   r7  r.   r8  rÕ   ÚIr1  r   s   `  ```              @r/   r   r   ©  sC  ü€ á
Ü˜C�y‰ˆˆWÜ�3‹i‰à˜2ˆˆˆWÙ
Ü˜C�y‰ˆˆWÜ�3‹i‰à˜2ˆˆˆWØŸ™ J°·±Ó9€Fˆ:ÑðØˆs�z‰z˜!˜Q ¨¡°°S±¸!ÑF¸vÑFÐFøØ×Ñò Ùðúà�8‰8€DðØ�j‰j˜ c§g¡g¨a¡iÓ0ˆØ�Š�B‰�à˜SŸW™W˜+÷ 		ð 		ð �G‰GˆÜ˜˜3Ÿ8™8Ó$ò 	ˆAÙ�Q“ˆAØ�‰FˆAÜ�1‹v˜‹}Ø‘àˆ�ñ	ð ˆ�ø�4ˆ�úØˆAˆa‰C‚xØ—*‘*˜YÓ'ˆÙØ�w‰w�q‹z˜DÒ Øœ˜Aœs 1›v›Ñ&�Ø—7‘7˜1“: ’?Ø  " t¨Q¡h°°!±°S·W±WÐ=‘Gà  #¨¨q¡y°!°A±#°s·w±wÐ?‘Gð
 ˜cŸg™g˜,�Ø—j‘j °Ó3ˆ÷	<à�—‘˜!˜WÑ@¨DÐ@°KÑ@‰ˆˆ3Ø”#�a“&˜Ÿ™‘. Ñ"Ò"ØˆHØ
×
Ñ
Ðs+   Á"A? Á?BÂBÂ!B
E Ä,E Ä7E Å	E
c           	      ó^  ‡ ‡— |\  \  }}\  }}|\  \  }	}
\  }}t        ‰«      }‰ j                  ‰«      }‰ j                  }|}|j                  d«       xr ‰ j                  |«      dkD  }|ry	 	 ‰ xj                  |z  c_        ˆ ˆfd„}‰ j	                  ||||	|gdd‰ j                  z  ¬«      }t        ˆ fd„|||	|‰fD «       «      dk(  r‰ j                  |«      }||‰ _        S  ‰ j                  d	d	|||
|f|||	|g‰fi |¤ŽS # ‰ j                  $ r Y nw xY w	 |‰ _        Œ=# |‰ _        w xY w)
Nrq   rp   c                 ó¦  •— | |z   |z
  |z
  }| |z   }||z   }i }‰j                   |d<   |dz
  |z  ||z  z   | |z  z
  |d<   d}d}	d}
	 |	|vr”d|z
  d| z  z   | dz  z   d|z  z   |dz  z   ||z  z
  | |z  z   ||z  z   d|z  d|dz   z  z
  |	z  z   d|	dz  z  z   }|	|z
  |z   dz
  |	|z
  |z   dz
  z  |	|z
  dz
  z  }‰j                   |	z  |||	dz
     z  |||	dz
     z  z
  z  ||	<   ||	   ‰|	 z  z  }t        |«      d‰j                  z  k  rn8|	dkD  r&t        |
«      t        |«      z  dk  r‰j                  ‚||z  }|}
|	dz  }	Œø‰j	                  ‰«      |z  }‰|g|dg||g| |gg g df}‰ g|  g|||| z
  g||| z
  || z
  g| | |z
  dz   | |z
  dz   g| |z
  dz   gd‰z  f}‰ g| g||| |z
  g| ||z
  ||z
  g|||z
  dz   ||z
  dz   g|  |z   dz   gd‰z  f}|||fS )	Nr   r   r   rp   çš™™™™™¹?r  ç      ø?r§   )rD   rí   rì   r´   rv   )rŽ   r•   r�   r�   ÚXÚA2ÚB2rb   Ús1r$   ÚtprevÚuu1Úuu2Út1r,  r®   r¯   ÚT3r   r"   s                     €€r/   r]   z_hyp2f2.<locals>.h  sÎ  ø€ Ø˜2™˜b™ ™�AØ˜B™�BØ˜B™�BØ�AØŸ7™7�A�a‘DØ˜q™D !™8 B r¡E™>¨"¨R©%Ñ/�A�a‘DØ�BØ�AØ�EØØ A™:Ø"# B¡$ q¨¡t¡)¨B°©E¡/°!°B±$Ñ"6°r¸1±uÑ"<¸RÀ¹UÑ"BÀ2ÀbÁ5Ñ"HÈÈBÉÑ"NÐPQÐRTÑPTÐUVÐXZÐ[\ÑX\ÑU]ÑP]Ð_`ÑO`Ñ"`ÐabÐcdÐfgÑcgÑagÑ"g˜CØ#$ R¡4¨¡7¨1¡9¨q°©t°B©w°q©yÑ"9¸1¸Q¹3¸q¹5Ñ"A˜CØ#&§7¡7¨1¡9°°A°a¸±c±F±
¸3¸qÀÀ1Á¹v¹:Ñ0EÑ#F˜A˜a™DØ˜q™T A¨¨¡G™^˜Ü˜r›7 S¨¯©¡[Ò0à!à˜qš5¤S¨£Z´#°b³'Ñ%9¸CÒ%?à"%×"3Ñ"3Ð3Ø˜b™˜Ø "˜Ø˜Q™˜ð ð  Ÿ™ ›
 2™�AØ˜A˜  1 ¨¨2 w°°2¨w°r¸"¸QÐ>�BØ˜"˜ ˜s˜e R¨¨2¨b©5 M°2°b¸±e¸B¸r¹EÐ2BÀBÀrÈ"ÁuÈQÁwÈrÐRTÉuÐUVÉwÐCWÐY[Ð\^ÑY^Ð_`ÑY`ÐXaÐbdÐefÑbfÐf�BØ˜"˜ ˜s˜e R¨¨2¨b©5 M°2°b¸±e¸B¸r¹EÐ2BÀBÀrÈ"ÁuÈQÁwÈrÐRTÉuÐUVÉwÐCWÐZ\ÐY\Ð]_ÑY_Ð`aÑYaÐXbÐceÐfgÑcgÐg�BØ˜r 2˜:Ð%r1   Tr¦   ©rq   r3  c              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr‡   ©r²   ©r  r.   r   s     €r/   r  z_hyp2f2.<locals>.<genexpr>!  s   øè ø€ ÒE°�s×(Ñ(¨×+ÑEùó   ƒr  r   )	rí   rO   r   r=   rl   r   r   r´   r€   )r   r    r!   r"   rV   rŽ   Úa1typer•   Úa2typer�   Úb1typer�   Úb2typerò   r¶   rW   Úasymp_extraprecÚcan_use_asymptoticr]   rc   s   `  `                r/   r{   r{   è  s[  ù€ à!$Ñ�L€Rˆ‘,�2�vØ!$Ñ�L€Rˆ‘,�2�väˆq‹6€DØ�7‰7�1‹:€DØ�8‰8€Dð €Oð %Ÿj™j¨Ó8Ð8ò Ø	�‰�‹˜Ñ	ð ñ
 ð+	ð(Ø—’˜OÑ+•õ&ð> —M‘M ! b¨¨B¨r ]ÀÐPQÐRU×RZÑRZÑPZ�MÓ[�ÜÓE°b¸¸B¸rÀ!°_ÔEÓEÈÒJØŸ™˜q›	�AØð ˆC�Hàˆ3�:‰:�a˜˜V V¨V°VÐ<¸rÀ2ÀrÈ2Ð>NÐPQÑ\ÐU[Ñ\Ð\øð ×$Ñ$ò ÙðúØàˆC�Hø�tˆC�Hús%   Á/A/D ÄDÄD# ÄDÄD# Ä#	D,c                 óŽ  ‡ ‡— |\  \  }}|\  \  }}\  }	}
t        ‰«      }‰ j                  ‰«      }‰ j                  }‰xr |dz  }|j                  d«       xr- ‰ j                  |«      dkD  xr ‰ j	                  |«      d|z  kD  }|rw	 	 ‰ xj                  |z  c_        ˆ ˆfd„}‰ j                  ||||	gdd‰ j                  z  ¬«      }t        ˆ fd	„|||	‰fD «       «      dk(  r‰ j                  |«      }||‰ _        S  ‰ j                  d
d|||
f|||	g‰fi |¤ŽS # ‰ j                  $ r Y nw xY w	 |‰ _        Œ;# |‰ _        w xY w)Nr   rq   é   rA  c                 ó‚  •— ‰j                   | |z
  |z
  ‰j                   z   z  }i }‰j                  |d<   d‰j                  d| z  |z   |z   dz
  z  | |z
  |z
  z  ||z  z   ‰j                  z
  z  |d<   d||z  ‰j                  | |z
  |z
  z  d| z  |z   |z   dz
  z  z   ‰j                  z
  dz  z  ‰j                  dd| z  dz
  z  |z  |z  d| |z
  |z
  z  d| dz  z  d| z  z   |z   |z   dz
  z  z   dz
  z  z   |d<   d}d}d}d}	 ||vrÅd|dz  z  d	| z  d|z  z   d|z  z   dz
  |z  z   d| dz  z  z   ||z
  dz  z
  d| z  ||z   dz
  z  z
  ‰j                  z   }	|| z
  |z   |z
  ‰j                   z
  || z
  |z
  |z   ‰j                   z
  z  || z
  |z   |z   ‰j
                  z
  z  }
‰j                  d|z  z  |	||dz
     z  |
||dz
     z  z
  z  ||<   ||   ‰ d
|z  z  z  }‰j                   |z  ‰j                  d«      | z  z  |z  }‰j                  |z  ‰j                  d«      | z  z  |z  }t        |«      d‰j                  z  k  rn>|dkD  r&t        |«      t        |«      z  dk  r‰j                  ‚||z  }||z  }|}|dz  }�Œƒ‰j                  ‰j                  |z  d‰j                  ‰ «      z  z   «      |z  ‰j                  ‰j                  |z  d‰j                  ‰ «      z  z    «      |z  z   }d|z  ‰j                  ‰ gdd
|g||g| gg g df}‰ g|  g||g|| z
  || z
  g| | |z
  dz   | |z
  dz   gg d‰z  f}||fS )Nr   r   rp   r   éðÿÿÿr¦   éøÿÿÿé   iúÿÿÿç      à¿r@  r  rA  ç      à?)rª   rD   Úmpq_1_4Úmpq_3_16Úmpq_1_16Úmpq_5_2r©   rÈ   rí   rì   r´   Úexpjr±   r¨   )rŽ   r�   r�   rB  rb   rE  Ús2r$   rF  rG  rH  r%   rI  Út2r,  r®   r¯   r   r"   s                    €€r/   r]   z_hyp1f2.<locals>.hI  s   ø€ ØŸ™ R¨¡U¨2¡X¨c¯k©kÑ%9Ñ:�AØ�AØŸ7™7�A�a‘DØ˜cŸk™k¨1¨R©4°©7°2©:°a©<Ñ8¸"¸R¹%À¹(ÑCÀBÀrÁEÑIÈ#Ï,É,ÑVÑW�A�a‘DØ˜b ™e C§K¡K°°B±°r±Ñ$:¸A¸b¹DÀ¹GÀB¹JÀq¹LÑ$IÑIÈ#Ï,É,ÑVÐYZÑZÑZØŸ™ c¨1¨R©4°©6¡l°2¡o°bÑ&8Ø˜2˜b™5 ™8™ b¨¨Q©¡h¨r°"©u¡n°RÑ&7¸Ñ&:¸1Ñ&<Ñ=ñ'>Ø>?ñ'@ñ AñA�A�a‘Dð �BØ�BØ�AØ�EØØ A™:Ø#$ Q¨¡T¡6¨2¨b©5°°2±©:°a¸±d©?¸1Ñ+<¸aÑ*?Ñ#?À!ÀBÈÁEÁ'Ñ#IØ!# B¡¨¡
ñ$+Ø-.¨r©T°2°b±5¸±7©^ñ$<Ø>A¿k¹kñ$J˜Cà#$ R¡4¨¡7¨2¡:¨c¯k©kÑ#9¸A¸b¹DÀ¹GÀB¹JÀsÇ{Á{Ñ<RÑ"SØ!" 2¡ b¡¨¡¨C¯K©KÑ!7ñ#9˜Cà#&§7¡7¨A¨a©C¡=°#°a¸¸!¹±f±*¸SÀÀ1ÀQÁ3Á¹ZÑ2GÑ#H˜A˜a™DØ˜a™D Q B¨$¨q©&¡>Ñ1˜Ø"Ÿu™u˜f q™[¨3¯7©7°1«:¸¸Ñ+;Ñ;¸aÑ?˜Ø ŸU™U A™X¨¯©°«
°a°RÑ(8Ñ8¸1Ñ<˜Ü˜r›7 S¨¯©¡[Ò0à!à˜qš5¤S¨£Z´#°b³'Ñ%9¸CÒ%?à"%×"3Ñ"3Ð3Ø˜b™˜Ø˜b™˜Ø "˜Ø˜Q™˜ñ) ð* Ÿ™ §¡¨¡¨!¨C¯H©H°a°R«L©.Ñ!8Ó9¸"Ñ<ØŸ™ 3§6¡6¨!¡8¨A¨c¯h©h¸°r«l©NÑ#:Ð!;Ó<¸RÑ?ñ@�Aà˜a™% §¡¨!¨Ð,¨q°$¸¨l¸RÀ¸HÀrÀdØ˜B ð"�Bà˜"˜  ˜u r¨" g¨r°"©u°R¸±U¨mØ˜B˜r™E !™G B r¡E¨!¡GÐ,¨b°!°A±#ð6�Bà˜r˜6�Mr1   Tr¦   rK  c              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr‡   rM  rN  s     €r/   r  z_hyp1f2.<locals>.<genexpr>r  s   øè ø€ ÒB°�s×(Ñ(¨×+ÑBùrO  r   ©
rí   rO   r   r=   r¨   rl   r   r   r´   r€   )r   r    r!   r"   rV   rŽ   rP  r�   rR  r�   rS  rò   r¶   rW   rT  rU  r]   rc   s   `  `              r/   rx   rx   -  sh  ù€ à�M�L€RˆØ!$Ñ�L€Rˆ‘,�2�väˆq‹6€DØ�7‰7�1‹:€DØ�8‰8€Dð ’m˜D !™G€Oð %Ÿj™j¨Ó8Ð8ò $Ø	�‰�‹˜Ñ	ò$à	�‰�$‹˜#˜d™(Ñ	"ð ñ ð4	ð1Ø—’˜OÑ+•õ'"ðP —M‘M ! b¨¨B Z¸dÈQÈsÏxÉxÉZ�MÓX�ÜÓB°b¸¸B¸q°\ÔBÓBÀaÒGØŸ™˜q›	�AØð ˆC�Hð ˆ3�:‰:�a˜˜V V¨VÐ4°r¸2¸r°lÀAÑPÈÑPÐPøð ×$Ñ$ò ÙðúØàˆC�Hø�tˆC�Hús%   ÂA-D ÄD/Ä,D; Ä.D/Ä/D; Ä;	Ec           
      ó®  ‡ ‡— |\  \  }}\  }}|\  \  }	}
\  }}\  }}t        ‰«      }‰ j                  ‰«      }‰xr |dz  }‰ j                  }|j                  d«       xr- ‰ j                  |«      dkD  xr ‰ j	                  |«      d|z  kD  }|r{	 	 ‰ xj                  |z  c_        ˆ ˆfd„}‰ j                  ||||	||gdd‰ j                  z  ¬«      }t        ˆ fd	„|||	||‰fD «       «      d
k(  r‰ j                  |«      }||‰ _        S  ‰ j                  dd|||
||f|||	||g‰fi |¤ŽS # ‰ j                  $ r Y nw xY w	 |‰ _        Œ?# |‰ _        w xY w)Nr   rq   rW  rA  c           	      ó8  •— ‰j                   | |z   |z
  |z
  |z
  ‰j                   z   z  }| |z   }||z   |z   }| |z  }||z  ||z  z   ||z  z   }	||z  |z  }
i }‰j                  |d<   d|	|z
  ‰j                  d|z  |z   dz
  z  ||z
  z  z   ‰j                  z
  z  |d<   ‰j                   |d   dz  z  ‰j                  dd|z  dz
  z  |	|z
  z  d|
z  z   dd|dz  z  d	|z  z   d
|z  z   |z   dz
  z  ||z
  z  z   dz
  z  z   |d<   d}d}d}d}	 ||v�r,|d|z  z
  dz
  |d|z  z
  d|z  z
  dz
  z  |d|z  z
  d|z  z
  dz
  z  |d|z  z
  d|z  z
  dz
  z  }d|dz
  dz  z  dd|z  |z   z  |dz
  dz  z  z
  dd|dz  z  d|z  |z  z   d|	z  z   |z   dz
  z  |dz
  z  z   d|dz  z  z
  d|z  |dz  z  z
  d|	z  z
  d
|
z  z
  dd|	z  |z   dz
  z  |z  z
  d|z  z   dz
  }d|dz
  dz  z  dd|z  |z   d|z  z
  dz   z  |dz
  z  z   d|d   z  z   }‰j                  d|z  z  |||dz
     z  |||dz
     z  z
  |||dz
     z  z   z  ||<   ||   ‰j                  ‰ d|z  «      z  }‰j                   |z  ‰j                  d«      | z  z  |z  }‰j                  |z  ‰j                  d«      | z  z  |z  }t        |«      d‰j                  z  k  rn>|dkD  r&t        |«      t        |«      z  dk  r‰j                  ‚||z  }||z  }|}|dz  }�Œø‰j                  ‰j                  |z  d‰j                  ‰ «      z  z   «      |z  ‰j                  ‰j                  |z  d‰j                  ‰ «      z  z    «      |z  z   }d|z  ‰j                  ‰ gdd|g|||g| |gg g df}‰ g|  g||||| z
  g||| z
  || z
  || z
  g| | |z
  dz   | |z
  dz   | |z
  dz   g| |z
  dz   gd‰z  f}‰ g| g|||| |z
  g| ||z
  ||z
  ||z
  g|||z
  dz   ||z
  dz   ||z
  dz   g|  |z   dz   gd‰z  f}|||fS )Nr   r   rp   r   rY  é    r¦   rZ  r[  r£   é   é   r¤   r  iöÿÿÿr\  r@  rA  r]  )rª   rD   r^  r_  r`  rM   r©   rÈ   rí   rì   r´   rb  r±   r¨   )rŽ   r•   r�   r�   r˜   rB  rC  ÚB3ÚAÚBÚRrb   rE  rc  r$   rF  rG  rH  Úuu3r%   rI  rd  r,  r®   r¯   rJ  r   r"   s                             €€r/   r]   z_hyp2f3.<locals>.h˜  sœ  ø€ ØŸ™ R¨¡U¨2¡X¨b¡[°¡^°C·K±KÑ%?Ñ@�AØ˜B™�BØ˜B™˜r™�BØ˜2™�AØ˜2™˜b ™e™ B r¡EÑ)�AØ˜2™˜b™�AØ�AØŸ7™7�A�a‘DØ˜a !™e c§k¡k°1°R±4¸±7¸1±9Ñ&=¸rÀ"¹uÑ&EÑEÈÏÉÑTÑU�A�a‘DØŸ;™; q¨¡t¨Q¡wÑ.°·±¸sÀAÀbÁDÈÁF¹|ÈQÈqÉSÑ?QÐTVÐWXÑTXÑ?XØ˜2˜b !™e™8 b¨¡eÑ+¨a°©cÑ1°BÑ6¸Ñ:Ñ;¸RÀ¹UÑCñ@DØDEñ@Fñ 2Gñ G�A�a‘Dà�BØ�BØ�AØ�EØØ Aš:Ø#$ Q q¡S¡5¨¡7¨Q¨q°©s©U°1°R±4©Z¸©\Ñ":¸A¸aÀ¹c¹EÀ!ÀBÁ$¹JÀq¹LÑ"IØ!" 1 Q¡3¡ q¨¡t¡¨A¡ñ#/˜Cà#$ a¨¡c¨A¡X¡:°°1°Q±3°r±6±
¸A¸a¹CÀ!¹8Ñ0CÑ#CØ ! 2 a¨¡d¡7¨2¨b©5°©7¡?°1°Q±3Ñ#6°rÑ#9¸!Ñ#;Ñ <¸aÀ¹cÑ Bñ$CØEGÈÈ1ÉÁWñ$Mà " 2¡ a¨¡d¡
ñ$+à-.¨q©Sñ$1à34°Q±3ñ$7à9:¸A¸a¹CÀ¹FÀ1¹H¹Àa¹ñ$HàJKÈBÉ$ñ$OàOPñ$Q˜Cð $% a¨¡c¨A¡X¡:¨a°°Q±°r±¸!¸B¹$±¸q±Ñ.AÀ1ÀQÁ3Ñ.GÑ#GÈÈ!ÈAÉ$ÉÑ#N˜CØ#&§7¡7¨A¨a©C¡=°#°a¸¸!¹±f±*¸SÀÀ1ÀQÁ3Á¹ZÑ2GÈÈAÈaÐPQÉcÉFÉ
Ñ2RÑ#S˜A˜a™DØ˜a™D 3§9¡9¨a¨R°°a±Ó#8Ñ8˜Ø"Ÿu™u˜f q™[¨3¯7©7°1«:¸¸Ñ+;Ñ;¸aÑ?˜Ø ŸU™U A™X¨¯©°«
°a°RÑ(8Ñ8¸1Ñ<˜Ü˜r›7 S¨¯©¡[Ò0Ø!à˜qš5¤S¨£Z´#°b³'Ñ%9¸CÒ%?Ø"%×"3Ñ"3Ð3Ø˜b™˜Ø˜b™˜Ø "˜Ø˜Q™˜ñ) ð* Ÿ™ §¡¨¡¨!¨C¯H©H°a°R«L©.Ñ!8Ó9¸"Ñ<ØŸ™ 3§6¡6¨!¡8¨A¨c¯h©h¸°r«l©NÑ#:Ð!;Ó<¸RÑ?ñ@�Aà˜a™% §¡¨!¨Ð,¨q°$¸¨l¸RÀÀR¸LÈ2ÈrÈ(Ø˜B ð"�Bà˜"˜  ˜u r¨"¨R°°2±Ð&6¸¸2¸b¹5ÀÀBÁÀrÈ"ÁuÐ7MØ˜B˜r™E !™G B r¡E¨!¡G¨B¨r©E°!©GÐ4°r¸"±u¸Q±w°iÀÀ1ÁðE�Bà˜"˜  ˜u r¨"¨R°°2±Ð&6¸¸2¸b¹5ÀÀBÁÀrÈ"ÁuÐ7MØ˜B˜r™E !™G B r¡E¨!¡G¨B¨r©E°!©GÐ4°r°c¸"±f¸Q±h°ZÀÀ1ÁðE�Bà˜r 2˜:Ð%r1   Tr¦   rK  c              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr‡   rM  rN  s     €r/   r  z_hyp2f3.<locals>.<genexpr>Ç  s   øè ø€ ÒH°�s×(Ñ(¨×+ÑHùrO  rj  rp   rf  )r   r    r!   r"   rV   rŽ   rP  r•   rQ  r�   rR  r�   rS  r˜   Úb3typerò   r¶   rT  rW   rU  r]   rc   s   `  `                  r/   r|   r|     s�  ù€ à!$Ñ�L€Rˆ‘,�2�vØ/2Ñ,�L€Rˆ‘,�2�v¡  Väˆq‹6€DØ�7‰7�1‹:€Dð ’m˜D !™G€OØ�8‰8€Dð
 %Ÿj™j¨Ó8Ð8ò =Ø	�‰�‹˜Ñ	ò=Ø"%§(¡(¨4£.°3°t±8Ñ";ð ñ ð:	ð7Ø—’˜OÑ+•õ-&ð\ —M‘M ! b¨¨B¨r°"Ð%5ÀDÐSTÐUX×U]ÑU]ÑS]�MÓ^�ÜÓH°b¸¸B¸rÀ"ÀQÐ5GÔHÓHÈAÒMØŸ™˜q›	�AØð ˆC�Hàˆ3�:‰:�a˜˜V V¨V°V¸VÐDÀrÈ2ÈrÐSUÐWYÐFZÐ\]ÑhÐagÑhÐhøð ×$Ñ$ò ÙðúØàˆC�Hø�tˆC�Hús%   ÂA1D- Ä-D?Ä<E Ä>D?Ä?E Å	Ec                 óD  ‡ ‡— |\  \  }}\  }}	 |j                  «       }	|	j                  d‰ j                  «      |	d<    ‰ j                  dd||f||g‰fi |	¤ŽS # ‰ j                  $ r |j                  d«      r‚ Y nw xY wˆ ˆfd„}
 ‰ j
                  |
|d|z   |z
  gfi |¤ŽS )Nr3  r   r   rq   c                 óÞ   •— ‰j                  |«      }d‰z  }‰j                  ||gdd| gg | |z
  dz   |g| g|g|f}‰j                   ||gddd| z   |z
  gg | d|z
  g| |z
  dz   gd|z
  g|f}||fS )Nr§   r   r   )Úsinpir±   )r`   ra   r%   r¾   r®   r¯   r   r"   s         €€r/   r]   z_hyp2f0.<locals>.hÞ  sœ   ø€ Ø�I‰I�a‹LˆØ�‰TˆØ�v‰v�a˜ˆm˜Q˜r !˜H R¨¨1©¨Q©¨q¨	°1°#°q°c¸"Ð=ˆØ—‘ˆw�q˜ˆn˜a  1 Q¡3 q¡5˜\¨"¨a°°!±¨W°a¸±c¸!±e°W¸aÀ¹c¸UÀ2ÐFˆØ�2ˆvˆr1   r   )Úcopyr=   r   r€   r´   rl   )r   r    r!   r"   rV   r`   rÅ   ra   rµ   Úkwargsbr]   s   `  `       r/   r}   r}   Ñ  s¶   ù€ à Ñ�J€Qˆ‘
��EðØ—+‘+“-ˆØ%Ÿk™k¨*°c·h±hÓ?ˆ�
ÑØˆs�z‰z˜!˜Q  u °°!¨u°aÑC¸7ÑCÐCøØ×Ñò Ø�:‰:�nÔ%ØÙðúõð ˆ3�=‰=˜˜Q  !¡ A¡˜JÑ1¨&Ñ1Ð1s   �A	A Á!A=Á<A=Nc                 óR  ‡ ‡‡‡‡‡‡— |\  }}|\  }	}
t        |«      Š‰t        |«      z   Št        |	«      Š‰t        |
«      z   Š||z   }|	|
z   }|D �cg c]  }‰ j                  |«      ‘Œ }}|D �cg c]  }‰ j                  |«      ‘Œ }}‰ j                  ‰«      Š|€.‰‰k  rd}‰‰kD  rd}‰‰k(  r‰‰z   ‰k(  rt        ‰«      dkD  rd}nd}|j                  d«      rt	        d‰‰‰‰|«       |dk(  rˆ ˆˆˆˆˆˆfd„}nˆ ˆˆˆˆˆˆfd„} ‰ j
                  |||z   fi |¤ŽS c c}w c c}w )Nr   r   r3   zMeijer G m,n,p,q,series =c            
      óê  •— | d ‰ }| ‰d  }g }t        ‰«      D �]8  }‰g}||   ‰z  g}t        ‰«      D �cg c]  }||k7  sŒ	||   ||   z
  ‘Œ }}|t        ‰«      D �cg c]  }d||   z
  ||   z   ‘Œ c}z  }t        ‰‰«      D �cg c]  }||   ||   z
  ‘Œ }	}|	t        ‰‰«      D �cg c]  }d||   z
  ||   z   ‘Œ c}z  }	t        ‰«      D �cg c]  }d||   z
  ||   z   ‘Œ }
}t        ‰«      D �cg c]  }||k7  sŒ	d||   z
  ||   z   ‘Œ }}‰j                   ‰‰z
  ‰z
  z  ‰‰j                  ‰z  z  z  }|j                  ||||	|
||f«       �Œ; |S c c}w c c}w c c}w c c}w c c}w c c}w r    )rE   rD   r   ©r  r`   ra   r   r$   ÚbasesÚexptsr©   ÚgnÚgdÚhnÚhdÚhzr   rû   r+   r�   r‚   Úrr"   s                €€€€€€€r/   r]   zmeijerg.<locals>.hþ  sž  ø€ Ø�R�a�ˆAØ�Q�R�ˆAØˆEÜ˜1“Xó 
A�Ø˜�Ø˜1™˜a™˜�Ü).¨q«Ö< A°Q¸!³V�a˜‘d˜1˜Q™4“iÐ<�Ð<Ø¬E°!«HÖ5 q�q˜˜1™‘v˜a ™d“{Ò5Ñ5�Ü).¨q°«Ö4 A�a˜‘d˜1˜Q™4“iÐ4�Ð4Ø¬E°!°A«JÖ7 q�q˜˜1™‘v˜a ™d“{Ò7Ñ7�Ü+0°«8Ö4 a�a˜˜!™‘f˜Q˜q™T“kÐ4�Ð4Ü+0°«8Ö> a°q¸A³v�a˜˜!™‘f˜Q˜q™T“kÐ>�Ð>Ø—w‘w�h ! A¡# a¡%Ñ(¨1¨s¯w©w°q©y©>Ñ9�Ø—‘˜e U¨B°°B¸¸BÐ?Ö@ð
Að ˆLùò =ùÚ5ùÚ4ùÚ7ùÚ4ùÚ>s/   ¶
EÁEÁEÂE!Â)E&ÃE+Ã4
E0Ã?E0c            
      ó,  •— | d ‰ }| ‰d  }g }t        ‰«      D �]Y  }‰g}‰dk(  r
||   dz
  g}n||   dz
  ‰j                  ‰«      z  g}t        ‰«      D �cg c]  }||k7  sŒ	||   ||   z
  ‘Œ }}|t        ‰«      D �cg c]  }d||   z
  ||   z   ‘Œ c}z  }t        ‰‰«      D �cg c]  }||   ||   z
  ‘Œ }	}|	t        ‰‰«      D �cg c]  }d||   z
  ||   z   ‘Œ c}z  }	t        ‰«      D �cg c]  }d||   z
  ||   z   ‘Œ }
}t        ‰«      D �cg c]  }||k7  sŒ	d||   z   ||   z
  ‘Œ }}‰j                   ‰‰z
  ‰z
  z  ‰‰j                  ‰z  z  z  }|j                  ||||	|
||f«       �Œ\ |S c c}w c c}w c c}w c c}w c c}w c c}w r    )rE   rr   rD   r   rz  s                €€€€€€€r/   r]   zmeijerg.<locals>.h  sÂ  ø€ Ø�R�a�ˆAØ�Q�R�ˆAØˆEÜ˜1“Xó A�Ø˜�Ø˜’6Ø˜q™T !™V˜H‘Eà ™d 1™f c§k¡k°!£nÑ4Ð5�EÜ).¨q«Ö< A°Q¸!³V�a˜‘d˜1˜Q™4“iÐ<�Ð<Ø¬E°!«HÖ5 q�q˜˜1™‘v˜a ™d“{Ò5Ñ5�Ü).¨q°«Ö4 A�a˜‘d˜1˜Q™4“iÐ4�Ð4Ø¬E°!°A«JÖ7 q�q˜˜1™‘v˜a ™d“{Ò7Ñ7�Ü+0°«8Ö4 a�a˜˜!™‘f˜Q˜q™T“kÐ4�Ð4Ü+0°«8Ö> a°q¸A³v�a˜˜!™‘f˜Q˜q™T“kÐ>�Ð>Ø—w‘w�h ! A¡# a¡%Ñ(¨1¨s¯w©w°q©y©>Ñ9�Ø—‘˜e U¨B°°B¸¸BÐ?Ö@ðAð ˆLùò =ùÚ5ùÚ4ùÚ7ùÚ4ùÚ>s0   Á
E8Á"E8Á?E=Â'FÃ
FÃ1FÄ
FÄ F)rF   rr   rí   r=   rA   rl   )r   r    r!   r"   r‚  ÚseriesrV   ÚanÚapÚbmÚbqr`   ra   Ú_r]   rû   r+   r�   r‚   s   `  ``          @@@@r/   ÚmeijergrŠ  æ  s8  þ€ à�F€BˆØ�F€BˆÜˆB‹€AØ	ŒC�‹G‰€AÜˆB‹€AØ	ŒC�‹G‰€AØ
ˆ2‰€AØ
ˆ2‰€AØ!"Ö#˜Aˆ�‰�Q�Ð#€AÐ#Ø!"Ö#˜Aˆ�‰�Q�Ð#€AÐ#Ø�‰�A‹€AØ€~ØˆqŠ5˜1�&ØˆqŠ5˜1�&Ø�Š6Ø�‰s�aŠxœC ›F QšJØ‘à�Ø‡z�z�)ÔÜÐ)¨1¨Q¨q°°6Ô:Ø�‚{÷	ó 	÷"	ò 	ð& ˆ3�=‰=˜˜A˜a™CÑ* 6Ñ*Ð*ùòe 	$ùÚ#s   ÁDÁ0D$c           	      óÈ  — t        |«      t        |«      kD  r||}}||}}d„ }| j                  |«      rn�| j                  |«      rn}| j                  |«      r||||f\  }}}}n` ||«      sX||z
  |dz
  z  }	 ||	«      st        d«      ‚d|z
  | z  d|z
  ||z
  |z
  z  z   | j                  ||z
  |||z
  |z
  ||	|fi |¤Žz  S  | j                  |g|g|gdœd|gi||fi |¤ŽS )Nc                 ó   — t        | «      dk  S )Ng®Gáz®ï?)rí   )r*   s    r/   r-   zappellf1.<locals>.ok+  s   € Ü�1‹v˜‰}Ðr1   r   z%Analytic continuation not implemented©úm+nrû   r+   rŽ  )rí   r   r?   Úappellf1Úhyper2d)
r   r`   r�   r�   rb   r*   ÚyrV   r-   Úu1s
             r/   r�  r�  $  s  € ô ˆ1ƒv”�A“‚Ø�!ˆ1ˆØ�RˆBˆòð ‡{�{�1„~ØØ	�‰�RŒØØ	�‰�RŒØ˜!˜R �|‰ˆˆ1ˆb‘"ñ
 �!ŒuØ�A‘#˜˜!™‘ˆBÙ�b”6Ü Ð!HÓIÐIà�a‘C˜B˜3‘<  1¡¨¨!©¨B©¡Ñ/Ø�—‘˜Q˜q™S  A b¡D¨¡G¨A¨b°Ñ<°VÑ<ñ=ð =àˆ3�;‰;˜q˜c r d°¨tÑ4°u¸a¸S°kÀ1ÀQÑQÈ&ÑQÐQr1   c                 óF   —  | j                   |g|g|gdœ|g|gdœ||fi |¤ŽS )Nr�  ©rû   r+   ©r�  )	r   r`   r�   r�   Úc1Úc2r*   r‘  rV   s	            r/   Úappellf2r˜  A  s>   € ð ˆ3�;‰;˜q˜c r d°¨tÑ4ØˆT�r�dÑ˜Q˜qñ,Ø$*ñ,ð ,r1   c                 ó&  — | j                  |«      xs | j                  |«      }	| j                  |«      xs | j                  |«      }
|	s(|
st        |«      t        |«      kD  r||}}||||f\  }}}} | j                  ||g||gdœd|gi||fi |¤ŽS )Nr”  rŽ  )r   rí   r�  )r   rŽ   r•   r�   r�   rb   r*   r‘  rV   Úouter_polynomialÚinner_polynomials              r/   Úappellf3rœ  G  s™   € à—{‘{ 2“Ò9¨#¯+©+°b«/ÐØ—{‘{ 2“Ò9¨#¯+©+°b«/ÐÙÙœs 1›v¬¨A«šØ�aˆqˆAØ˜R  2˜+‰KˆBˆr�"�RØˆ3�;‰;˜R ˜G¨¨B¨Ñ0°5¸!¸°+¸aÀÑKÀFÑKÐKr1   c                 ó@   —  | j                   d||gi|g|gdœ||fi |¤ŽS )NrŽ  r”  r•  )r   r`   ra   r–  r—  r*   r‘  rV   s           r/   Úappellf4rž  Q  s1   € ð ˆ3�;‰;˜˜q ˜e�}¨B¨4°R°DÑ&9¸!¸AÑGÀÑGÐGr1   c                 óÂ  ‡ — ‰ j                  |«      }‰ j                  |«      }ˆ fd„}t        |«      }t        |«      } ||d«      }	 ||d«      }
 ||d«      } ||d«      } ||d«      } ||d«      } ||d«      } ||d	«      } ||d«      } ||d«      } ||d«      }|rt        d
|j                  «       d   z  «      ‚|rt        d
|j                  «       d   z  «      ‚d}‰ j                  }‰ j                  d«      }d}‰ j                  }|j                  dd|z  «      }	 ‰ xj                  dz  c_        ‰ j                  ­}	 d}d}t        |
«      }t        |«      }|	D �cg c]  }||z   ‘Œ	 }}|D �cg c]  }||z   ‘Œ	 } }|D ])  }||z   }|j                  |«       |j                  |«       Œ+ |D ])  }||z   }|j                  |«       | j                  |«       Œ+ |D ]-  }|j                  ||z
  «       | j                  ||z
  dz
  «       Œ/ |D ];  }|dz  }|d|z  z  }|j                  d|z
  |z
  «       |j                  | |z
  «       Œ= |D ]<  }|j                  |d|z  z   «       |j                  |d|z  z   d|z   d|z  z   z  «       Œ> |D ]D  }|dz  }|j                  d|z
  d|z  z
  «       |j                  |d|z  z   d|z   d|z  z   z  «       ŒF |D ]O  }|dz  }|j                  d||z
  z  «       |j                  d||z
  dz   z  «       | j                  ||z
  dz
  «       ŒQ  ‰ j                  ||||z  fd‰ j                  i|¤Ž}!||!z  |z  }"t        |"«      |k  r|dz  }nd}|dk\  s|snB||"z  }|D ]  }||z  }Œ	 | D ]  }||z  }Œ	 |dz  }||z  |z  }||kD  r‰ j                  d«      ‚�Œv	 |‰ _        |­S c c}w c c}w # |‰ _        w xY w)az  
    Sums the generalized 2D hypergeometric series

    .. math ::

        \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
            \frac{P((a),m,n)}{Q((b),m,n)}
            \frac{x^m y^n} {m! n!}

    where `(a) = (a_1,\ldots,a_r)`, `(b) = (b_1,\ldots,b_s)` and where
    `P` and `Q` are products of rising factorials such as `(a_j)_n` or
    `(a_j)_{m+n}`. `P` and `Q` are specified in the form of dicts, with
    the `m` and `n` dependence as keys and parameter lists as values.
    The supported rising factorials are given in the following table
    (note that only a few are supported in `Q`):

    +------------+-------------------+--------+
    | Key        |  Rising factorial | `Q`    |
    +============+===================+========+
    | ``'m'``    |   `(a_j)_m`       | Yes    |
    +------------+-------------------+--------+
    | ``'n'``    |   `(a_j)_n`       | Yes    |
    +------------+-------------------+--------+
    | ``'m+n'``  |   `(a_j)_{m+n}`   | Yes    |
    +------------+-------------------+--------+
    | ``'m-n'``  |   `(a_j)_{m-n}`   | No     |
    +------------+-------------------+--------+
    | ``'n-m'``  |   `(a_j)_{n-m}`   | No     |
    +------------+-------------------+--------+
    | ``'2m+n'`` |   `(a_j)_{2m+n}`  | No     |
    +------------+-------------------+--------+
    | ``'2m-n'`` |   `(a_j)_{2m-n}`  | No     |
    +------------+-------------------+--------+
    | ``'2n-m'`` |   `(a_j)_{2n-m}`  | No     |
    +------------+-------------------+--------+

    For example, the Appell F1 and F4 functions

    .. math ::

        F_1 = \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
              \frac{(a)_{m+n} (b)_m (c)_n}{(d)_{m+n}}
              \frac{x^m y^n}{m! n!}

        F_4 = \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
              \frac{(a)_{m+n} (b)_{m+n}}{(c)_m (d)_{n}}
              \frac{x^m y^n}{m! n!}

    can be represented respectively as

        ``hyper2d({'m+n':[a], 'm':[b], 'n':[c]}, {'m+n':[d]}, x, y)``

        ``hyper2d({'m+n':[a,b]}, {'m':[c], 'n':[d]}, x, y)``

    More generally, :func:`~mpmath.hyper2d` can evaluate any of the 34 distinct
    convergent second-order (generalized Gaussian) hypergeometric
    series enumerated by Horn, as well as the Kampe de Feriet
    function.

    The series is computed by rewriting it so that the inner
    series (i.e. the series containing `n` and `y`) has the form of an
    ordinary generalized hypergeometric series and thereby can be
    evaluated efficiently using :func:`~mpmath.hyper`. If possible,
    manually swapping `x` and `y` and the corresponding parameters
    can sometimes give better results.

    **Examples**

    Two separable cases: a product of two geometric series, and a
    product of two Gaussian hypergeometric functions::

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> x, y = mpf(0.25), mpf(0.5)
        >>> hyper2d({'m':1,'n':1}, {}, x,y)
        2.666666666666666666666667
        >>> 1/(1-x)/(1-y)
        2.666666666666666666666667
        >>> hyper2d({'m':[1,2],'n':[3,4]}, {'m':[5],'n':[6]}, x,y)
        4.164358531238938319669856
        >>> hyp2f1(1,2,5,x)*hyp2f1(3,4,6,y)
        4.164358531238938319669856

    Some more series that can be done in closed form::

        >>> hyper2d({'m':1,'n':1},{'m+n':1},x,y)
        2.013417124712514809623881
        >>> (exp(x)*x-exp(y)*y)/(x-y)
        2.013417124712514809623881

    Six of the 34 Horn functions, G1-G3 and H1-H3::

        >>> from mpmath import *
        >>> mp.dps = 10; mp.pretty = True
        >>> x, y = 0.0625, 0.125
        >>> a1,a2,b1,b2,c1,c2,d = 1.1,-1.2,-1.3,-1.4,1.5,-1.6,1.7
        >>> hyper2d({'m+n':a1,'n-m':b1,'m-n':b2},{},x,y)  # G1
        1.139090746
        >>> nsum(lambda m,n: rf(a1,m+n)*rf(b1,n-m)*rf(b2,m-n)*\
        ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
        1.139090746
        >>> hyper2d({'m':a1,'n':a2,'n-m':b1,'m-n':b2},{},x,y)  # G2
        0.9503682696
        >>> nsum(lambda m,n: rf(a1,m)*rf(a2,n)*rf(b1,n-m)*rf(b2,m-n)*\
        ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
        0.9503682696
        >>> hyper2d({'2n-m':a1,'2m-n':a2},{},x,y)  # G3
        1.029372029
        >>> nsum(lambda m,n: rf(a1,2*n-m)*rf(a2,2*m-n)*\
        ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
        1.029372029
        >>> hyper2d({'m-n':a1,'m+n':b1,'n':c1},{'m':d},x,y)  # H1
        -1.605331256
        >>> nsum(lambda m,n: rf(a1,m-n)*rf(b1,m+n)*rf(c1,n)/rf(d,m)*\
        ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
        -1.605331256
        >>> hyper2d({'m-n':a1,'m':b1,'n':[c1,c2]},{'m':d},x,y)  # H2
        -2.35405404
        >>> nsum(lambda m,n: rf(a1,m-n)*rf(b1,m)*rf(c1,n)*rf(c2,n)/rf(d,m)*\
        ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
        -2.35405404
        >>> hyper2d({'2m+n':a1,'n':b1},{'m+n':c1},x,y)  # H3
        0.974479074
        >>> nsum(lambda m,n: rf(a1,2*m+n)*rf(b1,n)/rf(c1,m+n)*\
        ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
        0.974479074

    **References**

    1. [SrivastavaKarlsson]_
    2. [Weisstein]_ http://mathworld.wolfram.com/HornFunction.html
    3. [Weisstein]_ http://mathworld.wolfram.com/AppellHypergeometricFunction.html

    c                 ó¬   •— | j                  |g «      }	 t        |«      }|D �cg c]  }‰j                  |«      ‘Œ c}S # t        $ r |g}Y Œ-w xY wc c}w r‡   )Úpopr  Ú	TypeErrorrr   )ÚdctÚkeyr  r:  r   s       €r/   Úparsezhyper2d.<locals>.parseà  sW   ø€ Ø�w‰w�s˜BÓˆð	Ü˜“:ˆDð -1Ö1 S�—‘˜CÕ Ò1Ð1øô ò 	Ø�6ŠDð	üâ1s   •? ¤A¿AÁArû   r+   rŽ  zm-nzn-mz2m+nz2m-nz2n-mzunsupported key: %rr   r3  r;   r7   r   r§   r   r¦   r]  r5   rp   zmaxterms exceeded in hyper2d)rr   Údictr?   ÚkeysrD   rÈ   r   r=   rì   r  r   rI   rí   r´   )#r   r`   ra   r*   r‘  rV   r¥  r    r!   Úa_mÚa_nÚ	a_m_add_nÚ	a_m_sub_nÚ	a_n_sub_mÚ
a_2m_add_nÚ
a_2m_sub_nÚ
a_2n_sub_mÚb_mÚb_nÚ	b_m_add_nr<  Úouterrû   Úok_countr   r3  rÙ   Ú
inner_signÚ
outer_signÚinner_aÚinner_bÚouter_aÚouter_bÚinnerr   s#   `                                  r/   r�  r�  V  sj  ø€ ðP 	�‰�A‹€AØ�‰�A‹€Aô2ô ˆq‹'€CÜ
ˆq‹'€CÙ
��3‹-€CÙ
��3‹-€CÙ�a˜“€IÙ�a˜“€IÙ�a˜“€IÙ�q˜&Ó!€JÙ�q˜&Ó!€JÙ�q˜&Ó!€JÙ
��3‹-€CÙ
��3‹-€CÙ�a˜“€IÙ”
Ð0°1·6±6³8¸A±;Ñ>Ó?Ð
?Ù”
Ð0°1·6±6³8¸A±;Ñ>Ó?Ð
?Ø	€AØ�G‰G€EØ�‰�‹
€AØ€HØ�8‰8€DØ�z‰z˜* b¨¡gÓ.€Hð>Ø�Š�B‰�Ø�w‰wˆhˆØØˆJØˆJÜ˜3“iˆGÜ˜3“iˆGØ$'Ö(˜q�q˜“sÐ(ˆGÐ(Ø$'Ö(˜q�q˜“sÐ(ˆGÐ(àò "�Ø�a‘C�Ø—‘˜qÔ!Ø—‘˜qÕ!ð"ð
 ò "�Ø�a‘C�Ø—‘˜qÔ!Ø—‘˜qÕ!ð"ð
 ò &�Ø—‘˜q ™sÔ#Ø—‘˜q ™s 1™uÕ%ð&ð ò %�Ø˜rÑ"�
Ø˜r Q™iÑ'�
Ø—‘˜q ™s 1™uÔ%Ø—‘ ˜r !™tÕ$ð	%ð  ò 2�Ø—‘˜q  1¡™uÔ%Ø—‘  ! A¡#¡¨¨!©¨A¨a©C©Ñ0Õ1ð2ð  ò 2�Ø˜rÑ"�
Ø—‘˜q ™s 1 Q¡3™wÔ'Ø—‘  ! A¡#¡¨¨!©¨A¨a©C©Ñ0Õ1ð2ð
  ò &�Ø˜a‘�
Ø—‘˜s A a¡C™yÔ)Ø—‘˜s A a¡C¨¡E™{Ô+Ø—‘˜q ™s 1™uÕ%ð	&ð
 �C—I‘I˜g w°
¸1±ñ -ØŸ™ð-Ø%+ñ-ˆEà˜5‘= :Ñ-ˆDÜ�4‹y˜3ŠØ˜A‘‘à�Ø˜1Š}¡EØØ�‰IˆAØÒ(�˜e q™j™eÐ(ØÒ(�˜e q™j™eÐ(Ø�‰FˆAØ˜A‘I ‘MˆEØ�8Š|Ø×'Ñ'Ð(FÓGÐGñs ðd ð ˆŒØˆ2€Iùòo )ùÚ(øðj ˆ�ús,   Ä'AO Å(OÅ4O Å:OÆH:O Ï
O Ï	Oc                 óà   ‡‡‡	— | j                  ‰«      Š||z   }t        |«      Š	t        |«      }‰	|fdk(  s‰	|fdk(  r| j                  ‰z  S ‰	|z
  dz  Šˆˆ	ˆfd„} | j                  ||fi |¤ŽS )a`  
    Evaluates the bilateral hypergeometric series

    .. math ::

        \,_AH_B(a_1, \ldots, a_k; b_1, \ldots, b_B; z) =
            \sum_{n=-\infty}^{\infty}
            \frac{(a_1)_n \ldots (a_A)_n}
                 {(b_1)_n \ldots (b_B)_n} \, z^n

    where, for direct convergence, `A = B` and `|z| = 1`, although a
    regularized sum exists more generally by considering the
    bilateral series as a sum of two ordinary hypergeometric
    functions. In order for the series to make sense, none of the
    parameters may be integers.

    **Examples**

    The value of `\,_2H_2` at `z = 1` is given by Dougall's formula::

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> a,b,c,d = 0.5, 1.5, 2.25, 3.25
        >>> bihyper([a,b],[c,d],1)
        -14.49118026212345786148847
        >>> gammaprod([c,d,1-a,1-b,c+d-a-b-1],[c-a,d-a,c-b,d-b])
        -14.49118026212345786148847

    The regularized function `\,_1H_0` can be expressed as the
    sum of one `\,_2F_0` function and one `\,_1F_1` function::

        >>> a = mpf(0.25)
        >>> z = mpf(0.75)
        >>> bihyper([a], [], z)
        (0.2454393389657273841385582 + 0.2454393389657273841385582j)
        >>> hyper([a,1],[],z) + (hyper([1],[1-a],-1/z)-1)
        (0.2454393389657273841385582 + 0.2454393389657273841385582j)
        >>> hyper([a,1],[],z) + hyper([1],[2-a],-1/z)/z/(a-1)
        (0.2454393389657273841385582 + 0.2454393389657273841385582j)

    **References**

    1. [Slater]_ (chapter 6: "Bilateral Series", pp. 180-189)
    2. [Wikipedia]_ http://en.wikipedia.org/wiki/Bilateral_hypergeometric_series

    )r   r   )r   r   r   c                  óœ  •— t        | d ‰ «      }t        | ‰d  «      }|D �cg c]  }d|z
  ‘Œ	 }}|D �cg c]  }d|z
  ‘Œ	 }}d‰z  ‰z  g|D �cg c]  }d|z
  ‘Œ	 c}z   |D �cg c]  }d|z
  ‘Œ	 c}z   }dgdgt        |«      z  z   dgt        |«      z  z   }g g g g |dgz   |‰f}	||g g |dgz   |d‰z  ‰z  f}
|	|
fS c c}w c c}w c c}w c c}w )Nr   r§   r   )r  rF   )r   r    r!   ra   Úaa_sr`   Úbb_sÚrpÚrcr®   r¯   Únegr�   r"   s              €€€r/   r]   zbihyper.<locals>.h{  sþ   ø€ Ü�3�r˜�7‹mˆÜ�3�q�r�7‹mˆØ Ö!˜��!“Ð!ˆÐ!Ø Ö!˜��!“Ð!ˆÐ!Ø�C‰i˜!‰mˆ_¨SÖ1¨  !£Ò1Ñ1À#Ö4F¸Q°Q°q³SÒ4FÑFˆØˆT�Q�Cœ˜C›‘LÑ  B 4¬¨C«¡=Ñ0ˆØ��R˜˜S A 3™Y¨¨QÐ.ˆØ��R˜˜T Q C™Z¨°°S©y¸1©}Ð<ˆØ�2ˆvˆùò "ùÚ!ùÚ1ùÒ4Fs   ¢B:´B?ÁCÁ"C	)rr   rF   r<   rl   )
r   r    r!   r"   rV   r   r‚   r]   rÂ  r�   s
      `    @@r/   ÚbihyperrÃ  D  s}   ú€ ð` 	�‰�A‹€AØ
�‰)€CÜˆC‹€AÜˆC‹€AØ	ˆ1€v�‚˜1˜a˜& Eš/Ø�x‰x˜!‰|ÐØˆQ‰3�!‰)€Cö	ð ˆ3�=‰=˜˜CÑ* 6Ñ*Ð*r1   )r   N)#Úlibmp.backendr   Ú	functionsr   r   r0   r@   rl   rI   r‰   rŒ   r‘   r“   r–   r™   r›   rž   ry   ru   rw   rá   rz   r~   r   r{   rx   r|   r}   rŠ  r�  r˜  rœ  rž  r�  rÃ  r¡   r1   r/   ú<module>rÆ     sl  ðÝ "ß +ò-2ð^€ð Ø$&¸Dò Eó ðEðN ñ(8ó ð(8ðT ñ(ó ð(ð ñ)ó ð)ð ñ.ó ð.ð ñ+ó ð+ð ñ1ó ð1ð ñ4ó ð4ð ñ*ó ð*ð ñ4ó ð4ð ñó ðð ñ!8ó ð!8ðF ñ!ó ð!òF4ðl ñMó ðMð^ ñG/ó ðG/ðR ñ;ó ð;ð| ñ@]ó ð@]ðH ñMQó ðMQðb ñOió ðOiðb ñ2ó ð2ð( ò;+ó ð;+ðz ñRó ðRð8 ñ,ó ð,ð
 ñLó ðLð ñHó ðHð ñdó ðdðLð ñ@+ó ñ@+r1   