Ë
    ¾�j‡"  ã            	       ó´  — d dl mZmZ d dlZd dlZd dlZd dlmZmZm	Z	m
Z
mZmZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ  ej,                  e«      Z eded	ef   ¬
«      Zdedefd„Z G d„ dej:                  «      Z e«       Zg d¢Z h d£Z!ddhZ"de	eef   fd„Z# e#«       Z$d0dede	eef   fd„Z%dede&fd„Z'dede(fd„Z)de*fd„Z+dee	eef   e*f   fd„Z,de	eef   de*de	eef   fd„Z-de	eef   defd„Z.de	eef   de*defd „Z/de	eef   fd!„Z0d"ede	eef   fd#„Z1d$d%d&d'd&d'd$d%d(œZ2dede
e   fd)„Z3dede4fd*„Z5d+„ Z6d,edefd-„Z7d,edefd.„Z8d,edefd/„Z9y)1é    )Úabsolute_importÚprint_functionN)ÚAnyÚCallableÚDictÚOptionalÚTupleÚTypeVar)ÚChildSelectorOption©Ú
U2CliError)Ú_output_error)Ú
check_portÚF.)ÚboundÚvalueÚreturnc                 óÞ   — 	 t        | «      }	 t	        |«       |S # t        $ r t        j                  d| z  «      ‚w xY w# t        $ r#}t        j                  t        |«      «      ‚d }~ww xY w)Nzport must be an integer, got %r)ÚintÚ
ValueErrorÚclickÚBadParameterr   Ústr)r   ÚportÚes      ú_/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/uiautomator2/agent_cli/options.pyÚ_valid_portr      su   € ðLÜ�5‹zˆð)Ü�4Ôð €Køô ò LÜ× Ñ Ð!BÀUÑ!JÓKÐKðLûô ò )Ü× Ñ ¤ Q£Ó(Ð(ûð)ús   ‚ ŽA  ›"=Á 	A,Á	A'Á'A,c                   ó   — e Zd ZdZd„ Zy)ÚPortParamTypeÚPORTc                 ó”   — 	 t        |«      S # t        j                  $ r'}| j                  |j                  ||«       Y d }~y d }~ww xY w©N)r   r   r   ÚfailÚmessage)Úselfr   ÚparamÚctxr   s        r   ÚconvertzPortParamType.convert'   s?   € ð	-Ü˜uÓ%Ð%øÜ×!Ñ!ò 	-Ø�I‰I�a—i‘i ¨×,Ñ,ûð	-ús   ‚
 �A AÁAN)Ú__name__Ú
__module__Ú__qualname__Únamer(   © ó    r   r   r   $   s   „ Ø€Dó-r.   r   ))z--textÚtext)z--text-containsÚtextContains)z--text-matchesÚtextMatches)z--text-starts-withÚtextStartsWith)z--resource-idÚ
resourceId)z--class-nameÚ	className)z--descriptionÚdescription)z--description-containsÚdescriptionContains)z	--packageÚpackageName)ú--indexÚindex)ú
--instanceÚinstance)ú--checkableÚ	checkable)ú	--checkedÚchecked)ú--clickableÚ	clickable)ú--scrollableÚ
scrollable)ú	--enabledÚenabled)ú	--focusedÚfocused)ú
--selectedÚselected>   r?   rE   rG   rI   r=   rA   rC   r9   r;   c                  ón   — i } t         D ])  \  }}|dd  }|| |<   || |j                  dd«      <   || |<   Œ+ | S )Né   ú-Ú_)Ú_SELECTOR_OPTIONSÚreplace)ÚresultÚoptionÚu2_nameÚoption_names       r   Ú_selector_name_maprT   K   sV   € Ø€FÜ,ò "‰ˆ�Ø˜Q˜R�jˆØ%ˆˆ{ÑØ07ˆˆ{×"Ñ" 3¨Ó,Ñ-Ø!ˆˆwŠð	"ð
 €Mr.   Úprefixc           	      óž   — i }t         D ]A  \  }}t        | ||j                  d«      j                  dd«      z   d «      }|€Œ8|dusŒ=|||<   ŒC |S )NrL   rM   F)rN   ÚgetattrÚlstriprO   )ÚargsrU   rP   rQ   rR   r   s         r   Ú_selector_kwargsrZ   Z   s`   € Ø€FÜ,ò $‰ˆ�Ü˜˜f v§}¡}°SÓ'9×'AÑ'AÀ#ÀsÓ'KÑKÈTÓRˆØÑ ¨eÒ!3Ø#ˆF�7ŠOð$ð €Mr.   c                 óR   — | j                  «       }|dv ry|dv ryt        d| z  «      ‚)N)Ú1ÚtrueÚyesÚonT)Ú0ÚfalseÚnoÚoffFz"invalid boolean selector value: %s)Úlowerr   )r   Úlowereds     r   Ú_parse_boolrf   b   s6   € Ø�k‰k‹m€GØÐ,Ñ,ØØÐ-Ñ-ØÜ
Ð9¸EÑAÓ
BÐBr.   Útokenc                 ó6  — d| v r| j                  dd«      \  }}n| d}}|j                  «       }|t        vrt        d|z  «      ‚t        |   }|t        v r	 t        |«      }||fS |t        v rt        |«      }||fS # t        $ r t        d|›d|›�«      ‚w xY w)Nú=é   r]   zunknown selector key: %sz#invalid integer selector value for z: )	ÚsplitÚstripÚ_SELECTOR_NAME_MAPr   Ú_INTEGER_SELECTOR_KEYSr   r   Ú_BOOLEAN_SELECTOR_KEYSrf   )rg   Úkeyr   rR   s       r   Ú_parse_selector_tokenrq   j   s¼   € Ø
ˆe�|Ø—[‘[  aÓ(‰
ˆ‰Uà˜FˆUˆØ
�)‰)‹+€CØ
Ô$Ñ$ÜÐ3°cÑ9Ó:Ð:Ü  Ñ%€GØÔ(Ñ(ð	YÜ˜“JˆEð
 �Eˆ>Ðð 
Ô*Ñ	*Ü˜EÓ"ˆØ�Eˆ>Ðøô	 ò 	YÝÊCÑQVÐWÓXÐXð	Yús   ÁA= Á=Bc                 óÖ   — g }t        | d¬«      }|r|j                  |«       t        | dd «      xs g D ]2  }i }|D ]  }t        |«      \  }}|||<   Œ |sŒ"|j                  |«       Œ4 |S )NÚchild_)rU   Úchild)rZ   ÚappendrW   rq   )rY   rP   Úlegacy_childÚgrouprt   rg   rp   r   s           r   Ú_child_selectorsrx   |   s‚   € Ø€FÜ# D°Ô:€LÙØ�‰�lÔ#Ü˜˜w¨Ó-Ò3°ò !ˆØˆØò 	ˆEÜ.¨uÓ5‰JˆC�ØˆE�#ŠJð	ò Ø�M‰M˜%Õ ð!ð €Mr.   c                 óT   — t        | «      }t        | «      }|r|st        d«      ‚||fS )NzKat least one parent selector option is required when child selector is used)rZ   rx   r   )rY   ÚselectorÚchild_selectorss      r   Ú_selector_chainr|   Š   s2   € Ü Ó%€HÜ& tÓ,€OÙ™xÜÐfÓgÐgØ�_Ð$Ð$r.   rz   r{   c                 ó   — d| i}|r||d<   |S )Nrz   r{   r-   )rz   r{   Úpayloads      r   Ú_selector_chain_payloadr   ‘   s   € Ø)¨8Ð4€GÙØ%4ˆÐ!Ñ"Ø€Nr.   c                 óN   — dj                  d„ | j                  «       D «       «      S )Nú, c              3   ó0   K  — | ]  \  }}|›d |›�–— Œ y­w)ri   Nr-   )Ú.0rp   r   s      r   ú	<genexpr>z!_selector_repr.<locals>.<genexpr>˜   s   è ø€ ÒO±
°°U¢¡UÔ+ÑOùs   ‚)ÚjoinÚitems©rz   s    r   Ú_selector_reprrˆ   —   s   € Ø�9‰9ÑO¸h¿n¹nÓ>NÔOÓOÐOr.   c                 óR   — dt        | «      z  }|D ]  }|dt        |«      z  z  }Œ |S )Nzd(%s)z
.child(%s))rˆ   )rz   r{   ÚcodeÚchild_selectors       r   Ú_selector_chain_coderŒ   š   s9   € Ø”^ HÓ-Ñ-€DØ)ò >ˆØ�œ~¨nÓ=Ñ=Ñ=‰ð>à€Kr.   c                 ó   — | st        d«      ‚y )Nz(at least one selector option is requiredr   r‡   s    r   Ú_require_selectorrŽ       s   € ÙÜÐCÓDÐDð r.   rQ   c                 ó:   — dd i}| dv r	t         |d<   | dv rd|d<   |S )NÚdefault)r8   r:   Útype)r<   r>   r@   rB   rD   rF   rH   TÚis_flag)r   )rQ   Úkwargss     r   Ú_selector_option_kwargsr”   ¤   s6   € Ø'¨Ð.€FØÐ*Ñ*Üˆˆv‰ØÐtÑtØ ˆˆyÑØ€Mr.   ÚleftÚrightÚupÚdown)r•   r–   r—   r˜   ÚforwardÚbackwardzhoriz-forwardzhoriz-backwardc                 óh   — t         j                  | j                  «       j                  dd«      «      S )NrM   rL   )Ú_SWIPE_DIRECTION_ALIASESÚgetrd   rO   ©r   s    r   Ú_normalize_swipe_directionrŸ   »   s&   € Ü#×'Ñ'¨¯©«×(=Ñ(=¸cÀ3Ó(GÓHÐHr.   c                 óŒ   — 	 t        | «      S # t        $ r- dj                  t        t        «      «      }t        d|z  «      ‚w xY w)Nr�   z>swipe direction must be one of %s, or provide four coordinates)Úfloatr   r…   Úsortedrœ   r   )r   Ú
directionss     r   Ú_parse_swipe_fxr¤   ¾   sI   € ðhÜ�U‹|ÐøÜò hØ—Y‘YœvÔ&>Ó?Ó@ˆ
ÜÐYÐ\fÑfÓgÐgðhús	   ‚
 �6Ac                 ó    — | €d S t        | «      S r"   )r¡   rž   s    r   Ú_optional_floatr¦   Å   s   € Ø�=ˆ4Ð2¤e¨E£lÐ2r.   Úfc           	      óP  — t         D ],  \  }}t        |«      } t        j                  |fi |¤Ž| «      } Œ. t         D ]4  \  }}d|dd z   }t        |«      } t        j                  |fi |¤Ž| «      } Œ6  t        j                  dt        dt        j
                  dd¬«      | «      } | S )	zCAdd all selector flags (--text, --resource-id, ...) + --child flag.z--child-rK   Nz--childTzKEY=VALUE [KEY=VALUE ...]zHappend a child selector level, e.g. --child text=OK resourceId=pkg:id/ok)ÚclsÚmultipler‘   ÚmetavarÚhelp)rN   r”   r   rQ   r   ÚUNPROCESSED)r§   rS   rM   Ú
opt_kwargsÚ
child_names        r   Úselector_optionsr°   Ê   s¼   € ä+ò 7‰ˆ�QÜ,¨[Ó9ˆ
Ø3ŒE�L‰L˜Ñ3¨
Ñ3°AÓ6‰ð7ô ,ò 6‰ˆ�QØ +¨a¨b /Ñ1ˆ
Ü,¨[Ó9ˆ
Ø2ŒE�L‰L˜Ñ2 zÑ2°1Ó5‰ð6ð	fŒ�‰�YÔ$7À$Ü×+Ñ+Ð5PØdô	fàfgó	i€Að €Hr.   c                 óè   ‡ ‡— t        j                  ‰ «      }|j                  Št        j                  t        j                  ‰ «      dt        j                  dt        dt        fˆ ˆfd„«       «       }|S )zVInject shared options from group ctx.obj, skipping params the function doesn't accept.r'   r“   r   c                 ó¾   •— | j                  «       }|j                  �9|j                  }dD ](  }|‰v sŒ|j                  ||j                  |«      «       Œ*  ‰di |¤ŽS )N)ÚdebugÚserialÚserver_hostÚserver_portÚdevice_portr-   )Ú	find_rootÚobjÚ
setdefaultr�   )r'   r“   Úroot_ctxr¹   rp   r§   Úparamss        €€r   Úwrapperzglobal_options.<locals>.wrapperÝ   s_   ø€ ð —=‘=“?ˆØ�<‰<Ð#Ø—,‘,ˆCØWò 9�Ø˜&’=Ø×%Ñ% c¨3¯7©7°3«<Õ8ð9ñ ‰{�6‰{Ðr.   )	ÚinspectÚ	signatureÚ
parametersr   Úpass_contextÚ	functoolsÚwrapsÚContextr   )r§   Úsigr½   r¼   s   `  @r   Úglobal_optionsrÆ   Ø   se   ù€ ä
×
Ñ
˜AÓ
€CØ�^‰^€Fä
×ÑÜ‡_�_�QÓð”U—]‘]ð ¬cð ´cõ ó ó ðð €Nr.   c                 óš   ‡ — t         j                  t        j                  ‰ «      dt         j                  dt
        ddfˆ fd„«       «       }|S )z0Catch exceptions and format them for CLI output.r'   r“   r   Nc                 ó”  •— 	  ‰di |¤Ž y # t         $ r/}t        |«       t        j                  j	                  d«      ‚d }~wt
        $ r|}| j                  «       }|j                  �1|j                  j                  dd«      rt        j                  d«       t        |«       t        j                  j	                  d«      ‚d }~ww xY w)Nrj   r³   Fzu2cli command failedr-   )r   r   r   Ú
exceptionsÚExitÚ	Exceptionr¸   r¹   r�   ÚloggerÚ	exception)r'   r“   r   Úrootr§   s       €r   r½   zhandle_errors.<locals>.wrapperì   s�   ø€ ð
	+Ù‰K�‹KøÜò 	+Ü˜!ÔÜ×"Ñ"×'Ñ'¨Ó*Ð*ûÜò 	+Ø—=‘=“?ˆDØ�x‰xÐ#¨¯©¯©°W¸eÔ(DÜ× Ñ Ð!7Ô8Ü˜!ÔÜ×"Ñ"×'Ñ'¨Ó*Ð*ûð	+ús   ƒ Œ	C•*?¿CÁA7CÃC)r   rÁ   rÂ   rÃ   rÄ   r   )r§   r½   s   ` r   Úhandle_errorsrÏ   é   sN   ø€ ô ×ÑÜ‡_�_�QÓð+”U—]‘]ð +¬cð +°dô +ó ó ð+ð €Nr.   )Ú ):Ú
__future__r   r   rÂ   r¾   ÚloggingÚtypingr   r   r   r   r	   r
   r   Ú uiautomator2.agent_cli.click_extr   Úuiautomator2.agent_cli.clientr   Úuiautomator2.agent_cli.outputr   Úuiautomator2.corer   Ú	getLoggerr)   rÌ   r   r   r   r   Ú	ParamTyper   r    rN   ro   rn   rT   rm   rZ   Úboolrf   Útuplerq   Úlistrx   r|   r   rˆ   rŒ   rŽ   r”   rœ   rŸ   r¡   r¤   r¦   r°   rÆ   rÏ   r-   r.   r   ú<module>rÝ      sT  ð÷ 7ã Û Û ß @× @ã å @Ý 4Ý 7Ý (à	ˆ×	Ñ	˜8Ó	$€áˆC�x  S Ñ)Ô*€ð	�sð 	˜só 	ô-�E—O‘Oô -ñ ƒ€òÐ ò* oÐ Ø! :Ð.Ð ð˜D  c ™Nó ñ (Ó)Ð ñ 3ð °°S¸#°X±ó ðC�sð C˜tó Cð ð ¨ó ð$˜dó ð%˜U 4¨¨S¨¡>°4Ð#7Ñ8ó %ð d¨3°¨8¡nð Àtð ÐPTÐUXÐZ]ÐU]ÑP^ó ðP˜T # s (™^ð P°ó Pð 4¨¨S¨¡>ð ÀDð ÈSó ðE  S¨# X¡ó Eð Cð ¨D°°c°©Nó ð ØØ
ØØØØØñ	Ð ðI cð I¨h°s©mó Iðh˜3ð h 5ó hò3ð
˜ð ˜aó ð�að ˜Aó ð"�Qð ˜1ô r.   