
    Vpf                        U d dl mZ d dlZd dlZd dlZd dlZdZdZded<   dZ	ded<   dd	Z
ddZddZddZddZd Z e
            ZdZd Z ee          Z ee          ZdS )    )annotationsNz0.4.31str_release_version
str | None	_git_hashreturnc                 n    t           t           S t          t                    pt          t                    S N)r   _version_from_git_tree_version_version_from_todays_date     K/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/version.py_get_version_stringr   !   s,     !		)	)	P-Fx-P-PPr   base_versionc                r    t           j                                                            d          }|  d| S )N%Y%m%d.dev)datetimedatetodaystrftime)r   
datestrings     r   r   r   )   s7    }""$$--h77*	*	*j	*	**r   c                   	 t           j                            t           j                            t                              }t          j        g d|t
          j        t
          j                  }|                                \  }}|	                                
                                                    dd          \  }}t          j                            t          |                                        d          }|                                sJ |                                sJ 	 |  d| d| S #  Y d S xY w)N)gitshowz-sz--format=%at-%hHEAD)cwdstdoutstderr-   r   r   +)ospathdirnamerealpath__file__
subprocessPopenPIPEcommunicatedecodestripsplitr   r   fromtimestampintr   	isnumericisalnum)r   root_directorypr    _	timestampcommit_hashr   s           r   r   r   .   s&   ;W__RW%5%5h%?%?@@N 	III+ *
	I 	I 	IA IFA#]]__2244::3BBI{,,S^^<<EEhOOJ!!!!!       ::
::[:::44s   D.D; ;E c                    t           t           S t          j                            d          st          j                            d          rt	          t
                    S t          j                            d          st          j                            d          rt
          S t          t
                    pt	          t
                    S )a]  Determine the version at build time.

  The returned version string depends on which environment variables are set:
  - if JAX_RELEASE or JAXLIB_RELEASE are set: version looks like "0.4.16"
  - if JAX_NIGHTLY or JAXLIB_NIGHTLY are set: version looks like "0.4.16.dev20230906"
  - if none are set: version looks like "0.4.16.dev20230906+ge58560fdc
  NJAX_NIGHTLYJAXLIB_NIGHTLYJAX_RELEASEJAXLIB_RELEASE)r   r%   environgetr   r   r   r   r   r   _get_version_for_buildrA   B   s     !Z^^M"" /bjnn5E&F&F /$X...Z^^M"" bjnn5E&F&F O		)	)	P-Fx-P-PPr   fnameNonec                
   t                      }d}d|}t          j        |           }|                                }|                    |          dk    rt          d|d|            |                    ||          }t          j        	                    d          }|rKd}d|}|                    |          dk    rt          d|d|            |                    ||          }|
                    |           d	S )
zJUsed by setup.py to write the specified version info into the source tree.z _release_version: str = '0.4.31'z_release_version: str =    zBuild: could not find z in JAX_GIT_HASHz_git_hash: str | None = Nonez_git_hash: str = N)rA   pathlibPath	read_textcountRuntimeErrorreplacer%   r?   r@   
write_text)	rB   release_versionold_version_stringnew_version_stringfhandlecontentsgithashold_githash_stringnew_githash_strings	            r   _write_versionrV   S   s)   *,,/9E/EEL'  (^^&''1,,
Q0BQQ%QQ
R
RR02DEE(JNN>**' H78W88~~())Q..S2DSSESSTTT 24FGGH	Xr   c                ~     ddl m} ddlm}  G  fdd|          } G  fdd|          }t	          ||          S )	Nr   )build_py)sdistc                  "     e Zd Z fdZ xZS ) _get_cmdclass.<locals>._build_pyc                |   t           {t          j                            | j        t          j                            t                              }t          j                            |          rt          j        |           t                      
                                 t           t          |           d S d S r
   )r   r%   r&   join	build_libbasenamer)   isfileunlinksuperrunrV   )selfthis_file_in_build_dir	__class__pkg_source_paths     r   rc   z$_get_cmdclass.<locals>._build_py.runn   s    		!!#dno.0g.>.>x.H.H"J "J 7>>011 	,
)*
+
+
+ggkkmmm		!-..... 
"	!r   )__name__
__module____qualname__rc   __classcell__rf   rg   s   @r   	_build_pyr[   m   s>        / / / / / / / / / /r   rm   c                  "     e Zd Z fdZ xZS )_get_cmdclass.<locals>._sdistc           	         t                                          ||           t          Rt          t          j                            |t          j                            t                                         d S d S r
   )	rb   make_release_treer   rV   r%   r&   r]   r_   r)   )rd   base_dirfilesrf   rg   s      r   rq   z/_get_cmdclass.<locals>._sdist.make_release_tree~   sw    gg%000		!rw||Ho$&G$4$4X$>$>@ @ 	A 	A 	A 	A 	A 
"	!r   )rh   ri   rj   rq   rk   rl   s   @r   _sdistro   }   sH        A A A A A A A A A Ar   rt   )rY   rX   )setuptools.command.build_pyrX   setuptools.command.sdistrY   dict)rg   build_py_orig
sdist_origrm   rt   s   `    r   _get_cmdclassrz   i   s    CCCCCC::::::/ / / / / / /- / / / A A A A A A Az A A A 
FY	/	/	//r   z0.4.30c                Z    t          d |                     d          D                       S )Nc              3  \   K   | ]'}|                                 t          |          V  (d S r
   )isdigitr2   ).0is     r   	<genexpr>z$_version_as_tuple.<locals>.<genexpr>   s5      EE!Es1vvEEEEEEr   .)tupler0   )version_strs    r   _version_as_tupler      s-    	EE{0055EEE	E	EEr   )r   r   )r   r   r   r   )r   r   r   r   )rB   r   r   rC   )
__future__r   r   r%   rG   r*   r   r   __annotations__r   r   r   r   rA   rV   rz   __version___minimum_jaxlib_versionr   __version_info___minimum_jaxlib_version_infor   r   r   <module>r      s=  " # " " " " " "  				      !          	    Q Q Q Q+ + + +
; ; ; ;(Q Q Q Q"   ,0 0 0< "!##" F F F %$[11 001HII   r   