ó
    ‰*£hl	  ã                   ó>  • S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	J
r
JrJr  SSKJr   " S S	\5      r " S
 S\5      r " S S\	5      r\
r " S S\	5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rSS jrg)z
Excel specific descriptors
é    )ÚREL_NS)Úsafe_string)ÚElementé   )ÚMatchPatternÚMinMaxÚIntegerÚStringÚSequence)ÚSerialisablec                   ó   • \ rS rSrSrSrg)Ú	HexBinaryé   z[0-9a-fA-F]+$© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚpatternÚ__static_attributes__r   ó    ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/openpyxl/descriptors/excel.pyr   r      s   † àƒGr   r   c                   ó   • \ rS rSrSrSrg)ÚUniversalMeasureé   z$[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)r   Nr   r   r   r   r   r      s   † à5ƒGr   r   c                   ó$   • \ rS rSrSr\rSrSrSr	g)Ú	TextPointé   zh
Size in hundredths of points.
In theory other units of measurement can be used but these are unbounded
i€åùÿi€ r   N)
r   r   r   r   Ú__doc__ÚintÚexpected_typeÚminÚmaxr   r   r   r   r   r      s   † ñð €Mà
€CØ
ƒCr   r   c                   ó4   ^ • \ rS rSrSrSrSrU 4S jrSrU =r	$ )Ú
Percentageé-   z&((100)|([0-9][0-9]?))(\.[0-9][0-9]?)?%iÀ½ðÿi@B c                 ó¬   >• [        U[        5      (       a/  SU;   a)  UR                  SS5      n[        [	        U5      S-  5      n[
        TU ]  X5        g )NÚ%Ú iè  )Ú
isinstanceÚstrÚreplacer!   ÚfloatÚsuperÚ__set__©ÚselfÚinstanceÚvalueÚ	__class__s      €r   r0   ÚPercentage.__set__3   sE   ø€ Ü�eœS×!Ñ! c¨U£lØ—M‘M # rÓ*ˆEÜœ˜e› tÑ+Ó,ˆEÜ‰‰˜Õ(r   r   )
r   r   r   r   r   r#   r$   r0   r   Ú__classcell__©r5   s   @r   r&   r&   -   s   ø† à7€GØ
€CØ
€C÷)ó )r   r&   c                   ó.   • \ rS rSr\" 5       r SS jrSrg)Ú	Extensioné:   Nc                 ó   • Xl         g ©N©Úuri)r2   r?   s     r   Ú__init__ÚExtension.__init__>   ó	   € ð �r   r>   r=   )r   r   r   r   r
   r?   r@   r   r   r   r   r:   r:   :   s   † á
‹(€Cð ÷r   r:   c                   ó,   • \ rS rSr\" \S9r SS jrSrg)ÚExtensionListéD   )r"   c                 ó   • Xl         g r=   ©Úext)r2   rH   s     r   r@   ÚExtensionList.__init__H   rB   r   rG   N)r   )	r   r   r   r   r   r:   rH   r@   r   r   r   r   rD   rD   D   s   † á
 Ñ
+€Cð ÷r   rD   c                   ó   • \ rS rSr\rSrSrg)ÚRelationéN   Tr   N)r   r   r   r   r   Ú	namespaceÚ
allow_noner   r   r   r   rK   rK   N   s   † à€IØƒJr   rK   c                   ó   • \ rS rSrSrSrg)ÚBase64BinaryéT   zP^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$r   Nr   r   r   r   rP   rP   T   s   † à`ƒGr   rP   c                   ó   • \ rS rSrSrSrg)ÚGuidéY   z?{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\}r   Nr   r   r   r   rS   rS   Y   s   † àPƒGr   rS   c                   ó0   ^ • \ rS rSrSrSrU 4S jrSrU =r$ )Ú	CellRangeé^   z]^[$]?([A-Za-z]{1,3})[$]?(\d+)(:[$]?([A-Za-z]{1,3})[$]?(\d+)?)?$|^[A-Za-z]{1,3}:[A-Za-z]{1,3}$Tc                 óJ   >• Ub  UR                  5       n[        TU ]	  X5        g r=   )Úupperr/   r0   r1   s      €r   r0   ÚCellRange.__set__c   s    ø€ àÑØ—K‘K“MˆEÜ‰‰˜Õ(r   r   )	r   r   r   r   r   rN   r0   r   r7   r8   s   @r   rV   rV   ^   s   ø† àn€GØ€J÷)ó )r   rV   Nc                 óB   • Ub
  SU< SU < 3n [        U [        U5      S9$ )z7
Override serialisation because explicit none required
Ú{Ú})Úval)r   r   )Útagnamer4   rM   s      r   Ú_explicit_noner`   j   s&   € ð ÒÛ'ªÐ1ˆÜ�7¤¨EÓ 2Ñ3Ð3r   r=   )r    Úopenpyxl.xml.constantsr   Úopenpyxl.compatr   Úopenpyxl.xml.functionsr   r*   r   r   r	   r
   r   Úserialisabler   r   r   r   Ú
Coordinater&   r:   rD   rK   rP   rS   rV   r`   r   r   r   Ú<module>rf      s¬   ðñõ *Ý 'Ý *÷õ õ 'ô�ô ô
6�|ô 6ô
�ô ð €
ô
)�ô 
)ô�ô ô�Lô ôˆvô ôa�<ô aô
Qˆ<ô Qô
	)�ô 	)õ4r   