PK V: META-INF/PK V:DmMETA-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 11.0-b16 (Sun Microsystems Inc.) Main-Class: GUIMain Class-Path: PK V:aWq GUI$1.class1   SourceFileGUI.javaEnclosingMethod GUI$1 InnerClassesjava/lang/ObjectGUI  PK V:aʞGUI$CodeHandler.class1A $ % & '( )* +, )- ). )/012this$0LGUI;(LGUI;)VCodeLineNumberTableLocalVariableTablethis CodeHandler InnerClassesLGUI$CodeHandler;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent;3(LGUI;LGUI$1;)Vx0x1LGUI$1; SourceFileGUI.java   45 678 9:; <= > ?: @GUI$CodeHandlerjava/lang/Objectjava/awt/event/ActionListenerGUI$1()Vjava/awt/event/ActionEvent getSource()Ljava/lang/Object;GUI access$800)(LGUI;)Ljavax/swing/JRadioButtonMenuItem;ParityValidator setParityCode(Z)V access$600 access$900 access$700   4 *+*  3+**+** '+233D*+  !"# ))PK V:#OCCGUI$ExitHandler.class15 ! " # $% $& '()*+this$0LGUI;(LGUI;)VCodeLineNumberTableLocalVariableTablethis ExitHandler InnerClassesLGUI$ExitHandler;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent;,(LGUI;LGUI$1;)Vx0x1LGUI$1; SourceFileGUI.java -. /0 1-2 34GUI$ExitHandlerjava/lang/Objectjava/awt/event/ActionListenerGUI$1()VGUI setVisible(Z)Vdisposejava/lang/Systemexit(I)V    4 *+*  T** D*+   $$PK V:7Ю ||GUI$KeyHandler.class1L ' ( ) *+ ,- ,. /0 12 34 ,5 ,678this$0LGUI;(LGUI;)VCodeLineNumberTableLocalVariableTablethis KeyHandler InnerClassesLGUI$KeyHandler; keyReleased(Ljava/awt/event/KeyEvent;)VevtLjava/awt/event/KeyEvent;codeI9(LGUI;LGUI$1;)Vx0x1LGUI$1; SourceFileGUI.java   :; <=> ? @AB CDE F=G HI J KGUI$KeyHandlerjava/awt/event/KeyAdapterGUI$1()Vjava/awt/event/KeyEvent getKeyCode()IGUI access$1000 access$1100(LGUI;)Ljavax/swing/JTextField;javax/swing/JTextFieldgetText()Ljava/lang/String;java/lang/StringlengthParityValidator isParityCode()Z access$600 access$700 4 *+*   O+=%'$# ** * * & $"4$:&A(G*N- OOJ!D*+  "#$%& ,,PK V:RRGUI$ParityHandler.class1E % & ' () *+ ,- *. ,/ *0 *1234this$0LGUI;(LGUI;)VCodeLineNumberTableLocalVariableTablethis ParityHandler InnerClassesLGUI$ParityHandler;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent;5(LGUI;LGUI$1;)Vx0x1LGUI$1; SourceFileGUI.java   67 89: ;<= >? @< AB C DGUI$ParityHandlerjava/lang/Objectjava/awt/event/ActionListenerGUI$1()Vjava/awt/event/ActionEvent getSource()Ljava/lang/Object;GUI access$400)(LGUI;)Ljavax/swing/JRadioButtonMenuItem;ParityValidator setEvenParity(Z)V access$500 isParityCode()Z access$600 access$700  4 *+*  ?+*+* *  * &  $*17>??D*+  !"#$ **PK V:?r@@ GUI.class1 Q Q Q Q Q Q Q Q R Q Q  Q  Q Q  Q  ! # Q & Q ) Q , Q / Q    Q  Q   ! ! A Q qu tv !  K A K K ! InnerClasses KeyHandler CodeHandler ParityHandler ExitHandler parityGroupLjavax/swing/ButtonGroup; codewordGroupmenuBarLjavax/swing/JMenuBar;fileMenuLjavax/swing/JMenu; codewordMenuexitItemLjavax/swing/JMenuItem;evenParityItem"Ljavax/swing/JRadioButtonMenuItem; oddParityItemparityCodeItemhammingCodeItem codewordFldLjavax/swing/JTextField; exitListenerLjava/awt/event/ActionListener;parityListener codeListener keyListenerLjava/awt/event/KeyListener;EVENLjava/lang/String; ConstantValueODDHAMMINGPARITYTEXTFIELD_SIZEI (Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLGUI;titleinit()VsetHammingCodeColoursetParityCodeColour setColourdeleteInvalidCharscCarr$[Clen$i$builderLjava/lang/StringBuilder;text access$400)(LGUI;)Ljavax/swing/JRadioButtonMenuItem;x0 access$500 access$600(LGUI;)V access$700 access$800 access$900 access$1000 access$1100(LGUI;)Ljavax/swing/JTextField; SourceFileGUI.java ij he ge fe de z{javax/swing/ButtonGroup z Z[ \[javax/swing/JMenuBar ]^javax/swing/JMenuFile _`Codeword a`javax/swing/JMenuItemExit bc javax/swing/JRadioButtonMenuItem EVEN Parity ODD ParityParity CodewordHamming Codewordjavax/swing/JTextField zGUI$ExitHandler z klGUI$ParityHandler mlGUI$CodeHandler nlGUI$KeyHandler opjava/awt/FlowLayout  java/lang/String     java/lang/StringBuilder      {GUIjavax/swing/JFrameGUI$1(I)V(LGUI;LGUI$1;)V setLayout(Ljava/awt/LayoutManager;)Vadd(Ljavax/swing/AbstractButton;)V0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem; addSeparator((Ljavax/swing/JMenu;)Ljavax/swing/JMenu; setJMenuBar(Ljavax/swing/JMenuBar;)V setSelected(Z)V*(Ljava/awt/Component;)Ljava/awt/Component;addActionListener"(Ljava/awt/event/ActionListener;)VaddKeyListener(Ljava/awt/event/KeyListener;)VgetText()Ljava/lang/String;length()IParityValidator setValidCode isEvenParity()Zmain([Ljava/lang/String;)V isValidCodejava/awt/ColorGREENLjava/awt/Color; setBackground(Ljava/awt/Color;)VRED toCharArray()[Cappend(C)Ljava/lang/StringBuilder;toStringsetText!QRZ[\[]^_`a`bcdefegeheijklmlnlopqrsBtrsEursCvrsFwxsyz{|7*+ * Y * Y *Y*Y*Y*Y*Y*Y*Y*Y *!Y "*#Y*$%*&Y*'(*)Y**+*,Y*-.}F&3@MZgt~r|}*/Y01* *2* *2* *2* *2**3W**3W**3W*4**3W**3W**5W**5W**6*7*7**8W**%9**(:**(:**+:**+:**.;}b "-8DP\co{~ |*<=*<=*<= >*?*<=(@"AYBSY**?*<=(@"AYBSY*(LGUI;)VCodeLineNumberTableLocalVariableTablethis InnerClasses LGUIMain$1;run()V SourceFile GUIMain.javaEnclosingMethod) *+ , - ./0 12 34 GUIMain$1java/lang/Objectjava/lang/RunnableGUIMainmain([Ljava/lang/String;)VGUIinitsetDefaultCloseOperation(I)VGUIUtilscentre(Ljavax/swing/JFrame;DD)V setVisible(Z)V0   4 *+*;  _%****>?@A$B %  PK V:ݮ GUIMain.class1l 89 :; < => =? @AB CD G HI :J :KL MN OP Q MRSTREQUIRED_NUMBER_OF_ARGUMENTSIFRAME_LOCATIOND ConstantValue?()VCodeLineNumberTableLocalVariableTablethis LGUIMain;main([Ljava/lang/String;)Vargv[Ljava/lang/String;messagesLjava/util/ResourceBundle;frameLGUI;fatalA(Ljava/util/ResourceBundle;Ljava/lang/String;Ljava/lang/String;)V messageKeyLjava/lang/String;codeKeymessagecodeLjava/lang/Integer; SourceFile GUIMain.java GUIMainMessagesU VW 9 X0 Y0 -.GUICodeword Checker 1.0 Z GUIMain$1 InnerClasses [\ ]^ _` abjava/lang/Integerc def gZ hi jkGUIMainjava/lang/Objectjava/util/ResourceBundle getBundle.(Ljava/lang/String;)Ljava/util/ResourceBundle;INCORRECT_ARGUMENTS_MESSAGEINCORRECT_ARGUMENTS_CODE(Ljava/lang/String;)V(LGUI;)Vjava/awt/EventQueue invokeLater(Ljava/lang/Runnable;)V getString&(Ljava/lang/String;)Ljava/lang/String; getObject&(Ljava/lang/String;)Ljava/lang/Object;java/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintlnintValue()Iexit(I)V1 3*! "#" #$ %& .L* +Y M Y, !/138":-D" .'(()*" +, -.  *+N*,:-!TUVWX"4 )* /0 1020345 !! 67F  PK V:LGUIMainMessages.class14  ! "#$ %& '()* +,-.INCORRECT_ARGUMENTS_MESSAGELjava/lang/String;INCORRECT_ARGUMENTS_CODECONTENTS[[Ljava/lang/Object;()VCodeLineNumberTableLocalVariableTablethisLGUIMainMessages; getContents()[[Ljava/lang/Object; SourceFileGUIMainMessages.java   /0incorrect.arguments.message incorrect.arguments.code [Ljava/lang/Object;java/lang/ObjectUsage: GUIMain1 23GUIMainMessagesjava/util/ListResourceBundleclone()Ljava/lang/Object;java/lang/IntegervalueOf(I)Ljava/lang/Integer;! /*  4 *  X8 Y YSY SSY YSY SS PK V:hy.GUIUtils.class1[ 345 6@Y7 38 9 : ;< => =? @A @B @C @D EFGHMAXIMUMI ConstantValued()VCodeLineNumberTableLocalVariableTablethis LGUIUtils;centre(Ljavax/swing/JFrame;DD)VframeLjavax/swing/JFrame; percentWidthD percentHeighttoolkitLjava/awt/Toolkit; screenSizeLjava/awt/Dimension;widthheightxy SourceFile GUIUtils.java "java/lang/IllegalArgumentExceptionframe cannot be null Ijava/lang/StringBuilder/percentWidth must be >= 0.0 and <= 100.0, was: JK JL MN0percentHeight must be >= 0.0 and <= 100.0, was: O PQ RST UV WV - .X YZGUIUtilsjava/lang/Object(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit; getScreenSize()Ljava/awt/Dimension;java/awt/DimensiongetWidth()D getHeightjavax/swing/JFrame setBounds(IIII)V13*   ! "#S * Y' 'YY ' ) )YY ) ::'k6)k6dl6 dl6 *  :-/3579E;`>e?l@vABCDH\ $%&'('e@)*l9+,v/-%./ 0 12PK V:'NLLParityValidator.class1 +w xyz {| x}~    x w   * * * * * *@ * *PARITYI ConstantValueCODEWORDCODETYPEREQUIRED_NUMBER_OF_ARGS evenParityZ parityCode validCode()VCodeLineNumberTableLocalVariableTablethisLParityValidator;main([Ljava/lang/String;)VijbitSumcheckedBitTally[I validHamming checkbits bitsCheckedargs[Ljava/lang/String; numberOfOnescodewordLengthcheckedBitCounter(II)[IiteratorbitActuallyCheckedkcheckBit numCheckscheckspositionnumberOfBitsChecked(II)IlengthbitsfullIterationspartialIterations findCheckbits(I)[IlargestCheckBitpowerpowersgetLargestCheckBit(I)I codewordLog2D log2FloorlargestCheckbitlog2(I)Dvalue setEvenParity(Z)V isEvenParity()Z setParityCode isParityCode setValidCode isValidCode SourceFileParityValidator.java :; +Usage: Main   [0-9]{0,1} ^PARITY$1The codeword for PARITY must be at least 2 digits [0-9]{0,2} ^HAMMING$2The codeword for HAMMING must be at least 3 digits+The code type must be "PARITY" or "HAMMING" [^2-9]{1,}(The codeword must only contain 0s and 1s^EVEN$^ODD$"The parity must be "EVEN" or "ODD" Z java/lang/StringBuilder   is valid 97 is not valid ^_ XY OP cd ij 67 87ParityValidatorjava/lang/Objectjava/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vexit(I)Vjava/lang/Stringmatches(Ljava/lang/String;)Z()IcharAt(I)Coutappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/lang/Mathpow(DD)Dfloor(D)Dlog1*+,-./0-.12-.34-.5 67 87 97:;<3*= 12> ?@ AB<V <=**2*2 %*2 *2  *2*2  *2*2*2>*2*21*2*2Ap;Y*2*2*2*2F p;Y*2*2*28Y*2*2*2*2 6: :6.O6h.. :>6  *2 .d1 *2 p6*2 p68Y*2*2*28Y*2*2*2=<BCF HIM,P4R;TQWYY]]s`{beghloptvwyt~)0Fw~ &)/@CTW]b>z "C-C- #D-  TE-VFGmC-H7 IGJGKLM-N- OP<G M>6h76#`6`6,Oh`6,=. &,14:E>R&Q-,R-&S- <C-GT-GU-CVGAW- XY<&hl=hpdd> h`6h6=  #>>J-&Z-&[- \-]-#J- ^_<0!<"=` N6-#%O-=" &')('.,>4C-0Z-+`- %a-bG cd<k"H'&J#)%6=<= >@>*Z-ef gfh- ij<7 '#'o=K>  k- lm<3(= UV> k7 no<(=_ pm<3)= ij> k7 qo<)=s rm<3= }~> k7 so<=t;<% ()= !&uvPK V: AMETA-INF/PK V:Dm+META-INF/MANIFEST.MFPK V:aWq GUI$1.classPK V:aʞGUI$CodeHandler.classPK V:#OCCGUI$ExitHandler.classPK V:7Ю ||q GUI$KeyHandler.classPK V:RRGUI$ParityHandler.classPK V:?r@@ GUI.classPK V:pL 'GUIMain$1.classPK V:ݮ *GUIMain.classPK V:L0GUIMainMessages.classPK V:hy.4GUIUtils.classPK V:'NLL:ParityValidator.classPK 4XL