PK h&: META-INF/PK h&:_EMETA-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.7.0 Created-By: 1.6.0_03-b05 (Sun Microsystems Inc.) Main-Class: view.Main Class-Path: lib/jogl.jar X-COMMENT: Main-Class will be added automatically by build PK h&:treevisualiser/PK h&:treevisualiser/model/PK h&:view/PK h&: view/jogl/PK h&: view/newick/PK h&: view/swing/PK h&:view/swing/images/PK h&:X !treevisualiser/NewickParser.class1 *Q )RS T )UV )WX Q )Y )Z )[ \] Q ^ _` a bc bd be bfgh T i j kl m n o p q r s btu bv bwxysLjava/io/FileReader;newickLjava/lang/String; tree_depthItLtreevisualiser/model/Tree;inID(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLtreevisualiser/NewickParser;fName Exceptionsz{init_ds()VcparselfLtreevisualiser/model/Node;leafstrleaves[Ljava/lang/String;idxiparentcurrentgetTree()Ltreevisualiser/model/Tree; SourceFileNewickParser.java 4@ 30java/io/FileReader 45 +, -.treevisualiser/model/Tree 12 /0 ?@ |}java/lang/StringBuilder ~  } treevisualiser/model/NodeROOT IN: ~ } @ , treevisualiser/NewickParserjava/lang/Objectjava/io/FileNotFoundExceptionjava/io/IOExceptionread()Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/CharactertoString(C)Ljava/lang/String;()Ljava/lang/String;java/lang/StringtrimcharAt(I)Clength substring(II)Ljava/lang/String;setDepth(I)VsetRoot(Ltreevisualiser/model/Node;)V getCurrent()Ltreevisualiser/model/Node;(I)Ljava/lang/StringBuilder; setParentinsert addBranch getParentgetDepthmoveUpindexOf(II)Isplit'(Ljava/lang/String;)[Ljava/lang/String;(I)Ljava/lang/String;!)*+,-./012304560***Y+**Y * * 7" & +!/"809:0;.<=>?@6z6* <+Y*Z* <ֱ7*, .*/52869:.A0<>B@6 LM***(D**d)/***dYM,* ,>*d*(_* LYY*Y`ZM,+* , * ,!,,"#`*Y ` *,*)* L* $*)%6W*:&':6/Y2:*  "#`d>a*(:&':6;Y2:*  * "#`*>7+9:<>1@FCPDUE]IjJwKMNOPQRTUWX\^_b(c3dAeJfYc_jdkgmqozpqrstpwI{8 ACD+4E0EF.(<GH$CD}@E0qTF.zKGHI0_lJ09:KDLDMN6/* 78 9:OPPK h&:dSzz treevisualiser/NexusParser.class1 @z ?{| }~  ? z ? ?               '}  '  '   0z 0 0 0 '   ' '   ? ?inLjava/util/Scanner; tree_depthItLtreevisualiser/model/Tree;inID(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLtreevisualiser/NexusParser;fNameLjava/lang/String;fileLjava/io/File; ExceptionsgetNewickBlock()Ljava/lang/String;foundZnewickmapPropertyBlock(Ltreevisualiser/model/Tree;)Zlblin_namevalsvalues[Ljava/lang/String;currentLtreevisualiser/model/Node;numProps propertyLblscntlnparseleavesjstrcurlfleafidxsparentprocessLeafGroup&(Ljava/lang/String;)Ljava/lang/String;grpgetTree()Ltreevisualiser/model/Tree; SourceFileNexusParser.java H GD java/io/File HIjava/util/Scanner H ABtreevisualiser/model/Tree EF CD W begin trees; = ; W begin leaf_properties; java/lang/String proplabels ] end leaf_properties;(), treevisualiser/model/Node ROOT java/lang/StringBuilderIN: W st [\treevisualiser/NexusParserjava/lang/Objectjava/io/FileNotFoundExceptionjava/io/IOException()V(Ljava/io/File;)V hasNextLine()ZnextLineequalsIgnoreCase(Ljava/lang/String;)Zequals(Ljava/lang/Object;)ZindexOf(Ljava/lang/String;)I substring(II)Ljava/lang/String;trimlength()Ijava/lang/IntegerparseIntsetNumProperties(I)VgetNumLeafPropertieshasNext(I)Ljava/lang/String; setPropLbls([Ljava/lang/String;)Vsplit'(Ljava/lang/String;)[Ljava/lang/String;find8(Ltreevisualiser/model/Node;)Ltreevisualiser/model/Node; setProperty'(Ljava/lang/String;Ljava/lang/String;)VcharAt(I)CsetDepthsetRoot(Ltreevisualiser/model/Node;)V getCurrent()Ltreevisualiser/model/Node;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString setParentinsert addBranch getParentgetDepthmoveUp(II)I!?@ABCDEFGDHIJ/**Y+M*Y,*Y * K ).L /MN/OPQRSTUVWJj< M* %!*M,*M<, *M,,`,M,,,K6 #$&'($),*1/:0E4[6f7h:L jMNhXYeZP[\J z= N* lh*N-=*N--`-::++:*N-N-*N6*?+6--*N--` ::S*N-N- - *N+!-"z- f--#::--#`-$:%&: +'Y(): 6     2  2* *NK)DEGHI$J&K.MBNIPRR[TcUhXqY|]^_`acdeghjknprstw2x;{J}U~d}juxL ]PM^D V_P28`P;/ab J cd B3eP[fbgDzMNzEFxXYuhPiIJ MN+:+(=d+),d:'Y,(N--* -.6U+(_* /M'Y0Y123*Y`Z45(N-,6* -7* -8--9:`-*Y ` +,+)* /M* ;)<6H:%&:6    2: * =:  d6e :%&:6  >'Y 2(: *  7 * /6  9:`- 6** >WK, &8BGO\hp  *27=CFR[fwL* jP %kD  7lP.mbw$nd ^CoD RVlP[MjbpDR\^DMNqPrdcd ZPstJM++(a+ M* /N'Y0Y123*Y`Z45(:-6* 7* 89:`-!'Y+(N* -7--9:`-,K: @FOXgjs{L>Mrd@'cdsndMNoPuPvwJ/* KL MNxyPK h&:Z:`'treevisualiser/model/ColorPalette.class1U /K .L5 .MN .O?L?fff?W =?p?s33?\)?.{> ??Q .P>>L?# >8Q?8Q>G .Q?^R=>u?@> .R?k=>?z?n>$?>?.>L?y>?? =STnum_cols_generatedIalphaFpalette[[F std_palettecontrast_palettepalette3()VCodeLineNumberTableLocalVariableTablethis#Ltreevisualiser/model/ColorPalette; getPalette(I)[[FinumColspgetBinaryPalette()[[Fpaletteb SourceFileColorPalette.java 9: 01 85[F 23 45 65 75!treevisualiser/model/ColorPalettejava/lang/Object!./ 01 23 45 65 75 859:;/*<= >? @A;x&`L=+2S+<$= B1&C1D5 EF;e7YY QY QY QYQSYY QY QY QYQSK*< 5= 5G5H:;nB  YYQYQY QYQSYY QYQY QYQSYY QYQY QYQSYY QYQY QYQSYYQY QY QYQSYY QY QY QYQSYYQYQY QYQSYY QYQYQYQSYYQY QY QYQSY Y QYQYQYQS YY QY QY QYQSYY QYQYQYQSYY QYQYQYQSYYQY QYQYQSYYQY QYQYQSYY QYQY QYQSYYQYQY QYQSYYQYQY QYQSYY QYQYQYQSY Y QY QYQYQS YYQYQYQYQSYY QY QY QYQSYY QYQY QYQSYYQYQYQYQSYYQY QY QYQSYY QY QY QYQSYY QY QY QYQSYY QY QY QYQSYY QYQYQYQSY YQY QYQYQS YYQY QYQYQSYY QY!QY QYQSYY"QY#QY QYQSYY QY$QY"QYQSYY%QY&QY'QYQSYY(QY)QY%QYQSYY*QY*QY*QYQSYY%QY+QY(QYQSYY,QY-QY QYQSY Y,QY QY,QYQS<  "0$?-NIJPK h&:. %treevisualiser/model/ConeLayout.class1 'T &U &V WX &Y WZ &[ &\ ] ^_ `a `bc d We@ f g h i j kl km Wn ^o ^p q r Ws t u v w x@ yz{myTreeLtreevisualiser/model/Tree; minEdgeLengthF(Ltreevisualiser/model/Tree;)VCodeLineNumberTableLocalVariableTablethis!Ltreevisualiser/model/ConeLayout;t setLocations(Ltreevisualiser/model/Node;)VnodeLtreevisualiser/model/Node;i$Ljava/util/Iterator;origin[Fxyzposn placeLeaves()ViIleavesLjava/util/ArrayList;LocalVariableTypeTable2Ljava/util/ArrayList;placeInternalNodesanDadsetMinEdgeLength(F)VlngetMinEdgeLength()F SourceFileConeLayout.java ,B *+ ()| }~ AB  I5 45   treevisualiser/model/Node  ~ ~ ~treevisualiser/model/ConeLayoutjava/lang/Objecttreevisualiser/model/Tree getNumLeaves()IgetRoot()Ltreevisualiser/model/Node; getChildren()Ljava/util/ArrayList;java/util/ArrayListiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;isRoot getHeight(Ltreevisualiser/model/Node;)I setPosition([F)VgetAngleNumerator()DgetAngleDenominatorgetLengthNumeratorgetLengthDenominatortreevisualiser/model/UtilpolarToCartesianX(DDDD)FpolarToCartesianY getLeavessizeget(I)Ljava/lang/Object;setAngleNumerator(D)VsetAngleDenominatorsetLengthNumeratorsetLengthDenominatorisLeaf getLMostChild getRMostChildgetDepth!&'()*+,-.;** *+** *****/&   $/:0;12;3)45.B+ M, ,  N*-+&Y QY*+nQY QM+,Q++++E*+nF++++8Y$QY%QYQ:+/2 $%#(*)E*J+M-a1n26790\ 6789E:;a:<+n-=+>+?;12@7AB.K*L=+;+ N--*-**j-ñ/& ACEF!G-H?IDCJL0*)@7 @CDK12CEFG CEHI5.'+ M, ,  N*-+ +!+"k+"+!kc*oI+(#+!+"kk*o9+++!+!%dk++!+!%k/* UV#Y*[S`Xbvf|hkn0>6789SSJKv0LK12@7MN.>*#/ uv012O+PQ./*/}0 12RSPK h&:itt*treevisualiser/model/FitchCalculator.class1 .r -s -t -u -v -w -x yz -{ -| -}~  r         r        - - NUMPROPSItheTreeLtreevisualiser/model/Tree; thePropertyLjava/lang/String; unionChanges totalCostconsistencyIdxFcost0(Ljava/lang/String;Ltreevisualiser/model/Tree;)VCodeLineNumberTableLocalVariableTablethis&Ltreevisualiser/model/FitchCalculator; fitchPropertytreesetConsistencyIndex(F)VigetConsistencyIndexString()Ljava/lang/String;dfLjava/text/DecimalFormat;cIDX getTotalCost()Iunion,(Ltreevisualiser/model/Node;)Ljava/util/Set;childLtreevisualiser/model/Node;i$Ljava/util/Iterator;childrenLjava/util/ArrayList;nLjava/util/Set;LocalVariableTypeTable2Ljava/util/ArrayList;#Ljava/util/Set; Signature@(Ltreevisualiser/model/Node;)Ljava/util/Set; intersectionpsnSetpropallSameZ intersectprops cntNotLeaf)Ljava/util/ArrayList;fitch(Ltreevisualiser/model/Node;)Vc fitchDatasetNumProperties(I)VnumProps()V SourceFileFitchCalculator.java :o 50 60 78 90 12 34 gh /0 CDjava/text/DecimalFormat0.000 : java/util/HashSet  treevisualiser/model/Node java/lang/String java/util/ArrayList l L \N MN  $treevisualiser/model/FitchCalculatorjava/lang/Objecttreevisualiser/model/TreegetRoot()Ltreevisualiser/model/Node;(Ljava/lang/String;)Vformat(D)Ljava/lang/String;isRoot()ZisLeaf getChildren()Ljava/util/ArrayList;iterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object; getProperty&(Ljava/lang/String;)Ljava/lang/Object; java/util/Setadd(Ljava/lang/Object;)Z getFitchData()Ljava/util/Set;addAll(Ljava/util/Collection;)Zcontainsget(I)Ljava/lang/Object;equals setFitchData(Ljava/util/Set;)V setFitchCost getFitchCostisEmptyjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/Object;)V!-. /0123450607890 :;<>**** **,*+** * d*n =*  "-= > >?@>A4>B2CD<>*#= '(>?@E8FG<\ Y L+*M,=/ 01> ?@ HIJ4KL</*=9> ?@MN<1*YM+ +i+N-:T:%,*(*Y`, *Y`*Yd,=2 BC EH J<LDNYOfTtUZ]>><BOP&[QR aST?@UP MVW aSX MYZ[\N< !YM+NY:6-::2*: ,W !WM:":  0 :  , W  !W̄id-#*:6-:0:  *:  $ 6 YM,=zgh ikm5o=pKtUvaxi}ls  >K]4^4 |7QR sC_V5OPQR`4 OP 7QRM]4Jab!?@!UPcV ST dTe0W*sC_YcY SX dfZ[gh<+Y%+M,,N*- +*YM,+*W+,%+&*+M,,N*Y-'`*+(M,)**+*M+**`& +*&++,+,%+'* *+'=^ &.5=OTY\a|>R&iPQR=jV| iPi#QRKEV?@UPW=jYKEY kl<3 = > m0no< =pqPK h&:n treevisualiser/model/Node.class1) H                                                 childrenLjava/util/ArrayList; Signature2Ljava/util/ArrayList;nameLjava/lang/String; attributes&Ltreevisualiser/model/NodePropertyMap;parentLtreevisualiser/model/Node;depthIangleNumeratorDangleDenominatorlengthNumeratorlengthDenominatorposition[FnLengthF iConfidence edgeColorSet)Ljava/util/ArrayList<[Ljava/lang/Float;>;colorid fitchProperty fitchDataLjava/util/Set;#Ljava/util/Set; fitchCost()VCodeLineNumberTableLocalVariableTablethis(Ljava/lang/String;)V0(Ljava/lang/String;Ltreevisualiser/model/Node;)Vpadd(Ltreevisualiser/model/Node;)Vchildremove(Ltreevisualiser/model/Node;)Z getChildren()Ljava/util/ArrayList;4()Ljava/util/ArrayList; getRMostChild()Ltreevisualiser/model/Node;ci$Ljava/util/Iterator;n getLMostChildgetNumChildren()IisRoot()ZisLeafhasPropertiesMappedequalsgetName()Ljava/lang/String; appendNamenewNamegetPropertyMap(()Ltreevisualiser/model/NodePropertyMap; getFitchData()Ljava/util/Set;%()Ljava/util/Set; setFitchData(Ljava/util/Set;)VLocalVariableTypeTable&(Ljava/util/Set;)V getParent setParentgetColor()[FsetColor([F)V getProperty&(Ljava/lang/String;)Ljava/lang/Object; setProperty'(Ljava/lang/String;Ljava/lang/String;)VvaluesetDepth(I)VdgetDepth getPosition setPositionsetAngleNumerator(D)VansetAngleDenominatoradsetLengthNumeratorsetLengthDenominatorgetAngleNumerator()DgetAngleDenominatorgetLengthNumeratorgetLengthDenominator getConfidence setConfidence getLength()F setLength(F)VgetEdgeLineColorSet+()Ljava/util/ArrayList<[Ljava/lang/Float;>;getNumEdgeLinesgenerateEdgeLineColorSet[Ljava/lang/Float;childsEdgeColorsclearEdgeLineColorSetinEdgeColorSet([Ljava/lang/Float;)ZfoundZ getFitchCost setFitchCosttoStringjcss SourceFile Node.java hi gTjava/util/ArrayList IJ _J$treevisualiser/model/NodePropertyMap OPjava/util/HashSet de QR ST MN q t treevisualiser/model/Node        java/lang/StringBuilder   a[ ! Z[ UV WV XV YV ^T \] "i # $% w & Node :  Depth : ' z Parent :   [ (,] LEAF NODE  ROOT NODE  CHILDREN [ vw] java/lang/Object(Ljava/lang/Object;)Zget(I)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;sizeisEmptyjava/lang/StringtrimequalsIgnoreCase(Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getValuecleartreevisualiser/model/Util toFloatArray([F)[Ljava/lang/Float;java/lang/Float(I)Ljava/lang/StringBuilder;(F)Ljava/lang/StringBuilder;!HIJKLMNOPQRSTUVWVXVYVZ[\]^T_JK`a[bTcNdeKfgT0hij@***Y*Y*Y * Y * *k& 2* 345*657:8?9l @mRhnjE***Y*Y*Y * Y *+* *k* ;* <=>*?5@:A?BDClEmREMNhojE***Y*Y*Y * Y *+*, *k* E* FGH*I5J:K?LDMl EmREMNEpRqrjB *+Wk U Vl mR sRtuj= *+k^l mR sRvwj/*kfl mRKxyzjCL*;*L*M,,N-+-L+koq su0v<wAzl*0{R$|}CmRA~RzjKL*C*;*L*M,,N-+-L+k8DIl*8{R%$|}KmRI~Rj2*kl mRj7 * kl  mRj2*kl mRj:* kl mRujF*+klmR~Rj/*kl mRnjp4 Y!*Z"#"$ Y!*Z"+"$k3l4mR4NjC* * k l mRj/* kl mRKjP*+ k lmRde dfKzj/* kl mRrjI * *+ k l mR pRj/*%kl mRj>*+%k lmRa[j= * +&kl mR MNjL * +,'k  l  mR MN Nj>*k lmRTj/*k!l mRj/*(k)l mRj>*+(k 12lmRZ[j>*')k 67lmRVj>*'*k :;lmRVj>*'+k >?lmRVj>*',k BClmRVj/*)kFl mRj/**kJl mRj/*+kNl mRj/*,kRl mRj/*-kVl mRj>*-k Z[lmR^Tj/*.k^l mRj>*#.k bclmR\]wj/*kfl mRKj2*kjl mRij}*/*0q***12WX*L+G+M,3N-:%4:*5 *Wקk. svxz'~BGcly|l>c{M,|}G2JB7~R/M|}}mR G2`ij6*/k l mRjO=*N-=-4:2+26"2+262+26=kEGMl4,{ C|}OmROaMj/*kl mRj>*k lmRgTj#[ Y!7"*"$L Y!+"8"*9:$L*;& Y!+"<"*;"="$L*>M,S Y!+"?"$L>,# Y!+",0@A"$Lݻ Y!+"B"$L* Y!+"C"$L*0 Y!+"D"$Lk Y!+"E"$L*FN-:.: Y!+""A"$Lλ Y!+"G"$L+kV29\aey &EYlH{&T&~R5|} OJ[mRDNap[  OLPK h&:()VCodeLineNumberTableLocalVariableTablethis%Ltreevisualiser/model/NodeComparator;compare9(Ltreevisualiser/model/Node;Ltreevisualiser/model/Node;)In1Ltreevisualiser/model/Node;n2rotFn1Anglen2Angle cutoffAngle'(Ljava/lang/Object;Ljava/lang/Object;)Ix0Ljava/lang/Object;x1 SignatureELjava/lang/Object;Ljava/util/Comparator; SourceFileNodeComparator.java 1 2 34 54treevisualiser/model/Node #treevisualiser/model/NodeComparatorjava/lang/Objectjava/util/Comparatorview/jogl/Renderer ROT_ANGLEgetAngleNumerator()DgetAngleDenominator!  /* rF++ok8,,ok88% %fF%%%f b8%f b8B$(.3: D!K"U#\&d'f(n)p+Hrrrn^$N(JAK *+ ,    ! "!#$%&PK h&:]Jr*treevisualiser/model/NodePropertyMap.class1y CD C E FG FHI JKL MN OPQ RST UV WX Y Z[ \ ] F^ _`a attributesLjava/util/Map; Signature5Ljava/util/Map;()VCodeLineNumberTableLocalVariableTablethis&Ltreevisualiser/model/NodePropertyMap; setProperty'(Ljava/lang/String;Ljava/lang/String;)VnameLjava/lang/String;valuegetValue&(Ljava/lang/String;)Ljava/lang/Object;iI isFloatingPtZoLjava/lang/Object;strchCisEmpty()ZtoString()Ljava/lang/String; getAttributes()Ljava/util/Map;7()Ljava/util/Map; SourceFileNodePropertyMap.java #$java/util/HashMap  b cd efjava/lang/String gh" ijyes kltruejava/lang/Boolean #mnofalsen op qrjava/lang/Float st #ujava/lang/Integer vw #x :; <=$treevisualiser/model/NodePropertyMapjava/lang/Object java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;charAt(I)CreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;equalsIgnoreCase(Ljava/lang/String;)Z(Ljava/lang/String;)Vjava/lang/CharacterisDigit(C)Zlength()I parseFloat(Ljava/lang/String;)F(F)VparseInt(Ljava/lang/String;)I(I)V! !"#$%B**Y&' ()*+%O *+,W& ! "'  () ,- .-/0%nM*+N-6"-  N-M- - YMr- - YMSK66--.6Y-MY-M,&R-/357'8,:><K>]@jBrDuEGIEMOSW'Hx"12uE34(),-567-89:;%4 *&`'  ()<=%2*&e' ()>?%/*&i' ()!@ABPK h&:& 'treevisualiser/model/RadialLayout.class1 (Z '[ '\ ]^ '_ ]` 'a 'b@ ]c 'd> ]e fg fhi j k l m n fo pq pr s t u v w@ x y z { | }~ }myTreeLtreevisualiser/model/Tree; minEdgeLengthFouterCircumference(Ltreevisualiser/model/Tree;)VCodeLineNumberTableLocalVariableTablethis#Ltreevisualiser/model/RadialLayout;tgetWidthLeafNode(I)F numLeavesIwsetMinEdgeLength(F)VlngetMinEdgeLength()F placeLeaves()VnLtreevisualiser/model/Node;ileavesLjava/util/ArrayList;LocalVariableTypeTable2Ljava/util/ArrayList;placeInternalNodes(Ltreevisualiser/model/Node;)Vnodei$Ljava/util/Iterator;anDad setLocationsorigin[Fxyzpos SourceFileRadialLayout.java .A +, )* @A IJ QJ -,  treevisualiser/model/Node   !treevisualiser/model/RadialLayoutjava/lang/Objecttreevisualiser/model/Tree getNumLeaves()IgetRoot()Ltreevisualiser/model/Node; getHeight getLeaves()Ljava/util/ArrayList;java/util/ArrayListsizeget(I)Ljava/lang/Object;setAngleNumerator(D)VsetAngleDenominatorsetLengthNumeratorsetLengthDenominator getChildreniterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;isLeaf getLMostChildgetAngleNumerator()D getRMostChildgetAngleDenominatorgetLengthNumeratorgetDepthgetLengthDenominatorisRoot setPosition([F)Vtreevisualiser/model/UtilpolarToCartesianX(DDDD)FpolarToCartesianY!'()*+, -,./0N** *+** ***** ** jj 1*   $/: M!2N34N5* 670J nD# fD#1%' (289:,;<0>*#1 01234=,>?0/*182 34@A0K* L=+;+N--*-** j-ñ1& ACEF!G-H?IDCJL2*)BC @D9K34CEFG CEHIJ0'+M,,N*-+++k++kc*oI+(++kk*o9+++ +!dk++"+!k1* UV#Y*[S`Xbvf|hko2>KCLMSSNOv0PO34BCQJ0,+M,,N*-+#Y QY QY QM+,$F+++ +"%E F+++ +"&8Y$QY%QYQ:+$12 xy#|*}:~?BVXm2\ KCLM:RSV/T,X-U,mV,WS34BCXYPK h&:O*treevisualiser/model/Tree.class1 > = = = = = = =   = = = =   =  = =   " & =   0 0 0 = = = rootLtreevisualiser/model/Node;currentdepthInumLeafPropertiespropertiesLbls[Ljava/lang/String;()VCodeLineNumberTableLocalVariableTablethisLtreevisualiser/model/Tree;(Ltreevisualiser/model/Node;)VrootNodesetNumProperties(I)V setPropLbls([Ljava/lang/String;)VlblsgetPropertiesLbls()[Ljava/lang/String;setRoot getCurrent()Ltreevisualiser/model/Node;getNumLeafProperties()IgetRootsetDepthndleafi$Ljava/util/Iterator;leavesLjava/util/ArrayList;dLocalVariableTypeTable2Ljava/util/ArrayList;getDepthfindS(Ltreevisualiser/model/Node;Ltreevisualiser/model/Node;)Ltreevisualiser/model/Node;childn8(Ltreevisualiser/model/Node;)Ltreevisualiser/model/Node;numLeavesInSubtree(Ltreevisualiser/model/Node;)IsubRootlist getNumLeavesfound getHeighth addBranch newParentmoveUpinsert9(Ltreevisualiser/model/Node;Ltreevisualiser/model/Node;)VparentgetLeafPropertyValues'(Ljava/lang/String;)[Ljava/lang/Object;ipropValLjava/lang/String;strvalsLjava/util/Set;propertyvalues[Ljava/lang/Object;#Ljava/util/Set;filterPropertyListvsaListj)Ljava/util/ArrayList;reset preOrderPrintnodetoList()Ljava/util/ArrayList; Signature4()Ljava/util/ArrayList;walk3(Ltreevisualiser/model/Node;Ljava/util/ArrayList;)VelementP(Ltreevisualiser/model/Node;Ljava/util/ArrayList;)V getLeaves walkLeaves leafClicked(FF)Ltreevisualiser/model/Node;pos[FwidthFrdxdzdxxdzzdistmouseXmouseZpickedtoString()Ljava/lang/String; SourceFile Tree.java GH BC DC WN EF ?@ ]Q A@  treevisualiser/model/Node gn hi q[ hl java/util/ArrayList [ g[ Y N N xy  java/lang/Boolean Gjava/lang/Floatjava/lang/Stringjava/util/HashSet  {|    java/lang/StringBuilder Parent is   H H      treevisualiser/model/Treejava/lang/Objectiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; getChildrenequals(Ltreevisualiser/model/Node;)ZisLeafsize getParent setParentaddget(I)Ljava/lang/Object;getPropertyMap(()Ltreevisualiser/model/NodePropertyMap;$treevisualiser/model/NodePropertyMapgetValue&(Ljava/lang/String;)Ljava/lang/Object;(Z)V java/util/Set(Ljava/lang/Object;)Zjava/lang/SystemoutLjava/io/PrintStream;getNamejava/io/PrintStreamprintln(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getPosition()[Fview/jogl/NodeView LBL_WIDTHjava/lang/Mathsqrt(D)D!=>?@A@BCDCEF GHIN****J$ %&K LMGNIX****+J, -.KLMO@PQI>*J 12KLMDCRSIP***+J567KLMTFUVI/*J:K LMWNI[*++ **+JBC DEFKLM?@XYI/*JOK LMZ[I/*JSK LM\YI/*J\K LM]HI:* L=+ N- "-  :*6=*J& def h(i.j1k4m9nK>( ^C _@ (`a:LM5bc3dCe 5bfg[I/*JuK LMhiIBN, : .  :+N-*+N---J& !*-/7;@K>!j@ 5`aBLMBk@BA@@h@hlI> *+*JK LM k@mnI2+***+M,YN*,--J" '-K*2LM2k@o@' pce ' pfq[IdYL**++JKLMpce pfgnI&=+**+N---J !K*&LM&k@$dCr@snI5=+***+*N-- *-d=J&  #%)3K*5LM5k@3tCr@s[I/*JK LMuNI>*+J KLMv@wHI: **J  K  LMxyIQ ,++,J  K  LM z@ j@xNIB **+J  K LM k@{|IL$M* N- +!"!"M,"Y#S,"Y#S- +!$C-$M6- : %  :, +!$Sק- +!%&Y':- : /  : +!%: (W6)%M*:  %:,S,Jf!!",#:%O'W)Z+v-.024689:<>@BC"IKvk@`,`aZ2}C~k@6`a "`au6}C$LM$"bceubfVI&jYL=*'*2N*-+:2% +-,W+%M>+ :  %:,S,J6 SUWX!Z+[1U7^?`Aa]cbdhgK\ ! -}C]G!`ajLMbpc?+FA)Ce bpHI7 **J opK  LMHI`-*./-0Y123*.34/-5* L+ +  M*,*6Jv w/x5zS{X|_~K S @@`a`LMIaYL**+7+JKLM pce  pfI-,+,W+ N- -  :*,7J",K4"@`a-LM-@-pce -pfIDYL* M, ,  N*-+* +*,W+J&/9BK*&@`aDLM<pce <pfI4+ N- -  :*,+ ,+,WJ&-3K4@`a4LM4@4pce 4pfIooN* : : W  :8:988 #0f8 $0f8   j8   j8   b:8 -J>%,15=ELS_gjmK,>1955 =- E% L S _ %Ek@^`aoLMoom@gbce gbfI2*;<JK LMPK h&:bܿj j treevisualiser/model/Util.class1 YZ [ \@!TD- ]^ ]_ ` ]a bc bd% be fghi fj kl fmno()VCodeLineNumberTableLocalVariableTablethisLtreevisualiser/model/Util; toFloatArray([F)[Ljava/lang/Float;iIarray[FoArray[Ljava/lang/Float;tofArray([Ljava/lang/Float;)[FfArraypolarToCartesianX(DDDD)FanDadlnldpolarToCartesianYarc (FFFDDI)[FarcPointvertexoriginXForiginZradius beginAngleendAngledetailverticesy angleStepangle rotatedPoint(FFFD)[F rotatedPt sortColorSet,(Ljava/util/ArrayList;)Ljava/util/ArrayList;tempc1c2colorsLjava/util/ArrayList;swappedOnPrevRunZLocalVariableTypeTable)Ljava/util/ArrayList<[Ljava/lang/Float;>; SignatureT(Ljava/util/ArrayList<[Ljava/lang/Float;>;)Ljava/util/ArrayList<[Ljava/lang/Float;>;isFloat(Ljava/lang/String;)ZstrLjava/lang/String;chC isInteger SourceFile Util.java java/lang/Float p qrs tu vu @A wux yz {| }~ "  ztreevisualiser/model/Utiljava/lang/Object(F)V floatValue()Fjava/lang/Mathcos(D)Dsin toRadiansjava/util/ArrayListsize()Iget(I)Ljava/lang/Object;set'(ILjava/lang/Object;)Ljava/lang/Object;java/lang/StringcharAt(I)CreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;java/lang/CharacterisDigit(C)Zlength! /*   q#*L=*+Y*0S+!  !#"#$% &'l*L=*+*2Q+(* ,*/  !$%(# )*Z&k(oko3*+,-,.,/, 0*Z&k(oko?*+,-,.,/, 12%ah: 8 )gdo9 )9 6="#$ :h0Qh` Qh`0Q  c9 2 DE GHK$L.M9NDOQQXK^Tz .03#A4!a56a76a86a9,a:,a;!Y<# V=6 J>, G?, @A1: 8) $j"bQQ) $j#bQYZ]^_.a>1561761861?,,B#)=6 CDd<* [W=* dH<* N*` :-22<-:*W*`W*:eg ilmn%o1pBqDrGsOtYlb}>GE%%4F%1(G%O !dHIbJKL dHMNO PQC*<"*K*<&=**.*  %/9;A ' !CRS=TU VQE*<"*K*<(!=**..  %/9;AC ' !ERS?TUWXPK h&:;00view/AppFrame.class1 E   D           D       " D "  ' D * , * * *      D D?Q  BframeLjavax/swing/JFrame;glCanvasLjavax/media/opengl/GLCanvas;mnuBarLview/swing/JTreeVizMenu;toolBarLview/swing/JTreeToolBar;widthIheight(Ltreevisualiser/model/Tree;)VCodeLineNumberTableLocalVariableTablecanvasListenerLview/jogl/Renderer;tkLjava/awt/Toolkit;xSizeySizetoolsLjavax/swing/JSplitPane;tpLjavax/swing/JPanel;e Ljavax/media/opengl/GLException;thisLview/AppFrame;tLtreevisualiser/model/Tree;getWidth()I getHeight windowClosing(Ljava/awt/event/WindowEvent;)VLjava/awt/event/WindowEvent;windowActivated windowClosedwindowDeactivatedwindowDeiconifiedwindowIconified windowOpenedcomponentResized"(Ljava/awt/event/ComponentEvent;)VLjava/awt/event/ComponentEvent;cLjava/awt/Component;newSizeLjava/awt/Dimension;componentMovedcomponentShowncomponentHidden SourceFile AppFrame.java Sjavax/media/opengl/GLCanvas!javax/media/opengl/GLCapabilities S JK view/jogl/Renderer javax/swing/JFrameTree Visualiser S HICenter   h j javax/swing/JSplitPane Westview/swing/JTreeVizMenu S LM view/swing/JTreeToolBar NOjavax/swing/JPaneljava/awt/BorderLayout  EastNorth javax/media/opengl/GLException  hi PQ RQ  java/awt/Component  view/AppFramejava/lang/Objectjava/awt/event/WindowListener java/awt/event/ComponentListener()V&(Ljavax/media/opengl/GLCapabilities;)V setFocusable(Z)VsetTree(Ltreevisualiser/model/Tree;I)VaddGLEventListener'(Ljavax/media/opengl/GLEventListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)VaddMouseWheelListener&(Ljava/awt/event/MouseWheelListener;)VaddKeyListener(Ljava/awt/event/KeyListener;)V setGLCanvas (Ljavax/media/opengl/GLCanvas;)V(Ljava/lang/String;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)VaddWindowListener"(Ljava/awt/event/WindowListener;)Vjava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit; getScreenSize()Ljava/awt/Dimension;java/awt/Dimension()DsetSize(II)V setVisibleaddTools(Ljavax/swing/JSplitPane;)V(Lview/jogl/Renderer;)V createMenuBar()Ljavax/swing/JMenuBar; setJMenuBar(Ljavax/swing/JMenuBar;)V setLayout(Ljava/awt/LayoutManager;)Vjava/awt/ComponentOrientation RIGHT_TO_LEFTLjava/awt/ComponentOrientation;setComponentOrientation"(Ljava/awt/ComponentOrientation;)V setLocationsetFrame(Ljavax/swing/JFrame;)V requestFocusjava/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/Object;)Vexit(I)Vjava/awt/event/ComponentEvent getSource()Ljava/lang/Object;getSize!DEFGHIJKLMNO PQ RQSTU~`**YY*Y M,+ *, *, *, *,*,,**Y****N-2d6-2d6*Y:, *!*"Y,#$**$%&*'Y,()*Y+:,Y-./0*)12*3*4*5,*6*7 M9,:*;<*;=@C8V(1569&:,;4<<=D>L?T@\DiEvF~HIJLMNQSUVXYZ[ \] `)a1b9c@hCeDgKjUk_lW\ &XYZ[\Q]Q^_J`aDbc`de`fg hiU<Vo jiU" =>kVsklU=@V z{WdebmnlU5V}WdebmolU5V~WdebmplU5VWdebmqlU5VWdebmrlU5VWdebmslU5VWdebmtuUv+ABM,CN-<-=V W*debvwx yz{uU5VWdebv|uU5VWdebv}uU5VWdebv~PK h&:9sh\\view/Main.class1u ";< ;= ; >?@ A B C D EF G A H I J KLM NOP ;Q R S T UVWXYZ()VCodeLineNumberTableLocalVariableTablethis Lview/Main;main([Ljava/lang/String;)VnrLtreevisualiser/NexusParser;myTreeLtreevisualiser/model/Tree;fcLjavax/swing/JFileChooser;exLjava/io/IOException;Ljava/lang/Exception;args[Ljava/lang/String;fLjava/io/File; SourceFile Main.java #$javax/swing/JFileChooserview/swing/JTreeFileFilter [\ java/io/File. #] ^_ `a bc detreevisualiser/NexusParser f_ g_ h] ijk l$ view/AppFrame #mjava/io/IOExceptionjava/lang/StringBuilder Invalid file no p_ q_r stjava/lang/ExceptionError occurred while reading  view/Mainjava/lang/Object setFileFilter'(Ljavax/swing/filechooser/FileFilter;)V(Ljava/lang/String;)VgetCanonicalPath()Ljava/lang/String;setCurrentDirectory(Ljava/io/File;)VshowOpenDialog(Ljava/awt/Component;)IgetSelectedFile()Ljava/io/File;getAbsolutePathgetNewickBlockparsegetTree()Ltreevisualiser/model/Tree;treevisualiser/model/TreesetDepth(Ltreevisualiser/model/Tree;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getNametoStringjavax/swing/JOptionPaneshowMessageDialog)(Ljava/awt/Component;Ljava/lang/Object;)V!!"#$%/*&' () *+%_LYM,YYY L,+ , 1, LY+N---:YWg7h9>;=?'HG,-U./ Z01h232456789:PK h&:u! ! view/jogl/Arcs.class1 ST S U VW X VYZ [ \ ] ^ _ ` a@v b c de fA g h i j k lmnlfArcLview/jogl/LeafArc;()VCodeLineNumberTableLocalVariableTablethisLview/jogl/Arcs;drawArcsU(Ljavax/media/opengl/GL;Ljava/util/ArrayList;[Ljava/lang/String;Ljava/lang/String;F)ViI startAngleFendAngleradiusdAnglemidAngleglLjavax/media/opengl/GL;leavesLjava/util/ArrayList;values[Ljava/lang/String; arcPropNameLjava/lang/String;zoomendIdxstartArcLtreevisualiser/model/Node;endArc thruZeroArcZLocalVariableTypeTable2Ljava/util/ArrayList; Signaturer(Ljavax/media/opengl/GL;Ljava/util/ArrayList;[Ljava/lang/String;Ljava/lang/String;F)V setColors([[F)VcolSet[[F getColors()[[FisColorReferenced()ZsetIsColorReferenced(Z)Vcolored SourceFile Arcs.java "#view/jogl/LeafArc !o pq rs tutreevisualiser/model/Node vw xy xz {| {} ~    . FG JK LM NOview/jogl/Arcsjava/lang/Objectjava/util/ArrayListsize()I setValues([Ljava/lang/String;)Vget(I)Ljava/lang/Object; getProperty&(Ljava/lang/String;)Ljava/lang/Object;equals(Ljava/lang/Object;)Z(Ltreevisualiser/model/Node;)ZdrawArcQ(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;Ltreevisualiser/model/Node;F)V6(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;Z)VgetAngleNumerator()DgetAngleDenominatorgetLengthNumeratorgetLengthDenominatorview/jogl/NodeView getLblHeight()FOFFSETdrawHorizontalArcLabel8(FLjavax/media/opengl/GL;Ltreevisualiser/model/Node;FF)V drawArcLabel! !"#$B**Y%& '()*$b,d6*-,::6 ,d6  Q ,  , :6  `6,d,d6 6  `],   , d: / *+ *+ *+ *+ ok8 ok8 oc*c8   f8 j8 b8*+ *+ 6  , : ,dA, :  *+ *+ %* !#$& *-,H.S/Y1_2j3u*{9;=?@ACFGJKL6N=PDQKRRVZWmY}]`aefgio9u&(S+, x-. f/. 6J0. =C1.R.2.~c+, '(3456789:;.<,=>?> @A B 5CDEFG$A *+% xy& '( HIJK$2*%|& '(LM$2*%& '(NO$A *% & '( PAQRPK h&::view/jogl/Disk.class1:  ! " #$ % #& ' #( #)*+quadric#Ljavax/media/opengl/glu/GLUquadric; displayListIDI6(Ljavax/media/opengl/GL;Ljavax/media/opengl/glu/GLU;)VCodeLineNumberTableLocalVariableTablethisLview/jogl/Disk;glLjavax/media/opengl/GL;gluLjavax/media/opengl/glu/GLU;draw(Ljavax/media/opengl/GL;)V SourceFile Disk.java ,- ./ 0 12  34 56 7, 89view/jogl/Diskjava/lang/Object()Vjavax/media/opengl/glu/GLU gluNewQuadric%()Ljavax/media/opengl/glu/GLUquadric;javax/media/opengl/GL glGenLists(I)I glNewList(II)VgluDisk*(Ljavax/media/opengl/glu/GLUquadric;DDII)V glEndList glCallList(I)V!  9**,*++*,*22+ $28! 999C +*  & (  PK h&:e++view/jogl/EdgeView.class1 p o> o oA o  o            A A      A   < >;#  o@ @v=L B  o@   ! " #$% > &' A( A&  >L=  A)* I +, L- L. L/ L0 :1<# 23@f 4WV 5 :6 I7 8 9 : ; <= <> <? @ AA Bv>?( oC oDEF LINE_WIDTHF ConstantValue@ DEFAULT_COLOR[FSF? MULTILINE_SFMAX_EDGE_LINESIMAX_EDGE_COLORDEFAULT MULTI_LINE MULTI_BALL SPLIT_LINEARCCONSINDZnumPropsdiskListLview/jogl/Disk;(Ljavax/media/opengl/GL;)VCodeLineNumberTableLocalVariableTablethisLview/jogl/EdgeView;glLjavax/media/opengl/GL; drawEdges6(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;I)Vc[Ljava/lang/Float;i$Ljava/util/Iterator; linesEachSiderdrdyyposspepxxyyzzdxdzilength startAnglewdwnumArcsnumLinesstartPosendPosxyzlocnLtreevisualiser/model/Node;typestartXstartZstartYendXendZendYcolLjava/util/ArrayList;LocalVariableTypeTable)Ljava/util/ArrayList<[Ljava/lang/Float;>;drawFitchEdgesL(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;I[[F[Ljava/lang/String;)VdLjava/lang/String;arr$[Ljava/lang/String;len$jidxs fitchdataLjava/util/Set;fdvaluescolors[[Fvals#Ljava/util/Set;)Ljava/util/ArrayList;drawFitchCostLbl5(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;)VglutLcom/sun/opengl/util/GLUT;lbllocationdrawArcradiuslchildrchildendAngleverticesdrawBall(Ljavax/media/opengl/GL;F[F[F)VcolordrawBezierCurve(Ljavax/media/opengl/GL;[[F[F)VctrlPts ctrlpointBufLjava/nio/FloatBuffer;drawBezierCurveStdLength(Ljavax/media/opengl/GL;[F)V()V SourceFile EdgeView.java qr uv wr yrview/jogl/Diskjavax/media/opengl/glu/GLU G H IJ KJ LJ MJN OP QP RS TU VW X YZ [\] ^_ `a bc de f gW hi jk le m no pqr st uv w xy z {| }e ~e  tjava/lang/String  java/util/HashSet java/util/ArrayList c com/sun/opengl/util/GLUT Wjava/lang/StringBuilder    W r  e   U U       c a }v view/jogl/EdgeViewjava/lang/Object6(Ljavax/media/opengl/GL;Ljavax/media/opengl/glu/GLU;)Vtreevisualiser/model/NodegetAngleNumerator()DgetAngleDenominatorgetLengthNumeratorgetLengthDenominatortreevisualiser/model/UtilpolarToCartesianX(DDDD)FpolarToCartesianY getPosition()[F getParent()Ltreevisualiser/model/Node;getNumEdgeLines()IgenerateEdgeLineColorSetgetEdgeLineColorSet()Ljava/util/ArrayList; sortColorSet,(Ljava/util/ArrayList;)Ljava/util/ArrayList;javax/media/opengl/GL glColor3fv([FI)V glLineWidth(F)VglBegin(I)V glVertex3f(FFF)VglEndsizeget(I)Ljava/lang/Object;tofArray([Ljava/lang/Float;)[F glColor3f glPushMatrix glRotatef(FFFF)Viterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; glPopMatrix glTranslated(DDD)Vjava/lang/Mathsqrt(D)D glTranslatefglScalef getFitchData()Ljava/util/Set; java/util/SetisEmptytoArray(([Ljava/lang/Object;)[Ljava/lang/Object;java/util/Arrayssort([Ljava/lang/Object;)Vadd(Ljava/lang/Object;)ZindexOf(Ljava/lang/Object;)I getFitchCostappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;view/jogl/NodeViewTXT_SF glRotated(DDDD)V glRasterPos3fcharAt(I)CglutStrokeCharacter(IC)V getLMostChild getRMostChildarc (FFFDDI)[Fdrawjava/nio/FloatBufferallocate(I)Ljava/nio/FloatBuffer;put(F)Ljava/nio/FloatBuffer;rewind()Ljava/nio/Buffer;glMap1f(IFFIILjava/nio/FloatBuffer;)VglEnable glEvalCoord1f!opqrstuvwrsxyrsz{s|}v~{s{s{s{s{s { >** *YQYQYQ* **Y+ Y :  $!*;=<>> , ,,,8, ,,,8,08, ,,,8, ,,,8,08 ,,,:  : $fE+*+ ++ n n+ n  n+ 6  M+  !+ ++ n n+ n  n+ C+ "+ ++ n n+ n  n++  l6 +#+ v n $ %:  &U ' :+ $+!++ n n+ n  n++(YQYQYQ: YQY QYQ:  0 0 0f nf8 0 0 0f nf)b8 0 0 0f nf8YQYQYQ:+*+ ++ n n+ n  n+*8 n8+88 %:&E' :+#+,*+!-+(f8b8 6  M+  !+ ++ n n+ n  n+y C+ "+ ++ n n+ n  n+3YQYQYQ:YQY QYQ:000ff8000ff8000ff800f n800f n800f n8+. %:&U' :+!+++bY8bY8bY8+@ 6M+  !+ ++ n n+ n  n+D+ "+.++ n n+ n  n+f8f8jjb/8, ,o0k82j82j8p6 %:&t' :p jf8 jb8b8+#+ 3+v4b $+ 5*+!6+(6*8 %:&' :p jf8 jb8b8G+!+7++ n n+ n  n+>+#+ 3+v4b $+ 5*+!6+(@~IJ*K2MMNhOsQzS~VWY\]_`abdhjkln o0p@qIrOsXt_vfwvxy~ 4HZo'-4>AHNaho&6ETck(/8@GWgp w ~     !$".#4%:)=*@+D,a.h/t1}2578:;<=ABCDEFIS2C\ { 3Lfr[rWrSrCr\vvr&r6rErTzrckrb{{aK@{wr~r~rnrgr`r6{{ 4v Hv Zrorryv{r*r2rMrhrsr   ,89u,8::;<:=>Y?::6 6    2:  @W AYB:6   2CW , ,,,8 , ,,,8 ,08 , ,,,8 , ,,,8 ,08Y QY QY Q:Y QYQY Q:000f nf8000f nf)b8000f nf8YQYQYQ:+*+ ++ n  n+ n n+D&Y QY QY QY Q:*+E-*8F8+8G:&w'::H6Y20QY20QY20Q:++#+,*+-+(f8b82_ ab"d'e0fJhTfZkfmqn|mrstvwx}0BWi}BKQ\gmt{~!V"J 4&9!{ <{ i{  v\{B9ve~rrrbv0NvB<rW'rir}vl"\fr r r r r r{lf + "IYJN,K6, ,,,8, ,,,8,08, ,,,8, ,,,8 ,08 YQYQYQ: YQY QY Q:  0 0 0f nf8  0 0 0f nf)b8 0 0 0f nf8Y QYQYQ:E8LYMNOPQ:6R+#+ + Sb3+T jT jT j5+UW +XW +ZW +\-]^f8+(y $ %&),*A+I-d./1245679;<=+>1?8@GA\BhCtDEFGI=L!{{,rAkrIcrdHr-r "r v v r rrvrR ,,oF,_:,`: o0k8 o0k8 % nȸa:+*+ +6  $+ 0  0  0 +:Q STV)W;XNZY[`]g^r_^abf j){  r)qr;_rNLv B+#+-0-0-03+$$$5+ZW +* +b+("eghi*j3k;mAn4BBBrBvBv4,2,hc:6,%6,20dWeW+ f+ g+-+6+hni+Br tuv,u2t8y>{M|V~^eo{R{){h{v |jYY QY QY QSYYEQY QYkQSYYEQY QYlQSYY QY QY QSN+7-2-hc:6-%6-20dWeW+ f+ g+,+6+hni+JQYeoxRr{h){{vQe|3Y QY QY Qmn (0PK h&:k,1 1 view/jogl/FitchInfoBox.class1 )L?Tz= (M (NO L (P (QR LS L TU TV TW X TY<# TZ [ (\ T] T^ T_ T`?P?zH=u>?fff Ta Tb Tc Td e f Tghidata[Ljava/lang/String;location[FdyFspecialEffectsLview/jogl/SpecialEffects;([Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLview/jogl/FitchInfoBox;draw(Ljavax/media/opengl/GL;)ViIglLjavax/media/opengl/GL;glutLcom/sun/opengl/util/GLUT;gluLjavax/media/opengl/glu/GLU;xydrawBackgroundxMinxMaxyMinyMax SourceFileFitchInfoBox.java 2j ,- ./view/jogl/SpecialEffects 01 *+com/sun/opengl/util/GLUTjavax/media/opengl/glu/GLUk lm nj oj pq rs ts uv E: wj xy zm {y |} ~m s j mview/jogl/FitchInfoBoxjava/lang/Object()Vjavax/media/opengl/GL glMatrixMode(I)V glPushMatrixglLoadIdentity gluOrtho2D(DDDD)V glColor3f(FFF)V glRasterPos3fglutBitmapString(ILjava/lang/String;)V glPopMatrix glPolygonMode(II)VglEnable glBlendFunc glColor4f(FFFF)VglBegin glVertex3fglEnd drawBoxStroke(Ljavax/media/opengl/GL;FFFF)VdrawBoxShadow2D glDisable!()*+,-./01234x0**YQYQY Q**Y *+ 5*/60780*+9:4r  Y M YN+++-++++ *08*086* ++,* 2*b8*+++++5^!"%%&-*6+<-B1K4S5[6h8t9:6=?BCFH6H^2;<78=>?@ABSaC/[YD/E:4 + YM+++,++++ ++F888+  !+ "+% #+% #+ #+ #+$* +%%* +%&++ '++++5 KLOPS#T+X4Y:[F\O][_aadbhcldpf{hijklmoprtvwz{}6H78=>ABdF/hG/lH/pI/JKPK h&:b9 view/jogl/LeafArc.class1 A @ @; @>L @ @  @vC @ @ @ @A @ @?? ?B´ *@  2?ff * 2V = B @ * @ LINE_WIDTHF ConstantValue RENDER_TEXTZSF?values[Ljava/lang/String;colors[[FOFFSET LBL_SCALEarcDefaultColor[FisColorReferenced()VCodeLineNumberTableLocalVariableTablethisLview/jogl/LeafArc;drawArc6(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;Z)ViIglLjavax/media/opengl/GL;nLtreevisualiser/model/Node;startradius startAngleendAngleverticesQ(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;Ltreevisualiser/model/Node;F)VmidAngleendzoomdrawHorizontalArcLabel8(FLjavax/media/opengl/GL;Ltreevisualiser/model/Node;FF)VsLjava/lang/String;glutLcom/sun/opengl/util/GLUT; drawArcLabeltransZgetCol(Ljava/lang/Object;)[FvalLjava/lang/Object;foundidx setValues([Ljava/lang/String;)Vvals setColors([[F)Vcols getColors()[[F()ZsetIsColorReferenced(Z)Vcolored SourceFile LeafArc.java RS GC MC NC OP QF S    Q m rs S S EF jk pkjava/lang/String com/sun/opengl/util/GLUT IJ KLview/jogl/LeafArcjava/lang/Objectjavax/media/opengl/GL glPushMatrixview/jogl/RenderergetCurLayoutMode()I glTranslatef(FFF)VglEnable(I)Vtreevisualiser/model/NodegetLengthNumerator()DgetLengthDenominatorview/jogl/NodeView getLblHeight()FgetAngleNumeratorgetAngleDenominatortreevisualiser/model/Utilarc (FFFDDI)[FARC_PROPERTY_MAPPING getProperty&(Ljava/lang/String;)Ljava/lang/Object; glColor4fv([FI)V glLineWidth(F)VglBegin glVertex3fglEnd glPopMatrixequals(Ltreevisualiser/model/Node;)Z glRotatef(FFFF)VlengthglScalefcharAt(I)CglutStrokeCharacter(IC)V glRotated(DDDD)V glRasterPos3f(Ljava/lang/Object;)Z!@A BCD EFGCDHIJKLMCNCOPQF RSTr4** * **YQYQYQY Q*U .V 4WXYZT +   +  + ,,oc*c8,,ok88 8,,ok8  nȸ:*+*,+*+ ++6$+000+ +!+!Ub)+ ,/ 072G3K5O7R8b;v=}>@CEGHIHKMOPV\ )[\WX]^_`aF7bCGcCKdCv{ePYfT8 >+   +  + ,,oc*c8,,ok8--ok8  nȸ:,-"  n f bȸ:*+*,+*+ ++6  $+ 0  0  0 + +!#5f nb8 f$* +,%* +,&+!UrTV WZ [7^G_Wakdsehiknprstsvx}~+7=Vp )[\ &gC >WX>]^>a`>h`>iC7bCGcCWdCkePjkT ')88-*:, ,#v +, n,jb ,- +,. +,/v0n ,*j*j*j12Y3:,46/56,!UN &,7IT_qV\ [\WXgC]^a`iCbC&lm/nopkT ')882Y3: 8, ,#v +, n,jb ,- +,. +,*j*j*j1,4-*:6  /I, ,  ,79 , : ; 566*= *=2+>=>*?2U"#%(.V4'[\5WX5tu3vF1w\xyT>*+=U VWXzJ{|T>*+?U VWX}L~T/*?U V WXQT/*UV WXT>*U VWXFST#UPK h&:*&22view/jogl/NodeListView.class1 L?Y?s33 KL K K  K     < =L    =# ?> A D  - - -:Q ?P?zH>8Q?fff  >? ?1 ;D <# =<; ()VCodeLineNumberTableLocalVariableTablethisLview/jogl/NodeListView; drawNodesList/(Ljavax/media/opengl/GL;Ljava/util/ArrayList;)VglLjavax/media/opengl/GL; nodesInViewLjava/util/ArrayList;glutLcom/sun/opengl/util/GLUT;gluLjavax/media/opengl/glu/GLU;xyitLjava/util/Iterator;LocalVariableTypeTable2Ljava/util/ArrayList; SignatureL(Ljavax/media/opengl/GL;Ljava/util/ArrayList;)VdrawNodesListTextColor1(Ljavax/media/opengl/GL;Ljava/util/ArrayList;FZ)ViIc colorDarken tempStringLjava/lang/String;nLtreevisualiser/model/Node;fnt numCharactersoffset windowWidth mapLeavesidxdAlphamidalpha1Ljava/util/Iterator;N(Ljavax/media/opengl/GL;Ljava/util/ArrayList;FZ)VdrawBackground(Ljavax/media/opengl/GL;)VxMinxMaxyMinyMaxgetFont(II)I setVisible(Z)VaFlag()Z SourceFileNodeListView.java UV MN OP QRview/jogl/SpecialEffects ST#treevisualiser/model/NodeComparator com/sun/opengl/util/GLUT Vjavax/media/opengl/glu/GLU V   treevisualiser/model/Node V  java/lang/StringBuilder ... V view/jogl/NodeListViewjava/lang/Objectjava/util/Collectionssort)(Ljava/util/List;Ljava/util/Comparator;)Vjavax/media/opengl/GL glColor3f(FFF)V glPushMatrix glMatrixMode(I)VglLoadIdentity gluOrtho2D(DDDD)Vjava/util/ArrayListiterator()Ljava/util/Iterator;java/util/IteratorhasNext glRasterPos2f(FF)Vnext()Ljava/lang/Object;getName()Ljava/lang/String;glutBitmapString(ILjava/lang/String;)V glPopMatrixsize()IglEnable glBlendFunc(II)VgetColor()[F glColor4f(FFFF)Vjava/lang/Stringlength substring(II)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString glDisable glPolygonModeglBegin glVertex3fglEnd drawBoxStroke(Ljavax/media/opengl/GL;FFFF)VdrawBoxShadow2D glLineWidth(F)V glTranslatef!KLMNOPQRSTUVWj0**YQYQY Q***Y X$Y 0Z[\]W , Y YN+ +Y:+++++*0b8*0f8,:,+-*b8++ ++ X^" $&("*+-4.:1@2I6R7X9c:n;t=~?@AEFIJKYRZ[^_`abc+deccfPnXgPtRhij `klmnoW Y:+ +Y:+++++*0 b8*0!f8,: ,"%6  ,"ld`*b8 6 + #+$ ," nn8 ,"l6 8   :D%: 800b0b&'8+0f0f0f ( + (+66) %*nfjf6++d,:-Y./0/1: :28*b8    f8   b8  + 3++ ++ X7S UYZ!]*^0a6b?fHgNiXjckinrprpvwxyz|~(26:JWfYupq 7rN4sPftuvw6xq1tu:}yq$zPZ[^_`a{P|R bc!deXfPcgPiyhi K}q +~P #q  P j`kiyh lW +YM+++,+++4+ #+$+5F68788+ 8(+ 9+% :+% :+ :+ :+;* +%<* +%=+>?@ (+ A+ B C+9+% fb nDbE:+%Fbb nE:+% fb nDfE:+%Fbb nE:+;+ A+9+% fb nGbE:+%Hbb nE:+% fb nGfE:+%Hbb nE:+;+ ++ ++ X/#+4:FO[adhlp{   3 F L SZo YHZ[^_dedqPhmPliPpePW->lIk>>X,. 0#3(5+8Y*-Z[-}q-q*xqW>*X @AYZ[RQW/*XIY Z[PK h&:Z  view/jogl/NodeView.class1 R Q Q Q=L Q Q Q Q?L Q @vB B Q Q Q>? ?1@ = . ?> Q?&ff>ff A @<  Q W V .A;o@ ?ə;ě=;# @`SFF ConstantValue? LBL_WIDTH LBL_HEIGHTTXT_SFCHAR_SF rootColor[FinternalNodeColor textColorsphereLview/jogl/Sphere; NODE_RADIUSdrawLblZnodeLtreevisualiser/model/Node;(Ljavax/media/opengl/GL;)VCodeLineNumberTableLocalVariableTablethisLview/jogl/NodeView;glLjavax/media/opengl/GL; drawRootNode5(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;)VrootdrawNode9(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;[FIZ)Vncol curLayoutModeI haveFitchlocation startAnglerot toggleLbl()VdrawNodeOutline6(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;I)VwhsetWidth(F)Vwidth drawNodeLabel9(FLjavax/media/opengl/GL;FFLtreevisualiser/model/Node;Z)VcCidxirotationheight mapLeavesglutLcom/sun/opengl/util/GLUT;nameLjava/lang/String;hNarrowhWidehStd tempString drawToolTip6(FLjavax/media/opengl/GL;Ltreevisualiser/model/Node;)VdxzoomdrawInternalNodeBall([FLjavax/media/opengl/GL;)V calcRotYAngle (Ltreevisualiser/model/Node;FF)F treeRotAngleoffset numeratorD denominatorposition setLblHeight(I)V maxLengthLbl addedLength getLblHeight()F getLblWidthscaleamtgetNode()Ltreevisualiser/model/Node; SourceFile NodeView.java f} [\ ]\ ^\ aT bc _`view/jogl/Spherejavax/media/opengl/glu/GLU f de   } g } WT XT } com/sun/opengl/util/GLUT   ZT     YT     view/jogl/NodeViewjava/lang/Object7(Ljavax/media/opengl/GL;Ljavax/media/opengl/glu/GLU;F)Vtreevisualiser/model/NodesetColor([F)Vjavax/media/opengl/GL glColor3fv([FI)V glPushMatrix getPosition()[F glTranslatef(FFF)Vdraw glPopMatrix glPolygonMode(II)VgetAngleNumerator()DgetAngleDenominator glRotatef(FFFF)V glColor4fv glColor4fglBegin glNormal3f glVertex3fglEnd glLineWidthgetName()Ljava/lang/String;glEnablejava/lang/Stringlength()IcharAt(I)Cview/jogl/RenderergetCurLayoutModeglScalef glRotated(DDDD)VglutStrokeCharacter(IC)V glRasterPos3f!QR STUV WT XT YT ZT[\]\^\_`aTUbcdefght**Y QY QY Q*Y QY QY Q*Y QY QY QY Q**** Y+ Y  * *i. ** A$G&L+S,h-m.s/jtkltmnophI,*+*++,0 n,0,0 n*++*, i"789:5;=<C=H>j IklImnIqersh ,:*, +,,ok8++0 n00 n 8 8 8+vb +- + + !x+ "+# n0$f$%+ "+# n0 %+ "+#v n0 %+ "+#v n0$f$%a+ "+# n $%+ "+# n %+ "+#v n %+ "+#v n $%+&**+#$,'+i&KO QR'U-WCXFZK[Q\W][`jboczeghijklmnopstu(v5w>xLyUze|k~rj\ klmnteu\vwxcy\'bzTFC{T|}h?**i j kl~hE],:#8$8,,ok8++0 n00 n+vb +()* ++,+!|+ "+ n-b0f%+ "+ n-b0 %+ "+v n-f0 %+ "+v n-f0f%g+ "+ nb %+ "+ nb %+ "+v nf %+ "+v nf %+&+ ,+i~  &<KX`glu/8IOV\jR]kl]mn]te]vwWy\ RTMT =zTh=##i jklTh , ,*.Y/:0:8 , 1,2,34j8 54j8 64j8 0: 6 7>, 866 7X 86il .   b8 0mMw W   b8   b8 9,#:b ,%v;n<= :nb,>>>?,@B ,CB , 1, 1, ,Eil .   b8 0mMw W   b8   b8 ,i)&-1:BJRZant} $0 9 B IQfpj}&"wdEwklTmnTTtec&-}1yT J`T RXT ZPT aI h ,+ .Y/N,0:"  C"FFC 8+ 1+ ,+67m86++ +G"jG"jG"j?+HB +,0 ,0J-E+K"kc8+if!"$&'"($)+*.,1-:.A/G0T3]4c5m6789;=0@CjR][Jtw1TTmnteh3,*,,+0 n+0+0 n*,,iF GH$I,J2Kj 3kl3y\3mnh +9+9ok%c8$fiOP RTjH kl te T T Thd EX EMj$b$iZ[ \ ^_j klwT h$ib h#ij he'" ##"j#$"j$>"j>4"j4inpqrs&uj 'Th/* i|j kl}h9N#F$O>P4i PK h&:6>MeMeview/jogl/Renderer.class1y  u 1v 1w 1x 1y 1z 1{ 1| 1} 1~ 1 1 1 1 1 u 1 1 1 1 1| 1 1 1 1 u 1 1 1 1 1 1  1 ' 1 ' + 1 . 1 1u 1 4u 1 1 8u 1 1 1 = 1 1 1  4   G  Ju J +     Ru 1 1 . 1 1 Yu ?zH   @D Y@.@> 1   1C 4   1 4 1 +  1  1 1 1   1 1 1 1  1 1  1      1 u       1  1 >? ?1   1@#33?ff    ?  > u 1   1   1           1 1     !" # $% Y& ' 1( ) * + ,?333333 - ./ 0 11   12Ap G3 14~56 17 89 : ; < = >?@ A >B GC GD GE  F? GG +HB +I 4J GK L MN O +P Q GR GS .T .U GV .W X  YA Z [ =\ ]^ _ 1`@F?@y Ya>?L bc c bd be 1f gc gd h ijkl "m in "opqr 'ms +u +tu vwxy z {| }~ {  1 1 1 1 1 1 1 1 + 1 1 b G D D D D    CprevYIprevXtransYFtransZtransX prevTransZ prevTransY prevTransXmyTreeLtreevisualiser/model/Tree; resetTreeZ topDownViewRADIAL ConstantValueCONE curLayoutMode ROT_ANGLElongestleafMappedToProperty drawingArcs mappedArcsmappedlfArcsLview/jogl/Arcs; pickingMapLjava/util/Map; Signature?Ljava/util/Map;propNameLjava/lang/String;edgeTyperesetEdgeColorSetARC_PROPERTY_MAPPINGgenColorcolors[[FstartCol[FendCol leafColorrLjava/util/Random; genArcColornodeViewLview/jogl/NodeView;edgeViewLview/jogl/EdgeView;nodelistLview/jogl/NodeListView;inViewLjava/util/ArrayList;2Ljava/util/ArrayList;inViewNegative fitchInfoViewLview/jogl/FitchInfoBox;legendLview/swing/JLegend; arcLegendpropsLview/swing/JPropertyPanel; arcLegendSPLjavax/swing/JScrollPane; taxonLegendSPtoolsLjavax/swing/JSplitPane;frameLjavax/swing/JFrame;prevNodeLtreevisualiser/model/Node; pickedNodeIDmodemouseLjava/awt/event/MouseEvent;specialEffectsLview/jogl/SpecialEffects;glLjavax/media/opengl/GL; theAnimatorLcom/sun/opengl/util/Animator;glCanvasLjavax/media/opengl/GLCanvas; windowWidth windowHeightfc&Ltreevisualiser/model/FitchCalculator; fitchPropertyfitchCalculated mapLeaves()VCodeLineNumberTableLocalVariableTablethisLview/jogl/Renderer;init&(Ljavax/media/opengl/GLAutoDrawable;)Vni$Ljava/util/Iterator;gld#Ljavax/media/opengl/GLAutoDrawable;textglutLcom/sun/opengl/util/GLUT;widthdisplaydepthgluLjavax/media/opengl/glu/GLU;root resetTheTree mapTheLeaves mapTheArcsetTree(Ltreevisualiser/model/Tree;I)V phyloTreelayoutgetTree()Ltreevisualiser/model/Tree; setProperty(Ljava/lang/String;)Vpo[Ljava/lang/Object;setArcPropertys setLayout(I)VcalculateFitchpropertydata[Ljava/lang/String; drawArrowinitArcMapLegendarcPropertyMappingvalssizeLjava/awt/Dimension;initTaxonLegendprocessPicking()Ltreevisualiser/model/Node; pointDepthLjava/nio/FloatBuffer;viewport[Imvmatrix[D projmatrixrealywcoordxyaddTools(Ljavax/swing/JSplitPane;)VrefreshsetFrame(Ljavax/swing/JFrame;)V setGLCanvas (Ljavax/media/opengl/GLCanvas;)V getGLCanvas()Ljavax/media/opengl/GLCanvas; processTree6(Ltreevisualiser/model/Node;Ljavax/media/opengl/GL;I)Vclrslblse*Ljava/lang/ArrayIndexOutOfBoundsException;firstLjava/lang/Object;childarr$len$idxcoliLjava/lang/Integer;valuesfnodecfValLjava/lang/Float;cyAngle numLeaves shownAnglefminfmaximinimax renderEdges5(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;)Vlocationnode drawOuterArcs-(Ljavax/media/opengl/GL;Ljava/lang/String;Z)V arcPropName doDrawingleaveszoomLocalVariableTypeTablesetUpTaxonLegendgetCurLayoutMode()I stripNullVals(([Ljava/lang/Object;)[Ljava/lang/Object;countnonullsgenerateColor4f()[FredgreenbluegenerateColorSet(I)[[FcurCollength getLfArcs()Lview/jogl/Arcs;reshape*(Ljavax/media/opengl/GLAutoDrawable;IIII)VheightgetWindowHeightgetWindowWidthgetGL()Ljavax/media/opengl/GL;rightleftupdown rotateLeft rotateRightforwardback toggleLegendsdtoggleNodeListscreenFullShotimageLjava/awt/image/BufferedImage;exLjava/awt/AWTException;Ljava/io/IOException;robotLjava/awt/Robot;rectLjava/awt/Rectangle;calLjava/util/Calendar;sdfLjava/text/SimpleDateFormat;fileLjava/io/File;screenTreeShot keyPressed(Ljava/awt/event/KeyEvent;)VtempXtempYtempZLjava/awt/event/KeyEvent; mouseClicked(Ljava/awt/event/MouseEvent;)VdlgLview/swing/JNodeInfoDialog; mouseReleasedmouseWheelMoved#(Ljava/awt/event/MouseWheelEvent;)Vnotches Ljava/awt/event/MouseWheelEvent; mouseDragged mouseMoved mousePressed mouseEntered mouseExited keyReleasedkeyTypeddisplayChanged((Ljavax/media/opengl/GLAutoDrawable;ZZ)V modeChanged deviceChanged SourceFile Renderer.java  TU VU WX YX ZX [X \X ]X `a ba ka la ma naview/jogl/Arcs op uv wU xa za {| }~ ~ ~java/util/Random  a U U a a :; com/sun/opengl/util/Animator   view/jogl/NodeView  view/jogl/EdgeView view/jogl/NodeListView java/util/ArrayList  java/util/HashMap qr  view/swing/JPropertyPanel   jU ^_    treevisualiser/model/Node  2%com/sun/opengl/util/GLUT      view/jogl/SpecialEffects  D a yv javax/media/opengl/glu/GLU      `   iX        a      % %  U   %    hU!treevisualiser/model/RadialLayout treevisualiser/model/ConeLayout  $treevisualiser/model/FitchCalculator  java/lang/Stringjava/lang/StringBuilder Total cost =  %  Consistency Index = view/jogl/FitchInfoBox       % $%    view/swing/JLegend       /0   java/awt/Dimension       %             %     U   #java/lang/Floatjava/lang/Integer &'     % !" #0(java/lang/ArrayIndexOutOfBoundsException $% % & ' () *+ ,- ./ 01 2+ 3U 456 78 9 :; < = > ?1 @A B+ C DE F GH IJ K Ljava/lang/Object M *+ NOP Q% R% Sjava/awt/RectangleT UV WXjava/text/SimpleDateFormatHH-mm-ss  YZ [\ java/io/File trees\radie.pngjava/awt/Robot ]^png_ `ajava/awt/AWTExceptionview/jogl/Rendererbc def gh ijjava/io/IOExceptionk l% = < B C > ? @ A m G W view/swing/JNodeInfoDialog no p q rs tau v% wa xa"javax/media/opengl/GLEventListenerjava/awt/event/KeyListenerjava/awt/event/MouseListener"java/awt/event/MouseMotionListener!java/awt/event/MouseWheelListener!javax/media/opengl/GLAutoDrawablestart(Ljavax/media/opengl/GL;)V(Lview/jogl/Renderer;)Vtreevisualiser/model/Tree getLeaves()Ljava/util/ArrayList;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;getName()Ljava/lang/String;glutStrokeLength(ILjava/lang/String;)I setLblHeightjavax/media/opengl/GLglEnable glCullFace glBlendFunc(II)VglHintCONSINDglClear glClearColor(FFFF)V glMatrixModeglLoadIdentity gluLookAt (DDDDDDDDD)VgetRoot glTranslatef(FFF)Vclear glPushMatrix glRotatefaddAll(Ljava/util/Collection;)Z drawRootNodeview/jogl/LeafArc RENDER_TEXT glPopMatrixjava/awt/event/MouseEventgetXgetY isVisibledrawNodesListTextColor1(Ljavax/media/opengl/GL;Ljava/util/ArrayList;FZ)VdrawBackgroundgetDepthdraw(Ltreevisualiser/model/Tree;)VgetLeafPropertyValues'(Ljava/lang/String;)[Ljava/lang/Object;setNumProperties0(Ljava/lang/String;Ltreevisualiser/model/Tree;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getTotalCost(I)Ljava/lang/StringBuilder;toStringgetConsistencyIndexString([Ljava/lang/String;)Vjavax/swing/JSplitPane setVisible(Z)Vjavax/swing/JFramepack glColor4f getNumLeaves glLineWidth(F)VglBegin glVertex3fglEndsetTypeaddInToScrollPane()Ljavax/swing/JScrollPane;setBottomComponent(Ljava/awt/Component;)VsetTitle setColors([[F)V getColors()[[FsetLblssetPreferredSize(Ljava/awt/Dimension;)Vjavax/swing/JScrollPaneupdateUIsetTopComponent getButton glGetIntegerv(I[II)V glGetDoublev(I[DI)Vcom/sun/opengl/util/BufferUtilnewFloatBuffer(I)Ljava/nio/FloatBuffer; glReadPixels(IIIIIILjava/nio/Buffer;)Vjava/nio/FloatBufferget(I)F gluUnProject(DDD[DI[DI[II[DI)Z leafClicked(FF)Ltreevisualiser/model/Node;setOrientationsetOneTouchExpandablegetDividerLocationsetDividerLocationsetResizeWeight(D)Vjava/awt/ColorwhiteLjava/awt/Color; setBackground(Ljava/awt/Color;)VhasPropertiesMappedjava/util/Arrayssort([Ljava/lang/Object;)V floatValue()F(F)Ljava/lang/String;intValue(I)Ljava/lang/String;!treevisualiser/model/ColorPalette getPalette getLegendTypegetBinaryPalette getChildrenisLeaf getProperty&(Ljava/lang/String;)Ljava/lang/Object;equals(Ljava/lang/Object;)ZsetColor([F)V calcRotYAngle (Ltreevisualiser/model/Node;FF)FdrawNodeOutline6(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;I)VaddidvalueOf(I)Ljava/lang/Integer; java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; glPushNamedrawNode9(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;[FIZ)V glPopNamegenerateEdgeLineColorSetisRoot drawEdgesdrawFitchEdgesL(Ljavax/media/opengl/GL;Ltreevisualiser/model/Node;I[[F[Ljava/lang/String;)V getPositiondrawArcgetPreferredSize()Ljava/awt/Dimension;isColorReferenceddrawArcsU(Ljavax/media/opengl/GL;Ljava/util/ArrayList;[Ljava/lang/String;Ljava/lang/String;F)VgetPropertiesLbls()[Ljava/lang/String;setPropertyListsetMaximumSize nextFloatgluPerspective(DDDD)Vjavax/media/opengl/GLCanvasgetWidth getHeightsetSize view/AppFrame(IIII)Vjava/util/Calendar getInstance()Ljava/util/Calendar;getTime()Ljava/util/Date;format$(Ljava/util/Date;)Ljava/lang/String;createScreenCapture4(Ljava/awt/Rectangle;)Ljava/awt/image/BufferedImage;javax/imageio/ImageIOwriteA(Ljava/awt/image/RenderedImage;Ljava/lang/String;Ljava/io/File;)Zjava/lang/Classjava/util/logging/Logger getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vjava/awt/event/KeyEvent getKeyCode toggleLblgetPropertyMap(()Ltreevisualiser/model/NodePropertyMap;>(Ljavax/swing/JFrame;ZLtreevisualiser/model/NodePropertyMap;)V setFocusablehasFocusview/swing/JTreeToolBarZOOMINGjava/awt/event/MouseWheelEventgetWheelRotationPANROTATE!1 OPQRS=TUVUWXYXZX[X\X]X^_`abacUdefUdg hU iXjUkalamanaopqrstuvwUxa yvza{|}~~~assUUUUvaa=**** ** **** ** * * * ****Y******Y QY QY QY Q*Y QY QY QY Q*Y QY QY Q*Y* *!*"*#*$zGJ KLMNO&P.Q6U;V@^E_J`OaTb_edfignlsm{opqrs ;Y*+%&*'Y+()*)**+Y*&,-*.Y*&/0*1Y23*4Y56*4Y57*8Y9:*;*<*=Y*>?*@AM*BCDN-E4-FG:HI*@*HIh@HMɻJYKN-,L8*-M*& DN*&O*& N*& qN*& N*& N*&P*& RQ*RYST*U ,;FQ\gko{+:ITXH#:YYvX`*+Y*&,-*.Y*&/0*1Y23*4Y56*4Y57*8Y9:* V*W*$****;*<*X*=Y*>?*@AL*BCDM,E0,FGN-HI*@*-HIh@-HLͻJYKM,+LF*-%Mr)4?JOSX\afkptx|> 6[v X*+%&YYZM*&A[*&\\\ ]*&^*&_* ,`bd,egd* *i* *BjN*&***klm lmfll lmbl*6n*7n*&o*&p k*&l q*-*&r*6*7sW**!**&-t*-*&-u*)W#*&o**&Wvw*&x**yz*{**{|**{}*&x*3~5*3*&*6**$*3*&*B6*V**&. .:CJ^o#v$z%),/03478;<=?B DEGJ)L6M?NMOVR^TeUpV{Y[\]^_bcf4UK4*  mn 4*$ uv 4* }~ q*+B*W4(Y*BWY*BW*%*B**Y**B2  ,8;GN]p qq_qU/*B B*+* *B*M,2%*B**Y**B .A BBv,F +W*   v<6*Y*BWY*BW ,/;<<Un*#*Y+*BYY*SYY*SM*Y,**R^fm nnvR*& *&o*B+*&  k*&p jk(*&  k*&p jk*& *&*& *& *& *& *&*& *&*& *& *& *& *&*&xf&-:NUbs} Ud**Y***** ) ***+*B+M**,* ***,Y,hN*-******ı:,1? G!W"_#m${%&'*vlW4X"*Y**Ŷ**ƶDZ- ./!0 " YYZLM*{ N::6:*{|6*{}6 *{ȫ*& -*& *& -. d6: *& + ͍-W*B11M*z **z,V9: <?@A!B$C)D;FTIbJqKMOPQW\]`p F !$U)2U;U  ;*+++++Ӷ+ն+ض+Y*xd۱"hi jklm%o:p;;J*Ŷ**wxyz >*+ >*+ݱ /*ݰ w*B6nmj8 8 866 * +ߙ*B*:  2: * >**^Y*SY*S: * * 2  * M* :   28  d28:  S S*    26  d26 :   S S* { s*R* *0: ** **Ŷ  ****** +D:  E FG: * ,r+*: * +ߚ *: y**G*B*: +* 2 *2: +* 2 *2: %**B*2 *B*: 6  :  66& 2:+* * 2: +*"YQYQYQY Q:  :  D+*:  6   nf8 Y QY QY  fQY Q:: A+*:  8  ffn8 Y QY QY  fQY Q:: + *-+l 8   nf2  nb%*3~*-,+*6+WK*-+lm8   nf/  nb"*3~*-,+*7+W*$+*Y!`Z!*:++W ,+,o*-,+ *$,x ,M_bp  .;AELT[ou  )2;>FMW_bdow !3;MUt     59<IP]vz %)+,.0234 6<=(>:AABKFQGcHiJpKvNj$o|    d+ ;{ Au  ! !4 v2 -U*UH EU ~ 1  * U  X 5 ~I1 P* X ] X v ~~ X wwwwU nUcX`X]XZU WU 5*,, ,dV*0+,*"*0+,**B*,(,N+o+ -0 k*0+,+x,DN-E-FG:*+t>WX \^_/aNdUeZf`gkhtizmnq>Z ~Z*BC:*BW:* ;*** *******§ * 8* *pjn8*+,F{ |~"05CLZdowzHva  z(!X"   #I***?*B  *ŻYx **** ,:H I $%&'E=>++2 N66++2-+2S-6  !+2:=CH U$ UEEC(U')!$U*+0* D* E* FY#QY$QY%QY Q:-40(,X -X.X-~/0@M>3*:,20Q,20Q,20Q,20Q,& &/8>4$1~ 5 U@@2U9|34/* 56 R***ŶܻYYZ:*+%&*&^*&_n&  &2;QHRRRURURUR7U68%/*ڬ 9%/* :;/*&  <; *Yb    =; *Yf    >W!* *Yb*Yf  !?W!* *Yf*Yb " !@9 lbl % &  A9 lfl ) *  BW!* *Yb*Yb-.0 2 !CW!* *Yf*Yf568 : !D****3Y*ݶ*`*ݶL*+*0Y*ݶ*d*ݶL*+*. >?A'BECMDTEWFuG}HJ EEuEFE*3*3~ MN G`Y M!N"Y#$:-%&W'YY(-%&)*:+Y,L+,-:./W.:12345:12345Uor0Uo6>Z[\ ]*^U`]adcoirdteighj\ d HItJKL]AMNOPQR ~STUIUVWmY*dd**(d M!N"Y#$:-%&W'YY(-%&)*:+Y,L+,-:./W.:12345:12345b|0b|6>tv!w-x7zb}j~q|\ q HIJKLjAMNOP!QR-~STbIUVXY+7At cm~*8*9*:*;*<*=*>*?**  *E*F*8** ** ***$ *% *I*-@?vv.*U'*3*3~*A*B( ,16<DLTY^dgnq41|ZX6w[X<q\X]^_>*+{*ݶC*z-*{&DY**zEFM,G,H,IW" .38= .`a>>b_>*{ cd=J9+K=h=>h *;>h *:.   )26<4 U+ U 1eU==fg_:+|=+}>*+{LH*d *9*d*8*d *=L*dA*<:M4*6 *?6 *>R   ' 2 6AHSZ`hqu~>k U UU Uh_5"i_5(j_5+k_5-lY50]mY52]noI5*paqar/NlWYZ istPK h&:VCview/jogl/SpecialEffects.class1U 34 3 5L= 68? 69 6:@ 6;>? ?1 6<;o 6=; 6> ? 6@AB()VCodeLineNumberTableLocalVariableTablethisLview/jogl/SpecialEffects;drawBoxShadow2D(Ljavax/media/opengl/GL;FFFF)VglLjavax/media/opengl/GL;xMinFxMaxyMinyMaxgluLjavax/media/opengl/glu/GLU;qobj#Ljavax/media/opengl/glu/GLUquadric; thickness drawBoxStroke SourceFileSpecialEffects.java javax/media/opengl/glu/GLU CDE FG HI JK L MN O PK QK RS Tview/jogl/SpecialEffectsjava/lang/Object gluNewQuadric%()Ljavax/media/opengl/glu/GLUquadric;javax/media/opengl/GLglBegin(I)V glColor4f(FFFF)V glVertex3f(FFF)VglEnd glLineWidth(F)V glPushMatrix glTranslatefglScalefgluDisk*(Ljavax/media/opengl/glu/GLUquadric;DDII)V glPopMatrix!/*  !"# ڻY::8+ + +$ jbf +% jbf + +% +$ + + + +% +% + +% jbf +% jbf + R #%*'=(P*],g-q/w13568:;=?\ !$%&'(')'*' +,-./'0# #Y::+ + ++$ +$ +% +% + ++$b +  +++%f +  +++$b +  +++%f +  +~F IKL%O,P6Q@RJSTTZW`XmYyZ[\]^_`abcdefghij"kR# !#$%#&'#('#)'#*' +,-.12PK h&:}view/jogl/Sphere.class1T , -. /0 1 /2 3 4 -5 6 -7 /8 /9 -: -; -< -=>? myQuadric#Ljavax/media/opengl/glu/GLUquadric; displayListIDIradiusF7(Ljavax/media/opengl/GL;Ljavax/media/opengl/glu/GLU;F)VCodeLineNumberTableLocalVariableTablethisLview/jogl/Sphere;glLjavax/media/opengl/GL;gluLjavax/media/opengl/glu/GLU;createDisplayList6(Ljavax/media/opengl/GL;Ljavax/media/opengl/glu/GLU;)Vdraw(Ljavax/media/opengl/GL;)V SourceFile Sphere.java @A BCD EF  GH  &' IJ  KL MH NO P@ Q@ RC S@view/jogl/Spherejava/lang/Object()Vjavax/media/opengl/GL glShadeModel(I)Vjavax/media/opengl/glu/GLU gluNewQuadric%()Ljavax/media/opengl/glu/GLUquadric;gluQuadricNormals'(Ljavax/media/opengl/glu/GLUquadric;I)V glGenLists(I)I glNewList(II)VgluQuadricDrawStyle gluSphere)(Ljavax/media/opengl/glu/GLUquadric;DII)V glEndList glPushMatrix glCallList glPopMatrix!+*+*,,**%*+, $**+ !+"#+$%+&'8+  +  ,* ,**22+! "# $1%7& 8 !8"#8$%()V++ +,-.0 !"#*+PK h&:3, view/jogl/Square.class1 Y Z [ \ ] ^_ ` a b cd ce f cgh i jkm p jq jd jg jr crst uvwxPosIyPoswidthheightcolorLjava/awt/Color;([F)VCodeLineNumberTableLocalVariableTablethisLview/jogl/Square;glRGBA[FsetColorsetX(I)VgetX()IsetYgetYgetWidth getHeight paintSquare(Ljava/awt/Graphics;)VgLjava/awt/Graphics;'(Ljava/awt/Graphics;ILjava/awt/Color;)VycpaintRectangle\(Ljava/awt/Graphics2D;Ljava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)Vg2Ljava/awt/Graphics2D;c1c2maxLjava/lang/String;mincolRangeLjava/awt/GradientPaint;paintBinaryPropertyZ(Ljava/awt/Graphics;Ljava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)Vval1val2paintClassProperties,(Ljava/awt/Graphics;[[F[Ljava/lang/Object;)VtextcolmyColicolors[[Fvalues[Ljava/lang/Object; SourceFile Square.java %x   ! " .&java/awt/Color %y #$ %z{ .| }~ $ ~java/awt/GradientPaint %  java/awt/geom/Rectangle2D$DoubleDouble InnerClasses % java/lang/String 7;view/jogl/Squarejava/lang/Object()V(FFFF)V(FFF)Vjava/awt/Graphics(Ljava/awt/Color;)VfillRect(IIII)VBLACKdrawRect'(FFLjava/awt/Color;FFLjava/awt/Color;)Vjava/awt/Graphics2DsetPaint(Ljava/awt/Paint;)Vjava/awt/geom/Rectangle2D(DDDD)Vfill(Ljava/awt/Shape;)V drawString(Ljava/lang/String;II)V! !"#$ %&'n"** ****+( !)"*+",-.&'u5+*Y+0+0+0+0 *Y+0+0+0 ( "4#)5*+5,-/0'>*( &')*+12'/*(*) *+30'>*( ./)*+ 42'/*(2) *+52'/*(6) *+62'/*(:) *+78'|8+* +**** + +****(>?@#A7B)8*+89:7;'/+- +*** + +***(FGHI.J)*/*+/9:/</=$>?'/ Y**l`*,**l`**h`-:++Y****h+ +****h+**``* `+**``**h`("N4O:P[QbRxTUW)H*+@AB$C$DEFE4yGHIJ':+, +**** + +****+**``**l`+- +***``** + +***``**+**``**l`*``(. [\] ^4_PbUcpdwefg)>*+9:B$C$KELEMN' r*66,d:-2 -2:+ +**```,2:Y000 :*+(6 kmoqs'w.xDzJ{_}hkmq)\ WOEJ!P-_ Q$ hRr*+r9:rSTrUVl<WXo ln PK h&:?n4view/newick/JWTest.nex#NEXUS begin trees; tree thetree = (((Taci,Tvol),(Nequ,(Paer,(Aper,(Stok,Ssol))))),((Paby,Phor),((Mkan,(Mthe,Mjan)),(Aful,(Halo,(Mace,Mmaz)))))); end; BEGIN LEAF_PROPERTIES; dimensions nProperties = 4; proplabels [1] phylum [2] GC_content [3] oxygen_req [4] habitat ; Taci ("Euryarchaeota",46.0,"Facultative","Specialized") Tvol ("Euryarchaeota",39.9,"Facultative","Specialized") Nequ ("Nanoarchaeota",null,"Anaerobic","Host-associated") Paer ("Crenarchaeota",51.4,"Facultative","Aquatic") Aper ("Crenarchaeota",56.3,"Aerobic","Specialized") Stok ("Crenarchaeota",32.8,"Aerobic","Specialized") Ssol ("Crenarchaeota",35.8,"Aerobic","Specialized") Paby ("Euryarchaeota",44.7,"Anaerobic","Aquatic") Phor ("Euryarchaeota",41.9,"Anaerobic","Aquatic") Mkan ("Euryarchaeota",61.2,"Anaerobic","Specialized") Mthe ("Euryarchaeota",67.0,"Anaerobic","Specialized") Mjan ("Euryarchaeota",31.3,"Anaerobic","Aquatic") Aful ("Euryarchaeota",48.6,"Anaerobic","Aquatic") Halo ("Euryarchaeota",65.9,"Facultative","Specialized") Mace ("Euryarchaeota",42.7,"Anaerobic","Aquatic") Mmaz ("Euryarchaeota",41.5,"Anaerobic","Multiple") END LEAF_PROPERTIES;PK h&:7kview/newick/RobTest1.nex#NEXUS begin trees; tree thetree = (((Taci,Tvol),(Nequ,(Paer,(Aper,(Stok,Ssol))))),((Paby,Phor),((Mkan,(Mthe,Mjan)),(Aful,(Halo,(Mace,Mmaz)))))); end; BEGIN LEAF_PROPERTIES; dimensions nProperties = 4; proplabels [1] phylum [2] GC_content [3] oxygen_req [4] habitat ; Taci ("Euryarchaeota",46.0,"Facultative","Specialized") Tvol ("Euryarchaeota",39.9,"Facultative","Specialized") Nequ ("Nanoarchaeota",31.6,"Anaerobic","Host-associated") Paer ("Crenarchaeota",51.4,"Facultative","Aquatic") Aper ("Crenarchaeota",56.3,"Aerobic","Specialized") Stok ("Crenarchaeota",32.8,"Aerobic","Specialized") Ssol ("Crenarchaeota",35.8,"Aerobic","Specialized") Paby ("Euryarchaeota",44.7,"Anaerobic","Aquatic") Phor ("Euryarchaeota",41.9,"Anaerobic","Aquatic") Mkan ("Euryarchaeota",61.2,"Anaerobic","Specialized") Mthe ("Euryarchaeota",67.0,"Anaerobic","Specialized") Mjan ("Euryarchaeota",31.3,"Anaerobic","Aquatic") Aful ("Euryarchaeota",48.6,"Anaerobic","Aquatic") Halo ("Euryarchaeota",65.9,"Facultative","Specialized") Mace ("Euryarchaeota",42.7,"Anaerobic","Aquatic") Mmaz ("Euryarchaeota",41.5,"Anaerobic","Multiple") END LEAF_PROPERTIES;PK h&:M; (&(&view/newick/nexus8.txt#Nexus begin trees; tree MRP = ((((T.acidophilum,T.volcanium),(N.equitans,(P.aerophilum,(A.pernix,(S.tokodaii,S.solfataricus))))),((P.abyssi,P.horikoshii),((M.kandleri,(M.thermoautotrophicum,M.jannaschii)),(A.fulgidus,(Halobacterium_sp,(M.acetivorans,M.mazei)))))),((A.aeolicus,T.maritima),(((F.nucleatum,(T.tencongensis,(C.perfringens,C.tetani))),(M.genitalium,(B.subtilis,(S.aureus,(L.monocytogenes,S.pneumoniae))))),(((T.pallidum,L.interrogans),(C.tepidum,(B.thetaiotaomicron,P.gingivalis))),((G.violaceus,(T.elongatus,P.marinus)),(((H.pylori,C.jejuni),((R.prowazekii,(B.suis,A.tumefaciens)),((N.meningitidis,(R.solanacearum,B.pertussis)),(X.campestris,(P.aeruginosa,(V.cholerae,(H.influenzae,(W.brevipalpis,(Y.pestis,(S.typhimurium,E.coli)))))))))),((R.baltica,C.trachomatis),(D.radiodurans,(B.longum,(S.avermitilis,(C.diphtheriae,M.tuberculosis))))))))))); end; BEGIN LEAF_PROPERTIES; dimensions nProperties = 10; proplabels [1] domain1 [2] domain2 [3] phylum [4] fullname [5] GC_content [6] temp_range [7] optimal_temp [8] pathogen_is [9] oxygen_req [10] habitat ; T.acidophilum ("Archaea","Archaea","Euryarchaeota","Thermoplasma acidophilum DSM 1728","46","Thermophilic","59","No","Facultative","Specialized") T.volcanium ("Archaea","Archaea","Euryarchaeota","Thermoplasma volcanium GSS1","39.9","Thermophilic","60","No","Facultative","Specialized") N.equitans ("Archaea","Archaea","Nanoarchaeota","Nanoarchaeum equitans Kin4-M","31.6","Hyperthermophilic","NULL","No","Anaerobic","Host-associated") P.aerophilum ("Archaea","Archaea","Crenarchaeota","Pyrobaculum aerophilum str. IM2","51.4","Hyperthermophilic","100","No","Facultative","Aquatic") A.pernix ("Archaea","Archaea","Crenarchaeota","Aeropyrum pernix K1","56.3","Hyperthermophilic","92","No","Aerobic","Specialized") S.tokodaii ("Archaea","Archaea","Crenarchaeota","Sulfolobus tokodaii str. 7","32.8","Hyperthermophilic","80","No","Aerobic","Specialized") S.solfataricus ("Archaea","Archaea","Crenarchaeota","Sulfolobus solfataricus P2","35.8","Hyperthermophilic","85","No","Aerobic","Specialized") P.abyssi ("Archaea","Archaea","Euryarchaeota","Pyrococcus abyssi GE5","44.7","Hyperthermophilic","103","No","Anaerobic","Aquatic") P.horikoshii ("Archaea","Archaea","Euryarchaeota","Pyrococcus horikoshii OT3","41.9","Hyperthermophilic","98","No","Anaerobic","Aquatic") M.kandleri ("Archaea","Archaea","Euryarchaeota","Methanopyrus kandleri AV19","61.2","Hyperthermophilic","98","No","Anaerobic","Specialized") M.thermoautotrophicum ("Archaea","Archaea","Euryarchaeota","Methanothermobacter thermautotrophicus str. Delta H","49.5","Thermophilic","67","No","Anaerobic","Specialized") M.jannaschii ("Archaea","Archaea","Euryarchaeota","Methanocaldococcus jannaschii DSM 2661","31.3","Hyperthermophilic","85","No","Anaerobic","Aquatic") A.fulgidus ("Archaea","Archaea","Euryarchaeota","Archaeoglobus fulgidus DSM 4304","48.6","Hyperthermophilic","83","No","Anaerobic","Aquatic") Halobacterium_sp ("Archaea","Archaea","Euryarchaeota","Halobacterium sp. NRC-1","65.9","Mesophilic","42","No","Facultative","Specialized") M.acetivorans ("Archaea","Archaea","Euryarchaeota","Methanosarcina acetivorans C2A","42.7","Mesophilic","37","No","Anaerobic","Aquatic") M.mazei ("Archaea","Archaea","Euryarchaeota","Methanosarcina mazei Go1","41.5","Mesophilic","35","No","Anaerobic","Multiple") A.aeolicus ("Bacteria","Bacteria","Aquificae","Aquifex aeolicus VF5","43.3","Hyperthermophilic","96","No","Aerobic","Specialized") T.maritima ("Bacteria","Bacteria","Thermotogae","Thermotoga maritima MSB8","46.2","Hyperthermophilic","80","No","Anaerobic","Specialized") F.nucleatum ("Bacteria","Bacteria","Fusobacteria","Fusobacterium nucleatum subsp. nucleatum ATCC 25586","27.2","Mesophilic","37","Human/Animal","Anaerobic","Host-associated") T.tencongensis ("Bacteria","Bacteria","Firmicutes","Thermoanaerobacter tengcongensis MB4","37.6","Hyperthermophilic","75","No","Anaerobic","Specialized") C.perfringens ("Bacteria","Bacteria","Firmicutes","Clostridium perfringens NCTC 8239","28.7","Mesophilic","37","Human/Animal","Anaerobic","Multiple") C.tetani ("Bacteria","Bacteria","Firmicutes","Clostridium tetani E88","28.6","Mesophilic","37","Human","Anaerobic","Multiple") M.genitalium ("Bacteria","Bacteria","Firmicutes","Mycoplasma genitalium G37","31.7","Mesophilic","37","Human/Animal/Insect","Facultative","Host-associated") B.subtilis ("Bacteria","Bacteria","Firmicutes","Bacillus subtilis subsp. subtilis str. 168","43.5","Mesophilic","30","No","Facultative","Terrestrial") S.aureus ("Bacteria","Bacteria","Firmicutes","Staphylococcus aureus subsp. aureus COL","32.8","Mesophilic","30-37","Human","Facultative","Host-associated") L.monocytogenes ("Bacteria","Bacteria","Firmicutes","Listeria monocytogenes EGD-e","38","Mesophilic","34","Human","Facultative","Multiple") S.pneumoniae ("Bacteria","Bacteria","Firmicutes","Streptococcus pneumoniae R6","39.7","Mesophilic","32","Human","Facultative","Multiple") T.pallidum ("Bacteria","Bacteria","Spirochaetes","Treponema pallidum subsp. pallidum str. Nichols","52.8","Mesophilic","NULL","Human","Anaerobic","Host-associated") L.interrogans ("Bacteria","Bacteria","Spirochaetes","Leptospira interrogans serovar Copenhageni str. Fiocruz L1-130","35","Mesophilic","29","Animal","Aerobic","Host-associated") C.tepidum ("Bacteria","Bacteria","Bacteroidetes/Chlorobi","Chlorobium tepidum TLS","56.5","Thermophilic","48","No","Anaerobic","Specialized") B.thetaiotaomicron ("Bacteria","Bacteria","Bacteroidetes/Chlorobi","Bacteroides thetaiotaomicron VPI-5482","42.9","Mesophilic","NULL","Mammal","Anaerobic","Host-associated") P.gingivalis ("Bacteria","Bacteria","Bacteroidetes/Chlorobi","Porphyromonas gingivalis W83","48.3","Mesophilic","37","Human","Anaerobic","Host-associated") G.violaceus ("Bacteria","Bacteria","Cyanobacteria","Gloeobacter violaceus PCC 7421","62","Mesophilic","NULL","No","Aerobic","Terrestrial") T.elongatus ("Bacteria","Bacteria","Cyanobacteria","Thermosynechococcus elongatus BP-1","53.9","Thermophilic","55","No","Aerobic","Specialized") P.marinus ("Bacteria","Bacteria","Cyanobacteria","Prochlorococcus marinus str. MIT 9313","50.7","Mesophilic","NULL","No","Aerobic","Aquatic") H.pylori ("Bacteria","Bacteria","Epsilonproteobacteria","Helicobacter pylori 26695","38.9","Mesophilic","37","Human","Aerobic","Host-associated") C.jejuni ("Bacteria","Bacteria","Epsilonproteobacteria","Campylobacter jejuni RM1221","30.3","Mesophilic","NULL","Human","Microaerophilic","Multiple") R.prowazekii ("Bacteria","Bacteria","Alphaproteobacteria","Rickettsia prowazekii RP22","NULL","Mesophilic","NULL","Human","Aerobic","Host-associated") B.suis ("Bacteria","Bacteria","Alphaproteobacteria","Brucella suis 1330","57.3","Mesophilic","37","Human/Animal","Aerobic","Host-associated") A.tumefaciens ("Bacteria","Bacteria","Alphaproteobacteria","Agrobacterium tumefaciens str. C58","59","Mesophilic","26","Plant","Aerobic","Multiple") N.meningitidis ("Bacteria","Bacteria","Betaproteobacteria","Neisseria meningitidis MC58","51.5","Mesophilic","36","Human","Aerobic","Host-associated") R.solanacearum ("Bacteria","Bacteria","Betaproteobacteria","Ralstonia solanacearum GMI1000","67","Mesophilic","NULL","Plant","Aerobic","Multiple") B.pertussis ("Bacteria","Bacteria","Betaproteobacteria","Bordetella pertussis Tohama I","67.7","Mesophilic","36","Human","Aerobic","Host-associated") X.campestris ("Bacteria","Bacteria","Gammaproteobacteria","Xanthomonas campestris pv. campestris str. 8004","65","Mesophilic","27","Plant","Aerobic","Host-associated") P.aeruginosa ("Bacteria","Bacteria","Gammaproteobacteria","Pseudomonas aeruginosa PAO1","66.6","Mesophilic","27","Human","Aerobic","Multiple") V.cholerae ("Bacteria","Bacteria","Gammaproteobacteria","Vibrio cholerae V51","47.5","Mesophilic","25","Human","Facultative","Aquatic") H.influenzae ("Bacteria","Bacteria","Gammaproteobacteria","Haemophilus influenzae Rd KW20","38.1","Mesophilic","36","Human","Facultative","Host-associated") W.brevipalpis ("Bacteria","Bacteria","Gammaproteobacteria","Wigglesworthia glossinidia endosymbiont of Glossina brevipalpis","22.5","Mesophilic","NULL","No","Aerobic","Host-associated") Y.pestis ("Bacteria","Bacteria","Gammaproteobacteria","Yersinia pestis CO92","47.6","Mesophilic","29","Human/Rodent","Facultative","Multiple") S.typhimurium ("Bacteria","Bacteria","Gammaproteobacteria","Salmonella typhimurium LT2","52.2","Mesophilic","37","Human","Facultative","Host-associated") E.coli ("Bacteria","Bacteria","Gammaproteobacteria","Escherichia coli str. K-12 substr. MG1655","50.8","Mesophilic","37","No","Facultative","Host-associated") R.baltica ("Bacteria","Bacteria","Planctomycetes","Rhodopirellula baltica SH 1","55.4","Mesophilic","28","No","Aerobic","Aquatic") C.trachomatis ("Bacteria","Bacteria","Chlamydiae/Verrucomicrobia","Chlamydia trachomatis D/UW-3/CX","41.3","Mesophilic","37","Human","Aerobic","Host-associated") D.radiodurans ("Bacteria","Bacteria","Deinococcus-Thermus","Deinococcus radiodurans R1","66.6","Mesophilic","34","No","Aerobic","Terrestrial") B.longum ("Bacteria","Bacteria","Actinobacteria","Bifidobacterium longum NCC2705","60.1","Mesophilic","39","No","Anaerobic","Host-associated") S.avermitilis ("Bacteria","Bacteria","Actinobacteria","Streptomyces avermitilis MA-4680","70.7","Mesophilic","30","No","Aerobic","Multiple") C.diphtheriae ("Bacteria","Bacteria","Actinobacteria","Corynebacterium diphtheriae NCTC 13129","53.5","Mesophilic","37","Human","Aerobic","Multiple") M.tuberculosis ("Bacteria","Bacteria","Actinobacteria","Mycobacterium tuberculosis H37Rv","65.6","Mesophilic","37","Human","Aerobic","Host-associated") END LEAF_PROPERTIES;PK h&:K %%view/newick/nexus9.txt#Nexus begin trees; tree MRP = ((((T.acidophilum,T.volcanium),(N.equitans,(P.aerophilum,(A.pernix,(S.tokodaii,S.solfataricus))))),((P.abyssi,P.horikoshii),((M.kandleri,(M.thermoautotrophicum,M.jannaschii)),(A.fulgidus,(Halobacterium_sp,(M.acetivorans,M.mazei)))))),((A.aeolicus,T.maritima),(((F.nucleatum,(T.tencongensis,(C.perfringens,C.tetani))),(M.genitalium,(B.subtilis,(S.aureus,(L.monocytogenes,S.pneumoniae))))),(((T.pallidum,L.interrogans),(C.tepidum,(B.thetaiotaomicron,P.gingivalis))),((G.violaceus,(T.elongatus,P.marinus)),(((H.pylori,C.jejuni),((R.prowazekii,(B.suis,A.tumefaciens)),((N.meningitidis,(R.solanacearum,B.pertussis)),(X.campestris,(P.aeruginosa,(V.cholerae,(H.influenzae,(W.brevipalpis,(Y.pestis,(S.typhimurium,E.coli)))))))))),((R.baltica,C.trachomatis),(D.radiodurans,(B.longum,(S.avermitilis,(C.diphtheriae,M.tuberculosis))))))))))); end; BEGIN LEAF_PROPERTIES; dimensions nProperties = 10; proplabels [1] domain1 [2] domain2 [3] phylum [4] fullname [5] GC_content [6] temp_range [7] optimal_temp [8] pathogen_is [9] oxygen_req [10] habitat ; T.acidophilum ("Archaea","Archaea","Euryarchaeota","Thermoplasma acidophilum DSM 1728",46.0,"Thermophilic","59","No","Facultative","Specialized") T.volcanium ("Archaea","Archaea","Euryarchaeota","Thermoplasma volcanium GSS1",39.9,"Thermophilic","60","No","Facultative","Specialized") N.equitans ("Archaea","Archaea","Nanoarchaeota","Nanoarchaeum equitans Kin4-M",31.6,"Hyperthermophilic","NULL","No","Anaerobic","Host-associated") P.aerophilum ("Archaea","Archaea","Crenarchaeota","Pyrobaculum aerophilum str. IM2",51.4,"Hyperthermophilic","100","No","Facultative","Aquatic") A.pernix ("Archaea","Archaea","Crenarchaeota","Aeropyrum pernix K1",56.3,"Hyperthermophilic","92","No","Aerobic","Specialized") S.tokodaii ("Archaea","Archaea","Crenarchaeota","Sulfolobus tokodaii str. 7",32.8,"Hyperthermophilic","80","No","Aerobic","Specialized") S.solfataricus ("Archaea","Archaea","Crenarchaeota","Sulfolobus solfataricus P2",35.8,"Hyperthermophilic","85","No","Aerobic","Specialized") P.abyssi ("Archaea","Archaea","Euryarchaeota","Pyrococcus abyssi GE5",44.7,"Hyperthermophilic","103","No","Anaerobic","Aquatic") P.horikoshii ("Archaea","Archaea","Euryarchaeota","Pyrococcus horikoshii OT3",41.9,"Hyperthermophilic","98","No","Anaerobic","Aquatic") M.kandleri ("Archaea","Archaea","Euryarchaeota","Methanopyrus kandleri AV19",61.2,"Hyperthermophilic","98","No","Anaerobic","Specialized") M.thermoautotrophicum ("Archaea","Archaea","Euryarchaeota","Methanothermobacter thermautotrophicus str. Delta H",49.5,"Thermophilic","67","No","Anaerobic","Specialized") M.jannaschii ("Archaea","Archaea","Euryarchaeota","Methanocaldococcus jannaschii DSM 2661",31.3,"Hyperthermophilic","85","No","Anaerobic","Aquatic") A.fulgidus ("Archaea","Archaea","Euryarchaeota","Archaeoglobus fulgidus DSM 4304",48.6,"Hyperthermophilic","83","No","Anaerobic","Aquatic") Halobacterium_sp ("Archaea","Archaea","Euryarchaeota","Halobacterium sp. NRC-1",65.9,"Mesophilic","42","No","Facultative","Specialized") M.acetivorans ("Archaea","Archaea","Euryarchaeota","Methanosarcina acetivorans C2A",42.7,"Mesophilic","37","No","Anaerobic","Aquatic") M.mazei ("Archaea","Archaea","Euryarchaeota","Methanosarcina mazei Go1",41.5,"Mesophilic","35","No","Anaerobic","Multiple") A.aeolicus ("Bacteria","Bacteria","Aquificae","Aquifex aeolicus VF5",43.3,"Hyperthermophilic","96","No","Aerobic","Specialized") T.maritima ("Bacteria","Bacteria","Thermotogae","Thermotoga maritima MSB8",46.2,"Hyperthermophilic","80","No","Anaerobic","Specialized") F.nucleatum ("Bacteria","Bacteria","Fusobacteria","Fusobacterium nucleatum subsp. nucleatum ATCC 25586",27.2,"Mesophilic","37","Human/Animal","Anaerobic","Host-associated") T.tencongensis ("Bacteria","Bacteria","Firmicutes","Thermoanaerobacter tengcongensis MB4",37.6,"Hyperthermophilic","75","No","Anaerobic","Specialized") C.perfringens ("Bacteria","Bacteria","Firmicutes","Clostridium perfringens NCTC 8239",28.7,"Mesophilic","37","Human/Animal","Anaerobic","Multiple") C.tetani ("Bacteria","Bacteria","Firmicutes","Clostridium tetani E88",28.6,"Mesophilic","37","Human","Anaerobic","Multiple") M.genitalium ("Bacteria","Bacteria","Firmicutes","Mycoplasma genitalium G37",31.7,"Mesophilic","37","Human/Animal/Insect","Facultative","Host-associated") B.subtilis ("Bacteria","Bacteria","Firmicutes","Bacillus subtilis subsp. subtilis str. 168",43.5,"Mesophilic","30","No","Facultative","Terrestrial") S.aureus ("Bacteria","Bacteria","Firmicutes","Staphylococcus aureus subsp. aureus COL",32.8,"Mesophilic","30-37","Human","Facultative","Host-associated") L.monocytogenes ("Bacteria","Bacteria","Firmicutes","Listeria monocytogenes EGD-e",38.0,"Mesophilic","34","Human","Facultative","Multiple") S.pneumoniae ("Bacteria","Bacteria","Firmicutes","Streptococcus pneumoniae R6",39.7,"Mesophilic","32","Human","Facultative","Multiple") T.pallidum ("Bacteria","Bacteria","Spirochaetes","Treponema pallidum subsp. pallidum str. Nichols",52.8,"Mesophilic","NULL","Human","Anaerobic","Host-associated") L.interrogans ("Bacteria","Bacteria","Spirochaetes","Leptospira interrogans serovar Copenhageni str. Fiocruz L1-130",35.0,"Mesophilic","29","Animal","Aerobic","Host-associated") C.tepidum ("Bacteria","Bacteria","Bacteroidetes/Chlorobi","Chlorobium tepidum TLS",56.5,"Thermophilic","48","No","Anaerobic","Specialized") B.thetaiotaomicron ("Bacteria","Bacteria","Bacteroidetes/Chlorobi","Bacteroides thetaiotaomicron VPI-5482",42.9,"Mesophilic","NULL","Mammal","Anaerobic","Host-associated") P.gingivalis ("Bacteria","Bacteria","Bacteroidetes/Chlorobi","Porphyromonas gingivalis W83",48.3,"Mesophilic","37","Human","Anaerobic","Host-associated") G.violaceus ("Bacteria","Bacteria","Cyanobacteria","Gloeobacter violaceus PCC 7421",62.0,"Mesophilic","NULL","No","Aerobic","Terrestrial") T.elongatus ("Bacteria","Bacteria","Cyanobacteria","Thermosynechococcus elongatus BP-1",53.9,"Thermophilic","55","No","Aerobic","Specialized") P.marinus ("Bacteria","Bacteria","Cyanobacteria","Prochlorococcus marinus str. MIT 9313",50.7,"Mesophilic","NULL","No","Aerobic","Aquatic") H.pylori ("Bacteria","Bacteria","Epsilonproteobacteria","Helicobacter pylori 26695",38.9,"Mesophilic","37","Human","Aerobic","Host-associated") C.jejuni ("Bacteria","Bacteria","Epsilonproteobacteria","Campylobacter jejuni RM1221",30.3,"Mesophilic","NULL","Human","Microaerophilic","Multiple") R.prowazekii ("Bacteria","Bacteria","Alphaproteobacteria","Rickettsia prowazekii RP22",null,"Mesophilic","NULL","Human","Aerobic","Host-associated") B.suis ("Bacteria","Bacteria","Alphaproteobacteria","Brucella suis 1330",57.3,"Mesophilic","37","Human/Animal","Aerobic","Host-associated") A.tumefaciens ("Bacteria","Bacteria","Alphaproteobacteria","Agrobacterium tumefaciens str. C58",59.0,"Mesophilic","26","Plant","Aerobic","Multiple") N.meningitidis ("Bacteria","Bacteria","Betaproteobacteria","Neisseria meningitidis MC58",51.5,"Mesophilic","36","Human","Aerobic","Host-associated") R.solanacearum ("Bacteria","Bacteria","Betaproteobacteria","Ralstonia solanacearum GMI1000",67.0,"Mesophilic","NULL","Plant","Aerobic","Multiple") B.pertussis ("Bacteria","Bacteria","Betaproteobacteria","Bordetella pertussis Tohama I",67.7,"Mesophilic","36","Human","Aerobic","Host-associated") X.campestris ("Bacteria","Bacteria","Gammaproteobacteria","Xanthomonas campestris pv. campestris str. 8004",65.0,"Mesophilic","27","Plant","Aerobic","Host-associated") P.aeruginosa ("Bacteria","Bacteria","Gammaproteobacteria","Pseudomonas aeruginosa PAO1",66.6,"Mesophilic","27","Human","Aerobic","Multiple") V.cholerae ("Bacteria","Bacteria","Gammaproteobacteria","Vibrio cholerae V51",47.5,"Mesophilic","25","Human","Facultative","Aquatic") H.influenzae ("Bacteria","Bacteria","Gammaproteobacteria","Haemophilus influenzae Rd KW20",38.1,"Mesophilic","36","Human","Facultative","Host-associated") W.brevipalpis ("Bacteria","Bacteria","Gammaproteobacteria","Wigglesworthia glossinidia endosymbiont of Glossina brevipalpis",22.5,"Mesophilic","NULL","No","Aerobic","Host-associated") Y.pestis ("Bacteria","Bacteria","Gammaproteobacteria","Yersinia pestis CO92",47.6,"Mesophilic","29","Human/Rodent","Facultative","Multiple") S.typhimurium ("Bacteria","Bacteria","Gammaproteobacteria","Salmonella typhimurium LT2",52.2,"Mesophilic","37","Human","Facultative","Host-associated") E.coli ("Bacteria","Bacteria","Gammaproteobacteria","Escherichia coli str. K-12 substr. MG1655",50.8,"Mesophilic","37","No","Facultative","Host-associated") R.baltica ("Bacteria","Bacteria","Planctomycetes","Rhodopirellula baltica SH 1",55.4,"Mesophilic","28","No","Aerobic","Aquatic") C.trachomatis ("Bacteria","Bacteria","Chlamydiae/Verrucomicrobia","Chlamydia trachomatis D/UW-3/CX",41.3,"Mesophilic","37","Human","Aerobic","Host-associated") D.radiodurans ("Bacteria","Bacteria","Deinococcus-Thermus","Deinococcus radiodurans R1",66.6,"Mesophilic","34","No","Aerobic","Terrestrial") B.longum ("Bacteria","Bacteria","Actinobacteria","Bifidobacterium longum NCC2705",60.1,"Mesophilic","39","No","Anaerobic","Host-associated") S.avermitilis ("Bacteria","Bacteria","Actinobacteria","Streptomyces avermitilis MA-4680",70.7,"Mesophilic","30","No","Aerobic","Multiple") C.diphtheriae ("Bacteria","Bacteria","Actinobacteria","Corynebacterium diphtheriae NCTC 13129",53.5,"Mesophilic","37","Human","Aerobic","Multiple") M.tuberculosis ("Bacteria","Bacteria","Actinobacteria","Mycobacterium tuberculosis H37Rv",65.6,"Mesophilic","37","Human","Aerobic","Host-associated") END LEAF_PROPERTIES;PK h&:xjview/swing/ImageFilter.class1B ' () (* +, +- +. +/ +0123jpgLjava/lang/String; ConstantValue gifpng()VCodeLineNumberTableLocalVariableTablethisLview/swing/ImageFilter;accept(Ljava/io/File;)Z extensionfLjava/io/File;siIgetDescription()Ljava/lang/String; SourceFileImageFilter.java 4 56 7$8 9: ;< => ?$ @AImagesview/swing/ImageFilter"javax/swing/filechooser/FileFilter java/io/File isDirectory()ZgetNamejava/lang/String lastIndexOf(I)Ilength()I substring(I)Ljava/lang/String; toLowerCaseequals(Ljava/lang/Object;)Z!  /* ?++M,.>',d,`: *  # /!9&;(=,4/??1 *!"#$- 0 %&PK h&:l"D view/swing/JLegend.class1 "b !c de fg !h di !jk l !m !n !o !p "q !r stuv w dx dy z { |} ~ ! n    serialVersionUIDJ ConstantValuelbls[Ljava/lang/String;titleLjava/lang/String;colors[[FBINARY_QUERY_TYPEIRANGE_QUERY_TYPECLASS_QUERY_TYPEtypesizeLjava/awt/Dimension;()VCodeLineNumberTableLocalVariableTablethisLview/swing/JLegend;([Ljava/lang/String;[[F)VlabelsgetPreferredSize()Ljava/awt/Dimension;setType(I)V queryTypepaintComponent(Ljava/awt/Graphics;)Vg2Ljava/awt/Graphics2D;r[FsqLview/jogl/Square;gLjava/awt/Graphics; getLegendType()I getColors()[[F setColors([[F)VgetLbls()[Ljava/lang/String;setLbls([Ljava/lang/String;)VsetTitle(Ljava/lang/String;)VaddInToScrollPane()Ljavax/swing/JScrollPane; scrollPaneLjavax/swing/JScrollPane; SourceFile JLegend.java 89 5/  java/awt/Dimension 8 67 () ,- FG *+ java/awt/Graphics2Dview/jogl/Square 8 javax/swing/JScrollPane 8 AB D D view/swing/JLegendjavax/swing/JPaneljava/awt/ColorblackLjava/awt/Color;javax/swing/BorderFactorycreateLineBorder-(Ljava/awt/Color;)Ljavax/swing/border/Border; setBorder(Ljavax/swing/border/Border;)Vwhite setBackground(Ljava/awt/Color;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)Vjava/awt/Graphics drawString(Ljava/lang/String;II)V([F)VredbluepaintRectangle\(Ljava/awt/Graphics2D;Ljava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)VpaintBinaryPropertyZ(Ljava/awt/Graphics;Ljava/awt/Color;Ljava/awt/Color;Ljava/lang/String;Ljava/lang/String;)VpaintClassProperties,(Ljava/awt/Graphics;[[F[Ljava/lang/Object;)V(Ljava/awt/Component;)VsetHorizontalScrollBarPolicysetVerticalScrollBarPolicysetMaximumSizesetMinimumSize!!" #$%&()*+,-./%01/%23/%45/67 89:u3*****Y< ** ;-" ./0*122< 3=>8?:<***+ *, **Y* h ** ;":" ;<=>3?;@< <=><@)<,-AB:/* ;E< =>CD:>*; OP<=>E/FG:*+*+* +MY QY QY QY QNY-:*]4O,* 2* 2,+* 2* 2+* * ;6 UW XZ\1^;`Xbpcsefhm<4HI1kJK;aLM=>NOPQ:/*;q< =>RS:/* ;y< =>TU:>*+ ; <=>,-VW:/* ;< =>XY:a!*+ *Y+h ** ; <!=>!()Z[:>*+; <=>*+\]:4Y*L+*+++* +Y +; %2<4=> +^_`aPK h&:!k view/swing/JNodeInfoDialog.class1 =r st <uv w <xy <z <{| } <~ < < < < <  w ~    #w # #     hT 6 6 data&Ltreevisualiser/model/NodePropertyMap;serialVersionUIDJ ConstantValue>(Ljavax/swing/JFrame;ZLtreevisualiser/model/NodePropertyMap;)VCodeLineNumberTableLocalVariableTablethisLview/swing/JNodeInfoDialog;frameLjavax/swing/JFrame;isModalZsetData)(Ltreevisualiser/model/NodePropertyMap;)VgenerateNodePropertiesPanel<(Ltreevisualiser/model/NodePropertyMap;)Ljavax/swing/JPanel;valueLjava/lang/String;keyi$Ljava/util/Iterator;iIhashLjava/util/Map;keysLjava/util/Set;itpLjavax/swing/JPanel; strValuesaVals[Ljava/lang/String;aKeys[Ljava/lang/Object;aData[[Ljava/lang/String;colNamestableLjavax/swing/JTable;columnLjavax/swing/table/TableColumn;LocalVariableTypeTable5Ljava/util/Map; SourceFileJNodeInfoDialog.java E java/awt/BorderLayout E Node Properties PQjava/awt/Dimension E RSCenter >?   javax/swing/JPanel java/lang/String NULL "NULL"no datajava/lang/StringBuilder ,  VALUES In loopKEYVALSpropertyjavax/swing/JTable E   view/swing/JNodeInfoDialogjavax/swing/JDialog(Ljava/awt/Frame;Z)Vjava/awt/ColorgrayLjava/awt/Color; setBackground(Ljava/awt/Color;)V()V setLayout(Ljava/awt/LayoutManager;)VsetTitle(Ljava/lang/String;)V(II)VsetPreferredSize(Ljava/awt/Dimension;)V setLocationadd)(Ljava/awt/Component;Ljava/lang/Object;)Vpack$treevisualiser/model/NodePropertyMap getAttributes()Ljava/util/Map; java/util/MapkeySet()Ljava/util/Set; java/util/Setiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;get&(Ljava/lang/Object;)Ljava/lang/Object;equalsIgnoreCase(Ljava/lang/String;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String; lastIndexOf(Ljava/lang/String;)I substring(II)Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnsplit'(Ljava/lang/String;)[Ljava/lang/String;(I)VtoArray()[Ljava/lang/Object;*([[Ljava/lang/Object;[Ljava/lang/Object;)VgetColumnModel&()Ljavax/swing/table/TableColumnModel;"javax/swing/table/TableColumnModel getColumn"(I)Ljavax/swing/table/TableColumn;javax/swing/table/TableColumnsetPreferredWidth*(Ljava/awt/Component;)Ljava/awt/Component;!<=>?@ABCEFGL*+**Y**- * YXȷ *22 **-*H*  !"##$4%<&G'K(I*LJKLLMLNOL>?PQG>*+H +,IJK>?RSG@+M,N-:Y: YXȷ :,:c:,:    ! ": #Y$% %&:#Y$%'%&:'():*#Y$+%%&,'-:*.-/:0: 6  i*1,  2 2S*#Y$2% 2%&,  2 2S*#Y$3% 2%&, Y4SY5S: 6Y  7: : 6   / 8 9:   ,:  d:  ;WH%78 9:;/=3?VAcDwF{IJLNPRSUWYZ [\9]E^bYhaxbdefghjenpIcDTU VQVU@jWXnYZ 4YZ JK>?[\ ]^_X`a3bUcdefgh xRid Ejk Blm n [opqPK h&:yt t view/swing/JPropertyPanel.class1 J K LM NO P LQ R S T UV W X UY Z [\] ^ _ L` abc ade Lf gh LijkserialVersionUIDJ ConstantValueprops[Ljava/lang/String;numItemsIselectedLjava/lang/String;rLview/jogl/Renderer;(Lview/jogl/Renderer;)VCodeLineNumberTableLocalVariableTablethisLview/swing/JPropertyPanel;selectProperty(II)VimouseXmouseYyStartyEndidxgetPreferredSize()Ljava/awt/Dimension;setPropertyList([Ljava/lang/String;)V propertiespaintComponent(Ljava/awt/Graphics;)Vsarr$len$i$gLjava/awt/Graphics;xPosyPos SourceFileJPropertyPanel.java *l $%m nop qr st uo vw xy ()z {' &' "# |} ~l ljava/awt/Dimension *2 >? o wLeaf Properties ______________ o oview/swing/JPropertyPaneljavax/swing/JPanel()Vjava/awt/ColorblackLjava/awt/Color;javax/swing/BorderFactorycreateLineBorder-(Ljava/awt/Color;)Ljavax/swing/border/Border; setBorder(Ljavax/swing/border/Border;)Vwhite setBackground(Ljava/awt/Color;)V setVisible(Z)Vview/jogl/RendererpropName setProperty(Ljava/lang/String;)Vrepaintjava/lang/ObjectnotifyBLACKjava/awt/GraphicssetColor drawString(Ljava/lang/String;II)V DARK_GRAYjava/lang/Stringequals(Ljava/lang/Object;)ZBLUE! "#$%&'()*+,}-******+ *+ -"  $!,#.-/0-()12,X2>666*$`6 6 >** 2 * * ** ->'() +,-&.*/-20+65A6L8P9W:.H *3%X/0X4%X5%U6%R7% O8%9:,6 Y2x->.  /0;<,K*+ ** -BCD./0=#>?,6*+ =>++++* M* :6682:*  + ++DZ-JIJK MNPQ%R(T/V7WSX_Yi[p^x_{Wc.RS(@'=DA#B?B%E<C%/0DEzF% wG%HIPK h&:@kk view/swing/JTreeFileFilter.class10    !"#$%&()VCodeLineNumberTableLocalVariableTablethisLview/swing/JTreeFileFilter;accept(Ljava/io/File;)ZfLjava/io/File; extensionLjava/lang/String;getDescription()Ljava/lang/String; SourceFileJTreeFileFilter.java ' ()* +,txt- ./nexNexus Tree Filesview/swing/JTreeFileFilter"javax/swing/filechooser/FileFilter java/io/File isDirectory()Zview/swing/Utils getExtension"(Ljava/io/File;)Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z!   /*    *++M,, , " $&( ** - $ PK h&:&view/swing/JTreeToolBar.class1 Cx $y $z ${ $| }~ }T $ $S $ 2U $R $ x  $ x    &x & & & + & &   2x 2 2 2 2 2 P 2 $ $ $ serialVersionUIDJ ConstantValueZOOMINGZPANROTATEzoomOutLjavax/swing/JButton;legendLjavax/swing/JToggleButton;nodelistzoompanrotaterLview/jogl/Renderer;(Lview/jogl/Renderer;)VCodeLineNumberTableLocalVariableTablethisLview/swing/JTreeToolBar; initButtons()VgroupLjavax/swing/ButtonGroup; makeButton_(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JButton; imageNameLjava/lang/String; actionCommand toolTipTextaltText imgLocationimageURLLjava/net/URL;buttonmakeToggleButtone(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/swing/JToggleButton;actionPerformed(Ljava/awt/event/ActionEvent;)VeLjava/awt/event/ActionEvent;cmd SourceFileJTreeToolBar.java X` _` VW Navigate the TreePan no TQZoom InZoom SQ Rotate the TreeRotate UQView the Node List Node List RQjavax/swing/ButtonGroup java/lang/StringBuilderimages/ .png view/swing/JTreeToolBar javax/swing/JButton javax/swing/ImageIcon X  Resource not found:  javax/swing/JToggleButton   ` LK JK MK  `javax/swing/JToolBarjava/awt/event/ActionListenersetOrientation(I)V setRollover(Z)Vjavax/swing/ToolTipManagersharedInstance()Ljavax/swing/ToolTipManager;setLightWeightPopupEnabledaddMouseWheelListener&(Ljava/awt/event/MouseWheelListener;)Vadd(Ljavax/swing/AbstractButton;)V*(Ljava/awt/Component;)Ljava/awt/Component;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/lang/Class getResource"(Ljava/lang/String;)Ljava/net/URL;setActionCommand(Ljava/lang/String;)VsetToolTipTextaddActionListener"(Ljava/awt/event/ActionListener;)V#(Ljava/net/URL;Ljava/lang/String;)VsetIcon(Ljavax/swing/Icon;)VsetTextjava/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintlnjava/awt/event/ActionEventgetActionCommandjava/lang/Stringequals(Ljava/lang/Object;)Zview/jogl/RenderertoggleNodeList isSelected()Z getGLCanvas()Ljavax/media/opengl/GLCanvas;javax/media/opengl/GLCanvas requestFocus!$CD EFGH JK LK MKNOPQRQSQTQUQVWXYZk*****+[$% &'(),\]^VW_`Z**  **   **** ** YL+* +*+***W** W**W**W[:/0 1+2;4K5S6[7c8k9t:};<=\]^S=abcdZ{Y !+!"!#:$%:&Y':,(-)**+Y,-$./Y0!!#1[. AB$E-F3G9H?JDKWM^NxQ\R{]^{ef{gf{hf{ifajf$Wkl-NmOnoZ{Y !+!"!#:$%:2Y3:,4-5*6+Y,7$8/Y0!!#1[. VW$Z-[3\9]?_D`Wb^cxf\R{]^{ef{gf{hf{ifajf$Wkl-NmQpqZb+9M,:;,; *<, ;,; ,;!* =>*=?*=@*AB[* jlrtx9zC{M|Wa\ b]^brs]tfu`Z- ?>@[vwPK h&:Tv? &view/swing/JTreeVizMenu$ScaleDlg.class1 .f /g hi .j kl .m .no p .q r s t uv wx yz{ | }~   | . .  "w . . .   h .serialVersionUIDJ ConstantValue scaleLjavax/swing/JSlider; btnCancelLjavax/swing/JButton;btnOKscaleFFNS_MININS_MAXNS_INITthis$0Lview/swing/JTreeVizMenu;?(Lview/swing/JTreeVizMenu;Ljava/awt/Frame;Ljava/lang/String;Z)VCodeLineNumberTableLocalVariableTablethisScaleDlg InnerClasses"Lview/swing/JTreeVizMenu$ScaleDlg;ownerLjava/awt/Frame;titleLjava/lang/String;modalZinit()V labelTableLjava/util/Hashtable;LocalVariableTypeTable>Ljava/util/Hashtable; stateChanged"(Ljavax/swing/event/ChangeEvent;)VeLjavax/swing/event/ChangeEvent;sourceactionPerformed(Ljava/awt/event/ActionEvent;)VLjava/awt/event/ActionEvent; SourceFileJTreeVizMenu.java EF G = <= VW javax/swing/JSlider G 78 java/util/Hashtable GWjava/lang/Integer Gjavax/swing/JLabel0.0 G 1.02.0 javax/swing/JButtonCancel 9:Ok ;: java/awt/FlowLayout W  7 W view/swing/JTreeVizMenu$ScaleDlgjavax/swing/JDialog javax/swing/event/ChangeListenerjava/awt/event/ActionListener&(Ljava/awt/Frame;Ljava/lang/String;Z)Vview/jogl/NodeViewTXT_SFjavax/swing/JPopupMenu!setDefaultLightWeightPopupEnabled(Z)VsetSize(II)V(IIII)VaddChangeListener%(Ljavax/swing/event/ChangeListener;)VsetMajorTickSpacing(I)VsetMinorTickSpacing setPaintTicks(Ljava/lang/String;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; setLabelTable(Ljava/util/Dictionary;)VsetPaintLabelsaddActionListener"(Ljava/awt/event/ActionListener;)V setLayout(Ljava/awt/LayoutManager;)Vadd*(Ljava/awt/Component;)Ljava/awt/Component;packjavax/swing/event/ChangeEvent getSource()Ljava/lang/Object;getValueIsAdjusting()ZgetValue()Ijava/awt/event/ActionEventjava/lang/Objectequals(Ljava/lang/Object;)Z(F)Vdisposeview/swing/JTreeVizMenu ./01 2345789:;:<=>?4@A?4BC?4DEFGHI&*+*,-***xJcd ^efg%hK*&LO&PQ&RS&TUVWIt*Y * * *  *  * YL+YYW+YYW+YYW* +* *Y*Y **!* *!*"Y#$** %W** %W**%W*&JVmors't/v7wMxcyyz{}~KLO7XYZ 7X[\]Ie+'M,(*,) nJK LO^_`8abIe!+** +*,*-*-J K!LO!^cdeN .MPK h&:r)BBview/swing/JTreeVizMenu.class1                     + + +     9 9 < < <     O   +                      <  !" b# b$% e& g e' e( e)* +, l l- l. l / 0 123 v4 v5 +6 v7  8 9 : ;<=>?ScaleDlg InnerClasses mnuLayoutLjavax/swing/JMenu;coneLjavax/swing/JMenuItem;radial mnuRenderpropMappedLeaf propMappedArc scaleNode rbDefaultEdge"Ljavax/swing/JRadioButtonMenuItem;rbPropertyMappedEdge rbBallEdge rbSplitEdge rbArcEdge cbArcColoredLjavax/swing/JCheckBoxMenuItem;mnuFilefileOpenexitsaveFsaveTmnuParseconsIndbarLjavax/swing/JMenuBar;rLview/jogl/Renderer;(Lview/jogl/Renderer;)VCodeLineNumberTableLocalVariableTablethisLview/swing/JTreeVizMenu; createMenuBar()Ljavax/swing/JMenuBar;groupLjavax/swing/ButtonGroup;actionPerformed(Ljava/awt/event/ActionEvent;)Voptions[Ljava/lang/String;sLjava/lang/String;filteredOptionsdlg"Lview/swing/JTreeVizMenu$ScaleDlg;nrLtreevisualiser/NexusParser;myTreeLtreevisualiser/model/Tree;fcLjavax/swing/JFileChooser;exLjava/io/IOException;fLjava/io/File;eLjava/awt/event/ActionEvent;source SourceFileJTreeVizMenu.java @ A BCjavax/swing/JMenuBar javax/swing/JMenuFile D Layout Draw Parsimony Algorithms javax/swing/JMenuItem Open Alt-O E FGCapture Screen Alt-Z Save Tree as image Alt-X  Exit -Esc HIConsistency Index Cone Radial JC Map Leaves Map Arcs  Scale Nodes  javax/swing/JRadioButtonMenuItemDefault  Ball Edge  Split Edge Arc Edge  Multi Edge javax/swing/ButtonGroup HKjavax/swing/JCheckBoxMenuItem Color Arcs L@ HMN OP QR STU VW XC YZ[ \]Select a property:  Properties^ _`java/lang/String[[F a bDc de f@ g@ he i] jD k@ lD"Consistency Index Mapping Property mD no pe qr stu vC view/swing/JTreeVizMenu$ScaleDlg w xCjavax/swing/JFileChooserview/swing/JTreeFileFilter yz {| }~treevisualiser/NexusParser R R D @  @java/io/IOExceptionjava/lang/StringBuilder Invalid file  R R  @ @ Wview/swing/JTreeVizMenujava/lang/Objectjava/awt/event/ActionListener()Vjavax/swing/JPopupMenu!setDefaultLightWeightPopupEnabled(Z)V(Ljava/lang/String;)V(Ljava/lang/String;I)VaddActionListener"(Ljava/awt/event/ActionListener;)Vadd0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem; setSelected(Ljavax/swing/AbstractButton;)V addSeparator((Ljavax/swing/JMenu;)Ljavax/swing/JMenu;java/awt/event/ActionEvent getSource()Ljava/lang/Object;getText()Ljava/lang/String;equals(Ljava/lang/Object;)Zview/jogl/Renderer setLayout(I)V setEnabledgetTree()Ltreevisualiser/model/Tree;treevisualiser/model/TreegetPropertiesLbls()[Ljava/lang/String;javax/swing/JOptionPaneshowInputDialog(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;ILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;colors setPropertyview/jogl/EdgeViewCONSINDZ mapTheLeavesrefreshgenColorfilterPropertyListsetArcProperty mapTheArcinitArcMapLegendcalculateFitchedgeTypeIresetEdgeColorSet getLfArcs()Lview/jogl/Arcs; isSelected()Zview/jogl/ArcssetIsColorReferenced?(Lview/swing/JTreeVizMenu;Ljava/awt/Frame;Ljava/lang/String;Z)V setVisible setFileFilter'(Ljavax/swing/filechooser/FileFilter;)VshowOpenDialog(Ljava/awt/Component;)IgetSelectedFile()Ljava/io/File; java/io/FilegetAbsolutePathgetNewickBlockparsesetDepthsetTree(Ltreevisualiser/model/Tree;I)V resetTheTreeappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getNametoStringshowMessageDialog)(Ljava/awt/Component;Ljava/lang/Object;)VscreenTreeShotscreenFullShotjava/lang/System!N**+FG H I`*Y*Y *Y *Y *Y *YO***YZ***YX***Y*** *W* *W* *W* *W*Y****W*Y !*!**Y"#*#**#$* *!W* *#W*Y%&*&**Y'(*(**Y)*****+Y,-.*./*.*0*+Y1-2*2/*2*0*+Y3-4*4/*4*0*+Y5-6*6/*6*0*+Y7-8*8*09Y:L+*.;+*8;+*2;+*4;+*6;*?*?@*?*A**&W*B**(W*B***W*B**.W**8W**2W**4W**6W*B**?W** CW** CW**CW**CW**JM NO%P2Q?UNVVWeXmY|Z[\]^_`efgjklmno*p6sCtKvXw`ymzu|}~&.;CKW^jq}+DM,E F#*G*!H*#H*6I,E"F#*G*#H*!H*6I,E%FT*JKNLM--2NO:1*PQ*RS*T*U*V,E'FX*JKN*JW:LM2NO:'*XS*Y*Z*U,EFQ*JKN*JW:L[2NO: *R*\S*U,E,F *],E7F*]*^,E1F*]*^,E3F*]*^,E5F*]*^,E=F*_*?`a,E)FbY*)cN-d,EFNeYf:gYhijAkN-7lY-mn:opq:r*s*t:vYwxy-zy{|,EF *},EF *~,EFHuNS '/7CKS[coz !-8DY^gpt{    (5: F"H&Q'](a*j,p.t013467B?AEGJLOQUzF3J>)8CD7Y"5'QWH  bPK h&:nH44view/swing/Utils.class17  !" #$ #% #& #'()TXTLjava/lang/String; ConstantValue*NEXUS+()VCodeLineNumberTableLocalVariableTablethisLview/swing/Utils; getExtension"(Ljava/io/File;)Ljava/lang/String;fLjava/io/File;extsiI SourceFileJTreeFileFilter.java , -./ 01 23 45 6.view/swing/Utilsjava/lang/Objecttxtnex java/io/FilegetName()Ljava/lang/String;java/lang/String lastIndexOf(I)Ilength()I substring(I)Ljava/lang/String; toLowerCase      /**  )L*M,.>,d,`L+45689';*)' " PK h&:[q""view/swing/images/Thumbs.dbࡱ>   Root EntryP?@123_  !"#$%&'()*+,./0123456789:<=>?@ABCDEFGHIKLMOPQRSTUVWXYZ[\ JFIF``C     C   " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?#SKGާwxS @ig[6`uW[|-gCmHj1X ڳC/@Ldݻ뻌3m3K;W5KO:bwg{yUdù.^kO#hdcopN62V[즊5XH!Xu@xogGGXҵ9}>95[ ؐ3[mFG(e}> t֮sf$D"smUw7 ( JFIF``C     C   " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?kw|>Z\ض$x72:/J|ͪ ?[ؗwB<`g_ - \Y h̪^-̓<Ҽ^# SbSґ~nڄ,9S^AWWqwoBj[rVggu_Mb xp~4V_¯]xZN{vwQ(s[$qhMNJpRN0>7|8Ѽ_&vA頵\ r:5yqas=@vI#gq袾G4 0M=2{F4υG搌QE}e)ICPG SJFIF``C     C   " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?cIy?ikxͽpc?,r|j8Ӵ{l$)ϮG ,1KڭrOI=OpIcUxTncg޺_;+5+%ug׳ ((( EJFIF``C     C   "4-Q5;CatalogJ6N }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?N=;CcMh`Y$v5wYXhlKѷ}*:޿ /ɺ Ӂku.>WU:NQ咿)n{[-SLIY$xTWsYh%[xWl&|z}~G>$|/vυ;n4@S 7\~iO w^WsqWO.2G_2Cľ:[xC]XW[KZ.o`9'$CASEQѵWIӦK V{v( Euaލvjԭ.`Ih8<rAQ@'Wm: j a&+~E}bwW>Vq䓍n9|"ywwyG5|d]xar*M'_=Z NIH/a4 1b9RGEZ_<1tOַsRGBPLTE2\tRNS@f pHYs  tIME J)IDATc` @'34illG"2ZGL| ~5IENDB`PK h&:Iview/swing/images/nodelist.pngPNG  IHDR sRGBbKGD pHYs  tIME *cEX[tEXtCommentCreated with GIMPWIDAT8ՔnQko6BB@H:PRPP@E ^'J*H(H?ǻwR  8Lq3z1&j54@Jߤ q&١|hn7nyg9R {3+aƣ,##0; 9bC?Ga*#Uq[c'._W2/i'1I۠ӿTBFg:B:(HgQ.b؏P.BU}J \L蟚g-eSm-. @kDܣ(ɦg1{-( "XC[=~B͓QYDN#Gi ?A: ͗π@g 8@)ȳemȑ R&y[_)&'I/\T+(m}AƠZESz:E01^[!)$:"x-$c;$契 ϩesIENDB`PK h&:qview/swing/images/pan.pngPNG  IHDRZsRGBbKGD pHYs  tIME6CIDAT8]KoGzfgwrE~*~Ā  S`#EE)ZR˙i$ WU tSB=@4RGOiLZH3  X*&2T  5_5ubJRUC ~ @<%$"BF8VeCPBM$hyq Xkd*}Jb4Y@C4g);B#n.?s:emKYoؤK[5?? ǯ[ة?LO~̎7|0#VqI}3MVx=o^A7"6E0C&Y '#F*QC@V:iI}yu}zovU$Vyݎ>uxQkpv2JI?bۊ104do;BuRT0))l ɩjbq\_^7!*Iia Fdbq -gNN-om)|- CPǘfKsj1@ ӛ*i   F8rW|o$UA6]]ޤ:ա)^;Y|*޷}ӝIENDB`PK h&:W {view/swing/images/rotate.pngPNG  IHDRZsRGB pHYs  tIME"5hFRIDAT8˝oE\^\4un*mb\$"x U  M4ql1:kw;3<$ri4?ooos "o:3M͌c1Eox~^iTꕝNy "ȸONO]deXl\s֕?⑃'ʙB//.f/e&E,Ֆ@ܫ!JppRk~va ,@5Nva/ K1s"a'_ݳU9,TIXqk|3n ns;xi'7bF,QŽֵ[K3yE!HcD #`F XH~i!R<@#~ 8AtAc#̞L'm{y RWF^UZZ!cB֨{zO8w"B@eIi [, 2V ۫2Lh?6}159_[~Nևm\7hm n3g3o<:VX&?'-;acI0AÂ^{k 33T8 jźPB*I!t9chܫ=]고= IלtF{G@v.9Iʝڷ?aʄ\q;F^ݨF,\ ,d+v}|M-ɵ7 _Yy7HK0nݝ^+_u)h"6jN WKL U . IENDB`PK h&:IHview/swing/images/zoom.pngPNG  IHDRɷYsRGBbKGD pHYs  tIME 89hpkIDAT8mSMH2AٕV]d:- DDIuN]:IѹCxJ"Ƞ@$,6\]gg|~|efxwg8n~~~ggh4v(jaZhT4 !jr333vvi֮ nnn^$IBc:BHuxzz Nsyy\.wWWWM&S0,-ZucLk|>әH$iHd2A,K!qwuuJ%Ah*Bv9 lPYeBB4Mb,Ii_!~}}p700Ay>):mJoQT8BeYAD"$=>>ENfRR)Ef$I,꺮g"8==,c!!D X,vpp`0dY6͢(bAEhd2P(EQ}1 nllX,^ժ*WEURT(.//h4 iuB-N+(($\}M~ssSe!힂Ή6BH*ZZZb`0t:ւd:ֺ9<D"!eo! @ iA0B|}}EQUX,suuicLQÇ^_YY1&fJ)|yyd2+++>1 2DEEE$IN!D)b(r:]]]KKKCCC^ͱDaDt]2a555o~J) όϟ?+R^^,4?~D"EQsܛ}5Hwtt R!D$˲t]||ᎎuxx*2 cݻwgmmmaa\uX4$IQt:$I @90('?==1hkk#B8e4MJ)qvfp hllS__(eϏy<4oooM,//O@Q777x[[[4 !Y;;;EQd2&iE)E`aaa!!d"yB򲾾iZ( B. B18OOO'_~DeEf㣣-UU^oKKKss(v cFu]_^^++++..v:(Rt:dY@y7 4Mh&WWW߾}BAJJJxget:-IRWW0 ƘX'''LIeAJKKZ<WsddBl reA-rE>$zdd" BAx/((Ixk~nggg333uuucloeyJ)Ƙ1fKR6RfK!B0g/_$⁁Li(H{nk<IENDB`PK h&:Ĩ@<<view/swing/images/zoomout.pngPNG  IHDRɷYsRGB pHYs  tIME7(IDAT8]TK3O&h@ XhAm,  Amb!X* T4(>(hcff~˧)w8p=,,+Iq{{&HXֶnSJY%p'IR:^[[쬫CYVNg-h,{zz˲LB@h4 Z[[Flr_dAGUU\&c9+ @v755%II~[ZZL&5c\,gY/..N/r(X,~8J)󊢨"Azf'D|>Օ l6;(f+ ,Ҳ5J+^EBȲl{{{45 fy BԒaAX~͟eYcۿ\.aYR !x(V+++L&SZꊢ(MeMeRview/jogl/Renderer.classPK h&:VCview/jogl/SpecialEffects.classPK h&:}view/jogl/Sphere.classPK h&:3, view/jogl/Square.classPK h&:?n4view/newick/JWTest.nexPK h&:7kXview/newick/RobTest1.nexPK h&:M; (&(&view/newick/nexus8.txtPK h&:K %%{view/newick/nexus9.txtPK h&:xjq)view/swing/ImageFilter.classPK h&:l"D -view/swing/JLegend.classPK h&:!k ;view/swing/JNodeInfoDialog.classPK h&:yt t Kview/swing/JPropertyPanel.classPK h&:@kk Uview/swing/JTreeFileFilter.classPK h&:&RYview/swing/JTreeToolBar.classPK h&:Tv? &tiview/swing/JTreeVizMenu$ScaleDlg.classPK h&:r)BByvview/swing/JTreeVizMenu.classPK h&:nH44view/swing/Utils.classPK h&:[q""^view/swing/images/Thumbs.dbPK h&:߱view/swing/images/legend.pngPK h&:Iview/swing/images/nodelist.pngPK h&:qkview/swing/images/pan.pngPK h&:W {7view/swing/images/rotate.pngPK h&:IH1view/swing/images/zoom.pngPK h&:R *Tview/swing/images/zoomin.pngPK h&:Ĩ@<<;view/swing/images/zoomout.pngPK66*