ó
    Š*£h@š ã                   óv  • S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJrJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJrJrJr  S SKJrJr  S SKJ r   S SK!J"r"  S SK#J$r$  S SK%J&r&J'r'  S SK(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r7  \/r8\2r9 " S S\5      r:\" \:5      S 5       r;S r<\<r=S r>g)é    N)ÚS)ÚAdd)ÚTuple)ÚFunction)ÚMul)ÚNumberÚRational)ÚPow)Údefault_sort_key)ÚSymbol)ÚSympifyError)Úrequires_partial)Ú
PRECEDENCEÚ
precedenceÚprecedence_traditional)ÚPrinterÚprint_function)Ússtr)Úhas_variety)Úsympy_deprecation_warning)Ú
prettyFormÚ
stringPict)ÚhobjÚvobjÚxobjÚxsymÚpretty_symbolÚpretty_atomÚpretty_use_unicodeÚgreek_unicodeÚUÚpretty_try_use_unicodeÚ	annotatedÚis_subscriptable_in_unicodeÚ
center_padÚrootc                   ó4  • \ rS rSrSrSrSSSSSSSSSSS	.
rSôS
 jrS r\	S 5       r
S rS rS rS rSõS jr\rS rS rS rS rS rS rS rS rS r\r\r\r\r\r\r\r \r!\r"S r#S r$S r%S r&S r'S  r(S! r)SöS" jr*S# r+S$ r,S% r-S& r.S' r/SôS( jr0SôS) jr1S* r2S+ r3S, r4S- r5S. r6S/ r7S0 r8S1 r9S2 r:S3 r;S4 r<S5 r=S6 r>S÷S7 jr?S8 r@S9 rAS: rBS; rCS< rDS= rES> rFS? rGS@ rHSA rISB rJSC rKSD rLSE rMSF rNSG rOSH rPSI rQSJ rRSK rSSL rTSM rUSN rVSO rWSP rXSQ rYSR rZSS r[ST r\SU r]SV r^0 4SW jr_SX r`SY raSZ rbS[ rcS\ rdS] reS^ rfS_ rgS` rhSøSa jriSb rjSc rkSd rlSe rm  SùSf jrnSg roSh rpSi rqSj rr   SúSl jrsSm rt\	Sn 5       ruSo rvSp rwSq rxSr rySs rzSt r{Su r|Sv r}Sw r~Sx rSy r€Sz r�S{ r‚S| rƒS} r„S~ r…S r†S€ r‡S� rˆS‚ r‰Sƒ rŠS„ r‹S… rŒS† r�S‡ rŽSˆ r�S‰ r�SŠ r‘S‹ r’SŒ r“S� r”SŽ r•S� r–S� r—S‘ r˜S’ r™S“ ršSôS” jr›S• rœS– r�S— ržS˜ rŸS™ r Sš r¡S› r¢Sœ r£S� r¤Sž r¥SŸ r¦S  r§S¡ r¨S¢ r©S£ rªS¤ r«S¥ r¬S¦ r­S§ r®S¨ r¯S© r°Sª r±S« r²S¬ r³\³r´\³rµ\³r¶SSSkS­ S4S® jr·S¯ r¸S° r¹S± rºS² r»S³ r¼S´ r½Sµ r¾S¶ r¿S· rÀS¸ rÁS¹ rÂSº rÃS» rÄS¼ rÅS½ rÆS¾ rÇS¿ rÈSÀ rÉSÁ rÊSÂ rËSÃ rÌSÄ rÍSÅ rÎSÆ rÏSÇ rÐSÈ rÑSÉ rÒSÊ rÓSË rÔSÌ rÕSÍ rÖ\Ör×SÎ rØSÏ rÙSÐ rÚSÑ rÛSÒ rÜSÓ rÝSÔ rÞSÕ rßSÖ ràS× ráSØ râSÙ rãSÚ räSÛ råSÜ ræSÝ rçSÞ rèSß réSà rêSá rëSâ rìSã ríSä rîSå rïSæ rðSç rñSè ròSé róSê rôSë rõSì röSí r÷Sî røSï rùSð rúSñ rûSò rüSórýg)ûÚPrettyPrinteré   z?Printer, which converts an expression into 2D ASCII-art figure.Ú_prettyNÚautoTÚplainÚi)
ÚorderÚ	full_precÚuse_unicodeÚ	wrap_lineÚnum_columnsÚuse_unicode_sqrt_charÚroot_notationÚmat_symbol_styleÚimaginary_unitÚperm_cyclicc                 ó6  • [         R                  " X5        [        U R                  S   [        5      (       d'  [        SR                  U R                  S   5      5      eU R                  S   S;  a'  [        SR                  U R                  S   5      5      eg )Nr6   z&'imaginary_unit' must a string, not {})r-   Újz4'imaginary_unit' must be either 'i' or 'j', not '{}')r   Ú__init__Ú
isinstanceÚ	_settingsÚstrÚ	TypeErrorÚformatÚ
ValueError)ÚselfÚsettingss     ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/printing/pretty/pretty.pyr:   ÚPrettyPrinter.__init__/   s„   € Ü×Ò˜Ô(ä˜$Ÿ.™.Ð)9Ñ:¼C×@Ñ@ÜÐD×KÑKÈDÏNÉNÐ[kÑLlÓmÓnÐnØ�^‰^Ð,Ñ-°ZÓ?ÜÐS×ZÑZÐ[_×[iÑ[iÐjzÑ[{Ó|Ó}Ð}ð @ó    c                 ó*   • [        [        U5      5      $ ©N©r   r=   ©rA   Úexprs     rC   ÚemptyPrinterÚPrettyPrinter.emptyPrinter7   s   € Üœ#˜d›)Ó$Ð$rE   c                 ó@   • U R                   S   (       a  g[        5       $ )Nr0   T)r<   r   )rA   s    rC   Ú_use_unicodeÚPrettyPrinter._use_unicode:   s   € à�>‰>˜-×(Øä%Ó'Ð'rE   c                 óX   • U R                  U5      R                  " S0 U R                  D6$ )N© )Ú_printÚrenderr<   rI   s     rC   ÚdoprintÚPrettyPrinter.doprintA   s#   € Ø�{‰{˜4Ó ×'Ò'Ñ9¨$¯.©.Ñ9Ð9rE   c                 ó   • U$ rG   rQ   ©rA   Úes     rC   Ú_print_stringPictÚPrettyPrinter._print_stringPictE   s   € ØˆrE   c                 ó   • [        U5      $ rG   )r   rW   s     rC   Ú_print_basestringÚPrettyPrinter._print_basestringH   s   € Ü˜!‹}ÐrE   c                 ó’   • [        U R                  UR                  5      R                  5       6 n[        UR	                  S5      6 nU$ )NÚatan2)r   Ú
_print_seqÚargsÚparensÚleft©rA   rX   Úpforms      rC   Ú_print_atan2ÚPrettyPrinter._print_atan2K   s:   € Ü˜DŸO™O¨A¯F©FÓ3×:Ñ:Ó<Ð=ˆÜ˜EŸJ™J wÓ/Ð0ˆØˆrE   c                 óD   • [        UR                  U5      n[        U5      $ rG   )r   Únamer   )rA   rX   Ú	bold_nameÚsymbs       rC   Ú_print_SymbolÚPrettyPrinter._print_SymbolP   s   € Ü˜QŸV™V YÓ/ˆÜ˜$ÓÐrE   c                 óD   • U R                  XR                  S   S:H  5      $ )Nr5   Úbold)rl   r<   rW   s     rC   Ú_print_MatrixSymbolÚ!PrettyPrinter._print_MatrixSymbolT   s"   € Ø×!Ñ! !§^¡^Ð4FÑ%GÈ6Ñ%QÓRÐRrE   c                 ón   • U R                   S   nUS:X  a  U R                  S:H  n[        [        XS95      $ )Nr/   r+   é   )r/   )r<   Ú_print_levelr   r   )rA   rX   r/   s      rC   Ú_print_FloatÚPrettyPrinter._print_FloatW   s:   € ð —N‘N ;Ñ/ˆ	Ø˜ÓØ×)Ñ)¨QÑ.ˆIÜœ$˜qÑ6Ó7Ð7rE   c           	      óº  • UR                   nUR                  nU R                  U5      n[        UR	                  S5      6 n[        UR                  S5      6 n[        UR	                  U R                  [        S5      5      5      6 n[        UR	                  S5      6 n[        UR	                  U R                  U5      5      6 n[        UR	                  S5      6 nU$ )NÚ(Ú)úMULTIPLICATION SIGN©Ú_expr1Ú_expr2rR   r   rc   Úrightr!   ©rA   rX   Úvec1Úvec2re   s        rC   Ú_print_CrossÚPrettyPrinter._print_Cross_   s®   € Ø�x‰xˆØ�x‰xˆØ—‘˜DÓ!ˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸK™K¨Ó,Ð-ˆÜ˜EŸJ™J t§{¡{´1Ð5JÓ3KÓ'LÓMÐNˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸJ™J t§{¡{°4Ó'8Ó9Ð:ˆÜ˜EŸJ™J s›OÐ,ˆØˆrE   c           	      óX  • UR                   nU R                  U5      n[        UR                  S5      6 n[        UR	                  S5      6 n[        UR                  U R                  [        S5      5      5      6 n[        UR                  U R                  [        S5      5      5      6 nU$ )Nrx   ry   rz   ÚNABLA©Ú_exprrR   r   rc   r~   r!   ©rA   rX   Úvecre   s       rC   Ú_print_CurlÚPrettyPrinter._print_Curlk   s…   € Ø�g‰gˆØ—‘˜CÓ ˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸK™K¨Ó,Ð-ˆÜ˜EŸJ™J t§{¡{´1Ð5JÓ3KÓ'LÓMÐNˆÜ˜EŸJ™J t§{¡{´1°W³:Ó'>Ó?Ð@ˆØˆrE   c           	      óX  • UR                   nU R                  U5      n[        UR                  S5      6 n[        UR	                  S5      6 n[        UR                  U R                  [        S5      5      5      6 n[        UR                  U R                  [        S5      5      5      6 nU$ )Nrx   ry   úDOT OPERATORr…   r†   rˆ   s       rC   Ú_print_DivergenceÚPrettyPrinter._print_Divergencet   s„   € Ø�g‰gˆØ—‘˜CÓ ˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸK™K¨Ó,Ð-ˆÜ˜EŸJ™J t§{¡{´1°^Ó3DÓ'EÓFÐGˆÜ˜EŸJ™J t§{¡{´1°W³:Ó'>Ó?Ð@ˆØˆrE   c           	      óº  • UR                   nUR                  nU R                  U5      n[        UR	                  S5      6 n[        UR                  S5      6 n[        UR	                  U R                  [        S5      5      5      6 n[        UR	                  S5      6 n[        UR	                  U R                  U5      5      6 n[        UR	                  S5      6 nU$ )Nrx   ry   r�   r{   r   s        rC   Ú
_print_DotÚPrettyPrinter._print_Dot}   s­   € Ø�x‰xˆØ�x‰xˆØ—‘˜DÓ!ˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸK™K¨Ó,Ð-ˆÜ˜EŸJ™J t§{¡{´1°^Ó3DÓ'EÓFÐGˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸJ™J t§{¡{°4Ó'8Ó9Ð:ˆÜ˜EŸJ™J s›OÐ,ˆØˆrE   c           	      óú   • UR                   nU R                  U5      n[        UR                  S5      6 n[        UR	                  S5      6 n[        UR                  U R                  [        S5      5      5      6 nU$ )Nrx   ry   r…   r†   ©rA   rX   Úfuncre   s       rC   Ú_print_GradientÚPrettyPrinter._print_Gradient‰   sc   € Ø�w‰wˆØ—‘˜DÓ!ˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸK™K¨Ó,Ð-ˆÜ˜EŸJ™J t§{¡{´1°W³:Ó'>Ó?Ð@ˆØˆrE   c           	      óú   • UR                   nU R                  U5      n[        UR                  S5      6 n[        UR	                  S5      6 n[        UR                  U R                  [        S5      5      5      6 nU$ )Nrx   ry   Ú	INCREMENTr†   r”   s       rC   Ú_print_LaplacianÚPrettyPrinter._print_Laplacian‘   sc   € Ø�w‰wˆØ—‘˜DÓ!ˆÜ˜EŸJ™J s›OÐ,ˆÜ˜EŸK™K¨Ó,Ð-ˆÜ˜EŸJ™J t§{¡{´1°[³>Ó'BÓCÐDˆØˆrE   c                 ó”   •  [        [        UR                  R                  U S95      $ ! [         a    U R                  U5      s $ f = f)N)Úprinter)r   r   Ú	__class__Ú__name__ÚKeyErrorrK   rW   s     rC   Ú_print_AtomÚPrettyPrinter._print_Atom™   sC   € ð	(äœk¨!¯+©+×*>Ñ*>ÈÑMÓNÐNøÜó 	(Ø×$Ñ$ QÓ'Ò'ð	(ús   ‚&) ©AÁAc                 ót   • U R                   (       a  U R                  U5      $ SS/nU R                  USS5      $ )Nz-ooÚoorx   ry   )rN   r¡   r`   )rA   rX   Úinf_lists      rC   Ú_print_RealsÚPrettyPrinter._print_Reals¬   s8   € Ø××Ø×#Ñ# AÓ&Ð&à˜t�}ˆHØ—?‘? 8¨S°#Ó6Ð6rE   c                 ó  • UR                   S   nU R                  U5      nUR                  (       a  UR                  (       d'  UR                  (       d  [        UR                  5       6 n[        UR                  S5      6 nU$ ©Nr   Ú!)ra   rR   Ú
is_IntegerÚis_nonnegativeÚ	is_Symbolr   rb   rc   ©rA   rX   Úxre   s       rC   Ú_print_subfactorialÚ!PrettyPrinter._print_subfactorial³   sX   € Ø�F‰F�1‰IˆØ—‘˜A“ˆà—— !×"2×"2°q·{·{Ü §¡£Ð/ˆEÜ˜EŸJ™J s›OÐ,ˆØˆrE   c                 ó  • UR                   S   nU R                  U5      nUR                  (       a  UR                  (       d'  UR                  (       d  [        UR                  5       6 n[        UR                  S5      6 nU$ r©   ©ra   rR   r«   r¬   r­   r   rb   r~   r®   s       rC   Ú_print_factorialÚPrettyPrinter._print_factorial¼   sY   € Ø�F‰F�1‰IˆØ—‘˜A“ˆà—— !×"2×"2°q·{·{Ü §¡£Ð/ˆEÜ˜EŸK™K¨Ó,Ð-ˆØˆrE   c                 ó  • UR                   S   nU R                  U5      nUR                  (       a  UR                  (       d'  UR                  (       d  [        UR                  5       6 n[        UR                  S5      6 nU$ )Nr   z!!r³   r®   s       rC   Ú_print_factorial2ÚPrettyPrinter._print_factorial2Å   sY   € Ø�F‰F�1‰IˆØ—‘˜A“ˆà—— !×"2×"2°q·{·{Ü §¡£Ð/ˆEÜ˜EŸK™K¨Ó-Ð.ˆØˆrE   c                 óv  • UR                   u  p#U R                  U5      nU R                  U5      nS[        UR                  5       UR                  5       5      -  n[	        UR                  U5      6 n[	        UR                  U5      6 n[	        UR                  SS5      6 nUR                  S-   S-  Ul        U$ )NÚ rx   ry   rs   é   )ra   rR   ÚmaxÚwidthr   Úaboverb   Úbaseline)rA   rX   ÚnÚkÚn_pformÚk_pformÚbarre   s           rC   Ú_print_binomialÚPrettyPrinter._print_binomialÎ   s™   € Ø�v‰v‰ˆà—+‘+˜a“.ˆØ—+‘+˜a“.ˆà”#�g—m‘m“o w§}¡}£Ó7Ñ7ˆä˜GŸM™M¨#Ó.Ð/ˆÜ˜EŸK™K¨Ó0Ð1ˆÜ˜EŸL™L¨¨cÓ2Ð3ˆàŸ.™.¨1Ñ,¨qÑ0ˆŒàˆrE   c                 ó  • [        S[        UR                  5      -   S-   5      nU R                  UR                  5      nU R                  UR
                  5      n[        [        R                  " X2U5      S[         R                  06nU$ )Nrº   Úbinding)	r   r   Úrel_oprR   ÚlhsÚrhsr   ÚnextÚOPEN©rA   rX   ÚopÚlÚrre   s         rC   Ú_print_RelationalÚPrettyPrinter._print_RelationalÞ   se   € Ü˜œd 1§8¡8›nÑ,¨sÑ2Ó3ˆà�K‰K˜Ÿ™ÓˆØ�K‰K˜Ÿ™ÓˆÜœJŸOšO¨A°1Ó5ÐO¼z¿¹ÑOˆØˆrE   c                 óê  • SSK JnJn  U R                  (       aÊ  UR                  S   nU R                  U5      n[        XB5      (       a  U R                  U[        S5      S9$ [        XC5      (       a  U R                  U[        S5      S9$ UR                  (       a'  UR                  (       d  [        UR                  5       6 n[        UR                  [        S5      5      6 $ U R                  U5      $ )Nr   )Ú
EquivalentÚImpliesÚNotEquiv)ÚaltcharÚNotArrowÚNot)Úsympy.logic.boolalgrÕ   rÖ   rN   ra   rR   r;   Ú_print_Equivalentr   Ú_print_ImpliesÚ
is_BooleanÚis_Notr   rb   rc   Ú_print_Function)rA   rX   rÕ   rÖ   Úargre   s         rC   Ú
_print_NotÚPrettyPrinter._print_Notæ   s¼   € ß=Ø××Ø—&‘&˜‘)ˆCØ—K‘K Ó$ˆEÜ˜#×*Ñ*Ø×-Ñ-¨c¼;ÀzÓ;RÐ-ÐSÐSÜ˜#×'Ñ'Ø×*Ñ*¨3¼ÀJÓ8OÐ*ÐPÐPà�~�~ c§j§jÜ" E§L¡L£NÐ3�ä˜uŸz™z¬+°eÓ*<Ó=Ð>Ð>à×'Ñ'¨Ó*Ð*rE   c                 ó  • UR                   nU(       a  [        UR                   [        S9nUS   nU R                  U5      nUR                  (       a'  UR
                  (       d  [        UR                  5       6 nUSS   H}  nU R                  U5      nUR                  (       a'  UR
                  (       d  [        UR                  5       6 n[        UR                  SU-  5      6 n[        UR                  U5      6 nM     U$ )N©Úkeyr   rs   ú %s )	ra   Úsortedr   rR   rÞ   rß   r   rb   r~   )rA   rX   ÚcharÚsortra   rá   re   Ú	pform_args           rC   Ú__print_BooleanÚPrettyPrinter.__print_Boolean÷   sÂ   € Ø�v‰vˆÞÜ˜!Ÿ&™&Ô&6Ñ7ˆDØ�1‰gˆØ—‘˜CÓ ˆà�>�> #§*§*Ü §¡£Ð/ˆEà˜˜“8ˆCØŸ™ CÓ(ˆIà�~�~ c§j§jÜ&¨	×(8Ñ(8Ó(:Ð;�	ä §¡¨F°T©MÓ :Ð;ˆEÜ §¡¨IÓ 6Ð7ŠEñ ð ˆrE   c                 óz   • U R                   (       a  U R                  U[        S5      5      $ U R                  USS9$ )NÚAndT©rê   ©rN   Ú_PrettyPrinter__print_Booleanr   rà   rW   s     rC   Ú
_print_AndÚPrettyPrinter._print_And  ó9   € Ø××Ø×'Ñ'¨¬;°uÓ+=Ó>Ð>à×'Ñ'¨°Ð'Ð5Ð5rE   c                 óz   • U R                   (       a  U R                  U[        S5      5      $ U R                  USS9$ )NÚOrTrð   rñ   rW   s     rC   Ú	_print_OrÚPrettyPrinter._print_Or  s9   € Ø××Ø×'Ñ'¨¬;°tÓ+<Ó=Ð=à×'Ñ'¨°Ð'Ð5Ð5rE   c                 óz   • U R                   (       a  U R                  U[        S5      5      $ U R                  USS9$ )NÚXorTrð   rñ   rW   s     rC   Ú
_print_XorÚPrettyPrinter._print_Xor  rõ   rE   c                 óz   • U R                   (       a  U R                  U[        S5      5      $ U R                  USS9$ )NÚNandTrð   rñ   rW   s     rC   Ú_print_NandÚPrettyPrinter._print_Nand  s9   € Ø××Ø×'Ñ'¨¬;°vÓ+>Ó?Ð?à×'Ñ'¨°Ð'Ð5Ð5rE   c                 óz   • U R                   (       a  U R                  U[        S5      5      $ U R                  USS9$ )NÚNorTrð   rñ   rW   s     rC   Ú
_print_NorÚPrettyPrinter._print_Nor$  rõ   rE   c                 óŠ   • U R                   (       a"  U R                  X=(       d    [        S5      SS9$ U R                  U5      $ )NÚArrowFrð   rñ   ©rA   rX   rØ   s      rC   rÝ   ÚPrettyPrinter._print_Implies*  s=   € Ø××Ø×'Ñ'¨×+J´kÀ'Ó6JÐQVÐ'ÐWÐWà×'Ñ'¨Ó*Ð*rE   c                 óŠ   • U R                   (       a#  U R                  X=(       d    [        S5      5      $ U R                  USS9$ )NÚEquivTrð   rñ   r  s      rC   rÜ   ÚPrettyPrinter._print_Equivalent0  s<   € Ø××Ø×'Ñ'¨×+J´kÀ'Ó6JÓKÐKà×'Ñ'¨°Ð'Ð5Ð5rE   c           	      óœ   • U R                  UR                  S   5      n[        UR                  [	        SUR                  5       5      5      6 $ )Nr   Ú_)rR   ra   r   r¾   r   r½   rd   s      rC   Ú_print_conjugateÚPrettyPrinter._print_conjugate6  s9   € Ø—‘˜AŸF™F 1™IÓ&ˆÜ˜EŸK™K¬¨c°5·;±;³=Ó)AÓBÐDÐDrE   c                 ór   • U R                  UR                  S   5      n[        UR                  SS5      6 nU$ )Nr   Ú|)rR   ra   r   rb   rd   s      rC   Ú
_print_AbsÚPrettyPrinter._print_Abs:  s2   € Ø—‘˜AŸF™F 1™IÓ&ˆÜ˜EŸL™L¨¨cÓ2Ð3ˆØˆrE   c                 ó¶   • U R                   (       a8  U R                  UR                  S   5      n[        UR	                  SS5      6 nU$ U R                  U5      $ )Nr   ÚlfloorÚrfloor©rN   rR   ra   r   rb   rà   rd   s      rC   Ú_print_floorÚPrettyPrinter._print_floor?  sL   € Ø××Ø—K‘K §¡ q¡	Ó*ˆEÜ §¡¨X°xÓ @ÐAˆEØˆLà×'Ñ'¨Ó*Ð*rE   c                 ó¶   • U R                   (       a8  U R                  UR                  S   5      n[        UR	                  SS5      6 nU$ U R                  U5      $ )Nr   ÚlceilÚrceilr  rd   s      rC   Ú_print_ceilingÚPrettyPrinter._print_ceilingG  sL   € Ø××Ø—K‘K §¡ q¡	Ó*ˆEÜ §¡¨W°gÓ >Ð?ˆEØˆLà×'Ñ'¨Ó*Ð*rE   c                 ó†  • [        UR                  5      (       a  U R                  (       a  [        S5      nOSnS nSn[	        UR
                  5       H”  u  pVU R                  U5      n[        UR                  U5      6 nXF-  nUR                  (       a  US:”  a  U[        [        U5      5      -  nUc  UnMf  [        UR                  S5      6 n[        UR                  U5      6 nM–     [        U R                  UR                  5      R                  5       S[        R                  06n	[        U5      n
US:„  S:w  a  U
[        [        U5      5      -  n
[        U
R                  [        R                   U5      6 n
U
R"                  S-   U
l        [        [        R$                  " X©5      6 n
[        R&                  U
l        U
$ )NúPARTIAL DIFFERENTIALÚdr   rs   rº   rÈ   F)r   rJ   rN   r!   ÚreversedÚvariable_countrR   r   rc   r«   r=   r~   rb   ÚFUNCÚbelowr   ÚLINEr¿   rÌ   ÚMULrÈ   )rA   ÚderivÚderiv_symbolr¯   Úcount_total_derivÚsymÚnumÚsÚdsÚfre   s              rC   Ú_print_DerivativeÚPrettyPrinter._print_DerivativeO  sp  € Ü˜EŸJ™J×'Ñ'¨D×,=×,=ÜÐ3Ó4‰LàˆLØˆØÐä  ×!5Ñ!5Ö6‰HˆCØ—‘˜CÓ ˆAÜ˜QŸV™V LÓ1Ð2ˆBØÑ$Ðà—N—N¨¨a«Øœ¤C¨£HÓ-Ñ-�à‰yØ’ä §¡¨£Ð-�Ü §¡¨£Ð,’ñ 7ô Ø&*§k¡k°%·*±*Ó&=×&DÑ&DÓ&FðHÜ—O‘OñHˆô ˜<Ó(ˆà Ñ! eÓ+Øœ:¤cÐ*;Ó&<Ó=Ñ=ˆEä˜EŸK™K¬
¯©¸Ó;Ð<ˆØŸ™¨!Ñ+ˆŒÜœJŸOšO¨EÓ5Ð6ˆÜ"Ÿ™ˆŒàˆrE   c                 óÜ  • SSK JnJn  X" 5       :X  a!  [        S5      n[	        UR                  5       6 $ U" UR                  5       5      R                  nU/ :X  a4  U R                  UR                  S-
  5      n[	        UR                  5       6 $ [        S5      nU HM  nU R                  [        [        U5      5      R                  SS5      5      n[	        UR                  U5      6 nMO     U$ )Nr   ©ÚPermutationÚCycleÚ rs   Ú,)Ú sympy.combinatorics.permutationsr5  r6  r   r   rb   ÚlistÚcyclic_formrR   Úsizer=   ÚtupleÚreplacer~   )rA   Údcr5  r6  ÚcycÚdc_listr-   rÐ   s           rC   Ú_print_CycleÚPrettyPrinter._print_Cyclet  s»   € ßGà�“‹=Ü˜R“.ˆCÜ˜sŸz™z›|Ð,Ð,á˜bŸg™g›iÓ(×4Ñ4ˆà�b‹=Ø—+‘+˜bŸg™g¨™kÓ*ˆCÜ˜sŸz™z›|Ð,Ð,ä˜‹nˆÛˆAØ—‘œC¤ a£›M×1Ñ1°#°rÓ:Ó;ˆAÜ˜cŸi™i¨›lÐ+ŠCñ ð ˆ
rE   c                 óh  • SSK JnJn  UR                  nUb  [	        SU S3SSSS9  OU R
                  R                  S	S
5      nU(       a  U R                  U" U5      5      $ UR                  n[        [        [        U5      5      5      n[        S5      nS
n[        Xe5       Hv  u  pšU R                  U	5      nU R                  U
5      n[        UR!                  U5      6 nU(       a  SnO[        UR#                  S5      6 n[        UR%                  U5      6 nMx     [        UR'                  5       6 $ )Nr   r4  zw
                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Ú
stacklevelr7   Tr7  Frº   )r9  r5  r6  Úprint_cyclicr   r<   ÚgetrB  Ú
array_formr:  ÚrangeÚlenr   ÚziprR   r   r&  rc   r~   rb   )rA   rJ   r5  r6  r7   ÚlowerÚupperÚresultÚfirstÚurÐ   Ús1Ús2Úcols                 rC   Ú_print_PermutationÚ PrettyPrinter._print_Permutation‡  s  € ßGà!×.Ñ.ˆØÑ"Ü%ð+à+6¨-ð 8ðð */Ø+PØóð Ÿ.™.×,Ñ,¨]¸DÓAˆKæØ×$Ñ$¡U¨4£[Ó1Ð1à—‘ˆÜ”Uœ3˜u›:Ó&Ó'ˆä˜B“ˆØˆÜ˜Ö%‰DˆAØ—‘˜Q“ˆBØ—‘˜Q“ˆBÜ˜bŸh™h r›lÐ+ˆCÞØ‘ä  #§(¡(¨3£-Ð0�Ü §¡¨cÓ!2Ð3ŠFñ &ô ˜6Ÿ=™=›?Ð+Ð+rE   c                 óh  • UR                   nU R                  U5      nUR                  (       a  [        UR	                  5       6 nUnUR
                   HY  nU R                  US   5      nUR                  5       S:”  a  [        UR	                  5       6 n[        UR                  SU5      6 nM[     SnS nUR
                   GHÁ  n	UR                  5       n
U
S-   nU R                  (       + nU(       a  US-  n[        SU5      n[        U5      nUR                  Xº-
  S-  -   Ul        [        U	5      S:”  Ga  [        U	5      S:X  a  [        S5      nU R                  U	S   5      n[        U	5      S:X  a(  U R                  U	S   5      nU R                  U	S   5      nU(       an  [        SSWR                  5       -
  5      n[        UR                  S	U-  5      6 n[        SS
WR                  5       -
  5      n[        UR                  S	U-  5      6 n[        UR                  W5      6 n[        UR!                  W5      6 nU(       d  [        UR                  S	5      6 nU(       a  UnSnGMª  [        UR                  U5      6 nGMÄ     [        UR                  U5      6 n[        R"                  Ul        U$ )Nr   rs   z dTr»   Úintr7  é   rº   é   F)ÚfunctionrR   Úis_Addr   rb   Úlimitsr½   r~   ÚheightrN   r   r¿   rM  r¼   rc   r¾   r&  r(  rÈ   )rA   Úintegralr0  ÚprettyFrá   r¯   Ú	prettyArgÚ	firsttermr.  ÚlimÚhÚHÚ
ascii_modeÚvintre   ÚprettyAÚprettyBÚspcs                     rC   Ú_print_IntegralÚPrettyPrinter._print_Integral¬  sU  € Ø×Ñˆð —+‘+˜a“.ˆà�8�8Ü  '§.¡.Ó"2Ð3ˆGð ˆØ—”ˆAØŸ™ A a¡DÓ)ˆIà�‰Ó  1Ó$Ü&¨	×(8Ñ(8Ó(:Ð;�	ä˜cŸi™i¨¨iÓ8Ð9ŠCñ !ð ˆ	ØˆØ—?•?ˆCà—
‘
“ˆAØ�A‘ˆAð "×.Ñ.Ô.ˆJÞØ�Q‘�ä˜˜q“>ˆDô ˜tÓ$ˆEØ Ÿ\™\Ø‘˜ñ-ñ ˆEŒNô �3‹x˜!Œ|ô �s“8˜q“=Ü(¨›n�GØ"Ÿk™k¨#¨a©&Ó1�GÜ�s“8˜q“=Ø"Ÿk™k¨#¨a©&Ó1�GØ"Ÿk™k¨#¨a©&Ó1�Gæô ˜a  W§]¡]£_Ñ!4Ó5�CÜ(¨'¯,©,°s¸S±yÓ*AÐB�Gä˜a  W§]¡]£_Ñ!4Ó5�CÜ(¨'¯-©-¸¸c¹	Ó*BÐC�Gä" E§K¡K°Ó$8Ð9�Ü" E§K¡K°Ó$8Ð9�æÜ" E§K¡K°Ó$4Ð5�æØ�Ø!“	ä §¡ u£Ð.“ñ] #ô` ˜CŸH™H Q›KÐ(ˆÜ"Ÿ™ˆŒØˆrE   c                 ó0  • UR                   nU R                  U5      n[        SS5      n[        SS5      n[        SS5      nU R                  (       a  [        SS5      n[        SS5      nUR	                  5       nSnSn	Sn
UR
                   GHc  nU R                  U5      u  pÍUS-   S	-  S
-  S-
  nXE-   XNS-
  -  -   U-   U-   /n[        US-   5       H&  nUR                  SU-   SUS-
  -  -   U-   S-   5        M(     [        S5      n[        UR                  " U6 6 n[        X�R	                  5       5      n	U(       a  UR	                  5       n
[        UR                  U5      6 n[        UR                  U5      6 nU(       a	  SUl        SnUR	                  5       n[        S5      n[        UR                  " S/US-
  -  6 6 n[        UR!                  U5      6 n[        UR!                  U5      6 nGMf     XšS-  -   Ul        [        R"                  Ul        U$ )Nr  rs   r  Ú-ÚUpTackTr   r»   é   r[  rº   r7  F)ÚtermrR   r   rN   r`  r_  Ú'_PrettyPrinter__print_SumProduct_LimitsrL  Úappendr   r   Ústackr¼   r¾   r&  r¿   r~   r(  rÈ   )rA   rJ   r•   Úpretty_funcÚhorizontal_chrÚ
corner_chrÚvertical_chrÚfunc_heightrR  Ú	max_upperÚsign_heightre  Úpretty_lowerÚpretty_upperr½   Ú
sign_linesr  Úpretty_signr`  Úpaddings                       rC   Ú_print_ProductÚPrettyPrinter._print_Product÷  s  € Ø�y‰yˆØ—k‘k $Ó'ˆä˜c 1›ˆÜ˜#˜q“\ˆ
Ü˜C “|ˆà××ä! # q›\ˆNÜ˜h¨Ó*ˆJà!×(Ñ(Ó*ˆàˆØˆ	Øˆà—;•;ˆCØ)-×)GÑ)GÈÓ)LÑ&ˆLà  1‘_¨Ñ)¨QÑ.°Ñ2ˆEØ(Ñ5¸ÐQRÉ7Ñ9SÑTÐWaÑaÐdrÑrÐsˆJÜ˜;¨™?Ö+�Ø×!Ñ! #¨Ñ"4¸¸uÀQ¹w¹Ñ"HÈ<Ñ"WÐZ]Ñ"]Ö^ñ ,ô % R›.ˆKÜ$ k×&7Ò&7¸Ð&DÐEˆKô ˜I×':Ñ':Ó'<Ó=ˆIæØ)×0Ñ0Ó2�ä$ k×&7Ñ&7¸Ó&EÐFˆKÜ$ k×&7Ñ&7¸Ó&EÐFˆKæØ'(�Ô$Ø�à ×'Ñ'Ó)ˆFÜ  “nˆGÜ  '§-¢-°#°¸À¹
Ñ1CÐ"DÐEˆGÜ$ k×&7Ñ&7¸Ó&@ÐAˆKä$ k×&7Ñ&7¸Ó&DÐE‹Kñ; ð>  )¸©>Ñ9ˆÔÜ(Ÿn™nˆÔØÐrE   c                 ó\   ^ • U 4S jnT R                  US   5      nU" US   US   5      nXC4$ )Nc                 óº   >• [        S[        S5      -   S-   5      nTR                  U 5      nTR                  U5      n[        [        R                  " X2U5      6 nU$ )Nrº   ú==)r   r   rR   r   rÌ   )rÊ   rË   rÏ   rÐ   rÑ   re   rA   s         €rC   Úprint_startÚ<PrettyPrinter.__print_SumProduct_Limits.<locals>.print_start.  sQ   ø€ Ü˜C¤$ t£*Ñ,¨sÑ2Ó3ˆBØ—‘˜CÓ ˆAØ—‘˜CÓ ˆAÜ¤
§¢°°qÓ 9Ð:ˆEØˆLrE   r»   r   rs   )rR   )rA   re  rˆ  ÚprettyUpperÚprettyLowers   `    rC   Ú__print_SumProduct_LimitsÚ'PrettyPrinter.__print_SumProduct_Limits-  s9   ø€ õ	ð —k‘k # a¡&Ó)ˆÙ! # a¡&¨#¨a©&Ó1ˆØÐ'Ð'rE   c                 ó  • U R                   (       + nS nUR                  nU R                  U5      nUR                  (       a  [	        UR                  5       6 nUR                  5       S-   nSnSnSn	UR                   GHO  n
U R                  U
5      u  p¼[        XŒR                  5       5      nU" XkR                  5       UR                  5       U5      u  pÞnn[        S5      n[	        UR                  " U6 6 nU(       a  UR                  5       n	[	        UR                  U5      6 n[	        UR                  U5      6 nU(       a7  U=R                  XÕR                  5       S-  UR                  -
  -
  -  sl        Sn[        S5      n[	        UR                  " S/U-  6 6 n[	        UR!                  U5      6 n[	        UR!                  U5      6 nGMR     W(       d  UOSnX‰S-  -   U-   Ul        [        R"                  Ul        U$ )Nc                 óº  • SS jn[        U S5      nUS-  nUS-   nU S-  n/ n	U(       aë  U	R                  SU-  S-   5        U	R                  SSUS-
  -  -  5        [        SU5       H#  n
U	R                  SU
-  < SSXz-
  -  < 35        M%     U(       a   U	R                  SU-  < SSXv-
  -  < 35        [        [        SU5      5       H#  n
U	R                  SU
-  < S	SXz-
  -  < 35        M%     U	R                  S	SUS-
  -  -   S
-   5        XeU-   X˜4$ Xx-   nXh-   n[	        SS5      nU	R                  SU-  5        [        SU5       H+  n
U	R                  SU
-  < US   < SXz-
  S-
  -  < 35        M-     [        [        SU5      5       H+  n
U	R                  SU
-  < US   < SXz-
  S-
  -  < 35        M-     U	R                  US   U-  5        XeSU-  -   X˜4$ )Nc                 óä   • U(       a  [        U 5      U:”  a  U $ U[        U 5      -
  nUS;   d  U[        S5      ;  a  U SU-  -   $ US-  nSU-  nUS:X  a  SU-  U -   $ XP-   SU[        U5      -
  -  -   $ )N)ú<^>Ú<r‘  rº   r»   Ú>)rM  r:  )r.  ÚwidÚhowÚneedÚhalfÚleads         rC   ÚadjustÚ6PrettyPrinter._print_Sum.<locals>.asum.<locals>.adjust=  s„   € Þœc !›f s›lØ�HØœS ›V‘|�Ø˜,Ó&¨#´T¸%³[Ó*@Ø˜s 4™x™<Ð'Ø˜Q‘w�Ø˜4‘x�Ø˜#“:Ø˜t™8 a™<Ð'Ø‘x # t¬c°$«iÑ'7Ñ"8Ñ8Ð8rE   r»   rs   r  rº   z\%s`Ú\ry   Ú/r8  Úsumr\  r   é   )Nr‘  )r¼   ru  rL  r#  r   )Ú	hrequiredrO  rP  Ú	use_asciir™  rf  r"  ÚwÚmoreÚlinesr-   Úvsums               rC   ÚasumÚ&PrettyPrinter._print_Sum.<locals>.asum<  sÊ  € ô
9ô �I˜qÓ!ˆAØ�1‘ˆAØ�A‘ˆAØ˜q‘=ˆDàˆEÞØ—‘˜S !™W s™]Ô+Ø—‘˜W¨¨Q°©U©Ñ4Ô5Ü˜q !ž�AØ—L‘L¨S°¬U°C¸¹³KÐ!@ÖAñ %æØ—L‘L¨C°¬G°S¸!¹%³[Ð!AÔBÜ!¤%¨¨1£+Ö.�AØ—L‘L¨C°¬E°3¸¹³;Ð!?Ö@ñ /à—‘˜S 3¨¨A©¡;Ñ.°Ñ4Ô5Ø˜d™( EÐ/Ð/à‘H�Ø‘H�Ü˜E 1“~�Ø—‘˜S !™WÔ%Ü˜q !ž�AØ—L‘L¨S°«U°D¸³G¸SÀ!Á%È!Á)»_Ð!MÖNñ %ä!¤%¨¨1£+Ö.�AØ—L‘L¨S°«U°D¸³G¸SÀ!Á%È!Á)»_Ð!MÖNñ /à—‘˜T !™W a™[Ô)Ø˜a ™f™* eÐ1Ð1rE   r»   Tr   r7  Frº   )rN   r]  rR   r^  r   rb   r`  r_  rt  r¼   r½   r   rv  r¾   r&  r¿   r~   r(  rÈ   )rA   rJ   rh  r¥  r0  rb  rg  rR  r|  r}  re  r‹  rŠ  r"  rf  ÚslinesÚ
adjustmentÚ
prettySignÚpadÚascii_adjustments                       rC   Ú
_print_SumÚPrettyPrinter._print_Sum9  sÜ  € Ø×*Ñ*Ô*ˆ
ò(	2ðT �M‰Mˆà—+‘+˜a“.ˆà�8�8Ü  '§.¡.Ó"2Ð3ˆGà�N‰NÓ˜qÑ ˆð ˆØˆ	Øˆà—;•;ˆCØ'+×'EÑ'EÀcÓ'JÑ$ˆKä˜I×'9Ñ'9Ó';Ó<ˆIñ (,Ø×$Ñ$Ó&¨×(9Ñ(9Ó(;¸Zó(IÑ$ˆA�&˜*ä# B›ˆJÜ# Z×%5Ò%5°vÐ%>Ð?ˆJæØ(×/Ñ/Ó1�ä# Z×%5Ñ%5°kÓ%BÐCˆJÜ# Z×%5Ñ%5°kÓ%BÐCˆJæà× Ò  A¯©Ó)9¸1Ñ)<Ø)0×)9Ñ)9ñ*:ñ %;ñ ;Õ à�ô ˜R“.ˆCÜ˜cŸiši¨#¨¨q©Ð1Ð2ˆCÜ# Z×%5Ñ%5°cÓ%:Ð;ˆJä  *×"2Ñ"2°7Ó";Ð<‹Gñ9 ö@ .8™:¸QÐØ$°A¡~Ñ5Ð8HÑHˆÔä$Ÿ.™.ˆŒØˆrE   c                 óv  • UR                   u  p#pEU R                  U5      n[        U5      [        S   ::  a  [	        UR                  SS5      6 n[	        S5      nU R                  U5      nU R                  (       a/  [	        UR                  [        SS5       [        S5       35      6 nO[	        UR                  S5      6 n[	        UR                  U R                  U5      5      6 n[        U5      S	:X  d$  U[        R                  [        R                  4;   a  S
nO6U R                  (       a%  [        U5      S:X  a  [        S5      O
[        S5      n[	        UR                  U R                  U5      5      6 n[	        UR                  U5      6 n[	        UR                  U5      S[        R                  06nU$ )Nr   rx   ry   re  rp  rs   r  z->z+-r7  Ú+ÚSuperscriptPlusÚSuperscriptMinusrÈ   )ra   rR   r   r   r   rb   rN   r~   r   r   r=   r   ÚInfinityÚNegativeInfinityr&  r(  )	rA   rÐ   rX   ÚzÚz0ÚdirÚEÚLimÚLimArgs	            rC   Ú_print_LimitÚPrettyPrinter._print_Limitš  sT  € ØŸ™‰ˆˆbà�K‰K˜‹NˆÜ�a‹=œJ uÑ-Ó-Ü˜AŸH™H S¨#Ó.Ð/ˆAÜ˜Óˆà—‘˜Q“ˆØ××Ü §¡´°c¸1³°¼{È7Ó?SÐ>TÐ.UÓ!VÐW‰Fä §¡¨dÓ!3Ð4ˆFÜ˜VŸ\™\¨$¯+©+°b«/Ó:Ð;ˆäˆs‹8�tÓ˜r¤a§j¡j´!×2DÑ2DÐ%EÓEØ‰Cà× × Ü8;¸C»ÀC»”kÐ"3Ô4Ì[ÐYkÓMl�ä˜VŸ\™\¨$¯+©+°cÓ*:Ó;Ð<ˆä˜#Ÿ)™) FÓ+Ð,ˆÜ˜#Ÿ)™) A›,Ð?´
·±Ñ?ˆàˆ
rE   c           	      ó  • Un0 n[        UR                  5       H8  n[        UR                  5       H  nU R                  X$U4   5      X4U4'   M     M:     SnSnS/UR                  -  n[        UR                  5       HO  n[	        [        UR                  5       Vs/ s H  oCXE4   R                  5       PM     sn=(       d    S/5      X…'   MQ     Sn	[        UR                  5       GH  nSn
[        UR                  5       H¥  nX4U4   nUR                  5       X…   ::  d   e[        UR                  5       X…   5      u  pÍ[        UR                  U5      6 n[        UR                  U5      6 nU
c  Un
Mt  [        U
R                  SU-  5      6 n
[        U
R                  U5      6 n
M§     U	c  U
n	MË  [        U5       H  n[        U	R                  S5      6 n	M     [        U	R                  U
5      6 n	GM     U	c  [        S5      n	U	$ s  snf )z<
This method factors out what is essentially grid printing.
r»   rs   éÿÿÿÿr   Nrº   r7  )rL  ÚrowsÚcolsrR   r¼   r½   r%   r   r~   rc   r&  )rA   rX   ÚMÚMsr-   r9   ÚhsepÚvsepÚmaxwÚDÚD_rowr.  rc   r~   r  s                  rC   Ú_print_matrix_contentsÚ$PrettyPrinter._print_matrix_contents¶  sÚ  € ð ˆØˆÜ�q—v‘v–ˆAÜ˜1Ÿ6™6–]�ØŸ;™; q¨A¨¡wÓ/��a�4“ó #ñ ð
 ˆØˆð ˆt�a—f‘f‰}ˆä�q—v‘v–ˆAÜ´U¸1¿6¹6´]ÓC²]°˜a˜d™8Ÿ>™>Ö+±]ÑC×JÈÀsÓKˆD‹Gñ ð ˆä�q—v‘v—ˆAàˆEÜ˜1Ÿ6™6–]�Ø˜!�t‘H�ð —w‘w“y D¡GÓ+Ð+Ð+ô
 )¨¯©«°D±GÓ<‘�ä §¡¨£Ð/�Ü §¡ t£Ð-�ð ‘=Ø�EÙä" E§K¡K°°D±Ó$9Ð:�Ü" E§K¡K°£NÐ3’ñ1 #ð4 ‰yØ�Ùô ˜4–[�Ü §¡¨£Ð-’ñ !ô ˜AŸG™G E›NÐ+‹AñK ðN ‰9Ü˜2“ˆAàˆùò_ Ds   ÂH	
c                 ó†   • U R                  U5      nUR                  5       S-  Ul        [        UR	                  X#5      6 nU$ )Nr»   )rÇ  r`  r¿   r   rb   )rA   rX   ÚlparensÚrparensrÅ  s        rC   Ú_print_MatrixBaseÚPrettyPrinter._print_MatrixBaseù  s;   € Ø×'Ñ'¨Ó*ˆØ—X‘X“Z ‘]ˆŒ
Ü˜Ÿ™ Ó2Ð3ˆØˆrE   c                 óB  • UR                   nUR                  (       ar  SSKJn  [	        X#5      (       a  U R                  UR                  SSS9$ U R                  U5      nUR                  5       S-  Ul	        [        UR                  SS5      6 $ U R                  USSS9$ )Nr   ©ÚBlockMatrixr  )rÊ  rË  r»   )rá   Úis_MatrixExprÚ&sympy.matrices.expressions.blockmatrixrÐ  r;   rÌ  ÚblocksrR   r`  r¿   r   rb   )rA   rX   ÚmatrÐ  rÅ  s        rC   Ú_print_DeterminantÚ PrettyPrinter._print_Determinantÿ  s‹   € Ø�e‰eˆØ××ÝJÜ˜#×+Ñ+Ø×-Ñ-¨c¯j©jÀ#ÈsÐ-ÐSÐSØ—‘˜CÓ ˆAØŸ™› Q™ˆAŒJÜ˜qŸx™x¨¨SÓ1Ð2Ð2à×)Ñ)¨#°sÀCÐ)ÐHÐHrE   c                 ój   • U R                   (       a  SnOSnU R                  UR                  S S US S9$ )Nu   âŠ—ú.*c                 ó,   • [        U 5      [        S   :*  $ ©Nr   ©r   r   ©r¯   s    rC   Ú<lambda>Ú4PrettyPrinter._print_TensorProduct.<locals>.<lambda>  ó   € Ô#9¸!Ó#<Ä
È5Ñ@QÒ#QrE   ©Úparenthesize©rN   r`   ra   )rA   rJ   Úcircled_timess      rC   Ú_print_TensorProductÚ"PrettyPrinter._print_TensorProduct  s<   € à××Ø$‰Mà ˆMØ�‰˜tŸy™y¨$°°mÙQð ð Sð 	SrE   c                 ój   • U R                   (       a  SnOSnU R                  UR                  S S US S9$ )Nu   âˆ§z/\c                 ó,   • [        U 5      [        S   :*  $ rÚ  rÛ  rÜ  s    rC   rÝ  Ú3PrettyPrinter._print_WedgeProduct.<locals>.<lambda>  rß  rE   rà  râ  )rA   rJ   Úwedge_symbols      rC   Ú_print_WedgeProductÚ!PrettyPrinter._print_WedgeProduct  s<   € à××Ø#‰Là ˆLØ�‰˜tŸy™y¨$°°lÙQð ð Sð 	SrE   c                 óÊ   • U R                  UR                  5      n[        UR                  SS5      6 nUR	                  5       S-  Ul        [        UR                  S5      6 nU$ )Nrx   ry   r»   Útr)rR   rá   r   rb   r`  r¿   rc   )rA   rX   rÅ  s      rC   Ú_print_TraceÚPrettyPrinter._print_Trace  sR   € Ø�K‰K˜Ÿ™ÓˆÜ˜Ÿ™  SÓ)Ð*ˆØ—X‘X“Z ‘]ˆŒ
Ü˜Ÿ™˜Ó/Ð0ˆØˆrE   c                 óŠ  • SSK Jn  [        UR                  U5      (       a€  UR                  R
                  (       ae  UR                  R
                  (       aJ  U R                  [        UR                  R                  SUR                  UR                  4-  -   5      5      $ U R                  UR                  5      n[        UR                  5       6 nU R                  UR                  UR                  4SS9R                  SSS9S   n[        [        R                  " X45      S	[        R                  06nX5l        XEl        U$ )
Nr   ©ÚMatrixSymbolz_%d%dú, ©Ú	delimiterÚ[Ú]©rc   r~   rÈ   )Úsympy.matricesrò  r;   Úparentr-   Ú	is_numberr9   rR   r   ri   r   rb   r`   r   rÌ   r%  Ú
prettyFuncÚ
prettyArgs)rA   rJ   rò  rü  ÚprettyIndicesre   s         rC   Ú_print_MatrixElementÚ"PrettyPrinter._print_MatrixElement%  sþ   € Ý/Ü�t—{‘{ L×1Ñ1Ø—F‘F×$×$¨¯©×)9×)9Ø—;‘;Ü˜4Ÿ;™;×+Ñ+¨g¸¿¹ÀÇÁÐ8HÑ.HÑHÓIóKð Kð Ÿ™ T§[¡[Ó1ˆJÜ# Z×%6Ñ%6Ó%8Ð9ˆJØ ŸO™O¨T¯V©V°T·V±VÐ,<È˜Oð ß‘f #¨S�fÐ1°!ñ5ˆMäÜ—_’_ ZÓ?ðA¤z§¡ñ AˆEð  *ÔØ,ÔàˆLrE   c                 ó  ^ • SSK Jn  T R                  UR                  5      n[	        UR                  U5      (       d  [        UR                  5       6 nU 4S jnT R                  U" UR                  UR                  R                  5      U" UR                  UR                  R                  5      4SS9R                  SSS9S   n[        [        R                  " X55      S	[
        R                  06nX6l        XVl        U$ )
Nr   rñ  c                 ó–   >• [        U 5      n U S   S:X  a  U S	 U S   S:X  a  SU S'   U S   U:X  a  SU S'   [        TR                  U SS96 $ )Nr»   rs   r   r7  Ú:rô  )r:  r   r`   )r¯   ÚdimrA   s     €rC   ÚppsliceÚ1PrettyPrinter._print_MatrixSlice.<locals>.ppslice@  s^   ø€ Ü�Q“ˆAØ�‰t�q‹yØ�a�DØ�‰t�q‹yØ��!‘Ø�‰t�s‹{Ø��!‘Ü˜tŸ™¨q¸C˜Ð@ÐAÐArE   ró  rô  rö  r÷  rø  rÈ   )rù  rò  rR   rú  r;   r   rb   r`   Úrowslicer¾  Úcolslicer¿  r   rÌ   r%  rü  rý  )rA   Úmrò  rü  r  rý  re   s   `      rC   Ú_print_MatrixSliceÚ PrettyPrinter._print_MatrixSlice:  sÜ   ø€ å/Ø—[‘[ §¡Ó*ˆ
Ü˜!Ÿ(™( L×1Ñ1Ü# Z×%6Ñ%6Ó%8Ð9ˆJõ	Bð —_‘_¡g¨a¯j©j¸!¿(¹(¿-¹-Ó&HÙ�A—J‘J §¡§¡Ó.ð&0Ø;?ð %ð AßAGÁÈSÐX[ÀÐA\Ð]^ñ`ˆ
ô Ü&0§o¢o°jÓ&MðOÜ—O‘OñOˆð &ÔØ%ÔàˆrE   c                 óú   • UR                   nU R                  U5      nSSKJnJn  [        X$5      (       d7  [        X%5      (       d'  UR                  (       a  [        UR                  5       6 nU[        S5      -  nU$ )Nr   ©rò  rÐ  ÚT)	rá   rR   rù  rò  rÐ  r;   rÑ  r   rb   )rA   rJ   rÔ  re   rò  rÐ  s         rC   Ú_print_TransposeÚPrettyPrinter._print_TransposeU  s]   € Ø�h‰hˆØ—‘˜CÓ ˆß<Ü˜3×-Ñ-Ü˜3×,Ñ,°×1B×1BÜ §¡£Ð/ˆEØœ
 3›Ñ(ˆØˆrE   c                 óH  • UR                   nU R                  U5      nU R                  (       a  [        [	        S5      5      nO[        S5      nSSKJnJn  [        X%5      (       d7  [        X&5      (       d'  UR                  (       a  [        UR                  5       6 nX4-  nU$ )NÚDaggerr¯  r   r  )rá   rR   rN   r   r   rù  rò  rÐ  r;   rÑ  rb   )rA   rJ   rÔ  re   Údagrò  rÐ  s          rC   Ú_print_AdjointÚPrettyPrinter._print_Adjoint_  sw   € Ø�h‰hˆØ—‘˜CÓ ˆØ××Üœ[¨Ó2Ó3‰Cä˜S“/ˆCß<Ü˜3×-Ñ-Ü˜3×,Ñ,°×1B×1BÜ §¡£Ð/ˆEØ‘
ˆØˆrE   c                 ó¨   • UR                   R                  S:X  a  U R                  UR                   S   5      $ U R                  UR                   5      $ )N©rs   rs   ©r   r   )rÓ  ÚshaperR   )rA   ÚBs     rC   Ú_print_BlockMatrixÚ PrettyPrinter._print_BlockMatrixm  s<   € Ø�8‰8�>‰>˜VÓ#Ø—;‘;˜qŸx™x¨™~Ó.Ð.Ø�{‰{˜1Ÿ8™8Ó$Ð$rE   c                 ó’  • S nUR                    H´  nU R                  U5      nUc  UnM  UR                  5       S   n[        U5      R	                  5       (       a/  [        [        R                  " US5      6 nU R                  U5      nO[        [        R                  " US5      6 n[        [        R                  " X$5      6 nM¶     U$ )Nr   rº   ú + )ra   rR   Úas_coeff_mmulr   Úcould_extract_minus_signr   r   rÌ   )rA   rJ   r.  Úitemre   Úcoeffs         rC   Ú_print_MatAddÚPrettyPrinter._print_MatAddr  s¥   € ØˆØ—I”IˆDØ—K‘K Ó%ˆEØ‰yØ’à×*Ñ*Ó,¨QÑ/�Ü�U“8×4Ñ4×6Ñ6Ü"¤J§O¢O°A°sÓ$;Ð<�AØ ŸK™K¨Ó-‘Eä"¤J§O¢O°A°uÓ$=Ð>�AÜ¤
§¢°Ó 9Ð:’ñ ð ˆrE   c                 óx  • [        UR                  5      nSSKJn  SSKJn  SSKJn  [        U5       Hr  u  pg[        U[        XSU45      (       aB  [        UR                  5      S:”  a)  [        U R                  U5      R                  5       6 X&'   M_  U R                  U5      X&'   Mt     [        R                  " U6 $ )Nr   ©ÚHadamardProduct)ÚKroneckerProduct©ÚMatAddrs   )r:  ra   Ú#sympy.matrices.expressions.hadamardr'  Ú$sympy.matrices.expressions.kroneckerr(  Ú!sympy.matrices.expressions.mataddr*  Ú	enumerater;   r   rM  r   rR   rb   Ú__mul__)rA   rJ   ra   r'  r(  r*  r-   Úas           rC   Ú_print_MatMulÚPrettyPrinter._print_MatMulƒ  sŒ   € Ü�D—I‘I‹ˆÝGÝIÝ<Ü˜d–O‰DˆAÜ˜1œs FÐ=MÐN×OÑOÜ˜DŸI™I›¨Ó*Ü$ d§k¡k°!£n×&;Ñ&;Ó&=Ð>�“àŸ+™+ a›.�“ñ $ô ×!Ò! 4Ð(Ð(rE   c                 ób   • U R                   (       a  [        [        S5      5      $ [        S5      $ )NÚIdentityMatrixÚI©rN   r   r   rI   s     rC   Ú_print_IdentityÚPrettyPrinter._print_Identity‘  s&   € Ø××ÜœkÐ*:Ó;Ó<Ð<ä˜c“?Ð"rE   c                 ób   • U R                   (       a  [        [        S5      5      $ [        S5      $ )NÚ
ZeroMatrixÚ0r6  rI   s     rC   Ú_print_ZeroMatrixÚPrettyPrinter._print_ZeroMatrix—  s%   € Ø××Üœk¨,Ó7Ó8Ð8ä˜c“?Ð"rE   c                 ób   • U R                   (       a  [        [        S5      5      $ [        S5      $ )NÚ	OneMatrixÚ1r6  rI   s     rC   Ú_print_OneMatrixÚPrettyPrinter._print_OneMatrix�  s%   € Ø××Üœk¨+Ó6Ó7Ð7ä˜c“?Ð"rE   c                 ó    • [        UR                  5      n[        U5       H  u  p4U R                  U5      X#'   M     [        R
                  " U6 $ rG   )r:  ra   r.  rR   r   r/  ©rA   rJ   ra   r-   r0  s        rC   Ú_print_DotProductÚPrettyPrinter._print_DotProduct£  s?   € Ü�D—I‘I‹ˆä˜d–O‰DˆAØ—k‘k !“nˆD‹Gñ $ä×!Ò! 4Ð(Ð(rE   c                 ó  • U R                  UR                  5      nSSKJn  [	        UR                  U5      (       d1  UR                  R
                  (       a  [        UR                  5       6 nX R                  UR                  5      -  nU$ )Nr   rñ  )	rR   Úbaserù  rò  r;   rÑ  r   rb   Úexp)rA   rJ   re   rò  s       rC   Ú_print_MatPowÚPrettyPrinter._print_MatPowª  s^   € Ø—‘˜DŸI™IÓ&ˆÝ/Ü˜$Ÿ)™) \×2Ñ2°t·y±y×7N×7NÜ §¡£Ð/ˆEØŸ™ D§H¡HÓ-Ñ.ˆØˆrE   c           	      ó°   ^^^• SSK Jm  SSKJm  SSKJm  U R                  (       a  [        S5      nOSnU R                  UR                  S S UUUU4S jS9$ )	Nr   r&  r)  ©ÚMatMulÚRingrØ  c                 ó"   >• [        U TTT45      $ rG   ©r;   )r¯   r'  r*  rN  s    €€€rC   rÝ  Ú6PrettyPrinter._print_HadamardProduct.<locals>.<lambda>»  s   ø€ ¤z°!°f¸fÀoÐ5VÔ'WrE   rà  )
r+  r'  r-  r*  Ú!sympy.matrices.expressions.matmulrN  rN   r   r`   ra   )rA   rJ   Údelimr'  r*  rN  s      @@@rC   Ú_print_HadamardProductÚ$PrettyPrinter._print_HadamardProduct²  sK   ú€ ÝGÝ<Ý<Ø××Ü Ó'‰EàˆEØ�‰˜tŸy™y¨$°°eÞWð ð Yð 	YrE   c                 ó˜  • U R                   (       a  [        S5      nOU R                  S5      nU R                  UR                  5      nU R                  UR                  5      n[        UR                  5      [        S   :  a  [        UR                  5       6 n[        [        R                  " X$5      S[        R                  06nX5-  $ )NrO  Ú.r   rÈ   )rN   r   rR   rH  rI  r   r   r   rb   r   rÌ   r'  )rA   rJ   ÚcircÚpretty_baseÚ
pretty_expÚpretty_circ_exps         rC   Ú_print_HadamardPowerÚ"PrettyPrinter._print_HadamardPower½  s�   € à××Ü˜vÓ&‰Dà—;‘;˜sÓ#ˆDØ—k‘k $§)¡)Ó,ˆØ—[‘[ §¡Ó*ˆ
Ü�d—h‘hÓ¤*¨UÑ"3Ó3Ü# Z×%6Ñ%6Ó%8Ð9ˆJÜ$ä�_Š_˜TÓ.ð
Ü—O‘Oñ
ˆð Ñ+Ð+rE   c                 ó¨   ^^• SSK Jm  SSKJm  U R                  (       a  S[        S5       S3nOSnU R                  UR                  S S UUU4S jS9$ )	Nr   r)  rM  rº   ÚTensorProductz x c                 ó    >• [        U TT45      $ rG   rQ  )r¯   r*  rN  s    €€rC   rÝ  Ú7PrettyPrinter._print_KroneckerProduct.<locals>.<lambda>Õ  s   ø€ ¤z°!°f¸fÐ5EÔ'FrE   rà  )r-  r*  rS  rN  rN   r   r`   ra   )rA   rJ   rT  r*  rN  s      @@rC   Ú_print_KroneckerProductÚ%PrettyPrinter._print_KroneckerProductÍ  sR   ù€ Ý<Ý<Ø××Øœ OÓ4Ð5°QÐ7‰EàˆEØ�‰˜tŸy™y¨$°°eÝFð ð Hð 	HrE   c                 ó€   • U R                  UR                  R                  5      n[        UR	                  SS5      6 nU$ ©Nrö  r÷  )rR   ÚlamdarJ   r   rb   )rA   ÚXrÅ  s      rC   Ú_print_FunctionMatrixÚ#PrettyPrinter._print_FunctionMatrix×  s2   € Ø�K‰K˜Ÿ™Ÿ™Ó%ˆÜ˜Ÿ™  cÓ*Ð+ˆØˆrE   c           	      óô   • UR                   S:X  d<  UR                   UR                  p2[        U[        USSS9SS9nU R	                  U5      $ U R                  S5      U R                  UR                  5      -  $ )Nrs   r½  F©Úevaluate)r-  Údenr   r
   Ú
_print_MulrR   )rA   rJ   r-  rn  Úress        rC   Ú_print_TransferFunctionÚ%PrettyPrinter._print_TransferFunctionÜ  sb   € Ø�x‰x˜1‹}Ø—x‘x §¡�Ü�cœ3˜s B°Ñ7À%ÑHˆCØ—?‘? 3Ó'Ð'à—;‘;˜q“> $§+¡+¨d¯h©hÓ"7Ñ7Ð7rE   c                 óÜ   • [        UR                  5      n[        UR                  5       H,  u  p4[        U R	                  U5      R                  5       6 X#'   M.     [        R                  " U6 $ rG   )r:  ra   r.  r   rR   rb   r/  rD  s        rC   Ú_print_SeriesÚPrettyPrinter._print_Seriesä  sR   € Ü�D—I‘I‹ˆÜ˜dŸi™iÖ(‰DˆAÜ  $§+¡+¨a£.×"7Ñ"7Ó"9Ð:ˆD‹Gñ )ä×!Ò! 4Ð(Ð(rE   c                 óì  • SSK Jn  [        UR                  5      n/ n[	        U5       H¶  n[        XR5      (       ai  [        UR                  5      S:”  aP  U R                  U5      nUR                  5       S-  Ul	        UR                  [        UR                  5       6 5        M|  U R                  U5      nUR                  5       S-  Ul	        UR                  U5        M¸     [        R                  " U6 $ )Nr   )ÚMIMOParallelrs   r»   )Úsympy.physics.control.ltirw  r:  ra   r#  r;   rM  rR   r`  r¿   ru  r   rb   r/  )rA   rJ   rw  ra   Úpretty_argsr0  Ú
expressions          rC   Ú_print_MIMOSeriesÚPrettyPrinter._print_MIMOSeriesê  sÂ   € Ý:Ü�D—I‘I‹ˆØˆÜ˜$–ˆAÜ˜1×+Ñ+´°D·I±I³ÀÓ0BØ!Ÿ[™[¨›^�
Ø&0×&7Ñ&7Ó&9¸1Ñ&<�
Ô#Ø×"Ñ"¤:¨z×/@Ñ/@Ó/BÐ#CÖDà!Ÿ[™[¨›^�
Ø&0×&7Ñ&7Ó&9¸1Ñ&<�
Ô#Ø×"Ñ" :Ö.ñ  ô ×!Ò! ;Ð/Ð/rE   c                 ó:  • S nUR                    Hˆ  nU R                  U5      nUc  UnM  [        [        R                  " U5      6 nUR                  5       S-  Ul        [        [        R                  " US5      6 n[        [        R                  " X$5      6 nMŠ     U$ )Nr»   r  )ra   rR   r   r   rÌ   r`  r¿   )rA   rJ   r.  r!  re   s        rC   Ú_print_ParallelÚPrettyPrinter._print_Parallelù  s€   € ØˆØ—I”IˆDØ—K‘K Ó%ˆEØ‰yØ’ä¤
§¢°Ó 2Ð3�ØŸX™X›Z¨™]�”
Ü¤
§¢°°5Ó 9Ð:�Ü¤
§¢°Ó 9Ð:’ñ ð ˆrE   c                 ó–  • SSK Jn  S nUR                   H°  nU R                  U5      nUc  UnM  [	        [
        R                  " U5      6 nUR                  5       S-  Ul        [	        [
        R                  " US5      6 n[        XB5      (       a  UR                  5       S-
  Ul        [	        [
        R                  " X55      6 nM²     U$ )Nr   )ÚTransferFunctionMatrixr»   r  rs   )
rx  r�  ra   rR   r   r   rÌ   r`  r¿   r;   )rA   rJ   r�  r.  r!  re   s         rC   Ú_print_MIMOParallelÚ!PrettyPrinter._print_MIMOParallel  sŸ   € ÝDØˆØ—I”IˆDØ—K‘K Ó%ˆEØ‰yØ’ä¤
§¢°Ó 2Ð3�ØŸX™X›Z¨™]�”
Ü¤
§¢°°5Ó 9Ð:�Ü˜d×;Ñ;Ø!"§¡£¨a¡�A”JÜ¤
§¢°Ó 9Ð:’ñ ð ˆrE   c                 ó´  • SSK JnJn  UR                  U" SSUR                  5      pT[        XC5      (       a  [        UR                  5      OU/n[        UR                  U5      (       a  [        UR                  R                  5      OUR                  /n[        XC5      (       a&  [        UR                  U5      (       a  U" / UQUQ76 nOÁ[        XC5      (       aF  [        UR                  U5      (       a+  UR                  U:X  a  U" U6 nO€U" / UQUR                  P76 nOk[        XB5      (       a0  [        UR                  U5      (       a  XE:X  a  U" U6 nO5U" U/UQ76 nO+XE:X  a  U" U6 nO UR                  U:X  a  U" U6 nO
U" / UQUQ76 n[        [        R                  " U R                  U5      5      6 n	U	R                  5       S-  U	l        UR                  S:X  a  [        [        R                  " U	S5      6 O[        [        R                  " U	S5      6 n	[        [        R                  " X�R                  U5      5      6 n	U R                  U5      U	-  $ )Nr   )ÚTransferFunctionÚSeriesrs   r»   r½  r  ú - )Úsympy.physics.controlr…  r†  Úsys1Úvarr;   r:  ra   Úsys2r   r   rÌ   rR   r`  r¿   Úsign)
rA   rJ   r…  r†  r-  ÚtfÚnum_arg_listÚden_arg_listrn  Údenoms
             rC   Ú_print_FeedbackÚPrettyPrinter._print_Feedback  sá  € ßBà—)‘)Ñ-¨a°°D·H±HÓ=ˆRÜ)3°C×)@Ñ)@”t˜CŸH™H”~ÀsÀeˆä�t—y‘y &×)Ñ)ô ˜DŸI™IŸN™NÔ+Ø04·	±	¨{ð 	ô �c×"Ñ"¤z°$·)±)¸V×'DÑ'DÙÐ6˜,Ð6¨Ò6‰CÜ˜×$Ñ$¬°D·I±IÐ?O×)PÑ)PØ�y‰y˜B‹Ù˜lÐ+‘áÐ6˜lÐ6¨D¯I©IÒ6‘Ü˜×.Ñ.´:¸d¿i¹iÈ×3PÑ3PØ‹yÙ˜lÐ+‘á˜SÐ0 <Ò0‘à‹yÙ˜lÐ+‘Ø—‘˜b“Ù˜lÐ+‘áÐ:˜lÐ:¨\Ò:�äœJŸOšO¨D¯K©K¸«OÓ<Ð=ˆØŸ™›¨Ñ*ˆŒØ>B¿i¹iÈ2»o”
œJŸOšO¨E°5Ó9Ñ:ÜœZŸ_š_¨U°EÓ:Ð;ð 	äœJŸOšO¨E·;±;¸sÓ3CÓDÐEˆà�{‰{˜3Ó Ñ%Ð%rE   c                 óþ  • SSK JnJn  U R                  U" UR                  UR
                  5      5      nU R                  UR
                  5      n[        [        R                  " U5      6 nUR                  S:X  a  [        [        R                  " SU5      6 O[        [        R                  " SU5      6 n[        [        R                  " U5      6 nSUl        [        [        R                  " US5      6 nUR                  5       S-  Ul        [        R                  " U[        S5      5      n[        UR
                  U5      (       a  UR                  5       S	-
  Ul        [        [        R                  " Xe5      6 nU$ )
Nr   )Ú
MIMOSeriesr�  r½  zI + zI - z-1 r»   rº   rs   )rˆ  r”  r�  rR   r‹  r‰  r   r   rÌ   rŒ  r~   rb   r¿   r`  r/  r;   )rA   rJ   r”  r�  Úinv_matÚplantÚ	_feedbacks          rC   Ú_print_MIMOFeedbackÚ!PrettyPrinter._print_MIMOFeedback;  s"  € ßLà—+‘+™j¨¯©°D·I±IÓ>Ó?ˆØ—‘˜DŸI™IÓ&ˆÜ¤
§¢°Ó 8Ð9ˆ	ØHLÏ	É	ÐUWË”J¤
× 0Ò 0°¸Ó CÑDÜœZ×-Ò-¨f°iÓ@ÐAð 	ä¤
× 1Ò 1°)Ó <Ð=ˆ	Øˆ	ÔÜ¤
× 0Ò 0°¸EÓ BÐCˆ	Ø&×-Ñ-Ó/°Ñ2ˆ	ÔÜ×&Ò& y´*¸S³/ÓBˆ	Ü�d—i‘iÐ!7×8Ñ8Ø!*×!1Ñ!1Ó!3°aÑ!7ˆIÔÜ¤
§¢°	Ó AÐBˆ	ØÐrE   c                 óÒ   • U R                  UR                  5      nUR                  5       S-
  Ul        U R                  (       a	  [
        S   OSn[        UR                  U5      6 nU$ )Nrs   Útauz{t})rR   Ú	_expr_matr`  r¿   rN   r    r   r~   )rA   rJ   rÔ  Ú	subscripts       rC   Ú_print_TransferFunctionMatrixÚ+PrettyPrinter._print_TransferFunctionMatrixM  sR   € Ø�k‰k˜$Ÿ.™.Ó)ˆØ—z‘z“| aÑ'ˆŒØ,0×,=×,=”M %Ò(À6ˆ	Ü˜#Ÿ)™) IÓ.Ð/ˆØˆ
rE   c                 ó¼   • SSK Jn  UR                  nUR                  nUR                  nUR
                  nU" X4/XV//5      nU R                  UR                  5      $ )Nr   rÏ  )rÒ  rÐ  Ú_AÚ_BÚ_CÚ_DrR   rÓ  )rA   rJ   rÐ  ÚAr  ÚCrÅ  rÔ  s           rC   Ú_print_StateSpaceÚPrettyPrinter._print_StateSpaceT  sO   € ÝFØ�G‰GˆØ�G‰GˆØ�G‰GˆØ�G‰GˆÙ˜A˜6 A 6Ð*Ó+ˆØ�{‰{˜3Ÿ:™:Ó&Ð&rE   c                 ó¼	  • SSK Jn  U R                  (       d  [        S5      eXR                  :X  a  [        UR                  R                  5      $ / n/ n[        X5      (       a  UR                  5       R                  5       nOSU4/nU Hë  u  pg[        UR                  R                  5       5      nUR                  S S9  U H­  u  pšU
S:X  a  UR                  SU	R                  -   5        OhU
S:X  a  UR                  S	U	R                  -   5        OCU R                  U
5      R                  5       S   nUR                  US
-   U	R                  -   5        UR                  U	R                  5        M¯     Mí     US   R!                  S5      (       a  US   SS  US'   O$US   R!                  S
5      (       a  US   SS  US'   / nS/n/ n[#        U5       GH  u  nnUR                  S5        SU;   d  M   UnUR%                  XO   S5      n['        SS5      U;   af  [)        [+        U5      5       HM  nSXï'   UU   ['        SS5      :X  d  M  UUS-      S:X  d  M*  US U ['        SS5      -   S
-   XO   -   UUS-   S  -   n  O[   OX['        SS5      U;   aH  UR-                  ['        SS5      5      nUS:w  a'  SXï'   US U ['        SS5      -   S
-   XO   -   UUS-   S  -   nUX?'   GM     U Vs/ s H  nUR/                  S5      PM     nn[1        S U 5       5      nSU;   aK  [#        U5       H<  u  nn[+        U5      S:X  d  M  UR3                  SS
[+        US   5      -  5        SXï'   M>     [#        U5       GH0  u  nnUR                  [+        UXï      5      5        [)        U5       Hû  nUS-   [+        U5      ::  a�  U[+        U5      :¼  a2  UR                  S
[5        US S 5      S[+        U5      S-
  -  -   -  5        UXï   :X  a  XÞU   ==   UXï      S-   -  ss'   Mw  UU==   UU   S
US   [+        UU   5      -
  S-   -  -   -  ss'   M¤  U[+        U5      :¼  a2  UR                  S
[5        US S 5      S[+        U5      S-
  -  -   -  5        UU==   S
US   S-   -  -  ss'   Mý     GM3     [        SR7                  U Vs/ s H  nUS S PM
     sn5      5      $ s  snf s  snf )Nr   )ÚVectorz:ASCII pretty printing of BasisDependent is not implementedc                 ó(   • U S   R                  5       $ ©Nr   )Ú__str__rÜ  s    rC   rÝ  Ú5PrettyPrinter._print_BasisDependent.<locals>.<lambda>m  s   € ¨A¨a©D¯L©L¬NrE   rå   rs   r7  r½  z(-1) rº   r  r[  Ú
z)_extz)_lower_hookc              3   ó8   #   • U  H  n[        U5      v •  M     g 7frG   )rM  )Ú.0r¯   s     rC   Ú	<genexpr>Ú6PrettyPrinter._print_BasisDependent.<locals>.<genexpr>¦  s   é € Ð,ª Aœ˜QŸ˜ªùs   ‚éýÿÿÿ)Úsympy.vectorrª  rN   ÚNotImplementedErrorÚzeror   Ú_pretty_formr;   ÚseparateÚitemsr:  Ú
componentsrê   ru  rR   rb   Ú
startswithr.  r>  r   rL  rM  ÚrfindÚsplitr¼   Úinsertr�  Újoin)rA   rJ   rª  Úo1Úvectstrsrº  ÚsystemÚvectÚ
inneritemsrÁ   ÚvÚarg_strÚlengthsÚstrsÚflagr-   ÚpartstrÚtempstrÚparenÚindexr¯   Ú
n_newlinesÚpartsr9   r.  s                            rC   Ú_print_BasisDependentÚ#PrettyPrinter._print_BasisDependent]  sÛ  € Ý'à× × Ü%Ð&bÓcÐcà—9‘9ÓÜ˜dŸi™i×4Ñ4Ó5Ð5ØˆØˆÜ�d×#Ñ#Ø—M‘M“O×)Ñ)Ó+‰Eà˜�Y�KˆEÛ!‰LˆFÜ˜dŸo™o×3Ñ3Ó5Ó6ˆJØ�O‰OÑ":ˆOÑ;Û"‘�ð ˜“6Ø—I‘I˜bØŸn™nñ-õ .ð ˜"“WØ—I‘I˜gØŸn™nñ-õ .ð #Ÿk™kØóß!™6›8 Añ'�Gð —I‘I˜g¨™m¨a¯n©nÑ<Ô=Ø—‘ §¡Ö/ó% #ñ "ð0 ˆa‰5×Ñ˜E×"Ñ"Ø�q‘E˜!˜"�IˆBˆqŠEØ�‰U×Ñ˜c×"Ñ"Ø�q‘E˜!˜"�IˆBˆq‰EàˆØˆtˆØˆÜ# BŸ-‰JˆAˆwØ�K‰K˜ŒNà�w�Ø!�Ø!Ÿ/™/¨(©+°rÓ:�Ü˜ Ó# wÓ.Ü!&¤s¨7£|Ö!4˜Ø"#˜™Ø" 5™>¬T°'¸1Ó-=Õ=À'È%ÐRSÉ)ÑBTÐX\ÕB\ð '.¨f¨u o¼¸WÀaÓ8HÑ&HØ+.ñ'/Ø2:±+ñ'>Ø@GÈÐPQÉ	È
Ð@Sñ'T˜Gá!ò "5ô ˜.¨!Ó,°Ó7ð $ŸM™M¬$¨~¸qÓ*AÓB�EØ “{Ø"#˜™Ø")¨&¨5 /´D¸ÈÓ4KÑ"KØ'*ñ#+Ø.6©kñ#:Ø<CÀEÈAÁIÀJÐ<Oñ#P˜à�”ñ1 (ñ4 &(Ó(¢R ˆa�g‰g�dŽm¡RˆÐ(ÜÑ,©Ó,Ó,ˆ
à�‹9Ü% bžM‘��5Ü�u“: •?Ø—L‘L  C¬3¨u°Q©x«=Ñ$9Ô:Ø�D“Gñ *ô
 " "Ÿ‰HˆAˆuØ�N‰Nœ3˜u T¡W™~Ó.Ô/Ü˜:Ö&�Ø�Q‘3œ#˜e›*Ó$ØœC ›I“~ØŸ™ C¬3¨w°s¸¨|Ó+<Ø+,¬c°'«l¸1©nÑ+=ñ,>ñ %?ô @à˜D™G“|Ø !™W›¨¨t©w©¸%Ñ)?Ñ?�à˜Q› 5¨¡8¨c°7¸2±;Ü36°u¸Q±x³=ñ4Aà34ñ45ñ /6ñ $6ñ 6�ð œC ›I“~ØŸ™ C¬3¨w°s¸¨|Ó+<Ø+,¬c°'«l¸1©nÑ+=ñ,>ñ %?ô @à˜“G˜s G¨B¡K°¡MÑ2Ñ2•Gô 'ñ &ô& ˜$Ÿ)™)±TÓ$:²T° Q s¨£V±TÑ$:Ó;Ó<Ð<ùò9 )ùò8 %;s   Ë&SÒ:Sc           	      óˆ  ^
• SSK Jm
  UR                  5       S:X  a  U R                  US   5      $ / /[	        UR                  5       5       Vs/ s H  n/ PM     sn-   nUR
                   Vs/ s H  n[        [	        U5      5      PM     nnU
4S jn[        R                  " U6  HØ  nUS   R                  X   5        Sn[	        UR                  5       S-
  SS5       H›  n[        X8S-      5      UR
                  U   :  a    M`  U(       a  X8   R                  X8S-      5        OFX8   R                  U" X8S-      5      5        [        X8S-      5      S:X  a  U" X8   S   //5      X8   S'   U(       + n/ X8S-   '   M�     MÚ     US   S   n	UR                  5       S-  S:X  a	  U" U	/5      n	U R                  U	5      $ s  snf s  snf )	Nr   )ÚImmutableMatrixrQ   c                 ó   >• T" U SS9$ )NFrl  rQ   )r¯   rÔ  s    €rC   rÝ  Ú0PrettyPrinter._print_NDimArray.<locals>.<lambda>Ì  s   ø€ ™¨°EÒ:rE   r½  Trs   r»   )Úsympy.matrices.immutablerÔ  ÚrankrR   rL  r  r:  Ú	itertoolsÚproductru  rM  )rA   rJ   r-   Ú	level_strÚshape_rangesrÔ  Úouter_iÚevenÚback_outer_iÚout_exprrÔ  s             @rC   Ú_print_NDimArrayÚPrettyPrinter._print_NDimArrayÃ  sª  ø€ Ý<à�9‰9‹;˜!ÓØ—;‘;˜t B™xÓ(Ð(à�D¬¨d¯i©i«kÔ(:Ó;Ò(: 1›BÑ(:Ñ;Ñ;ˆ	Ø04·
²
Ó;²
¨1œœU 1›Xž±
ˆÐ;ä:ˆÜ ×(Ò(¨,Ó7ˆGØ�b‰M× Ñ  ¡Ô/ØˆDÜ % d§i¡i£k°!¡m°R¸Ö <�Ü�y¨a¡Ñ0Ó1°D·J±J¸|Ñ4LÓLÚÞØÑ+×2Ñ2°9È!¹^Ñ3LÕMàÑ+×2Ñ2±3Ø!¨q¡.Ñ1ó43ô 4ä˜9°AÑ%5Ñ6Ó7¸1Ó<Ù69Ø'Ñ5°bÑ9Ð:Ð;ó7=˜	Ñ/°Ñ3à”x�Ø,.�	 q™.Ó)ó !=ñ 8ð" ˜Q‘< ‘?ˆØ�9‰9‹;˜‰?˜aÓÙ˜H˜:“ˆHà�{‰{˜8Ó$Ð$ùò3 <ùÚ;s   ÁF:Á,F?c           
      ó�  • [        U5      n[        SUR                  5       -  5      n[        SUR                  5       -  5      nS nS nU GHÉ  n	U R                  U	R                  S   5      n
X“;   d  U(       a[  XyR                  :X  aL  U	R                  (       a  [        [         R                  " US5      6 nO[        [         R                  " US5      6 nX“;   aM  [        [         R                  " U
S5      6 n
[        [         R                  " X R                  X9   5      5      6 n
SnOSnU	R                  (       ah  [        UR                  U
5      6 n[        UR                  SU
R                  5       -  5      6 n[        UR                  SU
R                  5       -  5      6 nOg[        UR                  U
5      6 n[        UR                  SU
R                  5       -  5      6 n[        UR                  SU
R                  5       -  5      6 nU	R                  nGMÌ     [        UR                  U5      6 n[        UR                  U5      6 nU$ )Nrº   r   r8  Ú=TF)
r   r½   rR   ra   Úis_upr   rÌ   r~   r¾   r&  )rA   ri   ÚindicesÚ	index_mapÚcenterÚtopÚbotÚlast_valenceÚprev_maprÎ  ÚindpicÚpicts               rC   Ú_printer_tensor_indicesÚ%PrettyPrinter._printer_tensor_indicesä  sÀ  € Ü˜DÓ!ˆÜ˜˜VŸ\™\›^Ñ+Ó,ˆÜ˜˜VŸ\™\›^Ñ+Ó,ˆàˆØˆäˆEØ—[‘[ §¡¨A¡Ó/ˆFØÓ#®°lÇkÁkÓ6QØ—;—;Ü$¤j§o¢o°c¸3Ó&?Ð@‘Cä$¤j§o¢o°c¸3Ó&?Ð@�CØÓ!Ü#¤Z§_¢_°V¸SÓ%AÐB�Ü#¤Z§_¢_°V¿[¹[ÈÑIYÓ=ZÓ%[Ð\�Ø‘à �Ø�{�{Ü  #§)¡)¨FÓ"3Ð4�Ü# V§\¡\°#°f·l±l³nÑ2DÓ%EÐF�Ü  #§)¡)¨C°·±³Ñ,>Ó"?Ð@‘ä  #§)¡)¨FÓ"3Ð4�Ü# V§\¡\°#°f·l±l³nÑ2DÓ%EÐF�Ü  #§)¡)¨C°·±³Ñ,>Ó"?Ð@�Ø Ÿ;™;‹Lñ+ ô. ˜6Ÿ<™<¨Ó,Ð-ˆÜ˜4Ÿ:™: c›?Ð+ˆØˆrE   c                 óv   • UR                   S   R                  nUR                  5       nU R                  X#5      $ r¬  )ra   ri   Úget_indicesrï  )rA   rJ   ri   ræ  s       rC   Ú_print_TensorÚPrettyPrinter._print_Tensor  s4   € Ø�y‰y˜‰|× Ñ ˆØ×"Ñ"Ó$ˆØ×+Ñ+¨DÓ:Ð:rE   c                 ó¸   • UR                   R                  S   R                  nUR                   R                  5       nUR                  nU R                  X#U5      $ r¬  )rJ   ra   ri   rò  rç  rï  )rA   rJ   ri   ræ  rç  s        rC   Ú_print_TensorElementÚ"PrettyPrinter._print_TensorElement  sH   € Ø�y‰y�~‰~˜aÑ ×%Ñ%ˆØ—)‘)×'Ñ'Ó)ˆØ—N‘Nˆ	Ø×+Ñ+¨D¸9ÓEÐErE   c                 óN  • UR                  5       u  p#U Vs/ s HO  n[        U5      [        S   :  a%  [        U R	                  U5      R                  5       6 OU R	                  U5      PMQ     nn[        R                  " U6 nU(       a  [        UR                  U5      6 $ U$ s  snf rÚ  )Ú!_get_args_for_traditional_printerr   r   r   rR   rb   r/  rc   )rA   rJ   rŒ  ra   r-   re   s         rC   Ú_print_TensMulÚPrettyPrinter._print_TensMul  s¤   € Ø×;Ñ;Ó=‰
ˆñ ó
ò �ô # 1Ó%¬
°5Ñ(9Ó9ô ˜Ÿ™ A›×-Ñ-Ó/Ñ0Ø?C¿{¹{È1»~òNáð 	ð 
ô
 ×"Ò" DÐ)ˆÞÜ˜uŸz™z¨$Ó/Ð0Ð0àˆLùò
s   —AB"c                 óþ   • UR                    Vs/ s HO  n[        U5      [        S   :  a%  [        U R	                  U5      R                  5       6 OU R	                  U5      PMQ     nn[        R                  " U6 $ s  snf rÚ  )ra   r   r   r   rR   rb   Ú__add__)rA   rJ   r-   ra   s       rC   Ú_print_TensAddÚPrettyPrinter._print_TensAdd  s}   € ð —Y’Yó
ò �ô # 1Ó%¬
°5Ñ(9Ó9ô ˜Ÿ™ A›×-Ñ-Ó/Ñ0Ø?C¿{¹{È1»~òNáð 	ð 
ô
 ×!Ò! 4Ð(Ð(ùò
s   �AA:c                 ój   • UR                   S   nUR                  (       d  U* nU R                  U5      $ r¬  )ra   rå  rR   )rA   rJ   r,  s      rC   Ú_print_TensorIndexÚ PrettyPrinter._print_TensorIndex'  s,   € Ø�i‰i˜‰lˆØ�z�zØ�$ˆCØ�{‰{˜3ÓÐrE   c                 ó$  • U R                   (       a  [        S5      nOSnS n[        UR                  5       H`  nU R	                  U5      n[        UR                  U5      6 nUc  UnM2  [        UR                  S5      6 n[        UR                  U5      6 nMb     [        U R	                  UR                  5      R                  5       S[
        R                  06n[        U5      n[        UR                  5      S:”  a&  X€R	                  [        UR                  5      5      -  n[        UR                  [        R                  U5      6 nUR                  S-   Ul        [        [        R                   " X‡5      6 n[
        R"                  Ul        U$ )Nr!  r"  rº   rÈ   rs   )rN   r!   r#  Ú	variablesrR   r   rc   r~   rJ   rb   r%  rM  r&  r   r'  r¿   rÌ   r(  rÈ   )	rA   r)  r*  r¯   Úvariabler.  r/  r0  re   s	            rC   Ú_print_PartialDerivativeÚ&PrettyPrinter._print_PartialDerivative-  s8  € Ø××ÜÐ3Ó4‰LàˆLØˆä  §¡Ö1ˆHØ—‘˜HÓ%ˆAÜ˜QŸV™V LÓ1Ð2ˆBà‰yØ’ä §¡¨£Ð-�Ü §¡¨£Ð,’ñ 2ô Ø&*§k¡k°%·*±*Ó&=×&DÑ&DÓ&FðHÜ—O‘OñHˆô ˜<Ó(ˆäˆu�‰Ó !Ó#ØŸ;™;¤s¨5¯?©?Ó';Ó<Ñ<ˆEä˜EŸK™K¬
¯©¸Ó;Ð<ˆØŸ™¨!Ñ+ˆŒÜœJŸOšO¨EÓ5Ð6ˆÜ"Ÿ™ˆŒàˆrE   c           	      óº  ^^• 0 m[        UR                  5       H…  u  p#U R                  UR                  5      TUS4'   UR                  S:X  a  [        S5      TUS4'   MG  [        [        S5      R                  U R                  UR                  5      5      6 TUS4'   M‡     SnSn[        UR                  5      n[        S5       V^s/ s H"  m[        UU4S j[        U5       5       5      PM$     nnS n	[        U5       GH
  n
S n[        S5       H®  mTU
T4   nUR                  5       UT   ::  d   eUT   UR                  5       -
  nUS-  nXÞ-
  n[        UR                  SU-  5      6 n[        UR                  SU-  5      6 nUc  UnM}  [        UR                  SU-  5      6 n[        UR                  U5      6 nM°     U	c  Un	MÊ  [        U5       H  n[        U	R                  S5      6 n	M     [        U	R                  U5      6 n	GM     [        U	R                  S	S
5      6 n	U	R                  5       S-  U	l        [
        R                   U	l        U	$ s  snf )Nr   TÚ	otherwisers   zfor r»   c              3   óN   >#   • U  H  nTUT4   R                  5       v •  M     g 7frG   )r½   )r±  r-   ÚPr9   s     €€rC   r²  Ú1PrettyPrinter._print_Piecewise.<locals>.<genexpr>\  s!   øé € Ð=ª_¨�A�a˜�d‘G—M‘M—O�Oª_ùs   ƒ"%rº   Ú{r7  )r.  ra   rR   rJ   Úcondr   r~   rM  rL  r¼   r½   rc   r&  rb   r`  r¿   rÍ   rÈ   )rA   ÚpexprrÀ   ÚecrÂ  rÃ  Úlen_argsr9   rÄ  rÅ  r-   rÆ  ÚpÚwdeltaÚwleftÚwrightr  r  s          `         @rC   Ú_print_PiecewiseÚPrettyPrinter._print_PiecewiseM  s-  ù€ àˆÜ˜uŸz™zÖ*‰EˆAØ—k‘k "§'¡'Ó*ˆAˆa�ˆd‰GØ�w‰w˜$‹Ü$ [Ó1��!�Q�$“ä$Ü Ó'×-Ñ-¨d¯k©k¸"¿'¹'Ó.BÓCðE��!�Q�$“ñ +ð ˆØˆÜ�u—z‘z“?ˆô ˜qœô#Ú!�Aô Õ=¬U°8¬_Ó=Ö=Ù!ð 	ð #ð
 ˆä�x—ˆAØˆEÜ˜1–X�Ø�a˜�d‘G�Ø—w‘w“y D¨¡GÓ+Ð+Ð+à˜a™ 1§7¡7£9Ñ,�Ø !™�Ø™�ä §¡¨¨F©
Ó 3Ð4�Ü §¡ s¨5¡yÓ 1Ð2�à‘=Ø�EÙä" E§K¡K°°D±Ó$9Ð:�Ü" E§K¡K°£NÐ3’ñ! ð" ‰yØ�Ùô ˜4–[�Ü §¡¨£Ð-’ñ !ô ˜AŸG™G E›NÐ+‹Añ7 !ô: ˜Ÿ™  bÓ)Ð*ˆØ—X‘X“Z ‘]ˆŒ
Ü—O‘OˆŒ	ØˆùòO#s   Ã
)Ic                 óN   • SSK Jn  U R                  UR                  U5      5      $ )Nr   )Ú	Piecewise)Ú$sympy.functions.elementary.piecewiser  rR   Úrewrite)rA   Úiter  s      rC   Ú
_print_ITEÚPrettyPrinter._print_ITE…  s   € ÝBØ�{‰{˜3Ÿ;™; yÓ1Ó2Ð2rE   c                 ó¦   • S nU H:  nUnUc  UnM  [        UR                  S5      6 n[        UR                  U5      6 nM<     Uc  [        S5      nU$ )Nró  rº   )r   r~   r   )rA   rÆ  rÅ  r0  r  s        rC   Ú_hprint_vecÚPrettyPrinter._hprint_vec‰  sY   € ØˆãˆAØˆAØ‰yØ’ä §¡¨£Ð.�Ü §¡¨£
Ð+’ñ ð ‰9Ü˜3“ˆAàˆrE   c                 óþ   • U(       a&  U R                   (       d  U R                  USU4X4USS9$ U R                  X4X4US9n[        [        SUR	                  5       5      UR
                  S9nU R                  XU4X4US9$ )Nr  T)rc   r~   rõ  Úifascii_nougly)rc   r~   rõ  ©r¿   )rN   r`   r   r   r`  r¿   )	rA   Úp1Úp2rc   r~   rõ  r#  ÚtmpÚseps	            rC   Ú_hprint_vseparatorÚ PrettyPrinter._hprint_vseparator˜  sˆ   € Þ $×"3×"3Ø—?‘? B¨¨R =°tØ-6Àtð #ð Mð Mà�o‰o˜r˜i¨dÈ9ˆoÐUˆÜœ˜c 3§:¡:£<Ó0¸3¿<¹<ÑHˆØ�‰ ¨˜}°4Ø)2ð ð 4ð 	4rE   c           	      óŽ  • UR                    Vs/ s H  o R                  U5      PM     nnUR                   Vs/ s H  o@R                  U5      PM     nnU R                  UR                  5      nUR	                  5       S-  Ul        S nX54 HI  nU R                  U5      n	Uc  U	nM  [        UR                  S5      6 n[        UR                  U	5      6 nMK     UR	                  5       S-  Ul        [        UR                  S5      6 n[        UR                  S5      6 nU R                  Xv5      n[        UR                  SS5      6 nUR	                  5       S-  S-
  n
UR	                  5       U
-
  S-
  n[        S5      u  pÍpNn[        SX­-
  -  U-   SX´-
  -  -   X¬-   S9nUS-   S-  n[        UR                  U R                  [        UR                   5      5      5      6 n[        UR                  U R                  [        UR                  5      5      5      6 nX®-   Ul        [        UR                  SU5      6 nU$ s  snf s  snf )	Nr»   rº   rx   ry   rs   ÚFr¯  r$  )ÚaprR   ÚbqÚargumentr`  r¿   r   r   r&  rc   r~   r)  rb   r#   rM  )rA   rX   r0  r-  Úbr.  r  rÅ  rÆ  rÆ  r¾   r&  ÚszÚtÚaddÚimgr,  s                    rC   Ú_print_hyperÚPrettyPrinter._print_hyper¡  sø  € à&'§d¢dÓ+¢d �k‰k˜!Žn¡dˆÐ+Ø&'§d¢dÓ+¢d �k‰k˜!Žn¡dˆÐ+à�K‰K˜Ÿ
™
Ó#ˆØ—X‘X“Z ‘]ˆŒ
ð ˆØ“ˆAØ×$Ñ$ QÓ'ˆEØ‰yØ’ä §¡¨£Ð-�Ü §¡¨£Ð/’ñ ð —X‘X“Z ‘]ˆŒ
ô ˜Ÿ™˜s›Ð$ˆÜ˜Ÿ™ ›Ð%ˆð ×#Ñ# AÓ)ˆô ˜Ÿ™  cÓ*Ð+ˆð —‘“
˜A‘ Ñ!ˆØ—‘“
˜UÑ" QÑ&ˆä& s›^Ñˆˆq�sÜ�t˜u™yÑ)¨CÑ/°$¸%¹)Ñ2DÑDØ %¡
ñ,ˆà�A‰v˜‰kˆä˜Ÿ™˜tŸ{™{¬3¨q¯t©t«9Ó5Ó6Ð7ˆÜ˜Ÿ™ §¡¬C°·±«IÓ 6Ó7Ð8ˆØ‘[ˆŒ
ä˜Ÿ™  Q›Ð(ˆàˆùòY ,ùÚ+s
   �H=¹Ic                 óú  • 0 nUR                    Vs/ s H  o0R                  U5      PM     snUS'   UR                   Vs/ s H  o0R                  U5      PM     snUS'   UR                   Vs/ s H  o@R                  U5      PM     snUS'   UR                   Vs/ s H  o@R                  U5      PM     snUS'   U R                  UR
                  5      nUR                  5       S-  Ul        0 nU H  nU R                  X'   5      Xg'   M     [        S5       H°  n[        USU4   R                  5       USU4   R                  5       5      n	[        S5       Hl  n
XjU4   nX›R                  5       -
  S-  nXœ-
  UR                  5       -
  n[        UR                  SU-  5      6 n[        UR                  SU-  5      6 nX¶X¨4'   Mn     M²     [        US   R                  S	US   5      6 n[        UR                  S5      6 n[        US   R                  S	US   5      6 n[        UR                  U5      6 nUR                  5       S-  Ul        [        UR                  S5      6 n[        UR                  S5      6 nU R!                  UU5      n[        UR#                  S
S5      6 nUR                  5       S-  S-
  nUR                  5       U-
  S-
  n[%        S5      u  nnnnn[        SUU-
  -  U-   SUU-
  -  -   UU-   S9nU R                  ['        UR(                  5      5      nU R                  ['        UR*                  5      5      nU R                  ['        UR                  5      5      nU R                  ['        UR                   5      5      nS nU" UU5      u  nnU" UU5      u  nn[        UR                  SU5      6 n[        UR                  SU5      6 nUR                  U-
  S-
  nUS:”  a  [        UR                  SU-  5      6 n[        UR                  U5      6 n UUl        [        UR                  U 5      6 nUU-   Ul        [        UR                  SU5      6 nU$ s  snf s  snf s  snf s  snf )Nr  )r   rs   )rs   r   r  r»   r   rs   rº   z  rx   ry   ÚGr¯  r$  c                 óÔ   • U R                  5       UR                  5       -
  nUS:X  a  X4$ US:”  a  U [        UR                  SU-  5      6 4$ [        U R                  SU* -  5      6 U4$ )Nr   rº   )r½   r   rc   )r%  r&  Údiffs      rC   r™  Ú,PrettyPrinter._print_meijerg.<locals>.adjust
  si   € Ø—8‘8“: §¡£
Ñ*ˆDØ�q‹yØ�v�Ø˜“Øœ: r§w¡w¨s°4©xÓ'8Ð9Ð9Ð9ä! 2§7¡7¨3°¨u©9Ó#5Ð6¸Ð:Ð:rE   ró  )ÚanrR   ÚaotherÚbmÚbotherr/  r`  r¿   r   rL  r¼   r½   r   rc   r~   r&  r)  rb   r#   rM  r-  r.  )!rA   rX   rÆ  r0  r0  r  ÚvpÚidxr-   rÄ  r9   r.  rc   r~   ÚD1ÚD2rÅ  r¾   r&  r1  r2  r3  r4  r,  ÚppÚpqÚpmÚpnr™  ÚpuÚplÚhtr  s!                                    rC   Ú_print_meijergÚPrettyPrinter._print_meijergÑ  sø  € ð ˆØ-.¯TªTÓ2ªT¨—[‘[ –^©TÑ2ˆˆ&‰	Ø-.¯XªXÓ6ªX¨—[‘[ –^©XÑ6ˆˆ&‰	Ø-.¯TªTÓ2ªT¨—[‘[ –^©TÑ2ˆˆ&‰	Ø-.¯XªXÓ6ªX¨—[‘[ –^©XÑ6ˆˆ&‰	à�K‰K˜Ÿ
™
Ó#ˆØ—X‘X“Z ‘]ˆŒ
àˆÛˆCØ×&Ñ& q¡vÓ.ˆB‹Gñ ô �q–ˆAÜ�r˜1˜a˜&‘z×'Ñ'Ó)¨2¨q°!¨f©:×+;Ñ+;Ó+=Ó>ˆDÜ˜1–X�Ø˜1�v‘J�ØŸw™w›yÑ(¨QÑ.�Ø™ a§g¡g£iÑ/�Ü §¡ s¨T¡zÓ 2Ð3�Ü §¡¨¨e©Ó 4Ð5�Ø�A�6“
ó ñ ô ˜˜F™×)Ñ)¨$°°6±
Ó;Ð<ˆÜ˜Ÿ™ #›Ð'ˆÜ˜˜F™×)Ñ)¨$°°6±
Ó;Ð<ˆÜ˜Ÿ™ ›Ð%ˆð —X‘X“Z ‘]ˆŒ
ô ˜Ÿ™˜s›Ð$ˆÜ˜Ÿ™ ›Ð%ˆð ×#Ñ# A qÓ)ˆô ˜Ÿ™  cÓ*Ð+ˆð —‘“
˜A‘ Ñ!ˆØ—‘“
˜UÑ" QÑ&ˆä& s›^ÑˆˆAˆq�#�sÜ�t˜u q™yÑ)¨CÑ/°$¸%À!¹)Ñ2DÑDØ %¨¡
ñ,ˆð �[‰[œ˜QŸT™T›Ó#ˆØ�[‰[œ˜QŸT™T›Ó#ˆØ�[‰[œ˜QŸT™T›Ó#ˆØ�[‰[œ˜QŸT™T›Ó#ˆò	;ñ ˜˜B“‰ˆˆBÙ˜˜B“‰ˆˆBÜ˜Ÿ™ $¨Ó+Ð,ˆÜ˜Ÿ™ $¨Ó+Ð,ˆà�Z‰Z˜%Ñ !Ñ#ˆØ�‹6Ü˜RŸX™X d¨2¡gÓ.Ð/ˆBÜ˜Ÿ™ ›Ð%ˆàˆŒ
Ü˜Ÿ™ ›
Ð#ˆà˜S‘[ˆŒ
ä˜Ÿ™  Q›Ð(ˆàˆùò] 3ùÚ6ùÚ2ùÚ6s   ‘Q)¿Q.Á-Q3ÂQ8c                 ól   • [        [        SS5      5      nX R                  UR                  S   5      -  $ )NÚExp1rX   r   )r   r   rR   ra   )rA   rX   rH  s      rC   Ú_print_ExpBaseÚPrettyPrinter._print_ExpBase%  s/   € ô œ+ f¨cÓ2Ó3ˆØ—{‘{ 1§6¡6¨!¡9Ó-Ñ-Ð-rE   c                 ó,   • [        [        SS5      5      $ )NrN  rX   )r   r   rW   s     rC   Ú_print_Exp1ÚPrettyPrinter._print_Exp1+  s   € Üœ+ f¨cÓ2Ó3Ð3rE   c           	      óN   • U R                  UR                  UR                  X#XES9$ )N)rê   Ú	func_namerc   r~   )Ú_helper_print_functionr•   ra   )rA   rX   rê   rU  rc   r~   s         rC   rà   ÚPrettyPrinter._print_Function.  s'   € ð ×*Ñ*¨1¯6©6°1·6±6ÀÐ`dÐ*ÐrÐrrE   c                 ó"   • U R                  USS9$ ©Nr¦  ©rU  ©rà   rW   s     rC   Ú_print_mathieucÚPrettyPrinter._print_mathieuc4  ó   € Ø×#Ñ# A°Ð#Ð5Ð5rE   c                 ó"   • U R                  USS9$ ©Nr   rZ  r[  rW   s     rC   Ú_print_mathieusÚPrettyPrinter._print_mathieus7  r^  rE   c                 ó"   • U R                  USS9$ )NzC'rZ  r[  rW   s     rC   Ú_print_mathieucprimeÚ"PrettyPrinter._print_mathieucprime:  ó   € Ø×#Ñ# A°Ð#Ð6Ð6rE   c                 ó"   • U R                  USS9$ )NzS'rZ  r[  rW   s     rC   Ú_print_mathieusprimeÚ"PrettyPrinter._print_mathieusprime=  rf  rE   ró  c	                 ó„  • U(       a  [        U[        S9nU(       d  [        US5      (       a  UR                  nU(       a  U R	                  [        U5      5      n	O%[        U R	                  U5      R                  5       6 n	U(       a]  U R                  (       a  [        S5      n
OSn
U R	                  U
5      n
[        [        R                  " Xš5      S[        R                  06n	[        U R                  X%S9R                  XxS96 n[        [        R                  " X›5      S[        R                  06nXœl        X¼l        U$ )Nrå   rŸ   zModifier Letter Low RingrX  rÈ   rô  rø  )rè   r   ÚhasattrrŸ   rR   r   r   rb   rN   r   r   rÌ   r'  r`   r%  rü  rý  )rA   r•   ra   rê   rU  rõ  Úelementwiserc   r~   rü  rY  rý  re   s                rC   rV  Ú$PrettyPrinter._helper_print_function@  s  € ö Ü˜$Ô$4Ñ5ˆDæœW T¨:×6Ñ6ØŸ™ˆIæØŸ™¤V¨IÓ%6Ó7‰Jä# T§[¡[°Ó%6×%=Ñ%=Ó%?Ð@ˆJæØ× × Ü"Ð#=Ó>‘à�Ø—;‘;˜tÓ$ˆDÜ#ä—’ Ó2ðÜ"Ÿ™ñˆJô
   §¡° Ð!K×!RÑ!RØ6:ð "Sð "Ið Jˆ
ô Ü&0§o¢o°jÓ&MðOÜ—O‘OñOˆð &ÔØ%ÔàˆrE   c                 óZ   • UR                   nUR                  nU/nU R                  X$SSS9$ )Nr7  T)rõ  rl  )r]  rJ   rV  )rA   rX   r•   rá   ra   s        rC   Ú_print_ElementwiseApplyFunctionÚ-PrettyPrinter._print_ElementwiseApplyFunctione  s4   € Ø�z‰zˆØ�f‰fˆØˆuˆØ×*Ñ*¨4ÀÐQUÐ*ÐVÐVrE   c                 óÞ   • SSK Jn  SSKJnJn  SSKJn  SSKJn  SSK	J
n  SSKJn  U[        S   S/U[        S	   S	/U[        S
   S/U[        S   S/U[        S   S/U[        S   S/USS/0$ )Nr   )ÚKroneckerDelta)ÚgammaÚ
lowergamma)Úlerchphi)Úbeta)Ú
DiracDelta)ÚChiÚdeltaÚGammaÚPhiru  rs  ÚBetar  rx  )Ú(sympy.functions.special.tensor_functionsrr  Ú'sympy.functions.special.gamma_functionsrs  rt  Ú&sympy.functions.special.zeta_functionsru  Ú&sympy.functions.special.beta_functionsrv  Ú'sympy.functions.special.delta_functionsrw  Ú'sympy.functions.special.error_functionsrx  r    )rA   rr  rs  rt  ru  rv  rw  rx  s           rC   Ú_special_function_classesÚ'PrettyPrinter._special_function_classesk  s�   € åKßMÝCÝ?ÝFÝ?Ø¤¨wÑ!7¸Ð AØœ gÑ.°Ð8Øœ=¨Ñ/°Ð<Øœ]¨7Ñ3°WÐ=Ø”} VÑ,¨cÐ2Øœ]¨7Ñ3°WÐ=Ø�e˜U�^ð%ð 	%rE   c                 óV  • U R                    Hz  n[        X5      (       d  M  UR                  UR                  :X  d  M1  U R                  (       a  [	        U R                   U   S   5      s  $ [	        U R                   U   S   5      s  $    UR                  n[	        [        U5      5      $ )Nr   rs   )rƒ  Ú
issubclassrŸ   rN   r   r   )rA   rJ   ÚclsrU  s       rC   Ú_print_FunctionClassÚ"PrettyPrinter._print_FunctionClass{  s†   € Ø×1Ô1ˆCÜ˜$×$Ó$¨¯©¸#¿,¹,Õ)FØ×$×$Ü% d×&DÑ&DÀSÑ&IÈ!Ñ&LÓMÒMä% d×&DÑ&DÀSÑ&IÈ!Ñ&LÓMÒMñ 2ð —M‘Mˆ	Üœ-¨	Ó2Ó3Ð3rE   c                 ó$   • U R                  U5      $ rG   )rK   rI   s     rC   Ú_print_GeometryEntityÚ#PrettyPrinter._print_GeometryEntity…  s   € à× Ñ  Ó&Ð&rE   c                 ó  • U R                  UR                  S   5      nU R                  (       a@  [        U5      (       a0  U R	                  [        SU-  5      " UR                  S   5      5      $ U R	                  U5      $ )Nr   zLi_%srs   ©rR   ra   rN   r$   rà   r   ©rA   rX   r�  s      rC   Ú_print_polylogÚPrettyPrinter._print_polylog‰  se   € Ø—K‘K §¡ q¡	Ó*ˆ	Ø××Ô!<¸Y×!GÑ!GØ×'Ñ'¬°¸9Ñ1DÔ(EÀaÇfÁfÈQÁiÓ(PÓQÐQØ×#Ñ# AÓ&Ð&rE   c                 óX   • U R                   (       a	  [        S   OSnU R                  XS9$ )Nr{  ru  rZ  ©rN   r    rà   ©rA   rX   rU  s      rC   Ú_print_lerchphiÚPrettyPrinter._print_lerchphi�  s*   € Ø,0×,=×,=”M %Ò(À:ˆ	Ø×#Ñ# AÐ#Ð;Ð;rE   c                 óX   • U R                   (       a	  [        S   OSnU R                  XS9$ )NÚetaÚdirichlet_etarZ  r“  r”  s      rC   Ú_print_dirichlet_etaÚ"PrettyPrinter._print_dirichlet_eta“  s*   € Ø,0×,=×,=”M %Ò(À?ˆ	Ø×#Ñ# AÐ#Ð;Ð;rE   c                 ó.  • U R                   (       a	  [        S   OSnUR                  S   [        R                  L aK  [        U R                  UR                  S   5      R                  5       6 n[        UR                  U5      6 nU$ U R                  XS9$ )NÚthetaÚ	Heavisiders   r   rZ  )
rN   r    ra   r   ÚHalfr   rR   rb   rc   rà   )rA   rX   rU  re   s       rC   Ú_print_HeavisideÚPrettyPrinter._print_Heaviside—  sz   € Ø.2×.?×.?”M 'Ò*À[ˆ	Ø�6‰6�!‰9œŸ™ÒÜ §¡¨A¯F©F°1©IÓ 6× =Ñ =Ó ?Ð@ˆEÜ §
¡
¨9Ó 5Ð6ˆEØˆLà×'Ñ'¨Ð'Ð?Ð?rE   c                 ó"   • U R                  USS9$ r`  r[  rW   s     rC   Ú_print_fresnelsÚPrettyPrinter._print_fresnels   r^  rE   c                 ó"   • U R                  USS9$ rY  r[  rW   s     rC   Ú_print_fresnelcÚPrettyPrinter._print_fresnelc£  r^  rE   c                 ó"   • U R                  USS9$ )NÚAirZ  r[  rW   s     rC   Ú_print_airyaiÚPrettyPrinter._print_airyai¦  rf  rE   c                 ó"   • U R                  USS9$ )NÚBirZ  r[  rW   s     rC   Ú_print_airybiÚPrettyPrinter._print_airybi©  rf  rE   c                 ó"   • U R                  USS9$ )NzAi'rZ  r[  rW   s     rC   Ú_print_airyaiprimeÚ PrettyPrinter._print_airyaiprime¬  ó   € Ø×#Ñ# A°Ð#Ð7Ð7rE   c                 ó"   • U R                  USS9$ )NzBi'rZ  r[  rW   s     rC   Ú_print_airybiprimeÚ PrettyPrinter._print_airybiprime¯  r³  rE   c                 ó"   • U R                  USS9$ )NÚWrZ  r[  rW   s     rC   Ú_print_LambertWÚPrettyPrinter._print_LambertW²  r^  rE   c                 ó"   • U R                  USS9$ )NÚCovrZ  r[  rW   s     rC   Ú_print_CovarianceÚPrettyPrinter._print_Covarianceµ  r³  rE   c                 ó"   • U R                  USS9$ )NÚVarrZ  r[  rW   s     rC   Ú_print_VarianceÚPrettyPrinter._print_Variance¸  r³  rE   c                 ó"   • U R                  USS9$ )Nr  rZ  r[  rW   s     rC   Ú_print_ProbabilityÚ PrettyPrinter._print_Probability»  r^  rE   c                 ó&   • U R                  USSSS9$ )Nr·  rö  r÷  )rU  rc   r~   r[  rW   s     rC   Ú_print_ExpectationÚ PrettyPrinter._print_Expectation¾  s   € Ø×#Ñ# A°¸3ÀcÐ#ÐJÐJrE   c           	      óH  • UR                   nUR                  nU R                  (       a  S[        S5       S3nOSn[	        U5      S:X  a  US   R
                  (       a  US   nU R                  U5      n[        [        R                  " XTU R                  U5      5      SS06$ )Nrº   ÚArrowFromBarú -> rs   r   rÈ   rž  )
rJ   Ú	signaturerN   r   rM  Ú	is_symbolrR   r   r   rÌ   )rA   rX   rJ   ÚsigÚarrowÚvar_forms         rC   Ú_print_LambdaÚPrettyPrinter._print_LambdaÁ  s‰   € Ø�v‰vˆØ�k‰kˆØ××Øœ NÓ3Ð4°AÐ6‰EàˆEÜˆs‹8�q‹=˜S ™V×-×-Ø�a‘&ˆCØ—;‘;˜sÓ#ˆäœ:Ÿ?š?¨8¸D¿K¹KÈÓ<MÓNÐZÐXYÑZÐZrE   c                 ó  • U R                  UR                  5      nUR                  (       a!  [        S UR                   5       5      (       d  [	        UR
                  5      S:”  Gax  [        UR                  S5      6 n[	        UR
                  5      S:”  a1  [        UR                  U R                  UR
                  5      5      6 nOM[	        UR
                  5      (       a3  [        UR                  U R                  UR
                  S   5      5      6 nU R                  (       a%  [        UR                  S[        S5       S35      6 nO[        UR                  S5      6 n[	        UR                  5      S:”  a1  [        UR                  U R                  UR                  5      5      6 nO3[        UR                  U R                  UR                  S   5      5      6 n[        UR                  5       6 n[        UR                  S5      6 nU$ )	Nc              3   óF   #   • U  H  o[         R                  :g  v •  M     g 7frG   )r   ÚZero)r±  r  s     rC   r²  Ú-PrettyPrinter._print_Order.<locals>.<genexpr>Ð  s   é € Ð?²J¨q¤A§F¡Fž{²Jùs   ‚!rs   ú; r   rº   r  rË  ÚO)rR   rJ   ÚpointÚanyrM  r  r   r~   rN   r   rb   rc   ©rA   rJ   re   s      rC   Ú_print_OrderÚPrettyPrinter._print_OrderÎ  sq  € Ø—‘˜DŸI™IÓ&ˆØ�J�Jœ3Ñ?°D·J²JÓ?×?Ñ?Üˆt�~‰~Ó Ô"Ü §¡¨DÓ 1Ð2ˆEÜ�4—>‘>Ó" QÓ&Ü" E§K¡K°·±¸D¿N¹NÓ0KÓ$LÐM‘Ü�T—^‘^×$Ñ$Ü" E§K¡K°·±¸D¿N¹NÈ1Ñ<MÓ0NÓ$OÐP�Ø× × Ü" E§K¡K°!´KÀÓ4HÐ3IÈÐ0KÓ$LÐM‘ä" E§K¡K°Ó$7Ð8�Ü�4—:‘:‹ Ó"Ü" E§K¡K°·±¸D¿J¹JÓ0GÓ$HÐI‘ä" E§K¡K°·±¸D¿J¹JÀq¹MÓ0JÓ$KÐL�Ü˜EŸL™L›NÐ+ˆÜ˜EŸJ™J s›OÐ,ˆØˆrE   c                 ó  • U R                   (       a‹  U R                  UR                  S   UR                  S   -
  5      nU R                  UR                  S   5      n[        S5      n[        UR	                  U5      6 n[        UR	                  S5      6 nXC-  nU$ U R                  UR                  S   5      nU R                  UR                  S   UR                  S   -
  5      nU R                  USSS5      nXC-  $ )Nr   rs   r»   r’  r“  rº   )rN   rR   ra   r   r~   r`   )rA   rX   ÚshiftrÀ   rH  re   s         rC   Ú_print_SingularityFunctionÚ(PrettyPrinter._print_SingularityFunctionã  sÒ   € Ø××Ø—K‘K §¡ q¡	¨!¯&©&°©)Ñ 3Ó4ˆEØ—‘˜AŸF™F 1™IÓ&ˆAÜ˜c“?ˆDÜ˜tŸz™z¨%Ó0Ð1ˆDÜ˜tŸz™z¨#›Ð/ˆDØ‘GˆEØˆLà—‘˜AŸF™F 1™IÓ&ˆAØ—K‘K §¡ q¡	¨!¯&©&°©)Ñ 3Ó4ˆEØ—?‘? 5¨#¨s°CÓ8ˆDØ‘7ˆNrE   c                 óX   • U R                   (       a	  [        S   OSnU R                  XS9$ )Nr|  r  rZ  r“  r”  s      rC   Ú_print_betaÚPrettyPrinter._print_betaò  s*   € Ø-1×->×->”M &Ò)ÀCˆ	Ø×#Ñ# AÐ#Ð;Ð;rE   c                 ó$   • SnU R                  XS9$ )NzB'rZ  r[  r”  s      rC   Ú_print_betaincÚPrettyPrinter._print_betaincö  s   € Øˆ	Ø×#Ñ# AÐ#Ð;Ð;rE   c                 ó$   • SnU R                  XS9$ )Nr5  rZ  r[  r”  s      rC   Ú_print_betainc_regularizedÚ(PrettyPrinter._print_betainc_regularizedú  s   € Øˆ	Ø×#Ñ# AÐ#Ð;Ð;rE   c                 óX   • U R                   (       a	  [        S   OSnU R                  XS9$ ©Nrz  rZ  r“  r”  s      rC   Ú_print_gammaÚPrettyPrinter._print_gammaþ  ó*   € Ø.2×.?×.?”M 'Ò*ÀWˆ	Ø×#Ñ# AÐ#Ð;Ð;rE   c                 óX   • U R                   (       a	  [        S   OSnU R                  XS9$ rì  r“  r”  s      rC   Ú_print_uppergammaÚPrettyPrinter._print_uppergamma  rï  rE   c                 óX   • U R                   (       a	  [        S   OSnU R                  XS9$ )Nrs  rt  rZ  r“  r”  s      rC   Ú_print_lowergammaÚPrettyPrinter._print_lowergamma  s*   € Ø.2×.?×.?”M 'Ò*À\ˆ	Ø×#Ñ# AÐ#Ð;Ð;rE   c                 ó~  • U R                   (       Ga  [        UR                  5      S:X  a®  [        [        S   5      nU R                  UR                  S   5      n[        UR                  5       6 nU R                  UR                  S   5      n[        UR                  5       6 nX#-  n[        UR                  S5      6 n[        UR                  U5      6 nU$ U R                  UR                  S   5      n[        UR                  5       6 n[        UR                  [        S   5      6 nU$ U R                  U5      $ )Nr»   ry  rs   r   rº   )
rN   rM  ra   r   r    rR   rb   r~   rc   rà   )rA   rX   r0  r0  Úcre   s         rC   Ú_print_DiracDeltaÚPrettyPrinter._print_DiracDelta
  sþ   € Ø××ÐÜ�1—6‘6‹{˜aÓÜœ}¨WÑ5Ó6�Ø—K‘K §¡ q¡	Ó*�Ü §¡£
Ð+�Ø—K‘K §¡ q¡	Ó*�Ü §¡£
Ð+�Ø™�Ü" E§K¡K°Ó$4Ð5�Ü" E§K¡K°£NÐ3�Ø�Ø—K‘K §¡ q¡	Ó*ˆEÜ §¡£Ð/ˆEÜ §
¡
¬=¸Ñ+AÓ BÐCˆEØˆLà×'Ñ'¨Ó*Ð*rE   c                 ó  • U R                  UR                  S   5      nU R                  (       a@  [        U5      (       a0  U R	                  [        SU-  5      " UR                  S   5      5      $ U R	                  U5      $ )Nr   zE_%srs   rŽ  r�  s      rC   Ú_print_expintÚPrettyPrinter._print_expint  se   € Ø—K‘K §¡ q¡	Ó*ˆ	Ø××Ô!<¸Y×!GÑ!GØ×'Ñ'¬°¸)Ñ1CÔ(DÀQÇVÁVÈAÁYÓ(OÓPÐPØ×#Ñ# AÓ&Ð&rE   c                 óì   • [        S5      n[        U R                  UR                  5      R                  5       6 n[        [        R
                  " X#5      S[         R                  06nX$l        X4l        U$ )Nrx  rÈ   )	r   r`   ra   rb   r   rÌ   r%  rü  rý  )rA   rX   rü  rý  re   s        rC   Ú
_print_ChiÚPrettyPrinter._print_Chi#  se   € ô   Ó&ˆ
Ü §¡°·±Ó!8×!?Ñ!?Ó!AÐBˆ
äÜ&0§o¢o°jÓ&MðOÜ—O‘OñOˆð &ÔØ%ÔàˆrE   c                 ó2  • U R                  UR                  S   5      n[        UR                  5      S:X  a  UnO/U R                  UR                  S   5      nU R                  X$5      n[	        UR                  5       6 n[	        UR                  S5      6 nU$ )Nr   rs   r·  )rR   ra   rM  r)  r   rb   rc   )rA   rX   Úpforma0re   Úpforma1s        rC   Ú_print_elliptic_eÚPrettyPrinter._print_elliptic_e2  sz   € Ø—+‘+˜aŸf™f Q™iÓ(ˆÜˆq�v‰v‹;˜!ÓØ‰Eà—k‘k !§&¡&¨¡)Ó,ˆGØ×+Ñ+¨GÓ=ˆEÜ˜EŸL™L›NÐ+ˆÜ˜EŸJ™J s›OÐ,ˆØˆrE   c                 óœ   • U R                  UR                  S   5      n[        UR                  5       6 n[        UR	                  S5      6 nU$ )Nr   ÚK)rR   ra   r   rb   rc   rd   s      rC   Ú_print_elliptic_kÚPrettyPrinter._print_elliptic_k=  s?   € Ø—‘˜AŸF™F 1™IÓ&ˆÜ˜EŸL™L›NÐ+ˆÜ˜EŸJ™J s›OÐ,ˆØˆrE   c                 óú   • U R                  UR                  S   5      nU R                  UR                  S   5      nU R                  X#5      n[        UR	                  5       6 n[        UR                  S5      6 nU$ )Nr   rs   r,  )rR   ra   r)  r   rb   rc   )rA   rX   r  r  re   s        rC   Ú_print_elliptic_fÚPrettyPrinter._print_elliptic_fC  se   € Ø—+‘+˜aŸf™f Q™iÓ(ˆØ—+‘+˜aŸf™f Q™iÓ(ˆØ×'Ñ'¨Ó9ˆÜ˜EŸL™L›NÐ+ˆÜ˜EŸJ™J s›OÐ,ˆØˆrE   c                 ó  • U R                   (       a	  [        S   OSnU R                  UR                  S   5      nU R                  UR                  S   5      n[	        UR                  5      S:X  a  U R                  X45      nO\U R                  UR                  S   5      nU R                  XFSS9n[        UR                  S5      6 n[        UR                  U5      6 n[        UR                  5       6 n[        UR                  U5      6 nU$ )NÚPir   rs   r»   F©r#  r×  )	rN   r    rR   ra   rM  r)  r   rc   rb   )rA   rX   ri   r  r  re   Úpforma2Úpformas           rC   Ú_print_elliptic_piÚ PrettyPrinter._print_elliptic_piK  sÛ   € Ø&*×&7×&7Œ}˜TÒ"¸TˆØ—+‘+˜aŸf™f Q™iÓ(ˆØ—+‘+˜aŸf™f Q™iÓ(ˆÜˆq�v‰v‹;˜!ÓØ×+Ñ+¨GÓ=‰Eà—k‘k !§&¡&¨¡)Ó,ˆGØ×,Ñ,¨WÈeÐ,ÐTˆFÜ §¡¨TÓ!2Ð3ˆFÜ §¡¨GÓ 4Ð5ˆEÜ˜EŸL™L›NÐ+ˆÜ˜EŸJ™J tÓ,Ð-ˆØˆrE   c                 ó€   • U R                   (       a  [        [        S5      5      $ U R                  [	        S5      5      $ )NÚphiÚGoldenRatio©rN   r   r   rR   r   rI   s     rC   Ú_print_GoldenRatioÚ PrettyPrinter._print_GoldenRatioZ  s/   € Ø××Üœm¨EÓ2Ó3Ð3Ø�{‰{œ6 -Ó0Ó1Ð1rE   c                 ó€   • U R                   (       a  [        [        S5      5      $ U R                  [	        S5      5      $ )Nrs  Ú
EulerGammar  rI   s     rC   Ú_print_EulerGammaÚPrettyPrinter._print_EulerGamma_  s/   € Ø××Üœm¨GÓ4Ó5Ð5Ø�{‰{œ6 ,Ó/Ó0Ð0rE   c                 ó6   • U R                  [        S5      5      $ )Nr8  )rR   r   rI   s     rC   Ú_print_CatalanÚPrettyPrinter._print_Cataland  s   € Ø�{‰{œ6 #›;Ó'Ð'rE   c                 óh  • U R                  UR                  S   5      nUR                  [        R                  :”  a  [        UR                  5       6 n[        UR                  S5      6 n[        UR                  U R                  UR                  S   5      5      6 n[        R                  Ul        U$ )Nr   z mod rs   )rR   ra   rÈ   r   r(  rb   r~   rÍ   rÛ  s      rC   Ú
_print_ModÚPrettyPrinter._print_Modg  s   € Ø—‘˜DŸI™I a™LÓ)ˆØ�=‰=œ:Ÿ>™>Ó)Ü §¡£Ð/ˆEÜ˜EŸK™K¨Ó0Ð1ˆÜ˜EŸK™K¨¯©°D·I±I¸a±LÓ(AÓBÐCˆÜ"Ÿ™ˆŒØˆrE   c                 óÄ  • U R                  XS9n/ / pTS n[        U5       GHy  u  pxUR                  (       ar  UR                  5       (       a]  UR	                  SS9u  pšU	S:X  a  [        U
SS06nO[        U	* /U
Q7SS06nU R                  U5      nUR                  U" XÇ5      5        M‰  UR                  (       a4  UR                  S:”  a$  UR                  S 5        UR                  U5        MÎ  UR                  (       a2  US:  a,  U R                  U* 5      nUR                  U" XÇ5      5        GM  UR                  (       a7  UR                  [        U R                  U5      R                  5       6 5        GMY  UR                  U R                  U5      5        GM|     U(       a©  S	nU H  nUc  M  UR                  5       S:”  d  M    O   SnU H{  nX7   SpèUS:  a  U* S	pèU(       a>  [        [        UR                   5      5      [        [        UR                  5      5      -  nOU R                  U5      nU(       a  U" XÇ5      nXÄU'   M}     [        R"                  " U6 $ )
N©r.   c                 óN  • US:X  a  U R                  5       S:”  a  SnOSnOSnU R                  [        R                  :”  d  U R                  [        R                  :X  a  [        U R                  5       6 nOU n[
        R                  " X#5      n[        US[        R                  06$ )z'Prepend a minus sign to a pretty form. r   rs   z- rp  r‡  rÈ   )r`  rÈ   r   ÚNEGÚADDr   rb   rÌ   )re   rÎ  Ú	pform_negr  s       rC   Úpretty_negativeÚ1PrettyPrinter._print_Add.<locals>.pretty_negativet  s�   € ð ˜‹zØ—<‘<“> AÓ%Ø $‘Ià #‘Ià!�	à—‘¤
§¡Ó.Ø—=‘=¤J§N¡NÓ2Ü §¡£Ð/‘à�Ü—’ 	Ó-ˆAô °qÐ9¤j§n¡nÑ9Ð9rE   F)Úrationalr½  rm  rs   r   T)Ú_as_ordered_termsr.  Úis_Mulr   Úas_coeff_mulr   rR   ru  Úis_RationalÚqÚ	is_NumberÚis_Relationalr   rb   r`  r=   r  rý  )rA   rJ   r.   ÚtermsÚpformsræ  r)  r-   rs  r"  ÚotherÚnegtermre   ÚlargeÚnegatives                  rC   Ú
_print_AddÚPrettyPrinter._print_Addp  só  € Ø×&Ñ& tÐ&Ð9ˆØ˜b�ò	:ô* ! ×'‰GˆAØ�{�{˜t×<Ñ<×>Ñ>Ø#×0Ñ0¸%Ð0Ð@‘�Ø˜B“;Ü! 5Ð9°5Ñ9‘Gä! 5 &ÐA¨5ÒA¸5ÑA�GØŸ™ GÓ,�Ø—‘™o¨eÓ7Ö8Ø×!×! d§f¡f¨q£jØ—‘˜dÔ#Ø—‘˜qÖ!Ø—— D¨1£HØŸ™ T EÓ*�Ø—‘™o¨eÓ7×8Ø×#×#Ø—‘œj¨$¯+©+°dÓ*;×*BÑ*BÓ*DÐE×Fà—‘˜dŸk™k¨$Ó/×0ñ% (ö( ØˆEã�ØÓ$¨¯©«¸!Õ);Ùñ  ð �ã�Ø!&¡¨5�hà˜!“8Ø&* U¨D˜(æÜ&¤s¨4¯6©6£{Ó3´J¼sÀ4Ç6Á6»{Ó4KÑK‘Eà ŸK™K¨Ó-�EæÙ+¨EÓ5�Eà!�q“	ñ ô  ×!Ò! 6Ð*Ð*rE   c           	      óº  ^• SSK Jm  UR                  nUS   [        R                  L d  [        S USS   5       5      (       aˆ  [        [        U R                  U5      5      nUS   S:H  nU(       a  [        SSS5      US'   [        R                  " U6 nU(       a.  [        SUR                  -   UR                  UR                  5      nU$ / n/ nU R                  S;  a  UR                  5       nO[        UR                  5      n[!        UU4S	 jS
9nU GHr  nUR"                  (       aº  UR$                  (       a©  UR&                  R(                  (       aŽ  UR&                  R*                  (       as  UR&                  S:w  a1  UR-                  [/        UR0                  UR&                  * SS95        M�  UR-                  [/        UR0                  UR&                  * 5      5        MÏ  UR(                  (       a�  U[        R2                  Lan  UR4                  S:w  a$  UR-                  [7        UR4                  5      5        UR8                  S:w  a'  UR-                  [7        UR8                  5      5        GM^  GMa  UR-                  U5        GMu     U V	s/ s H  o�R                  U	5      PM     nn	U V
s/ s H  o R                  U
5      PM     nn
[;        U5      S:X  a  [        R                  " U6 $ [;        U5      S:X  a.  UR-                  U R                  [        R                  5      5        [        R                  " U6 [        R                  " U6 -  $ s  sn	f s  sn
f )Nr   )ÚQuantityc              3   óB   #   • U  H  n[        U[        5      v •  M     g 7frG   )r;   r   )r±  rá   s     rC   r²  Ú+PrettyPrinter._print_Mul.<locals>.<genexpr>À  s   é € Ð"OÂh¸s¤:¨c´6×#:Ð#:Âhùs   ‚rs   z-1r@  rp  )ÚoldÚnonec                 ó„   >• [        U T5      =(       d-    [        U [        5      =(       a    [        U R                  T5      $ rG   )r;   r
   rH  )r¯   r<  s    €rC   rÝ  Ú*PrettyPrinter._print_Mul.<locals>.<lambda>Ö  s2   ø€ ¬*°Q¸Ó*A÷ +KÜ  ¤CÓ(×I¬Z¸¿¹ÀÓ-Ið+KrE   rå   r½  Frl  )Úsympy.physics.unitsr<  ra   r   ÚOnerÚ  r:  ÚmaprR   r   r/  r.  r¿   rÈ   r.   Úas_ordered_factorsrè   Úis_commutativeÚis_PowrI  r/  Úis_negativeru  r
   rH  r²  r  r	   r0  rM  )rA   rÚ  ra   ÚstrargsÚnegoneÚobjr0  r0  r!  ÚaiÚbir<  s              @rC   ro  ÚPrettyPrinter._print_Mul¸  sr  ø€ Ý0ð �|‰|ˆØ�‰7”a—e‘eÒœsÑ"OÀdÈ1È2ÁhÓ"O×OÑOÜœ3˜tŸ{™{¨DÓ1Ó2ˆGð ˜Q‘Z 4Ñ'ˆFÞÜ'¨¨Q°Ó2�˜‘
Ü×$Ò$ gÐ.ˆCÞÜ   s§u¡u¡¨c¯l©l¸C¿K¹KÓH�ØˆJàˆØˆà�:‰:˜_Ó,Ø×-Ñ-Ó/‰Dä˜Ÿ™Ó%ˆDô �dô !Kñ Lˆô ˆDØ×"×" t§{§{°t·x±x×7K×7KÐPT×PXÑPX×Pd×PdØ—8‘8˜r“>Ø—H‘HœS §¡¨T¯X©X¨IÀÑFÖGà—H‘HœS §¡¨T¯X©X¨IÓ6Ö7Ø×!×! d´!·*±*Ò&<Ø—6‘6˜Q“;Ø—H‘Hœh t§v¡vÓ.Ô0Ø—6‘6˜Q“;Ø—H‘Hœh t§v¡vÓ.×0ò ð —‘˜—ñ ñ ()Ó)¢q �[‰[˜Ž_¡qˆÐ)Ù'(Ó)¢q �[‰[˜Ž_¡qˆÐ)ô ˆq‹6�Q‹;Ü×%Ò% qÐ)Ð)ä�1‹v˜‹{Ø—‘˜$Ÿ+™+¤a§e¡eÓ,Ô.Ü×%Ò% qÐ)¬*×*<Ò*<¸aÐ*@Ñ@Ð@ùò *ùÚ)s   ÊMÊ1Mc                 óz  ^	^
• U R                  U5      nU R                  S   (       a  U R                  (       an  US:X  ah  UR                  5       S:X  aT  UR	                  5       S:X  d"  UR
                  (       a/  UR                  (       a  [        UR                  [        S   5      6 $ [        SS5      m	[        SS5      T	-   nU R                  U5      nUR                  5       S:w  a&  U R                  U5      U R                  SU-  5      -  $ US:X  a  SO[        U5      R                  S5      n[        U5      S:”  a  S[        U5      S-
  -  U-   n[        US-   U-   5      nS	Ul        UR                  5       S-
  m
[        SR!                  U	U
4S
 j[#        T
5       5       5      5      nT
S-
  Ul        [        UR%                  U5      6 n['        SUR                  5      Ul        [        [)        SSUR	                  5       -   5      5      n[        UR+                  U5      6 n[        UR                  U5      6 nU$ )Nr3   r»   rs   rœ  r›  r7  rº   r¯  r   c              3   óL   >#   • U  H  nS TU-
  S-
  -  T-   S U-  -   v •  M     g7f)rº   rs   NrQ   )r±  r-   Ú_zZÚ
linelengths     €€rC   r²  Ú0PrettyPrinter._print_nth_root.<locals>.<genexpr>  s4   øé € ð (
â&�ð �˜a‘ !Ñ#Ñ$ sÑ*¨S°©UÖ2Ú&ùs   ƒ!$r  )rR   r<   rN   r`  r½   r«   r¬   r   rc   Únth_rootr   r=   ÚljustrM  r   r¿   rÀ  rL  r~   r¼   r   r¾   )rA   rH  r&   ÚbprettyÚrootsignÚrprettyrI  Údiagonalr.  rR  rS  s            @@rC   Ú_print_nth_rootÚPrettyPrinter._print_nth_rootõ  sÝ  ù€ Ø—+‘+˜dÓ#ˆð �N‰NÐ2×3¸×8I×8IØ˜“	˜gŸn™nÓ.°!Ó3Ø—‘“ AÓ%Ø—_—_¨×)<×)<Ü˜wŸ|™|¬H°Q©KÓ8Ð9Ð9ô �3˜‹lˆÜ˜˜a“= 3Ñ&ˆà—+‘+˜dÓ#ˆà�>‰>Ó˜qÓ Ø—;‘;˜tÓ$ d§k¡k°!°D±&Ó&9Ñ9Ð9à˜A“I‰b¤3 w£<×#5Ñ#5°aÓ#8ˆÜˆs‹8�a‹<ØœC ›H q™LÑ)¨HÑ4ˆHä˜c D™j¨8Ñ3Ó4ˆØˆÔà—^‘^Ó%¨Ñ)ˆ
Ü˜dŸi™iõ (
ä˜:Ô&ó(
ó 
ó ˆð
 '¨™NˆÔä˜xŸ~™~¨hÓ7Ð8ˆô    7×#3Ñ#3Ó4ˆÔä”t˜C  W§]¡]£_Ñ!4Ó5Ó6ˆÜ˜Ÿ™ aÓ(Ð)ˆÜ˜Ÿ™˜xÓ(Ð)ˆØˆrE   c           	      ó(  • SSK Jn  UR                  5       u  p4UR                  (       aó  U[        R
                  L a  [        S5      U R                  U5      -  $ U" U5      u  pVU[        R                  L ai  UR                  (       aX  UR                  (       dG  UR                  (       d  UR                  (       a%  U R                  S   (       a  U R                  X65      $ UR                  (       a,  US:  a&  [        S5      U R                  [        X4* SS95      -  $ UR                   (       aC  [        U R                  U5      R#                  5       6 R%                  U R                  U5      5      $ U R                  U5      U R                  U5      -  $ )Nr   )Úfractionr@  r4   Frl  )Úsympy.simplify.simplifyr^  Úas_base_exprG  r   ÚNegativeOner   rR   rD  Úis_Atomr«   r/  r­   r<   r[  r
   r2  rb   Ú__pow__)rA   Úpowerr^  r0  rX   rÀ   r"  s          rC   Ú
_print_PowÚPrettyPrinter._print_Pow!  s  € Ý4Ø× Ñ Ó"‰ˆØ××Ø”A—M‘MÒ!Ü! #“ t§{¡{°1£~Ñ5Ð5Ù˜A“;‰DˆAØ”A—E‘EŠz˜aŸiŸi°··À!Ç-Ç-ÐST×S^×S^ØŸ™ ×7Ø×+Ñ+¨AÓ1Ð1Ø�}�}  Q£Ü! #“ t§{¡{´3°q¸"ÀuÑ3MÓ'NÑNÐNà�?�?Ü˜tŸ{™{¨1›~×4Ñ4Ó6Ð7×?Ñ?ÀÇÁÈAÃÓOÐOà�{‰{˜1‹~˜tŸ{™{¨1›~Ñ-Ð-rE   c                 ó>   • U R                  UR                  S   5      $ r¬  )rR   ra   rI   s     rC   Ú_print_UnevaluatedExprÚ$PrettyPrinter._print_UnevaluatedExpr3  s   € Ø�{‰{˜4Ÿ9™9 Q™<Ó(Ð(rE   c                 óŒ  • US:X  a;  US:  a!  [        [        U5      [         R                  S9$ [        [        U5      5      $ [        U5      S:¼  at  [        U5      S:¼  ae  US:  a6  [        [        U5      [         R                  S9[        [        U5      5      -  $ [        [        U5      5      [        [        U5      5      -  $ g )Nrs   r   )rÈ   é
   )r   r=   r&  Úabs)rA   r  r0  s      rC   Ú__print_numer_denomÚ!PrettyPrinter.__print_numer_denom6  s–   € Ø�‹6Ø�1‹uÜ!¤# a£&´*·.±.ÑAÐAä!¤# a£&Ó)Ð)Ü�‹V�r‹\œc !›f¨›là�1‹uÜ!¤# a£&´*·.±.ÑAÄ*ÌSÐQRËVÓBTÑTÐTô
 "¤# a£&Ó)¬*´S¸³VÓ*<Ñ<Ð<àrE   c                 óz   • U R                  UR                  UR                  5      nUb  U$ U R                  U5      $ rG   )Ú!_PrettyPrinter__print_numer_denomr  r0  rK   ©rA   rJ   rQ  s      rC   Ú_print_RationalÚPrettyPrinter._print_RationalH  s8   € Ø×)Ñ)¨$¯&©&°$·&±&Ó9ˆàÑØˆMà×$Ñ$ TÓ*Ð*rE   c                 óz   • U R                  UR                  UR                  5      nUb  U$ U R                  U5      $ rG   )rp  Ú	numeratorÚdenominatorrK   rq  s      rC   Ú_print_FractionÚPrettyPrinter._print_FractionP  s:   € Ø×)Ñ)¨$¯.©.¸$×:JÑ:JÓKˆàÑØˆMà×$Ñ$ TÓ*Ð*rE   c                 ól  • [        UR                  5      S:¼  a]  [        UR                  5      (       dC  U R                  UR                  S   5      U R                  [        UR                  5      5      -  $ U R                  (       a  [        S5      OSnU R                  UR                  S S SU-  S S9$ )Nrs   r   ÚMultiplicationr¯   rç   c                 óf   • U R                   =(       d    U R                  =(       d    U R                  $ rG   )Úis_UnionÚis_IntersectionÚis_ProductSet©Úsets    rC   rÝ  Ú1PrettyPrinter._print_ProductSet.<locals>.<lambda>^  s,   € ¸C¿L¹L÷ =LØ#&×#6Ñ#6÷=LØ:=×:KÑ:Kð=LrE   rà  )rM  Úsetsr   rR   rN   r   r`   )rA   r  Ú	prod_chars      rC   Ú_print_ProductSetÚPrettyPrinter._print_ProductSetX  s’   € Üˆq�v‰v‹;˜!Ó¤K°·±×$7Ñ$7Ø—;‘;˜qŸv™v a™yÓ)¨T¯[©[¼¸Q¿V¹V»Ó-EÑEÐEà9=×9J×9JœÐ$4Ô5ÐPSˆIØ—?‘? 1§6¡6¨4°°vÀ	Ñ7Iñ1Lð #ð Mð MrE   c                 óZ   • [        UR                  [        S9nU R                  USSS5      $ )Nrå   r  Ú}ró  )rè   ra   r   r`   )rA   r.  rº  s      rC   Ú_print_FiniteSetÚPrettyPrinter._print_FiniteSeta  s(   € Ü�q—v‘vÔ#3Ñ4ˆØ�‰˜u c¨3°Ó6Ð6rE   c                 óŒ  • U R                   (       a  [        S5      nOSnUR                  R                  (       aF  UR                  R                  (       a+  UR
                  R                  (       a  USSSU4nO¹USSSU4nO±UR                  R                  (       a  X!S   UR
                  -
  US   4nO~UR                  R                  (       a#  [        U5      n[        U5      [        U5      U4nO@[        U5      S:”  a&  [        U5      n[        U5      [        U5      X!S   4nO[        U5      nU R                  USSS	5      $ )
NÚDotsú...r½  r   rs   r\  r  r‡  ró  )rN   r   ÚstartÚis_infiniteÚstopÚstepÚis_positiveÚiterrÌ   rM  r=  r`   )rA   r.  ÚdotsÚprintsetÚits        rC   Ú_print_RangeÚPrettyPrinter._print_Rangee  sû   € à××Ü˜vÓ&‰DàˆDà�7‰7×× 1§6¡6×#5×#5Ø�v‰v×!×!Ø  Q¨¨4Ð/‘à  A r¨4Ð/‘Ø�W‰W× × Ø˜r™U Q§V¡V™^¨Q¨r©UÐ2‰HØ�V‰V××Ü�a“ˆBÜ˜B“x¤ b£¨4Ð/‰HÜ�‹V�a‹ZÜ�a“ˆBÜ˜B“x¤ b£¨4°2±Ð6‰Hä˜Q“xˆHà�‰˜x¨¨c°4Ó9Ð9rE   c                 ó  • UR                   UR                  :X  a   U R                  UR                  S S SS5      $ UR                  (       a  SnOSnUR
                  (       a  SnOSnU R                  UR                  S S X#5      $ )	Nrs   r  r‡  rx   rö  ry   r÷  r»   )r�  Úendr`   ra   Ú	left_openÚ
right_open©rA   r-   rc   r~   s       rC   Ú_print_IntervalÚPrettyPrinter._print_Interval~  sn   € Ø�7‰7�a—e‘eÓØ—?‘? 1§6¡6¨"¨1 :¨s°CÓ8Ð8ð �{�{Ø‘à�à�|�|Ø‘à�à—?‘? 1§6¡6¨"¨1 :¨tÓ;Ð;rE   c                 óH   • SnSnU R                  UR                  S S X#5      $ )Nr’  r“  r»   ©r`   ra   rœ  s       rC   Ú_print_AccumulationBoundsÚ'PrettyPrinter._print_AccumulationBounds�  s'   € ØˆØˆà�‰˜qŸv™v b q˜z¨4Ó7Ð7rE   c                 ó\   • S[        SS5      -  nU R                  UR                  S S US S9$ )Nrç   ÚIntersectionrÀ   c                 óf   • U R                   =(       d    U R                  =(       d    U R                  $ rG   )r~  r|  Úis_Complementr  s    rC   rÝ  Ú3PrettyPrinter._print_Intersection.<locals>.<lambda>š  s,   € ¸×8IÑ8I÷ 9AØ"Ÿ|™|÷9AØ/2×/@Ñ/@ð9ArE   rà  ©r   r`   ra   ©rA   rS  rõ  s      rC   Ú_print_IntersectionÚ!PrettyPrinter._print_Intersection•  s=   € àœ[¨¸Ó=Ñ=ˆ	à�‰˜qŸv™v t¨T°9ñ-Að ð Bð 	BrE   c                 ó\   • S[        SS5      -  nU R                  UR                  S S US S9$ )Nrç   ÚUnionr!   c                 óf   • U R                   =(       d    U R                  =(       d    U R                  $ rG   )r~  r}  r¦  r  s    rC   rÝ  Ú,PrettyPrinter._print_Union.<locals>.<lambda>¢  s.   € ¸×8IÑ8I÷ 9HØ"×2Ñ2÷9HØ69×6GÑ6Gð9HrE   rà  r¨  )rA   rS  Úunion_delimiters      rC   Ú_print_UnionÚPrettyPrinter._print_Union�  s=   € à ¤;¨w¸Ó#<Ñ<ˆà�‰˜qŸv™v t¨T°?ñ-Hð ð Ið 	IrE   c                 ó’   • U R                   (       d  [        S5      eS[        S5      -  nU R                  UR                  S S U5      $ )Nz?ASCII pretty printing of SymmetricDifference is not implementedrç   ÚSymmetricDifference)rN   r¶  r   r`   ra   )rA   rS  Úsym_delimeters      rC   Ú_print_SymmetricDifferenceÚ(PrettyPrinter._print_SymmetricDifference¥  s@   € Ø× × Ü%Ð&gÓhÐhà¤Ð-BÓ!CÑCˆà�‰˜qŸv™v t¨T°=ÓAÐArE   c                 óB   • SnU R                  UR                  S S US S9$ )Nz \ c                 óf   • U R                   =(       d    U R                  =(       d    U R                  $ rG   )r~  r}  r|  r  s    rC   rÝ  Ú1PrettyPrinter._print_Complement.<locals>.<lambda>²  s(   €  c×&7Ñ&7÷ '/¸3×;NÑ;N÷ '/Ø"%§,¡,ð'/rE   rà  r   r©  s      rC   Ú_print_ComplementÚPrettyPrinter._print_Complement­  s.   € àˆ	à�‰˜qŸv™v t¨T°9ñ/ð ð 0ð 	0rE   c           	      ó¾  ^• U R                   (       a  [        S5      mOSmUR                  nUR                  nUR                  nU R                  UR                  5      n[        U5      S:X  a,  U R                  US   TUS   4SS9nU R                  XVSSS	SS
9$ [        U4S j[        XC5       5       5      nU R                  US S SS9nU R                  XVSSS	SS
9$ )NÚSmallElementOfÚinrs   r   rº   rô  r  r‡  T©rc   r~   r#  rõ  c              3   óJ   >#   • U  H  u  pUS TS US4  H  o3v •  M     M     g7f)rº   ró  NrQ   )r±  rŠ  Úsetvr9   Úinns       €rC   r²  Ú0PrettyPrinter._print_ImageSet.<locals>.<genexpr>Ë  s6   øé € ð <Ò-A¡	 Ø  S¨#¨t°TÔ:ð GHœ!Ù:ñ Ò-Aùs   ƒ #r½  r7  )rN   r   rg  Ú	base_setsrÌ  rR   rJ   rM  r`   r)  r=  rN  )	rA   ÚtsÚfunr‚  rÌ  rJ   r   ÚpargsrÃ  s	           @rC   Ú_print_ImageSetÚPrettyPrinter._print_ImageSetµ  sÿ   ø€ Ø××ÜÐ.Ó/‰CàˆCØ�h‰hˆØ�|‰|ˆØ—M‘Mˆ	Ø�{‰{˜3Ÿ8™8Ó$ˆô ˆy‹>˜QÓØ—‘ ¨1¡¨s°D¸±GÐ <Ø*-ð  ð /ˆAà×*Ñ*¨4Ø03¸3Ø:>È#ð +ð Oð Oô ô <¬S°Ô-Aó <ó <ˆEà—‘  c r 
°b�Ð9ˆAØ×*Ñ*¨4Ø03¸3Ø:>È#ð +ð Oð OrE   c           	      ó²  • U R                   (       a  [        S5      n[        S5      nOSnSnU R                  [        UR                  5      5      n[        UR                  SS 5      nUb*  U R                  UR                  R                  5       5      nOSU R                  UR                  5      nU R                   (       a'  U R                  U5      n[        UR                  5       6 nUR                  [        R                  L a  U R                  XFSSSS	S
9$ U R                  UR                  5      nU R                  XBXsU4S	S9nU R                  XHSSSS	S
9$ )Nr¾  rï   r¿  ÚandÚas_exprr  r‡  Trº   rÀ  rô  )rN   r   r`   r   r,  ÚgetattrÚ	conditionrR   rÍ  r   rb   Úbase_setr   ÚUniversalSetr)  )	rA   rÆ  rÃ  Ú_andr  rÍ  r  rH  r¦  s	            rC   Ú_print_ConditionSetÚ!PrettyPrinter._print_ConditionSetÒ  s:  € Ø××ÜÐ.Ó/ˆCô ˜uÓ%‰DàˆCØˆDà—O‘O¤E¨"¯&©&£MÓ2ˆ	Ü˜"Ÿ,™,¨	°4Ó8ˆØÑØ—;‘;˜rŸ|™|×3Ñ3Ó5Ó6‰Dà—;‘;˜rŸ|™|Ó,ˆDØ× × Ø—{‘{ 4Ó(�Ü! 4§;¡;£=Ð1�à�;‰;œ!Ÿ.™.Ò(Ø×*Ñ*¨9ÀØ14ÀTØ58ð +ð :ð :ð �{‰{˜2Ÿ;™;Ó'ˆØ�O‰O˜Y¨T¸Ð>Ø&)ð ð +ˆà×&Ñ& y¸#ÀSØ6:Àcð 'ð Kð 	KrE   c           	      ó,  • U R                   (       a  [        S5      nOSnU R                  UR                  5      nU R	                  UR
                  5      nU R	                  UR                  5      nU R                  X2U4SS9nU R                  XFSSSSS9$ )	Nr¾  r¿  rº   rô  r  r‡  TrÀ  )rN   r   r`   r  rR   rJ   r‚  r)  )rA   rÆ  rÃ  r  rJ   Úprodsetsr¦  s          rC   Ú_print_ComplexRegionÚ"PrettyPrinter._print_ComplexRegionñ  s“   € Ø××ÜÐ.Ó/‰CàˆCØ—O‘O B§L¡LÓ1ˆ	Ø�{‰{˜2Ÿ7™7Ó#ˆØ—;‘;˜rŸw™wÓ'ˆà�O‰O˜Y¨XÐ6Ø&)ð ð +ˆà×&Ñ& t°SÀØ6:Àcð 'ð Kð 	KrE   c           	      ó  • UR                   u  p#U R                  (       aM  S[        S5       S3n[        [        R
                  " U R                  U5      X@R                  U5      5      SS06$ [        [        U5      5      $ )Nrº   Ú	ElementOfrÈ   rž  )ra   rN   r   r   r   rÌ   rR   r   )rA   rX   rŠ  r€  Úels        rC   Ú_print_ContainsÚPrettyPrinter._print_Containsÿ  sv   € Ø—6‘6‰ˆØ××Ø”[ Ó-Ð.¨aÐ0ˆBÜœzŸš¨t¯{©{¸3Ó/?Ø/1·;±;¸sÓ3Có Eð QØNOñQð Qô œd 1›gÓ&Ð&rE   c                 ót  • UR                   R                  [        R                  L aB  UR                  R                  [        R                  L a  U R                  UR                  5      $ U R                  (       a  [        S5      nOSnU R                  UR                  5       5      U R                  U5      -   $ )Nr‹  rŒ  )r<  Úformular   rÕ  ÚbnrR   Úa0rN   r   r9  Útruncate)rA   r.  r“  s      rC   Ú_print_FourierSeriesÚ"PrettyPrinter._print_FourierSeries	  sw   € Ø�4‰4�<‰<œ1Ÿ6™6Ò! a§d¡d§l¡l´a·f±fÒ&<Ø—;‘;˜qŸt™tÓ$Ð$Ø××Ü˜vÓ&‰DàˆDØ�‰˜qŸz™z›|Ó,¨t¯{©{¸4Ó/@Ñ@Ð@rE   c                 ó8   • U R                  UR                  5      $ rG   )r9  Úinfinite©rA   r.  s     rC   Ú_print_FormalPowerSeriesÚ&PrettyPrinter._print_FormalPowerSeries	  s   € Ø�‰˜qŸz™zÓ*Ð*rE   c                 óÂ   • [        U R                  UR                  5      R                  5       6 nU R                  [	        S5      5      n[        UR                  U5      6 $ )NÚSetExpr)r   rR   r€  rb   r   r~   )rA   ÚseÚ
pretty_setÚpretty_names       rC   Ú_print_SetExprÚPrettyPrinter._print_SetExpr	  sK   € Ü §¡¨R¯V©VÓ!4×!;Ñ!;Ó!=Ð>ˆ
Ø—k‘k¤&¨Ó"3Ó4ˆÜ˜;×,Ñ,¨ZÓ8Ð9Ð9rE   c                 ó¢  • U R                   (       a  [        S5      nOSn[        UR                  R                  5      S:”  d#  [        UR
                  R                  5      S:”  a  [        S5      eUR                  [        R                  L aX  UR
                  nX!R                  US-
  5      UR                  US-
  5      UR                  US-
  5      UR                  U5      4nOZUR
                  [        R                  L d  UR                  S:”  a"  US S nUR                  U5        [        U5      nO[        U5      nU R                  U5      $ )	Nr‹  rŒ  r   z@Pretty printing of sequences with symbolic bound not implementedr[  r»   rs   r\  )rN   r   rM  r�  Úfree_symbolsr�  r¶  r   r³  r"  r²  Úlengthru  r=  Ú_print_list)rA   r.  r“  r�  r”  s        rC   Ú_print_SeqFormulaÚPrettyPrinter._print_SeqFormula	  s  € Ø××Ü˜vÓ&‰DàˆDäˆq�w‰w×#Ñ#Ó$ qÓ(¬C°·±×0CÑ0CÓ,DÀqÓ,HÜ%Ð&hÓiÐià�7‰7”a×(Ñ(Ò(Ø—6‘6ˆDØŸg™g d¨Q¡hÓ/°·±¸À¹Ó1BØ—‘˜˜q™Ó! 1§7¡7¨4£=ð2‰Hà�V‰V”q—z‘zÒ! Q§X¡X°£\Ø˜˜!�uˆHØ�O‰O˜DÔ!Ü˜X“‰Hä˜Q“xˆHØ×Ñ Ó)Ð)rE   c                 ó   • g)NFrQ   rÜ  s    rC   rÝ  ÚPrettyPrinter.<lambda>3	  s   €  5rE   c                 óZ  • / nU H`  nU R                  U5      n	U" U5      (       a  [        U	R                  5       6 n	U(       a  UR                  U5        UR                  U	5        Mb     U(       d  [	        S5      n
O[        [        R
                  " U6 6 n
[        U
R                  X#US96 n
U
$ )Nr7  r  )rR   r   rb   ru  r   rÌ   )rA   Úseqrc   r~   rõ  rá  r#  r4  r!  re   r.  s              rC   r`   ÚPrettyPrinter._print_seq2	  s”   € ð ˆÛˆDØ—K‘K Ó%ˆEÙ˜D×!Ñ!Ü" E§L¡L£NÐ3�ÞØ—‘˜iÔ(Ø�M‰M˜%Ö ñ ö Ü˜2“‰AäœJŸOšO¨VÐ4Ð5ˆAä˜Ÿ™ ¸^˜ÐLÐMˆØˆrE   c                 ó¢   • S nU H8  nUc  UnM
  [        UR                  U5      6 n[        UR                  U5      6 nM:     Uc  [        S5      $ U$ )Nr7  )r   r~   )rA   rõ  ra   re   rá   s        rC   rÀ  ÚPrettyPrinter.joinF	  sW   € ØˆãˆCØ‰}Ø’ä" E§K¡K°	Ó$:Ð;�Ü" E§K¡K°Ó$4Ð5’ñ ð ‰=Ü˜b“>Ð!àˆLrE   c                 ó(   • U R                  USS5      $ rf  ©r`   )rA   rÐ   s     rC   rô  ÚPrettyPrinter._print_listU	  s   € Ø�‰˜q # sÓ+Ð+rE   c                 óÒ   • [        U5      S:X  aF  [        [        R                  " U R	                  US   5      S5      6 n[        UR                  SSSS96 $ U R                  USS5      $ )Nrs   r   r8  rx   ry   Tr  )rM  r   r   rÌ   rR   rb   r`   )rA   r2  Úptuples      rC   Ú_print_tupleÚPrettyPrinter._print_tupleX	  s\   € Üˆq‹6�Q‹;Ü¤§¢°·±¸Q¸q¹TÓ1BÀCÓ!HÐIˆFÜ˜vŸ}™}¨S°#Àd˜}ÐKÐLÐLà—?‘? 1 c¨3Ó/Ð/rE   c                 ó$   • U R                  U5      $ rG   )r  rI   s     rC   Ú_print_TupleÚPrettyPrinter._print_Tuple_	  s   € Ø× Ñ  Ó&Ð&rE   c                 ó  • [        UR                  5       [        S9n/ nU HV  nU R                  U5      nU R                  X   5      n[	        [
        R                  " USU5      6 nUR                  U5        MX     U R                  USS5      $ )Nrå   z: r  r‡  )	rè   Úkeysr   rR   r   r   rÌ   ru  r`   )rA   r"  r	  rº  rÁ   r  ÚVr.  s           rC   Ú_print_dictÚPrettyPrinter._print_dictb	  sx   € Ü�a—f‘f“hÔ$4Ñ5ˆØˆãˆAØ—‘˜A“ˆAØ—‘˜A™DÓ!ˆAÜœJŸOšO¨A¨t°QÓ7Ð8ˆAà�L‰L˜ŽOñ ð �‰˜u c¨3Ó/Ð/rE   c                 ó$   • U R                  U5      $ rG   )r  )rA   r"  s     rC   Ú_print_DictÚPrettyPrinter._print_Dicto	  s   € Ø×Ñ Ó"Ð"rE   c                 ó–   • U(       d  [        S5      $ [        U[        S9nU R                  U5      n[        UR	                  SSSS96 nU$ )Nzset()rå   r  r‡  Tr  )r   rè   r   r`   rb   ©rA   r.  rº  Úprettys       rC   Ú
_print_setÚPrettyPrinter._print_setr	  sI   € ÞÜ˜gÓ&Ð&Ü�qÔ.Ñ/ˆØ—‘ Ó'ˆÜ˜VŸ]™]¨3°ÀD˜]ÐIÐJˆØˆrE   c                 ó$  • U(       d  [        S5      $ [        U[        S9nU R                  U5      n[        UR	                  SSSS96 n[        UR	                  SSSS96 n[        [
        R                  " [        U5      R                  U5      6 nU$ )	Nzfrozenset()rå   r  r‡  Tr  rx   ry   )	r   rè   r   r`   rb   r   rÌ   ÚtyperŸ   r  s       rC   Ú_print_frozensetÚPrettyPrinter._print_frozensetz	  s�   € ÞÜ˜mÓ,Ð,Ü�qÔ.Ñ/ˆØ—‘ Ó'ˆÜ˜VŸ]™]¨3°ÀD˜]ÐIÐJˆÜ˜VŸ]™]¨3°ÀD˜]ÐIÐJˆÜœZŸ_š_¬T°!«W×-=Ñ-=¸vÓFÐGˆØˆrE   c                 ób   • U R                   (       a  [        [        S5      5      $ [        S5      $ )NÚUniverserÑ  r6  rç  s     rC   Ú_print_UniversalSetÚ!PrettyPrinter._print_UniversalSet„	  s&   € Ø××Üœk¨*Ó5Ó6Ð6ä˜nÓ-Ð-rE   c                 ó*   • [        [        U5      5      $ rG   ©r   r   )rA   Úrings     rC   Ú_print_PolyRingÚPrettyPrinter._print_PolyRingŠ	  ó   € Üœ$˜t›*Ó%Ð%rE   c                 ó*   • [        [        U5      5      $ rG   r  )rA   Úfields     rC   Ú_print_FracFieldÚPrettyPrinter._print_FracField�	  s   € Üœ$˜u›+Ó&Ð&rE   c                 ó*   • [        [        U5      5      $ rG   rH   )rA   Úelms     rC   Ú_print_FreeGroupElementÚ%PrettyPrinter._print_FreeGroupElement�	  s   € Üœ#˜c›(Ó#Ð#rE   c                 ó*   • [        [        U5      5      $ rG   r  )rA   Úpolys     rC   Ú_print_PolyElementÚ PrettyPrinter._print_PolyElement“	  r"  rE   c                 ó*   • [        [        U5      5      $ rG   r  )rA   Úfracs     rC   Ú_print_FracElementÚ PrettyPrinter._print_FracElement–	  r"  rE   c                 ó¼   • UR                   (       a-  U R                  UR                  5       R                  5       5      $ U R                  UR                  5       5      $ rG   )Ú
is_aliasedrR   Úas_polyrÍ  rI   s     rC   Ú_print_AlgebraicNumberÚ$PrettyPrinter._print_AlgebraicNumber™	  s<   € Ø�?�?Ø—;‘;˜tŸ|™|›~×5Ñ5Ó7Ó8Ð8à—;‘;˜tŸ|™|›~Ó.Ð.rE   c                 óÊ   • U R                  UR                  SS9UR                  /n[        U R	                  U5      R                  5       6 n[        UR                  S5      6 nU$ )NÚlexr$  ÚCRootOf)r9  rJ   rÎ  r   r`   rb   rc   ©rA   rJ   ra   re   s       rC   Ú_print_ComplexRootOfÚ"PrettyPrinter._print_ComplexRootOfŸ	  sU   € Ø—‘ §	¡	°�Ð7¸¿¹ÐDˆÜ˜DŸO™O¨DÓ1×8Ñ8Ó:Ð;ˆÜ˜EŸJ™J yÓ1Ð2ˆØˆrE   c                 óB  • U R                  UR                  SS9/nUR                  [        R                  La*  UR                  U R                  UR                  5      5        [        U R                  U5      R                  5       6 n[        UR                  S5      6 nU$ )Nr9  r$  ÚRootSum)r9  rJ   rÇ  r   ÚIdentityFunctionru  rR   r   r`   rb   rc   r;  s       rC   Ú_print_RootSumÚPrettyPrinter._print_RootSum¥	  sz   € Ø—‘ §	¡	°�Ð7Ð8ˆà�8‰8œ1×-Ñ-Ò-Ø�K‰K˜Ÿ™ D§H¡HÓ-Ô.ä˜DŸO™O¨DÓ1×8Ñ8Ó:Ð;ˆÜ˜EŸJ™J yÓ1Ð2ˆàˆrE   c                 ó†   • U R                   (       a  [        S5       S3nOSn[        [        X!R                  -  5      5      $ )NÚIntegersz_%dzGF(%d))rN   r   r   r   Úmod)rA   rJ   Úforms      rC   Ú_print_FiniteFieldÚ PrettyPrinter._print_FiniteField°	  s8   € Ø××Ü! *Ó-Ð.¨cÐ2‰DàˆDäœ-¨¯x©x©Ó8Ó9Ð9rE   c                 ób   • U R                   (       a  [        [        S5      5      $ [        S5      $ )NrD  ÚZZr6  rI   s     rC   Ú_print_IntegerRingÚ PrettyPrinter._print_IntegerRing¸	  s&   € Ø××Üœk¨*Ó5Ó6Ð6ä˜dÓ#Ð#rE   c                 ób   • U R                   (       a  [        [        S5      5      $ [        S5      $ )NÚ	RationalsÚQQr6  rI   s     rC   Ú_print_RationalFieldÚ"PrettyPrinter._print_RationalField¾	  s&   € Ø××Üœk¨+Ó6Ó7Ð7ä˜dÓ#Ð#rE   c                 óÞ   • U R                   (       a  [        S5      nOSnUR                  (       a  [        U5      $ U R	                  [        US-   [        UR                  5      -   5      5      $ )NÚRealsÚRRr  ©rN   r   Úhas_default_precisionr   rR   r   r=   Ú	precision©rA   ÚdomainÚprefixs      rC   Ú_print_RealFieldÚPrettyPrinter._print_RealFieldÄ	  sV   € Ø××Ü  Ó)‰FàˆFà×'×'Ü˜fÓ%Ð%à—;‘;œ}¨V°c©\¼CÀ×@PÑ@PÓ<QÑ-QÓRÓSÐSrE   c                 óÞ   • U R                   (       a  [        S5      nOSnUR                  (       a  [        U5      $ U R	                  [        US-   [        UR                  5      -   5      5      $ )NÚ	ComplexesÚCCr  rU  rX  s      rC   Ú_print_ComplexFieldÚ!PrettyPrinter._print_ComplexFieldÏ	  sV   € Ø××Ü  Ó-‰FàˆFà×'×'Ü˜fÓ%Ð%à—;‘;œ}¨V°c©\¼CÀ×@PÑ@PÓ<QÑ-QÓRÓSÐSrE   c                 ó€  • [        UR                  5      nUR                  R                  (       dJ  [	        [	        S5      R                  U R                  UR                  5      5      6 nUR                  U5        U R                  USS5      n[	        UR                  U R                  UR                  5      5      6 nU$ ©Núorder=rö  r÷  ©r:  Úsymbolsr.   Ú
is_defaultr   r~   rR   ru  r`   rc   rY  ©rA   rJ   ra   r.   re   s        rC   Ú_print_PolynomialRingÚ#PrettyPrinter._print_PolynomialRingÚ	  ó‡   € Ü�D—L‘LÓ!ˆà�z‰z×$×$Ü¤
¨8Ó 4× :Ñ :¸4¿;¹;ÀtÇzÁzÓ;RÓ SÐTˆEØ�K‰K˜Ôà—‘  c¨3Ó/ˆÜ˜EŸJ™J t§{¡{°4·;±;Ó'?Ó@ÐAˆàˆrE   c                 ó€  • [        UR                  5      nUR                  R                  (       dJ  [	        [	        S5      R                  U R                  UR                  5      5      6 nUR                  U5        U R                  USS5      n[	        UR                  U R                  UR                  5      5      6 nU$ )Nrd  rx   ry   re  rh  s        rC   Ú_print_FractionFieldÚ"PrettyPrinter._print_FractionFieldæ	  rk  rE   c                 ó4  • UR                   n[        UR                  5      [        UR                  5      :w  a  US[        UR                  5      -   4-   nU R	                  USS5      n[        UR                  U R                  UR                  5      5      6 nU$ rc  )	rf  r=   r.   Údefault_orderr`   r   rc   rR   rY  )rA   rJ   Úgre   s       rC   Ú_print_PolynomialRingBaseÚ'PrettyPrinter._print_PolynomialRingBaseò	  sw   € Ø�L‰LˆÜˆt�z‰z‹?œc $×"4Ñ"4Ó5Ó5Ø�X¤ D§J¡J£Ñ/Ð1Ñ1ˆAØ—‘  3¨Ó,ˆÜ˜EŸJ™J t§{¡{°4·;±;Ó'?Ó@ÐAˆàˆrE   c                 óº  • UR                    Vs/ s H  nU R                  X!R                  S9PM     nn[        U R	                  SU5      R                  SSS96 nUR                   Vs/ s H  o@R                  U5      PM     nn[        [        S5      R                  U R                  UR                  5      5      6 n[        [        S5      R                  U R                  UR                  5      5      6 nU R	                  SU/U-   Xg/-   5      n[        UR                  5       6 n[        UR                  UR                  R                  5      6 nU$ s  snf s  snf )Nr$  ró  rö  r÷  rø  zdomain=rd  )Úexprsr9  r.   r   rÀ  rb   ÚgensrR   r~   rY  rc   rž   rŸ   )	rA   Úbasisrá   ru  Úgenrv  rY  r.   re   s	            rC   Ú_print_GroebnerBasisÚ"PrettyPrinter._print_GroebnerBasisû	  s*  € à"Ÿ[š[ó+Ú(�cð —/‘/ #¯[©[�/Ó9Ù(ð 	ð +ä˜DŸI™I d¨EÓ2×9Ñ9¸sÈ#Ð9ÐNÐOˆà-2¯ZªZÓ9ªZ c—‘˜SÖ!©ZˆÐ9äÜ˜	Ó"×(Ñ(¨¯©°U·\±\Ó)BÓCðEˆäÜ˜Ó!×'Ñ'¨¯©°E·K±KÓ(@ÓAðCˆð —	‘	˜$  ¨$¡°&°Ñ @ÓAˆä˜EŸL™L›NÐ+ˆÜ˜EŸJ™J u§¡×'?Ñ'?Ó@ÐAˆàˆùò!+ùò :s   �#EÁ(Ec                 ó¢  • U R                  UR                  5      n[        UR                  5       6 nUR	                  5       S:”  a  UR	                  5       OSn[        [        SU5      UR                  S9n[        UR                  U5      6 nUR                  nUR	                  5       S-
  Ul        [        UR                  U R                  [        UR                  UR                  5       Vs/ s HC  nU R                  U R                  US   5      [        S5      U R                  US   5      4SS9PME     sn5      5      6 nXRl        U$ s  snf )	Nrs   r»   r  r$  r   r‡  r7  rô  )rR   rJ   r   rb   r`  r   r   r¿   r~   r`   rN  r  rÙ  r   )rA   rX   re   rf  Úrvertr0  rÆ  s          rC   Ú_print_SubsÚPrettyPrinter._print_Subs
  s  € Ø—‘˜AŸF™FÓ#ˆÜ˜EŸL™L›NÐ+ˆà#Ÿl™l›n¨qÓ0ˆE�L‰LŒN°aˆÜœ4  Q›<°%·.±.ÑAˆÜ˜EŸK™K¨Ó.Ð/ˆà�N‰NˆØŸ™›¨!Ñ+ˆŒÜ˜EŸK™K¨¯©ä'*¨1¯;©;¸¿¹Ô'@ó9Câ'@ !ð �O‰O˜TŸ[™[¨¨1©Ó.´°T³
¸D¿K¹KÈÈ!ÉÓ<MÐNØð ó Ù'@ñ9Có )Dó Eð Fˆð ŒØˆùò9Cs   Ã.A
Ec                 ó   • [        U5      nU R                  UR                  S   5      n[        SUR                  5       -  5      n[        UR	                  U5      6 n[        UR                  U5      6 n[        UR                  5      S:X  a  U$ UR                  u  pgUn[        U R                  U/5      R                  5       6 n	[        [        R                  " X‰5      S[         R                  06nXƒl        X“l        U$ )Nr   rº   rs   rÈ   )r   rR   ra   r½   r&  r~   rM  r`   rb   r   rÌ   r%  rü  rý  )
rA   rX   ri   re   rá   rë   r	  r¯   rü  rý  s
             rC   Ú_print_number_functionÚ$PrettyPrinter._print_number_function
  sÖ   € ô ˜4Ó ˆØ�k‰k˜!Ÿ&™& ™)Ó$ˆÜ˜s 3§9¡9£;™Ó/ˆ	Ü 	§¡°Ó 4Ð5ˆ	Ü˜EŸK™K¨	Ó2Ð3ˆÜˆq�v‰v‹;˜!ÓØˆLØ�v‰v‰ˆàˆ
Ü §¡°!°Ó!5×!<Ñ!<Ó!>Ð?ˆ
ÜÜ&0§o¢o°jÓ&MðOÜ—O‘OñOˆà%ÔØ%ÔØˆrE   c                 ó&   • U R                  US5      $ )Nr·  ©r€  rW   s     rC   Ú_print_eulerÚPrettyPrinter._print_euler3
  ó   € Ø×*Ñ*¨1¨cÓ2Ð2rE   c                 ó&   • U R                  US5      $ )Nr¦  rƒ  rW   s     rC   Ú_print_catalanÚPrettyPrinter._print_catalan6
  r†  rE   c                 ó&   • U R                  US5      $ )Nr  rƒ  rW   s     rC   Ú_print_bernoulliÚPrettyPrinter._print_bernoulli9
  r†  rE   c                 ó&   • U R                  US5      $ )NÚLrƒ  rW   s     rC   Ú_print_lucasÚPrettyPrinter._print_lucas>
  r†  rE   c                 ó&   • U R                  US5      $ )Nr,  rƒ  rW   s     rC   Ú_print_fibonacciÚPrettyPrinter._print_fibonacciA
  r†  rE   c                 ó&   • U R                  US5      $ )Nr  rƒ  rW   s     rC   Ú_print_tribonacciÚPrettyPrinter._print_tribonacciD
  r†  rE   c                 óz   • U R                   (       a  U R                  U[        S   5      $ U R                  US5      $ )Nrs  Ú	stieltjes)rN   r€  r    rW   s     rC   Ú_print_stieltjesÚPrettyPrinter._print_stieltjesG
  s6   € Ø××Ø×.Ñ.¨q´-ÀÑ2HÓIÐIà×.Ñ.¨q°+Ó>Ð>rE   c                 ó:  • U R                  UR                  S   5      n[        UR                  [        S5      5      6 n[        UR                  U R                  UR                  S   5      5      6 nU R                  (       a  [        [        S5      5      nO[        S5      nUn[        UR                  SUR                  5       -  5      6 n[        UR                  SUR                  5       -  5      6 n[        UR                  U5      S[        R                  06$ )Nr   r8  rs   ry  r"  rº   rÈ   )rR   ra   r   r~   rN   r   r   rc   r½   r&  ÚPOW)rA   rX   re   r0  r0  ré  rê  s          rC   Ú_print_KroneckerDeltaÚ#PrettyPrinter._print_KroneckerDeltaM
  sÏ   € Ø—‘˜AŸF™F 1™IÓ&ˆÜ˜EŸK™K¬
°3«Ó8Ð9ˆÜ˜EŸK™K¨¯©°A·F±F¸1±IÓ(>Ó?Ð@ˆØ××Üœ=¨Ó1Ó2‰Aä˜3“ˆAØˆÜ˜!Ÿ&™&  Q§W¡W£Y¡Ó/Ð0ˆÜ˜!Ÿ'™' # a§g¡g£i¡-Ó0Ð1ˆÜ°3·9±9¸S³>ÐB¤*§.¡.ÑBÐBrE   c                 óÐ  • [        US5      (       aG  U R                  S5      n[        UR                  U R                  UR	                  5       5      5      6 nU$ [        US5      (       a™  U R                  S5      n[        UR                  U R                  UR
                  5      5      6 n[        UR                  U R                  S5      5      6 n[        UR                  U R                  UR                  5      5      6 nU$ [        US5      (       aC  U R                  S5      n[        UR                  U R                  UR
                  5      5      6 nU$ U R                  S 5      $ )NÚ
as_booleanzDomain: r€  z in rf  z
Domain on )rk  rR   r   r~   r   rf  r€  )rA   r"  re   s      rC   Ú_print_RandomDomainÚ!PrettyPrinter._print_RandomDomainZ
  s  € Ü�1�l×#Ñ#Ø—K‘K 
Ó+ˆEÜ §¡¨D¯K©K¸¿¹»Ó,GÓ HÐIˆEØˆLÜ�Q˜×ÑØ—K‘K 
Ó+ˆEÜ §¡¨D¯K©K¸¿	¹	Ó,BÓ CÐDˆEÜ §¡¨D¯K©K¸Ó,?Ó @ÐAˆEÜ §¡¨D¯K©K¸¿¹Ó,>Ó ?Ð@ˆEØˆLÜ�Q˜	×"Ñ"Ø—K‘K Ó-ˆEÜ §¡¨D¯K©K¸¿	¹	Ó,BÓ CÐDˆEØˆLà—;‘;˜tÓ$Ð$rE   c                 óÈ   •  UR                   b*  U R                  UR                   R                  U5      5      $  U R                  [	        U5      5      $ ! [         a     N&f = frG   )r  rR   Úto_sympyr   Úrepr©rA   r  s     rC   Ú
_print_DMPÚPrettyPrinter._print_DMPl
  s[   € ð	Ø�v‰vÑ!à—{‘{ 1§6¡6§?¡?°1Ó#5Ó6Ð6ð "ð
 �{‰{œ4 ›7Ó#Ð#øô ó 	Ùð	ús   ‚6A Á
A!Á A!c                 ó$   • U R                  U5      $ rG   )r§  r¦  s     rC   Ú
_print_DMFÚPrettyPrinter._print_DMFu
  s   € Ø�‰˜qÓ!Ð!rE   c                 óJ   • U R                  [        UR                  5      5      $ rG   ©rR   r   ri   )rA   Úobjects     rC   Ú_print_ObjectÚPrettyPrinter._print_Objectx
  s   € Ø�{‰{œ=¨¯©Ó5Ó6Ð6rE   c                 óÂ   • [        S5      nU R                  UR                  5      nU R                  UR                  5      nUR	                  X$5      S   n[        U5      $ )Nz-->r   )r   rR   rY  Úcodomainr~   r   )rA   ÚmorphismrÏ  rY  r²  Útails         rC   Ú_print_MorphismÚPrettyPrinter._print_Morphism{
  sO   € Ü�U“ˆà—‘˜XŸ_™_Ó-ˆØ—;‘;˜x×0Ñ0Ó1ˆØ�|‰|˜EÓ,¨QÑ/ˆä˜$ÓÐrE   c                 ó¨   • U R                  [        UR                  5      5      nU R                  U5      n[	        UR                  SU5      S   5      $ )Nr  r   )rR   r   ri   rµ  r   r~   )rA   r³  rî  Úpretty_morphisms       rC   Ú_print_NamedMorphismÚ"PrettyPrinter._print_NamedMorphism„
  sF   € Ø—k‘k¤-°·±Ó">Ó?ˆØ×.Ñ.¨xÓ8ˆÜ˜+×+Ñ+¨C°ÓAÀ!ÑDÓEÐErE   c                 óh   • SSK Jn  U R                  U" UR                  UR                  S5      5      $ )Nr   )ÚNamedMorphismÚid)Úsympy.categoriesr¼  r¹  rY  r²  )rA   r³  r¼  s      rC   Ú_print_IdentityMorphismÚ%PrettyPrinter._print_IdentityMorphism‰
  s0   € Ý2Ø×(Ñ(Ù˜(Ÿ/™/¨8×+<Ñ+<¸dÓCóEð 	ErE   c                 óF  • [        S5      nUR                   Vs/ s H  n[        UR                  5      PM     nnUR	                  5         UR                  U5      S-   nU R                  U5      nU R                  U5      n[        UR                  U5      S   5      $ s  snf )NrX  r  r   )
r   r»  r   ri   ÚreverserÀ  rR   rµ  r   r~   )rA   r³  ÚcircleÚ	componentÚcomponent_names_listÚcomponent_namesrî  r¸  s           rC   Ú_print_CompositeMorphismÚ&PrettyPrinter._print_CompositeMorphismŽ
  s�   € ä�c“ˆð
 .6×-@Ò-@ó BÚ-@ 	ô !.¨i¯n©nÖ =Ù-@ð 	ð  Bà×$Ñ$Ô&Ø Ÿ+™+Ð&:Ó;¸cÑAˆà—k‘k /Ó2ˆØ×.Ñ.¨xÓ8ˆÜ˜+×+Ñ+¨OÓ<¸QÑ?Ó@Ð@ùò Bs   šBc                 óJ   • U R                  [        UR                  5      5      $ rG   r­  )rA   Úcategorys     rC   Ú_print_CategoryÚPrettyPrinter._print_Category�
  s   € Ø�{‰{œ=¨¯©Ó7Ó8Ð8rE   c                 óP  • UR                   (       d  U R                  [        R                  5      $ U R                  UR                   5      nUR                  (       a=  S[        S5      -  nU R                  UR                  5      S   nUR                  X45      n[        US   5      $ )Nrç   z==>r   )ÚpremisesrR   r   ÚEmptySetÚconclusionsr   r~   r   )rA   ÚdiagramÚpretty_resultÚresults_arrowÚpretty_conclusionss        rC   Ú_print_DiagramÚPrettyPrinter._print_Diagram 
  sˆ   € Ø××à—;‘;œqŸz™zÓ*Ð*àŸ™ G×$4Ñ$4Ó5ˆØ××Ø"¤T¨%£[Ñ0ˆMà!%§¡¨W×-@Ñ-@Ó!AÀ!Ñ!DÐØ)×/Ñ/Øó3ˆMô ˜-¨Ñ*Ó+Ð+rE   c                 ó  • SSK Jn  U" [        UR                  5       VVs/ s HC  n[        UR                  5       Vs/ s H  nXU4   (       a  XU4   O
[        S5      PM!     snPME     snn5      nU R                  U5      $ s  snf s  snnf )Nr   )ÚMatrixrº   )rù  rØ  rL  r`  r½   r   rÇ  )rA   ÚgridrØ  r-   r9   Úmatrixs         rC   Ú_print_DiagramGridÚ PrettyPrinter._print_DiagramGrid¯
  sˆ   € Ý)Ùä"'¨¯©Ô"4ô6â"4˜Qô $)¨¯©Ô#4ó6Ú#4˜að )-°¨T¯
˜$ !˜tš*¼¸s»ÒCÙ#4ô6á"4ò6ó 7ˆð ×*Ñ*¨6Ó2Ð2ùò6ùó 6s   ¡B	
¾&BÁ$B	
ÂB	
c                 ó(   • U R                  USS5      $ rf  rÿ  ©rA   r	  s     rC   Ú_print_FreeModuleElementÚ&PrettyPrinter._print_FreeModuleElement¶
  s   € à�‰˜q # sÓ+Ð+rE   c           
      óÊ   • UR                    VVs/ s H-  o" Vs/ s H  o1R                  R                  U5      PM     snPM/     nnnU R                  USS5      $ s  snf s  snnf ©Nr’  r“  )rv  r  r¤  r`   )rA   rÀ  rx  rq  rv  s        rC   Ú_print_SubModuleÚPrettyPrinter._print_SubModuleº
  sO   € Ø=>¿VºVÔDºV°c¨SÓ1ªS¨—‘—‘ Ö#©SÔ1¹VˆÑDØ�‰˜t S¨#Ó.Ð.ùò 2ùÓDs   �	A™$A½AÁAc                 óp   • U R                  UR                  5      U R                  UR                  5      -  $ rG   )rR   r  rØ  ©rA   rÀ  s     rC   Ú_print_FreeModuleÚPrettyPrinter._print_FreeModule¾
  s'   € Ø�{‰{˜1Ÿ6™6Ó" D§K¡K°·±Ó$7Ñ7Ð7rE   c                 ó¶   • UR                   R                  nU R                  UR                  R                   Vs/ s H  u  o2" U5      PM     snSS5      $ s  snf râ  )r  r¤  r`   Ú_modulerv  )rA   rÀ  r,  r¯   s       rC   Ú_print_ModuleImplementedIdealÚ+PrettyPrinter._print_ModuleImplementedIdealÁ
  sB   € Ø�f‰f�o‰oˆØ�‰°!·)±)·.².ÓA².©3¨A  A¦±.ÑAÀ3ÈÓLÐLùÒAs   ºAc                 óp   • U R                  UR                  5      U R                  UR                  5      -  $ rG   )rR   r  Ú
base_ideal©rA   ÚRs     rC   Ú_print_QuotientRingÚ!PrettyPrinter._print_QuotientRingÅ
  s'   € Ø�{‰{˜1Ÿ6™6Ó" T§[¡[°·±Ó%>Ñ>Ð>rE   c                 ó¢   • U R                  UR                  R                  U5      5      U R                  UR                  R                  5      -   $ rG   )rR   r  r¤  rî  rï  s     rC   Ú_print_QuotientRingElementÚ(PrettyPrinter._print_QuotientRingElementÈ
  s6   € Ø�{‰{˜1Ÿ6™6Ÿ?™?¨1Ó-Ó.°·±¸Q¿V¹V×=NÑ=NÓ1OÑOÐOrE   c                 ó„   • U R                  UR                  5      U R                  UR                  R                  5      -   $ rG   )rR   ÚdataÚmoduleÚkilled_modulerÞ  s     rC   Ú_print_QuotientModuleElementÚ*PrettyPrinter._print_QuotientModuleElementË
  s-   € Ø�{‰{˜1Ÿ6™6Ó" T§[¡[°·±×1GÑ1GÓ%HÑHÐHrE   c                 óp   • U R                  UR                  5      U R                  UR                  5      -  $ rG   )rR   rH  rù  ræ  s     rC   Ú_print_QuotientModuleÚ#PrettyPrinter._print_QuotientModuleÎ
  s'   € Ø�{‰{˜1Ÿ6™6Ó" T§[¡[°·±Ó%AÑAÐArE   c                 ó&  • U R                  UR                  5       5      nUR                  5       S-  Ul        [	        UR                  SU R                  UR                  5      S[        SS5      -  U R                  UR                  5      5      6 nU$ )Nr»   z : z %s> rp  )	rR   Ú_sympy_matrixr`  r¿   r   r~   rY  r   r²  )rA   rf  rÚ  re   s       rC   Ú_print_MatrixHomomorphismÚ'PrettyPrinter._print_MatrixHomomorphismÑ
  sq   € Ø—‘˜QŸ_™_Ó.Ó/ˆØ Ÿ-™-›/¨QÑ.ˆŒÜ˜FŸL™L¨°·±¸A¿H¹HÓ0EØ”d˜3 “lÑ" D§K¡K°·
±
Ó$;ó=ð >ˆàˆrE   c                 ó8   • U R                  UR                  5      $ rG   ©rR   ri   )rA   Úmanifolds     rC   Ú_print_ManifoldÚPrettyPrinter._print_ManifoldØ
  s   € Ø�{‰{˜8Ÿ=™=Ó)Ð)rE   c                 ó8   • U R                  UR                  5      $ rG   r  )rA   Úpatchs     rC   Ú_print_PatchÚPrettyPrinter._print_PatchÛ
  s   € Ø�{‰{˜5Ÿ:™:Ó&Ð&rE   c                 ó8   • U R                  UR                  5      $ rG   r  )rA   Úcoordss     rC   Ú_print_CoordSystemÚ PrettyPrinter._print_CoordSystemÞ
  s   € Ø�{‰{˜6Ÿ;™;Ó'Ð'rE   c                 ó�   • UR                   R                  UR                     R                  nU R	                  [        U5      5      $ rG   )Ú
_coord_sysrf  Ú_indexri   rR   r   )rA   r$  Ústrings      rC   Ú_print_BaseScalarFieldÚ$PrettyPrinter._print_BaseScalarFieldá
  s6   € Ø×!Ñ!×)Ñ)¨%¯,©,Ñ7×<Ñ<ˆØ�{‰{œ=¨Ó0Ó1Ð1rE   c                 ó®   • [        S5      S-   UR                  R                  UR                     R                  -   nU R                  [        U5      5      $ )Nr!  r  )r!   r  rf  r  ri   rR   r   )rA   r$  r.  s      rC   Ú_print_BaseVectorFieldÚ$PrettyPrinter._print_BaseVectorFieldå
  sF   € ÜÐ$Ó%¨Ñ+¨e×.>Ñ.>×.FÑ.FÀuÇ|Á|Ñ.T×.YÑ.YÑYˆØ�{‰{œ=¨Ó+Ó,Ð,rE   c                 ó�  • U R                   (       a  [        S5      nOSnUR                  n[        US5      (       aM  UR                  R
                  UR                     R                  nU R                  US-   [        U5      -   5      $ U R                  U5      n[        UR                  5       6 n[        UR                  U5      6 $ )NÚDifferentialr"  r  rº   )rN   r   Ú_form_fieldrk  r  rf  r  ri   rR   r   r   rb   rc   )rA   r:  r"  r$  r  re   s         rC   Ú_print_DifferentialÚ!PrettyPrinter._print_Differentialé
  s    € Ø××Ü˜NÓ+‰AàˆAØ× Ñ ˆÜ�5˜,×'Ñ'Ø×%Ñ%×-Ñ-¨e¯l©lÑ;×@Ñ@ˆFØ—;‘;˜q 3™w¬°vÓ)>Ñ>Ó?Ð?à—K‘K Ó&ˆEÜ §¡£Ð/ˆEÜ˜uŸz™z¨!›}Ð-Ð-rE   c                 óÌ   • U R                  UR                  S   5      n[        UR                  SUR                  R
                  -  5      6 n[        UR                  S5      6 nU$ )Nr   z%s(ry   )rR   ra   r   rc   rž   rŸ   r~   )rA   r  re   s      rC   Ú	_print_TrÚPrettyPrinter._print_Tr÷
  sR   € à—‘˜AŸF™F 1™IÓ&ˆÜ˜EŸJ™J u°·±×0DÑ0DÑ'EÓFÐGˆÜ˜EŸK™K¨Ó,Ð-ˆØˆrE   c                 óþ   • U R                  UR                  S   5      n[        UR                  5       6 nU R                  (       a   [        UR                  [        S   5      6 nU$ [        UR                  S5      6 nU$ )Nr   Únu©rR   ra   r   rb   rN   rc   r    rd   s      rC   Ú_print_primenuÚPrettyPrinter._print_primenuþ
  sj   € Ø—‘˜AŸF™F 1™IÓ&ˆÜ˜EŸL™L›NÐ+ˆØ××Ü §
¡
¬=¸Ñ+>Ó ?Ð@ˆEð ˆô  §
¡
¨4Ó 0Ð1ˆEØˆrE   c                 óþ   • U R                  UR                  S   5      n[        UR                  5       6 nU R                  (       a   [        UR                  [        S   5      6 nU$ [        UR                  S5      6 nU$ )Nr   ÚOmegar#  rd   s      rC   Ú_print_primeomegaÚPrettyPrinter._print_primeomega  sj   € Ø—‘˜AŸF™F 1™IÓ&ˆÜ˜EŸL™L›NÐ+ˆØ××Ü §
¡
¬=¸Ñ+AÓ BÐCˆEð ˆô  §
¡
¨7Ó 3Ð4ˆEØˆrE   c                 óê   • UR                   R                   S:X  aI  U R                  (       a  U R                  [        S5      5      nU$ U R                  [	        S5      5      nU$ U R                  U5      $ )NÚdegreeÚDegreeé°   )ri   rN   rR   r   ÚchrrK   rd   s      rC   Ú_print_QuantityÚPrettyPrinter._print_Quantity  s_   € Ø�6‰6�;‰;˜(Ó"Ø× × ØŸ™¤K°Ó$9Ó:�ð ˆLð Ÿ™¤C¨£HÓ-�ØˆLà×$Ñ$ QÓ'Ð'rE   c                 óô   • [        S[        UR                  5      -   S-   5      nU R                  UR                  5      nU R                  UR
                  5      n[        [        R                  " X2U5      6 nU$ )Nrº   )r   r   rÏ   rR   rÊ   rË   r   rÌ   rÎ   s         rC   Ú_print_AssignmentBaseÚ#PrettyPrinter._print_AssignmentBase  s\   € ä˜œd 1§4¡4›jÑ(¨3Ñ.Ó/ˆà�K‰K˜Ÿ™ÓˆØ�K‰K˜Ÿ™ÓˆÜœJŸOšO¨A°1Ó5Ð6ˆØˆrE   c                 ó8   • U R                  UR                  5      $ rG   r  rç  s     rC   Ú
_print_StrÚPrettyPrinter._print_Str#  s   € Ø�{‰{˜1Ÿ6™6Ó"Ð"rE   rQ   rG   )F)T)rö  r÷  )NNr7  F)FNrx   ry   )FNró  Frx   ry   )þrŸ   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚprintmethodÚ_default_settingsr:   rK   ÚpropertyrN   rT   rY   r\   rf   rl   Ú_print_RandomSymbolrp   ru   r‚   rŠ   rŽ   r‘   r–   rš   r¡   Ú_print_InfinityÚ_print_NegativeInfinityÚ_print_EmptySetÚ_print_NaturalsÚ_print_Naturals0Ú_print_IntegersÚ_print_RationalsÚ_print_ComplexesÚ_print_EmptySequencer¦   r°   r´   r·   rÅ   rÒ   râ   rò   ró   rø   rü   r   r  rÝ   rÜ   r  r  r  r  r1  rB  rW  rm  rƒ  rt  r¬  rº  rÇ  rÌ  rÕ  rä  rê  rî  rÿ  r
  r  r  r  r#  r1  r7  r<  rA  rE  rJ  rU  r]  rc  ri  rq  rt  r{  r~  r‚  r‘  r˜  rž  r§  rÑ  rá  rï  ró  rö  rú  rþ  r  r  r  r  r   r)  r5  rK  rO  rR  rà   r\  ra  rd  rh  rV  ro  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û  rþ  r  r  r
  r  r  r  r  r!  r9  ro  r[  re  rh  rp  rr  rw  r„  rˆ  r–  r�  r¡  rª  r±  r¶  r»  rÉ  rÓ  r×  rÜ  rã  rè  rï  rõ  Ú_print_SeqPerÚ_print_SeqAddÚ_print_SeqMulr`   rÀ  rô  r  r  r  r  r  r  r  r   r%  r)  r-  r1  r6  r<  rA  rG  rK  rP  r[  r`  ri  rm  rr  ry  r}  r€  r„  rˆ  r‹  Ú_print_bellr�  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  r  r  r$  r(  r/  r2  r5  Ú__static_attributes__rQ   rE   rC   r(   r(      sŠ  † ÙIØ€Kð ØØØØØ!%ØØ#ØØñÐô~ò%ð ñ(ó ð(ò:òòòô
 ð (ÐòSò8ò
òòò
òòò(ð "€OØ)ÐØ!€OØ!€OØ"ÐØ!€OØ"ÐØ"Ðà&Ðò7òòòòò ò+ô"ò*6ò6ò6ò6ò6ô+ô6òEòò
+ò+ò#òJò&",òJIòV4òl
(ò_òBò8AôFò
IòSòSòòò*ò6òò%ò
ò")ò#ò#ò#ò)òò	Yò,ò Hòò
8ò)ò0òòò""&òHò$ò'òd=òL%ðB @Bô !òF;ò
Fòò)ò òò@6òp3òô4ò.ò`Ròh.ò4ð CFØ!ôsò6ò6ò7ò7ð HLØGJØ%(ô#òJWð ñ%ó ð%ò4ò'ò'ò<ò<ò@ò6ò6ò7ò7ò8ò8ò6ò8ò8ò6òKò[òò*ò<ò<ò<ò<ò<ò<ò+ò&'òò	òòòò2ò
1ò
(òôF+òP:Aòz*òX.ò$)òò$+ò+òMò7ò:ò2<ò"8òBòIòBò0òOò:Kò>Kò'òAò+ò:ò
*ð* &€MØ%€MØ%€Mà#'¨t¸tÙ(¸ôò(ò,ò0ò'ò0ò#òòò.ò&ò'ò$ò&ò&ò/òò	ò:ò$ò$ò	Tò	Tò
ò
òòò&ò"ò(3ò3ò3ð #€Kò3ò3ò3ò?òCò%ò$$ò"ò7ò òFò
Eò
Aò9ò,ò3ò,ò/ò8òMò?òPòIòBòò*ò'ò(ò2ò-ò.òòòò(òõ#rE   r(   c                 ó¦   • [        U5      nUR                  S   n[        U5      n UR                  U 5      [        U5        $ ! [        U5        f = f)z{Returns a string containing the prettified form of expr.

For information on keyword arguments see pretty_print function.

r0   )r(   r<   r   rT   )rJ   rB   rD  r0   Úuflags        rC   r  r  '  sK   € ô 
�xÓ	 €Bð —,‘,˜}Ñ-€KÜ˜{Ó+€Eð"Ø�z‰z˜$Óä˜5Õ!øÔ˜5Õ!ús   §A ÁAc                 ó.   • [        [        U 40 UD65        g)a^  Prints expr in pretty form.

pprint is just a shortcut for this function.

Parameters
==========

expr : expression
    The expression to print.

wrap_line : bool, optional (default=True)
    Line wrapping enabled/disabled.

num_columns : int or None, optional (default=None)
    Number of columns before line breaking (default to None which reads
    the terminal width), useful when using SymPy without terminal.

use_unicode : bool or None, optional (default=None)
    Use unicode characters, such as the Greek letter pi instead of
    the string pi.

full_prec : bool or string, optional (default="auto")
    Use full precision.

order : bool or string, optional (default=None)
    Set to 'none' for long expressions if slow; default is None.

use_unicode_sqrt_char : bool, optional (default=True)
    Use compact single-character square root symbol (when unambiguous).

root_notation : bool, optional (default=True)
    Set to 'False' for printing exponents of the form 1/n in fractional form.
    By default exponent is printed in root form.

mat_symbol_style : string, optional (default="plain")
    Set to "bold" for printing MatrixSymbols using a bold mathematical symbol face.
    By default the standard face is used.

imaginary_unit : string, optional (default="i")
    Letter to use for imaginary unit when use_unicode is True.
    Can be "i" (default) or "j".
N)Úprintr  )rJ   Úkwargss     rC   Úpretty_printrR  :  s   € ôV 
Œ&�Ñ
 ˜Ñ
 Õ!rE   c                 ó~   • SSK Jn  SSKJn  SU;  a  SUS'   U" [	        U 40 UD6R                  U" 5       5      5        g)ao  Prints expr using the pager, in pretty form.

This invokes a pager command using pydoc. Lines are not wrapped
automatically. This routine is meant to be used with a pager that allows
sideways scrolling, like ``less -S``.

Parameters are the same as for ``pretty_print``. If you wish to wrap lines,
pass ``num_columns=None`` to auto-detect the width of the terminal.

r   )Úpager)Úgetpreferredencodingr2   i ¡ N)ÚpydocrT  ÚlocalerU  r  Úencode)rJ   rB   rT  rU  s       rC   Úpager_printrY  j  s=   € õ Ý+Ø˜HÓ$Ø"(ˆ�ÑÙ	Œ&�Ñ
"˜Ñ
"×
)Ñ
)Ñ*>Ó*@Ó
AÕBrE   )?rÙ  Ú
sympy.corer   Úsympy.core.addr   Úsympy.core.containersr   Úsympy.core.functionr   Úsympy.core.mulr   Úsympy.core.numbersr   r	   Úsympy.core.powerr
   Úsympy.core.sortingr   Úsympy.core.symbolr   Úsympy.core.sympifyr   Úsympy.printing.conventionsr   Úsympy.printing.precedencer   r   r   Úsympy.printing.printerr   r   Úsympy.printing.strr   Úsympy.utilities.iterablesr   Úsympy.utilities.exceptionsr   Ú sympy.printing.pretty.stringpictr   r   Ú&sympy.printing.pretty.pretty_symbologyr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   rU  Úpprint_use_unicodeÚpprint_try_use_unicoder(   r  rR  ÚpprintrY  rQ   rE   rC   Ú<module>ro     s    ðÛ å Ý Ý 'Ý (Ý ß /Ý  Ý /Ý $Ý +Ý 7ß TÑ Tß :Ý #Ý 1Ý @ç C÷b÷ b÷ b÷ bð
 (Ð Ø/Ð ôF,#�Gô F,#ñRX �Óñ"ó ð"ò$+"ðZ 
€óCrE   