+
     Bi                    	   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
H
t
HtHt ^ RIHt  ^ RItRt. RiOtRt^ t^tR	tRjtR
t/ RRkbRRlbRRmbRRnbRRnbRRnbRRkbRRkbRRkbRRobRRkbRRnbRRnbRRkbRRkbRRkbRRkb/ RRkbRRkbR RkbR!RlbRRmbR"RkbR#RnbR$RkbR%RmbR&RnbR'RobR(RkbR)RnbR*RkbR+RkbR,RkbR-RkbCR.RnR/RlR0RkR1RnR2RkR3RnR4RnR5RkR6Rn/	Ct]P4                  ! R74      t]P4                  ! R84      t]P4                  ! R94      t]P4                  ! R:]P<                  4      t]P4                  ! R;4      t ]P4                  ! R<4      t!]P4                  ! R=4      t"]P4                  ! R>]P<                  4      t#R:t$R>t% ! R? R4      t& ! R@ RA4      t']'       d    ! RB RC]&4      t(]PS                  RC4        ! RD R]&4      t* ! RE RF4      t+RGPY                  RH4      t-].! ]-RI,          4       U Uu/ uF  w  rVP_                  4       V ^,           bK  	  upp t0RJ t1RK t2RL t3RM t4]5RN8X  Ed7   ^ RI6t6^ RI7t7 ]6Pl                  ! ]Pp                  RI,          RO4      w  t9t:Rt=]9 F/  w  t>t<]>RP8X  d   ]?! ]<4      tK  ]>RQ8X  g   K   ]<t=]:'       d   K,  ]=3t:K1  	  ]:'       g   Rqt:]:^ ,          t@]7P                  ! 4       tB]7Pn                  ! RR]B: RS]@;'       g    RT: RU24      tCRVRW]BRXRY/,          tDRZ]B]C33RrRsRtR\R[RR]D33RuRvRwRxRyRzR{R|R}3tER~RRRR\RRR]D33R|R3tFR_ tG ]='       d
   ]*! ]=4      tHM]&! ]@4      tH]HP                  R8X  d
   ]ERI,          tE]HP                  R`]HP                  ,          4       ]HP                  Ra]HP                  : 24       ]E F  w  tMt:]G! ]M]:4       K  	  ]G! R]R4       FQ  tN]P                  ! Rb]N4      tP]P'       d   ]PP                  ^4      tRM]NPY                  4       R,          tR]G! Rc]R34       KS  	  ]F FU  w  tMt:]G! ]M]:4      tS]M]:3R8w  d   K  ]SR,          PY                  4       tT]T'       g   K;  ]G! R^RRd]TR,          ,          Re34       KW  	  ]U! Rf4       R# R#   ] d    Rt EL'i ; iu upp i   ]6Pv                   d   t<RpRput9t: Rt<A<EL:Rt<A<ii ; i   ]U! Rg4       ]'       g!   ]U! Rh]Pp                  ^ ,          ,          4       h ; i)z2.60N)datetimetimezone	timedelta)DEFAULT_BUFFER_SIZETFIMAP4IMAP4_stream   
i  i@B APPENDAUTHAUTHENTICATE
CAPABILITYLOGOUTCHECKCLOSECOPYCREATEDELETE	DELETEACLENABLEEXAMINEEXPUNGEFETCHGETACLGETANNOTATIONGETQUOTAGETQUOTAROOTIDLEMYRIGHTSLISTLOGINLSUBMOVE	NAMESPACENOOPPARTIAL	PROXYAUTHRENAMESEARCHSELECTSETACLSETANNOTATIONSETQUOTASORTSTARTTLSSTATUSSTORE	SUBSCRIBETHREADUIDUNSUBSCRIBEUNSELECTs   \+( (?P<data>.*))?s   .*FLAGS \((?P<flags>[^\)]*)\)s   .*INTERNALDATE "(?P<day>[ 0123][0-9])-(?P<mon>[A-Z][a-z][a-z])-(?P<year>[0-9][0-9][0-9][0-9]) (?P<hour>[0-9][0-9]):(?P<min>[0-9][0-9]):(?P<sec>[0-9][0-9]) (?P<zonen>[-+])(?P<zoneh>[0-9][0-9])(?P<zonem>[0-9][0-9])"s   .*{(?P<size>\d+)}$s
   \r\n|\r|\ns%   \[(?P<type>[A-Z-]+)( (?P<data>.*))?\]s$   \* (?P<type>[A-Z-]+)( (?P<data>.*))?s3   \* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?c                   n  a  ] tR t^t o  ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t	R	]
R
3R ltR tR tR tR tR tR tR tR	]
R
3R lt]R 4       tR tR tR tR tR tR tR tR tR tR tR t R  t!R! t"R" t#R# t$R$ t%R% t&R& t'R' t(R( t)R) t*R* t+R+ t,RVR, lt-RWR- lt.R. t/R/ t0R0 t1R1 t2RWR2 lt3R3 t4R4 t5R5 t6R6 t7R7 t8R8 t9R9 t:RXR: lt;R; t<R< t=R= t>R> t?RVR? lt@R@ tARA tBRB tCRC tDRD tERE tFRF tGRG tHRH tIRI tJRJ tKRK tLRL tMRYRM ltNRYRN ltORO tPRP tQRQ tRRR tSRS tTRT tURUtZT t[R
# )Zr   c                       ] tR t^tRtR# )IMAP4.error N__name__
__module____qualname____firstlineno____static_attributes__r8       /usr/lib/python3.14/imaplib.pyerrorr7      s    Dr?   rA   c                       ] tR t^tRtR# )IMAP4.abortr8   Nr9   r8   r?   r@   abortrC      s    r?   rD   c                       ] tR t^tRtR# )IMAP4.readonlyr8   Nr9   r8   r?   r@   readonlyrF      s    4r?   rG   c                       ] tR t^tRtR# )IMAP4._responsetimeoutr8   Nr9   r8   r?   r@   _responsetimeoutrI      s    $r?   rJ    Nc                   \         V n        R V n        RV n        / V n        / V n        RV n        . V n        RV n        RV n	        ^ V n
        RV n        V P                  4        . V n        V P                  WV4        V P                  4        R#   \          d%     T P#                  4        h   \$         d     h i ; ii ; i)r   NrK   F)Debugdebugstateliteraltagged_commandsuntagged_responsescontinuation_response_idle_responses_idle_captureis_readonlytagnum_tls_established_mode_ascii_readbufopen_connect	ExceptionshutdownOSErrorselfhostporttimeouts   &&&&r@   __init__IMAP4.__init__   s    

!"$%'"!"  % 			$g&	MMO 	   	s0   <B B=B+*B=+B96B=8B99B=c                    R V n         RV n        \        P                  ! \        \        P
                  4      V n        \        P                  ! \        \        P
                  4      V n        R# )FasciiN)	utf8_enabled	_encodingrecompile_LiteralASCIILiteral_Untagged_statusUntagged_statusra   s   &r@   rY   IMAP4._mode_ascii   s?    ! zz(BHH5!zz*:BHHEr?   c                    R V n         RV n        \        P                  ! \        4      V n        \        P                  ! \        4      V n        R# )Tutf-8N)ri   rj   rk   rl   rm   ro   rp   rq   rr   s   &r@   
_mode_utf8IMAP4._mode_utf8   s3      zz(+!zz*:;r?   c                &   \        \        P                  ! R R4      4      V n        \        P
                  ! RV P                  ,           R,           \        P                  4      V n         T P                  4       T n        RT P                   9   d	   RT n        M4RT P                   9   d	   RT n        MT P%                  T P                  4      hT P'                  4         \*         F  pYP(                  9   g   K  Yn         R# 	  T P%                  R	4      h)
i   i  s   (?P<tag>s"   \d+) (?P<type>[A-Z]+) (?P<data>.*)PREAUTHr
   OKNONAUTHNzserver not IMAP4 compliant)Int2APrandomrandinttagprerk   rl   rn   tagre_cmd_log_len_cmd_log_idx_cmd_logrN   _mesg__version___get_responsewelcomerR   rO   rA   _get_capabilitiescapabilitiesAllowedVersionsPROTOCOL_VERSION)ra   versions   & r@   r\   IMAP4._connect   s     V^^D%89ZZ++!&@!ABD((L
  ))+///DJT,,,"DJ**T\\**  'G///$+!	 ' jj566r?   c                n    V\         9   d   \        WP                  4       4      # \        R V,          4      h)zUnknown IMAP4 command: '%s')CommandsgetattrlowerAttributeError)ra   attrs   &&r@   __getattr__IMAP4.__getattr__  s,    84..:TABBr?   c                    V # Nr8   rr   s   &r@   	__enter__IMAP4.__enter__      r?   c                r    V P                   R 8X  d   R#  V P                  4        R#   \         d     R# i ; i)r   N)rO   logoutr_   )ra   argss   &*r@   __exit__IMAP4.__exit__  s1    ::!	KKM 		s   ' 66c                B   Ve   V'       g   \        R4      hV P                  '       g   R MV P                  p\        P                  ! RW P                  V P                  4       W P                  3pVe   \
        P                  ! W14      # \
        P                  ! V4      # )Nz0Non-blocking socket (timeout=0) is not supportedzimaplib.open)
ValueErrorrb   sysauditrc   socketcreate_connection)ra   rd   rb   addresss   &&  r@   _create_socketIMAP4._create_socket)  sw     wOPP999t$))		.$		499=#++G==''00r?   c                    Wn         W n        V P                  V4      V n        V P                  P	                  R 4      V n        R# )rbN)rb   rc   r   sockmakefile_filer`   s   &&&&r@   r[   
IMAP4.open6  s6     		''0	YY''-
r?   c                R    ^ RI pVP                  R\        ^R7       V P                  # )    Nz@IMAP4.file is unsupported, can cause errors, and may be removed.)
stacklevel)warningswarnRuntimeWarningr   )ra   r   s   & r@   file
IMAP4.fileB  s-     	N 	 	 zzr?   c                D   . pV^ 8  d   \        V4      \        V P                  4      8  d   V P                  \        V4      ,          pMD V P                  P                  \        4      pT'       g   MT P                  P                  T4       \        V4      V8  d=   VP                  VRV 4       W1R .V P                  \        V4      R ,           V n        M%VP                  V4       V\        V4      ,          pK  RP                  V4      #   \
         d     K  i ; i)r   Nr?   )lenrZ   r   recvr   ConnectionErrorappendjoin)ra   sizepartsbufs   &&  r@   read
IMAP4.readS  s     Qh5zC..mmCJ/))..)<=C $$S)3x4S$Z(!$Ut}}SZ[/I ILLCHDxx ' s   D DDc                   R p. p^ pV\         8  Ed   \        V4      \        V P                  4      8  d   V P                  \        V4      ,          pMD V P                  P	                  \
        4      pT'       g   MT P                  P                  T4       VP                  V4      pVR8w  dF   V^,          pVP                  VRV 4       WER .V P                  \        V4      R ,           V n        M&VP                  V4       V\        V4      ,          pEK  RP                  V4      p\        V4      \         8  d   V P                  R\         ,          4      hV#   \         d     KQ  i ; i)   
Nr?   zgot more than %d bytes)_MAXLINEr   rZ   r   r   r   r   r   findr   rA   )ra   LFr   lengthr   poslines   &      r@   readlineIMAP4.readline{  s(    x5zC..mmCJ/))..)<=C $$S)((2,CbyqS#Y'!$TdmmCJK.H HLLc#hFxxt9x**5@AA% ' s   E E,+E,c                j    \         P                  ! R W4       V P                  P                  V4       R# )zimaplib.sendN)r   r   r   sendallra   datas   &&r@   send
IMAP4.send  s"    		.$-		$r?   c                   V P                   P                  4         V P                  P                  \        P
                  4       V P                  P                  4        R#   \         d=   pTP                  \        P                  8w  d   \        TR ^ 4      R8w  d   h  Rp?L^Rp?ii ; i  T P                  P                  4        i ; i)winerrori&'  N)
r   closer   r^   r   	SHUT_RDWRr_   errnoENOTCONNr   )ra   excs   & r@   r^   IMAP4.shutdown  s    


	IIv//0 IIOO  	 		U^^+3
A.%7	 IIOOs)   )A! !B(,2B#B+ #B((B+ +Cc                    V P                   # r   )r   rr   s   &r@   r   IMAP4.socket  s    
 yyr?   c                    R pV P                  RR.V4      w  r#VR,          '       d   W#3# V P                  4       w  r#V P                  W#V4      # )RECENTrz   Nr   )_untagged_responsenoopra   nametypdats   &   r@   recentIMAP4.recent  sQ     **4$>r778O99;&&s66r?   c                F    V P                  VR .VP                  4       4      # r   )r   upper)ra   codes   &&r@   responseIMAP4.response  s!     &&tdVTZZ\BBr?   c                D   R pV'       g   RpV'       d"   V^ ,          VR,          3R8w  d
   RV,          pMRpV'       d   \        V4      pMRp\        P                  \        V4      pV P                  '       d   RV,           R,           pW`n        V P                  WQW#4      # )r	   INBOX(%s)Ns   UTF8 (   )r   ())Time2InternaldateMapCRLFsubCRLFri   rP   _simple_command)ra   mailboxflags	date_timemessager   rP   s   &&&&&  r@   r   IMAP4.append  s     Gar#y0E))4II++dG,')D0G##D5DDr?   c                    VP                  4       p\        V4      P                  V n        V P	                  R V4      w  rEVR8w  d)   V P                  VR,          P                  RR4      4      hRV n        WE3# )r   rz   ru   replacer
   r   )r   _AuthenticatorprocessrP   r   rA   decoderO   )ra   	mechanism
authobjectmechr   r   s   &&&   r@   authenticateIMAP4.authenticate  sk       
 &j199''=$;**SW^^GY?@@
xr?   c                P    R pV P                  V4      w  r#V P                  W#V4      # )r   r   r   r   s   &   r@   
capabilityIMAP4.capability  s.     ''-&&s66r?   c                $    V P                  R 4      # )r   r   rr   s   &r@   checkIMAP4.check   s    
 ##G,,r?   c                V     V P                  R 4      w  rRV n        W3#   RT n        i ; i)r   r
   r   rO   ra   r   r   s   &  r@   r   IMAP4.close(  s2    	 ++G4HCDJx  DJ    	(c                &    V P                  R W4      # )r   r  )ra   message_setnew_mailboxs   &&&r@   copy
IMAP4.copy7  s    
 ##FKEEr?   c                &    V P                  R V4      # )r   r  ra   r   s   &&r@   createIMAP4.create?      
 ##Hg66r?   c                &    V P                  R V4      # )r   r  r  s   &&r@   deleteIMAP4.deleteG  r  r?   c                &    V P                  R W4      # )r   r  )ra   r   whos   &&&r@   	deleteaclIMAP4.deleteaclN  s    
 ##K>>r?   c                    R V P                   9  d   \        P                  R4      hV P                  R V4      w  r#VR8X  d&   RVP	                  4       9   d   V P                  4        W#3# )r   zServer does not support ENABLErz   zUTF8=ACCEPT)r   r   rA   r   r   rv   )ra   r	  r   r   s   &&  r@   enableIMAP4.enableU  s_    
 4,,,++>??((:>	$;=J,<,<,>>OOyr?   c                P    R pV P                  V4      w  r#V P                  W#V4      # )r   r  r   s   &   r@   expungeIMAP4.expungea  s.     ''-&&s66r?   c                R    R pV P                  W1V4      w  rEV P                  WEV4      # )r   r  )ra   r  message_partsr   r   r   s   &&&   r@   fetchIMAP4.fetcho  s0     ''=I&&s66r?   c                N    V P                  R V4      w  r#V P                  W#R4      # )r   ACLr  ra   r   r   r   s   &&  r@   getaclIMAP4.getacl~  s+    
 ''':&&s77r?   c                P    V P                  R WV4      w  rEV P                  WER4      # )r   
ANNOTATIONr  )ra   r   entry	attributer   r   s   &&&&  r@   getannotationIMAP4.getannotation  s-     ''S&&s>>r?   c                N    V P                  R V4      w  r#V P                  W#R4      # )r   QUOTAr  )ra   rootr   r   s   &&  r@   getquotaIMAP4.getquota  s+     ''
D9&&s99r?   c                    V P                  R V4      w  r#V P                  W#R4      w  r$V P                  W#R4      w  r%W%V.3# )r   r;  	QUOTAROOTr  )ra   r   r   r   quota	quotaroots   &&    r@   getquotarootIMAP4.getquotaroot  sN    
 ''@,,Sw?
00;G&&&r?   c                    \        W4      # r   )Idler)ra   durations   &&r@   idle
IMAP4.idle  s     T$$r?   c                R    R pV P                  W1V4      w  rEV P                  WEV4      # )r   r  ra   	directorypatternr   r   r   s   &&&   r@   list
IMAP4.list  0     ''A&&s66r?   c                    V P                  R WP                  V4      4      w  r4VR8w  d   V P                  VR,          4      hRV n        W43# )r   rz   r
   r   )r   _quoterA   rO   )ra   userpasswordr   r   s   &&&  r@   loginIMAP4.login  sI     ''{{87LM$;**SW%%
xr?   c                V    WuV n         V n        V P                  R V P                  4      # )zCRAM-MD5)rS  rT  r  _CRAM_MD5_AUTH)ra   rS  rT  s   &&&r@   login_cram_md5IMAP4.login_cram_md5  s+    
 $( 	4=  T-@-@AAr?   c                >   ^ RI p\        V P                  \        4      '       d   V P                  P	                  R4      pMV P                  p VP                  W1R4      pT P                   RTP                  4        2#   \         d    T P                  R4      hi ; i)r   Nru   md5z(CRAM-MD5 authentication is not supported )
hmac
isinstancerT  strencodeHMACr   rA   rS  	hexdigest)ra   	challenger^  rT  authcodes   &&   r@   rX  IMAP4._CRAM_MD5_AUTH  s    dmmS))}}++G4H}}H	Iyye<H ))Ah002344  	I**GHH	Is   A? ?Bc                \    R V n         V P                  R 4      w  rV P                  4        W3# )r   )rO   r   r^   r  s   &  r@   r   IMAP4.logout  s-     
''1xr?   c                R    R pV P                  W1V4      w  rEV P                  WEV4      # )r    r  rK  s   &&&   r@   lsub
IMAP4.lsub  rP  r?   c                N    V P                  R V4      w  r#V P                  W#R 4      # )r   r  r1  s   &&  r@   myrightsIMAP4.myrights  s+    
 &&z7;&&s<<r?   c                P    R pV P                  V4      w  r#V P                  W#V4      # )r"   r  r   s   &   r@   	namespaceIMAP4.namespace  s.    
 ''-&&s66r?   c                &     T P                  R4      # )Fr#   )rN   _dump_urrR   r   rr   s   &r@   r   
IMAP4.noop  s    
  ##F++r?   c                T    R pV P                  WQW#V4      w  rgV P                  WgR4      # )r$   r   r  )ra   message_nummessage_partstartr   r   r   r   s   &&&&&   r@   partialIMAP4.partial  s3     ''<PVW&&s99r?   c                *    R pV P                  R V4      # )r%   r  )ra   rS  r   s   && r@   	proxyauthIMAP4.proxyauth&  s     ##K66r?   c                &    V P                  R W4      # )r&   r  )ra   
oldmailbox
newmailboxs   &&&r@   renameIMAP4.rename3  s    
 ##HjEEr?   c                    R pV'       dA   V P                   '       d   \        P                  R4      hV P                  ! VRV.VO5!  w  rEMV P                  ! V.VO5!  w  rEV P	                  WEV4      # )r'   z'Non-None charset not valid in UTF8 modeCHARSET)ri   r   rA   r   r   )ra   charsetcriteriar   r   r   s   &&*   r@   searchIMAP4.search;  so        kk"KLL++D)WPxPHC++D<8<HC&&s66r?   c                ,   / V n         W n        V'       d   R pMRpV P                  W14      w  rEVR8w  d   RV n        WE3# RV n        RV P                   9   d"   V'       g    T P                  RT,          4      hW@P                   P                  RR.4      3# )	r   r(   rz   r
   SELECTED	READ-ONLYz%s is not writableEXISTSN)rR   rV   r   rO   rN   rs  rG   get)ra   r   rG   r   r   r   s   &&&   r@   selectIMAP4.selectM  s     #%#DD''6$;DJ8O
$111  -- 4w >??++//4&AAAr?   c                (    V P                  R WV4      # )r)   r  )ra   r   r"  whats   &&&&r@   setaclIMAP4.setaclm  s    
 ##HgDAAr?   c                R    V P                   ! R .VO5!  w  r#V P                  W#R4      # )r*   r5  r  )ra   r   r   r   s   &*  r@   setannotationIMAP4.setannotationu  s.     ''?$?&&s>>r?   c                N    V P                  R W4      w  r4V P                  W4R4      # )r+   r;  r  )ra   r<  limitsr   r   s   &&&  r@   setquotaIMAP4.setquota}  s+    
 ''
DA&&s99r?   c                    R pV^ ,          VR,          3R8w  d
   RV,          pV P                   ! WAV.VO5!  w  rVV P                  WVV4      # )r,   r   r   r   r  )ra   sort_criteriar  search_criteriar   r   r   s   &&&*   r@   sort
IMAP4.sort  sX    
  !]2./9<"]2M''WWW&&s66r?   c                <   R p\         '       g   V P                  R4      hV P                  '       d   V P                  R4      hW P                  9  d   V P                  R4      hVf   \
        P                  ! 4       pV P                  V4      w  r4VR8X  de   VP                  V P                  V P                  R7      V n	        V P                  P                  R4      V n        RV n        V P                  4        MV P                  R4      hV P                  W4V4      # )	r-   zSSL support missingzTLS session already establishedzTLS not supported by serverrz   server_hostnamer   TzCouldn't establish TLS session)HAVE_SSLrA   rX   rD   r   ssl_create_stdlib_contextr   wrap_socketr   rb   r   r   r   r   )ra   ssl_contextr   r   r   s   &&   r@   starttlsIMAP4.starttls  s    x**233   **>??(((**:;;446K''-$;#//		@D		 0 KDI++D1DJ$(D!""$**=>>&&s66r?   c                R    R pV P                  W1V4      w  rEV P                  WEV4      # )r.   r  )ra   r   namesr   r   r   s   &&&   r@   statusIMAP4.status  s2    
  ''u=&&s66r?   c                    V^ ,          VR,          3R8w  d
   RV,          pV P                  RWV4      w  rEV P                  WER4      # )r   r   r/   r   r   r   r  )ra   r  commandr   r   r   s   &&&&  r@   storeIMAP4.store  sK    
 !HU2Y9,UNE''uM&&s99r?   c                &    V P                  R V4      # )r0   r  r  s   &&r@   	subscribeIMAP4.subscribe  s    
 ##K99r?   c                X    R pV P                   ! WAV.VO5!  w  rVV P                  WVV4      # )r1   r  )ra   threading_algorithmr  r  r   r   r   s   &&&*   r@   threadIMAP4.thread  s5    
 ''7]_]&&s66r?   c                   VP                  4       pV\        9   g   V P                  R V,          4      hV P                  \        V,          9  dB   V P                  RV: RV P                  : RRP	                  \        V,          4      : 24      hRpV P
                  ! W1.VO5!  w  rEVR9   d   TpMRpV P                  WEV4      # )zUnknown IMAP4 UID command: %scommand  illegal in state , only allowed in states , r2   r   )r'   r,   r1   )r   r   rA   rO   r   r   r   )ra   r  r   r   r   r   s   &&*   r@   uid	IMAP4.uid  s     --/("**<wFGG::Xg..**%tzz"ii(9:< = = ''==22DD&&s66r?   c                &    V P                  R V4      # )r3   r  r  s   &&r@   unsubscribeIMAP4.unsubscribe  s    
 ##M7;;r?   c                V     V P                  R 4      w  rRV n        W3#   RT n        i ; i)r4   r
   r  )ra   r   r   s   &  r@   unselectIMAP4.unselect  s3    	 ,,Z8ICDJy  DJr  c                    VP                  4       pV\        9   g   V P                  3\        V&   V P                  ! V.VO5!  # r   )r   r   rO   r   ra   r   r   s   &&*r@   xatomIMAP4.xatom  s>     zz| x"jj]HTN##D0400r?   c                   Vf   RpV P                   '       d   V P                  '       d6   \        V P                  R,          ^,          R,          \        4      '       d   V P                  P	                  W.34       M+V P                  R,          pV^,          P	                  V4        R # V P                  p Y9   d   YA,          P	                  T4       R # T.YA&   R # )Nr?   r   )
rU   rT   r_  bytesr   rN   r   rR   r   r  )ra   r   r   r   urs   &&&  r@   _append_untaggedIMAP4._append_untagged  s    ;C  (((4//3A6r:EBB$$++S%L9  //3""3'$$ 9GNN3eBGr?   c                    V P                   P                  R 4      pV'       d3   V P                  VR,          P                  V P                  R4      4      hR# )BYEr   Nr   )rR   r  rD   r  rj   )ra   byes   & r@   
_check_byeIMAP4._check_bye;  sB    %%))%0**SW^^DNNIFGG r?   c                P   V P                   \        V,          9  dI   R V n        V P                  RV: RV P                   : RRP	                  \        V,          4      : 24      hR
 F"  pW0P
                  9   g   K  V P
                  V K$  	  RV P
                  9   d$   V P                  '       g   V P                  R4      hV P                  4       p\        WP                  4      pVR,           V,           pV FD  pVf   K	  \        V\        4      '       d   \        W`P                  4      pVR,           V,           pKF  	  V P                  pVe\   R V n        \        V4      \        V P                  4      J d   TpM/R pV\        R\        V4      ,          V P                  4      ,           p  T P'                  T\(        ,           4       Tf   T#  T P/                  4       '       d   T P0                  T,          '       g   K1  T# X'       d   T! T P2                  4      p  T P'                  T4       T P'                  \(        4       T'       d   K   T#   \*         d   p	T P-                  R	T	,          4      hR p	?	ii ; i  \*         d   p	T P-                  R	T	,          4      hR p	?	ii ; i)Nr  r  r  r  r  z#mailbox status changed to READ-ONLY    z {%s}zsocket error: %srz   NOBAD)rO   r   rP   rA   r   rR   rV   rG   _new_tagr  rj   r_  r`  type_commandr   rN   r   _logr   r   r_   rD   r   rQ   rS   )
ra   r   r   r   tagr   argrP   	literatorvals
   &&*       r@   r  IMAP4._commandA  s.   ::Xd^+DL**"DJJ"ii79 : :
 'C---++C0 ' $111   -- EFFmmoT>>*TzD C{H#s##C0$;$D	  ,,DLG}T]] 33#	 	eGc'l$:DNNKK	7IIdTk" ?J $$&&'',,J #D$>$>?;		'"		$ 9
?  	7**/#566	72  ;jj!3c!9::;s0   -I &I= I:I55I:=J%J  J%c                   VR 8H  pV'       g   V P                  4         V P                  W#R7      w  rET'       g   T P                  4        TR8X  d   T P                  T: RT: RT: 24      hYE3#   T P                   d   pT P                  RT: RT: 24      hRp?iT P                   d   pT P                  RT: RT: 24      hRp?ii ; i)r   )
expect_byez	command:  => Nr  z command error: r]  )r  _get_tagged_responserD   rA   )ra   r   r  r   r   r   r  s   &&&    r@   _command_completeIMAP4._command_complete  s    ("OO	@11#1IIC
 OO%<**$TJKKy zz 	@**D#>??zz 	@**D#>??	@s)   A1 1CBC.C/CCc                    V P                  4       w  rVR .8X  d   V P                  R4      h\        VR,          V P                  4      pVP	                  4       p\        VP                  4       4      V n        R # )Nz"no CAPABILITY response from serverr   )r	  rA   r`  rj   r   tuplesplitr   r  s   &  r@   r   IMAP4._get_capabilities  s[    ??$4&=**ABB#b'4>>*iik!#))+.r?   c                   VR Jdv   V P                   '       dd   V P                   P                  4       pV P                   P                  V4        V P                  4       p T P                   P                  T4       MV P                  4       pV P                  V P                  V4      '       d   V P                  P                  R4      pWPP                  9   g   V P                  RV,          4      hV P                  P                  R4      p\        W`P                  4      pV P                  P                  R4      pWg.3V P                  V&   EMRpV P                  \        V4      '       g>   V P                  V P                  V4      '       d   V P                  P                  R4      pV P                  fW   V P                  \         V4      '       d#   V P                  P                  R4      V n        R# V P                  RV,          4      hV P                  P                  R4      p\        W`P                  4      pV P                  P                  R4      pVf   RpV'       d   VR	,           V,           pV P                  V P$                  V4      '       d\   \'        V P                  P                  R
4      4      p	 T P-                  T	4      p
T P/                  YgT
34       T P                  4       pK}  V P/                  Wg4       VR9   dw   V P                  \0        V4      '       d[   V P                  P                  R4      p\        W`P                  4      pV P/                  W`P                  P                  R4      4        T#   \         d   pT P
                  ThRp?ii ; i  T P                   P                  T4       i ; i)FNr  zunexpected tagged response: %rr  r   data2zunexpected response: %rr?   r  r   r  )r   
gettimeout
settimeout	_get_lineTimeoutErrorrJ   _matchr   mogrouprQ   rD   r`  rj   Untagged_responserq   ContinuationrS   ro   intrN   r   r   r  Response_code)ra   start_timeoutsaved_timeoutresperrr  r   r   dat2r   r   s   &&         r@   r   IMAP4._get_response  s    %$))) II002MII  /4~~' 		$$]3>>#D ;;tzz4((''--&C...jj!AD!HII''--'Cc>>*C''--'C),eD  %D ;;0$77;;t33T::77==1Dww ;;|T2215v1FD.jj!:T!ABB''--'Cc>>*C''--'C{#C3:,S ++dllC00 477==01 yy %%c;7 nn&!!#+ %%$++mS*I*I''--'Cc>>*C!!#ww}}V'<= W   5++45 		$$]3s$   N N"NN""N% %Oc                &    V P                   V,          pVe   V P                   V V# V'       d&   RpV P                  P                  VR4      pVe   WE3# V P                  4         V P	                  4        Kw    T P
                   d   p h Rp?ii ; i)   Nr  )rQ   rR   popr  r   rD   rN   	print_log)ra   r  r  resultr   r  r  s   &&&    r@   r  IMAP4._get_tagged_response  s    ))#.F!((---11#t<?:% OO""$::  	s   &A8 8B	BBc                    V P                  4       pV'       g   V P                  R 4      hVP                  R4      '       g   V P                  RV,          4      hVRR p T# )zsocket error: EOFr   z#socket error: unterminated line: %rN)r   rD   endswithrN   r   r  )ra   r   s   & r@   r  IMAP4._get_line)  s[    }}**011 }}W%%**BTIJJCRy
 r?   c                L    VP                  V4      V n         T P                  RJ# )FN)matchr  rN   r   rM  groups)ra   cress   &&&r@   r  IMAP4._match<  s'    
 ))A, wwd""r?   c                    V P                   \        \        V P                  4      V P                  4      ,           pV P                  ^,           V n        RV P
                  V&   V# )r   N)r   r  r`  rW   rj   rQ   )ra   r  s   & r@   r  IMAP4._new_tagH  sH    kkE#dkk"2DNNCCkkAo$(S!
r?   c                j    VP                  R R4      pVP                  RR4      pRV,           R,           # )\z\\"z\")r   )ra   r  s   &&r@   rR  IMAP4._quoteP  s0    kk$'kk#u%Sy3r?   c                H    V P                  WP                  ! V.VO5!  4      # r   )r  r  r  s   &&*r@   r   IMAP4._simple_commandX  s!    %%dMM$,F,FGGr?   c                ~    VR 8X  d   W3# W0P                   9   g   VR.3# V P                   P                  V4      p Y3# )r  N)rR   r  rN   r   )ra   r   r   r   r   s   &&&& r@   r   IMAP4._untagged_response]  sK    $;8O...;&&**40 yr?   )ro   r   rq   r   r   r   rj   r   rU   rT   rZ   rX   r   rS   rN   rb   rV   rP   r  rT  rc   r   rO   rQ   rW   r   r   rR   rS  ri   r   r   )z""*)r   F)F)\r:   r;   r<   r=   r]   rA   rD   rG   r  rJ   
IMAP4_PORTre   rY   rv   r\   r   r   r   r   r[   propertyr   r   r   r   r^   r   r   r   r   r  r	  r  r   r  r  r  r#  r&  r)  r-  r2  r8  r=  rC  rH  rN  rU  rY  rX  r   rj  rm  rp  r   ry  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r  rR  r   r   r   rs  r  r  r>   __classdictcell____classdict__s   @r@   r   r      s    b !	 5.<.Z 8F<'7TC1 T 	.   %P!H  7"CE4:7-F77?
778?:'
%	7B5 
	7=7,	:
7F7$B@B?:77.	7::772< 1,@HJZ$/\~B&	#H
	 r?   c                   V   a  ] tR tRt o RR ltR tR tR tRR ltR t	RR	 lt
R
tV tR# )rF  i  Nc                    R VP                   9  d   VP                  R4      hVe$   VP                  '       g   VP                  R4      hW n        RV n        Wn        RV n        RV n        R# )r   z"Server does not support IMAP4 IDLENz%duration requires a socket connection)r   rA   r   	_duration	_deadline_imap_tag_saved_state)ra   imaprG  s   &&&r@   re   Idler.__init__  s^    *****ABB			**DEE!
	 r?   c                T   V P                   p RTn         TP                  R4      T n        TP                  4       ;p'       d|   TP                  T P                  ,          '       g   K=  TP                  P                  T P                  4      w  r4TR8X  d   TP                  RT 24      hTP                  RT 24      h T P                  e,   \        P                  ! 4       T P                  ,           T n        TP"                  T n        RTn        T #   \         d
    R Tn        h i ; i)FTr   r  zidle denied: zunexpected status response: IDLING)r#  rN   r   r!  rU   r  r$  r   rQ   r  rA   rD   rS   BaseExceptiontime	monotonicr"  rO   r%  )ra   r&  r  r   r   prompts   &     r@   r   Idler.__enter__  s   zz  "	f-DI ,,..$.''		22 $ 4 4 8 8 CICd{"jj=)?@@**'CD6%JKK >>%!^^->DN JJ
  	!&D	s   -D  D )AD D'c                   V P                   p T P                  Tn        R Tn        \        TP                  4      ;p'       dM    TP                  '       d:   TP                  P                  ^ 4      w  rgT F  pTP                  Yh4       K  	  KK   TP                  R\        ,           4       TP                  RT P                  4      w  p	w  p
 R #   \         d    T'       g   h  R # i ; i)Fs   DONEr   )r#  rN   r   r%  rO   rU   r   rT   r  r  r   r   r  r$  r_   )ra   exc_typeexc_valexc_tbr&  	leftoversr   r   datumr  msgs   &&&&       r@   r   Idler.__exit__  s    zz&&
 # D001191&&& 0044Q7	!E))#5 "	IIgn% 226499EMFES 	  	  		s   >C C(#C('C(c                    V # r   r8   rr   s   &r@   __iter__Idler.__iter__  r   r?   c                   V P                   pVP                  R 8w  d   VP                  R4      hVP                  '       d   VP                  P	                  ^ 4      p T#  Te   T^ 8:  d   T# \        T4      p TP                  T4       TP                  P	                  ^ 4      p T#   \        P                   d     Tu # i ; i)r)  z_pop() only works during IDLE)r#  rO   rA   rT   r  rN   r   floatr   r   rJ   )ra   rd   defaultr&  r  s   &&&  r@   _pop
Idler._pop  s    $ zz::!**<==''++A.DK !|GnG	w' ##''* %% 	N	s   9B( (CCc                    V P                   pV P                  f   R pM&V P                  \        P                  ! 4       ,
          pV P                  V4      w  r4V'       g    \        hW43# r   )	r#  r!  r"  r+  r,  r=  rN   r   StopIteration)ra   r&  rd   r   r   s   &    r@   __next__Idler.__next__(  sS    zz>>!Gnnt~~'77GIIg&	yr?   c              #     "   V P                   P                  '       g   V P                   P                  R 4      h \        V 4      x  T P                  TR4      ;p'       d   Tx  K   R#   \         d     R# i ; i5i)z$burst() requires a socket connectionN)r#  r   rA   nextr@  r=  )ra   intervalr   s   && r@   burstIdler.burst8  sn      zz**""#IJJ	t* ))Hd33h3N 4  		s.   8A<A* A<"A<*A95A<8A99A<)r"  r!  r#  r%  r$  r   ))rK   N)g?)r:   r;   r<   r=   re   r   r   r8  r=  rA  rF  r>   r  r  s   @r@   rF  rF    s0     
!)V$L0d  r?   rF  c                   P   a  ] tR tRt o R]3RRRR/R lltR tR]R3R ltR	tV t	R# )
	IMAP4_SSLiQ  rK   r  Nrd   c               p    Vf   \         P                  ! 4       pW0n        \        P	                  WW$4       R # r   )r  r  r  r   re   )ra   rb   rc   r  rd   s   &&&$$r@   re   IMAP4_SSL.__init__b  s*    "!88:*NN4t5r?   c                z    \         P                  W4      pV P                  P                  VV P                  R 7      # )r  )r   r   r  r  rb   )ra   rd   r   s   && r@   r   IMAP4_SSL._create_socketi  s;    ''6D##//@D		 0 K Kr?   c                2    \         P                  WW#4       R # r   )r   r[   r`   s   &&&&r@   r[   IMAP4_SSL.openn  s     JJt41r?   )r  )
r:   r;   r<   r=   IMAP4_SSL_PORTre   r   r[   r>   r  r  s   @r@   rI  rI  Q  s:     " !# 	6$(	626	6	K
 ^T 	2 	2r?   rI  c                   H   a  ] tR tRt o R tR
R ltR tR tR tR t	R	t
V tR# )r   iy  c                <    Wn         \        P                  V 4       R # r   )r  r   re   )ra   r  s   &&r@   re   IMAP4_stream.__init__  s    tr?   Nc           	     @   R V n         R V n        R V n        R V n        \        P
                  ! V P                  \        \        P                  \        P                  RRR7      V n	        V P                  P                  V n        V P                  P                  V n        R # )NT)bufsizestdinstdoutshell	close_fds)rb   rc   r   r   
subprocessPopenr  r   PIPEr   rV  	writefilerW  readfiler`   s   &&&&r@   r[   IMAP4_stream.open  sq    
 			
!'''//*//$( ++++r?   c                8    V P                   P                  V4      # r   )r^  r   )ra   r   s   &&r@   r   IMAP4_stream.read  s    }}!!$''r?   c                6    V P                   P                  4       # r   )r^  r   rr   s   &r@   r   IMAP4_stream.readline  s    }}%%''r?   c                p    V P                   P                  V4       V P                   P                  4        R # r   )r]  writeflushr   s   &&r@   r   IMAP4_stream.send  s$    T"r?   c                    V P                   P                  4        V P                  P                  4        V P                  P	                  4        R # r   )r^  r   r]  r   waitrr   s   &r@   r^   IMAP4_stream.shutdown  s2    r?   )r   r  rb   rc   r   r^  r   r]  )NNN)r:   r;   r<   r=   re   r[   r   r   r   r^   r>   r  r  s   @r@   r   r   y  s(     
, (
(
 r?   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )r   i  c                    Wn         R # r   r  )ra   mechinsts   &&r@   re   _Authenticator.__init__  s    	r?   c                p    V P                  V P                  V4      4      pVf   R# V P                  V4      # )N   *)r  r  ra  )ra   r   rets   && r@   r   _Authenticator.process  s0    iiD)*;{{3r?   c                   R p\        V\        4      '       d   VP                  R4      pV'       dU   \        V4      ^08  d   VR,          pVR,          pMTpR p\        P
                  ! V4      pV'       g   KO  W$RR ,           pK\  V# )r?   ru   :N0   N:ru  NNNr   )r_  r`  ra  r   binascii
b2a_base64)ra   inpouptes   &&   r@   ra  _Authenticator.encode  su     c3**W%C3x"}H#h##A&AqcrFl
r?   c                B    V'       g   R # \         P                  ! V4      # )r?   )rv  
a2b_base64)ra   rx  s   &&r@   r  _Authenticator.decode  s    ""3''r?   rm  N)
r:   r;   r<   r=   re   r   ra  r  r>   r  r  s   @r@   r   r     s      0( (r?   r   z0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Decr]  :r   NNc           	         \         P                  V 4      pV'       g   R # \        VP                  R4      ,          pVP                  R4      p\	        VP                  R4      4      p\	        VP                  R4      4      p\	        VP                  R4      4      p\	        VP                  R4      4      p\	        VP                  R4      4      p\	        VP                  R4      4      p	\	        VP                  R	4      4      p
V	^<,          V
,           ^<,          pVR
8X  d   V) pWRWFWxRRR3	p\
        P                  ! V4      V,
          p\        P                  ! V4      # )Nmonzonendayyearhourminseczonehzonem   -r   )	InternalDater
  Mon2numr  r  calendartimegmr+  	localtime)r  r  r  r  r  r  r  r  r  r  r  zonettutcs   &             r@   Internaldate2tupler    s    
		D	!B
"((5/
"CHHWE
bhhuo
Crxx Drxx D
bhhuo
C
bhhuo
C!"E!"E "Hub D}u
S"b"	5B
//"

$C>>#r?   c                     R pRp\        \        V 4      4      p V '       d#   \        V ^4      w  rW#V^,            V,           pK*  V# )r?   s   ABCDEFGHIJKLMNOP)r  absdivmod)numr  APmods   &   r@   r|   r|     sB     C'r
c#h-C
#r?SUmc!Jr?   c                     \         P                  V 4      pV'       g   R# \        VP                  R 4      P	                  4       4      # )r   r8   )Flagsr
  r  r  r  )r  r  s   & r@   
ParseFlagsr    s7     
T	B	'"((*++r?   c                    \        V \        \        34      '       d5   \        P                  ! V \
        P                  4      P                  4       pM\        V \        4      '       d6    V P                  p\!        VR7      p\        V R,          R\        V4      / pMl\        V \        4      '       d   V P"                  f   \%        R4      hT pM:\        V \&        4      '       d   V ^ ,          V R,          3R8X  d   V # \%        R4      hRP)                  \*        VP,                  ,          4      pVP/                  V4      #   \         d    \        P                  '       dm   T ^,          pTR8X  d2   \        P                  ! \        P                  ! T 4      4      ^,          p\        P
                  \        P                  3T,          ) p ELX\        P
                  ) p ELli ; i)	   )seconds:N   Ntzinfozdate_time must be awarezdate_time not of a known typez"%d-{}-%Y %H:%M:%S %z"r   )r  r  )r_  r  r;  r   fromtimestampr   r  
astimezoner  	tm_gmtoffr   r+  daylightr  mktimealtzoner   r  r   r`  formatMonthsmonthstrftime)r   dtgmtoffdstdeltafmts   &     r@   r   r     sh    )c5\**##I$,LL22<*, 		Iu	%	%		(((F &)y}=Xe_=	Ix	(	(#677	Is	#	#1im(D	(Q899
"
)
)&*:
;C;;s'  	(}}}l"9..Y)?@CC==$,,7<<--	(s   (D? ? G! A)G!G! G!__main__zd:s:z-dz-szIMAP password for z on 	localhostz: zJFrom: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)srS  lf
rU  
/tmp/yyz 2r   rN  r  c                     \         P                  V : R V: 24       \        \         V 4      ! V!  w  r#\         P                  V : RV: R V: 24       VR8X  d
   V^ ,          hV# )r]  r  r  )Mr   r   )cmdr   r   r   s   &&  r@   runr  }  sL    	3%&1c?D)	c3/0$;c!f
r?   zPROTOCOL_VERSION = %szCAPABILITIES = z.*"([^"]+)"$r  z%sz:(FLAGS INTERNALDATE RFC822.SIZE RFC822.HEADER RFC822.TEXT)z
All tests OK.z
Tests failed.z8
If you would like to see debugging output,
try: %s -d5
)r   r   r  r|   r  r   )	IMAP4REV1r   )r
   r  )r{   )r{   r
   r  r   )r  )r
   r8   )rK   )r  )
/tmp/xxx 1)r  )r  z/tmp/yyy)r   r  )rN  )z/tmpzyy*)r  r  )r  )NSUBJECTtest)r-  )1z(FLAGS INTERNALDATE RFC822))r  )r  FLAGSz
(\Deleted))rp  r8   )r)  r8   )r   r8   )r   r8   )r  r8   )r   )UIDVALIDITY)r  )r'   ALL)r   )r  )r   r8   )z/tmp/zyy%r   )Vr   rv  r   r}   rk   r   rZ  r   r+  r  r   r   r   ior   r  r  ImportError__all__r   rM   r  rP  r   r   r   rl   r  r  r  rn   ro   r   r  r  rq   rm   rp   r   rF  rI  r   r   r   r  r  	enumeratera  r  r  r|   r  r   r:   getoptgetpassargvoptlistr   rA   r  stream_commandoptr  rb   getuserUSERPASSWD	test_mesg	test_seq1	test_seq2r  r  rO   r   r   r   r  mlr
  r  r  pathr   r  print)nr  s   00r@   <module>r     st  0  K K K K K 2 2 "H8
 	
( 
-
,-
 	-
 	A	-

 	-
 	-
 	-
 	,-
 	,-
 	,-
 	
-
 	,-
 	-
 	-
 	,-
  	,!-
" 	,#-
$ 	,%-
& 	,'-
( 	,)-
* 	,+-
, 	--
. 	A/-
0 	,1-
2 	3-
4 	,5-
6 	A7-
8 	9-
: 		;-
< 	,=-
> 	?-
@ 	,A-
B 	,C-
D 	,E-
F 	,G-
H 	,,,Y-
b zz01


45zz   **+RXX
6
**^
$ 

DEJJGH **;RXXG "J B BJ(~ ~B #2E #2J NN;55 5r*( *(X 
<	A	A#	F&/r
&;
<&;da188:ac>&;
<F	,%R z chhrlF; NC$;HED[ N4 1  7D??D__tTEXEX[EXYZF\`fgkmqrv_wwItVn*dD)45)3,I$ !dD),-I)^,AdA77f!"I	'!*<*<<=	q~~78!HCTN " f./B/2.B"((1+4B$4'"	 0 "HCc4.CDz77b'--/CBPR S " 	 { I9  H|5 =` << Bj	   
hhqk 
 	sB   Q &#Q)*'Q/ R ER 	Q&%Q&/R RR3S