
    ;8j              	          d dl Z d dlZd dlZd dlZd dlZd dlZd dlZdZdZ	d Z
d ZddZdd	Zed
k    rd dlZ e
            \  ZZ eej                  dk    r) e e j        dd eD             id                     dS ej        d         dk    r? e e j         eej        d         ej        d         e          d                     dS  eej        d                   Z e e j        ed                     dS dS )    Nzhttp://127.0.0.1:8787zIGGY_SHARED_SECRET=(\S+)c                     t          j        g ddd          } g }|                                 D ]4}d|vr|                    t	          j        t          |                     5t                              |          D ]}	 t          j
                            t           ddd|z   i	          }t          j
                            |d
          5 }t          j        |                                                                          }d d d            n# 1 swxY w Y   |                    d          r||                    d          pg fc S # t&          $ r Y w xY wt)          d          )N)psewwz-axTignore)texterrorsz
server.mjsz	/sessionsAuthorizationBearer headers   timeoutoksessionszNo working relay secret found)
subprocesscheck_output
splitlinesextendrefindall_PATTERNdictfromkeysurllibrequestRequestENDPOINTurlopenjsonloadsreaddecodeget	ExceptionRuntimeError)r   
candidateslinesecretreqrdatas          A/Users/iggy/.hermes/profiles/ignite_team/outbound/relay_helper.pyget_secret_and_sessionsr.      s   		 !5!5!5D	R	R	RBJ 6 6t##"*Xt445555--
++  	.((H)?)?)?/[dgm[mIn(ooC''Q'77 51z!&&((//"3"3445 5 5 5 5 5 5 5 5 5 5 5 5 5 5xx~~ :txx
339r9999: 	 	 	D	
6
7
77s7   AE9D
ED	ED	0E
EEc                 n    d }d | D             p| }|                     |d           |d         d         S )Nc                 0   |                      d          pi }|                     d          pi }|                     d          pd}t          |                     d          pi                      d          pi                      d                    }|                      d          d	k    rd
nd|                     d          dk    s|                     d          dk    rdnd|rd
nd|                    d          rdnd|                      d          pdfS )Ncontextsiteurl diagnosticswebflowGlobalshasWebflowDesignerApiuserIdsylvain
   r   	shortNamezkrb-rebuildnamezKincoppal-Rose Bay   z/code
lastSeenAt)r$   boolendswith)sctxr2   r3   has_designer_apis        r-   scorezbest_session.<locals>.score   s   eeI$"wwv$"ggenn"#''-"8"8">B!C!CDT!U!U![Y[ ` `ax y yzz%%//Y..BBA((;''=88DHHV<L<LPd<d<dBBjk")BB,,w''.BBQEE,%2
 	
    c                 D    g | ]}|                     d           dk    |S )r8   r9   r$   .0rB   s     r-   
<listcomp>z best_session.<locals>.<listcomp>(   s,    FFFxI)E)E!)E)E)ErF   T)keyreverser   	sessionId)sort)r   rE   r'   s      r-   best_sessionrP      sQ    
 
 
 GFXFFFR(JOOtO,,,a=%%rF   T   c                    t                      \  }}|pt          |          }t          j        |                                           }|ddd|  dd}t
          j                            t           d| dt          j
        |                                          d|z   dd	d
          }t
          j                            |d          5 }	t          j        |	                                                                          }
d d d            n# 1 swxY w Y   |
                    d          p(|
                    di                               d          }|s|||
dS t#          j                    |z   }t#          j                    |k     rAt#          j        d           t'          |||          }||S t#          j                    |k     At)          d| d| d          )NFz
Executing z via direct Designer relay.)code	dangerousrequiresConfirmationreply
/sessions/z	/commandsr
   zapplication/json)r	   zContent-TypePOST)r,   r   methodr:   r   	commandIdcommand)rN   rZ   queued   r)   zNo result for z after rB   )r.   rP   pathlibPath	read_textr   r   r   r   r    dumpsencoder   r!   r"   r#   r$   timesleep
get_resultTimeoutError)path
session_idwaitr   r)   r   rS   bodyr*   r+   r\   
command_iddeadlineresults                 r-   
queue_filero   -   sK   .00FH5|H55J<''))Due  WEcg  WE  WE  WE  F  FD
.
 
 H!M!M
!M!M!MTXT^_cTdTdTkTkTmTm  JS  V\  J\  n@  xA  xA  JP
   Q  QC			R		0	0 /AAFFHHOO--../ / / / / / / / / / / / / / /K((VFJJy",E,E,I,I+,V,VJ T'jFSSSy{{W$H
)++
 
 
1J
6BBBM	 )++
 
 
 E
EE7EEE
F
FFs   9DDDc                    |t                      \  }}t          j                            t           d|  d| ddd|z   i          }	 t          j                            |d          5 }t          j        |                                	                                          cd d d            S # 1 swxY w Y   d S # t          j
        j        $ r}|j        d	k    rY d }~d S  d }~ww xY w)
NrW   z
/commands/z/resultr	   r
   r   r   r   i  )r.   r   r   r   r   r   r    r!   r"   r#   error	HTTPErrorrS   )ri   rl   r)   _r*   r+   es          r-   rf   rf   A   sK   ~+--	
.
 
 H!a!a
!a!aj!a!a!al{  ~G  JP  ~P  lQ
   R  RC^##C#33 	1q:affhhoo//00	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1<!   6S==44444sB   	!B< *8B/"B< /B33B< 6B37B< <C'C"!C""C'__main__r]   r   c                 ,    g | ]fd dD             S )c                 <    i | ]}|                     |          S  rH   )rJ   krB   s     r-   
<dictcomp>z<listcomp>.<dictcomp>Q   s%    'i'i'iq!%%(('i'i'irF   )rN   r8   statusr?   rx   rI   s    @r-   rK   rK   Q   s0    &|&|&|no'i'i'i'i<h'i'i'i&|&|&|rF      )indentrn      r^   )NTrQ   )N)r    r_   r   r   rd   urllib.errorr   urllib.requestr   r   r.   rP   ro   rf   __name__sysr)   r   lenargvprintrb   outrx   rF   r-   <module>r      s   H H H H H H H H H H H H H H H H H H H H H H H H H H H H"58 8 8&& & &&G G G G(
 
 
 
 zJJJ..00FH
s38}}jdj*&|&|s{&|&|&|}  GH  I  I  I  	J  	J  	J  	J  	J	!	 	 jdjCHQK!VLLLUVWWWXXXXXj!%%jdjQ'''((((( rF   