/opt/alt/python311/lib64/python3.11/email/__pycache__
NameSizeModeActions
base64mime.cpython-311.opt-1.pyc43650644editdlrm
base64mime.cpython-311.opt-2.pyc26140644editdlrm
base64mime.cpython-311.pyc43650644editdlrm
charset.cpython-311.opt-1.pyc159740644editdlrm
charset.cpython-311.opt-2.pyc97030644editdlrm
charset.cpython-311.pyc160350644editdlrm
contentmanager.cpython-311.opt-1.pyc138440644editdlrm
contentmanager.cpython-311.opt-2.pyc138440644editdlrm
contentmanager.cpython-311.pyc138440644editdlrm
encoders.cpython-311.opt-1.pyc24000644editdlrm
encoders.cpython-311.opt-2.pyc20710644editdlrm
encoders.cpython-311.pyc24000644editdlrm
errors.cpython-311.opt-1.pyc86780644editdlrm
errors.cpython-311.opt-2.pyc70830644editdlrm
errors.cpython-311.pyc86780644editdlrm
feedparser.cpython-311.opt-1.pyc213070644editdlrm
feedparser.cpython-311.opt-2.pyc196660644editdlrm
feedparser.cpython-311.pyc215070644editdlrm
generator.cpython-311.opt-1.pyc230250644editdlrm
generator.cpython-311.opt-2.pyc193500644editdlrm
generator.cpython-311.pyc230250644editdlrm
header.cpython-311.opt-1.pyc269900644editdlrm
header.cpython-311.opt-2.pyc214130644editdlrm
header.cpython-311.pyc269900644editdlrm
headerregistry.cpython-311.opt-1.pyc337000644editdlrm
headerregistry.cpython-311.opt-2.pyc281060644editdlrm
headerregistry.cpython-311.pyc337660644editdlrm
iterators.cpython-311.opt-1.pyc31770644editdlrm
iterators.cpython-311.opt-2.pyc25840644editdlrm
iterators.cpython-311.pyc31770644editdlrm
message.cpython-311.opt-1.pyc590690644editdlrm
message.cpython-311.opt-2.pyc427820644editdlrm
message.cpython-311.pyc590690644editdlrm
parser.cpython-311.opt-1.pyc73980644editdlrm
parser.cpython-311.opt-2.pyc44260644editdlrm
parser.cpython-311.pyc73980644editdlrm
policy.cpython-311.opt-1.pyc125560644editdlrm
policy.cpython-311.opt-2.pyc63810644editdlrm
policy.cpython-311.pyc125560644editdlrm
quoprimime.cpython-311.opt-1.pyc112510644editdlrm
quoprimime.cpython-311.opt-2.pyc78390644editdlrm
quoprimime.cpython-311.pyc112510644editdlrm
utils.cpython-311.opt-1.pyc193250644editdlrm
utils.cpython-311.opt-2.pyc157840644editdlrm
utils.cpython-311.pyc193250644editdlrm
_encoded_words.cpython-311.opt-1.pyc91310644editdlrm
_encoded_words.cpython-311.opt-2.pyc72580644editdlrm
_encoded_words.cpython-311.pyc91310644editdlrm
_header_value_parser.cpython-311.opt-1.pyc1515610644editdlrm
_header_value_parser.cpython-311.opt-2.pyc1349570644editdlrm
_header_value_parser.cpython-311.pyc1516470644editdlrm
_parseaddr.cpython-311.opt-1.pyc243140644editdlrm
_parseaddr.cpython-311.opt-2.pyc214610644editdlrm
_parseaddr.cpython-311.pyc243140644editdlrm
_policybase.cpython-311.opt-1.pyc197150644editdlrm
_policybase.cpython-311.opt-2.pyc105680644editdlrm
_policybase.cpython-311.pyc197150644editdlrm
__init__.cpython-311.opt-1.pyc21240644editdlrm
__init__.cpython-311.opt-2.pyc15280644editdlrm
__init__.cpython-311.pyc21240644editdlrm
Edit: /opt/alt/python311/lib64/python3.11/email/__pycache__/headerregistry.cpython-311.pyc (33766B)
§ Ñb;ë€qãóš—dZddlmZddlmZddlmZddlmZGd„d¦«ZGd„d ¦«Z Gd „d e ¦«Z d „Z Gd „d¦«Z Gd„de ¦«ZGd„d¦«ZGd„de¦«ZGd„d¦«ZGd„de¦«ZGd„de¦«ZGd„de¦«ZGd„d¦«ZGd„d ¦«ZGd!„d"e¦«ZGd#„d$e¦«ZGd%„d&¦«ZGd'„d(¦«Zid)e“d*e“d+e“d,e“d-e“d.e“d/e“d0e“d1e“d2e“d3e“d4e“d5e“d6e“d7e“d8e“d9e“eeed:œ¥ZGd;„d<¦«Zd=S)>zÄRepresenting and manipulating email headers via custom objects. This module provides an implementation of the HeaderRegistry API. The implementation is designed to flexibly follow RFC5322 rules. é)ÚMappingProxyType)Úutils)Úerrors)Ú_header_value_parsercó€—eZdZd d„Zed„¦«Zed„¦«Zed„¦«Zed„¦«Zd„Z d „Z d „Z dS) ÚAddressÚNc ó’—d td||||f¦«¦«}d|vsd|vrtd¦«‚|�q|s|rtd¦«‚t j|¦«\}}|r#td ||¦«¦«‚|jr |jd‚|j}|j }||_ ||_ ||_ dS) a÷Create an object representing a full email address. An address can have a 'display_name', a 'username', and a 'domain'. In addition to specifying the username and domain separately, they may be specified together by using the addr_spec keyword *instead of* the username and domain keywords. If an addr_spec string is specified it must be properly quoted according to RFC 5322 rules; an error will be raised if it is not. An Address object has display_name, username, domain, and addr_spec attributes, all of which are read-only. The addr_spec and the string value of the object are both quoted according to RFC5322 rules, but without any Content Transfer Encoding. r Nú ú z8invalid arguments; address parts cannot contain CR or LFz=addrspec specified when username and/or domain also specifiedz6Invalid addr_spec; only '{}' could be parsed from '{}'r) ÚjoinÚfilterÚ ValueErrorÚ TypeErrorÚparserÚ get_addr_specÚformatÚ all_defectsÚ local_partÚdomainÚ _display_nameÚ _usernameÚ_domain)ÚselfÚ display_nameÚusernamerÚ addr_specÚinputsÚa_sÚrests ú;/opt/alt/python311/lib64/python3.11/email/headerregistry.pyÚ__init__zAddress.__init__sþ€ð"—’�  |°X¸vÀyÐ&QÑRÔRÑSÔSˆØ �6ˆ>ˆ>˜T V˜^˜^ÝÐWÑXÔXÐ Xð Ð Øð 9˜6ð 9Ýð!8ñ9ô9ð9åÔ,¨YÑ7Ô7‰IˆC�Øð 5Ý ð"=ß=CºVØ$'¨ñ>4ô>4ñ5ô5ð5ðŒð )Ø”o aÔ(Ð(Ø”~ˆHØ”ZˆFØ)ˆÔØ!ˆŒØˆŒ ˆ ˆ ócó—|jS©N©r©rs r!rzAddress.display_name8ó €àÔ!Ð!r#có—|jSr%)rr's r!rzAddress.username<ó €àŒ~Ðr#có—|jSr%)rr's r!rzAddress.domain@ó €àŒ|Ðr#cóª—|j}tj |¦«stj|¦«}|jr |dz|jzS|sdS|S)z“The addr_spec (username@domain) portion of the address, quoted according to RFC 5322 rules, but with no Content Transfer Encoding. ú@ú<>)rrÚ DOT_ATOM_ENDSÚ isdisjointÚ quote_stringr)rÚlps r!rzAddress.addr_specDsa€ð Œ]ˆÝÔ#×.Ò.¨rÑ2Ô2ð )ÝÔ$ RÑ(Ô(ˆBØ Œ;ð *ؘ‘8˜dœkÑ)Ð )Øð Ø�4؈ r#cód—d |jj|j|j|j¦«S)Nz1{}(display_name={!r}, username={!r}, domain={!r}))rÚ __class__Ú__name__rrrr's r!Ú__repr__zAddress.__repr__Rs3€ØB×IÒIØœÔ/ØÔ)¨4¬=¸$¼+ñGôGð Gr#cóÜ—|j}tj |¦«stj|¦«}|r*|jdkrdn|j}d ||¦«S|jS)Nr/r z{} <{}>)rrÚSPECIALSr1r2rr)rÚdisprs r!Ú__str__zAddress.__str__Wso€ØÔ ˆÝŒ×)Ò)¨$Ñ/Ô/ð -ÝÔ& tÑ,Ô,ˆDØ ð 5Ø"œn¨dÒ2Ð2˜˜¸¼ˆIØ×#Ò# D¨)Ñ4Ô4Ð 4ØŒ~Ðr#cóš—t|t¦«stS|j|jko|j|jko|j|jkSr%)Ú isinstancerÚNotImplementedrrr©rÚothers r!Ú__eq__zAddress.__eq__`sO€Ý˜%¥Ñ)Ô)ð "Ý!Ð !ØÔ! UÔ%7Ò7ð,Ø”  ¤Ò/ð,à” ˜uœ|Ò+ð -r#)r r r N) r6Ú __module__Ú __qualname__r"Úpropertyrrrrr7r;rA©r#r!rr sÅ€€€€€ð(ð(ð(ð(ðTð"ð"ñ„Xð"ðððñ„Xððððñ„Xððð ð ñ„Xð ðGðGðGð ððð-ð-ð-ð-ð-r#rcóT—eZdZdd„Zed„¦«Zed„¦«Zd„Zd„Zd„Z dS) ÚGroupNcó\—||_|rt|¦«n t¦«|_dS)aCreate an object representing an address group. An address group consists of a display_name followed by colon and a list of addresses (see Address) terminated by a semi-colon. The Group is created by specifying a display_name and a possibly empty list of Address objects. A Group can also be used to represent a single address that is not in a group, which is convenient when manipulating lists that are a combination of Groups and individual Addresses. In this case the display_name should be set to None. In particular, the string representation of a Group whose display_name is None is the same as the Address object, if there is one and only one Address object in the addresses list. N)rÚtupleÚ _addresses)rrÚ addressess r!r"zGroup.__init__js-€ð*ˆÔØ.7ÐD�%  Ñ*Ô*Ð*½U¹W¼WˆŒˆˆr#có—|jSr%r&r's r!rzGroup.display_name|r(r#có—|jSr%)rJr's r!rKzGroup.addresses€s €àŒÐr#cóX—d |jj|j|j¦«S)Nz${}(display_name={!r}, addresses={!r})rr5r6rrKr's r!r7zGroup.__repr__„s,€Ø5×<Ò<Ø”Ô(ØÔ" D¤Nñ4ô4ð 4r#cór—|j€2t|j¦«dkrt|jd¦«S|j}|�3tj |¦«st j|¦«}d d„|jD¦«¦«}|rd|zn|}d  ||¦«S)Nérú, c3ó4K—|]}t|¦«V—ŒdSr%©Ústr)Ú.0Úxs r!ú z Group.__str__..�s(èè€Ð:Ð: a�3˜q™6œ6Ð:Ð:Ð:Ð:Ð:Ð:r#ú z{}:{};) rÚlenrKrTrr9r1r2r r)rr:Úadrstrs r!r;z Group.__str__‰s¯€Ø Ô Ð $­¨T¬^Ñ)<Ô)<¸aÒ)?Ð)?Ý�t”~ aÔ(Ñ)Ô)Ð )ØÔ ˆØ Ð ¥F¤O×$>Ò$>¸tÑ$DÔ$DÐ ÝÔ& tÑ,Ô,ˆDØ—’Ð:Ð:¨4¬>Ð:Ñ:Ô:Ñ:Ô:ˆØ!'Ð3��v‘�¨VˆØ�Š˜t VÑ,Ô,Ð,r#cóz—t|t¦«stS|j|jko|j|jkSr%)r=rGr>rrKr?s r!rAz Group.__eq__“s>€Ý˜%¥Ñ'Ô'ð "Ý!Ð !ØÔ! UÔ%7Ò7ð2Ø” %¤/Ò1ð 3r#)NN) r6rBrCr"rDrrKr7r;rArEr#r!rGrGhs�€€€€€ðEðEðEðEð$ð"ð"ñ„Xð"ðððñ„Xðð4ð4ð4ð -ð-ð-ð3ð3ð3ð3ð3r#rGcól—eZdZdZd„Zd„Zed„¦«Zed„¦«Zd„Z e d„¦«Z d„Z d S) Ú BaseHeadera|Base class for message headers. Implements generic behavior and provides tools for subclasses. A subclass must define a classmethod named 'parse' that takes an unfolded value string and a dictionary as its arguments. The dictionary will contain one key, 'defects', initialized to an empty list. After the call the dictionary must contain two additional keys: parse_tree, set to the parse tree obtained from parsing the header, and 'decoded', set to the string value of the idealized representation of the data from the value. (That is, encoded words are decoded, and values that have canonical representations are so represented.) The defects key is intended to collect parsing defects, which the message parser will subsequently dispose of as appropriate. The parser should not, insofar as practical, raise any errors. Defects should be added to the list instead. The standard header parsers register defects for RFC compliance issues, for obsolete RFC syntax, and for unrecoverable parsing errors. The parse method may add additional keys to the dictionary. In this case the subclass must define an 'init' method, which will be passed the dictionary as its keyword arguments. The method should use (usually by setting them as the value of similarly named attributes) and remove all the extra keys added by its parse method, and then use super to call its parent class with the remaining arguments and keywords. The subclass should also make sure that a 'max_count' attribute is defined that is either None or 1. XXX: need to better define this API. có —dgi}| ||¦«tj|d¦«rtj|d¦«|d<t ||d¦«}|d=|j|fi|¤Ž|S)NÚdefectsÚdecoded)ÚparserÚ_has_surrogatesÚ _sanitizerTÚ__new__Úinit)ÚclsÚnameÚvalueÚkwdsrs r!rdzBaseHeader.__new__¾sŠ€Ø˜2ˆˆØ � Š �%˜ÑÔÐÝ Ô   i¤Ñ 1Ô 1ð ?Ý#œo¨d°9¬oÑ>Ô>ˆD�‰OÝ�{Š{˜3  Y¤Ñ0Ô0ˆØ �ˆO؈Œ �$ÐИ$ÐÐÐØˆ r#có0—||_||_||_dSr%)Ú_nameÚ _parse_treeÚ_defects)rrgÚ parse_treer_s r!rezBaseHeader.initÈs€ØˆŒ Ø%ˆÔ؈Œ ˆ ˆ r#có—|jSr%)rkr's r!rgzBaseHeader.nameÍs €àŒzÐr#có*—t|j¦«Sr%)rIrmr's r!r_zBaseHeader.defectsÑs€å�T”]Ñ#Ô#Ð#r#có‚—t|jj|jjt |¦«f| ¦«fSr%)Ú_reconstruct_headerr5r6Ú __bases__rTÚ __getstate__r's r!Ú __reduce__zBaseHeader.__reduce__Õs>€å à”Ô'Ø”Ô(Ý�D‘ ” ð ð × Ò Ñ Ô ð!ð !r#có8—t ||¦«Sr%)rTrd)rfrhs r!Ú _reconstructzBaseHeader._reconstructßs€å�{Š{˜3 Ñ&Ô&Ð&r#c óŽ—tjtjtj|jd¦«tjdd¦«g¦«g¦«}|jr;| tjtjdd¦«g¦«¦«| |j¦«|  |¬¦«S)atFold header according to policy. The parsed representation of the header is folded according to RFC5322 rules, as modified by the policy. If the parse tree contains surrogateescaped bytes, the bytes are CTE encoded using the charset 'unknown-8bit". Any non-ASCII characters in the parse tree are CTE encoded using charset utf-8. XXX: make this a policy setting. The returned value is an ASCII-only string possibly containing linesep characters, and ending with a linesep character. The string includes the header name and the ': ' separator. z header-nameú:z header-seprXÚfws)Úpolicy) rÚHeaderÚ HeaderLabelÚ ValueTerminalrgrlÚappendÚCFWSListÚWhiteSpaceTerminalÚfold)rr{Úheaders r!r‚zBaseHeader.foldãs¾€õ"”Ý Ô ÝÔ$ T¤Y° Ñ>Ô>ÝÔ$ S¨,Ñ7Ô7ð 9ñ :ô :ð ñôˆð Ô ð JØ �MŠMÝ”¥Ô!:¸3ÀÑ!FÔ!FÐ GÑHÔHñ Jô Jð Jà� Š �dÔ&Ñ'Ô'Ð'Ø�{Š{ &ˆ{Ñ)Ô)Ð)r#N) r6rBrCÚ__doc__rdrerDrgr_ruÚ classmethodrwr‚rEr#r!r]r]œs¬€€€€€ððð@ððð ð ð ð ððñ„Xððð$ð$ñ„Xð$ð!ð!ð!ðð'ð'ñ„[ð'ð*ð*ð*ð*ð*r#r]cóJ—t||i¦« |¦«Sr%)Útyperw)Úcls_nameÚbasesrhs r!rrrrs"€Ý �˜% Ñ $Ô $× 1Ò 1°%Ñ 8Ô 8Ð8r#cóH—eZdZdZeej¦«Zed„¦«Z dS)ÚUnstructuredHeaderNcóf—| |¦«|d<t|d¦«|d<dS)Nrnr`)Ú value_parserrT©rfrhris r!razUnstructuredHeader.parse s4€à ×-Ò-¨eÑ4Ô4ˆˆ\Ñݘd <Ô0Ñ1Ô1ˆˆY‰ˆˆr#) r6rBrCÚ max_countÚ staticmethodrÚget_unstructuredr�r…rarEr#r!r‹r‹sD€€€€€à€IØ�< Ô 7Ñ8Ô8€Làð2ð2ñ„[ð2ð2ð2r#r‹có—eZdZdZdS)ÚUniqueUnstructuredHeaderrPN©r6rBrCr�rEr#r!r“r“ó€€€€€à€I€I€Ir#r“cór‡—eZdZdZdZeej¦«Ze d„¦«Z ˆfd„Z e d„¦«Z ˆxZS)Ú DateHeadera‘Header whose value consists of a single timestamp. Provides an additional attribute, datetime, which is either an aware datetime using a timezone, or a naive datetime if the timezone in the input string is -0000. Also accepts a datetime as input. The 'value' attribute is the normalized form of the timestamp, which means it is the output of format_datetime on the datetime. Ncó8—|sN|d tj¦«¦«d|d<d|d<tj¦«|d<dSt |t ¦«rt||d< tj|¦«}nY#t$rL|d tj d¦«¦«d|d<tj¦«|d<YdSwxYw||d<tj |d¦«|d<|  |d¦«|d<dS)Nr_Údatetimer r`rnzInvalid date value or format) rrÚHeaderMissingRequiredValuerÚ TokenListr=rTrÚparsedate_to_datetimerÚInvalidDateDefectÚformat_datetimer�rŽs r!razDateHeader.parse$s2€àð Ø �ŒO× "Ò "¥6Ô#DÑ#FÔ#FÑ GÔ GÐ GØ#ˆD�Ñ Ø ˆD�‰OÝ!'Ô!1Ñ!3Ô!3ˆD�Ñ Ø ˆFÝ �e�SÑ !Ô !ð Ø#ˆD�‰Oð ÝÔ3°EÑ:Ô:��øÝð ð ð Ø�Y”×&Ò&¥vÔ'?Ð@^Ñ'_Ô'_Ñ`Ô`Ð`Ø#'��ZÑ Ý%+Ô%5Ñ%7Ô%7��\Ñ"Ø��ð  øøøð !ˆˆZÑÝÔ/°°ZÔ0@ÑAÔAˆˆY‰Ø ×-Ò-¨d°9¬oÑ>Ô>ˆˆ\ÑÐÐsÁ,BÂACÃCcón•—| d¦«|_t¦«j|i|¤ŽdS)Nr™)ÚpopÚ _datetimeÚsuperre©rÚargsÚkwr5s €r!rezDateHeader.init9s7ø€ØŸš  Ñ+Ô+ˆŒØ�‰ŒŒ �dÐ!˜bÐ!Ð!Ð!Ð!Ð!r#có—|jSr%)r¡r's r!r™zDateHeader.datetime=r*r#)r6rBrCr„r�r�rr‘r�r…rarerDr™Ú __classcell__©r5s@r!r—r—s‘ø€€€€€ððð€Ið �< Ô 7Ñ8Ô8€Làð?ð?ñ„[ð?ð("ð"ð"ð"ð"ðððñ„Xðððððr#r—có—eZdZdZdS)ÚUniqueDateHeaderrPNr”rEr#r!rªrªBr•r#rªcóz‡—eZdZdZed„¦«Zed„¦«Zˆfd„Ze d„¦«Z e d„¦«Z ˆxZ S)Ú AddressHeaderNcóL—tj|¦«\}}|r Jd¦«‚|S)Nzthis should not happen)rÚget_address_list)rhÚ address_lists r!r�zAddressHeader.value_parserKs1€å$Ô5°eÑ<Ô<ш �eØÐ2Ð2Ð2Ñ2Ô2ˆyØÐr#cóö—t|t¦«rr| |¦«x|d<}g}|jD]9}| t |jd„|jD¦«¦«¦«Œ:t|j ¦«}n!t|d¦«s|g}d„|D¦«}g}||d<||d<d  d„|D¦«¦«|d <d|vr | |d ¦«|d<dSdS) NrncóZ—g|](}t|jpd|jpd|jpd¦«‘Œ)S)r )rrrr)rUÚmbs r!ú z'AddressHeader.parse..ZsV€ð%Cð%Cð%Cð*,õ&-¨R¬_Ð-BÀØ-/¬]Ð-@¸bØ-/¬Y¨_¸"ñ&>ô&>ð%Cð%Cð%Cr#Ú__iter__cóT—g|]%}t|d¦«std|g¦«n|‘Œ&S)rKN)ÚhasattrrG©rUÚitems r!r³z'AddressHeader.parse..csK€ð7ð7ð7à(,õ29¸¸{Ñ1KÔ1Kð4•e˜D 4 &Ñ)Ô)Ð)Ø/3ð7ð7ð7r#Úgroupsr_rQcó,—g|]}t|¦«‘ŒSrErSr·s r!r³z'AddressHeader.parse..is€Ð$BÐ$BÐ$B°4¥S¨¡Y¤YÐ$BÐ$BÐ$Br#r`) r=rTr�rKrrGrÚ all_mailboxesÚlistrr¶r )rfrhrir¯r¹Úaddrr_s r!razAddressHeader.parseQsc€å �e�SÑ !Ô !ð ð14×0@Ò0@ÀÑ0GÔ0GÐ GˆD�Ñ  ØˆFØ$Ô.ð Eð E�Ø— ’ �e DÔ$5ð%Cð%Cð04Ô/Að%Cñ%Cô%CñDôDñEôEðEðEõ ˜<Ô3Ñ4Ô4ˆGˆGõ˜5 *Ñ-Ô-ð Ø˜�ð7ð7à05ð7ñ7ô7ˆFðˆG؈ˆX‰Ø!ˆˆY‰ØŸ)š)Ð$BÐ$B¸6Ð$BÑ$BÔ$BÑCÔCˆˆY‰Ø ˜tÐ #Ð #Ø!$×!1Ò!1°$°y´/Ñ!BÔ!BˆD�Ñ Ð Ð ð $Ð #r#có–•—t| d¦«¦«|_d|_t ¦«j|i|¤ŽdS)Nr¹)rIr Ú_groupsrJr¢rer£s €r!rezAddressHeader.initmsFø€Ý˜RŸVšV HÑ-Ô-Ñ.Ô.ˆŒ ؈ŒØ�‰ŒŒ �dÐ!˜bÐ!Ð!Ð!Ð!Ð!r#có—|jSr%)r¿r's r!r¹zAddressHeader.groupsrr,r#cód—|j€#td„|jD¦«¦«|_|jS)Nc3ó.K—|]}|jD]}|V—ŒŒdSr%)rK)rUÚgroupÚaddresss r!rWz*AddressHeader.addresses..ysWèè€ð$Lð$L°Ø;@¼?ð$Lð$LØ07ð%,ð$Lð$Lð$Lð$Lð$Lð$Lð$Lr#)rJrIr¿r's r!rKzAddressHeader.addressesvsG€à Œ?Ð "Ý#ð$Lð$L¸¼ð$Lñ$Lô$LñLôLˆDŒOàŒÐr#) r6rBrCr�r�r�r…rarerDr¹rKr§r¨s@r!r¬r¬Gsªø€€€€€à€Iàððñ„\ðð ðCðCñ„[ðCð6"ð"ð"ð"ð"ð ððñ„Xððððñ„Xðððððr#r¬có—eZdZdZdS)ÚUniqueAddressHeaderrPNr”rEr#r!rÆrÆ~r•r#rÆcó$—eZdZed„¦«ZdS)ÚSingleAddressHeadercóš—t|j¦«dkr'td |j¦«¦«‚|jdS)NrPz9value of single address header {} is not a single addressr)rYrKrrrgr's r!rÄzSingleAddressHeader.address…sJ€å ˆtŒ~Ñ Ô  Ò !Ð !Ýð#ß$*¢F¨4¬9Ñ$5Ô$5ñ7ô7ð 7àŒ~˜aÔ Ð r#N)r6rBrCrDrÄrEr#r!rÈrȃs-€€€€€à ð!ð!ñ„Xð!ð!ð!r#rÈcó—eZdZdZdS)ÚUniqueSingleAddressHeaderrPNr”rEr#r!rËrË�r•r#rËc󚇗eZdZdZeej¦«Zed„¦«Z ˆfd„Z e d„¦«Z e d„¦«Z e d„¦«ZˆxZS)ÚMIMEVersionHeaderrPcó>—| |¦«x|d<}t|¦«|d<|d |j¦«|j€dn|j|d<|j|d<|j�'d |d|d¦«|d<dSd|d<dS)Nrnr`r_ÚmajorÚminorz{}.{}Úversion)r�rTÚextendrrÐrÏr©rfrhrirns r!razMIMEVersionHeader.parse˜s¦€à*-×*:Ò*:¸5Ñ*AÔ*AÐAˆˆ\јZݘj™/œ/ˆˆY‰Ø ˆYŒ×Ò˜zÔ5Ñ6Ô6Ð6Ø *Ô 0Ð 8˜˜¸jÔ>NˆˆW‰ Ø"Ô(ˆˆW‰ Ø Ô Ð 'Ø%Ÿnšn¨T°'¬]¸DÀ¼MÑJÔJˆD�‰OˆOˆOà"ˆD�‰OˆOˆOr#cóÖ•—| d¦«|_| d¦«|_| d¦«|_t ¦«j|i|¤ŽdS)NrÑrÏrÐ)r Ú_versionÚ_majorÚ_minorr¢rer£s €r!rezMIMEVersionHeader.init¤sYø€ØŸš˜yÑ)Ô)ˆŒ Ø—f’f˜W‘o”oˆŒ Ø—f’f˜W‘o”oˆŒ Ø�‰ŒŒ �dÐ!˜bÐ!Ð!Ð!Ð!Ð!r#có—|jSr%)rÖr's r!rÏzMIMEVersionHeader.majorªó €àŒ{Ðr#có—|jSr%)r×r's r!rÐzMIMEVersionHeader.minor®rÙr#có—|jSr%)rÕr's r!rÑzMIMEVersionHeader.version²ó €àŒ}Ðr#)r6rBrCr�r�rÚparse_mime_versionr�r…rarerDrÏrÐrÑr§r¨s@r!rÍrÍ’s¹ø€€€€€à€Ià�< Ô 9Ñ:Ô:€Làð #ð #ñ„[ð #ð"ð"ð"ð"ð"ð ððñ„Xððððñ„Xððððñ„Xðððððr#rÍcóN‡—eZdZdZed„¦«Zˆfd„Zed„¦«ZˆxZ S)ÚParameterizedMIMEHeaderrPcóâ—| |¦«x|d<}t|¦«|d<|d |j¦«|j€i|d<dSd„|jD¦«|d<dS)Nrnr`r_Úparamscó†—i|]>\}}tj|¦« ¦«tj|¦«“Œ?SrE)rrcÚlower)rUrgrhs r!ú z1ParameterizedMIMEHeader.parse..ÇsU€ðEðEðEá#. 4¨õ$œo¨dÑ3Ô3×9Ò9Ñ;Ô;Ý$)¤O°EÑ$:Ô$:ðEðEðEr#)r�rTrÒrrárÓs r!razParameterizedMIMEHeader.parse¾s�€à*-×*:Ò*:¸5Ñ*AÔ*AÐAˆˆ\јZݘj™/œ/ˆˆY‰Ø ˆYŒ×Ò˜zÔ5Ñ6Ô6Ð6Ø Ô Ð $؈D�‰NˆNˆNðEðEà2<Ô2CðEñEôEˆD�‰NˆNˆNr#cón•—| d¦«|_t¦«j|i|¤ŽdS)Nrá)r Ú_paramsr¢rer£s €r!rezParameterizedMIMEHeader.initËs7ø€Ø—v’v˜hÑ'Ô'ˆŒ Ø�‰ŒŒ �dÐ!˜bÐ!Ð!Ð!Ð!Ð!r#có*—t|j¦«Sr%)rrær's r!rázParameterizedMIMEHeader.paramsÏs€å ¤ Ñ-Ô-Ð-r#) r6rBrCr�r…rarerDrár§r¨s@r!rßrß·svø€€€€€ð €Iàð Eð Eñ„[ð Eð"ð"ð"ð"ð"ðð.ð.ñ„Xð.ð.ð.ð.ð.r#rßc󀇗eZdZeej¦«Zˆfd„Zed„¦«Z ed„¦«Z ed„¦«Z ˆxZ S)ÚContentTypeHeadercóÆ•—t¦«j|i|¤Žtj|jj¦«|_tj|jj¦«|_dSr%) r¢rerrcrlÚmaintypeÚ _maintypeÚsubtypeÚ_subtyper£s €r!rezContentTypeHeader.initØsPø€Ø�‰ŒŒ �dÐ!˜bÐ!Ð!Ð!Ýœ¨Ô)9Ô)BÑCÔCˆŒÝœ¨Ô(8Ô(@ÑAÔAˆŒ ˆ ˆ r#có—|jSr%)rìr's r!rëzContentTypeHeader.maintypeÝr*r#có—|jSr%)rîr's r!rízContentTypeHeader.subtypeárÜr#có&—|jdz|jzS)Nú/)rërír's r!Ú content_typezContentTypeHeader.content_typeås€àŒ}˜sÑ" T¤\Ñ1Ð1r#) r6rBrCr�rÚparse_content_type_headerr�rerDrërírór§r¨s@r!réréÔs ø€€€€€à�< Ô @ÑAÔA€LðBðBðBðBðBð ððñ„Xððððñ„Xððð2ð2ñ„Xð2ð2ð2ð2ð2r#récóT‡—eZdZeej¦«Zˆfd„Zed„¦«Z ˆxZ S)ÚContentDispositionHeaderc󌕗t¦«j|i|¤Ž|jj}|€|nt j|¦«|_dSr%)r¢rerlÚcontent_dispositionrrcÚ_content_disposition)rr¤r¥Úcdr5s €r!rezContentDispositionHeader.initîsIø€Ø�‰ŒŒ �dÐ!˜bÐ!Ð!Ð!Ø Ô Ô 1ˆØ*,¨* B B½%¼/È"Ñ:MÔ:MˆÔ!Ð!Ð!r#có—|jSr%)rùr's r!røz,ContentDispositionHeader.content_dispositionós €àÔ(Ð(r#) r6rBrCr�rÚ parse_content_disposition_headerr�rerDrør§r¨s@r!röröêsjø€€€€€à�< Ô GÑHÔH€LðNðNðNðNðNð ð)ð)ñ„Xð)ð)ð)ð)ð)r#röcón‡—eZdZdZeej¦«Zed„¦«Z ˆfd„Z e d„¦«Z ˆxZ S)ÚContentTransferEncodingHeaderrPcóž—| |¦«x|d<}t|¦«|d<|d |j¦«dS©Nrnr`r_©r�rTrÒrrÓs r!raz#ContentTransferEncodingHeader.parseþóO€à*-×*:Ò*:¸5Ñ*AÔ*AÐAˆˆ\јZݘj™/œ/ˆˆY‰Ø ˆYŒ×Ò˜zÔ5Ñ6Ô6Ð6Ð6Ð6r#c󀕗t¦«j|i|¤Žtj|jj¦«|_dSr%)r¢rerrcrlÚcteÚ_cter£s €r!rez"ContentTransferEncodingHeader.inits9ø€Ø�‰ŒŒ �dÐ!˜bÐ!Ð!Ð!Ý”O DÔ$4Ô$8Ñ9Ô9ˆŒ ˆ ˆ r#có—|jSr%)rr's r!rz!ContentTransferEncodingHeader.ctes €àŒyÐr#)r6rBrCr�r�rÚ&parse_content_transfer_encoding_headerr�r…rarerDrr§r¨s@r!rþrþøsƒø€€€€€à€Ià�< Ô MÑNÔN€Làð7ð7ñ„[ð7ð :ð:ð:ð:ð:ðððñ„Xðððððr#rþcóH—eZdZdZeej¦«Zed„¦«Z dS)ÚMessageIDHeaderrPcóž—| |¦«x|d<}t|¦«|d<|d |j¦«dSrrrÓs r!razMessageIDHeader.parserr#N) r6rBrCr�r�rÚparse_message_idr�r…rarEr#r!r r  sD€€€€€à€IØ�< Ô 7Ñ8Ô8€Làð7ð7ñ„[ð7ð7ð7r#r ÚsubjectÚdatez resent-datez orig-dateÚsenderz resent-senderÚtoz resent-toÚccz resent-ccÚbccz resent-bccÚfromz resent-fromzreply-toz mime-versionz content-type)zcontent-dispositionzcontent-transfer-encodingz message-idcó2—eZdZdZeedfd„Zd„Zd„Zd„Z dS)ÚHeaderRegistryz%A header_factory and header registry.Tcóv—i|_||_||_|r!|j t¦«dSdS)aèCreate a header_factory that works with the Policy API. base_class is the class that will be the last class in the created header class's __bases__ list. default_class is the class that will be used if "name" (see __call__) does not appear in the registry. use_default_map controls whether or not the default mapping of names to specialized classes is copied in to the registry when the factory is created. The default is True. N)ÚregistryÚ base_classÚ default_classÚupdateÚ_default_header_map)rrrÚuse_default_maps r!r"zHeaderRegistry.__init__6sI€ðˆŒ Ø$ˆŒØ*ˆÔØ ð 6Ø ŒM× Ò Õ!4Ñ 5Ô 5Ð 5Ð 5Ð 5ð 6ð 6r#có>—||j| ¦«<dS)zLRegister cls as the specialized class for handling "name" headers. N)rrã©rrgrfs r!Ú map_to_typezHeaderRegistry.map_to_typeHs€ð'*ˆŒ �d—j’j‘l”lÑ#Ð#Ð#r#có¦—|j | ¦«|j¦«}t d|jz||jfi¦«S)NÚ_)rÚgetrãrr‡r6rrs r!Ú __getitem__zHeaderRegistry.__getitem__NsD€ØŒm×Ò § ¢ ¡ ¤ ¨dÔ.@ÑAÔAˆÝ�C˜œ Ñ$ s¨D¬OÐ&<¸bÑAÔAÐAr#có&—||||¦«S)aƒCreate a header instance for header 'name' from 'value'. Creates a header instance by creating a specialized class for parsing and representing the specified header by combining the factory base_class with a specialized class from the registry or the default_class, and passing the name and value to the constructed class's constructor. rE)rrgrhs r!Ú__call__zHeaderRegistry.__call__Rs€ðˆt�DŒz˜$ Ñ&Ô&Ð&r#N) r6rBrCr„r]r‹r"rr"r$rEr#r!rr2sg€€€€€à/Ð/à",Ðr'sbðððð #Ð"Ð"Ð"Ð"Ð"àÐÐÐÐÐØÐÐÐÐÐØ0Ð0Ð0Ð0Ð0Ð0ðY-ðY-ðY-ðY-ðY-ñY-ôY-ðY-ðx/3ð/3ð/3ð/3ð/3ñ/3ô/3ð/3ðha*ða*ða*ða*ða*�ña*ôa*ða*ðH9ð9ð9ð2ð2ð2ð2ð2ñ2ô2ð2ðððððÐ1ñôðð +ð+ð+ð+ð+ñ+ô+ð+ð\ðððð�zñôðð 4ð4ð4ð4ð4ñ4ô4ð4ðnðððð˜-ñôðð !ð!ð!ð!ð!˜-ñ!ô!ð!ðððððÐ 3ñôðð "ð"ð"ð"ð"ñ"ô"ð"ðJ.ð.ð.ð.ð.ñ.ô.ð.ð:2ð2ð2ð2ð2Ð/ñ2ô2ð2ð, )ð )ð )ð )ð )Ð6ñ )ô )ð )ðððððñôðð* 7ð 7ð 7ð 7ð 7ñ 7ô 7ð 7ðØ Ð$<ðà Ð$4ðð JððÐ$4ð ð  Ð$=ð ð Ð$7ð ð Ð$7ðð Mðð Ð$7ðð Mðð Ð$7ðð Mðð Ð$7ðð MððÐ$7ðð Ð$5ð!ð"Ð$5ð#ð$%=Ø$AØ$3ð)ððÐð.*'ð*'ð*'ð*'ð*'ñ*'ô*'ð*'ð*'ð*'r#