1 =j klm nopqr kstu vw xy j z {| {}~ {       { (j (    (  k : v : :LOGLorg/apache/log4j/Logger;()VCodeLineNumberTableLocalVariableTablethis)Lorg/apache/zookeeper/server/PurgeTxnLog; printUsagepurge (Ljava/io/File;Ljava/io/File;I)VfLjava/io/File;i$Ljava/util/Iterator;dataDirsnapDirnumItxnLog8Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog;excLjava/util/Set;snapsLjava/util/List;snapShotzxidJexcludefilesLocalVariableTypeTableLjava/util/Set; Ljava/util/List; Exceptionsmain([Ljava/lang/String;)Vargs[Ljava/lang/String;i SourceFilePurgeTxnLog.java @A )PurgeTxnLog dataLogDir [snapDir] -n count , dataLogDir -- path to the txn log directory* snapDir -- path to the snapshot directory7 count -- the number of old snaps/logs you want to keep "java/lang/IllegalArgumentExceptioncount should be greater than 3 @6org/apache/zookeeper/server/persistence/FileTxnSnapLog @java/util/HashSet   java/io/File   snapshot  java/util/ArrayList 5org/apache/zookeeper/server/PurgeTxnLog$1MyFileFilter MyFileFilter InnerClasseslog. @ @  snapshot.java/lang/StringBuilderRemoving file:    Failed to remove GA HI'org/apache/zookeeper/server/PurgeTxnLog >?java/lang/Objectjava/io/IOExceptionjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vexit(I)V(Ljava/io/File;Ljava/io/File;)VfindNRecentSnapshots(I)Ljava/util/List;java/util/Listsize()Iget(I)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; java/util/Setadd(Ljava/lang/Object;)ZgetName()Ljava/lang/String;,org/apache/zookeeper/server/persistence/UtilgetZxidFromName'(Ljava/lang/String;Ljava/lang/String;)JgetSnapshotLogs(J)[Ljava/io/File;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;addAll(Ljava/util/Collection;)Z getDataDir()Ljava/io/File;$(Ljava/lang/String;Ljava/util/Set;)V listFiles%(Ljava/io/FileFilter;)[Ljava/io/File;(Ljava/util/Collection;)V getSnapDirappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/text/DateFormatgetDateTimeInstance()Ljava/text/DateFormat; lastModified()Jjava/lang/LongvalueOf(J)Ljava/lang/Long;format&(Ljava/lang/Object;)Ljava/lang/String;getPathtoStringdeleteerrjava/lang/IntegerparseInt(Ljava/lang/String;)Iorg/apache/log4j/Logger getLogger,(Ljava/lang/Class;)Lorg/apache/log4j/Logger;!:=>?@AB/*C+D EFGABQ%C/012 3$4 HIBt L Y Y*+ NY:-:d:::W7-W: Y- Y! "#$:  -% Y& "#'W :  j : (Y)*+, -./+0+ 1+2 3 4(Y)5+ 1+2CR?@CH"I)J3K4LIMhNuPQS`ceg#j+kKoDh JKR#LMXJK qLM LNKLOKLPQ3RS"*TU)#VWIXKYZ[U \W ]*"*T^)#V_[^ \_ `a bcBH* *6<Y*27M,N*Y*27N*286,-9C2 w xyz{|$}'~28@GD4Hde7fQ,NK*OK@PQ`agAB" :;<C,hi