
    ҫfi                        U d dl Z d dlmZ d dlmZmZmZ d dlmZ	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- i dedededededededed e'd!e#d"ed#ed$e!d%e%d&ed'e+d(e-d)e)d*Z.ee/e/f   e0d+<   e G d, d-             Z1d1d.e	d/e1fd0Z2y)2    N)	dataclass)TupleOptionalDict)Page   )
chrome_app)
chrome_csi)chrome_hairline)chrome_load_times)chrome_runtime)generate_magic_arrays)iframe_contentWindow)media_codecs)navigator_hardwareConcurrency)navigator_languages)navigator_permissions)navigator_platform)navigator_plugins)navigator_userAgent)navigator_vendor)webgl_vendor)window_outerdimensions)utilsr
   r	   r   r   r   r   iframe_content_windowr   r   r   r   r   r   navigator_user_agentnavigator_hardware_concurrencyouterdimensionsr   z1delete Object.getPrototypeOf(navigator).webdriver)	webdriverr   SCRIPTSc                   ~   e Zd ZU dZdZeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZeed<   dZeed	<   dZeed
<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZee   ed <   dZ e!e   ed!<   e"d"        Z#y)#StealthConfiga  
    Playwright stealth configuration that applies stealth strategies to playwright page objects.
    The stealth strategies are contained in ./js package and are basic javascript scripts that are executed
    on every page.goto() called.
    Note:
        All init scripts are combined by playwright into one script and then executed this means
        the scripts should not have conflicting constants/variables etc. !
        This also means scripts can be extended by overriding enabled_scripts generator:
        ```
        @property
        def enabled_scripts():
            yield 'console.log("first script")'
            yield from super().enabled_scripts()
            yield 'console.log("last script")'
        ```
    Tr   r   r	   r
   r   r   r   r      r   Fr   r   r   r   r   r   r   hairlinez
Intel Inc.vendorzIntel Iris OpenGL EnginerendererzGoogle Inc.
nav_vendorNnav_user_agentnav_platform)zen-USen	languagesrunOnInsecureOriginsc           
   #      K   t        j                  | j                  | j                  | j                  | j
                  | j                  t        | j                        | j                  d      }d|  t        d    t        d    | j                  rt        d    | j                  rt        d    | j                  rt        d    | j                  rt        d    | j                  rt        d	    | j                   rt        d
    | j"                  rt        d    | j$                  rt        d    | j&                  rt        d    | j(                  rt        d    | j*                  rt        d    | j,                  rt        d    | j.                  rt        d    | j0                  rt        d    | j2                  rt        d    | j4                  rt        d    y y w)N)r   webgl_rendererr   r   r   r+   r,   zconst opts = r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )jsondumpsr%   r&   r'   r)   r(   listr+   r,   r    r	   r
   r$   r   r   r   r   r   r   r   r   r   r   r   r   r   )selfoptss     Y/home/homepc/tiktok-worker/venv/lib/python3.12/site-packages/TikTokApi/stealth/stealth.pyenabled_scriptszStealthConfig.enabled_scriptsa   s    zz $"&--$(OO&*&7&7(,(;(;!$..1(,(A(A

 dV$$g-..??,''??,''==+,,!!-..*++%%122.))##/00%%122"".//!!-..$$011  ,-->>+&&+,,.)) s   G<G>)$__name__
__module____qualname____doc__r   bool__annotations__r   r	   r
   r   r   r   r   r   intr   r   r   r   r   r   r   r$   r%   strr&   r'   r(   r)   r+   r   r,   r   propertyr5        r4   r"   r"   2   s   $ ItL$JJ"t"ND"&4&L$*+"C+ %%"&4&##"t"!&$&"d" OT Hd FC.Hc.#J#NCL#+IuSz++/(4./1* 1*r@   r"   pageconfigc                 |   K   |xs
 t               j                  D ]  }| j                  |       d{     y7 w)zstealth the pageN)r"   r5   add_init_script)rA   rB   scripts      r4   stealth_asyncrF      s9     ,]_== +""6***+*s   0<:<)N)3r/   dataclassesr   typingr   r   r   playwright.async_apir   	AsyncPagejs.chrome_appr	   js.chrome_csir
   js.chrome_hairliner   js.chrome_load_timesr   js.chrome_runtimer   js.generate_magic_arraysr   js.iframe_contentWindowr   js.media_codecsr    js.navigator_hardwareConcurrencyr   js.navigator_languagesr   js.navigator_permissionsr   js.navigator_platformr   js.navigator_pluginsr   js.navigator_userAgentr   js.navigator_vendorr   js.webgl_vendorr   js.window_outerdimensionsr   js.utilsr   r    r=   r;   r"   rF   r?   r@   r4   <module>r]      sq    ! ( ( 2 % % / 3 - ; 9 ) K 7 ; 5 3 7 1 ) = ** n *	
  2 1 L ( * 2 . , / %&C  -!" U#$ E 'c3h . `* `* `*F+i + +r@   