a yæ jœS ã @ sæ g d ¢Z ddlZddlZddlZddlZddlmZ ddlmZm Z ddl mZ ddlm Z dZdZe d ¡Ze d ej¡Ze d¡Ze d¡ZG d d„ dƒZG dd„ deƒZdZG dd„ deƒZeeejd ƒƒZde ZejZdS ))Ú GeneratorÚDecodedGeneratorÚBytesGeneratoré N)Údeepcopy)ÚStringIOÚBytesIO)Ú_has_surrogates)ÚHeaderWriteErrorÚ_Ú z \r\n|\r|\nz^From z\r\n[^ \t]|\r[^ \n\t]|\n[^ \t]s \r\n[^ \t]|\r[^ \n\t]|\n[^ \t]c @ s¬ e Zd Zd&ddœdd„Zdd„ Zd'dd „Zd d„ Zdd „ Zdd„ Zdd„ Z dd„ Z dd„ Zdd„ Zdd„ Z e Zdd„ Zdd„ Zdd„ Zd d!„ Zed(d"d#„ƒZed$d%„ ƒZdS ))r N©Úpolicyc C s6 |d u r|d u rdn|j }|| _|| _|| _|| _d S )NT)Úmangle_from_Ú_fpÚ _mangle_from_Úmaxheaderlenr )ÚselfÚoutfpr r r © r ú'/usr/lib64/python3.9/email/generator.pyÚ__init__' s zGenerator.__init__c C s | j |¡ d S ©N)r Úwrite©r Úsr r r r G s zGenerator.writeFc C sä | j d u r|j n| j }|d ur*|j|d}| jd urB|j| jd}|j| _| | j¡| _d| _| | j¡| _| j }|j }zX|| _ ||_ |r¸| ¡ }|s¨dt t ¡ ¡ }| || j ¡ | |¡ W || _ ||_ n|| _ ||_ 0 d S )N)Úlinesep©Zmax_line_lengthÚ zFrom nobody )r Úcloner r Ú_NLÚ_encodeÚ_encoded_NLZ_EMPTYÚ_encoded_EMPTYZget_unixfromÚtimeÚctimer Ú_write)r ÚmsgÚunixfromr r Zold_gen_policyZold_msg_policyZufromr r r ÚflattenK s0 ÿzGenerator.flattenc C s | j || jd | jdS ©Nr )Ú __class__r r )r Úfpr r r r | s ýzGenerator.clonec C s t ƒ S r )r ©r r r r Ú_new_buffer s zGenerator._new_bufferc C s |S r r r r r r r ” s zGenerator._encodec C sT |sd S t |¡}|d d… D ]}| |¡ | | j¡ q|d rP| |d ¡ d S )Néÿÿÿÿ)ÚNLCREÚsplitr r )r ÚlinesÚliner r r Ú_write_lines˜ s zGenerator._write_linesc C sÐ | j }z2d | _| ¡ | _ }| |¡ W || _ | j}| `n|| _ | j}| `0 |r”t|ƒ}| d¡d u rt|d |d<