
    =Ki'                      S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSK	r	SSK
JrJrJrJrJrJr  SSKJr  SSKJrJrJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJ r   SSK	J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+  SSK,J-r-J.r.J/r/J0r0J1r1J2r2J3r3  SSK4J5r5  SSK6J7r7  SSK8J9r9  SSK:J;r;  SSK<J=r=  SSK>J?r?  SSK@JArA  SSKBJCrC  SSKDJErEJFrFJGrG  SSKJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrPJQrQ  SSKDJRrRJSrSJTrTJUrUJVrVJWrWJXrX  SSKYJZrZ  \!(       a  SSK[J\r\   " S S\5      r] " S  S!\/5      r^ " S" S#\/5      r_\'" S$5      r`\"\`S-  \O4   ra\"\`\N4   rb\'" S%\cS&9rd\"\d\M4   re\"\d\L4   rf\"\d\P4   rg\"\d\K4   rh\ri\"\`\i4   rj\"\k\l   \0" / S'9\Q\I4   rm " S( S)\Z\$\`   5      rng)*z'Command-line interface settings source.    )annotationsN)SUPPRESSArgumentParserBooleanOptionalAction	NamespaceRawDescriptionHelpFormatter_SubParsersAction)defaultdict)CallableMappingSequence)Enum)cached_property)chain)dedent)SimpleNamespace)TYPE_CHECKING	AnnotatedAnyGenericLiteralNoReturnTypeVarcastget_args
get_originoverload)AliasChoices	AliasPath	BaseModelFieldPrivateAttrTypeAdapterValidationError)Representation)is_model_class)is_pydantic_dataclass)	FieldInfo)PydanticUndefined)typing_objects)is_union_origin   SettingsError)_lenient_issubclass_typing_base_WithArgsTypes   )
ForceDecodeNoDecodePydanticModel_CliDualFlag_CliExplicitFlag_CliImplicitFlag_CliPositionalArg_CliSubCommand_CliToggleFlag_CliUnknownArgs)_annotation_contains_types_annotation_enum_val_to_name_get_alias_names_get_model_fields_is_function_strip_annotatedparse_env_vars   )EnvSettingsSource)BaseSettingsc                  @   ^  \ rS rSrSSU 4S jjjrSU 4S jjrSrU =r$ )_CliInternalArgParserN   c                2   > [         TU ]  " S0 UD6  Xl        g )N )super__init___cli_exit_on_error)selfcli_exit_on_errorkwargs	__class__s      i/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pydantic_settings/sources/providers/cli.pyrM   _CliInternalArgParser.__init__O   s    "6""3    c                b   > U R                   (       d  [        SU 35      e[        TU ]  U5        g )Nzerror parsing CLI: )rN   r.   rL   error)rO   messagerR   s     rS   rW   _CliInternalArgParser.errorS   s+    &&"5gY ?@@grU   )rN   )T)rP   boolrQ   r   returnNone)rX   strr[   r   )__name__
__module____qualname____firstlineno__rM   rW   __static_attributes____classcell__rR   s   @rS   rH   rH   N   s    4 4 rU   rH   c                      \ rS rSrSrg)CliMutuallyExclusiveGroupY   rK   N)r^   r_   r`   ra   rb   rK   rU   rS   rf   rf   Y   s    rU   rf   c                  H  ^  \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   S\S'   / rS\S'   0 rS\S'   \" S5      rS\S'   \" 0 5      r	S\S'   \" S5      r
S\S'   \" 5       rS\S'           S/U 4S jjr\S0S j5       r\      S1S  j5       rS2S! jr\S3S" j5       r\S4S# j5       r\S5S$ j5       r\S5S% j5       r\S6S& j5       r\S7S' j5       r\S8S( j5       r\S5S) j5       r\S9S* j5       r\S9S+ j5       r\S9S, j5       r\S9S- j5       rS.rU =r$ ):_CliArg]   r   modelparserr]   
field_name
arg_prefixrZ   case_sensitivehide_none_type(bool | Literal['all', 'no_enums'] | None
kebab_casebool | Noneenable_decodingintenv_prefix_len	list[str]argsdict[str, Any]rQ   rK   tuple[str, ...]_alias_namesdict[str, int | None]_alias_pathsF_is_alias_path_onlyr(   _field_infoc                v  > [         T
U ]  " S0 UD6  Xl        [        U R                  U R
                  U R                  U R                  S9u  U l        U l	        U R                  R                  5        VVs0 s H  u  pEU R                   U 3U_M     nnnU R                  (       a  U R                   Hu  nU R                  U5      nU R                  / 0 S.S9X R                     U'   X R                     U   X R                     U'   X R                     U   X R
                     U'   Mw     OAU R                   U;  a1  XU R                      S '   X R                      S    X R
                     S '   UR                  5        H2  u  pU R                  / 0 S.S9X)   U'   X)   U   X R
                     U'   M4     g s  snnf )N)alias_path_argsro   )rx   rQ   )updaterK   )rL   rM   r   r?   rm   
field_infor}   ro   r{   r~   itemsrn   subcommand_dest
sub_modelssubcommand_alias
model_copydest)rO   r   
parser_mapvaluesnameindexalias_path_dests	sub_modelr   alias_path_destrR   s             rS   rM   _CliArg.__init__o   s    	"6"%6FOOT__d>O>O`d`s`s7
343 RVQbQbQhQhQjkQj+$t/v6=Qjk!__	#'#8#8#C EI__egsu\v_Ew
//01AB>HI]I]>^_o>p
//0;@JK_K_@`aq@r
??+,<=	 -
 YY..*.tyy!$'0:990Ed0KJ'-&6&<&<&>"O15QS_aHb1cJ'.1;1LU1SJ'. '? ls   6F5c                6    US;  a  UR                  SS5      $ U$ )NNF_-)replace)clsr   rr   s      rS   get_kebab_case_CliArg.get_kebab_case   s    )3=)Ht||C%RdRrU   c                  ^ ^ Sn[        U5      n[        U5       H  nUT R                  UT5      -  nM     U(       aF  [        U[        5      (       a1  U[        U U4S jUR                  R                  5        5       5      -  nU$ )NrK   c              3  N   >#    U  H  nTR                  UTS :H  5      v   M     g7f)allN)r   ).0r   r   rr   s     rS   	<genexpr>)_CliArg.get_enum_names.<locals>.<genexpr>   s)     xZwRV 2 24u9L M MZws   "%)rB   r   get_enum_namesr/   r   tuple__members__keys)r   
annotationrr   
enum_namestype_s   ` `  rS   r   _CliArg.get_enum_names   su     ')
%j1
j)E#,,UJ??J *-j$??%xZdZpZpZuZuZwxxxJrU   c                    U R                  [        U R                  5      S:  a  UR                  U R
                  5      $ U R                  U R
                  5      $ )NrD   )r   lenr   r^   preferred_aliasrr   )rO   r   s     rS   r   _CliArg.subcommand_alias   sS    """%doo"6":IVZVeVe
 	
@D@T@TVZVeVe
 	
rU   c                    U R                   $ N)r   rO   s    rS   r   _CliArg.field_info   s    rU   c                `    [         U R                  R                  ;   a  U R                   S3$ S $ )N:subcommand)r:   r   metadatarn   r   s    rS   r   _CliArg.subcommand_dest   s+    2@DOOD\D\2\$//"+.fbffrU   c                   U R                   (       d`  U R                  (       aO  U R                  R                  b8  U R                  (       d'  U R                   U R
                   3U R                  S  $ U R                   U R
                   3$ r   )r   rn   r   validation_aliasis_parser_submodelr   rv   r   s    rS   r   _CliArg.dest   ss     $$00<++ oo&t';';&<=d>Q>Q>STT//"4#7#7"899rU   c                    U R                   (       a  U R                  S   R                  SS5      $ U R                  S   $ )Nr   r   r   )rr   rx   r   r   s    rS   preferred_arg_name_CliArg.preferred_arg_name   s1    15tyy|##C-RdiiPQlRrU   c           	        [        U R                  R                  5      (       d  U R                  R                  4O[        U R                  R                  5      nU R                  (       a+  [	        U Vs/ s H  o"[        S 5      Ld  M  UPM     sn5      n/ nU H  n[        U[        4SS9(       a/  [        SU R                  R                   SU R                   35      e[        U[        4SS9(       a/  [        SU R                  R                   SU R                   35      e[        [        U5      5      (       d  [        [        U5      5      (       d  M  UR!                  [        U5      5        M     U$ s  snf )NF)is_include_originz.CliSubCommand is not outermost annotation for .z1CliPositionalArg is not outermost annotation for )r   r   r   rp   r   typer=   r:   r.   rk   r^   rm   r9   r&   rB   r'   append)rO   field_typesr   r   s       rS   r   _CliArg.sub_models   sM    DOO6677 __'')$//445 	
 K [K5PTUYPZCZK [\K,.
 E)%.1BV[\#DTZZEXEXDYYZ[_[j[jZkl  ,E4E3G[`a#G

H[H[G\\]^b^m^m]no  .u566:OP`afPg:h:h!!"25"9: !  !\s   5E:
E:c                    U R                   $ r   r{   r   s    rS   alias_names_CliArg.alias_names          rU   c                    U R                   $ r   )r}   r   s    rS   alias_paths_CliArg.alias_paths   r   rU   c                     U R                   S   $ )Nr   r   r   s    rS   r   _CliArg.preferred_alias   s      ##rU   c                    U R                   $ r   )r~   r   s    rS   is_alias_path_only_CliArg.is_alias_path_only   s    '''rU   c                    U R                   (       + =(       a8    [        U R                  R                  [        [
        [        [        [        4SS9$ )NTis_strip_annotated)	r   r=   r   r   listsetdictr   r   r   s    rS   is_append_action_CliArg.is_append_action   s=    ''' 
,FOO&&sD(G(Lae-
 	
rU   c                    U R                   (       + =(       a-    [        U R                  5      =(       a    U R                  (       + $ r   )r   rZ   r   r   r   s    rS   r   _CliArg.is_parser_submodel   s-    '''_D,A_$J_J_F__rU   c                    U R                   S L=(       aV    [        U R                   R                  ;   =(       d2    U R                  SL =(       a    [        U R                   R                  ;  $ r   )r   r4   r   rt   r3   r   s    rS   is_no_decode_CliArg.is_no_decode   sR    d* 
000 _$$-]+T__E]E]2]	
rU   )r{   r   r~   )r   r(   r   zOdefaultdict[str | FieldInfo, dict[int | None | str | type[BaseModel], _CliArg]]r   r   r[   r\   )r   r]   rr   rq   r[   r]   )r   z	type[Any]rr   rq   r[   rz   )r   type[BaseModel]r[   r]   )r[   r(   )r[   
str | None)r[   r]   )r[   list[type[BaseModel]])r[   rz   )r[   r|   )r[   rZ   ) r^   r_   r`   ra   __annotations__rx   rQ   r"   r{   r}   r~   r   rM   classmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rb   rc   rd   s   @rS   ri   ri   ]   s   JKOO88  D)FN$/OL/3*5b/L'9 +E 22(]K*TT dT 	T
 
T4 S S 	"	0X			 	

     g g 
: 
: S S  . ! ! ! ! $ $ ( ( 
 

 ` ` 
 
rU   ri   T_CliBoolFlag)bound)defaultc                  
  ^  \ rS rSrSrSSSSSSSSSSSSSSSSS\R                  \R                  \R                  \R                  \R                  \4                                                 S1U 4S jjjr\S2S j5       r\S3S j5       r\S4S j5       rSSS	.     S5U 4S
 jjjr\S6S j5       r\S4S j5       rSS.   S7S jjrS8S jr        S9S jrS:S jrS;S jrS<S jrS=S jrS>S jrS?S jrS@S jrSAS jr\SBS j5       r          SCS jrSDS jr\R                  \R                  \R                  \R                  \R                  \4                 SES jjrSFS jr S0 S4                       SGS jjr!SHS  jr"SIS! jr#          SJS" jr$              SKS# jr%                              SLS$ jr&              SMS% jr'SNS& jr(SOSPS' jjr)SQS( jr*SQS) jr+          SRS* jr,SSS+ jr-          STS, jr.  SU         SVS- jjr/\0      SWS. j5       r1    SX           SYS/ jjr2S0r3U =r4$ )ZCliSettingsSource   a0  
Source class for loading settings values from CLI.

Note:
    A `CliSettingsSource` connects with a `root_parser` object by using the parser methods to add
    `settings_cls` fields as command line arguments. The `CliSettingsSource` internal parser representation
    is based upon the `argparse` parsing library, and therefore, requires the parser methods to support
    the same attributes as their `argparse` library counterparts.

Args:
    cli_prog_name: The CLI program name to display in help text. Defaults to `None` if cli_parse_args is `None`.
        Otherwise, defaults to sys.argv[0].
    cli_parse_args: The list of CLI arguments to parse. Defaults to None.
        If set to `True`, defaults to sys.argv[1:].
    cli_parse_none_str: The CLI string value that should be parsed (e.g. "null", "void", "None", etc.) into `None`
        type(None). Defaults to "null" if cli_avoid_json is `False`, and "None" if cli_avoid_json is `True`.
    cli_hide_none_type: Hide `None` values in CLI help text. Defaults to `False`.
    cli_avoid_json: Avoid complex JSON objects in CLI help text. Defaults to `False`.
    cli_enforce_required: Enforce required fields at the CLI. Defaults to `False`.
    cli_use_class_docs_for_groups: Use class docstrings in CLI group help text instead of field descriptions.
        Defaults to `False`.
    cli_exit_on_error: Determines whether or not the internal parser exits with error info when an error occurs.
        Defaults to `True`.
    cli_prefix: Prefix for command line arguments added under the root parser. Defaults to "".
    cli_flag_prefix_char: The flag prefix character to use for CLI optional arguments. Defaults to '-'.
    cli_implicit_flags: Controls how `bool` fields are exposed as CLI flags.

        - False (default): no implicit flags are generated; booleans must be set explicitly (e.g. --flag=true).
        - True / 'dual': optional boolean fields generate both positive and negative forms (--flag and --no-flag).
        - 'toggle': required boolean fields remain in 'dual' mode, while optional boolean fields generate a single
          flag aligned with the default value (if default=False, expose --flag; if default=True, expose --no-flag).
    cli_ignore_unknown_args: Whether to ignore unknown CLI args and parse only known ones. Defaults to `False`.
    cli_kebab_case: CLI args use kebab case. Defaults to `False`.
    cli_shortcuts: Mapping of target field name to alias names. Defaults to `None`.
    case_sensitive: Whether CLI "--arg" names should be read with case-sensitivity. Defaults to `True`.
        Note: Case-insensitive matching is only supported on the internal root parser and does not apply to CLI
        subcommands.
    root_parser: The root parser object.
    parse_args_method: The root parser parse args method. Defaults to `argparse.ArgumentParser.parse_args`.
    add_argument_method: The root parser add argument method. Defaults to `argparse.ArgumentParser.add_argument`.
    add_argument_group_method: The root parser add argument group method.
        Defaults to `argparse.ArgumentParser.add_argument_group`.
    add_parser_method: The root parser add new parser (sub-command) method.
        Defaults to `argparse._SubParsersAction.add_parser`.
    add_subparsers_method: The root parser add subparsers (sub-commands) method.
        Defaults to `argparse.ArgumentParser.add_subparsers`.
    format_help_method: The root parser format help method. Defaults to `argparse.ArgumentParser.format_help`.
    formatter_class: A class for customizing the root parser help text. Defaults to `argparse.RawDescriptionHelpFormatter`.
NTc                x  > Ub  UO,UR                   R                  S[        R                  S   5      U l        Ub  UOUR                   R                  SS5      U l        Ub  UOUR                   R                  SS5      U l        U(       d  U R                  SL a  SOSnX@l        Ub  UOUR                   R                  S	S5      U l        Ub  UOUR                   R                  S
S5      U l	        U	b  U	OUR                   R                  SS5      U l
        U
b  U
OUR                   R                  SS5      U l        Ub  UOUR                   R                  SS5      U l        U R                  S-  U l        U R                  (       at  U
R                  S5      (       d;  U
R                  S5      (       d%  U
R!                  SS5      R#                  5       (       d  [%        SU
 35      eU =R                  S-  sl        Ub  UOUR                   R                  SS5      U l        Ub  UOUR                   R                  SS5      U l        Ub  UOUR                   R                  SS5      U l        Ub  UOUR                   R                  SS 5      U l        Ub  UOSnU(       d  Ub  [%        S5      e[.        TU ]a  USU R                  SU R                  US9  UcO  [3        U R                  U R                  UR4                  c  S O[7        UR4                  5      UU R                  SSS9OUnU R9                  UUUUUUUUS9  US;  au  USL a  [        R                  SS  nO2[;        U[<        [>        45      (       d  [%        S[A        U5       35      eU RC                  U RE                  U RF                  U5      S9  g g )Ncli_prog_namer   cli_hide_none_typeFcli_avoid_jsonTr\   nullcli_enforce_requiredcli_use_class_docs_for_groupsrP   
cli_prefix cli_flag_prefix_charr   r2   r   z'CLI settings source prefix is invalid: cli_implicit_flagscli_ignore_unknown_argscli_kebab_casecli_shortcutszGCase-insensitive matching is only supported on the internal root parser)env_nested_delimiterenv_parse_none_strenv_parse_enums
env_prefixro   )rP   progdescriptionformatter_classprefix_charsallow_abbrevadd_help)root_parserparse_args_methodadd_argument_methodadd_argument_group_methodadd_parser_methodadd_subparsers_methodformat_help_methodr   r   rD   z<cli_parse_args must be a list or tuple of strings, received parsed_args)$model_configgetsysargvr   r   r   cli_parse_none_strr   r   rP   r   r   _cli_flag_prefix
startswithendswithr   isidentifierr.   r   r   r   r   rL   rM   rH   __doc__r   _connect_root_parser
isinstancer   r   r   _load_env_vars_parse_argsr   )rO   settings_clsr   cli_parse_argsr  r   r   r   r   rP   r   r   r   r   r   r   ro   r   r  r  r  r  r  r  r   rR   s                            rS   rM   CliSettingsSource.__init__1  s   8 +6ML<U<U<Y<YZiknkskstukv<w 	
 "- **../CUK 	 -8Nl>W>W>[>[\lns>t 	 "+/+>+>$+FF"4 $/ !**../EuM 	! -8 ***../NPUV 	* !, **../BDI 	
 )3(>*LD]D]DaDabnprDs $/ !**../EsK 	!
 !% 9 9A =??$$S))Z-@-@-E-EZM_M_`cegMhMuMuMwMw#&Mj\$Z[[OOs"O "- **../CUK 	 '2 $**../H%P 	$ -8Nl>W>W>[>[\lns>t 	 +6ML<U<U<Y<YZiko<p 	 ,:+E4+"9 ijj!$#66 ) 	 	
& " ""&"8"8''$0$8$8$@Df\MaMaFb /!66"  	 	!!#/ 3&?/"71+ 	" 		
 .%!$!"u>>#RSWXfSgRhi  D,<,<T=M=M~,^_ /rU   c                    g r   rK   r   s    rS   __call__CliSettingsSource.__call__  s    *-rU   c                   g)a  
Parse and load the command line arguments list into the CLI settings source.

Args:
    args:
        The command line arguments to parse and load. Defaults to `None`, which means do not parse
        command line arguments. If set to `True`, defaults to sys.argv[1:]. If set to `False`, does
        not parse command line arguments.

Returns:
    CliSettingsSource: The object instance itself.
NrK   )rO   rx   s     rS   r  r    s     	rU   c                   g)a@  
Loads parsed command line arguments into the CLI settings source.

Note:
    The parsed args must be in `argparse.Namespace`, `SimpleNamespace`, or vars dictionary
    (e.g., vars(argparse.Namespace)) format.

Args:
    parsed_args: The parsed args to load.

Returns:
    CliSettingsSource: The object instance itself.
NrK   rO   r  s     rS   r  r         	rU   )rx   r  c               >  > Ub  Ub  [        S5      eUbU  USL a  U R                  0 S9$ USL a  [        R                  SS  nU R                  U R	                  U R
                  U5      S9$ Ub#  U R                  [        R                  " U5      S9$ [        TU ]!  5       $ )Nz/`args` and `parsed_args` are mutually exclusiveFr  TrD   )	r.   r  r  r  r  r   copyrL   r  )rO   rx   r  rR   s      rS   r  r    s      7 QRRu}**r*::t|xx|&&43C3CDDTDTVZ3[&\\$&&499[3I&JJ7#%%rU   c                    g r   rK   r   s    rS   r   CliSettingsSource._load_env_vars  s    :=rU   c                   g)aS  
Loads the parsed command line arguments into the CLI environment settings variables.

Note:
    The parsed args must be in `argparse.Namespace`, `SimpleNamespace`, or vars dictionary
    (e.g., vars(argparse.Namespace)) format.

Args:
    parsed_args: The parsed args to load.

Returns:
    CliSettingsSource: The object instance itself.
NrK   r  s     rS   r  r$    r   rU   r  c                 ^	 Uc  0 $ [        U[        [        45      (       a  [        U5      nU R	                  U5      nU R
                  R                  5        Hz  u  p4[        U[        5      (       d  M  UR                  S5      (       d  M4  UR                  5        Vs/ s H  oUR                  PM     sn H  nXb;  d  M
  U R                  X'   M     M|     UR                  5        VVs0 s H*  u  pxUR                  S5      (       a  M  U[        Ld  M(  Xx_M,     nnnU(       a;  [        U[        S9m	[        U	4S jUR!                  5        5       5      (       d  SUT	'   UR#                  U R$                  5        ['        [)        [*        [        [        4   U5      U R,                  U R.                  U R                  5      U l        U $ s  snf s  snnf )Nr   )keyc              3  >   >#    U  H  nT S 3U;   d  M  Uv   M     g7f)r   NrK   )r   rm   last_selected_subcommands     rS   r   3CliSettingsSource._load_env_vars.<locals>.<genexpr>  s'     w4FjMeLffgJhlvJvzz4Fs   	{})r  r   r   vars_resolve_parsed_args_parser_mapr   r]   r  r   r   r  r)   maxr   anyr   r   _cli_unknown_argsrC   r   r   ro   env_ignore_emptyenv_vars)
rO   r  selected_subcommandsarg_destarg_mapargr   r'  valr)  s
            @rS   r  r$    s    IkI#?@@{+K#88E!%!1!1!7!7!9H(C((X->->}-M-M<CNN<L'M<LS<L'MO&B7;7N7N4 (N ": (--/
/<<. 36>O3O CH/ 	 

  '*+?S'I$wK4D4D4Fwww8<454112&c"K0!!##	
 / (N
s   G)G	GGc                   / n[        UR                  5       5       GH  u  p4[        U[         5      (       a  U R                  XU5      (       a  M4  U R                  R                  U0 5      R                  S 5      nU(       a&  UR                  (       a  SR                  U5      X'   M  U R                  XC5      X'   M  UR                  S5      (       a0  Ub-  UR                  U R                  U   U   R                  5        M  U R                  S:X  d  M  [        U[        5      (       d  GM  UR                  SS5      nU R                  R                  U0 5      R                  S 5      nU(       d  GMX  UR                  R                   (       d  GMv  XeR#                  UR                  R                   S5      ;   d  GM  SU;   a"  [%        SUR                  SS5       SU S	35      eXaU'   GM     U$ )
N,r   r   r   r   FzInput should be kebab-case "z", not "")r   r   r  %_is_nested_alias_path_only_workaroundr.  r
  r   join_merge_parsed_listr  r   r   r   r]   r   r   r   r   
ValueError)rO   r  r4  rm   r8  cli_arg	snake_vals          rS   r-  &CliSettingsSource._resolve_parsed_args#  s   *,#K$5$5$78OJ#t$$==kWZ[[ **..z2>BB4Hw33.1hhsmK+*.*A*A#*R'$$]33$++D,<,<Z,H,M,R,RS$$-*S#2F2FKKS1	**..z2>BB4HG**555"&<&<W=O=O=Z=Z\a&bbcz(+GTWY\H]G^^fgjfkkl)mnn.7
+3  96 $#rU   c                   U R                   R                  U0 5      R                  5       nU(       d  g[        [	        U5      5      nUR
                  (       am  UR                  R                  S5      (       aM  X	 UR                  SS nSUR                   SU R                  X25       3nXa;  a  SU S3OX   SS  S	U S3X'   g
g)z
Workaround for nested alias path environment variables not being handled.
See https://github.com/pydantic/pydantic-settings/issues/670
Fr   Nr;  z": {}, T)
r.  r
  r   nextiterr   rn   r  r   r>  )rO   r  rm   r8  	known_argr7  nested_dest
nested_vals           rS   r<  7CliSettingsSource._is_nested_alias_path_only_workaroundB  s     $$((R8??A	4	?#!!cnn&=&=c&B&B'.."-KS001T5L5LS5]4^_J 1 ZL##0"56bBG $
 rU   c                L   U R                   R                  U[        5      nU[        L d9  [        [	        U5      5      (       a   [        S [        U5       5       5      (       d  UnX44$ U(       a.  [        U5      S:  d  US   R                  S5      (       a  [        O[        nX44$ )Nc              3  |   #    U  H2  nU[        S 5      Ld  M  [        U5      [        [        4;  d  M.  Uv   M4     g 7fr   )r   r   r   r   )r   r   s     rS   r   ACliSettingsSource._get_merge_parsed_list_types.<locals>.<genexpr>^  s;      1ET
* /9%/@w/W 1s   <<	<rD   r   [)
_cli_dict_argsr
  r   r+   r   r0  r   r   r  r]   )rO   parsed_listrm   
merge_typeinferred_types        rS   _get_merge_parsed_list_types.CliSettingsSource._get_merge_parsed_list_typesY  s    ((,,Z>
$":j#9:: %j1   'M (( %0S5E5I[YZ^MfMfgjMkMkDruM((rU   c           	        / nS nU R                   R                  U0 5      n [        [        [	        UR                  5       5      5      R                  R                  5      n[        [        [	        UR                  S/5      5      5      5      [        L n[        U5       H  u  pUR                  U5      n
U
S L =(       d    U
R                  (       + nUc  UnOXK:w  a  [        S5      eU(       aa  U	R!                  SS5      n	 U	R#                  S5      (       a  U	R%                  S5      (       a  U	SS OU	n['        U5        U(       a  SU S3OUn	O1U	R#                  S5      (       a  U	R%                  S5      (       a  U	SS n	UR+                  U	5        M     SR-                  U5      nU(       a  S	U S
3$ U$ ! [        [        4 a    S n GN6f = f! [(         a     NZf = f)N1zKMixing Decode and NoDecode across different AliasPath fields is not allowed\z\\r;  rD   rD  r:  rQ  ])r.  r
  r#   rH  rI  r   r   r   r   validate_pythonr]   StopIterationr$   	enumerater   r.   r   r  r  floatr?  r   r=  )rO   merged_listrm   decode_listis_use_decodecli_arg_maplist_adapteris_num_type_strr   itemr@  	is_decodeunquoted_itemmerged_list_strs                 rS   _merged_list_to_str%CliSettingsSource._merged_list_to_strj  s   !#%)&&**:r:	# +Dk6H6H6J1K,L,W,W,b,b cL"4\-I-I3%-P(Q#RSWZZO %[1KE!ooe,G4Cw/C/C+CI$ )+#$qrr||D&126//#2F2F4==Y\K]K]D2JcgM-(3BQ}oQ/D %%$--*<*<Abzt$# 2$ ((;/)6?#1%KOK+ / 	#"O	# " s%   A2F5 AG5G
G
GGc                    / nSnU R                  X5      u  pVU GH%  n[        U[        5      (       d    GOUR                  5       nUR	                  S5      (       a)  UR                  S5      (       a  USS R                  5       nU(       a  UR                  5       nUR	                  S5      (       a  U R                  XsU5      nSnOSUR	                  S5      (       d  UR	                  S5      (       a  U R                  Xs5      nO U R                  XsU5      nSnU(       a  M  U(       a  GM  U R                  XsU5      nGM(     U[        L a  US	   $ U[        L a  U R                  X25      $ 0 n	U H(  n
U	R                  [        R                  " U
5      5        M*     [        R                  " U	5      $ ! [         a$  nXVL a  UeUnU R                  XsU5      n S nANS nAff = f! [          a  n[#        S
U SU 35      eS nAff = f)NFrQ  r[  rD   rD  r:  rE  Tr   zParsing error encountered for z: )rV  r  r]   stripr  r  _consume_comma_consume_object_or_array_consume_string_or_numberr?  r   rj  r   jsonloadsdumps	Exceptionr.   )rO   rS  rm   r`  is_last_consumed_a_valuerT  rU  r8  emerged_dictrf  s              rS   r>  $CliSettingsSource._merge_parsed_list  s   *	T%'K',$(,(I(I+(b%J"!#s++ iik>>#&&3<<+<+<a)//+C))+C~~c**"11#D\]380>>#..#..2E2E"&"?"?"QCc&*&D&DSWa&b 480! c" 0/--c@XYC5 #8 S "1~%t#//HH.0'D&&tzz$'78 (zz+..# $. c#-#>*+G-:
&*&D&DSWa&b	c$  	T"@Bqc RSS	Ts[   DG$ F3	G$ $G$ .$G$ G$ -AG$ 3
G!=GG$ G!!G$ $
H.G??Hc                <    U(       d  UR                  S5        USS  $ )Nz""rD   )r   )rO   rf  r`  ru  s       rS   rn   CliSettingsSource._consume_comma  s    't$ABxrU   c                z   SnUR                  S5      (       a  SOSnSn[        S[        U5      5       Hv  nX   S:X  a  XS-
     S:w  a	  U(       + nM  U(       a  M(  X   S;   a  US-  nM7  X   S	;   d  MA  US-  nX   U:X  d  MP  US
:X  d  MX  UR                  US US-    5        XS-   S  s  $    [	        SU S35      e)NrD   rE  rF  r[  Fr;  rZ  )rE  rQ  )rF  r[  r   zMissing end delimiter ")r  ranger   r   r.   )rO   rf  r`  countclose_delimin_strconsumeds          rS   ro  *CliSettingsSource._consume_object_or_array  s    !__S11csaT+H~$l);t)C#:-
:-
>[0UaZ&&tNhl';<1// , 5k]!DEErU   c                   U[         La  SO
[        U5      nSnU[        U5      :  aF  X   S:X  a  US:X  d  XS-
     S:w  a  U(       + nU(       d	  X   S:X  a  OUS-  nU[        U5      :  a  MF  U(       a  [        S5      eUS U R                  5       nU[        [         4;   a   [        U5        UR                  U5        OS
 UR                  SS5       5       u  pxUR                  S5      (       aP  UR                  S5      (       d:  UR                  S5      (       d$  UR                  S5      (       a  [        SU 35      eUR                  S5      UR                  S5      pUR                  [        R                  " Xx05      5        XS  $ ! [         a7    X`R                  :X  a  SnUS	;  a  UR                  S5      (       d  SU S3n GNf = f)Nr   Fr;  rD   rZ  r:  zMismatched quotesr   )truefalser   c              3  $   #    U  H  ov   M     g 7fr   rK   )r   kvs     rS   r   >CliSettingsSource._consume_string_or_number.<locals>.<genexpr>  s     >%=r%=s   =z1Dictionary key=val parameter is a quoted string: )r]   r   r.   rm  r   r_  r?  r  r  r   splitr  rq  rs  )	rO   rf  r`  rT  r  is_find_end_quote
val_stringr'  r8  s	            rS   rp  +CliSettingsSource._consume_string_or_number  s   "#-13t9!T"~$(a-41;MQU;U(9$9!$3)>MH T"  344)8_**,
$$3j! z*>Z%5%5c1%=>HC~~c""3<<+<+<S^^TWEXEX]`]i]ijm]n]n #TU_T`!abbyy~syy~tzz3*56I  3!8!88!'J%>>zG\G\]`GaGa#$ZL!2J	3s   $F =GGc                   [         UR                  ;   a  SnO[        UR                  ;   a  SnOl[        UR                  ;   a@  Sn[	        UR
                  [        5      (       d  [        U SUR                   SU S35      eO[        UR                  ;   a  SnOg UR                  [        La  [        U SUR                   SU S35      eg )	NCliImplicitFlagCliExplicitFlagCliToggleFlagz
 argument r   z must have a default bool valueCliDualFlagz is not of type bool)r8   r   r7   r;   r  r   rZ   r.   r^   r6   r   )rO   rk   rm   r   cli_flag_names        rS   _verify_cli_flag_annotations.CliSettingsSource._verify_cli_flag_annotations  s    z222-M!4!44-Mz222+Mj00$77#$oZ/?qLkl  8 Z000)M  ,=/ENN;K1ZLXl mnn -rU   c           	        / n/ / / pTn[        U5      R                  5        GH  u  pg[        UR                  ;   a  UR	                  5       (       d  [        SUR                   SU S35      e[        Xg5      tp[        U5      S:  a  [        SUR                   SU S35      e[        UR                  5       V
s/ s H  o[        S 5      Ld  M  U
PM     nn
U HA  n[        U5      (       a  M  [        U5      (       a  M'  [        SUR                   SU S35      e   UR                  Xg45        GM  [        UR                  ;   a  [        Xg5      tp[        U5      S:  a  [        SUR                   SU S35      e[!        UR                  ["        [$        [&        [(        [*        4SS	9nU(       d  UR                  Xg45        GM  UR                  Xg45        GM  U R-                  XU5        UR                  Xg45        GM     U(       a  [        U5      S:  a@  S
R/                  U VVs/ s H  u  pUPM	     snn5      n[        UR                   SU 35      eU(       aB  S
R/                  X$-    VVs/ s H  u  pUPM	     snn5      n[        UR                   SU 35      eX2-   U-   U-   $ s  sn
f s  snnf s  snnf )Nzsubcommand argument r   z has a default valuerD   z has multiple aliasesz$ has type not derived from BaseModelzpositional argument Tr   rG  z- has multiple variadic positional arguments: z= has variadic positional arguments and subcommand arguments: )r@   r   r:   r   is_requiredr.   r^   r?   r   r   r   r   r&   r'   r   r9   r=   r   r   r   r   r   r  r=  )rO   rk   positional_variadic_argpositional_argssubcommand_argsoptional_argsrm   r   r   r   r   r   
field_typer   r   infofield_namess                    rS   _sort_arg_fields"CliSettingsSource._sort_arg_fields  s   "$:<b"-&7&>&D&D&F"J!4!44!--//'*>u~~>NaPZ|[o(pqq&6z&NOK;'!++.B5>>BRRST^S__t,uvv6>z?T?T6U"q6UUfjkofpYp56UK"q&1
 .z : :>ST^>_>_"/"6u~~6Fa
|Sw x#  '2
  &&
'?@"j&9&99"2:"J{#a''*>u~~>NaPZ|[p(qrr#=))D#tXw+Odh$  (#**J+CD+22J3KL11%ZP$$j%=>9 'G< #*+a/"ii@W(X@W*$@W(XY#u~~&66cdocp$qrr "ii@W@i(j@i*$@i(jk#~~&&cdocpq  8?J]ZZA #r0 )Y )ks   :J/J/,J4
5J:
c                    U R                   $ )z#The connected root parser instance.)_root_parserr   s    rS   r   CliSettingsSource.root_parser)  s        rU   c                   ^ ^^ TbJ  T R                   SL a;  TS:X  a5  [        T R                  [        5      (       a    S       SUU 4S jjjnU$ Tc
  SU4S jjnU$ T$ )NFr  c                v  > / nU(       a*  [         R                  " [         R                  " U5      5      O/  Hw  nSTR                   S3n[        R
                  " SU S3U5      nU(       a1  UR                  S5      R                  5       UR                  S5      -   nUR                  U5        My     T" XU5      $ )NrZ  z{1,2}z^(z[^\s=]+)(.*)rD   r2   )	shlexr  r=  r   rematchgrouplowerr   )	r   rx   	namespaceinsensitive_argsr7  flag_prefixmatchedparser_methodrO   s	          rS   parse_args_insensitive_methodOCliSettingsSource._connect_parser_method.<locals>.parse_args_insensitive_method8  s    
 $& <@5;;uzz$'78bHC%&t'@'@&A"IK hh"[M'FLG%mmA.446q9II$++C0 I %[INNrU   c                 "   > [        ST S35      e)Nz0cannot connect CLI settings source root parser: z. is set to `None` but is needed for connectingr-   )rx   rQ   method_names     rS   none_parser_methodDCliSettingsSource._connect_parser_method.<locals>.none_parser_methodJ  s$    #F{m  TB  C rU   )NN)r   rH   rx   z"list[str] | tuple[str, ...] | Noner  zNamespace | Noner[   r   )rx   r   rQ   r   r[   r   )ro   r  r  rH   )rO   r  r  rx   rQ   r  r  s   ```    rS   _connect_parser_method(CliSettingsSource._connect_parser_method.  s     %##u,224,,.CDD
 <@.2O2O8O ,O 	O O 10"
 &% ! rU   c                <   ^ U R                  US5      mSU4S jjnU$ )Nr  c                F  > UR                  S5      (       d  UR                  S5        T" U 40 UD6$ S Vs0 s H  o"U;   d  M
  X!R                  U5      _M     nnUS==   S-  ss'   T" U 40 UD6n[        US5      (       d  [        S5      eUR                  " S0 UD6$ s  snf )	N _is_cli_mutually_exclusive_grouprequired)titler   r  z (mutually exclusive)add_mutually_exclusive_groupzcannot connect CLI settings source root parser: group object is missing add_mutually_exclusive_group but is needed for connectingrK   )pophasattrr.   r  )rl   rQ   r7  main_group_kwargsr  add_argument_groups        rS   add_group_methodACliSettingsSource._connect_group_method.<locals>.add_group_methodW  s    ::@AA

:&)&;F;;E]$oE]chnan%9S**S/%9E]!$o!'*.EE**6G5FGu&DEE'l  99CFCC %ps   	BB)rl   r   rQ   r   r[   r   )r  )rO   r  r  r  s      @rS   _connect_group_method'CliSettingsSource._connect_group_methodT  s&    !889RTop	D  rU   c	                x  ^  0 T l         SU 4S jjn	UT l        Uc#  T R                  (       a  U	O[        R                  nT R                  US5      T l        T R                  US5      T l        T R                  U5      T l	        T R                  US5      T l
        T R                  US5      T l        T R                  US5      T l        UT l        0 T l        [        [         5      T l        T R%                  5         T R'                  T R(                  T R*                  / T R,                  T R,                  S / [.        S9  g )	Nc                    > [         R                  " U 0 UD6u  pTR                   H  nUTR                  U'   M     [        [        U 5      $ r   )r   parse_known_argsr1  r   r   )rx   rQ   unknown_argsr   rO   s       rS   _parse_known_argsACliSettingsSource._connect_root_parser.<locals>._parse_known_argsu  sH    !/!@!@$!Q&!QD../;&&t, /	4((rU   r  r  r  r  r  rl   rk   
added_argsrn   subcommand_prefixr  alias_prefixesmodel_default)rx   r   rQ   r   r[   r   )r1  r  r   r   
parse_argsr  r  _add_argumentr  
_add_group_add_parser_add_subparsers_format_help_formatter_classrR  r
   r   r.  _add_default_help_add_parser_argsr   r  r   r)   )
rO   r   r  r  r  r  r  r  r   r  s
   `         rS   r  &CliSettingsSource._connect_root_parserh  s.    8:	) ($595Q5Q 1WeWpWp667HJ]^!889LNcd445NO667HJ]^#::;PRij 778JL`a /;=lwm
 	 ####"oo+ 	 		
rU   c           	     |   [        U R                  [        5      (       a  U R                  (       dI  [	        U R
                  5      R                  5        H"  u  p[        XU R                  S9tp4SU;   d  M"    g    U R                  U R                  U R                  S S  S3U R                  S S  S3S[        SS9  g g )N)ro   helprD   hr2   zshow this help message and exit)actionr   r  )r  r  rH   r   r@   r  r   r?   ro   r  r   r  r   )rO   rm   r   r   r   s        rS   r  #CliSettingsSource._add_default_help  s    d'')>????.?@Q@Q.R.X.X.Z*J&6z^b^q^q&rOK, /[
   ((!,-Q/((!,-T2 6   @rU   Fc                L   S n0 n[        [        U5      5      (       d  [        [        U5      5      (       a  [        [        U5      U5      (       d  S OUnU R	                  U5       GH  u  p[        UUU R                  UUUU R                  U R                  U R                  U R                  R                  S5      U R                  S9nUR                  UR                  5        UR                  (       Ga  UR                    GH  nUR#                  U5      nU R                  UR                     U   nU/Ul        SUR&                  S'   U R(                  UR&                  S'   UR*                  c  S O[-        UR*                  5      UR&                  S'   [/        UR                   5      S:  a  S OUR0                  UR&                  S'   U R2                  (       a1  UR*                  c  S O[-        UR*                  5      UR&                  S'   Uc:  U R5                  US	U S
3[/        UR                   5      S:  a  UR0                  OS S9OUn[7        US5      (       a1  UR8                  (       a  UR8                  S S  SU S3OSU S3Ul        U R:                  " U/UR$                  Q70 UR&                  D6Ul        U R?                  UR<                  U/ UR@                   S3U URB                   S3S / [D        S9  GM     GM  U RF                  nUR@                  UR&                  S'   [H        UR&                  S'   U RK                  XX5      UR&                  S'   U RM                  URN                  5      UR&                  S'   U RP                  =(       a    URS                  5       =(       a    U[D        L UR&                  S'   U RU                  UUUUU
U5      nU(       a  UR&                  S   U;   a  GM  U RW                  UR&                  UURX                  5        [Z        UR\                  ;   a+  U R_                  UR&                  UURB                  U5      u  nnU Ra                  UR&                  X5        UR                    Vs/ s H  nUULd  M
  UPM     nnURb                  (       aV  [e        URN                  SS5      (       d:  U(       a3  U Rg                  UUUUUUUUUR&                  UUURh                  UU	S9  GM  [j        UR\                  ;   a  / U Rl                  UR&                  S   '   GM  URn                  (       a  GM  [q        U[r        5      (       a  U Rt                  " U40 UD6nUc  UOUnUR&                  R                  S5      S:X  a  US-  nU Vs/ s H  nUS [/        U5      S:X  a  SOS   U 3PM     snUl        U Rv                  " U/UR$                  Q70 UR&                  D6  U[y        U5      -  nGM     U R{                  XX4XV5        U$ s  snf s  snf )Nrt   )rl   r   r   rk   rm   rn   ro   rp   rr   rt   rv   Fr   r   r   rD   r  subcommandsr   )r  r   r   metavarrD  r:  rF  rE  r   r  r   r   r  __pydantic_root_model__)r  is_model_suppressedr  store_falseno-)>r&   r   r'   
issubclassr  ri   r.  ro   r   r   configr
  rv   r   r   r   r   r   rx   rQ   r  r  r   r   r   r   r  r  r  r  rl   r  r   r   r)   r  CLI_SUPPRESS_help_format_metavar_formatr   r   r  _get_arg_names_convert_append_actionr   r9   r   _convert_positional_arg_convert_bool_flagr   getattr_add_parser_submodelsr   r<   r1  r   r  r   r  r  r   _add_parser_alias_paths)rO   rl   rk   r  rn   r  r  r  r  r  discriminator_valsis_last_discriminator
subparsersr   rm   r   r7  r   r   subcommand_argr  	arg_namesmnon_recursive_sub_modelscontextr   s                             rS   r  "CliSettingsSource._add_parser_args  s    
13
  ] 3448MdS`Na8b8b"4#6>> 
  	 '+&;&;E&B"J%++%%#22#66.. $0A B#22C ""3??3"""!$I'*';';I'F$%)%5%5c6I6I%JK[%\N+;*<N'<AN)).9?C?T?TN))*;< ) 1 1 9viFWFW?X #))-8 =@<ORS<SDYcYoYoN))&199@I@Q@Q@Y_efofwfw_x--f5 &- ,,""/$.<{!;BEcnnBUXYBY
(>(>_c	 -  (  z955  *11  *11#267q9I8J"M#%&6%7r!: #* -1,<,<Z,w.J]J],waoavav,wN)))-44'#%&)hhZq>->,?@S@S?TTU*V"')&7 * 	A "0V $(#8#8%(XX

6"(4

9%%)%6%6z}%r

6"(,(<(<Z=R=R(S

9%--q*2H2H2Jq}`qOq 

:& !//%"&)	 !SZZ%7:%E++CJJ
CDXDXY$
(;(;;-1-I-I

J0C0C].*I{ ''

JN7:~~+X~!RWA~(+X**#J$9$9;TV[\\0..0"")#!

""&3,? /   %
(;(;;ACD**3::f+=>///!%.. $ @% @(-f5Gzz~~h/=@#u,dmndm\`;/Nc$i1n$#O"PQUPV WdmnCH&&wHHSZZH$y/1Js 'Cv 	$$VjVgoG ,Y<  os   	XX$X!c                    U(       aG  SUS'   [        UR                  [        [        4SS9(       a  UR                  U R                  US   '   g g g )Nr   r  Tr   r   )r=   r   r   r   rR  )rO   rQ   r   r   s       rS   r  (CliSettingsSource._convert_append_action=  sK    'F8)**?*?$eij6@6K6K##F6N3 k rU   c                2   US   S:X  Ga  UR                    Vs/ s H:  n[        U[        5      (       d  M  [        U[        [
        -  5      (       d  M8  UPM<     nnU(       d  U R                  (       a  [        /nU(       a  UR                  5       nU[        L a;  U R                  S:X  a%  [        UR                  [        5      (       a  [        O[        nU[        L a  US	 [        US'   g U[        L a  US	 UR                  (       a  SOSUS'   g g g g s  snf )Nr  rZ   toggler  r  
store_true)r   r  r   r  r8   r7   r   r  r   rZ   r;   r6   r   )rO   rQ   r   r  metameta_bool_flags	bool_flags          rS   r  $CliSettingsSource._convert_bool_flagC  s   )& '///DdD) .8?ORb?b.c /  
 #t'>'>#3"4+//1	 00  22h>:jN`N`bfCgCg ') 
 ,y)'<F8$.0y)8B8J8J}P\F8$ 1  's   DDDc                <   SnUS   /n[         US'   [        R                  UR                  5       U R                  5      US'   UR                  5       =(       a    U[         L nUR                  S5      S:X  a  US	 U(       a  SOSUS	'   OU(       d  S
US	'   US	 US	 Xe4$ )Nr   r   r   r  r  r   +*nargs?r  )r)   ri   r   upperr   r  r
  )rO   rQ   r   r   r  r  r  r  s           rS   r  )CliSettingsSource._convert_positional_arg[  s     F^$	-y#22?3H3H3JDL_L_`y !,,.U=DU3U::h8+x %0ccF7O!F7O6N:%%rU   c           	     x  ^ / nUR                   /U-    Hy  nUR                   Hf  n	[        R                  X R                  :X  a  U U	 3OUR                  USS5       U	 3U R                  5      n
U
T;  d  MU  UR                  U
5        Mh     M{     U R                  (       a_  U R                  R                  5        HA  u  pX;   d  M  [        U[        5      (       a  U/OUnUR                  U4S jU 5       5        MC     [        5       nUR                  UR                  5      nUb  [!        UR"                  R$                  [&        4SUS9  UR)                  [*        R,                  " S U 5       5      5        U(       d  / $ U R/                  [&        [1        [3        U5      5         5      UR4                  S'   U$ )Nr   rD   c              3  6   >#    U  H  oT;  d  M
  Uv   M     g 7fr   rK   )r   aliasr  s     rS   r   3CliSettingsSource._get_arg_names.<locals>.<genexpr>  s     $^
uS]F]UU
s   		T)r   collectc              3  8   #    U  H  n[        U5      v   M     g 7fr   )r   )r   tags     rS   r   r    s     5Tthsmmts   r  )rn   r   ri   r   r   r   r   r   r   r   r  r]   extendr   r
  r   r=   r   r   r   r   r   from_iterabler  r   sortedrQ   )rO   r7  r  r  r  r  r  r  prefixr   arg_nametargetaliases
alias_listtagsdiscriminatorss       `           rS   r   CliSettingsSource._get_arg_namesp  s     "	~~&7F"11(OO; htf%"NN+<b!DEdVL''	 :-$$X. ( 8 #'#5#5#;#;#=&.8#.F.F'GJ$$$^
$^^ $>
 +//9%&))
"&	 !!%"5"55Tt5T"TU(	$($8$8vnG]A^9_$`CJJy!rU   c                T  ^ [        U[        5      (       a  [        S5      e0 nUS    S3US'   UR                  US'   U	S   US'   [	        S U 5       5      US'   US   (       a  [        U5      S	:  a  [        S
5      eU R                  (       a<  [        U5      S	:X  a-  US   R                  c  S O[        US   R                  5      US'   U[        La>  [        [        U5      5      (       d  [        [        U5      5      (       a  [        X5      nO9UR                  [        La  UR                  nOUR                  b  UR                  nUc2  SU R                    S3nUS   b  [        U SUS    35      US'   OUUS'   US   nU R#                  U5      =(       d    UnU(       a	  [$        US'   UR'                  US   5        SU	S'   SU	S'   SU	S'   U(       d  U R(                  (       a  [$        OSUS    S3U	S'   U R*                  " U40 UD6nU R,                  " U/U4S jU 5       Q70 U	D6  UR.                  (       a  U U SUR.                   3[1        5       0O0 nU H>  nU R3                  UUUU U S3UUUS	S   Vs/ s H
  nU U S3PM     snUUUX#S   L S9  M@     g s  snf )Nz8cannot have nested models in a CliMutuallyExclusiveGroupr   z optionsr  r   r  c              3  B   #    U  H  n[        U[        5      v   M     g 7fr   )r  rf   )r   rk   s     rS   r   :CliSettingsSource._add_parser_submodels.<locals>.<genexpr>  s      E
FPUJu788js   r  rD   z/cannot use union with CliMutuallyExclusiveGroupz	default: z (undefined)
Fr  r  r+  constzset z from JSON string (default: {})r  c              3  0   >#    U  H  nT U 3v   M     g 7fr   rK   )r   r   r  s     rS   r   r    s     )WYT[M$*@Ys   r   rD  )rl   rk   r  rn   r  r  r  r  r  r  r  )r  rf   r.   r   r0  r   r   r  r   r)   r&   r   r'   r  r   default_factoryr  _is_field_suppressedr  r   r   r  r  discriminatorr   r  )rO   rl   rk   r   r  rn   r  r  r  rQ   rm   r   r   r  r  model_group_kwargsdesc_headerr   model_groupr  r   s          `             rS   r  'CliSettingsSource._add_parser_submodels  s   " e677
   Z[[-/)21h&?7#,6,B,B=))/
);:&AD E
FPE
 B
=> @Ac*oXYFY QRR--#j/Q2F8B18M8M8U[ablmnbobwbw[x}- 11d=1226KDQ^L_6`6` ' B!!):: * 2 2++7 * : : %d&=&=%>lKK!-0<4:k]"M_`mMnLo;p4q"=14?"=1%a."77
CZGZ0<}-)A,'"zww #d&9&9 	!~%FG 	v
 oofC0BC;b)WY)Wb[abT^TlTl
|O,Aj.F.F-GH#%Prt 	  E!!%(\/):!<"3!CNqr?S?4:,tfA 6?S+$7#5&+"~&= "     Ts   J%c                @   U(       Ga  UnUb*  [        U[        5      (       a  U R                  " U40 UD6OUnUR                  5        H  u  pXPR                  :X  a  U U 3OUR                  USS5       U 3n
0 n[        US'   SUS'   SUS'   SUS	'   U	c  S
US	'   [        U R                  U
'   U R                   U
 3/nU R                  U
   R                  5        H  u  pXsUl
        Ul        M     U R                  " U/UQ70 UD6  UR                  U
5        M     g g )Nr   rD   r   zpydantic alias pathr  r   r  r   r  r   )r  r   r  r   r   r   r  rR  r  r.  rx   rQ   r  r   )rO   rl   r   r  rn   r  r  r  r   r   r  rQ   rx   r'  r7  s                  rS   r  )CliSettingsSource._add_parser_alias_paths  sE    G >HPT>U>U$//&:E:[`.446 )OO; "l4&)&../@"aHI$P 
 *,$0y!!6v#+x $*y!=(.F9%48D''1001(<= $ 0 0 : @ @ BHC+/(CHcj !C""7<T<V<!!(+%  7	 rU   c           	         U R                   (       d  [        U5      $ [        [        U5       Vs/ s H  o"[        S 5      Ld  M  UPM     sn5      $ s  snf r   )r   r   r   r   )rO   objr   s      rS   _get_modified_args$CliSettingsSource._get_modified_args  s@    &&C= Xc]V]E4PT:>U%]VWWVs   AAc                   SU;   aF  US UR                  S5      S-    XR                  S5      S-   S   Vs/ s H  o3S:w  d  M
  UPM     sn-   nSR                  U5      nU(       a  U SU S3$ [        U5      S:X  a  U$ SU S3$ s  snf )NJSONrD   r:  rQ  r[  rE  rF  )r   r=  r   )rO   rx   obj_qualnamer7  r  s        rS   _metavar_format_choices)CliSettingsSource._metavar_format_choices  s    T>0$**V,q01DTZI[^_I_IaDb4tDbSmsfsSDb4ttD((4."^1WIQ//!$i1n7BBwir2BB 5us   	BBc           
     f   [        U5      n[        U5      (       a(  SUR                  ;   a  UR                  $ UR                  $ USL a  g[	        U[
        5      (       a  [        U5      $ [	        U[        R                  5      (       d  [        R                  " U5      (       a  [        U5      $ [	        U[        [        [        45      (       d  UR                  n[!        U5      n[#        U5      (       a=  U R%                  ['        [)        U R*                  U R-                  U5      5      5      5      $ [        R.                  " U5      (       a7  U R%                  ['        [)        [        U R-                  U5      5      5      5      $ [1        U[2        5      (       aZ  U R%                  UR4                  R7                  5        Vs/ s H%  n[8        R;                  X0R<                  S:H  5      PM'     sn5      $ [	        U[        5      (       ad  U R%                  ['        [)        U R*                  U R-                  U5      5      5      [?        US5      (       a  UR                  S9$ [        U5      S9$ U[        S5      L a  U R@                  $ [C        U5      (       d  [E        U5      (       a;  [G        USS	5      (       a'  U R+                  [I        U5      S
   RJ                  5      $ S$ [	        U[        5      (       a  UR                  $ [        U5      RM                  SS5      RM                  SS5      $ s  snf )z\Pretty metavar representation of a type. Adapts logic from `pydantic._repr.display_as_type`.z<locals>.z...r   r`   )r2  Nr  Frootr1  ztyping.r   ztyping_extensions.)'rB   rA   r`   r^   r  r%   reprtyping
ForwardRefr*   is_typealiastyper]   r0   r1   r   rR   r   r+   r3  r   map_metavar_format_recurser.  
is_literalr/   r   r   r   ri   r   r   r  r  r&   r'   r  r@   r   r   )rO   r-  originr   s       rS   r<  )CliSettingsSource._metavar_format_recurse  s   s##-1A1A#A3<<WsGWGWWCZ^,,9V..//>3R3RSV3W3Ws8O#ndCDD--CC6""//S9U9UW[WnWnorWs5t0uvv&&v..//Sd>U>UVY>Z5[0\]] d++//X[XgXgXlXlXnoXnPT''.A.AU.JKXno  ^,,//S55t7N7Ns7STU18n1M1MS-- 0  SVWZS[ 0   DJ***C  $9#$>$> 3 95AA ,,->s-CF-K-V-VW 
 T""###9$$Y3;;<PRTUU% ps   ,L.c                D    U R                  U5      R                  SS5      $ )NrG  r:  )r<  r   )rO   r-  s     rS   r  !CliSettingsSource._metavar_formatJ  s     ++C088sCCrU   c                   UR                   (       a  UR                   OSnU(       d  U R                  U5      (       a  [        $ UR                  5       (       a>  U[        S 4;   a2  [
        UR                  ;  a  Uc  SOSnXU(       a  SU S3OSU S3-  nGO SU R                   S3n[        [        U5      5      (       d  [        [        U5      5      (       a  S[        X15       S3nOU[        S 4;  a&  [        U5      (       a  SU R                  U5       S3nOxUR                  [        S 4;  a6  [        UR                   UR                  5      nSUc  UR                  OU S3nO,UR"                  b  SU R                  UR"                  5       S3n[$        UR                  ;  a  XU(       a  S	U 3OU-  n['        [        U R(                  5      [*        5      (       a  UR-                  S
S5      $ U$ )Nr   zifdef: z (z	required)(z
(default: )z(default factory:  %z%%)r   r$  r  r  r)   r9   r   r  r&   r   r'   r  rA   r  r   r>   r   r#  r;   r  r  r   r   )	rO   rm   r   r  r  _helpifdefr   	enum_names	            rS   r  CliSettingsSource._help_formatM  s    +5*@*@
&&b$";";J"G"G!!##:KT9R(R 
(;(;;%2%:	%2eWI.qy=QQ"4#:#:";1=Gd=1226KDQ^L_6`6`&w}'I&J!L'8$&??LQ^D_D_.t/C/CM/R.SSTU##,=t+DD89N9NPZPbPbc	&Y=Nz'9'9T]&^^_`++7.t/C/CJD^D^/_.``abZ%8%88%1WIW<+5d4;L;L6M~+^+^u}}S$'idiirU   c                    UR                   (       a  UR                   OSnU[        :H  =(       d    [        UR                  ;   $ )Nr   )r   r  r   )rO   r   rG  s      rS   r$  &CliSettingsSource._is_field_suppressedh  s2    *4*@*@
&&b$K
8K8K(KKrU   c           	        UR                   UR                  4 Vs/ s HT  n[        U[        [        45      (       d  M   [        U[        5      (       a  UO[        [        UR                  S   5      PMV     snS   nUR                  SS nU(       d  UR                  U/ 5        XA   nOTUR                  U0 5        XA   n	US S  H  n
U	R                  U
0 5        X   n	M     U	R                  US   / 5        XS      n[        [        UR                  S   5      nUR                  S/[        US-   [        U5      -
  S5      -  5        X(U'   XA   $ s  snf )Nr   rD   rD  r   )r  r   r  r   r   r   choicespath
setdefaultru   r  r/  r   )rO   r  valuer   alias_path_only_defaultsr  
alias_pathalias_nested_pathsalias_defaultcurrent_pathnested_pathalias_path_indexs               rS   _update_alias_path_only_default1CliSettingsSource._update_alias_path_only_defaultl  s^   
 %**J,G,GH!
H%)\!:; YZy11EtIu}}UVGW7XXH!
 	!
 )3"(=!$//"=4>M$//"=3=L1#26''R8+8  7 ##$6r$:B?(B)?@MZ__R%89bTC(81(<s=?Q(QST$UUV*/&''11/!
s
   E8Ec                   U/n[        U[        5      (       a  [        U[        5      (       ac  US:X  a/  SR                  S [        R
                  " U5       5       5      /nU$ US:X  a&  [        R
                  " U5       Vs/ s H  of PM     nnU$ [        U[        5      (       aC  US:X  a=  [        R
                  " U5      R                  5        VVs/ s H  u  pvU SU 3PM     nnnU$ s  snf s  snnf )Nlazyr:  c              3  &   #    U  H  o v   M	     g 7fr   rK   )r   vs     rS   r   9CliSettingsSource._coerce_value_styles.<locals>.<genexpr>  s     &I7H!v7Hs   argparseenvr  )r  r]   r   r=  rq  rr  r   r   )rO   r  rQ  
list_style
dict_styler   r^  ks           rS   _coerce_value_styles&CliSettingsSource._coerce_value_styles  s     eS!!-..'!hh&Itzz%7H&IIJF   :-.2jj.?@.?f.?F@  M400&59ZZ5F5L5L5NO5NTQ1QCj5NFO	 A Ps   C+C0c                H    U(       d  U S   U S   -   O
U S   U S   -   U S   -   $ )Noptional
positional
subcommandrK   )serialized_argspositionals_firsts     rS   _flatten_serialized_args*CliSettingsSource._flatten_serialized_args  s?     % J'/,*GG .1LLL)	* 	*rU   c           	     t   0 n/ n/ n/ n	[        U(       a  [        U5      OU R                  5      R                  5        GH  u  p[	        X5      nUR
                  U:X  a  M#  [        UR                  ;   a  Uc  M<  [        [        U R                  U   R                  5       5      5      nUR                  (       aQ  U	R                  UR                  [        U5      5      5        U R                  UUUUSS9nXR!                  X5      -  n	M  [#        [        U5      5      (       d  [%        [        U5      5      (       a+  U R                  UUUUSS9nX~S   -  nXS   -  nXS   -  n	GM*  [&        R(                  " SUR*                  5      nU(       a  UR-                  5       OSu  nn[/        U[0        [2        [4        45      (       a  [6        R8                  " U5      O
[;        U5      nUR<                  (       a  U R?                  UUX5      n[@        UR                  ;   av  [/        U[2        5      (       a  UOU/ HU  n[/        U[0        [2        [4        45      (       a  [6        R8                  " U5      O
[;        U5      nUR                  U5        MW     GMV  URB                  RE                  S5      [F        :X  a  US	L a  US
:X  a  US-  nU RI                  UUX#S9 HQ  nUR                  U U 35        URB                  RE                  S5      [F        SS4;  d  M@  UR                  U5        MS     GM     U Vs/ s H0  n[/        U[:        5      (       d  [6        R8                  " U5      OUPM2     snU Vs/ s H0  n[/        U[:        5      (       d  [6        R8                  " U5      OUPM2     snU	S.$ s  snf s  snf )NT)rb  rc  rl  _is_submodelrh  ri  rj  z(-*)(.+))r   r   r  Fz--r  )rb  rc  r  r  )rh  ri  rj  )%r@   r   r  r   r  r   r:   r   rH  rI  r.  r   r   r   r   _serialized_argsrm  r&   r'   r  r  r   groupsr  r   r   r   rq  rs  r]   r   rY  r9   rQ   r
  r   re  )rO   rk   rb  rc  rl  rp  rR  r  r  r  rm   r   r  r7  sub_argsr  
flag_charsr  rQ  s                      rS   rq  "CliSettingsSource._serialized_args  s`    46 @BBD%'&7|UY]YjYj&k&q&q&s"J#E6M!!]2!4!449NtD,,Z8??ABCC""&&s';';D<O'PQ00!))&7!% 1   #@#@#]]d=1226KDQ^L_6`6`00!))&7!% 1  *!55L#99L#99hh{C,B,BCG7>7>>#3H J-7dTWGX-Y-Y

=)_bcp_q  %% <<Xujs J$7$77.8.M.M]TaSbbE1;ED$PSCT1U1UDJJu-[^_d[eE#**51 c  zz~~h'+@@]V[E[`jnr`re#
22=%T^2v$$
|H:%>? ::>>(+4I<Yf3gg!((/ wk 'tz booanX]*UC2H2HE*eSanocrscrZ_Juc4J4J4::e,PUUcrs)
 	
oss   67N037N5)r  r  r  r  rR  r  r1  r  r  r  r.  r  r   r   rP   r   r   r   r   r   r  r   r   r   r   r3  )2r  ztype[BaseSettings]r   r   r  z)bool | list[str] | tuple[str, ...] | Noner  r   r   rs   r   rs   r   rs   r   rs   rP   rs   r   r   r   r   r   z'bool | Literal['dual', 'toggle'] | Noner   rs   r   rq   r   z$Mapping[str, str | list[str]] | Nonero   rs   r   r   r  Callable[..., Any] | Noner  rv  r  rv  r  rv  r  rv  r  rv  r   r   r[   r\   )r[   ry   )rx   z"list[str] | tuple[str, ...] | boolr[   CliSettingsSource[T])r  z,Namespace | SimpleNamespace | dict[str, Any]r[   rw  )rx   z)list[str] | tuple[str, ...] | bool | Noner  ?Namespace | SimpleNamespace | dict[str, list[str] | str] | Noner[   z%dict[str, Any] | CliSettingsSource[T])r[   zMapping[str, str | None])r  rx  r[   z/Mapping[str, str | None] | CliSettingsSource[T])r  dict[str, list[str] | str]r[   rw   )r  ry  rm   r]   r8  rw   r[   rZ   )rS  rw   rm   r]   r[   ztuple[type | None, type | None])r`  rw   rm   r]   r[   r]   )rS  rw   rm   r]   r[   r]   )rf  r]   r`  rw   ru  rZ   r[   r]   )rf  r]   r`  rw   r[   r]   )rf  r]   r`  rw   rT  ztype[Any] | Noner[   r]   )rk   r   rm   r]   r   r(   r[   r\   )rk   r   r[   zlist[tuple[str, FieldInfo]])r[   r   )
r  rv  r  r]   rx   r   rQ   r   r[   Callable[..., Any])r  rv  r[   rz  )r   r   r  rv  r  rv  r  rv  r  rv  r  rv  r  rv  r   r   r[   r\   )r[   r\   )rl   r   rk   r   r  rw   rn   r]   r  r]   r  r   r  rw   r  r   r  rZ   r  dict[str, set[Any]]r  rZ   r[   r   )rQ   ry   r   r(   r   rZ   r[   r\   )rQ   ry   r   r(   r  r   r[   r\   )
rQ   ry   r   r(   r   r]   r  r   r[   ztuple[list[str], str])r7  ri   r  r]   r  rw   r  rw   r  r{  r  rZ   r[   rw   )rl   r   rk   r   r   r   r  rw   rn   r]   r  r]   r  r]   r  rw   rQ   ry   rm   r]   r   r(   r   rz   r  r   r  rZ   r[   r\   )rl   r   r   r|   r  rw   rn   r]   r  r]   r  r   r[   r\   )r-  r   r[   rz   r   )rx   rw   r2  r   r[   r]   )r-  r   r[   r]   )
rm   r]   r   r(   r  r   r  rZ   r[   r]   )r   r(   r[   rZ   )
r  r]   rQ  r   r   r(   rR  ry   r[   zlist[Any] | dict[str, Any])rq  rq  )
r  r   rQ  z str | list[Any] | dict[str, Any]rb  #Literal['json', 'argparse', 'lazy']rc  Literal['json', 'env']r[   z&list[str | list[Any] | dict[str, Any]])rk  dict[str, list[str]]rl  rZ   r[   rw   )rq  rq  FF)rk   r5   rb  r|  rc  r}  rl  rZ   rp  rZ   r[   r~  )5r^   r_   r`   ra   r  r   add_argumentr  r	   
add_parseradd_subparsersformat_helpr   rM   r   r  r  r-  r<  rV  rj  r>  rn  ro  rp  r  r  propertyr   r  r  r  r  r  r  r  r  r  r  r  r.  r3  r<  r  r  r$  rY  re  staticmethodrm  rq  rb   rc   rd   s   @rS   r   r      s   0j %)DH)-*.&*,059)-!%+/FJ/3CG>B&*7;9G9T9T?M?`?`7H7S7S;I;X;X8F8R8R:3@`(@` "@` B	@`
 '@` (@` $@` *@` (3@` '@` @` )@` D@` "-@` A@`  <!@`" $#@`$ %@`& 5'@`( 7)@`* $=+@`, 5-@`.  9/@`0 61@`2 3@`4 
5@` @`D - -   & ;?W[	& 8& U	&
 
/& && = = " ae#]#	8#J$>5CFMV	.)"L<+TZ
F$:o&+[Z ! !$!6$!EH$!QT$!`c$!	$!L 0 :H9T9T?M?`?`7H7S7S;I;X;X8F8R8R:+
+
 5+
 7	+

 $=+
 5+
  9+
 6+
 +
 
+
Z6 %*24&*UU U 	U
 U U U "U U "U 0U  $U 
UnL]0&$&2;&NQ&be&	&*)) ) "	)
 ) 0)  $) 
)VRR R *	R
 R R R R R R R R %R R "R  
!Rh,, /, 	,
 , , , 
,BXC)VVDjj+4jEHj_cj	j6L22$'25>2Zh2	#2@ ;A-3 0 8	
 + 
0& *-** 
* * ;A-3"'"L
L
 8L
 +	L

  L
 L
 
L
 L
rU   r   )or  
__future__r   _annotationsr"  rq  r  r  r  r8  r`  r   r   r   r   r   r	   collectionsr
   collections.abcr   r   r   enumr   	functoolsr   	itertoolsr   textwrapr   typesr   r   r   r   r   r   r   r   r   r   r   r   pydanticr   r   r    r!   r"   r#   r$   pydantic._internal._reprr%   pydantic._internal._utilsr&   pydantic.dataclassesr'   pydantic.fieldsr(   pydantic_corer)   typing_inspectionr*   typing_inspection.introspectionr+   
exceptionsr.   utilsr/   r0   r1   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   ra  rE   pydantic_settings.mainrF   rH   rf   ri   r   CliSubCommandCliPositionalArgrZ   r   r  r  r  r  r  CliSuppressr   r]   CliUnknownArgsr   rK   rU   rS   <module>r     s   - 2   	  
   $ 7 7  %   !    j i i 3 4 6 % + , ; ' F F     #3N 		 	Q
i Q
h CL!d(N23Q 112 ~T2L*::;L*::;,67l23<(49eB&7(RSt
)71: t
rU   