7  org/freertr/serv/servGeneric()V  org/freertr/serv/servDhcp4bootServLjava/lang/String;  bootFile  domNam.  leaseI  renew  remember!org/freertr/tab/tabGen  $ %&optionsLorg/freertr/tab/tabGen;(java/util/ArrayList ' + ,-bindingsLjava/util/List; / 0& forbidden 2 3&defaultF 567 89org/freertr/pipe/pipeSidesetTime(I)V; org/freertr/serv/servDhcp4worker := >V(Lorg/freertr/serv/servDhcp4;Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;)V @ ABpoolLoLorg/freertr/addr/addrIPv4; D EBpoolHiG HImakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; KLM NOjava/util/Listadd(Ljava/lang/Object;)Z QRS TUjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;W HXJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; Z [BgatewayG^ H_8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; a bBnetmaskG^ f gBdns1^ j kBdns2 Qm nolength()IG^ ^ ^ ^ v Hw'(Ljava/lang/String;I)Ljava/lang/String; vv { |osize ~ get(I)Ljava/lang/Comparable;org/freertr/serv/servDhcp4bind macLorg/freertr/addr/addrMac;^ K{ K (I)Ljava/lang/Object; confedZ BipW^ bindFile bind-file  org/freertr/util/cmdscfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V word()Ljava/lang/String; Q Oequals  getRemaining  org/freertr/util/bitstxt2buf$(Ljava/lang/String;)Ljava/util/List; getTime()J b '(Ljava/lang/String;Ljava/lang/String;)V  fromString(Lorg/freertr/util/cmds;)Z  findBindingX(Lorg/freertr/addr/addrMac;ILorg/freertr/addr/addrIPv4;)Lorg/freertr/serv/servDhcp4bind; reqdJpoolorg/freertr/addr/addrIPv4  (Ljava/lang/String;)Z bad address error(Ljava/lang/String;)V  compareTo(Lorg/freertr/addr/addrType;)I bad order BpoolMsk BpoolNet setSub9(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;)V setNot(Lorg/freertr/addr/addrType;)V o toNetmask 9 fromNetmask setAnd[b dns-server boot-server boot-file domain-name str2num(Ljava/lang/String;)I0org/freertr/addr/addrMac    N .(Ljava/lang/Comparable;)Ljava/lang/Comparable; static   copyBytes()Lorg/freertr/addr/addrMac;  ()Lorg/freertr/addr/addrIPv4;optionorg/freertr/pack/packDhcpOption   (Lorg/freertr/util/cmds;)V   putno ! " del$)1 2 bind-file save bindings &'( N)org/freertr/user/userHelping%(Ljava/util/List;Ljava/lang/String;)V+%2 2,. file name-/1 2 pool address pool to use/52 3 first address to delegate143 . last address to delegate371 2 gateway gateway address to delegate5.2 . address of gateway7E1 2 dns-server address(es) of name server(s) to delegate902 3,. dns#1 server address;03 . dns#2 server address=>1 2 boot-server address of tftp server to delegate?.2 . dns server addressA91 2 boot-file path of tftp file to delegateC31 2 domain-name domain name to delegateE'2 . domain nameG21 2 lease lease time to delegateI,2 . lease time in msK21 2 renew renew time to delegateM,2 . renew time in msO41 2 remember remember time on releaseQ/2 . remember time in msS/1 2 netmask network to delegateU/2 . netmask to delegateW/1 2 static address pool to useY12 3 mac address of client[03 . ip address of client]/1 2 forbidden address pool to use_12 . mac address of clienta11 2 option specify custom optionc*2 3,. type of optione%3 3,. data bytegdhcp4iorg/freertr/pack/packDhcp4 k lmsrvIfaceLorg/freertr/cfg/cfgIfc; o pq restartTimer(Z)Vsorg/freertr/pipe/pipeLine rv w(IZ)V y z{ genStrmStart9(Lorg/freertr/prt/prtServS;Lorg/freertr/pipe/pipeLine;I)Z } ~ genericStop(I)Z   purgeTimerLjava/util/Timer;  java/util/Timercanceljava/lang/Exception org/freertr/serv/servDhcp4timer  (Lorg/freertr/serv/servDhcp4;)V`  schedule(Ljava/util/TimerTask;JJ)V   find  java/util/Collectionssort(Ljava/util/List;)V   binarySearch%(Ljava/util/List;Ljava/lang/Object;)I K remove org/freertr/serv/servDhcp4bindIp   )(Ljava/util/List;Ljava/util/Comparator;)V  ;(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I   fillRandom  setAddfailed to bind new address  org/freertr/util/loggerwarnorg/freertr/addr/addrIP    fromIPv4addr(Lorg/freertr/addr/addrIPv4;)V  org/freertr/cfg/cfgIfcipIf4Lorg/freertr/ip/ipIfc4;  org/freertr/ip/ipIfc4 updateL2info8(ILorg/freertr/addr/addrType;Lorg/freertr/addr/addrIP;)V h bootpBroadcast   getBroadcast  org/freertr/util/debugger servDhcp4traf^  debug  srvVrfLorg/freertr/cfg/cfgVrf;  org/freertr/cfg/cfgVrfudp4Lorg/freertr/prt/prtUdp;  fwdIf4Lorg/freertr/ip/ipFwdIface;  srvName  org/freertr/prt/prtUdp streamConnect(Lorg/freertr/pipe/pipeLine;Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;ILjava/lang/String;ILjava/lang/String;II)Lorg/freertr/pipe/pipeSide; 5  wait4readyorg/freertr/pack/packHolder  (ZZ)V h  createHeader8(Lorg/freertr/pack/packHolder;Lorg/freertr/tab/tabGen;)V   merge2end   odataSize    pipeSend!(Lorg/freertr/pipe/pipeSide;III)I 5 setClose()Z h bootpOp h bootpXid h  bootpSecs h B bootpYiaddr h   bootpChaddr " #Baddr4 h% &B bootpSiaddrG h) * bootpSname h, - bootpSfile h/ 0B dhcpServer h2 3B dhcpDns1srv h5 6B dhcpDns2srv h8 9B dhcpGateway h; <B dhcpNetMask h> ? dhcpLeaseTime hA B dhcpRenewTime hD EdhcpDomainName h hH IdhcpOp hK LB bootpCiaddr N OP updatePack[(Lorg/freertr/pack/packDhcp4;Lorg/freertr/pack/packDhcp4;Lorg/freertr/serv/servDhcp4bind;)V R STsendPack?(Lorg/freertr/pack/packDhcp4;Lorg/freertr/serv/servDhcp4bind;)ZG W XYbuf2txt&(ZLjava/util/List;Ljava/lang/String;)Z[error saving bindings ^org/freertr/user/userFormat`|b mac|ip|last ] e fgtimePast(J)Ljava/lang/String;W ]j Nlserver dhcp4 .*! port 67 n op proto2string(I)Ljava/lang/String;Gsserver dhcp4 .*! boot-server userver dhcp4 .*! boot-file wserver dhcp4 .*! lease 43200000yserver dhcp4 .*! renew 21600000{server dhcp4 .*! remember 0}server dhcp4 .*! no bind-file  defaultL[Ljava/lang/String;org/freertr/prt/prtServS Signature;Lorg/freertr/tab/tabGen;2Ljava/util/List;:Lorg/freertr/tab/tabGen;7Lorg/freertr/tab/tabGen;CodeLineNumberTable srvDefFlt()Lorg/freertr/tab/tabGen;9()Lorg/freertr/tab/tabGen; srvAccept:(Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;)ZsrvShRun&(Ljava/lang/String;Ljava/util/List;I)V StackMapTablejava/lang/Objectjava/lang/Throwable:(Ljava/lang/String;Ljava/util/List;I)V srvCfgStrsrvHelp!(Lorg/freertr/user/userHelping;)VsrvPortsrvProtosrvInit srvDeinitgotPack:(Lorg/freertr/pack/packDhcp4;)Lorg/freertr/pack/packDhcp4; doPurginggetShow()Lorg/freertr/user/userFormat; SourceFileservDhcp4.javaBootstrapMethodsno pool pool   no gateway gateway  no netmask netmask  no dns-server dns-serverboot-server  boot-file domain-name lease renew  remember  forbidden  static   option tx  delete ||server dhcp4 .*! protocol   H$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$Lookupjava/lang/invoke/MethodHandlesLookup! ABEBBB[BbBgBkB %&,-0& 3&M** *****l** Y"#*'Y)** Y".. &T Y^ch&m+r6tAvL'14+'4:Y*+,O^l1VQh4 (E*KK QKQK+M,|*+*N-76-QY:Y-Q#*: „,ƶ*Yʵ?*?+˙*?+ζ*YʵC*C+˙*C+ζ*?*Cԛ*?*C+ض*Yʵ*Yʵ**C*?**ڶ**ڶd**?*ڶ**ڶ,+*YʵY*Y+˙*Y+ζ,+*Yʵ`*`+˙*`+ζ,d+M*Yʵe*e,˙*e+ζ*i+M,l*Yʵi*i,˙*i+ζ, *+ , *+, *+,*+,*+,*+,3YN-+Y:-*.W, [YNY:-++˙*-:- ,YN-+*#-W,+M, *,ƶ*?*C**, *Y, *`,*e*i, * , *, *,**h,**l, *,3YN-+Y:-*. W, "YN-+*-W,YN-+*#- W"$)7@\_pux!,<KVXalz       ! ""$$&-'5(7*@+H,J.S/[0]2f3q4s6}78:;<>?@ACDEFHIJKLNOQR S"U+V5W;X=ZG[O\T]]^_`iakcpdye~fhijklmopqstuwxyz|}~&02<ACMU`bkq{}p1$QK2.%[..0"' !  !+#%+*%+,%+.%+0%+2%+4%+6%+8%+:%+<%+>%+@%+>%+B%+D%+F%+H%+J%+L%+N%+P%+R%+T%+V%+X%+Z%+\%+^%+`%+b%+d%! (08@HPX`hpxfoCo!M *j*n**rYtux  ' *n*| pq8*M**YY*M*, *    )7J p Y:+ *.**Y:»Y:**+ **6_**:4***W*e*aðð*ð*?ð**Y-x*Yq*`jY:Y:*Y*`-*`Ԛ7-N-**Y6**JWð6@~Y:*ڶ*?*?ԜE*CԞ6**Y6**JWðð:  (UV9  (18ALQanq v |   !""#'$-%?&D'P(V,`-i.n/y01245789:<=,?@AD P! 9   "ST= ȻYN-,*j,-+ҙ-ն*j,-ؙ̲-P+P*rYtu*jC-D*:W4Y:+*# WWNEFG H'I.J>LDMTOPQSTUVWXYZ>15OP`,,+,+,+ҵ,-,- ,*j!$,* '(,*'+,+ ,*j!.*e,*e1*i,*i4*Y,*Y7*`,*`:,*l=,*l@,*'C^^_ `ab(c3dAeNf[gfhti{jlmoprsuvwxh+hYFN+G"K{*++JM,-G*+-,M*-,QW-*++JM,,-G*+-,M*-,QW-*++JMZ 8FJLQX_aosu|S -h hh hh hh hh**YL¸A**d6^**:@5 e*"ؙPU**W+ç :+**L+ 'Y)L+**'Y)L**YM>**"+**P'JW,ç :,+*V Z\z}}}~ -25=@PSYfrx:  DK+DQ]Y_acL=**5**N+-P-P-¸dhi++IO ]>bBQYkSY!mqSYrSYtSYvSYxSYzSY|S~A