
    <g
                     r    d dl Z d dlmZ d dlZd dlmZmZ d dlmZ d dl	m
Z
  G d de
j                        Zy)    N)SSL)
exceptionstcp)flow)basec                   *     e Zd ZdZd fd	Zd Z xZS )RawTCPLayeri   c                 2    || _         t        | 	  |       y )N)ignoresuper__init__)selfctxr   	__class__s      l/var/www/html/myenv/lib/python3.12/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/rawtcp.pyr   zRawTCPLayer.__init__   s        c                 |   | j                          | j                  sGt        j                  | j                  | j
                  |       }| j                  j                  d|       t        t        | j                              }| j                  j                  }| j
                  j                  }||g}|D ]z  }t        |t        j                        st        t        j                   d      s9t        j                   j#                  |j$                  t        j                   j&                         | 	 | j                  j(                  j+                         st,        j.                  j0                  j2                  j                  j5                  |d      }|D ]b  }||k(  r|n|}	 |j7                  || j                        }	|	s|j=                  |       t        |t        j                        r+ | j                  s| j                  j?                  d       y y |jA                  tB        jD                         tG        |      dk(  r+ | j                  s| j                  j?                  d       y y t        jH                  ||k(  |d |	 jK                               }
| j                  s7jL                  jO                  |
       | j                  j                  d|       |jQ                  |
jR                         e | j                  j(                  j+                         s| j                  s| j                  j?                  d       y y # t        j8                  t        j:                  f$ r Y w xY w# tB        jT                  tV        jX                  t        jZ                  f$ rd}| j                  sNt]        jZ                  dj_                  ta        |                  _*        | j                  j?                  d|       Y d }~d }~ww xY w# | j                  s| j                  j?                  d       w w xY w)	N	tcp_startSSL_clear_mode
   tcp_endr   tcp_messagez&TCP connection closed unexpectedly: {}	tcp_error)1connectr   r   TCPFlowclient_connserver_connchannelask
memoryview	bytearray
chunk_size
connection
isinstancer   
Connectionhasattr_libr   _sslSSL_MODE_AUTO_RETRYshould_exitis_setseleniumwire
thirdparty	mitmproxynetssl_read_select	recv_intoWantReadErrorWantWriteErrorremovetellshutdownsocketSHUT_WRlen
TCPMessagetobytesmessagesappendsendallcontenterrorr   TcpExceptionErrorr   formatrepr)r   fbufclientserverconnsconnrdstsizer   es               r   __call__zRawTCPLayer.__call__   s&   {{D,,d.>.>EALL[!,4??34!!,,!!,,   	QD$/GCHHFV4W''		3883O3OP	Q#	0ll..557 ++5599==MMeUWX 5D$(FN&C!#~~c4??C  T*%dCNN; #& ;;!!)Q/ #  LL8u:?" ;;!!)Q/  !"%..ET
@R@R@T"UK;;

))+6((:KK 3 3415 ll..557B ;;!!)Q/ 7  --s/A/AB ! !, j55syyA 	2;;**%M%T%TUYZ[U\%]^!!+q1	2
 ;;!!)Q/ s]   2A2M7 %M.M7 .M7 1B0M7 #M40M7 3M44M7 72P)APP PP +P;)F)__name__
__module____qualname__r"   r   rO   __classcell__)r   s   @r   r	   r	      s    J50r   r	   )r7   OpenSSLr   )seleniumwire.thirdparty.mitmproxy.net.tcpr,   !seleniumwire.thirdparty.mitmproxyr   r   r   1seleniumwire.thirdparty.mitmproxy.server.protocolr   Layerr	    r   r   <module>rZ      s'      0 = 2 B<0$** <0r   