7K  org/freertr/tab/tabRoutetabNameLjava/lang/String; makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String;  java/lang/Object()V  defDistI  defMetr  defProto   defRouTyp(Lorg/freertr/tab/tabRouteAttr$routeType;  !" lookupTrieLorg/freertr/tab/tabGep; $ %&versionJ(org/freertr/tab/tabGen ' + ,-prefixesLorg/freertr/tab/tabGen; '/ 0(Lorg/freertr/tab/tabGen;)V 2 3optimize4lookup5org/freertr/tab/tabGep 4 '8 9:size()I '< =>get(I)Ljava/lang/Comparable;@org/freertr/tab/tabRouteEntry 4B CDadd"(Lorg/freertr/tab/tabRouteEntry;)V 'F GH tableInfo()Ljava/lang/String; 8 K =L"(I)Lorg/freertr/tab/tabRouteEntry; ?N OP compareTo"(Lorg/freertr/tab/tabRouteEntry;)I RST UVorg/freertr/util/debugger tabRouteEvntZXclear Z[\ ]^org/freertr/util/loggerdebug(Ljava/lang/String;)V '` X bcd efjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String; ?i jk copyBytesC(Lorg/freertr/tab/tabRoute$addType;)Lorg/freertr/tab/tabRouteEntry; mno pqorg/freertr/util/bitsgetTime()J ?s tualtsLjava/util/List; w8xjava/util/List wz ={(I)Ljava/lang/Object;}org/freertr/tab/tabRouteAttr | &time  : org/freertr/tab/tabRoute$addTypeordinal ' C.(Ljava/lang/Comparable;)Ljava/lang/Comparable; ? bestLorg/freertr/tab/tabRouteAttr; |  isOtherBetter"(Lorg/freertr/tab/tabRouteAttr;Z)Z ' put w C(Ljava/lang/Object;)Z ? hashBest lnkBcmp"Lorg/freertr/tab/tabRoute$addType; ?  selectBest ? "(Lorg/freertr/tab/tabRouteEntry;)Z ?  jorg/freertr/addr/addrPrefix()Lorg/freertr/addr/addrPrefix; ? prefixLorg/freertr/addr/addrPrefix;  jorg/freertr/addr/addrType()Lorg/freertr/addr/addrType; | nextHopLorg/freertr/addr/addrType; | distance | metric | protoNum | rouTyp  CF(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V ' del 4 D ' find  ^ | ifaceLorg/freertr/tab/tabRouteIface;  @(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry; notyet ? differsD(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;)I   doNexthopFixW(Lorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;I)Z  route<(Lorg/freertr/addr/addrType;)Lorg/freertr/tab/tabRouteEntry; | oldHop  V(Lorg/freertr/tab/tabRouteAttr;Lorg/freertr/tab/tabRoute;ILorg/freertr/tab/tabRoute;)Z ? delAlt(I)V :maxBits (Lorg/freertr/addr/addrType;I)V 4 search  maskLen  setMaskjava/util/ArrayList   rx |  ulabelRemjava/lang/Integer  :intValueorg/freertr/ip/ipMpls  always  better  networkorg/freertr/addr/addrIP ! "#bitValue(I)Z % &bitClear ( )bitSet ?+ ,- sameFwder>(Lorg/freertr/tab/tabRouteAttr;)Lorg/freertr/tab/tabRouteAttr; / 0ecmp 234 56org/freertr/tab/tabListingmatches$(IILorg/freertr/tab/tabRouteEntry;)Z 8 9:compressTable1<(Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRouteEntry;)Z < =:compressTable2 ? @:compressTable3  C::1 E FG fromString(Ljava/lang/String;)Z I J broadcast L OM(Lorg/freertr/addr/addrType;)I O PQsetSub9(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;)V S TUunusedPrefixes^(Ljava/util/List;Lorg/freertr/addr/addrIP;Lorg/freertr/addr/addrIP;Lorg/freertr/addr/addrIP;)V W XYsetAddr(Lorg/freertr/addr/addrType;)V [ \ fillBytes ^ _QsetAdd a b8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 2d 5e"(IILorg/freertr/addr/addrPrefix;)Z 2g hiupdateC(IILorg/freertr/tab/tabRouteEntry;Z)Lorg/freertr/tab/tabRouteEntry; klm noorg/freertr/tab/tabRtrplcdoRpl_(IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Z)Lorg/freertr/tab/tabRouteEntry; q rs doUpdateEntry(IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Lorg/freertr/tab/tabRouteEntry; u v (Lorg/freertr/addr/addrPrefix;)Z x yzaddUpdatedEntry(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)I | }~delUpdatedEntry(Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Iorg/freertr/user/userFormat| typ|prefix|metric|iface|hop|time  '(Ljava/lang/String;Ljava/lang/String;)Vprefix|hop|metric|aspath'prefix|local|evpn*16|pmsi*16|remote|hopprefix|local|remote|hop(prefix|asnum|asnam|valid|encod|ago|sinceprefix|pack|byte|pack|byte|time1|2transmit|2receive|1  9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vprefix|index|base|oldbase%prefix|index|subdom|base|oldbase|size$prefix|alts|candid|best|proto|sourceprefix|hop|ago|lastprefix|hop|metric|asnameprefix|hop|metric|asinfoprefix|hop|metric|asmixed ` ?  toShRoute?(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRouteEntry;)V ? toShBgp ? toShLdp ?  toShBgpLabels@(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRouteEntry;Z)V ? toShRpki ? toShEvpn ? toShCntr ?  toShSrRoute ?  toShBrRoute ? toShEcmp ?  toShChgRoute ?  toShAsName ?  toShAsInfo ?  toShAsMixed  convertTableHead (I)Lorg/freertr/user/userFormat;  convertTableBody;(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRoute;I)V Signature>Lorg/freertr/tab/tabGen;>;Lorg/freertr/tab/tabGep;toStringCodeLineNumberTable(Lorg/freertr/tab/tabRoute;)V StackMapTable"(Lorg/freertr/tab/tabRoute;)VcheckConsistencyK(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V{(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/addr/addrPrefix;Lorg/freertr/addr/addrType;)Lorg/freertr/tab/tabRouteEntry;m(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/addr/addrPrefix;TT;)Lorg/freertr/tab/tabRouteEntry;%(Lorg/freertr/addr/addrPrefix;)Z'(Lorg/freertr/tab/tabRouteEntry;)Z>(Lorg/freertr/addr/addrPrefix;)Lorg/freertr/tab/tabRouteEntry;H(Lorg/freertr/addr/addrPrefix;)Lorg/freertr/tab/tabRouteEntry;J(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry; getSubset(II)Lorg/freertr/tab/tabRoute;#(II)Lorg/freertr/tab/tabRoute;'(I)Lorg/freertr/tab/tabRouteEntry; delDistance(I)I delMetricdelProtodelIface"(Lorg/freertr/tab/tabRouteIface;)I preserveTime(Lorg/freertr/tab/tabRoute;)Z"(Lorg/freertr/tab/tabRoute;)ZsetProto,(Lorg/freertr/tab/tabRouteAttr$routeType;I)V mergeFrom@(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)VE(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)V[(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;II)Ve(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;II)V(Lorg/freertr/tab/tabRouteAttr;Lorg/freertr/tab/tabRoute;ILorg/freertr/tab/tabRoute;)Z(Lorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;I)Z)(TT;)Lorg/freertr/tab/tabRouteEntry;?(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;)ZD(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;)Zdump()Ljava/util/List;&()Ljava/util/List; nullLabeled6(Lorg/freertr/tab/tabRoute;)Lorg/freertr/tab/tabRoute;l(Lorg/freertr/tab/tabRoute;)Lorg/freertr/tab/tabRoute;r(Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRouteEntry;)Z compressTable:(ILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;)I(ILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;)I-(Lorg/freertr/tab/tabRoute;Ljava/util/List;)V\(Lorg/freertr/tab/tabRoute;Ljava/util/List;)Vr(Ljava/util/List;Lorg/freertr/addr/addrIP;Lorg/freertr/addr/addrIP;Lorg/freertr/addr/addrIP;)Vr(IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Lorg/freertr/tab/tabRouteEntry;(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)In(Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)IaddUpdatedTable(Lorg/freertr/tab/tabRoute$addType;IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)I(Lorg/freertr/tab/tabRoute$addType;IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)IdelUpdatedTable(IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Ii(IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)I filterTable;(IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;)I(IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;)IV(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRoute;I)VconvertTableFull:(Lorg/freertr/tab/tabRoute;I)Lorg/freertr/user/userFormat;U(Lorg/freertr/tab/tabRoute;I)Lorg/freertr/user/userFormat;1Ljava/lang/Object; SourceFile tabRoute.java NestMembersBootstrapMethods( table*add ,del .deldst 0delmet 2delprt 4delifc 6merged prefixes from 8: - < =>? @$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; InnerClassesC&org/freertr/tab/tabRouteAttr$routeType routeTypeaddTypeG%java/lang/invoke/MethodHandles$LookupIjava/lang/invoke/MethodHandlesLookup! ,-!"%&-H" *j^q5* ****** #*+*'Y)** rG LQV]b$s)t4ug* ****** #*+*+*+*+*+*'Y+*.*+*1B|G LQV]b$},~4<DL[bff3n04Y6L=**7+**;?A*+$*/  4GH **E:4*I*JL=*I*JN+-M-L*   (*,2 ??Xb(QWY**_*Y# a#**1 #' CKIQ,agY ,+hM2l76,rv,ry|~+ O,8**,?:* *,A*Y# a#,&**,W* *,A*Y# a#,6,rv&,ry|:rW*Y# a#**,?:* *,A*Y# a#,&**,W* *,A*Y# a#,6,rv7,ry|:rW+ *Y# a#,rv ,+hM**,?:* *,A*Y# a#,**,W* *,A*Y# a#**,W* *,A*Y# a#,rv ,+hM**,* *,A*Y# a#**,?:* *,A*Y# a#6,rv"r,ry|W*Y# a#a!&7JP *05?@MRYakl|    !'49@HRS\ ]"f#m$u&')*+-.0134679:=>?@BCEF2E8H=IGJHLd* &; ? ' 0 ? ' .|   ?     ? ,C^?Y:,--*****+* Z [\]"_.`:aFbRc[d"?vGQ+aY?YM,+**,* *,*Y# a#* noqrs*t,v3w;yEz ?y:Q+aY**+* *+*Y# a#"&.8 9?YM,+**,? $ **+?9: **7ZY*N*I6=<6)**;?: -*W-d#-: !*8=@JPX? =L$ **;?z=**7d>]**;?:B3QaY**W* *ʄ *Y# a#F"%14:GQXadjnx ? z=**7d>]**;?:B3QaY**W* *ʄ *Y# a#F"%14:GQX a dj nx ? z=**7d>]**;?:B3QaY**W* *ʄ *Y# a#F"% 1!4#:$G&Q'X(a*dj,n-x/ ? z=**7d>]**;?:B+3QaY**W* *ʄ *Y# a#F9:;<"=%?1@4B:CGEQFXGaId:jKnLxN ? **7+*7=>**7r**;?:W+:Gߙ=56rv#ry|~~ԄBXY$Z1[6\9^A_F`IbVcXd[fmgfYj! @??.^>**7S**;?:86rv&ry|:+ф. t uvw"y4zE{K|QyWt]?1a6,*7?,*;?:#+h:*+ÄQ,aY2 "%14<EKQ`!?q6,*7O,*;?:3#+h:,- *+ÄQ,aY:"%25=ILU[ap!? #*::6v-:5+::**1***Ե^ "'/46@EGMVYdjy!?  Q*rvd6-*ry|:+, **rv** "-06<IKO "|Y?YM,Y++* *,,>&,**,?:. (4<INQW(? Y,**7,*7>**74**;?:+,*;?ߙ2  &38;OQW?n4YL=**7 +**;aW+%&',&2)  w'  }Y L=*Ii*JN-V- I- v6- y6  +-Ä+>3 4567"9,:/<?=B?W@hAkCu4{E ? (  9:E+d=+hN+ -$-'-`**-?:+*+.h:**?:**+W**-W**WZI JKMN)O:QHSRT_UdVfXrYt[}\]^_abcd)? ? &? =:U+hM+d>@,**,?:+***+W2 hijk+l0m3o?pBrKsMiSu? ?  @:l+`=+hN-**-?:-'-**-?:**+W>y z{}~#057EMZ_aj#??)   o>+*7d6^+*;?:B,,10+7 !+; +> N %(,7:CFIRUXadgm ? TYAMYAN-BDW6**7T**;?:,HK.YA:-N+,-R,HVYA:Z+,-RB'5DGP^frx+?* TUd/+,KYA:-+]*a,a`W .  rsV,,c- ,.h--,fM,,jM,,B $,09=?DNRT yzS "p:+*     }~O-pN-*-tW !"  @6 6  I0 J:   *- w`6  "45678!:75=<?  ;66-I,-J:  , {`6"LMNOPR2M8T? M-6,Id67,J:!-c,tW6 abd efg#h&j4k7mAnDeJp ? _\  $ 2 @ N $ $YYYYYYYYYYYYY>z| %3AO]  Z*>+IN+J:95   & /  ***{*f*]*T*K*B*9*ՠç$*Ƨ*ɧ*̧ *τ# /28;ADJMSY? ???? ???? IM,,*,   !"#$%&> ;';);+;-;/;1;3;5;7;9AB|D@E@FHJ