ó
    †>i¬  ã                   óN   • S SK r S SKrS SKrSS jr " S S\5      rS rS rS rg)	é    Nc                 ó”   • Uc  / n[        X5      R                  U5      R                  5       R                  5       R	                  5       $ )a›  Return an internet-friendly user_agent string.

The majority of this code has been wilfully stolen from the equivalent
function in Requests.

:param name: The intended name of the user-agent, e.g. "python-requests".
:param version: The version of the user-agent, e.g. "0.0.1".
:param extras: List of two-item tuples that are added to the user-agent
    string.
:returns: Formatted user-agent string
:rtype: str
)ÚUserAgentBuilderÚinclude_extrasÚinclude_implementationÚinclude_systemÚbuild)ÚnameÚversionÚextrass      Ú_/home/mande/repo/quber/.venv/lib/python3.13/site-packages/requests_toolbelt/utils/user_agent.pyÚ
user_agentr      sD   € ð �~ØˆäØó
ç
‰.Øó
ç
 Ñ
 ó 
ß
‰.Ó
Ÿ5™5›7ð#ó    c                   ó:   • \ rS rSrSrSrS rS rS rS r	S r
S	rg
)r   é   a¿  Class to provide a greater level of control than :func:`user_agent`.

This is used by :func:`user_agent` to build its User-Agent string.

.. code-block:: python

    user_agent_str = UserAgentBuilder(
            name='requests-toolbelt',
            version='17.4.0',
        ).include_implementation(
        ).include_system(
        ).include_extras([
            ('requests', '2.14.2'),
            ('urllib3', '1.21.2'),
        ]).build()

ú%s/%sc                 ó>   • [         R                  " X4/5      U l        g)z­Initialize our builder with the name and version of our user agent.

:param str name:
    Name of our user-agent.
:param str version:
    The version string for user-agent.
N)ÚcollectionsÚdequeÚ_pieces)Úselfr	   r
   s      r   Ú__init__ÚUserAgentBuilder.__init__4   s   € ô #×(Ò(¨4¨/Ð):Ó;ˆ�r   c                 ó|   • SR                  U R                   Vs/ s H  oR                  U-  PM     sn5      $ s  snf )z\Finalize the User-Agent string.

:returns:
    Formatted User-Agent string.
:rtype:
    str
Ú )Újoinr   Úformat_string)r   Úpieces     r   r   ÚUserAgentBuilder.build>   s2   € ð �x‰xÀÇÂÓNÂ¸×+Ñ+¨eÔ3ÁÑNÓOÐOùÒNs   š9c                 ó€   • [        S U 5       5      (       a  [        S5      eU R                  R                  U5        U $ )zrInclude extra portions of the User-Agent.

:param list extras:
    list of tuples of extra-name and extra-version
c              3   ó>   #   • U  H  n[        U5      S :g  v •  M     g7f)é   N)Úlen)Ú.0Úextras     r   Ú	<genexpr>Ú2UserAgentBuilder.include_extras.<locals>.<genexpr>N   s   é € Ð3ªF 5Œs�5‹z˜QŽªFùs   ‚z/Extras should be a sequence of two item tuples.)ÚanyÚ
ValueErrorr   Úextend)r   r   s     r   r   ÚUserAgentBuilder.include_extrasH   s8   € ô Ñ3©FÓ3×3Ñ3ÜÐNÓOÐOà�‰×Ñ˜FÔ#Øˆr   c                 óL   • U R                   R                  [        5       5        U $ )zŽAppend the implementation string to the user-agent string.

This adds the the information that you're using CPython 2.7.13 to the
User-Agent.
)r   ÚappendÚ_implementation_tuple©r   s    r   r   Ú'UserAgentBuilder.include_implementationT   s   € ð 	�‰×ÑÔ1Ó3Ô4Øˆr   c                 óL   • U R                   R                  [        5       5        U $ )z2Append the information about the Operating System.)r   r,   Ú_platform_tupler.   s    r   r   ÚUserAgentBuilder.include_system]   s   € à�‰×ÑœOÓ-Ô.Øˆr   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r   r   Ú__static_attributes__© r   r   r   r      s(   † ñð$ €Mò<òPò
òõr   r   c                  ó8  • [         R                  " 5       n U S:X  a  [         R                  " 5       nX4$ U S:X  a¡  [        R                  R
                  < S[        R                  R                  < S[        R                  R                  < 3n[        R                  R                  S:w  a+  SR                  U[        R                  R                  /5      nX4$ U S:X  a  [         R                  " 5       nX4$ U S:X  a  [         R                  " 5       nX4$ SnX4$ )	a²  Return the tuple of interpreter name and version.

Returns a string that provides both the name and the version of the Python
implementation currently running. For example, on CPython 2.7.5 it will
return "CPython/2.7.5".

This function works best on CPython and PyPy: in particular, it probably
doesn't work for Jython or IronPython. Future investigation should be done
to work out the correct shape of the code for those platforms.
ÚCPythonÚPyPyÚ.ÚfinalÚ ÚJythonÚ
IronPythonÚUnknown)
ÚplatformÚpython_implementationÚpython_versionÚsysÚpypy_version_infoÚmajorÚminorÚmicroÚreleaselevelr   )ÚimplementationÚimplementation_versions     r   r-   r-   c   s  € ô ×3Ò3Ó5€Nà˜Ó"Ü!)×!8Ò!8Ó!:Ðð  Ð3Ð3ð 
˜6Ó	!Ü/2×/DÑ/D×/JÔ/JÜ/2×/DÑ/D×/JÔ/JÜ/2×/DÑ/D×/JÓ/Jð"LÐô × Ñ ×-Ñ-°Ó8Ø%'§W¡WØ&¬×(=Ñ(=×(JÑ(Jð.ó &Ð"ð Ð3Ð3ð 
˜8Ó	#Ü!)×!8Ò!8Ó!:Ðð Ð3Ð3ð 
˜<Ó	'Ü!)×!8Ò!8Ó!:Ðð Ð3Ð3ð "+ÐàÐ3Ð3r   c                  ó   • S[        5       -  $ )Nr   )r-   r9   r   r   Ú_implementation_stringrO   „   s   € ØÔ*Ó,Ñ,Ð,r   c                  óŠ   •  [         R                  " 5       n [         R                  " 5       nX4$ ! [         a	    Sn Sn X4$ f = f)NrB   )rC   ÚsystemÚreleaseÚIOError)Úp_systemÚ	p_releases     r   r1   r1   ˆ   sP   € ðÜ—?’?Ó$ˆÜ×$Ò$Ó&ˆ	ð Ð Ð øô ó ØˆØ‰	ØÐ Ð ðús   ‚*/ ¯AÁA)N)	r   rC   rF   r   Úobjectr   r-   rO   r1   r9   r   r   Ú<module>rW      s2   ðã Û Û 
ô#ô0A�vô AòH4òB-ó!r   