§
    Ìtºf+  ã            
       ót  — d dl Z d dlZd dlZd dlZd dlmZ 	 d dlmZ n1# e$ r)  ed¦  «          ed¦  «          ej	        d¦  «         Y nw xY wd dl
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Z ej        ¦   «           ej        d¬¦  «        Ze                     dddd¬¦  «         e                     ddddd¬¦  «         e                     dddde j                             dd¦  «        ¬¦  «         e                     dddd¬¦  «         e                     ddd d¬¦  «         e                     d!d"ded#d ¬$¦  «         e                     d%d&¬'¦  «        Ze                      d(d)¬*¦  «        Z!e!                     d+e"d,¬-¦  «         e!                     d.d/d0¬1¦  «         e!                     d2d3d4d5¬6¦  «         e                      d7d8¬*¦  «        Z#e#                     d+e"d9¬-¦  «         e#                     d:d/d0¬1¦  «         e#                     d2d3d4d5¬6¦  «         e                      d;d<¬*¦  «        Z$e$                     d+e"d,¬-¦  «         e$                     d=ed d>¬?¦  «         e$                     d@e"d/dA¬B¦  «         e                      dCdD¬*¦  «        Z%e%                     d+e"d,¬-¦  «         e%                     d=ed d>¬?¦  «         e%                     dEe"dFdFdGgdH¬I¦  «         dJ„ Z&edK„ ¦   «         Z'edL„ ¦   «         Z(edM„ ¦   «         Z)edN„ ¦   «         Z*dO„ Z+edP„ ¦   «         Z,e-dQk    r e+¦   «          dS dS )Ré    N)Úcopy)Ú	Componentz.The 'wamp' command-line tool requires Twisted.z  pip install autobahn[twisted]é   )ÚDeferredÚinlineCallbacks)Úreact)ÚProcessProtocol)ÚApplicationError)ÚPublishOptions)ÚSubscribeOptionsÚwamp)Úprogz--urlÚstorezLA WAMP URL to connect to, like ws://127.0.0.1:8080/ws or rs://localhost:1234T)ÚactionÚhelpÚrequiredz--realmz-rzThe realm to joinÚdefault)r   r   r   z--private-keyz-kzCHex-encoded private key (via WAMP_PRIVATE_KEY if not provided here)ÚWAMP_PRIVATE_KEYz--authidz$The authid to use, if authenticatingz
--authrolez"The role to use, if authenticatingz--max-failuresz-mz%Failures before giving up (0 forever))r   Útyper   r   ÚsubcommandsÚsubcommand_name)ÚtitleÚdestÚcallz&Do a WAMP call() and print any results)r   ÚurizA WAMP URI to call)r   r   Ú	call_argsÚ*z,All additional arguments are positional args)Únargsr   z	--keywordé   Úappendz.Specify a keyword argument to send: name value)r   r   r   Úpublishz/Do a WAMP publish() with the given args, kwargszA WAMP URI to publishÚpublish_argsÚregisterz2Do a WAMP register() and run a command when calledz--timesz=Listen for this number of events, then exit. Default: forever)r   r   r   Úcommandz®Takes one or more args: the executable to call, and any positional arguments. As well, the following environment variables are set: WAMP_ARGS, WAMP_KWARGS and _JSON variants.)r   r   r   Ú	subscribez:Do a WAMP subscribe() and print one line of JSON per eventz--matchÚexactÚprefixz4Massed in the SubscribeOptions, how to match the URI)r   r   Úchoicesr   c                 ób  — | j                              d¦  «        rd}n,| j                              d¦  «        rd}nt          d¦  «        ‚t          ¦   «         }| j        r.| j        st          d¦  «        ‚| j        | j        | j        dœ|d<   t          || j         d	œg|r|nd
| j        ¬¦  «        S )zX
    Configure and return a Component instance according to the given
    `options`
    zws://Ú	websocketzrs://Ú	rawsocketz$URL should start with ws:// or rs://zRRequire --authid and --authrole if --private-key (or WAMP_PRIVATE_KEY) is provided)ÚauthidÚauthroleÚprivkeyÚ
cryptosign)r   ÚurlN)Ú
transportsÚauthenticationÚrealm)	r0   Ú
startswithÚ
ValueErrorÚdictÚprivate_keyr,   r-   r   r3   )ÚoptionsÚkindr2   s      úP/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/autobahn/__main__.pyÚ_create_componentr;   Ì   só   € ð
 „{×Ò˜gÑ&Ô&ð 
ØˆˆØ	Œ×	Ò	 Ñ	(Ô	(ð 
ØˆˆåØ2ñ
ô 
ð 	
õ ‘V”V€NØÔð 	
ØŒ~ð 	ÝØdñô ð ð ”nØÔ(ØÔ*ð(
ð (
ˆ�|Ñ$õ àØ”;ð
ð 
ð ð *8ÐA�~�~¸TØŒmðñ ô ð ó    c              #   óò   K  — t          |j        ¦  «        }t          ¦   «         }|j        �d„ |j        D ¦   «         } |j        |j        g|¢R i |¤ŽV —}t          d                     |¦  «        ¦  «         d S )Nc                 ó   — i | ]\  }}||“Œ	S © r?   ©Ú.0ÚkÚvs      r:   ú
<dictcomp>zdo_call.<locals>.<dictcomp>õ   s.   € ð 
ð 
ð 
á��1ð ˆqð
ð 
ð 
r<   z
result: {})Úlistr   r6   Úkeywordr   r   ÚprintÚformat)ÚreactorÚsessionr8   r   Úcall_kwargsÚresultss         r:   Údo_callrM   ð   s”   è è € å�WÔ&Ñ'Ô'€IÝ‘&”&€KØ„Ð"ð
ð 
àœð
ñ 
ô 
ˆð
 !�G”L ¤ÐH¨yÐHÐHÐH¸KÐHÐHÐHÐH€GÝ	ˆ,×
Ò
˜gÑ
&Ô
&Ñ'Ô'Ð'Ð'Ð'r<   c              #   ó¶   K  — t          |j        ¦  «        }|j        €i nd„ |j        D ¦   «         } |j        |j        g|¢R dt          d¬¦  «        i|¤ŽV — d S )Nc                 ó   — i | ]\  }}||“Œ	S r?   r?   r@   s      r:   rD   zdo_publish.<locals>.<dictcomp>  s.   € ð 9ð 9ð 9áˆAˆqð 	
ˆ1ð9ð 9ð 9r<   r8   T)Úacknowledge)rE   r"   rF   r!   r   r   )rI   rJ   r8   r"   Úpublish_kwargss        r:   Ú
do_publishrR   þ   s¤   è è € å˜Ô,Ñ-Ô-€LØ"œ?Ð2�R�Rð 9ð 9à”Oð9ñ 9ô 9€Nð
 ˆ'Œ/ØŒðà	ðð ð õ ¨4Ð0Ñ0Ô0ðð ð	ð ð ð ð ð ð r<   c              #   óª   ‡ ‡‡‡K  — t          ¦   «         Š‰j        gŠt          ˆˆˆˆ fd„¦   «         }|                     |‰j        ¦  «        V — ‰V — dS )z-
    run a command-line upon an RPC call
    c               ?   ób  •‡K  — t          d                     | |¦  «        t          j        ¬¦  «         t	          t
          j        ¦  «        }d                     | ¦  «        |d<   t          j	        | ¦  «        |d<   d                     d„ | 
                    ¦   «         D ¦   «         ¦  «        |d<   t          j	        |¦  «        |d<   t
          j                             ‰
j        d	         ¦  «        }‰
j        } t          ¦   «         Š G ˆfd
„dt          ¦  «        } |¦   «         }‰                     ||| |d¬¦  «         ‰V —}|d	k    r"t          d                     |¦  «        ¦  «         ‰	d	         r:‰	d	xx         dz  cc<   ‰	d	         d	k    r ‰                     d	‰j        d ¦  «         d S d S d S )Nzcalled: args={}, kwargs={}©Úfileú Ú	WAMP_ARGSÚWAMP_ARGS_JSONc              3   óH   K  — | ]\  }}d                       ||¦  «        V — ŒdS )z{}={}N)rH   r@   s      r:   ú	<genexpr>z.do_register.<locals>.called.<locals>.<genexpr>  s4   è è € Ð%RÐ%R¹t¸qÀ! g§n¢n°Q¸Ñ&:Ô&:Ð%RÐ%RÐ%RÐ%RÐ%RÐ%Rr<   ÚWAMP_KWARGSÚWAMP_KWARGS_JSONr   c                   ó&   •— e Zd Zd„ Zd„ Zˆ fd„ZdS )ú/do_register.<locals>.called.<locals>.DumpOutputc                 ój   — t           j                             |                     d¦  «        ¦  «         d S ©NÚutf8)ÚsysÚstdoutÚwriteÚdecode©ÚselfÚdatas     r:   ÚoutReceivedz;do_register.<locals>.called.<locals>.DumpOutput.outReceived%  ó*   € Ý”
× Ò  §¢¨VÑ!4Ô!4Ñ5Ô5Ð5Ð5Ð5r<   c                 ój   — t           j                             |                     d¦  «        ¦  «         d S ra   )rc   Ústderrre   rf   rg   s     r:   ÚerrReceivedz;do_register.<locals>.called.<locals>.DumpOutput.errReceived(  rk   r<   c                 óF   •— ‰                      |j        j        ¦  «         d S )N)ÚcallbackÚvalueÚexitCode)rh   ÚreasonÚdones     €r:   ÚprocessExitedz=do_register.<locals>.called.<locals>.DumpOutput.processExited+  s    ø€ Ø—’˜fœlÔ3Ñ4Ô4Ð4Ð4Ð4r<   N)Ú__name__Ú
__module__Ú__qualname__rj   rn   ru   )rt   s   €r:   Ú
DumpOutputr_   $  sL   ø€ € € € € ð6ð 6ð 6ð6ð 6ð 6ð5ð 5ð 5ð 5ð 5ð 5ð 5r<   ry   ú.)ÚenvÚpathzFailed with exit-code {}r   )rG   rH   rc   rm   r   ÚosÚenvironÚjoinÚjsonÚdumpsÚitemsr|   Úabspathr$   r   r	   ÚspawnProcessÚ	callLaterrp   )ÚargsÚkwr{   Úexery   ÚprotoÚcodert   Úall_doneÚ	countdownr8   rI   s          @€€€€r:   Úcalledzdo_register.<locals>.called  sÌ  øøè è € åÐ*×1Ò1°$¸Ñ;Ô;Å#Ä*ÐMÑMÔMÐMÝ•2”:ÑÔˆØŸ8š8 D™>œ>ˆˆKÑÝ $¤
¨4Ñ 0Ô 0ˆÐÑØ ŸXšXÐ%RÐ%RÀrÇxÂxÁzÄzÐ%RÑ%RÔ%RÑRÔRˆˆMÑÝ"&¤*¨R¡.¤.ˆÐÑåŒg�oŠo˜gœo¨aÔ0Ñ1Ô1ˆØŒˆÝ‰zŒzˆð	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5�ñ 	5ô 	5ð 	5ð �
‘”ˆØ×ÒØ�3˜ #¨Cð 	ñ 	
ô 	
ð 	
ð ˆzˆzˆà�1Š9ˆ9ÝÐ,×3Ò3°DÑ9Ô9Ñ:Ô:Ð:Ø�QŒ<ð 	>Ø�aˆLˆLŒL˜AÑˆLˆL‰LØ˜Œ|˜qÒ Ð Ø×!Ò! ! XÔ%6¸Ñ=Ô=Ð=Ð=Ð=ð	>ð 	>à Ð r<   N)r   Útimesr   r#   r   )rI   rJ   r8   r�   r‹   rŒ   s   ` ` @@r:   Údo_registerr�     s~   øøøøè è € õ ‰zŒz€HØ”�€Iåð!>ð !>ð !>ð !>ð !>ð !>ð !>ñ „_ð!>ðF ×
Ò
˜6 7¤;Ñ
/Ô
/Ð/Ð/Ð/Ø
€N€N€N€N€Nr<   c              #   óÐ   ‡ ‡‡K  — t          ¦   «         Š|j        gŠt          ˆˆˆ fd„¦   «         }|                     ||j        t          |j        ¬¦  «        ¬¦  «        V — ‰V — dS )z3
    print events (one line of JSON per event)
    c                  óØ   •— t          t          j        | |dœ¦  «        ¦  «         ‰d         r:‰dxx         dz  cc<   ‰d         dk    r ‰                     d‰j        d ¦  «         d S d S d S )N)r†   Úkwargsr   r   )rG   r€   r�   r…   rp   )r†   r‡   r‹   rŒ   rI   s     €€€r:   Ú	publishedzdo_subscribe.<locals>.publishedH  s˜   ø€ åÝŒJØØðð ñ ô ñ	
ô 	
ð 	
ð �QŒ<ð 	>Ø�aˆLˆLŒL˜AÑˆLˆL‰LØ˜Œ|˜qÒ Ð Ø×!Ò! ! XÔ%6¸Ñ=Ô=Ð=Ð=Ð=ð	>ð 	>à Ð r<   )Úmatch)r8   N)r   rŽ   r   r%   r   r   r”   )rI   rJ   r8   r“   r‹   rŒ   s   `   @@r:   Údo_subscriber•   ?  sŒ   øøøè è € õ ‰zŒz€HØ”�€Iåð
>ð 
>ð 
>ð 
>ð 
>ð 
>ñ „_ð
>ð ×
Ò
˜I w¤{Õ<LÐSZÔS`Ð<aÑ<aÔ<aÐ
Ñ
bÔ
bÐbÐbÐbØ
€N€N€N€N€Nr<   c                  ó.   — t          t          ¦  «         dS )zi
    This is a magic name for `python -m autobahn`, and specified as
    our entry_point in setup.py
    N)r   Ú
_real_mainr?   r<   r:   Ú_mainr˜   Y  s   € õ
 
�*ÑÔÐÐÐr<   c              #   ó`  ‡ ‡‡‡‡K  — t                                ¦   «         Št          ‰¦  «        }‰j        €#t	          d¦  «         t          j        d¦  «         ‰j        dk    rÏ‰j        d         }t          j	         
                    |¦  «        sBt	          d                     |¦  «        t
          j        ¬¦  «         t          j        d¦  «         t          j	                             |¦  «        sBt	          d                     |¦  «        t
          j        ¬¦  «         t          j        d¦  «         t          t          t           t"          d	œ}|‰j                 ŠdgŠ|j        t&          ˆˆˆˆ fd
„¦   «         ¦   «         }g Š|j        ˆˆˆ fd„¦   «         }|                     ‰ ¦  «        V — dS )zJ
    Sanity check options, create a connection and run our subcommand
    NzMust select a subcommandr   r#   r   z/Full path to the executable required. Found: {}rU   zExecutable not found: {})r   r#   r%   r!   c           	   3   ó„  •K  — t          d                     |j        |j        ¦  «        t          j        ¬¦  «         	  ‰‰| ‰¦  «        V — n\# t          $ rO}t          d                     |j        d                     |j	        ¦  «        ¦  «        ¦  «         d‰d<   Y d }~nd }~ww xY w|  
                    ¦   «         V — d S )Nz$connected: authrole={} authmethod={}rU   z
{}: {}
Ú é   r   )rG   rH   r-   Ú
authmethodrc   rm   r
   Úerrorr   r†   Úleave)rJ   ÚdetailsÚeÚ
command_fnÚ	exit_coder8   rI   s      €€€€r:   Ú_z_real_main.<locals>._€  sÓ   øè è € õ 	Ð4×;Ò;¸GÔ<LÈgÔN`ÑaÔaÕhkÔhrÐsÑsÔsÐsð	Ø�*˜W g¨wÑ7Ô7Ð7Ð7Ð7Ð7øÝð 	ð 	ð 	Ý�,×%Ò% a¤g¨r¯wªw°q´v©¬Ñ?Ô?Ñ@Ô@Ð@ØˆI�a‰LˆLˆLˆLˆLˆLøøøøð	øøøð �mŠm‰oŒoÐÐÐÐÐs   ¾A Á
B'ÁAB"Â"B'c                 óJ  •— t          d                     |¦  «        ¦  «         ‰                     |¦  «         ‰j        dk    r]t	          ‰¦  «        ‰j        k    rGt          d                     t	          ‰¦  «        ¦  «        ¦  «         ‰                     ¦   «          d S d S d S )Nzconnect failure: {}r   zToo many failures ({}). Exiting)rG   rH   r    Úmax_failuresÚlenÚstop)ÚcompÚfailÚfailuresr8   rI   s     €€€r:   r¤   z_real_main.<locals>._�  s•   ø€ åÐ#×*Ò*¨4Ñ0Ô0Ñ1Ô1Ð1Ø�Š˜ÑÔÐØÔ !Ò#Ð#­¨H©¬¸Ô8LÒ(LÐ(LÝÐ3×:Ò:½3¸x¹=¼=ÑIÔIÑJÔJÐJØ�LŠL‰NŒNˆNˆNˆNð $Ð#Ð(LÐ(Lr<   )ÚtopÚ
parse_argsr;   r   rG   rc   Úexitr$   r}   r|   ÚisabsrH   rm   ÚexistsrM   r�   r•   rR   Úon_joinr   Úon_connectfailureÚstart)	rI   Ú	componentrˆ   r   r¤   r¢   r£   r«   r8   s	   `    @@@@r:   r—   r—   a  sÀ  øøøøøè è € õ
 �nŠnÑÔ€GÝ! 'Ñ*Ô*€IàÔÐ&ÝÐ(Ñ)Ô)Ð)ÝŒ�‰ŒˆàÔ *Ò,Ð,ØŒo˜aÔ ˆÝŒw�}Š}˜SÑ!Ô!ð 	ÝÐC×JÒJÈ3ÑOÔOÕVYÔV`ÐaÑaÔaÐaÝŒH�Q‰KŒKˆKÝŒw�~Š~˜cÑ"Ô"ð 	ÝÐ,×3Ò3°CÑ8Ô8½s¼zÐJÑJÔJÐJÝŒH�Q‰KŒKˆKõ ÝÝ!Ýð	ð €Kð ˜WÔ4Ô5€Jà�€IàÔÝðð ð ð ð ð ð ñ „_ñ Ôðð €HàÔ ðð ð ð ð ð ñ !Ô ðð �/Š/˜'Ñ
"Ô
"Ð"Ð"Ð"Ð"Ð"r<   Ú__main__).r}   rc   Úargparser€   r   Úautobahn.twisted.componentr   ÚImportErrorrG   r®   Útwisted.internet.deferr   r   Útwisted.internet.taskr   Útwisted.internet.protocolr	   Úautobahn.wamp.exceptionr
   Úautobahn.wamp.typesr   r   ÚtxaioÚuse_twistedÚArgumentParserr¬   Úadd_argumentr~   ÚgetÚintÚadd_subparsersÚsubÚ
add_parserr   Ústrr!   r#   r%   r;   rM   rR   r�   r•   r˜   r—   rv   r?   r<   r:   ú<module>rÈ      sÐ  ðð< 
€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð ðØ4Ð4Ð4Ð4Ð4Ð4Ð4øØð ð ð Ø	€EÐ
:Ñ;Ô;Ð;Ø	€EÐ
+Ñ,Ô,Ð,Ø€C„HˆQ�K„K€K€K€Kðøøøð
 =Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø .Ð .Ð .Ð .Ð .Ð .Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à €€€Ø €Ô Ñ Ô Ð ð €hÔ 6Ð*Ñ*Ô*€Ø × Ò ØØØ	WØð	 ñ ô ð ð × Ò ØˆtØØ	Øð	 ñ ô ð ð × Ò Ø�TØØ	NØŒJ�NŠNÐ-¨tÑ4Ô4ð	 ñ ô ð ð × Ò ØØØ	/Øð	 ñ ô ð ð × Ò ØØØ	-Øð	 ñ ô ð ð × Ò Ø�dØØ	Ø	0Øð ñ ô ð ð 
×ÒØ
Ø	ð ñ ô €ð ‡~‚~Ø
Ø	1ð ñ ô €ð × Ò Ø	Ø	Ø	ð ñ ô ð ð
 × Ò ØØ
Ø	7ð ñ ô ð ð
 × Ò ØØ
ØØ	9ð	 ñ ô ð ð �.Š.ØØ	:ð ñ ô €ð × Ò Ø	Ø	Ø	 ð ñ ô ð ð
 × Ò ØØ
Ø	7ð ñ ô ð ð
 × Ò ØØ
ØØ	9ð	 ñ ô ð ð �>Š>ØØ	=ð ñ ô €ð 	× Ò Ø	Ø	Ø	ð ñ ô ð ð
 	× Ò ØØ	ØØ	Hð	 ñ ô ð ð 	× Ò ØØ	Ø
ð	5ð ñ 	ô 	ð 	ð �NŠNØØ	Eð ñ ô €	ð 
× Ò Ø	Ø	Ø	ð ñ ô ð ð
 
× Ò ØØ	ØØ	Hð	 ñ ô ð ð 
× Ò ØØ	ØØ�hÐØ	?ð ñ ô ð ð!ð !ð !ðH ð
(ð 
(ñ „ð
(ð ðð ñ „ðð ð-ð -ñ „ð-ð` ðð ñ „ðð2ð ð ð ð3#ð 3#ñ „ð3#ðn ˆzÒÐØ	€E�G„G€G€G€Gð Ðs   ˜ Ÿ+AÁA