
    gii                     N    d dl mZ dedee         fdZdedefdZdedefdZdS )	    )Listnumberreturnc                 4    d t          |           D             S )Nc                 ,    g | ]}t          |          S  )int.0digits     m/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/faker/utils/checksums.py
<listcomp>z_digits_of.<locals>.<listcomp>   s    0005CJJ000    )str)r   s    r   
_digits_ofr      s    00CKK0000r   c                     t          |           }|dd d         }|dd d         }t          |          t          d |D                       z   }|dz  S )Nc              3   T   K   | ]#}t          t          |d z                      V  $dS )   N)sumr   r
   s     r   	<genexpr>z luhn_checksum.<locals>.<genexpr>   s6      $Y$YESEAI)>)>%?%?$Y$Y$Y$Y$Y$Yr   
   )r   r   )r   digits
odd_digitseven_digitschecksums        r   luhn_checksumr      s^    FBJR.K:$Y$Y[$Y$Y$Y!Y!YYHb=r   partial_numberc                 Z    t          t          |           dz            }|dk    r|nd|z
  S )z7
    Generates the Checksum using Luhn's algorithm
    r   r   )r   r	   )r   check_digits     r   calculate_luhnr"      s7      N 3 3b 899K%**;;[0@@r   N)typingr   floatr	   r   r   r"   r   r   r   <module>r%      s         1u 1c 1 1 1 1% C    A5 AS A A A A A Ar   