Êþº¾Aà  java/lang/Object()V   org/freertr/serv/servDnsDoerparentLorg/freertr/serv/servDns;  pipeLorg/freertr/pipe/pipeSide;  connLorg/freertr/prt/prtGenConn;  org/freertr/util/logger startThread((Ljava/lang/Runnable;)Ljava/lang/Thread;   org/freertr/util/debugger servDnsTrafZ "#$ %&java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;( )*makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; , -.debug(Ljava/lang/String;)V0org/freertr/pack/packHolder /2 3(ZZ)V /5 6clear 89: ;<org/freertr/pack/packDns createHeader (Lorg/freertr/pack/packHolder;)V /> ? merge2beg ABC DEorg/freertr/pipe/pipeSide isBlockMode()Z /G HIdataSize()I /K LMpipeSend!(Lorg/freertr/pipe/pipeSide;III)IOorg/freertr/pack/packSize NQ R"(Lorg/freertr/pipe/pipeSide;IZII)V NT UV sendPacket (Lorg/freertr/pack/packHolder;)Z XYZ [\org/freertr/pack/packDnsZonefindUser2(Ljava/lang/String;I)Lorg/freertr/pack/packDnsRec; 8^ _`answersLjava/util/List; bcd efjava/util/Listadd(Ljava/lang/Object;)Zhorg/freertr/clnt/clntDns g klm noorg/freertr/serv/servDnsResolvproxyLorg/freertr/cfg/cfgProxy; gq rocurPrx kt u`addr gw xy doResolvList'(Ljava/util/List;Ljava/lang/String;ZI)I{org/freertr/pack/packDnsRec g} ~ getAnswers(Ljava/util/List;)I g� ‚ƒ findAnswer (I)Lorg/freertr/pack/packDnsRec; z… †‡ copyBytes()Lorg/freertr/pack/packDnsRec; z‰ Š‹nameLjava/lang/String; g� Ž� doRecursiveC(Ljava/util/List;Ljava/lang/String;I)Lorg/freertr/pack/packDnsZone; z‘ ’“resLorg/freertr/tab/tabGen; •–— ˜Iorg/freertr/tab/tabGensize š›œ �žorg/freertr/util/bitsrandom(II)I •  ¡¢get(I)Ljava/lang/Comparable;¤org/freertr/pack/packDnsRes £¦ §‹target ©ª« ¬“org/freertr/serv/servDnszones X® . •° ±²find.(Ljava/lang/Comparable;)Ljava/lang/Comparable; ©´ µ“resolvs k® ©¸ ¹“rcrsvia» ½ ¾¿doSlavesF(Lorg/freertr/serv/servDnsResolv;Ljava/util/List;ILjava/lang/String;)Z Á ¿doSlaverÄ. "Æ ÇÈindexOf(Ljava/lang/String;)I "Ê ËÌ substring(II)Ljava/lang/String; "Î ÏIlength ©Ñ Ò‹ ipinfoZon ©Ô ÕÖ ipinfoCfgLorg/freertr/sec/secInfoCfg;( "Ù ÚÛendsWith(Ljava/lang/String;)Z zÝ Þß decodeReverse-(Ljava/lang/String;)Lorg/freertr/addr/addrIP;áorg/freertr/sec/secInfoCls ©ã äåsrvVrfLorg/freertr/cfg/cfgVrf; çèé êëorg/freertr/cfg/cfgVrfgetFwd1(Lorg/freertr/addr/addrIP;)Lorg/freertr/ip/ipFwd;íorg/freertr/prt/prtTcp ïðñ òóorg/freertr/prt/prtGenConnifaceLorg/freertr/ip/ipFwdIface; õö÷ uøorg/freertr/ip/ipFwdIfaceLorg/freertr/addr/addrIP; àú û™(Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;Lorg/freertr/ip/ipPrt;Lorg/freertr/ip/ipFwd;Lorg/freertr/addr/addrIP;ILorg/freertr/addr/addrIP;)Výorg/freertr/sec/secInfoWrk üÿ ;(Lorg/freertr/sec/secInfoCfg;Lorg/freertr/sec/secInfoCls;)V ü doWork(Z)Z ü E need2drop z     org/freertr/sec/secInfoUtlgetRouteAspath0(Lorg/freertr/sec/secInfoWrk;)Ljava/lang/String; z . updateText ©  ipinfoTtlI z ttl   recurse © ø recurs6to4  !" #`org/freertr/cfg/cfgAllnameServerAddr z% &' update6to4(Lorg/freertr/addr/addrIP;)V( X‰+ ),8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;( X/ 01findWildD(Ljava/lang/String;Ljava/lang/String;I)Lorg/freertr/pack/packDnsRec; 8 A4 56 readPacket (Z)Lorg/freertr/pack/packHolder; N8 9: recvPacket()Lorg/freertr/pack/packHolder; 8< =V parseHeader?got bad packet A B.info( ©E F  recursEna ©H IÖ recursAcl ïK LøpeerAddr 8N Oopcode 8Q Rresult 8T U response 8W X recAvail Z [\ sendReply(Lorg/freertr/pack/packDns;)V 8^ _`queries b– 8b c`addition b5 8f g`servers bi ¡j(I)Ljava/lang/Object; ©l m logging+ zp qtyp Xs t axfr X– Aw xIisClosed Xz ¡ƒ z| }~ compareTo (Lorg/freertr/pack/packDnsRec;)I € �‚ doResolve&(Ljava/util/List;ILjava/lang/String;)Z 8„ …  authoritative ‡ ˆ‰ addAnswerN(Lorg/freertr/pack/packDns;Lorg/freertr/pack/packDnsZone;Ljava/lang/String;I)V A‹ Œ� wait4ready(I)Z � �Edoer’java/lang/Exception ” •– traceback(Ljava/lang/Throwable;)V A˜ ™EsetClose›java/lang/RunnableT(Lorg/freertr/serv/servDns;Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;)VCodeLineNumberTable StackMapTable Signaturee(Lorg/freertr/serv/servDnsResolv;Ljava/util/List;ILjava/lang/String;)Z£org/freertr/addr/addrIPE(Ljava/util/List;ILjava/lang/String;)Zrun SourceFile servDns.javaBootstrapMethodsªtx ¬.®.°²*.´rx ¶  queried ¸ ¹º» )¼$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClasses¿%java/lang/invoke/MethodHandles$LookupÁjava/lang/invoke/MethodHandlesLookup š  œ�E*·*+µ*,µ *-µ*¸W±žêë ìíîï[\�¬\²™+¸!º'¸+»/Y·1M,¶4+,¶7,¶=*´ ¶@™,*´ ,¶F¶JW§»NY*´ ·PN-,¶SW±ž. òóõö ÷%ø)ù3úEüUý[ÿŸ ü2/ˆ‰�R,-¶W:DZ+´]¹aW±ž Ÿüz¾¿�½\»gY·i:+´jµp+´s¶v™¬ÿ  ,¶|W¬¶€:Ǭ¶„:µˆ,¹aW¬ž:   " $+24<ACJQZŸü$güz ¡¿��»gY·i:+´jµp+´s¶Œ:Ǭ¶W:ÇQ¶W:Ǭ,¹aW´�´�¶”¸™¶ŸÀ£´¥¶W:Ǭ,¹aW¬,¹aW¬žJ  !%"'$1%6&@'E(G*P+r,w-y/‚0„2�3Ÿý'gXüz1  ¡�‚�ƒ t*´´¨»XY-·­¶¯ÀX:*´´³»kY-·¶¶¯Àk:*´´·»kY-·¶¶¯Àk:-:º:Ç£Æ*+¶¼W¬Æ*+¶ÀW¬-öÅ6  ›- ¶É:- `-¶Í¶ÉN§ -:ÃN*´´¨»XY-·­¶¯ÀX:*´´³»kY-·¶¶¯Àk:*´´·»kY-·¶¶¯Àk: œ§§ÿ^Ç£*´´ÐÆ­*´´ÓÆ£*´´Ðº×¶Ø™�¸Ü:  ǬŸ¬»àY*´´â ¶æ *´´î´ô·ù: »üY*´´Ó ·þ:  ¶W ¶W»zY·:   ¸ ¶ µˆ *´´µ+ ¹aW¬Æ*+¶¼W¬Æ*+¶ÀW¬*´š¬*´´Æ  ¬»gY·i:  ²¶vWÿ   +¶|W¬ ¶€:  Æ ¶„:  µˆ+ ¹aW¬*´´Ç¬Ÿ¬»gY·i:  ²¶v™¬ ¶€:  Ǭ ¶„:  *´´¶$ µˆ+ ¹aW¬¶Íž º(:´)º*N¶W:  Ç ¶W:  Ç´)º-¶.:  Ç´)º-¶.:  Ç -¶W:  Ç´)º-¶.:  Ç -¶W:  Ç´)º-¶.:  Ç´)¶W:  Ǭ+ ¹aW¬žšf78.9E:H;L<Q=V>a?cAhBsCuE}F‚G‹H›JžK¡M¸NÏOæPëQîSñTöU VW%X*Y,[2\4^Z_l`sayb‚cŒd“eŸf¨gªj¯kºl¼nÁoÌpÎrÕs×uævèxñyþz{ |~€"�)‚2ƒ4…>†@ˆF‰H‹QŒ`�b�j�o‘q“x”„•‹–”—–™žš§œ´�¾žÃŸÍ¡Ò¢æ¤ë¥ÿ§¨ª«(­-®6°;±O³T´b¶g·i¹rºŸ]ÿL b"Xkk""ü%úLü:¢úuü%gü%z ù$ü%z  ¤�E�0 L»8Y·2M*´ ¶@™*´ ¶3L§»NY*´ ·PN-¶7L+Ǭ,+¶;™ >¸@¬²™,¸!ºC¸+**´´Dµ*´™a*´´GÆW»àY*´´â*´´J¶æ*´´J*´´î´ô·ùN»üY*´´G-·þ:¶W¶™*µ,´M>,µM,µP,µS,*´µV™ *,¶Y¬,´]¹`¢ *,¶Y¬,µP,´a¹d,´]¹d,´e¹d,´]¹hÀz:*´´k™*´´J¸!¸!ºn¸@´o«üÿü*´´¨»XY´ˆ·­¶¯ÀX:Ç *,¶Y¬´rš *,¶Y¬´)¶W:Ç *,¶Y¬,µP,´]¹d,´]¹d,´]¹aW*,¶Y>¶u¢E*´ ¶v™§8¶y:¶{š§,´]¹d,´]¹aW*,¶Y„§ÿ¸,´]¹d,´]¹aW*,¶Y¬*´´¨»XY´ˆ·­¶¯ÀX:Ç;´ˆöÅ>ž,*´´¨»XY´ˆ`´ˆ¶Í¶É·­¶¯ÀX:Ç ,*,´]´o´ˆ¶µƒ*,¶Y¬*,´ˆ¶†*,´ˆ¶†*,´ˆ¶†*,´ˆ ¶†*,´ˆ¶†*,´ˆ!¶†*,´ˆ#¶†*,´ˆ¶†*,´ˆ¶†*,´ˆ¶†,µƒ,µP*,¶Y¬,*,´]´o´ˆ¶µƒ,´]¹`¢ *,¶Y¬,µP´o66¢],´]¹`6,´]d¹hÀz:´oŸ§4*,´]´�¶ŸÀ£´¥¶W,´]¹`¡§ „§ÿ¢*,¶Y¬ž¶m¾¿ ÀÁ Ã0Ä5Æ9Ç;ÉCÊIËKÍQÎ]ÐhÑyÒ¨Ó¹ÔÀÕÈÖÍÙÒÚ×ÛÜÜáÝéÞíßòàôâãäæ çèé(ê7ëAìXîxð“ñ˜ò�óŸõ§ö¬÷®ù¼úÁûÆüÈþÍÿÖßëðû  & 2 7=FRWYty„ˆ±¶ÌÑÓ à!î"û# $%%&3'@(N)\*a+f,k-m/ƒ0�1•2—4œ5£6­7¸8Ê9Ó:Ö<ð=þ>6A BŸTý /8ûoü&üOzü&Xüz)üzúùüWX!ú™)ýü/ú*ú¥�q&*´ '¶ŠW*¶Ž™ÿü§§L+¸“*´ ¶—W±‘ž"G IJOMNP%QŸ  B‘¦§¨,·©·«·­·¯·±·³·µ½ ¾ÀÂ