
    ,h;                     v    d dl mZmZmZmZ d dl mZmZmZmZm	Z	 d dl m
Z
mZ i Zd Zd Zd
dZ G d de      Zy	)    )ArgumentParserArgumentErrorSUPPRESS_SubParsersAction)OPTIONALZERO_OR_MOREONE_OR_MORE	REMAINDERPARSER)_get_action_name_c                 ^   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 )zt Returns 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)
_num_consumed_argsgetnargsr   r   r
   r	   r   
isinstanceintactionnum_consumed_argss     Y/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/argcomplete/my_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 )zV Returns 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 )z Returns 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 Zy)IntrospectiveArgumentParserz The 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\  r| c}      }||k7  r ||      }||kD  r|}8|}|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r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        | t              rJ| j                  |d      j                  }t        |      j                         D ]  \  }}	t        ||	         xY w)Nznot allowed with argument %sr   )add_get_valuesdefaultr   r   r   r   r   r   r   _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_actiont   s   V$"..v7GHO
 fnn4(,,V4'7';';FB'G GO&*BB >?&6&G+FC+4EFF	G h.!&*;<4O]K =

 "&*;<'-'>'>q?Q'R'i'i*.|*<*B*B*D ;JC#IsE:; s   B* *ADc                    |    }|\  }}}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)_match_argumentappendprefix_chars_option_string_actionsr   r   active_actionsr   lenr   remove)start_indexoption_tupler   r3   explicit_argmatch_argumentaction_tuples	arg_countcharscharnew_explicit_argoptionals_mapr6   stopargsstartselected_patternsarg_stringsarg_strings_patternextrasoption_string_indicesr?   r@   s                    r   consume_optionalzGIntrospectiveArgumentParser._parse_known_args.<locals>.consume_optional   s!    1=L2>/FM< "11NM >MM+k":;&?*  + .vs ;I
 !--E A~-*:%*G%,,fb--HI,Q/(,|A(>+7+;+Ct((,(C(C(M9%2=%AF+;L"#$B"CC"/l8J"KK #a*Q ,~%,,fdM-JK
   >?+FC,4FGG (!OE(;EF(C%+1(D'12&v. .v7H II 9,D&uT2D
 25T&v.)&1++226: "((&$)FGA H ! /< 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ziprF   rC   rG   r   )rI   match_partialselected_pattern
arg_countsr   rN   rT   rW   rX   positionalsr?   r@   s          r   consume_positionalszJIntrospectiveArgumentParser._parse_known_args.<locals>.consume_positionals   s     99M2;<@&{4DEJ &)j%A 3!	##**623%(j%A *!	";i0GHy(-0Y"6*FD)	* )Z)9:KNr   r   ztoo few argumentszargument %s is requiredz#one of the arguments %s is required r]   )r   clearr.   rF   fromfile_prefix_chars_read_args_from_files_action_conflicts_mutually_exclusive_groups_group_actions	enumerate
setdefaultextenditerrC   _parse_optionaljoinset_seen_non_default_actions_get_positional_actionsmaxminerrorr   _actionsrequiredr   helpr   )#r?   rW   r<   mutex_groupgroup_actionsimutex_action	conflictsarg_string_pattern_partsarg_strings_iter
arg_stringrJ   patternr[   rd   rI   max_option_string_indexindexnext_option_string_indexpositionals_end_indexstrings
stop_indexr   namegroupnamesr6   r;   rX   rY   rZ   rc   r=   r>   r@   s#   ```                        @@@@@@@@r   _parse_known_argsz-IntrospectiveArgumentParser._parse_known_args@   s     "&/# %%144[AK !1:: 	8K'66M#,[-G-G#H 8<,77bI	  r!23  q1uv!678	8 !##% ,&'78 	9MAz T!(//4"2 9J,33C89  $33J?'!G/;)!,!G(//8#	9( !gg&>? u#&5 )A&	 	DQ	 Q	j 224	 	.  &)*?&@#&(#44 (+2,)K' ,) (*$ 66(;K(H% );6"7K"7K "77%k2JKg&6 +;7K5 44: )5
 	k*+./
 &&{1~6JJq,-. mm 	DF-+F3DJJq!:;dBC		D 44 	6E~~#22 
6F!99
6 ,1+?+?=!' &8 ; .f5 =E = ABCJJsSXXe_45	6 &  {,)l=s   M=$MN)__name__
__module____qualname____doc__r    r   r   r#   r#   ;   s    K!r   r#   N)F)argparser   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r!   r#   r   r   r   <module>r      s;    P O K K ( -(,DP!. P!r   