7  java/lang/Object()Vjava/util/ArrayList   org/freertr/spf/spfCalclogLjava/util/List;  org/freertr/util/bitsgetTime()J  tim1Jorg/freertr/tab/tabGen    nodesLorg/freertr/tab/tabGen; " #$countI&org/freertr/util/syncInt %( )(I)V + ,-logSizeLorg/freertr/util/syncInt; / 0-topoLog 2 3-bidir 5 6-hops 8 9-ecmp ;<= >?java/util/ListaddAll(Ljava/util/Collection;)Z %A BCget()I E FGprevLorg/freertr/spf/spfCalc;Iorg/freertr/spf/spfLog H HL Mwhen O Ptim4 HR S$tim U VWlistReachablility(Z)Ljava/lang/String; HY Z[unreachLjava/lang/String; ] ^C listTopoHsh H` a$topo ;c deadd(Ljava/lang/Object;)Z ;g hCsize ;j klremove(I)Ljava/lang/Object;np qrmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String;ppppp z{| }~org/freertr/util/cmdsword()Ljava/lang/String;  Cjava/lang/Stringlengthnoappear eequals noconnect noforward noreachablenometricnoprefix % set(I)I (Lorg/freertr/spf/spfCalc;)V g  B(I)Ljava/lang/Comparable;org/freertr/spf/spfNode conn ; Blorg/freertr/spf/spfConn nameLorg/freertr/addr/addrType; targetLorg/freertr/spf/spfNode; $metric realHopZ stub [ident addConnN(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;IZZLjava/lang/String;)V prfAddLorg/freertr/tab/tabRoute; gorg/freertr/tab/tabRoute B"(I)Lorg/freertr/tab/tabRouteEntry; addPref>(Lorg/freertr/addr/addrType;Lorg/freertr/tab/tabRouteEntry;Z)V prfFix othAdd addOpref othFix addStub(Lorg/freertr/addr/addrType;Z)V algo addAlgo.(Lorg/freertr/addr/addrType;Ljava/util/List;)V addIdent0(Lorg/freertr/addr/addrType;Ljava/lang/String;)V $srBeg  addSegRouB(Lorg/freertr/addr/addrType;I)V $srIdx  addSegRouI $brBeg addBierB $brIdx  addBierI  $brSub   addBierS   spfRoot  find.(Ljava/lang/Comparable;)Ljava/lang/Comparable;  (Lorg/freertr/addr/addrType;)V  d   uplinks  org/freertr/addr/addrIP copyBytes()Lorg/freertr/addr/addrIP; ! "$nxtMet$org/freertr/spf/spfResult #& '(nxtHopLorg/freertr/addr/addrIP; #* +,ifaceLorg/freertr/tab/tabRouteIface; #. /(othHop #1 2,oface #4 6$ 678 99 org/freertr/tab/tabRoute$addType"Lorg/freertr/tab/tabRoute$addType; ; d<F(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V > ?>(Lorg/freertr/addr/addrPrefix;)Lorg/freertr/tab/tabRouteEntry; ABC DEorg/freertr/tab/tabRouteEntrybestLorg/freertr/tab/tabRouteAttr; GHI J$org/freertr/tab/tabRouteAttr segrouIdx GL M$rouSrc O P brLstRorg/freertr/spf/spfIndex Q( GU V$bierIdx GX Y$bierHdr G[ \$bierSub ^ _@(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry; Aa bcprefixLorg/freertr/addr/addrPrefix; efg hiorg/freertr/addr/addrPrefixip2str1(Lorg/freertr/addr/addrPrefix;)Ljava/lang/String; k lmvalueOf&(Ljava/lang/Object;)Ljava/lang/String;o qp8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; rst uvorg/freertr/util/loggerinfo(Ljava/lang/String;)V Gy qz:(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String; G| }$tagy o  ljava/lang/Integer(I)Ljava/lang/Integer; ; indexOf(Ljava/lang/Object;)I  del  tim2  uplinkLorg/freertr/spf/spfResult;  result  visited  findConn5(Lorg/freertr/spf/spfNode;I)Lorg/freertr/spf/spfConn; # (Lorg/freertr/spf/spfNode;I)V #  compareTo(Lorg/freertr/spf/spfResult;)I ; clear  tim3 p r vwarn p o yooopp   diffPrefixP(Lorg/freertr/spf/spfNode;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;)V # nodeH # #org/freertr/tab/tabIndex  !(ILorg/freertr/addr/addrPrefix;)V  doBier(Lorg/freertr/spf/spfNode;)Vorg/freertr/tab/tabLabelBier  (II)Vorg/freertr/tab/tabLabelBierN  S(Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabRouteIface;Lorg/freertr/addr/addrIP;II)V QA  )setBit   peers q9(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;oorg/freertr/cry/cryHashCrc32   polyCrc32iLorg/freertr/cry/cryHashCrc32;  !(Lorg/freertr/cry/cryHashCrc32;)V  init  ~ listTopoSum  getBytes()[B  update([B)V  CgetCrc q<(Ljava/lang/String;Ljava/lang/String;ZIII)Ljava/lang/String;org/freertr/user/userFormat| node|algos  '(Ljava/lang/String;Ljava/lang/String;)Vo  dv dns remv node|category|value|addition   node2nameQ(Lorg/freertr/spf/spfNode;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; q((Ljava/lang/String;ZI)Ljava/lang/String; q'(Ljava/lang/String;I)Ljava/lang/String;o  !"org/freertr/addr/addrType fromString(Ljava/lang/String;)Z$category|value|additionpp ( qW!("p#, q-(I)Ljava/lang/String;$p%,&,'p(,)p*p+p,p-,.,/,0; q<(IIII)Ljava/lang/String;1> q?(II)Ljava/lang/String;2p3B qC(III)Ljava/lang/String;4o5p6G qH9(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;78Lcategory|value9p O PQcountReachablility(Z)I ,:p;, V W~ listStubs!p Z [~ listSegRou<p ^ _~ listNoSegRou=p b c~listBier>p f g~ listNoBier?p@p k l-toHexDAp opq r[org/freertr/cfg/cfgAll timeZoneName ot utimeServerOffset w xytime2str((Ljava/lang/String;JI)Ljava/lang/String; { |}timePast(J)Ljava/lang/String;BoC q}DEF,when|ago|time|topoid|unreachGp  listTreeb(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Lorg/freertr/spf/spfNode;Ljava/lang/String;)V  (Lorg/freertr/spf/spfNode;)IHo  |Io  p replaceAll    org/freertr/pack/packDnsRecgenerateReverse-(Lorg/freertr/addr/addrIP;)Ljava/lang/String;org/freertr/clnt/clntDns  o nameServerAddr   doResolvList'(Ljava/util/List;Ljava/lang/String;ZI)I  ~getPTR  "endsWith  ? substring  (Ljava/lang/String;)I  java/lang/Float parseFloat(Ljava/lang/String;)Fjava/lang/Exceptionclisvgdefl   convertLoc:(Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;netsintsmetshalflocsrect   convertFltscalsfdp -Tpng > net.png << EOF graph net {inode [fontname=ubuntu,shape=none,labelloc=b,image="../misc/router.svg"] edge [fontname=ubuntu,shape=none]JpKo  ~getTXTG,L qJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;MoNO qK(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;P}EOForg/freertr/spf/spfPrefix   (Lorg/freertr/addr/addrPrefix;)V   router|name   listNhInconsQ(Lorg/freertr/tab/tabGen;Lorg/freertr/spf/spfNode;Lorg/freertr/addr/addrPrefix;)V path|nexthops  org/freertr/tab/tabIntMatchermatches(I)Z necessary|dependants   ()Lorg/freertr/spf/spfCalc;  doWork(Lorg/freertr/addr/addrType;)Zsource|target|diffQoRroutes  v   findNextHop-(Lorg/freertr/addr/addrType;)Ljava/util/List;    getMetric(Lorg/freertr/addr/addrType;)I " #  getSegRouB % & getBierB ( )*findSegrouPeers3(Lorg/freertr/spf/spfNode;)Lorg/freertr/tab/tabGen; 6, -9notyet A/ 0C(Lorg/freertr/tab/tabRoute$addType;)Lorg/freertr/tab/tabRouteEntry; 2 3()Lorg/freertr/addr/addrType; G5 6srcRtr G8 9$ segrouOld G; <$bierOld > ?@ populateRoute(Lorg/freertr/tab/tabRoute;Lorg/freertr/ip/ipFwd;Lorg/freertr/spf/spfNode;Lorg/freertr/tab/tabLabelEntry$owner;[Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabRouteEntry;Ljava/util/List;Z)V AB Calts G GF G"(Lorg/freertr/tab/tabRouteAttr;Z)V GI JnextHop G* G4 GN O$ segrouBeg GQ R$bierBeg GT UlabelRem AW XYaddAlt!(Lorg/freertr/tab/tabRouteAttr;)V [\] ^_org/freertr/tab/tabLabel int2labels(I)Ljava/util/List;aorg/freertr/ip/ipMpls Ac dhashBest f gversioniorg/freertr/ip/ipFwdIface klm noorg/freertr/tab/tabLabelEntry setFwdMpls(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;Lorg/freertr/ip/ipFwdIface;Lorg/freertr/addr/addrIP;Ljava/util/List;)V q r neighs t uconned w xy add2table5(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabIndex;)Z {|} ~org/freertr/spf/spfLnkstgetTlv()Lorg/freertr/enc/encTlv;org/freertr/pack/packHolder  (ZZ)V {  createHeader:(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;II)V {  createNode(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;IILorg/freertr/addr/addrIPv4;ILorg/freertr/spf/spfNode;I)V   org/freertr/enc/encTlvputStr3(Lorg/freertr/pack/packHolder;ILjava/lang/String;)V {  createEntry(Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;II)V {  getPrefixType"(Lorg/freertr/tab/tabRouteEntry;)I {  createPrefix(Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;Lorg/freertr/tab/tabRouteEntry;)V graphBeg1 ConstantValue graphBeg2 graphBeg3 graphEnd1 graphEnd2 Signature9Lorg/freertr/tab/tabGen;>;*Ljava/util/List;Lorg/freertr/spf/spfNode;Lorg/freertr/spf/spfCalc;CodeLineNumberTable StackMapTable"(Lorg/freertr/spf/spfCalc;)VgetTopoLogModesetTopoLogMode(Lorg/freertr/util/cmds;)V!()Lorg/freertr/spf/spfCalc; (TTa;TTa;IZZLjava/lang/String;)V addNextHop(ILorg/freertr/addr/addrType;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;)Vx(ITTa;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;)VB(TTa;Lorg/freertr/tab/tabRouteEntry;Z)V,(TTa;Ljava/util/List;)V(TTa;Z)V(TTa;Ljava/lang/String;)V(TTa;I)V=(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrPrefix;II)VA(TTa;Lorg/freertr/addr/addrPrefix;II)V>(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrPrefix;III)VB(TTa;Lorg/freertr/addr/addrPrefix;III)V(Lorg/freertr/spf/spfNode;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;)V justFlexAlgo(TTa;)Z9(TTa;)Ljava/util/List;>;p(Lorg/freertr/spf/spfNode;)Lorg/freertr/tab/tabGen;>;(TTa;)I"(Lorg/freertr/spf/spfNode;)VgetBierI8(Lorg/freertr/ip/ipFwd;II)Lorg/freertr/tab/tabLabelBier; listAlgorithm()Lorg/freertr/user/userFormat; listTopologyQ(Lorg/freertr/addr/addrType;Lorg/freertr/util/cmds;)Lorg/freertr/user/userFormat;:(TTa;Lorg/freertr/util/cmds;)Lorg/freertr/user/userFormat;listStatistics listUsages)(Lorg/freertr/util/cmds;)Ljava/util/List;=(Lorg/freertr/util/cmds;)Ljava/util/List;|(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Lorg/freertr/spf/spfNode;Ljava/lang/String;)VW(Lorg/freertr/spf/spfNode;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; listGraphviz[Ljava/lang/String;(Lorg/freertr/tab/tabGen;>;Lorg/freertr/spf/spfNode;Lorg/freertr/addr/addrPrefix;)V listHostnames>(Lorg/freertr/tab/tabIntMatcher;)Lorg/freertr/user/userFormat;listNonRedundant listMetIncons getRoutes(Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelEntry$owner;[Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabGen;)Lorg/freertr/tab/tabRoute;org/freertr/ip/ipFwd#org/freertr/tab/tabLabelEntry$owner [Lorg/freertr/tab/tabLabelEntry;(Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelEntry$owner;[Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabGen;>;)Lorg/freertr/tab/tabRoute; getOroutes(Lorg/freertr/tab/tabRoute;Lorg/freertr/ip/ipFwd;Lorg/freertr/spf/spfNode;Lorg/freertr/tab/tabLabelEntry$owner;[Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabGen;>;Lorg/freertr/tab/tabGen;>;Lorg/freertr/tab/tabRouteEntry;Ljava/util/List;>;Z)VlistLinkStates=(Lorg/freertr/tab/tabRoute;IIILorg/freertr/addr/addrIPv4;II)Vorg/freertr/addr/addrIPv4X(Lorg/freertr/tab/tabRoute;IIILorg/freertr/addr/addrIPv4;II)V2Ljava/lang/Object; SourceFile spfCalc.javaBootstrapMethods noappear noconnect noforward noreachable nometric noprefixprefix  appeared at (prefix  metric changed at  from  to %prefix  tag changed at  from  to prefix  lost at old node  disappearednew node  appeared "node  established connection to  -metric changed on node  toward  from  to   node  unwilling to forward to node  willing to forward to node  lost connection to node  became unreachablenode  became reachable =   ,,,,| |reach||! |segrou|# |bieri|% |bierd|' |flexalgo|) |neigh||+ |prefix||-node|/name|1 reachable|3stub|5uplink|7 uplinks|9 uplinknod|; uplinkhop|= reaches|? reachnod|A reachhop|C reachvia|E reachifc|G reachothvia|I reachothifc|K reachmet|Mhopmet|O connections|Qprefixes|   S segrout| U flexalgo|W bieri|  Y [biers|]neighbor|| _ fixprefix||a addprefix||creach|e unreach|g unreachable|isegrou|k nosegrou|mbier|onobier|q topostr|stopoid|ulast| ( ago)wfill|ycalc|{table|}run|`--//."" [pin=true pos=","] [taillabel=""]  [label=""] "" -- "" [weight=] "" -- "" [weight=] ||missing||  q$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; InnerClassesaddTypeowner%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup! [[[[[ #$P FG,-0-3-9-6-8**Y **Y+E*!*%Y'**%Y'.*%Y'1*%Y'4*%Y'7* + :W*+***+..*+11*+44*+77*+!`!*.@*+DHYJM,+K,+N+eQ,+TX,+\_* ,bW**@>* f* iW~uFvw!x%y*z6{B|N}Z~fgu}g  NAH~^mL*.@=~ +oL~ +sL~ +tL~ +uL~ +vL ~ +wL+> %+29@GNU\ x=+yN-l- ~=- ~=- ~=- ~=- ~=- ~=*.Wf!$-25>CFOTW`ehqvy|   Y*L+1*1@W+4*4@W+7*7@W=*\*N6-f=-:+-6-Ģ+--ʄ6-ζĢ+--ʄ6-ѶĢ+--Ԅ6-׶Ģ+--Ԅ+--ڶ+--߶+--+--+--+--+--+--* +++*   +# '6CO`p 06BNZfr~3 8 G####e >Y,:*::Y:      Y+:*:: bWJ#'06=DK R!\"j#o$s&' K Y,:* :--N :  J6f2#:  % ) - 0 6fM#:  3* ) -% ) - 0"4 5679&:'<+=0?5@<BECFEOFaGrHxI~JKFMOPQRTUWXYZ[O]%  =+# EY+:*::β5,:5,:"g hij!l%m6oDq ! EY+:*::ײ5,:Ѳ5,:"{ |}~!%6D ! g*Y+N*-:N-,:W ) a$Y+N*-:N-ڱ # o),Y+N*-:N-," #( 2Y+N*-:N--* !$+,1 p*Y+N*-:N-"!$) ]Y+:*::,=:@F@YKK,=:@F@YKK,=:@F@YKK,=:@F@YKKb#'-8=FU`en} -A'''2Y+N*-:N--* !$+,1 :Y+N*-:N--NQYSW& #$&'(!)$+),9-  :Y+N*-:N--NQYSW& 679:;!<$>)?9@  Y+:*::NQYSW,=: @T@W@Z,=: @T@W@Z,=: @T@W@Z,=: @T@W@ZvLMOPQ#R'T-U>WIXNYWZa[k]v^{_`acdefgijklmo CA,,,}6,Ģ,:-]:`d+jnqw@w@w*`d+j@w@wxq=@{@{*`d+j@{@{~qT6-Ģ5-:,]:`d+jqȱVr stu!v5w8yKzo{r}~r4AA994)VYM*d>B*:'*W. #(+<?EOUn*=*>*N-%----- -*Y+ M, *D*, YN,,-,W6*1@6*7@6*4@66--M6  -#- :  , M -,W, ,ڙ6  ,f~, :  ` P ,;, `6    6 ,36   #Y, :   C Y   bW    - W 3 3  bW  d    bW3 3 3    bW   z6**D*.@6 6  *DL*D :  -*  :   ~ j 6  *6* :  *D  :   ~ j6   f  : :" ~ jj* ~" jj' ~ jj' ~ jj 6   fW  :8 :" ~ jj     ~ j    ~ j  ~C*   *   ζ*   Ѷ*   ׶ *D2 $',16=DIObfkmrz .>CFSV[hkw/?BGTd|    $3AF I"Z#_$f%v)*+,./01567 :;!<6?F@MAb)hEzFGHJKLMERSTWX Y\ ]0^@_P``fckd9 !-@@@ "%  X#!4   ')!,'43++'4$$G 8Y M*Y+ N-,--Y :#Y-bWfi#:6f#:36 36)#YbW^#Y:  )) %% 00 --  , bWH-,,!nopq!s(t-v6wGyRzU|b}m~p(.16, !; ; #8# Z)*RYM>+f<+:,YöW,"&25JP * P*Y+ M,,# P*Y+ M,,& P*Y+ M,,@+=+N"+N+NQW*+Ʊ.4? ) Y:6*%*: *Ƅ6**:t)f[Y+)%:6N NQdՄW_*Nf (-06<KY^ailwz2 !! ") [~DmL=*5*N--+-j-L+*   #*-<B _~@mL=*1*N--+-jL+* !"#$ %#'*(-*8">, c~DmL=*5*N--+-j-L+* 5678 9#;*<-><6B@ g~@mL=*1*N--+-jL+* IJKL M#O*P-R8J>T PQ;=>*-*:* ^_`a!b$d-e0g3_9i VWEmM>*6*:,jM,* stuv"w%y.z1|=tC~ W~FmL=*7*N--f+-jL+*  #03>D ^CCYL++*+ ~kmL=*\*N-C+-j--߹f-f-ζ-`-׶`-Ѷ`L+" #ci?zYL=*`*N-Gm:6-߹f -j:+-j+2 '+.2CZ`rx*  N::,y:1 ,yN ,y::2Y :6**:*-:  f   6  ߹f$  j 6  f? :    * -  6  ζĢ9 :    `d @w 6  Ģ9 :    `d @w 6  ׶Ģ9 :    `d @w 6  ѶĢ9 :    `d @w +Y#:Y+:* :j%&'f)j*af+6f;#:  j. 3/f06f#:  j1 32 %j3 )j4 -j5 0j6t7 8f9ζ׶Ѷĺ:=6߹f"j@Am:6  N.N Q:   jD: E6  f> :   j  F 6  ζĢ7 :   `d @wI 6  Ģ7 :   `d @wJ 6  ׶Ģ7 :   `d @wI 6  ѶĢ7 :   `d @wJ *%*-8>AEHM\ky~ 058U[kw|  '- = INQm sy| !"#$%0&B'S(e)t&z,-./012345".(879F:Z;<=>=@ABCD E GB!I-J?KPLUMXOtJzQRSTVQXYZ[]X_`a#b&d@_FfVgbhgijkfm1A![/' A A A A -C z8Fr-#Q ' A A A AdYKL+*TM+*NR+*TS+*NT+*UX+*Y\+*]`+*ad+*eh+*i+*\jm+n*sav*z~+**e+**e+*N*e+*!+Jvwx*y8zF{S|`}m~zv<YL* fd=+* j+4: cMN+y:, +yM +yN˧ȻY :* *,-* mF !&)49<?HOR`;I ȻY :6fH:# bW+*,-bW6fE:`f : *+,- B ,7:MPZ`v' ;- -B+j:- -m:,Y::Y: W:,,dF  )36=FT[`clo, {6+,+>,:+`+S+S& )3 <+M E =>:6666: : : 8 8 8 866 8 8 8 8+y:f>= +y:ö+y:*+y: ɶ 6˶ 6uͶ 6d϶ 6SѶ +y: ?ӶY*+y8 *+y8 *+y8*+y8  88 8  88 86ض1*+y8*+y8*+y8*+y86 +y: Y :ڹbWܹbW޹bW6**:* :bW ӻY: W:* :3*28*28/  ;j8f8j8f8YSYS:22bW6f|:Pm:::* bW{6Ģ4:`d@wbW6ζĢ4:`d@wbW6ѶĢ4:`d@wbW6׶Ģ4:`d@wbWń\bWbWN     " % (+.147:@ILWY\gil!w"}#%&'(*+,./0234678:;<> ?@A'B1C9D=EAFEHMIQJUKYM\N_PjQtR~STUVXYZ\]^_abcefg hij'k<lCmMnRoUq_risntvuywxz{}~#&*/=BPsy~>DT`e,: z%F8;p z;# < z;4"====h+Y-:+::,bW * CYL=*)*N+-j-+';A 0YM>**:6ζĢ*,Ǵ`6Ģ*,Ǵ`6׶Ģ*,Ǵ`6ѶĢ*,Ǵ`܄=YN6,6,:+f-j-b"2FL\pv > &&&&' b* YL* M,*  W,d>+,: ,W>,X,:ڙ:,*  W,N+j,T+^ (6CKNX^kx   * (  "#^ ̻YM>**:6f::,jjGd6t6'+,jjjI,R(:K\aw z"#$&')*,/( N 1 JY:6*(*:*:f*6 *!6 *$6 *': 6  Ģb Dz+.:@14@ 7@ :@Yw `w*+,- = 6  ζĢS Dz+.:@14@ 7@ :*+,- = *Nr< =>)?4@?ABCMDXEcFkG{HIJKLMGOPQ RS T4O:=@WGX]2;+ ;k\ 1 JY:6*(*:*:f*6 *!6 *$6 *': 6  ѶĢb Dz+.:@14@ 7@ :@Yw `w*+,- = 6  ׶ĢS Dz+.:@14@ 7@ :*+,- = *Nre fg)h4i?jBlMmXncokp{qrstuvpxyz {| }4x:f@G]2;+ ;k\ ?@gA@K~6 6   f.  #: GYD:@E ( % %H )K% - -H 0K 3L M P@FF@77@TT@WW@::F MSV4MF`ZS L ZSV b+e7 +5: +e@S@F@F2,@Kh@H@SjY@F`:p- svW1 .<EPU]`mz"5CLSY^doyz@=#G u)  [ A; A;[ @z:Y: Y: 6  ** :         +  6   fg  :       +   6   ζĢD  :    +   6   ĢD  :    +   6   ׶ĢD  :    +   6   ѶĢD  :    +    -*8AV[cr3@FVbo&39?M   SrMMMMS   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~6@k@