Ë
    ž…Åj÷  ã                  ór   — d Z ddlmZ ddlZddlZddlZddlmZmZ dd„Z	d„ Z
dd„Zdd„Zdd	„Zdd
„Zdd„Zy)z?Pro subcommands: update, list, config (fingerprint management).é    )ÚannotationsN)ÚFingerprintManagerÚFingerprintUpdateErrorc                óR   — | j                  d«      st        j                  d«      ‚| S )NÚimp_zAPI key must start with 'imp_'.)Ú
startswithÚargparseÚArgumentTypeError©Úvalues    úG/opt/euro-skaner/venv/lib/python3.12/site-packages/curl_cffi/cli/pro.pyÚ_validate_api_keyr      s'   € Ø×Ñ˜FÔ#Ü×(Ñ(Ð)JÓKÐKØ€Ló    c                ó¨   — | €yt        | t        «      r| rdS dS t        | t        t        z  «      rt	        j
                  | dd¬«      S t        | «      S )NÚ ÚtrueÚfalse)ú,ú:F)Ú
separatorsÚensure_ascii)Ú
isinstanceÚboolÚlistÚdictÚjsonÚdumpsÚstrr   s    r   Ú_format_cellr      sL   € Ø€}ØÜ�%œÔÙˆvÐ+ GÐ+Ü�%œ¤™Ô%Ü�z‰z˜%¨JÀUÔKÐKÜˆu‹:Ðr   c                óL  ‡— | D �cg c]  }t        |«      ‘Œ c}Š|D ]0  }t        |«      D ]   \  }}t        ‰|   t        |«      «      ‰|<   Œ" Œ2 dˆfd„}t         || «      «       t        dj	                  d„ ‰D «       «      «       |D ]  }t         ||«      «       Œ y c c}w )Nc                óJ   •— dj                  ˆfd„t        | «      D «       «      S )Nz | c              3  óL   •K  — | ]  \  }}|j                  ‰|   «      –— Œ y ­w)N)Úljust)Ú.0Úidxr   Úwidthss      €r   ú	<genexpr>z3_print_table.<locals>.render_row.<locals>.<genexpr>#   s'   øè ø€ ò 
Ù)3¨¨eˆE�K‰K˜˜s™×$ñ
ùs   ƒ!$)ÚjoinÚ	enumerate)Ú
row_valuesr&   s    €r   Ú
render_rowz _print_table.<locals>.render_row"   s&   ø€ Ø�z‰zó 
Ü7@ÀÓ7Lô
ó 
ð 	
r   z-+-c              3  ó&   K  — | ]	  }d |z  –— Œ y­w)ú-N© )r$   Úwidths     r   r'   z_print_table.<locals>.<genexpr>(   s   è ø€ Ò5 U�S˜5•[Ñ5ùs   ‚)r*   ú	list[str]Úreturnr   )Úlenr)   ÚmaxÚprintr(   )ÚheadersÚrowsÚheaderÚrowr%   Úcellr+   r&   s          @r   Ú_print_tabler:      s    ø€ Ø(/Ö0˜fŒc�&�kÒ0€FØò 6ˆÜ" 3›ò 	6‰IˆC�Ü˜f S™k¬3¨t«9Ó5ˆF�3ŠKñ	6ð6õ
ô
 
‰*�WÓ
ÔÜ	ˆ%�*‰*Ñ5¨fÔ5Ó
5Ô6Øò ˆÜ‰j˜‹oÕñùò 1s   †B!c                ó˜   — g d¢}g }| D ].  }|D �cg c]  }t        ||   «      ‘Œ }}|j                  |«       Œ0 t        ||«       y c c}w )N)ÚtypeÚnameÚbrowserÚversionÚosÚ
os_versionÚh3_fingerprints)r   Úappendr:   )Úfingerprint_rowsr5   r6   Úitemr7   r8   s         r   Ú_print_fingerprints_tablerF   -   sY   € ò€Gð €DØ ò ˆØ8?Ö@¨fŒ|˜D ™LÕ)Ð@ˆÐ@Ø�‰�CÕðô �˜$Õùò As   �Ac                óF   — t        t        j                  | dd¬«      «       y )Né   F)Úindentr   )r4   r   r   )r6   s    r   Ú_print_fingerprints_jsonrJ   >   s   € Ü	Œ$�*‰*�T !°%Ô
8Õ9r   c                óÖ   — | j                  ddd¬«       | j                  ddd¬«      }|j                  dd	d
¬«       | j                  ddd¬«      }|j                  ddt        d¬«       y)z.Register update, list, and config subcommands.ÚupdatezUpdate local fingerprints cachez-Update fingerprints from the impersonate API.)ÚhelpÚdescriptionr   z"List local and native fingerprintsz#List local and native fingerprints.z--jsonÚ
store_truezOutput fingerprints as JSON.)ÚactionrM   ÚconfigzConfigure API accessz$Set the API key for impersonate.pro.z	--api-keyTzAPI key for impersonate.pro)Úrequiredr<   rM   N)Ú
add_parserÚadd_argumentr   )Ú
subparsersÚlist_parserÚconfig_parsers      r   Úadd_pro_parsersrX   B   sŸ   € ð ×ÑØØ.ØCð ô ð ×'Ñ'ØØ1Ø9ð (ó €Kð
 ×ÑØØØ+ð ô ð ×)Ñ)ØØ#Ø:ð *ó €Mð
 ×ÑØØÜØ*ð	 õ r   c                ó$  — | j                   dk(  r1	 t        j                  «       }|dk(  rdnd}t        d|› d|› d�«       y
| j                   dk(  r8t        j                  «       }| j                  rt        |«       y
t        |«       y
| j                   dk(  r@t        j                  | j                  «       t        dt        j                  «       z   «       y
y# t        $ r.}t        t        |«      t        j                  ¬«       Y d	}~y
d	}~ww xY w)zAHandle pro subcommands. Returns True if handled, False otherwise.rL   é   r   ÚszTotal z fingerprintz
 in cache.)ÚfileNTr   rQ   zAPI key saved to F)Úcommandr   Úupdate_fingerprintsr4   r   r   ÚsysÚstderrÚlist_fingerprintsr   rJ   rF   Úset_api_keyÚapi_keyÚget_config_path)ÚargsÚupdatedÚsuffixÚexcr6   s        r   Úhandle_pro_commandri   e   sî   € à‡|�|�xÒð	DÜ(×<Ñ<Ó>ˆGð # aš<‘R¨SˆFÜ�F˜7˜) <°¨x°zÐBÔCØà‡|�|�vÒÜ!×3Ñ3Ó5ˆØ�9Š9Ü$ TÔ*ð ô & dÔ+Øà‡|�|�xÒÜ×&Ñ& t§|¡|Ô4ÜÐ!Ô$6×$FÑ$FÓ$HÑHÔIØàøô) &ò 	-Ü”#�c“(¤§¡×,Ñ,ð ûð	-ús   ‘C Ã	DÃ!$D
Ä
D)r   r   r1   r   )r5   r0   r6   zlist[list[str]])rD   úlist[dict[str, object]])r6   rj   )r1   ÚNone)r1   r   )Ú__doc__Ú
__future__r   r	   r   r_   Úcurl_cffi.fingerprintsr   r   r   r   r:   rF   rJ   rX   ri   r.   r   r   ú<module>ro      s;   ðÙ Eå "ã Û Û 
ç Móòóó" ó":ó ôFr   