PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3 \W@sLdZdddgZddlZddlmZddZdd dZdd dZdd d ZdS)z1Various types of useful iterators and generators.body_line_iteratortyped_subpart_iteratorwalkN)StringIOccs2|V|jr.x|jD]}|jEdHqWdS)zWalk 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)selfsubpartr !/usr/lib64/python3.6/iterators.pyrsFccs:x4|jD](}|j|d}t|tr t|EdHq WdS)zIterate over the parts, returning string payloads line-by-line. Optional decode (default False) is passed through to .get_payload(). )decodeN)rr isinstancestrr)msgr r Zpayloadr r r r"s  textccs<x6|jD]*}|j|kr |dks.|j|kr |Vq WdS)zIterate 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)rZget_content_maintypeZget_content_subtype)rZmaintypesubtyper r r r r-s cCs|dkrtj}d|d}t||jd|d|rJtd|j|dn t|d|jrx"|jD]}t|||d|qfWdS) zA handy debugging aidN )endfilez [%s])r)sysstdoutprintZget_content_typeZget_default_typerr _structure)rfplevelZinclude_defaultZtabr r r r r;s  r)F)rN)NrF) __doc____all__riorrrrrr r r r s