Ë *aÍO'Õ�ãóB—dZgd¢ZddlZddlmZd„Zd d„Zd d„Zd d„Zy) z1Various types of useful iterators and generators.)Úbody_line_iteratorÚtyped_subpart_iteratorÚwalkéN)ÚStringIOc#ó”K—|–—|j«r.|j«D]}|j«Ed{–—†Œyy7Œ­w)z‰Walk over the message tree, yielding each subpart. The walk is performed in depth-first order. This method is a generator. N)Ú is_multipartÚ get_payloadr)ÚselfÚsubparts ú&/usr/lib/python3.12/email/iterators.pyrrsCèø€ð ‚JØ ×ÑÔØ×'Ñ'Ö)ˆGØ—|‘|“~× %Ñ %ñ*ðà %ús‚;A½A¾ Ac#ó¦K—|j«D]8}|j|¬«}t|t«sŒ&t |«Ed{–—†Œ:y7Œ­w)zŽIterate over the parts, returning string payloads line-by-line. Optional decode (default False) is passed through to .get_payload(). )ÚdecodeN)rr Ú isinstanceÚstrr)Úmsgrr Úpayloads r rr sHèø€ð —8‘8–:ˆØ×%Ñ%¨VÐ%Ó4ˆÜ �gœsÕ #Ü Ó(× (Ñ (ñð )ús‚6A¹AÁAÁAc#ó’K—|j«D]0}|j«|k(sŒ|�|j«|k(sŒ-|–—Œ2y­w)zøIterate over the subparts with a given MIME type. Use `maintype' as the main MIME type to match against; this defaults to "text". Optional `subtype' is the MIME subtype to match against; if omitted, only the main type is matched. N)rÚget_content_maintypeÚget_content_subtype)rÚmaintypeÚsubtyper s r rr+sCèø€ð—8‘8–:ˆØ × 'Ñ 'Ó )¨XÓ 5؈ '×"=Ñ"=Ó"?À7Ó"JØ“ ñùs‚'AªAÁAcó>—|€tj}d|dzz}t||j«zd|¬«|rtd|j «z|¬«n t|¬«|j «r'|j «D]}t|||dz|«Œyy) zA handy debugging aidNÚ éÚ)ÚendÚfilez [%s])ré)ÚsysÚstdoutÚprintÚget_content_typeÚget_default_typerr Ú _structure)rÚfpÚlevelÚinclude_defaultÚtabr s r r$r$8sŽ€à €zÜ �Z‰ZˆØ �˜‘Ñ €CÜ ˆ#�×$Ñ$Ó&Ñ &¨B°RÕ8ÙÜ ˆg˜×,Ñ,Ó.Ñ.°RÖ8ä �2�Ø ×ÑÔØ—‘Ö(ˆGÜ �w  E¨!¡G¨_Õ =ñ)ðó)F)ÚtextN)NrF) Ú__doc__Ú__all__rÚiorrrrr$©r)r Úr/s-ðñ 8ò €ó Ýò &ó)ó ô >r)