
    5i?                         U d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZmZmZmZ i Zeeef   ed<   d Zd ZddZ G d d	e	      Zy
)    )ONE_OR_MOREOPTIONALPARSER	REMAINDERSUPPRESSZERO_OR_MOREActionArgumentErrorArgumentParser_get_action_name_SubParsersAction)gettext)DictListSetTuple_num_consumed_argsc                 ^   t         j                  | d      }| j                  t        t        t
        fv ry| j                  t        k(  r|dk\  S | j                  t        k(  ry| j                  |dk(  S t        | j                  t              sJ d| j                  z         || j                  k(  S )znReturns False if the parse would raise an error if no more arguments are given to this action, True otherwise.r   T   F+failed to handle a possible nargs value: %r)
r   getnargsr   r   r   r   r   
isinstanceintactionnum_consumed_argss     /home/marpiech/ifpan-abm-pgxpred/analysis/marpiech-gwas-test/venv/lib/python3.12/site-packages/argcomplete/packages/_argparse.pyaction_is_satisfiedr      s    *..vq9||,	::||{" A%%||v || A%%fllC(f*WZ`ZfZf*ff(,,    c                 6   t         j                  | d      }| j                  t        t        t
        t        fv ry| j                  t        k(  s| j                  |dk(  S t        | j                  t              sJ d| j                  z         || j                  k  S )zPReturns True if action could consume more arguments (i.e., its pattern is open).r   Tr   )
r   r   r   r   r   r   r   r   r   r   r   s     r   action_is_openr"   .   s    *..vq9||k69EE||x6<<#7 A%%fllC(f*WZ`ZfZf*ff(v||++r    c                     t         j                  | d      }| j                  r!|st        |       sy| j                  t
        k(  S | j                  t
        k(  xr |dk\  S )zReturns True if action will necessarily consume the next argument.
    isoptional indicates whether the argument is an optional (starts with -).
    r   Tr   )r   r   option_stringsr   r   r   )r   
isoptionalr   s      r   action_is_greedyr&   ;   sW     +..vq9"5f"=||y((||y(C->!-CCr    c                       e Zd ZdZddZy)IntrospectiveArgumentParserzThe following is a verbatim copy of ArgumentParser._parse_known_args (Python 2.7.3),
    except for the lines that contain the string "Added by argcomplete".
    c           	          !"#$ t         j                           _        g  _         j                   j                        i  _         j                  D ]h  }|j                  }t        |j                        D ]B  \  }}j                  |g       }	|	j                  |d |        |	j                  ||dz   d         D j i  g }
t              }t        |      D ]b  \  }}|dk(  r*|
j                  d       |D ]  }|
j                  d        5 j                  |      }|d}n| |<   d}|
j                  |       d dj                  |
      t!               "t!               ## _        d"# fd	$  $fd} j%                         !! $fd	}g d
} rt'               }nd}||k  r`t)         D cg c]
  }||k\  s	| c}      }||k7  r ||      }||kD  r|}9|}| vr|| }j                  |       |} ||      }||k  r` ||      }j                  |d         !r8 j                  j                  !d
           j+                  t-        d              j.                  D ]<  }|j0                  s|"vst3        |      } j+                  t-        d      |z         >  j                  D ]  }|j0                  s|j                  D ]  }|#v s & |j                  D cg c])  }|j4                  t6        ust9        t3        |            + }}t-        d      } j+                  |dj                  |      z          fS c c}w c c}w )Nr   z---AO c                 $   j                  |        j                  | |      }|| j                  urQj                  |        
j                  | g       D ]+  }|v st	        d      }t        |      }t        | ||z         |t        ust        | t              r	  | ||       y y # t        $ r\ t        | t              rJ| j                  |d      j                  }t        |      j                         D ]  \  }}	t        ||	         w xY w)Nznot allowed with argument %sr   )add_get_valuesdefaultr   r   r   r
   r   r   r   BaseException_name_parser_map_argcomplete_namespacevarsitemssetattr)r   argument_stringsoption_stringargument_valuesconflict_actionmsgaction_namesubnamespacekeyvalueaction_conflicts	namespaceseen_actionsseen_non_default_actionsselfs             r   take_actionzBIntrospectiveArgumentParser._parse_known_args.<locals>.take_action   s&   V$"..v7GHO
 fnn4(,,V4'7';';FB'G GO&*BB%&DE&6&G+FC+4EFF	G h.*VEV2W4O]K 3X % 

 "&*;<'-'>'>q?Q'R'i'i*.|*<*B*B*D ;JC#IsE:; 
s   B* *A%Dc                 j   |    }t        |t              r|d   }t        |      dk(  r|\  }}}n|\  }}}}j                  }g }	 |j	                  |           | dz   S | ||d      }j
                  }	|dk(  rc|d   |	vr\|j	                  |g |f       |d   }
|
|d   z   }|dd  xs d }j                  }||v r||   }|}nt        d      }t        |||z        |dk(  r| dz   }|g}|j	                  |||f       nt        d      }t        |||z        | dz   }|d  }|g_	        dt        |<    |||      }||z   }|| }t        |      t        |<   t        |      sj                  j                  |       |j	                  |||f       nS|sJ |D ]  \  }}} |||        |S )Nr      r   r+   zignored explicit argument %r)r   listlen_match_argumentappendprefix_chars_option_string_actionsr   r
   active_actionsr   r"   remove)start_indexoption_tupler   r9   explicit_arg_match_argumentaction_tuples	arg_countcharscharnew_explicit_argoptionals_mapr<   stopargsstartselected_patternsarg_stringsarg_strings_patternextrasoption_string_indicesrE   rF   s                     r   consume_optionalzGIntrospectiveArgumentParser._parse_known_args.<locals>.consume_optional   sM   0=L,-+A< A%6B3|9E6q, "11NACM>MM+k":;&?*  + .vs ;I
 !--E A~-*:%*G%,,fb--HI,Q/(,|A(>+7+;+Ct((,(C(C(M9%2=%AF+;L")*H"IC"/l8J"KK #a*Q ,~%,,fdM-JK
 &&DE+FC,4FGG (!OE(;EF(C%+1(D'12&v. .v7H II 9,D&uT2D
 25T&v.)&1++226: "((&$)FG F ! =/< 9+mFD-89Kr    c                 4   
j                   }| d  } |	|      }t        	|      D ]   \  }}
j                  j                  |       " t        	|      D ]-  \  }}| | |z    }| |z  } t	        |      t
        |<    ||       / 	t	        |      d  	d d  | S N)_match_arguments_partialziprO   rL   rJ   r   )rQ   match_partialselected_pattern
arg_countsr   rW   r]   r`   ra   positionalsrE   rF   s          r   consume_positionalszJIntrospectiveArgumentParser._parse_known_args.<locals>.consume_positionals   s     99M2;<@&{4DEJ &)j%A 3!	##**623%(j%A *!	";y1HIy(-0Y"6*FD)	* )Z):;KNr    r   ztoo few argumentszargument %s is requiredz#one of the arguments %s is required rf   )r   clearr4   rO   fromfile_prefix_chars_read_args_from_files_action_conflicts_mutually_exclusive_groups_group_actions	enumerate
setdefaultextenditerrL   _parse_optionaljoinset_seen_non_default_actions_get_positional_actionsmaxminerrorr   _actionsrequiredr   helpr   str)%rE   r`   rB   
intermixedkwargsmutex_groupgroup_actionsimutex_action	conflictsarg_string_pattern_partsarg_strings_iter
arg_stringrR   patternrd   rm   rQ   max_option_string_indexindexnext_option_string_indexpositionals_end_indexstrings
stop_indexr   namegroupnamesr<   rA   ra   rb   rc   rl   rC   rD   rF   s%   ```                          @@@@@@@@r   _parse_known_argsz-IntrospectiveArgumentParser._parse_known_argsN   s     "&/#,.%%144[AK 8:!1:: 	9K'66M#,[-G-G#H 9<,77bI	  r!23  q1uw!789	9 !##% ,&'78 	9MAzT!(//4"2 9J,33C89  $33J?'!G/;)!,!G(//8!	9& !gg&>? %(E03 )A&	 	BT	 T	p 224	 	.  &)*?&@#&(#44'*?T+meX]alXlE+m'n$66(;K(H% );6"7K"7K "77%k2JKg&6 +;7K- 442 )5
 	k*+./
 &&{1~6JJw234 mm 	JF-+F3DJJw'@ADHI		J 44 	6E~~#22 
6F!99
6 EJDXDX:@\b\g\gow\w,V45E  ""GHCJJsSXXe_45	6 &  u ,nfs   
M"M">M'M'NF)__name__
__module____qualname____doc__r    r    r   r(   r(   I   s    H!r    r(   Nr   )argparser   r   r   r   r   r   r	   r
   r   r   r   r   typingr   r   r   r   r   r   __annotations__r   r"   r&   r(   r   r    r   <module>r      sV        ) )(* D% *-&
,DM!. M!r    