PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3 bW @sdZddlZddlmZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZeeeee e e e e eeed ZeddejDZGdddejjZddZddZddZddZdS)zDNS Result Codes.N)long ) NOERRORFORMERRSERVFAILNXDOMAINNOTIMPREFUSEDYXDOMAINYXRRSETNXRRSETNOTAUTHNOTZONEBADVERSccs|]\}}||fVqdS)N).0xyrr/usr/lib/python3.6/rcode.py 6src@seZdZdZdS) UnknownRcodezA DNS rcode is unknown.N)__name__ __module__ __qualname____doc__rrrrr 9sr cCsB|jr$t|}|dkr$|dkr$|Stj|j}|dkr>t|S)zConvert text into an rcode. @param text: the textual rcode @type text: string @raises UnknownRcode: the rcode is unknown @rtype: int riN)isdigitint_by_textgetupperr )textvrrr from_text>s r,cCs0|d@|d?d@B}|dks$|dkr,td|S)zReturn the rcode value encoded by flags and ednsflags. @param flags: the DNS flags @type flags: int @param ednsflags: the EDNS flags @type ednsflags: int @raises ValueError: rcode is < 0 or > 4095 @rtype: int irizrcode must be >= 0 and <= 4095) ValueError)flagsZ ednsflagsvaluerrr from_flagsQs r2cCs8|dks|dkrtd|d@}t|d@d>}||fS)zReturn a (flags, ednsflags) tuple which encodes the rcode. @param value: the rcode @type value: int @raises ValueError: rcode is < 0 or > 4095 @rtype: (int, int) tuple rizrcode must be >= 0 and <= 4095r-ir.)r/r)r1r+Zevrrrto_flagsbs r3cCstj|}|dkrt|}|S)zbConvert rcode into text. @param value: the rcode @type value: int @rtype: string N) _by_valuer(str)r1r*rrrto_textrs r6)r$Z dns.exceptionZdnsZ_compatrrrrrrrrrrrrrr'dictitemsr4Z exceptionZ DNSExceptionr r,r2r3r6rrrrs@