ó
    ˆ*£hÔ  ã                  óÒ   • S r SSKJr  SSKrSSKrSSKJrJrJrJ	r	  \(       a  SSK
Jr  \	" SSS9r " S	 S
\\R                  5      r " S S\\R                  5      r " S S\5      rg)z4Base classes and other objects used by enumerations.é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚTypeÚTypeVar)ÚSelfÚ_TÚBaseXmlEnum)Úboundc                  ó(   • \ rS rSrSrSS jrS rSrg)ÚBaseEnumé   zÀBase class for Enums that do not map XML attr values.

The enum's value will be an integer, corresponding to the integer assigned the
corresponding member in the MS API enum of the same name.
c                óf   • [         R                  X5      nXl        UR                  5       Ul        U$ ©N)ÚintÚ__new__Ú_value_ÚstripÚ__doc__)ÚclsÚms_api_valueÚdocstrÚselfs       ÚK/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pptx/enum/base.pyr   ÚBaseEnum.__new__   s'   € Ü�{‰{˜3Ó-ˆØ#ŒØ—|‘|“~ˆŒØˆó    c                ó:   • U R                    SU R                   S3$ ©zEThe symbolic name and string value of this member, e.g. 'MIDDLE (3)'.z (Ú)©ÚnameÚvalue©r   s    r   Ú__str__ÚBaseEnum.__str__   ó   € à—)‘)�˜B˜tŸz™z˜l¨!Ð,Ð,r   )r   r   N)r   r   r   Ústr)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r$   Ú__static_attributes__© r   r   r   r      s   † ñôõ-r   r   c                  óp   • \ rS rSr% SrS\S'   SS jrS r\SS j5       r	\SS j5       r
\SS	 j5       rS
rg)r
   é!   z¾Base class for Enums that also map XML attr values.

The enum's value will be an integer, corresponding to the integer assigned the
corresponding member in the MS API enum of the same name.
ú
str | NoneÚ	xml_valuec                ór   • [         R                  X5      nXl        X$l        UR	                  5       Ul        U$ r   )r   r   r   r1   r   r   )r   r   r1   r   r   s        r   r   ÚBaseXmlEnum.__new__*   s,   € Ü�{‰{˜3Ó-ˆØ#ŒØ"ŒØ—|‘|“~ˆŒØˆr   c                ó:   • U R                    SU R                   S3$ r   r    r#   s    r   r$   ÚBaseXmlEnum.__str__1   r&   r   c                ó’   ^• T(       a  [        U4S jU  5       S5      OSnUc#  [        U R                   S[        T5       35      eU$ )aF  Enumeration member corresponding to XML attribute value `xml_value`.

Raises `ValueError` if `xml_value` is the empty string ("") or is not an XML attribute
value registered on the enumeration. Note that enum members that do not correspond to one
of the defined values for an XML attribute have `xml_value == ""`. These
"return-value only" members cannot be automatically mapped from an XML attribute value and
must be selected explicitly by code, based on the appropriate conditions.

Example::

    >>> WD_PARAGRAPH_ALIGNMENT.from_xml("center")
    WD_PARAGRAPH_ALIGNMENT.CENTER

c              3  óJ   >#   • U  H  oR                   T:X  d  M  Uv •  M     g 7fr   )r1   )Ú.0Úmemberr1   s     €r   Ú	<genexpr>Ú'BaseXmlEnum.from_xml.<locals>.<genexpr>G   s   øé € ÐL¢s˜V×.>Ñ.>À)Ñ.K—&‘&¢sùs   ƒ#š	#Nz has no XML mapping for )ÚnextÚ
ValueErrorr(   Úrepr)r   r1   r9   s    ` r   Úfrom_xmlÚBaseXmlEnum.from_xml5   sN   ø€ ö& ô ÔL¡sÓLÈdÔSàð 	ð ‰>Ü §¡˜~Ð-EÄdÈ9ÃoÐEVÐWÓXÐXàˆr   c                ó†   • U " U5      nUR                   nU(       d%  [        U R                   SUR                   S35      eU$ )z@XML value of this enum member, generally an XML attribute value.Ú.z has no XML representation)r1   r=   r(   r!   )r   r"   r9   r1   s       r   Úto_xmlÚBaseXmlEnum.to_xmlQ   sB   € ñ
 �U“ˆØ×$Ñ$ˆ	ÞÜ §¡˜~¨Q¨v¯{©{¨mÐ;UÐVÓWÐWØÐr   c                óD   • X;  a  [        U SU R                   S35      eg)z9Raise |ValueError| if `value` is not an assignable value.z not a member of z enumerationN)r=   r(   )r   r"   s     r   ÚvalidateÚBaseXmlEnum.validate\   s,   € ð ÓÜ ˜wÐ&7¸¿¹°~À\ÐRÓSÐSð r   )r   r   r1   N)r   r   r1   r0   r   r'   )r1   r'   Úreturnr   )r   úType[_T]r"   zint | _TrH   r'   )r   rI   r"   r	   )r(   r)   r*   r+   r   Ú__annotations__r   r$   Úclassmethodr?   rC   rF   r,   r-   r   r   r
   r
   !   sW   ‡ ñð Óôò-ð óó ðð6 óó ðð óTó óTr   c                  ó|   • \ rS rSrSrSS jr\S 5       r\S 5       rSS jr	\S 5       r
\S 5       r\S	 5       rS
rg)ÚDocsPageFormatteréc   zHFormats a reStructuredText documention page (string) for an enumeration.c                ó   • Xl         X l        g r   )Ú_clsnameÚ_clsdict)r   ÚclsnameÚclsdicts      r   Ú__init__ÚDocsPageFormatter.__init__f   s   € ØŒØ�r   c                ój   • SnU R                   U R                  U R                  U R                  4nX-  $ )zi
The RestructuredText documentation page for the enumeration. This is
the only API member for the class.
z.. _%s:

%s

%s

----

%s)Ú_ms_nameÚ_page_titleÚ_intro_textÚ_member_defs)r   ÚtmplÚ
componentss      r   Úpage_strÚDocsPageFormatter.page_strj   s=   € ð 3ˆà�M‰MØ×ÑØ×ÑØ×Ñð	
ˆ
ð Ñ Ð r   c                ó–   •  U R                   S   nUc  g[        R                  " U5      R	                  5       $ ! [         a    Sn N6f = f)zZ
The docstring of the enumeration, formatted for use at the top of the
documentation page
r   Ú )rQ   ÚKeyErrorÚtextwrapÚdedentr   )r   Úcls_docstrings     r   rY   ÚDocsPageFormatter._intro_texty   sN   € ð	Ø ŸM™M¨)Ñ4ˆMð Ñ Øä�Š˜}Ó-×3Ñ3Ó5Ð5øô ó 	ØŠMð	ús   ‚9 ¹AÁAc                óÆ   • [         R                  " UR                  =(       d    S5      R                  5       n[         R                  " USSSS9nUR
                  < SU< S3$ )zxReturn an individual member definition formatted as an RST glossary entry.

Output is wrapped to fit within 78 columns.
r`   éN   z    )ÚwidthÚinitial_indentÚsubsequent_indentÚ
)rb   rc   r   r   Úfillr!   )r   r9   Úmember_docstrings      r   Ú_member_defÚDocsPageFormatter._member_def‰   sR   € ô
 $Ÿ?š?¨6¯>©>×+?¸RÓ@×FÑFÓHÐÜ#Ÿ=š=ØØØ"Ø%ñ	
Ðð $Ÿ[œ[Ó*:Ð;Ð;r   c                óª   • U R                   S   nU Vs/ s H"  o"R                  c  M  U R                  U5      PM$     nnSR                  U5      $ s  snf )z`
A single string containing the aggregated member definitions section
of the documentation page
Ú__members__rk   )rQ   r!   rn   Újoin)r   Úmembersr9   Úmember_defss       r   rZ   ÚDocsPageFormatter._member_defs—   sM   € ð —-‘- Ñ.ˆÙ>EÓaºg°FÏÉÓ/�t×'Ñ'¨Ö/¹gˆÐaØ�y‰y˜Ó%Ð%ùò bs
   ”A¨Ac                ó    • U R                   S   $ )z-
The Microsoft API name for this enumeration
Ú__ms_name__)rQ   r#   s    r   rW   ÚDocsPageFormatter._ms_name¡   s   € ð
 �}‰}˜]Ñ+Ð+r   c                ó`   • S[        U R                  5      S-   -  nSU R                  < SU< 3$ )z|
The title for the documentation page, formatted as code (surrounded
in double-backtics) and underlined with '=' characters
Ú=é   z``z``
)ÚlenrP   )r   Útitle_underscores     r   rX   ÚDocsPageFormatter._page_title¨   s-   € ð ¤# d§m¡mÓ"4°qÑ"8Ñ9ÑØ#Ÿ}œ}Ò.>Ð?Ð?r   )rQ   rP   N)rR   r'   rS   zdict[str, Any])r9   zBaseEnum | BaseXmlEnum)r(   r)   r*   r+   r   rT   Úpropertyr]   rY   rn   rZ   rW   rX   r,   r-   r   r   rM   rM   c   su   † ÙRô ð ñ!ó ð!ð ñ6ó ð6ô<ð ñ&ó ð&ð ñ,ó ð,ð ñ@ó ó@r   rM   )r   Ú
__future__r   Úenumrb   Útypingr   r   r   r   Útyping_extensionsr   r	   r   ÚEnumr   r
   ÚobjectrM   r-   r   r   Ú<module>r†      s`   ðÙ :å "ã Û ß 4Ó 4æÝ&áˆT˜Ñ'€ô-ˆs�D—I‘Iô -ô$?T�#�t—y‘yô ?TôDL@˜õ L@r   