+
     Bi                     V  a  R_ tg0 t . R`Ot^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHt ^ RIHtHt ^ RIHtHtHtHtHtHtHtHtHt ^ RI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)H*t*H+t+ ]! R4      t,]t- ! R R].4      t/R t0RaR lt1R t2RaR lt3R t4R t5R t6RbR lt7R t8R t9RaR lt:RaR lt;RaR lt<RaR lt=R t>RR/R lt?]*! R Rc4      t@R!R"/R# ltA/ tBR$ tC]C! R%R&4      R' 4       tD]C! R(4      R) 4       tE]C! R*4      R+ 4       tF]C! R,R-4      R. 4       tG]C! R/4      R0 4       tH]C! R1R24      R3 4       tIRdR4 ltJR5 tK]C! R6R74      R8 4       tLR9 tM]C! R:4      R; 4       tN]C! R<4      R= 4       tOACADAEAFAGAHAIALANAOReR>R"/R? lltPReR@R/RA lltQRB^RRC/RD ltR ! RE R 4      tSRF tTRaRG ltURH tVRI tWRJ tXRK tYRfRL ltZRMRRNR"RORPRQ^/RR RS llt[RT RU lt\^]P                  P                  ,          ^,           t_] ^ k RV RW lt`RX RY ltaRZ tbR[ R\ ltcR] td ^ R^IeHdtd R#   ]f d     R# i ; i)g
NormalDistStatisticsErrorNFraction)Decimal)countgroupbyrepeat)bisect_leftbisect_right)	hypotsqrtfabsexperfctaulogfsumsumprod)
isfiniteisinfpicossintancoshasinatanacos)reduce)
itemgetter)Counter
namedtupledefaultdict       @c                       ] tR t^tRtR# )r    N)__name__
__module____qualname____firstlineno____static_attributes__r&       !/usr/lib/python3.14/statistics.pyr   r      s    r,   c                 f    \        V 4      w  rpV^8  d   \        R4      h\        W#,          V4      # )   z%mean requires at least one data point)_sumr   _convert)dataTtotalns   &   r-   meanr6      s3    " t*KAa1uEFFEIq!!r,   c           
         Vf3    \        V 4      p\        V 4      pV'       g   \        R4      hW2,          # \        V\        \        34      '       g   \        V4      p \        W4      p\        T4      pT'       g   \        R4      hYV,          #   \         d@    \        4       p\        \	        \        ^ 4      \        Y4      4      4      p\        T4      p Li ; i  \         d    \        R4      hi ; i)Nz&fmean requires at least one data pointz(data and weights must be the same lengthzsum of weights must be non-zero)lenr   	TypeErrorr   mapr    zipnextr   
isinstancelisttupler   
ValueError)r2   weightsr5   r4   counternumdens   &&     r-   fmeanrE      s     	D	A JE!"JKKyge}--w-Jd$ w-C?@@95  	gGZ]C,>?@EWA		$  JHIIJs   B C ACCC4c                 Z  aa ^ oRoVV3R lp\        \        \        V! V 4      4      4      pS'       g   \        R4      h\        P
                  ! V4      '       d   \        P                  # S'       d(   V\        P                  8X  d   \        P                  # R# \        VS,          4      # )    Fc              3      <"   \        V ^R7       FD  w  opVR8  g   \        P                  ! V4      '       d   Vx  K/  VR8X  d   RoK:  \        RV4      h	  R# 5i)r/   start        TzNo negative inputs allowedN)	enumeratemathisnanr   )iterablex
found_zeror5   s   & r-   count_positive&geometric_mean.<locals>.count_positive   sM     ha0DAq3w$**Q--c!
%&BAFF 1s
   6A!AzMust have a non-empty datasetrK   )	r   r:   r   r   rM   rN   naninfr   )r2   rR   r4   rQ   r5   s   &  @@r-   geometric_meanrV      s     	
AJG S../0E=>>zz%xx DHH,txx5#5uqy>r,   c                    \        V 4      V J d   \        V 4      p R p\        V 4      pV^8  d   \        R4      hV^8X  dS   VfO   V ^ ,          p\	        V\
        P                  \        34      '       d   V^ 8  d   \        V4      hV# \        R4      hVf   \        ^V4      pTpMS\        V4      VJ d   \        V4      p\        V4      V8w  d   \        R4      h\        R \        W4       4       4      w  rep \        W4      p \        R \        W4       4       4      w  rxp	T^ 8:  d   \        R4      h\        YX,          T4      #   \         d     ^ # i ; i)z.harmonic mean does not support negative valuesz.harmonic_mean requires at least one data pointzunsupported typez*Number of weights does not match data sizec              3   $   "   T F  qx  K  	  R # 5iNr&   ).0ws   & r-   	<genexpr> harmonic_mean.<locals>.<genexpr>9  s      G,Fq,Fs   c              3   J   "   T F  w  rV'       d	   W,          M^ x  K  	  R# 5irG   Nr&   )rZ   r[   rP   s   &  r-   r\   r]   =  s     P=OTQquq0=O   !#zWeighted sum must be positive)iterr>   r8   r   r=   numbersRealr   r9   r	   r0   	_fail_negr;   ZeroDivisionErrorr1   )
r2   rA   errmsgr5   rP   sum_weights_r3   r4   r   s
   &&        r-   harmonic_meanri     sD   0 DzTDz=FD	A1uNOO	
aGOGa',,0111u%f--H.//A,=G#7mGw<1!"NOO  GIg,F GG&PS=OPP% z=>>K'++  s   :)E EEc                     \        V 4      p \        V 4      pV^ 8X  d   \        R4      hV^,          ^8X  d   W^,          ,          # V^,          pW^,
          ,          W,          ,           ^,          # rG   no median for empty datasortedr8   r   )r2   r5   is   &  r-   medianrp   G  sa     $<DD	AAv8991uzF|FUdg%**r,   c                     \        V 4      p \        V 4      pV^ 8X  d   \        R4      hV^,          ^8X  d   W^,          ,          # W^,          ^,
          ,          # rk   rm   r2   r5   s   & r-   
median_lowrs   _  sQ     $<DD	AAv8991uzF|FQJr,   c                 p    \        V 4      p \        V 4      pV^ 8X  d   \        R4      hW^,          ,          # rk   rm   rr   s   & r-   median_highru   x  s5     $<DD	AAv899Q<r,   c                 ~   \        V 4      p \        V 4      pV'       g   \        R 4      hW^,          ,          p\        W4      p\	        WVR7      p \        V4      p\        V4      pY1R,          ,
          pTpYT,
          pYaT^,          T,
          ,          T,          ,           #   \         d    \        R4      hi ; i)rl   )loz$Value cannot be converted to a floatr$   )rn   r8   r   r
   r   floatr@   r9   )	r2   intervalr5   rP   ro   jLcffs	   &&       r-   median_groupedr~     s    V $<DD	A899 	!VA 	DAT#AA?!H 	
sNA	
B	A1q52:&***  A>@@As   B% %B<c                     \        \        V 4      4      P                  ^4      p V^ ,          ^ ,          #   \         d    \	        R4      Rhi ; i)r/   zno mode for empty dataN)r!   ra   most_common
IndexErrorr   )r2   pairss   & r-   moder     sP    . DJ++A.EBQx{ B67TABs	   5 Ac                     \        \        V 4      4      pV'       g   . # \        VP                  4       4      pVP	                  4        UUu. uF  w  r4WB8X  g   K  VNK  	  upp# u uppi rY   )r!   ra   maxvaluesitems)r2   countsmaxcountvaluer   s   &    r-   	multimoder     sQ     T$Z F	6==?#H&,llnJnle8IEEnJJJs   
A$A$c                 t    \        W4      w  r#rEV^8  d   \        R4      h\        W5^,
          ,          V4      # )   z*variance requires at least two data points_ssr   r1   )r2   xbarr3   sscr5   s   &&    r-   variancer     s8    P d/KA11uJKKBa%L!$$r,   c                 f    \        W4      w  r#rEV^8  d   \        R4      h\        W5,          V4      # )r/   z*pvariance requires at least one data pointr   )r2   mur3   r   r   r5   s   &&    r-   	pvariancer   6  s4    J d-KA11uJKKBFAr,   c                    \        W4      w  r#rEV^8  d   \        R4      hW5^,
          ,          p\        V\        4      '       d!   \	        VP
                  VP                  4      # \        VP
                  VP                  4      # r   z'stdev requires at least two data pointsr   r   
issubclassr   _decimal_sqrt_of_frac	numeratordenominator_float_sqrt_of_frac)r2   r   r3   r   r   r5   msss   &&     r-   stdevr   a  sf     d/KA11uGHH
A,C!W$S]]COODDs}}coo>>r,   c                     \        W4      w  r#rEV^8  d   \        R4      hW5,          p\        V\        4      '       d!   \	        VP
                  VP                  4      # \        VP
                  VP                  4      # )r/   z'pstdev requires at least one data pointr   )r2   r   r3   r   r   r5   r   s   &&     r-   pstdevr   s  sb     d-KA11uGHH
&C!W$S]]COODDs}}coo>>r,   c                  aa \        V 4      p\        V4      V8w  d   \        R 4      hV^8  d   \        R4      h\        V 4      V,          o\        V4      V,          o\        V3R lV  4       V3R lV 4       4      pW2^,
          ,          # )zDcovariance requires that both inputs have same number of data pointsz,covariance requires at least two data pointsc              3   4   <"   T F  qS,
          x  K  	  R # 5irY   r&   )rZ   xir   s   & r-   r\   covariance.<locals>.<genexpr>  s     )q99q   c              3   4   <"   T F  qS,
          x  K  	  R # 5irY   r&   rZ   yiybars   & r-   r\   r     s     +B"IIr   )r8   r   r   r   )rP   yr5   sxyr   r   s   ""  @@r-   
covariancer     sv    $ 	AA
1v{dee1uLMM7Q;D7Q;D
)q)+B+B
CCa%=r,   methodlinearc               R   \        V 4      p\        V4      V8w  d   \        R 4      hV^8  d   \        R4      hVR9  d   \        RV: 24      hVR8X  d*   V^,
          R,          p\        WR7      p \        WR7      pMR\	        V 4      V,          p\	        V4      V,          pV  Uu. uF  qwV,
          NK  	  p pV Uu. uF  qV,
          NK  	  pp\        W4      p	\        W 4      p
\        W4      p V	\        W4      ,          # u upi u upi   \         d    \        R4      hi ; i)zEcorrelation requires that both inputs have same number of data pointsz-correlation requires at least two data pointsrankedUnknown method: rI   z&at least one of the inputs is constant>   r   r   )r8   r   r@   _rankr   r   	_sqrtprodre   )rP   r   r   r5   rJ   r   r   r   r   r   sxxsyys   ""$         r-   correlationr     s    4 	AA
1v{eff1uMNN))+F:677Q"!!!! Aw{Aw{!"#2$YY#!"#2$YY#
!-C
!-C
!-CHYs((( $#  HFGGHs   'D>D
3D D&LinearRegressionproportionalFc                 a
 \        V 4      p\        V4      V8w  d   \        R 4      hV^8  d   \        R4      hV'       gH   \        V 4      V,          p\        V4      V,          o
V  Uu. uF  qUV,
          NK  	  p pV
3R lV 4       p\        W4      R,           p\        W 4      p Wg,          pT'       d   RMS
TX,          ,
          p	\        YR7      # u upi   \         d    \        R4      hi ; i)zKlinear regression requires that both inputs have same number of data pointsz3linear regression requires at least two data pointsc              3   4   <"   T F  qS,
          x  K  	  R # 5irY   r&   r   s   & r-   r\   $linear_regression.<locals>.<genexpr>  s     #2$YYr   rK   zx is constantslope	intercept)r8   r   r   r   re   r   )rP   r   r   r5   r   r   r   r   r   r   r   s   ""$       @r-   linear_regressionr     s    N 	AA
1v{kll1uSTTAw{Aw{!"#2$YY###
!-#
C
!-C/	 $)<I%== $  /o../s   *C'C C1c                     a  V 3R  lpV# )c                 `   < \        \        RV ! 4       4      4      pS F  pV\        V&   K  	  V # )pdfr   cdfinvcdfsupport)dictr;   _kernel_specs)builderspeckernelkernelss   &  r-   decoregister.<locals>.deco#  s0    C;WYGHF$(M&! r,   r&   )r   r   s   j r-   registerr   !  s    
 Kr,   normalgaussc                  t   aa \        ^\        ,          4      o\        ^4      ) oV3R lp V3R lpR pRpWW#3# )r   c                 D   < \        RV ,          V ,          4      S,          # )r/         ࿩r   )tsqrt2pis   &r-   <lambda>normal_kernel.<locals>.<lambda>.  s    Cq1%/r,   c                 6   < R\        V S,          4      ,          # r/         ?)r   )r   	neg_sqrt2s   &r-   r   r   /  s    C$q9}--r,   c                     \        V R R4      # rK         ?_normal_dist_inv_cdfr   s   &r-   r   r   0  s    +AsC8r,   N)r   r   )r   r   r   r   r   r   s       @@r-   normal_kernelr   *  s:    1r6lGaI
/C
-C8FGV$$r,   logisticc                       R  p R pR pRpWW#3# )c                 4    RR\        V 4      ,           ,          # )r/   r   r   r   r   s   &r-   r   !logistic_kernel.<locals>.<lambda>7  s    C3a=)r,   c                 B    R R \        V 4      R ,           ,          ,
          # r   r   r   s   &r-   r   r   8  s    C#Q#..r,   c                 4    \        V R V ,
          ,          4      # r   )r   ps   &r-   r   r   9  s    s1a=)r,   Nr&   r   s       r-   logistic_kernelr   4  s#     *C
.C)FGV$$r,   sigmoidc                     aaa ^\         ,          o^\         ,          o\         ^,          oV3R lp V3R lpV3R lpRpWW#3# )r/   c                 (   < S\        V 4      ,          # rY   r   )r   c1s   &r-   r    sigmoid_kernel.<locals>.<lambda>C  s    BaLr,   c                 :   < S\        \        V 4      4      ,          # rY   )r   r   r   c2s   &r-   r   r   D  s    Bc!f%r,   c                 :   < \        \        V S,          4      4      # rY   )r   r   )r   c3s   &r-   r   r   E  s    s3q2v;'r,   Nr   )r   r   r   r   r   r   r   s       @@@r-   sigmoid_kernelr   =  s?     
RB	
RB	aB
 C
%C'FGV$$r,   rectangularuniformc                       R  p R pR pRpWW#3# )c                     R# r   r&   r   s   &r-   r   $rectangular_kernel.<locals>.<lambda>K  s    Cr,   c                 "    RV ,          R,           # r   r&   r   s   &r-   r   r  L  s    C!GcMr,   c                 "    R V ,          R,
          # r$   r   r&   r   s   &r-   r   r  M  s    sQw}r,   r   r&   r   s       r-   rectangular_kernelr  I  s!    
C
!C$FGV$$r,   
triangularc                       R  p R pR pRpWW#3# )c                 &    R \        V 4      ,
          # r   absr   s   &r-   r   #triangular_kernel.<locals>.<lambda>S  s    C#a&Lr,   c                 N    W ,          V R 8  d   RMR,          V ,           R,           # )rK   r   r   r&   r   s   &r-   r   r  T  s    AC!c'3t4q83>r,   c                     V R8  d   \        RV ,          4      R,
          # R\        RRV ,          ,
          4      ,
          # )r/   r$   r   r   )r   r   s   &r-   r   r  U  s1    AGtCE{S(PtC#a%K?P9PPr,   r   r&   r   s       r-   triangular_kernelr  Q  s!    
 C
>CPFGV$$r,   	parabolicepanechnikovc                       R  p R pR pRpWW#3# )c                 .    RRW ,          ,
          ,          # )   r         ?r&   r   s   &r-   r   "parabolic_kernel.<locals>.<lambda>[  s    C3;'r,   c                 .    \        RV ^,          V R34      # )r/   r   )g      пr  r   r   r   s   &r-   r   r  \  s    G,q!tQn=r,   c                 x    R \        \        R V ,          R,
          4      \        ,           R,          4      ,          # )r$   r   g      @)r   r   r   r   s   &r-   r   r  ]  s%    sS$s1us{"3b"8C!?@@r,   r   r&   r   s       r-   parabolic_kernelr  Y  s!    
'C
=C@FGV$$r,   c                     a aaa VV VV3R  lpV# )c                    < S! V 4      p\        S! V4      V ,
          ;p4      S8  d   WS! V4      ,          ,          pK6  V# rY   r  )r   rP   diffr}   f_inv_estimatef_prime	tolerances   &  r-   f_inv_newton_raphson.<locals>.f_invb  s=    1!A$("$#i/
""Ar,   r&   )r  r}   r   r!  r"  s   ffff r-   _newton_raphsonr$  a  s      Lr,   c                    V R
8:  d   RV 3M
RRV ,
          3w  rV R8  d   RV ,          R,          R,
          V,          # RV ,          R,          R,
          pV R8  d(   VR\        RV ,          R	,           4      ,          ,          pW!,          # )r/   r   ggs?r$   gq-?g鼹A?V-?gMp^v?g$2h@g_@r         r   r   signrP   s   &  r-   _quartic_invcdf_estimater+  j  s|    s(sAhsQwGD6zqV#c)T11	q_$s*A5y	[3{Q1AABBB8Or,   quarticbiweightc                  <    R  p R p\        \        WR7      pRpWW#3# )c                 <    RRW ,          ,
          ^,          ,          # )   r         ?r&   r   s   &r-   r    quartic_kernel.<locals>.<lambda>v      ES15[Q..r,   c                 >    \        RV ^,          V ^,          V R34      # )r  r   )g      ?g      r1  r   r  r   s   &r-   r   r2  w  s     G4T1a4C02r,   r}   r   r   )r$  r+  r   s       r-   quartic_kernelr6  t  s+    
.C2C5JFGV$$r,   c                    V R	8:  d   RV 3M
R
RV ,
          3w  rRV ,          R,          R,
          pRT u;8  d   R8  d=   M	 W!,          # VR\        R\        ,          V R,
          ,          4      ,          ,          pW!,          # )r/   r   r$   gc?gh㈵>r&  gL7A`?gQ?gQ?r   r'  )r   r   r)  s   &  r-   _triweight_invcdf_estimater8  }  so    s(sAhsQwGD	q''#-AU8O 	
USq5y12228Or,   	triweightc                  <    R  p R p\        \        WR7      pRpWW#3# )c                 <    RRW ,          ,
          ^,          ,          # )#   r        ?r&   r   s   &r-   r   "triweight_kernel.<locals>.<lambda>  r3  r,   c                 N    \        RV ^,          V ^,          V ^,          V R34      # )   r   )g      Ŀg      ?g     r=  r   r  r   s   &r-   r   r>    s&    G>T1a4Aq#68r,   r5  r   )r$  r8  r   s       r-   triweight_kernelrA    s+    
.C8C73LFGV$$r,   cosinec                  f   aa \         ^,          o\         ^,          oVV3R lp V3R lpR pRpWW#3# )   c                 6   < S\        SV ,          4      ,          # rY   )r   )r   r   r   s   &r-   r   cosine_kernel.<locals>.<lambda>  s    BR!V$r,   c                 D   < R\        SV ,          4      ,          R,           # r   r(  r   s   &r-   r   rF    s    C#b1f+%+r,   c                 X    R \        R V ,          R,
          4      ,          \        ,          # r  )r   r   r   s   &r-   r   rF    s    sT#'C-0025r,   r   r   )r   r   r   r   r   r   s       @@r-   cosine_kernelrI    s4    	aB	aB
$C
+C5FGV$$r,   
cumulativec                ,  a aaa	a
aa \        S 4      oS'       g   \        R 4      h\        S ^ ,          \        \        34      '       g   \        R4      hSR8:  d   \        RS: 24      h\        P                  V4      pVf   \        RV: 24      hVR,          oVR,          o	VR,          pVf   VV V3R lpV	V V3R	 lpM*\        S 4      oSV,          o
VV
V VVV3R
 lpV	V
V VVV3R lpV'       d   RS: RV: 2Vn	        V# RS: RV: 2Vn	        V# )Empty data sequence)Data sequence must contain ints or floatsrK   $Bandwidth h must be positive, not h=Unknown kernel name: r   r   r   c                 b   <a  \        VVV 3R  lS 4       4      \        S4      S,          ,          # )c              3   P   <"   T F  pS! SV,
          S,          4      x  K  	  R # 5irY   r&   rZ   x_iKhrP   s   & r-   r\   #kde.<locals>.pdf.<locals>.<genexpr>  !     84Cq!c'Q''4   #&sumr8   )rP   rT  r2   rU  s   fr-   r   kde.<locals>.pdf  s!    8488CIMJJr,   c                 T   <a  \        VVV 3R  lS 4       4      \        S4      ,          # )c              3   P   <"   T F  pS! SV,
          S,          4      x  K  	  R # 5irY   r&   rZ   rS  WrU  rP   s   & r-   r\   #kde.<locals>.cdf.<locals>.<genexpr>  rW  rX  rY  )rP   r_  r2   rU  s   fr-   r   kde.<locals>.cdf  s    84883t9DDr,   c                    <a  \        S4      S8w  d   \        S4      o	\        S4      o\        S	S S,
          4      p\        S	S S,           4      pS	W p\	        VVV 3R  lV 4       4      SS,          ,          # )c              3   P   <"   T F  pS! SV,
          S,          4      x  K  	  R # 5irY   r&   rR  s   & r-   r\   rV  '  s!     =9Cq!c'Q''9rX  r8   rn   r
   r   rZ  )
rP   ro   rz   	supportedrT  	bandwidthr2   rU  r5   samples
   f   r-   r   r[    sc    4yA~IFA	M2AVQ]3AqI=9==QGGr,   c                    <a  \        S4      S8w  d   \        S4      o	\        S4      o\        S	S S,
          4      p\        S	S S,           4      pS	W p\	        VVV 3R  lV 4       V4      S,          # )c              3   P   <"   T F  pS! SV,
          S,          4      x  K  	  R # 5irY   r&   r^  s   & r-   r\   r`  1  s!     >IS1s7a-((IrX  rd  )
rP   ro   rz   re  r_  rf  r2   rU  r5   rg  s
   f   r-   r   ra  )  sa    4yA~IFA	M2AVQ]3AqI>I>BQFFr,   zCDF estimate with h= and kernel=zPDF estimate with h=)
r8   r   r=   intrx   r9   r   getrn   __doc__)r2   rU  r   rJ  kernel_specr   r   r   rT  r_  rf  r5   rg  s   ff&$    @@@@@r-   kdero    s   H 	D	A344d1gU|,,CDDCx E1&IJJ##F+K 5fZ@AAEAEA)$G	K	E 	E
 K		H 	H	G 	G -1&f[A
 .1&f[A
r,   seedc                  a aaa	a
 \        S 4      pV'       g   \        R 4      h\        S ^ ,          \        \        34      '       g   \        R4      hSR8:  d   \        RS: 24      h\        P                  V4      pVf   \        RV: 24      hVR,          o	\        P                  V4      pVP                  o
VP                  oVV VV	V
3R lpRS: RV: 2Vn        V# )	rL  rM  rK   rN  rO  r   c                  F   < S ! S4      SS! S! 4       4      ,          ,           # rY   r&   )choicer2   rU  r   randoms   r-   randkde_random.<locals>.randa  s    d|a&"2222r,   zRandom KDE selection with h=rj  )r8   r   r=   rk  rx   r9   r   rl  _randomRandomrt  rs  rm  )r2   rU  r   rp  r5   rn  prngru  rs  r   rt  s   ff&$    @@@r-   
kde_randomrz  <  s    $ 	D	A344d1gU|,,CDDCx E1&IJJ##F+K 5fZ@AA"F>>$D[[F[[F3 3 3v]6+FDLKr,   r5   	exclusivec                .   V^8  d   \        R4      h\        V 4      p \        V 4      pV^8  d"   V^8X  d   W^,
          ,          # \        R4      hVR8X  d}   V^,
          p. p\        ^V4       F_  p\	        Wd,          V4      w  rxW,          W,
          ,          W^,           ,          V,          ,           V,          p	VP                  V	4       Ka  	  V# VR8X  d   V^,           p. p\        ^V4       F  pWd,          V,          pV^8  d   ^MWs^,
          8  d
   V^,
          MTpWd,          Wq,          ,
          pW^,
          ,          W,
          ,          W,          V,          ,           V,          p	VP                  V	4       K  	  V# \        RV: 24      h)r/   zn must be at least 1z!must have at least one data point	inclusiver{  r   )r   rn   r8   rangedivmodappendr@   )
r2   r5   r   ldmresultro   rz   deltainterpolateds
   &$$       r-   	quantilesr    s\   " 	1u455$<D	TB	Av7q5>!ABBFq!AaeQ'HA Gqy1DQK%4GG1LLMM,'  Fq!A
AUqD1aAC!#IE QK195%G1LLMM,'  
'z2
33r,   c                     a  ] tR tRt o RRRR/tR#R lt]R 4       tRR	/R
 ltR t	R t
R tR$R ltR tR t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tR tR tR tR tR tR t]tR t]tR tR tR t R  t!R! t"R"t#V t$R	# )%r   i  _muz(Arithmetic mean of a normal distribution_sigmaz+Standard deviation of a normal distributionc                j    VR 8  d   \        R4      h\        V4      V n        \        V4      V n        R# )rK   zsigma must be non-negativeN)r   rx   r  r  )selfr   sigmas   &&&r-   __init__NormalDist.__init__  s+    3;!">??9Elr,   c                     V ! \        V4      !  # rY   )_mean_stdev)clsr2   s   &&r-   from_samplesNormalDist.from_samples  s     K%&&r,   rp  Nc                   Vf   \         P                   M\         P                  ! V4      P                   p\        pV P                  pV P                  p\        R V4       Uu. uF  qt! V! 4       WV4      NK  	  up# u upi rY   )rt  rx  r   r  r  r	   )r  r5   rp  rndinv_cdfr   r  rh   s   &&$     r-   samplesNormalDist.samples  s^    #|fmmt1D1K1K&XX39$?C?ar)?CCCs   !A:c                    V P                   V P                   ,          pV'       g   \        R 4      hWP                  ,
          p\        W3,          RV,          ,          4      \	        \
        V,          4      ,          # )z$pdf() not defined when sigma is zerog       )r  r   r  r   r   r   )r  rP   r   r  s   &&  r-   r   NormalDist.pdf  sR    ;;,!"HII88|4;$/23d3>6JJJr,   c                    V P                   '       g   \        R 4      hR\        V P                  V,
          V P                   \        ,          ,          4      ,          # )z$cdf() not defined when sigma is zeror   )r  r   r   r  _SQRT2r  rP   s   &&r-   r   NormalDist.cdf  s=    {{{!"HIIT488a<DKK&,@ABBBr,   c                t    VR 8:  g   VR8  d   \        R4      h\        WP                  V P                  4      # )rK   r   z$p must be in the range 0.0 < p < 1.0)r   r   r  r  )r  r   s   &&r-   r  NormalDist.inv_cdf  s2     8qCx!"HII#Axx==r,   c                l    \        ^V4       Uu. uF  q P                  W!,          4      NK  	  up# u upi r/   )r~  r  )r  r5   ro   s   && r-   r  NormalDist.quantiles  s+     .31a[9[QU#[999s   1c           	        \        V\        4      '       g   \        R 4      hYr2VP                  VP                  3VP                  VP                  38  d   Y2r2VP
                  VP
                  rTV'       d	   V'       g   \        R4      hWT,
          p\        VP                  VP                  ,
          4      pV'       g/   \        VRVP                  ,          \        ,          ,          4      # VP                  V,          VP                  V,          ,
          pVP                  VP                  ,          \        Ww,          V\        WT,          4      ,          ,           4      ,          p	W,           V,          p
W,
          V,          pR\        VP                  V
4      VP                  V
4      ,
          4      \        VP                  V4      VP                  V4      ,
          4      ,           ,
          # )z$Expected another NormalDist instancez(overlap() not defined when sigma is zeror$   r   )r=   r   r9   r  r  r   r   r   r   r  r   r   r   )r  otherXYX_varY_vardvdmabx1x2s   &&          r-   overlapNormalDist.overlap  sI     %,,BCC1HHaee!%%00qzz1::uE!"LMM]!%%!%%- cAHHnv5677EEEMAEEEM)HHqxx$rwc%-6H1H'H"IIer\er\d1559quuRy01DrQUU2Y9N4OOPPr,   c                    V P                   '       g   \        R 4      hWP                  ,
          V P                   ,          # )z'zscore() not defined when sigma is zero)r  r   r  r  s   &&r-   zscoreNormalDist.zscore)  s.     {{{!"KLLHH++r,   c                    V P                   # rY   r  r  s   &r-   r6   NormalDist.mean4       xxr,   c                    V P                   # rY   r  r  s   &r-   rp   NormalDist.median9  r  r,   c                    V P                   # rY   r  r  s   &r-   r   NormalDist.mode>  s     xxr,   c                    V P                   # rY   r  r  s   &r-   r   NormalDist.stdevG  s     {{r,   c                <    V P                   V P                   ,          # rY   r  r  s   &r-   r   NormalDist.varianceL  s     {{T[[((r,   c                   \        V\        4      '       dF   \        V P                  VP                  ,           \        V P                  VP                  4      4      # \        V P                  V,           V P                  4      # rY   r=   r   r  r   r  r  r  s   &&r-   __add__NormalDist.__add__Q  R     b*%%bffrvvouRYY		/JKK"&&2+ryy11r,   c                   \        V\        4      '       dF   \        V P                  VP                  ,
          \        V P                  VP                  4      4      # \        V P                  V,
          V P                  4      # rY   r  r  s   &&r-   __sub__NormalDist.__sub___  r  r,   c                p    \        V P                  V,          V P                  \        V4      ,          4      # rY   r   r  r  r   r  s   &&r-   __mul__NormalDist.__mul__m  &     "&&2+ryy48';<<r,   c                p    \        V P                  V,          V P                  \        V4      ,          4      # rY   r  r  s   &&r-   __truediv__NormalDist.__truediv__u  r  r,   c                B    \        V P                  V P                  4      # rY   r   r  r  r  s   &r-   __pos__NormalDist.__pos__}  s    "&&")),,r,   c                D    \        V P                  ) V P                  4      # rY   r  r  s   &r-   __neg__NormalDist.__neg__  s    266'299--r,   c                    W,
          ) # rY   r&   r  s   &&r-   __rsub__NormalDist.__rsub__  s    zr,   c                    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # rY   )r=   r   NotImplementedr  r  r  s   &&r-   __eq__NormalDist.__eq__  s=    "j))!!vv::BII$::r,   c                D    \        V P                  V P                  34      # rY   )hashr  r  r  s   &r-   __hash__NormalDist.__hash__  s    TXXt{{+,,r,   c                j    \        V 4      P                   R V P                  : RV P                  : R2# )z(mu=z, sigma=))typer'   r  r  r  s   &r-   __repr__NormalDist.__repr__  s.    t*%%&d488,ht{{oQOOr,   c                2    V P                   V P                  3# rY   r  r  r  s   &r-   __getstate__NormalDist.__getstate__  s    xx$$r,   c                $    Vw  V n         V n        R # rY   r  )r  states   &&r-   __setstate__NormalDist.__setstate__  s     %$+r,   r  r   )rD  )%r'   r(   r)   r*   	__slots__r  classmethodr  r  r   r   r  r  r  r  propertyr6   rp   r   r   r   r  r  r  r  r  r  __radd__r  __rmul__r  r  r  r  r  r+   __classdictcell__)__classdict__s   @r-   r   r     s     	9?I
# ' 'D DKC>	: QD	,         ) )22==-. H H;-P%& &r,   c                    ^ p\        4       pVP                  p/ pVP                  p\        V \        4       FA  w  rgV! V4       \        \        V4       F   w  rV^,          pV! V	^ 4      V,           WI&   K"  	  KC  	  RV9   d   VR,          p
M \        R VP                  4        4       4      p
\        \        V\        4      pWV3# )rG   Nc              3   <   "   T F  w  r\        W!4      x  K  	  R # 5irY   r   rZ   dr5   s   &  r-   r\   _sum.<locals>.<genexpr>  s     @/?tqHQNN/?   )setaddrl  r   r  r:   _exact_ratiorZ  r   r   _coercerk  )r2   r   types	types_addpartialspartials_gettypr   r5   r  r4   r3   s   &           r-   r0   r0     s    B EEE		IH<<LtT*#f-DAQJE&q!,q0HK . + x  @x~~/?@@ws#Aer,   c                   aa Se   \        VV3R lV  4       4      w  r#pW#SV3# ^ p\        4       pVP                  p\        \        4      p\        \        4      p\        V \        4       F`  w  rV! V	4       \        \        V
4       F?  w  poV^,          pVS;;,          V,          uu&   VS;;,          W,          ,          uu&   KA  	  Kb  	  V'       g   \        ^ 4      ;poMwR V9   d   VR ,          ;poMd\        R VP                  4        4       4      p\        R VP                  4        4       4      pWM,          W,          ,
          V,          pW,          o\        \        V\        4      pW#SV3# )Nc              3   F   <"   T F  qS,
          ;oS,          x  K  	  R # 5irY   r&   )rZ   rP   r   r  s   & r-   r\   _ss.<locals>.<genexpr>  s     <t!q5jaA--ts   !c              3   <   "   T F  w  r\        W!4      x  K  	  R # 5irY   r   r  s   &  r-   r\   r    s     @,?DA!,?r   c              3   J   "   T F  w  r\        W!V,          4      x  K  	  R # 5irY   r   r  s   &  r-   r\   r    s      D/Ctq(1c""/Cr`   )r0   r  r  r#   rk  r   r  r:   r  r   rZ  r   r   r  )r2   r   r3   ssdr   r  r  sx_partialssxx_partialsr	  r   r5   sxr   r  s   &f            @r-   r   r     sA    	}<t<<5!!EEE		Ic"Ks#LtT*#f-DAqQJENaNOqu$O . + 1+a		 d##a @K,=,=,?@@D|/A/A/CDD {RW$-Jws#AAur,   c                 r     V P                  4       #   \         d    \        P                  ! T 4      u # i ; irY   )	is_finiteAttributeErrorrM   r   )rP   s   &r-   	_isfiniter    s1     {{}  }}Q s    !66c                 
   WJ d   V # V\         J g   V\        J d   V # V \         J d   V# \        W4      '       d   V# \        W4      '       d   V # \        V \         4      '       d   V# \        V\         4      '       d   V # \        V \        4      '       d   \        V\        4      '       d   V# \        V \        4      '       d   \        V\        4      '       d   V # R p\        W P                  VP                  3,          4      h)z"don't know how to coerce %s and %s)rk  boolr   r   rx   r9   r'   )r3   Smsgs   && r-   r  r    s     	vqCx19axCx(!(!(!S1H!S1H!X:a#7#7!U
1h 7 7
.C
C::qzz22
33r,   c                 
    V P                  4       #   \         d     M\        \        3 d    T R 3u # i ; i T P                  T P
                  3#   \         d&    R\        T 4      P                   R2p\        T4      hi ; i)Nzcan't convert type 'z' to numerator/denominator)	as_integer_ratior  OverflowErrorr@   r   r   r  r'   r9   )rP   r  s   & r-   r  r  3  s    !!## :&  4y
Q]]++ $T!W%5%5$66PQns    6666A 0Bc                 2   \        V 4      VJ d   V # \        V\        4      '       d   V P                  ^8w  d   \        p V! V 4      #   \
         dD    \        T\        4      '       d,   T! T P                  4      T! T P                  4      ,          u # h i ; ir  )r  r   rk  r   rx   r9   r   r   )r   r3   s   &&r-   r1   r1   M  s    E{a !Se//14x a!!U__%%*;*;(<<<	s    A A
BBc              #   L   "   V  F  pV^ 8  d   \        V4      hVx  K  	  R# 5ir_   )r   )r   rf   rP   s   && r-   rd   rd   a  s&     q5!&)) s   "$keyreversetiesaveragerJ   c                :    V ^8  d   QhR\         \        ,          /# )r   return)r>   rx   )formats   "r-   __annotate__r'  i  s     3 34PU; 3r,   c                  VR 8w  d   \        RV: 24      hVe   \        W4      p \        \        V \	        4       4      VR7      pV^,
          p^ .\        V4      ,          p\        V\        ^ 4      R7       FH  w  r\        V	4      p
\        V
4      pWk^,           ^,          ,           pV
 F	  w  rWV&   K  	  Wk,          pKJ  	  V# )r#  zUnknown tie resolution method: )r!  )r   )	r@   r:   rn   r;   r   r8   r   r    r>   )r2   r   r!  r"  rJ   val_posro   r  rh   ggroupsizerankr   orig_poss   "$$$$          r-   r   r   i  s    J y:4(CDD
3~Suw'9G	AS3w<FZ]3Q5z1H>!$OE#8  %		 4 Mr,   c                <    V ^8  d   QhR\         R\         R\         /# r   r5   r  r%  )rk  )r&  s   "r-   r'  r'    s!         r,   c                 l    \         P                  ! W,          4      pW"V,          V,          V 8g  ,          # rY   )rM   isqrt)r5   r  r  s   && r-   _integer_sqrt_of_frac_rtor3    s)     	

16A!A
r,   c                <    V ^8  d   QhR\         R\         R\        /# r0  )rk  rx   )r&  s   "r-   r'  r'    s!     
# 
#3 
#3 
#5 
#r,   c                 *   V P                  4       VP                  4       ,
          \        ,
          ^,          pV^ 8  d+   \        W^V,          ,          4      V,          p^pW4,          # \        V RV,          ,          V4      p^V) ,          pW4,          # )r   r   )
bit_length_sqrt_bit_widthr3  )r5   r  qr   r   s   &&   r-   r   r     s|     
!,,.	(?	:q@AAv-aa!e<A	 "" .a26k1=	A2g""r,   c                <    V ^8  d   QhR\         R\         R\        /# r0  )rk  r   )r&  s   "r-   r'  r'    s!      S S W r,   c                 V   V ^ 8:  d   V '       g   \        R4      # V ) V) r\        V 4      \        V4      ,          P                  4       pVP                  4       w  r4VP                  4       pVP                  4       w  rg^V ,          WG,          ^,          ,          WV,          Ws,          ,           ^,          ,          8  d   V# VP	                  4       pVP                  4       w  r^V ,          WJ,          ^,          ,          WV	,          W,          ,           ^,          ,          8  d   V# V# )rG   z0.0)r   r   r  	next_plus
next_minus)r5   r  rootnrdrplusnpdpminusnmr  s   &&         r-   r   r     s    
 	Av5>!rA21AJ#))+D""$FB>>D""$FB1uzAB 222OOE##%FB1uzAB 222Kr,   c                 &   \        V 4      w  rr4V^8  d   \        R4      hW$^,
          ,          p \        V4      \        VP                  VP
                  4      3#   \         d*    \        T4      \        T4      \        T4      ,          3u # i ; ir   )r   r   rx   r   r   r   r  )r2   r3   r   r   r5   r   s   &     r-   r  r    s|    YNA41uGHH
A,C4T{/sOOO 4T{E$K%)3334s   *A 1BBc                <    V ^8  d   QhR\         R\         R\         /# )r   rP   r   r%  )rx   )r&  s   "r-   r'  r'    s!       5 U r,   c                    \        W,          4      p\        V4      '       gW   \        V4      '       dD   \        V 4      '       g3   \        V4      '       g"   Rp\        W0,          W1,          4      V,          # V# V'       g4   V '       d*   V'       d"   Rp\        W0,          W1,          4      V,          # V# \	        W3W) 34      pW$R V,          ,          ,           # )r$   g      g      a)r   r   r   r   r   )rP   r   rU  scaler  s   &&   r-   r   r     s     	QUAA;;88E!HHU1XXEUY	2U:: EUY	2U:: 	B AC!G}r,   c                    V R ,
          p\        V4      R8:  d   RW3,          ,
          pRV,          R,           V,          R,           V,          R,           V,          R,           V,          R,           V,          R	,           V,          R
,           V,          pRV,          R,           V,          R,           V,          R,           V,          R,           V,          R,           V,          R,           V,          R,           pWV,          pWV,          ,           # VR8:  d   T MRV ,
          p\        \        V4      ) 4      pVR8:  d   VR,
          pRV,          R,           V,          R,           V,          R,           V,          R,           V,          R,           V,          R,           V,          R,           pRV,          R,           V,          R ,           V,          R!,           V,          R",           V,          R#,           V,          R$,           V,          R,           pMVR,
          pR%V,          R&,           V,          R',           V,          R(,           V,          R),           V,          R*,           V,          R+,           V,          R,,           pR-V,          R.,           V,          R/,           V,          R0,           V,          R1,           V,          R2,           V,          R3,           V,          R,           pWV,          pVR8  d   V) pWV,          ,           # )4r   g333333?gQ?g^}o)@gE.kR@g Ul@g*u>l@gN@g"]Ξ@gnC`@gu@giK~j@gv|E@gd|1@gfRr@gu.2@g~y@gn8(E@r   rK   g      @g?g鬷ZaI?ggElD?g7\?guSS?g=.@gj%b@gHw@gjRe?g9dh?>g('߿A?g~z ?g@3?gɅ3?g3fRx?gIFl @gt>g*Yn>gESB\T?gN;A+?gUR1?gEF?gPn@g&>@gi<g@F>gtcI,\>gŝI?g*F2v?gC4?gO1?)r   r   r   )r   r   r  r8  rrC   rD   rP   s   &&&     r-   r   r     s    	
CAAw%qu0140145601456 11 566 1	1 56	6
 11
 566 11 566 11 566 1140145601456 11 566 1	1 56	6
 11
 566 11 566  IY#X37Ac!fWACxG1A51256712567 22 677 2	2 67	7
 22
 677 22 677 22 2A51256712567 22 677 2	2 67	7
 22
 677 22 677  G1A51256712567 22 677 2	2 67	7
 22
 677 22 677 22 3Q61256712567 22 677 2	2 67	7
 22
 677 22 677  		A3wBUr,   r   c                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r   r7  )__conditional_annotations__rk  )r&  s   "r-   r'  r'  k   s       z1 7 6 6{1r,   )r   r   r   r   rE   rV   ri   ro  rz  r   r6   rp   r~   ru   rs   r   r   r   r   r  r   r   rY   r   r   )g-q=)r   )znegative value)hrL  __all__rM   rb   rt  sys	fractionsr   decimalr   	itertoolsr   r   r	   bisectr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	functoolsr   operatorr    collectionsr!   r"   r#   r  rw  r@   r   r6   rE   rV   ri   rp   rs   ru   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r$  r+  r6  r8  rA  rI  ro  rz  r  r   r0   r   r  r  r  r1   rd   r   r3  
float_infomant_digr7  r   r   r  r   r   _statisticsImportErrorr'  )rL  s   @r-   <module>rZ     s  V 2    
   , , , F F F K K K   8 8	c
	j 	".(V%P<,~+0 2&E+PB<K.+%\(V?$?(:4H8 4Hn 02HI <>u <>B  
(G% % 
*% % 
)	% 	% 
-#% $% 
,% % 
+~&% '% 
)Z % !% 
+% % 
(% % m_n)+;$m\ \~* *b04 04; 04j\& \&B7t,^ 4@4(3$ 3 3I 3Q 3l 3>>222Q6 6
#8
44K^	0 		s   H H('H(