3 l�_��@s8ddlmZmZmZddlZddlmZmZdd�ZdS)�)�absolute_import�division�print_functionN)�quote� urlencodecCs�d|jfdtj|j�fd|jjj�fg}|dk r>|jd|f�|j|�||rbdt |�t |�fnt |�t |�d�}dj f|�S)NZdigitsZsecret� algorithm�issuerz%s:%s)�typeZlabel� parametersz%otpauth://{type}/{label}?{parameters}) Z_length�base64Z b32encodeZ_keyZ _algorithm�name�upper�append�extendrr�format)ZhotpZ type_nameZ account_namerZextra_parametersr Zuriparts�r�/usr/lib64/python3.6/utils.py� _generate_uri s  r) Z __future__rrrr Zsix.moves.urllib.parserrrrrrr�s