+
    Dfj	                        R t ^ RIt^ RIt^ RIHt ^ RIHtHt  ! R R]P                  4      t	 ! R R]P                  4      t
]! ]P                  4       ! R R	]P                  4      4       t ! R
 R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t. ROtR# )zzImplement standard (and unused) TCP protocols.

These protocols are either provided by inetd, or are not provided at all.
N)implementer)
interfacesprotocolc                   *   a  ] tR t^t o RtR tRtV tR# )Echoz;
As soon as any data is received, write it back (RFC 862).
c                <    V P                   P                  V4       R # N)	transportwriteselfdatas   &&8/usr/lib/python3/dist-packages/twisted/protocols/wire.pydataReceivedEcho.dataReceived   s    T"     N__name__
__module____qualname____firstlineno____doc__r   __static_attributes____classdictcell____classdict__s   @r   r   r      s     # #r   r   c                   *   a  ] tR t^t o RtR tRtV tR# )Discardz&
Discard any received data (RFC 863).
c                    R # r   r   r   s   &&r   r   Discard.dataReceived    s    r   r   Nr   r   s   @r   r   r      s      r   r   c                   @   a  ] tR t^%t o RtRtR tR tR tR t	Rt
V tR# )	Chargenz%
Generate repeating noise (RFC 864).
sG   @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&?c                >    V P                   P                  V ^ 4       R# )    N)r	   registerProducerr   s   &r   connectionMadeChargen.connectionMade-   s    ''a0r   c                P    V P                   P                  V P                  4       R # r   )r	   r
   noiser&   s   &r   resumeProducingChargen.resumeProducing0   s    TZZ(r   c                    R # r   r   r&   s   &r   pauseProducingChargen.pauseProducing3       r   c                    R # r   r   r&   s   &r   stopProducingChargen.stopProducing6   r0   r   r   N)r   r   r   r   r   r*   r'   r+   r.   r2   r   r   r   s   @r   r"   r"   %   s+      XE1) r   r"   c                   0   a  ] tR t^:t o RtR tR tRtV tR# )QOTDz&
Return a quote of the day (RFC 865).
c                    V P                   P                  V P                  4       4       V P                   P                  4        R # r   )r	   r
   getQuoteloseConnectionr&   s   &r   r'   QOTD.connectionMade?   *    T]]_-%%'r   c                    R# )z2
Return a quote. May be overrriden in subclasses.
s'   An apple a day keeps the doctor away.
r   r&   s   &r   r7   QOTD.getQuoteC   s     <r   r   N)	r   r   r   r   r   r'   r7   r   r   r   s   @r   r5   r5   :   s     (< <r   r5   c                   0   a  ] tR t^Jt o RtR tR tRtV tR# )Whoz'
Return list of active users (RFC 866)
c                    V P                   P                  V P                  4       4       V P                   P                  4        R # r   )r	   r
   getUsersr8   r&   s   &r   r'   Who.connectionMadeO   r:   r   c                    R# )z.
Return active users. Override in subclasses.
s   root
r   r&   s   &r   r@   Who.getUsersS   s     r   r   N)	r   r   r   r   r   r'   r@   r   r   r   s   @r   r>   r>   J   s     ( r   r>   c                   *   a  ] tR t^Zt o RtR tRtV tR# )Daytimez0
Send back the daytime in ASCII form (RFC 867).
c                    V P                   P                  \        P                  ! \        P                  ! \        P                  ! 4       4      4      R ,           4       V P                   P                  4        R# )s   
N)r	   r
   timeasctimegmtimer8   r&   s   &r   r'   Daytime.connectionMade_   sA    T\\$++diik*BCgMN%%'r   r   Nr   r   r   r   r   r'   r   r   r   s   @r   rE   rE   Z   s     ( (r   rE   c                   *   a  ] tR t^dt o RtR tRtV tR# )Timez8
Send back the time in machine readable form (RFC 868).
c                    \         P                  ! R \        \        P                  ! 4       4      4      pV P                  P                  V4       V P                  P                  4        R# )z!iN)structpackintrG   r	   r
   r8   )r   results   & r   r'   Time.connectionMadei   s?    T3tyy{#34V$%%'r   r   NrK   r   s   @r   rM   rM   d   s     ( (r   rM   )r   r   r"   r5   r>   rE   rM   )r   rO   rG   zope.interfacer   twisted.internetr   r   Protocolr   r   	IProducerr"   r5   r>   rE   rM   __all__r   r   r   <module>rY      s      & 1#8 #h  Z!!"h  #(<8 < (

  (h (	(8 	( Kr   