ó
    Ú°›jð   ã                   ó  • S 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	  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  SS	KJrJrJr  \R2                  " \5      rS
S/r/ SQrSrSrSr Sr! " S S5      r" " S S5      r# " S S\$\#5      r%g)z²Internal module to help with normalizing botocore client args.

This module (and all function/classes within this module) should be
considered internal, and *not* a public API.

é    N)ÚConfig)ÚEndpointCreator)ÚEndpointResolverBuiltins)ÚEndpointRulesetResolver)ÚRequestSigner)ÚUserAgentStringÚregister_feature_id)Ú$PRIORITY_ORDERED_SUPPORTED_PROTOCOLSÚensure_booleanÚis_s3_accelerate_urlÚlegacyÚregional)zap-northeast-1z
ap-south-1zap-southeast-1zap-southeast-2ú
aws-globalzca-central-1zeu-central-1z
eu-north-1z	eu-west-1z	eu-west-2z	eu-west-3z	sa-east-1ú	us-east-1z	us-east-2z	us-west-1z	us-west-2é2   )Úwhen_supportedÚwhen_required)Ú	preferredÚdisabledÚrequiredc                   ó  • \ rS rSr S*S jr   S+S jrS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS*S jrS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S)r*g),ÚClientArgsCreatoréU   Nc                 óˆ   • Xl         X0l        X@l        XPl        X`l        Uc  [
        R                  " 5       U l        g Xpl        g ©N)Ú_event_emitterÚ_response_parser_factoryÚ_loaderÚ_exceptions_factoryÚ_config_storer   Úfrom_environmentÚ_session_ua_creator)ÚselfÚevent_emitterÚ
user_agentÚresponse_parser_factoryÚloaderÚexceptions_factoryÚconfig_storeÚuser_agent_creators           ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/botocore/args.pyÚ__init__ÚClientArgsCreator.__init__V   s>   € ð ,ÔØ(?Ô%ØŒØ#5Ô Ø)ÔØÑ%Ü'6×'GÒ'GÓ'IˆDÕ$à'9Õ$ó    c                 ó6  • U R                  UUU	UUUU5      nUS   nUS   nUS   nUS   nUS   nUS   nUS   R                  SS 5      nUS	   nUS
   nUS   nUS   nUS   nUS   nUS   n[        R                  " U R                  5      n[	        UR
                  UUS   US   UUU
5      nUUS'   [        S0 UD6n[        U5      nUR                  UUUS   UU R                  UR                  UR                  UR                  UR                  4UUR                  UR                  S9n SU 3n!S[         R"                  R$                  0n"UR'                  U!UUU"S9  [         R"                  R)                  UUU"S   S9n#[         R*                  R-                  U5      n$U R/                  UUUUUUUU UU	UUUUU5      n%U R0                  R3                  U5      n&U(       a  UR4                  OS n'U'Ul        U#U U$UUUU R8                  UUU R:                  U%U&S.$ )NÚservice_nameÚparameter_validationÚendpoint_configÚprotocolÚconfig_kwargsÚ	s3_configÚmetadataÚ	partitionÚsocket_optionsÚconfigured_endpoint_urlÚsigning_regionÚregion_nameÚaccount_id_endpoint_modeÚs3_disable_express_session_authÚauth_scheme_preferenceÚsigning_nameÚsignature_versionÚs3Úendpoint_url)
r;   rB   Úverifyr&   Úmax_pool_connectionsÚproxiesÚtimeoutr8   Úclient_certÚproxies_configzcreating-serializer.Útimestamp_precision)Úprotocol_nameÚservice_modelÚserializer_kwargs)rI   )Ú
serializerÚendpointÚresponse_parserr$   Úrequest_signerrK   r'   Úclient_configr7   r(   Úendpoint_ruleset_resolverr*   © )Úcompute_client_argsÚgetÚcopyr   r   Ú
service_idr   r   Úcreate_endpointr   rD   rE   Úconnect_timeoutÚread_timeoutrG   rH   ÚbotocoreÚ	serializeÚTIMESTAMP_PRECISION_DEFAULTÚemitÚcreate_serializerÚparsersÚcreate_parserÚ_build_endpoint_resolverr"   Úwith_client_configr%   Ú_supplied_user_agentr   r   )(r#   rK   r;   Ú	is_securerB   rC   ÚcredentialsÚscoped_configrQ   Úendpoint_bridgeÚ
auth_tokenÚendpoints_ruleset_dataÚpartition_dataÚ
final_argsr0   r1   r2   r3   r4   r5   r7   r8   r9   r:   Úendpoint_region_namer<   r=   r>   r$   ÚsignerÚ
new_configÚendpoint_creatorrN   Ú
event_namerL   rM   rO   Úruleset_resolverÚclient_ua_creatorÚsupplied_uas(                                           r+   Úget_client_argsÚ!ClientArgsCreator.get_client_argsj   sâ  € ð ×-Ñ-ØØØØØØØó
ˆ
ð " .Ñ1ˆØ)Ð*@ÑAÐØ$Ð%6Ñ7ˆØ˜jÑ)ˆØ" ?Ñ3ˆØ˜{Ñ+ˆ	Ø# JÑ/×3Ñ3°KÀÓFˆ	Ø#Ð$4Ñ5ˆØ",Ð-FÑ"GÐØ(Ð)9Ñ:ˆØ.¨}Ñ=ÐØ#0Ð1KÑ#LÐ Ø*7Ø-ñ+
Ð'ð "/Ð/GÑ!HÐäŸ	š	 $×"5Ñ"5Ó6ˆÜØ×$Ñ$ØØ˜NÑ+ØÐ/Ñ0ØØØó
ˆð (ˆ�dÑÜÑ,˜mÑ,ˆ
Ü*¨=Ó9Ðà#×3Ñ3ØØ,Ø(¨Ñ8ØØ$(×$AÑ$AØ!+×!@Ñ!@Ø×&Ñ&Ø×/Ñ/°×1HÑ1HÐIØ)Ø"×.Ñ.Ø%×4Ñ4ð 4ð 
ˆð ,¨L¨>Ð:ˆ
à!¤8×#5Ñ#5×#QÑ#Qð
Ðð 	×ÑØØ"Ø'Ø/ð	 	ñ 	
ô ×'Ñ'×9Ñ9ØØ Ø 1Ð2GÑ Hð :ð 
ˆ
ô
 #×*Ñ*×8Ñ8¸ÓBˆà×8Ñ8Ø"ØØØØ ØØ#ØØØØØØ$Ø+Ø"ó
Ðð& !×4Ñ4×GÑGØó
Ðö 3@�m×.Ò.ÀTˆØ*5ˆ
Ô'ð %Ø Ø.Ø*Ø$Ø*Ø—l‘lØ'Ø"Ø"&×":Ñ":Ø)9Ø"3ñ
ð 	
r.   c                 ój  • UR                   nUR                  n	Sn
U(       a  UR                  (       d  Sn
O&U(       a  UR                  S5      nUb  [	        U5      n
U R                  U5      nU R                  UUS9nUb  [        S5        U R                  UUUUUUS9nUS   R                  S/ 5      nU R                  R                  U5      R                  5       n[        US	   US
   US9nSU;   a  UR                  SS9  SU;   a  UR                  SS9  UGb  UR                  UR                  UR                  UR                   UR"                  UR$                  UR&                  UR(                  UR*                  UR,                  UR.                  UR0                  UR2                  UR4                  UR6                  UR8                  UR:                  UR<                  UR>                  UR@                  URB                  b  URB                  R                  S5      OS S9  U RE                  U5        U RG                  U5        U RI                  U5        U RK                  U5        U RM                  U5        U RO                  U5        U RQ                  U5        U RS                  UU5        U RU                  UU5        U RW                  UU5        U RY                  U5        U R                  U5      nU R[                  U5      nU(       a  SU;   a
  Uc  0 nSUS'   UU
UUU	UUU R]                  Xr5      S.$ )NTFr1   )rQ   rB   ÚENDPOINT_OVERRIDE)r0   r;   rB   re   rh   r5   r6   Útagsr;   r@   )r;   r@   r%   Ú	dualstack)Úuse_dualstack_endpointÚfips)Úuse_fips_endpointÚdisable_s3_express_session_auth)rY   rZ   rD   rE   rH   ÚretriesrG   Úinject_host_prefixÚtcp_keepaliveÚuser_agent_extraÚuser_agent_appidÚ"request_min_compression_size_bytesÚdisable_request_compressionÚclient_context_paramsÚsigv4a_signing_region_setÚrequest_checksum_calculationÚresponse_checksum_validationr<   r>   r=   r{   )r0   r1   r9   r2   r3   r4   r5   r8   )/Úendpoint_prefixÚresolved_protocolr1   rU   r   Úcompute_s3_configÚ _compute_configured_endpoint_urlr	   Ú_compute_endpoint_configr"   rc   Ú	to_stringÚdictÚupdaterY   rZ   rD   rE   rH   r   rG   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   r<   r>   rA   Ú_compute_retry_configÚ_compute_connect_timeoutÚ _compute_user_agent_appid_configÚ#_compute_request_compression_configÚ)_compute_sigv4a_signing_region_set_configÚ_compute_checksum_configÚ(_compute_account_id_endpoint_mode_configÚ_compute_inject_host_prefixÚ&_compute_auth_scheme_preference_configÚ!_compute_signature_version_configÚ(_compute_s3_disable_express_session_authÚ_is_s3_serviceÚ_compute_socket_options)r#   rK   rQ   rh   r;   rB   re   rg   r0   r3   r1   Ú	raw_valuer5   r9   r2   Úendpoint_variant_tagsÚpreliminary_ua_stringr4   Úis_s3_services                      r+   rT   Ú%ClientArgsCreator.compute_client_argsì   s^  € ð %×4Ñ4ˆØ ×2Ñ2ˆØ#ÐÞ ×!C×!CØ#(Ñ ÞØ%×)Ñ)Ð*@ÓAˆIØÑ$Ü'5°iÓ'@Ð$à×*Ñ*¨=Ó9ˆ	à"&×"GÑ"GØ'Ø%ð #Hð #
Ðð #Ñ.ÜÐ 3Ô4à×7Ñ7Ø%Ø#Ø0ØØ+Øð 8ð 
ˆð !0°
Ñ ;× ?Ñ ?ÀÈÓ KÐð !%× 8Ñ 8× KÑ KØó!
ç
‰)‹+ð 	ô Ø'¨Ñ6Ø-Ð.AÑBØ,ñ
ˆð
 Ð/Ó/Ø× Ñ ¸Ð Ñ=ØÐ*Ó*Ø× Ñ °4Ð Ñ8ØÒ$Ø× Ñ Ø -× =Ñ =Ø*×7Ñ7Ø%2×%GÑ%GØ%×-Ñ-Ø,×;Ñ;Ø%×-Ñ-Ø)×5Ñ5Ø#0×#CÑ#CØ+×9Ñ9Ø!.×!?Ñ!?Ø!.×!?Ñ!?à!×DÑDð "×=Ñ=à&3×&IÑ&Ià!×;Ñ;ð "×>Ñ>ð "×>Ñ>à)6×)OÑ)OØ'4×'KÑ'Kð %×'Ñ'Ñ3ð "×$Ñ$×(Ñ(Ð)JÔKàðC !ñ #ðH 	×"Ñ" =Ô1Ø×%Ñ% mÔ4Ø×-Ñ-¨mÔ<Ø×0Ñ0°Ô?Ø×6Ñ6°}ÔEØ×%Ñ% mÔ4Ø×5Ñ5°mÔDØ×(Ñ(¨¸ÔFØ×3Ñ3Ø˜=ô	
ð 	×.Ñ.¨}¸mÔLØ×5Ñ5°mÔDØ×*Ñ*¨=Ó9ˆ	à×+Ñ+¨LÓ9ˆæ˜[Ð,AÓAØÑ Ø�	Ø26ˆIÐ.Ñ/ð )Ø$8Ø'>Ø.Ø Ø*Ø"Ø"×:Ñ:Øóñ
ð 	
r.   c                 óˆ   • Ub  UR                   S:X  a/  U R                  R                  S5      nUb  U(       + US'   g SUS'   g g )NÚUNSETÚdisable_host_prefix_injectionr€   T)Ú_inject_host_prefixr    Úget_config_variable)r#   rQ   r4   Ú(configured_disable_host_prefix_injections       r+   r™   Ú-ClientArgsCreator._compute_inject_host_prefixp  sf   € ð Ñ!Ø×0Ñ0°GÓ;ð ×"Ñ"×6Ñ6Ø3óð 5ð
 8ÑCð AÔ@ð Ø(òð 7;�Ð2Ò3ð <r.   c                 óœ   • Ub  U$ U R                  U5      (       a  [        R                  S5        U$ U R                  R	                  S5      $ )Nz"Ignoring configured endpoint URLs.rB   )Ú _ignore_configured_endpoint_urlsÚloggerÚdebugr    r¨   )r#   rQ   rB   s      r+   r�   Ú2ClientArgsCreator._compute_configured_endpoint_urlƒ  sI   € ØÑ#ØÐà×0Ñ0°×?Ñ?Ü�L‰LÐ=Ô>ØÐà×!Ñ!×5Ñ5°nÓEÐEr.   c                 óx   • U(       a  UR                   b  UR                   $ U R                  R                  S5      $ )NÚignore_configured_endpoint_urls)r±   r    r¨   )r#   rQ   s     r+   r¬   Ú2ClientArgsCreator._ignore_configured_endpoint_urls�  s9   € æØ×=Ñ=ÑIà ×@Ñ@Ð@à×!Ñ!×5Ñ5Ø-ó
ð 	
r.   c                 óÔ   • U R                   R                  S5      nUbI  UR                  b<  Uc  UR                  nU$ UR                  5       nUR	                  UR                  5        U$ )NrA   )r    r¨   rA   rV   r‘   )r#   rQ   Ús3_configurations      r+   rŒ   Ú#ClientArgsCreator.compute_s3_config˜  sr   € Ø×-Ñ-×AÑAÀ$ÓGÐð Ñ$Ø×ÑÑ+Ø#Ñ+Ø'4×'7Ñ'7Ð$ð  Ðð (8×'<Ñ'<Ó'>Ð$Ø$×+Ñ+¨M×,<Ñ,<Ô=àÐr.   c                 ó   • US;   $ )a  Whether the service is S3 or S3 Control.

Note that throughout this class, service_name refers to the endpoint
prefix, not the folder name of the service in botocore/data. For
S3 Control, the folder name is 's3control' but the endpoint prefix is
's3-control'.
)rA   z
s3-controlrS   )r#   r0   s     r+   r�   Ú ClientArgsCreator._is_s3_service«  s   € ð Ð3Ñ3Ð3r.   c                 óš   • UUUUUS.nUS:X  a  U R                   " SSU0UD6$ US:X  a  U R                  " S0 UD6$ U R                  " S0 UD6$ )N)r0   r;   rB   re   rh   rA   r5   ÚstsrS   )Ú_compute_s3_endpoint_configÚ_compute_sts_endpoint_configÚ_resolve_endpoint)r#   r0   r;   rB   re   rh   r5   Úresolve_endpoint_kwargss           r+   rŽ   Ú*ClientArgsCreator._compute_endpoint_configµ  s|   € ð )Ø&Ø(Ø"Ø.ñ#
Ðð ˜4ÓØ×3Ò3ñ Ø#ðØ'>ñð ð ˜5Ó Ø×4Ò4ÑOÐ7NÑOÐOØ×%Ò%Ñ@Ð(?Ñ@Ð@r.   c                 ó¾   • U R                  US   U5      nU(       a  S US'   U R                  " S0 UD6nU R                  XBS   5        U(       a  US   S:X  a  SUS'   U$ )Nr;   rh   r   r   rS   )Ú_should_force_s3_globalr¼   Ú!_set_region_if_custom_s3_endpoint)r#   r5   r½   Úforce_s3_globalr2   s        r+   rº   Ú-ClientArgsCreator._compute_s3_endpoint_configÍ  sz   € ð ×6Ñ6Ø# MÑ2°Ió
ˆö Ø59Ð# MÑ2Ø×0Ò0ÑKÐ3JÑKˆØ×.Ñ.ØÐ5FÑGô	
ö ˜¨}Ñ=ÀÓMØ-8ˆO˜MÑ*ØÐr.   c                 ór   • SnU(       a  SU;   a  US   nU R                  U5        US;   nUS:H  =(       a    U$ )Nr   Úus_east_1_regional_endpoint)r   N)Ú_validate_s3_regional_config)r#   r;   r5   Ús3_regional_configÚis_global_regions        r+   rÀ   Ú)ClientArgsCreator._should_force_s3_globalâ  sK   € Ø%ÐÞÐ6¸)ÓCØ!*Ð+HÑ!IÐØ×-Ñ-Ð.@ÔAà&Ð*=Ñ=ÐØ! XÑ-×BÐ2BÐBr.   c                 óR   • U[         ;  a  [        R                  R                  US9eg )N)Ú%s3_us_east_1_regional_endpoint_config)ÚVALID_REGIONAL_ENDPOINTS_CONFIGr[   Ú
exceptionsÚ+InvalidS3UsEast1RegionalEndpointConfigError)r#   Ú
config_vals     r+   rÆ   Ú.ClientArgsCreator._validate_s3_regional_configë  s2   € ØÔ<Ó<Ü×%Ñ%×QÑQØ6@ð Rð ð ð =r.   c                 óÔ   • [        U[        5      =(       a    UR                  5       S;   n[        U[        5      (       d)  U(       d!  [        R
                  R                  SU S3S9eg g )N)ÚtrueÚfalseúInvalid value "z>" for s3_disable_express_session_auth. Value must be a boolean©Ú	error_msg)Ú
isinstanceÚstrÚlowerÚboolr[   rÍ   ÚInvalidConfigError)r#   rÏ   Ústring_bools      r+   Ú)_validate_s3_disable_express_session_authÚ;ClientArgsCreator._validate_s3_disable_express_session_authñ  st   € Ü  ¬SÓ1÷ 
°j×6FÑ6FÓ6Hð M
ñ 7
ˆô ˜*¤d×+Ñ+¶KÜ×%Ñ%×8Ñ8à% j \ð 2Oð Oð 9ð ð ð 5@Ð+r.   c                 ób   • US   c)  US   c"  UR                  S5      nUS   US'   US   US'   g g g )Nr:   r;   rA   ©Úresolve)r#   r2   rh   rN   s       r+   rÁ   Ú3ClientArgsCreator._set_region_if_custom_s3_endpointþ  sU   € ð Ð,Ñ-Ñ5Ø Ñ.Ñ6à&×.Ñ.¨tÓ4ˆHØ08Ð9IÑ0JˆOÐ,Ñ-Ø-5°mÑ-DˆO˜MÒ*ð	 7ð 6r.   c                 óŽ   • U R                   " S0 UD6nU R                  US   US   U5      (       a  U R                  X!S   5        U$ )Nr;   rB   re   rS   )r¼   Ú_should_set_global_sts_endpointÚ_set_global_sts_endpoint)r#   r½   r2   s      r+   r»   Ú.ClientArgsCreator._compute_sts_endpoint_config  s\   € Ø×0Ò0ÑKÐ3JÑKˆØ×/Ñ/Ø# MÑ2Ø# NÑ3Ø÷
ñ 
ð
 ×)Ñ)Ø¸Ñ!Eôð Ðr.   c                 óº   • U=(       a!    UR                  S0 5      R                  S5      nU(       d  U(       a  gU R                  5       S:H  =(       a	    U[        ;   $ )Nr6   ry   Fr   )rU   Ú"_get_sts_regional_endpoints_configÚLEGACY_GLOBAL_STS_REGIONS)r#   r;   rB   r2   Úhas_variant_tagss        r+   rä   Ú1ClientArgsCreator._should_set_global_sts_endpoint  s[   € ð +÷ ¨×/BÑ/BØ˜ó0
ç
‰#ˆf‹+ð 	ö Ö+Øà×3Ñ3Ó5¸ÑA÷ 9ØÔ8Ñ8ð	
r.   c                 óœ   • U R                   R                  S5      nU(       d  SnU[        ;  a  [        R                  R                  US9eU$ )NÚsts_regional_endpointsr   )Ústs_regional_endpoints_config)r    r¨   rÌ   r[   rÍ   Ú&InvalidSTSRegionalEndpointsConfigError)r#   rî   s     r+   rè   Ú4ClientArgsCreator._get_sts_regional_endpoints_config%  s^   € Ø(,×(:Ñ(:×(NÑ(NØ$ó)
Ð%ö -Ø,6Ð)à)Ü2ó3ô ×%Ñ%×LÑLØ.Kð Mð ð ð -Ð,r.   c                 ó4   • U(       a  SOSnU S3US'   SUS'   g )NÚhttpsÚhttpz://sts.amazonaws.comrB   r   r:   rS   )r#   r2   re   Úschemes       r+   rå   Ú*ClientArgsCreator._set_global_sts_endpoint4  s(   € Þ%‘¨6ˆØ-3¨HÐ4HÐ*Iˆ˜Ñ'Ø,7ˆÐ(Ò)r.   c                 ó&   • UR                  XX45      $ r   rà   )r#   r0   r;   rB   re   rh   s         r+   r¼   Ú#ClientArgsCreator._resolve_endpoint9  s   € ð ×&Ñ&Ø |ó
ð 	
r.   c                 ó  • [         R                  [         R                  S4/nU=(       a    UR                  nUc  U R                  R                  S5      nU(       a0  UR                  [         R                  [         R                  S45        U$ )Né   r�   )	ÚsocketÚIPPROTO_TCPÚTCP_NODELAYr�   r    r¨   ÚappendÚ
SOL_SOCKETÚSO_KEEPALIVE)r#   rg   rQ   r8   Úclient_keepalives        r+   rž   Ú)ClientArgsCreator._compute_socket_optionsE  s|   € ô "×-Ñ-¬v×/AÑ/AÀ1ÐEÐFˆØ(×H¨]×-HÑ-HÐØÑ#Ø#×1Ñ1×EÑEØó Ðö Ø×!Ñ!¤6×#4Ñ#4´f×6IÑ6IÈ1Ð"MÔNØÐr.   c                 óH   • U R                  U5        U R                  U5        g r   )Ú_compute_retry_max_attemptsÚ_compute_retry_mode©r#   r4   s     r+   r’   Ú'ClientArgsCreator._compute_retry_configT  s   € Ø×(Ñ(¨Ô7Ø× Ñ  Õ/r.   c                 óö   • UR                  S5      nUb9  SU;   a  UR                  SS 5        g SU;   a  UR                  S5      nUS-   US'   g U R                  R                  S5      nUb  Uc  0 nX!S'   XBS'   g g )Nr   Útotal_max_attemptsÚmax_attemptsrù   )rU   Úpopr    r¨   )r#   r4   r   Úvaluer	  s        r+   r  Ú-ClientArgsCreator._compute_retry_max_attemptsX  s›   € ð  ×#Ñ# IÓ.ˆØÑØ# wÓ.Ø—‘˜N¨DÔ1ØØ Ó(ØŸ™ NÓ3�ð 16¸±	�Ð,Ñ-Øð ×)Ñ)×=Ñ=¸nÓMˆØÑ#Ø‰Ø�Ø+2˜iÑ(Ø,8Ð(Ò)ð	 $r.   c                 ó�   • UR                  S5      nUc  0 nX!S'   OSU;   a  g U R                  R                  S5      nUc  SnX2S'   g )Nr   ÚmodeÚ
retry_moder   ©rU   r    r¨   )r#   r4   r   r  s       r+   r  Ú%ClientArgsCreator._compute_retry_modex  sY   € Ø×#Ñ# IÓ.ˆØ‰?ØˆGØ'.˜)Ò$Ø�wÓð Ø×'Ñ'×;Ñ;¸LÓIˆ
ØÑØ!ˆJØ$�Šr.   c                 ó|   • UR                  S5      nUb  g U R                  R                  S5      nU(       a  X!S'   g g )NrY   r  )r#   r4   rY   s      r+   r“   Ú*ClientArgsCreator._compute_connect_timeout†  sJ   € ð (×+Ñ+Ð,=Ó>ˆØÑ&ØØ×,Ñ,×@Ñ@Øó
ˆö Ø/>Ð+Ò,ð r.   c                 ó
  • UR                  S5      nUR                  S5      nUc  U R                  R                  S5      nU R                  U5      nX!S'   Uc  U R                  R                  S5      nO[	        U5      nX1S'   g )Nr„   r…   )rU   r    r¨   Ú_validate_min_compression_sizer   )r#   r4   Úmin_sizer   s       r+   r•   Ú5ClientArgsCreator._compute_request_compression_config“  s’   € Ø ×$Ñ$Ð%IÓJˆØ ×$Ñ$Ð%BÓCˆØÑØ×)Ñ)×=Ñ=Ø4óˆHð ×6Ñ6°xÓ@ˆØ>FÐ:Ñ;àÑØ×)Ñ)×=Ñ=Ø-ó‰Hô
 & hÓ/ˆHØ7?Ð3Ò4r.   c                 ó¦   • UR                  S5      nUc  U R                  R                  S5      nUb  U R                  U5        [	        U5      US'   g )Nr=   )rU   r    r¨   rÝ   r   )r#   r4   Údisable_expresss      r+   rœ   Ú:ClientArgsCreator._compute_s3_disable_express_session_auth©  s[   € Ø'×+Ñ+Ð,MÓNˆØÑ"Ø"×0Ñ0×DÑDØ1óˆOð
 Ñ&Ø×:Ñ:¸?ÔKÜ;IØó<
ˆÐ7Ò8r.   c                 ó"  • SnSnSU S3n [        U5      nX!s=::  a  U::  d*  O  U SU S	U S
3n[        R
                  R                  US9eU$ ! [        [        4 a/    U S[        U5       S3n[        R
                  R                  US9ef = f)Nrù   i   rÔ   z)" for request_min_compression_size_bytes.z$ Value must be an integer. Received z	 instead.rÕ   z Value must be between z and Ú.)ÚintÚ
ValueErrorÚ	TypeErrorÚtyper[   rÍ   rÛ   )r#   r  Úmin_allowed_min_sizeÚmax_allowed_min_sizeÚerror_msg_baseÚmsgs         r+   r  Ú0ClientArgsCreator._validate_min_compression_size·  sÛ   € Ø ÐØ&Ðà˜h˜Zð (2ð 2ð 	ð	HÜ˜8“}ˆHð $ÕGÐ3GÕGà!Ð"Ð"9Ø'Ð(¨Ð.BÐ-CÀ1ðFð ô ×%Ñ%×8Ñ8À3Ð8ÐGÐGàˆøô œIÐ&ó 	Hà!Ð"ð #Ü  ›NÐ+¨9ð6ð ô ×%Ñ%×8Ñ8À3Ð8ÐGÐGð	Hús   ŒA Á?Bc                 óV   • [        U[        5      (       a  U$ UR                  5       S:H  $ )NrÒ   )r×   rÚ   rÙ   )r#   Úvals     r+   Ú_ensure_booleanÚ!ClientArgsCreator._ensure_booleanÏ  s%   € Ü�cœ4× Ñ ØˆJà—9‘9“; &Ñ(Ð(r.   c                 óŒ  • Uc  g U R                  U5      =(       d    0 nUR                  nUS;   d  Uc  UnOUnU R                  UUUU
UUR                  UUUS9	nUb  UR                  =(       d    0 nO0 nU R                  U5      (       a  UR                  U5        Ub  UUS'   Ub  UR                  OS n[        UUUUUUU	UUS9	$ )N)rA   r¹   )	r;   r0   r5   rh   Úclient_endpoint_urlÚlegacy_endpoint_urlrf   r<   r=   r~   )	Úendpoint_ruleset_datark   rK   ÚbuiltinsÚclient_contextr$   Úuse_sslÚrequested_auth_schemer>   )	rŒ   rŠ   Ú*compute_endpoint_resolver_builtin_defaultsÚhostr†   r�   r‘   r@   r   )r#   rj   rk   rQ   rK   rm   r;   rB   rN   re   rh   r$   rf   r<   r=   r>   Ús3_config_rawÚservice_name_rawÚeprv2_region_nameÚresolver_builtinsr/  Úsig_versions                         r+   rb   Ú*ClientArgsCreator._build_endpoint_resolverÕ  s  € ð$ "Ñ)Øð ×.Ñ.¨}Ó=×CÀˆØ(×8Ñ8Ðð ˜}Ó,°Ñ0CØ 4Ñà +ÐØ ×KÑKØ)Ø)Ø#Ø+Ø ,Ø (§¡Ø#Ø%=Ø,Kð Lð 

Ðð Ñ$Ø*×@Ñ@×FÀB‰NàˆNØ×ÑÐ/×0Ñ0Ø×!Ñ! -Ô0Ø.Ñ:à3ð Ð@ÑAð Ñ(ð ×+Ò+àð 	ô
 'Ø"8Ø)Ø'Ø&Ø)Ø'ØØ"-Ø#9ñ

ð 
	
r.   c
                 ó2  • U(       a  Un
OUR                  5       (       d  Un
OS n
UR                  SS5      (       a  SnO<Ub%  [        U5      (       d  UR                  S5      S:g  nOUR                  S5      S:H  n[        R                  U[        R
                  U
S L =(       a    UR                  S5      =(       d    S[        R                  U
S L =(       a    UR                  U5      =(       d    S[        R                  U R                  US S S9[        R                  U R                  X5      [        R                  UR                  SS5      [        R                  U[        R                  UR                  SS	5      [        R                   UR                  SS5      [        R"                  UR                  S
S5      [        R$                  U	[        R&                  U
[        R(                  U(       a  UR+                  S5      OS [        R,                  U0$ )NÚuse_accelerate_endpointFÚaddressing_styleÚvirtualÚpathr}   )r;   rB   r2   Úuse_arn_regionTÚ$s3_disable_multiregion_access_pointsÚ
account_id)Úresolver_uses_builtin_datarU   r   ÚEPRBuiltinsÚ
AWS_REGIONÚAWS_USE_FIPSÚ$_resolve_endpoint_variant_config_varÚAWS_USE_DUALSTACKÚ_resolve_use_dualstack_endpointÚAWS_STS_USE_GLOBAL_ENDPOINTrä   ÚAWS_S3_USE_GLOBAL_ENDPOINTrÀ   ÚAWS_S3_ACCELERATEÚAWS_S3_FORCE_PATH_STYLEÚAWS_S3_USE_ARN_REGIONÚAWS_S3CONTROL_USE_ARN_REGIONÚAWS_S3_DISABLE_MRAPÚ#AWS_S3_DISABLE_EXPRESS_SESSION_AUTHÚSDK_ENDPOINTÚ
ACCOUNT_IDÚget_deferred_propertyÚACCOUNT_ID_ENDPOINT_MODE)r#   r;   r0   r5   rh   r+  r,  rf   r<   r=   Úgiven_endpointÚforce_path_styles               r+   r2  Ú<ClientArgsCreator.compute_endpoint_resolver_builtin_defaults!  s   € ö Ø0‰Nð !×;Ñ;×=Ñ=Ø0‰Nà!ˆNð �=‰=Ð2°E×:Ñ:Ø$ÑØ Ñ,Ô5IØ÷6
ñ 6
ð  )Ÿ}™}Ð-?Ó@ÀIÑMÑà(Ÿ}™}Ð-?Ó@ÀFÑJÐô ×"Ñ" KÜ×$Ñ$à $Ð&÷ ð $×HÑHØ'ó÷ð ä×)Ñ)à $Ð&÷ ð $×CÑCØ ó÷ð ä×3Ñ3Ø×4Ñ4Ø +Ø!%Ø$(ð 5ð ô ×2Ñ2Ø×,Ñ,¨[ÓDä×)Ñ)¨9¯=©=Ø)¨5ó,ô ×/Ñ/Ð1AÜ×-Ñ-¨y¯}©}Ø  $ó0ô ×4Ñ4°i·m±mØ  %ó7ô ×+Ñ+¨Y¯]©]Ø6¸ó.ô ×;Ñ;Ø/ä×$Ñ$ nÜ×"Ñ"ö ð %0×$EÑ$EØô%ð Ü×0Ñ0Ð2Jðm7
ð 7	
r.   c                 óÊ   • UR                  S5      nUc  U R                  R                  S5      nUb-  [        U5      [        :”  a  [
        R                  S[        5        X!S'   g )Nrƒ   zVThe configured value for user_agent_appid exceeds the maximum length of %d characters.)rU   r    r¨   ÚlenÚUSERAGENT_APPID_MAXLENr­   Úwarning)r#   r4   rƒ   s      r+   r”   Ú2ClientArgsCreator._compute_user_agent_appid_config�  sj   € Ø(×,Ñ,Ð-?Ó@ÐØÑ#Ø#×1Ñ1×EÑEØ"ó Ðð Ñ(ÜÐ$Ó%Ô(>Ó>ä�N‰Nð3ä&ôð
 -=Ð(Ò)r.   c                 ój   • UR                  S5      nUc  U R                  R                  S5      nX!S'   g )Nr‡   r  )r#   r4   r‡   s      r+   r–   Ú;ClientArgsCreator._compute_sigv4a_signing_region_set_config’  sD   € Ø$1×$5Ñ$5Ø'ó%
Ð!ð %Ñ,Ø(,×(:Ñ(:×(NÑ(NØ+ó)Ð%ð 6OÐ1Ò2r.   c                 óX   • U R                  US[        S9  U R                  US[        S9  g )Nrˆ   )Ú
config_keyÚvalid_optionsr‰   )Ú_handle_checksum_configÚ)VALID_REQUEST_CHECKSUM_CALCULATION_CONFIGÚ)VALID_RESPONSE_CHECKSUM_VALIDATION_CONFIGr  s     r+   r—   Ú*ClientArgsCreator._compute_checksum_configœ  s<   € Ø×$Ñ$ØØ5ÜCð 	%ñ 	
ð
 	×$Ñ$ØØ5ÜCð 	%ò 	
r.   c                 ó  • UR                  U5      nUc  U R                  R                  U5      n[        U[        5      (       a  UR                  5       nXC;  a  [        R                  R                  UUUS9eU R                  XB5        XAU'   g )N)r`  Úconfig_valuera  )
rU   r    r¨   r×   rØ   rÙ   r[   rÍ   ÚInvalidChecksumConfigErrorÚ%_register_checksum_config_feature_ids)r#   r4   r`  ra  r  s        r+   rb  Ú)ClientArgsCreator._handle_checksum_config¨  s�   € ð ×!Ñ! *Ó-ˆØ‰=Ø×&Ñ&×:Ñ:¸:ÓFˆEä�eœS×!Ñ!Ø—K‘K“MˆEàÓ%Ü×%Ñ%×@Ñ@Ø%Ø"Ø+ð Að ð ð
 	×2Ñ2°5ÔEØ$)�jÒ!r.   c                 óŒ   • S nUS:X  a  SUR                  5        3nOUS:X  a  SUR                  5        3nUb  [        U5        g g )Nrˆ   ÚFLEXIBLE_CHECKSUMS_REQ_r‰   ÚFLEXIBLE_CHECKSUMS_RES_)Úupperr	   )r#   r  r`  Úchecksum_config_feature_ids       r+   ri  Ú7ClientArgsCreator._register_checksum_config_feature_ids¾  s\   € Ø%)Ð"ØÐ7Ó7à)¨%¯+©+«-¨Ð9ñ 'ð Ð9Ó9à)¨%¯+©+«-¨Ð9ð 'ð &Ñ1ÜÐ :Õ;ð 2r.   c           	      ót  • SnUR                  S5      nU[        R                  L a  SX'   g UR                  U5      nUc  U R                  R	                  U5      n[        U[        5      (       a  UR                  5       nU[        ;  a+  [        R                  R                  SU SU S[         S3S9eXAU'   g )	Nr<   r@   r   zThe configured value 'z' for 'z ' is invalid. Valid values are: r  rÕ   )rU   r[   ÚUNSIGNEDr    r¨   r×   rØ   rÙ   Ú%VALID_ACCOUNT_ID_ENDPOINT_MODE_CONFIGrÍ   rÛ   )r#   r4   r`  r@   r<   s        r+   r˜   Ú:ClientArgsCreator._compute_account_id_endpoint_mode_configË  sá   € Ø/ˆ
ð *×-Ñ-Ð.AÓBÐØ¤× 1Ñ 1Ò1Ø(2ˆMÑ%Øà#0×#4Ñ#4°ZÓ#@Ð Ø#Ñ+Ø'+×'9Ñ'9×'MÑ'MØó(Ð$ô Ð.´×4Ñ4Ø'?×'EÑ'EÓ'GÐ$ð %Ü8ó9ô ×%Ñ%×8Ñ8Ø2Ð3KÐ2LÈGÐT^ÐS_ð `.Ü.SÐ-TÐTUðWð 9ð ð ð
 %=�jÒ!r.   c                 ó¢  • SnSnU(       a   UR                   (       a  UR                   nSnOU R                  R                  U5      nUc  S X#'   g [        U[        5      (       d/  [
        R                  R                  U S[        U5       SU S3S9eSR                  S	 UR                  S5       5       5      nU(       a  [        U5      nXRU'   g )
Nr>   FTz, must be a comma-delimited string. Received z
 instead: r  rÕ   Ú,c              3   ó”   #   • U  H>  nUR                  5       (       d  M  UR                  S S5      R                  SS5      v •  M@     g7f)Ú Ú Ú	N)ÚstripÚreplace)Ú.0Úitems     r+   Ú	<genexpr>ÚKClientArgsCreator._compute_auth_scheme_preference_config.<locals>.<genexpr>  s=   é € ð 
â(�Ø�z‰z�|ó 4ˆD�L‰L˜˜bÓ!×)Ñ)¨$°×3Ð3Ú(ùs
   ‚AŸ)A)r>   r    r¨   r×   rØ   r[   rÍ   rÛ   r   ÚjoinÚsplitÚClientConfigString)r#   rQ   r4   r`  Úset_in_config_objectr  s         r+   rš   Ú8ClientArgsCreator._compute_auth_scheme_preference_configé  sÚ   € ð .ˆ
Ø$Ðæ˜]×A×AØ!×8Ñ8ˆEØ#'Ñ à×&Ñ&×:Ñ:¸:ÓFˆEà‰=Ø(,ˆMÑ%Øä˜%¤×%Ñ%Ü×%Ñ%×8Ñ8à!�lð # Ü $ U£˜}¨J°u°g¸Qð@ð 9ð ð ð —‘ñ 
àŸ™ CÔ(ó
ó 
ˆö  Ü& uÓ-ˆEà$)�jÒ!r.   c                 ó˜   • U(       aC  UR                   (       a1  UR                   n[        U[        5      (       a  [        U5      US'   g g g g )Nr@   )r@   r×   rØ   rƒ  )r#   rQ   r4   r  s       r+   r›   Ú3ClientArgsCreator._compute_signature_version_config  sA   € Þ˜]×<×<Ø!×3Ñ3ˆEÜ˜%¤×%Ñ%Ü5GÈÓ5N�Ð1Ò2ð &ð =ˆ=r.   )r    r   r   r   r   r"   r   )NNN)+Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r,   ru   rT   r™   r�   r¬   rŒ   r�   rŽ   rº   rÀ   rÆ   rÝ   rÁ   r»   rä   rè   rå   r¼   rž   r’   r  r  r“   r•   rœ   r  r(  rb   r2  r”   r–   r—   rb  ri  r˜   rš   r›   Ú__static_attributes__rS   r.   r+   r   r   U   sá   † ð  ô:ð> Ø#Øô@
òDB
òH;ò&Fò	
ò ò&4òAò0ò*CòòòEò
ò
ò-ò8ò


ôò0ò9ò@%ò?ò@ò,
òò0)òJ
òX^
ò@=ò"Oò

ò*ò,<ò=ò<!*õFOr.   r   c                   ó   • \ rS rSrSrSrg)ÚConfigObjectWrapperi  z8Base class to mark values set via in-code Config object.rS   N)rˆ  r‰  rŠ  r‹  Ú__doc__rŒ  rS   r.   r+   rŽ  rŽ    s   † ÙBâr.   rŽ  c                   ó,   ^ • \ rS rSrSU 4S jjrSrU =r$ )rƒ  i  c                 ó"   >• [         TU ]  X5      $ r   )ÚsuperÚ__new__)Úclsr  Ú	__class__s     €r+   r“  ÚClientConfigString.__new__  s   ø€ Ü‰w‰˜sÓ*Ð*r.   rS   r   )rˆ  r‰  rŠ  r‹  r“  rŒ  Ú__classcell__)r•  s   @r+   rƒ  rƒ    s   ø† ÷+õ +r.   rƒ  )&r�  rV   Úloggingrú   Úbotocore.exceptionsr[   Úbotocore.parsersÚbotocore.serializeÚbotocore.configr   Úbotocore.endpointr   Úbotocore.regionsr   rC  r   Úbotocore.signersr   Úbotocore.useragentr   r	   Úbotocore.utilsr
   r   r   Ú	getLoggerrˆ  r­   rÌ   ré   rZ  rc  rd  rs  r   rŽ  rØ   rƒ  rS   r.   r+   Ú<module>r£     s¬   ðñó Û Û ã Û Û Ý "Ý -Ý DÝ 4Ý *ß C÷ñ ð 
×	Ò	˜8Ó	$€ð Øð#Ð òÐ ð( Ð ð-Ð )ð-Ð )ð)Ð %÷{Oñ {O÷|	ñ 	ô+˜Ð1õ +r.   