+
    Hwiy?  ã                   ó^  € R t ^ RIHtHt ^ RIt^ RIt^ RIt^ RIHtH	t	H
t
HtHtHtHt ^ RIHt ]'       d   ^ RIt^ RIHt ^ RIHt R t ! R R	]4      t]! 4       t ! R
 R]4      t ! R R]4      tR tR tR t R t!R t"R t#]! RR7       ! R R4      4       t$R t%R t&^RI'H(t( R t). ROt*R# )z0
Versions for Python packages.

See L{Version}.
)ÚdivisionÚabsolute_importN)ÚTYPE_CHECKINGÚAnyÚTypeVarÚUnionÚOptionalÚDictÚBinaryIO)Ú	dataclass)ÚLiteral)ÚDistributionc                ó&   € W8  d   R# W8X  d   ^ # ^# )zy
Compare two objects.

Returns a negative number if C{a < b}, zero if they are equal, and a
positive number if C{a > b}.
éÿÿÿÿ© )ÚaÚbs   &&Ú6/usr/lib/python3/dist-packages/incremental/__init__.pyÚ_cmpr      s   € ð 	„uØˆ	Ø	
ŒÙáó    c                   óB   a € ] tR t^2t o RtR tR tR tR tR t	Rt
V tR# )	Ú_Infz2
An object that is bigger than all other objects.
c                ó   € V\         J d   ^ # ^# )zi
@param other: Another object.
@type other: any

@return: 0 if other is inf, 1 otherwise.
@rtype: C{int}
)Ú_inf©ÚselfÚothers   &&r   Ú__cmp__Ú_Inf.__cmp__7   s   € ð ”D‹=ÙÙr   c                ó*   € V P                  V4      ^ 8  # ©é    ©r   r   s   &&r   Ú__lt__Ú_Inf.__lt__C   ó   € Ø�|‰|˜EÓ" QÑ&Ð&r   c                ó*   € V P                  V4      ^ 8*  # r    r"   r   s   &&r   Ú__le__Ú_Inf.__le__F   ó   € Ø�|‰|˜EÓ" aÑ'Ð'r   c                ó*   € V P                  V4      ^ 8„  # r    r"   r   s   &&r   Ú__gt__Ú_Inf.__gt__I   r%   r   c                ó*   € V P                  V4      ^ 8¬  # r    r"   r   s   &&r   Ú__ge__Ú_Inf.__ge__L   r)   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r#   r'   r+   r.   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   2   s(   ø‡ € ñò
ò'ò(ò'÷(ð (r   r   c                   ó   € ] tR t^StRtRtR# )ÚIncomparableVersionsz%
Two versions could not be compared.
r   N)r0   r1   r2   r3   r4   r5   r   r   r   r:   r:   S   s   † õr   r:   c                   ó†   a € ] tR t^Yt o RtRR lt]R 4       tR t]t	]t
]tR tR tR tR	 tR
 tR tR tR tR tRtV tR# )ÚVersionz½
An encapsulation of a version for a project, with support for outputting
PEP-440 compatible version strings.

This class supports the standard major.minor.micro[rcN] scheme of
versioning.
Nc	                ób  € V'       d   V'       d   \        R4      hV'       d(   V'       g    Tp\        P                  ! R\        ^R7       VR8X  d4   V'       g!   V'       g   V'       g   V'       g	   V'       d   \        R4      hWn        W n        W0n        W@n        WPn        Wpn	        W€n
        R# )aJ  
@param package: Name of the package that this is a version of.
@type package: C{str}
@param major: The major version number.
@type major: C{int} or C{str} (for the "NEXT" symbol)
@param minor: The minor version number.
@type minor: C{int}
@param micro: The micro version number.
@type micro: C{int}
@param release_candidate: The release candidate number.
@type release_candidate: C{int}
@param prerelease: The prerelease number. (Deprecated)
@type prerelease: C{int}
@param post: The postrelease number.
@type post: C{int}
@param dev: The development release number.
@type dev: C{int}
z Please only return one of these.zvPassing prerelease to incremental.Version was deprecated in Incremental 16.9.0. Please pass release_candidate instead.©Ú
stacklevelÚNEXTz;When using NEXT, all other values except Package must be 0.N)Ú
ValueErrorÚwarningsÚwarnÚDeprecationWarningÚpackageÚmajorÚminorÚmicroÚrelease_candidateÚpostÚdev)	r   rE   rF   rG   rH   rI   Ú
prereleaserJ   rK   s	   &&&&&&&&&r   Ú__init__ÚVersion.__init__b   s…   € ÷: §ÜÐ?Ó@Ð@ß× 1Ø *ÐÜ�MŠMð-ô #Øõð �FŒ?ßŸ×!2·d¿cÜ ØQóð ð ŒØŒ
ØŒ
ØŒ
Ø!2ÔØŒ	ØŽr   c                óT   € \         P                  ! R \        ^R7       V P                  # )zuAccessing incremental.Version.prerelease was deprecated in Incremental 16.9.0. Use Version.release_candidate instead.r>   )rB   rC   rD   rI   ©r   s   &r   rL   ÚVersion.prerelease™   s)   € ä�Šð1ô Øõ	
ð ×%Ñ%Ð%r   c                óZ  € V P                   R8X  d   V P                   # V P                  f   RpMRV P                  : 2pV P                  f   RpMRV P                  : 2pV P                  f   RpMRV P                  : 2pRV P                   V P                  V P
                  WV3,          # )zŽ
Return a PEP440-compatible "public" representation of this L{Version}.

Examples:

  - 14.4.0
  - 1.2.3rc1
  - 14.2.1rc1dev9
  - 16.04.0dev0
r@   Ú Úrcz.postz.devz%r.%d.%d%s%s%s)rF   rI   rJ   rK   rG   rH   )r   rT   rJ   rK   s   &   r   ÚpublicÚVersion.public¤   s§   € ð �:‰:˜ÔØ—:‘:Ðà×!Ñ!Ò)Ø‰Bð *ð  ×1Ó1Ð3ˆBà�9‰9ÒØ‰Dð ð !%§	£	Ð+ˆDà�8‰8ÒØ‰Cð ð #Ÿh›hÐ(ˆCà 4§:¡:¨t¯z©z¸4¿:¹:ÀrÐQTÐ"UÕUÐUr   c           	     ób  € V P                   f   RpMRV P                   : 2pV P                  f   RpMRV P                  : 2pV P                  f   RpMRV P                  : 2pRV P                  P                  V P
                  V P                  V P                  V P                  VVV3,          # )NrS   z, release_candidate=z, post=z, dev=z%s(%r, %r, %d, %d%s%s%s))	rI   rJ   rK   Ú	__class__r0   rE   rF   rG   rH   )r   rI   rJ   rK   s   &   r   Ú__repr__ÚVersion.__repr__Ç   s³   € Ø×!Ñ!Ò)Ø "Ñð *ð =A×<RÓ<RÐ TÐà�9‰9ÒØ‰Dð ð #'§)£)Ð-ˆDà�8‰8ÒØ‰Cð ð !%§£Ð*ˆCà)Ø�N‰N×#Ñ#Ø�L‰LØ�J‰JØ�J‰JØ�J‰JØØØð	-
õ 	
ð 		
r   c                óH   € R V P                   : RV P                  4       : R2# )Ú[z
, version Ú]©rE   ÚshortrP   s   &r   Ú__str__ÚVersion.__str__â   s   � Ø%)§\¤\°4·:±:¶<Ð@Ð@r   c           	     ó†  € \        WP                  4      '       g   \        # V P                  P	                  4       VP                  P	                  4       8w  d'   \        V P                  : RVP                  : 24      hV P                  R8X  d   \        pMV P                  pV P                  f   \        pMV P                  pV P                  f   RpMV P                  pV P                  f   \        pMV P                  pVP                  R8X  d   \        pMVP                  pVP                  f   \        pMVP                  pVP                  f   RpMVP                  pVP                  f   \        p	MVP                  p	\        W P                  V P                  W4V3WaP                  VP                  WxV	34      p
V
# )a÷  
Compare two versions, considering major versions, minor versions, micro
versions, then release candidates, then postreleases, then dev
releases. Package names are case insensitive.

A version with a release candidate is always less than a version
without a release candidate. If both versions have release candidates,
they will be included in the comparison.

Likewise, a version with a dev release is always less than a version
without a dev release. If both versions have dev releases, they will
be included in the comparison.

@param other: Another version.
@type other: L{Version}

@return: NotImplemented when the other object is not a Version, or one
    of -1, 0, or 1.

@raise IncomparableVersions: when the package names of the versions
    differ.
z != r@   r   )Ú
isinstancerX   ÚNotImplementedrE   Úlowerr:   rF   r   rI   rJ   rK   r   rG   rH   )r   r   rF   rI   rJ   rK   Ú
othermajorÚotherrcÚ	otherpostÚotherdevÚxs   &&         r   r   ÚVersion.__cmp__å   s[  € ô. ˜%§¡×0Ò0Ü!Ð!Ø�<‰<×ÑÓ 5§=¡=×#6Ñ#6Ó#8Ô8Ü&°T·\´\À5Ç=Ã=Ð'QÓRÐRà�:‰:˜ÔÜ‰Eà—J‘JˆEà×!Ñ!Ò)Ü $Ñà $× 6Ñ 6Ðà�9‰9ÒØ‰Dà—9‘9ˆDà�8‰8ÒÜ‰Cà—(‘(ˆCà�;‰;˜&Ô Ü‰JàŸ™ˆJà×"Ñ"Ò*Ü‰Gà×-Ñ-ˆGà�:‰:ÒØ‰IàŸ
™
ˆIà�9‰9ÒÜ‰Hà—y‘yˆHäØ—J‘J §
¡
Ð,=ÀSÐIØŸ™ e§k¡k°7ÀxÐPó
ˆð ˆr   c                óF   € V P                  V4      pV\        J d   V# V^ 8H  # r    ©r   rd   ©r   r   Úcs   && r   Ú__eq__ÚVersion.__eq__/  ó&   € Ø�L‰L˜ÓˆØ”ÓØˆHØ�A‰vˆr   c                óF   € V P                  V4      pV\        J d   V# V^ 8g  # r    rm   rn   s   && r   Ú__ne__ÚVersion.__ne__5  rr   r   c                óF   € V P                  V4      pV\        J d   V# V^ 8  # r    rm   rn   s   && r   r#   ÚVersion.__lt__;  ó&   € Ø�L‰L˜ÓˆØ”ÓØˆHØ�1‰uˆr   c                óF   € V P                  V4      pV\        J d   V# V^ 8*  # r    rm   rn   s   && r   r'   ÚVersion.__le__A  rr   r   c                óF   € V P                  V4      pV\        J d   V# V^ 8„  # r    rm   rn   s   && r   r+   ÚVersion.__gt__G  rx   r   c                óF   € V P                  V4      pV\        J d   V# V^ 8¬  # r    rm   rn   s   && r   r.   ÚVersion.__ge__M  rr   r   )rK   rF   rH   rG   rE   rJ   rI   )NNNN)r0   r1   r2   r3   r4   rM   ÚpropertyrL   rU   Úbaser_   ÚlocalrY   r`   r   rp   rt   r#   r'   r+   r.   r5   r6   r7   s   @r   r<   r<   Y   sp   ø‡ € ñô5ðn ñ&ó ð&òVð> €DØ€EØ€Eò
ò6AòHòTòòòò÷ð r   r<   c                óH   € V P                   : RV P                  4       : 2pV# )zž
Get a friendly string for the given version object.

@param version: A L{Version} object.
@return: A string containing the package and short version number.
Ú r^   )ÚversionÚresults   & r   ÚgetVersionStringr†   T  s   € ð  Ÿœ¨¯©­Ð9€FØ€Mr   c                óŒ  € \         P                  P                  V RVP                  4       4      p\         P                  P                  WP                  4       4      p\         P                  P	                  V4      '       d   V# \         P                  P	                  V4      '       d   V# \        RP                  WV4      4      h)z‚
Determine the package root directory.

The result is one of:

    - src/{package}
    - {package}

Where {package} is downcased.
Úsrcz=Can't find the directory of project {}: I looked in {} and {})ÚosÚpathÚjoinre   ÚisdirrA   Úformat)rŠ   rE   Úsrc_dirÚcurrent_dirs   &&  r   Ú	_findPathr�   _  s‰   € ô �g‰g�l‰l˜4 ¨¯©«Ó8€GÜ—'‘'—,‘,˜t§]¡]£_Ó5€Kä	‡w�w‡}�}�W×ÒØˆÜ	�‰�‰�{×	#Ò	#ØÐäØK×RÑRØ +óó
ð 	
r   c                ó¼   € / p\        V R4      ;_uu_ 4       p\        VP                  4       V4       RRR4       VR,          #   + '       g   i     TR,          # ; i)z7
Load the current version from a ``_version.py`` file.
ÚrNÚ__version__)ÚopenÚexecÚread)Úversion_pathÚversion_infoÚfs   &  r   Ú_existing_versionrš   y  sP   € ð €Lä	ˆl˜C×	 Ô	  AÜˆQ�V‰V‹X�|Ô$÷ 
!ð ˜Õ&Ð&÷ 
!Ö	 ð ˜Õ&Ð&ús   —AÁA	c                óø   €  \        R4      pTP                  '       g   R#  \        TP                  4      pTP                  4       T P                  n        R#   \         d     R# i ; i  \
         d     R# i ; i)af  
Setuptools integration: load the version from the working directory

This function is registered as a setuptools.finalize_distribution_options
entry point [1]. Consequently, it is called in all sorts of weird
contexts. In setuptools, silent failure is the law.

[1]: https://setuptools.pypa.io/en/latest/userguide/extension.html#customizing-distribution-options

@param dist:
    A (possibly) empty C{setuptools.Distribution} instance to mutate.
    There may be some metadata here if a `setup.py` called `setup()`,
    but this hook is always called before setuptools loads anything
    from ``pyproject.toml``.
z./pyproject.tomlN)	Ú_load_pyproject_tomlÚ	ExceptionÚopt_inrš   r—   ÚFileNotFoundErrorrU   Úmetadatar„   )ÚdistÚconfigr„   s   &  r   Ú_get_setuptools_versionr£   …  ss   € ð ô &Ð&8Ó9ˆð �=�=ˆ=ÙðÜ# F×$7Ñ$7Ó8ˆð $ŸN™NÓ,€D‡M�MÖøô ô Úðûô ô Úðús"   ‚A ¢A* ÁA'Á&A'Á*A9Á8A9c                ó¢  € V'       g   R# ^ RI Hp VP                  V 4      pVP                  4        VP                  4        F€  pV^,          R8X  g   K  \        P
                  P                  \        P
                  P                  V^,          4      R4      p\        V4      P                  4       V P                  n         R# 	  \        R4      h)zþ
Distutils integration: get the version from the package listed in the Distribution.

This function is invoked when a C{setup.py} calls C{setup(use_incremental=True)}.

@see: https://setuptools.pypa.io/en/latest/userguide/extension.html#adding-arguments
N)Úbuild_pyÚ_versionú_version.pyzNo _version.py found.)Úsetuptools.commandr¥   Úfinalize_optionsÚfind_all_modulesr‰   rŠ   r‹   Údirnamerš   rU   r    r„   r�   )r¡   ÚkeywordÚvaluer¥   Ú
sp_commandÚitemr—   s   &&&    r   Ú_get_distutils_versionr°   ¨  s˜   € ÷ Ùå+à×"Ñ" 4Ó(€JØ×ÑÔ!à×+Ñ+Ö-ˆØ��7�jÖ ÜŸ7™7Ÿ<™<¬¯©¯©¸¸Q½Ó(@À-ÓPˆLÜ$5°lÓ$C×$JÑ$JÓ$LˆD�M‰MÔ!Úñ	 .ô Ð+Ó
,Ð,r   c                ó`   € \         P                  R8”  d   ^ RIpM^ RIpVP	                  V 4      # )z"
Read the content of a TOML file.
N)é   é   )Úsysr˜   ÚtomllibÚtomliÚload)r™   rµ   s   & r   Ú
_load_tomlr¸   Á  s&   € ô ×Ñ˜'Ô!Üãà�<‰<˜‹?Ðr   T)Úfrozenc                   óF   a € ] tR tRt o Rt   ]R 4       tV 3R ltRtV t	R# )Ú_IncrementalConfigiÏ  z6
Configuration loaded from a ``pyproject.toml`` file.
c                óV   € \         P                  P                  V P                  R4      # )z0Path of the ``_version.py`` file. May not exist.r§   )r‰   rŠ   r‹   rP   s   &r   r—   Ú_IncrementalConfig.version_pathâ  s   € ô �w‰w�|‰|˜DŸI™I }Ó5Ð5r   c                ó>   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   # )é   rž   rE   rŠ   )ÚboolÚstr)r�   r8   s   "€r   Ú__annotate__Ú_IncrementalConfig.__annotate__Ï  s)   ø‡ ‚ ñ �Lñ ñ �Lñ ñ  �Iò! r   r   N)
r0   r1   r2   r3   r4   r   r—   Ú__annotate_func__r5   r6   r7   s   @r   r»   r»   Ï  s3   ø‡ € ñð
ð Dð #àñ6ó ð6÷) ƒ r   r»   c           	     ó  € \        V R4      ;_uu_ 4       p\        V4      pRRR4       \        X4      pRpVe   RV9   d
   VR,          pVf    VR,          R,          pVf   \	        R4      h\        V\        4      '       g$   \        RP                  \        V4      4      4      h\        VRJV\        \        P                  P                  V 4      V4      R7      #   + '       g   i     LÅ; i  \         d     LŸi ; i)ac  
Load Incremental configuration from a ``pyproject.toml``

If the [tool.incremental] section is empty we take the project name
from the [project] section. Otherwise we require only a C{name} key
specifying the project name. Other keys are forbidden to allow future
extension and catch typos.

@param toml_path:
    Path to the ``pyproject.toml`` to load.
ÚrbNÚnameÚprojectz¤Incremental failed to extract the project name from pyproject.toml. Specify it like:

    [project]
    name = "Foo"

Or:

    [tool.incremental]
    name = "Foo"

z/The project name must be a string, but found {})rž   rE   rŠ   )r”   r¸   Ú_extract_tool_incrementalÚKeyErrorrA   rc   rÁ   Ú	TypeErrorr�   Útyper»   r�   r‰   rŠ   r«   )Ú	toml_pathr™   ÚdataÚtool_incrementalrE   s   &    r   rœ   rœ   è  sú   € ô 
ˆi˜×	Ô	 !Ü˜!‹}ˆ÷ 
ô 1°Ó6Ðð €GØÒ#¨Ð2BÔ(BØ" 6Õ*ˆØ‚ð	Ø˜9•o fÕ-ˆGð ‚äð ó ð 	ô �gœs×#Ò#ÜØ=×DÑDÄTÈ'Ã]ÓSó
ð 	
ô Ø tÐ+ØÜ”r—w‘w—‘ yÓ1°7Ó;ôð ÷E 
×	ûô ô 	Ùð	ús   •CÁC1 ÃC.	Ã1C?Ã>C?c                 óL  € R V 9  d   R# \        V R ,          \        4      '       g   \        R4      hRV R ,          9  d   R# V R ,          R,          p\        V\        4      '       g   \        R4      hR0P                  VP	                  4       4      '       g   \        R4      hV# )ÚtoolNz[tool] must be a tableÚincrementalz"[tool.incremental] must be a tablerÇ   z'Unexpected key(s) in [tool.incremental])rc   ÚdictrA   Ú
issupersetÚkeys)rÎ   rÏ   s   & r   rÉ   rÉ     s‘   € Ø�TÔÙÜ�d˜6•l¤D×)Ò)ÜÐ1Ó2Ð2Ø˜D �LÔ(Ùà˜F•| MÕ2ÐÜÐ&¬×-Ò-ÜÐ=Ó>Ð>àˆ8×ÑÐ/×4Ñ4Ó6×7Ò7ÜÐBÓCÐCØÐr   )r“   c                  ó,   € \         P                  ! 4       # )N)r“   rU   r   r   r   Ú_setuptools_versionr×   1  s   € Ü×ÒÓÐr   )r“   r<   r†   )+r4   Ú
__future__r   r   r‰   r´   rB   Útypingr   r   r   r   r   r	   r
   Údataclassesr   ÚioÚtyping_extensionsr   Údistutils.distr   Ú_Distributionr   Úobjectr   r   rË   r:   r<   r†   r�   rš   r£   r°   r¸   r»   rœ   rÉ   r¦   r“   r×   Ú__all__r   r   r   Ú<module>rá      sÀ   ðñ÷ 1ã 	Û 
Û ß O× OÑ OÝ !÷ ÛÝ)Ý<òô((ˆ6ô (ñ< ƒv€ô˜9ô ôxˆfô xòvò
ò4	'ò -òF-ò2ñ �$Ô÷6ð 6ó ð6ò02òjõ" "ò ò 9‚r   