+
    }¯³jø  ã                  óÎ   € R t ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^RIHt  ! R R4      tR# )z�support routines for the helpers in tools/.

These aren't imported by the enclosing util package as the are not
needed for normal library use.

)Úannotations)ÚArgumentParser)Ú	NamespaceN)ÚPath)ÚAny)ÚDict)ÚIterator)ÚOptional)ÚUnion)Úcompatc                  ó  € ] tR t^$t$ R]R&   R]R&   R]R&   R]R&   R]R	&   R]R
&   R R ltR R ltR R ltR R ltR R lt	R R lt
R R ltRRRR/R R llt]P                  R R l4       t]P                  R  R! l4       tR"tR# )#Úcode_writer_cmdr   Úparserr   ÚargsÚboolÚsuppress_outputÚdiffs_detectedr   Úsource_rootÚpyproject_toml_pathc               ó   € V ^8„  d   QhRR/# )é   Útool_scriptÚstr© )Úformats   "Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/util/tool_support.pyÚ__annotate__Úcode_writer_cmd.__annotate__,   s   € ÷ 
ñ 
 Cñ 
ó    c                	ól  € \        V4      P                  P                  V n        V P                  \        R 4      ,          V n        V P                  P	                  4       '       g   Q h\        4       V n        V P                  P                  RRRR7       V P                  P                  RRRRR7       R	# )
zpyproject.tomlz--stdoutÚ
store_truez)Write to stdout instead of saving to file)ÚactionÚhelpú-cz--checkz‘Don't write the files back, just return the status. Return code 0 means nothing would change. Return code 1 means some files would be reformatted)r"   r!   N)r   Úparentr   r   Úexistsr   r   Úadd_argument)Úselfr   s   &&r   Ú__init__Úcode_writer_cmd.__init__,   s£   € Ü Ó,×3Ñ3×:Ñ:ˆÔØ#'×#3Ñ#3´dÐ;KÓ6LÕ#LˆÔ Ø×'Ñ'×.Ñ.×0Ò0Ð0Ð0ä$Ó&ˆŒØ�‰× Ñ ØØØ<ð 	!ô 	
ð
 	�‰× Ñ ØØðBð  ð 	!ö 	
r   c               ó    € V ^8„  d   QhRRRR/# ©r   Útempfiler   ÚreturnÚNoner   )r   s   "r   r   r   @   s   € ÷ 
ñ 
 Sð 
¨Tñ 
r   c                	ó^   € V P                  \        V4      R RRRV P                   2/4       R# )Ú
entrypointÚzimportsÚoptionsz--toml-config N©Ú_run_console_scriptr   r   ©r'   r,   s   &&r   Úrun_zimportsÚcode_writer_cmd.run_zimports@   s4   € Ø× Ñ Ü�‹Mà˜jØ˜^¨D×,DÑ,DÐ+EÐFðö	
r   c               ó    € V ^8„  d   QhRRRR/# r+   r   )r   s   "r   r   r   I   s   € ÷ 
ñ 
 #ð 
¨$ñ 
r   c                	ó^   € V P                  \        V4      R RRRV P                   2/4       R# )r0   Úblackr2   z	--config Nr3   r5   s   &&r   Ú	run_blackÚcode_writer_cmd.run_blackI   s4   € Ø× Ñ Ü�‹Mà˜gØ˜Y t×'?Ñ'?Ð&@ÐAðö	
r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úpathr   r2   zDict[str, Any]r-   r.   r   )r   s   "r   r   r   R   s!   € ÷ %
ñ %
¨ð %
°nð %
Èñ %
r   c                óV  € \         P                  R8H  pVR,          p\        P                  ! R4       F  pVP                  V8X  g   K  Tp M	  \	        RV 24      hVP                  RR4      p\        P                  ! WsR7      V.,           p/ p	V P                  '       d   \        P                  ;V	R&   V	R	&   \        P                  ! \        P                  R
RVP                  : RVP                  : RVP                  : R2.V,           3R\!        V P"                  4      /V	B  R# )zURun a Python console application from within the process.

Used for black, zimports

Úposixr0   Úconsole_scriptsz*Could not find entrypoint console_scripts.r2   Ú )r@   ÚstdoutÚstderrr#   zimport z; Ú.z()ÚcwdN)ÚosÚnamer   Úimportlib_metadata_getÚ	ExceptionÚgetÚshlexÚsplitr   Ú
subprocessÚDEVNULLÚrunÚsysÚ
executableÚmoduleÚattrr   r   )
r'   r>   r2   Úis_posixÚentrypoint_nameÚentryÚimplÚcmdline_options_strÚcmdline_options_listÚkws
   &&&       r   r4   Ú#code_writer_cmd._run_console_scriptR   s  € ô —7‘7˜gÑ%ˆà! ,Õ/ˆä×2Ò2Ð3DÖEˆEØ�z‰z˜_Ö,Ø�Ùñ Fô
 Ø<¸_Ð<MÐNóð ð &Ÿk™k¨)°RÓ8ÐÜ$Ÿ{š{Øô 
àˆFõ Ðð  ˆØ××ÐÜ*4×*<Ñ*<Ð<ˆBˆx‰L˜2˜h™<ä�Šä—‘ÙØ(,¯¬°T·[´[À$Ç)Ä)ÐLðð
 #õ#ñ		
ô �D×$Ñ$Ó%ð		
ð ô		
r   c               ó    € V ^8„  d   QhRRRR/# )r   Útextr   r-   r.   r   )r   s   "r   r   r   y   s   € ÷ -ñ - #ð -¨$ñ -r   c                	óŠ   € V P                   '       g1   \        P                  P                  R P	                  V4      4       R# R# )Ú N)r   rQ   rD   ÚwriteÚjoin)r'   r^   s   &*r   Úwrite_statusÚcode_writer_cmd.write_statusy   s-   € Ø×#×#Ð#Ü�J‰J×Ñ˜SŸX™X d›^Ö,ñ $r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r^   r   Údestination_pathúUnion[str, Path]r-   r.   r   )r   s   "r   r   r   }   s$   € ÷ (ñ (Øð(Ø+;ð(à	ñ(r   c                	ó>  € V P                   P                  '       d   V P                  W!R 7       R# V P                   P                  '       d   \	        V4       R# V P                  RV R24       \        V4      P                  VRRR7       V P                  R4       R# ))ÚsourceúWriting ú...úutf-8Ú
)ÚencodingÚnewlineúdone
N)r   ÚcheckÚ	_run_diffrC   Úprintrc   r   Ú
write_text)r'   r^   rf   s   &&&r   Úwrite_output_file_from_textÚ+code_writer_cmd.write_output_file_from_text}   s€   € ð �9‰9�?�?ˆ?Ø�N‰NÐ+ˆNÖ9Ø�Y‰Y××ÐÜ�$ŽKà×Ñ Ð)9Ð(:¸#Ð>Ô?ÜÐ!Ó"×-Ñ-Ø˜w°ð .ô ð ×Ñ˜hÖ'r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r,   r   rf   r-   r.   r   )r   s   "r   r   r   ‹   s$   € ÷ (ñ (Øð(Ø/2ð(à	ñ(r   c                	ó  € V P                   P                  '       d+   V P                  W!R 7       \        P                  ! V4       R# V P                   P
                  '       dN   \        V4      ;_uu_ 4       p\        VP                  4       4       RRR4       \        P                  ! V4       R# V P                  RV R24       \        P                  ! W4       V P                  R4       R#   + '       g   i     Lf; i))Úsource_fileNrj   rk   rp   )r   rq   rr   rG   ÚunlinkrC   Úopenrs   Úreadrc   ÚshutilÚmove)r'   r,   rf   Útfs   &&& r   Úwrite_output_file_from_tempfileÚ/code_writer_cmd.write_output_file_from_tempfile‹   s¡   € ð �9‰9�?�?ˆ?Ø�N‰NÐ+ˆNÔBÜ�IŠI�hÖØ�Y‰Y××ÐÜ�h—” 2Ü�b—g‘g“iÔ ÷  ä�IŠI�hÖà×Ñ Ð)9Ð(:¸#Ð>Ô?Ü�KŠK˜Ô3Ø×Ñ˜hÖ'÷  —ús   Á6C.Ã.C>	ri   Nry   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rf   rg   ri   zOptional[str]ry   r-   r.   r   )r   s   "r   r   r   š   s2   € ÷ *ñ *à*ð*ð ð	*ð
 #ð*ð 
ñ*r   c               	ó  € V'       d+   \        VR R7      ;_uu_ 4       p\        V4      pRRR4       MVe   VP                  RR7      pMQ R4       h\        VR R7      ;_uu_ 4       p\        P                  ! \        V4      X\        V4      P                  4       R^RR7      p\        V4      pV'       d"   RV n        \        R	P                  V4      4       RRR4       R#   + '       g   i     L ; i  + '       g   i     R# ; i)
rl   )rn   NT)Úkeependsz!source or source_file is requiredz<proposed changes>rm   )ÚfromfileÚtofileÚnÚlinetermrB   )
r{   ÚlistÚ
splitlinesÚdifflibÚunified_diffr   Úas_posixr   rs   rb   )	r'   rf   ri   ry   r   Úsource_linesÚdpÚdÚ	d_as_lists	   &&$$     r   rr   Úcode_writer_cmd._run_diffš   sÔ   € ÷ Ü�k¨G×4Õ4¸Ü# B›x�÷ 5Ð4àÒØ!×,Ñ,°dÐ,Ó;‰Là=Ð=Ó=�5äÐ"¨W×5Õ5¸Ü×$Ò$Ü�R“ØÜÐ.Ó/×8Ñ8Ó:Ø+ØØôˆAô ˜Q›ˆIßØ&*�Ô#Ü�b—g‘g˜iÓ(Ô)÷ 6Ñ5÷ 5×4ú÷ 6×5Ð5ús   žC!Á&A1C4Ã!C1	Ã4D	c               ó   € V ^8„  d   QhRR/# )r   r-   zIterator[ArgumentParser]r   )r   s   "r   r   r   ¸   s   € ÷ ñ Ð7ñ r   c              #  	ó*   "  € V P                   x € R # 5i)N)r   ©r'   s   &r   Úadd_argumentsÚcode_writer_cmd.add_arguments·   s   é € à�k‰kÔùs   ‚c               ó   € V ^8„  d   QhRR/# )r   r-   zIterator[None]r   )r   s   "r   r   r   ¼   s   € ÷ ñ ˜^ñ r   c              #  	ó¸  "  € V P                   P                  4       V n        V P                  P                  '       d   R V n        RV n        M+V P                  P                  '       d	   RV n        MR V n        Rx € V P                  P                  '       d+   V P                  '       d   \        P                  ! ^4       R# \        P                  ! ^ 4       R# 5i)FTN)	r   Ú
parse_argsr   rq   r   r   rC   rQ   Úexitr•   s   &r   Úrun_programÚcode_writer_cmd.run_program»   s‡   é € à—K‘K×*Ñ*Ó,ˆŒ	Ø�9‰9�?�?ˆ?Ø"'ˆDÔØ#'ˆDÕ Ø�Y‰Y××ÐØ#'ˆDÕ à#(ˆDÔ Ûà�9‰9�?�?ˆ?˜t×2×2Ð2Ü�HŠH�QŽKä�HŠH�QŽKùs   ‚A&CÁ).CÂCÂ*0C)r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r(   r6   r;   r4   rc   ru   r€   rr   Ú
contextlibÚcontextmanagerr–   rœ   Ú__static_attributes__r   r   r   r   r   $   s–   ‡ ØÓØ
ƒOØÓØÓØÓØÓõ
õ(
õ
õ%
õN-õ(õ(ð*ð !%ð	*ð
 &*÷*ð: ×Ñôó ðð ×Ñôó ôr   r   )Ú__doc__Ú
__future__r   Úargparser   r   r£   r‹   rG   Úpathlibr   rL   r}   rN   rQ   Útypingr   r   r   r	   r
   rB   r   r   r   r   r   Ú<module>r«      sK   ðñõ #å #Ý Û Û Û 	Ý Û Û Û Û 
Ý Ý Ý Ý Ý å ÷fó fr   