ó
    áÅŸg]  ã            
       óÌ  • S r SSKrSSKrSSKrSSKJrJr  SSKJrJ	r	  SSK
Jr  \" SS9SS\\   S	\S
\SS4S jj5       r\" SS9SS\\   S	\S
\SS4S jj5       r\" SS9SS\\   S	\S
\SS4S jj5       rSS\\   S	\S
\SS4S jjrS\S\S\S\S\4
S jr\R&                  " S5      rS\S\\   4S jrS\S\S\S\S\4
S jrS\S\4S jr\" SS9SS.S\S\S\4S jj5       rg) zMNice output for Black.

The double calls are for patching purposes in tests.
é    N)ÚAnyÚOptional)ÚechoÚstyle)Ú
mypyc_attrT)Ú	patchableÚmessageÚnlÚstylesÚreturnc                 óL   • U b  SU;  a  SUS'   [        U 40 UD6n [        XSS9  g )NÚboldT©r
   Úerr©r   r   ©r	   r
   r   s      ÚM/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/black/output.pyÚ_outr      s2   € àÑØ˜ÓØ!ˆF�6‰NÜ˜Ñ* 6Ñ*ˆÜˆ˜TÓ"ó    c                 óL   • U b  SU;  a  SUS'   [        U 40 UD6n [        XSS9  g )NÚfgÚredTr   r   r   s      r   Ú_errr      s2   € àÑØ�vÓØ ˆF�4‰LÜ˜Ñ* 6Ñ*ˆÜˆ˜TÓ"r   c                 ó    • [        U 4SU0UD6  g ©Nr
   )r   r   s      r   Úoutr   !   s   € äˆÑ"�RÐ"˜6Ó"r   c                 ó    • [        U 4SU0UD6  g r   )r   r   s      r   r   r   &   s   € ÜˆÑ"�RÐ"˜6Ó"r   ÚaÚbÚa_nameÚb_namec                 óx  • [         R                  " U 5      n[         R                  " U5      n[        US   5       VVs/ sH^  u  pgUS   S:X  d  M  [        SR	                  US   U   S   5      S-   SR	                  US   U   S   5      S-   U SU 3U SU 35      PM`     nnnSR	                  U5      $ s  snnf )zHReturn a unified diff string between each cell in notebooks `a` and `b`.ÚcellsÚ	cell_typeÚcodeÚ ÚsourceÚ
z:cell_)ÚjsonÚloadsÚ	enumerateÚdiffÚjoin)	r   r   r    r!   Úa_nbÚb_nbÚcell_numberÚcellÚ
diff_liness	            r   Ú
ipynb_diffr3   *   sÒ   € ä�:Š:�a‹=€DÜ�:Š:�a‹=€Dô "+¨4°©=Ô!9ô	ñ ":ÑˆKØ�Ñ Ñ&ó	
ŒØ�G‰G�D˜‘M +Ñ.¨xÑ8Ó9¸DÑ@Ø�G‰G�D˜‘M +Ñ.¨xÑ8Ó9¸DÑ@Øˆh�f˜[˜MÐ*Øˆh�f˜[˜MÐ*ö		
ñ ":ð ñ 	ð �7‰7�:ÓÐùó	s   ¾B6ÁAB6z(.*?(?:\r\n|\n|\r|$))r'   c                 ó�   • [         R                  U 5       Vs/ sH  oS   PM	     nnUS   S:X  a  UR                  S5        U$ s  snf )z¼Split a string into lines ignoring form feed and other chars.

This mimics how the Python parser splits source code.

A simplified version of the function with the same name in Lib/ast.py
r   éÿÿÿÿr&   )Ú_line_patternÚfinditerÚpop)r'   ÚmatchÚresults      r   Ú_splitlines_no_ffr;   >   sI   € ô %2×$:Ñ$:¸6Ô$BÓCÑ$B˜5�AŒhÑ$B€FÐCØˆb�z�RÓØ�
‰
�2ŒØ€Mùò Ds   ˜Ac                 ó  • SSK n[        U 5      n[        U5      n/ nUR                  XVX#SS9 HD  nUS   S:X  a  UR                  U5        M  UR                  US-   5        UR                  S5        MF     SR	                  U5      $ )	z9Return a unified diff string between strings `a` and `b`.r   Né   )ÚfromfileÚtofileÚnr5   r(   z\ No newline at end of file
r&   )Údifflibr;   Úunified_diffÚappendr-   )	r   r   r    r!   rA   Úa_linesÚb_linesr2   Úlines	            r   r,   r,   K   s�   € ãä Ó"€GÜ Ó"€GØ€JØ×$Ñ$Ø 6¸Að %ó ˆð �‰8�tÓØ×Ñ˜dÖ#à×Ñ˜d T™kÔ*Ø×ÑÐ>Ö?ñð �7‰7�:ÓÐr   Úcontentsc                 ó˜  • U R                  S5      n[        U5       Hš  u  p#UR                  S5      (       d  UR                  S5      (       a	  SU-   S-   nO\UR                  S5      (       a	  SU-   S-   nO=UR                  S5      (       a	  S	U-   S-   nOUR                  S
5      (       a  SU-   S-   nX1U'   Mœ     SR                  U5      $ )z(Inject the ANSI color codes to the diff.r(   z+++z---z[1mz[0mz@@z[36mÚ+z[32mÚ-z[31m)Úsplitr+   Ú
startswithr-   )rG   ÚlinesÚirF   s       r   Ú
color_diffrO   `   s¿   € à�N‰N˜4Ó €EÜ˜UÖ#‰ˆØ�?‰?˜5×!Ñ! T§_¡_°U×%;Ñ%;Ø˜tÑ# iÑ/‰DØ�_‰_˜T×"Ñ"Ø Ñ$ yÑ0‰DØ�_‰_˜S×!Ñ!Ø Ñ$ yÑ0‰DØ�_‰_˜S×!Ñ!Ø Ñ$ yÑ0ˆDØˆa‹ñ $ð �9‰9�UÓÐr   )Úensure_final_newlineÚoutputrP   c                 ó$  • [         R                  " SSSSSS9 nU HB  nUR                  U5        U (       d  M  U(       d  M&  US   S:w  d  M1  UR                  S5        MD     S	S	S	5        UR                  $ ! , (       d  f       WR                  $ = f)
z;Dump `output` to a temporary file. Return path to the file.ÚwÚblk_z.logFÚutf8)ÚmodeÚprefixÚsuffixÚdeleteÚencodingr5   r(   N)ÚtempfileÚNamedTemporaryFileÚwriteÚname)rP   rQ   ÚfrM   s       r   Údump_to_filer`   p   s{   € ô 
×	$Ò	$Ø˜¨°uÀvò
à	
ÛˆEØ�G‰G�EŒNß#Ð#¯¨°%¸±)¸tÕ2CØ—‘˜–ñ ÷
ð �6‰6€M÷
ô 
ð �6‰6€Mús   ™A6¹A6ÁA6ÁA6Á6
B)NT)Ú__doc__r)   Úrer[   Útypingr   r   Úclickr   r   Úmypy_extensionsr   ÚstrÚboolr   r   r   r   r3   Úcompiler6   Úlistr;   r,   rO   r`   © r   r   Ú<module>rk      sª  ðñó
 Û 	Û ß  ç Ý &ñ �dÑñ#�(˜3‘-ð #¨Dð #À3ð #È4ô #ó ð#ñ �dÑñ#�(˜3‘-ð #¨Dð #À3ð #È4ô #ó ð#ñ �dÑñ#�˜#‘ð #¨4ð #À#ð #È$ô #ó ð#ñ#�˜#‘ð #¨4ð #À#ð #È$õ #ð�#ð ˜#ð  sð °Cð ¸Cô ð" —
’
Ð3Ó4€ð
˜cð 
 d¨3¡iô 
ðˆCð �Cð  ð ¨cð °cô ð*˜ð  ô ñ  �dÑØ<@ò 	˜#ð 	°Tð 	ÀSô 	ó ñ	r   