Files
pyGoEdge-UserPanel/.venv/Lib/site-packages/dns/__pycache__/zonefile.cpython-312.pyc

143 lines
34 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
g<> ieo<00><00><><00>dZddlZddlZddlmZmZmZmZmZm Z ddl
Z ddl Z ddl Z ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ Gd<04>de j.j0<00>ZGd<06>de j.j0<00>Zd<08>Zee j8j:e j<j>dze j<j>dzedze e!e e!fZ"d <09>Z#Gd
<EFBFBD>d <0B>Z$Gd <0C>d e jJjL<00>Z'Gd<0E>de jJjP<00>Z)dde jTjVe jTjVddde j<jXdf dede j<j>e-zdzde dzde jTj\e-zdzde jTj\e-zde j^j`e-zdzde e-zdzde j<jbdzde j<j>e-zdzde!dee jdjffd<1C>Z4y)z
DNS Zones.<2E>N)<06>Any<6E>Iterable<6C>List<73>Set<65>Tuple<6C>castc<00><00>eZdZdZy)<03> UnknownOriginzUnknown originN<6E><04>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F><00><00>;E:\Project\pygoedge\.venv\Lib\site-packages\dns/zonefile.pyr
r
&s<00><00>rr
c<00><00>eZdZdZy)<03>CNAMEAndOtherDataz!A node has a CNAME and other dataNr rrrrr*s<00><00>+rrc<00><00>tjjj|<02>}|j |<01>}|<04>y|j <00>}|tjjj k(r2|tjjjk(r td<01><00>|tjjjk(r3|tjjj k(r td<02><00>yy)Nz1rdataset type is not compatible with a CNAME nodez9CNAME rdataset is not compatible with a regular data node) <09>dns<6E>node<64>NodeKind<6E>classify_rdataset<65>get_node<64>classify<66>CNAME<4D>REGULARr)<06>txn<78>name<6D>rdataset<65> rdataset_kindr<00> node_kinds r<00>_check_cname_and_other_datar#.s<><00><00><17>H<EFBFBD>H<EFBFBD>%<25>%<25>7<>7<><08>A<>M<EFBFBD> <0E><<3C><<3C><04> <1D>D<EFBFBD> <0B>|<7C><0E><14> <0A> <0A><0F>I<EFBFBD><11>S<EFBFBD>X<EFBFBD>X<EFBFBD>&<26>&<26>,<2C>,<2C>,<2C> <19>S<EFBFBD>X<EFBFBD>X<EFBFBD>.<2E>.<2E>6<>6<> 6<><1F> S<>T<>T<><11>S<EFBFBD>X<EFBFBD>X<EFBFBD>&<26>&<26>.<2E>.<2E>.<2E> <19>S<EFBFBD>X<EFBFBD>X<EFBFBD>.<2E>.<2E>4<>4<> 4<><1F> G<>
<EFBFBD>
<EFBFBD> 5<> /rc<00>R<00>|j<00>}|jd<01>sd|z}|S)N<>$)<02>upper<65>
startswith)<01>ss r<00>_upper_dollarizer)Qs'<00><00> <09><07><07> <09>A<EFBFBD> <0C><<3C><<3C><03> <1C> <0F>!<21>G<EFBFBD><01> <0C>Hrc<00><><00>eZdZdZ ddej
j dejjdejjde de e e zdejjdzd edzd
ejjdzd ej"j$dzd edzfd <0A>Zd<0E>Zd<0F>Zd<10>Zde dee e eee ffd<13>Zd<14>Zdd<15>Zy)<18>Readerz(Read a DNS zone file into a transaction.N<>tok<6F>rdclassr<00> allow_include<64>allow_directives<65>
force_name<EFBFBD> force_ttl<74> force_rdclass<73> force_rdtype<70> default_ttlc <00>f<00>||_|jj<00>\|_|_} |j|_d|_d|_|<07>|}
|
<EFBFBD>d|_d|_ n|
|_d|_ |j
|_
||_ ||_ g|_ d|_||dur'hd<04>|_|rG|jj!d<05>n+|durt#<00>|_nt#d<06>|D<00><00>|_||_||_||_| |_|jj-t.<00>y)NrFT><00>$TTL<54>$ORIGIN<49> $GENERATE<54>$INCLUDEc3<00>2K<00>|]}t|<01><00><01><00>y<00>w<01>N)r))<02>.0<EFBFBD>ds r<00> <genexpr>z"Reader.__init__.<locals>.<genexpr><3E>s<00><00><><00>)X<>GW<47>!<21>*:<3A>1<EFBFBD>*=<3D>GW<47>s<00>)r,<00>manager<65>origin_information<6F> zone_origin<69>
relativize<EFBFBD>current_origin<69>last_ttl<74>last_ttl_knownr4<00>default_ttl_known<77> last_name<6D> zone_rdclassr<00> saved_state<74> current_file<6C>allowed_directives<65>add<64>setr0r1r2r3<00>check_put_rdatasetr#) <0C>selfr,r-rr.r/r0r1r2r3r4<00>_s r<00>__init__zReader.__init__[s(<00><00><17><04><08>14<31><1B><1B>1O<31>1O<31>1Q<31>.<2E><14> <19>4<EFBFBD>?<3F>A<EFBFBD>"<22>.<2E>.<2E><04><1B><19><04> <0A>#<23><04><1B> <14> <20>#<23>K<EFBFBD> <16> <1E> <20>D<EFBFBD> <1C>%*<2A>D<EFBFBD> "<22>*<2A>D<EFBFBD> <1C>%)<29>D<EFBFBD> "<22><1D>,<2C>,<2C><04><0E>#<23><04><19><16><04><08>13<31><04><18>(,<2C><04><19> <0C> <1B>t<EFBFBD> #<23>&F<>D<EFBFBD> #<23><1C><14>'<27>'<27>+<2B>+<2B>J<EFBFBD>7<> <1D><15> &<26>'*<2A>e<EFBFBD>D<EFBFBD> #<23>'*<2A>)X<>GW<47>)X<>&X<>D<EFBFBD> #<23>$<24><04><0F>"<22><04><0E>*<2A><04><1A>(<28><04><19> <0C><08><08>#<23>#<23>$?<3F>@rc<00>\<00> |jj<00>}|j<00>ry<00>,r;)r,<00>get<65> is_eol_or_eof<6F>rO<00>tokens r<00> _eat_linezReader._eat_line<6E>s(<00><00><0F><18>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>E<EFBFBD><14>"<22>"<22>$<24><15>rc<00><><00>|jj<00>}|j<00>stjj
<00>|Sr;)r,rS<00> is_identifierr<00> exception<6F> SyntaxErrorrUs r<00>_get_identifierzReader._get_identifier<65>s2<00><00><14><08><08> <0C> <0C><0E><05><14>"<22>"<22>$<24><15>-<2D>-<2D>+<2B>+<2B> +<2B><14> rc <00>v <00>d}|j<00>|j}<02>n>|j<00>t<00>|jj d<02><03>}|j <00>s,|jj ||j<00>|_nF|jj <00>}|j<00>ry|jj|<01>|j}|<02>tjjd<04><00>|j<00>J<00>|j|j<00>s|j<00>y|j r|j!|j<00>}|j"<00>|j"}||_d|_nL|j)<00>}d} tj*j-|j.<00>}||_d|_d}|j2<00> |j2}nh|j)<00>} tj4j-|j.<00>}||j8k7rtjjd<05><00>|<03>L|j)<00>}d} tj*j-|j.<00>}||_d|_d}|j><00> |j>}n:|j)<00>} tj@j-|j.<00>} tjBj-|||j|j|j |j<00>}|j:s{|tj@jJk(r^tMtjNjPjJjJ|<06>} | jR|_d|_|<03> | jR}|<03>tjjd <0B><00>|jTjW|||<06>y#tj*j0$r|jj|<01>Y<00><02>pwxYw#tjj$r<00>t6$r+|j8}|jj|<01>Y<00><02>qwxYw#tj*j0$rP|j:r |j<}n|j&r |j$}|jj|<01>Y<00><02>ewxYw#t6$r.tjjd|j.<00>d<07><03><00>wxYw#tjj$r<00>t6$rRtEjF<00>dd\}}tjjd tI|<07><00>d
tI|<08><00><00><04><00>wxYw) z&Process one line from a DNS zone file.NT)<01> want_leadingzthe last used name is undefined<65>RR class is not zone's class<73>unknown rdatatype '<27>'<27><00>caught exception <20>: <20>Missing default TTL value),r0rCr
r,rS<00> is_whitespace<63>as_namerGrT<00>ungetrrZr[rA<00> is_subdomainrWrBr1rDrEr\<00>ttl<74> from_text<78>value<75>BadTTLr2<00>
rdataclass<EFBFBD> ExceptionrHrFr4r3<00> rdatatype<70>rdata<74>sys<79>exc_info<66>str<74>SOAr<00>rdtypes<65>ANY<4E>minimumrrL)
rOrVrrjr-<00>rdtype<70>rd<72>ty<74>va<76>soa_rds
r<00>_rr_linezReader._rr_line<6E>s<><00><00><14><05> <0F>?<3F>?<3F> &<26><17>?<3F>?<3F>D<EFBFBD><13>"<22>"<22>*<2A>#<23>#<23><18>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD>d<EFBFBD>L<EFBFBD>3<>E<EFBFBD><18>&<26>&<26>(<28>!%<25><18><18>!1<>!1<>%<25><14>9L<39>9L<39>!M<><04><0E><1C><08><08> <0C> <0C><0E><05><18>&<26>&<26>(<28><1A><14><08><08><0E><0E>u<EFBFBD>%<25><17>><3E>><3E>D<EFBFBD><13>|<7C><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>0Q<30>R<>R<><17>#<23>#<23>/<2F> /<2F>/<2F><17>$<24>$<24>T<EFBFBD>%5<>%5<>6<><14><0E><0E> <20><16><13><EFBFBD><EFBFBD><1B><EFBFBD><EFBFBD>t<EFBFBD>'7<>'7<>8<><04> <10>><3E>><3E> %<25><16>.<2E>.<2E>C<EFBFBD><1F>D<EFBFBD>M<EFBFBD>"&<26>D<EFBFBD> <1F><18>(<28>(<28>*<2A>E<EFBFBD><16>C<EFBFBD> &<26><19>g<EFBFBD>g<EFBFBD>'<27>'<27><05> <0B> <0B>4<><03> #<23><04> <0A>&*<2A><04>#<23><1C><05>
<10> <1D> <1D> )<29><1A>(<28>(<28>G<EFBFBD><18>(<28>(<28>*<2A>E<EFBFBD> &<26><1D>.<2E>.<2E>2<>2<>5<EFBFBD>;<3B>;<3B>?<3F><07> <17>$<24>+<2B>+<2B>+<2B><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>0N<30>O<>O<> <0E>;<3B><18>(<28>(<28>*<2A>E<EFBFBD><16>C<EFBFBD>
&<26><19>g<EFBFBD>g<EFBFBD>'<27>'<27><05> <0B> <0B>4<><03> #<23><04> <0A>&*<2A><04>#<23><1C><05> <10> <1C> <1C> (<28><19>&<26>&<26>F<EFBFBD><18>(<28>(<28>*<2A>E<EFBFBD> V<01><1C><1D><1D>0<>0<><15><1B><1B>=<3D><06> V<01><14><19><19>$<24>$<24><17><16><14><08><08><14>#<23>#<23><14><0F><0F><14> <20> <20> <0E>B<EFBFBD>(<14>%<25>%<25>&<26>C<EFBFBD>M<EFBFBD>M<EFBFBD>4E<34>4E<34>*E<><1A>#<23>+<2B>+<2B>/<2F>/<2F>-<2D>-<2D>1<>1<>2<EFBFBD>6<>F<EFBFBD>%<25>~<7E>~<7E>D<EFBFBD> <1C>%)<29>D<EFBFBD> "<22><12>{<7B><1C>n<EFBFBD>n<EFBFBD><03> <0F>;<3B><15>-<2D>-<2D>+<2B>+<2B>,G<>H<> H<> <0C><08><08> <0C> <0C>T<EFBFBD>3<EFBFBD><02>#<23><>c<17>7<EFBFBD>7<EFBFBD>><3E>><3E> &<26><14><08><08><0E><0E>u<EFBFBD>%<25> &<26><><17>=<3D>=<3D>,<2C>,<2C> <16><15><1C> &<26><1E>+<2B>+<2B><07><14><08><08><0E><0E>u<EFBFBD>%<25> &<26><><17>7<EFBFBD>7<EFBFBD>><3E>><3E> &<26><17>)<29>)<29><1E>*<2A>*<2A>C<EFBFBD><19>(<28>(<28><1E>-<2D>-<2D>C<EFBFBD><14><08><08><0E><0E>u<EFBFBD>%<25>  &<26><><1D> V<01><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>2E<32>e<EFBFBD>k<EFBFBD>k<EFBFBD>]<5D>RS<52>0T<30>U<>U<> V<01><><13>}<7D>}<7D>(<28>(<28> <12> <11><18> V<01> <1B>|<7C>|<7C>~<7E>b<EFBFBD>q<EFBFBD>)<29>H<EFBFBD>R<EFBFBD><12><15>-<2D>-<2D>+<2B>+<2B>.?<3F><03>B<EFBFBD><07>y<EFBFBD><02>3<EFBFBD>r<EFBFBD>7<EFBFBD>)<29>,T<>U<> U<> V<01>sR<00>9P<00>8)Q<00>$9R<00>)T<00>1A U<00>8P?<03>>P?<03>A R<03>R<03>A)T<03>T<03>7T=<03>A8V8<03>side<64>returnc<00><><00>tjd<01>}tjd<02>}tjd<03>}d}d}d}d}d} |j|<01>}
|
r|
j<00>\}}}}} |dk(rgd}nd|j|<01>} | r | j<00>\}}}|dk(rd}d}d} n1|j|<01>} | r| j<00>\}}}}|dk(rd}d} t |<07>} t |<08>}|dvr"t
j jd |<06><00><02><00>| d
vr"t
j jd | <09><00><02><00>||| || fS) Nz"^.*\$({(\+|-?)(\d+),(\d+),(.)}).*$z^.*\$({(\+|-?)(\d+)}).*$z^.*\$({(\+|-?)(\d+),(\d+)}).*$<24><00>+<2B>0r=)r<><00>-zinvalid offset sign )r=<00>o<>x<>X<>n<>Nz invalid type )<08>re<72>compile<6C>match<63>groups<70>intrrZr[)rOr<00> is_generate1<65> is_generate2<65> is_generate3<65>mod<6F>sign<67>offset<65>width<74>base<73>g1<67>g2<67>g3<67>ioffset<65>iwidths r<00> _parse_modifyzReader._parse_modifysa<00><00><1A>z<EFBFBD>z<EFBFBD>"G<>H<> <0C><19>z<EFBFBD>z<EFBFBD>"=<3D>><3E> <0C><19>z<EFBFBD>z<EFBFBD>"C<>D<> <0C><11><03><12><04><14><06><13><05><12><04> <19> <1F> <1F><04> %<25><02> <0A>-/<2F>Y<EFBFBD>Y<EFBFBD>[<5B> *<2A>C<EFBFBD><14>v<EFBFBD>u<EFBFBD>d<EFBFBD><13>r<EFBFBD>z<EFBFBD><1A><04><1D>#<23>#<23>D<EFBFBD>)<29>B<EFBFBD><11>$&<26>I<EFBFBD>I<EFBFBD>K<EFBFBD>!<21><03>T<EFBFBD>6<EFBFBD><17>2<EFBFBD>:<3A><1E>D<EFBFBD><1B><05><1A><04>!<21>'<27>'<27><04>-<2D><02><15>/1<>y<EFBFBD>y<EFBFBD>{<7B>,<2C>C<EFBFBD><14>v<EFBFBD>u<EFBFBD><1B>r<EFBFBD>z<EFBFBD>"<22><04><1E>D<EFBFBD><15>f<EFBFBD>+<2B><07><14>U<EFBFBD><1A><06> <0F>z<EFBFBD> !<21><15>-<2D>-<2D>+<2B>+<2B>.B<>4<EFBFBD>&<26>,I<>J<> J<> <0F>5<> 5<><15>-<2D>-<2D>+<2B>+<2B>m<EFBFBD>D<EFBFBD>6<EFBFBD>,B<>C<> C<><12>D<EFBFBD>'<27>6<EFBFBD>4<EFBFBD>/<2F>/rc
<00><> <00><1F>|j<00>t<00>|jj<00>} tj
j |j<00>\}}}|jj<00>}|j<00>stjj<00> |j}|jj<00>}|j<00>stjj<00> tjj |j<00>}||_ d|_|jj<00>}|j<00>stjj<00> tj$j |j<00>}|jj<00>}|j<00>stjj<00> ||j&k7rtjjd<04><00> tj(j |j<00>}|jj<00>}|j<00>stjj<00> |j} dt*dt,d t*d
t*fd <0B>}
d t*d t,dt*d
t,f<08>fd<0F> <0C>|j/|<05>\} } } }}|j/| <09>\}}}}}t1||dz|<04>D<00>]g}|
|| | <0A>}|
|||<12>}<00>|||<0E>}<00>|||<13>}|j3d| <0B><00>|<18>}| j3d|<10><00>|<19>}tj4j ||j|jj6<00>|_|j8}|j:<00>J<00>|j=|j:<00>s|j?<00>y|j@r|jA|j:<00>} tjBj ||||j|j@|j:<00>}|jHjK|||<1C><00><01>jy#t$rtjj<00>wxYw#t$rtjj<00>wxYw#tjj$r<>|js+|j stjjd<03><00>|j r |j"}n8|jr |j}ntjjd<03><00>Y<00><03><>wxYw#tjj$rtjj<00>t$r|j&}Y<00><03><>wxYw#t$r.tjjd|j<00>d<06><03><00>wxYw#tjj$r<00>t$rRtEjF<00>dd\}}tjjdt-|<1D><00>dt-|<1E><00><00><04><00>wxYw)zPProcess one line containing the GENERATE statement from a DNS
zone file.NTrer_r`ra<00>counter<65> offset_signr<6E>r<>c<00> <00>|dk(r|dz}||zS)z0Calculate the index from the counter and offset.r<><00><><EFBFBD><EFBFBD><EFBFBD>r)r<>r<>r<>s r<00>_calculate_indexz/Reader._generate_line.<locals>._calculate_index<65>s<00><00><1A>c<EFBFBD>!<21><16>"<22> <0C><06><1A>V<EFBFBD>#<23> #r<00>indexr<78>r<>c<00><><00><01>|dvrt||<01>j|<02>S<00>|d|<02>}dj|ddd<05><00>d|}|dk(r|j<00>}|S)zVFormat the index with the given base, and zero-fill it
to the given width.)r=r<>r<>r<>r<><00>.Nr<4E>r<>)<04>format<61>zfill<6C>joinr&)r<>r<>r<><00>hexa<78>nibbles<65> _format_indexs <20>rr<>z,Reader._generate_line.<locals>._format_index<65>sj<00><><00><14>+<2B>+<2B><1D>e<EFBFBD>T<EFBFBD>*<2A>0<>0<><15>7<>7<>!<21><15><03>U<EFBFBD>3<>D<EFBFBD><19>h<EFBFBD>h<EFBFBD>t<EFBFBD>D<EFBFBD>b<EFBFBD>D<EFBFBD>z<EFBFBD>*<2A>6<EFBFBD>E<EFBFBD>2<>G<EFBFBD><13>s<EFBFBD>{<7B>!<21>-<2D>-<2D>/<2F><07><1A>Nr<00>r%rbrcrd)&rCr
r,rSr<00>grangerkrlrYrZr[rorjrDrErmrFr4rnrHrpr<>rtr<><00>range<67>replacer<00>
idna_codecrGrArirWrBrqrrrsrrL) rOrV<00>start<72>stop<6F>step<65>lhsrjr-ry<00>rhsr<73><00>lmod<6F>lsign<67>loffset<65>lwidth<74>lbase<73>rmod<6F>rsign<67>roffset<65>rwidth<74>rbase<73>i<>lindex<65>rindex<65>lzfindex<65>rzfindexrrqrzr{r|r<>s @r<00>_generate_linezReader._generate_lineBsQ<00><><00> <10> <1E> <1E> &<26><1F> <1F><14><08><08> <0C> <0C><0E><05> ,<2C> #<23>
<EFBFBD>
<EFBFBD> 4<> 4<>U<EFBFBD>[<5B>[<5B> A<> <1D>E<EFBFBD>4<EFBFBD><14><18>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>E<EFBFBD><18>&<26>&<26>(<28><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>/<2F>)<29>  ,<2C><17>+<2B>+<2B>C<EFBFBD><18>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>E<EFBFBD><18>&<26>&<26>(<28><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>/<2F>)<29>  M<01><15>'<27>'<27>#<23>#<23>E<EFBFBD>K<EFBFBD>K<EFBFBD>0<>C<EFBFBD><1F>D<EFBFBD>M<EFBFBD>"&<26>D<EFBFBD> <1F><18>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>E<EFBFBD><18>&<26>&<26>(<28><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>/<2F>)<29>  (<28><19>n<EFBFBD>n<EFBFBD>.<2E>.<2E>u<EFBFBD>{<7B>{<7B>;<3B>G<EFBFBD><18>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>E<EFBFBD><18>&<26>&<26>(<28><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>/<2F>)<29> <13>d<EFBFBD>'<27>'<27> '<27><15>-<2D>-<2D>+<2B>+<2B>,J<>K<> K<> R<01><18>]<5D>]<5D>,<2C>,<2C>U<EFBFBD>[<5B>[<5B>9<>F<EFBFBD><18>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>E<EFBFBD><18>&<26>&<26>(<28><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>/<2F>)<29> <14>k<EFBFBD>k<EFBFBD><03> $<24>c<EFBFBD> $<24><03> $<24>S<EFBFBD> $<24>S<EFBFBD> $<24> <1B><13> <1B>C<EFBFBD> <1B><03> <1B><03> <1B>/3<>.@<40>.@<40><13>.E<>+<2B><04>e<EFBFBD>W<EFBFBD>f<EFBFBD>e<EFBFBD>.2<EFBFBD>.@<40>.@<40><13>.E<>+<2B><04>e<EFBFBD>W<EFBFBD>f<EFBFBD>e<EFBFBD><16>u<EFBFBD>d<EFBFBD>Q<EFBFBD>h<EFBFBD><04>-<2D>A<EFBFBD>&<26>a<EFBFBD><15><07>8<>F<EFBFBD>%<25>a<EFBFBD><15><07>8<>F<EFBFBD>$<24>V<EFBFBD>U<EFBFBD>F<EFBFBD>;<3B>H<EFBFBD>$<24>V<EFBFBD>U<EFBFBD>F<EFBFBD>;<3B>H<EFBFBD><16>;<3B>;<3B><11>4<EFBFBD>&<26>z<EFBFBD>8<EFBFBD>4<>D<EFBFBD><17>K<EFBFBD>K<EFBFBD>!<21>D<EFBFBD>6<EFBFBD>
<EFBFBD>H<EFBFBD>5<>E<EFBFBD> <20>X<EFBFBD>X<EFBFBD>/<2F>/<2F><14>d<EFBFBD>)<29>)<29>4<EFBFBD>8<EFBFBD>8<EFBFBD>+><3E>+><3E><0E>D<EFBFBD>N<EFBFBD><18>><3E>><3E>D<EFBFBD><17>#<23>#<23>/<2F> /<2F>/<2F><17>$<24>$<24>T<EFBFBD>%5<>%5<>6<><14><0E><0E> <20><16><13><EFBFBD><EFBFBD><1B><EFBFBD><EFBFBD>t<EFBFBD>'7<>'7<>8<><04> <12><18>Y<EFBFBD>Y<EFBFBD>(<28>(<28><1B><1A><19><18>'<27>'<27><18>O<EFBFBD>O<EFBFBD><18>$<24>$<24> <12><02>, <11>H<EFBFBD>H<EFBFBD>L<EFBFBD>L<EFBFBD><14>s<EFBFBD>B<EFBFBD> '<27>].<2E><>]<19> ,<2C><15>-<2D>-<2D>+<2B>+<2B> +<2B> ,<2C><><19> ,<2C><15>-<2D>-<2D>+<2B>+<2B> +<2B> ,<2C><><13>w<EFBFBD>w<EFBFBD>~<7E>~<7E> M<01><18>'<27>'<27>4<EFBFBD>+A<>+A<><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>0K<30>L<>L<><13>%<25>%<25><1A>&<26>&<26><03><15>$<24>$<24><1A>m<EFBFBD>m<EFBFBD><03>
<1A>m<EFBFBD>m<EFBFBD>/<2F>/<2F>0K<30>L<>L<><4C> M<01><>&<13>}<7D>}<7D>(<28>(<28> ,<2C><15>-<2D>-<2D>+<2B>+<2B> +<2B><18> (<28><1A>'<27>'<27>G<EFBFBD> (<28><><19> R<01><15>-<2D>-<2D>+<2B>+<2B>.A<>%<25>+<2B>+<2B><1D>a<EFBFBD>,P<>Q<> Q<> R<01><>v<17>=<3D>=<3D>,<2C>,<2C> <16><15><1C> <12> <1F><<3C><<3C>><3E>"<22>1<EFBFBD>-<2D><08><12>R<EFBFBD><19>m<EFBFBD>m<EFBFBD>/<2F>/<2F>'<27><03>B<EFBFBD><07>y<EFBFBD><02>3<EFBFBD>r<EFBFBD>7<EFBFBD>)<29><<3C><12><12> <12>s\<00>A1Q,<00>"AR<00>4A;R:<00>1A-U&<00>A-V8<00> AW2<02>,$R<03>$R7<03>:B%U#<03>"U#<03>&A V5<03>4V5<03>87W/<03>2A8Y*c
<00>|
<00> |jjdd<01>}|j<00>r<>|j<00>|jj <00>t |j <00>dkDrM|j jd<04>\|_|_|_ |_|_
|_ |_ |_ <00><>y|j<00>r<01><>|j<00>r|jj!<00><00><>|j"ddk(<00>rqt |j$<00>dkD<00>rX|j"j'<00>}||j$vr#t(j*j-d|<02>d<07><03><00>|dk(r<>|jj<00>}|j/<00>st(j*j-d <09><00>t(j0j3|j"<00>|_ d|_ |jj!<00><00>nl|d
k(r}|jj5<00>|_|jj!<00>|j6<00>|j|_|j8j;|j<00><00>n<>|d k(<00>r<>|jj<00>}|j"}|jj<00>}|j/<00>rdt(j<j3|j"|j|jj><00>}|jj!<00>n;|jA<00>st(j*j-d <0C><00>|j}|j jC|j|j|j|j|j|j|j|jf<08>tE|d <0A><0E>|_t(jFjI|j|<03>|_||_n9|dk(r|jK<00>n#t(j*j-d|<02>d<11><03><00><01><04>y|jjM|<01>|jO<00><00><04><>#t(j*j,$rv}|jjQ<00>\}}|<05>d}t(j*j-|<03>d|<06>d|<05><00><05>}tSjT<00>d}|jW|<08>d<02>d}~wwxYw)z<>Read a DNS zone file and build a zone object.
@raises dns.zone.NoSOA: No SOA RR was found at the zone origin
@raises dns.zone.NoNS: No NS RRset was found at the zone origin
TNrr<>r%zzone file directive 'z' is not allowedr6zbad $TTLr7r9zbad origin in $INCLUDEzutf-8)<01>encodingr8zUnknown zone file directive 'raz syntax error<6F>:rdrb),r,rS<00>is_eofrJ<00>close<73>lenrI<00>poprCrGrDrEr4rF<00>is_eol<6F>
is_comment<EFBFBD>get_eolrlrKr&rrZr[rYrjrk<00>get_namerAr<00> _set_originrr<>rT<00>append<6E>open<65> tokenizer<65> Tokenizerr<72>rhr~<00>whererrrs<00>with_traceback) rOrV<00>c<>filename<6D>
new_origin<EFBFBD>detail<69> line_number<65>ex<65>tbs r<00>readz Reader.read<61>s<00><00>Y 2<><13><1C><08><08> <0C> <0C>T<EFBFBD>4<EFBFBD>0<><05><18><<3C><<3C>><3E><1B>(<28>(<28>4<><1C>)<29>)<29>/<2F>/<2F>1<><1A>4<EFBFBD>+<2B>+<2B>,<2C>q<EFBFBD>0<>!<21>,<2C>,<2C>0<>0<><12>4<> <1A> <20>H<EFBFBD> <20>/<2F> <20>N<EFBFBD> <20>-<2D> <20>M<EFBFBD> <20>/<2F> <20>,<2C> <20>2<> <20><19><1A>\<5C>\<5C>^<5E><1C><1A>%<25>%<25>'<27><18>H<EFBFBD>H<EFBFBD>$<24>$<24>&<26><1C><1A>[<5B>[<5B><11>^<5E>s<EFBFBD>*<2A>s<EFBFBD>4<EFBFBD>3J<33>3J<33>/K<>a<EFBFBD>/O<><1E> <0B> <0B>)<29>)<29>+<2B>A<EFBFBD><18><04> 7<> 7<>7<>!<21>m<EFBFBD>m<EFBFBD>7<>7<>3<>A<EFBFBD>3<EFBFBD>6F<36>G<><1A><1A><19>F<EFBFBD>{<7B> $<24><08><08> <0C> <0C><0E><05>$<24>2<>2<>4<>"%<25>-<2D>-<2D>";<3B>";<3B>J<EFBFBD>"G<>G<>+.<2E>7<EFBFBD>7<EFBFBD>+<<3C>+<<3C>U<EFBFBD>[<5B>[<5B>+I<><04>(<28>15<31><04>.<2E><1C><08><08>(<28>(<28>*<2A><1A>i<EFBFBD><1E>.2<EFBFBD>h<EFBFBD>h<EFBFBD>.?<3F>.?<3F>.A<><04>+<2B><1C><08><08>(<28>(<28>*<2A><1F>+<2B>+<2B>3<>/3<>/B<>/B<>D<EFBFBD>,<2C><1C><08><08>,<2C>,<2C>T<EFBFBD>-@<40>-@<40>A<><1A>j<EFBFBD><1F> $<24><08><08> <0C> <0C><0E><05>#(<28>;<3B>;<3B><08> $<24><08><08> <0C> <0C><0E><05> <20>.<2E>.<2E>0<>),<2C><18><18>);<3B>);<3B> %<25> <0B> <0B>T<EFBFBD>-@<40>-@<40>$<24>(<28>(<28>BU<42>BU<42>*<1E>J<EFBFBD>!<21>H<EFBFBD>H<EFBFBD>,<2C>,<2C>.<2E>!&<26>!4<>!4<>!6<>"%<25>-<2D>-<2D>";<3B>";<3B><T<>"U<>U<>)-<2D>)<<3C>)<<3C>J<EFBFBD><1C>(<28>(<28>/<2F>/<2F> $<24><08><08> $<24> 3<> 3<> $<24><0E><0E> $<24> 1<> 1<> $<24> <0A> <0A> $<24> 3<> 3<> $<24> 0<> 0<> $<24> 6<> 6<> <1E> <1A>-1<><18>G<EFBFBD>,L<><04>)<29>#&<26>=<3D>=<3D>#:<3A>#:<3A>4<EFBFBD>;L<>;L<>h<EFBFBD>#W<><04><08>.8<EFBFBD><04>+<2B><1A>k<EFBFBD>)<29><1C>+<2B>+<2B>-<2D>!<21>m<EFBFBD>m<EFBFBD>7<>7<>;<3B>A<EFBFBD>3<EFBFBD>a<EFBFBD>@<40><1A><1A><1D><14><08><08><0E><0E>u<EFBFBD>%<25><14> <0A> <0A><0F>c<14><>d<13>}<7D>}<7D>(<28>(<28> 2<>&*<2A>h<EFBFBD>h<EFBFBD>n<EFBFBD>n<EFBFBD>&6<> #<23>X<EFBFBD>{<7B><15>~<7E>'<27><06><14><1D><1D>*<2A>*<2A>h<EFBFBD>Z<EFBFBD>q<EFBFBD><1B> <0A>R<EFBFBD><06>x<EFBFBD>+P<>Q<>B<EFBFBD><14><1C><1C><1E><01>"<22>B<EFBFBD><14>#<23>#<23>B<EFBFBD>'<27>T<EFBFBD> 1<><31>  2<>s <00>B8R(<00>;O-R(<00>(T;<03>A1T6<03>6T;)FTNNNNN)r<>N)r r rrrr<>r<>rn<00>
RdataClass<EFBFBD> transaction<6F> Transaction<6F>boolrrtr<00>Namer<65>rp<00> RdataTyperQrWr\r~rr<>r<>r<>rrrr+r+Xs+<00><00>2<>$<24>15<31>+/<2F> $<24>:><3E>7;<3B>"&<26>0A<01> <10>]<5D>]<5D> $<24> $<24>0A<01><15><1E><1E>*<2A>*<2A>0A<01><11>_<EFBFBD>_<EFBFBD> (<28> (<28> 0A<01>
<1C> 0A<01> <1F><18>#<23><1D>.<2E> 0A<01><18>H<EFBFBD>H<EFBFBD>M<EFBFBD>M<EFBFBD>D<EFBFBD>(<28>0A<01><17><14>:<3A>0A<01><1B>~<7E>~<7E>0<>0<>4<EFBFBD>7<>0A<01><1A>m<EFBFBD>m<EFBFBD>-<2D>-<2D><04>4<>0A<01><19>4<EFBFBD>Z<EFBFBD>0A<01>d<16> <15> z$<24>x+0<>#<23>+0<>%<25><03>S<EFBFBD>#<23>s<EFBFBD>C<EFBFBD>0G<30>*H<>+0<>ZJ(<28>X`2rr+c<00>`<00><00>eZdZ<02>fd<01>Zd<02>Zd<03>Zd<04>Zd<05>Zd<06>Zd<07>Z d<08>Z
d <09>Z d
<EFBFBD>Z d <0B>Z d <0C>Z<0E>xZS) <0A>RRsetsReaderTransactionc<00>><00><01>|rJ<00>t<00>|<00>|||<03>i|_yr;)<03>superrQ<00> rdatasets)rOr?<00> replacement<6E> read_only<6C> __class__s <20>rrQz RRsetsReaderTransaction.__init__2s#<00><><00><1C><1C>}<7D> <0A><07><18><17>+<2B>y<EFBFBD>9<><1B><04>rc<00>><00>|jj|||f<03>Sr;)r<>rS<00>rOrry<00>coverss r<00> _get_rdatasetz%RRsetsReaderTransaction._get_rdataset7s<00><00><13>~<7E>~<7E>!<21>!<21>4<EFBFBD><16><16>"8<>9<>9rc<00><><00>g}|jj<00>D] \\}}}}||k(s<01>|j|<05><00>"t|<02>dk(rytj
j <00>}||_|S<00>Nr)r<><00>itemsr<73>r<>rr<00>Node)rOrr<><00> rdataset_namerPr rs r<00> _get_nodez!RRsetsReaderTransaction._get_node:sm<00><00><16> <09>/3<>~<7E>~<7E>/C<>/C<>/E<> +<2B> !<21>]<5D>A<EFBFBD>q<EFBFBD>8<EFBFBD><13>}<7D>$<24><19> <20> <20><18>*<2A>0F<01> <0F>y<EFBFBD>><3E>Q<EFBFBD> <1E><17><12>x<EFBFBD>x<EFBFBD>}<7D>}<7D><EFBFBD><04>"<22><04><0E><13> rc<00>P<00>||j||j|jf<yr;)r<>ryr<>)rOrr s r<00> _put_rdatasetz%RRsetsReaderTransaction._put_rdatasetEs<00><00>CK<43><04><0E><0E><04>h<EFBFBD>o<EFBFBD>o<EFBFBD>x<EFBFBD><EFBFBD><EFBFBD>?<3F>@rc<00><><00>g}|jD]}|d|k(s<01> |j|<03><00>t|<02>dkDr|D]}|j|=<00>yyr<>)r<>r<>r<>)rOr<00>remove<76>keys r<00> _delete_namez$RRsetsReaderTransaction._delete_nameHsT<00><00><13><06><17>><3E>><3E>C<EFBFBD><12>1<EFBFBD>v<EFBFBD><14>~<7E><16> <0A> <0A>c<EFBFBD>"<22>"<22> <0F>v<EFBFBD>;<3B><11>?<3F><1D><03><18>N<EFBFBD>N<EFBFBD>3<EFBFBD>'<27><1E> rc<00>D<00> |j|||f=y#t$rYywxYwr;)r<><00>KeyErrorr<72>s r<00>_delete_rdatasetz(RRsetsReaderTransaction._delete_rdatasetRs,<00><00> <11><14><0E><0E><04>f<EFBFBD>f<EFBFBD>5<>6<><36><17> <11> <10> <11>s <00><00> <03>c<00><<00>|jD] \}}}||k(s<01> yy<02>NTF)r<>)rOrr<>rPs r<00> _name_existsz$RRsetsReaderTransaction._name_existsXs%<00><00><1B>~<7E>~<7E>G<EFBFBD>A<EFBFBD>q<EFBFBD>!<21><10>D<EFBFBD>y<EFBFBD><1B>&<26>rc<00>2<00>t|j<00>dkDSr<>)r<>r<><00>rOs r<00>_changedz RRsetsReaderTransaction._changed^s<00><00><12>4<EFBFBD>><3E>><3E>"<22>Q<EFBFBD>&<26>&rc<00>v<00>|r<>|j<00>r<>g}|jj<00>D]k\\}}}}tjj ||j |j|j<00>}|j|<05>|j|<06><00>m|jj|<02>yyyr;) rr<>r<>r<00>rrset<65>RRsetr-ryr<><00>updater<65>r?<00>
set_rrsets)rO<00>commit<69>rrsetsrrPr r s r<00>_end_transactionz(RRsetsReaderTransaction._end_transactionas<><00><00> <11>d<EFBFBD>m<EFBFBD>m<EFBFBD>o<EFBFBD><17>F<EFBFBD>*.<2E>.<2E>.<2E>*><3E>*><3E>*@<40>&<26> <0C><14>q<EFBFBD>!<21>h<EFBFBD><1B> <09> <09><0F><0F><18>(<28>*<2A>*<2A>H<EFBFBD>O<EFBFBD>O<EFBFBD>X<EFBFBD>_<EFBFBD>_<EFBFBD><12><05><16> <0C> <0C>X<EFBFBD>&<26><16> <0A> <0A>e<EFBFBD>$<24> +A<01> <11>L<EFBFBD>L<EFBFBD> #<23> #<23>F<EFBFBD> +<2B>&<26>6rc<00><00>yr;r)rO<00>origins rr<>z#RRsetsReaderTransaction._set_originls<00><00> rc<00><00>t<00>r;<00><01>NotImplementedErrorrs r<00>_iterate_rdatasetsz*RRsetsReaderTransaction._iterate_rdatasetso<00><00><00>!<21>!rc<00><00>t<00>r;rrs r<00>_iterate_namesz&RRsetsReaderTransaction._iterate_namesrrr)r r rrQr<>r<>r<>r<>rrrrr<>rr<00> __classcell__)r<>s@rr<>r<>1s@<00><><00><1C>
:<3A> <14>L<01>(<28><11> <15> '<27> ,<2C> <0A>"<22>"rr<>c<00>&<00>eZdZejj
dej jfdejjdzde dej jfd<06>Z d<07>Z dd<08>Z d <09>Zd
<EFBFBD>Zd eej"j$d dfd <0A>Zy)<0F>RRSetsReaderManagerFrNrBr-c<00><<00>||_||_||_g|_yr;)rrBr-r)rOrrBr-s rrQzRRSetsReaderManager.__init__ws <00><00> <1D><04> <0B>$<24><04><0F><1E><04> <0C>-/<2F><04> rc<00><00>t<00>r;rrs r<00>readerzRRSetsReaderManager.reader<65>rrc<00>(<00>|dusJ<00>t|dd<02>Sr)r<>)rOr<>s r<00>writerzRRSetsReaderManager.writer<65>s<00><00><1A>d<EFBFBD>"<22>"<22>"<22>&<26>t<EFBFBD>T<EFBFBD>5<EFBFBD>9<>9rc<00><00>|jSr;)r-rs r<00> get_classzRRSetsReaderManager.get_class<73>s <00><00><13>|<7C>|<7C>rc<00><><00>|jrtjj}n |j}|j|j|fSr;)rBrr<00>emptyr)rO<00> effectives rr@z&RRSetsReaderManager.origin_information<6F>s4<00><00> <0F>?<3F>?<3F><1B><08><08><0E><0E>I<EFBFBD><1C> <0B> <0B>I<EFBFBD><14> <0B> <0B>T<EFBFBD>_<EFBFBD>_<EFBFBD>i<EFBFBD>8<>8rrr<>c<00><00>||_yr;)r)rOrs rr zRRSetsReaderManager.set_rrsets<74>s <00><00><1C><04> r)F)r r rrr<00>rootrn<00>INr<4E>r<>r<>rQrr r"r@rr r
r rrrrrvs<><00><00>(+<2B>x<EFBFBD>x<EFBFBD>}<7D>}<7D> <20>-0<>^<5E>^<5E>-><3E>-><3E> 0<><13><08><08> <0A> <0A><04>$<24> 0<><19> 0<><15><1E><1E>*<2A>*<2A> 0<>"<22>:<3A><1C>9<><1D><14>c<EFBFBD>i<EFBFBD>i<EFBFBD>o<EFBFBD>o<EFBFBD>!6<><1D>4<EFBFBD>rrF<>textrrjr-<00>default_rdclassryr4r<>rrBr<>c
<00><><00>t|t<00>r9tjj |tjj
|<07>}t|t<00>r!tjj |||<07>}t|t<00>rtj j |<02>}t|t<00>rtj j |<06>}|<03>*tjjj|<03>}nd}tjjj|<04>}|<05>*tjjj|<05>}nd}t|| |<04>}
|
jd<02>5} tjj|d|<07><04>} t!| || d|||||<06><06> } | j#<00>ddd<01>|
j$S#1swY|
j$SxYw)a<> Read one or more rrsets from the specified text, possibly subject
to restrictions.
*text*, a file object or a string, is the input to process.
*name*, a string, ``dns.name.Name``, or ``None``, is the owner name of
the rrset. If not ``None``, then the owner name is "forced", and the
input must not specify an owner name. If ``None``, then any owner names
are allowed and must be present in the input.
*ttl*, an ``int``, string, or None. If not ``None``, the the TTL is
forced to be the specified value and the input must not specify a TTL.
If ``None``, then a TTL may be specified in the input. If it is not
specified, then the *default_ttl* will be used.
*rdclass*, a ``dns.rdataclass.RdataClass``, string, or ``None``. If
not ``None``, then the class is forced to the specified value, and the
input must not specify a class. If ``None``, then the input may specify
a class that matches *default_rdclass*. Note that it is not possible to
return rrsets with differing classes; specifying ``None`` for the class
simply allows the user to optionally type a class as that may be convenient
when cutting and pasting.
*default_rdclass*, a ``dns.rdataclass.RdataClass`` or string. The class
of the returned rrsets.
*rdtype*, a ``dns.rdatatype.RdataType``, string, or ``None``. If not
``None``, then the type is forced to the specified value, and the
input must not specify a type. If ``None``, then a type must be present
for each RR.
*default_ttl*, an ``int``, string, or ``None``. If not ``None``, then if
the TTL is not forced and is not specified, then this value will be used.
if ``None``, then if the TTL is not forced an error will occur if the TTL
is not specified.
*idna_codec*, a ``dns.name.IDNACodec``, specifies the IDNA
encoder/decoder. If ``None``, the default IDNA 2003 encoder/decoder
is used. Note that codecs only apply to the owner name; dnspython does
not do IDNA for names in rdata, as there is no IDNA zonefile format.
*origin*, a string, ``dns.name.Name``, or ``None``, is the origin for any
relative names in the input, and also the origin to relativize to if
*relativize* is ``True``.
*relativize*, a bool. If ``True``, names are relativized to the *origin*;
if ``False`` then any relative names in the input are made absolute by
appending the *origin*.
NTz<input>)r<>F)r/r0r1r2r3r4)<13>
isinstancertrrrkr'rjrnr<><00>makerpr<>rr r<>r<>r+r<>r)r)rrjr-r*ryr4r<>rrBr?rr,rs r<00> read_rrsetsr.<00>s{<00><00>z<12>&<26>#<23><1E><14><18><18>#<23>#<23>F<EFBFBD>C<EFBFBD>H<EFBFBD>H<EFBFBD>M<EFBFBD>M<EFBFBD>:<3A>F<><06><11>$<24><03><1C><12>x<EFBFBD>x<EFBFBD>!<21>!<21>$<24><06>
<EFBFBD>;<3B><04><11>#<23>s<EFBFBD><1B><11>g<EFBFBD>g<EFBFBD><1F><1F><03>$<24><03><11>+<2B>s<EFBFBD>#<23><19>g<EFBFBD>g<EFBFBD>'<27>'<27> <0B>4<> <0B><0E><1A><15>.<2E>.<2E>+<2B>+<2B>0<>0<><17>9<><07><16><07><19>n<EFBFBD>n<EFBFBD>/<2F>/<2F>4<>4<>_<EFBFBD>E<>O<EFBFBD> <0A><19><14><1D><1D>(<28>(<28>-<2D>-<2D>f<EFBFBD>5<><06><15><06>!<21>&<26>*<2A>o<EFBFBD>F<>G<EFBFBD> <10><1E><1E><04> <1D><13><11>m<EFBFBD>m<EFBFBD>%<25>%<25>d<EFBFBD>I<EFBFBD>*<2A>%<25>M<><03><17> <0F> <1B> <0F>"<22><1B><19>!<21><1F>#<23>

<EFBFBD><06> <0F> <0B> <0B> <0A>
<1E> <13>><3E>><3E><19>
<1E> <13>><3E>><3E><19>s <00><AG<03>G+)5rr<>rr<00>typingrrrrrr<00> dns.exceptionr<00>
dns.grange<67>dns.name<6D>dns.node<64> dns.rdata<74>dns.rdataclass<73> dns.rdatatype<70>dns.rdtypes.ANY.SOA<4F> dns.rrset<65> dns.tokenizer<65>dns.transaction<6F>dns.ttlrZ<00> DNSExceptionr
rr#r<>r<>rr<>r<>r<><00>SavedStateTyper)r+r<>r<>r<><00>TransactionManagerrrnr(r'rtr<>rpr<><00> IDNACodecr r
r.rrr<00><module>r@s6<00><01>$<11> <09>
<EFBFBD>8<>8<><14><11><0F><0F><10><15><14><1A><10><14><16><0E><19>C<EFBFBD>M<EFBFBD>M<EFBFBD>.<2E>.<2E><19>,<2C><03> <0A> <0A>2<>2<>,<2C>
<EFBFBD>.<17><07>M<EFBFBD>M<EFBFBD><1B><1B><07>H<EFBFBD>H<EFBFBD>M<EFBFBD>M<EFBFBD>D<EFBFBD><18><07>H<EFBFBD>H<EFBFBD>M<EFBFBD>M<EFBFBD>D<EFBFBD><18><07>$<24>J<EFBFBD><07><08><07><08>
<EFBFBD> <02><0E> <0A>V2<>V2<>rB"<22>c<EFBFBD>o<EFBFBD>o<EFBFBD>9<>9<>B"<22>J<1D>#<23>/<2F>/<2F><<3C><<3C><1D>F(,<2C><1A>69<36>n<EFBFBD>n<EFBFBD>6G<36>6G<36>7:<3A>~<7E>~<7E>7H<37>7H<37>37<33>$(<28>,0<>),<2C><18><18><1D><1D><1C>]<1A>
<0A>]<1A>
<0A>(<28>(<28>-<2D>-<2D>#<23>
<1D><04>
$<24>]<1A>
<0A>t<EFBFBD><1A>]<1A><11>^<5E>^<5E> &<26> &<26><13> ,<2C>t<EFBFBD> 3<> ]<1A>
<19>^<5E>^<5E>.<2E>.<2E><13>4<> ]<1A> <10>M<EFBFBD>M<EFBFBD> #<23> #<23>c<EFBFBD> )<29>D<EFBFBD> 0<> ]<1A><15>s<EFBFBD><19>T<EFBFBD>!<21>]<1A><14><08><08>"<22>"<22>T<EFBFBD>)<29>]<1A> <10>H<EFBFBD>H<EFBFBD>M<EFBFBD>M<EFBFBD>C<EFBFBD> <1F>$<24> &<26>]<1A><15>]<1A>
<EFBFBD>#<23>)<29>)<29>/<2F>/<2F><1A>]r