+
    i  c                   s<   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RItR.t]P                  P                  t	]P                  P                  t] P                  ! RR7      R 4       t]P                  ! R]P                  ]P                   ,          4      tRR ltR t]P                  ! R]P(                  ]P                  ,          4      P*                  t]P                  ! R	]P(                  ]P                  ,          4      P*                  t ! R
 R]P0                  4      tR# )    NFraction)Zmaxsizec                 s     \        VR\        4      p\        \        \        V 4      4      V,          4      pV ^ 8  d   TMV) pVR8X  d   R# T#   \         d
    \
        p L*i ; i)   i)Zpow_PyHASH_MODULUSZhashabs
ValueError_PyHASH_INF)	numeratordenominatorZdinvZhash_Zresults   &&   "/usr/lib64/python3.14/fractions.py_hash_algorithmr      se    2;O4( T#i.)D011nU5&F22)6)+  s   A A"!A"a  
    \A\s*                                  # optional whitespace at the start,
    (?P<sign>[-+]?)                        # an optional sign, then
    (?=\d|\.\d)                            # lookahead for digit or .digit
    (?P<num>\d*|\d+(_\d+)*)                # numerator (possibly empty)
    (?:                                    # followed by
       (?:\s*/\s*(?P<denom>\d+(_\d+)*))?   # an optional denominator
    |                                      # or
       (?:\.(?P<decimal>\d*|\d+(_\d+)*))?  # an optional fractional part
       (?:E(?P<exp>[-+]?\d+(_\d+)*))?      # and optional exponent
    )
    \s*\z                                  # and optional whitespace to finish
c                 s   V^ 8  d   V^
V,          ,          pMV ^
V) ,          ,          p \        W^,	          ,           V4      w  rEV^ 8X  d   V^,          ^ 8X  d
   VR,          pV'       d   V^ 8  MV ^ 8  pV\        V4      3# )r    r   )divmodr   )ndexponentno_neg_zeroZqZrsigns   &&&&   r
   _round_to_exponentr   I   sx     1}	R\	R(] !Av,"DAAv!a%1*	R1q5QUDQ<    c                 sD   V ^ 8X  d   R^ ^V,
          3# \        \        V 4      4      \        V4      rC\        V4      \        V4      ,
          WC8*  ,           pWR,
          p\        WV4      w  rx\        \        V4      4      V^,           8X  d   V^
,          pV^,          pWxV3# )r    F)strr   lenr   )	r   r   figuresZstr_nZstr_dmr   r   significands	   &&&      r
   _round_to_figuresr   f   s    " 	AvaW$$ s1v;A5E
SZ5>2A {H*1:D 3{!+Ah&&r   ay  
    (?:
        (?P<fill>.)?
        (?P<align>[<>=^])
    )?
    (?P<sign>[-+ ]?)
    # Alt flag forces a slash and denominator in the output, even for
    # integer-valued Fraction objects.
    (?P<alt>\#)?
    # We don't implement the zeropad flag since there's no single obvious way
    # to interpret it.
    (?P<minimumwidth>0|[1-9][0-9]*)?
    (?P<thousands_sep>[,_])?
a  
    (?:
        (?P<fill>.)?
        (?P<align>[<>=^])
    )?
    (?P<sign>[-+ ]?)
    (?P<no_neg_zero>z)?
    (?P<alt>\#)?
    # A '0' that's *not* followed by another digit is parsed as a minimum width
    # rather than a zeropad flag.
    (?P<zeropad>0(?=[0-9]))?
    (?P<minimumwidth>[0-9]+)?
    (?P<thousands_sep>[,_])?
    (?:\.
        (?=[,_0-9])  # lookahead for digit or separator
        (?P<precision>[0-9]+)?
        (?P<frac_separators>[,_])?
    )?
    (?P<presentation_type>[eEfFgG%])
c                   s  a a ] tR t^t oR/tR0V 3R llt]R 4       t]R 4       t]R 4       t	]V 3R l4       t
R tR tR1R lt]R	 4       t]R
 4       tR tR tR tR tR tR2R ltR t]! ]]P2                  4      w  ttR t]! ]]P:                  4      w  ttR t ]! ] ]PB                  4      w  t"t#R t$]! ]$]PJ                  4      w  t&t'R t(]! ](]PR                  R4      w  t*t+R t,]! ],]-R4      w  t.t/R t0]! ]0]Pb                  R4      w  t2t3R3R lt4R3R lt5R t6R t7R t8]Pr                  3R lt:R t;R  t<R! t=R3R" lt>R# t?R$ t@R% tAR& tBR' tCR( tDR) tER* tFR+ tGR, tHR- tIR.tJVtKV ;tL# )4r   c                sx  < \         \        V `  V 4      pVEf    \        V4      \        J d   Wn        ^Vn        V# \        V\        P                  4      '       d%   VP                  Vn        VP                  Vn        V# \        V\        4      '       g)   \        V\        4      '       g2   \        VR4      '       d    VP                  4       w  Vn        Vn        V# \        V\        4      '       Ed;   \         P#                  V4      pVf   \%        RV,          4      h\	        VP'                  R4      ;'       g    R4      pVP'                  R4      pV'       d   \	        V4      pM^pVP'                  R4      pV'       dE   VP)                  RR4      p^
\+        V4      ,          pW,          \	        V4      ,           pW',          pVP'                  R	4      pV'       d5   \	        V4      pV^ 8  d   V^
V,          ,          pMV^
V) ,          ,          pVP'                  R
4      R8X  d   V) pM\-        R4      h\        V4      \        u;J d   \        V4      J d   M MM\        V\        P                  4      '       d[   \        V\        P                  4      '       d;   VP                  VP                  ,          VP                  VP                  ,          r!M\-        R4      hV^ 8X  d   \/        RV,          4      h\0        P2                  ! W4      p	V^ 8  d   V	) p	W,          pW),          pWn        W#n        V# )Nas_integer_ratioz Invalid literal for Fraction: %rZnum0denomdecimalZ_ expr   -zXargument should be a string or a Rational instance or have the as_integer_ratio() methodz+both arguments should be Rational instancesFraction(%s, 0))superr   __new__typeint
_numerator_denominator
isinstancenumbersRationalr   r	   floathasattrr   r   _RATIONAL_FORMATmatchr   ZgroupZreplacer   	TypeErrorZeroDivisionErrormathgcd)clsr   r	   selfr   r   r   Zscaler   g	__class__s   &&&       r
   r#   ZFraction.__new__   s   > Xs+C0I#%"+$%!Iw'7'788"+"5"5$-$9$9!Y..!)T229&8995>5O5O5Q2!2Is++$**959$%G%.&/ 0 0 5 5#6	("%e*K"#Kggi0G")//#r": "CL 0$-$5G$D	#,''%.C!#h!8%S0I'2t83K776?c)!*
I   !Q R R )_8tK'88G$4$455{G$4$455##k&=&==%%	(=(== #
  1 2 2 !#$5	$ABBHHY,?A	#'r   c                s   \        V4      \        J d   V P                  V^4      # \        V\        P
                  4      '       d'   V P                  VP                  VP                  4      # \        V\        4      '       g)   \        V\         4      '       g1   \        VR4      '       d   V P                  ! VP                  4       !  # \        R4      h)r   r   zLargument should be a Rational instance or have the as_integer_ratio() method)r$   r%   _from_coprime_intsr(   r)   r*   r   r	   r+   r,   r   r/   )r3   Znumber   &&r
   from_numberZFraction.from_number9  s     <3))&!44 0 011))&*:*:F<N<NOO''fd++v122))6+B+B+DEE  A B Br   c           	     s"   \        V\        P                  4      '       d	   V ! V4      # \        V\        4      '       g5   \	        V P
                  : R V: R\        V4      P
                  : R24      hV P                  ! VP                  4       !  # )z%.from_float() only takes floats, not  ())	r(   r)   Integralr+   r/   __name__r$   r7   r   )r3   Zfr8   r
   
from_floatZFraction.from_floatO  sq     a))**q6MAu%% \\1d1g.>.>@ A A%%q'9'9';<<r   c           	     s8   ^ RI Hp \        V\        P                  4      '       d   V! \        V4      4      pME\        W4      '       g5   \        V P                  : RV: R\        V4      P                  : R24      hV P                  ! VP                  4       !  # )r    )Decimalz).from_decimal() only takes Decimals, not r:   r;   )r   r?   r(   r)   r<   r%   r/   r=   r$   r7   r   )r3   Zdecr?   s   && r
   from_decimalZFraction.from_decimal]  sv     	$c7++,,#c(#CC))sDI$6$689 9 %%s';';'=>>r   c               sF   < \         \        V `  V 4      pWn        W#n        V# N)r"   r   r#   r&   r'   )r3   r   r	   Zobjr6   s   """ r
   r7   ZFraction._from_coprime_intsi  s&     Hc*3/"&
r   c                s     V P                   ^8H  # r   r'   r4      &r
   
is_integerZFraction.is_integeru  s      A%%r   c                s2    V P                   V P                  3# rA   r&   r'   rD   rE   r
   r   ZFraction.as_integer_ratioy  s    
 !2!233r   c                s    V^8  d   \        R4      hV P                  V8:  d   \        V 4      # Rw  r#rEV P                  V P                  rv Wg,          pW8V,          ,           p	W8  d   M&WEW(V,          ,           V	3w  r#rEYvW,          ,
          rvKE  W,
          V,          p
^V,          W:V,          ,           ,          V P                  8:  d   \        P	                  WE4      # \        P	                  W*V,          ,           W:V,          ,           4      # )r   z$max_denominator should be at least 1)r    r   r   r    )r   r'   r   r&   r7   )r4   Zmax_denominatorZp0Zq0Zp1Zq1r   r   aZq2Zks   &&         r
   limit_denominatorZFraction.limit_denominator  s    @ QCDD/D>!# 1 11AbDB#R"Wb0NBBeq"$ Q3R4=D---..r66..rB$wR4@@r   c                    V P                   # rA   )r&   rH   rE   r
   r   ZFraction.numerator  s    ||r   c                rJ   rA   rC   rK   rE   r
   r	   ZFraction.denominator  s    ~~r   c                sn    V P                   P                  : R V P                  : RV P                  : R2# )Z(z, r;   )r6   r=   r&   r'   rD   rE   r
   __repr__ZFraction.__repr__  s*    #~~66#0A0AC 	Cr   c                s    V P                   ^8X  d   \        V P                  4      # V P                  : RV P                   : 2# )r   /)r'   r   r&   rD   rE   r
   __str__ZFraction.__str__  s4    !t''"oot/@/@AAr   c                s   VR ,          ;'       g    RpVR,          ;'       g    RpVR,          R8X  d   RMVR,          p\        VR,          4      p\        VR,          ;'       g    R	4      pVR
,          ;'       g    RpV P                  V P                  rV	^8  g	   V'       d   \	        V4      V  RW  2p
M\	        V4      V  p
V^ 8  d   RMTpW&\        V4      ,
          \        V
4      ,
          ,          pVR8X  d   W,           V
,           # VR8X  d   W,           V,           # VR8X  d/   \        V4      ^,          pVRV V,           V
,           WR ,           # W,           V
,           # )fill align>r   r    r   altminimumwidthr   thousands_seprM   <^N)boolr%   r&   r'   r   r   )r4   r.   rO   rQ   pos_signalternate_formrT   rU   r   r   bodyr   paddinghalfs   &&            r
   _format_generalZFraction._format_general  sM    V}##g%%#v#-25=eEl+5077C8o.44"  1 11q5N!fm_-Qq.ABD!fm_-D!es T2SY>?C<>D((c\;((c\w<1$D5D>D(4/'%.@@>D((r   c           
     s  aa a! VR ,          ;'       g    RpVR,          ;'       g    RpVR,          R8X  d   RMVR,          p\        VR,          4      p\        VR,          4      p\        VR	,          4      p\        VR
,          ;'       g    R4      pVR,          o!\        VR,          ;'       g    R4      p	VR,          ;'       g    Rp
VR,          pVR9   ;'       d    V'       * pV'       * pVR9   d   RMRpVR8X  d
   VR8X  d   RpVR9   d=   V	) pVR8X  d
   V^,          p\        V P                  V P                  W4      w  ppRpT	pM{VR9   d   \        V	^4      MV	^,           p\        V P                  V P                  V4      w  pppVR9   ;'       g    V^ 8  ;'       g    VV,           R#8*  pV'       d
   V^,
          MV) pVR8X  d   RpMV'       d   V VV,           R 2pMRpVRV^,            R2 pV'       d   RMTpVR\        V4      V,
           o V\        V4      V,
          R oV'       d   SP                  R4      oV'       d   S'       g   RMRpV
'       d0   V
P                  V3R l\        ^ \        S4      ^4       4       4      oVS,           V,           pV'       dS   V\        V4      ,
          \        V4      ,
          pS P                  S!'       d   ^V,          ^,          ^,           MT4      o S!'       d[   ^\        S 4      ^,
          ^,          ,           pS RV RP                  V V!3R  l\        V\        S 4      ^4       4       4      ,           o S V,           pW(\        V4      ,
          \        V4      ,
          ,          pVR8X  d   VV,           V,           # VR!8X  d   VV,           V,           # VR"8X  d0   \        V4      ^,          pVRV V,           V,           VVR ,           # VV,           V,           # )$rO   rP   rQ   rR   r   r    r   r   rS   zeropadrT   r   rU   	precisionZ6Zfrac_separatorspresentation_typeZgGZEFGZEZeZ=TzfF%Z%FZeEz+03dr   NZ.c              3   s:   <"   T F  pSW^,            x  K  	  R# 5ii   N ).0pos	frac_parts   & r
   	<genexpr>/Fraction._format_float_style.<locals>.<genexpr>4  s"      &N1L# '0!G&<1Ls   c              3   sH   <"   T F  pSSW^,            ,           x  K  	  R# 5irb   rc   )rd   re   leadingrU   s   & r
   rg   rh   D  s)      4<C Ag 666<s   "rV   rW   i)rX   r%   r   r&   r'   Zmaxr   r   ZrstripZjoinZrangeZzfill)"r4   r.   rO   rQ   rY   r   rZ   r_   rT   r`   Zfrac_sepra   Z
trim_zerosZ
trim_pointZexponent_indicatorr   Znegativer   Z
scientificZ	point_posr   ZsuffixZdigitsr   Z	separatorZtrailingZmin_leadingZ	first_posr[   r\   r]   rf   ri   rU   s"   &&                             @@@r
   _format_float_styleZFraction._format_float_style  s   V}##g%%#v#-25=5/0eEl+uY'(5077C8o.k*11c2	*+11r!"56&$.EE~3E
''
$5$>SCC<DCKG %!zH C'A$6!2!2H%K!HkJ!I %, Iq!] 
 /@!2!2G/=+Hk8 "T) , ,a<, ,g%+ 
 (2!yI #F*+Hy,@+FGFF  )a-12
 sH23v;233v;245	!((-I$YBC	  &N16q#i.!1L&N NIy(61 &T2S]BK mm,9K1$q({G
 S\A-22Ijy)BGG 4 CL!<4 - G !T2SY>?C<T>D((c\$;((c\w<1$D5D>D(4/'$%.@@'>D((r   c               s
   \        V4      ;p'       d   V P                  V4      # \        V4      ;p'       d(   VR ,          e   VR,          f   V P                  V4      # \	        RV: R\        V 4      P                  : 24      h)rQ   r_   zInvalid format specifier z for object of type )%_GENERAL_FORMAT_SPECIFICATION_MATCHERr^   #_FLOAT_FORMAT_SPECIFICATION_MATCHERrj   r   r$   r=   )r4   Zformat_specr.   s   "" r
   
__format__ZFraction.__format__W  s     :+FF5F''..7DD5D W~%y)9)A//66' 7""&t*"5"5!8:
 	
r   c                s   a aa VVV 3R  lpRSP                   ,           R,           Vn         S P                  Vn        VVV 3R lpRSP                   ,           R,           Vn         S P                  Vn        W43# )c                 sL  < \        V\        4      '       d	   S! W4      # \        V\        4      '       d   S! V \        V4      4      # \        V\        4      '       d   S! \        V 4      V4      # S'       d)   \        V\        4      '       d   S! \        V 4      V4      # \
        # rA   )r(   r   r%   r+   complexNotImplemented)rH   bfallback_operatorhandle_complexmonomorphic_operator   &&r
   forwardZ-Fraction._operator_fallbacks.<locals>.forward  s}    !X&&+A11As##+Ax{;;Au%%(q155Jq'$:$:(q155%%r   Z__c                 sp  < \        V\        P                  4      '       d   S! \        V4      V 4      # \        V\        P                  4      '       d   S! \        V4      \        V 4      4      # S'       d<   \        V\        P                  4      '       d   S! \        V4      \        V 4      4      # \        # rA   )	r(   r)   r*   r   ZRealr+   Complexrn   ro   )rp   rH   rq   rr   rs   rt   r
   reverseZ-Fraction._operator_fallbacks.<locals>.reverse  s{    !W--..+HQK;;Aw||,,(q58<<Jq'//$B$B(U1X>>%%r   Z__r)r=   Z__doc__)rs   rq   rr   ru   rw   s   fff  r
   _operator_fallbacksZFraction._operator_fallbacksh  sg    b
	&  "3"<"<<tC.66		& !#4#=#==D.66r   c                s   V P                   V P                  r2VP                   VP                  rT\        P                  ! W54      pV^8X  d0   \        P                  W%,          W4,          ,           W5,          4      # W6,          pW%V,          ,          WG,          ,           p\        P                  ! W4      p	V	^8X  d   \        P                  WV,          4      # \        P                  W,          WuV	,          ,          4      # rB   r&   r'   r1   r2   r   r7   
rH   rp   nadanbdbr5   ZsZtg2
   &&        r
   _addZFraction._add      q~~Bq~~BHHR6..rw/@"'JJG'NRV#XXa^7..qb&99**17ArNCCr   c                s   V P                   V P                  r2VP                   VP                  rT\        P                  ! W54      pV^8X  d0   \        P                  W%,          W4,          ,
          W5,          4      # W6,          pW%V,          ,          WG,          ,
          p\        P                  ! W4      p	V	^8X  d   \        P                  WV,          4      # \        P                  W,          WuV	,          ,          4      # rB   ry   rz   r   r
   _subZFraction._sub*  r   r   c                sV   V P                   V P                  r2VP                   VP                  rT\        P                  ! W%4      pV^8  d   W&,          pWV,          p\        P                  ! WC4      pV^8  d   WG,          pW7,          p\        P                  W$,          WS,          4      # rB   ry   )rH   rp   r{   r|   r}   r~   g1r   s   &&      r
   _mulZFraction._mul:  s}    q~~Bq~~BXXb6IBIBXXb6IBIB**27BG<<r   c                s   VP                   VP                  r2V^ 8X  d   \        RV,          4      hV P                   V P                  rT\        P                  ! WB4      pV^8  d   WF,          pW&,          p\        P                  ! W54      pV^8  d   WW,          pW7,          pWC,          W%,          rV	^ 8  d   V) V	) r\
        P                  W4      # )r    r!   )r&   r'   r0   r1   r2   r   r7   )
rH   rp   r}   r~   r{   r|   r   r   r   r   r   r
   _divZFraction._divJ  s     q~~B7#$5$:;;q~~BXXb6IBIBXXb6IBIBw1q52rq**100r   c                s    V P                   VP                  ,          V P                  VP                   ,          ,          # rA   )r   r	   rH   rp   r8   r
   	_floordivZFraction._floordiv`  s'    amm+1LMMr   Fc                s    V P                   VP                   r2\        V P                  V,          W!P                  ,          4      w  rEV\        WRV,          4      3# rA   )r	   r   r   r   )rH   rp   r|   r~   ZdivZn_mod   &&    r
   _divmodZFraction._divmodf  sC    BAKK",b;;.>?
HUG,,,r   c                s    V P                   VP                   r2\        V P                  V,          VP                  V,          ,          W#,          4      # rA   )r	   r   r   )rH   rp   r|   r~   s   &&  r
   _modZFraction._modn  s7    Br)akkB.>?IIr   c                s(   Ve   \         # \        V\        P                  4      '       Ed5   VP                  ^8X  Ed   VP
                  pV^ 8  d9   \        P                  V P                  V,          V P                  V,          4      # V P                  ^ 8  d;   \        P                  V P                  V) ,          V P                  V) ,          4      # V P                  ^ 8X  d%   \        RV P                  V) ,          ,          4      h\        P                  V P                  ) V) ,          V P                  ) V) ,          4      # \        V 4      \        V4      ,          # \        V\        \        34      '       d   \        V 4      V,          # \         # )Nr!   )ro   r(   r)   r*   r	   r   r   r7   r&   r'   r0   r+   rn   )rH   rp   moduloZpowers   &&& r
   __pow__ZFraction.__pow__u  sJ    !!a))**}}!A:#66q||u7L78~~7NP P\\A%#66q~~%7O78||v7MO O\\Q&+,=,-NNuf,D-E F F $66UF7R9:5&7PR R
 Qx58++E7+,,8q= !!r   c                sv   Ve   \         # V P                  ^8X  d$   V P                  ^ 8  d   WP                  ,          # \        V\        P
                  4      '       d(   \        VP                  VP                  4      V ,          # V P                  ^8X  d   WP                  ,          # V\        V 4      ,          # rA   )
ro   r'   r&   r(   r)   r*   r   r   r	   r+   )rp   rH   r      &&&r
   __rpow__ZFraction.__rpow__  s    !!>>Q1<<1#4$$a))**AKK71<<>>Q$$E!H}r   c                sV    \         P                  V P                  V P                  4      # rA   r   r7   r&   r'   rK   rE   r
   __pos__ZFraction.__pos__  s    **1<<HHr   c                sX    \         P                  V P                  ) V P                  4      # rA   r   rK   rE   r
   __neg__ZFraction.__neg__  s    **ALL=!..IIr   c                sh    \         P                  \        V P                  4      V P                  4      # rA   )r   r7   r   r&   r'   rK   rE   r
   __abs__ZFraction.__abs__  s"    **3q||+<annMMr   c                s    V P                   ^ 8  d&   V! V P                   ) V P                  ,          ) 4      # V! V P                   V P                  ,          4      # r    rG   )rH   Z_indexr8   r
   __int__ZFraction.__int__  sC    <<!Q\\MQ^^;<==!,,!..899r   c                s    V P                   ^ 8  d    V P                   ) V P                  ,          ) # V P                   V P                  ,          # r   rG   rK   rE   r
   	__trunc__ZFraction.__trunc__  s9    <<!ll]ann455<<1>>11r   c                s<    V P                   V P                  ,          # rA   rG   rK   rE   r
   	__floor__ZFraction.__floor__  s    ||q~~--r   c                s@    V P                   ) V P                  ,          ) # rA   rG   rK   rE   r
   __ceil__ZFraction.__ceil__  s     ,,!..011r   c                s|   Vfe   V P                   p\        V P                  V4      w  r4V^,          V8  d   V# V^,          V8  d
   V^,           # V^,          ^ 8X  d   V# V^,           # ^
\        V4      ,          pV^ 8  d   \	        \        W,          4      V4      # \	        \        W,          4      V,          4      # rA   )r'   r   r&   r   r   Zround)r4   Zndigitsr   ZfloorZ	remainderZshiftr   r
   	__round__ZFraction.__round__  s    
 ?!!A%dooq9E1}q Q"qy aqy CL  Q;E$,/77E$,/%788r   c                sB    \        V P                  V P                  4      # rA   )r   r&   r'   rD   rE   r
   __hash__ZFraction.__hash__  s    t0A0ABBr   c                sz   \        V4      \        J d'   V P                  V8H  ;'       d    V P                  ^8H  # \	        V\
        P                  4      '       d;   V P                  VP                  8H  ;'       d    V P                  VP                  8H  # \	        V\
        P                  4      '       d   VP                  ^ 8X  d   VP                  p\	        V\        4      '       dQ   \        P                  ! V4      '       g   \        P                  ! V4      '       d   RV8H  # W P!                  V4      8H  # \"        # )r           )r$   r%   r&   r'   r(   r)   r*   r   r	   rv   ZimagZrealr+   r1   isnanisinfr>   ro   r   r8   r
   __eq__ZFraction.__eq__  s    7c><<1$<<1)<<a))**LLAKK/ 4 4NNamm35a))affkAazz!}}

1 axLLO++ "!r   c                s   \        V\        P                  4      '       d@   V! V P                  VP                  ,          V P
                  VP                  ,          4      # \        V\        4      '       dY   \        P                  ! V4      '       g   \        P                  ! V4      '       d
   V! R V4      # V! W P                  V4      4      # \        # )r   )r(   r)   r*   r&   r	   r'   r   r+   r1   r   r   r>   ro   )r4   ZotherZopr   r
   _richcmpZFraction._richcmp  s     eW--..doo(9(99''%//9; ;eU##zz%  DJJu$5$5#u~%$ 677!!r   c                B    V P                  V\        P                  4      # rA   )r   operatorZltr   r8   r
   __lt__ZFraction.__lt__      zz!X[[))r   c                r   rA   )r   r   Zgtr   r8   r
   __gt__ZFraction.__gt__  r   r   c                r   rA   )r   r   Zler   r8   r
   __le__ZFraction.__le__  r   r   c                r   rA   )r   r   Zger   r8   r
   __ge__ZFraction.__ge__  r   r   c                s,    \        V P                  4      # rA   )rX   r&   rK   rE   r
   __bool__ZFraction.__bool__#  s     ALL!!r   c                sJ    V P                   V P                  V P                  33# rA   )r6   r&   r'   rD   rE   r
   
__reduce__ZFraction.__reduce__+  s     $2C2C DEEr   c                z    \        V 4      \        8X  d   V # V P                  V P                  V P                  4      # rA   r$   r   r6   r&   r'   rD   rE   r
   __copy__ZFraction.__copy__.  .    :!K~~doot/@/@AAr   c                r   rA   r   )r4   Zmemor8   r
   __deepcopy__ZFraction.__deepcopy__3  r   r   )r'   r&   rG   )r    N)i@B )TrA   )Mr=   Z
__module__Z__qualname__Z__firstlineno__Z	__slots__r#   Zclassmethodr9   r>   r@   r7   rF   r   rI   Zpropertyr   r	   rL   rN   r^   rj   rm   rx   r   r   ZaddZ__add__Z__radd__r   ZsubZ__sub__Z__rsub__r   ZmulZ__mul__Z__rmul__r   ZtruedivZ__truediv__Z__rtruediv__r   ZfloordivZ__floordiv__Z__rfloordiv__r   r   Z
__divmod__Z__rdivmod__r   ZmodZ__mod__Z__rmod__r   r   r   r   r   Zindexr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z__static_attributes__Z__classdictcell__Z__classcell__)r6   Z__classdict__s   @@r
   r   r      s    * /IiV B B* = = 	? 	? 	 	&47Ar    C
B )Df)P
"l dD ,D(,,?GXD ,D(,,?GX= ,D(,,?GX1( !4D(:J:J KKN #6iARARTY"ZL-- 2'65IJJ
 ,D(,,FGX "D IJN #.. :2.2
94C"*",****"FB
B Br   i @  )F)Z	functoolsr1   r)   r   ZreZsysZ__all__Z	hash_infoZmodulusr   Zinfr   Z	lru_cacher   ZcompileZVERBOSEZ
IGNORECASEr-   r   r   ZDOTALLZ	fullmatchrk   rl   r*   r   rc   r   r
   <module>r      s       	 
,
 --'' mm
w'* (*@ ::  ZZ"--! ":$'P )+

 4 YY) 'Y &$ ')jj 2& YY''& 'Y' $,@Bw @Br   