ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
    ֦i%                        d dl Z d dlZd dlZd dlZddlmZmZ ddlmZ ddlm	Z	 ddlm
Z
 g dZej                  dk7  rd	Zd	ZnA eed
d	      Zej                   xr) ej                   j#                         j%                  d      Zd Zd Zer- ee j*                  j-                  ej.                  d             n eej                          d Zd Zd ZddZd Zd Zd Zg Zd Z d Z!d Z"d Z#y)    N   )get_start_methodset_start_method)process)	reduction)util)_mainfreeze_supportset_executableget_executableget_preparation_dataget_command_lineimport_main_pathwin32Ffrozenzpythonservice.exec                     | | a y t        j                  dk(  rt        j                  |       a y t        j
                  |       a y )Nr   )_python_exesysplatformosfsdecodefsencode)exes    ./usr/lib64/python3.12/multiprocessing/spawn.pyr   r   $   s4    
{		 kk#&kk#&    c                      t         S )N)r    r   r   r   r   -   s    r   z
python.exec                 2    t        |       dk\  r	| d   dk(  ryy)z=
    Return whether commandline indicates we are forking
       r   --multiprocessing-forkTF)len)argvs    r   
is_forkingr#   9   s!     4yA~$q'%==r   c                     t        t        j                        rgi } t        j                  dd D ]/  }|j                  d      \  }}|dk(  rd| |<   "t	        |      | |<   1 t        di |  t        j                          yy)zE
    Run code for process object if this in not the main process
    r   N=Noner   )r#   r   r"   splitint
spawn_mainexit)kwdsargnamevalues       r   r
   r
   C   sr     #((88AB<C))C.KD%!T
 ZT
   	T
 r   c                  @   t        t        dd      r4t        j                  dg| j                         D cg c]  }d|z  	 c}z   S d}|dj	                  d | j                         D              z  }t        j                         }t               }|g|z   d|dgz   S c c}w )	zJ
    Returns prefix of command line used for spawning a child process
    r   Fr    %s=%rz<from multiprocessing.spawn import spawn_main; spawn_main(%s)z, c              3   &   K   | ]	  }d |z    yw)r0   Nr   ).0items     r   	<genexpr>z#get_command_line.<locals>.<genexpr>\   s     B\T'D.\s   z-c)getattrr   
executableitemsjoinr   _args_from_interpreter_flagsr   )r+   r3   progoptsr   s        r   r   r   S   s     sHe$!9:,0JJL9LD4L9: 	; N		BTZZ\BBB002ut|tT+CDDD :s   Bc                    t        t        j                        sJ d       t        j                  dk(  rqddl}ddl}|+|j                  |j                  |j                  z  d|      }nd}t        j                  | |      }|j                  |t        j                        }|}n.ddlm}	 ||	j                   _        | }t        j$                  |       }t'        ||      }
t        j(                  |
       y)	z7
    Run code specified by data received over pipe
    zNot forkingr   r   NF)source_processr   )resource_tracker)r#   r   r"   r   msvcrt_winapiOpenProcessSYNCHRONIZEPROCESS_DUP_HANDLEr   	duplicateopen_osfhandler   O_RDONLY r>   _resource_tracker_fddupr	   r*   )pipe_handle
parent_pid
tracker_fdr?   r@   r=   
new_handlefdparent_sentinelr>   exitcodes              r   r)   r)   b   s     chh..
||w!$00##g&@&@@z#N "N((8FH
"":r{{;(&1;**.&&-R)HHHXr   c                    t        j                  | dd      5 }dt        j                         _        	 t
        j                  j                  |      }t        |       t
        j                  j                  |      }t        j                         `	 d d d        j                  |      S # t        j                         `w xY w# 1 sw Y   3xY w)NrbT)closefd)
r   fdopenr   current_process_inheritingr   pickleloadprepare
_bootstrap)rO   rP   from_parentpreparation_dataselfs        r   r	   r	   ~   s    	2tT	*k04!-	6(//44[A$%##((5D'')5 
+ ???++ '')5 
+	*s#   CA	B+=C+CCCc                  X    t        t        j                         dd      rt        d      y )NrW   Fa  
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

        To fix this issue, refer to the "Safe importing of main module"
        section in https://docs.python.org/3/library/multiprocessing.html
        )r5   r   rV   RuntimeErrorr   r   r   _check_not_importing_mainra      s/    w&&(-?   	 @r   c           	         t                t        t        j                  t	        j
                         j                        }t        j                  !t        j                  j                         |d<   t        j                  j                         }	 |j                  d      }t        j                  ||<   |j                  | |t        j                   t        j                  t#        j$                         t'                      t        j(                  d   }t+        |j,                  dd      }|||d<   |S t        j.                  d	k7  st0        st2        st+        |d
d      }|t"        j                  j5                  |      s>t        j                  .t"        j                  j7                  t        j                  |      }t"        j                  j9                  |      |d<   |S # t        $ r Y ;w xY w)zM
    Return info about parent needed by child to unpickle process object
    )log_to_stderrauthkeyN	log_levelrG   )r-   sys_pathsys_argvorig_dirdirstart_method__main__r-   init_main_from_namer   __file__init_main_from_path)ra   dictr   _log_to_stderrr   rV   rd   _loggergetEffectiveLevelr   pathcopyindexORIGINAL_DIR
ValueErrorupdater"   r   getcwdr   modulesr5   __spec__r   WINEXE
WINSERVICEisabsr8   normpath)r-   drf   imain_modulemain_mod_name	main_paths          r   r   r      s    ))'')11	
A
 ||779+XX]]_H+NN2 **HH%%IIK%'  
 ++j)KK00&$?M #0
  H 
	 
KT:	 GGMM),,,8GGLL)=)=yI	')ww'7'7	'BA#$H9  s   G% %	G21G2c                 *   d| v r| d   t        j                         _        d| v r| d   t        j                         _        d| v r| d   rt	        j
                          d| v r&t	        j                         j                  | d          d| v r| d   t        _	        d| v r| d   t        _
        d| v rt        j                  | d          d| v r| d   t         _        d	| v rt        | d	   d
       d| v rt        | d          yd| v rt!        | d          yy)zE
    Try to get current process ready to unpickle process object
    r-   rd   rc   re   rf   rg   ri   rh   rj   T)forcerl   rn   N)r   rV   r-   rd   r   rc   
get_loggersetLevelr   rs   r"   r   chdirrv   r   _fixup_main_from_name_fixup_main_from_path)datas    r   rZ   rZ      s    ~)-f!&D,0O!)$4#8d""4#45T
#T
#}
eT#J/n-T:$d#89:	$	&d#89: 
'r   c                    t         j                  d   }| dk(  s| j                  d      ry t        |j                  dd       | k(  ry t
        j                  |       t        j                  d      }t        j                  | dd      }|j                  j                  |       |xt         j                  d<   t         j                  d<   y )Nrk   z	.__main__r-   __mp_main__T)run_name	alter_sys)r   rz   endswithr5   r{   old_main_modulesappendtypes
ModuleTyperunpy
run_module__dict__rx   )mod_namecurrent_mainr   main_contents       r   r   r      s    
 ;;z*L:!2!2;!? |$$fd3x?
 L)""=1K##H-:.24L -;FFCKK
ckk-8r   c                    t         j                  d   }t        j                  j	                  t        j                  j                  |             d   }|dk(  ry t        |dd       | k(  ry t        j                  |       t        j                  d      }t        j                  | d      }|j                  j                  |       |xt         j                  d<   t         j                  d<   y )Nrk   r   ipythonrm   r   )r   )r   rz   r   rs   splitextbasenamer5   r   r   r   r   r   run_pathr   rx   )r   r   	main_namer   r   s        r   r   r     s    ;;z*L   !1!1)!<=a@II |Z.);
 L)""=1K>>)+8:L-;FFCKK
ckk-8r   c                     t        |        y)z<
    Set sys.modules['__main__'] to module at main_path
    N)r   )r   s    r   r   r   /  s     )$r   )NN)$r   r   r   r   rG   r   r   r   contextr   r   __all__r   r|   r}   r5   r6   lowerr   r   r   rs   r8   exec_prefixr#   r
   r   r)   r	   ra   r   r   rZ   r   r   r   r   r   r   <module>r      s    
 
   0   K <<7FJS(E*FXCNN$8$8$:$C$CDW$XJ' 277<<>?3>>" E8	,,,d  ";LG2G8%r   