Code:
package proguard;
import a;
import aR;
import aU;
import aV;
import aW;
import aX;
import aY;
import ax;
import bC;
import bE;
import bF;
import bM;
import bT;
import bq;
import bv;
import cU;
import cY;
import cg;
import d;
import dH;
import dL;
import dQ;
import db;
import dc;
import dd;
import de;
import df;
import di;
import dk;
import dl;
import dm;
import dn;
import dy;
import eX;
import eY;
import fA;
import fB;
import fC;
import fD;
import fE;
import fF;
import fG;
import fI;
import fJ;
import fK;
import fM;
import fN;
import fO;
import fU;
import fV;
import fW;
import fu;
import fv;
import fw;
import fy;
import fz;
import g;
import ga;
import hA;
import hC;
import hE;
import hF;
import hG;
import hH;
import hM;
import hN;
import hr;
import hs;
import ht;
import hu;
import hv;
import hw;
import hy;
import hz;
import j;
import java****.BufferedOutputStream;
import java****.File;
import java****.FileOutputStream;
import java********Exception;
import java****.OutputStream;
import java****.PrintStream;
import java.util.HashMap;
import java.util.Map;
import k;
import p;
import proguard.obfuscate.DictionaryNameFactory;
import proguard.obfuscate.SimpleNameFactory;
import proguard.obfuscate.SpecialNameFactory;
import proguard.util.ListParser;
import proguard.util.NameParser;
import r;
import s;
import t;
import w;
public class ProGuard
{
private final d jdField_a_of_type_D;
private w jdField_a_of_type_W = new w();
private final w b = new w();
private ProGuard(d paramd)
{
this.jdField_a_of_type_D = paramd;
}
private void a()
{
if (this.jdField_a_of_type_D.verbose)
{
System.out.println("Shrinking...");
if (this.jdField_a_of_type_D.jdField_k_of_type_JavaUtilList != null) {
System.out.println("Explaining why classes and class members are being kept...");
}
if (this.jdField_a_of_type_D.jdField_d_of_type_JavaIoFile != null) {
System.out.println("Printing usage to [" + b(this.jdField_a_of_type_D.jdField_d_of_type_JavaIoFile) + "]...");
}
}
w localw2 = this.b;
w localw1 = this.jdField_a_of_type_W;
hF localhF;
if ((localhF = new hF(this.jdField_a_of_type_D)).jdField_a_of_type_D.jdField_j_of_type_JavaUtilList == null) {
throw new IOException("You have to specify '-keep' options for the shrinking step.");
}
localw1.a(new df());
localw2.a(new df());
hC localhC = localhF.jdField_a_of_type_D.jdField_k_of_type_JavaUtilList == null ? new hH() : new hC();
Object localObject1 = new dH(new ax[] { localhC, new dL("<init>", "()V", localhC) });
localObject1 = a.a(localhF.jdField_a_of_type_D.jdField_j_of_type_JavaUtilList, (ax)localObject1, localhC, true, false, false);
Object localObject3 = localObject1;
w localw3 = localw1;
localObject3.b(localw3);
localObject3 = localObject1;
localw3 = localw2;
localObject3.b(localw3);
localw1.a(new hz(localhC));
localw1.a(new hN(localhC, new aR(true, new aW(new ax[] { new hy(localhC), new hv(localhC), new hG(localhC), new hA(localhC) }))));
if (localhF.jdField_a_of_type_D.jdField_k_of_type_JavaUtilList != null)
{
System.out.println();
localObject1 = new hE((hC)localhC, localhF.jdField_a_of_type_D.verbose);
localObject2 = a.a(localhF.jdField_a_of_type_D.jdField_k_of_type_JavaUtilList, (ax)localObject1, (ax)localObject1);
localObject3 = localObject2;
localw3 = localw1;
localObject3.b(localw3);
localObject3 = localObject2;
localw3 = localw2;
localObject3.b(localw3);
}
if (localhF.jdField_a_of_type_D.jdField_d_of_type_JavaIoFile != null)
{
localObject1 = localhF.jdField_a_of_type_D.jdField_d_of_type_JavaIoFile == d.jdField_b_of_type_JavaIoFile ? System.out : new PrintStream(new BufferedOutputStream(new FileOutputStream(localhF.jdField_a_of_type_D.jdField_d_of_type_JavaIoFile)));
localw1.b(new hM(localhC, (PrintStream)localObject1));
((PrintStream)localObject1).flush();
((PrintStream)localObject1).close();
}
int j = localw1.size();
localObject2 = new w();
localw1.a(new hN(localhC, new dH(new ax[] { new hw(localhC), new dk((w)localObject2) })));
localw1.clear();
int i;
if ((i = ((w)localObject2).size()) == 0) {
throw new IOException("The output jar is empty. Did you specify the proper '-keep' options?");
}
if (localhF.jdField_a_of_type_D.verbose)
{
System.out.println("Removing unused program classes and class elements...");
System.out.println(" Original number of program classes: " + j);
System.out.println(" Final number of program classes: " + i);
}
}
private static PrintStream a(File paramFile)
{
if (paramFile == d.jdField_b_of_type_JavaIoFile) {
return System.out;
}
return new PrintStream(new BufferedOutputStream(new FileOutputStream(paramFile)));
}
private static void a(PrintStream paramPrintStream)
{
if (paramPrintStream == System.out)
{
paramPrintStream.flush();
return;
}
paramPrintStream.close();
}
private static String b(File paramFile)
{
if (paramFile == d.jdField_b_of_type_JavaIoFile) {
return "standard output";
}
try
{
return paramFile.getCanonicalPath();
}
catch (IOException localIOException) {}
return paramFile.getPath();
}
public static void main(String[] paramArrayOfString)
{
if (paramArrayOfString.length == 0)
{
System.out.println("ProGuard, version 4.10 beta1");
System.out.println("Usage: java proguard.ProGuard [options ...]");
System.exit(1);
}
d locald = new d();
try
{
paramArrayOfString = new ConfigurationParser(paramArrayOfString, System.getProperties());
try
{
paramArrayOfString.a(locald);
paramArrayOfString.close();
}
finally
{
paramArrayOfString.close();
}
System.out.println("ProGuard, version 4.10 beta1");
GPL.check();
String[] arrayOfString;
Object localObject2;
if (paramArrayOfString.jdField_a_of_type_D.jdField_j_of_type_JavaIoFile != null)
{
arrayOfString = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Printing configuration to [" + b(arrayOfString.jdField_a_of_type_D.jdField_j_of_type_JavaIoFile) + "]...");
}
localObject2 = a(arrayOfString.jdField_a_of_type_D.jdField_j_of_type_JavaIoFile);
}
try
{
new ConfigurationWriter((OutputStream)localObject2).b(arrayOfString.jdField_a_of_type_D);
a((PrintStream)localObject2);
}
finally
{
a((PrintStream)localObject2);
}
Object localObject7;
Object localObject3;
if ((!paramArrayOfString.jdField_a_of_type_D.a.a()) || (!new t(paramArrayOfString.jdField_a_of_type_D).b()))
{
Object localObject5 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Reading input...");
}
Object localObject9 = ((ProGuard)localObject5).b;
localObject5 = ((ProGuard)localObject5).jdField_a_of_type_W;
if ((localObject2 = new k(((ProGuard)localObject5).jdField_a_of_type_D)).jdField_a_of_type_D.a == null) {
throw new IOException("The input is empty. You have to specify one or more '-injars' options");
}
k.a(((k)localObject2).jdField_a_of_type_D.jdField_b_of_type_A, ((k)localObject2).jdField_a_of_type_D.a);
k.a(((k)localObject2).jdField_a_of_type_D.a, ((k)localObject2).jdField_a_of_type_D.a);
cY localcY = new cY(System.err, ((k)localObject2).jdField_a_of_type_D.t);
Object localObject12 = new cY(System.out, ((k)localObject2).jdField_a_of_type_D.s);
Object localObject13 = new g((cY)localObject12);
k.a("Reading program ", ((k)localObject2).jdField_a_of_type_D.a, new eX(new eY(false, ((k)localObject2).jdField_a_of_type_D.jdField_b_of_type_Boolean, ((k)localObject2).jdField_a_of_type_D.jdField_c_of_type_Boolean, localcY, new dl((w)localObject5, (ax)localObject13, new dk((w)localObject5)))));
if (((w)localObject5).size() == 0) {
throw new IOException("The input doesn't contain any classes. Did you specify the proper '-injars' options?");
}
if (((k)localObject2).jdField_a_of_type_D.jdField_b_of_type_A != null) {
k.a("Reading library ", ((k)localObject2).jdField_a_of_type_D.jdField_b_of_type_A, new eX(new eY(true, ((k)localObject2).jdField_a_of_type_D.jdField_b_of_type_Boolean, ((k)localObject2).jdField_a_of_type_D.jdField_c_of_type_Boolean, localcY, new dl((w)localObject5, (ax)localObject13, new dl((w)localObject9, (ax)localObject13, new dk((w)localObject9))))));
}
int n;
if ((n = ((cY)localObject12).aU) > 0) {
System.err.println("Note: there were " + n + " duplicate class definitions.");
}
int j;
if ((j = localcY.aU) > 0)
{
System.err.println("Warning: there were " + j + " classes in incorrectly named files.");
System.err.println(" You should make sure all file names correspond to their class names.");
System.err.println(" The directory hierarchies must correspond to the package hierarchies.");
if (!((k)localObject2).jdField_a_of_type_D.jdField_o_of_type_Boolean)
{
System.err.println(" If you don't mind the mentioned classes not being written out,");
System.err.println(" you could try your luck using the '-ignorewarnings' option.");
throw new IOException("Please correct the above warnings first.");
}
}
if ((paramArrayOfString.jdField_a_of_type_D.jdField_c_of_type_JavaIoFile != null) || (paramArrayOfString.jdField_a_of_type_D.jdField_d_of_type_Boolean) || (paramArrayOfString.jdField_a_of_type_D.jdField_e_of_type_Boolean) || (paramArrayOfString.jdField_a_of_type_D.jdField_h_of_type_Boolean) || (paramArrayOfString.jdField_a_of_type_D.m))
{
localObject5 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Initializing...");
}
new j(((ProGuard)localObject5).jdField_a_of_type_D).a(((ProGuard)localObject5).jdField_a_of_type_W, ((ProGuard)localObject5).b);
}
if (paramArrayOfString.jdField_a_of_type_D.jdField_c_of_type_Int != 0)
{
localObject5 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Setting target versions...");
}
new s(((ProGuard)localObject5).jdField_a_of_type_D).a(((ProGuard)localObject5).jdField_a_of_type_W);
}
if (paramArrayOfString.jdField_a_of_type_D.jdField_c_of_type_JavaIoFile != null)
{
localObject5 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Printing kept classes, fields, and methods...");
}
localObject2 = a(((ProGuard)localObject5).jdField_a_of_type_D.jdField_c_of_type_JavaIoFile);
}
Object localObject10;
Object localObject14;
Object localObject15;
try
{
localObject13 = ((ProGuard)localObject5).b;
localObject12 = ((ProGuard)localObject5).jdField_a_of_type_W;
localObject10 = ((ProGuard)localObject5).jdField_a_of_type_D;
localObject9 = new r((PrintStream)localObject2);
if (((d)localObject10).jdField_j_of_type_JavaUtilList == null) {
throw new IOException("You have to specify '-keep' options for the shrinking step.");
}
((w)localObject12).a(new df());
((w)localObject13).a(new df());
localObject14 = new fU();
localObject10 = a.a(((d)localObject10).jdField_j_of_type_JavaUtilList, (ax)localObject14, (ax)localObject14, true, true, true);
localObject15 = localObject10;
localObject14 = localObject12;
localObject15.b((w)localObject14);
localObject15 = localObject10;
localObject14 = localObject13;
localObject15.b((w)localObject14);
localObject10 = new dQ(false, ((r)localObject9).ps);
((w)localObject12).b(new dH(new ax[] { new fV((ax)localObject10), new db(new fW((ax)localObject10)) }));
a((PrintStream)localObject2);
}
finally
{
a((PrintStream)localObject2);
}
paramArrayOfString.a();
if (paramArrayOfString.jdField_a_of_type_D.m)
{
localObject7 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Inlining subroutines...");
}
localObject7 = ((ProGuard)localObject7).jdField_a_of_type_W;
localObject2 = new hu(((ProGuard)localObject7).jdField_a_of_type_D);
((w)localObject7).a(new df());
localObject9 = new dc(new aR(new hs()));
if (!((hu)localObject2).jdField_a_of_type_D.jdField_n_of_type_Boolean) {
localObject9 = new dn(3276800, (ax)localObject9);
}
((w)localObject7).a((ax)localObject9);
}
if (paramArrayOfString.jdField_a_of_type_D.jdField_e_of_type_Boolean) {
for (int i = 0; i < paramArrayOfString.jdField_a_of_type_D.jdField_d_of_type_Int; i++)
{
localObject7 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Optimizing...");
}
if (!new ga(((ProGuard)localObject7).jdField_a_of_type_D).a(((ProGuard)localObject7).jdField_a_of_type_W, ((ProGuard)localObject7).b)) {
break;
}
if (paramArrayOfString.jdField_a_of_type_D.jdField_d_of_type_Boolean)
{
paramArrayOfString.jdField_a_of_type_D.jdField_d_of_type_JavaIoFile = null;
paramArrayOfString.jdField_a_of_type_D.jdField_k_of_type_JavaUtilList = null;
paramArrayOfString.a();
}
}
}
if (paramArrayOfString.jdField_a_of_type_D.jdField_h_of_type_Boolean)
{
localObject7 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose)
{
System.out.println("Obfuscating...");
if (((ProGuard)localObject7).jdField_a_of_type_D.jdField_f_of_type_JavaIoFile != null) {
System.out.println("Applying mapping [" + b(((ProGuard)localObject7).jdField_a_of_type_D.jdField_f_of_type_JavaIoFile) + "]");
}
if (((ProGuard)localObject7).jdField_a_of_type_D.jdField_e_of_type_JavaIoFile != null) {
System.out.println("Printing mapping to [" + b(((ProGuard)localObject7).jdField_a_of_type_D.jdField_e_of_type_JavaIoFile) + "]...");
}
}
localObject9 = ((ProGuard)localObject7).b;
localObject7 = ((ProGuard)localObject7).jdField_a_of_type_W;
if (((localObject3 = new fM(((ProGuard)localObject7).jdField_a_of_type_D)).jdField_a_of_type_D.jdField_j_of_type_JavaUtilList == null) && (((fM)localObject3).jdField_a_of_type_D.jdField_f_of_type_JavaIoFile == null) && (((fM)localObject3).jdField_a_of_type_D.jdField_e_of_type_JavaIoFile == null)) {
throw new IOException("You have to specify '-keep' options for the obfuscation step.");
}
((w)localObject7).a(new df());
((w)localObject9).a(new df());
localObject10 = ((fM)localObject3).jdField_a_of_type_D.jdField_j_of_type_Boolean ? new db(new cU()) : new dd(new cU());
((w)localObject7).a((ax)localObject10);
((w)localObject9).a((ax)localObject10);
localObject12 = new fK();
localObject13 = a.a(((fM)localObject3).jdField_a_of_type_D.jdField_j_of_type_JavaUtilList, (ax)localObject12, (ax)localObject12, false, false, true);
localObject15 = localObject13;
localObject14 = localObject7;
localObject15.b((w)localObject14);
localObject15 = localObject13;
localObject14 = localObject9;
localObject15.b((w)localObject14);
((w)localObject9).a((ax)localObject12);
((w)localObject9).a(new db((ax)localObject12));
localObject14 = new aX(new fv());
localObject10 = ((fM)localObject3).jdField_a_of_type_D.jdField_o_of_type_JavaUtilList == null ? null : new aV(new ListParser(new NameParser()).b(((fM)localObject3).jdField_a_of_type_D.jdField_o_of_type_JavaUtilList), (ax)localObject14);
((w)localObject7).a(new aR(true, new aY((ax)localObject14, (ax)localObject10)));
if (((fM)localObject3).jdField_a_of_type_D.l) {
((w)localObject7).a(new dc(new fF(new aR(true, new fN((ax)localObject14)))));
}
((w)localObject7).a(new fu());
if (((fM)localObject3).jdField_a_of_type_D.jdField_f_of_type_JavaIoFile != null)
{
localObject10 = new cY(System.err, ((fM)localObject3).jdField_a_of_type_D.t);
localObject12 = new fC(((fM)localObject3).jdField_a_of_type_D.jdField_f_of_type_JavaIoFile);
localObject13 = new fJ(new ax[] { new fA((w)localObject7, (cY)localObject10), new fA((w)localObject9, null) });
((fC)localObject12).u((ax)localObject13);
int k;
if ((k = ((cY)localObject10).aU) > 0)
{
System.err.println("Warning: there were " + k + " kept classes and class members that were remapped anyway.");
System.err.println(" You should adapt your configuration or edit the mapping file.");
if (!((fM)localObject3).jdField_a_of_type_D.jdField_o_of_type_Boolean)
{
System.err.println(" If you are sure this remapping won't hurt,");
System.err.println(" you could try your luck using the '-ignorewarnings' option.");
throw new IOException("Please correct the above warnings first.");
}
}
}
Object localObject11 = ((fM)localObject3).jdField_a_of_type_D.jdField_h_of_type_JavaIoFile != null ? new DictionaryNameFactory(((fM)localObject3).jdField_a_of_type_D.jdField_h_of_type_JavaIoFile, null) : null;
localObject12 = ((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_JavaIoFile != null ? new DictionaryNameFactory(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_JavaIoFile, null) : null;
((w)localObject7).a(new fw((w)localObject7, (DictionaryNameFactory)localObject11, (DictionaryNameFactory)localObject12, ((fM)localObject3).jdField_a_of_type_D.jdField_k_of_type_Boolean, ((fM)localObject3).jdField_a_of_type_D.jdField_n_of_type_JavaUtilList, ((fM)localObject3).jdField_a_of_type_D.jdField_d_of_type_JavaLangString, ((fM)localObject3).jdField_a_of_type_D.jdField_e_of_type_JavaLangString, ((fM)localObject3).jdField_a_of_type_D.jdField_f_of_type_Boolean));
localObject13 = new SimpleNameFactory();
if (((fM)localObject3).jdField_a_of_type_D.g != null) {
localObject13 = new DictionaryNameFactory(((fM)localObject3).jdField_a_of_type_D.g, (ax)localObject13);
}
localObject11 = new cY(System.err, ((fM)localObject3).jdField_a_of_type_D.t);
localObject12 = new HashMap();
if (((fM)localObject3).jdField_a_of_type_D.jdField_j_of_type_Boolean)
{
((w)localObject7).a(new db(new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)));
((w)localObject7).a(new db(new fG(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (ax)localObject13, (Map)localObject12)));
}
else
{
((w)localObject7).a(new dH(new ax[] { new di(true, false, false, true, new db(new dy(2, 0, new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)))), new di(true, true, true, true, new db(new dy(0, 2, new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)))), new db(new dy(0, 2, new fG(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (ax)localObject13, (Map)localObject12))), new fz((Map)localObject12) }));
((w)localObject7).a(new dH(new ax[] { new db(new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)), new di(false, true, true, false, new db(new dy(0, 2, new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)))), new di(false, false, false, true, new de(1024, 0, new di(false, false, true, false, new db(new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12))))), new db(new dy(2, 0, new fG(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (ax)localObject13, (Map)localObject12))), new fz((Map)localObject12) }));
}
localObject13 = new SpecialNameFactory(new SimpleNameFactory());
localObject14 = new HashMap();
((w)localObject7).a(new db(new fI(new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject14))));
((w)localObject9).a(new db(new fI(new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject14))));
((w)localObject7).a(new dH(new ax[] { new di(true, false, false, true, new db(new dy(2, 0, new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)))), new di(true, true, true, false, new db(new dy(0, 2, new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)))), new di(true, true, true, false, new db(new dy(0, 2, new fE(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12, (cY)localObject11, new fG(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (ax)localObject13, (Map)localObject14))))), new fz((Map)localObject12) }));
((w)localObject7).a(new dH(new ax[] { new db(new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)), new di(false, true, true, false, new db(new dy(0, 2, new fD(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12)))), new db(new dy(2, 0, new fE(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (Map)localObject12, (cY)localObject11, new fG(((fM)localObject3).jdField_a_of_type_D.jdField_i_of_type_Boolean, (ax)localObject13, (Map)localObject14)))), new fz((Map)localObject12) }));
int m;
if ((m = ((cY)localObject11).aU) > 0)
{
System.err.println("Warning: there were " + m + " conflicting class member name mappings.");
System.err.println(" Your configuration may be inconsistent.");
if (!((fM)localObject3).jdField_a_of_type_D.jdField_o_of_type_Boolean)
{
System.err.println(" If you are sure the conflicts are harmless,");
System.err.println(" you could try your luck using the '-ignorewarnings' option.");
throw new IOException("Please correct the above warnings first.");
}
}
if (((fM)localObject3).jdField_a_of_type_D.jdField_e_of_type_JavaIoFile != null)
{
PrintStream localPrintStream = ((fM)localObject3).jdField_a_of_type_D.jdField_e_of_type_JavaIoFile == d.jdField_b_of_type_JavaIoFile ? System.out : new PrintStream(new BufferedOutputStream(new FileOutputStream(((fM)localObject3).jdField_a_of_type_D.jdField_e_of_type_JavaIoFile)));
((w)localObject7).b(new fB(localPrintStream));
if (localPrintStream == System.out) {
localPrintStream.flush();
} else {
localPrintStream.close();
}
}
((w)localObject7).a(new fy());
((w)localObject9).a(new fy());
((w)localObject7).a(new bF(false));
((w)localObject9).a(new bF(false));
((w)localObject7).a(new cg());
if ((((fM)localObject3).jdField_a_of_type_D.jdField_e_of_type_JavaLangString != null) && (((fM)localObject3).jdField_a_of_type_D.jdField_f_of_type_Boolean))
{
((w)localObject7).a(new bq(new bv()));
((w)localObject7).a(new aR(new aU(new bT())));
}
((w)localObject7).a(new dc(new bC()));
if (((fM)localObject3).jdField_a_of_type_D.jdField_f_of_type_JavaLangString != null) {
((w)localObject7).a(new fO(((fM)localObject3).jdField_a_of_type_D.jdField_f_of_type_JavaLangString));
}
((w)localObject7).a(new bM());
}
if (paramArrayOfString.jdField_a_of_type_D.m)
{
localObject7 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Preverifying...");
}
localObject7 = ((ProGuard)localObject7).jdField_a_of_type_W;
localObject3 = new ht(((ProGuard)localObject7).jdField_a_of_type_D);
((w)localObject7).a(new df());
localObject9 = new dc(new aR(new hr(((ht)localObject3).jdField_a_of_type_D.jdField_n_of_type_Boolean)));
if (!((ht)localObject3).jdField_a_of_type_D.jdField_n_of_type_Boolean) {
localObject9 = new dn(3276800, (ax)localObject9);
}
((w)localObject7).a((ax)localObject9);
}
if ((paramArrayOfString.jdField_a_of_type_D.jdField_d_of_type_Boolean) || (paramArrayOfString.jdField_a_of_type_D.jdField_e_of_type_Boolean) || (paramArrayOfString.jdField_a_of_type_D.jdField_h_of_type_Boolean) || (paramArrayOfString.jdField_a_of_type_D.m)) {
paramArrayOfString.jdField_a_of_type_W.a(new bE());
}
if (paramArrayOfString.jdField_a_of_type_D.a.a())
{
localObject7 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Writing output...");
}
new p(((ProGuard)localObject7).jdField_a_of_type_D).a(((ProGuard)localObject7).jdField_a_of_type_W);
}
if (paramArrayOfString.jdField_a_of_type_D.jdField_k_of_type_JavaIoFile != null)
{
localObject7 = paramArrayOfString;
if (paramArrayOfString.jdField_a_of_type_D.verbose) {
System.out.println("Printing classes to [" + b(((ProGuard)localObject7).jdField_a_of_type_D.jdField_k_of_type_JavaIoFile) + "]...");
}
localObject3 = a(((ProGuard)localObject7).jdField_a_of_type_D.jdField_k_of_type_JavaIoFile);
}
}
try
{
((ProGuard)localObject7).jdField_a_of_type_W.a(new dm((PrintStream)localObject3));
a((PrintStream)localObject3);
}
finally
{
a((PrintStream)localObject3);
}
System.exit(0);
}
catch (Exception paramArrayOfString)
{
if (locald.verbose) {
paramArrayOfString.printStackTrace();
} else {
System.err.println("Error: " + paramArrayOfString.getMessage());
}
System.exit(1);
}
}
}
Yes, these are the same class. If you look through the source, there's plenty of obvious differences, yet the code when run still does the same thing. Of course, you can still save the source and manually refractor fields and methods. I do this when I decompile minecraft since there's still a decent ammount of code I used that hasn't been mapped by the MCP team.