
    ,hh                         S SK r S SKrS SKJr  S SKJrJr  Sr\S-  rS r " S S\ R                  5      r
 " S	 S
\ R                  5      rSrSrSr " S S5      rg)    N)RLock)sleeptimei     c                     [         R                  (       a  g [        U 5      q[	        US[         R
                  5      [         l        [	        US[         R                  5      [         l        g )Nzpython.stdoutzpython.stderr)sys
executableLogcatlogcatTextLogStreamstdoutstderr)android_log_writestdout_priostderr_prios      9/opt/python-3.13.8/usr/lib/python3.13/_android_support.pyinit_streamsr      sA    
~~ %&F{OSZZHCJ{OSZZHCJ    c                   T   ^  \ rS rSrS	U 4S jjrS rS rS rS r\	S 5       r
SrU =r$ )
r   $   c                 *  > U(       a-  UR                  SUR                  5        UR                  5       nOS nUR                  SS5        UR                  SS5        [        TU ]  " [        XU5      40 UD6  [        5       U l        / U l        SU l	        g )Nwrite_throughencodingzUTF-8errorsbackslashreplacer   )

setdefaultr   filenosuper__init__BinaryLogStreamr   _lock_pending_bytes_pending_bytes_count)selfpriotagoriginalkwargsr   	__class__s         r   r   TextLogStream.__init__%   s    ox/E/EF__&FF
 	*g.($67F;FvFW
 $%!r   c                 8    SU R                   R                  < S3$ )Nz<TextLogStream >)bufferr&   r$   s    r   __repr__TextLogStream.__repr__8   s      3155r   c                    [        U[        5      (       d!  [        S[        U5      R                   35      e[        R                  U5      nU R                     UR                  SS9 H8  nU(       d  M  US [         nU[        S  nU R                  U5        U(       a  M,  M:     S S S 5        [        U5      $ ! , (       d  f       N= f)Nz"write() argument must be str, not T)keepends)
isinstancestr	TypeErrortype__name____str__r!   
splitlinesMAX_CHARS_PER_WRITE_write_chunklen)r$   slinechunks       r   writeTextLogStream.write;   s    !S!!4T!W5E5E4FGI I
 KKN
 ZZd3d !5"56E 3 45D%%e, d 4  1v Zs   B74*B7 B77
Cc                    UR                  U R                  U R                  5      nU R                  [	        U5      -   [
        :  a  U R                  5         U R                  R                  U5        U =R                  [	        U5      -  sl        U R                  (       d*  UR                  S5      (       d  U R                  [
        :  a  U R                  5         g g )N   
)encoder   r   r#   r<   MAX_BYTES_PER_WRITEflushr"   appendr   endswith)r$   r=   bs      r   r;   TextLogStream._write_chunkR   s    HHT]]DKK0$$s1v-0CCJJL""1%!!SV+!zz%  ((+>>JJL ?r   c                     U R                      U R                  R                  SR                  U R                  5      5        U R                  R                  5         SU l        S S S 5        g ! , (       d  f       g = f)Nr   r   )r!   r-   r@   joinr"   clearr#   r.   s    r   rF   TextLogStream.flush`   sN    ZZKKchht':':;<%%'()D% ZZs   AA,,
A:c                     gNT r.   s    r   line_bufferingTextLogStream.line_bufferingh   s    r   )r!   r"   r#   N)r7   
__module____qualname____firstlineno__r   r/   r@   r;   rF   propertyrR   __static_attributes____classcell__)r)   s   @r   r   r   $   s0    &&6.*  r   r   c                   6    \ rS rSrS	S jrS rS rS rS rSr	g)
r    m   Nc                 (    Xl         X l        X0l        g rT   )r%   r&   _fileno)r$   r%   r&   r   s       r   r   BinaryLogStream.__init__n   s    	r   c                 $    SU R                   < S3$ )Nz<BinaryLogStream r,   )r&   r.   s    r   r/   BinaryLogStream.__repr__s   s    "488,a00r   c                     grP   rQ   r.   s    r   writableBinaryLogStream.writablev   s    r   c                 *   [        U5      [        La   [        [        U5      5      nU(       a+  [
        R                  U R                  U R                  U5        [        U5      $ ! [         a#    [        S[        U5      R                   35      S ef = f)Nz)write() argument must be bytes-like, not )
r6   bytes
memoryviewr5   r7   r   r@   r%   r&   r<   )r$   rI   s     r   r@   BinaryLogStream.writey   s}    7%*Q-( LLDHHa01v  ?Q@P@P?QRs   A% %-Bc                 `    U R                   c  [        R                  " S5      eU R                   $ )Nr   )r^   ioUnsupportedOperationr.   s    r   r   BinaryLogStream.fileno   s'    <<))(33||r   )r^   r%   r&   rT   )
r7   rU   rV   rW   r   r/   rc   r@   r   rY   rQ   r   r   r    r    m   s    
1r   r    i   i      c                        \ rS rSrS rS rSrg)r
      c                 Z    Xl         [        5       U l        SU l        [	        5       U l        g )Nr   )r   r   r!   _bucket_levelr   _prev_write_time)r$   r   s     r   r   Logcat.__init__   s#    !2W
 $r   c                    UR                  SS5      nU R                     [        5       nU =R                  X@R                  -
  [
        -  -  sl        [        S[        U R                  [        5      5      U l        X@l        U =R                  [        [        U5      -   [        U5      -   -  sl        U R                  S:  a  [        U R                  * [
        -  5        U R                  XU5        S S S 5        g ! , (       d  f       g = f)N    s   r   )replacer!   r   rq   rr   MAX_BYTES_PER_SECONDmaxminBUCKET_SIZEPER_MESSAGE_OVERHEADr<   r   r   )r$   r%   r&   messagenows        r   r@   Logcat.write   s     //';7ZZ&C,,,0DDF
 "%QD,>,>(L!MD$'!"6S"ACL"PP!!A%t))),@@A""4g6 ZZs   CC::
D)rq   r!   rr   r   N)r7   rU   rV   rW   r   r@   rY   rQ   r   r   r
   r
      s    '7r   r
   )rj   r   	threadingr   r   r   rE   r:   r   TextIOWrapperr   	RawIOBaser    rw   rz   r{   r
   rQ   r   r   <module>r      ss    	 
     *Q. IFB$$ FRbll L #    7 7r   