+
    iP  c            	       s
   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
Ht . ROtRR ltRRRRRRRR	R/R
 lltRRRRRRRR	R/R lltRR ltR t]R8X  d'   ]! ]! 4       '       * 4      t]P*                  ! ]4       R# R# )a  Module/script to byte-compile all .py files to .pyc files.

When called as a script with arguments, this compiles the directories
given as arguments recursively; the -l option prevents it from
recursing into directories.

Without arguments, it compiles all modules on sys.path, without
recursing into subdirectories.  (Even though it should do so for
packages -- for now, you'll have to deal with packages separately.)

See module py_compile for details of the actual byte-compilation.
N)partial)Pathc              #   s  "   V^8  d7   \        V \        P                  4      '       d   \        P                  ! V 4      p V'       g   \	        RP                  V 4      4        \        P                  ! V 4      pVP                  4        V F  pVR8X  d   K  \        P                  P                  W4      p\        P                  P                  V4      '       g   Vx  KV  V^ 8  g   K_  V\        P                  8w  g   Kv  V\        P                  8w  g   K  \        P                  P                  V4      '       g   K  \        P                  P                  V4      '       d   K  \        WQ^,
          VR7       Rj  xL
  K  	  R#   \         d(    T^8  d   \	        RP                  T 4      4       . p EL@i ; i L?5i)i   zListing {!r}...zCan't list {!r}Z__pycache__)	maxlevelsquietN)
isinstanceosZPathLikefspathprintformatZlistdirOSErrorZsortpathjoinZisdircurdirZpardirislink	_walk_dir)dirr   r   Znamesnamefullnames   &&&   #/usr/lib64/python3.14/compileall.pyr   r      s/    qyZR[[11iin&&s+,

3
 
JJL= 77<<*ww}}X&&N!m		 1dbii6GggmmH%%bggnnX.F.F ]',. . .   19#**3/0.s[   AF?F?#F 9A,F?*F?F?"F??"F?&F?=F=>
F?.F:6F?9F::F?Fstripdir
prependdirlimit_sl_desthardlink_dupesc
               s   RpVe   V
f   Ve   \        R4      hVe   T p
TpRpV^ 8  d   \        R4      hV^8w  d   ^ RIHp  V! 4        ^ RIHp Vf   \        P                  ! 4       p\        WVR7      pRpV^8w  d   Ve   ^ RI	pVP                  4       R8X  d   VP                  R	4      pMRpT;'       g    RpV! VVR
7      ;_uu_ 4       pVP                  \        \        W#WEVVV	V
VVVR7      V^R7      p\        VRR7      pRRR4       V# V F   p\        VW#WEWgV	WVVR7      '       d   K  RpK"  	  V#   \
         d    ^p Li ; i  + '       g   i     T# ; i)a  Byte-compile all modules in the given directory tree.

Arguments (only dir is required):

dir:       the directory to byte-compile
maxlevels: maximum recursion level (default `sys.getrecursionlimit()`)
ddir:      the directory that will be prepended to the path to the
           file as it is compiled into each byte-code file.
force:     if True, force compilation, even if timestamps are up-to-date
quiet:     full output with False or 0, errors only with 1,
           no output with 2
legacy:    if True, produce legacy pyc paths instead of PEP 3147 paths
optimize:  int or list of optimization levels or -1 for level of
           the interpreter. Multiple levels leads to multiple compiled
           files each with one optimization level.
workers:   maximum number of parallel workers
invalidation_mode: how the up-to-dateness of the pyc will be checked
stripdir:  part of path to left-strip from source file path
prependdir: path to prepend to beginning of original file path, applied
           after stripdir
limit_sl_dest: ignore symlinks if they are pointing outside of
               the defined path
hardlink_dupes: hardlink duplicated pyc files
NPDestination dir (ddir) cannot be used in combination with stripdir or prependdirz%workers must be greater or equal to 0)_check_system_limits)ProcessPoolExecutor)r   r   TZforkZ
forkserver)Zmax_workers
mp_context)ddirforcerxr   legacyoptimizeinvalidation_moder   r   r   r   )Z	chunksize)default)r   r   r   r   F)
ValueErrorZconcurrent.futures.processr   Zconcurrent.futuresr   ZNotImplementedErrorsysZgetrecursionlimitr   multiprocessingZget_start_methodZget_contextZmapr    compile_fileZmin)r   r   r   r   r   r   r   r   workersr    r   r   r   r   r   r   Zfilessuccessr$   r   ZexecutorZresultsZfiles   &&&&&&&&&&$$$$         r   compile_dirr(   0   s   8 X1Z5K G I 	I
{@AA!|C	? " ?))+	c)<EG!|+7++-7(44\BJJ//T W,68 8;Cll7<04.0284<=N4<6@9F:H	$J $)-. # 0G '40G8. N Dd2 &2C)1.;/=	? ?
    NO # 	G	 8 8. Ns   D: 9E:E
	E
E	c          
     sj   Ve   Vf   V	e   \        R4      hRp\        P                  ! V 4      p Ve   \        P                  ! V4      MRp\        P                  P	                  V 4      pRpVe    \        P                  P                  W4      pVe   V P                  \        P                  P                  4      pVP                  \        P                  P                  4      pVVR\        V4       8w  d#   V^8  d   \        RP                  W4      4       M*\        P                  P
                  ! V\        V4      R !  pV	eD   Vf!   \        P                  P                  W4      pM\        P                  P                  W4      p\        V\        4      '       d   V.p\        \        V4      4      pV'       d   \        V4      ^8  d   \        R4      hVe   VP                  V 4      pV'       d   V# V
eg   \        P                  P!                  V 4      '       dB   \#        V
4      P%                  4       \#        V 4      P%                  4       P&                  9  d   V# / p\        P                  P)                  V 4      '       Ed*   V Fw  pV'       d   V R,           VV&   K  V^ 8  d4   V^8  d   TMRp\*        P,                  P/                  V VR7      pVVV&   KS  \*        P,                  P/                  V 4      pVVV&   Ky  	  VRR VRR ppVR	8X  Ed   V'       g    \        \        P0                  ! V 4      P2                  4      p\4        P6                  ! R
\*        P,                  P8                  ^ VR,          4      pVP;                  4        F:  p\=        VR4      ;_uu_ 4       pVP?                  ^4      pRRR4       VX8w  g   K:   M	  V# V'       g   \        RP                  V 4      4        \C        V4       F  w  ppVV,          p\D        PF                  ! V VVRVVR7      pV^ 8  g   K4  V'       g   K>  VVV^,
          ,          ,          p\H        PJ                  ! VVRR7      '       g   Kv  \        PL                  ! V4       \        PN                  ! VV4       K  	  X^ 8X  d   RpV# V#   + '       g   i     EL; i  \@         d     ELi ; i  \D        PP                   d   pRpT^8  d   Tu Rp?# T'       d   \        RP                  T 4      4       M\        RRR7       \R        PT                  PV                  ;'       g    \R        PX                  ! 4       p TPZ                  P]                  T RR7      P_                  T 4      p!\        T!4        Rp?T# Rp?i\`        \b        \@        3 ds   p"RpT^8  d   Tu Rp"?"# T'       d   \        RP                  T 4      4       M\        RRR7       \        T"Pd                  Pf                  R,           T"4        Rp"?"T# Rp"?"ii ; i)a  Byte-compile one file.

Arguments (only fullname is required):

fullname:  the file to byte-compile
ddir:      if given, the directory name compiled in to the
           byte-code file.
force:     if True, force compilation, even if timestamps are up-to-date
quiet:     full output with False or 0, errors only with 1,
           no output with 2
legacy:    if True, produce legacy pyc paths instead of PEP 3147 paths
optimize:  int or list of optimization levels or -1 for level of
           the interpreter. Multiple levels leads to multiple compiled
           files each with one optimization level.
invalidation_mode: how the up-to-dateness of the pyc will be checked
stripdir:  part of path to left-strip from source file path
prependdir: path to prepend to beginning of original file path, applied
           after stripdir
limit_sl_dest: ignore symlinks if they are pointing outside of
               the defined path.
hardlink_dupes: hardlink duplicated pyc files
Nr   TzKThe stripdir path {!r} is not a valid prefix for source path {!r}; ignoringzXHardlinking of duplicated bytecode makes sense only for more than one optimization levelZc )Zoptimizationz.pyz<4sLLl    ZrbzCompiling {!r}...)r   r    F)Zshallowz*** Error compiling {!r}...z*** )ZendZbackslashreplace)ZerrorsZ:i)4r"   r   r   r
   Zbasenamer   ZsplitZseplenr   r   r   intsortedZsetZsearchr   r   ZresolveZparentsisfile	importlibZutilZcache_from_sourceZstatZst_mtimestructZpackZMAGIC_NUMBERZvaluesopenZreadr	   Z	enumerate
py_compilecompilefilecmpZcmpZunlinkZlinkZPyCompileErrorr#   ZstdoutencodingZgetdefaultencodingmsgZencodeZdecodeZSyntaxErrorZUnicodeErrorZ	__class____name__)#r   r   r   r   r   r   r   r    r   r   r   r   r'   r   ZdfileZfullname_partsZstripdir_partsZmoZ
opt_cfilesZ	opt_levelZoptZcfileZheadZtailZmtimeZexpectZchandleZactualZindexZokZprevious_cfileZerrr4   r5   Zes#   &&&&&&&&$$$$                       r   r%   r%      s   6 X1Z5K G I 	I Gyy"H&.&:ryy"H77H%DET(!4!4^,@S-@AAqy 3396(3MO GGLL.^1D1E"FGE=GGLL6EGGLL3E(C  : c(m$H#h-!+ F G 	G 
~YYx N RWW^^H%=%=&&(X0F0F0H0P0PPNJ	ww~~h!I(03
9%>'0A~)2C&^^==%C > 9E,1Jy)%NN<<XFE,1Jy) " #2YRS	d5= 1 : :;E#[[)..2M2M)*EK,?AF!+!2!2!4!%..'%,\\"%5F /!V+!	 "5  ' )00:;"$(1((;$E9&y1E#++HeUD5>>OQB qy^^)3HUQY4G)H";;uneLLIIe,GGNE: )<@ 7#GN7N[ /..   ,, A:"N7>>xHI&b)::..JJ#2H2H2JggnnX6HnIPPQYZc

 N  w7 5A:"N7>>xHI&b)akk**S0!44 N5s   %BS -R8?S S S 9:S 8S 3S :1S 8S		S SSX23
V'=X2V'AV'AV''X2?X2 
X-
X2X-AX--X2c                s    Rp\         P                   F[  pV'       d   V\        P                  8X  d   V '       d   V^8  d   \	        R4       K<  K>  T;'       d    \        VVRVVVVVR7      pK]  	  V# )a  Byte-compile all module on sys.path.

Arguments (all optional):

skip_curdir: if true, skip current directory (default True)
maxlevels:   max recursion level (default 0)
force: as for compile_dir() (default False)
quiet: as for compile_dir() (default 0)
legacy: as for compile_dir() (default False)
optimize: as for compile_dir() (default -1)
invalidation_mode: as for compiler_dir()
TzSkipping current directoryN)r   r   r   r    )r#   r
   r   r   r   r(   )	Zskip_curdirr   r   r   r   r   r    r'   r   s	   &&&&&&&  r   compile_pathr7     ss     Gxxsbii'[qy23   	 	+!"3	#G  N    c                 s   ^ RI p V P                  RRR7      pVP                  RR^ RRRR	7       VP                  R
\        RRR7       VP                  RRRRR7       VP                  RRR^ RR7       VP                  RRRRR7       VP                  RRRRRR7       VP                  R R!R"RR#R7       VP                  R$R%R&RR'R7       VP                  R(R)R*RR+R7       VP                  R,R-R.R/R07       VP                  R1R2R3R4R57       VP                  R6R7^\        R8R97       \        P
                   Uu. uF-  pVP                  P                  4       P                  R:R;4      NK/  	  ppVP                  R<\        V4      R=R>7       VP                  R?R@\        RARBRC7       VP                  RDRERFRGR07       VP                  RHRRIRJR7       VP                  4       pVP                  pVP                  '       d%   ^ RIpVP                  VP                  4      Vn        VP                  RK8X  d   RVn        VP                   e   VP                   pMVP"                  pVP$                  f	   RV.Vn        \'        VP$                  4      ^8X  d$   VP(                  '       d   VP+                  RL4       VP,                  e.   VP.                  f   VP0                  e   VP+                  RM4       VP2                  '       ds    VP2                  R;8X  d   \4        P6                  M\9        VP2                  RNRO7      ;_uu_ 4       pV F"  p	VP;                  V	P=                  4       4       K$  	  RRR4       VPF                  '       dC   VPF                  P                  R;R:4      PI                  4       p
\        P
                  V
,          pMRpRp V'       EdJ   V EF@  p\J        PL                  PO                  V4      '       d   \Q        WP,                  VPR                  VP                  VP@                  VPT                  VVP.                  VP0                  VP$                  VP                  VP(                  RR7      '       g   RQpK  K  \W        WVP,                  VPR                  VP                  VP@                  VPT                  VPX                  VVP.                  VP0                  VP$                  VP                  VP(                  RS7      '       d   EK>  RQpEKC  	  V# \[        VPT                  VPR                  VP@                  VRT7      # u upi   + '       g   i     EL; i  \>         d:    TP@                  ^8  d%   \C        RPPE                  TP2                  4      4        RQ# i ; i  \\         d!    TP@                  ^8  d   \C        RU4        RQ# i ; i)WzScript main program.Nz1Utilities to support installing Python libraries.T)ZdescriptionZcolorz-lZstore_constr   z!don't recurse into subdirectories)actionZconstr!   desthelpz-r	recursionzhcontrol the maximum recursion level. if `-l` and `-r` options are specified, then `-r` takes precedence.)typer:   r;   z-fZ
store_truer   z/force rebuild even if timestamps are up to date)r9   r:   r;   z-qZcountr   zIoutput only error messages; -qq will suppress the error messages as well.)r9   r:   r!   r;   z-br   z0use legacy (pre-PEP3147) compiled file locationsz-dZDESTDIRr   zdirectory to prepend to file paths for use in compile-time tracebacks and in runtime tracebacks in cases where the source file is unavailable)metavarr:   r!   r;   z-sZSTRIPDIRr   zpart of path to left-strip from path to source file - for example buildroot. `-d` and `-s` options cannot be specified together.z-pZ
PREPENDDIRr   zpath to add as prefix to path to source file - for example / to make it absolute when some part is removed by `-s` option. `-d` and `-p` options cannot be specified together.z-xZREGEXPr   zskip files matching the regular expression; the regexp is searched for in the full path of each file considered for compilationz-iZFILEflistzzadd all the files and directories listed in FILE to the list considered for compilation; if "-", names are read from stdin)r>   r:   r;   compile_destzFILE|DIRZ*zrzero or more file and directory names to compile; if no arguments given, defaults to the equivalent of -l sys.path)r>   Znargsr;   z-jz	--workerszRun compileall concurrently)r!   r=   r;   Z_Z-z--invalidation-modezset .pyc invalidation mode; defaults to "checked-hash" if the SOURCE_DATE_EPOCH environment variable is set, and "timestamp" otherwise.)Zchoicesr;   z-oappend
opt_levelszOptimization levels to run compilation with. Default is -1 which uses the optimization level of the Python interpreter itself (see -O).)r9   r=   r:   r;   z-eZDIRr   z+Ignore symlinks pointing outsite of the DIRz--hardlink-dupesr   zHardlink duplicated pyc filesr)   zYHardlinking of duplicated bytecode makes sense only for more than one optimization level.z.-d cannot be used in combination with -s or -pzutf-8)r4   zError reading file list {}F)r    r   r   r   r   r   )r&   r    r   r   r   r   r   )r   r   r   r    z
[interrupted])/argparseZArgumentParserZadd_argumentr+   r1   ZPycInvalidationModer   ZlowerZreplacer,   Z
parse_argsr@   r   rer2   r   r<   r   rB   r*   r   Zerrorr   r   r   r?   r#   Zstdinr0   rA   Zstripr	   r   r   r   r    Zupperr   r
   r-   r%   r   r   r(   r&   r7   ZKeyboardInterrupt)rD   ZparserZmodeZinvalidation_modesZargsZcompile_destsrE   r   ZfZlineZivl_moder    r'   r:   s                 r   mainrF   ;  s   $$G % F ]! $;@  B 3[<  > \N  P
W7A;  < \O  Q
ivt,  .
 j
 $4  6 l, $4  6 hT4H  J f7B  D 
#A  C k1 'D  F '1&D&DF&Dd ))//+33C=&D  F
- &'9 :7  9 XClK  M e/J  L
*<-<  > D%%Mwww**TWW%R!~~!NN	NN	$
4??q T%8%8%8 C 	E yy!T__%@EF zzz	#zz3#))g67 7;<D!((6 7 ))11#s;AAC&::8D G =%77>>$'''iiTWW(,

DKK:K1537??156:6H6H7;7J7JL L #(L 't		'+zz477DJJ'+{{DLL9J0426//04595G5G6:6I6IK K #(+ &, Nt{{$**&*jj2CE EuF`7 7 7  	zzA~299$**EF	R  ::>#$s]   63U>A U  >)U'U  V' D:V' V' ,V' U	U  U   A V$#V$''WWZ__main__)r(   r%   r7   )    )	NNFNrG   FrC      N)NFNrG   FrC   N)rH   rG   FrG   FrC   N)Z__doc__r   r#   Zimportlib.utilr.   r1   r/   r3   Z	functoolsr    Zpathlibr   Z__all__r   r(   r%   r7   rF   r6   r+   Zexit_statusZexit) r8   r   <module>rI      s    
 
      
7..R48R  R 04R EJRhS59SFJS  $S 5:SjDXv z$&j/KHH[ r8   