ó
    Ð]jš  ã                   óÈ   • S r SSKJr  SSKJr   SSSS.S\S\S	\S
\S   S\S\4S jjjr SSSS.S\S\S	\S
\S   S\S\4S jjjr SSSS.S\S\S	\S
\S   S\S\4S jjjr	g)zBPython grapheme, emoji, and sequence-aware ljust, rjust, center().é    )ÚLiteralé   )ÚwidthÚparse©Úcontrol_codesÚambiguous_widthÚtextÚ
dest_widthÚfillcharr   )r   ÚstrictÚignorer	   Úreturnc                ó¬   • U R                  5       (       a!  U R                  5       (       a  [        U 5      nO
[        XUS9n[	        SX-
  5      nXU-  -   $ )uÙ  
Return text left-justified in a string of given display width.

:param text: String to justify, may contain terminal sequences.
:param dest_width: Total display width of result in terminal cells.
:param fillchar: Single character for padding (default space). Must have
    display width of 1 (not wide, not zero-width, not combining). Unicode
    characters like ``'Â·'`` are acceptable. The width is not validated.
:param control_codes: How to handle control sequences when measuring.
    Passed to :func:`width` for measurement.
:param ambiguous_width: Width to use for East Asian Ambiguous (A)
    characters. Default is ``1`` (narrow). Set to ``2`` for CJK contexts.
:returns: Text padded on the right to reach ``dest_width``.

.. versionadded:: 0.3.0

Example::

    >>> wcwidth.ljust('hi', 5)
    'hi   '
    >>> wcwidth.ljust('\x1b[31mhi\x1b[0m', 5)
    '\x1b[31mhi\x1b[0m   '
    >>> wcwidth.ljust('\U0001F468\u200D\U0001F469\u200D\U0001F467', 6)
    'ðŸ‘¨â€�ðŸ‘©â€�ðŸ‘§    '
r   r   ©ÚisasciiÚisprintableÚlenr   Úmax©r
   r   r   r   r	   Ú
text_widthÚpadding_cellss          ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/wcwidth/align.pyÚljustr      sP   € ðB ‡|�|‡~�~˜$×*Ñ*×,Ñ,Ü˜“Y‰
ä˜4ÈoÑ^ˆ
Ü˜˜:Ñ2Ó3€MØ˜]Ñ*Ñ*Ð*ó    c                ó¬   • U R                  5       (       a!  U R                  5       (       a  [        U 5      nO
[        XUS9n[	        SX-
  5      nX&-  U -   $ )uÙ  
Return text right-justified in a string of given display width.

:param text: String to justify, may contain terminal sequences.
:param dest_width: Total display width of result in terminal cells.
:param fillchar: Single character for padding (default space). Must have
    display width of 1 (not wide, not zero-width, not combining). Unicode
    characters like ``'Â·'`` are acceptable. The width is not validated.
:param control_codes: How to handle control sequences when measuring.
    Passed to :func:`width` for measurement.
:param ambiguous_width: Width to use for East Asian Ambiguous (A)
    characters. Default is ``1`` (narrow). Set to ``2`` for CJK contexts.
:returns: Text padded on the left to reach ``dest_width``.

.. versionadded:: 0.3.0

Example::

    >>> wcwidth.rjust('hi', 5)
    '   hi'
    >>> wcwidth.rjust('\x1b[31mhi\x1b[0m', 5)
    '   \x1b[31mhi\x1b[0m'
    >>> wcwidth.rjust('\U0001F468\u200D\U0001F469\u200D\U0001F467', 6)
    '    ðŸ‘¨â€�ðŸ‘©â€�ðŸ‘§'
r   r   r   r   s          r   Úrjustr   1   sP   € ðB ‡|�|‡~�~˜$×*Ñ*×,Ñ,Ü˜“Y‰
ä˜4ÈoÑ^ˆ
Ü˜˜:Ñ2Ó3€MØÑ# dÑ*Ð*r   c                óØ   • U R                  5       (       a!  U R                  5       (       a  [        U 5      nO
[        XUS9n[	        SX-
  5      nUS-  Xa-  S-  -   nXg-
  nX'-  U -   X(-  -   $ )uþ  
Return text centered in a string of given display width.

:param text: String to center, may contain terminal sequences.
:param dest_width: Total display width of result in terminal cells.
:param fillchar: Single character for padding (default space). Must have
    display width of 1 (not wide, not zero-width, not combining). Unicode
    characters like ``'Â·'`` are acceptable. The width is not validated.
:param control_codes: How to handle control sequences when measuring.
    Passed to :func:`width` for measurement.
:param ambiguous_width: Width to use for East Asian Ambiguous (A)
    characters. Default is ``1`` (narrow). Set to ``2`` for CJK contexts.
:returns: Text padded on both sides to reach ``dest_width``.

For odd-width padding, the extra cell fills in the same cell position as
Python's :meth:`str.center` behavior (the left side when ``dest_width`` is
odd, the right side when ``dest_width`` is even).
See `the eccentric str.center <https://jazcap53.github.io/pythons-eccentric-strcenter.html>`_.

.. versionadded:: 0.3.0

Example::

    >>> wcwidth.center('hi', 6)
    '  hi  '
    >>> wcwidth.center('\x1b[31mhi\x1b[0m', 6)
    '  \x1b[31mhi\x1b[0m  '
    >>> wcwidth.center('\U0001F468\u200D\U0001F469\u200D\U0001F467', 6)
    '  ðŸ‘¨â€�ðŸ‘©â€�ðŸ‘§  '
r   r   é   r   r   )	r
   r   r   r   r	   r   Útotal_paddingÚleft_padÚ	right_pads	            r   Úcenterr#   Z   sw   € ðL ‡|�|‡~�~˜$×*Ñ*×,Ñ,Ü˜“Y‰
ä˜4ÈoÑ^ˆ
Ü˜˜:Ñ2Ó3€Mà Ñ! ]Ñ%?À!Ñ%CÑD€HØÑ(€IØÑ Ñ%¨Ñ(<Ñ<Ð<r   N)Ú )
Ú__doc__Útypingr   Ú_widthr   ÚstrÚintr   r   r#   © r   r   Ú<module>r+      s  ðÙ HÝ õ ð ð&+ð
 ;BØò&+Ø
ð&+àð&+ð ð&+ð
 Ð6Ñ7ð&+ð ð&+ð 	ö&+ðX ð&+ð
 ;BØò&+Ø
ð&+àð&+ð ð&+ð
 Ð6Ñ7ð&+ð ð&+ð 	ö&+ðX ð.=ð
 ;BØò.=Ø
ð.=àð.=ð ð.=ð
 Ð6Ñ7ð.=ð ð.=ð 	÷.=r   