grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ±f‡jÖØã@s0 dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z m Z m Z ddl mZzddlZdZWn eyJdZYnwgd¢ZdZdZd Zd Zd Zd Zd Zidd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“d!d“d"d“d#d“id$d“d%d“d&d“d'd“d(d“d)d“d*d“d+d“d,d“d-d“d.d“d/d“d0d“d1d“d2d“d3d“d4d“¥ddddddddd5œ¥Ze d6¡Ze d7¡Ze d8¡Ze d9ej¡Z e d:¡Z!e d;¡Z"e d<¡Z#e d=ej¡Z$d9Z%d=Z&e d>¡Z'Gd?d@„d@ƒZ(e�rGdAdB„dBe(ƒZ)e *dB¡GdCdD„dDe(ƒZ+GdEdF„dFƒZ,dG -dH¡Z.dIdJ„e/e.dKd…ƒDƒZ0dLdM„Z1dNdO„Z2dPdQ„Z3dRdS„Z4e5dTk�r–ddl6Z6ddl7Z7ze6 6ej8dKd…dU¡\Z9Z:Wne6j;�yƒZ<z dV\Z9Z:WYdZ<[ZdWk�r—e?e<ƒZ�qˆe>dXk�r¤e.*))?s.*FLAGS \((?P[^\)]*)\)sÕ.*INTERNALDATE "(?P[ 0123][0-9])-(?P[A-Z][a-z][a-z])-(?P[0-9][0-9][0-9][0-9]) (?P[0-9][0-9]):(?P[0-9][0-9]):(?P[0-9][0-9]) (?P[-+])(?P[0-9][0-9])(?P[0-9][0-9])"s.*{(?P\d+)}$s \r\n|\r|\ns%\[(?P[A-Z-]+)( (?P.*))?\]s$\* (?P[A-Z-]+)( (?P.*))?s3\* (?P\d+) (?P[A-Z-]+)( (?P.*))?s[ ]c@s˜eZdZ Gdd„deƒZGdd„deƒZGdd„deƒZdedfd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„Zdedfdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Z d;d<„Z!d=d>„Z"d?d@„Z#dAdB„Z$dCdD„Z%dEdF„Z&dGdH„Z'd¥dKdL„Z(dMdN„Z)dOdP„Z*dQdR„Z+dSdT„Z,d¥dUdV„Z-dWdX„Z.dYdZ„Z/d[d\„Z0d]d^„Z1d_d`„Z2dadb„Z3dcdd„Z4d¦dgdh„Z5didj„Z6dkdl„Z7dmdn„Z8dodp„Z9d§dqdr„Z:dsdt„Z;dudv„Zd{d|„Z?d}d~„Z@dd€„ZAd�d‚„ZBdƒd„„ZCd…d†„ZDd‡dˆ„ZEd‰dŠ„ZFd‹dŒ„ZGd�dŽ„ZHd¨d�d�„ZId‘d’„ZJd“d”„ZKd•d–„ZLd—d˜„ZMd™dš„ZNd›dœ„ZOdS)©rc@ó eZdZdS)z IMAP4.errorN©Ú__name__Ú __module__Ú __qualname__©r?r?ú./opt/alt/python310/lib64/python3.10/imaplib.pyÚerror¾ó rAc@r:)z IMAP4.abortNr;r?r?r?r@Úabort¿rBrCc@r:)zIMAP4.readonlyNr;r?r?r?r@ÚreadonlyÀrBrDÚNc CsŠt|_d|_d|_i|_i|_d|_d|_d|_d|_ |  ¡|  |||¡z|  ¡WdSt yDz| ¡W‚tyCY‚ww)NrrEFr)ÚDebugÚdebugÚstateÚliteralÚtagged_commandsÚuntagged_responsesÚcontinuation_responseÚ is_readonlyÚtagnumÚ_tls_establishedÚ _mode_asciiÚopenÚ_connectÚ ExceptionÚshutdownÚOSError©ÚselfÚhostÚportÚtimeoutr?r?r@Ú__init__Âs,   þþýzIMAP4.__init__cCs0d|_d|_t ttj¡|_t ttj¡|_dS)NFÚascii) Ú utf8_enabledÚ _encodingÚreÚcompileÚ_LiteralÚASCIIÚLiteralÚ_Untagged_statusÚUntagged_status©rWr?r?r@rPÛszIMAP4._mode_asciicCs(d|_d|_t t¡|_t t¡|_dS)NTúutf-8)r]r^r_r`rarcrdrerfr?r?r@Ú _mode_utf8âs zIMAP4._mode_utf8cCsœtt dd¡ƒ|_t d|jdtj¡|_ | ¡|_d |jvr%d |_nd |jvr.d|_n| |j¡‚| ¡ tD] }||jvrCq;||_dS| d¡‚)Niiÿÿs(?Ps"\d+) (?P[A-Z]+) (?P.*)Fé rézimaplib version %sznew IMAP4 connection, tag=%sZPREAUTHrÚOKrézCAPABILITIES: %rzserver not IMAP4 compliant)r ÚrandomZrandintÚtagprer_r`rbÚtagreÚ _cmd_log_lenÚ _cmd_log_idxÚ_cmd_logrGÚ_mesgÚ __version__Ú _get_responseZwelcomerKrHrAÚ_get_capabilitiesÚ capabilitiesÚAllowedVersionsÚPROTOCOL_VERSION)rWÚversionr?r?r@rRés.ÿþþ      zIMAP4._connectcCs"|tvr t|| ¡ƒStd|ƒ‚)NzUnknown IMAP4 command: '%s')ÚCommandsÚgetattrÚlowerÚAttributeError)rWÚattrr?r?r@Ú __getattr__s zIMAP4.__getattr__cCs|S©Nr?rfr?r?r@Ú __enter__szIMAP4.__enter__cGs2|jdkrdSz| ¡WdStyYdSw©Nr)rHÚlogoutrU)rWÚargsr?r?r@Ú__exit__s  ÿzIMAP4.__exit__cCs`|dur |s tdƒ‚|jsdn|j}t d||j|j¡||jf}|dur+t ||¡St |¡S)Nz0Non-blocking socket (timeout=0) is not supportedz imaplib.open)Ú ValueErrorrXÚsysÚauditrYÚsocketZcreate_connection)rWrZrXZaddressr?r?r@Ú_create_socket)s    zIMAP4._create_socketcCs, ||_||_| |¡|_|j d¡|_dS)NÚrb)rXrYr‹ÚsockÚmakefileÚfilerVr?r?r@rQ6s  z IMAP4.opencCsj t|tƒ}|j |¡}||kr3t|ƒ|kr3t|||ƒ}||j |¡7}||7}||kr3t|ƒ|ks|Sr�)ÚminÚ_SAFE_BUF_SIZEr�ÚreadÚlen)rWÚsizeZcursizeÚdataÚdeltar?r?r@r’Bs  ýz IMAP4.readcCs0 |j td¡}t|ƒtkr| dt¡‚|S)Nrjzgot more than %d bytes)r�ÚreadlineÚ_MAXLINEr“rA©rWÚliner?r?r@r—Ms  zIMAP4.readlinecCs t d||¡|j |¡dS)Nz imaplib.send)rˆr‰r�Zsendall©rWr•r?r?r@ÚsendUsz IMAP4.sendc Cs� |j ¡z;z |j tj¡Wn!ty1}z|jtjkr't |ddƒdkr'‚WYd}~n d}~wwW|j ¡dSW|j ¡dS|j ¡w)NZwinerrorri&') r�Úcloser�rTrŠZ SHUT_RDWRrUÚerrnoZENOTCONNr|)rWÚexcr?r?r@rT[s  €úÿ €zIMAP4.shutdowncCs |jSr�)r�rfr?r?r@rŠksz IMAP4.socketcCsD d}| ddg|¡\}}|dr||fS| ¡\}}| |||¡S)NZRECENTrkéÿÿÿÿ)Ú_untagged_responseÚnoop©rWÚnameÚtypÚdatr?r?r@Úrecentws z IMAP4.recentcCs | |dg| ¡¡Sr�)r¡Úupper)rWÚcoder?r?r@ÚresponseˆszIMAP4.responsecCsz d}|sd}|r|d|dfdkrd|}nd}|r!t|ƒ}nd}t t|¡}|jr2d|d}||_| ||||¡S) NrÚINBOXrr ©ú(ú)ú(%s)sUTF8 (ó))r ÚMapCRLFÚsubÚCRLFr]rIÚ_simple_command)rWÚmailboxÚflagsÚ date_timeÚmessager¤rIr?r?r@Úappend–s"€   z IMAP4.appendcCsR | ¡}t|ƒj|_| d|¡\}}|dkr"| |d dd¡¡‚d|_||fS)Nrrkr rgÚreplacer)r¨Ú_AuthenticatorÚprocessrIr´rAÚdecoderH)rWZ mechanismZ authobjectÚmechr¥r¦r?r?r@Ú authenticate°s zIMAP4.authenticatecCó" d}| |¡\}}| |||¡S)Nr©r´r¡r£r?r?r@Ú capabilityÍszIMAP4.capabilitycCs | d¡S)Nr©r´rfr?r?r@ÚcheckÖs z IMAP4.checkcCó* z| d¡\}}Wd|_||fSd|_w)Nrr©r´rH©rWr¥r¦r?r?r@r�Þs ÿz IMAP4.closecCó | d||¡S)NrrÃ)rWÚ message_setZ new_mailboxr?r?r@Úcopyíóz IMAP4.copycCó | d|¡S)NrrérWrµr?r?r@Úcreateõó z IMAP4.createcCrÌ)NrrÃrÍr?r?r@ÚdeleteýrÏz IMAP4.deletecCrÈ)NrrÃ)rWrµÚwhor?r?r@Ú deleteaclrËzIMAP4.deleteaclcCsJ d|jvr t d¡‚| d|¡\}}|dkr!d| ¡vr!| ¡||fS)NrzServer does not support ENABLErkz UTF8=ACCEPT)rwrrAr´r¨rh)rWrÂr¥r•r?r?r@Úenable s  z IMAP4.enablecCrÀ)NrrÁr£r?r?r@Úexpungesz IMAP4.expungecCó& d}| |||¡\}}| |||¡S)NrrÁ)rWrÉZ message_partsr¤r¥r¦r?r?r@Úfetch%s z IMAP4.fetchcCó | d|¡\}}| ||d¡S)NrZACLrÁ©rWrµr¥r¦r?r?r@Úgetacl4óz IMAP4.getaclcCs$ | d|||¡\}}| ||d¡S)Nr Ú ANNOTATIONrÁ)rWrµÚentryZ attributer¥r¦r?r?r@Ú getannotation=szIMAP4.getannotationcCr×)Nr!ÚQUOTArÁ)rWÚrootr¥r¦r?r?r@ÚgetquotaEszIMAP4.getquotacCsB | d|¡\}}| ||d¡\}}| ||d¡\}}|||gfS)Nr"rÞZ QUOTAROOTrÁ)rWrµr¥r¦ZquotaZ quotarootr?r?r@Ú getquotarootPs  zIMAP4.getquotarootú""Ú*cCrÕ)Nr$rÁ©rWZ directoryÚpatternr¤r¥r¦r?r?r@Úlist[óz IMAP4.listcCs> | d|| |¡¡\}}|dkr| |d¡‚d|_||fS)Nr%rkr r)r´Ú_quoterArH)rWÚuserÚpasswordr¥r¦r?r?r@Úlogings z IMAP4.logincCs |||_|_| d|j¡S)NzCRAM-MD5)rérêr¿Ú_CRAM_MD5_AUTH)rWrérêr?r?r@Úlogin_cram_md5uszIMAP4.login_cram_md5cCsD ddl}t|jtƒr|j d¡n|j}|jd| ||d¡ ¡S)Nrrgú Zmd5)ÚhmacÚ isinstancerêÚstrÚencoderéZHMACZ hexdigest)rWZ challengerïÚpwdr?r?r@rì~s ÿzIMAP4._CRAM_MD5_AUTHcCs& d|_| d¡\}}| ¡||fSrƒ)rHr´rTrÇr?r?r@r„†s z IMAP4.logoutcCrÕ)Nr&rÁrär?r?r@Úlsub“rçz IMAP4.lsubcCs | d|¡\}}| ||d¡S)Nr#rÁrØr?r?r@ÚmyrightsžrÚzIMAP4.myrightscCrÀ)Nr'rÁr£r?r?r@Ú namespace¦szIMAP4.namespacecCs | d¡S)NFrlr()rGÚ_dump_urrKr´rfr?r?r@r¢°s z IMAP4.noopcCs* d}| |||||¡\}}| ||d¡S)Nr)rrÁ)rWZ message_numZ message_partÚstartZlengthr¤r¥r¦r?r?r@Úpartial»sz IMAP4.partialcCs d}| d|¡S)Nr*rÃ)rWrér¤r?r?r@Ú proxyauthÇs zIMAP4.proxyauthcCrÈ)Nr+rÃ)rWZ oldmailboxZ newmailboxr?r?r@ÚrenameÔrËz IMAP4.renamecGsZ d}|r|jr t d¡‚|j|d|g|¢RŽ\}}n |j|g|¢RŽ\}}| |||¡S)Nr,z'Non-None charset not valid in UTF8 modeÚCHARSET)r]rrAr´r¡)rWÚcharsetZcriteriar¤r¥r¦r?r?r@ÚsearchÜs z IMAP4.searchr«FcCsz i|_||_|r d}nd}| ||¡\}}|dkr!d|_||fSd|_d|jvr3|s3 | d |¡‚||j d dg¡fS) Nrr-rkrrú READ-ONLYFrjz%s is not writableÚEXISTS)rKrMr´rHrGr÷rDÚget)rWrµrDr¤r¥r¦r?r?r@Úselectîs"  ÿz IMAP4.selectcCs | d|||¡S)Nr.rÃ)rWrµrÑZwhatr?r?r@Úsetaclsz IMAP4.setaclcGs& |jdg|¢RŽ\}}| ||d¡S)Nr/rÛrÁ)rWr…r¥r¦r?r?r@Ú setannotationszIMAP4.setannotationcCs" | d||¡\}}| ||d¡S)Nr0rÞrÁ)rWrßZlimitsr¥r¦r?r?r@ÚsetquotaszIMAP4.setquotacGsJ d}|d|dfdkrd|}|j|||g|¢RŽ\}}| |||¡S)Nr1rr r¬r¯rÁ)rWZ sort_criteriarýÚsearch_criteriar¤r¥r¦r?r?r@Úsort's z IMAP4.sortcCs¦d}ts | d¡‚|jr| d¡‚||jvr| d¡‚|dur#t ¡}| |¡\}}|dkrG|j|j |j d�|_ |j   d¡|_ d|_|  ¡n| d ¡‚| |||¡S) Nr2zSSL support missingzTLS session already establishedzTLS not supported by serverrk©Zserver_hostnamerŒTzCouldn't establish TLS session)ÚHAVE_SSLrArOrCrwÚsslÚ_create_stdlib_contextr´Ú wrap_socketr�rXrŽr�rvr¡)rWÚ ssl_contextr¤r¥r¦r?r?r@Ústarttls5s&    ÿ  zIMAP4.starttlscCrÕ)Nr3rÁ)rWrµÚnamesr¤r¥r¦r?r?r@ÚstatusLsz IMAP4.statuscCs@ |d|dfdkrd|}| d|||¡\}}| ||d¡S)Nrr r¬r¯r4rrÁ)rWrÉÚcommandr¶r¥r¦r?r?r@ÚstoreXs z IMAP4.storecCrÌ)Nr5rÃrÍr?r?r@Ú subscribecrÏzIMAP4.subscribecGs. d}|j|||g|¢RŽ\}}| |||¡S)Nr6rÁ)rWZthreading_algorithmrýrr¤r¥r¦r?r?r@Úthreadksz IMAP4.threadc GsŠ | ¡}|tvr| d|¡‚|jt|vr'| d||jd t|¡f¡‚d}|j||g|¢RŽ\}}|dvr<|}nd}| |||¡S)NzUnknown IMAP4 UID command: %sú9command %s illegal in state %s, only allowed in states %sú, r7)r,r1r6r)r¨r{rArHÚjoinr´r¡)rWrr…r¤r¥r¦r?r?r@Úuidus  ÿþz IMAP4.uidcCrÌ)Nr8rÃrÍr?r?r@Ú unsubscribeŽrÏzIMAP4.unsubscribecCrÅ)Nr9rrÆ)rWr¥r•r?r?r@Úunselect–s ÿzIMAP4.unselectcGs0 | ¡}|tvr|jft|<|j|g|¢RŽSr�)r¨r{rHr´©rWr¤r…r?r?r@Úxatom¦s   z IMAP4.xatomcCs<|durd}|j} ||vr|| |¡dS|g||<dS©Nó)rKrGrsr“rr¹)rWr¥r¦Zurr?r?r@Ú_append_untagged¼szIMAP4._append_untaggedcCs,|j d¡}|r| |d |jd¡¡‚dS)NÚBYEr rº)rKrrCr½r^)rWÚbyer?r?r@Ú _check_byeÊs ÿzIMAP4._check_byec GsÞ|jt|vrd|_| d||jd t|¡f¡‚dD] }||jvr'|j|=qd|jvr5|js5| d¡‚| ¡}t ||j ƒ}|d|}|D]!}|durNqGt |t ƒrYt ||j ƒ}t  |¡rbtdƒ‚|d|}qG|j}|dur�d|_t|ƒt|jƒur|}nd}|t dt|ƒ|j ƒ} z | |t¡Wntyª} z| d | ¡‚d} ~ ww|dur±|S | ¡rÁ|j|r½|S| ¡s¶|rÈ||jƒ} z | |¡| t¡Wntyè} z| d | ¡‚d} ~ ww|sî |Sq²) Nrr©rkÚNOÚBADrÿz#mailbox status changed to READ-ONLYó z&NUL, CR and LF not allowed in commandsz {%s}Féz> %rzsocket error: %s)rHr{rIrArrKrMrDÚ_new_tagÚbytesr^rðrñÚ_control_charsrþr‡ÚtypeÚ_commandr“rGrsÚ_logrœr³rUrCrurJrL) rWr¤r…r¥Útagr•ÚargrIZ literatorÚvalr?r?r@r,Ðsx ÿþ € ÿ       €ÿ þ  €ÿçzIMAP4._commandc Cs²|dk}|s | ¡z |j||d�\}}Wn+|jy+}z | d||f¡‚d}~w|jy@}z | d||f¡‚d}~ww|sG| ¡|dkrU| d|||f¡‚||fS)Nr)Ú expect_byezcommand: %s => %sr%z%s command error: %s %s)r"Ú_get_tagged_responserCrA)rWr¤r.r„r¥r•r0r?r?r@Ú_command_completes"€€ÿzIMAP4._command_completecCsJ| ¡\}}|dgkr| d¡‚t|d|jƒ}| ¡}t| ¡ƒ|_dS)Nz"no CAPABILITY response from serverr )rÂrArñr^r¨ÚtupleÚsplitrwrÇr?r?r@rv1s   zIMAP4._get_capabilitiescCs²| ¡}| |j|¡r8|j d¡}||jvr| d|¡‚|j d¡}t||jƒ}|j d¡}||gf|j|<n~d}| t |¡sM| |j |¡rM|j d¡}|jdurh| t |¡ra|j d¡|_ dS| d|¡‚|j d¡}t||jƒ}|j d¡}|dur€d}|rˆ|d|}| |j |¡r°t|j d ¡ƒ} | |¡}| |||f¡| ¡}| |j |¡s�| ||¡|d vrÖ| t|¡rÖ|j d¡}t||jƒ}| ||j d¡¡ |S)Nr.zunexpected tagged response: %rr+r•Zdata2zunexpected response: %rrr&r”Fr'zread literal size %sr#)Ú _get_lineÚ_matchroÚmoÚgrouprJrCrñr^ÚUntagged_responsereÚ ContinuationrLrcÚintrGrsr’rÚ Response_code)rWÚrespr.r¥r¦Zdat2r”r•r?r?r@ru:sJ              ð   zIMAP4._get_responsec Cs| |j|}|dur|j|=|S|r#d}|j |d¡}|dur#||fS| ¡z| ¡Wn|jy<}z ‚d}~wwq)Nrjr )rJrKÚpopr"rurCrGÚ print_log)rWr.r1Úresultr¥r!r0r?r?r@r2Šs&  €üèzIMAP4._get_tagged_responsecCs@| ¡}|s | d¡‚| d¡s| d|¡‚|dd…} |S)Nzsocket error: EOFr z#socket error: unterminated line: %réþÿÿÿ)r—rCÚendswithrGrsr-r™r?r?r@r6«s   zIMAP4._get_linecCs| |¡|_ |jduSr�)Úmatchr8rGrsråÚgroups)rWZcreÚsr?r?r@r7¾s  z IMAP4._matchcCs2|jtt|jƒ|jƒ}|jd|_d|j|<|S)Nrj)rnr)rñrNr^rJ)rWr.r?r?r@r(Ês  zIMAP4._new_tagcCs$| dd¡}| dd¡}d|dS)Nú\z\\ú"z\")rº)rWr/r?r?r@rèÒs   z IMAP4._quotecGs| ||j|g|¢RŽ¡Sr�)r3r,rr?r?r@r´ÚszIMAP4._simple_commandcCs:|dkr||fS||jvr|dgfS|j |¡} ||fS)Nr$)rKr?rGrs)rWr¥r¦r¤r•r?r?r@r¡ßs   zIMAP4._untagged_responsecCsN|durt ¡}t dt |¡¡}tj d||dd|f¡tj ¡dS)Nz%M:%Sz %s.%02d %s éd)ÚtimeÚstrftimeÚ localtimerˆÚstderrÚwriteÚflush)rWrFZsecsZtmr?r?r@rsís z IMAP4._mesgcCs2|sdSdd„| ¡Dƒ}| dd |¡¡dS)Ncss"�|] \}}|›d|›�VqdS)z: Nr?)Ú.0ÚkeyÚvaluer?r?r@Ú ÷s€ÿz!IMAP4._dump_ur..zuntagged responses dump:z )Úitemsrsr)rWZuntagged_resp_dictrTr?r?r@r÷ôs ÿzIMAP4._dump_urcCs<|t ¡f|j|j<|jd7_|j|jkrd|_dSdS)Nrjr)rJrrrqrpr™r?r?r@r-ûs   ÿz IMAP4._logcCsn| dt|jƒ¡|j|j}}|r5z |j|j|ŽWnY|d7}||jkr-d}|d8}|sdSdS)Nzlast %d IMAP4 interactions:rjr)rsr“rrrqrp)rWÚiÚnr?r?r@r@s  øzIMAP4.print_log)rârã)r«Fr�)F)Tr<r=r>rSrArCrDÚ IMAP4_PORTr[rPrhrRr€r‚r†r‹rQr’r—rœrTrŠ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¢rùrúrûrþrrrrrrrrrrrrrrrr"r,r3rvrur2r6r7r(rèr´r¡rsr÷r-r@r?r?r?r@r�sœ/*                       O P!  rc@s<eZdZ deddddfdd„Zdd„Zdedfdd„ZdS) Ú IMAP4_SSLrENcCs’|dur |dur tdƒ‚|dur|durtdƒ‚|dus |dur+ddl}| dtd¡||_||_|durÚIMAP4_SSL_PORTr[r‹rQr?r?r?r@rXs ÿrXc@s@eZdZ dd„Zddd„Zdd„Zdd „Zd d „Zd d „ZdS)rcCs||_t |¡dSr�)rrr[)rWrr?r?r@r[WszIMAP4_stream.__init__NcCsP d|_d|_d|_d|_tj|jttjtjddd�|_ |j j |_ |j j |_ dS)NT)ÚbufsizeÚstdinÚstdoutÚshellZ close_fds)rXrYr�r�Ú subprocessÚPopenrrÚPIPEr¼raÚ writefilerbÚreadfilerVr?r?r@rQ\sý zIMAP4_stream.opencCs |j |¡Sr�)rhr’)rWr”r?r?r@r’ls zIMAP4_stream.readcCs |j ¡Sr�)rhr—rfr?r?r@r—qs zIMAP4_stream.readlinecCs |j |¡|j ¡dSr�)rgrNrOr›r?r?r@rœvs zIMAP4_stream.sendcCs$ |j ¡|j ¡|j ¡dSr�)rhr�rgr¼Úwaitrfr?r?r@rT|s  zIMAP4_stream.shutdown)NNN) r<r=r>r[rQr’r—rœrTr?r?r?r@rKs  rc@s.eZdZ dd„Zdd„Zdd„Zdd„Zd S) r»cCs ||_dSr�)r¾)rWZmechinstr?r?r@r[Šs z_Authenticator.__init__cCs&| | |¡¡}|durdS| |¡S)Nó*)r¾r½rò)rWr•Zretr?r?r@r¼�s z_Authenticator.processcCspd}t|tƒr | d¡}|r6t|ƒdkr!|dd…}|dd…}n|}d}t |¡}|r4||dd…}|s|S)Nrrgé0r )rðrñròr“ÚbinasciiZ b2a_base64)rWÚinpZoupÚtÚer?r?r@rò“s     ÷ z_Authenticator.encodecCs|sdSt |¡Sr)rlZ a2b_base64)rWrmr?r?r@r½«s z_Authenticator.decodeN)r<r=r>r[r¼ròr½r?r?r?r@r»„s  r»z0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov DecrîcCsi|] \}}| ¡|d“qS)rj)rò)rPrVrFr?r?r@Ú ±srprjc CsÚ t |¡}|s dSt| d¡}| d¡}t| d¡ƒ}t| d¡ƒ}t| d¡ƒ}t| d¡ƒ}t| d¡ƒ}t| d¡ƒ} t| d ¡ƒ} | d | d } |d krV| } ||||||d d d f } t | ¡| } t | ¡S) NÚmonÚzonenÚdayÚyearÚhourr�ÚsecÚzonehÚzonemé<ó-r ) Ú InternalDaterDÚMon2numr9r<ÚcalendarZtimegmrJrL)r>r8rqrrrsrtrur�rvrwrxZzoneZttÚutcr?r?r@r³s&   rcCsD d}d}tt|ƒƒ}|r t|dƒ\}}|||d…|}|s |S)NrsABCDEFGHIJKLMNOPérj)r<ÚabsÚdivmod)Znumr0ZAPÚmodr?r?r@r Ös þr cCs& t |¡}|s dSt| d¡ ¡ƒS)Nr?r¶)ÚFlagsrDr4r9r5)r>r8r?r?r@r ãs  r cCs t|ttfƒrt |tj¡ ¡}npt|tƒr\z|j }Wn,t yHt j rB|d}|dkr8t   t  |¡¡d}t jt jf| }nt j }Ynwt|d�}t|dd…dt|ƒiŽ}n&t|tƒrm|jdurjtdƒ‚|}nt|tƒr~|d|dfdkr~|Std ƒ‚d  t|j¡}| |¡S) Nér )ZsecondséÚtzinfozdate_time must be awarer)rHrHzdate_time not of a known typez"%d-{}-%Y %H:%M:%S %z")rðr<ÚfloatrZ fromtimestamprr~Z astimezoner4Ú tm_gmtoffr~rJÚdaylightrLÚmktimeÚaltzonerr†r‡rñÚformatÚMonthsZmonthrK)r·ZdtZgmtoffZdstr–Zfmtr?r?r@r îs< ÿÿ   €ù    r Ú__main__zd:s:)r?r?z-dz-s)rEzIMAP password for %s on %s: Z localhostzJFrom: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)sÚ )réZlfrë)rÎ)ú /tmp/xxx 1)rû)r�z/tmp/yyy)r©ú /tmp/yyz 2r¹r’)ræ)z/tmpzyy*)rr‘)rþ)NZSUBJECTÚtest)rÖ)Ú1z(FLAGS INTERNALDATE RFC822))r)r”ÚFLAGSz (\Deleted))rör?)rÔr?)r§r?)r�r?)rr?)rª)Z UIDVALIDITY)r)r,ZALL)rª)r)r„r?cCsLt d||f¡tt|ƒ|Ž\}}t d|||f¡|dkr$|d‚|S)Nz%s %sz %s => %s %sr$r)ÚMrsr|)Úcmdr…r¥r¦r?r?r@ÚrunOs r˜rzPROTOCOL_VERSION = %szCAPABILITIES = %rræ)z/tmp/zyy%z .*"([^"]+)"$r rÐrz%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 )Vrtrlržrmr_rŠrdrˆrJr}rrrÚiorr r Ú ImportErrorÚ__all__r³rFrWr_rxr˜r‘r{r`r;rƒr{rbrcr±r=r:rerardr*rrXr¹rr»r5r�Ú enumerater|rr r r r<ZgetoptZgetpassÚargvZoptlistr…rAr0Zstream_commandÚoptr<rXZgetuserZUSERZPASSWDZ test_mesgZ test_seq1Z test_seq2r˜r–rHrsryrwr—ZmlrDr8r9Úpathr¦rÚprintr?r?r?r@Ús¢H  ÿ þýüûúùø ÷ ö õ ô óòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Õ 0    ÿ   69 ,#  )€ÿ     €  òù            ÿý˜