
    Eg
                     p    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dS )    N)SSL)
exceptionstcp)flow)basec                   *     e Zd ZdZd fd	Zd Z xZS )RawTCPLayeri   Fc                 X    || _         t                                          |           d S )N)ignoresuper__init__)selfctxr   	__class__s      m/var/www/sysmax/venv/lib/python3.11/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/rawtcp.pyr   zRawTCPLayer.__init__   s(        c                    |                                   | j        s;t          j        | j        | j        |           }| j                            d|           t          t          | j
                            }| j        j        }| j        j        }||g}|D ]j}t          |t          j                  rNt          t          j        d          r4t          j                            |j        t          j        j                   k	 | j        j                                        st,          j        j        j        j                            |d          }|D ]}||k    r|n|}	 |                    || j
                  }	n!# t          j        t          j        f$ r Y Gw xY w|	s|                    |           t          |t          j                  r' | j        s| j                            d|           d S d S |                     tB          j"                   tG          |          dk    r' | j        s| j                            d|           d S d S t          j$        ||k    |d |	         %                                          }
| j        s5|j&        '                    |
           | j                            d|           |(                    |
j)                   | j        j                                        n# tB          j*        tV          j,        t          j-        f$ re}| j        sTt]          j-        d/                    ta          |                              |_*        | j                            d|           Y d }~nd }~ww xY w| j        s| j                            d|           d S d S # | j        s| 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.>EEAL[!,,,4?3344!,!,   	Q 	QD$// QGCHFV4W4W Q''	383OPPP#	0l.5577 5 +59=MMeUWXX 5 5D$(FNN&&C!#~~c4?CC-s/AB ! ! ! ! !T***%dCN;; 9 #& ; 0!!)Q/////0 0#  LL888u::??" ; 0!!)Q/////0 0 !"%.ETE
@R@R@T@T"U"UK; ;
))+666((:::KK 344445 l.5577 58 j5syA 	2 	2 	2; 2*%M%T%TUYZ[U\U\%]%]^^!!+q111	2
 ; 0!!)Q/////0 04; 0!!)Q////0sc   AK:  E<;K: <FK: F5K: 53K: B+K: 9N. :&N AN ;N.  NN. .%O)F)__name__
__module____qualname__r"   r   rO   __classcell__)r   s   @r   r	   r	      sQ        J     50 50 50 50 50 50 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 0 0 0 = = = = = = = = 2 2 2 2 2 2 B B B B B B<0 <0 <0 <0 <0$* <0 <0 <0 <0 <0r   