+
    ÞÎšj®  ã                   ó.   € R t ^ RIt^HtR R ltR R ltR# )uü   Password hashing helpers.

Uses the `bcrypt` package directly (not passlib) â€” passlib's bcrypt backend
is known to break on newer bcrypt releases, so we call bcrypt straight.
bcrypt silently truncates input beyond 72 bytes, so we guard against that.
Nc                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚplainÚreturn)Ústr)Úformats   "Ú,D:\projects\ble_backend\app\core\security.pyÚ__annotate__r	      s   € ÷ ?ñ ?œð ?¤ñ ?ó    c                 ó¤   € V P                  R 4      R\         p\        P                  ! V\        P                  ! 4       4      P                  R 4      # )úutf-8N)ÚencodeÚ_MAX_BCRYPT_BYTESÚbcryptÚhashpwÚgensaltÚdecode)r   Úpws   & r   Úhash_passwordr      s<   € Ø	�‰�gÓ	Ð1Ô 1Ð	2€BÜ�=Š=˜œVŸ^š^Ó-Ó.×5Ñ5°gÓ>Ð>r
   c                ó<   € V ^8„  d   QhR\         R\         R\        /# )r   r   Úhashedr   )r   Úbool)r   s   "r   r	   r	      s!   € ÷ ñ œ3ð ¬ð ´ñ r
   c                 ó®   €  V P                  R 4      R\         p\        P                  ! W!P                  R 4      4      #   \        \
        3 d     R# i ; i)r   NF)r   r   r   ÚcheckpwÚ
ValueErrorÚ	TypeError)r   r   r   s   && r   Úverify_passwordr      sM   € ðØ�\‰\˜'Ó"Ð#5Ô$5Ð6ˆÜ�~Š~˜b§-¡-°Ó"8Ó9Ð9øÜœ	Ð"ô Úðús   ‚<? ¿AÁA)Ú__doc__r   r   r   r   © r
   r   Ú<module>r      s   ðñó àÐ õ?÷
r
   