+
    iׁ                       R t ^ RIHt ^ RIHt ^ RIHtHtHtH	t	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^R	IHtHt ^R
IHtHt ^ RIHtHt  ! R R]4      t]! ]4      R 4       t  ! R R]4      t!]! ]!4      R 4       t"R# )zI
A Printer for generating readable representation of most SymPy classes.
)annotations)Any)SRationalPowBasicMulNumber)_keep_coeff)Integer)
Relational)default_sort_key)sift)
precedence
PRECEDENCE)Printerprint_function)prec_to_dpsto_strc                     ] tR t^t$ RtRRRRRRRRR	R
RRRRRR/tR]R&   / tR]R&   RR ltRR lt	R t
RR ltR tR tR tR tR tR tR tR tR tR tR  tR! tR" tR# tR$ tR% tR& tR' tR( tR) tR* t R+ t!R, t"R- t#R. t$R/ t%R0 t&R1 t'R2 t(R3 t)R4 t*R5 t+R6 t,R7 t-R8 t.R9 t/R: t0R; t1R< t2R= t3R> t4R? t5R@ t6RA t7RB t8RC t9RD t:RE t;RF t<RG t=RH t>RI t?RJ t@RK tARL tBRM tCRN tDRO tERP tFRQ tGRR tHRS tIRT tJRU tKRV tLRW tMRX tNRRY ltORZ tPR[ tQR\ tRR] tSR^ tTR_ tUR` tVRa tWRb tXRc tYRd tZRe t[Rf t\Rg t]Rh t^Ri t_Rj t`Rk taRl tbRm tcRn tdRo teRp tfRq tgRr thRs tiRt tjRu tk]ktl]ktmRv tnRw toRx tpRy tqRz trR{ tsR| ttR} tuR~ tvR twR txR tyR tzR t{R t|R t}R t~R tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtR# )
StrPrinter	_sympystrorderN	full_precautosympy_integersFabbrevperm_cyclicTminmaxdpszdict[str, Any]_default_settingszdict[str, str]_relationalsc                	    \        V4      V8  g   V'       g)   \        V4      V8:  d   R V P                  V4      ,          # V P                  V4      # )(%s))r   _print)selfitemlevelstricts   &&&&r/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/printing/str.pyparenthesizeStrPrinter.parenthesize#   s@    tu$v:d;Ku;TDKK---;;t$$    c           	     	j    TP                  V Uu. uF  q@P                  WC4      NK  	  up4      # u upi N)joinr+   )r&   argssepr(   r'   s   &&&& r*   	stringifyStrPrinter.stringify)   s,    xxDIDD**47DIJJIs   0c                	    \        V\        4      '       d   V# \        V\        4      '       d   \        V4      # \        V4      # r/   )
isinstancestrr   reprr&   exprs   &&r*   emptyPrinterStrPrinter.emptyPrinter,   s5    dC  Ke$$:t9r-   c                	   V P                  WR 7      p\        V4      p. pV F  pV P                  V4      pVP                  R4      '       d   VP                  '       g   RpVR,          pMRp\        V4      V8  g   VP                  '       d   VP                  VRV,          .4       K  VP                  W.4       K  	  VP                  ^ 4      pVR8X  d   RpVRP                  V4      ,           # )r   -   NN+r$     )_as_ordered_termsr   r%   
startswithis_Addextendpopr0   )	r&   r:   r   termsprecltermtsigns	   &&&      r*   
_print_AddStrPrinter._print_Add4   s    &&t&9$DD!A||C  bE$$&$+++$
+,$#  uuQx3;Dchhqk!!r-   c                	    R # )True r9   s   &&r*   _print_BooleanTrueStrPrinter._print_BooleanTrueI   s    r-   c                	    R # )FalserT   r9   s   &&r*   _print_BooleanFalseStrPrinter._print_BooleanFalseL       r-   c                	l    R V P                  VP                  ^ ,          \        R,          4      ,          # )z~%sNot)r+   r1   r   r9   s   &&r*   
_print_NotStrPrinter._print_NotO   s'    t((1j6GHIIr-   c                	V   \        VP                  4      p\        V4       Fh  w  r4\        V\        4      '       g   K  VP
                  P                  \        P                  J g   KG  VP                  ^ VP                  V4      4       Kj  	  V P                  VR\        R,          4      # )    z & 
BitwiseAnd)listr1   	enumerater6   r   	canonicalrhsr   NegativeInfinityinsertrI   r3   r   )r&   r:   r1   jis   &&   r*   
_print_AndStrPrinter._print_AndR   sr    DIIdODA!Z((KKOOq'9'99Atxx{+ $ ~~dE:l+CDDr-   c                	R    V P                  VP                  R \        R,          4      # )z | 	BitwiseOrr3   r1   r   r9   s   &&r*   	_print_OrStrPrinter._print_OrZ   s    ~~dii
;0GHHr-   c                	R    V P                  VP                  R \        R,          4      # )z ^ 
BitwiseXorro   r9   s   &&r*   
_print_XorStrPrinter._print_Xor]   s    ~~dii
<0HIIr-   c                	|    V P                  VP                  4      : R V P                  VP                  R4      : R2# (, ))r%   functionr3   	argumentsr9   s   &&r*   _print_AppliedPredicate"StrPrinter._print_AppliedPredicate`   s/    KK&t~~t(LN 	Nr-   c                	    VP                    Uu. uF  q P                  V4      NK  	  ppVP                  P                  R RP	                  V4      ,          ,           # u upi r$   ry   )r1   r%   	__class____name__r0   )r&   r:   orL   s   &&  r*   _print_BasicStrPrinter._print_Basicd   sG    %)YY/Y[[^Y/~~&&$))A,)>>> 0s   Ac                	    VP                   P                  R8X  d#   V P                  VP                   R,          4       V P                  VP                   4      # )rA   )rA   rA   )ra   ra   )blocksshaper%   )r&   Bs   &&r*   _print_BlockMatrixStrPrinter._print_BlockMatrixh   s9    88>>V#KK'{{188$$r-   c                	    R # )CatalanrT   r9   s   &&r*   _print_CatalanStrPrinter._print_Catalanm   s    r-   c                	    R # )zoorT   r9   s   &&r*   _print_ComplexInfinity!StrPrinter._print_ComplexInfinityp       r-   c                	.   \        VP                  VP                  3 Uu. uF  q P                  V4      NK  	  up4      pVP                  \
        P                  J d
   R V,          # W0P                  VP                  4      3,          pRV,          # u upi )zConditionSet(%s, %s)zConditionSet(%s, %s, %s))tuplesym	conditionr%   base_setr   UniversalSet)r&   srj   r1   s   &&  r*   _print_ConditionSetStrPrinter._print_ConditionSets   st    quuakk.BC.Bkk!n.BCD::')D00QZZ(**)D00	 Ds   Bc                	   a  VP                   pVP                   Uu. uF  q3^,          ^8X  d
   V^ ,          MTNK  	  ppRRP                  V 3R lV.V,            4       4      ,          # u upi )rA   zDerivative(%s)ry   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r%   .0argr&   s   & r*   	<genexpr>/StrPrinter._print_Derivative.<locals>.<genexpr>}   s     ,Y#T[[-=-=   !)r:   variable_countr0   )r&   r:   dexprrj   dvarss   f&   r*   _print_DerivativeStrPrinter._print_Derivativez   s`    		373F3FG3Fa11)3FG$)),Y%SX,Y"ZZZ Hs   !A)c                	   \        VP                  4       \        R 7      p. pV FA  pV P                  V4      : RV P                  W,          4      : 2pVP	                  V4       KC  	  RRP                  V4      ,          # )keyz: {%s}ry   )sortedkeysr   r%   appendr0   )r&   dr   itemsr   r'   s   &&    r*   _print_dictStrPrinter._print_dict   sd    affh$45C#{{3/QV1DEDLL  		%(((r-   c                	$    V P                  V4      # r/   )r   r9   s   &&r*   _print_DictStrPrinter._print_Dict       %%r-   c                	l   \        VR 4      '       d'   RV P                  VP                  4       4      ,           # \        VR4      '       dJ   RV P                  VP                  4      ,           R,           V P                  VP                  4      ,           # RV P                  VP                  4      ,           # )
as_booleanzDomain: setz in z
Domain on )hasattrr%   r   symbolsr   )r&   r   s   &&r*   _print_RandomDomainStrPrinter._print_RandomDomain   s    1l##ALLN ;;;QQYY!77&@KK&' (  $++aii"888r-   c                	(    R VP                   ,           # _namer9   s   &&r*   _print_DummyStrPrinter._print_Dummy   s    TYYr-   c                	    R # )
EulerGammarT   r9   s   &&r*   _print_EulerGammaStrPrinter._print_EulerGamma   s    r-   c                	    R # )ErT   r9   s   &&r*   _print_Exp1StrPrinter._print_Exp1       r-   c                	|    R V P                  VP                  4      : RV P                  VP                  4      : R2# rw   )r%   r:   condr9   s   &&r*   _print_ExprCondPairStrPrinter._print_ExprCondPair   s'    ![[3T[[5KLLr-   c                	~    VP                   P                  R V P                  VP                  R4      ,          ,           # r   )funcr   r3   r1   r9   s   &&r*   _print_FunctionStrPrinter._print_Function   s+    yy!!FT^^DIIt-L$LLLr-   c                	    R # )GoldenRatiorT   r9   s   &&r*   _print_GoldenRatioStrPrinter._print_GoldenRatio   s    r-   c                	~    VP                   P                  R V P                  VP                  R4      ,          ,           # r   )r   r   r3   pargsr9   s   &&r*   _print_HeavisideStrPrinter._print_Heaviside   s-     yy!!FT^^DJJ-M$MMMr-   c                	    R # )TribonacciConstantrT   r9   s   &&r*   _print_TribonacciConstant$StrPrinter._print_TribonacciConstant   s    #r-   c                	    R # IrT   r9   s   &&r*   _print_ImaginaryUnitStrPrinter._print_ImaginaryUnit   r   r-   c                	    R # )oorT   r9   s   &&r*   _print_InfinityStrPrinter._print_Infinity       r-   c                	   a  V 3R  lpRP                  VP                   Uu. uF
  q2! V4      NK  	  up4      pRS P                  VP                  4      : RV: R2# u upi )c                   < \        V 4      ^8X  d   SP                  V ^ ,          4      # SP                  V ^ ,          3\        V R,          4      ,           4      # rA   r@   lenr%   r   xabr&   s   &r*   
_xab_tostr.StrPrinter._print_Integral.<locals>._xab_tostr   C    3x1}{{3q6**{{CF9uSW~#=>>r-   ry   z	Integral(rz   r0   limitsr%   r{   r&   r:   r   rL   Ls   f&   r*   _print_IntegralStrPrinter._print_Integral   sL    	?
 IIdkk:kz!}k:;%)[[%?CC ;   Ac           
     	|   R pVP                   w  r4rVVP                  '       d   VP                  '       d   RpMmVP                  '       d   V'       g   RpMPVP                  '       d   V'       g   RpM3V'       g   V'       g   RpM V'       d   V'       d   RpMV'       d   RpMRpVP                  ! R/ RVRVRV/B # )	zInterval{m}({a}, {b})rC   z.openz.Lopenz.RopenabmrT   )r1   is_infiniteformat)r&   rj   finr  r  rL   rr  s   &&      r*   _print_IntervalStrPrinter._print_Interval   s    &VV
a===Q]]]A]]]1A]]]1A1A1AAAzz5S!S!S!455r-   c                	|    R V P                  VP                  4      : RV P                  VP                  4      : R2# )zAccumBounds(ry   rz   )r%   r   r   )r&   rj   s   &&r*   _print_AccumulationBounds$StrPrinter._print_AccumulationBounds   s,    (,AEE(:(,AEE(:< 	<r-   c                	^    R V P                  VP                  \        R,          4      ,          # )z%s**(-1)r   r+   r   r   )r&   r   s   &&r*   _print_InverseStrPrinter._print_Inverse   s#    D--aeeZ5FGGGr-   c                	    VP                   pVP                  p\        V4      ^8X  d#   V^ ,          P                  '       d
   V^ ,          pRV P	                  V4      : RV P	                  V4      : R2# )rA   zLambda(ry   rz   )r:   	signaturer   	is_symbolr%   )r&   objr:   sigs   &&  r*   _print_LambdaStrPrinter._print_Lambda   sU    xxmms8q=SV---a&C#';;s#3T[[5FGGr-   c                	   a  \        VP                  \        R 7      pVP                  P                  RRP                  V 3R lV 4       4      ,          ,           # )r   r$   ry   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   r   s   & r*   r   .StrPrinter._print_LatticeOp.<locals>.<genexpr>   s     6XSWCt{{37G7GSWr   )r   r1   r   r   r   r0   r&   r:   r1   s   f& r*   _print_LatticeOpStrPrinter._print_LatticeOp   s>    dii%56yy!!FTYY6XSW6X-X$XXXr-   c           
     	p    VP                   w  r#rER \        \        V P                  W#WE34      4      ,          # )zLimit(%s, %s, %s, dir='%s'))r1   r   mapr%   )r&   r:   ezz0dirs   &&    r*   _print_LimitStrPrinter._print_Limit   s.    		b,uSqRo5V/WWWr-   c                	4    R V P                  VR4      ,          # )[%s]ry   )r3   r9   s   &&r*   _print_listStrPrinter._print_list   s    tT222r-   c                	$    V P                  V4      # r/   )r)  r9   s   &&r*   _print_ListStrPrinter._print_List   r   r-   c                	$    VP                  V 4      # r/   )_format_strr9   s   &&r*   _print_MatrixBaseStrPrinter._print_MatrixBase   r   r-   c                	    V P                  VP                  \        R ,          RR7      RV P                  VP                  4      : RV P                  VP
                  4      : R2,           # )AtomTr)   [ry   ])r+   parentr   r%   rj   ri   r9   s   &&r*   _print_MatrixElementStrPrinter._print_MatrixElement   sN      j.@ N KK/TVV1DEF 	Fr-   c                	<  a  V 3R  lpS P                  VP                  \        R,          RR7      R,           V! VP                  VP                  P                  4      ,           R,           V! VP
                  VP                  P                  4      ,           R,           # )c                   < \        V 4      p V ^,          ^8X  d   V ^ V ^ ,          ^ 8X  d   RV ^ &   V ^,          V8X  d   RV ^&   RP                  V3R lV  4       4      # )   rC   :c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   r   s   & r*   r   BStrPrinter._print_MatrixSlice.<locals>.strslice.<locals>.<genexpr>   s     ;#T[[--r   )rc   r0   )xdimr&   s   &&r*   strslice/StrPrinter._print_MatrixSlice.<locals>.strslice   s[    QAtqyaDtqy!ts{!88;;<<r-   r3  Tr4  r5  ry   r6  )r+   r7  r   rowslicerowscolslicecols)r&   r:   rB  s   f& r*   _print_MatrixSliceStrPrinter._print_MatrixSlice   s    	= !!$++z&/A$!ORUU(8(89:<@A(8(89:<?@ 	Ar-   c                	    VP                   # r/   r   r9   s   &&r*   _print_DeferredVector StrPrinter._print_DeferredVector      yyr-   c           
     	v   \        V4      pVP                  pV^ ,          \        P                  J gJ   \        ;QJ d#    R VR,           4       F  '       g   K   RM	  RM! R VR,           4       4      '       Ed'   \        VR RR7      w  rE\        V4       F  w  rgVP                  P                  '       d   VP                  ) pMB\        VP                  P                  4      p	V	^ ,          ) V	^ &   \        P                  ! V	4      pV^,
          '       d   \        VP                  VRR7      MVP                  WF&   K  	  . p
V'       dX   V^ ,          P                  '       g?   V^ ,          P                  4       '       d"   V P!                  VP#                  ^ 4      4      .p
T
V Uu. uF  pV P%                  WRR7      NK  	  up,           pV'       g   R	.p\'        V4      ^8  d@   V^ ,          P                  4       '       d#   V P!                  VP#                  ^ 4      4      .p
M. p
T
V Uu. uF  pV P%                  WRR7      NK  	  up,           pR
P)                  V4      pR
P)                  V4      p\'        V4      ^8  d   V: RV: R2# V'       d
   V: RV: 2# V# VP+                  4       w  rV^ 8  d   \-        V) V4      pRpMRp. p. p. pV P.                  R9  d   VP1                  4       pM\        P2                  ! V4      pR pV EF  pVP4                  '       Ed   \7        V\        4      '       d   \9        VP                  P+                  4       ^ ,          ^ 8  4      '       d   VP                  \        P:                  Jd   VP=                  V! V4      4       K  \'        VP                  ^ ,          P                  4      ^8w  d8   \7        VP                  \        \        34      '       d   VP=                  V4       VP=                  VP                  4       EK  VP>                  '       d   V\        P@                  Jdq   VPB                  ^8w  d%   VP=                  \E        VPB                  4      4       VPF                  ^8w  d(   VP=                  \E        VPF                  4      4       EK  EK  VP=                  V4       EK  	  T;'       g    \        P                  .pV Uu. uF  pV P%                  VVRR7      NK  	  ppV Uu. uF  pV P%                  VVRR7      NK  	  ppV F[  pVP                  V9   g   K  RVVPI                  VP                  4      ,          ,          VVPI                  VP                  4      &   K]  	  V'       g   VR
P)                  V4      ,           # \'        V4      ^8X  d.   VR
P)                  V4      ,           R,           V^ ,          ,           # VR
P)                  V4      ,           RR
P)                  V4      ,          ,           # u upi u upi u upi u upi )ra   c              3  
  "   T Fy  p\        V\        4      ;'       g]    VP                  ;'       dI    \        ;QJ d&    R  VP                   4       F  '       d   K   RM	  RM! R  VP                   4       4      x  K{  	  R# 5i)c              3  8   "   T F  qP                   x  K  	  R # 5ir/   )
is_Integer)r   ais   & r*   r   2StrPrinter._print_Mul.<locals>.<genexpr>.<genexpr>  s      @2s   FTN)r6   r	   is_Powallr1   )r   r  s   & r*   r   (StrPrinter._print_Mul.<locals>.<genexpr>  sd      ## "A 1f% A A@@SS @ @SSS @ @@A!s   BBBB'Br@   TFc                    \        V \        4      ;'       d.    \        V P                  P	                  4       ^ ,          ^ 8  4      # ra   )r6   r   boolexpas_coeff_Mul)r@  s   &r*   <lambda>'StrPrinter._print_Mul.<locals>.<lambda>  s3    1c"HHtAEE,>,>,@,Ca,G'HHr-   )binaryevaluater4  1*z/(rz   /r?   rC   c                l   V P                  4       w  r\        \        P                  ! V4      4      pV^ ,          \        P
                  J d   VR,          pMV^ ,          ) V^ &   \        P                  ! V4      p\        V \        4      '       d   V P                  WRR7      # V P                  VRR7      # )ra   r@   Fr_  )
as_base_exprc   r   	make_argsr   NegativeOne
_from_argsr6   r   r   )rj   r  r!  eargss   &   r*   apow#StrPrinter._print_Mul.<locals>.apowL  s    ==?DAq)*EQx1==(b	!!H9au%A!S!!vvaUv3366!e6,,r-   r$   z/(%s))oldnone)%r   r1   r   Oneanyr   rd   rZ  	is_Numberrc   r   rh  r   baserG   could_extract_minus_signr%   rI   r+   r   r0   r[  r
   r   as_ordered_factorsrf  is_commutativer6   rY  rg  r   is_RationalInfinitypr   qindex)r&   r:   rK   r1   r   nrj   dir!  dargsprer  nfactorsdfactorscrO   r  	pow_parenrj  r'   r@  a_strb_strs   &&                     r*   
_print_MulStrPrinter._print_Mul  s   $ yy7aeess ## b##sss ## b##  #  #  IDA #166###A -E %ayE!Hu-A:;a%%s277A6RWW & C11)F)F)H)H{{1558,-A #///F H5 1vzad;;=={{1558,-A #///F H "A"A8}q $%q))"#Q''H  "q5r1%DDD	::_,**,D ==&D
	- D###tS))..03a788881==0HHT$Z(DIIaL--.!3&tyy3*==!((.HHTYY'!!!d!**&<66Q;HHXdff-.66Q;HHXdff-.  % ( LL!%%CDE1a""1d5"91ECDE1a""1d5"91E DyyA~,2U177499;M5N,Naggdii()  #((5/))Vq[#((5/)C/%(::#((5/)Gchhuo,EEEm~ FEs   (X'.X,2X1X6c                	   VP                  4       w  r#R pVP                  '       dz   VP                  4       w  rVVP                  '       d#   VP                  '       d   \        V) V4      pRpM3VP                  '       d"   VP                  '       d   \        V) V4      pRpTRP                  VP                   Uu. uF  qpP                  V\        V4      4      NK  	  up4      ,           # u upi )rC   r?   rb  )
as_coeff_mmul	is_numberas_real_imagis_zerois_negativer
   r0   r1   r+   r   )r&   r:   r  r  rO   reimr   s   &&      r*   _print_MatMulStrPrinter._print_MatMul|  s    !!#;;;^^%FBzzzbnnn"A2q)"A2q)chhAEK#sJt$45K
 
 	
Ks   :#C*
c                	l    R P                  VP                  V P                  VP                  4      4      # )z{}.({}))r  r{   r%   r:   r9   s   &&r*   _print_ElementwiseApplyFunction*StrPrinter._print_ElementwiseApplyFunction  s,    MMKK		"
 	
r-   c                	    R # )nanrT   r9   s   &&r*   
_print_NaNStrPrinter._print_NaN  r   r-   c                	    R # )z-oorT   r9   s   &&r*   _print_NegativeInfinity"StrPrinter._print_NegativeInfinity  r   r-   c                	   VP                   '       dO   \        ;QJ d&    R  VP                   4       F  '       d   K   RM	  RM! R  VP                   4       4      '       ds   \        VP                   4      ^8:  d#   RV P	                  VP
                  4      ,          # RV P                  VP
                  3VP                   ,           R^ 4      ,          # RV P                  VP                  R^ 4      ,          # )c              3  D   "   T F  q\         P                  J x  K  	  R # 5ir/   )r   Zero)r   rw  s   & r*   r   *StrPrinter._print_Order.<locals>.<genexpr>  s     $E*Q!&&[*s    FTzO(%s)ry   )	variablesrU  pointr   r%   r:   r3   r1   r9   s   &&r*   _print_OrderStrPrinter._print_Order  s    ~~~$E$**$E$E$**$E!E!E4>>"a'TYY!777t~~0MtUV!WWWT^^DIItQ???r-   c                	"    VP                  4       # r/   __str__r9   s   &&r*   _print_OrdinalStrPrinter._print_Ordinal      ||~r-   c                	"    VP                  4       # r/   r  r9   s   &&r*   _print_CycleStrPrinter._print_Cycle  r  r-   c                	   ^ RI HpHp ^ RIHp VP
                  pVe   V! RV R2RR^R7       MV P                  P                  R	R
4      pV'       d   VP                  '       g   R# V! V4      ! VP                  ^,
          4      P                  4       \        R4      R pVP                  R4      pV^ 8X  g   RWgR 9  d   WgR VRV ,           pVP                  RR4      pV# VP                  4       pV'       gV   VP                  ^8  d#   RV P                  VP                  4      ,          # RV P                  VP                  4      ,          # V P                  VP                  RVR,          ^,            4      RV P                  VP                  4      ,          ,           pV P                  VP                  4      ;r\        V4      \        V
4      8  d   Tp	RV	,          # )ra   )PermutationCycle)sympy_deprecation_warningNzw
                Setting Permutation.print_cyclic is deprecated. Instead use
                init_printing(perm_cyclic=z).
                z1.6z#deprecated-permutation-print_cyclic)deprecated_since_versionactive_deprecations_target
stacklevelr   Tz()r  rx   ,rC   zPermutation(%s)zPermutation([], size=%s)z	, size=%s) sympy.combinatorics.permutationsr  r  sympy.utilities.exceptionsr  print_cyclic	_settingsgetsize__repr__r   rfindreplacesupportr%   
array_form)r&   r:   r  r  r  r   r   lasttrimusefulls   &&         r*   _print_PermutationStrPrinter._print_Permutation  s   GH!.."%++6- 8 */+P ..,,]DAK999 dDIIM*335c'lmDA773<D19AeH!4eHq$x'		#r"AHA99q=,t{{4??/KKK1DKK		4JJJ;;tz"	:;kDKKX\XaXaLb>bbDT__55C4y3t9$$s**r-   c                	    VP                   w  r#p\        VP                  4      ^8X  d   V^ ,          pV^ ,          pRV P                  V4      : RV P                  V4      : RV P                  V4      : R2# )rA   zSubs(ry   rz   )r1   r   r  r%   )r&   r  r:   rl  news   &&   r*   _print_SubsStrPrinter._print_Subs  s`    3syy>Qa&Ca&CKKt{{3/S1AC 	Cr-   c                	"    VP                  4       # r/   r   r9   s   &&r*   _print_TensorIndexStrPrinter._print_TensorIndex      {{}r-   c                	"    VP                  4       # r/   r   r9   s   &&r*   _print_TensorHeadStrPrinter._print_TensorHead  r  r-   c                	"    VP                  4       # r/   r   r9   s   &&r*   _print_TensorStrPrinter._print_Tensor  r  r-   c                	    VP                  4       w  r#TR P                  V Uu. uF  q@P                  V\        V4      4      NK  	  up4      ,           # u upi )rb  )!_get_args_for_traditional_printerr0   r+   r   )r&   r:   rO   r1   r   s   &&   r*   _print_TensMulStrPrinter._print_TensMul  sO    ;;=
chhAEF#sJt$45F
 
 	
Fs   #A
c                	"    VP                  4       # r/   r   r9   s   &&r*   _print_TensAddStrPrinter._print_TensAdd  r  r-   c                	8    V P                  VP                  4      # r/   r%   r   r9   s   &&r*   _print_ArraySymbolStrPrinter._print_ArraySymbol  s    {{499%%r-   c           
     	    V P                  VP                  \        R ,          R4      : RRP                  VP                   Uu. uF  q P                  V4      NK  	  up4      : R2# u upi )FuncTr5  ry   r6  )r+   r   r   r0   indicesr%   )r&   r:   rj   s   && r*   _print_ArrayElementStrPrinter._print_ArrayElement  sW    diiF);TBDIIgkgsgsNtgsbc{{[\~gsNtDuw 	wNts   A(c                	    VP                    Uu. uF  pR V P                  V4      ,          NK  	  ppRRP                  V4      ,          # u upi )z    %szPermutationGroup([
%s])z,
)r1   r%   r0   )r&   r:   r  rw  s   &&  r*   _print_PermutationGroup"StrPrinter._print_PermutationGroup  sB    04		:	1XA&&	:)EJJqM99 ;s   !A
c                	    R # )pirT   r9   s   &&r*   	_print_PiStrPrinter._print_Pi  r   r-   c                	   a  R RP                  V 3R lVP                   4       4      : RS P                  VP                  4      : RS P                  VP                  4      : R2# )zPolynomial ring in ry   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   )r   rsr&   s   & r*   r   -StrPrinter._print_PolyRing.<locals>.<genexpr>  s     ?,BB,r    over  with  orderr0   r   r%   domainr   )r&   rings   f&r*   _print_PolyRingStrPrinter._print_PolyRing  sB    YY?$,,?@KK$dkk$**&=? 	?r-   c                	   a  R RP                  V 3R lVP                   4       4      : RS P                  VP                  4      : RS P                  VP                  4      : R2# )zRational function field in ry   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   )r   fsr&   s   & r*   r   .StrPrinter._print_FracField.<locals>.<genexpr>  s     @-BB-r   r  r  r  r  r&   fields   f&r*   _print_FracFieldStrPrinter._print_FracField  sD    YY@%--@AKK%t{{5;;'?A 	Ar-   c                	"    VP                  4       # r/   r  )r&   elms   &&r*   _print_FreeGroupElement"StrPrinter._print_FreeGroupElement  s    {{}r-   c                	@    R VP                   : RVP                  : R2# )rx    + z*I))r@  yr&   polys   &&r*   _print_GaussianElement!StrPrinter._print_GaussianElement  s     $//r-   c                	2    VP                  V \        R R4      # )z%s**%srb  )r7   r   r  s   &&r*   _print_PolyElementStrPrinter._print_PolyElement
  s    xxj(C88r-   c                	   VP                   ^8X  d   V P                  VP                  4      # V P                  VP                  \        R,          RR7      pV P                  VP                   \        R,          RR7      pVR,           V,           # )rA   r   Tr4  r3  rc  )denomr%   numerr+   r   )r&   fracr  r  s   &&  r*   _print_FracElementStrPrinter._print_FracElement  so    ::?;;tzz**%%djj*U2CD%QE%%djj*V2DT%RE3;&&r-   c                	d   \         R ,          ^,
          p. VP                   Uu. uF  q0P                  W24      NK  	  pppVP                  4        EF  w  rg. p\	        V4       FS  w  rV
^ 8  g   K  V
^8X  d   VP                  WY,          4       K.  VP                  WY,          RV
,          ,           4       KU  	  RP                  V4      pVP                  '       d;   V'       d!   RV P                  V4      ,           R,           pM~V P                  V4      pMlV'       dT   V\        P                  J d   VP                  RV.4       K  V\        P                  J d   VP                  RV.4       EK"  V P                  V4      pV'       g   TpMVR,           V,           pVP                  R4      '       d   VP                  RVR,          .4       EK  VP                  RV.4       EK  	  V^ ,          R9   d,   VP                  ^ 4      pVR8X  d   RV^ ,          ,           V^ &   TP                  P                   R,           p^ R	IHp  VR
VP'                  4       ,          ,          pVR,          p\	        V4       F\  w  pp\+        V4      ^8  g   K  VR,          R8X  g   K(  V\+        V4      ^,
          R R8X  g   KD  V^\+        V4      ^,
           VV&   K^  	  VRP                  V4      RP                  V4      3,          # u upi   T d"    TRTP)                  4       ,          ,          p Li ; i)r3  z**%drb  rx   rz   rB   r?   r@   z(%s, %s)PolynomialErrorz, modulus=%sz, domain='%s':NrA   NNrD   ry   )r?   rB   )r   gensr+   rJ   rd   r   r0   rG   r%   r   rn  rH   rg  rF   rI   r   r   sympy.polys.polyerrorsr  get_modulus
get_domainr   )r&   r:   	ATOM_PRECr   rJ   r  monomcoeffs_monomrj   r!  s_coeffs_termmodifierr  r  ry  r'   s   &&                r*   _print_PolyStrPrinter._print_Poly  s   v&*	TYYPY--a;YtP JJLLEG!%(q5Avtw/tw!';< ) hhw'G|||!DKK$66<G"kk%0G~c7^4 -c7^4 ++e,  30  %%c6":./c6]+K )N 8z!yy|H3q>a((94:	:nt'7'7'999F 	#$T?KE44y1}$r(c/d3t9q=>6Jc6Q"1SY]3U + %$))D/:::} Qj  	:o(999F	:s   LL %L/.L/c                	    R # )r   rT   )r&   rw  s   &&r*   _print_UniversalSetStrPrinter._print_UniversalSetW  s    r-   c                	    VP                   '       d.   V P                  VP                  4       P                  4       4      # V P                  VP                  4       4      # r/   )
is_aliasedr%   as_polyas_exprr9   s   &&r*   _print_AlgebraicNumber!StrPrinter._print_AlgebraicNumberZ  s>    ???;;t||~55788;;t||~..r-   c                X  a  \        V4      pVP                  \        P                  J d+   V'       g#   RS P	                  VP
                  4      ,          # VP                  '       d   VP                  ) \        P                  J d|   V'       gt   R\        ;QJ d7    . V 3R l\        P                  VP
                  3 4       F  NK  	  5,          # ! V 3R l\        P                  VP
                  3 4       4      ,          # VP                  \        P                  ) J dC   S P	                  \        P                  4      : RS P                  VP
                  VRR7      : 2# S P                  VP                  VRR7      pS P                  R8X  dw   VP                  P                  '       d[   VP                  P                  ^8w  d@   VP                  R4      '       d)   S P                  VP
                  VRR7      : R	V^R
 : 2# S P                  VP
                  VRR7      : R	V: 2# )aL  Printing helper function for ``Pow``

Parameters
==========

rational : bool, optional
    If ``True``, it will not attempt printing ``sqrt(x)`` or
    ``x**S.Half`` as ``sqrt``, and will use ``x**(1/2)``
    instead.

    See examples for additional details

Examples
========

>>> from sympy import sqrt, StrPrinter
>>> from sympy.abc import x

How ``rational`` keyword works with ``sqrt``:

>>> printer = StrPrinter()
>>> printer._print_Pow(sqrt(x), rational=True)
'x**(1/2)'
>>> printer._print_Pow(sqrt(x), rational=False)
'sqrt(x)'
>>> printer._print_Pow(1/sqrt(x), rational=True)
'x**(-1/2)'
>>> printer._print_Pow(1/sqrt(x), rational=False)
'1/sqrt(x)'

Notes
=====

``sqrt(x)`` is canonicalized as ``Pow(x, S.Half)`` in SymPy,
so there is no need of defining a separate printer for ``sqrt``.
Instead, it should be handled here as well.
zsqrt(%s)z%s/sqrt(%s)c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   r   s   & r*   r   (StrPrinter._print_Pow.<locals>.<genexpr>  s     -]J\3dkk#.>.>J\r   rc  Fr4  
_sympyreprz	(Rational**r  )r   rZ  r   Halfr%   rq  rt  r   rn  r+   printmethodru  rx  rF   )r&   r:   rationalPRECr!  s   f&&  r*   
_print_PowStrPrinter._print_Pow`  s   L $88qvvhDII 666yAFF"8 %uu-]155RVR[R[J\-]u^^u-]155RVR[R[J\-]'^^^xxAEE6!"&++aee"4"&"3"3DIItE"3"RT T dhhU;|+0D0D0DWX ||K((#'#4#4TYYU#4#SUVWXY[U\]],,TYYU,KQOOr-   c                	F    V P                  VP                  ^ ,          4      # rX  r%   r1   r9   s   &&r*   _print_UnevaluatedExpr!StrPrinter._print_UnevaluatedExpr  s    {{499Q<((r-   c                	    \        V4      pV P                  VP                  VR R7      : RV P                  VP                  VR R7      : 2# )Fr4  r.  )r   r+   rq  rZ  )r&   r:   r2  s   && r*   _print_MatPowStrPrinter._print_MatPow  sJ    $,,TYYU,K**488T%*HJ 	Jr-   c                	    V P                   P                  R R4      '       d
   RV,          # \        VP                  4      # )r   FzS(%s))r  r  r7   rw  r9   s   &&r*   _print_IntegerStrPrinter._print_Integer  s3    >>.66d##466{r-   c                	    R # )IntegersrT   r9   s   &&r*   _print_IntegersStrPrinter._print_Integers      r-   c                	    R # )NaturalsrT   r9   s   &&r*   _print_NaturalsStrPrinter._print_Naturals  rC  r-   c                	    R # )	Naturals0rT   r9   s   &&r*   _print_Naturals0StrPrinter._print_Naturals0      r-   c                	    R # )	RationalsrT   r9   s   &&r*   _print_RationalsStrPrinter._print_Rationals  rL  r-   c                	    R # )RealsrT   r9   s   &&r*   _print_RealsStrPrinter._print_Reals  r[   r-   c                	    R # )	ComplexesrT   r9   s   &&r*   _print_ComplexesStrPrinter._print_Complexes  rL  r-   c                	    R # )EmptySetrT   r9   s   &&r*   _print_EmptySetStrPrinter._print_EmptySet  rC  r-   c                	    R # )EmptySequencerT   r9   s   &&r*   _print_EmptySequenceStrPrinter._print_EmptySequence  s    r-   c                	    \        V4      # r/   r7   r9   s   &&r*   
_print_intStrPrinter._print_int      4yr-   c                	    \        V4      # r/   rb  r9   s   &&r*   
_print_mpzStrPrinter._print_mpz  re  r-   c                	   VP                   ^8X  d   \        VP                  4      # V P                  P	                  RR4      '       d   RVP                  : RVP                   : 2# VP                  : RVP                   : 2# )rA   r   FzS(z)/rc  )rx  r7   rw  r  r  r9   s   &&r*   _print_RationalStrPrinter._print_Rational  sY    66Q;tvv;~~!!"2E::%)VVTVV44"ffdff--r-   c                	    VP                   ^8X  d   \        VP                  4      # RVP                  VP                   3,          # )rA   z%d/%d)rx  r7   rw  r9   s   &&r*   _print_PythonRational StrPrinter._print_PythonRational  s3    66Q;tvv;dffdff---r-   c                	    VP                   ^8X  d   \        VP                  4      # VP                  : RVP                   : 2# rA   rc  denominatorr7   	numeratorr9   s   &&r*   _print_FractionStrPrinter._print_Fraction  4    q t~~&&"nnd.>.>??r-   c                	    VP                   ^8X  d   \        VP                  4      # VP                  : RVP                   : 2# rp  rq  r9   s   &&r*   
_print_mpqStrPrinter._print_mpq  rv  r-   c                	   VP                   pV P                  P                  R R4      pVf   V^8  d   ^ M\        VP                   4      pV P                  R,          RJ d   RpMAV P                  R,          RJ d   RpM'V P                  R,          R8X  d   V P                  ^8  pRV P                  9   d   V P                  R,          MRpRV P                  9   d   V P                  R,          MRp\        VP                  VXWVR7      pVP                  R	4      '       d   R
VR,          ,           pM'VP                  R4      '       d   RVR,          ,           pVP                  R4      pV# )r    Nr   TFr   r   r   )strip_zeros	min_fixed	max_fixedz-.0z-0.:   NNz.0z0.:r<  NNrB   )	_precr  r  r   _print_levelmlib_to_str_mpf_rF   removeprefix)r&   r:   rK   r    striplowhighrvs   &&      r*   _print_FloatStrPrinter._print_Float  s   zznn  -;ax![%<C>>+&$.E^^K(E1E^^K(F2%%)E','>dnnU#D(-(?t~~e$TSes[==BB]]4  2B__S!	r-   c                	   R RRRRRRRRR	R
RRRRR/pVP                   V9   dQ   W!P                   ,          : RV P                  VP                  4      : RV P                  VP                  4      : R2# V P	                  VP                  \        V4      4      : RV P                  P                  VP                   4      ;'       g    VP                   : RV P	                  VP                  \        V4      4      : 2# )z==Eqz!=Nez:=
Assignmentz+=AddAugmentedAssignmentz-=SubAugmentedAssignmentz*=MulAugmentedAssignmentz/=DivAugmentedAssignmentz%=ModAugmentedAssignmentrx   ry   rz   rD   )rel_opr%   lhsrf   r+   r   r"   r  )r&   r:   charmaps   && r*   _print_RelationalStrPrinter._print_Relational  s     $$,*****	
 ;;'!#*;;#7#7TXX9N#';;txx#8: : "..txxD9IJ,,00=LLL,,TXXz$7GHJ 	Jr-   c                	b    R V P                  VP                  RR7      VP                  3,          # )zCRootOf(%s, %d)lexr>   )rP   r:   ry  r9   s   &&r*   _print_ComplexRootOfStrPrinter._print_ComplexRootOf  s.     DOODIIeO$L$(JJ$0 0 	0r-   c                	    V P                  VP                  R R7      .pVP                  \        P                  Jd+   VP                  V P                  VP                  4      4       RRP                  V4      ,          # )r  r>   zRootSum(%s)ry   )rP   r:   funr   IdentityFunctionr   r%   r0   r  s   && r*   _print_RootSumStrPrinter._print_RootSum  sY    		78881---KKDHH-.tyy..r-   c                	
   VP                   P                  pVP                   Uu. uF  q0P                  W1P                  R 7      NK   	  ppRRP                  V4      ,          pVP                   Uu. uF  qPP                  V4      NK  	  ppRV P                  VP                  4      ,          pRV P                  VP                  4      ,          pV.V,           Wx.,           p	V: RRP                  V	4      : R2# u upi u upi )r>   r(  ry   zdomain='%s'z
order='%s'rx   rz   )	r   r   exprsrP   r   r0   r  r%   r  )
r&   basisclsr   r  genr  r  r   r1   s
   &&        r*   _print_GroebnerBasisStrPrinter._print_GroebnerBasis  s    oo&&DIKKPKSKK8KP5))-2ZZ9ZcS!Z9U\\!::t{{5;;77w~/		$00 Q :s   $C;1D c                	   a  \        V\        R 7      pRP                  V 3R lV 4       4      pV'       g   R# RV,          # )r   ry   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   r   r'   r&   s   & r*   r   (StrPrinter._print_set.<locals>.<genexpr>)       =utT**ur   zset()r   )r   r   r0   r&   r   r   r1   s   f&  r*   
_print_setStrPrinter._print_set&  s4    q./yy=u==}r-   c                	.  a a ^ RI Ho \        V\        R7      pRP	                  V 3R lV 4       4      p\
        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   RP                  V4      # R	P                  V4      # )
ra   )	FiniteSetr   ry   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   r  s   & r*   r   .StrPrinter._print_FiniteSet.<locals>.<genexpr>2  r  r   c              3  D   <"   T F  qP                  S4      x  K  	  R # 5ir/   )has)r   r'   r  s   & r*   r   r  3  s     5utxx	""us    TFzFiniteSet({})z{{{}}})sympy.sets.setsr  r   r   r0   ro  r  )r&   r   r   r1   r  s   f&  @r*   _print_FiniteSetStrPrinter._print_FiniteSet.  sh    -q./yy=u==35u53335u555"))$//t$$r-   c                	~   a  \        V\        R 7      pRP                  V 3R lV 4       4      pRP                  V4      # )r   ry   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   r   r   s   & r*   r   .StrPrinter._print_Partition.<locals>.<genexpr>:  s     ;UcS))Ur   zPartition({}))r   r   r0   r  r  s   f&  r*   _print_PartitionStrPrinter._print_Partition7  s5    q./yy;U;;%%d++r-   c                	F    V'       g   R # RV P                  V4      ,          # )zfrozenset()zfrozenset(%s))r  r&   r   s   &&r*   _print_frozensetStrPrinter._print_frozenset=  s     !333r-   c                	   a  V 3R  lpRP                  VP                   Uu. uF
  q2! V4      NK  	  up4      pRS P                  VP                  4      : RV: R2# u upi )c                   < \        V 4      ^8X  d   SP                  V ^ ,          4      # SP                  V ^ ,          3\        V R,          4      ,           4      # r   r   r   s   &r*   r   )StrPrinter._print_Sum.<locals>._xab_tostrC  r   r-   ry   zSum(rz   r   r   s   f&   r*   
_print_SumStrPrinter._print_SumB  sL    	?
 IIdkk:kz!}k:; $DMM :A>> ;r   c                	    VP                   # r/   r   r9   s   &&r*   _print_SymbolStrPrinter._print_SymbolK  rM  r-   c                	    R # r   rT   r9   s   &&r*   _print_IdentityStrPrinter._print_IdentityP  r   r-   c                	    R # )0rT   r9   s   &&r*   _print_ZeroMatrixStrPrinter._print_ZeroMatrixS  r   r-   c                	    R # )ra  rT   r9   s   &&r*   _print_OneMatrixStrPrinter._print_OneMatrixV  r   r-   c                	(    R VP                   ,          # )zQ.%sr   r9   s   &&r*   _print_PredicateStrPrinter._print_PredicateY  s    		!!r-   c                	    \        V4      # r/   rb  r9   s   &&r*   
_print_strStrPrinter._print_str\  re  r-   c                	    \        V4      ^8X  d    RV P                  V^ ,          4      ,          # RV P                  VR4      ,          # )rA   z(%s,)r$   ry   )r   r%   r3   r9   s   &&r*   _print_tupleStrPrinter._print_tuple_  s;    t9>T[[a111DNN4666r-   c                	$    V P                  V4      # r/   )r  r9   s   &&r*   _print_TupleStrPrinter._print_Tuplee  s      &&r-   c                	^    R V P                  VP                  \        R,          4      ,          # )z%s.Tr   r  )r&   Ts   &&r*   _print_TransposeStrPrinter._print_Transposeh  s#    ))!%%E1BCCCr-   c                	|    R V P                  VP                  4      : RV P                  VP                  4      : R2# )zUniform(ry   rz   )r%   r  r  r9   s   &&r*   _print_UniformStrPrinter._print_Uniformk  s'    $(KK$7TVV9LMMr-   c                	    V P                   P                  R R4      '       d   RVP                  ,          # RVP                  ,          # )r   Fz%s)r  r  r   r   r9   s   &&r*   _print_QuantityStrPrinter._print_Quantityn  s7    >>h..$++%%diir-   c           	     	0   VP                    Uu. uF!  q P                  V\        R ,          RR7      NK#  	  ppV^ ,          .\        VR,          R4       UUu. uF  w  r$VR,           V,           NK  	  upp,           pRP	                  V4      # u upi u uppi )r   Tr4  r@   ijkrb  r  )r1   r+   r   zipr0   )r&   r:   rj   r   ri   r  s   &&    r*   _print_QuaternionStrPrinter._print_Quaternions  s~    KO99U9aq*U"3DA9UqTF#aeU*;<*;$!aeAgg*;<<zz!} V<s   'BBc                	    \        V4      # r/   rb  r9   s   &&r*   _print_DimensionStrPrinter._print_Dimensionx  re  r-   c                	(    VP                   R ,           # r   r   r9   s   &&r*   _print_WildStrPrinter._print_Wild{      yy3r-   c                	(    VP                   R ,           # r   r   r9   s   &&r*   _print_WildFunctionStrPrinter._print_WildFunction~  r  r-   c                	    VP                   # r/   r   r9   s   &&r*   _print_WildDotStrPrinter._print_WildDot  rM  r-   c                	    VP                   # r/   r   r9   s   &&r*   _print_WildPlusStrPrinter._print_WildPlus  rM  r-   c                	    VP                   # r/   r   r9   s   &&r*   _print_WildStarStrPrinter._print_WildStar  rM  r-   c                	~    V P                   P                  R R4      '       d   R# V P                  \        ^ 4      4      # )r   FzS(0))r  r  r=  r   r9   s   &&r*   _print_ZeroStrPrinter._print_Zero  s2    >>.66""71:..r-   c                	    VP                   P                  pV P                  VP                  4       4      pV P                  VP                  4      pV: R V: RV: R2# rw   )r   r   r%   to_listdom)r&   rw  r  repr  s   &&   r*   
_print_DMPStrPrinter._print_DMP  sD    kk""kk!))+&kk!%% "C--r-   c                	    VP                   P                  pV P                  VP                  4      pV P                  VP                  4      pV P                  VP
                  4      pV: R V: RV: RV: R2# rw   )r   r   r%   numdenr  )r&   r:   r  r  r  r  s   &&    r*   
_print_DMFStrPrinter._print_DMF  sV    nn%%kk$((#kk$((#kk$((##&S#66r-   c                	(    R VP                   ,          # )zObject("%s")r   )r&   r  s   &&r*   _print_ObjectStrPrinter._print_Object  s    ((r-   c                	(    R VP                   ,          # )zIdentityMorphism(%s))r  r&   morphisms   &&r*   _print_IdentityMorphism"StrPrinter._print_IdentityMorphism  s    %77r-   c                	\    R VP                   : RVP                  : RVP                  : R2# )zNamedMorphism(ry   z, "z"))r  codomainr   r  s   &&r*   _print_NamedMorphismStrPrinter._print_NamedMorphism  s#    !2!2HMMC 	Cr-   c                	(    R VP                   ,          # )zCategory("%s")r   )r&   categorys   &&r*   _print_CategoryStrPrinter._print_Category  s    (--//r-   c                	.    VP                   P                   # r/   r   )r&   manifolds   &&r*   _print_ManifoldStrPrinter._print_Manifold  s    }}!!!r-   c                	.    VP                   P                   # r/   r   )r&   patchs   &&r*   _print_PatchStrPrinter._print_Patch  s    zzr-   c                	.    VP                   P                   # r/   r   )r&   coordss   &&r*   _print_CoordSystemStrPrinter._print_CoordSystem  s    {{r-   c                	d    VP                   P                  VP                  ,          P                  # r/   
_coord_sysr   _indexr   r  s   &&r*   _print_BaseScalarField!StrPrinter._print_BaseScalarField  s#    ''5:::r-   c                	r    R VP                   P                  VP                  ,          P                  ,          # )ze_%sr-  r  s   &&r*   _print_BaseVectorField!StrPrinter._print_BaseVectorField  s(    ((00>CCCCr-   c                	    VP                   p\        VR 4      '       d9   RVP                  P                  VP                  ,          P
                  ,          # RV P                  V4      ,          # )r.  zd%szd(%s))_form_fieldr   r.  r   r/  r   r%   )r&   diffr  s   && r*   _print_DifferentialStrPrinter._print_Differential  sT      5,''5++33ELLAFFFFT[[///r-   c                	V    R : RV P                  VP                  ^ ,          4      : R2# )Trrx   rz   r6  r9   s   &&r*   	_print_TrStrPrinter._print_Tr  s    TYYq\!:;;r-   c                	8    V P                  VP                  4      # r/   r  r  s   &&r*   
_print_StrStrPrinter._print_Str  s    {{166""r-   c                	    VP                   pV P                  V4      : R V P                  VP                  4      : RV P                  VP                  4      : R2# rw   )r{   r%   r  rf   )r&   r:   rels   && r*   _print_AppliedBinaryRelation'StrPrinter._print_AppliedBinaryRelation  sA    mm#{{3/#{{4884#{{48846 	6r-   rT   )FrX  r/   )r   
__module____qualname____firstlineno__r0  r!   __annotations__r"   r+   r3   r;   rP   rU   rY   r^   rk   rp   rt   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r  r  r  r%  r)  r,  r0  r8  rH  rK  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r
  r  r  r"  r(  r3  r7  r:  r=  rA  rF  rJ  rO  rS  rW  r[  r_  rc  rg  rj  rm  rt  rx  r  r  r  r  r  r  r  r  r  r  r  _print_MatrixSymbol_print_RandomSymbolr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r	  r  r  r  r  r  r"  r&  r*  r0  r3  r8  r<  r?  rC  __static_attributes__rT   r-   r*   r   r      s   KV%%ttt	)~ 	 $&L.%%K"*JEIJN?%
1[
)&9MMN
$D6&<HHYX
3&&FAtFl
"
@'+RC
&w:?
A
09'@;D/;Pz)J

..@@*J*0/1%,4
?''"7'DN 

/
.7)8C0" ;D0<#6r-   r   c                >    \        V4      pVP                  V 4      pV# )a:  Returns the expression as a string.

For large expressions where speed is a concern, use the setting
order='none'. If abbrev=True setting is used then units are printed in
abbreviated form.

Examples
========

>>> from sympy import symbols, Eq, sstr
>>> a, b = symbols('a b')
>>> sstr(Eq(a + b, 0))
'Eq(a + b, 0)'
)r   doprintr:   settingsrw  r   s   &,  r*   sstrrP    s     " 	8A			$AHr-   c                  &    ] tR tRtRtR tR tRtR# )StrReprPrinteri  z(internal) -- see sstrreprc                	    \        V4      # r/   )r8   r  s   &&r*   r  StrReprPrinter._print_str  s    Awr-   c                	p    VP                   P                  : R V P                  VP                  4      : R2# )rx   rz   )r   r   r%   r   r  s   &&r*   r?  StrReprPrinter._print_Str  s$    ;;//QVV1DEEr-   rT   N)r   rE  rF  rG  __doc__r  r?  rK  rT   r-   r*   rR  rR    s    $Fr-   rR  c                >    \        V4      pVP                  V 4      pV# )zreturn expr in mixed str/repr form

i.e. strings are returned in repr form with quotes, and everything else
is returned in str form.

This function could be useful for hooking into sys.displayhook
)rR  rM  rN  s   &,  r*   sstrreprrY    s      	x A			$AHr-   N)#rW  
__future__r   typingr   
sympy.corer   r   r   r   r   r	   sympy.core.mulr
   sympy.core.numbersr   sympy.core.relationalr   sympy.core.sortingr   sympy.utilities.iterablesr   r   r   printerr   r   mpmath.libmpr   r   r  r   rP  rR  rY  rT   r-   r*   <module>rd     s    #  ; ; & & , / * . , ;x6 x6v 
 ,FZ F   r-   