Ë
    Ã?Æi€
  ã                  ól   — d Z ddlmZ ddlmZ ddl­ ddlmZmZm	Z	  e
«       Zdd„Zdd„Zdd„Zdd	„Zy
)aô  European Excise Number

The excise duty identification number assigned to businesses authorised to
operate with excise goods (e.g. alcohol, tobacco, energy products, etc.).

The number is issued by the national customs or tax authority of the Member
State where the business is established. The number consists of a two-letter
country code followed by up to 13 alphanumeric characters.

More information:

* https://ec.europa.eu/taxation_customs/dds2/seed/

>>> validate('LU 987ABC')
'LU00000987ABC'
é    )Úannotations)ÚMEMBER_STATES)Ú*)ÚNumberValidationModuleÚcleanÚget_cc_modulec                óŽ   — | j                  «       } | t        vr
t        «       ‚| t        vrt	        | d«      t        | <   t        |    S )z7Get the Excise number module based on the country code.Úexcise)Úlowerr   ÚInvalidComponentÚ_country_modulesr   )Úccs    úW/var/www/html/myprovider/mon_projet_qr/lib/python3.12/site-packages/stdnum/eu/excise.pyÚ_get_cc_moduler   0   sD   € à	�‰‹€BØ	”ÑÜÓ Ð Ø	Ô!Ñ!Ü,¨R°Ó:Ô˜ÑÜ˜BÑÐó    c                ó¦   — t        | d«      j                  «       j                  «       } t        | «      dk  r| dd | dd j	                  d«      z   } | S )zˆConvert the number to the minimal representation. This strips the number
    of any valid separators and removes surrounding whitespace.ú é   Né   é   )r   ÚupperÚstripÚlenÚzfill©Únumbers    r   Úcompactr   :   sT   € ô �6˜3Ó×%Ñ%Ó'×-Ñ-Ó/€FÜ
ˆ6ƒ{�RÒØ˜˜�˜f Q R˜j×.Ñ.¨rÓ2Ñ2ˆØ€Mr   c                óŽ   — t        | «      } t        | «      dk7  r
t        «       ‚t        | dd «      }|r|j	                  | «       | S )z-Check if the number is a valid Excise number.r   Nr   )r   r   ÚInvalidLengthr   Úvalidate)r   Úmodules     r   r    r    C   sC   € ä�V‹_€FÜ
ˆ6ƒ{�bÒÜ‹oÐÜ˜F 2 A˜JÓ'€FÙØ�‰˜ÔØ€Mr   c                óJ   — 	 t        t        | «      «      S # t        $ r Y yw xY w)z-Check if the number is a valid excise number.F)Úboolr    ÚValidationErrorr   s    r   Úis_validr%   N   s)   € ðÜ”H˜VÓ$Ó%Ð%øÜò Ùðús   ‚ –	"¡"N)r   ÚstrÚreturnzNumberValidationModule | None)r   r&   r'   r&   )r   r&   r'   r#   )Ú__doc__Ú
__future__r   Ústdnum.eu.vatr   Ústdnum.exceptionsÚstdnum.utilr   r   r   Údictr   r   r   r    r%   © r   r   ú<module>r/      s9   ðñ*õ" #å 'Ü ß DÑ Dñ “6Ð ó óóôr   