eP SrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ r SSK J r /SQr SSjr SSSSSS.S jjrSSSSSS.S jjrSS jrS r\S :Xa%\"\"5(+5r\R*"\5 gg)aModule/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)Path) compile_dir compile_file compile_pathc#Z# US:a5[U[R5(a[R"U5nU(d[ SR U55 [R "U5nUR5 UHnUS:XaM [RRX5n[RRU5(dUv MTUS:dM\U[R:wdMrU[R:wdM[RRU5(dM[RRU5(aM[XQS- US9ShvN M g![a& US:a[ SR U55 /nGN/f=fN<7f)NzListing {!r}...zCan't list {!r} __pycache__r) maxlevelsquiet) isinstanceosPathLikefspathprintformatlistdirOSErrorsortpathjoinisdircurdirpardirislink _walk_dir)dirr r namesnamefullnames 0/opt/imh/python3.13/lib/python3.13/compileall.pyrrs/ qyZR[[11iin  &&s+, 3  JJL = 77<<*ww}}X&&N!m 1dbii6GggmmH%%bggnnX.F.F ]',. . .  19 #**3/ 0 .sUAF+ E66A*F+$F+:F+"F+6"F+F+,F)- F+6,F&"F+%F&&F+Fstripdir prependdir limit_sl_desthardlink_dupesc pSnUbU cU b [S5eUbUn Un SnUS:a [S5eUS:waSSKJn U"5 SSKJn Uc[ R"5n[XUS9nS nUS:wa{UbxSSK nUR5S :XaURS 5nOSnU=(d SnU"UUS 9nUR[[X#XEUUU U U U U S 9 USS9n[US S9nSSS5 U$UHn[UX#XEXgU XU U S9 (aMSnM U$![ a SnNf=f!,(df  U$=f)aByte-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 prependdirrz%workers must be greater or equal to 0r )_check_system_limits)ProcessPoolExecutor)r r Tfork forkserver) max_workers mp_context) ddirforcerxr legacyoptimizeinvalidation_moder$r%r&r') chunksize)defaultr#F) ValueErrorconcurrent.futures.processr*concurrent.futuresr+NotImplementedErrorsysgetrecursionlimitrmultiprocessingget_start_method get_contextmaprrmin)rr r0r1r2r r3r4workersr5r$r%r&r'r+r*filessuccessr?r/executorresultsfiles r"rr0s8 X1Z5KGI I  {@AA!|C ? " ?))+ c) '0A~)2C&^^==%C>9E,1Jy)%NN<>OQBqy^^)3HUQY4G)H";;uneLLIIe,GGNE:)<@7#G N7N[/. ,, A:"N7>>xHI&b)::..J#2H2H2JggnnX6HnIPPQYZc  N w7 5A:"N7>>xHI&b)akk**S0!44 N 5sA :R R RW% U.W4BUW( W 1W7AW  Wc Sn[RHSnU(aU[R:XaU(aUS:a [ S5 M8M:U=(a [ UUSUUUUUS9nMU U$)aByte-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() Tr zSkipping current directoryN)r r3r4r5)r=rrrrr) skip_curdirr r1r r3r4r5rFrs r"rrsnGxxsbii'[qy23 +!"3 #G  Nc SSKnURSS9nURSSSSSSS 9 URS [S S S 9 URSSSSS9 URSSSSSS9 URSSSSS9 URSSSSSS9 URS S!S"SS#S9 URS$S%S&SS'S9 URS(S)S*SS+S9 URS,S-S.S/S09 URS1S2S3S4S59 URS6S7S8[S9S:9 [R Vs/sH-nUR R5RS;S<5PM/ nnURS=[U5S>S?9 URS@SA[SBSCSD9 URSESFSGSHS09 URSISSJSKS9 UR5nURnUR(a$SSK nURUR5Ul URSL:XaSUlUR b UR nO UR"nUR$cSM/Ul['UR$5S8:Xa"UR((aUR+SN5 UR,b+UR.c UR0bUR+SO5 UR2(afUR2S<:Xa[4R6O[9UR2SPSQ9nUH"n UR;U R=55 M$ SSS5 URF(a>URFRSa7 UR@SR:a$[CSSREUR255 gTf=f![\a UR@SR:a [CSY5 gTf=f)ZzScript main program.rNz1Utilities to support installing Python libraries.) descriptionz-l store_constr z!don't recurse into subdirectories)actionconstr8desthelpz-r recursionzhcontrol the maximum recursion level. if `-l` and `-r` options are specified, then `-r` takes precedence.)typerrz-f store_truer1z/force rebuild even if timestamps are up to date)rrrz-qcountr zIoutput only error messages; -qq will suppress the error messages as well.)rrr8rz-br3z0use legacy (pre-PEP3147) compiled file locationsz-dDESTDIRr0zdirectory to prepend to file paths for use in compile-time tracebacks and in runtime tracebacks in cases where the source file is unavailable)metavarrr8rz-sSTRIPDIRr$zpart of path to left-strip from path to source file - for example buildroot. `-d` and `-s` options cannot be specified together.z-p 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-xREGEXPr2zskip files matching the regular expression; the regexp is searched for in the full path of each file considered for compilationz-iFILEflistzzadd all the files and directories listed in FILE to the list considered for compilation; if "-", names are read from stdin)rrr compile_destzFILE|DIR*zrzero or more file and directory names to compile; if no arguments given, defaults to the equivalent of -l sys.path)rnargsrz-jz --workersr zRun compileall concurrently)r8rr_-z--invalidation-modezset .pyc invalidation mode; defaults to "checked-hash" if the SOURCE_DATE_EPOCH environment variable is set, and "timestamp" otherwise.)choicesrz-oappend opt_levelszOptimization levels to run compilation with. Default is -1 which uses the optimization level of the Python interpreter itself (see -O).)rrrrz-eDIRr&z+Ignore symlinks pointing outsite of the DIRz--hardlink-dupesr'zHardlink duplicated pyc filesrLzYHardlinking of duplicated bytecode makes sense only for more than one optimization level.z.-d cannot be used in combination with -s or -pzutf-8)rur zError reading file list {}FT)r5r$r%r4r&r')rDr5r$r%r4r&r')r3r1r r5z [interrupted])/argparseArgumentParser add_argumentrZrmPycInvalidationModer lowerreplacer[ parse_argsrr2rernr&rr rrYr'errorr0r$r%rr=stdinrjrstriprr rrr5upperrrr`rr1r3rrDrKeyboardInterrupt)rparsermodeinvalidation_modesargs compile_destsrr flineivl_moder5rFrs r"mainr;sv  $ $G%IF ]! $;@B 3[<> \NP W7A;< \OQ ivt,.  j $46  l, $46 hT4HJ f7BD  #AC k1 'DF'1&D&DF&Dd))//+33C=&DF - &'9 :79  XClKM e/JL *<-<>    D%%M ww**TWW% R! ~~!NN NN  $ 4??q T%8%8 C E yy !T__%@ EF zz #zz3#))g67;<D!((67 ))11#s;AAC&::8D G  %77>>$'''iiTWW(, DKK:K1537??156:6H6H7;7J7JL#(L't '+zz477DJJ'+{{DLL9J04 26//04595G5G6:6I6IKK#(+&,Nt{{$**&*jj2CE EuF`77 zzA~299$**EF R  ::> # $sU4S,4T5)S1T:D:U9U)U1 T;TT>UU%U/.U/__main__)r) NNFNrFrr N)NFNrFrN)r rFrFrN)__doc__rr=importlib.utilrarmrfro functoolsrpathlibr__all__rrrrrr}rZ exit_statusexitrr"rs    7..7