o ?OgE@s gdZddlZddlZdZdZdZgdZgdZdddddd d dd d d d d d dZddZ ddZ ddZ ddZ ddZ GdddZGdddeZdS)) mktime_tz parsedate parsedate_tzquoteN z, )ZjanZfebZmarZaprmayZjunZjulZaugsepoctZnovZdecZjanuaryZfebruaryZmarchZaprilrZjuneZjulyZaugustZ septemberZoctoberZnovemberZdecember)ZmonZtueZwedZthuZfriZsatZsunipii iiDi)ZUTZUTCZGMTZZASTZADTZESTZEDTZCSTZCDTZMSTZMDTZPSTZPDTcCs. t|}|s dS|ddurd|d<t|S)N r) _parsedate_tztuple)dataresr7/opt/alt/python310/lib64/python3.10/email/_parseaddr.pyr-s rc Cs |sdS|}|s dS|dds|dtvr |d=n|dd}|dkr7|d|dd|d<t|dkrR|dd}t|dkrR||dd}t|dkr|d}|d}|dkrj|d}|dkr|d|||dg|dd<n|d t|d krdS|dd }|\}}}}}|r|r|sdS|}|tvr||}}|tvrdSt |d}|d kr|d 8}|ddkr|dd}|d }|dkr||}}|ddkr|dd}|sdS|d s||}}|ddkr|dd}|d }t|d kr|\} } d} nAt|dkr'|\} } } n4t|dkrYd|dvrY|dd}t|d krJ|\} } d} nt|dkrW|\} } } ndSdSzt |}t |}t | } t | } t | } Wn t y|YdSw|dkr|dkr|d7}n|d7}d} | }|tvrt|} nzt |} Wn t yYnw| dkr|drd} | r| dkrd} | } nd} | | dd| dd} |||| | | ddd| g S)Nr,-+r :0.dDilii<)splitendswithlower _daynamesrfindlenfindappend _monthnamesindexisdigitint ValueErrorupper _timezones startswith)riZstuffsZddZmmZyyZtmZtzZthhZtmmZtssZtzoffsetZtzsignrrrr 9s      "                        r cCs$ t|}t|tr|ddS|S)Nr )r isinstancerrtrrrrs   rcCs: |ddurt|dddSt|}||dS)Nr )r)timemktimecalendarZtimegmr6rrrrs    rcCs |ddddS)N\z\\"z\")replace)strrrrrsrc@szeZdZ ddZddZddZddZd d Zd d Zd dZ dddZ ddZ ddZ ddZ dddZddZdS) AddrlistClasscCs\ d|_d|_d|_d|_|j|j|_|j|j|j|_|jdd|_||_g|_ dS)Nz ()<>@,:;."[]rz z rr) specialsposLWSZCRFWSatomendsr> phraseendsfield commentlistselfrGrrr__init__s zAddrlistClass.__init__cCs g}|jt|jkrI|j|j|jdvr/|j|jdvr'||j|j|jd7_n|j|jdkr@|j|nn|jt|jks t|S)Nz r() rBr(rGrCr*rH getcomment EMPTYSTRINGjoin)rJZwslistrrrgotonexts zAddrlistClass.gotonextcCsJ g}|jt|jkr#|}|r||7}n|d|jt|jks |S)N)rr)rBr(rG getaddressr*)rJresultZadrrr getaddrlists  zAddrlistClass.getaddrlistcCs g|_||j}|j}|}|g}|jt|jkr.|r-t|j|dfg}n|j|jdvrJ||_||_|}t|j|fg}n|j|jdkrg}t|j}|jd7_|jt|jkr||j|kr|j|jdkr|jd7_n|| }|jt|jkshnI|j|jdkr| }|jrt|dd|jd |fg}n't||fg}n|rt|j|dfg}n|j|j|j vr|jd7_||jt|jkr|j|jd kr|jd7_|S) Nrz.@rr;@Tr)rGrBrPr( getdomainrY)rJZ expectrouteZadlistrrrrZGs6 zAddrlistClass.getrouteaddrcCs\ g}||jt|jkrzd}|j|jdkr4|r%|ds%||d|jd7_d}n1|j|jdkrH|dt|n|j|j|j vr^|r]|ds]|n|| |}|rr|rr|||jt|jks|jt|jks|j|jdkrt |S|d|jd7_|| }|st St ||S) NTrrrFr=z"%s"r])rPrBr(rGstrippopr*rgetquoterEgetatomrNrOr^)rJZaslistZ preserve_wsZwsZdomainrrrrYgs>     zAddrlistClass.getaddrspeccCs g}|jt|jkru|j|j|jvr|jd7_nQ|j|jdkr-|j|n@|j|jdkr=||n0|j|jdkrR|jd7_|dn|j|jdkr\tS|j|j|j vrfn|| |jt|jks t |S)NrrL[rr]) rBr(rGrCrHr*rMgetdomainliteralrNrErbrO)rJZsdlistrrrr^s&  zAddrlistClass.getdomainTcCs |j|j|kr dSdg}d}|jd7_|jt|jkrr|r-||j|jd}n6|j|j|vr=|jd7_n5|rO|j|jdkrO||q|j|jdkrZd}n ||j|j|jd7_|jt|jkst|S)NrFrrLr<T)rGrBr(r*rMrNrO)rJZ begincharZendcharsZ allowcommentsZslistrrrr getdelimiteds,  zAddrlistClass.getdelimitedcC |dddS)Nr=z" FrerJrrrrazAddrlistClass.getquotecCrf)NrLz) TrgrhrrrrMrizAddrlistClass.getcommentcCs d|dddS)Nz[%s]rcz] FrgrhrrrrdszAddrlistClass.getdomainliteralNcCsr dg}|dur |j}|jt|jkr4|j|j|vrn||j|j|jd7_|jt|jkst|S)Nrr)rErBr(rGr*rNrO)rJrEZatomlistrrrrbs zAddrlistClass.getatomcCs g}|jt|jkrZ|j|j|jvr|jd7_n6|j|jdkr,||n&|j|jdkr=|j|n|j|j|jvrI |S|| |j|jt|jks |S)Nrr=rL) rBr(rGrDr*rarHrMrFrb)rJr[rrrrWs zAddrlistClass.getphraselist)TN)__name__ __module__ __qualname__rKrPrSrQrZrYr^rerarMrdrbrWrrrrr@s ; & %  r@c@sFeZdZ ddZddZddZddZd d Zd d Zd dZ dS) AddressListcCs(t|||r||_dSg|_dSrj)r@rKrS addresslistrIrrrrKs  zAddressList.__init__cCs t|jSrj)r(rorhrrr__len__ s zAddressList.__len__cCs>td}|jdd|_|jD] }||jvr|j|q|Srjrnror*rJotherZnewaddrxrrr__add__ s   zAddressList.__add__cCs&|jD] }||jvr|j|q|Srj)ror*rJrsrtrrr__iadd__   zAddressList.__iadd__cCs.td}|jD] }||jvr|j|q|Srjrqrrrrr__sub__s    zAddressList.__sub__cCs&|jD] }||jvr|j|q|Srj)roremovervrrr__isub__$rxzAddressList.__isub__cCs |j|Srj)ro)rJr,rrr __getitem__+s zAddressList.__getitem__N) rkrlrmrKrprurwryr{r|rrrrrns  rn)__all__r9r;rXrNZ COMMASPACEr+r&r1rr rrrr@rnrrrrs0  }   /