
    6h                         S SK Jr  S SKrS SKJrJrJrJrJrJ	r	J
r
   " S S\	5      r " S S\	5      r\
\\\
S\
\\4   \\4      4   r " S S	\	5      r " S
 S\	5      rg)    )annotationsN)CallableDictIteratorListOptionalProtocolTuplec                  h    \ rS rSrSr\R                  SS j5       r\R                  SS j5       rSr	g)	IHooks   zA collection of hook functions that can be used to extend a
function's behavior. Hooks are called in lexicographic order,
based on the names of their sources.c                    g N )selfsourcehooks      ;/usr/lib/python3/dist-packages/mercurial/interfaces/misc.pyadd
IHooks.add           c                    g r   r   )r   argss     r   __call__IHooks.__call__   r   r   r   N)r   bytesr   r   )returnr   )
__name__
__module____qualname____firstlineno____doc__abcabstractmethodr   r   __static_attributes__r   r   r   r   r      s;    , 	  	 r   r   c                      \ rS rSrSr\R                  S	S j5       r\R                  S	S j5       r\R                  S
S j5       r	\R                  SS j5       r
Srg)IDirs!   z6a multiset of directory names from a set of file pathsc                    g r   r   r   paths     r   addpathIDirs.addpath$   r   r   c                    g r   r   r+   s     r   delpathIDirs.delpath(   r   r   c                    g r   r   r   s    r   __iter__IDirs.__iter__,   r   r   c                    g r   r   )r   ds     r   __contains__IDirs.__contains__0   r   r   r   N)r,   r   r   None)r   zIterator[bytes])r7   r   r   bool)r   r    r!   r"   r#   r$   r%   r-   r0   r4   r8   r&   r   r   r   r(   r(   !   sk    @  	  	  	 r   r(   c                  2   \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   \R                  SS j5       r\R                  SS j5       r	\R                  SS j5       r
\R                  SS j5       r\R                  SS j5       rSrg)IUrlB   a  Reliable URL parser.

This parses URLs and provides attributes for the following
components:

<scheme>://<user>:<passwd>@<host>:<port>/<path>?<query>#<fragment>

Missing components are set to None. The only exception is
fragment, which is set to '' if present but empty.

If parsefragment is False, fragment is included in query. If
parsequery is False, query is included in path. If both are
False, both fragment and query are included in path.

See http://www.ietf.org/rfc/rfc2396.txt for more information.
Optional[bytes]r,   schemeuserpasswdhostportqueryfragmentc                    g r   r   r3   s    r   copy	IUrl.copy]   r   r   c                    g r   r   r3   s    r   authinfoIUrl.authinfoa   r   r   c                    g r   r   r3   s    r   isabs
IUrl.isabse   r   r   c                    g r   r   r3   s    r   	localpathIUrl.localpathi   r   r   c                    g r   r   r3   s    r   islocalIUrl.islocalm   r   r   r   N)r   r=   )r   	AuthInfoTr   r;   )r   r   )r   r    r!   r"   r#   __annotations__r$   r%   rH   rK   rN   rQ   rT   r&   r   r   r   r=   r=   B   s    " 


  	  	  	  	 r   r=   c                     \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   \R                  SSS jj5       r\	\R                  SS j5       5       r
\R                  SS j5       r\	\R                  SS j5       5       rSrg)IPathr   z4Represents an individual path and its configuration.r   namezOptional[IPath]	main_pathr=   urlraw_urlbranchrawloclocNc                    g r   r   )r   new_raw_locations     r   rH   
IPath.copy}   r   r   c                    g)z-is this a path variant to be used for pushingNr   r3   s    r   is_push_variantIPath.is_push_variant       r   c                    g)zget a "copy" of the path, but suitable for pushing

This means using the value of the `pushurl` option (if any) as the url.

The original path is available in the `main_path` attribute.
Nr   r3   s    r   get_push_variantIPath.get_push_variant   ri   r   c                    g)zkReturn sub-options and their values for this path.

This is intended to be used for presentation purposes.
Nr   r3   s    r   
suboptionsIPath.suboptions   ri   r   r   r   )rd   r?   r   rZ   rW   )r   rZ   )r   zDict[bytes, bytes])r   r    r!   r"   r#   rX   r$   r%   rH   propertyrg   rk   rn   r&   r   r   r   rZ   rZ   r   s    >
K	IMMM	J  <  < 	    r   rZ   )
__future__r   r$   typingr   r   r   r   r   r	   r
   r   r(   r   rV   r=   rZ   r   r   r   <module>rs      s    # 
  X H ( 	%,	

	-8 -`#H #r   