ó
    Ú°›jù-  ã                   óœ  • 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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  S S	KJr  \R4                  " \5      r " S
 S\5      rS SK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)  S SK*J+r,  S SK-J.r.  S SK/J0r0  S SK1J2r2  \,r3\4r4\"r5S r6S r7S:S jr8S;S jr9S SK:J;s  J<r=  \=R|                  r?S SK@r@S rA\BS 5       rC\BS 5       rD\C\lC        \D\lD        S rES rF \RŽ                  " SS9  SrHS rKS<S jrLS  rMS! rN S SKOrP\R¢                  R¥                  S"S#5      rS\SR©                  5       S$:X  + rUS% rWS=S& jrXS'rY\
R´                  " S(\Y-   S)-   5      r[S*r\S+R»                  \\\YS,9r^\\\^S-.r_/ S.Qr`S/raS0S1RÅ                  \` V s/ s H  o \_-  PM	     sn 5      -   S2-   rcS3\a-   S4-   rdS5\c-   S0-   \d-   S6-   re\
R´                  " S(\e-   S)-   5      rf\g" S75      rh S SKiriSrj\U(       a  \W" S85      (       a  S S9KkJlrl  gSrlg! \I\J4 a    SrH GNf = f! \V a    SrU Nßf = fs  sn f ! \V a    Srj NLf = f)>é    N)ÚHTTPMessage)ÚOrderedDict)ÚMutableMapping)Úfloor)Úsix)ÚMD5UnavailableError)Útzlocal)Ú
exceptionsc                   ó   • \ rS rSrSrg)ÚHTTPHeadersé%   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/botocore/compat.pyr   r   %   s   † Úr   r   )
ÚquoteÚ	urlencodeÚunquoteÚunquote_plusÚurlparseÚurlsplitÚ
urlunsplitÚurljoinÚ	parse_qslÚparse_qs)ÚHTTPResponse)ÚIOBase)Úencodebytes)Ú
formatdate)Úzip_longestc                 óv   • U R                   R                  R                  R                  R	                  U5        g)ztSet the timeout of the socket from an HTTPResponse.

:param http_response: An instance of ``httplib.HTTPResponse``

N)Ú_fpÚfpÚrawÚ_sockÚ
settimeout)Úhttp_responseÚtimeouts     r   Úset_socket_timeoutr-   @   s*   € ð ×Ñ×Ñ×Ñ×"Ñ"×-Ñ-¨gÕ6r   c                 ó4   • [         R                  " U 5      S   $ )Né   )ÚinspectÚgetfullargspec)Úfuncs    r   Úaccepts_kwargsr3   H   s   € Ü×!Ò! $Ó'¨Ñ*Ð*r   c                 ó   • U $ ©Nr   ©ÚsÚencodingÚerrorss      r   Úensure_unicoder:   K   s   € à€Hr   c                 ó¬   • [        U [        5      (       a  U R                  X5      $ [        U [        5      (       a  U $ [	        S[        U 5       S35      e)Nz Expected str or bytes, received Ú.)Ú
isinstanceÚstrÚencodeÚbytesÚ
ValueErrorÚtyper6   s      r   Úensure_bytesrC   O   sI   € Ü�!”S×ÑØ�x‰x˜Ó)Ð)Ü�!”U×ÑØˆÜ
Ð7¼¸Q»°yÀÐBÓ
CÐCr   c                  óN   • [         R                  " SS[        R                  SS9  g )NÚignorez+A true SSLContext object is not available.*z.*urllib3\.util\.ssl_)ÚmessageÚcategoryÚmodule)ÚwarningsÚfilterwarningsr
   ÚInsecurePlatformWarningr   r   r   Úfilter_ssl_warningsrL   ]   s"   € ä×ÒØØ=Ü×3Ñ3Ø'ó	r   c                 óN   • U " 5       nUR                  5        H	  u  p4XBU'   M     U$ r5   )Úitems)ÚclsÚdÚnew_instanceÚkeyÚvalues        r   Ú	from_dictrT   g   s)   € á“5€LØ—g‘g–i‰
ˆØ!�SÓñ  àÐr   c                 ó2   • U " 5       nU H	  u  p4XBU'   M     U$ r5   r   )rO   ÚpairsrQ   rR   rS   s        r   Ú
from_pairsrW   o   s#   € á“5€LÛ‰
ˆØ!�SÓñ àÐr   c                 ó2   • [         R                   " U 5      nU$ )zA
This used to be a compat shim for 2.6 but is now just an alias.
)Úcopy)ÚkwargsÚcopy_kwargss     r   r[   r[   {   s   € ô —)’)˜FÓ#€KØÐr   c                 ó"   • U R                  5       $ )zÁ
Returns the total seconds in a ``datetime.timedelta``.

This used to be a compat shim for 2.6 but is now just an alias.

:param delta: The timedelta object
:type delta: ``datetime.timedelta``
)Útotal_seconds)Údeltas    r   r]   r]   ƒ   s   € ð ×ÑÓ Ð r   F)ÚusedforsecurityTc                  óX   • [         (       a  [        R                  " U 0 UD6$ [        5       e)a"  
Attempts to get an md5 hashing object.

:param args: Args to pass to the MD5 constructor
:param kwargs: Key word arguments to pass to the MD5 constructor
:return: An MD5 hashing object if available. If it is unavailable, None
    is returned if raise_error_if_unavailable is set to False.
)ÚMD5_AVAILABLEÚhashlibÚmd5r   )ÚargsrZ   s     r   Úget_md5re   ˜   s&   € ÷ ‚}Ü�{Š{˜DÐ+ FÑ+Ð+ä!Ó#Ð#r   c                 óv   • Uc  [         R                  nUS:X  a  [        U 5      $ [        R                  " U 5      $ )NÚwin32)ÚsysÚplatformÚ_windows_shell_splitÚshlexÚsplit)r7   ri   s     r   Úcompat_shell_splitrm   §   s2   € ØÑÜ—<‘<ˆà�7ÓÜ# AÓ&Ð&ä�{Š{˜1‹~Ðr   c           
      óè  • U (       d  / $ / n/ nSnSnU  GH  nUS:X  a  US-  nM  US:X  ai  US:”  aI  UR                  S[        [        US-  5      5      -  5        US-  nSnUS:X  a  UR                  S5        Mf  U(       + nUR                  S5        M€  US;   aP  U(       dI  US:”  a  UR                  SU-  5        SnU(       a$  UR                  SR                  U5      5        / nMÔ  MÖ  US:”  a  UR                  SU-  5        SnUR                  U5        GM     U(       a  [	        S	U  35      eUS:”  a  UR                  SU-  5        U(       a   UR                  SR                  U5      5        U$ )
aé  Splits up a windows command as the built-in command parser would.

Windows has potentially bizarre rules depending on where you look. When
spawning a process via the Windows C runtime (which is what python does
when you call popen) the rules are as follows:

https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments

To summarize:

* Only space and tab are valid delimiters
* Double quotes are the only valid quotes
* Backslash is interpreted literally unless it is part of a chain that
  leads up to a double quote. Then the backslashes escape the backslashes,
  and if there is an odd number the final backslash escapes the quote.

:param s: The command string to split up into parts.
:return: A list of command components.
Fr   Ú\é   Ú"r/   Ú )Ú Ú	z No closing quotation in string: )ÚappendÚintr   ÚjoinrA   )r7   Ú
componentsÚbuffÚ	is_quotedÚnum_backslashesÚ	characterÚ	remainders          r   rj   rj   ±   s~  € ö( Øˆ	à€JØ€DØ€IØ€OÜˆ	Ø˜Óð
 ˜qÑ ŠOØ˜#ÓØ Ó"ð —‘˜D¤3¤u¨_¸qÑ-@Ó'AÓ#BÑBÔCØ+¨aÑ/�	Ø"#�Ø “>ð —K‘K Ô$Ùð &œˆIð �K‰K˜ŽOØ˜+Ó%®ið  Ó"Ø—‘˜D ?Ñ2Ô3Ø"#�ö Ø×!Ñ! "§'¡'¨$£-Ô0Ø’ñ ð  Ó"Ø—‘˜D ?Ñ2Ô3Ø"#�Ø�K‰K˜	×"ñc öh ÜÐ;¸A¸3Ð?Ó@Ð@ð ˜ÓØ�‰�D˜?Ñ*Ô+ö Ø×Ñ˜"Ÿ'™' $›-Ô(àÐr   c                  óT   • [         R                  S:X  a  SSKJn   [        U 4$ [        4$ )Nrg   r   ©Ú
tzwinlocal)rh   ri   Údateutil.tzr€   r	   r   s    r   Úget_tzinfo_optionsr‚     s&   € ô ‡|�|�wÓÝ*ä˜Ð$Ð$äˆzÐr   ÚBOTO_DISABLE_CRTÚfalseÚtruec                 óÄ   • [         (       d  g[        R                  n [        [        UR                  S5      5      n[        U5      nX0:¬  $ ! [        [        4 a     gf = f)z&Not intended for use outside botocore.Fr<   )	ÚHAS_CRTÚawscrtÚ__version__Úmaprv   rl   ÚtupleÚ	TypeErrorrA   )Úminimum_versionÚcrt_version_strÚcrt_version_intsÚcrt_version_tuples       r   Úhas_minimum_crt_versionr‘   &  sb   € çŠ7Øä×(Ñ(€OðÜœs O×$9Ñ$9¸#Ó$>Ó?ÐÜ!Ð"2Ó3Ðð Ñ/Ð/øô ”zÐ"ó Ùðús   ž*A ÁAÁAc                 ó    • [         R                   R                  [         R                  R                  5      nU (       a  UR	                  SS9nU$ )zKRetrieve the current timezone in UTC, with or without an explicit timezone.N)Útzinfo)ÚdatetimeÚnowÚtimezoneÚutcÚreplace)Úremove_tzinfoÚdatetime_nows     r   Úget_current_datetimer›   5  s@   € ä×$Ñ$×(Ñ(¬×):Ñ):×)>Ñ)>Ó?€LÞØ#×+Ñ+°4Ð+Ð8ˆØÐr   z(?:[0-9]{1,3}\.){3}[0-9]{1,3}Ú^Ú$z[0-9A-Fa-f]{1,4}z(?:{hex}:{hex}|{ipv4}))ÚhexÚipv4)rž   Úls32)	z(?:%(hex)s:){6}%(ls32)sz::(?:%(hex)s:){5}%(ls32)sz%(?:%(hex)s)?::(?:%(hex)s:){4}%(ls32)sz2(?:(?:%(hex)s:)?%(hex)s)?::(?:%(hex)s:){3}%(ls32)sz6(?:(?:%(hex)s:){0,2}%(hex)s)?::(?:%(hex)s:){2}%(ls32)sz/(?:(?:%(hex)s:){0,3}%(hex)s)?::%(hex)s:%(ls32)sz'(?:(?:%(hex)s:){0,4}%(hex)s)?::%(ls32)sz&(?:(?:%(hex)s:){0,5}%(hex)s)?::%(hex)sz(?:(?:%(hex)s:){0,6}%(hex)s)?::zDABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._!\-~z(?:Ú|Ú)z(?:%25|%)(?:[z]|%[a-fA-F0-9]{2})+z\[z)?\]z	
)r   é   é   )ÚEC)NN)zutf-8Ústrictr5   )T)mrY   r”   rh   r0   rI   rb   Úhttp.clientr   Úloggingrk   ÚreÚosÚcollectionsr   Úcollections.abcr   Úmathr   Úbotocore.vendoredr   Úbotocore.exceptionsr   r�   r	   Úurllib3r
   Ú	getLoggerr   Úloggerr   Úurllib.parser   r   r   r   r   r   r   r   r   r   r    Úior!   Ú_IOBaseÚbase64r"   Úemail.utilsr#   Ú	itertoolsr$   Ú	file_typeÚzipÚunquote_strr-   r3   r:   rC   Úxml.etree.ElementTreeÚetreeÚElementTreeÚETreeÚ
ParseErrorÚXMLParseErrorÚjsonrL   ÚclassmethodrT   rW   r[   r]   rc   ra   ÚAttributeErrorrA   re   rm   rj   r‚   Úawscrt.authrˆ   ÚenvironÚgetÚdisabledÚlowerr‡   ÚImportErrorr‘   r›   ÚIPV4_PATÚcompileÚIPV4_REÚHEX_PATÚformatÚLS32_PATÚ_subsÚ_variationsÚUNRESERVED_PATrw   ÚIPV6_PATÚZONE_ID_PATÚIPV6_ADDRZ_PATÚIPV6_ADDRZ_REÚ	frozensetÚUNSAFE_URL_CHARSÚgzipÚHAS_GZIPÚawscrt.cryptor¥   )Úxs   0r   Ú<module>rÞ      s£  ðó Û Û 
Û Û Û Ý #Û Û Û 	Û 	Ý #Ý *Ý å !Ý 3Ý Ý à	×	Ò	˜8Ó	$€ô	�+ô 	÷÷ ÷ õ %Ý  Ý Ý "Ý !Ø€	Ø	€ð €ò7ò+ôôD÷ &Ð %Ø× Ñ €ã òð ñó ðð ñó ðð "€Ô Ø#€Ô òò	!ðØ‡K‚K Ò&Ø€Mò
$ôò[ò|	ðÛð �z‰z�~‰~Ð0°'Ó:€HØ—.‘.Ó" fÒ,€Gò
0ôð ,€Ø
�*Š*�S˜8‘^ cÑ)Ó
*€Ø
€Ø#×*Ñ*¨w¸XÐ*ÐF€Ø Ñ*€ò€ð, Lð ð �3—8‘8±Ó<²¨1 œY±Ñ<Ó=Ñ=ÀÑC€Ø Ñ.Ð1FÑF€Ø˜Ñ! FÑ*¨[Ñ8¸7ÑB€Ø—
’
˜3 Ñ/°#Ñ5Ó6€ñ ˜XÓ&Ð ðÛØ€Hö
 Ñ& z×2Ñ2Þ à	�Bøð 	˜
Ð#ó ØƒMðûð\ ó Ø‚Gðüò| =øð ó Ø‚Hðús<   ÄH Ä$4H- Æ'H;
Ç8I  È
H*È)H*È-H8È7H8É IÉ
I