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

64 lines
19 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
g<> i<>A<00><00><><00>ddlZddlZejdk(r<>ddlZddlmZddlZddlm Z ddl
Z e Z Gd<04>de <09>ZGd<06>d<07>Zej"aej&j)d<08>r.ddlZddlZddlZej0aGd <09>d
ej2<00>Zn
Gd <0B>d
<EFBFBD>Zd <0C>ZGd <0A>d<0E>ZGd<0F>de<1C>Zdeddfd<13>Zdefd<14>Zyy#e $reZ Y<00><>wxYw)<15>N<>win32)<01>IntEnumc<00><00>eZdZdZdZdZy)<05> ConfigMethod<6F><00><00>N)<06>__name__<5F>
__module__<EFBFBD> __qualname__<5F>Registry<72>WMI<4D>Win32<33><00><00><E:\Project\pygoedge\.venv\Lib\site-packages\dns/win32util.pyrrs<00><00><14><08><0F><03><11>rrc<00><00>eZdZd<01>Zy)<03>DnsInfoc<00>.<00>d|_g|_g|_y<00>N)<03>domain<69> nameservers<72>search<63><01>selfs r<00>__init__zDnsInfo.__init__s<00><00><1E>D<EFBFBD>K<EFBFBD>!<21>D<EFBFBD> <1C><1C>D<EFBFBD>KrN)r
r r rrrrrrs<00><00> rr<00>wmic<00>*<00><00>eZdZ<02>fd<01>Zd<02>Zd<03>Z<05>xZS)<04>
_WMIGetterc<00>@<00><01>t<00>|<00><00>t<00>|_yr)<04>superrr<00>info)r<00> __class__s <20>rrz_WMIGetter.__init__-s<00><><00><15><07> <20>"<22>#<23>I<EFBFBD><04> rc<00>><00>tj<00> tj<00>}|j <00>D]<5D>}|j
s<01>|j s<01>t|j <00>|j_ |jr$t|j<00>|j_ |jr2|jD<00>cgc] }t|<03><00><02>c}|j_ntj<00>ycc}w#tj<00>wxYwr)<10> pythoncom<6F> CoInitializerr<00>!Win32_NetworkAdapterConfiguration<6F> IPEnabled<65>DNSServerSearchOrder<65>listr"r<00> DNSDomain<69>_config_domainr<00>DNSDomainSuffixSearchOrderr<00>CoUninitialize)r<00>system<65> interface<63>xs r<00>runz_WMIGetter.run1s<><00><00><19>&<26>&<26>(<28>/<2F> <20>W<EFBFBD>W<EFBFBD>Y<EFBFBD>F<EFBFBD>%+<2B>%M<>%M<>%O<> <09>$<24>.<2E>.<2E>9<EFBFBD>3Q<33>3Q<33>48<34><19>9W<39>9W<39>4X<34>D<EFBFBD>I<EFBFBD>I<EFBFBD>1<>(<28>2<>2<>3A<33>)<29>BU<42>BU<42>3V<33><04> <09> <09> 0<>(<28>C<>C<>.7<EFBFBD>-Q<>-Q<>4"<22>-Q<><01>%3<>1<EFBFBD>$5<>-Q<>4"<22><04> <09> <09> 0<>"<22>&P<01><1E>,<2C>,<2C>.<2E><> 4"<22><> <1E>,<2C>,<2C>.<2E>s*<00>3D<00>
D<00>A.D<00>D<06>D<00>D<00>Dc<00>Z<00>|j<00>|j<00>|jSr)<03>start<72>joinr"rs r<00>getz_WMIGetter.getCs <00><00><15>
<EFBFBD>
<EFBFBD> <0C><14> <09> <09> <0B><1B>y<EFBFBD>y<EFBFBD> r)r
r r rr2r6<00> __classcell__)r#s@rrr+s<00><><00> &<26> /<2F>$ !rrc<00> <00>eZdZy)rN<>r
r r rrrrrLs<00><00> rc<00>l<00>|jd<01>r|dd}tjj|<00>S)N<>.r)<04>
startswith<EFBFBD>dns<6E>name<6D> from_text)rs rr,r,Os2<00><00> <12> <1C> <1C>S<EFBFBD> !<21><1B>A<EFBFBD>B<EFBFBD>Z<EFBFBD>F<EFBFBD><12>x<EFBFBD>x<EFBFBD>!<21>!<21>&<26>)<29>)rc<00>6<00>eZdZd<01>Zd<02>Zd<03>Zd<04>Zd<05>Zd<06>Zd<07>Z y) <09>_RegistryGetterc<00>"<00>t<00>|_yr)rr"rs rrz_RegistryGetter.__init__Xs <00><00><1F> <09>D<EFBFBD>Irc<00>B<00>|jdd<02>j<00>S)N<>,<2C> )<02>replace<63>split)r<00>texts r<00>_splitz_RegistryGetter._split[s<00><00> <18><<3C><<3C><03>S<EFBFBD>)<29>/<2F>/<2F>1<> 1rc<00><><00>|j|<01>D]@}||jjvs<01>|jjj|<02><00>Byr)rIr"r<00>append)rr<00>nss r<00>_config_nameserversz#_RegistryGetter._config_nameserverscs?<00><00><1A>k<EFBFBD>k<EFBFBD>+<2B>.<2E><02><15>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>2<>2<>2<><18>I<EFBFBD>I<EFBFBD>)<29>)<29>0<>0<><12>4<>/rc<00><><00>|j|<01>D]K}t|<02>}||jjvs<01>'|jjj |<02><00>Myr)rIr,r"rrK)rr<00>ss r<00>_config_searchz_RegistryGetter._config_searchhsI<00><00><19>[<5B>[<5B><16>(<28><01>"<22>1<EFBFBD>%<25><01><14>D<EFBFBD>I<EFBFBD>I<EFBFBD>,<2C>,<2C>,<2C><18>I<EFBFBD>I<EFBFBD>$<24>$<24>+<2B>+<2B>A<EFBFBD>.<2E>)rc<00><><00> tj|d<01>\}}|r|j|<03>|s|r7 tj|d<02>\}}|rt |<05>|j
_nc tj|d<03>\}}|rG|j|<03> tj|d<04>\}}|rt |<05>|j
_ tj|d<05>\}}|<06> tj|d<06>\}}|r|j|<06>yy#t$rd}Y<00><01>
wxYw#t$rY<00>hwxYw#t$rd}Y<00><>wxYw#t$rY<00><>wxYw#t$rd}Y<00>wxYw#t$rd}Y<00>twxYw)N<>
NameServer<EFBFBD>Domain<69>DhcpNameServer<65>
DhcpDomain<EFBFBD>
SearchList<EFBFBD>DhcpSearchList)<08>winreg<65> QueryValueEx<45> WindowsErrorrMr,r"rrP)r<00>key<65>always_try_domain<69>servers<72>_<>domrs r<00>_config_fromkeyz_RegistryGetter._config_fromkeyns<><00><00> <1F>#<23>0<>0<><13>l<EFBFBD>C<>
<EFBFBD><07><11><17><14>(<28>(<28><17>1<><16>+<2B><19>#<23>0<>0<><13>h<EFBFBD>?<3F>F<EFBFBD>C<EFBFBD><11><1A>+9<>#<23>+><3E><04> <09> <09>(<28><>#<23>!'<27>!4<>!4<>S<EFBFBD>:J<>!K<>J<EFBFBD>G<EFBFBD>Q<EFBFBD><1B><18>,<2C>,<2C>W<EFBFBD>5<><1D>!'<27>!4<>!4<>S<EFBFBD>,<2C>!G<><06><03>Q<EFBFBD><1E>/=<3D>c<EFBFBD>/B<>D<EFBFBD>I<EFBFBD>I<EFBFBD>,<2C> <1E>"<22>/<2F>/<2F><03>\<5C>B<> <09><06><01><16>~<7E>"<22> &<26> 3<> 3<>C<EFBFBD>9I<39> J<>I<EFBFBD>F<EFBFBD>A<EFBFBD><16><14>#<23>#<23>F<EFBFBD>+<2B><16><>C <20> <1F><1E><07> <1F><>$<24><19><18><19><>
$<24>#<23>"<22>G<EFBFBD>#<23><>(<28><1D><1C><1D><> <20> <1E><1D><06> <1E><>
$<24>"<22>!<21>F<EFBFBD>"<22>sj<00>D<00>5D)<00>*D8<00>5E <00> E<00>)E)<00> D&<03>%D&<03>) D5<03>4D5<03>8 E<03>E<03> E<03>E<03> E&<03>%E&<03>) E7<03>6E7c<00><><00> tj|d|<02>d<02><03>} tj|d<03>\}}|tjk7rt<00>tj|d|<04><00><02>} tj|d<05>\}}|tj
k7rt<00>|dz |j <00>|j <00>S#|j <00>wxYw#|j <00>wxYw#t$rYywxYw)NzPSYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\z \Connection<6F> PnpInstanceIDzSYSTEM\CurrentControlSet\Enum\<5C> ConfigFlagsrF)rX<00>OpenKeyrY<00>REG_SZ<53>
ValueError<EFBFBD> REG_DWORD<52>Close<73> Exception)r<00>lm<6C>guid<69>connection_key<65>pnp_id<69>ttype<70>
device_key<EFBFBD>flagss r<00>_is_nic_enabledz_RegistryGetter._is_nic_enabled<65>s<><00><00> , <1D>"(<28><1E><1E><16><19><1D><06>k<EFBFBD>+<2B>"<12><0E> +<2B>&,<2C>&9<>&9<>&<26><0F>'<16>O<EFBFBD>V<EFBFBD>U<EFBFBD><1D><06> <0A> <0A>-<2D>(<28>(<28>!'<27><1E><1E><1A>=<3D>f<EFBFBD>X<EFBFBD>F<>"<16>J<EFBFBD>+<2B>)/<2F>)<<3C>)<<3C>Z<EFBFBD><1D>)W<><0E><15><05> <20>F<EFBFBD>$4<>$4<>4<>",<2C>,<2C>$)<29>3<EFBFBD>;<3B><EFBFBD>#<23>(<28>(<28>*<2A>"<22>(<28>(<28>*<2A><>#<23>(<28>(<28>*<2A><>"<22>(<28>(<28>*<2A><><1C> <1D><1C> <1D>sA<00>C+<00>A C<00>)7C<00> C<00>0C+<00>C<03>C<00>C(<03>(C+<00>+ C7<03>6C7c<00> <00>tjdtj<00>} tj|d<02>} |j |d<03>|j <00>tj|d<04>} d} tj ||<04>}|dz }tj||<05>} |j||<05>s |j <00><00>X|j |d<07>|j <00> <00>{#|j <00>wxYw#|j <00>wxYw#t$rYnwxYw |j <00>n#|j <00>wxYw |j <00>|jS#|j <00>wxYw)z9Extract resolver configuration from the Windows registry.Nz2SYSTEM\CurrentControlSet\Services\Tcpip\ParametersTz=SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\InterfacesrrF)
rX<00>ConnectRegistry<72>HKEY_LOCAL_MACHINErdr`rh<00>EnumKeyrq<00>OSErrorr")rrj<00>
tcp_params<EFBFBD>
interfaces<EFBFBD>irkr[s rr6z_RegistryGetter.get<65>sT<00><00><18>'<27>'<27><04>f<EFBFBD>.G<>.G<>H<>B<EFBFBD> <1B>#<23>^<5E>^<5E><16>M<><12>
<EFBFBD>'<27><18>(<28>(<28><1A>T<EFBFBD>:<3A><1E>$<24>$<24>&<26>#<23>^<5E>^<5E><16>T<><12>
<EFBFBD>'<27><19>A<EFBFBD><1E> "<22>#)<29>><3E>><3E>*<2A>a<EFBFBD>#@<40>D<EFBFBD><1D><11>F<EFBFBD>A<EFBFBD>"(<28>.<2E>.<2E><1A>T<EFBFBD>"B<>C<EFBFBD>,<2C>'+<2B>';<3B>';<3B>B<EFBFBD><04>'E<>$,<2C>!$<24> <09> <09> <0B>!%<25> 4<> 4<>S<EFBFBD>%<25> @<40> #<23> <09> <09> <0B><1F><><1F>$<24>$<24>&<26><>"!$<24> <09> <09> <0B><>&<26>"<22>!<21>"<22><>!<21><1E>$<24>$<24>&<26><>J<EFBFBD>$<24>$<24>&<26><>&<26><12><08><08>
<EFBFBD><17>9<EFBFBD>9<EFBFBD> <1C><><13><08><08>
<EFBFBD>s<EFBFBD><00>E1<00>C4<00>&E1<00>6D?<00>:1D<00>,D <00>?D<00>D?<00>D <00>"D<00>2D?<00>4D<03>E1<00> D<03>D<00> D*<03>'D?<00>)D*<03>*D?<00>.E1<00>?E<03>E1<00>1FN)
r
r r rrIrMrPr`rqr6rrrrArAWs'<00><00> "<22> 2<> 5<>
 /<2F> % ,<2C>N2 <1D>h# rrAc<00><00>eZdZd<01>Zy)<03> _Win32Getterc<00>p <00>$<24>tjd<01>}d}d}d}d}d}d}Gd<07>dtj<00><00>$Gd <09>d
tj<00>}G<00>$fd <0B>d tj<00>} Gd <0A>dtj<00>}
dtjfdtj
fdtj |
<EFBFBD>fd| fg|
_Gd<13>dtj<00>} Gd<15>dtj<00>} Gd<17>dtj<00>} Gd<19>dtj<00>}Gd<1B>dtj<00>}Gd<1D>dtj<00>}Gd<1F>d tj<00>}Gd!<21>d"tj<00>}Gd#<23>d$tj<00>}Gd%<25>d&tj<00>}dtjfd'tj
fdtj |<14>fd(tjfd)tj | <09>fd*tj | <09>fd+tj | <09>fd,tj |
<EFBFBD>fd-tjfd.tjfd/tjfd0tjd1zfd2tjfd3tjfd4tjfd5tjfd6tjfg|_d7<64>}d8<64>}tjd9<64>} tj|j<00>}|j||d:|tj |<17><00>}||k(rn|d;k7rt#d<|<19><00><02>y:<3A>btj$|tj |<14><00>}|}|<1B>r<>|j&j(}|d=k7r|j&j*}<1B>5|j&j,|k(r|j&j*}<1B>e|j&j.}|r.t0j2j5|<1D>|j6_|j&j:}|r<>|j&j<j>}|j&j@} d:}!| |k(r||j&<00>}!n@| |k(r;tj$|tj |<08><00>}||j&<00>}!|!r=|!|j6jBvr%|j6jBjE|!<21>|j&j*}|r<01><>|j&j*}|r<02><01><>tG<00>}"|"jI<00>}#|#jJ|j6_%|j6S)>z)Get the attributes using the Windows API.z Iphlpapi.dllr<00>r<00><00>c<00>J<00>eZdZdejfdej dzfgZy)<05>$_Win32Getter.get.<locals>.SOCKADDRV4<56> sa_family<6C>sa_data<74>N<>r
r r <00>wintypes<65>USHORT<52>ctypes<65>c_ubyte<74>_fields_rrr<00>
SOCKADDRV4r<EFBFBD><00><00>&<00><00> <20>(<28>/<2F>/<2F>2<><1E><06><0E><0E><12> 3<>4<><12>rr<>c<00>J<00>eZdZdejfdej dzfgZy)<05>$_Win32Getter.get.<locals>.SOCKADDRV6r<36>r<><00>Nr<4E>rrr<00>
SOCKADDRV6r<EFBFBD>r<>rr<>c<00>T<00><01>eZdZdejW<00><00>fdej fgZy)<04>(_Win32Getter.get.<locals>.SOCKET_ADDRESS<53>
lpSockaddr<EFBFBD>iSockaddrLengthN)r
r r r<><00>POINTERr<52><00>INTr<54>)r<>s<00>r<00>SOCKET_ADDRESSr<53> s)<00><><00>!<21>><3E>6<EFBFBD>><3E>><3E>*<2A>#=<3D>><3E>&<26><08> <0C> <0C>5<><12>rr<>c<00> <00>eZdZy)<02>7_Win32Getter.get.<locals>.IP_ADAPTER_DNS_SERVER_ADDRESSNr9rrr<00>IP_ADAPTER_DNS_SERVER_ADDRESSr<53><00><00><00>rr<><00>Length<74>Reserved<65>Next<78>Addressc<00>*<00>eZdZdejfgZy)<03>!_Win32Getter.get.<locals>.IF_LUID<49>ValueN)r
r r r<><00> c_ulonglongr<67>rrr<00>IF_LUIDr<44>s<00><00>$<24>f<EFBFBD>&8<>&8<>9<>:<3A>rr<>c<00>0<00>eZdZdejdzfgZy)<04>-_Win32Getter.get.<locals>.NET_IF_NETWORK_GUIDr<44>r}N)r
r r r<>r<>r<>rrr<00>NET_IF_NETWORK_GUIDr<44>s<00><00>$<24>f<EFBFBD>n<EFBFBD>n<EFBFBD>r<EFBFBD>&9<>:<3A>;<3B>rr<>c<00> <00>eZdZy)<02>._Win32Getter.get.<locals>.IP_ADAPTER_PREFIX_XPNr9rrr<00>IP_ADAPTER_PREFIX_XPr<50>!r<>rr<>c<00> <00>eZdZy)<02>7_Win32Getter.get.<locals>.IP_ADAPTER_GATEWAY_ADDRESS_LHNr9rrr<00>IP_ADAPTER_GATEWAY_ADDRESS_LHr<48>$r<>rr<>c<00>j<00>eZdZdejdzfdej
ej <00>fgZy)<05>/_Win32Getter.get.<locals>.IP_ADAPTER_DNS_SUFFIX<49>String<6E>r<>N)r
r r r<><00>c_wcharr<72><00>c_void_pr<70>rrr<00>IP_ADAPTER_DNS_SUFFIXr<58>'s1<00><00><1D>v<EFBFBD>~<7E>~<7E><03>3<>4<><1B>^<5E>V<EFBFBD>^<5E>^<5E>F<EFBFBD>O<EFBFBD>O<EFBFBD><<3C>=<3D><12>rr<>c<00> <00>eZdZy)<02>7_Win32Getter.get.<locals>.IP_ADAPTER_UNICAST_ADDRESS_LHNr9rrr<00>IP_ADAPTER_UNICAST_ADDRESS_LHr<48>-r<>rr<>c<00> <00>eZdZy)<02>9_Win32Getter.get.<locals>.IP_ADAPTER_MULTICAST_ADDRESS_XPNr9rrr<00>IP_ADAPTER_MULTICAST_ADDRESS_XPr<50>0r<>rr<>c<00> <00>eZdZy)<02>7_Win32Getter.get.<locals>.IP_ADAPTER_ANYCAST_ADDRESS_XPNr9rrr<00>IP_ADAPTER_ANYCAST_ADDRESS_XPr<50>3r<>rr<>c<00> <00>eZdZy)<02>:_Win32Getter.get.<locals>.IP_ADAPTER_DNS_SERVER_ADDRESS_XPNr9rrr<00> IP_ADAPTER_DNS_SERVER_ADDRESS_XPr<50>6r<>rr<>c<00> <00>eZdZy)<02>._Win32Getter.get.<locals>.IP_ADAPTER_ADDRESSESNr9rrr<00>IP_ADAPTER_ADDRESSESr<53>9r<>rr<><00>IfIndex<65> AdapterName<6D>FirstUnicastAddress<73>FirstAnycastAddress<73>FirstMulticastAddress<73>FirstDnsServerAddress<73> DnsSuffix<69> Description<6F> FriendlyName<6D>PhysicalAddress<73><00>PhysicalAddressLength<74>Flags<67>Mtu<74>IfType<70>
OperStatusc<00>Z<00>djtt|jdd<00><00>S)Nr;r<00>)r5<00>map<61>strr<72>)<01> sockaddr_ins r<00> format_ipv4z%_Win32Getter.get.<locals>.format_ipv4Ts%<00><00><1A>x<EFBFBD>x<EFBFBD><03>C<EFBFBD><1B>)<<3C>)<<3C>Q<EFBFBD>q<EFBFBD>)A<> B<>C<>Crc<00><><00>tddd<03>D<00>cgc]-}|j|dzdz|j|dzdzz<00><02>/}}djd<08>|D<00><00>Scc}w) Nrr}rr<>r<>r<00>:c3<00>$K<00>|]}|d<00><04><01><00>
y<01>w)<02>04xNr)<02>.0<EFBFBD>parts r<00> <genexpr>z8_Win32Getter.get.<locals>.format_ipv6.<locals>.<genexpr>es<00><00><><00>@<40>%<25>$<24>4<EFBFBD><03>*<2A> <0A>%<25>s<00>)<03>ranger<65>r5)<03> sockaddr_in6ry<00>partss r<00> format_ipv6z%_Win32Getter.get.<locals>.format_ipv6Wsv<00><00>#<23>1<EFBFBD>b<EFBFBD>!<21>_<EFBFBD><12>,<2C><01>!<21>(<28>(<28><11>Q<EFBFBD><15>/<2F>1<EFBFBD>4<>|<7C>7K<37>7K<37>A<EFBFBD>PQ<50>E<EFBFBD>TU<54>I<EFBFBD>7V<37>V<>,<2C><16><12><1B>x<EFBFBD>x<EFBFBD>@<40>%<25>@<40>@<40>@<40><> s<00>2Ai<>:N<>oz&Error retrieving adapter information: r)&r<><00>WinDLL<4C> Structurer<65><00>ULONG<4E>DWORDr<44>r<><00>c_char_p<5F>LPWSTRr<52><00>c_uint<6E>c_ulong<6E>create_string_buffer<65>value<75>GetAdaptersAddresses<65>byref<65>print<6E>cast<73>contentsr<73>r<>r<>r<>r=r>r?r"rr<>r<>r<>r<>rrKrAr6r)%r<00>IPHLPAPI<50> AF_UNSPEC<45> ERROR_SUCCESS<53>GAA_FLAG_INCLUDE_PREFIX<49>AF_INET<45>AF_INET6<54>IF_TYPE_SOFTWARE_LOOPBACKr<4B>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00> buffer_size<7A>buffer<65>ret_val<61>adapter_addresses<65>current_adapter<65> oper_status<75>
dns_suffix<EFBFBD>current_dns_server<65>sockaddr<64>sockaddr_family<6C>ip<69>registry_getterr"r<>s% @rr6z_Win32Getter.get<65>s<><00><><00><1E>}<7D>}<7D>^<5E>4<>H<EFBFBD><1A>I<EFBFBD><1D>M<EFBFBD>&0<> #<23><17>G<EFBFBD><19>H<EFBFBD>(*<2A> %<25> <12>V<EFBFBD>-<2D>-<2D> <12>  <12>V<EFBFBD>-<2D>-<2D> <12>  <12><16>!1<>!1<> <12>  <15><06>0@<40>0@<40> <15><1A>8<EFBFBD>><3E>><3E>*<2A><1B>X<EFBFBD>^<5E>^<5E>,<2C><17><16><1E><1E>(E<>F<>G<><1A>N<EFBFBD>+<2B> 6<0E> )<29> 2<> ;<3B>&<26>*<2A>*<2A> ;<3B> <<3C>f<EFBFBD>&6<>&6<> <<3C> <15>v<EFBFBD>'7<>'7<> <15> <15><06>0@<40>0@<40> <15> <12><06>(8<>(8<> <12>  <15><06>0@<40>0@<40> <15> <15>&<26>2B<32>2B<32> <15> <15><06>0@<40>0@<40> <15> <15>6<EFBFBD>3C<33>3C<33> <15> <15>v<EFBFBD>'7<>'7<> <15><1A>8<EFBFBD>><3E>><3E>*<2A><1A>H<EFBFBD>N<EFBFBD>N<EFBFBD>+<2B><17><16><1E><1E>(<<3C>=<3D>><3E><1E><06><0F><0F>0<>&<26><06><0E><0E>~<7E>(F<>G<>&<26><06><0E><0E>~<7E>(F<>G<>(<28>&<26>.<2E>.<2E><1E>*H<>I<>+<2B><1A>N<EFBFBD>N<EFBFBD>#@<40>A<><12><1D>h<EFBFBD>o<EFBFBD>o<EFBFBD>.<2E><1E><08><0F><0F>0<><1F><18><1F><1F>1<>"<22>F<EFBFBD>N<EFBFBD>N<EFBFBD>Q<EFBFBD>$6<>7<>(<28>(<28>.<2E>.<2E>9<><18>(<28>.<2E>.<2E>)<29><16><08><0E><0E>'<27><19>8<EFBFBD>><3E>><3E>*<2A><1D>v<EFBFBD>}<7D>}<7D>-<2D>)-<0E> <20> )<29>0 D<01> A<01> !<21>.<2E>.<2E><15>/<2F>K<EFBFBD><16><1F>4<>4<>[<5B>5F<35>5F<35>G<><06>"<22>7<>7<><1D>+<2B><18><1A><1A>L<EFBFBD>L<EFBFBD><1B>-<2D> <12><07><1B>m<EFBFBD>+<2B><19><1C><04>_<EFBFBD><19>B<>7<EFBFBD>)<29>L<>M<><1A><17>"!'<27> <0B> <0B><16><06><0E><0E>';<3B><<3C>!<0E> <1D>0<>O<EFBFBD>!<21>.<2E>6<>6<>A<>A<> <0B><1E>!<21>#<23>&5<>&><3E>&><3E>&C<>&C<>O<EFBFBD><1C>#<23>+<2B>+<2B>2<>2<>6O<36>O<>&5<>&><3E>&><3E>&C<>&C<>O<EFBFBD><1C>-<2D>5<>5<>?<3F>?<3F>
<EFBFBD><1D>'*<2A>x<EFBFBD>x<EFBFBD>'9<>'9<>*<2A>'E<>D<EFBFBD>I<EFBFBD>I<EFBFBD>$<24>%4<>%=<3D>%=<3D>%S<>%S<>"<22>(<28>1<>:<3A>:<3A>B<>B<>M<>M<>H<EFBFBD>&.<2E>&7<>&7<>&A<>&A<>O<EFBFBD><1D>B<EFBFBD>&<26>'<27>1<>(<28><18>):<3A>):<3A>;<3B><02>(<28>H<EFBFBD>4<>#)<29>;<3B>;<3B>x<EFBFBD><16><1E><1E>
<EFBFBD>9S<EFBFBD>#T<><08>(<28><18>):<3A>):<3A>;<3B><02><19><1D>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>%:<3A>%:<3A>:<3A> <20>I<EFBFBD>I<EFBFBD>1<>1<>8<>8<><12><<3C>);<3B>)D<>)D<>)I<>)I<>&<26>)<29>"#2<>":<3A>":<3A>"?<3F>"?<3F><0F>I"<22>N.<2E>/<2F>O<EFBFBD>"<22>&<26>&<26>(<28>D<EFBFBD>#<23>{<7B>{<7B>D<EFBFBD>I<EFBFBD>I<EFBFBD> <1C><17>9<EFBFBD>9<EFBFBD> rN)r
r r r6rrrr{r{<00>s<00><00>x rr{<00>method<6F>returnc<00><00>|ayr)<01>_config_method)rs r<00>set_config_methodr <00>s<00><00><1F>rc<00><><00>ttjk(rt<00>}|j<00>Sttjk(rt <00>}|j<00>St <00>}|j<00>S)zExtract resolver configuration.)r rrr{rrrAr6)<01>getters r<00> get_dns_infor<00>s`<00><00> <19>\<5C>/<2F>/<2F> /<2F>!<21>^<5E>F<EFBFBD>
<16>z<EFBFBD>z<EFBFBD>|<7C><1B> <1C>|<7C>/<2F>/<2F> /<2F><1F>\<5C>F<EFBFBD><16>z<EFBFBD>z<EFBFBD>|<7C><1B>%<25>&<26>F<EFBFBD><15>z<EFBFBD>z<EFBFBD>|<7C>r) <20>sys<79> dns._featuresr=<00>platformr<6D><00>ctypes.wintypesr<73>rX<00>enumr<00>dns.namerZr^<00> NameErrorrirrr r <00> _features<65>have<76> threadingr%rr<00>Threadrr,rAr{r rrrr<00><module>rs<><00><01>
<EFBFBD><14><07><<3C><<3C>7<EFBFBD><1A><11>&<26><11><1C><13>!<21> <18><01><12>w<EFBFBD><12>
<1D><1D> "<22>*<2A>*<2A>N<EFBFBD>
<EFBFBD>}<7D>}<7D><19><19>%<25> <20><18><18><12>&<26>)<29>)<29><0E> !<21><19>)<29>)<29> !<21>B <11> <11>*<2A>U<1D>U<1D>nz<1D><EFBFBD>z<1D>x <20>,<2C> <20>4<EFBFBD> <20><1C>'<27><1C>O <1B><> <15>!<21> <20> <0C>!<21>s<00>C<00>C<03>C