+
    Ŝi\                     j  a  R! t#0 t R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	R t
 ! R R4      tR t ! R R]4      t/ t] ^ k / t] ^k R	 tR"R
 ltR t]! RR4      R 4       t]! RR4      R 4       t]! RR4      ]3R l4       tR R ltR tR tR tR tR tR tR tR tR t R t!R R  lt"R# )#z"Git implementation of _version.py.)CallableNc                 "    Rp RpRpRV RVRV/pV# )z;Get the keywords needed to look up the version information.z" (HEAD, tag: v3.0.1, origin/3.0.x)(e04b26f375035e5106cb913e47b6db612f4ebb11z2026-02-17 22:03:00 +0100refnamesfulldate )git_refnamesgit_fullgit_datekeywordss       X/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/pandas/_version.pyget_keywordsr      s*     8L9H*HL&(FHMHO    c                       ] tR t^#tRtRtR# )VersioneerConfigz2Container for Versioneer configuration parameters.r   N__name__
__module____qualname____firstlineno____doc____static_attributes__r   r   r   r   r   #   s    <r   r   c                 n    \        4       p RV n        RV n        RV n        RV n        RV n        RV n        V # )z:Create, populate and return the VersioneerConfig() object.gitpep440vzpandas-zpandas/_version.pyF)r   VCSstyle
tag_prefixparentdir_prefixversionfile_sourceverbose)cfgs    r   
get_configr$   '   s=     
CCGCICN$C1CCKJr   c                       ] tR t^5tRtRtR# )NotThisMethodzCException raised if a method is not valid for the current scenario.r   Nr   r   r   r   r&   r&   5   s    Mr   r&   c                   a a VV 3R lpV# )z:Create decorator to mark a method as the handler of a VCS.c                P   < S\         9  d
   / \         S&   V \         S,          S&   V # )z!Store f in HANDLERS[vcs][method].)HANDLERS)fmethodvcss   &r   decorate&register_vcs_handler.<locals>.decorate@   s'    hHSM !fr   r   )r,   r+   r-   s   ff r   register_vcs_handlerr/   =   s     Or   c                   \        V \        4      '       g   Q hRp/ p\        P                  R8X  dA   \        P
                  ! 4       pV;P                  \        P                  ,          un        WR&   V  FZ  p	\        V	.VO4      p
 \        P                  ! V	.VO3RTRTR\        P                  RV'       d   \        P                  MR/VB p M	  V'       d   \        R	V  24       R# VP!                  4       ^ ,          P#                  4       P%                  4       pVP&                  ^ 8w  d4   V'       d   \        RV
 R
24       \        RV 24       RVP&                  3# WP&                  3#   \         dh    \        P                  ! 4       ^,          pTP                  \        P                  8X  d    EKD  T'       d   \        RT
 24       \        T4       Ru u # i ; i)zCall the given command(s).Nwin32startupinfocwdenvstdoutstderrzunable to run zunable to find command, tried z (error)zstdout was )NN)
isinstancelistsysplatform
subprocessSTARTUPINFOdwFlagsSTARTF_USESHOWWINDOWstrPopenPIPEOSErrorexc_infoerrnoENOENTprintcommunicatestripdecode
returncode)commandsargsr3   r"   hide_stderrr4   processpopen_kwargsr2   commanddispcmder5   s   &&&&&&       r   run_commandrS   J   s   h%%%%GL
||w ,,.z>>>&1]#w&&'	 && 4   "	
 ,7
D G  , 28*=>  "1%++-446FQN7)845Kx()W''''%%%%%  	q!Aww%,,&wi01a	s    AE..AG 8G  G G c                t   . p\        ^4       F  p\        P                  P                  V4      pVP	                  V 4      '       d   RV\        V 4      R RRRRRRRR/u # VP                  V4       \        P                  P                  V4      pK  	  V'       d   \        RV: R	V  24       \        R
4      h)a  Try to determine the version from the parent directory name.

Source tarballs conventionally unpack into a directory that includes both
the project name and a version string. We will also support searching up
two directory levels for an appropriately named parent directory
versionNfull-revisioniddirtyFerrorr   zTried directories z*             but none started with prefix z+rootdir doesn't start with parentdir_prefix)
rangeospathbasename
startswithlenappenddirnamerF   r&   )r    rootr"   rootdirs_r`   s   &&&   r   versions_from_parentdirrd   x   s     H1X''""4(.//73'7#8#:;!4  	wwt$    -**:);=	
 E
FFr   r   r   c                   / p \        V RR7      ;_uu_ 4       pV EF  pVP                  4       P                  R4      '       d4   \        P                  ! RV4      pV'       d   VP                  ^4      VR&   VP                  4       P                  R4      '       d4   \        P                  ! RV4      pV'       d   VP                  ^4      VR&   VP                  4       P                  R4      '       g   K  \        P                  ! RV4      pV'       g   K  VP                  ^4      VR	&   EK  	  R
R
R
4       V#   + '       g   i     T# ; i  \         d     T# i ; i)z0Extract version information from the given file.zutf-8)encodingzgit_refnames =z
=\s*"(.*)"r   z
git_full =r   z
git_date =r   N)openrH   r]   researchgrouprB   )versionfile_absr   fobjlinemos   &    r   git_get_keywordsro      s    H/G44::<**+;<<=$7B/1xx{,::<**<88=$7B+-88A;(::<**<88=$7Br+-88A;(  5  O! 54  O  OsM   E A
D;$8D;D;<6D;7D;D;1E ;E	E E EEr   c                (   RV 9  d   \        R4      hV P                  R4      pVeJ   VP                  4       R,          pVP                  4       P	                  RR^4      P	                  RR^4      pV R,          P                  4       pVP                  R4      '       d   V'       d   \        R	4       \        R
4      hVP                  R4      P                  R4       Uu0 uF  qUP                  4       kK  	  ppRpV Uu0 uF)  qUP                  V4      '       g   K  V\        V4      R kK+  	  ppV'       g]   V Uu0 uF$  p\        P                  ! RV4      '       g   K"  VkK&  	  ppV'       d%   \        RRP                  Wh,
          4       R24       V'       d'   \        RRP                  \        V4      4       24       \        V4       F  p	V	P                  V4      '       g   K  V	\        V4      R p\        P                  ! RV4      '       g   KI  V'       d   \        RV 24       RVRV R,          P                  4       RRRRRV/u # 	  V'       d   \        R4       RRRV R,          P                  4       RRRRRR/# u upi u upi u upi )z*Get version information from git keywords.r   zShort version file foundr   N T z$Formatz"keywords are unexpanded, not usingz.unexpanded keywords, not a git-archive tarballz(),ztag: z\dzdiscarding 'z', no digitszlikely tags: zpicking rU   rV   r   rW   FrX   z2no suitable tags, using unknown + full revision id	0+unknownzno suitable tags)r&   get
splitlinesrH   replacer]   rF   splitr^   rh   ri   joinsortedmatch)
r   r   r"   r   r   rrefsTAGtagsrefs
   &&&       r   git_versions_from_keywordsr      sC    !677<<D  $ zz|##Ca088b!D
#))+H9%%67LMM'~~d399#>?>!GGI>D? C#'=4a<<+<MAc#hjM4D=  74a299UA#647L$+!6 7|DEchhvd|4567d|>>*%%C
O%&A 88E1%%n%1!8F#3#9#9#;  & BC;8F+113# O @ > 8s   J?J
J
<J Jpieces_from_vcsc                   R.p\         P                  R8X  d   RR.p\        P                  P	                  4       pVP                  RR4       \        P                  ! W5R7      pV! VRR	.W'       * R
7      w  rgV^ 8w  d#   V'       d   \        RV R24       \        R4      hV! VRRRRRRV  R2.VR7      w  rVf   \        R4      hVP                  4       pV! VRR.VR7      w  rV	f   \        R4      hV	P                  4       p	/ p
WR&   V	R,          V
R&   RV
R&   V! V. R4OVR7      w  rV^ 8w  g   Vf   \        R4      hVP                  4       pVR8X  d   V! VRR.VR7      w  rV^ 8w  g   Vf   \        R 4      hVP                  R!4      pR"V^ ,          9   d   VP                  ^ 4       V Uu. uF  qR#,          NK  	  ppR$V9   d   R$pMV'       g   RpM	V^ ,          pWR&   TpVP                  R%4      pWR&&   V'       d   VRVP                  R%4       pR'V9   d   \        P                  ! R(V4      pV'       g   R)V R*2V
R&   V
# VP!                  ^4      pVP#                  V 4      '       g-   V'       d   R+p\        VVV 3,          4       R,V R-V  R*2V
R&   V
# V\%        V 4      R V
R.&   \'        VP!                  ^4      4      V
R/&   VP!                  ^4      V
R&   M1RV
R.&   V! V. R5OVR7      w  pp\%        VP                  4       4      V
R/&   V! V. R6OVR7      ^ ,          P                  4       pVP)                  4       R7,          pVP                  4       P+                  R0R1^4      P+                  R0R2^4      V
R3&   V
# u upi )8a  Get version from 'git describe' in the root of the source tree.

This only gets called if the git-archive 'subst' keywords were *not*
expanded, and _version.py hasn't already been rewritten with a short
version string, meaning we're inside a checked out source tree.
r   r1   zgit.cmdzgit.exeGIT_DIRN)r4   	rev-parsez	--git-dir)r3   rM   z
Directory z not under git controlz('git rev-parse --git-dir' returned errordescribez--tagsz--dirtyz--alwaysz--longz--matchz[[:digit:]]*)r3   z'git describe' failedHEADz'git rev-parse' failedlong:N   NshortrX   z+'git rev-parse --abbrev-ref' returned errorbranchz
--containsz&'git branch --contains' returned error
(:   NNmaster-dirtyrW   -z^(.+)-(\d+)-g([0-9a-f]+)$z&unable to parse git-describe output: ''z'tag '%s' doesn't start with prefix '%s'ztag 'z' doesn't start with prefix 'closest-tagdistancerq   rr   rs   r   )r   z--abbrev-refr   )zrev-listr   z--left-right)showz-sz--format=%cir   rv   )r9   r:   rZ   environcopypop	functoolspartialrF   r&   rH   rz   endswithrindexrh   ri   rj   r]   r^   intrx   ry   )r   ra   r"   runnerGITSr4   rc   rcdescribe_outfull_outpiecesbranch_namebranchesr   git_describerW   rn   full_tagfmtoutr   s   &&&&                 r   git_pieces_from_vcsr      s    7D
||w9%
 **//
CGGItv/F4+{3;WEA	QwJtf$:;<FGG l,'	
 L 344%%'L$f 54@LH455~~HF6NrlF7OF7OT#HdSOK	Qw+%IJJ##%Kf dX|$<$G7h& HII>>$' (1+LLO .66X62JJX6x"KK #1+K"8  L !!(+E7O#$Cl&9&9(&CD lYY3\B F|nTUVF7OM 88A;"":..?cXz223z!>zl!L 7O M (Z): ;} !!-z ((1+w !%}CNR -z $>DI!LRRTD ??R DZZ\))#sA6>>sBJF6NM} 7s   1Nc                $    V ^8  d   QhR\         /# r   return)r?   )formats   "r   __annotate__r     s      3 r   c                8    RV P                  RR4      9   d   R# R# )z8Return a + if we don't already have one, else return a .+r   rs   .)rw   )r   s   &r   plus_or_dotr     s    
fjj++r   c                \   V R,          '       do   V R,          pV R,          '       g   V R,          '       dF   V\        V 4      ,          pWR,           RV R,           2,          pV R,          '       d
   VR,          pV# RV R,           RV R,           2pV R,          '       d
   VR,          pV# )a  Build up version string, with post-release "local version identifier".

Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you
get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty

Exceptions:
1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty]
r   r   rW   .gr   .dirtyz0+untagged.r   r   rendereds   & r   render_pep440r     s     m-(*F++H*-.b0ABBHgH$ O !
!3 4Bvg6GH'?? HOr   c                   V R,          '       d   V R,          pV R,          '       g   V R,          '       d]   V R,          R8w  d
   VR,          pV\        V 4      ,          pWR,           RV R,           2,          pV R,          '       d
   VR	,          pV# R
pV R,          R8w  d
   VR,          pVRV R,           RV R,           2,          pV R,          '       d
   VR	,          pV# )zTAG[[.dev0]+DISTANCE.gHEX[.dirty]] .

The ".dev0" means not master branch. Note that .dev0 sorts backwards
(a feature branch will appear "older" than the master branch).

Exceptions:
1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty]
r   r   rW   r   r   .dev0r   r   r   0z
+untagged.r   r   s   & r   render_pep440_branchr     s     m-(*h8+G#F++H*-.b0ABBHgH$ O (x'Hj
!3 4Bvg6GHH'?? HOr   c                    \         P                  V R4      pV^ ,          \        V4      ^8X  d   \        V^,          ;'       g    ^ 4      3# R3# )zSplit pep440 version string at the post-release segment.

Returns the release segments before the post-release and the
post-release version number (or -1 if no post-release segment is present).
.postN)r?   rz   r^   r   )vervcs   & r   pep440_split_postr     sC     
3	 Ba5SW\#bejjq/;;t;;r   c                   V R,          '       dk   V R,          '       dP   \        V R,          4      w  rTpVe    VRV^,            RV R,           2,          pV# VRV R,           2,          p V# V R,          p V# RV R,           2pV# )zSTAG[.postN.devDISTANCE] -- No -dirty.

Exceptions:
1: no tags. 0.post0.devDISTANCE
r   r   r   z.devz
.post0.devz0.post0.dev)r   )r   tag_versionpost_versionr   s   &   r   render_pep440_prer     s     m*(9&:O(P%K"H'eL1$4#5T&:L9MNN O j
);(<== O	 m,H O !
!3 45Or   c                   V R,          '       dz   V R,          pV R,          '       g   V R,          '       dQ   VRV R,           2,          pV R,          '       d
   VR,          pV\        V 4      ,          pVRV R,           2,          pV# RV R,           2pV R,          '       d
   VR,          pVR	V R,           2,          pV# )
a  TAG[.postDISTANCE[.dev0]+gHEX] .

The ".dev0" means dirty. Note that .dev0 sorts backwards
(a dirty tree will appear "older" than the corresponding clean one),
but you shouldn't be releasing software with -dirty anyways.

Exceptions:
1: no tags. 0.postDISTANCE[.dev0]
r   r   rW   r   r   gr   0.post+gr   r   s   & r   render_pep440_postr     s     m-(*%z 2344HgG#F++H!F7O,--H O	 F:./0'??Hb)**Or   c                   V R,          '       d   V R,          pV R,          '       g   V R,          '       dh   VRV R,           2,          pV R,          R8w  d
   VR,          pV\        V 4      ,          pVRV R	,           2,          pV R,          '       d
   VR
,          pV# RV R,           2pV R,          R8w  d
   VR,          pVRV R	,           2,          pV R,          '       d
   VR
,          pV# )zTAG[.postDISTANCE[.dev0]+gHEX[.dirty]] .

The ".dev0" means not master branch.

Exceptions:
1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty]
r   r   rW   r   r   r   r   r   r   r   r   r   r   r   s   & r   render_pep440_post_branchr     s     m-(*%z 2344Hh8+G#F++H!F7O,--HgH$ O F:./0(x'Hb)**'?? HOr   c                   V R,          '       dU   V R,          pV R,          '       g   V R,          '       d,   VRV R,           2,          pV R,          '       d
   VR,          pV# RV R,           2pV R,          '       d
   VR,          pV# )zeTAG[.postDISTANCE[.dev0]] .

The ".dev0" means dirty.

Exceptions:
1: no tags. 0.postDISTANCE[.dev0]
r   r   rW   r   r   r   r   s   & r   render_pep440_oldr     s     m-(*&
!3 455HgG# O F:./0'??HOr   c                    V R,          '       d7   V R,          pV R,          '       d   VRV R,           RV R,           2,          pM	V R,          pV R,          '       d
   VR,          pV# )zTAG[-DISTANCE-gHEX][-dirty].

Like 'git describe --tags --dirty --always'.

Exceptions:
1: no tags. HEX[-dirty]  (note: no 'g' prefix)
r   r   r   -gr   rW   r   r   r   s   & r   render_git_describer   1  sj     m-(*!F:./r&/1BCCH '?gHOr   c                    V R,          '       d(   V R,          pVRV R,           RV R,           2,          pM	V R,          pV R,          '       d
   VR,          pV# )zTAG-DISTANCE-gHEX[-dirty].

Like 'git describe --tags --dirty --always --long'.
The distance/hash is unconditional.

Exceptions:
1: no tags. HEX[-dirty]  (note: no 'g' prefix)
r   r   r   r   r   rW   r   r   r   s   & r   render_git_describe_longr   E  s^     m-(az*+2fWo->?? '?gHOr   c                &   V R,          '       d#   RRRV P                  R4      RRRV R,          RR/# V'       d   VR	8X  d   R
pVR
8X  d   \        V 4      pMVR8X  d   \        V 4      pMVR8X  d   \        V 4      pMnVR8X  d   \	        V 4      pM[VR8X  d   \        V 4      pMHVR8X  d   \        V 4      pM5VR8X  d   \        V 4      pM"VR8X  d   \        V 4      pM\        RV R24      hRVRV R,          RV R,          RRRV P                  R4      /# )z9Render the given version pieces into the requested style.rX   rU   unknownrV   r   rW   Nr   defaultr   zpep440-branchz
pep440-prezpep440-postzpep440-post-branchz
pep440-oldzgit-describezgit-describe-longzunknown style 'r   )
rw   r   r   r   r   r   r   r   r   
ValueError)r   r   r   s   && r   renderr   Y  s(   gyvzz&1TVG_D
 	
 EY& (	/	!'/	,	$V,	-	%f-	&	&,V4	,	$V,	.	 &v.	%	%+F3?5'344 	86&>

6" r   c                $    V ^8  d   QhR\         /# r   )dict)r   s   "r   r   r     s     1 1d 1r   c                    \        4       p V P                  p \        \        4       V P                  V4      #   \
         d     Mi ; i \        P                  P                  \        4      pT P                  P                  R4       F"  p\        P                  P                  T4      pK$  	  M  \         d    RRRRRRRRR	R/u # i ; i \        T P                  Y!4      p\        Y@P                   4      #   \
         d     Mi ; i T P"                  '       d   \%        T P"                  Y!4      # M  \
         d     Mi ; iRRRRRRRR
R	R/# )z=Get version information or return default if unable to do so./rU   ru   rV   NrW   rX   z"unable to find root of source treer   zunable to compute version)r$   r"   r   r   r   r&   rZ   r[   realpath__file__r!   rz   r`   	NameErrorr   r   r   r    rd   )r#   r"   ra   rc   r   s        r   get_versionsr     sR    ,CkkG),.#..'RR 
ww) ''--c2A77??4(D 3 
{tT9D
 	

$S^^TCfii(( *3+?+?OO    	;4, sL   7 AA	A$B. .CC*C7 7DD	D2 D2 2E ?E c                    V ^8  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   ^\         9   d,   \        \        \        \        \        3,          3,          ;R&   # )r   LONG_VERSION_PYr)   )__conditional_annotations__r   r?   r   )r   s   "r   r   r      sK     ( (\ % $c3h $] )^ . -$sDh''
( -_ )r   )NFFN)$r   r   collections.abcr   rD   r   rZ   rh   r;   r9   r   r   r$   	Exceptionr&   r   r)   r/   rS   rd   ro   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   s   @r   <module>r      s    ) $   	 	  

= =NI N #% $+- -
+&\G< e^, -6 eZ(C )CL e./:E H 0HV0:<06:,(('T1r   