PK Sf 3 META-INF/PK Rf 3C8 META-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.6.2 Created-By: 1.5.0_04-b05 (Sun Microsystems Inc.) Main-Class: edu.umiacs.fmm.gui.FmmDemo X-COMMENT: Main-Class will be added automatically by build PK Rf 3edu/PK Rf 3 edu/umiacs/PK Sf 3edu/umiacs/fmm/PK Rf 3̪@@edu/umiacs/fmm/Box.class1 ;           ~    @ ?       / /  /  / levelIindexemptyZc[Ledu/umiacs/fmm/Complex;dtildedxLjava/util/Vector; Signature*Ljava/util/Vector;yp(III)VCodeLineNumberTableLocalVariableTableithisLedu/umiacs/fmm/Box;getLevel()IgetIndexisEmpty()ZgetC()[Ledu/umiacs/fmm/Complex; getDtildegetDaddC([Ledu/umiacs/fmm/Complex;)Vinc addDtildeaddDgetX()[Ledu/umiacs/fmm/Point; getXRecursive,(Ledu/umiacs/fmm/FmmTree;)Ljava/util/Vector;childarr$[Ledu/umiacs/fmm/Box;len$i$anstLedu/umiacs/fmm/FmmTree;childrenLocalVariableTypeTableD(Ledu/umiacs/fmm/FmmTree;)Ljava/util/Vector; getYRecursivegetYsetLevel(I)VsetIndexsetEmpty(Z)VesetC setDtildesetDsetX([Ledu/umiacs/fmm/Point;)V[Ledu/umiacs/fmm/Point;setYaddX(Ledu/umiacs/fmm/Point;)VLedu/umiacs/fmm/Point;addY getParent.(Ledu/umiacs/fmm/FmmTree;)Ledu/umiacs/fmm/Box; getChildren/(Ledu/umiacs/fmm/FmmTree;)[Ledu/umiacs/fmm/Box;Ljava/lang/Exception;getSize()D getCenter()Ledu/umiacs/fmm/Point; getNeighborsjtmpLedu/umiacs/fmm/Complex;ans1(Ljava/util/Vector;getNeighborsE4 theseChildrenb myNeighborsmyNeighborsVecmyParentsNeighborsmyParentsNeighborsAtMyLevelVectmpAns compareTo(Ljava/lang/Object;)IoLjava/lang/Object;equals(Ljava/lang/Object;)ZgetLabel()Ljava/lang/String;toString SourceFileBox.java L K> => ?> @A BC DC ECjava/util/Vector FG JGedu/umiacs/fmm/Complex L edu/umiacs/fmm/Point de qe  edu/umiacs/fmm/Boxjava/lang/Exception  L L U java/lang/StringBuilder( TU , VU) Box java/lang/Objectjava/lang/Comparable()V(D)Vadd2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;toArray(([Ljava/lang/Object;)[Ljava/lang/Object;addAll(Ljava/util/Collection;)Z addElement(Ljava/lang/Object;)Vedu/umiacs/fmm/FmmTreegetBox(II)Ledu/umiacs/fmm/Box;java/lang/Mathpow(DD)Dedu/umiacs/fmm/Util uninterleave(II)Ledu/umiacs/fmm/Complex;(DD)Vmultiply(D)Ledu/umiacs/fmm/Complex;(Ledu/umiacs/fmm/Complex;)Vreal imaginary interleave(III)Isize elementAt(I)Ljava/lang/Object;containsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;!;< =>?>@ABCDCECFGHIJGHIK>"LMN,********* Y * Y * * * 66* YS* YS* YSʱON  "!'"2#=$E%M&U'^(m)|*',P4X9Q>RS=>?>K>TUN/*O/P RSVUN/*O2P RSWXN/*O5P RSYZN/*O8P RS[ZN/*O;P RS\ZN/*O>P RS]^Nn$=***2+2SOB CB#DP !Q>$RS$_C`^Nn$=***2+2SOF GF#HP !Q>$RS$_Ca^Nn$=***2+2SOJ KJ#LP !Q>$RS$_CbcN<* ONP RSdeNH*+M,,* Y N,:662:-+W-O"QRSUV5W@VFYPR5 fS'gh$"i>'j>,kGHRSHlmBnho ,kIHpqeNH*+M,,* Y N,:662:-+W-O"]^_ab5c@bFePR5 fS'gh$"i>'j>,kGHRSHlmBnho ,kIHprcN<* OiP RSstN>*O mnPRSQ>utN>*O pqPRSQ>vwN>*O stPRSxAy^N>*+O vwPRSBCz^N>*+O yzPRSDC{^N>*+O |}PRSEC|}N.+,* Y =++2 * +2O'-P Q>.RS.K~}N.+,* Y =++2 * +2O'-P Q>.RS.K~NI + * +O P RS KNI + * +O P RS KNE+*d*zOPRSlmN,M>,+*`*x`S,M()O !')*P4 Q>$kh*x,RS,lmN7 *tOP  RSNT *Y** Y!*"#$OP *RSNϻ Y M**N-%6-&66y6jZ`R`*=`5`* ,+*``*',(:6,)SMOF"+4xPp .m>%|Q>Q>kGF>"J>"hxRSlmo kN4 *+*M Y N6,-,2*+++*: Y :6/2+:62ϻ Y :6(.):*,-- (:6)SMOj &1:EP[ekqzPQ>S>Ph=4Q>S}5Q>Q>hG1h:GzeG#khxRSlmo :zeN;+M*,*,*,*,O* *,79P ;RS;6SNB*+.OPRSNR(/Y012*3452*64728OP (RSNA/Y092*:28OP RSPK Rf 3edu/umiacs/fmm/Complex.class1 ;            @ !TD-@!TD- ?  @ xDy()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Complex;(Ledu/umiacs/fmm/Complex;)Vz(D)V(DD)Vpolar()Ledu/umiacs/fmm/Complex;ra cartesianreal()D imaginary magnitudeargumentadd2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;(D)Ledu/umiacs/fmm/Complex;dsubtractnegatemultiplydivideinvert conjugateabsequals(Ledu/umiacs/fmm/Complex;)ZtoString()Ljava/lang/String;ddLjava/text/DecimalFormat; parseComplex,(Ljava/lang/String;)Ledu/umiacs/fmm/Complex;sLjava/lang/String;fromItoexpexp_xlogrpartipartsqrtpowsincostanatanIMZPZMsinhcoshtanhatanh(D)D SourceFile Complex.java ?@ <= >= OP QP q~ edu/umiacs/fmm/Complex ?I t~ s~java/text/DecimalFormat0.0000 ?java/lang/Stringjava/lang/StringBuilder( ,) ab  l~ n~ nK ZU lK ZV {~ z~ sK tK [U XU [V zK {K TV XV YKjava/lang/Objectjava/lang/StrictMathatan2(DD)D(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;format(D)Ljava/lang/String;indexOf(I)I(II)I substring(II)Ljava/lang/String;java/lang/Double parseDouble(Ljava/lang/String;)D! ;<=>=(?@AI***B;< =?C DE?FAU**+*+BBC DECDEGE?HAO**'*BHI JKCDE<=?IAY**'*)BNO PRC DE<=>=JKAs-**k**kcH** J Y') BWX#YC -DEL=# M=NKAJ Y** k** k B^C  DEOPA/*BcC DEQPA/*BhC DERPAA**k**kcBnC DESPA6 ** BsC  DETUAN Y*+c*+c BxCDEGETVAF Y*'c* B}CDEW=XUAN Y*+g*+g BCDEGEXVAF Y*'g* BCDEW=YKA< Y*w*w BC DEZUAb . Y*+k*+kg*+k*+kc BC.DE.GEZVAH Y*'k*'k BCDEW=[UA F++k++kcI Y*+k*+kc(o*+k*+kg(o B C FDEFGE2L=[VAH Y*'o*'o BCDEW=\KA`(**k**kcH Y*'o*'o B C(DEL=]KA; Y**w BC DE^PAA**k**kcBC DE_`AR+*+*BCDEGEabAyAYLYY+*+*B  CADE 7cd efA=*(<*,=*`J<*)=*`9 Y) B%2C4=gh6ij.kj"<=2 >=lKAZ"*H Y'* k'* k B C"DEm=nKA>**k**kcH** J) )"gJ Y'$) B#+1C >DE'o=#p=qKAM**k**kcH%'*ckJ%'*gk9*w9 Y) B%4BC*MDE6L=%(o=4p=rUAP+*'(M,)B  C DEGE MErVAP*''*N-)B  C DEW= MEsKAR ( Y* **+k* **,k BC (DEtKAS ) Y* **+k* w**,k BC )DEuKA6 *-*./B C  DEvKAF Y0 L Y*c* M Y*g* N+,'-'235(B 0C*FDE :wE(xE0yEzKAR( Y**,* k**+* k BC (DE{KAR( Y**+* k**,* k BC (DE|KA6 *6*7/B"C  DE}KAG*8'*9:'235B'C DEz~AC''wg3oB-CDE<={~AC''wc3oB1CDE<=PK Rf 3Þ))edu/umiacs/fmm/FmmTree.class1Q V     d  @    @                        > > > >            MAX_NUM_LEVELI ConstantValue dimension numOfLevelsx[Ledu/umiacs/fmm/Point;y potentialLedu/umiacs/fmm/Potential;struct[[Ledu/umiacs/fmm/Box;DEFAULT_NUM_LEVEL currLevelnumOpsIndirectJ numOpsDirect()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/FmmTree;(ILedu/umiacs/fmm/Potential;)VjilevelL(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)VK([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)VN initStructbuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;maxClusterThreshholdansgetIndex0([Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Point;)IzpLedu/umiacs/fmm/Point; upwardPass([D)VkthisXB[Ledu/umiacs/fmm/Complex;thisUDthisBoxLedu/umiacs/fmm/Box;xPoints parentBoxfromLedu/umiacs/fmm/Complex;toelu[D downwardPass1 thisE4Boxtmpce4[Ledu/umiacs/fmm/Box; downwardPass2childrenmsolve([D)[DincqthisNeighborsXthisYregPartdrVecsinPartneineiandmeyPointsv solveDirectgetClusterThreshold()Ixlengthylength getStruct()[[Ledu/umiacs/fmm/Box;getBox(II)Ledu/umiacs/fmm/Box;indexgetNumOfLevelstoString()Ljava/lang/String;Ljava/lang/String;printgetX()[Ledu/umiacs/fmm/Point;getYgetNumOpsDirect()J getNumOpsgetNumOpsIndirectsetNumOpsDirect(J)VsetNumOpsIndirect SourceFile FmmTree.java kl [X ]X gX ^_ `_ cdedu/umiacs/fmm/Potential ab edu/umiacs/fmm/Box X k yl     ! "# $#edu/umiacs/fmm/FmmTree kv %& '( )* +, hi ~- ./ 01 23 45 67 89 :7 ;1 <5 =1 >9 ?5 @7 l l A, .B CD E9 FG jijava/lang/StringBuilder HI########Level HJ:   X points:   Y Points:  C values: Dtilde values:  D values: ########End Level  K LMN OP P Ol java/lang/Objectjava/lang/Mathpow(DD)D(III)Vlog(D)Dround(F)IgetPedu/umiacs/fmm/Point getBoxIndex(I)IaddX(Ledu/umiacs/fmm/Point;)VaddYequals(Ljava/lang/Object;)ZgetCoord()Ledu/umiacs/fmm/Complex; getCenter()Ledu/umiacs/fmm/Point; getSCoeffK(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;edu/umiacs/fmm/Complexmultiply(D)Ledu/umiacs/fmm/Complex;addC([Ledu/umiacs/fmm/Complex;)V getParent.(Ledu/umiacs/fmm/FmmTree;)Ledu/umiacs/fmm/Box;getC()[Ledu/umiacs/fmm/Complex;getSSd(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;[Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;getNeighborsE4/(Ledu/umiacs/fmm/FmmTree;)[Ledu/umiacs/fmm/Box;getSR addDtilde getDtildeaddD getChildrengetDgetRR getRVector2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;real()D getNeighborsdirectJ(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)V!V WXYZ[XY\]X^_`_abcdeXYfgXhijiklm6*****d**** Y n&   "!*"5#o 6pqkrmw*****d** >*G* S6*2 *2Y,Sڄ*, n6 $ %&'#(-)?*N+e*k(q-v.o4B)sX%LtXwpqwuXwabkvm8*****d** *,*-* *n* / 234#5(6-73879o48pq8uX8^_8`_8abkwmR**+6*oo**** *+*,*- *n2 : ; <&=.>3?>@CAHBMCQDo4RpqR^_R`_Rab ExXylm:<*F* S=*2!*2Y* Sڄ<*-**d2*2*d2*2<*-**d2*2*d2*2бn6 F GH)IAHGFMKXL|KMNMOo4)sXKtXO3tX3tXpq z{m0:6#Y+,-:nRS TV$W'S-Yo>'tX0|X0^_0`_0ab-}q~m">6++2,n]^ _`^ ao4tX"pq"_" }Xm w=**d2**d22N- :62:* !-"!#:*Y$ a$*Y$* a$+**%196  "  2&S*Y$ a$ -'*Y$* a$o7*d=>*2*22:*(:*Y$ a$"!:*Y$ a$"!:*Y$ a$* )*'*Y$* c$*Y$* a$obn!ef g&h1i<jCkXlbmsnopqostiey{|~ !+@Yj{pyvo'X CXjA4sX &_tXyq ]!IXXwpqwlm <*=*2*22N-*+:62:"!:*Y$ a$-"!:*Y$ a$-* ),-* ),: *Y$* c$*Y$* a$wSCnJ  '29CMV`tof 9wCmVZ* *sX ' XXpqlm<*20*22*22./*Y$* a$<*d=*2*22N-"!:*Y$ a$-*0:6s2"!:*Y$ a$2* -12/*Y$* c$22./*Y$* ha$TBnV #4:FS\eovo\ 8tX]yxX\ev{HX<Xpqm"*+3*4*5*M>**d2d**d22:6:C=622:91: * !"!7: *Y$* a$6   (  2  289c9*Y$ a$ 9 *::`:62SS6p2 :[U6J2:+**%19* !!;&99 c9 *Y$ a$,**% cR̄,n( '6=HSZ]dz%3NU_ek|o-X X%:3,NOX]_uXZ"]d z K7sX6L=E_qtXpqum ]*M>,N6*;,\1+1* *2!*2!;9kcR*Y< a<,n"EOU[o4BtX QsX]pq]UmQ<=**d2>**d22 >**d2266<<n* &9 > @ F IOo4&#X9XKtXQpqO}Xm/*no pqmG *22no  pq uX Xm/*no pqm=L=*>Y?+@A@BC@D@EL>*2=>Y?+@*22F@D@EL>Y?+@G@EL6*22 1>Y?+@*22 2H@I@ELĻ>Y?+@D@EL>Y?+@J@EL6*2261>Y?+@*2262H@I@ELĻ>Y?+@D@EL>Y?+@K@EL6*22)1>Y?+@*22)2L@I@ELĻ>Y?+@D@EL>Y?+@M@EL6*22)1>Y?+@*22.2L@I@ELĻ>Y?+@D@EL>Y?+@N@EL6*22)1>Y?+@*2212L@I@ELĻ>Y?+@D@EL>Y?+@O@BP@ELo+n" /<^ r!"!$%&'&)2*F+Z,+./010345.6V5\8pv:<o\ u?X?XI?X?X?X1EsXtXpq}lm<*Q>Y?A@BC@ER=*2Q*22FRQGS>*22 1Q>Y?*22 2H@I@ESŲQTQJS>*2261Q>Y?*2262H@I@ESŲQTQKS>*22)1Q>Y?*22)2L@I@ESŲQTQMS>*22)1Q>Y?*22.2L@I@ESŲQTQNS>*22)1Q>Y?*2212L@I@ESŲQT[Q>Y?O@BD@ERn!? @(A5BFCND`EDGHIJILMNO$N*Q0R8SJTrSxV~WXYX[A]?_oRP>X>X>X:>X>X*sXtXpqm/*nao pqm/*ndo pqm/*<ngo pqm/*Unjo pqm/*$nmo pqm>*<n pqopqtim>*$n stopqtiPK Rf 3]Tr77edu/umiacs/fmm/Main.class1 2mn op qr s tu tv tw ox yz{ m| } ~   1 1 1 t    " ! ! 1  * * - 1fLjava/text/DecimalFormat;()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Main;main([Ljava/lang/String;)ViItmpDargs[Ljava/lang/String;N thresholdpx[Ledu/umiacs/fmm/Point;yu[DtLedu/umiacs/fmm/FmmTree;indirectdirecterror Exceptions printTree(Ledu/umiacs/fmm/FmmTree;)VprintU([D)Vdarr$len$i$ printPoints([Ledu/umiacs/fmm/Point;)VLedu/umiacs/fmm/Point; loadInput3([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;[D)VfilenameLjava/lang/String;frLjava/io/BufferedReader;linecount parsePoint*(Ljava/lang/String;)Ledu/umiacs/fmm/Point;ssLjava/util/StringTokenizer; SourceFile Main.java 56edu/umiacs/fmm/Point 5edu/umiacs/fmm/Potential 5  java/lang/StringBuilderError:  X [\YU UVV ST 6   ID:\My Documents\My Programming Projects\fmmdemo-adaptive2\input\input.txtjava/io/BufferedReaderjava/io/FileReader 5 5  fgEND java/util/StringTokenizer 5 java/text/DecimalFormat0.0000 34edu/umiacs/fmm/Mainjava/lang/Objectjava/lang/Exceptionjava/lang/Mathrandom()D(DD)V(I)Vedu/umiacs/fmm/FmmTreebuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;solve([D)[D solveDirectabs(D)Djava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vprint(D)VgetCoord()Ledu/umiacs/fmm/Complex;edu/umiacs/fmm/Complexreal imaginary(Ljava/io/Reader;)VreadLinejava/lang/Stringequals(Ljava/lang/Object;)Zjava/lang/Double parseDouble(Ljava/lang/String;)D'(Ljava/lang/String;Ljava/lang/String;)V nextToken!12 345673*8 9 :; <=7d<=>:::65YSYSRY:: : 9 6   %  1 1g 9    9 ٲ Y      8~  !!3"E#M S(e)n*w+z,./0,23456789:;<98>? @A }*>? BCD?E?F? GHIHJKeLMnNKwOK zPA QR ST73*8 ?@9 LM UV7~ *L+=>+19 8BCBD94WAXKY?Z? JK [\7C*L+=>9+2: Y ȱ8FG<FBI94+F]@XH=Y?;Z?CGH ^_7 N!Y"Y-#$:%:%:6'&':*S%:%:6'&':+S%:%:6#(&,)R%:ޱ8bLMNO"P%Q4R;SDTKUNVUWXXgYnZw[~\]^_`abc9\ ;F]nF]GHIHJK`abcda%e?QR fg7i#*Y*+LY+,)+,)M,8e f!g9 #da hi!F]j67% -Y./08klPK Rf 3?f[[edu/umiacs/fmm/Point.class1W 56 7 8 9: 5; < = => ? @@ AB AC D EFGcoordLedu/umiacs/fmm/Complex;(DD)VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Point;xDy(Ledu/umiacs/fmm/Complex;)Vc(Ledu/umiacs/fmm/Point;)VpgetCoord()Ledu/umiacs/fmm/Complex;setCoordtoString()Ljava/lang/String;equals(Ljava/lang/Object;)ZoLjava/lang/Object; getBoxIndex(I)IlevelI SourceFile Point.java Hedu/umiacs/fmm/Complex   "java/lang/StringBuilderPoint IJ )*edu/umiacs/fmm/Point +K LMN OP QR SMT UVjava/lang/Object()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(Ledu/umiacs/fmm/Complex;)Zreal()Djava/lang/Mathpow(DD)Dfloor(D)D imaginaryedu/umiacs/fmm/Util interleave(III)I! X**Y')  ! "F **+   #$P**Y+%&'/* (">*+ )*DY * # +,S+ M*,  '( -. %/0a-*k*k,--1234PK Rf 3tq<=edu/umiacs/fmm/Potential.class1\ A B C D E/F G H I J K L M NOPpI DEFAULT_P()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Potential;(I)VdirectJ(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;yjLedu/umiacs/fmm/Complex;xigetP()IsetPgetSRd(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;[Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;ijfromtosCoeff[Ledu/umiacs/fmm/Complex;tsr[[Ledu/umiacs/fmm/Complex;ansgetSSssgetRRrCoeff getRCoeffK(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;xstar getRVectoryrVec getSCoeff getSVectorsVec SourceFilePotential.java    QR STedu/umiacs/fmm/Complex U VR WX YT ZX VX WR [Redu/umiacs/fmm/Potentialjava/lang/Objectsubtract2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;log()Ledu/umiacs/fmm/Complex;(D)Vdividemultiply(D)Ledu/umiacs/fmm/Complex;negatepowadd!  > **   F **   G +,     ! "#/*  $>* #$%&9 ?,+:**:2S2Y S6*/2d22d   S6*#2Y S6*F6*42d22`d   SɄ*:6*DYS6*%2-222S؄^'() *3,?-e,k.w/.01210456780765<; 65'n)(:(L' +(J'??) ?* ?+,8- *./P0,1&p R,+:**:6*2YS2S6*/2d22d   S6*Bd6022`2 do SЄ6*.`6*2YS*:6*DYS6*%2-222S؄n?@A!B1A7C?DKEqDwFGHGFIJKJIMNOP'QCPINOT'B5'3(zH'(4'+(J'RR) R* R+,K- =2/P0,3&R 8,+:**:6*2YS6*22d2S6*F`6*12d22d`   S̄6*)62YS*:6*DYS6*%2-222S؄jXYZ![1Z7\C]X\^^j_y`_^abcbaefgh i)h/f5l':$(p7(aL'(/'+(J'88) 8* 84,1- #2/P0,56>*N-,+S6* -+,t t S-qrst6s<v4&'>>! >7 60,86+*N6*-+, S-z{|#{)}4 '++9 +7 #:,;6?*N-YS6*!-+,  S-7=4''??! ?7 70,<67*N-+,S6*-+,t S-/54'779 77 /=,> ?@PK Rf 3)edu/umiacs/fmm/Potential2.class1\ A B C D E/F G H I J K L M NOPpI DEFAULT_P()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Potential2;(I)VdirectJ(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;yjLedu/umiacs/fmm/Complex;xigetP()IsetPgetSRd(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;[Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;ijfromtosCoeff[Ledu/umiacs/fmm/Complex;tsr[[Ledu/umiacs/fmm/Complex;ansgetSSssgetRRrCoeff getRCoeffK(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;xstar getRVectoryrVec getSCoeff getSVectorsVec SourceFilePotential2.java    QR STedu/umiacs/fmm/Complex U VR WX YT ZX VX WR [Redu/umiacs/fmm/Potential2java/lang/Objectsubtract2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;log()Ledu/umiacs/fmm/Complex;(D)Vdividemultiply(D)Ledu/umiacs/fmm/Complex;negatepowadd!  > **   F **   G +,     ! "#/*  $>* #$%&9 ?,+:**:2S2Y S6*/2d22d   S6*#2Y S6*F6*42d22`d   SɄ*:6*DYS6*%2-222S؄^'() *3,?-e,k.w/.01210456780765<; 65'n)(:(L' +(J'??) ?* ?+,8- *./P0,1&p R,+:**:6*2YS2S6*/2d22d   S6*Bd6022`2 do SЄ6*.`6*2YS*:6*DYS6*%2-222S؄n?@A!B1A7C?DKEqDwFGHGFIJKJIMNOP'QCPINOT'B5'3(zH'(4'+(J'RR) R* R+,K- =2/P0,3&R 8,+:**:6*2YS6*22d2S6*F`6*12d22d`   S̄6*)62YS*:6*DYS6*%2-222S؄jXYZ![1Z7\C]X\^^j_y`_^abcbaefgh i)h/f5l':$(p7(aL'(/'+(J'88) 8* 84,1- #2/P0,56>*N-,+S6* -+,t t S-qrst6s<v4&'>>! >7 60,86+*N6*-+, S-z{|#{)}4 '++9 +7 #:,;6?*N-YS6*!-+,  S-7=4''??! ?7 70,<67*N-+,S6*-+,t S-/54'779 77 /=,> ?@PK Rf 3"qnnedu/umiacs/fmm/TestNM.class1z BC DE F GHI B JK L M N O PQ DR@ DS GTUV W X Y Z [ D\]^()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestNM;main([Ljava/lang/String;)ViIargs[Ljava/lang/String;NM thresholdx[Ledu/umiacs/fmm/Point;yu[Dp getFmmError5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;II[D)DleveltLedu/umiacs/fmm/FmmTree;indirectdirectgetError([D[D)DtmpDerror SourceFile TestNM.java edu/umiacs/fmm/Point_ `a bc dejava/lang/StringBuilder fg fh 45 fi jkl mn op qr sedu/umiacs/fmm/FmmTreeedu/umiacs/fmm/Potential t u vw xw ;< ypedu/umiacs/fmm/TestNMjava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vlog(D)Dround(F)Igc(I)VL(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Vsolve([D)[D solveDirectabs! 3*! " #$ %& T<= >:::6#YSR6YS 6Y  !B % 7!?E#N$`#f'j(*"f &'(H'()*+(,( -(./}0/x12j*3( 45   roo66Y*+Y:::Y  !& -./1"273@4I5j6"\ r./r0/r+(r3(r12\6(7;78@292I):2 ;< ,I6+!+1*1g9(I(!:; =>!?$;*A"4 =>%'(,92,:2*?>@APK Rf 3ؕ?, , edu/umiacs/fmm/TestNvPvE.class1 H>hI JK L MNO H PQ R S TU V JW@ JXYZ [ \ ] ^ _ ` a Tb JcdeMAX_PI()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestNvPvE;main([Ljava/lang/String;)Vix[Ledu/umiacs/fmm/Point;yu[Djargs[Ljava/lang/String;NeDp printFmmP5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;ID[D)VtLedu/umiacs/fmm/FmmTree;indirecterrorleveltdirectdirectgetError([D[D)Dtmp SourceFileTestNvPvE.java #$edu/umiacs/fmm/Pointf gh #ij kljava/lang/StringBuilder mn mo pqr st 9: uv wxedu/umiacs/fmm/FmmTreeedu/umiacs/fmm/Potential #y #z {| !" }| BC m~ t vedu/umiacs/fmm/TestNvPvEjava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprint(Ljava/lang/String;)Vlog(D)Dround(F)I(I)VL(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)V solveDirect([D)[Dsolve(D)Ljava/lang/StringBuilder;printlnabs!  !"#$%3*& ' () *+%M <I 66P2h<:::6  5 YS YS R ˲Y   (&F "( -!6"H#Z$b!h&')'\ 08," "j-.(d/.-_012"345"67 8" 9:%koo66Y*+Y::6  ZY*+Y :  :  9  )%Y      &:,-./30<1G2]3f4o5v671:'z ];;< f2=1 o)>7 ?_8" -./.5"6701?"3l@<<cA1 BC%,I6+!+1*1g9(I(&=> @A!B$>*D'4 D7%,",=1,A1*>7E$%2&FGPK Rf 3疣 edu/umiacs/fmm/TestNvTime.class1 LM NO P QRS L TU V W XY QZ [ N\@ N] ^_`a b c d ^e f g Xh Nijk()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestNvTime;main([Ljava/lang/String;)ViIx[Ledu/umiacs/fmm/Point;yu[Djargs[Ljava/lang/String;N thresholdp printFmmTime5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;II[D)Vlevel indirectStartLjava/util/Calendar;tLedu/umiacs/fmm/FmmTree;indirect indirectEnd indirectTJ directStartdirect directEnddirectTgetError([D[D)DtmpDerror SourceFileTestNvTime.java !edu/umiacs/fmm/Pointl mn op qrjava/lang/StringBuilder st su vwx yz {! 67 |} ~ edu/umiacs/fmm/FmmTreeedu/umiacs/fmm/Potential s }edu/umiacs/fmm/TestNvTimejava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprint(Ljava/lang/String;)Vgclog(D)Dround(F)Ijava/util/Calendar getInstance()Ljava/util/Calendar;(I)VL(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Vsolve([D)[DgetTimeInMillis()J(J)Ljava/lang/StringBuilder; solveDirectprintln(J)Vabs! !"3*# $ %& '("R < = >6P2h<:::65YSYSR˲Y }#J  !&"+#4$F%X&`#f()*,$\ .8)* m+,&g-,+b./ 0*123*4* 5* 67"oo66 :Y*+Y:::  e7 Y  : : : e7#F/012"3'4<5E6J8W9q;t<y=>@AB$+,-,3*5*./8*'v9:<a;<EX=/JS>: WF?@ y$A: B/ C: D@ EF",I6+!+1*1g9(I(#EF HI!J$F*L$4 GH%)*,=/,B/*IHJKPK Sf 3ћ; ; edu/umiacs/fmm/TestPvE.class1 !HI JK L MNO H PQ R S T U VW JX@ JY MZ [\]^ _ ` a [b c Vd e f Jghi()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestPvE;main([Ljava/lang/String;)ViIpargs[Ljava/lang/String;N thresholdx[Ledu/umiacs/fmm/Point;yu[D getFmmError5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;II[D)DlevelstartLjava/util/Calendar;tLedu/umiacs/fmm/FmmTree;indirectstopdirectgetError([D[D)DtmpDerror SourceFile TestPvE.java "#edu/umiacs/fmm/Pointj kl "mn opjava/lang/StringBuilder qr qs 78 qt uvw xy z{ |} ~# edu/umiacs/fmm/FmmTreeedu/umiacs/fmm/Potential " " q y AB {edu/umiacs/fmm/TestPvEjava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vlog(D)Dround(F)Igcjava/util/Calendar getInstance()Ljava/util/Calendar;(I)VL(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Vsolve([D)[DgetTimeInMillis()J(J)Ljava/lang/StringBuilder;print solveDirectabs! !"#$3*% & '( )*$.< =N::64-YSYSR621Y - α%:  1!C"KQ%[&%(&R7+,T5-,./0,1, ~23x43s56 78$4 ~oo66:Y*+Y::: Y e :  %. +,-/"0'1<2E3J4m5v6&p ~23~43~0,~-,~56h9,'W:;<B<=E9>6J4?; v@6 AB$,I6+!+1*1g9(I(%:; =>!?$;*A&4 CD%+,,>6,@6*EDFGPK Sf 3 ]]edu/umiacs/fmm/Util.class1: - . /0 1 2345()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Util; interleave(III)IiIansxylevel uninterleave(II)Ledu/umiacs/fmm/Complex;xIntyIntnLsetbitpossettogetbit(II)IgetError([D[D)DtmpDindirect[Ddirecterror SourceFile Util.java !" edu/umiacs/fmm/Complex 67 89edu/umiacs/fmm/Utiljava/lang/Object(DD)Vjava/lang/Mathabs(D)D!  /*    K >67dhddd>dhddd> "  ,CI 4: ?KKK  ] Y=>69ddddh`=ddddh>ǻY &  !"4#K!Q% 4<MK]]  Y xx~ )* ,   !" H x~ /0 2    #$ ,I6+!+1*1g9(I( 56 89!:$6*< 4 %&%,'(,)(**&+,PK Sf 3edu/umiacs/fmm/gui/PK Sf 3j#edu/umiacs/fmm/gui/AnimCircle.class13 * + , - . /01xDyrIcLjava/awt/Color;rr(DDIILjava/awt/Color;)VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/AnimCircle;getX()DgetYgetR()IgetColor()Ljava/awt/Color;getRRgetOuterCornerXScaled(I)I proportiongetOuterCornerYScaledgetInnerCornerXScaledgetInnerCornerYScaledisFilled()Z SourceFileAnimCircle.java 2   edu/umiacs/fmm/gui/AnimCirclejava/lang/Object()V!  !**'*)***  >!! ! ! ! !/* /*! /*$ /*' /**  !C*k*g-" #!E*gk*g0" $!C*k*g3" %!E*gk*g6" &'7 *9  ()PK Sf 3Rݴ!edu/umiacs/fmm/gui/AnimLine.class15 + , - . / 0 123fromXDfromYtoXtoYcLjava/awt/Color;widthI(DDDDLjava/awt/Color;I)VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/AnimLine;getFromX()DgetFromYgetToXgetToYgetFromXScaled(I)I proportiongetFromYScaled getToXScaled getToYScaledgetColor()Ljava/awt/Color;getWidth()I SourceFile AnimLine.java 4   edu/umiacs/fmm/gui/AnimLinejava/lang/Object()V!     '**'*)*** * "  &H'' ' ' ' ' ' /* /* /* /*   = *k"  !" ? *gk%  !# = *k(  !$ ? *gk+  !%&/*- '(/*. )*PK Sf 38+edu/umiacs/fmm/gui/AnimationException.class1  ()VCodeLineNumberTableLocalVariableTablethis'Ledu/umiacs/fmm/gui/AnimationException;(Ljava/lang/String;)VsLjava/lang/String; SourceFileAnimationException.java   %edu/umiacs/fmm/gui/AnimationExceptionjava/lang/Exception!3*    >*+    PK Sf 3{ROO*edu/umiacs/fmm/gui/AnimationWorker$1.class1,     "#$this$0$Ledu/umiacs/fmm/gui/AnimationWorker;'(Ledu/umiacs/fmm/gui/AnimationWorker;)VCodeLineNumberTableLocalVariableTablethis InnerClasses&Ledu/umiacs/fmm/gui/AnimationWorker$1; construct()Ljava/lang/Object; SourceFileAnimationWorker.javaEnclosingMethod% &' ' () *+-edu/umiacs/fmm/gui/AnimationWorker$ActualTask ActualTask $edu/umiacs/fmm/gui/AnimationWorker$1edu/umiacs/fmm/gui/SwingWorker"edu/umiacs/fmm/gui/AnimationWorkergo()V setStatus(I)VsetStatusMessage(Ljava/lang/String;)V    4 *+*6  P*d*Y*7 89 !PK Sf 323edu/umiacs/fmm/gui/AnimationWorker$ActualTask.class1'      this$0$Ledu/umiacs/fmm/gui/AnimationWorker;'(Ledu/umiacs/fmm/gui/AnimationWorker;)VCodeLineNumberTableLocalVariableTablee'Ledu/umiacs/fmm/gui/AnimationException;this ActualTask InnerClasses/Ledu/umiacs/fmm/gui/AnimationWorker$ActualTask; SourceFileAnimationWorker.java !" #!%edu/umiacs/fmm/gui/AnimationException $% &%-edu/umiacs/fmm/gui/AnimationWorker$ActualTaskjava/lang/Object()V"edu/umiacs/fmm/gui/AnimationWorker runAnimation setStatus(I)V setCommand    r*+*+M+d+Z     PK Sf 3Z3U00(edu/umiacs/fmm/gui/AnimationWorker.class1 p o o o o  o o o  o      %   @$ !  o M o      -  o o M J!" 6# 6$ M%& 6% ' M( o)  o*+, 6- M. /0 J J12 J3 o456 M7 o8 o9: M;< M= > o?@ MAB oC oD oE oF oG oH oIJ K L oM} NtO mPQRS ActualTask InnerClassesstatusIcommandintervalJanim#Ledu/umiacs/fmm/gui/LayerAnimation;propertyChangeSupport"Ljava/beans/PropertyChangeSupport; statusMessageLjava/lang/String;&(Ledu/umiacs/fmm/gui/LayerAnimation;)VCodeLineNumberTableLocalVariableTablethis$Ledu/umiacs/fmm/gui/AnimationWorker; getInterval()J setInterval(J)V getCommand()I setCommand(I)Vcgo()Vworker Ledu/umiacs/fmm/gui/SwingWorker;stopprocessCommandandRepaint Exceptions sleepIntervaleLjava/lang/Exception;inextStep animateLinesB([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ljava/awt/Color;I)VtoPointLedu/umiacs/fmm/Point;fromXDfromYtoXtoYtoXIntermediatetoYIntermediatej fromPointkfrom[Ledu/umiacs/fmm/Point;toLjava/awt/Color;el numOfLevels lineWidth?([Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)VLedu/umiacs/fmm/Box;toArr?(Ledu/umiacs/fmm/Box;[Ledu/umiacs/fmm/Point;Ljava/awt/Color;I)VfromArr=(Ledu/umiacs/fmm/Box;[Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)V[Ledu/umiacs/fmm/Box;=([Ledu/umiacs/fmm/Box;Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)V addCircle((Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)VbrrrcenterLedu/umiacs/fmm/Complex; addCircles)([Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)VrunAnimationSExpantionthisBoxfmmTreeLedu/umiacs/fmm/FmmTree;struct[[Ledu/umiacs/fmm/Box;runAnimationSSTranslationchildarr$len$i$childrennonEmptyChildrenLjava/util/Vector;LocalVariableTypeTable(Ljava/util/Vector;runAnimationDownwardRecursivebbe4nei e4neiNonEmptyrunAnimationSRTranslationrunAnimationRExpansionthisBox1targetsrunAnimationFinalSummationnBox neighbors runAnimationaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)Vl#Ljava/beans/PropertyChangeListener;removePropertyChangeListenergetStatusMessage()Ljava/lang/String;setStatusMessage(Ljava/lang/String;)VoldStatusMessage getStatus setStatus oldStatus SourceFileAnimationWorker.java  tu vu wx yz java/beans/PropertyChangeSupport T {|$edu/umiacs/fmm/gui/AnimationWorker$1 UV W %edu/umiacs/fmm/gui/AnimationExceptionX Y Z [java/lang/Exception \ ] ^_` ab cde fg hgedu/umiacs/fmm/gui/AnimLine i jk edu/umiacs/fmm/Point lm n op qr s t uedu/umiacs/fmm/gui/AnimCircle v w ====================  Performing multipole expansion. xy zjava/lang/StringBuilder {| } ~  /Performing multipole-to-multipole translation.  .....Level {  java/util/Vector Tedu/umiacs/fmm/Box  'Performing local-to-local translation.  .....Level: y +Performing multipole-to-local translation.  .....Level 2   Performing final summation. FMM algorithm started. FMM algorithm completed }~ java/lang/Integer "edu/umiacs/fmm/gui/AnimationWorkerjava/lang/Object-edu/umiacs/fmm/gui/AnimationWorker$ActualTask(Ljava/lang/Object;)V'(Ledu/umiacs/fmm/gui/AnimationWorker;)Vedu/umiacs/fmm/gui/SwingWorkerstart!edu/umiacs/fmm/gui/LayerAnimationrepaintjava/lang/ThreadsleepresetHighlightBoxes resetLines getFmmTree()Ledu/umiacs/fmm/FmmTree;edu/umiacs/fmm/FmmTree getStruct()[[Ledu/umiacs/fmm/Box;getCoord()Ledu/umiacs/fmm/Complex;edu/umiacs/fmm/Complexreal()D imaginary(DDDDLjava/awt/Color;I)VaddLine (Ledu/umiacs/fmm/gui/AnimLine;)V getCenter()Ledu/umiacs/fmm/Point;edu/umiacs/fmm/gui/Constants ANIM_COLOR_Sjava/awt/Colorequals(Ljava/lang/Object;)Z ANIM_COLOR_SS ANIM_COLOR_SR ANIM_COLOR_RR(DDIILjava/awt/Color;)V"(Ledu/umiacs/fmm/gui/AnimCircle;)V getXRecursive,(Ledu/umiacs/fmm/FmmTree;)Ljava/util/Vector;sizeappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringaddHighlightBox(Ledu/umiacs/fmm/Box;)VgetX()[Ledu/umiacs/fmm/Point;(I)Ljava/lang/StringBuilder; getChildren/(Ledu/umiacs/fmm/FmmTree;)[Ledu/umiacs/fmm/Box;addHighlightBoxes([Ledu/umiacs/fmm/Box;)V addElementtoArray(([Ljava/lang/Object;)[Ljava/lang/Object; getYRecursivegetNeighborsE4getY ANIM_COLOR_R getNeighborsfirePropertyChange9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V!optuvuwxyz{|}~~.**d*Z***Y* *+"# ($-%..yz/*( >* +,wx/*. >* 12uJ Y* L+ 5 < = 5*2 @C s*** ****.*( * *2 *< Y* *>F GHIJ L)M0N4O@PERZSbUkVrW s7 ** [\  e N _a c be x9*** **** *& hijkl$n(o1p8q 9 **6d6+, +,6 *6++2: 6  ,t, 2:  9  9 9 9  gkoc9gkoc9*!Y -"# u**$Vbuvwx-y.z8|?}I~OY_is}}z_e i[ sQ}G=+Rxu O{ Bu1uuuu%:,&S*+-'>u%:+&S*,-'>u=%:+&S,%:6,,2&S*-'"+1<Ru=====u7(=%:,&S+%:6++2&S*-'"+1<Ru=====u7(< *6d66,()d6<,*)d6&,+) 6,,) d6+&:*-Y,./F  #)69?LO\_enRu uyuvuny6+*+2,0 4uu|*12*$*32*L*M,>6,d2*,d22:+45w*6Y789:9;9<2*=*$**,d22>,d22(d?*,d22*d0*$**@iBia*DV #&4;EQqz~>E)u#&uyC*L*12*$*E2*M,>d6*6Y7F9G;9<26,2*,22:+45*6Y789:9;9<2*$*&:*H:*IJYK: :  6 6   #  2:  +45   L * MNO*P**0*$**@iBi*D~#&1N[bkw"28<B / *u 'u {i kQu+uC;# &u i Y s*$*L+=>dZ*12*Q2*6Y7R9G;9<26+2+22:*S5*6Y789:9;9<2*H:*IJYK::6 6   ) 2:  *S5  L *MNO,T*,`U*$**@iBi***D*$*12*V2*6Y7R9`G;9<26+`2+`22:*S5*6Y789:9;9<2&:*W:*=*I*$*JYK::  6 6   )  2:  *45  L *MNO+`P*+`0*$**@iBi***D7 ! ' C OWi & ,$0%4':(@)^*l-v./012345789:8;4<@=D>T@[Ab*hElrH 50u -u }WFu 5 0u -u vau^usdau}F (*12*$*V2*L+=*X2>+2+22:*S5*6Y789:9;9<2&:*W:*=*I*$*JYK::6 6   ) 2:  *45  L *MNO+P*+0*$**@iBi***DzJK LMNR$S.T5UGVgWqXYZ[\]^_`^bcdeghS#k'lz  50u -u q{5&u(  u {D*$*L+=>+d2z*+d22:*S5R*=*$*+d22:+d22Y:*Zd[**@iBi*$**DJopqrs%t.u@vIwMxQzZ{f|}~rHZ5f).auu *12*$*\2*L+=+d2N-66-2:*S5*6Y789:9;9<2**=*$**@i*]:2,:6 6    2: * = *$**@iBiH*DZ 8Jjqz~z % u u H8$(u+uuC*12*^2*ȶ_**`*a*b*c*d*e*12*f2*_: #'+/5;B CA * +g  A * +h  /*i `*iM*+i* j,+k  }~~/* n$*=** lmYnmYnk # $$tuusqor PK Sf 36! ! *edu/umiacs/fmm/gui/ComputationThread.class1 !X Y Z [ \ ]^ _ ` a bc de f bg bh ij k bl m bn o p q$r s t&u v(wxfmmTreeLedu/umiacs/fmm/FmmTree;errorD opsDirectJ opsIndirect listenerList%Ljavax/swing/event/EventListenerList;propertyChangeSupport"Ljava/beans/PropertyChangeSupport;u[D()VCodeLineNumberTableLocalVariableTablethis&Ledu/umiacs/fmm/gui/ComputationThread;(Ledu/umiacs/fmm/FmmTree;)Vfmmtree setFmmTreegenUiIrun runningErrorindirectdirectaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)Vl#Ljava/beans/PropertyChangeListener;removePropertyChangeListenergetError()DsetError(D)VoldError getOpsDirect()J setOpsDirect(J)V oldOpsDirectgetOpsIndirectsetOpsIndirectoldOpsIndirectgetU()[DsetU([D)V SourceFileComputationThread.java /0 "# $% &' (' )* java/beans/PropertyChangeSupport /y +, -.z {|} ~F 90   E GH K PM K LM @A DAjava/lang/Double /H java/lang/Long /M$edu/umiacs/fmm/gui/ComputationThreadjava/lang/Thread(Ljava/lang/Object;)Vedu/umiacs/fmm/FmmTreegetX()[Ledu/umiacs/fmm/Point;java/lang/Mathrandomsolve([D)[D solveDirectedu/umiacs/fmm/Util([D[D)DgetNumOpsIndirectgetNumOpsDirectfirePropertyChange9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V! !"#$%&'(')*+,-./01y/**** * **Y* * 2& # )!.$3 /45/614**** * **Y* * *+2* % )!.'3(344547#861>*+2 +,345"#901m)**  <* *  R2/01"0(33:;)45<01GH* * ** N** :*-****2& 68 9 ;<&=0>;?FB3*G45E=%.>.&!?.@A1A * +2 JK3 45 BCDA1A * +2 ST3 45 BCEF1/*2\3 45GH1n$*J*'* Y)Y'2ef g#h3 $45$$%I%JK1/*2p3 45LM1n$*B** Y!Y2yz {#|3 $45$&'N'OK1/*23 45PM1n$*B** Y!Y2 #3 $45$('Q'RS1/* 23 45TU1>*+ 2 345-.VWPK Sf 3ڂF"edu/umiacs/fmm/gui/Constants.class1w Y Z [ \ ]^ _ ` a b c defg hi j kl APP_VERSIONLjava/lang/String; ConstantValuemANIM_STATUS_MSG_SEPARATORnANIM_COLOR_HIGHLIGHTLjava/awt/Color;ANIM_STATUS_STOPPEDIdANIM_STATUS_RUNNINGANIM_STATUS_PAUSED,ANIM_STATUS_COMPLETEDANIM_COMMAND_START ANIM_COMMAND_PAUSEANIM_COMMAND_RESUMEANIM_COMMAND_FFANIM_COMMAND_FF2END(ANIM_COMMAND_STOP2ANIM_COMMAND_RESET<ANIM_COMMAND_NOCOMMANDZ ANIM_COLOR_S ANIM_COLOR_SS ANIM_COLOR_SR ANIM_COLOR_RR ANIM_COLOR_RANIM_DIRECTION_UPANIM_DIRECTION_DOWNANIM_PROPORTIONANIM_MAX_COLOR_STEPSIZEANIM_ARROW_STEPSANIM_INTERVAL_PLAYJ ANIM_INTERVAL_FF4X DEFAULT_NDEFAULT_TRUNCATION_NUMBER ICON_PLAYLjavax/swing/ImageIcon;()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/Constants; SourceFileConstants.java OP o  p 5java/awt/Color Oq 6 7 8 r 9javax/swing/ImageIconedu/umiacs/fmm/gui/Constants+/edu/umiacs/fmm/gui/resources/execute16.gifs tu Ov MNjava/lang/Object1.3.5====================  LIGHT_GRAYred(III)Vbluejava/lang/Class getResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)V!  !"#$%&'()*+,-./0123456789:;<=>?@0A&BCDFCGIJKLMNOPQ3*R S TUVPQXYY Y̷ YR' ().*?+E<WXPK Sf 3- &&"edu/umiacs/fmm/gui/FmmDemo$1.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$1;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$1java/lang/Object!java/beans/PropertyChangeListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$000?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)V   4 *+* 4   A *+ 56    PK Sf 3圕E#edu/umiacs/fmm/gui/FmmDemo$10.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$10;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$10java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$900;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+*    A *+     PK Sf 3!5 aXX#edu/umiacs/fmm/gui/FmmDemo$11.class1'    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$11;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  $ %&edu/umiacs/fmm/gui/FmmDemo$11java/lang/Object!java/beans/PropertyChangeListeneredu/umiacs/fmm/gui/FmmDemopanelToolbar1ActionPerformed(Ljava/awt/event/ActionEvent;)V()V access$000?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)V   4 *+* 5   A *+ 67    PK Sf 3Ol%00#edu/umiacs/fmm/gui/FmmDemo$12.class1   ()VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$12;run SourceFile FmmDemo.javaEnclosingMethod   edu/umiacs/fmm/gui/FmmDemo edu/umiacs/fmm/gui/FmmDemo$12java/lang/Objectjava/lang/Runnablemain([Ljava/lang/String;)V setVisible(Z)V   /* J    : Y K L   PK Sf 3Q"edu/umiacs/fmm/gui/FmmDemo$2.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$2;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$2java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$100;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* =   A *+ >?    PK Sf 3=H"edu/umiacs/fmm/gui/FmmDemo$3.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$3;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$3java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$200;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* C   A *+ DE    PK Sf 3]t?"edu/umiacs/fmm/gui/FmmDemo$4.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$4;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$4java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$300;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* S   A *+ TU    PK Sf 3uP&&"edu/umiacs/fmm/gui/FmmDemo$5.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$5;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$5java/lang/Object!java/beans/PropertyChangeListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$400?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)V   4 *+* _   A *+ `a    PK Sf 3Q"edu/umiacs/fmm/gui/FmmDemo$6.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$6;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$6java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$500;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* r   A *+ st    PK Sf 39?"edu/umiacs/fmm/gui/FmmDemo$7.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$7;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$7java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$600;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* ~   A *+     PK Sf 3|"edu/umiacs/fmm/gui/FmmDemo$8.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$8;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$8java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$700;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+*    A *+     PK Sf 3}-"edu/umiacs/fmm/gui/FmmDemo$9.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$9;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$9java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$800;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+*    A *+     PK Sf 3As:: edu/umiacs/fmm/gui/FmmDemo.class1                     6     !  $  '  *  -  0  3  6 8  ;  >    C     I   ! $ O $ R '  V     ] * * c *  h - l 0 p o 0 t 3 w 3 0 6 ; ; >  > > >  > ;  >  ; >  8         3 -      -   $  $  $ ' '  $ $ $ ! "# "$% & $' !' ( ' ) *+, -./ 0 1 *2 34 3 5 *67 .89 : -; -< -=> ?@AB CD EFGH  IJKL ''M  NO !PQ RS T UV !W XY Z 3[\ ]^_ ` a b cidecomputationThread1&Ledu/umiacs/fmm/gui/ComputationThread; dialogAbout1'Ledu/umiacs/fmm/gui/dialog/DialogAbout;dialogClickPoints1-Ledu/umiacs/fmm/gui/dialog/DialogClickPoints; dialogInput1'Ledu/umiacs/fmm/gui/dialog/DialogInput;dialogSettings1*Ledu/umiacs/fmm/gui/dialog/DialogSettings; jMenuBar1Ljavax/swing/JMenuBar; jMenuFileLjavax/swing/JMenu; jMenuHelpjMenuItemAboutLjavax/swing/JMenuItem; jMenuItemExitjMenuItemImportjMenuItemRegenjMenuItemSettingsjPanel1Ljavax/swing/JPanel; jSeparator1Ljavax/swing/JSeparator; lblStatusLjavax/swing/JLabel; panelMain1Ledu/umiacs/fmm/gui/PanelMain; panelStatus1 Ledu/umiacs/fmm/gui/PanelStatus; panelToolbar1!Ledu/umiacs/fmm/gui/PanelToolbar;treeLedu/umiacs/fmm/FmmTree;animationCompletedZ computedErrorDframeIconImageLjava/awt/Image;()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/FmmDemo;initComponentsreinit9(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;)VsourceLjava/util/Vector;targetuLocalVariableTypeTable*Ljava/util/Vector;&Ljava/util/Vector; Signature}(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;)V!dialogClickPoints1ActionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent;dialogInput1ActionPerformeddoubleVecToDoubleArr(Ljava/util/Vector;)[Ddi$Ljava/util/Iterator;ans[DiI*(Ljava/util/Vector;)[DjMenuItemImportActionPerformedjMenuItemRegenActionPerformed jMenuItemSettingsActionPerformedjMenuItemAboutActionPerformed#jMenuItemAboutActionPerformedHelper computationThread1PropertyChange#(Ljava/beans/PropertyChangeEvent;)V Ljava/beans/PropertyChangeEvent;&computationThread1PropertyChangeHelperpanelMain1PropertyChangepanelMain1PropertyChangeHelper newStatusjMenuItemExitActionPerformedpanelToolbar1ActionPerformed actionCommandLjava/lang/String;main([Ljava/lang/String;)Vargs[Ljava/lang/String; initFmmTreex[Ledu/umiacs/fmm/Point;y1([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;)V potentialLedu/umiacs/fmm/Potential;'(Ljava/util/Vector;Ljava/util/Vector;)VW(Ljava/util/Vector;Ljava/util/Vector;)VpointVecToArray+(Ljava/util/Vector;)[Ledu/umiacs/fmm/Point;vecC(Ljava/util/Vector;)[Ledu/umiacs/fmm/Point; access$000?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)Vx0x1 access$100;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V access$200 access$300 access$400 access$500 access$600 access$700 access$800 access$900 SourceFile FmmDemo.java VE _E UE SE TE \Y `E DE HE XY 12 +, -.f ghi jk+/edu/umiacs/fmm/gui/resources/logo16x16.gifl mn op /0 82 %&==================== qrNApplication initialized. Please generate source and target points to proceed. $edu/umiacs/fmm/gui/ComputationThread  %edu/umiacs/fmm/gui/dialog/DialogAbout 1s   (edu/umiacs/fmm/gui/dialog/DialogSettings %edu/umiacs/fmm/gui/dialog/DialogInput +edu/umiacs/fmm/gui/dialog/DialogClickPoints   javax/swing/JLabel !"edu/umiacs/fmm/gui/PanelToolbar '(javax/swing/JPanel edu/umiacs/fmm/gui/PanelMain #$edu/umiacs/fmm/gui/PanelStatusjavax/swing/JMenuBar javax/swing/JMenu javax/swing/JMenuItem   javax/swing/JSeparator    edu/umiacs/fmm/gui/FmmDemo$1 InnerClasses 1t uv wxedu/umiacs/fmm/gui/FmmDemo$2 yzedu/umiacs/fmm/gui/FmmDemo$3 {|java/awt/BorderLayout 1}~  3Animated Visualization of the Fast Multipole Method r  java/awt/FontDialog 1 Click on "Generate" to start rjavax/swing/border/EtchedBorder South edu/umiacs/fmm/gui/FmmDemo$4Northjavax/swing/BoxLayout 1javax/swing/border/EmptyBorderjava/awt/Insets 1 1java/awt/Dimension edu/umiacs/fmm/gui/FmmDemo$5 CenterFilejavax/swing/ImageIcon//edu/umiacs/fmm/gui/resources/environment16.gif 1 Generate Pointsgenerate redu/umiacs/fmm/gui/FmmDemo$6 */edu/umiacs/fmm/gui/resources/Import16.gif Import ...importedu/umiacs/fmm/gui/FmmDemo$7//edu/umiacs/fmm/gui/resources/Preferences16.gif Settingsedu/umiacs/fmm/gui/FmmDemo$8+/edu/umiacs/fmm/gui/resources/null16x16.gifExit Exit Program redu/umiacs/fmm/gui/FmmDemo$9 HelpAboutedu/umiacs/fmm/gui/FmmDemo$10  2 g2 gn  IJ  r   Startstart  )*        9:      java/lang/Double   W2 [Y error java/lang/StringBuilderComputed error:    ]Y "edu/umiacs/fmm/gui/AnimationWorkerstatusjava/lang/Integer    Computed error: PTo run the algorithm again, please regenerate source and target points first. mFMM algorithm stopped by user. To run the algorithm again, please regenerate source and target points first.  statusMessage   propertiesedu/umiacs/fmm/gui/FmmDemo$11 2pausestopclickedu/umiacs/fmm/gui/FmmDemo$12  edu/umiacs/fmm/Point  1 gkedu/umiacs/fmm/Potential  1edu/umiacs/fmm/FmmTree 1 'Source and target points generated. (N= , p=) 1 2 pq edu/umiacs/fmm/gui/FmmDemojavax/swing/JFramejava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/Class getResource"(Ljava/lang/String;)Ljava/net/URL;getImage (Ljava/net/URL;)Ljava/awt/Image; appendStatus(Ljava/lang/String;)V(Ljava/awt/Frame;Z)V(Ledu/umiacs/fmm/gui/FmmDemo;)VaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)VsetLocationRelativeTo(Ljava/awt/Component;)VaddActionListener"(Ljava/awt/event/ActionListener;)VgetContentPane()Ljava/awt/Container;(II)Vjava/awt/Container setLayout(Ljava/awt/LayoutManager;)VsetDefaultCloseOperation(I)VsetTitle setIconImage(Ljava/awt/Image;)V(Ljava/lang/String;II)VsetFont(Ljava/awt/Font;)VsetText setBorder(Ljavax/swing/border/Border;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/awt/Container;I)V(IIII)V(Ljava/awt/Insets;)VsetPreferredSize(Ljava/awt/Dimension;)V*(Ljava/awt/Component;)Ljava/awt/Component;(Ljava/net/URL;)VsetIcon(Ljavax/swing/Icon;)VsetActionCommand0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem; setMnemonic(C)VsetToolTipText((Ljavax/swing/JMenu;)Ljavax/swing/JMenu; setJMenuBar(Ljavax/swing/JMenuBar;)Vpackjava/util/Vectorsize()IsetU([D)V doCommand getBtnStart()Ljavax/swing/JButton;javax/swing/JButton setEnabled(Z)Vedu/umiacs/fmm/gui/Constants ICON_PLAYLjavax/swing/ImageIcon; getBtnStopgetX()[Ledu/umiacs/fmm/Point; setSource([Ledu/umiacs/fmm/Point;)VgetY setTargetgetU()[D getSources()Ljava/util/Vector; getTargets getSource getTargetiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; doubleValue()D setVisiblejava/beans/PropertyChangeEventgetPropertyName()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getNewValuetoStringintValue getPlayIcon()Ljavax/swing/ImageIcon;getBtnFF getBtnFFEnd(D)Ljava/lang/StringBuilder;java/lang/Systemexitjava/awt/event/ActionEventgetActionCommandjava/awt/EventQueue invokeLater(Ljava/lang/Runnable;)VgetNjava/lang/Mathrandom(DD)VgetTruncationNumberK([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)V setFmmTree(Ledu/umiacs/fmm/FmmTree;)V(I)Ljava/lang/StringBuilder;genUtoArray(([Ljava/lang/Object;)[Ljava/lang/Object;!      !"#$%&'()*+,-./0 123:* * * *****4" #'095 :67823 4*Y*Y* *!Y*"#*$Y%&*'Y()**Y+,*-Y./*0Y12*3Y45*6Y7*8Y9:*;Y<=*>Y?@*>Y?A*>Y?B*CYDE*>Y?F*;Y<G*>Y?H*IY*JK* *L*#*M*&*N*&OY*PQ*)RY*ST*UVYWX*Y*Z[**\*,]Y^ _`*,ab*,cYde*U*,fg*/hY*ij*U*/kg*2lY*2mn*2oYpYqrs*5tYuv*5wY*xy*2*5zW*tYu{*2*zW*U*2|g*=}~*=]Y^ _*@]Y^ _*@Y**@*@*@Y**=*@W*A]Y^ _*AY**A*A*AY**=*AW*B]Y^ _*BY**BS*B*BY**=*BW*=*EW*F]Y^ _*FY**FE*F*F*FY**=*FW*:*=W*G~*G]Y^ _*H]Y^ _*HY**H*HY**G*HW*:*GW**:*4NS !%"0#;$F%Q&\'g(r)}*+,-./0139:;< BH*J/K5L=MPNYOgPtRXZ\]^dfg ik!l4mGn^ogppqwyz{|} -9EXox'/35 4679:3E+, * *+,--+**-*5*/*/*/*/*/*&**&**&*4>$09DQ]it5*67;<=<><? ;@=@>ABCDE3L**)*)4 567FGHE3R**&*&*&4 567FGIJ35+M>+:Ķ9,R,4 (035>(K.$LM5675><.NO ,PQ? 5>ABRSE3A *&Ʊ4 5 67 FGTE3@*4 567FGUE3A *#DZ4 5 67 FGVE3=*ȱ4 567FGW237 * ɱ4 5  67XY3>*+ʱ4 567FZ[Y3J+̶͙@* +*Yж+ҶӶԶѶն*+Ķŵ4 8;I5J67JFZ\Y3>*+ֱ4 567FZ]Y3'+׶ضٙ+ڶ͙+۶=*/*/ݶ*/*/*/*/***Y*ԶѶն**XdR*/*/ݶ*/*/*/*/**+͙*+ҶӶ4j ' . ? J U`kt}  &$5 '^Q'67'FZ_E3=4 '(567FG`E3+M,͙ *~,͙*#ǧb,͙*Y*K*@,͙4,͙(,͙*&Ƨ,͙ *)*5,4F,-./0!2)354D9K:W;c<o=w>?AC5 67FGab cd39 Y4 I N5  efg23P*#L*#M>*#)+YS,YS*+,4"g hj#k3lCjIoOp5*1PQP67 Ehi:jigk3xY*#N*Y+,-*5***Y+*#Ѷն*Y**4"stu(v1waxpywz5*x67xhixjiilmgn3m**+*,4 |}5 67h<j<?h@j@Bopq3R +45 67 r<?  r@Bstu3:*+ 45v7wZxy3:*+ 45v7wGzy3:*+45v7wG{y3:*+45v7wG|u3:*+45v7wZ}y3:*+45v7wG~y3:*+45v7wGy3:*+45v7wGy3:*+45v7wGy3:*+45v7wGb IORhwPK Sf 3&襜)edu/umiacs/fmm/gui/LayerAnimation$1.class1+     !"#this$0#Ledu/umiacs/fmm/gui/LayerAnimation;&(Ledu/umiacs/fmm/gui/LayerAnimation;)VCodeLineNumberTableLocalVariableTablethis InnerClasses%Ledu/umiacs/fmm/gui/LayerAnimation$1;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFileLayerAnimation.javaEnclosingMethod$ %&  & '() *#edu/umiacs/fmm/gui/LayerAnimation$1java/lang/Object!java/beans/PropertyChangeListener!edu/umiacs/fmm/gui/LayerAnimation initFields()V access$000G(Ledu/umiacs/fmm/gui/LayerAnimation;)Ljava/beans/PropertyChangeSupport; java/beans/PropertyChangeSupportfirePropertyChange    4 *+* 7   D *+ : ;   PK Sf 3|d$$'edu/umiacs/fmm/gui/LayerAnimation.class1 ` a ` `  ` ` ` ` ` `  `    ` `  `  ` `  ` ` a      $ $    +   $ 1 1 3 $!=L `"# `$ 9 9% 9& 9' $( 9) *+ 9, 9- 9. 1/ 10 11 12 13 14 15 16 78 $9: O O;?ə `< `= $> $? 7@ 7A B C D E  FGHI proportionIcLjava/awt/Color;highlightBoxesLjava/util/Vector; Signature(Ljava/util/Vector;lines1Ljava/util/Vector;circles3Ljava/util/Vector; direction currLevelfmmTreeLedu/umiacs/fmm/FmmTree;aw$Ledu/umiacs/fmm/gui/AnimationWorker;statuspropertyChangeSupport"Ljava/beans/PropertyChangeSupport;()VCodeLineNumberTableLocalVariableTablethis#Ledu/umiacs/fmm/gui/LayerAnimation;(Ledu/umiacs/fmm/FmmTree;)V initFieldssetAnimationWorkerCommand(I)Vcommand getDirection()I setDirectiond getCurrLevel setCurrLevellgetHighlightBoxes()Ljava/util/Vector;setHighlightBoxes(Ljava/util/Vector;)VLocalVariableTypeTable+(Ljava/util/Vector;)VresetHighlightBoxesaddHighlightBox(Ledu/umiacs/fmm/Box;)VbLedu/umiacs/fmm/Box;addHighlightBoxes([Ledu/umiacs/fmm/Box;)Vi[Ledu/umiacs/fmm/Box;getLinessetLines4(Ljava/util/Vector;)V resetLinesaddLine (Ledu/umiacs/fmm/gui/AnimLine;)VLedu/umiacs/fmm/gui/AnimLine; getCircles setCircles6(Ljava/util/Vector;)V resetCircles addCircle"(Ledu/umiacs/fmm/gui/AnimCircle;)VLedu/umiacs/fmm/gui/AnimCircle; getProportion setProportionpgetHighlightColor()Ljava/awt/Color;setHighlightColor(Ljava/awt/Color;)V getFmmTree()Ledu/umiacs/fmm/FmmTree; setFmmTreeinitComponentspaintComponent(Ljava/awt/Graphics;)VcornerLjava/awt/Point;widthlinecirclegLjava/awt/Graphics;g2Ljava/awt/Graphics2D; drawCircle7(Ljava/awt/Graphics2D;Ledu/umiacs/fmm/gui/AnimCircle;)V drawArrow6(Ljava/awt/Graphics2D;Ledu/umiacs/fmm/gui/AnimLine;F)VtmpPolyLjava/awt/Polygon;i1i2g2dstrokeFfromXDtoXfromYtoY fromXScaled toXScaled fromYScaled toYScaledaDiryCor(ID)IlendirxCorrunstop setInterval(J)VinJ getInterval()JaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)V#Ljava/beans/PropertyChangeListener;removePropertyChangeListener access$000G(Ledu/umiacs/fmm/gui/LayerAnimation;)Ljava/beans/PropertyChangeSupport;x0 SourceFileLayerAnimation.java vw xy cdJ Kf ef java/beans/PropertyChangeSupport xL qr y yjava/util/Vector kh gh mh"edu/umiacs/fmm/gui/AnimationWorker xM st#edu/umiacs/fmm/gui/LayerAnimation$1 InnerClasses N od pd OL PQjava/awt/Dimension xQ RS Tyjava/awt/BorderLayout UV WX java/awt/Graphics2DY Z] ^_ `a bc d efedu/umiacs/fmm/Boxg hi jkl md nd opedu/umiacs/fmm/gui/AnimLine qjava/awt/BasicStroke r xs tu edu/umiacs/fmm/gui/AnimCircle vw xw y zp {|} ~f w w  k k k k w w w w  pjava/awt/Polygon Q     y y !edu/umiacs/fmm/gui/LayerAnimationjavax/swing/JPaneljava/io/Serializableedu/umiacs/fmm/gui/ConstantsANIM_COLOR_HIGHLIGHT(Ljava/lang/Object;)V&(Ledu/umiacs/fmm/gui/LayerAnimation;)V setCommand addElementsetSize(II)VsetPreferredSize(Ljava/awt/Dimension;)Vrepaint setLayout(Ljava/awt/LayoutManager;)V setOpaque(Z)Vjava/awt/RenderingHintsKEY_ANTIALIASINGKeyLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)VsetPaint(Ljava/awt/Paint;)Vsize elementAt(I)Ljava/lang/Object;edu/umiacs/fmm/gui/UtilgetBoxNECorner'(Ledu/umiacs/fmm/Box;I)Ljava/awt/Point;getSize()Djava/awt/PointxyfillRect(IIII)VgetColorgetWidth(F)V setStroke(Ljava/awt/Stroke;)VgetOuterCornerXScaled(I)IgetOuterCornerYScaledgetRfillOvalisFilled()Zjava/awt/ColorWHITEgetInnerCornerXScaledgetInnerCornerYScaledgetRRgetFromXgetToXgetFromYgetToYgetFromXScaled getToXScaledgetFromYScaled getToYScaledjava/lang/Mathatan2(DD)DdrawLineaddPoint drawPolygon(Ljava/awt/Polygon;)V fillPolygoncos(D)Dsingojava/awt/RenderingHints$Key!`ab cdefghijkhilmhinodpdqrstudvw(xyzr,****Y*** * {"% &#''(+)| ,}~xz|,****Y**+* * {"* +#,'-+.|,}~,qryz{=* Y * Y * Y *Y**Y*{1 23!5-6<=| =}~zA *{ @A| }~ dz/*{C| }~z>*{ FG|}~dz/*{I| }~z>*{ LM|}~dz/*{O| }~zP*+{ RS|}~gh gjiyz: * Y { U V|  }~zA *+{ XY| }~ zk+=+*+2{[\ ]\^| d}~z/* {`| }~zP*+ { cd|}~kh kliyz: * Y { f g|  }~zA * +{ ij| }~ z/*{l| }~zP*+{ op|}~mh mniyz: * Y { r s|  }~zA *+{ uv| }~ ez/*{x| }~za***Y*{{| }~|}~dz/*{| }~z>*+{ |}~efz/*{| }~z>*+{ |}~qryzX"*Y !*"*Y{ !| "}~z*+#+$M,%&',*(>*)G**+:*,:-*k6,./d``0>* )9* *1:,2(,3Y456*,78>*)**9:*,:ޱ{V )6AOgmz|p 61A&OdOd#oAd%d}~ zW+,;(+,*<,*=,>h,>h?,@*+A(+,*B,*C,Dh,Dh?{(/6V| W}~WWz! ,E9,F9,G9,H9 ,*I6 ,*J6 ,*K6,*L6gw cM9+  N  +3Y 56OYP: % j`6%`6 Q RcT`RcU`Q T`U`Q RgT`RgU`Q Q+V+W{^ ",6@P\jv|dyd }~     "d ,d 6d@dP z= 'Xk{| d  z= 'Yk{| d yz6*Z{ | }~yz> *[* { |  }~zA *\{ | }~ z2*]{| }~zA *+^{ | }~ zA *+_{ | }~ z/*{| ~[ \ PK Sf 3$ ;R R "edu/umiacs/fmm/gui/LayerGrid.class1 O P Q RS T UV O W RX Y Z[ \ ] ^ _` ab ac d ef \ g h i j k lmnolevelI proportioncLjava/awt/Color;()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/LayerGrid;initComponentsgetLevel()IsetLevel(I)Vl getProportion setProportionp getGridColor()Ljava/awt/Color; setGridColor(Ljava/awt/Color;)VpaintComponent(Ljava/awt/Graphics;)VgLjava/awt/Graphics;g2Ljava/awt/Graphics2D;paintComponentHelper*(Ljava/awt/Graphics2D;ILjava/awt/Point;I)VnslnwCenterLjava/awt/Point;neCenterswCenterseCenter currLevelcenter sideLength lineWeight SourceFileLayerGrid.java '( "# $#p q& %& .(java/awt/BorderLayout rs t& u: vwjava/awt/Dimension 'x yz {x |(java/awt/Graphics2D} ~ java/awt/Point AB xedu/umiacs/fmm/gui/LayerGridjavax/swing/JPaneljava/io/Serializablejava/awt/ColorBLACK setLayout(Ljava/awt/LayoutManager;)Vwhite setBackground setOpaque(Z)V(II)VsetPreferredSize(Ljava/awt/Dimension;)VsetSizerepaintjava/awt/RenderingHintsKEY_ANTIALIASINGKey InnerClassesLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)VdrawRect(IIII)VgetX()DgetYfillRect getLocation()Ljava/awt/Point; translatejava/awt/RenderingHints$Key! !"#$#%& '()Z****** + ,-.()c)*Y * * * Y*! #$%(&+ ),-/0)/**)+ ,-12)>** ,-+,-3#40)/**/+ ,-52)a*** Y**23 456+,-6#78)/**8+ ,-9:)>*+* ;<+,-%&;<);+M,,***,Y*l*l**?@AB:X+ ;,-;=>6?@AB) *d`6+-ld-+--ld*l6-:tltl-:ltl-:  tll-:  ll*+*+*+ *+ *N[ ]!_8`@aCbIcOd^edfrgxhijlmnoq+p IxC#OrDEd]FExIGE 5HE ,-?@I#JEK# L#MN a PK Sf 3;ee+edu/umiacs/fmm/gui/LayerInteraction$1.class1&    this$0%Ledu/umiacs/fmm/gui/LayerInteraction;((Ledu/umiacs/fmm/gui/LayerInteraction;)VCodeLineNumberTableLocalVariableTablethis InnerClasses'Ledu/umiacs/fmm/gui/LayerInteraction$1;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFileLayerInteraction.javaEnclosingMethod! "#  # $%%edu/umiacs/fmm/gui/LayerInteraction$1java/lang/Object!java/beans/PropertyChangeListener#edu/umiacs/fmm/gui/LayerInteractioninitComponents()V access$000H(Ledu/umiacs/fmm/gui/LayerInteraction;Ljava/beans/PropertyChangeEvent;)V   4 *+* %   A *+ &'    PK Sf 3Mw::+edu/umiacs/fmm/gui/LayerInteraction$2.class1$   this$0%Ledu/umiacs/fmm/gui/LayerInteraction;((Ledu/umiacs/fmm/gui/LayerInteraction;)VCodeLineNumberTableLocalVariableTablethis InnerClasses'Ledu/umiacs/fmm/gui/LayerInteraction$2; mouseMoved(Ljava/awt/event/MouseEvent;)VevtLjava/awt/event/MouseEvent; SourceFileLayerInteraction.javaEnclosingMethod !  ! "#%edu/umiacs/fmm/gui/LayerInteraction$2!java/awt/event/MouseMotionAdapter#edu/umiacs/fmm/gui/LayerInteractioninitComponents()V access$100C(Ledu/umiacs/fmm/gui/LayerInteraction;Ljava/awt/event/MouseEvent;)V   4 *+* 0   A *+ 12    PK Sf 3I+edu/umiacs/fmm/gui/LayerInteraction$3.class10  ! " # $ %&'this$0%Ledu/umiacs/fmm/gui/LayerInteraction;((Ledu/umiacs/fmm/gui/LayerInteraction;)VCodeLineNumberTableLocalVariableTablethis InnerClasses'Ledu/umiacs/fmm/gui/LayerInteraction$3; mouseClicked(Ljava/awt/event/MouseEvent;)VevtLjava/awt/event/MouseEvent; mouseExited mousePressed mouseReleased SourceFileLayerInteraction.javaEnclosingMethod( )* * +, -, ., /,%edu/umiacs/fmm/gui/LayerInteraction$3java/awt/event/MouseAdapter#edu/umiacs/fmm/gui/LayerInteractioninitComponents()V access$200C(Ledu/umiacs/fmm/gui/LayerInteraction;Ljava/awt/event/MouseEvent;)V access$300 access$400 access$500    4 *+*>   A *+ 67   A *+ 9:   A *+ <=   A *+ ?@   PK Sf 3~zz+edu/umiacs/fmm/gui/LayerInteraction$4.class1*    !"#$val$bLedu/umiacs/fmm/Box;this$0%Ledu/umiacs/fmm/gui/LayerInteraction;<(Ledu/umiacs/fmm/gui/LayerInteraction;Ledu/umiacs/fmm/Box;)VCodeLineNumberTableLocalVariableTablethis InnerClasses'Ledu/umiacs/fmm/gui/LayerInteraction$4;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFileLayerInteraction.javaEnclosingMethod% &'  ( ) %edu/umiacs/fmm/gui/LayerInteraction$4java/lang/Objectjava/awt/event/ActionListener#edu/umiacs/fmm/gui/LayerInteraction showPopMenu(Ljava/awt/event/MouseEvent;)V()V access$600    9*+*,* D **     PK Sf 3Z%5**)edu/umiacs/fmm/gui/LayerInteraction.class1 { { { { { { { | { { { { { { { { {     {   {    { { { & { ) { , { { !"# $% {& !' {( {) {* {+ ,- ./ 0 1 23 245 .67 B8 B9 @: B; ,< {= {> ,? ,@ {A B CDE PFG S SH SIJ WK SL M ,N ,O ,P Q R S T C U {V {W XY Z[ @\ ] {^ |_` ab ac ld efg qh li .j @k lm ln lo {p {qrsdialogLayerInteraction12Ledu/umiacs/fmm/gui/dialog/DialogLayerInteraction; jPopupMenu1Ljavax/swing/JPopupMenu; clickPointLjava/awt/Point;fmmTreeLedu/umiacs/fmm/FmmTree;currBoxLedu/umiacs/fmm/Box;highlightBoxesLjava/util/Vector; Signature(Ljava/util/Vector; viewBoxes toolTipTextLjava/lang/String;enabledZ proportionI()VCodeLineNumberTableLocalVariableTablethis%Ledu/umiacs/fmm/gui/LayerInteraction;initComponents%dialogLayerInteraction1PropertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent;+dialogLayerInteraction1PropertyChangeHelper$dialogLayerInteraction1WindowClosing(Ljava/awt/event/WindowEvent;)VLjava/awt/event/WindowEvent;*dialogLayerInteraction1WindowClosingHelperformMouseExited(Ljava/awt/event/MouseEvent;)VLjava/awt/event/MouseEvent;formMouseMovedformMouseMovedHelperbi$Ljava/util/Iterator;fmmPLedu/umiacs/fmm/Point;formMouseReleasedformMousePressedformMouseClickedformMouseClickedHelper showPopMenu jMenuItem1Ljavax/swing/JMenuItem;boldFontLjava/awt/Font;regFont showDialog(Ledu/umiacs/fmm/Box;)V addViewBox setViewBoxresetViewBoxes setViewBoxes(Ljava/util/Vector;)VbsLocalVariableTypeTable+(Ljava/util/Vector;)VsetHighlightPointBoxilevelfmmPointboxIndextmpBoxoldHighlightBoxcleargetToolTipText/(Ljava/awt/event/MouseEvent;)Ljava/lang/String;()Ljava/lang/String;setToolTipText(Ljava/lang/String;)VtextpaintComponent(Ljava/awt/Graphics;)Vcornerwidth colorStepSize currColormouseOverColorgLjava/awt/Graphics;g2Ljava/awt/Graphics2D; getFmmTree()Ledu/umiacs/fmm/FmmTree; setFmmTree(Ledu/umiacs/fmm/FmmTree;)V setEnabled(Z)V isEnabled()Z getProportion()I setProportion(I)Vp access$000H(Ledu/umiacs/fmm/gui/LayerInteraction;Ljava/beans/PropertyChangeEvent;)Vx0x1 access$100C(Ledu/umiacs/fmm/gui/LayerInteraction;Ljava/awt/event/MouseEvent;)V access$200 access$300 access$400 access$500 access$600<(Ledu/umiacs/fmm/gui/LayerInteraction;Ledu/umiacs/fmm/Box;)V SourceFileLayerInteraction.java java/util/Vector t uv wxjavax/swing/JPopupMenu 0edu/umiacs/fmm/gui/dialog/DialogLayerInteraction }~ yz%edu/umiacs/fmm/gui/LayerInteraction$1 InnerClasses { |}java/awt/BorderLayout ~test java/awt/Dimension  %edu/umiacs/fmm/gui/LayerInteraction$2 %edu/umiacs/fmm/gui/LayerInteraction$3   visible          edu/umiacs/fmm/Box java/lang/StringBuilderBox         java/awt/FontDialog javax/swing/JMenuItem  %edu/umiacs/fmm/gui/LayerInteraction$4               java/awt/Graphics2D    java/awt/Color        #edu/umiacs/fmm/gui/LayerInteractionjavax/swing/JPaneljavax/swing/ToolTipManagersharedInstance()Ljavax/swing/ToolTipManager;registerComponent(Ljavax/swing/JComponent;)VsetLocationRelativeTo(Ljava/awt/Component;)V((Ledu/umiacs/fmm/gui/LayerInteraction;)VaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)V setLayout(Ljava/awt/LayoutManager;)V setOpaque(II)VsetPreferredSize(Ljava/awt/Dimension;)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)Vjava/beans/PropertyChangeEventgetPropertyNamejava/lang/Stringequals(Ljava/lang/Object;)Z getNewValue()Ljava/lang/Object;repaintjava/awt/event/MouseEventgetPoint()Ljava/awt/Point;edu/umiacs/fmm/gui/Util awtToFmmPoint)(Ljava/awt/Point;I)Ledu/umiacs/fmm/Point;sizeiterator()Ljava/util/Iterator;java/util/IteratorhasNextnextpointLocationInBox-(Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Box;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getLabeltoStringisPopupTrigger getButton getClickCount elementAt(I)Ljava/lang/Object; setVisible(Ljava/lang/String;II)VsetFont(Ljava/awt/Font;)VsetTextaddActionListener"(Ljava/awt/event/ActionListener;)Vadd+(Ljava/awt/Component;I)Ljava/awt/Component; getComponent()Ljava/awt/Component;getXgetYshow(Ljava/awt/Component;II)V setFmmBoxrefreshTreeModel addElement(Ljava/lang/Object;)Vedu/umiacs/fmm/FmmTree getStruct()[[Ledu/umiacs/fmm/Box;edu/umiacs/fmm/Point getBoxIndex(I)I getParent.(Ledu/umiacs/fmm/FmmTree;)Ledu/umiacs/fmm/Box;insertElementAt(Ljava/lang/Object;I)Vjava/awt/RenderingHintsKEY_ANTIALIASINGKeyLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)Vjava/lang/Mathmin(II)I(III)VsetPaint(Ljava/awt/Paint;)VgetBoxNECorner'(Ledu/umiacs/fmm/Box;I)Ljava/awt/Point;getSize()Djava/awt/PointxyfillRect(IIII)VsetSizejava/awt/RenderingHints$Key!{| }~&F** * * * Y * Y *****2 9 :<>@)A.B3C:>E Fm*Y*Y***Y** Y!"*#$*%*&Y'(*)Y**+*,Y*-.. !#$-*8,>-C.T/`4lC m>*+/ GHt,+012 *3+042*+5 6K MNO P+R,,=*7 VW4*3 YZ =*8 ^_>*+9 cd+:*;M* *<8*1*=N-> -?@:,A * * * *BYCDE* FEG*82 i kl"m>nGoMpPsWt_v|xz4>*& uI +H*+I}  I +H*+I  >*+J M*+: +K?+L *M,+L$*<***<dN@*8& '1HLMMX*O*YPYQ RMPYQ RN*=:>i?@:SYT:* ,U -UBYCDEFEGVWY*XY*ZW*+[+\+]^> -LU^gmHUNLW6p -p(*+_** `*a*+3*b'((A *+c  V*d+*+e*8 : * Y    X *+*8    3* * fd<* *;M,g>* f22::*<**<dN@:* Y *c* 6* h:*iB$14>S^gmuHp ~r$l1_4\]* * Y * **8 9*j/* >*+ " *+k+lM,mno*<**2p>66*=:>Z?@:,qYrsd6*t:u*k6 ,vwd ` `x*<l*e,qYrs*=N->B-?@:*t:u*k6,vwd``x^ %18=@_pv     & _HIa1y=m@j&1H /*  >*+  !"N**y$% & '/*) /*- a**z*&Y'(*801 234:*+:*+:*+:*+:*+:*+:*+*),Wa PK Sf 3!? $edu/umiacs/fmm/gui/LayerPoints.class1 H I J K LM NO PQ R S TU H V WX YZ Y[ \ ] ^ _` _a bcdepoints[Ledu/umiacs/fmm/Point;cLjava/awt/Color; proportionI()VCodeLineNumberTableLocalVariableTablethis Ledu/umiacs/fmm/gui/LayerPoints;getColor()Ljava/awt/Color;setColor(Ljava/awt/Color;)V getPoints()[Ledu/umiacs/fmm/Point; setPoints([Ledu/umiacs/fmm/Point;)V(Ljava/util/Vector;)VLjava/util/Vector;LocalVariableTypeTable*Ljava/util/Vector; Signature-(Ljava/util/Vector;)V getProportion()I setProportion(I)VpinitComponentspaintComponent(Ljava/awt/Graphics;)VigLjava/awt/Graphics;g2Ljava/awt/Graphics2D; SourceFileLayerPoints.java $% "# >% ! edu/umiacs/fmm/Pointf gh ijjava/awt/Dimension $j kl m%java/awt/BorderLayout no pqjava/awt/Graphics2Dr sw xy z{ |} ~ edu/umiacs/fmm/gui/LayerPointsjavax/swing/JPaneljava/io/Serializablejava/util/VectortoArray(([Ljava/lang/Object;)[Ljava/lang/Object;setSize(II)VsetPreferredSize(Ljava/awt/Dimension;)Vrepaint setLayout(Ljava/awt/LayoutManager;)V setOpaque(Z)Vjava/awt/RenderingHintsKEY_ANTIALIASINGKey InnerClassesLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)VsetPaint(Ljava/awt/Paint;)VgetCoord()Ledu/umiacs/fmm/Complex;edu/umiacs/fmm/Complexreal()D imaginaryfillRect(IIII)Vjava/awt/RenderingHints$Key! !"# $%&F***' ( )*+,&/*'( )*-.&>*+' ()* !/0&/*'!( )*12&>*+' $%()*13&Z*+' '(()*45 6789:&/*'*( )*;<&a** * Y * '-. /01()*=#>%&X"*Y** Y ': <=!>( ")*?@&p+M,* ,**M*E>*:,*2*k**2*kdñ'"ABDE-F8GiFoJ(*/@A#p)*pBCkDEFGv tYu PK Sf 3$edu/umiacs/fmm/gui/PanelMain$1.class1$   this$0Ledu/umiacs/fmm/gui/PanelMain;!(Ledu/umiacs/fmm/gui/PanelMain;)VCodeLineNumberTableLocalVariableTablethis InnerClasses Ledu/umiacs/fmm/gui/PanelMain$1;componentResized"(Ljava/awt/event/ComponentEvent;)VevtLjava/awt/event/ComponentEvent; SourceFilePanelMain.javaEnclosingMethod !  ! "#edu/umiacs/fmm/gui/PanelMain$1java/awt/event/ComponentAdapteredu/umiacs/fmm/gui/PanelMaininitComponents()V access$000@(Ledu/umiacs/fmm/gui/PanelMain;Ljava/awt/event/ComponentEvent;)V   4 *+* %   A *+ &'    PK Sf 3@>>44$edu/umiacs/fmm/gui/PanelMain$2.class1&    this$0Ledu/umiacs/fmm/gui/PanelMain;!(Ledu/umiacs/fmm/gui/PanelMain;)VCodeLineNumberTableLocalVariableTablethis InnerClasses Ledu/umiacs/fmm/gui/PanelMain$2;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFilePanelMain.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/PanelMain$2java/lang/Object!java/beans/PropertyChangeListeneredu/umiacs/fmm/gui/PanelMaininitComponents()V access$100A(Ledu/umiacs/fmm/gui/PanelMain;Ljava/beans/PropertyChangeEvent;)V   4 *+* 9   A *+ :;    PK Sf 3R"edu/umiacs/fmm/gui/PanelMain.class1B g g h  g g  g g g  g  g  g  g  g  g !   !   ! +   /    g g