ó
    0/¡jeo  ã                   ó„  • S r SSKrSSKrSSKJrJrJrJrJrJ	r	  SSK
rSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKr " S S\R.                  R0                  5      r " S S\R.                  R0                  5      rS r\\R8                  R:                  \R<                  R>                  S-  \R<                  R>                  S-  \S-  \ \!\ \!4   r"S	 r# " S
 S5      r$ " S S\RJ                  RL                  5      r' " S S\RJ                  RP                  5      r)SS\RT                  RV                  \RT                  RV                  SSS\R<                  RX                  S4	S\S\R<                  R>                  \--  S-  S\ S-  S\RT                  R\                  \--  S-  S\RT                  R\                  \--  S\R^                  R`                  \--  S-  S\ \--  S-  S\R<                  Rb                  S-  S\R<                  R>                  \--  S-  S\!S\\Rd                  Rf                     4S jjr4g)z
DNS Zones.é    N)ÚAnyÚIterableÚListÚSetÚTupleÚcastc                   ó   • \ rS rSrSrSrg)ÚUnknownOriginé&   zUnknown origin© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Úe/var/www/html/health-monitoring.indevconsultancy.in/venv/lib/python3.13/site-packages/dns/zonefile.pyr
   r
   &   s   † Ür   r
   c                   ó   • \ rS rSrSrSrg)ÚCNAMEAndOtherDataé*   z!A node has a CNAME and other datar   Nr   r   r   r   r   r   *   s   † Ü+r   r   c                 ó  • [         R                  R                  R                  U5      nU R	                  U5      nUc  g UR                  5       nU[         R                  R                  R                  :X  a3  U[         R                  R                  R                  :X  a  [        S5      eU[         R                  R                  R                  :X  a4  U[         R                  R                  R                  :X  a  [        S5      eg g )Nz1rdataset type is not compatible with a CNAME nodez9CNAME rdataset is not compatible with a regular data node)	ÚdnsÚnodeÚNodeKindÚclassify_rdatasetÚget_nodeÚclassifyÚCNAMEÚREGULARr   )ÚtxnÚnameÚrdatasetÚrdataset_kindr   Ú	node_kinds         r   Ú_check_cname_and_other_datar'   .   sÃ   € Ü—H‘H×%Ñ%×7Ñ7¸ÓA€MØ�<‰<˜Ó€DØ�|àØ—‘“€Ià”S—X‘X×&Ñ&×,Ñ,Ó,ØœSŸX™X×.Ñ.×6Ñ6Ó6äÐ SÓTÐTà”S—X‘X×&Ñ&×.Ñ.Ó.ØœSŸX™X×.Ñ.×4Ñ4Ó4äØGó
ð 	
ð 5ð 	/r   c                 ó\   • U R                  5       n U R                  S5      (       d  SU -   n U $ )NÚ$)ÚupperÚ
startswith)Úss    r   Ú_upper_dollarizer-   Q   s*   € Ø	�‰‹	€AØ�<‰<˜×ÑØ�!‰GˆØ€Hr   c                   óº  • \ rS rSrSr       SS\R                  R                  S\R                  R                  S\R                  R                  S\S\\\   -  S	\R                  R                   S-  S
\S-  S\R                  R                  S-  S\R$                  R&                  S-  S\S-  4S jjrS rS rS rS\S\\\\\\4   4S jrS rSS jrSrg)ÚReaderéX   z(Read a DNS zone file into a transaction.NÚtokÚrdclassr"   Úallow_includeÚallow_directivesÚ
force_nameÚ	force_ttlÚforce_rdclassÚforce_rdtypeÚdefault_ttlc                 óh  • Xl         UR                  R                  5       u  U l        U l        nU R                  U l        SU l        SU l        Ub  Un
U
c  SU l        SU l	        OX l        SU l	        U R
                  U l
        X l        X0l        / U l        S U l        U   USL a,  1 SkU l        U(       a  U R                  R!                  S5        O,USL a  [#        5       U l        O[#        S U 5       5      U l        X`l        Xpl        X€l        X�l        U R                  R-                  [.        5        g )Nr   FT>   ú$TTLú$ORIGINú	$GENERATEú$INCLUDEc              3   ó8   #   • U  H  n[        U5      v •  M     g 7f©N)r-   )Ú.0Úds     r   Ú	<genexpr>Ú"Reader.__init__.<locals>.<genexpr>†   s   é € Ð)XÒGWÀ!Ô*:¸1×*=Ð*=ÒGWùs   ‚)r1   ÚmanagerÚorigin_informationÚzone_originÚ
relativizeÚcurrent_originÚlast_ttlÚlast_ttl_knownr9   Údefault_ttl_knownÚ	last_nameÚzone_rdclassr"   Úsaved_stateÚcurrent_fileÚallowed_directivesÚaddÚsetr5   r6   r7   r8   Úcheck_put_rdatasetr'   )Úselfr1   r2   r"   r3   r4   r5   r6   r7   r8   r9   Ú_s               r   Ú__init__ÚReader.__init__[   s  € ð ŒØ14·±×1OÑ1OÓ1QÑ.ˆÔ	˜4œ?¨AØ"×.Ñ.ˆÔØˆŒØ#ˆÔØÑ Ø#ˆKØÑØ ˆDÔØ%*ˆDÕ"à*ÔØ%)ˆDÔ"Ø×,Ñ,ˆŒØ#ÔØŒØ13ˆÔØ(,ˆÔÙØ˜tÒ#Ú&FˆDÔ#ÞØ×'Ñ'×+Ñ+¨JÔ7øØ Ò&ô '*£eˆDÕ#ô '*Ñ)XÑGWÓ)XÓ&XˆDÔ#Ø$ŒØ"ŒØ*ÔØ(ÔØ�‰×#Ñ#Ô$?Õ@r   c                 óh   •  U R                   R                  5       nUR                  5       (       a  g M2  r@   )r1   ÚgetÚis_eol_or_eof©rU   Útokens     r   Ú	_eat_lineÚReader._eat_line�   s+   € ØØ—H‘H—L‘L“NˆEØ×"Ñ"×$Ñ$Øñ r   c                 ó˜   • U R                   R                  5       nUR                  5       (       d  [        R                  R
                  eU$ r@   )r1   rZ   Úis_identifierr   Ú	exceptionÚSyntaxErrorr\   s     r   Ú_get_identifierÚReader._get_identifier“   s5   € Ø—‘—‘“ˆØ×"Ñ"×$Ñ$Ü—-‘-×+Ñ+Ð+Øˆr   c           	      óÐ  • SnU R                   b  U R                   nGOQU R                  c  [        eU R                  R	                  SS9nUR                  5       (       d+  U R                  R                  XR                  5      U l        OKU R                  R	                  5       nUR                  5       (       a  gU R                  R                  U5        U R                  nUc  [        R                  R                  S5      eU R                  c   eUR                  U R                  5      (       d  U R                  5         gU R                   (       a  UR!                  U R                  5      nU R"                  b  U R"                  nX0l        SU l        OKU R)                  5       nSn [        R*                  R-                  UR.                  5      nX0l        SU l        SnU R2                  b  U R2                  nOhU R)                  5       n [        R4                  R-                  UR.                  5      nX@R8                  :w  a  [        R                  R                  S5      eUcK  U R)                  5       nSn [        R*                  R-                  UR.                  5      nX0l        SU l        SnU R>                  b  U R>                  nO:U R)                  5       n [        R@                  R-                  UR.                  5      n [        RB                  R-                  UUU R                  U R                  U R                   U R                  5      nU R:                  (       d}  U[        R@                  RJ                  :X  a_  [M        [        RN                  RP                  RJ                  RJ                  U5      n	U	RR                  U l        SU l        Uc  U	RR                  nUc  [        R                  R                  S5      eU RT                  RW                  X#U5        g! [        R*                  R0                   a    U R                  R                  U5         GNzf = f! [        R                  R                   a    e [6         a+    U R8                  nU R                  R                  U5         GN|f = f! [        R*                  R0                   aZ    U R:                  (       a  U R<                  nOU R&                  (       a  U R$                  nU R                  R                  U5         GN{f = f! [6         a.    [        R                  R                  SUR.                   S35      ef = f! [        R                  R                   a    e [6         aR    [D        RF                  " 5       SS u  px[        R                  R                  S	[I        U5       S
[I        U5       35      ef = f)z&Process one line from a DNS zone file.NT)Úwant_leadingzthe last used name is undefinedúRR class is not zone's classúunknown rdatatype 'Ú'é   úcaught exception ú: úMissing default TTL value),r5   rI   r
   r1   rZ   Úis_whitespaceÚas_namerM   r[   Úungetr   rb   rc   rG   Úis_subdomainr^   rH   r6   rJ   rK   rd   ÚttlÚ	from_textÚvalueÚBadTTLr7   Ú
rdataclassÚ	ExceptionrN   rL   r9   r8   Ú	rdatatypeÚrdataÚsysÚexc_infoÚstrÚSOAr   ÚrdtypesÚANYÚminimumr"   rR   )
rU   r]   r#   rs   r2   ÚrdtypeÚrdÚtyÚvaÚsoa_rds
             r   Ú_rr_lineÚReader._rr_line™   sŽ  € àˆà�?‰?Ñ&Ø—?‘?ŠDà×"Ñ"Ñ*Ü#Ð#Ø—H‘H—L‘L¨d�LÐ3ˆEØ×&Ñ&×(Ñ(Ø!%§¡×!1Ñ!1°%×9LÑ9LÓ!M�•àŸ™Ÿ™›�Ø×&Ñ&×(Ñ(àØ—‘—‘˜uÔ%Ø—>‘>ˆDØ‰|Ü—m‘m×/Ñ/Ð0QÓRÐRØ×#Ñ#Ñ/Ð/Ð/Ø×$Ñ$ T×%5Ñ%5×6Ñ6Ø—‘Ô ØØ��Ø—‘ t×'7Ñ'7Ó8�ð �>‰>Ñ%Ø—.‘.ˆCØŒMØ"&ˆDÕà×(Ñ(Ó*ˆEØˆCð&Ü—g‘g×'Ñ'¨¯©Ó4�Ø #”Ø&*�Ô#Ø�ð
 ×ÑÑ)Ø×(Ñ(‰Gà×(Ñ(Ó*ˆEð&ÜŸ.™.×2Ñ2°5·;±;Ó?�ð ×+Ñ+Ó+Ü—m‘m×/Ñ/Ð0NÓOÐOà‰;à×(Ñ(Ó*ˆEØˆCð
&Ü—g‘g×'Ñ'¨¯©Ó4�Ø #”Ø&*�Ô#Ø�ð ×ÑÑ(Ø×&Ñ&‰Fà×(Ñ(Ó*ˆEðVÜŸ™×0Ñ0°·±Ó=�ð	VÜ—‘×$Ñ$ØØØ—‘Ø×#Ñ#Ø—‘Ø× Ñ óˆBð( ×%×%¨&´C·M±M×4EÑ4EÓ*Eô œ#Ÿ+™+Ÿ/™/×-Ñ-×1Ñ1°2Ó6ˆFØ%Ÿ~™~ˆDÔØ%)ˆDÔ"Ø‰{à—n‘n�ð ‰;Ü—-‘-×+Ñ+Ð,GÓHÐHà�‰�‰�T Õ#øôc —7‘7—>‘>ó &Ø—‘—‘˜u×%ð&ûô —=‘=×,Ñ,ó ØÜó &Ø×+Ñ+�Ø—‘—‘˜u×%ð&ûô —7‘7—>‘>ó &Ø×)×)Ø×*Ñ*‘CØ×(×(ØŸ-™-�CØ—‘—‘˜u×%ð&ûô ó VÜ—m‘m×/Ñ/Ð2EÀeÇkÁkÀ]ÐRSÐ0TÓUÐUðVûô �}‰}×(Ñ(ó 	àÜó 	Vô —|’|“~ b qÐ)‰HˆRÜ—-‘-×+Ñ+Ð.?ÄÀBÃ¸yÈÌ3ÈrË7È)Ð,TÓUÐUð	VúsR   Æ)8P È)Q É98R5 Ë)T0 ÌAU+ Ð9QÑQÑAR2Ò1R2Ò5A4T-Ô,T-Ô08U(Õ+A:W%ÚsideÚreturnc                 ó´  • [         R                  " S5      n[         R                  " S5      n[         R                  " S5      nSnSnSnSnSn	UR                  U5      n
U
(       a  U
R                  5       u  pVpxn	US:X  a  SnOmUR                  U5      nU(       a   UR                  5       u  pVnUS:X  a  SnSnSn	O5UR                  U5      nU(       a  UR                  5       u  pVpxUS:X  a  SnSn	[	        U5      n[	        U5      nUS;  a"  [
        R                  R                  S	U 35      eU	S
;  a"  [
        R                  R                  SU	 35      eXVXÞU	4$ )Nz"^.*\$({(\+|-?)(\d+),(\d+),(.)}).*$z^.*\$({(\+|-?)(\d+)}).*$z^.*\$({(\+|-?)(\d+),(\d+)}).*$Ú Ú+Ú0rB   )r�   Ú-zinvalid offset sign )rB   ÚoÚxÚXÚnÚNzinvalid type )ÚreÚcompileÚmatchÚgroupsÚintr   rb   rc   )rU   r‰   Úis_generate1Úis_generate2Úis_generate3ÚmodÚsignÚoffsetÚwidthÚbaseÚg1Úg2Úg3ÚioffsetÚiwidths                  r   Ú_parse_modifyÚReader._parse_modify  sT  € ô —z’zÐ"GÓHˆÜ—z’zÐ"=Ó>ˆÜ—z’zÐ"CÓDˆð ˆØˆØˆØˆØˆØ×Ñ Ó%ˆÞØ-/¯Y©Y«[Ñ*ˆC�v dØ�r‹zØ�øà×#Ñ# DÓ)ˆBÞØ$&§I¡I£KÑ!�˜6Ø˜2“:Ø�DØ�Ø‘à!×'Ñ'¨Ó-�ÞØ/1¯y©y«{Ñ,�C˜vØ˜r“zØ"˜Ø�Dä�f“+ˆÜ�U“ˆà�zÓ!Ü—-‘-×+Ñ+Ð.BÀ4À&Ð,IÓJÐJØÐ5Ó5Ü—-‘-×+Ñ+¨m¸D¸6Ð,BÓCÐCà˜'¨4Ð/Ð/r   c           
      ó\  ^• U R                   c  [        eU R                  R                  5       n [        R
                  R                  UR                  5      u  p#nU R                  R                  5       nUR                  5       (       d  [        R                  R                  e  UR                  nU R                  R                  5       nUR                  5       (       d  [        R                  R                  e  [        R                  R                  UR                  5      nX`l        SU l        U R                  R                  5       nUR                  5       (       d  [        R                  R                  e  [        R$                  R                  UR                  5      nU R                  R                  5       nUR                  5       (       d  [        R                  R                  e XpR&                  :w  a  [        R                  R                  S5      e [        R(                  R                  UR                  5      nU R                  R                  5       nUR                  5       (       d  [        R                  R                  e UR                  n	S[*        S[,        S	[*        S
[*        4S jn
S[*        S[,        S[*        S
[,        4U4S jjmU R/                  U5      u  p¼pÞnU R/                  U	5      u  nnnnn[1        X#S-   U5       GHq  nU
" UXÍ5      nU
" UUU5      nT" UXþ5      nT" UUU5      nUR3                  SU 3U5      nU	R3                  SU 3U5      n[        R4                  R                  UU R                   U R                  R6                  5      U l        U R8                  nU R:                  c   eUR=                  U R:                  5      (       d  U R?                  5           gU R@                  (       a  URA                  U R:                  5      n [        RB                  R                  UUUU R                   U R@                  U R:                  5      nU RH                  RK                  UUU5        GMt     g! [         a    [        R                  R                  ef = f! [         a    [        R                  R                  ef = f! [        R                  R                   a¡    U R                  (       d0  U R                   (       d  [        R                  R                  S5      eU R                   (       a  U R"                  n GNàU R                  (       a  U R                  n GN [        R                  R                  S5      ef = f! [        R                  R                   a    [        R                  R                  e[         a    U R&                  n GNÿf = f! [         a.    [        R                  R                  SUR                   S35      ef = f! [        R                  R                   a    e [         aS    [D        RF                  " 5       SS u  nn[        R                  R                  S[-        U5       S[-        U5       35      ef = f)zHProcess one line containing the GENERATE statement from a DNS
zone file.NTrn   rh   ri   rj   ÚcounterÚoffset_signrŸ   rŠ   c                 ó    • US:X  a  US-  nX-   $ )z0Calculate the index from the counter and offset.r�   éÿÿÿÿr   )rª   r«   rŸ   s      r   Ú_calculate_indexÚ/Reader._generate_line.<locals>._calculate_index‰  s   € à˜cÓ!Ø˜"‘�ØÑ#Ð#r   Úindexr¡   r    c                 ó¼   >• US;   a  [        X5      R                  U5      $ T" U SU5      nSR                  USSS2   5      SU nUS:X  a  UR                  5       nU$ )zJFormat the index with the given base, and zero-fill it
to the given width.)rB   r�   r‘   r’   r‘   Ú.Nr­   r”   )ÚformatÚzfillÚjoinr*   )r°   r¡   r    ÚhexaÚnibblesÚ_format_indexs        €r   r¸   Ú,Reader._generate_line.<locals>._format_index�  sh   ø€ ð Ð+Ó+Ü˜eÓ*×0Ñ0°Ó7Ð7ñ ! ¨¨UÓ3ˆDØ—h‘h˜t¡D b D™zÓ*¨6¨EÐ2ˆGØ�s‹{Ø!Ÿ-™-›/�ØˆNr   é   r)   rk   rl   rm   )&rI   r
   r1   rZ   r   Úgrangert   ru   ra   rb   rc   rx   rs   rJ   rK   rv   rL   r9   rw   rN   ry   r™   r}   r§   ÚrangeÚreplacer#   Ú
idna_codecrM   rG   rr   r^   rH   rz   r{   r|   r"   rR   ) rU   r]   ÚstartÚstopÚstepÚlhsrs   r2   r‚   Úrhsr®   ÚlmodÚlsignÚloffsetÚlwidthÚlbaseÚrmodÚrsignÚroffsetÚrwidthÚrbaseÚiÚlindexÚrindexÚlzfindexÚrzfindexr#   rz   rƒ   r„   r…   r¸   s                                   @r   Ú_generate_lineÚReader._generate_lineB  sR  ø€ ð ×ÑÑ&ÜÐà—‘—‘“ˆð	,Ü #§
¡
× 4Ñ 4°U·[±[Ó AÑˆE˜Ø—H‘H—L‘L“NˆEØ×&Ñ&×(Ñ(Ü—m‘m×/Ñ/Ð/ð )ð	,Ø—+‘+ˆCØ—H‘H—L‘L“NˆEØ×&Ñ&×(Ñ(Ü—m‘m×/Ñ/Ð/ð )ð	MÜ—'‘'×#Ñ# E§K¡KÓ0ˆCØŒMØ"&ˆDÔØ—H‘H—L‘L“NˆEØ×&Ñ&×(Ñ(Ü—m‘m×/Ñ/Ð/ð )ð 	(Ü—n‘n×.Ñ.¨u¯{©{Ó;ˆGØ—H‘H—L‘L“NˆEØ×&Ñ&×(Ñ(Ü—m‘m×/Ñ/Ð/ð )ð ×'Ñ'Ó'Ü—-‘-×+Ñ+Ð,JÓKÐKð	RÜ—]‘]×,Ñ,¨U¯[©[Ó9ˆFØ—H‘H—L‘L“NˆEØ×&Ñ&×(Ñ(Ü—m‘m×/Ñ/Ð/ð )ð �k‰kˆð	$¤cð 	$¼ð 	$ÄSð 	$ÌSô 	$ð	¤ð 	¬Cð 	¼ð 	Ä÷ 	ð /3×.@Ñ.@ÀÓ.EÑ+ˆ�W eØ.2×.@Ñ.@ÀÓ.EÑ+ˆˆe�W˜f eÜ�u Q™h¨×-ˆAñ & a¨Ó8ˆFÙ% a¨°Ó8ˆFá$ V¨UÓ;ˆHÙ$ V¨U°FÓ;ˆHà—;‘;  4 &˜z¨8Ó4ˆDØ—K‘K ! D 6 
¨HÓ5ˆEä ŸX™X×/Ñ/Ø�d×)Ñ)¨4¯8©8×+>Ñ+>óˆDŒNð —>‘>ˆDØ×#Ñ#Ñ/Ð/Ð/Ø×$Ñ$ T×%5Ñ%5×6Ñ6Ø—‘Ô ÙØ��Ø—‘ t×'7Ñ'7Ó8�ðÜ—Y‘Y×(Ñ(ØØØØ×'Ñ'Ø—O‘OØ×$Ñ$ó�ð, �H‰H�L‰L˜˜s B×'ò] .øô] ó 	,Ü—-‘-×+Ñ+Ð+ð	,ûô ó 	,Ü—-‘-×+Ñ+Ð+ð	,ûô �w‰w�~‰~ó 	MØ×'×'¨4×+A×+AÜ—m‘m×/Ñ/Ð0KÓLÐLØ×%×%Ø×&Ñ&“Ø×$×$Ø—m‘m“ô
 —m‘m×/Ñ/Ð0KÓLÐLð	Mûô& �}‰}×(Ñ(ó 	,Ü—-‘-×+Ñ+Ð+Üó 	(Ø×'Ñ'‹Gð	(ûô ó 	RÜ—-‘-×+Ñ+Ð.AÀ%Ç+Á+ÀÈaÐ,PÓQÐQð	Rûôv —=‘=×,Ñ,ó àÜó 	ô Ÿ<š<›>¨"¨1Ð-‘��RÜ—m‘m×/Ñ/Ø'¬¨B« y°´3°r³7°)Ð<óð ð	úsb   °A5R Â'AR7 Ã>A?S Å?A2V! È!A2W5 Ð*AX0Ò%R4Ò7%SÓA<VÕVÕ> VÖ!AW2×1W2×58X-Ø0A;Z+c           
      óÔ
  •   U R                   R                  SS5      nUR                  5       (       a�  U R                  b  U R                  R	                  5         [        U R                  5      S:”  aN  U R                  R                  S5      u  U l         U l        U l	        U l        U l
        U l        U l        U l        MÀ  gUR                  5       (       a  MØ  UR                  5       (       a  U R                   R!                  5         GM
  UR"                  S   S:X  Ga„  [        U R$                  5      S:”  Gaj  UR"                  R'                  5       nX R$                  ;  a#  [(        R*                  R-                  SU S35      eUS:X  aŸ  U R                   R                  5       nUR/                  5       (       d  [(        R*                  R-                  S	5      e[(        R0                  R3                  UR"                  5      U l        SU l        U R                   R!                  5         GOvUS
:X  a~  U R                   R5                  5       U l        U R                   R!                  5         U R6                  c  U R                  U l        U R8                  R;                  U R                  5        GOòUS:X  Ga±  U R                   R                  5       nUR"                  nU R                   R                  5       nUR/                  5       (       ad  [(        R<                  R3                  UR"                  U R                  U R                   R>                  5      nU R                   R!                  5         O@URA                  5       (       d  [(        R*                  R-                  S5      eU R                  nU R                  RC                  U R                   U R                  U R                  U R                  U R                  U R                  U R                  U R                  45        [E        USS9U l        [(        RF                  RI                  U R                  U5      U l         X@l        O:US:X  a  U RK                  5         O#[(        R*                  R-                  SU S35      eGM¢  U R                   RM                  U5        U RO                  5         GMÏ  ! [(        R*                  R,                   aw  nU R                   RQ                  5       u  p6Uc  Sn[(        R*                  R-                  U SU SU 35      n[R        RT                  " 5       S   nURW                  U5      SeSnAff = f)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
TNr   r­   r)   zzone file directive 'z' is not allowedr;   zbad $TTLr<   r>   zbad origin in $INCLUDEzutf-8)Úencodingr=   zUnknown zone file directive 'rj   zsyntax errorÚ:rm   rk   ),r1   rZ   Úis_eofrP   ÚcloseÚlenrO   ÚpoprI   rM   rJ   rK   r9   rL   Úis_eolÚ
is_commentÚget_eolru   rQ   r*   r   rb   rc   ra   rs   rt   Úget_namerG   r"   Ú_set_originr#   r¾   r[   ÚappendÚopenÚ	tokenizerÚ	TokenizerrÓ   rq   r‡   Úwherer{   r|   Úwith_traceback)	rU   r]   ÚcÚfilenameÚ
new_originÚdetailÚline_numberÚexÚtbs	            r   ÚreadÚReader.readÎ  s'  € ðY	2ØØŸ™Ÿ™ T¨4Ó0�Ø—<‘<—>‘>Ø×(Ñ(Ñ4Ø×)Ñ)×/Ñ/Ô1Ü˜4×+Ñ+Ó,¨qÓ0ð !×,Ñ,×0Ñ0°Ó4ñ	Ø œHØ Ô/Ø œNØ Ô-Ø œMØ Ô/Ø Ô,Ø Ô2á ØØ—\‘\—^‘^ÙØ×%Ñ%×'Ñ'Ø—H‘H×$Ñ$Ô&ÚØ—[‘[ ‘^ sÔ*¬s°4×3JÑ3JÓ/KÈaÔ/Oð Ÿ™×)Ñ)Ó+�AØ× 7Ñ 7Ó7Ü!Ÿm™m×7Ñ7Ø3°A°3Ð6FÐGóð ð ˜F“{Ø $§¡§¡£˜Ø$×2Ñ2×4Ñ4Ü"%§-¡-×";Ñ";¸JÓ"GÐGÜ+.¯7©7×+<Ñ+<¸U¿[¹[Ó+I˜Ô(Ø15˜Ô.ØŸ™×(Ñ(Ö*Ø˜i›Ø.2¯h©h×.?Ñ.?Ó.A˜Ô+ØŸ™×(Ñ(Ô*Ø×+Ñ+Ñ3Ø/3×/BÑ/B˜DÔ,ØŸ™×,Ñ,¨T×-@Ñ-@ÖAØ˜jœØ $§¡§¡£˜Ø#(§;¡;˜Ø $§¡§¡£˜à ×.Ñ.×0Ñ0Ü),¯©×);Ñ);Ø %§¡¨T×-@Ñ-@À$Ç(Á(×BUÑBUó*˜Jð !ŸH™H×,Ñ,Õ.Ø!&×!4Ñ!4×!6Ñ!6Ü"%§-¡-×";Ñ";Ð<TÓ"UÐUà)-×)<Ñ)<˜JØ×(Ñ(×/Ñ/à $§¡Ø $× 3Ñ 3Ø $§¡Ø $× 1Ñ 1Ø $§¡Ø $× 3Ñ 3Ø $× 0Ñ 0Ø $× 6Ñ 6ð	ôô -1°ÀGÑ,L˜Ô)Ü#&§=¡=×#:Ñ#:¸4×;LÑ;LÈhÓ#W˜œØ.8Õ+Ø˜kÓ)Ø×+Ñ+Õ-ä!Ÿm™m×7Ñ7Ø;¸A¸3¸aÐ@óð ò Ø—‘—‘˜uÔ%Ø—‘”òc øôd �}‰}×(Ñ(ó 	2Ø&*§h¡h§n¡nÓ&6Ñ#ˆXØ‰~Ø'�Ü—‘×*Ñ*¨h¨Z°q¸¸ÀRÈÀxÐ+PÓQˆBÜ—’“ Ñ"ˆBØ×#Ñ# BÓ'¨TÐ1ûð	2ús    ‚C S ÃPS ÓU'Ó0A2U"Õ"U')rQ   rP   rI   r9   rL   r5   r7   r8   r6   rM   rJ   rK   rH   rO   r1   r"   rG   rN   )FTNNNNN)rŠ   N)r   r   r   r   r   r   rã   rä   rw   Ú
RdataClassÚtransactionÚTransactionÚboolr   r}   r#   ÚNamer™   ry   Ú	RdataTyperW   r^   rd   r‡   r   r§   rÓ   rî   r   r   r   r   r/   r/   X   s+  † Ù2ð $Ø15Ø+/Ø $Ø:>Ø7;Ø"&ñ0Aà�]‰]×$Ñ$ð0Að —‘×*Ñ*ð0Að �_‰_×(Ñ(ð	0Að
 ð0Að  ¨#¡Ñ.ð0Að —H‘H—M‘M DÑ(ð0Að ˜‘:ð0Að —~‘~×0Ñ0°4Ñ7ð0Að —m‘m×-Ñ-°Ñ4ð0Að ˜4‘Zõ0Aòdòòz$ðx+0 #ð +0¨%°°S¸#¸sÀCÐ0GÑ*Hô +0òZJ(÷X`2r   r/   c                   ój   ^ • \ rS rSrU 4S jrS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrU =r$ )ÚRRsetsReaderTransactioni1  c                 óF   >• U(       a   e[         TU ]  XU5        0 U l        g r@   )ÚsuperrW   Ú	rdatasets)rU   rE   ÚreplacementÚ	read_onlyÚ	__class__s       €r   rW   Ú RRsetsReaderTransaction.__init__2  s!   ø€ ÞÐˆ}Ü‰Ñ˜¨yÔ9Øˆ�r   c                 ó<   • U R                   R                  XU45      $ r@   )rú   rZ   ©rU   r#   r‚   Úcoverss       r   Ú_get_rdatasetÚ%RRsetsReaderTransaction._get_rdataset7  s   € Ø�~‰~×!Ñ! 4°Ð"8Ó9Ð9r   c                 óð   • / nU R                   R                  5        H!  u  u  n  pEX:X  d  M  UR                  U5        M#     [        U5      S:X  a  g [        R
                  R                  5       nX&l         U$ ©Nr   )rú   Úitemsrá   rÚ   r   r   ÚNode)rU   r#   rú   Úrdataset_namerV   r$   r   s          r   Ú	_get_nodeÚ!RRsetsReaderTransaction._get_node:  sg   € Øˆ	Ø/3¯~©~×/CÑ/CÖ/EÑ+Ñ!ˆ]˜A˜qØÕ$Ø× Ñ  Ö*ñ 0Fô ˆy‹>˜QÓØÜ�x‰x�}‰}‹ˆØ"ŒØˆr   c                 óL   • X R                   XR                  UR                  4'   g r@   )rú   r‚   r  )rU   r#   r$   s      r   Ú_put_rdatasetÚ%RRsetsReaderTransaction._put_rdatasetE  s   € ØCK�‰˜Ÿo™o¨x¯©Ð?Ò@r   c                 ó²   • / nU R                    H  nUS   U:X  d  M  UR                  U5        M!     [        U5      S:”  a  U H  nU R                   U	 M     g g r  )rú   rá   rÚ   )rU   r#   ÚremoveÚkeys       r   Ú_delete_nameÚ$RRsetsReaderTransaction._delete_nameH  sT   € àˆØ—>”>ˆCØ�1‰v˜�~Ø—‘˜cÖ"ñ "ô ˆv‹;˜‹?Û�Ø—N‘N 3Ò'ò ð r   c                 óD   •  U R                   XU4	 g ! [         a     g f = fr@   )rú   ÚKeyErrorr   s       r   Ú_delete_rdatasetÚ(RRsetsReaderTransaction._delete_rdatasetR  s*   € ð	Ø—‘ ¨fÐ5Ñ6øÜó 	Ùð	ús   ‚ ’
žc                 ó@   • U R                    H  u  n  nX!:X  d  M    g   g©NTF©rú   )rU   r#   r“   rV   s       r   Ú_name_existsÚ$RRsetsReaderTransaction._name_existsX  s#   € Ø—~”~‰GˆAˆq�!Ø�yÙñ &ð r   c                 ó2   • [        U R                  5      S:„  $ r  )rÚ   rú   ©rU   s    r   Ú_changedÚ RRsetsReaderTransaction._changed^  s   € Ü�4—>‘>Ó" QÑ&Ð&r   c                 óŠ  • U(       a¼  U R                  5       (       a¦  / nU R                  R                  5        Hj  u  u  n  pE[        R                  R                  X5R                  UR                  UR                  5      nUR                  U5        UR                  U5        Ml     U R                  R                  U5        g g g r@   )r  rú   r  r   ÚrrsetÚRRsetr2   r‚   r  Úupdaterá   rE   Ú
set_rrsets)rU   ÚcommitÚrrsetsr#   rV   r$   r!  s          r   Ú_end_transactionÚ(RRsetsReaderTransaction._end_transactiona  s‘   € Þ�d—m‘m—o‘oØˆFØ*.¯.©.×*>Ñ*>Ö*@Ñ&‘��q˜!ÜŸ	™	Ÿ™Ø×*Ñ*¨H¯O©O¸X¿_¹_ó�ð —‘˜XÔ&Ø—‘˜eÖ$ñ +Að �L‰L×#Ñ# FÕ+ð &ˆ6r   c                 ó   • g r@   r   )rU   Úorigins     r   rà   Ú#RRsetsReaderTransaction._set_originl  s   € Ør   c                 ó   • [         er@   ©ÚNotImplementedErrorr  s    r   Ú_iterate_rdatasetsÚ*RRsetsReaderTransaction._iterate_rdatasetso  ó   € Ü!Ð!r   c                 ó   • [         er@   r-  r  s    r   Ú_iterate_namesÚ&RRsetsReaderTransaction._iterate_namesr  r1  r   r  )r   r   r   r   rW   r  r	  r  r  r  r  r  r'  rà   r/  r3  r   Ú__classcell__)rý   s   @r   r÷   r÷   1  sE   ø† õò
:ò	òLò(òòò'ò	,òò"÷"ð "r   r÷   c                   ó6  • \ rS rSr\R
                  R                  S\R                  R                  4S\R
                  R                  S-  S\
S\R                  R                  4S jjrS rSS	 jrS
 rS rS\\R$                  R&                     SS4S jrSrg)ÚRRSetsReaderManageriv  Fr*  NrH   r2   c                 ó6   • Xl         X l        X0l        / U l        g r@   )r*  rH   r2   r&  )rU   r*  rH   r2   s       r   rW   ÚRRSetsReaderManager.__init__w  s   € ð ŒØ$ŒØŒØ-/ˆ�r   c                 ó   • [         er@   r-  r  s    r   ÚreaderÚRRSetsReaderManager.reader‚  r1  r   c                 ó*   • USL d   e[        U SS5      $ r  )r÷   )rU   rû   s     r   ÚwriterÚRRSetsReaderManager.writer…  s   € Ø˜dÒ"Ð"Ð"Ü& t¨T°5Ó9Ð9r   c                 ó   • U R                   $ r@   )r2   r  s    r   Ú	get_classÚRRSetsReaderManager.get_class‰  s   € Ø�|‰|Ðr   c                 ó¤   • U R                   (       a  [        R                  R                  nOU R                  nU R                  U R                   U4$ r@   )rH   r   r#   Úemptyr*  )rU   Ú	effectives     r   rF   Ú&RRSetsReaderManager.origin_informationŒ  s4   € Ø�?�?ÜŸ™Ÿ™‰IàŸ™ˆIØ—‘˜TŸ_™_¨iÐ8Ð8r   r&  rŠ   c                 ó   • Xl         g r@   )r&  )rU   r&  s     r   r$  ÚRRSetsReaderManager.set_rrsets“  s   € Ø�r   )r*  r2   rH   r&  )F)r   r   r   r   r   r#   Úrootrw   ÚINrô   ró   rð   rW   r;  r>  rA  rF   r   r!  r"  r$  r   r   r   r   r7  r7  v  s‹   † ð (+§x¡x§}¡}Ø Ø-0¯^©^×->Ñ->ñ		0à—‘—‘ Ñ$ð	0ð ð	0ð —‘×*Ñ*õ		0ò"ô:òò9ð  c§i¡i§o¡oÑ!6ð ¸4÷ r   r7  FÚtextr#   rs   r2   Údefault_rdclassr‚   r9   r¾   r*  rH   rŠ   c
                 ó  • [        U[        5      (       a9  [        R                  R	                  U[        R                  R
                  U5      n[        U[        5      (       a   [        R                  R	                  XU5      n[        U[        5      (       a  [        R                  R	                  U5      n[        U[        5      (       a  [        R                  R	                  U5      nUb*  [        R                  R                  R                  U5      nOSn[        R                  R                  R                  U5      nUb*  [        R                  R                  R                  U5      nOSn[        X‰U5      n
U
R                  S5       n[        R                  R                  U SUS9n[!        UUUSUUUUUS9	nUR#                  5         SSS5        U
R$                  $ ! , (       d  f       U
R$                  $ = f)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)r4   r5   r6   r7   r8   r9   )Ú
isinstancer}   r   r#   rt   rI  rs   rw   rð   Úmakery   rõ   r7  r>  rã   rä   r/   rî   r&  )rK  r#   rs   r2   rL  r‚   r9   r¾   r*  rH   rE   r"   r1   r;  s                 r   Úread_rrsetsrP  —  s†  € ôz �&œ#×ÑÜ—‘×#Ñ# F¬C¯H©H¯M©M¸:ÓFˆÜ�$œ×ÑÜ�x‰x×!Ñ! $°
Ó;ˆÜ�#”s×ÑÜ�g‰g×Ñ Ó$ˆÜ�+œs×#Ñ#Ü—g‘g×'Ñ'¨Ó4ˆØÑÜ—.‘.×+Ñ+×0Ñ0°Ó9‰àˆÜ—n‘n×/Ñ/×4Ñ4°_ÓE€OØÑÜ—‘×(Ñ(×-Ñ-¨fÓ5‰àˆÜ! &°oÓF€GØ	�‰˜Ô	 Ü�m‰m×%Ñ% d¨IÀ*Ð%ÐMˆÜØØØØ"ØØØ!ØØ#ñ

ˆð 	�‰Œ÷ 
ð �>‰>Ð÷ 
Ô	ð �>‰>Ðús   ÆAG%Ç%
G>)5r   r•   r{   Útypingr   r   r   r   r   r   Údns.exceptionr   Ú
dns.grangeÚdns.nameÚdns.nodeÚ	dns.rdataÚdns.rdataclassÚdns.rdatatypeÚdns.rdtypes.ANY.SOAÚ	dns.rrsetÚdns.tokenizerÚdns.transactionÚdns.ttlrb   ÚDNSExceptionr
   r   r'   rã   rä   r#   rô   r™   ró   ÚSavedStateTyper-   r/   rñ   rò   r÷   ÚTransactionManagerr7  rw   rJ  rI  r}   rð   ry   rõ   Ú	IDNACodecr!  r"  rP  r   r   r   Ú<module>rb     s6  ðñ$ ã 	Û 
ß 8× 8ã Û Û Û Û Û Û Û Û Û Û Û ô�C—M‘M×.Ñ.ô ô,˜Ÿ™×2Ñ2ô ,ò
ð. Ø‡M�M×ÑØ‡H�H‡M�M�DÑØ‡H�H‡M�M�DÑØˆ$�JØØØØð
ñ	€ò÷V2ñ V2ôrB"˜cŸo™o×9Ñ9ô B"ôJ˜#Ÿ/™/×<Ñ<ô ðF (,ØØ69·n±n×6GÑ6GØ7:·~±~×7HÑ7HØ37Ø$(Ø,0Ø),¯©¯©Øñ]Ø
ð]à
�(‰(�-‰-˜#Ñ
 Ñ
$ð]ð 
ˆt‰ð]ð �^‰^×&Ñ&¨Ñ,¨tÑ3ð	]ð
 —^‘^×.Ñ.°Ñ4ð]ð �M‰M×#Ñ# cÑ)¨DÑ0ð]ð �s‘˜TÑ!ð]ð —‘×"Ñ" TÑ)ð]ð �H‰H�M‰M˜CÑ $Ñ&ð]ð ð]ð 
ˆ#�)‰)�/‰/Ñö]r   