
    Vg                     V    d dl Z d dlZd dlmZ d dlmZ ddlmZmZ dZ	 G d de      Z
y)	    N)ascii_uppercase)Tuple   )BaseProviderElementsTypeTc                   h    e Zd ZU dZdZeed<   dej                  fdZ	d
de
dee
e
f   fdZde
fdZy	)Providerz.Implement default Passport provider for Faker. passport_number_formatsreturnc                 :    | j                   j                         }|S )z"Generate a datetime date of birth.)	generatordate_of_birth)selfbirthdays     b/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/faker/providers/passport/__init__.pypassport_dobzProvider.passport_dob   s    >>//1    genderc                     |dk(  r| j                   j                  d      }n<|dk(  r| j                   j                  d      }n| j                   j                  d      }| j                   j                  d      }||fS )zGenerate a given_name and surname for a passport owner
        The ``gender`` argument is the gender marker of a passport owner, which is a one character string
        that is either male, female, or non-binary.
        Mz{{first_name_male}}Fz{{first_name_female}}z{{first_name_nonbinary}}z{{last_name}})r   parse)r   r   
given_namesurnames       r   passport_ownerzProvider.passport_owner   sp    
 S=--.CDJs]--.EFJ--.HIJ..&&77""r   c                      t        j                  d fd j                   j                              } j	                  |      S )zAGenerate a passport number by replacing tokens to be alphanumericz\?c                 .    j                  t              S )N)random_elementr   )xr   s    r   <lambda>z*Provider.passport_number.<locals>.<lambda>*   s    d))/: r   )resubr   r   numerify)r   temps   ` r   passport_numberzProvider.passport_number&   s<    vv: < <=

 }}T""r   N)X)__name__
__module____qualname____doc__r   r   __annotations__datetimedater   strr   r   r&   r
   r   r   r	   r	      sG    8,.\.hmm 
#S #5c? # # #r   r	   )r-   r"   stringr   typingr    r   r   	localizedr	   r
   r   r   <module>r4      s%     	 "  )	!#| !#r   