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 @sdZddlZdZdZdZdZdZeeeeedZe dd ej DZ Gd d d ej j Zd d ZddZddZddZddZdS)z DNS Opcodes.N)QUERYIQUERYSTATUSNOTIFYUPDATEccs|]\}}||fVqdS)N).0xyr r /usr/lib/python3.6/opcode.py &src@seZdZdZdS) UnknownOpcodezAn DNS opcode is unknown.N)__name__ __module__ __qualname____doc__r r r rr)srcCsB|jr$t|}|dkr$|dkr$|Stj|j}|dkr>t|S)zConvert text into an opcode. @param text: the textual opcode @type text: string @raises UnknownOpcode: the opcode is unknown @rtype: int rN)isdigitint_by_textgetupperr)textvaluer r r from_text.s rcCs |d@d?S)zUExtract an opcode from DNS message flags. @param flags: int @rtype: int ix r )flagsr r r from_flagsAsr!cCs |d>d@S)z`Convert an opcode to a value suitable for ORing into DNS message flags. @rtype: int rixr )rr r rto_flagsKsr"cCstj|}|dkrt|}|S)zConvert an opcode to text. @param value: the opcdoe @type value: int @raises UnknownOpcode: the opcode is unknown @rtype: string N) _by_valuerstr)rrr r rto_textTs r%cCs t|tkS)znTrue if the opcode in flags is UPDATE. @param flags: DNS flags @type flags: int @rtype: bool )r!r )r r r r is_updatecsr&)rZ dns.exceptionZdnsrrrr r rdictitemsr#Z exceptionZ DNSExceptionrrr!r"r%r&r r r rs$