From f63f888daf788aaaeb9fcb364d6b6fe374f04099 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Tue, 11 Aug 2015 19:38:28 +0800 Subject: [PATCH] crash report uploading system & fix crashing when no version here. --- HMCL/build.gradle | 2 +- HMCL/obfuscate_2.3.4.map | 5565 +++++++++++++++++ .../hellominecraft/launcher/Main.java | 22 +- .../launcher/utils/CrashReporter.java | 12 + .../version/MinecraftVersionManager.java | 5 +- .../hellominecraft/utils/NetUtils.java | 2 - .../hellominecraft/utils/UpdateChecker.java | 15 +- .../hellominecraft/utils/system/OS.java | 12 +- 8 files changed, 5616 insertions(+), 19 deletions(-) create mode 100644 HMCL/obfuscate_2.3.4.map diff --git a/HMCL/build.gradle b/HMCL/build.gradle index c89f5f885..89b24a481 100644 --- a/HMCL/build.gradle +++ b/HMCL/build.gradle @@ -28,7 +28,7 @@ if (!hasProperty('mainClass')) { def buildnumber = System.getenv("BUILD_NUMBER") == null ? "" : "."+System.getenv("BUILD_NUMBER") String mavenGroupId = 'HMCL' -String mavenVersion = '2.3.3' + buildnumber +String mavenVersion = '2.3.4' + buildnumber String bundleName = "Hello Minecraft! Launcher" group = mavenGroupId diff --git a/HMCL/obfuscate_2.3.4.map b/HMCL/obfuscate_2.3.4.map new file mode 100644 index 000000000..7aef206a0 --- /dev/null +++ b/HMCL/obfuscate_2.3.4.map @@ -0,0 +1,5565 @@ +com.google.gson.DefaultDateTypeAdapter -> com.google.gson.DefaultDateTypeAdapter: + java.text.DateFormat enUsFormat -> enUsFormat + java.text.DateFormat localFormat -> localFormat + java.text.DateFormat iso8601Format -> iso8601Format + 71:74:com.google.gson.JsonElement serialize(java.util.Date,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize + 79:90:java.util.Date deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> deserialize + 95:109:java.util.Date deserializeToDate(com.google.gson.JsonElement) -> deserializeToDate + 114:117:java.lang.String toString() -> toString + 35:35:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize + 35:35:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> deserialize +com.google.gson.ExclusionStrategy -> com.google.gson.ExclusionStrategy: + boolean shouldSkipField(com.google.gson.FieldAttributes) -> shouldSkipField + boolean shouldSkipClass(java.lang.Class) -> shouldSkipClass +com.google.gson.FieldAttributes -> com.google.gson.FieldAttributes: + java.lang.reflect.Field field -> field + 53:53:java.lang.Class getDeclaringClass() -> getDeclaringClass + 60:60:java.lang.String getName() -> getName + 80:80:java.lang.reflect.Type getDeclaredType() -> getDeclaredType + 100:100:java.lang.Class getDeclaredClass() -> getDeclaredClass + 111:111:java.lang.annotation.Annotation getAnnotation(java.lang.Class) -> getAnnotation + 121:121:java.util.Collection getAnnotations() -> getAnnotations + 135:135:boolean hasModifier(int) -> hasModifier + 146:146:java.lang.Object get(java.lang.Object) -> get + 155:155:boolean isSynthetic() -> isSynthetic +com.google.gson.FieldNamingPolicy -> com.google.gson.FieldNamingPolicy: + com.google.gson.FieldNamingPolicy IDENTITY -> IDENTITY + com.google.gson.FieldNamingPolicy UPPER_CAMEL_CASE -> UPPER_CAMEL_CASE + com.google.gson.FieldNamingPolicy UPPER_CAMEL_CASE_WITH_SPACES -> UPPER_CAMEL_CASE_WITH_SPACES + com.google.gson.FieldNamingPolicy LOWER_CASE_WITH_UNDERSCORES -> LOWER_CASE_WITH_UNDERSCORES + com.google.gson.FieldNamingPolicy LOWER_CASE_WITH_DASHES -> LOWER_CASE_WITH_DASHES + com.google.gson.FieldNamingPolicy[] $VALUES -> $VALUES + 30:30:com.google.gson.FieldNamingPolicy[] values() -> values + 30:30:com.google.gson.FieldNamingPolicy valueOf(java.lang.String) -> valueOf + 123:131:java.lang.String separateCamelCase(java.lang.String,java.lang.String) -> separateCamelCase + 138:159:java.lang.String upperCaseFirstLetter(java.lang.String) -> upperCaseFirstLetter + 164:164:java.lang.String modifyString(char,java.lang.String,int) -> modifyString + 30:30:java.lang.String access$100(java.lang.String) -> access$100 + 30:30:java.lang.String access$200(java.lang.String,java.lang.String) -> access$200 +com.google.gson.FieldNamingPolicy$1 -> com.google.gson.FieldNamingPolicy$1: + 38:38:java.lang.String translateName(java.lang.reflect.Field) -> translateName +com.google.gson.FieldNamingPolicy$2 -> com.google.gson.FieldNamingPolicy$2: + 54:54:java.lang.String translateName(java.lang.reflect.Field) -> translateName +com.google.gson.FieldNamingPolicy$3 -> com.google.gson.FieldNamingPolicy$3: + 73:73:java.lang.String translateName(java.lang.reflect.Field) -> translateName +com.google.gson.FieldNamingPolicy$4 -> com.google.gson.FieldNamingPolicy$4: + 91:91:java.lang.String translateName(java.lang.reflect.Field) -> translateName +com.google.gson.FieldNamingPolicy$5 -> com.google.gson.FieldNamingPolicy$5: + 114:114:java.lang.String translateName(java.lang.reflect.Field) -> translateName +com.google.gson.FieldNamingStrategy -> com.google.gson.FieldNamingStrategy: + java.lang.String translateName(java.lang.reflect.Field) -> translateName +com.google.gson.Gson -> com.google.gson.Gson: + boolean DEFAULT_JSON_NON_EXECUTABLE -> DEFAULT_JSON_NON_EXECUTABLE + java.lang.String JSON_NON_EXECUTABLE_PREFIX -> JSON_NON_EXECUTABLE_PREFIX + java.lang.ThreadLocal calls -> calls + java.util.Map typeTokenCache -> typeTokenCache + java.util.List factories -> factories + com.google.gson.internal.ConstructorConstructor constructorConstructor -> constructorConstructor + boolean serializeNulls -> serializeNulls + boolean htmlSafe -> htmlSafe + boolean generateNonExecutableJson -> generateNonExecutableJson + boolean prettyPrinting -> prettyPrinting + com.google.gson.JsonDeserializationContext deserializationContext -> deserializationContext + com.google.gson.JsonSerializationContext serializationContext -> serializationContext + 247:250:com.google.gson.TypeAdapter doubleAdapter(boolean) -> doubleAdapter + 271:274:com.google.gson.TypeAdapter floatAdapter(boolean) -> floatAdapter + 295:300:void checkValidFloatingPoint(double) -> checkValidFloatingPoint + 303:306:com.google.gson.TypeAdapter longAdapter(com.google.gson.LongSerializationPolicy) -> longAdapter + 332:368:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken) -> getAdapter + 420:435:com.google.gson.TypeAdapter getDelegateAdapter(com.google.gson.TypeAdapterFactory,com.google.gson.reflect.TypeToken) -> getDelegateAdapter + 445:445:com.google.gson.TypeAdapter getAdapter(java.lang.Class) -> getAdapter + 462:465:com.google.gson.JsonElement toJsonTree(java.lang.Object) -> toJsonTree + 485:487:com.google.gson.JsonElement toJsonTree(java.lang.Object,java.lang.reflect.Type) -> toJsonTree + 504:507:java.lang.String toJson(java.lang.Object) -> toJson + 526:528:java.lang.String toJson(java.lang.Object,java.lang.reflect.Type) -> toJson + 546:551:void toJson(java.lang.Object,java.lang.Appendable) -> toJson + 571:576:void toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable) -> toJson + 585:601:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter) -> toJson + 611:613:java.lang.String toJson(com.google.gson.JsonElement) -> toJson + 626:631:void toJson(com.google.gson.JsonElement,java.lang.Appendable) -> toJson + 638:646:com.google.gson.stream.JsonWriter newJsonWriter(java.io.Writer) -> newJsonWriter + 654:669:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter) -> toJson + 689:690:java.lang.Object fromJson(java.lang.String,java.lang.Class) -> fromJson + 713:718:java.lang.Object fromJson(java.lang.String,java.lang.reflect.Type) -> fromJson + 740:743:java.lang.Object fromJson(java.io.Reader,java.lang.Class) -> fromJson + 767:770:java.lang.Object fromJson(java.io.Reader,java.lang.reflect.Type) -> fromJson + 775:783:void assertFullConsumption(java.lang.Object,com.google.gson.stream.JsonReader) -> assertFullConsumption + 795:820:java.lang.Object fromJson(com.google.gson.stream.JsonReader,java.lang.reflect.Type) -> fromJson + 841:842:java.lang.Object fromJson(com.google.gson.JsonElement,java.lang.Class) -> fromJson + 865:868:java.lang.Object fromJson(com.google.gson.JsonElement,java.lang.reflect.Type) -> fromJson + 898:898:java.lang.String toString() -> toString + 97:97:void access$000(com.google.gson.Gson,double) -> access$000 +com.google.gson.Gson$1 -> com.google.gson.Gson$1: + com.google.gson.Gson this$0 -> this$0 + 126:126:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type) -> deserialize +com.google.gson.Gson$2 -> com.google.gson.Gson$2: + com.google.gson.Gson this$0 -> this$0 + 132:132:com.google.gson.JsonElement serialize(java.lang.Object) -> serialize + 135:135:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type) -> serialize +com.google.gson.Gson$3 -> com.google.gson.Gson$3: + com.google.gson.Gson this$0 -> this$0 + 252:256:java.lang.Double read(com.google.gson.stream.JsonReader) -> read + 259:266:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 250:250:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 250:250:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.Gson$4 -> com.google.gson.Gson$4: + com.google.gson.Gson this$0 -> this$0 + 276:280:java.lang.Float read(com.google.gson.stream.JsonReader) -> read + 283:290:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 274:274:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 274:274:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.Gson$5 -> com.google.gson.Gson$5: + com.google.gson.Gson this$0 -> this$0 + 308:312:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 315:320:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 306:306:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 306:306:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.Gson$FutureTypeAdapter -> com.google.gson.Gson$FutureTypeAdapter: + com.google.gson.TypeAdapter delegate -> delegate + 875:879:void setDelegate(com.google.gson.TypeAdapter) -> setDelegate + 882:885:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 889:893:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.GsonBuilder -> com.google.gson.GsonBuilder: + com.google.gson.internal.Excluder excluder -> excluder + com.google.gson.LongSerializationPolicy longSerializationPolicy -> longSerializationPolicy + com.google.gson.FieldNamingStrategy fieldNamingPolicy -> fieldNamingPolicy + java.util.Map instanceCreators -> instanceCreators + java.util.List factories -> factories + java.util.List hierarchyFactories -> hierarchyFactories + boolean serializeNulls -> serializeNulls + java.lang.String datePattern -> datePattern + int dateStyle -> dateStyle + int timeStyle -> timeStyle + boolean complexMapKeySerialization -> complexMapKeySerialization + boolean serializeSpecialFloatingPointValues -> serializeSpecialFloatingPointValues + boolean escapeHtmlChars -> escapeHtmlChars + boolean prettyPrinting -> prettyPrinting + boolean generateNonExecutableJson -> generateNonExecutableJson + 104:105:com.google.gson.GsonBuilder setVersion(double) -> setVersion + 120:121:com.google.gson.GsonBuilder excludeFieldsWithModifiers(int[]) -> excludeFieldsWithModifiers + 134:135:com.google.gson.GsonBuilder generateNonExecutableJson() -> generateNonExecutableJson + 145:146:com.google.gson.GsonBuilder excludeFieldsWithoutExposeAnnotation() -> excludeFieldsWithoutExposeAnnotation + 157:158:com.google.gson.GsonBuilder serializeNulls() -> serializeNulls + 238:239:com.google.gson.GsonBuilder enableComplexMapKeySerialization() -> enableComplexMapKeySerialization + 249:250:com.google.gson.GsonBuilder disableInnerClassSerialization() -> disableInnerClassSerialization + 262:263:com.google.gson.GsonBuilder setLongSerializationPolicy(com.google.gson.LongSerializationPolicy) -> setLongSerializationPolicy + 275:276:com.google.gson.GsonBuilder setFieldNamingPolicy(com.google.gson.FieldNamingPolicy) -> setFieldNamingPolicy + 288:289:com.google.gson.GsonBuilder setFieldNamingStrategy(com.google.gson.FieldNamingStrategy) -> setFieldNamingStrategy + 303:306:com.google.gson.GsonBuilder setExclusionStrategies(com.google.gson.ExclusionStrategy[]) -> setExclusionStrategies + 322:323:com.google.gson.GsonBuilder addSerializationExclusionStrategy(com.google.gson.ExclusionStrategy) -> addSerializationExclusionStrategy + 339:340:com.google.gson.GsonBuilder addDeserializationExclusionStrategy(com.google.gson.ExclusionStrategy) -> addDeserializationExclusionStrategy + 350:351:com.google.gson.GsonBuilder setPrettyPrinting() -> setPrettyPrinting + 362:363:com.google.gson.GsonBuilder disableHtmlEscaping() -> disableHtmlEscaping + 384:385:com.google.gson.GsonBuilder setDateFormat(java.lang.String) -> setDateFormat + 403:405:com.google.gson.GsonBuilder setDateFormat(int) -> setDateFormat + 424:427:com.google.gson.GsonBuilder setDateFormat(int,int) -> setDateFormat + 448:462:com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object) -> registerTypeAdapter + 474:475:com.google.gson.GsonBuilder registerTypeAdapterFactory(com.google.gson.TypeAdapterFactory) -> registerTypeAdapterFactory + 494:504:com.google.gson.GsonBuilder registerTypeHierarchyAdapter(java.lang.Class,java.lang.Object) -> registerTypeHierarchyAdapter + 528:529:com.google.gson.GsonBuilder serializeSpecialFloatingPointValues() -> serializeSpecialFloatingPointValues + 539:545:com.google.gson.Gson create() -> create + 554:565:void addTypeAdaptersForDate(java.lang.String,int,int,java.util.List) -> addTypeAdaptersForDate +com.google.gson.InstanceCreator -> com.google.gson.InstanceCreator: + java.lang.Object createInstance(java.lang.reflect.Type) -> createInstance +com.google.gson.JsonArray -> com.google.gson.JsonArray: + java.util.List elements -> elements + 45:49:com.google.gson.JsonArray deepCopy() -> deepCopy + 58:62:void add(com.google.gson.JsonElement) -> add + 70:71:void addAll(com.google.gson.JsonArray) -> addAll + 79:79:int size() -> size + 89:89:java.util.Iterator iterator() -> iterator + 101:101:com.google.gson.JsonElement get(int) -> get + 114:117:java.lang.Number getAsNumber() -> getAsNumber + 130:133:java.lang.String getAsString() -> getAsString + 146:149:double getAsDouble() -> getAsDouble + 163:166:java.math.BigDecimal getAsBigDecimal() -> getAsBigDecimal + 180:183:java.math.BigInteger getAsBigInteger() -> getAsBigInteger + 196:199:float getAsFloat() -> getAsFloat + 212:215:long getAsLong() -> getAsLong + 228:231:int getAsInt() -> getAsInt + 236:239:byte getAsByte() -> getAsByte + 244:247:char getAsCharacter() -> getAsCharacter + 260:263:short getAsShort() -> getAsShort + 276:279:boolean getAsBoolean() -> getAsBoolean + 284:284:boolean equals(java.lang.Object) -> equals + 289:289:int hashCode() -> hashCode + 33:33:com.google.gson.JsonElement deepCopy() -> deepCopy +com.google.gson.JsonDeserializationContext -> com.google.gson.JsonDeserializationContext: + java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type) -> deserialize +com.google.gson.JsonDeserializer -> com.google.gson.JsonDeserializer: + java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> deserialize +com.google.gson.JsonElement -> com.google.gson.JsonElement: + com.google.gson.JsonElement deepCopy() -> deepCopy + 46:46:boolean isJsonArray() -> isJsonArray + 55:55:boolean isJsonObject() -> isJsonObject + 64:64:boolean isJsonPrimitive() -> isJsonPrimitive + 74:74:boolean isJsonNull() -> isJsonNull + 87:90:com.google.gson.JsonObject getAsJsonObject() -> getAsJsonObject + 103:106:com.google.gson.JsonArray getAsJsonArray() -> getAsJsonArray + 119:122:com.google.gson.JsonPrimitive getAsJsonPrimitive() -> getAsJsonPrimitive + 136:139:com.google.gson.JsonNull getAsJsonNull() -> getAsJsonNull + 152:152:boolean getAsBoolean() -> getAsBoolean + 165:165:java.lang.Boolean getAsBooleanWrapper() -> getAsBooleanWrapper + 178:178:java.lang.Number getAsNumber() -> getAsNumber + 191:191:java.lang.String getAsString() -> getAsString + 204:204:double getAsDouble() -> getAsDouble + 217:217:float getAsFloat() -> getAsFloat + 230:230:long getAsLong() -> getAsLong + 243:243:int getAsInt() -> getAsInt + 257:257:byte getAsByte() -> getAsByte + 271:271:char getAsCharacter() -> getAsCharacter + 285:285:java.math.BigDecimal getAsBigDecimal() -> getAsBigDecimal + 299:299:java.math.BigInteger getAsBigInteger() -> getAsBigInteger + 312:312:short getAsShort() -> getAsShort + 321:327:java.lang.String toString() -> toString +com.google.gson.JsonIOException -> com.google.gson.JsonIOException: + long serialVersionUID -> serialVersionUID +com.google.gson.JsonNull -> com.google.gson.JsonNull: + com.google.gson.JsonNull INSTANCE -> INSTANCE + 45:45:com.google.gson.JsonNull deepCopy() -> deepCopy + 53:53:int hashCode() -> hashCode + 61:61:boolean equals(java.lang.Object) -> equals + 26:26:com.google.gson.JsonElement deepCopy() -> deepCopy +com.google.gson.JsonObject -> com.google.gson.JsonObject: + com.google.gson.internal.LinkedTreeMap members -> members + 38:42:com.google.gson.JsonObject deepCopy() -> deepCopy + 54:58:void add(java.lang.String,com.google.gson.JsonElement) -> add + 68:68:com.google.gson.JsonElement remove(java.lang.String) -> remove + 79:80:void addProperty(java.lang.String,java.lang.String) -> addProperty + 90:91:void addProperty(java.lang.String,java.lang.Number) -> addProperty + 101:102:void addProperty(java.lang.String,java.lang.Boolean) -> addProperty + 112:113:void addProperty(java.lang.String,java.lang.Character) -> addProperty + 122:122:com.google.gson.JsonElement createJsonElement(java.lang.Object) -> createJsonElement + 132:132:java.util.Set entrySet() -> entrySet + 142:142:boolean has(java.lang.String) -> has + 152:152:com.google.gson.JsonElement get(java.lang.String) -> get + 162:162:com.google.gson.JsonPrimitive getAsJsonPrimitive(java.lang.String) -> getAsJsonPrimitive + 172:172:com.google.gson.JsonArray getAsJsonArray(java.lang.String) -> getAsJsonArray + 182:182:com.google.gson.JsonObject getAsJsonObject(java.lang.String) -> getAsJsonObject + 187:187:boolean equals(java.lang.Object) -> equals + 193:193:int hashCode() -> hashCode + 32:32:com.google.gson.JsonElement deepCopy() -> deepCopy +com.google.gson.JsonParseException -> com.google.gson.JsonParseException: + long serialVersionUID -> serialVersionUID +com.google.gson.JsonParser -> com.google.gson.JsonParser: + 45:45:com.google.gson.JsonElement parse(java.lang.String) -> parse + 58:69:com.google.gson.JsonElement parse(java.io.Reader) -> parse + 81:90:com.google.gson.JsonElement parse(com.google.gson.stream.JsonReader) -> parse +com.google.gson.JsonPrimitive -> com.google.gson.JsonPrimitive: + java.lang.Class[] PRIMITIVE_TYPES -> PRIMITIVE_TYPES + java.lang.Object value -> value + 90:90:com.google.gson.JsonPrimitive deepCopy() -> deepCopy + 94:104:void setValue(java.lang.Object) -> setValue + 112:112:boolean isBoolean() -> isBoolean + 122:122:java.lang.Boolean getAsBooleanWrapper() -> getAsBooleanWrapper + 132:136:boolean getAsBoolean() -> getAsBoolean + 146:146:boolean isNumber() -> isNumber + 157:157:java.lang.Number getAsNumber() -> getAsNumber + 166:166:boolean isString() -> isString + 176:181:java.lang.String getAsString() -> getAsString + 193:193:double getAsDouble() -> getAsDouble + 204:204:java.math.BigDecimal getAsBigDecimal() -> getAsBigDecimal + 215:215:java.math.BigInteger getAsBigInteger() -> getAsBigInteger + 227:227:float getAsFloat() -> getAsFloat + 238:238:long getAsLong() -> getAsLong + 249:249:short getAsShort() -> getAsShort + 260:260:int getAsInt() -> getAsInt + 265:265:byte getAsByte() -> getAsByte + 270:270:char getAsCharacter() -> getAsCharacter + 274:284:boolean isPrimitiveOrString(java.lang.Object) -> isPrimitiveOrString + 289:301:int hashCode() -> hashCode + 306:326:boolean equals(java.lang.Object) -> equals + 334:339:boolean isIntegral(com.google.gson.JsonPrimitive) -> isIntegral + 33:33:com.google.gson.JsonElement deepCopy() -> deepCopy +com.google.gson.JsonSerializationContext -> com.google.gson.JsonSerializationContext: + com.google.gson.JsonElement serialize(java.lang.Object) -> serialize + com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type) -> serialize +com.google.gson.JsonSerializer -> com.google.gson.JsonSerializer: + com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize +com.google.gson.JsonStreamParser -> com.google.gson.JsonStreamParser: + com.google.gson.stream.JsonReader parser -> parser + java.lang.Object lock -> lock + 82:93:com.google.gson.JsonElement next() -> next + 103:111:boolean hasNext() -> hasNext + 120:120:void remove() -> remove + 52:52:java.lang.Object next() -> next +com.google.gson.JsonSyntaxException -> com.google.gson.JsonSyntaxException: + long serialVersionUID -> serialVersionUID +com.google.gson.LongSerializationPolicy -> com.google.gson.LongSerializationPolicy: + com.google.gson.LongSerializationPolicy DEFAULT -> DEFAULT + com.google.gson.LongSerializationPolicy STRING -> STRING + com.google.gson.LongSerializationPolicy[] $VALUES -> $VALUES + 27:27:com.google.gson.LongSerializationPolicy[] values() -> values + 27:27:com.google.gson.LongSerializationPolicy valueOf(java.lang.String) -> valueOf + com.google.gson.JsonElement serialize(java.lang.Long) -> serialize +com.google.gson.LongSerializationPolicy$1 -> com.google.gson.LongSerializationPolicy$1: + 36:36:com.google.gson.JsonElement serialize(java.lang.Long) -> serialize +com.google.gson.LongSerializationPolicy$2 -> com.google.gson.LongSerializationPolicy$2: + 47:47:com.google.gson.JsonElement serialize(java.lang.Long) -> serialize +com.google.gson.TreeTypeAdapter -> com.google.gson.TreeTypeAdapter: + com.google.gson.JsonSerializer serializer -> serializer + com.google.gson.JsonDeserializer deserializer -> deserializer + com.google.gson.Gson gson -> gson + com.google.gson.reflect.TypeToken typeToken -> typeToken + com.google.gson.TypeAdapterFactory skipPast -> skipPast + com.google.gson.TypeAdapter delegate -> delegate + 51:58:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 62:72:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write + 75:76:com.google.gson.TypeAdapter delegate() -> delegate + 85:85:com.google.gson.TypeAdapterFactory newFactory(com.google.gson.reflect.TypeToken,java.lang.Object) -> newFactory + 95:96:com.google.gson.TypeAdapterFactory newFactoryWithMatchRawType(com.google.gson.reflect.TypeToken,java.lang.Object) -> newFactoryWithMatchRawType + 105:105:com.google.gson.TypeAdapterFactory newTypeHierarchyFactory(java.lang.Class,java.lang.Object) -> newTypeHierarchyFactory +com.google.gson.TreeTypeAdapter$1 -> com.google.gson.TreeTypeAdapter$1: +com.google.gson.TreeTypeAdapter$SingleTypeFactory -> com.google.gson.TreeTypeAdapter$SingleTypeFactory: + com.google.gson.reflect.TypeToken exactType -> exactType + boolean matchRawType -> matchRawType + java.lang.Class hierarchyType -> hierarchyType + com.google.gson.JsonSerializer serializer -> serializer + com.google.gson.JsonDeserializer deserializer -> deserializer + 131:134:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.TypeAdapter -> com.google.gson.TypeAdapter: + void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write + 141:143:void toJson(java.io.Writer,java.lang.Object) -> toJson + 186:186:com.google.gson.TypeAdapter nullSafe() -> nullSafe + 215:217:java.lang.String toJson(java.lang.Object) -> toJson + 229:233:com.google.gson.JsonElement toJsonTree(java.lang.Object) -> toJsonTree + java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 255:256:java.lang.Object fromJson(java.io.Reader) -> fromJson + 269:269:java.lang.Object fromJson(java.lang.String) -> fromJson + 280:283:java.lang.Object fromJsonTree(com.google.gson.JsonElement) -> fromJsonTree +com.google.gson.TypeAdapter$1 -> com.google.gson.TypeAdapter$1: + com.google.gson.TypeAdapter this$0 -> this$0 + 188:193:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write + 195:199:java.lang.Object read(com.google.gson.stream.JsonReader) -> read +com.google.gson.TypeAdapterFactory -> com.google.gson.TypeAdapterFactory: + com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.annotations.Expose -> com.google.gson.annotations.Expose: + boolean serialize() -> serialize + boolean deserialize() -> deserialize +com.google.gson.annotations.SerializedName -> com.google.gson.annotations.SerializedName: + java.lang.String value() -> value +com.google.gson.annotations.Since -> com.google.gson.annotations.Since: + double value() -> value +com.google.gson.annotations.Until -> com.google.gson.annotations.Until: + double value() -> value +com.google.gson.internal.$Gson$Preconditions -> com.google.gson.internal.$Gson$Preconditions: + 34:37:java.lang.Object checkNotNull(java.lang.Object) -> checkNotNull + 41:44:void checkArgument(boolean) -> checkArgument +com.google.gson.internal.$Gson$Types -> com.google.gson.internal.$Gson$Types: + java.lang.reflect.Type[] EMPTY_TYPE_ARRAY -> EMPTY_TYPE_ARRAY + 55:55:java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]) -> newParameterizedTypeWithOwner + 65:65:java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type) -> arrayOf + 75:75:java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type) -> subtypeOf + 84:84:java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type) -> supertypeOf + 93:112:java.lang.reflect.Type canonicalize(java.lang.reflect.Type) -> canonicalize + 117:145:java.lang.Class getRawType(java.lang.reflect.Type) -> getRawType + 151:151:boolean equal(java.lang.Object,java.lang.Object) -> equal + 158:208:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type) -> equals + 213:213:int hashCodeOrZero(java.lang.Object) -> hashCodeOrZero + 217:217:java.lang.String typeToString(java.lang.reflect.Type) -> typeToString + 226:256:java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class) -> getGenericSupertype + 267:268:java.lang.reflect.Type getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class) -> getSupertype + 277:277:java.lang.reflect.Type getArrayComponentType(java.lang.reflect.Type) -> getArrayComponentType + 287:295:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class) -> getCollectionElementType + 308:318:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class) -> getMapKeyAndValueTypes + 324:388:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type) -> resolve + 394:407:java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable) -> resolveTypeVariable + 411:416:int indexOf(java.lang.Object[],java.lang.Object) -> indexOf + 424:425:java.lang.Class declaringClassOf(java.lang.reflect.TypeVariable) -> declaringClassOf + 431:432:void checkNotPrimitive(java.lang.reflect.Type) -> checkNotPrimitive + 42:42:void access$000(java.lang.reflect.Type) -> access$000 + 42:42:int access$100(java.lang.Object) -> access$100 +com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl -> com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl: + java.lang.reflect.Type componentType -> componentType + long serialVersionUID -> serialVersionUID + 506:506:java.lang.reflect.Type getGenericComponentType() -> getGenericComponentType + 510:510:boolean equals(java.lang.Object) -> equals + 515:515:int hashCode() -> hashCode + 519:519:java.lang.String toString() -> toString +com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl -> com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl: + java.lang.reflect.Type ownerType -> ownerType + java.lang.reflect.Type rawType -> rawType + java.lang.reflect.Type[] typeArguments -> typeArguments + long serialVersionUID -> serialVersionUID + 458:458:java.lang.reflect.Type[] getActualTypeArguments() -> getActualTypeArguments + 462:462:java.lang.reflect.Type getRawType() -> getRawType + 466:466:java.lang.reflect.Type getOwnerType() -> getOwnerType + 470:470:boolean equals(java.lang.Object) -> equals + 475:475:int hashCode() -> hashCode + 481:492:java.lang.String toString() -> toString +com.google.gson.internal.$Gson$Types$WildcardTypeImpl -> com.google.gson.internal.$Gson$Types$WildcardTypeImpl: + java.lang.reflect.Type upperBound -> upperBound + java.lang.reflect.Type lowerBound -> lowerBound + long serialVersionUID -> serialVersionUID + 554:554:java.lang.reflect.Type[] getUpperBounds() -> getUpperBounds + 558:558:java.lang.reflect.Type[] getLowerBounds() -> getLowerBounds + 562:562:boolean equals(java.lang.Object) -> equals + 568:568:int hashCode() -> hashCode + 573:578:java.lang.String toString() -> toString +com.google.gson.internal.ConstructorConstructor -> com.google.gson.internal.ConstructorConstructor: + java.util.Map instanceCreators -> instanceCreators + 52:90:com.google.gson.internal.ObjectConstructor get(com.google.gson.reflect.TypeToken) -> get + 95:119:com.google.gson.internal.ObjectConstructor newDefaultConstructor(java.lang.Class) -> newDefaultConstructor + 130:197:com.google.gson.internal.ObjectConstructor newDefaultImplementationConstructor(java.lang.reflect.Type,java.lang.Class) -> newDefaultImplementationConstructor + 202:202:com.google.gson.internal.ObjectConstructor newUnsafeAllocator(java.lang.reflect.Type,java.lang.Class) -> newUnsafeAllocator + 218:218:java.lang.String toString() -> toString +com.google.gson.internal.ConstructorConstructor$1 -> com.google.gson.internal.ConstructorConstructor$1: + com.google.gson.InstanceCreator val$typeCreator -> val$typeCreator + java.lang.reflect.Type val$type -> val$type + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 62:62:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$10 -> com.google.gson.internal.ConstructorConstructor$10: + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 185:185:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$11 -> com.google.gson.internal.ConstructorConstructor$11: + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 191:191:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$12 -> com.google.gson.internal.ConstructorConstructor$12: + com.google.gson.internal.UnsafeAllocator unsafeAllocator -> unsafeAllocator + java.lang.Class val$rawType -> val$rawType + java.lang.reflect.Type val$type -> val$type + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 207:210:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$2 -> com.google.gson.internal.ConstructorConstructor$2: + com.google.gson.InstanceCreator val$rawTypeCreator -> val$rawTypeCreator + java.lang.reflect.Type val$type -> val$type + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 74:74:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$3 -> com.google.gson.internal.ConstructorConstructor$3: + java.lang.reflect.Constructor val$constructor -> val$constructor + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 103:114:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$4 -> com.google.gson.internal.ConstructorConstructor$4: + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 134:134:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$5 -> com.google.gson.internal.ConstructorConstructor$5: + java.lang.reflect.Type val$type -> val$type + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 141:149:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$6 -> com.google.gson.internal.ConstructorConstructor$6: + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 156:156:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$7 -> com.google.gson.internal.ConstructorConstructor$7: + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 162:162:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$8 -> com.google.gson.internal.ConstructorConstructor$8: + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 168:168:java.lang.Object construct() -> construct +com.google.gson.internal.ConstructorConstructor$9 -> com.google.gson.internal.ConstructorConstructor$9: + com.google.gson.internal.ConstructorConstructor this$0 -> this$0 + 178:178:java.lang.Object construct() -> construct +com.google.gson.internal.Excluder -> com.google.gson.internal.Excluder: + double IGNORE_VERSIONS -> IGNORE_VERSIONS + com.google.gson.internal.Excluder DEFAULT -> DEFAULT + double version -> version + int modifiers -> modifiers + boolean serializeInnerClasses -> serializeInnerClasses + boolean requireExpose -> requireExpose + java.util.List serializationStrategies -> serializationStrategies + java.util.List deserializationStrategies -> deserializationStrategies + 63:65:com.google.gson.internal.Excluder clone() -> clone + 70:72:com.google.gson.internal.Excluder withVersion(double) -> withVersion + 76:81:com.google.gson.internal.Excluder withModifiers(int[]) -> withModifiers + 85:87:com.google.gson.internal.Excluder disableInnerClassSerialization() -> disableInnerClassSerialization + 91:93:com.google.gson.internal.Excluder excludeFieldsWithoutExposeAnnotation() -> excludeFieldsWithoutExposeAnnotation + 98:108:com.google.gson.internal.Excluder withExclusionStrategy(com.google.gson.ExclusionStrategy,boolean,boolean) -> withExclusionStrategy + 112:120:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create + 150:188:boolean excludeField(java.lang.reflect.Field,boolean) -> excludeField + 192:212:boolean excludeClass(java.lang.Class,boolean) -> excludeClass + 216:216:boolean isAnonymousOrLocal(java.lang.Class) -> isAnonymousOrLocal + 221:221:boolean isInnerClass(java.lang.Class) -> isInnerClass + 225:225:boolean isStatic(java.lang.Class) -> isStatic + 229:229:boolean isValidVersion(com.google.gson.annotations.Since,com.google.gson.annotations.Until) -> isValidVersion + 233:239:boolean isValidSince(com.google.gson.annotations.Since) -> isValidSince + 243:249:boolean isValidUntil(com.google.gson.annotations.Until) -> isValidUntil + 50:50:java.lang.Object clone() -> clone +com.google.gson.internal.Excluder$1 -> com.google.gson.internal.Excluder$1: + com.google.gson.TypeAdapter delegate -> delegate + boolean val$skipDeserialize -> val$skipDeserialize + boolean val$skipSerialize -> val$skipSerialize + com.google.gson.Gson val$gson -> val$gson + com.google.gson.reflect.TypeToken val$type -> val$type + com.google.gson.internal.Excluder this$0 -> this$0 + 125:129:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 133:138:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write + 141:142:com.google.gson.TypeAdapter delegate() -> delegate +com.google.gson.internal.JsonReaderInternalAccess -> com.google.gson.internal.JsonReaderInternalAccess: + com.google.gson.internal.JsonReaderInternalAccess INSTANCE -> INSTANCE + void promoteNameToValue(com.google.gson.stream.JsonReader) -> promoteNameToValue +com.google.gson.internal.LazilyParsedNumber -> com.google.gson.internal.LazilyParsedNumber: + java.lang.String value -> value + 36:41:int intValue() -> intValue + 49:51:long longValue() -> longValue + 57:57:float floatValue() -> floatValue + 62:62:double doubleValue() -> doubleValue + 67:67:java.lang.String toString() -> toString + 76:76:java.lang.Object writeReplace() -> writeReplace +com.google.gson.internal.LinkedTreeMap -> com.google.gson.internal.LinkedTreeMap: + java.util.Comparator NATURAL_ORDER -> NATURAL_ORDER + java.util.Comparator comparator -> comparator + com.google.gson.internal.LinkedTreeMap$Node root -> root + int size -> size + int modCount -> modCount + com.google.gson.internal.LinkedTreeMap$Node header -> header + com.google.gson.internal.LinkedTreeMap$EntrySet entrySet -> entrySet + com.google.gson.internal.LinkedTreeMap$KeySet keySet -> keySet + boolean $assertionsDisabled -> $assertionsDisabled + 78:78:int size() -> size + 82:83:java.lang.Object get(java.lang.Object) -> get + 87:87:boolean containsKey(java.lang.Object) -> containsKey + 91:97:java.lang.Object put(java.lang.Object,java.lang.Object) -> put + 101:108:void clear() -> clear + 111:112:java.lang.Object remove(java.lang.Object) -> remove + 122:180:com.google.gson.internal.LinkedTreeMap$Node find(java.lang.Object,boolean) -> find + 186:188:com.google.gson.internal.LinkedTreeMap$Node findByObject(java.lang.Object) -> findByObject + 202:204:com.google.gson.internal.LinkedTreeMap$Node findByEntry(java.util.Map$Entry) -> findByEntry + 208:208:boolean equal(java.lang.Object,java.lang.Object) -> equal + 218:274:void removeInternal(com.google.gson.internal.LinkedTreeMap$Node,boolean) -> removeInternal + 277:281:com.google.gson.internal.LinkedTreeMap$Node removeInternalByKey(java.lang.Object) -> removeInternalByKey + 285:301:void replaceInParent(com.google.gson.internal.LinkedTreeMap$Node,com.google.gson.internal.LinkedTreeMap$Node) -> replaceInParent + 311:368:void rebalance(com.google.gson.internal.LinkedTreeMap$Node,boolean) -> rebalance + 374:396:void rotateLeft(com.google.gson.internal.LinkedTreeMap$Node) -> rotateLeft + 402:424:void rotateRight(com.google.gson.internal.LinkedTreeMap$Node) -> rotateRight + 430:431:java.util.Set entrySet() -> entrySet + 435:436:java.util.Set keySet() -> keySet + 625:625:java.lang.Object writeReplace() -> writeReplace +com.google.gson.internal.LinkedTreeMap$1 -> com.google.gson.internal.LinkedTreeMap$1: + 42:42:int compare(java.lang.Comparable,java.lang.Comparable) -> compare + 40:40:int compare(java.lang.Object,java.lang.Object) -> compare +com.google.gson.internal.LinkedTreeMap$EntrySet -> com.google.gson.internal.LinkedTreeMap$EntrySet: + com.google.gson.internal.LinkedTreeMap this$0 -> this$0 + 559:559:int size() -> size + 563:563:java.util.Iterator iterator() -> iterator + 571:571:boolean contains(java.lang.Object) -> contains + 575:584:boolean remove(java.lang.Object) -> remove + 588:589:void clear() -> clear +com.google.gson.internal.LinkedTreeMap$EntrySet$1 -> com.google.gson.internal.LinkedTreeMap$EntrySet$1: + com.google.gson.internal.LinkedTreeMap$EntrySet this$1 -> this$1 + 565:565:java.util.Map$Entry next() -> next + 563:563:java.lang.Object next() -> next +com.google.gson.internal.LinkedTreeMap$KeySet -> com.google.gson.internal.LinkedTreeMap$KeySet: + com.google.gson.internal.LinkedTreeMap this$0 -> this$0 + 594:594:int size() -> size + 598:598:java.util.Iterator iterator() -> iterator + 606:606:boolean contains(java.lang.Object) -> contains + 610:610:boolean remove(java.lang.Object) -> remove + 614:615:void clear() -> clear +com.google.gson.internal.LinkedTreeMap$KeySet$1 -> com.google.gson.internal.LinkedTreeMap$KeySet$1: + com.google.gson.internal.LinkedTreeMap$KeySet this$1 -> this$1 + 600:600:java.lang.Object next() -> next +com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator -> com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator: + com.google.gson.internal.LinkedTreeMap$Node next -> next + com.google.gson.internal.LinkedTreeMap$Node lastReturned -> lastReturned + int expectedModCount -> expectedModCount + com.google.gson.internal.LinkedTreeMap this$0 -> this$0 + 532:532:boolean hasNext() -> hasNext + 536:544:com.google.gson.internal.LinkedTreeMap$Node nextNode() -> nextNode + 548:554:void remove() -> remove +com.google.gson.internal.LinkedTreeMap$Node -> com.google.gson.internal.LinkedTreeMap$Node: + com.google.gson.internal.LinkedTreeMap$Node parent -> parent + com.google.gson.internal.LinkedTreeMap$Node left -> left + com.google.gson.internal.LinkedTreeMap$Node right -> right + com.google.gson.internal.LinkedTreeMap$Node next -> next + com.google.gson.internal.LinkedTreeMap$Node prev -> prev + java.lang.Object key -> key + java.lang.Object value -> value + int height -> height + 467:467:java.lang.Object getKey() -> getKey + 471:471:java.lang.Object getValue() -> getValue + 475:477:java.lang.Object setValue(java.lang.Object) -> setValue + 482:487:boolean equals(java.lang.Object) -> equals + 491:491:int hashCode() -> hashCode + 496:496:java.lang.String toString() -> toString + 503:509:com.google.gson.internal.LinkedTreeMap$Node first() -> first + 516:522:com.google.gson.internal.LinkedTreeMap$Node last() -> last +com.google.gson.internal.ObjectConstructor -> com.google.gson.internal.ObjectConstructor: + java.lang.Object construct() -> construct +com.google.gson.internal.Primitives -> com.google.gson.internal.Primitives: + java.util.Map PRIMITIVE_TO_WRAPPER_TYPE -> PRIMITIVE_TO_WRAPPER_TYPE + java.util.Map WRAPPER_TO_PRIMITIVE_TYPE -> WRAPPER_TO_PRIMITIVE_TYPE + 62:64:void add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class) -> add + 70:70:boolean isPrimitive(java.lang.reflect.Type) -> isPrimitive + 80:80:boolean isWrapperType(java.lang.reflect.Type) -> isWrapperType + 96:98:java.lang.Class wrap(java.lang.Class) -> wrap + 113:115:java.lang.Class unwrap(java.lang.Class) -> unwrap +com.google.gson.internal.Streams -> com.google.gson.internal.Streams: + 40:60:com.google.gson.JsonElement parse(com.google.gson.stream.JsonReader) -> parse + 68:69:void write(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter) -> write + 72:72:java.io.Writer writerForAppendable(java.lang.Appendable) -> writerForAppendable +com.google.gson.internal.Streams$1 -> com.google.gson.internal.Streams$1: +com.google.gson.internal.Streams$AppendableWriter -> com.google.gson.internal.Streams$AppendableWriter: + java.lang.Appendable appendable -> appendable + com.google.gson.internal.Streams$AppendableWriter$CurrentWrite currentWrite -> currentWrite + 88:90:void write(char[],int,int) -> write + 93:94:void write(int) -> write + 96:96:void flush() -> flush + 97:97:void close() -> close +com.google.gson.internal.Streams$AppendableWriter$CurrentWrite -> com.google.gson.internal.Streams$AppendableWriter$CurrentWrite: + char[] chars -> chars + 105:105:int length() -> length + 108:108:char charAt(int) -> charAt + 111:111:java.lang.CharSequence subSequence(int,int) -> subSequence +com.google.gson.internal.UnsafeAllocator -> com.google.gson.internal.UnsafeAllocator: + java.lang.Object newInstance(java.lang.Class) -> newInstance + 39:97:com.google.gson.internal.UnsafeAllocator create() -> create +com.google.gson.internal.UnsafeAllocator$1 -> com.google.gson.internal.UnsafeAllocator$1: + java.lang.reflect.Method val$allocateInstance -> val$allocateInstance + java.lang.Object val$unsafe -> val$unsafe + 48:48:java.lang.Object newInstance(java.lang.Class) -> newInstance +com.google.gson.internal.UnsafeAllocator$2 -> com.google.gson.internal.UnsafeAllocator$2: + java.lang.reflect.Method val$newInstance -> val$newInstance + 67:67:java.lang.Object newInstance(java.lang.Class) -> newInstance +com.google.gson.internal.UnsafeAllocator$3 -> com.google.gson.internal.UnsafeAllocator$3: + java.lang.reflect.Method val$newInstance -> val$newInstance + int val$constructorId -> val$constructorId + 90:90:java.lang.Object newInstance(java.lang.Class) -> newInstance +com.google.gson.internal.UnsafeAllocator$4 -> com.google.gson.internal.UnsafeAllocator$4: + 100:100:java.lang.Object newInstance(java.lang.Class) -> newInstance +com.google.gson.internal.bind.ArrayTypeAdapter -> com.google.gson.internal.bind.ArrayTypeAdapter: + com.google.gson.TypeAdapterFactory FACTORY -> FACTORY + java.lang.Class componentType -> componentType + com.google.gson.TypeAdapter componentTypeAdapter -> componentTypeAdapter + 64:80:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 85:96:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.ArrayTypeAdapter$1 -> com.google.gson.internal.bind.ArrayTypeAdapter$1: + 42:49:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.CollectionTypeAdapterFactory -> com.google.gson.internal.bind.CollectionTypeAdapterFactory: + com.google.gson.internal.ConstructorConstructor constructorConstructor -> constructorConstructor + 44:57:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter -> com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter: + com.google.gson.TypeAdapter elementTypeAdapter -> elementTypeAdapter + com.google.gson.internal.ObjectConstructor constructor -> constructor + 73:85:java.util.Collection read(com.google.gson.stream.JsonReader) -> read + 89:99:void write(com.google.gson.stream.JsonWriter,java.util.Collection) -> write + 60:60:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 60:60:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.DateTypeAdapter -> com.google.gson.internal.bind.DateTypeAdapter: + com.google.gson.TypeAdapterFactory FACTORY -> FACTORY + java.text.DateFormat enUsFormat -> enUsFormat + java.text.DateFormat localFormat -> localFormat + java.text.DateFormat iso8601Format -> iso8601Format + 56:58:java.text.DateFormat buildIso8601Format() -> buildIso8601Format + 62:66:java.util.Date read(com.google.gson.stream.JsonReader) -> read + 71:81:java.util.Date deserializeToDate(java.lang.String) -> deserializeToDate + 86:92:void write(com.google.gson.stream.JsonWriter,java.util.Date) -> write + 41:41:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 41:41:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.DateTypeAdapter$1 -> com.google.gson.internal.bind.DateTypeAdapter$1: + 45:45:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.JsonTreeReader -> com.google.gson.internal.bind.JsonTreeReader: + java.io.Reader UNREADABLE_READER -> UNREADABLE_READER + java.lang.Object SENTINEL_CLOSED -> SENTINEL_CLOSED + java.util.List stack -> stack + 58:61:void beginArray() -> beginArray + 64:67:void endArray() -> endArray + 70:73:void beginObject() -> beginObject + 76:79:void endObject() -> endObject + 82:83:boolean hasNext() -> hasNext + 87:125:com.google.gson.stream.JsonToken peek() -> peek + 130:130:java.lang.Object peekStack() -> peekStack + 134:134:java.lang.Object popStack() -> popStack + 138:141:void expect(com.google.gson.stream.JsonToken) -> expect + 144:148:java.lang.String nextName() -> nextName + 152:156:java.lang.String nextString() -> nextString + 160:161:boolean nextBoolean() -> nextBoolean + 165:167:void nextNull() -> nextNull + 170:179:double nextDouble() -> nextDouble + 183:189:long nextLong() -> nextLong + 193:199:int nextInt() -> nextInt + 203:205:void close() -> close + 208:213:void skipValue() -> skipValue + 216:216:java.lang.String toString() -> toString + 220:225:void promoteNameToValue() -> promoteNameToValue +com.google.gson.internal.bind.JsonTreeReader$1 -> com.google.gson.internal.bind.JsonTreeReader$1: + 42:42:int read(char[],int,int) -> read + 45:45:void close() -> close +com.google.gson.internal.bind.JsonTreeWriter -> com.google.gson.internal.bind.JsonTreeWriter: + java.io.Writer UNWRITABLE_WRITER -> UNWRITABLE_WRITER + com.google.gson.JsonPrimitive SENTINEL_CLOSED -> SENTINEL_CLOSED + java.util.List stack -> stack + java.lang.String pendingName -> pendingName + com.google.gson.JsonElement product -> product + 65:68:com.google.gson.JsonElement get() -> get + 72:72:com.google.gson.JsonElement peek() -> peek + 76:92:void put(com.google.gson.JsonElement) -> put + 95:98:com.google.gson.stream.JsonWriter beginArray() -> beginArray + 102:110:com.google.gson.stream.JsonWriter endArray() -> endArray + 114:117:com.google.gson.stream.JsonWriter beginObject() -> beginObject + 121:129:com.google.gson.stream.JsonWriter endObject() -> endObject + 133:141:com.google.gson.stream.JsonWriter name(java.lang.String) -> name + 145:149:com.google.gson.stream.JsonWriter value(java.lang.String) -> value + 153:154:com.google.gson.stream.JsonWriter nullValue() -> nullValue + 158:159:com.google.gson.stream.JsonWriter value(boolean) -> value + 163:167:com.google.gson.stream.JsonWriter value(double) -> value + 171:172:com.google.gson.stream.JsonWriter value(long) -> value + 176:188:com.google.gson.stream.JsonWriter value(java.lang.Number) -> value + 192:192:void flush() -> flush + 195:199:void close() -> close +com.google.gson.internal.bind.JsonTreeWriter$1 -> com.google.gson.internal.bind.JsonTreeWriter$1: + 36:36:void write(char[],int,int) -> write + 39:39:void flush() -> flush + 42:42:void close() -> close +com.google.gson.internal.bind.MapTypeAdapterFactory -> com.google.gson.internal.bind.MapTypeAdapterFactory: + com.google.gson.internal.ConstructorConstructor constructorConstructor -> constructorConstructor + boolean complexMapKeySerialization -> complexMapKeySerialization + 116:133:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create + 140:140:com.google.gson.TypeAdapter getKeyAdapter(com.google.gson.Gson,java.lang.reflect.Type) -> getKeyAdapter + 105:105:boolean access$000(com.google.gson.internal.bind.MapTypeAdapterFactory) -> access$000 +com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter -> com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter: + com.google.gson.TypeAdapter keyTypeAdapter -> keyTypeAdapter + com.google.gson.TypeAdapter valueTypeAdapter -> valueTypeAdapter + com.google.gson.internal.ObjectConstructor constructor -> constructor + com.google.gson.internal.bind.MapTypeAdapterFactory this$0 -> this$0 + 161:195:java.util.Map read(com.google.gson.stream.JsonReader) -> read + 199:243:void write(com.google.gson.stream.JsonWriter,java.util.Map) -> write + 246:260:java.lang.String keyToString(com.google.gson.JsonElement) -> keyToString + 145:145:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 145:145:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.ObjectTypeAdapter -> com.google.gson.internal.bind.ObjectTypeAdapter: + com.google.gson.TypeAdapterFactory FACTORY -> FACTORY + com.google.gson.Gson gson -> gson + 55:89:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 95:108:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.ObjectTypeAdapter$1 -> com.google.gson.internal.bind.ObjectTypeAdapter$1: + 41:44:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.ObjectTypeAdapter$2 -> com.google.gson.internal.bind.ObjectTypeAdapter$2: + int[] $SwitchMap$com$google$gson$stream$JsonToken -> $SwitchMap$com$google$gson$stream$JsonToken +com.google.gson.internal.bind.ReflectiveTypeAdapterFactory -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory: + com.google.gson.internal.ConstructorConstructor constructorConstructor -> constructorConstructor + com.google.gson.FieldNamingStrategy fieldNamingPolicy -> fieldNamingPolicy + com.google.gson.internal.Excluder excluder -> excluder + 56:56:boolean excludeField(java.lang.reflect.Field,boolean) -> excludeField + 60:61:java.lang.String getFieldName(java.lang.reflect.Field) -> getFieldName + 65:72:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create + 78:81:com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField createBoundField(com.google.gson.Gson,java.lang.reflect.Field,java.lang.String,com.google.gson.reflect.TypeToken,boolean,boolean) -> createBoundField + 102:129:java.util.Map getBoundFields(com.google.gson.Gson,com.google.gson.reflect.TypeToken,java.lang.Class) -> getBoundFields +com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1: + com.google.gson.TypeAdapter typeAdapter -> typeAdapter + com.google.gson.Gson val$context -> val$context + com.google.gson.reflect.TypeToken val$fieldType -> val$fieldType + java.lang.reflect.Field val$field -> val$field + boolean val$isPrimitive -> val$isPrimitive + com.google.gson.internal.bind.ReflectiveTypeAdapterFactory this$0 -> this$0 + 86:90:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write + 93:97:void read(com.google.gson.stream.JsonReader,java.lang.Object) -> read +com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter: + com.google.gson.internal.ObjectConstructor constructor -> constructor + java.util.Map boundFields -> boundFields + 157:181:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 185:202:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField: + java.lang.String name -> name + boolean serialized -> serialized + boolean deserialized -> deserialized + void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write + void read(com.google.gson.stream.JsonReader,java.lang.Object) -> read +com.google.gson.internal.bind.SqlDateTypeAdapter -> com.google.gson.internal.bind.SqlDateTypeAdapter: + com.google.gson.TypeAdapterFactory FACTORY -> FACTORY + java.text.DateFormat format -> format + 51:59:java.sql.Date read(com.google.gson.stream.JsonReader) -> read + 65:66:void write(com.google.gson.stream.JsonWriter,java.sql.Date) -> write + 38:38:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 38:38:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.SqlDateTypeAdapter$1 -> com.google.gson.internal.bind.SqlDateTypeAdapter$1: + 42:42:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.TimeTypeAdapter -> com.google.gson.internal.bind.TimeTypeAdapter: + com.google.gson.TypeAdapterFactory FACTORY -> FACTORY + java.text.DateFormat format -> format + 51:59:java.sql.Time read(com.google.gson.stream.JsonReader) -> read + 64:65:void write(com.google.gson.stream.JsonWriter,java.sql.Time) -> write + 40:40:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 40:40:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TimeTypeAdapter$1 -> com.google.gson.internal.bind.TimeTypeAdapter$1: + 44:44:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper -> com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper: + com.google.gson.Gson context -> context + com.google.gson.TypeAdapter delegate -> delegate + java.lang.reflect.Type type -> type + 40:40:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 52:69:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write + 75:79:java.lang.reflect.Type getRuntimeTypeIfMoreSpecific(java.lang.reflect.Type,java.lang.Object) -> getRuntimeTypeIfMoreSpecific +com.google.gson.internal.bind.TypeAdapters -> com.google.gson.internal.bind.TypeAdapters: + com.google.gson.TypeAdapter CLASS -> CLASS + com.google.gson.TypeAdapterFactory CLASS_FACTORY -> CLASS_FACTORY + com.google.gson.TypeAdapter BIT_SET -> BIT_SET + com.google.gson.TypeAdapterFactory BIT_SET_FACTORY -> BIT_SET_FACTORY + com.google.gson.TypeAdapter BOOLEAN -> BOOLEAN + com.google.gson.TypeAdapter BOOLEAN_AS_STRING -> BOOLEAN_AS_STRING + com.google.gson.TypeAdapterFactory BOOLEAN_FACTORY -> BOOLEAN_FACTORY + com.google.gson.TypeAdapter BYTE -> BYTE + com.google.gson.TypeAdapterFactory BYTE_FACTORY -> BYTE_FACTORY + com.google.gson.TypeAdapter SHORT -> SHORT + com.google.gson.TypeAdapterFactory SHORT_FACTORY -> SHORT_FACTORY + com.google.gson.TypeAdapter INTEGER -> INTEGER + com.google.gson.TypeAdapterFactory INTEGER_FACTORY -> INTEGER_FACTORY + com.google.gson.TypeAdapter LONG -> LONG + com.google.gson.TypeAdapter FLOAT -> FLOAT + com.google.gson.TypeAdapter DOUBLE -> DOUBLE + com.google.gson.TypeAdapter NUMBER -> NUMBER + com.google.gson.TypeAdapterFactory NUMBER_FACTORY -> NUMBER_FACTORY + com.google.gson.TypeAdapter CHARACTER -> CHARACTER + com.google.gson.TypeAdapterFactory CHARACTER_FACTORY -> CHARACTER_FACTORY + com.google.gson.TypeAdapter STRING -> STRING + com.google.gson.TypeAdapter BIG_DECIMAL -> BIG_DECIMAL + com.google.gson.TypeAdapter BIG_INTEGER -> BIG_INTEGER + com.google.gson.TypeAdapterFactory STRING_FACTORY -> STRING_FACTORY + com.google.gson.TypeAdapter STRING_BUILDER -> STRING_BUILDER + com.google.gson.TypeAdapterFactory STRING_BUILDER_FACTORY -> STRING_BUILDER_FACTORY + com.google.gson.TypeAdapter STRING_BUFFER -> STRING_BUFFER + com.google.gson.TypeAdapterFactory STRING_BUFFER_FACTORY -> STRING_BUFFER_FACTORY + com.google.gson.TypeAdapter URL -> URL + com.google.gson.TypeAdapterFactory URL_FACTORY -> URL_FACTORY + com.google.gson.TypeAdapter URI -> URI + com.google.gson.TypeAdapterFactory URI_FACTORY -> URI_FACTORY + com.google.gson.TypeAdapter INET_ADDRESS -> INET_ADDRESS + com.google.gson.TypeAdapterFactory INET_ADDRESS_FACTORY -> INET_ADDRESS_FACTORY + com.google.gson.TypeAdapter UUID -> UUID + com.google.gson.TypeAdapterFactory UUID_FACTORY -> UUID_FACTORY + com.google.gson.TypeAdapterFactory TIMESTAMP_FACTORY -> TIMESTAMP_FACTORY + com.google.gson.TypeAdapter CALENDAR -> CALENDAR + com.google.gson.TypeAdapterFactory CALENDAR_FACTORY -> CALENDAR_FACTORY + com.google.gson.TypeAdapter LOCALE -> LOCALE + com.google.gson.TypeAdapterFactory LOCALE_FACTORY -> LOCALE_FACTORY + com.google.gson.TypeAdapter JSON_ELEMENT -> JSON_ELEMENT + com.google.gson.TypeAdapterFactory JSON_ELEMENT_FACTORY -> JSON_ELEMENT_FACTORY + com.google.gson.TypeAdapterFactory ENUM_FACTORY -> ENUM_FACTORY + 752:752:com.google.gson.TypeAdapterFactory newEnumTypeHierarchyFactory() -> newEnumTypeHierarchyFactory + 769:769:com.google.gson.TypeAdapterFactory newFactory(com.google.gson.reflect.TypeToken,com.google.gson.TypeAdapter) -> newFactory + 779:779:com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,com.google.gson.TypeAdapter) -> newFactory + 792:792:com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,java.lang.Class,com.google.gson.TypeAdapter) -> newFactory + 807:807:com.google.gson.TypeAdapterFactory newFactoryForMultipleTypes(java.lang.Class,java.lang.Class,com.google.gson.TypeAdapter) -> newFactoryForMultipleTypes + 822:822:com.google.gson.TypeAdapterFactory newTypeHierarchyFactory(java.lang.Class,com.google.gson.TypeAdapter) -> newTypeHierarchyFactory +com.google.gson.internal.bind.TypeAdapters$1 -> com.google.gson.internal.bind.TypeAdapters$1: + 64:70:void write(com.google.gson.stream.JsonWriter,java.lang.Class) -> write + 73:77:java.lang.Class read(com.google.gson.stream.JsonReader) -> read + 61:61:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 61:61:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$10 -> com.google.gson.internal.bind.TypeAdapters$10: + 290:294:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 298:299:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 287:287:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 287:287:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$11 -> com.google.gson.internal.bind.TypeAdapters$11: + 305:313:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 318:319:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 302:302:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 302:302:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$12 -> com.google.gson.internal.bind.TypeAdapters$12: + 327:335:java.lang.Character read(com.google.gson.stream.JsonReader) -> read + 339:340:void write(com.google.gson.stream.JsonWriter,java.lang.Character) -> write + 324:324:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 324:324:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$13 -> com.google.gson.internal.bind.TypeAdapters$13: + 349:358:java.lang.String read(com.google.gson.stream.JsonReader) -> read + 362:363:void write(com.google.gson.stream.JsonWriter,java.lang.String) -> write + 346:346:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 346:346:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$14 -> com.google.gson.internal.bind.TypeAdapters$14: + 368:375:java.math.BigDecimal read(com.google.gson.stream.JsonReader) -> read + 380:381:void write(com.google.gson.stream.JsonWriter,java.math.BigDecimal) -> write + 366:366:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 366:366:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$15 -> com.google.gson.internal.bind.TypeAdapters$15: + 386:393:java.math.BigInteger read(com.google.gson.stream.JsonReader) -> read + 398:399:void write(com.google.gson.stream.JsonWriter,java.math.BigInteger) -> write + 384:384:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 384:384:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$16 -> com.google.gson.internal.bind.TypeAdapters$16: + 407:411:java.lang.StringBuilder read(com.google.gson.stream.JsonReader) -> read + 415:416:void write(com.google.gson.stream.JsonWriter,java.lang.StringBuilder) -> write + 404:404:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 404:404:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$17 -> com.google.gson.internal.bind.TypeAdapters$17: + 425:429:java.lang.StringBuffer read(com.google.gson.stream.JsonReader) -> read + 433:434:void write(com.google.gson.stream.JsonWriter,java.lang.StringBuffer) -> write + 422:422:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 422:422:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$18 -> com.google.gson.internal.bind.TypeAdapters$18: + 443:448:java.net.URL read(com.google.gson.stream.JsonReader) -> read + 452:453:void write(com.google.gson.stream.JsonWriter,java.net.URL) -> write + 440:440:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 440:440:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$19 -> com.google.gson.internal.bind.TypeAdapters$19: + 461:469:java.net.URI read(com.google.gson.stream.JsonReader) -> read + 474:475:void write(com.google.gson.stream.JsonWriter,java.net.URI) -> write + 458:458:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 458:458:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$2 -> com.google.gson.internal.bind.TypeAdapters$2: + 86:123:java.util.BitSet read(com.google.gson.stream.JsonReader) -> read + 127:138:void write(com.google.gson.stream.JsonWriter,java.util.BitSet) -> write + 84:84:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 84:84:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$20 -> com.google.gson.internal.bind.TypeAdapters$20: + 483:488:java.net.InetAddress read(com.google.gson.stream.JsonReader) -> read + 492:493:void write(com.google.gson.stream.JsonWriter,java.net.InetAddress) -> write + 480:480:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 480:480:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$21 -> com.google.gson.internal.bind.TypeAdapters$21: + 502:506:java.util.UUID read(com.google.gson.stream.JsonReader) -> read + 510:511:void write(com.google.gson.stream.JsonWriter,java.util.UUID) -> write + 499:499:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 499:499:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$22 -> com.google.gson.internal.bind.TypeAdapters$22: + 519:524:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.TypeAdapters$22$1 -> com.google.gson.internal.bind.TypeAdapters$22$1: + com.google.gson.TypeAdapter val$dateTypeAdapter -> val$dateTypeAdapter + com.google.gson.internal.bind.TypeAdapters$22 this$0 -> this$0 + 526:527:java.sql.Timestamp read(com.google.gson.stream.JsonReader) -> read + 531:532:void write(com.google.gson.stream.JsonWriter,java.sql.Timestamp) -> write + 524:524:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 524:524:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$23 -> com.google.gson.internal.bind.TypeAdapters$23: + java.lang.String YEAR -> YEAR + java.lang.String MONTH -> MONTH + java.lang.String DAY_OF_MONTH -> DAY_OF_MONTH + java.lang.String HOUR_OF_DAY -> HOUR_OF_DAY + java.lang.String MINUTE -> MINUTE + java.lang.String SECOND -> SECOND + 547:576:java.util.Calendar read(com.google.gson.stream.JsonReader) -> read + 581:599:void write(com.google.gson.stream.JsonWriter,java.util.Calendar) -> write + 537:537:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 537:537:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$24 -> com.google.gson.internal.bind.TypeAdapters$24: + 608:631:java.util.Locale read(com.google.gson.stream.JsonReader) -> read + 636:637:void write(com.google.gson.stream.JsonWriter,java.util.Locale) -> write + 605:605:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 605:605:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$25 -> com.google.gson.internal.bind.TypeAdapters$25: + 644:676:com.google.gson.JsonElement read(com.google.gson.stream.JsonReader) -> read + 681:711:void write(com.google.gson.stream.JsonWriter,com.google.gson.JsonElement) -> write + 642:642:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 642:642:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$26 -> com.google.gson.internal.bind.TypeAdapters$26: + 755:762:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.TypeAdapters$27 -> com.google.gson.internal.bind.TypeAdapters$27: + com.google.gson.reflect.TypeToken val$type -> val$type + com.google.gson.TypeAdapter val$typeAdapter -> val$typeAdapter + 772:772:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create +com.google.gson.internal.bind.TypeAdapters$28 -> com.google.gson.internal.bind.TypeAdapters$28: + java.lang.Class val$type -> val$type + com.google.gson.TypeAdapter val$typeAdapter -> val$typeAdapter + 782:782:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create + 785:785:java.lang.String toString() -> toString +com.google.gson.internal.bind.TypeAdapters$29 -> com.google.gson.internal.bind.TypeAdapters$29: + java.lang.Class val$unboxed -> val$unboxed + java.lang.Class val$boxed -> val$boxed + com.google.gson.TypeAdapter val$typeAdapter -> val$typeAdapter + 795:796:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create + 799:799:java.lang.String toString() -> toString +com.google.gson.internal.bind.TypeAdapters$3 -> com.google.gson.internal.bind.TypeAdapters$3: + 146:153:java.lang.Boolean read(com.google.gson.stream.JsonReader) -> read + 157:162:void write(com.google.gson.stream.JsonWriter,java.lang.Boolean) -> write + 143:143:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 143:143:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$30 -> com.google.gson.internal.bind.TypeAdapters$30: + java.lang.Class val$base -> val$base + java.lang.Class val$sub -> val$sub + com.google.gson.TypeAdapter val$typeAdapter -> val$typeAdapter + 810:811:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create + 814:814:java.lang.String toString() -> toString +com.google.gson.internal.bind.TypeAdapters$31 -> com.google.gson.internal.bind.TypeAdapters$31: + java.lang.Class val$clazz -> val$clazz + com.google.gson.TypeAdapter val$typeAdapter -> val$typeAdapter + 825:825:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create + 828:828:java.lang.String toString() -> toString +com.google.gson.internal.bind.TypeAdapters$32 -> com.google.gson.internal.bind.TypeAdapters$32: + int[] $SwitchMap$com$google$gson$stream$JsonToken -> $SwitchMap$com$google$gson$stream$JsonToken +com.google.gson.internal.bind.TypeAdapters$4 -> com.google.gson.internal.bind.TypeAdapters$4: + 171:175:java.lang.Boolean read(com.google.gson.stream.JsonReader) -> read + 179:180:void write(com.google.gson.stream.JsonWriter,java.lang.Boolean) -> write + 169:169:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 169:169:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$5 -> com.google.gson.internal.bind.TypeAdapters$5: + 189:197:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 202:203:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 186:186:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 186:186:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$6 -> com.google.gson.internal.bind.TypeAdapters$6: + 212:219:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 224:225:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 209:209:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 209:209:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$7 -> com.google.gson.internal.bind.TypeAdapters$7: + 234:241:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 246:247:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 231:231:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 231:231:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$8 -> com.google.gson.internal.bind.TypeAdapters$8: + 256:263:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 268:269:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 253:253:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 253:253:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$9 -> com.google.gson.internal.bind.TypeAdapters$9: + 275:279:java.lang.Number read(com.google.gson.stream.JsonReader) -> read + 283:284:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write + 272:272:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 272:272:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter -> com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter: + java.util.Map nameToConstant -> nameToConstant + java.util.Map constantToName -> constantToName + 737:741:java.lang.Enum read(com.google.gson.stream.JsonReader) -> read + 745:746:void write(com.google.gson.stream.JsonWriter,java.lang.Enum) -> write + 717:717:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 717:717:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +com.google.gson.reflect.TypeToken -> com.google.gson.reflect.TypeToken: + java.lang.Class rawType -> rawType + java.lang.reflect.Type type -> type + int hashCode -> hashCode + 82:87:java.lang.reflect.Type getSuperclassTypeParameter(java.lang.Class) -> getSuperclassTypeParameter + 94:94:java.lang.Class getRawType() -> getRawType + 101:101:java.lang.reflect.Type getType() -> getType + 112:112:boolean isAssignableFrom(java.lang.Class) -> isAssignableFrom + 123:140:boolean isAssignableFrom(java.lang.reflect.Type) -> isAssignableFrom + 153:153:boolean isAssignableFrom(com.google.gson.reflect.TypeToken) -> isAssignableFrom + 161:178:boolean isAssignableFrom(java.lang.reflect.Type,java.lang.reflect.GenericArrayType) -> isAssignableFrom + 188:231:boolean isAssignableFrom(java.lang.reflect.Type,java.lang.reflect.ParameterizedType,java.util.Map) -> isAssignableFrom + 240:250:boolean typeEquals(java.lang.reflect.ParameterizedType,java.lang.reflect.ParameterizedType,java.util.Map) -> typeEquals + 257:265:java.lang.AssertionError buildUnexpectedTypeError(java.lang.reflect.Type,java.lang.Class[]) -> buildUnexpectedTypeError + 273:273:boolean matches(java.lang.reflect.Type,java.lang.reflect.Type,java.util.Map) -> matches + 280:280:int hashCode() -> hashCode + 284:284:boolean equals(java.lang.Object) -> equals + 289:289:java.lang.String toString() -> toString + 296:296:com.google.gson.reflect.TypeToken get(java.lang.reflect.Type) -> get + 303:303:com.google.gson.reflect.TypeToken get(java.lang.Class) -> get +com.google.gson.stream.JsonReader -> com.google.gson.stream.JsonReader: + char[] NON_EXECUTE_PREFIX -> NON_EXECUTE_PREFIX + long MIN_INCOMPLETE_INTEGER -> MIN_INCOMPLETE_INTEGER + int PEEKED_NONE -> PEEKED_NONE + int PEEKED_BEGIN_OBJECT -> PEEKED_BEGIN_OBJECT + int PEEKED_END_OBJECT -> PEEKED_END_OBJECT + int PEEKED_BEGIN_ARRAY -> PEEKED_BEGIN_ARRAY + int PEEKED_END_ARRAY -> PEEKED_END_ARRAY + int PEEKED_TRUE -> PEEKED_TRUE + int PEEKED_FALSE -> PEEKED_FALSE + int PEEKED_NULL -> PEEKED_NULL + int PEEKED_SINGLE_QUOTED -> PEEKED_SINGLE_QUOTED + int PEEKED_DOUBLE_QUOTED -> PEEKED_DOUBLE_QUOTED + int PEEKED_UNQUOTED -> PEEKED_UNQUOTED + int PEEKED_BUFFERED -> PEEKED_BUFFERED + int PEEKED_SINGLE_QUOTED_NAME -> PEEKED_SINGLE_QUOTED_NAME + int PEEKED_DOUBLE_QUOTED_NAME -> PEEKED_DOUBLE_QUOTED_NAME + int PEEKED_UNQUOTED_NAME -> PEEKED_UNQUOTED_NAME + int PEEKED_LONG -> PEEKED_LONG + int PEEKED_NUMBER -> PEEKED_NUMBER + int PEEKED_EOF -> PEEKED_EOF + int NUMBER_CHAR_NONE -> NUMBER_CHAR_NONE + int NUMBER_CHAR_SIGN -> NUMBER_CHAR_SIGN + int NUMBER_CHAR_DIGIT -> NUMBER_CHAR_DIGIT + int NUMBER_CHAR_DECIMAL -> NUMBER_CHAR_DECIMAL + int NUMBER_CHAR_FRACTION_DIGIT -> NUMBER_CHAR_FRACTION_DIGIT + int NUMBER_CHAR_EXP_E -> NUMBER_CHAR_EXP_E + int NUMBER_CHAR_EXP_SIGN -> NUMBER_CHAR_EXP_SIGN + int NUMBER_CHAR_EXP_DIGIT -> NUMBER_CHAR_EXP_DIGIT + java.io.Reader in -> in + boolean lenient -> lenient + char[] buffer -> buffer + int pos -> pos + int limit -> limit + int lineNumber -> lineNumber + int lineStart -> lineStart + int peeked -> peeked + long peekedLong -> peekedLong + int peekedNumberLength -> peekedNumberLength + java.lang.String peekedString -> peekedString + int[] stack -> stack + int stackSize -> stackSize + 315:316:void setLenient(boolean) -> setLenient + 322:322:boolean isLenient() -> isLenient + 330:341:void beginArray() -> beginArray + 348:359:void endArray() -> endArray + 366:377:void beginObject() -> beginObject + 384:395:void endObject() -> endObject + 401:405:boolean hasNext() -> hasNext + 412:446:com.google.gson.stream.JsonToken peek() -> peek + 451:590:int doPeek() -> doPeek + 595:634:int peekKeyword() -> peekKeyword + 639:736:int peekNumber() -> peekNumber + 741:761:boolean isLiteral(char) -> isLiteral + 773:789:java.lang.String nextName() -> nextName + 801:825:java.lang.String nextString() -> nextString + 836:847:boolean nextBoolean() -> nextBoolean + 859:869:void nextNull() -> nextNull + 881:911:double nextDouble() -> nextDouble + 925:961:long nextLong() -> nextLong + 976:1008:java.lang.String nextQuotedValue(char) -> nextQuotedValue + 1016:1073:java.lang.String nextUnquotedValue() -> nextUnquotedValue + 1078:1100:void skipQuotedValue(char) -> skipQuotedValue + 1105:1131:void skipUnquotedValue() -> skipUnquotedValue + 1144:1186:int nextInt() -> nextInt + 1193:1197:void close() -> close + 1205:1235:void skipValue() -> skipValue + 1238:1244:void push(int) -> push + 1252:1277:boolean fillBuffer(int) -> fillBuffer + 1281:1281:int getLineNumber() -> getLineNumber + 1285:1285:int getColumnNumber() -> getColumnNumber + 1303:1380:int nextNonWhitespace(boolean) -> nextNonWhitespace + 1385:1388:void checkLenient() -> checkLenient + 1396:1406:void skipToEndOfLine() -> skipToEndOfLine + 1413:1426:boolean skipTo(java.lang.String) -> skipTo + 1430:1430:java.lang.String toString() -> toString + 1444:1496:char readEscapeCharacter() -> readEscapeCharacter + 1505:1505:java.io.IOException syntaxError(java.lang.String) -> syntaxError + 1514:1529:void consumeNonExecutePrefix() -> consumeNonExecutePrefix + 190:190:int access$000(com.google.gson.stream.JsonReader) -> access$000 + 190:190:int access$100(com.google.gson.stream.JsonReader) -> access$100 + 190:190:int access$002(com.google.gson.stream.JsonReader,int) -> access$002 + 190:190:int access$200(com.google.gson.stream.JsonReader) -> access$200 + 190:190:int access$300(com.google.gson.stream.JsonReader) -> access$300 +com.google.gson.stream.JsonReader$1 -> com.google.gson.stream.JsonReader$1: + 1534:1552:void promoteNameToValue(com.google.gson.stream.JsonReader) -> promoteNameToValue +com.google.gson.stream.JsonScope -> com.google.gson.stream.JsonScope: + int EMPTY_ARRAY -> EMPTY_ARRAY + int NONEMPTY_ARRAY -> NONEMPTY_ARRAY + int EMPTY_OBJECT -> EMPTY_OBJECT + int DANGLING_NAME -> DANGLING_NAME + int NONEMPTY_OBJECT -> NONEMPTY_OBJECT + int EMPTY_DOCUMENT -> EMPTY_DOCUMENT + int NONEMPTY_DOCUMENT -> NONEMPTY_DOCUMENT + int CLOSED -> CLOSED +com.google.gson.stream.JsonToken -> com.google.gson.stream.JsonToken: + com.google.gson.stream.JsonToken BEGIN_ARRAY -> BEGIN_ARRAY + com.google.gson.stream.JsonToken END_ARRAY -> END_ARRAY + com.google.gson.stream.JsonToken BEGIN_OBJECT -> BEGIN_OBJECT + com.google.gson.stream.JsonToken END_OBJECT -> END_OBJECT + com.google.gson.stream.JsonToken NAME -> NAME + com.google.gson.stream.JsonToken STRING -> STRING + com.google.gson.stream.JsonToken NUMBER -> NUMBER + com.google.gson.stream.JsonToken BOOLEAN -> BOOLEAN + com.google.gson.stream.JsonToken NULL -> NULL + com.google.gson.stream.JsonToken END_DOCUMENT -> END_DOCUMENT + com.google.gson.stream.JsonToken[] $VALUES -> $VALUES + 25:25:com.google.gson.stream.JsonToken[] values() -> values + 25:25:com.google.gson.stream.JsonToken valueOf(java.lang.String) -> valueOf +com.google.gson.stream.JsonWriter -> com.google.gson.stream.JsonWriter: + java.lang.String[] REPLACEMENT_CHARS -> REPLACEMENT_CHARS + java.lang.String[] HTML_SAFE_REPLACEMENT_CHARS -> HTML_SAFE_REPLACEMENT_CHARS + java.io.Writer out -> out + int[] stack -> stack + int stackSize -> stackSize + java.lang.String indent -> indent + java.lang.String separator -> separator + boolean lenient -> lenient + boolean htmlSafe -> htmlSafe + java.lang.String deferredName -> deferredName + boolean serializeNulls -> serializeNulls + 213:220:void setIndent(java.lang.String) -> setIndent + 235:236:void setLenient(boolean) -> setLenient + 242:242:boolean isLenient() -> isLenient + 253:254:void setHtmlSafe(boolean) -> setHtmlSafe + 261:261:boolean isHtmlSafe() -> isHtmlSafe + 269:270:void setSerializeNulls(boolean) -> setSerializeNulls + 277:277:boolean getSerializeNulls() -> getSerializeNulls + 287:288:com.google.gson.stream.JsonWriter beginArray() -> beginArray + 297:297:com.google.gson.stream.JsonWriter endArray() -> endArray + 307:308:com.google.gson.stream.JsonWriter beginObject() -> beginObject + 317:317:com.google.gson.stream.JsonWriter endObject() -> endObject + 325:328:com.google.gson.stream.JsonWriter open(int,java.lang.String) -> open + 337:350:com.google.gson.stream.JsonWriter close(int,int,java.lang.String) -> close + 354:360:void push(int) -> push + 366:369:int peek() -> peek + 376:377:void replaceTop(int) -> replaceTop + 386:396:com.google.gson.stream.JsonWriter name(java.lang.String) -> name + 400:405:void writeDeferredName() -> writeDeferredName + 414:420:com.google.gson.stream.JsonWriter value(java.lang.String) -> value + 429:439:com.google.gson.stream.JsonWriter nullValue() -> nullValue + 448:451:com.google.gson.stream.JsonWriter value(boolean) -> value + 462:468:com.google.gson.stream.JsonWriter value(double) -> value + 477:480:com.google.gson.stream.JsonWriter value(long) -> value + 491:503:com.google.gson.stream.JsonWriter value(java.lang.Number) -> value + 511:515:void flush() -> flush + 523:530:void close() -> close + 533:562:void string(java.lang.String) -> string + 565:573:void newline() -> newline + 580:588:void beforeName() -> beforeName + 600:633:void beforeValue(boolean) -> beforeValue +com.google.gson.stream.MalformedJsonException -> com.google.gson.stream.MalformedJsonException: + long serialVersionUID -> serialVersionUID +org.jackhuang.hellominecraft.C -> org.jackhuang.hellominecraft.launcher.a: + com.google.gson.Gson gsonPrettyPrinting -> a + com.google.gson.Gson gson -> b + java.util.ResourceBundle I18N -> a + java.lang.String URL_PUBLISH -> a + java.lang.String URL_TIEBA -> b + java.lang.String URL_GITHUB -> c + java.lang.String URL_MINECRAFTFORUM -> d + java.lang.String FILE_MINECRAFT_VERSIONS -> e + java.lang.String LINE_SEPARATOR -> f + java.lang.String URL_FORGE_LIST -> g + java.lang.String URL_LITELOADER_LIST -> h + 52:55:java.lang.String i18n(java.lang.String,java.lang.Object[]) -> a +org.jackhuang.hellominecraft.HMCLog -> org.jackhuang.hellominecraft.launcher.b: + org.jackhuang.hellominecraft.logging.logger.Logger logger -> a + 30:31:void log(java.lang.String) -> a + 34:35:void warn(java.lang.String) -> b + 38:39:void warn(java.lang.String,java.lang.Throwable) -> a + 42:43:void err(java.lang.String) -> c + 46:47:void err(java.lang.String,java.lang.Throwable) -> b +org.jackhuang.hellominecraft.launcher.Launcher -> org.jackhuang.hellominecraft.launcher.Launcher: + 48:49:void println(java.lang.String) -> a + 52:137:void main(java.lang.String[]) -> main + 91:91:void lambda$main$0() -> b + void access$lambda$0() -> a +org.jackhuang.hellominecraft.launcher.Launcher$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.c: + org.jackhuang.hellominecraft.launcher.Launcher$$Lambda$1 instance -> a + void onDone() -> a + org.jackhuang.hellominecraft.utils.functions.NonConsumer lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.Launcher$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.d: + org.jackhuang.hellominecraft.launcher.Launcher$$Lambda$4 instance -> a + void run() -> run + java.lang.Runnable lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.Main -> org.jackhuang.hellominecraft.launcher.Main: + java.lang.String launcherName -> a + byte firstVer -> a + byte secondVer -> b + byte thirdVer -> c + int minimumLauncherVersion -> a + org.jackhuang.hellominecraft.launcher.Main instance -> a + 66:66:java.lang.String makeVersion() -> a + 75:75:java.lang.String makeTitle() -> b + 82:121:void main(java.lang.String[]) -> main + 125:126:void onDone() -> a + 129:151:void update() -> b + 154:156:void invokeUpdate() -> c + 160:163:javax.swing.ImageIcon getIcon(java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.Main$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.e: + org.jackhuang.hellominecraft.utils.system.ProcessManager arg$1 -> a + org.jackhuang.hellominecraft.utils.functions.NonConsumer get$Lambda(org.jackhuang.hellominecraft.utils.system.ProcessManager) -> b + void onDone() -> a + org.jackhuang.hellominecraft.utils.functions.NonConsumer lambdaFactory$(org.jackhuang.hellominecraft.utils.system.ProcessManager) -> a +org.jackhuang.hellominecraft.launcher.Main$1 -> org.jackhuang.hellominecraft.launcher.f: + 114:114:java.net.PasswordAuthentication getPasswordAuthentication() -> getPasswordAuthentication +org.jackhuang.hellominecraft.launcher.launch.AbstractMinecraftLoader -> org.jackhuang.hellominecraft.launcher.g: + org.jackhuang.hellominecraft.launcher.settings.Profile v -> a + org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider lr -> a + java.io.File gameDir -> a + org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider provider -> a + 58:137:void makeHeadCommand(java.util.List) -> a + 141:172:java.util.List makeLaunchingCommand() -> a + void makeSelf(java.util.List) -> b + 188:188:void appendJVMArgs(java.util.List) -> c + 191:191:org.jackhuang.hellominecraft.launcher.settings.Profile getUserVersion() -> a +org.jackhuang.hellominecraft.launcher.launch.DefaultGameLauncher -> org.jackhuang.hellominecraft.launcher.h: + 46:69:void register() -> a + 61:67:boolean lambda$register$3(java.lang.Object,org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DecompressLibraryJob) -> b + 47:58:boolean lambda$register$2(java.lang.Object,java.util.List) -> b + boolean access$lambda$0(java.lang.Object,java.util.List) -> a + boolean access$lambda$1(java.lang.Object,org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DecompressLibraryJob) -> a +org.jackhuang.hellominecraft.launcher.launch.DefaultGameLauncher$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.i: + org.jackhuang.hellominecraft.launcher.launch.DefaultGameLauncher$$Lambda$1 instance -> a + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.launch.DefaultGameLauncher$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.j: + org.jackhuang.hellominecraft.launcher.launch.DefaultGameLauncher$$Lambda$2 instance -> a + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.launch.GameLauncher -> org.jackhuang.hellominecraft.launcher.k: + org.jackhuang.hellominecraft.utils.system.ProcessManager PROCESS_MANAGER -> a + org.jackhuang.hellominecraft.launcher.settings.Profile get -> a + org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider provider -> a + org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo info -> a + org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider result -> a + org.jackhuang.hellominecraft.launcher.utils.auth.IAuthenticator login -> a + org.jackhuang.hellominecraft.utils.EventHandler failEvent -> a + org.jackhuang.hellominecraft.utils.EventHandler downloadLibrariesEvent -> b + org.jackhuang.hellominecraft.utils.EventHandler successEvent -> c + org.jackhuang.hellominecraft.utils.EventHandler launchEvent -> d + org.jackhuang.hellominecraft.utils.EventHandler decompressNativesEvent -> e + org.jackhuang.hellominecraft.launcher.utils.download.DownloadType downloadType -> a + 70:70:org.jackhuang.hellominecraft.launcher.settings.Profile getProfile() -> a + 76:116:org.jackhuang.hellominecraft.launcher.launch.IMinecraftLoader makeLaunchCommand() -> a + 126:136:void launch(java.util.List) -> a + 147:178:java.io.File makeLauncher(java.lang.String,java.util.List) -> a +org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DecompressLibraryJob -> org.jackhuang.hellominecraft.launcher.l: + java.io.File[] decompressFiles -> a + java.lang.String[][] extractRules -> a + java.io.File decompressTo -> a +org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DownloadLibraryJob -> org.jackhuang.hellominecraft.launcher.m: + java.lang.String url -> a + java.lang.String name -> b + java.io.File path -> a +org.jackhuang.hellominecraft.launcher.launch.IMinecraftLoader -> org.jackhuang.hellominecraft.launcher.n: + java.util.List makeLaunchingCommand() -> a +org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider -> org.jackhuang.hellominecraft.launcher.o: + org.jackhuang.hellominecraft.launcher.settings.Profile profile -> a + java.io.File getRunDirectory(java.lang.String) -> a + java.util.List getDownloadLibraries(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + void openSelf(java.lang.String) -> a + void open(java.lang.String,java.lang.String) -> a + java.io.File getAssets() -> a + java.util.List listMods() -> a + java.io.File getResourcePacks() -> b + org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DecompressLibraryJob getDecompressLibraries() -> a + java.io.File getDecompressNativesToLocation() -> c + java.io.File getMinecraftJar() -> d + java.io.File getBaseFolder() -> e + org.jackhuang.hellominecraft.launcher.launch.IMinecraftLoader provideMinecraftLoader(org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + boolean renameVersion(java.lang.String,java.lang.String) -> a + boolean removeVersionFromDisk(java.lang.String) -> a + boolean refreshJson(java.lang.String) -> b + boolean refreshAssetsIndex(java.lang.String) -> c + org.jackhuang.hellominecraft.launcher.version.MinecraftVersion getOneVersion() -> a + java.util.Collection getVersions() -> a + org.jackhuang.hellominecraft.launcher.version.MinecraftVersion getVersionById(java.lang.String) -> a + int getVersionCount() -> a + void refreshVersions() -> a + boolean install(java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + void onLaunch() -> b +org.jackhuang.hellominecraft.launcher.launch.LaunchFinisher -> org.jackhuang.hellominecraft.launcher.p: + 35:55:boolean call(java.lang.Object,java.util.List) -> a + 31:31:boolean call(java.lang.Object,java.lang.Object) -> a + 37:52:boolean lambda$call$5(org.jackhuang.hellominecraft.launcher.launch.GameLauncher,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> c + 48:50:boolean lambda$null$4(org.jackhuang.hellominecraft.launcher.launch.GameLauncher,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> d + boolean access$lambda$0(org.jackhuang.hellominecraft.launcher.launch.GameLauncher,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> a + boolean access$lambda$1(org.jackhuang.hellominecraft.launcher.launch.GameLauncher,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> b +org.jackhuang.hellominecraft.launcher.launch.LaunchFinisher$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.q: + org.jackhuang.hellominecraft.launcher.launch.GameLauncher arg$1 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> a +org.jackhuang.hellominecraft.launcher.launch.LaunchFinisher$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.r: + org.jackhuang.hellominecraft.launcher.launch.GameLauncher arg$1 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> a +org.jackhuang.hellominecraft.launcher.launch.LaunchScriptFinisher -> org.jackhuang.hellominecraft.launcher.s: + 36:46:boolean call(java.lang.Object,java.util.List) -> a + 32:32:boolean call(java.lang.Object,java.lang.Object) -> a +org.jackhuang.hellominecraft.launcher.launch.LibraryDownloadTask -> org.jackhuang.hellominecraft.launcher.t: + int MAX_BUFFER_SIZE -> b + org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DownloadLibraryJob job -> a + java.io.InputStream stream -> a + java.io.RandomAccessFile file -> a + boolean shouldContinue -> a + int size -> a + 56:76:boolean executeTask() -> a + 86:167:boolean download(java.net.URL,java.io.File) -> a + 172:212:void unpackLibrary(java.io.File,java.io.File) -> a + 216:232:void closeFiles() -> a + 236:238:boolean abort() -> b + 243:243:java.lang.String getInfo() -> a +org.jackhuang.hellominecraft.launcher.launch.MinecraftCrashAdvicer -> org.jackhuang.hellominecraft.launcher.u: + 29:29:java.lang.String getAdvice(java.lang.String) -> a + 33:52:java.lang.String getAdvice(java.lang.String,boolean) -> a +org.jackhuang.hellominecraft.launcher.launch.MinecraftLoader -> org.jackhuang.hellominecraft.launcher.v: + org.jackhuang.hellominecraft.launcher.version.MinecraftVersion version -> a + java.lang.String text -> a + 58:100:void makeSelf(java.util.List) -> b + 104:114:void appendJVMArgs(java.util.List) -> c + 117:153:java.io.File reconstructAssets() -> a +org.jackhuang.hellominecraft.launcher.settings.Config -> org.jackhuang.hellominecraft.launcher.w: + java.lang.String last -> last + java.lang.String bgpath -> bgpath + java.lang.String username -> username + java.lang.String clientToken -> clientToken + java.lang.String proxyHost -> proxyHost + java.lang.String proxyPort -> proxyPort + java.lang.String proxyUserName -> proxyUserName + java.lang.String proxyPassword -> proxyPassword + boolean enableShadow -> enableShadow + int theme -> theme + java.util.List java -> java + int logintype -> logintype + int downloadtype -> downloadtype + java.util.TreeMap configurations -> configurations + boolean checkUpdate -> checkUpdate + java.util.Map yggdrasil -> yggdrasil + 52:52:java.util.List getJava() -> a + 56:56:int getTheme() -> a + 60:62:void setTheme(int) -> a + 65:65:boolean isEnableShadow() -> a + 69:71:void setEnableShadow(boolean) -> a + 74:74:java.lang.String getLast() -> a + 78:80:void setLast(java.lang.String) -> a + 83:83:java.lang.String getBgpath() -> b + 87:89:void setBgpath(java.lang.String) -> b + 92:92:java.lang.String getUsername() -> c + 96:98:void setUsername(java.lang.String) -> c + 101:101:java.lang.String getClientToken() -> d + 105:105:int getLoginType() -> b + 109:111:void setLoginType(int) -> b + 114:114:int getDownloadType() -> c + 118:120:void setDownloadType(int) -> c + 123:125:java.util.TreeMap getConfigurations() -> a + 129:129:boolean isCheckUpdate() -> b + 133:135:void setCheckUpdate(boolean) -> b + 138:138:java.util.Map getYggdrasilConfig() -> a + 142:144:void setYggdrasilConfig(java.util.Map) -> a + 170:171:org.jackhuang.hellominecraft.launcher.utils.download.DownloadType getDownloadSource() -> a + 175:175:java.lang.String getProxyHost() -> e + 179:181:void setProxyHost(java.lang.String) -> d + 184:184:java.lang.String getProxyPort() -> f + 188:190:void setProxyPort(java.lang.String) -> e + 193:193:java.lang.String getProxyUserName() -> g + 197:199:void setProxyUserName(java.lang.String) -> f + 202:202:java.lang.String getProxyPassword() -> h + 206:208:void setProxyPassword(java.lang.String) -> g +org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility -> org.jackhuang.hellominecraft.launcher.x: + org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility CLOSE -> a + org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility HIDE -> b + org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility KEEP -> c + org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility[] $VALUES -> a + 23:23:org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility[] values() -> a + 23:23:org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility valueOf(java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.settings.Profile -> org.jackhuang.hellominecraft.launcher.y: + java.lang.String name -> name + java.lang.String selectedMinecraftVersion -> selectedMinecraftVersion + java.lang.String javaArgs -> javaArgs + java.lang.String minecraftArgs -> minecraftArgs + java.lang.String maxMemory -> maxMemory + java.lang.String permSize -> permSize + java.lang.String width -> width + java.lang.String height -> height + java.lang.String userProperties -> userProperties + java.lang.String gameDir -> gameDir + java.lang.String javaDir -> javaDir + java.lang.String wrapperLauncher -> wrapperLauncher + java.lang.String serverIp -> serverIp + java.lang.String java -> java + boolean fullscreen -> fullscreen + boolean debug -> debug + boolean noJVMArgs -> noJVMArgs + boolean canceledWrapper -> canceledWrapper + int launcherVisibility -> launcherVisibility + int gameDirType -> gameDirType + org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider minecraftProvider -> a + 92:93:org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider getMinecraftProvider() -> a + 97:106:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion getSelectedMinecraftVersion() -> a + 110:111:java.lang.String getGameDir() -> a + 115:115:java.lang.String getCanonicalGameDir() -> b + 119:119:java.io.File getCanonicalGameDirFile() -> a + 123:123:java.io.File getGameDirFile() -> b + 127:130:org.jackhuang.hellominecraft.launcher.settings.Profile setGameDir(java.lang.String) -> a + 134:136:java.lang.String getJavaDir() -> c + 140:140:java.lang.String getSettingsJavaDir() -> d + 144:144:java.io.File getJavaDirFile() -> c + 148:150:void setJavaDir(java.lang.String) -> a + 153:153:org.jackhuang.hellominecraft.utils.system.Java getJava() -> a + 157:164:int getJavaIndexInAllJavas() -> a + 168:172:void setJava(org.jackhuang.hellominecraft.utils.system.Java) -> a + 175:175:java.io.File getFolder(java.lang.String) -> a + 179:179:java.lang.String getName() -> e + 183:184:void setName(java.lang.String) -> b + 187:188:void setSelectedMinecraftVersion(java.lang.String) -> c + 191:192:java.lang.String getJavaArgs() -> f + 196:198:void setJavaArgs(java.lang.String) -> d + 201:201:boolean hasJavaArgs() -> a + 205:206:java.lang.String getMaxMemory() -> g + 210:212:void setMaxMemory(java.lang.String) -> e + 215:216:java.lang.String getWidth() -> h + 220:221:void setWidth(java.lang.String) -> f + 224:225:java.lang.String getHeight() -> i + 229:231:void setHeight(java.lang.String) -> g + 234:235:java.lang.String getUserProperties() -> j + 239:240:void setUserProperties(java.lang.String) -> h + 243:243:boolean isFullscreen() -> b + 247:249:void setFullscreen(boolean) -> a + 252:252:boolean isDebug() -> c + 256:258:void setDebug(boolean) -> b + 261:261:org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility getLauncherVisibility() -> a + 265:267:void setLauncherVisibility(org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility) -> a + 270:270:org.jackhuang.hellominecraft.launcher.version.GameDirType getGameDirType() -> a + 274:276:void setGameDirType(org.jackhuang.hellominecraft.launcher.version.GameDirType) -> a + 279:279:java.lang.String getPermSize() -> k + 283:285:void setPermSize(java.lang.String) -> i + 288:288:boolean isNoJVMArgs() -> d + 292:293:void setNoJVMArgs(boolean) -> c + 296:296:java.lang.String getMinecraftArgs() -> l + 300:302:void setMinecraftArgs(java.lang.String) -> j + 305:305:boolean isCanceledWrapper() -> e + 309:311:void setCanceledWrapper(boolean) -> d + 314:314:java.lang.String getWrapperLauncher() -> m + 318:320:void setWrapperLauncher(java.lang.String) -> k + 323:323:java.lang.String getServerIp() -> n + 327:329:void setServerIp(java.lang.String) -> l + 332:333:void checkFormat() -> a +org.jackhuang.hellominecraft.launcher.settings.Settings -> org.jackhuang.hellominecraft.launcher.z: + java.lang.String DEFAULT_PROFILE -> a + java.io.File settingsFile -> a + boolean isFirstLoad -> a + org.jackhuang.hellominecraft.launcher.settings.Config settings -> a + org.jackhuang.hellominecraft.utils.UpdateChecker UPDATE_CHECKER -> a + java.util.List JAVA -> a + 57:57:org.jackhuang.hellominecraft.launcher.settings.Config getInstance() -> a + 61:61:boolean isFirstLoad() -> a + 84:107:org.jackhuang.hellominecraft.launcher.settings.Config initSettings() -> b + 112:116:void save() -> a + 119:119:org.jackhuang.hellominecraft.launcher.settings.Profile getVersion(java.lang.String) -> a + 123:123:java.util.Map getVersions() -> a + 127:129:void setVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a + 132:132:java.util.Collection getProfiles() -> a + 136:136:org.jackhuang.hellominecraft.launcher.settings.Profile getOneProfile() -> a + 140:143:boolean trySetVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a + 147:147:boolean delVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> b + 151:155:boolean delVersion(java.lang.String) -> a + 132:132:boolean lambda$getProfiles$7(org.jackhuang.hellominecraft.launcher.settings.Profile) -> d + 73:73:void lambda$static$6() -> c + boolean access$lambda$0(org.jackhuang.hellominecraft.launcher.settings.Profile) -> c + void access$lambda$1() -> b +org.jackhuang.hellominecraft.launcher.settings.Settings$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.A: + org.jackhuang.hellominecraft.launcher.settings.Settings$$Lambda$1 instance -> a + boolean apply(java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.functions.Predicate lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.settings.Settings$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.B: + org.jackhuang.hellominecraft.launcher.settings.Settings$$Lambda$2 instance -> a + void onDone() -> a + org.jackhuang.hellominecraft.utils.functions.NonConsumer lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.utils.CrashReporter -> org.jackhuang.hellominecraft.launcher.C: + boolean enableLogger -> a + 47:72:void uncaughtException(java.lang.Thread,java.lang.Throwable) -> uncaughtException + 75:80:void reportToServer(java.lang.String) -> a + 76:79:void lambda$reportToServer$9(java.lang.String) -> c + 61:61:void lambda$uncaughtException$8() -> b + void access$lambda$0() -> a + void access$lambda$1(java.lang.String) -> b +org.jackhuang.hellominecraft.launcher.utils.CrashReporter$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.D: + org.jackhuang.hellominecraft.launcher.utils.CrashReporter$$Lambda$1 instance -> a + void run() -> run + java.lang.Runnable lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.utils.CrashReporter$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.E: + java.lang.String arg$1 -> a + java.lang.Runnable get$Lambda(java.lang.String) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.utils.FileNameFilter -> org.jackhuang.hellominecraft.launcher.F: + java.lang.String acceptedName -> a + 36:36:boolean accept(java.io.File) -> accept + 41:41:java.lang.String getDescription() -> getDescription +org.jackhuang.hellominecraft.launcher.utils.MCUtils -> org.jackhuang.hellominecraft.launcher.G: + java.lang.String profile -> a + 55:65:java.io.File getAssetObject(com.google.gson.Gson,java.lang.String,java.lang.String,java.lang.String) -> a + 70:73:int lessThan32(byte[],int) -> a + 77:97:org.jackhuang.hellominecraft.version.MinecraftVersionRequest getVersionOfOldMinecraft(java.util.zip.ZipFile,java.util.zip.ZipEntry) -> a + 101:147:org.jackhuang.hellominecraft.version.MinecraftVersionRequest getVersionOfNewMinecraft(java.util.zip.ZipFile,java.util.zip.ZipEntry) -> b + 151:187:org.jackhuang.hellominecraft.version.MinecraftVersionRequest minecraftVersion(java.io.File) -> a + 192:212:java.io.File getLocation() -> a + 216:217:boolean is16Folder(java.lang.String) -> a + 221:222:java.lang.String minecraft() -> a + 226:234:java.io.File getInitGameDir() -> b + 238:253:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion downloadMinecraft(java.io.File,java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 257:276:boolean downloadMinecraftJar(java.io.File,java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 281:300:boolean downloadMinecraftVersionJson(java.io.File,java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> b + 305:323:boolean downloadMinecraftAssetsIndex(java.io.File,java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> c + 327:328:org.jackhuang.hellominecraft.version.MinecraftRemoteVersions getRemoteMinecraftVersions(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 334:337:void tryWriteProfile(java.io.File) -> a +org.jackhuang.hellominecraft.launcher.utils.MCUtils$1 -> org.jackhuang.hellominecraft.launcher.H: + int[] $SwitchMap$org$jackhuang$hellominecraft$utils$system$OS -> a +org.jackhuang.hellominecraft.launcher.utils.ModInfo -> org.jackhuang.hellominecraft.launcher.I: + java.io.File location -> location + java.lang.String modid -> modid + java.lang.String name -> name + java.lang.String description -> description + java.lang.String version -> version + java.lang.String mcversion -> mcversion + java.lang.String url -> url + java.lang.String updateUrl -> updateUrl + java.lang.String credits -> credits + java.lang.String[] authorList -> authorList + 42:42:boolean isActive() -> a + 47:47:int compareTo(org.jackhuang.hellominecraft.launcher.utils.ModInfo) -> a + 51:51:java.lang.String getName() -> a + 56:56:boolean equals(java.lang.Object) -> equals + 61:61:int hashCode() -> hashCode + 65:66:java.lang.String getFileName() -> b + 70:74:boolean isFileMod(java.io.File) -> a + 78:95:org.jackhuang.hellominecraft.launcher.utils.ModInfo readModInfo(java.io.File) -> a + 35:35:int compareTo(java.lang.Object) -> compareTo +org.jackhuang.hellominecraft.launcher.utils.ModInfo$1 -> org.jackhuang.hellominecraft.launcher.J: +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsIndex -> org.jackhuang.hellominecraft.launcher.K: + java.lang.String DEFAULT_ASSET_NAME -> DEFAULT_ASSET_NAME + java.util.Map objects -> objects + boolean virtual -> virtual + 39:39:java.util.Map getFileMap() -> a + 43:43:java.util.Set getUniqueObjects() -> a + 47:47:boolean isVirtual() -> a +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsLoader -> org.jackhuang.hellominecraft.launcher.L: + org.w3c.dom.Document doc -> a + org.w3c.dom.Element root -> a + org.w3c.dom.NodeList nodes -> a + java.lang.String uri -> a + java.util.ArrayList al -> a + org.jackhuang.hellominecraft.utils.EventHandler failedEvent -> a + org.jackhuang.hellominecraft.utils.EventHandler successEvent -> b + 53:69:org.jackhuang.hellominecraft.launcher.utils.assets.Contents modifyContents(org.w3c.dom.NodeList) -> a + 74:99:void run() -> run +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsLoaderListener -> org.jackhuang.hellominecraft.launcher.M: + void OnDone(java.util.ArrayList) -> a + void OnFailed(java.lang.Exception) -> a +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangLoader -> org.jackhuang.hellominecraft.launcher.N: + 48:99:void getList(org.jackhuang.hellominecraft.utils.functions.Consumer) -> a + 103:103:org.jackhuang.hellominecraft.tasks.Task getDownloadTask(org.jackhuang.hellominecraft.launcher.utils.download.IDownloadProvider) -> a + 108:110:boolean isVersionAllowed(java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangOldLoader -> org.jackhuang.hellominecraft.launcher.O: + java.lang.String URL -> b + 41:59:void getList(org.jackhuang.hellominecraft.utils.functions.Consumer) -> a + 63:66:boolean isVersionAllowed(java.lang.String) -> a + 71:71:org.jackhuang.hellominecraft.tasks.Task getDownloadTask(org.jackhuang.hellominecraft.launcher.utils.download.IDownloadProvider) -> a + 48:56:boolean lambda$getList$11(org.jackhuang.hellominecraft.utils.functions.Consumer,java.lang.Object,java.util.List) -> a + 43:45:boolean lambda$getList$10(org.jackhuang.hellominecraft.utils.functions.Consumer,java.lang.Object,java.lang.Throwable) -> b + boolean access$lambda$0(org.jackhuang.hellominecraft.utils.functions.Consumer,java.lang.Object,java.lang.Throwable) -> a + boolean access$lambda$1(org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangOldLoader,org.jackhuang.hellominecraft.utils.functions.Consumer,java.lang.Object,java.util.List) -> a +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangOldLoader$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.P: + org.jackhuang.hellominecraft.utils.functions.Consumer arg$1 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.utils.functions.Consumer) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.utils.functions.Consumer) -> a +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangOldLoader$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.Q: + org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangOldLoader arg$1 -> a + org.jackhuang.hellominecraft.utils.functions.Consumer arg$2 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangOldLoader,org.jackhuang.hellominecraft.utils.functions.Consumer) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.launcher.utils.assets.AssetsMojangOldLoader,org.jackhuang.hellominecraft.utils.functions.Consumer) -> a +org.jackhuang.hellominecraft.launcher.utils.assets.AssetsObject -> org.jackhuang.hellominecraft.launcher.R: + java.lang.String hash -> hash + long size -> size + 32:32:java.lang.String getHash() -> a + 36:36:long getSize() -> a + 41:45:boolean equals(java.lang.Object) -> equals + 50:52:int hashCode() -> hashCode +org.jackhuang.hellominecraft.launcher.utils.assets.Contents -> org.jackhuang.hellominecraft.launcher.S: + java.lang.String key -> a + java.lang.String eTag -> b + java.lang.String lastModified -> c + java.lang.String storageClass -> d + long size -> a +org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler -> org.jackhuang.hellominecraft.launcher.T: + java.util.ArrayList assetsDownloadURLs -> a + java.util.ArrayList assetsLocalNames -> b + java.lang.String name -> a + java.util.List contents -> a + java.util.List assetsHandlers -> b + org.jackhuang.hellominecraft.launcher.version.MinecraftVersion mv -> a + org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider mp -> a + 56:56:org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler getAssetsHandler(int) -> a + 60:60:java.util.List getAssetsHandlers() -> a + 73:73:java.lang.String getName() -> a + void getList(org.jackhuang.hellominecraft.utils.functions.Consumer) -> a + org.jackhuang.hellominecraft.tasks.Task getDownloadTask(org.jackhuang.hellominecraft.launcher.utils.download.IDownloadProvider) -> a + 102:104:void setAssets(org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider,org.jackhuang.hellominecraft.launcher.version.MinecraftVersion) -> a + boolean isVersionAllowed(java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler$AssetsTask -> org.jackhuang.hellominecraft.launcher.U: + java.util.ArrayList al -> a + java.lang.String u -> a + int progress -> a + int max -> b + org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler this$0 -> a + 120:154:boolean executeTask() -> a + 159:159:java.util.Collection getAfterTasks() -> a + 164:164:java.lang.String getInfo() -> a +org.jackhuang.hellominecraft.launcher.utils.auth.BestLogin -> org.jackhuang.hellominecraft.launcher.V: + 37:88:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider login(org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo) -> a + 94:94:java.lang.String getName() -> a + 99:99:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider loginBySettings() -> a + 104:104:void logout() -> a +org.jackhuang.hellominecraft.launcher.utils.auth.IAuthenticator -> org.jackhuang.hellominecraft.launcher.W: + org.jackhuang.hellominecraft.launcher.utils.auth.YggdrasilAuthenticator yggdrasilLogin -> a + org.jackhuang.hellominecraft.launcher.utils.auth.OfflineAuthenticator offlineLogin -> a + org.jackhuang.hellominecraft.launcher.utils.auth.SkinmeAuthenticator skinmeLogin -> a + java.util.List logins -> a + java.lang.String clientToken -> a + org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider login(org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo) -> a + java.lang.String getName() -> a + 75:75:boolean isHidePasswordBox() -> a + 79:79:boolean isLoggedIn() -> b + 84:84:void setRememberMe(boolean) -> a + org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider loginBySettings() -> a + void logout() -> a + 45:45:void lambda$static$1() -> c + void access$lambda$0() -> b +org.jackhuang.hellominecraft.launcher.utils.auth.IAuthenticator$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.X: + org.jackhuang.hellominecraft.launcher.utils.auth.IAuthenticator$$Lambda$1 instance -> a + void run() -> run + java.lang.Runnable lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo -> org.jackhuang.hellominecraft.launcher.Y: + java.lang.String username -> a + java.lang.String password -> b +org.jackhuang.hellominecraft.launcher.utils.auth.OfflineAuthenticator -> org.jackhuang.hellominecraft.launcher.Z: + 35:44:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider login(org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo) -> a + 48:49:java.lang.String getUUIDFromUserName(java.lang.String) -> a + 54:54:java.lang.String getName() -> a + 59:59:boolean isHidePasswordBox() -> a + 64:64:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider loginBySettings() -> a + 69:69:void logout() -> a +org.jackhuang.hellominecraft.launcher.utils.auth.SkinmeAuthenticator -> org.jackhuang.hellominecraft.launcher.aa: + 36:36:java.lang.String[] parseType1(java.lang.String) -> a + 40:44:java.lang.String getCharacter(java.lang.String,java.lang.String,java.lang.String) -> a + 50:121:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider login(org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo) -> a + 127:127:java.lang.String getName() -> a + 132:132:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider loginBySettings() -> a + 138:138:void logout() -> a +org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider -> org.jackhuang.hellominecraft.launcher.ab: + java.lang.String username -> a + java.lang.String userId -> b + java.lang.String session -> c + java.lang.String accessToken -> d + boolean success -> a + java.lang.String error -> e + java.lang.String userProperties -> f + java.lang.String userPropertyMap -> g + java.lang.String otherInfo -> h + java.lang.String clientIdentifier -> i + java.lang.String userType -> j + 26:26:java.lang.String getUserName() -> a + 30:31:void setUserName(java.lang.String) -> a + 34:34:java.lang.String getUserId() -> b + 38:39:void setUserId(java.lang.String) -> b + 42:42:java.lang.String getSession() -> c + 46:47:void setSession(java.lang.String) -> c + 50:50:java.lang.String getAccessToken() -> d + 54:55:void setAccessToken(java.lang.String) -> d + 58:58:boolean isSuccessful() -> a + 62:63:void setSuccess(boolean) -> a + 66:66:java.lang.String getErrorReason() -> e + 70:71:void setErrorReason(java.lang.String) -> e + 74:74:java.lang.String getUserProperties() -> f + 78:79:void setUserProperties(java.lang.String) -> f + 82:82:java.lang.String getUserPropertyMap() -> g + 86:87:void setUserPropertyMap(java.lang.String) -> g + 90:90:java.lang.String getOtherInfo() -> h + 94:95:void setOtherInfo(java.lang.String) -> h + 98:98:java.lang.String getClientIdentifier() -> i + 102:103:void setClientIdentifier(java.lang.String) -> i + 106:106:java.lang.String getUserType() -> j + 110:111:void setUserType(java.lang.String) -> j +org.jackhuang.hellominecraft.launcher.utils.auth.YggdrasilAuthenticator -> org.jackhuang.hellominecraft.launcher.ac: + org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService service -> a + org.jackhuang.mojang.authlib.yggdrasil.YggdrasilUserAuthentication ua -> a + 53:115:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider login(org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo) -> a + 120:120:boolean isLoggedIn() -> b + 125:125:java.lang.String getName() -> a + 129:129:java.util.Map onSaveSettings() -> a + 133:135:void onLoadSettings(java.util.Map) -> a + 139:153:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider loginBySettings() -> a + 158:159:void logout() -> a +org.jackhuang.hellominecraft.launcher.utils.download.BMCLAPIDownloadProvider -> org.jackhuang.hellominecraft.launcher.ad: + 29:29:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getForgeInstaller() -> a + 34:34:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getLiteLoaderInstaller() -> b + 39:39:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getOptiFineInstaller() -> c + 44:47:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getInstallerByType(java.lang.String) -> a + 52:52:java.lang.String getLibraryDownloadURL() -> a + 57:57:java.lang.String getVersionsDownloadURL() -> b + 62:62:java.lang.String getIndexesDownloadURL() -> c + 67:67:java.lang.String getVersionsListDownloadURL() -> d + 72:72:java.lang.String getAssetsDownloadURL() -> e + 77:77:boolean isAllowedToUseSelfURL() -> a +org.jackhuang.hellominecraft.launcher.utils.download.DownloadType -> org.jackhuang.hellominecraft.launcher.ae: + org.jackhuang.hellominecraft.launcher.utils.download.DownloadType Mojang -> a + org.jackhuang.hellominecraft.launcher.utils.download.DownloadType BMCL -> b + java.lang.String name -> a + org.jackhuang.hellominecraft.launcher.utils.download.IDownloadProvider provider -> a + org.jackhuang.hellominecraft.launcher.utils.download.DownloadType[] $VALUES -> a + 25:25:org.jackhuang.hellominecraft.launcher.utils.download.DownloadType[] values() -> a + 25:25:org.jackhuang.hellominecraft.launcher.utils.download.DownloadType valueOf(java.lang.String) -> a + 39:39:org.jackhuang.hellominecraft.launcher.utils.download.IDownloadProvider getProvider() -> a + 43:43:java.lang.String getName() -> a +org.jackhuang.hellominecraft.launcher.utils.download.IDownloadProvider -> org.jackhuang.hellominecraft.launcher.af: + org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getInstallerByType(java.lang.String) -> a + org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getForgeInstaller() -> a + org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getLiteLoaderInstaller() -> b + org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getOptiFineInstaller() -> c + java.lang.String getLibraryDownloadURL() -> a + java.lang.String getVersionsDownloadURL() -> b + java.lang.String getIndexesDownloadURL() -> c + java.lang.String getVersionsListDownloadURL() -> d + java.lang.String getAssetsDownloadURL() -> e + boolean isAllowedToUseSelfURL() -> a +org.jackhuang.hellominecraft.launcher.utils.download.MojangDownloadProvider -> org.jackhuang.hellominecraft.launcher.ag: + 29:29:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getForgeInstaller() -> a + 34:34:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getLiteLoaderInstaller() -> b + 39:39:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getOptiFineInstaller() -> c + 44:47:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList getInstallerByType(java.lang.String) -> a + 52:52:java.lang.String getLibraryDownloadURL() -> a + 57:57:java.lang.String getVersionsDownloadURL() -> b + 62:62:java.lang.String getIndexesDownloadURL() -> c + 67:67:java.lang.String getVersionsListDownloadURL() -> d + 72:72:java.lang.String getAssetsDownloadURL() -> e + 77:77:boolean isAllowedToUseSelfURL() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.InstallProfile -> org.jackhuang.hellominecraft.launcher.ah: + org.jackhuang.hellominecraft.launcher.utils.installers.forge.Install install -> a + org.jackhuang.hellominecraft.launcher.version.MinecraftVersion versionInfo -> a +org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList -> org.jackhuang.hellominecraft.launcher.ai: + void refreshList(java.lang.String[]) -> a + java.lang.String getName() -> a + java.util.List getVersions(java.lang.String) -> a + 71:75:void accept(java.lang.String[]) -> b + 27:27:void accept(java.lang.Object) -> a +org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion -> org.jackhuang.hellominecraft.launcher.aj: + java.lang.String selfVersion -> a + java.lang.String mcVersion -> b + java.lang.String installer -> c + java.lang.String universal -> d + java.lang.String changelog -> e + 54:54:int compareTo(org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion) -> a + 41:41:int compareTo(java.lang.Object) -> compareTo +org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersionComparator -> org.jackhuang.hellominecraft.launcher.ak: + org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersionComparator INSTANCE -> a + 64:64:int compare(org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion,org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion) -> a + 58:58:int compare(java.lang.Object,java.lang.Object) -> compare +org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionNewerComparator -> org.jackhuang.hellominecraft.launcher.al: + 30:30:int compare(org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion,org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion) -> a + 26:26:int compare(java.lang.Object,java.lang.Object) -> compare +org.jackhuang.hellominecraft.launcher.utils.installers.PackMinecraftInstaller -> org.jackhuang.hellominecraft.launcher.am: + java.io.File dest -> a + java.util.ArrayList src -> a + 41:46:void install() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.forge.ForgeInstaller -> org.jackhuang.hellominecraft.launcher.an: + java.io.File gameDir -> a + java.io.File forgeInstaller -> b + org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider mp -> a + org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion installerVersion -> a + 60:107:boolean executeTask() -> a + 113:113:java.lang.String getInfo() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.forge.ForgeOldInstaller -> org.jackhuang.hellominecraft.launcher.ao: + 31:35:void install(java.lang.String,java.lang.String,java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.utils.installers.forge.Install -> org.jackhuang.hellominecraft.launcher.ap: + java.lang.String profileName -> profileName + java.lang.String target -> target + java.lang.String path -> path + java.lang.String version -> version + java.lang.String filePath -> filePath + java.lang.String welcome -> welcome + java.lang.String minecraft -> minecraft + java.lang.String mirrorList -> mirrorList + java.lang.String logo -> logo +org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.Downloads -> org.jackhuang.hellominecraft.launcher.aq: + java.lang.String changelog -> changelog + java.lang.String[] universal -> universal + java.lang.String[] src -> src + java.lang.String[] javadoc -> javadoc + java.lang.String[] installer -> installer +org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.ForgeBMCLVersionList -> org.jackhuang.hellominecraft.launcher.ar: + org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.ForgeBMCLVersionList instance -> a + java.util.ArrayList root -> a + java.util.Map versionMap -> a + java.util.List versions -> a + 42:43:org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.ForgeBMCLVersionList getInstance() -> a + 52:82:void refreshList(java.lang.String[]) -> a + 86:91:java.util.List getVersions(java.lang.String) -> a + 96:96:java.lang.String getName() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.ForgeBMCLVersionList$1 -> org.jackhuang.hellominecraft.launcher.as: + org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.ForgeBMCLVersionList this$0 -> a +org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.ForgeVersion -> org.jackhuang.hellominecraft.launcher.at: + java.lang.String time -> time + java.lang.String minecraft -> minecraft + java.lang.String version -> version + java.lang.String _id -> _id + java.lang.String __v -> __v + org.jackhuang.hellominecraft.launcher.utils.installers.forge.bmcl.Downloads downloads -> downloads +org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersion -> org.jackhuang.hellominecraft.launcher.au: + java.lang.String branch -> branch + java.lang.String mcversion -> mcversion + java.lang.String jobver -> jobver + java.lang.String version -> version + int build -> build + double modified -> modified + java.lang.String[][] files -> files +org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersionList -> org.jackhuang.hellominecraft.launcher.av: + org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersionList instance -> a + org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersionRoot root -> a + java.util.Map versionMap -> a + java.util.List versions -> a + 39:41:org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersionList getInstance() -> a + 50:94:void refreshList(java.lang.String[]) -> a + 98:103:java.util.List getVersions(java.lang.String) -> a + 108:108:java.lang.String getName() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.forge.vanilla.MinecraftForgeVersionRoot -> org.jackhuang.hellominecraft.launcher.aw: + java.lang.String artifact -> artifact + java.lang.String webpath -> webpath + java.lang.String adfly -> adfly + java.lang.String homepage -> homepage + java.lang.String name -> name + java.util.Map branches -> branches + java.util.Map mcversion -> mcversion + java.util.Map promos -> promos + java.util.Map number -> number +org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderInstaller -> org.jackhuang.hellominecraft.launcher.ax: + org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionList$LiteLoaderInstallerVersion version -> a + java.io.File installer -> a + org.jackhuang.hellominecraft.launcher.settings.Profile profile -> a + java.util.ArrayList pre -> a + 54:85:boolean executeTask() -> a + 91:91:java.lang.String getInfo() -> a + 98:99:org.jackhuang.hellominecraft.tasks.Task registerPreviousResult(org.jackhuang.hellominecraft.tasks.communication.PreviousResult) -> a +org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderMCVersions -> org.jackhuang.hellominecraft.launcher.ay: + java.util.Map artefacts -> artefacts +org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersion -> org.jackhuang.hellominecraft.launcher.az: + java.lang.String tweakClass -> tweakClass + java.lang.String file -> file + java.lang.String version -> version + java.lang.String md5 -> md5 + java.lang.String timestamp -> timestamp + org.jackhuang.hellominecraft.launcher.version.MinecraftLibrary[] libraries -> libraries +org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionList -> org.jackhuang.hellominecraft.launcher.aA: + org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionList instance -> a + org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionsRoot root -> a + java.util.Map versionMap -> a + java.util.List versions -> a + 42:44:org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionList getInstance() -> a + 53:80:void refreshList(java.lang.String[]) -> a + 84:89:java.util.List getVersions(java.lang.String) -> a + 94:94:java.lang.String getName() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionList$LiteLoaderInstallerVersion -> org.jackhuang.hellominecraft.launcher.aB: + org.jackhuang.hellominecraft.launcher.version.MinecraftLibrary[] libraries -> a + java.lang.String tweakClass -> f +org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionsMeta -> org.jackhuang.hellominecraft.launcher.aC: + java.lang.String description -> description + java.lang.String authors -> authors + java.lang.String url -> url +org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionsRoot -> org.jackhuang.hellominecraft.launcher.aD: + java.util.Map versions -> versions + org.jackhuang.hellominecraft.launcher.utils.installers.liteloader.LiteLoaderVersionsMeta meta -> meta +org.jackhuang.hellominecraft.launcher.utils.installers.optifine.OptiFineInstaller -> org.jackhuang.hellominecraft.launcher.aE: + java.io.File installer -> a + org.jackhuang.hellominecraft.launcher.settings.Profile profile -> a + java.lang.String version -> a + java.util.ArrayList pre -> a + 54:83:boolean executeTask() -> a + 88:88:java.lang.String getInfo() -> a + 94:95:org.jackhuang.hellominecraft.tasks.Task registerPreviousResult(org.jackhuang.hellominecraft.tasks.communication.PreviousResult) -> a +org.jackhuang.hellominecraft.launcher.utils.installers.optifine.OptiFineVersion -> org.jackhuang.hellominecraft.launcher.aF: + java.lang.String dl -> dl + java.lang.String ver -> ver + java.lang.String date -> date + java.lang.String mirror -> mirror + java.lang.String mcver -> mcver +org.jackhuang.hellominecraft.launcher.utils.installers.optifine.bmcl.OptiFineBMCLVersionList -> org.jackhuang.hellominecraft.launcher.aG: + org.jackhuang.hellominecraft.launcher.utils.installers.optifine.bmcl.OptiFineBMCLVersionList instance -> a + java.util.ArrayList root -> a + java.util.Map versionMap -> a + java.util.List versions -> a + 43:45:org.jackhuang.hellominecraft.launcher.utils.installers.optifine.bmcl.OptiFineBMCLVersionList getInstance() -> a + 54:80:void refreshList(java.lang.String[]) -> a + 84:89:java.util.List getVersions(java.lang.String) -> a + 94:94:java.lang.String getName() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.optifine.bmcl.OptiFineBMCLVersionList$1 -> org.jackhuang.hellominecraft.launcher.aH: + org.jackhuang.hellominecraft.launcher.utils.installers.optifine.bmcl.OptiFineBMCLVersionList this$0 -> a +org.jackhuang.hellominecraft.launcher.utils.installers.optifine.vanilla.OptiFineDownloadFormatter -> org.jackhuang.hellominecraft.launcher.aI: + java.lang.String url -> a + java.lang.String result -> b + 41:49:boolean executeTask() -> a + 55:55:java.lang.String getInfo() -> a + 60:60:java.lang.String getResult() -> b + 30:30:java.lang.Object getResult() -> a +org.jackhuang.hellominecraft.launcher.utils.installers.optifine.vanilla.OptiFineVersionList -> org.jackhuang.hellominecraft.launcher.aJ: + org.jackhuang.hellominecraft.launcher.utils.installers.optifine.vanilla.OptiFineVersionList instance -> a + java.util.ArrayList root -> a + java.util.Map versionMap -> a + java.util.List versions -> a + 51:53:org.jackhuang.hellominecraft.launcher.utils.installers.optifine.vanilla.OptiFineVersionList getInstance() -> a + 62:113:void refreshList(java.lang.String[]) -> a + 117:117:java.lang.String getName() -> a + 122:127:java.util.List getVersions(java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.version.Extract -> org.jackhuang.hellominecraft.launcher.aK: + java.lang.String[] exclude -> a + 31:33:java.lang.Object clone() -> clone +org.jackhuang.hellominecraft.launcher.version.GameDirType -> org.jackhuang.hellominecraft.launcher.aL: + org.jackhuang.hellominecraft.launcher.version.GameDirType ROOT_FOLDER -> a + org.jackhuang.hellominecraft.launcher.version.GameDirType VERSION_FOLDER -> b + org.jackhuang.hellominecraft.launcher.version.GameDirType[] $VALUES -> a + 23:23:org.jackhuang.hellominecraft.launcher.version.GameDirType[] values() -> a + 23:23:org.jackhuang.hellominecraft.launcher.version.GameDirType valueOf(java.lang.String) -> a +org.jackhuang.hellominecraft.launcher.version.IMinecraftLibrary -> org.jackhuang.hellominecraft.launcher.aM: + java.lang.String name -> name + boolean isRequiredToUnzip() -> a + java.lang.String[] getDecompressExtractRules() -> a + void init() -> a + boolean allow() -> b + java.io.File getFilePath(java.io.File) -> a + java.lang.String getDownloadURL(java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 48:50:boolean equals(java.lang.Object) -> equals + 55:57:int hashCode() -> hashCode + java.lang.Object clone() -> clone +org.jackhuang.hellominecraft.launcher.version.MinecraftClassicVersion -> org.jackhuang.hellominecraft.launcher.aN: + 47:47:java.lang.Object clone() -> clone + 52:52:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion resolve(org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider,java.util.Set,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 57:57:java.io.File getJar(java.io.File) -> a + 62:62:java.io.File getJar(java.io.File,java.lang.String) -> a + 67:67:java.io.File getNatives(java.io.File) -> b + 72:72:boolean isAllowedToUnpackNatives() -> a +org.jackhuang.hellominecraft.launcher.version.MinecraftLibrary -> org.jackhuang.hellominecraft.launcher.aO: + java.util.ArrayList rules -> rules + java.lang.String url -> url + java.lang.String formatted -> formatted + java.lang.String[] checksums -> checksums + org.jackhuang.hellominecraft.launcher.version.Natives natives -> natives + org.jackhuang.hellominecraft.launcher.version.Extract extract -> extract + 55:55:java.lang.Object clone() -> clone + 65:77:boolean allow() -> b + 81:81:java.lang.String formatArch(java.lang.String) -> a + 85:91:java.lang.String getNative() -> a + 96:96:boolean isRequiredToUnzip() -> a + 101:115:void init() -> a + 119:119:java.io.File getFilePath(java.io.File) -> a + 124:126:java.lang.String getDownloadURL(java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 131:131:java.lang.String[] getDecompressExtractRules() -> a +org.jackhuang.hellominecraft.launcher.version.MinecraftOldLibrary -> org.jackhuang.hellominecraft.launcher.aP: + 34:34:boolean isRequiredToUnzip() -> a + 39:39:void init() -> a + 43:43:boolean allow() -> b + 48:48:java.io.File getFilePath(java.io.File) -> a + 53:53:java.lang.Object clone() -> clone + 58:58:java.lang.String getDownloadURL(java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a +org.jackhuang.hellominecraft.launcher.version.MinecraftVersion -> org.jackhuang.hellominecraft.launcher.aQ: + java.lang.String minecraftArguments -> minecraftArguments + java.lang.String mainClass -> mainClass + java.lang.String time -> time + java.lang.String id -> id + java.lang.String type -> type + java.lang.String processArguments -> processArguments + java.lang.String releaseTime -> releaseTime + java.lang.String assets -> assets + java.lang.String jar -> jar + java.lang.String inheritsFrom -> inheritsFrom + int minimumLauncherVersion -> minimumLauncherVersion + boolean hidden -> hidden + java.util.List libraries -> libraries + 69:69:java.lang.Object clone() -> clone + 73:73:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion resolve(org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 77:97:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion resolve(org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider,java.util.Set,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 101:102:java.io.File getJar(java.io.File) -> a + 106:107:java.io.File getJar(java.io.File,java.lang.String) -> a + 111:111:java.io.File getNatives(java.io.File) -> b + 116:116:boolean isAllowedToUnpackNatives() -> a + 120:120:java.lang.String getAssets() -> a + 125:125:int compareTo(org.jackhuang.hellominecraft.launcher.version.MinecraftVersion) -> a + 33:33:int compareTo(java.lang.Object) -> compareTo +org.jackhuang.hellominecraft.launcher.version.MinecraftVersionManager -> org.jackhuang.hellominecraft.launcher.aR: + java.io.File baseFolder -> a + org.jackhuang.hellominecraft.launcher.settings.Profile profile -> b + java.util.Map versions -> a + com.google.gson.Gson gson -> a + 72:72:java.io.File getFolder() -> f + 77:77:java.util.Collection getVersions() -> a + 82:82:int getVersionCount() -> a + 87:159:void refreshVersions() -> a + 163:167:boolean removeVersionFromDisk(java.lang.String) -> a + 173:188:boolean renameVersion(java.lang.String,java.lang.String) -> a + 194:194:boolean refreshJson(java.lang.String) -> b + 199:201:boolean refreshAssetsIndex(java.lang.String) -> c + 206:211:boolean install(java.lang.String,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 216:220:java.io.File getRunDirectory(java.lang.String) -> a + 226:244:java.util.List listMods() -> a + 249:264:java.util.List getDownloadLibraries(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 269:270:void openSelf(java.lang.String) -> a + 274:275:void open(java.lang.String,java.lang.String) -> a + 279:279:java.io.File getAssets() -> a + 284:294:org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DecompressLibraryJob getDecompressLibraries() -> a + 299:300:java.io.File getDecompressNativesToLocation() -> c + 305:305:java.io.File getMinecraftJar() -> d + 311:311:org.jackhuang.hellominecraft.launcher.launch.IMinecraftLoader provideMinecraftLoader(org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider,org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 316:316:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion getOneVersion() -> a + 321:321:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion getVersionById(java.lang.String) -> a + 326:326:java.io.File getResourcePacks() -> b + 331:331:java.io.File getBaseFolder() -> e + 336:338:void onLaunch() -> b +org.jackhuang.hellominecraft.launcher.version.MinecraftVersionManager$1 -> org.jackhuang.hellominecraft.launcher.aS: + int[] $SwitchMap$org$jackhuang$hellominecraft$launcher$version$GameDirType -> a +org.jackhuang.hellominecraft.launcher.version.Natives -> org.jackhuang.hellominecraft.launcher.aT: + java.lang.String windows -> windows + java.lang.String osx -> osx + java.lang.String linux -> linux + 29:33:java.lang.Object clone() -> clone +org.jackhuang.hellominecraft.launcher.version.OS -> org.jackhuang.hellominecraft.launcher.aU: + java.lang.String version -> version + java.lang.String name -> name +org.jackhuang.hellominecraft.launcher.version.Rules -> org.jackhuang.hellominecraft.launcher.aV: + java.lang.String action -> action + org.jackhuang.hellominecraft.launcher.version.OS os -> os +org.jackhuang.hellominecraft.launcher.views.DraggableFrame -> org.jackhuang.hellominecraft.launcher.aW: + int dragGripX -> a + int dragGripY -> b + 42:42:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + 46:50:void mousePressed(java.awt.event.MouseEvent) -> mousePressed + 54:54:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased + 58:58:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + 62:62:void mouseExited(java.awt.event.MouseEvent) -> mouseExited + 66:68:void mouseDragged(java.awt.event.MouseEvent) -> mouseDragged + 72:72:void mouseMoved(java.awt.event.MouseEvent) -> mouseMoved +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel -> org.jackhuang.hellominecraft.launcher.aX: + int assetsType -> a + boolean isLoading -> a + org.jackhuang.hellominecraft.launcher.settings.Profile profile -> a + org.jackhuang.hellominecraft.version.MinecraftVersionRequest minecraftVersion -> a + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$InstallerHelper forge -> a + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$InstallerHelper optifine -> b + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$InstallerHelper liteloader -> c + java.lang.String mcVersion -> a + java.util.List mods -> a + javax.swing.JPopupMenu ppmManage -> a + javax.swing.JPopupMenu ppmExplore -> b + java.awt.dnd.DropTarget dropTarget -> a + javax.swing.JButton btnAddMod -> a + javax.swing.JButton btnChoosingGameDir -> b + javax.swing.JButton btnChoosingJavaDir -> c + javax.swing.JButton btnDownload -> d + javax.swing.JButton btnDownloadAllAssets -> e + javax.swing.JButton btnDownloadForge -> f + javax.swing.JButton btnDownloadOptifine -> g + javax.swing.JButton btnExplore -> h + javax.swing.JButton btnIncludeMinecraft -> i + javax.swing.JButton btnInstallLiteLoader -> j + javax.swing.JButton btnModify -> k + javax.swing.JButton btnNewProfile -> l + javax.swing.JButton btnRefreshForge -> m + javax.swing.JButton btnRefreshGameDownloads -> n + javax.swing.JButton btnRefreshLiteLoader -> o + javax.swing.JButton btnRefreshOptifine -> p + javax.swing.JButton btnRefreshVersions -> q + javax.swing.JButton btnRemoveMod -> r + javax.swing.JButton btnRemoveProfile -> s + javax.swing.JComboBox cboGameDirType -> a + javax.swing.JComboBox cboJava -> b + javax.swing.JComboBox cboLauncherVisibility -> c + javax.swing.JComboBox cboProfiles -> d + javax.swing.JComboBox cboVersions -> e + javax.swing.JCheckBox chkCancelWrapper -> a + javax.swing.JCheckBox chkDebug -> b + javax.swing.JCheckBox chkFullscreen -> c + javax.swing.JCheckBox chkNoJVMArgs -> d + javax.swing.JLabel jLabel1 -> a + javax.swing.JLabel jLabel10 -> b + javax.swing.JLabel jLabel11 -> c + javax.swing.JLabel jLabel12 -> d + javax.swing.JLabel jLabel2 -> e + javax.swing.JLabel jLabel24 -> f + javax.swing.JLabel jLabel25 -> g + javax.swing.JLabel jLabel26 -> h + javax.swing.JLabel jLabel27 -> i + javax.swing.JLabel jLabel28 -> j + javax.swing.JLabel jLabel29 -> k + javax.swing.JLabel jLabel30 -> l + javax.swing.JLabel jLabel31 -> m + javax.swing.JLabel jLabel9 -> n + javax.swing.JPanel jPanel1 -> a + javax.swing.JPanel jPanel16 -> b + javax.swing.JPanel jPanel2 -> c + javax.swing.JPanel jPanel22 -> d + javax.swing.JPanel jPanel3 -> e + javax.swing.JPanel jPanel4 -> f + javax.swing.JPanel jPanel5 -> g + javax.swing.JPanel jPanel6 -> h + javax.swing.JPanel jPanel7 -> i + javax.swing.JScrollPane jScrollPane1 -> a + javax.swing.JScrollPane jScrollPane11 -> b + javax.swing.JScrollPane jScrollPane12 -> c + javax.swing.JScrollPane jScrollPane13 -> d + javax.swing.JScrollPane jScrollPane2 -> e + javax.swing.JLabel lblMaxMemory -> o + javax.swing.JLabel lblModInfo -> p + javax.swing.JTable lstDownloads -> a + javax.swing.JTable lstExternalMods -> b + javax.swing.JTable lstForge -> c + javax.swing.JTable lstLiteLoader -> d + javax.swing.JTable lstOptifine -> e + javax.swing.JPanel pnlAutoInstall -> j + javax.swing.JPanel pnlGameDownloads -> k + javax.swing.JPanel pnlOptifine -> l + javax.swing.JTabbedPane tabInstallers -> a + javax.swing.JTabbedPane tabVersionEdit -> b + javax.swing.JTextField txtGameDir -> a + javax.swing.JTextField txtHeight -> b + javax.swing.JTextField txtJavaArgs -> c + javax.swing.JTextField txtJavaDir -> d + javax.swing.JTextField txtMaxMemory -> e + javax.swing.JTextField txtMinecraftArgs -> f + javax.swing.JTextField txtMinecraftVersion -> g + javax.swing.JTextField txtPermSize -> h + javax.swing.JTextField txtServerIP -> i + javax.swing.JTextField txtWidth -> j + javax.swing.JTextField txtWrapperLauncher -> k + 263:1087:void initComponents() -> d + 1090:1095:void cboProfilesItemStateChanged(java.awt.event.ItemEvent) -> a + 1098:1101:void btnNewProfileActionPerformed(java.awt.event.ActionEvent) -> a + 1104:1114:void btnRemoveProfileActionPerformed(java.awt.event.ActionEvent) -> b + 1118:1126:void cboVersionsItemStateChanged(java.awt.event.ItemEvent) -> b + 1129:1130:void btnRefreshVersionsActionPerformed(java.awt.event.ActionEvent) -> c + 1133:1134:void btnRefreshForgeActionPerformed(java.awt.event.ActionEvent) -> d + 1137:1152:void btnDownloadForgeActionPerformed(java.awt.event.ActionEvent) -> e + 1155:1156:void btnRefreshOptifineActionPerformed(java.awt.event.ActionEvent) -> f + 1159:1173:void btnDownloadOptifineActionPerformed(java.awt.event.ActionEvent) -> g + 1176:1189:void btnInstallLiteLoaderActionPerformed(java.awt.event.ActionEvent) -> h + 1192:1193:void btnRefreshLiteLoaderActionPerformed(java.awt.event.ActionEvent) -> i + 1196:1198:void btnDownloadActionPerformed(java.awt.event.ActionEvent) -> j + 1201:1202:void btnRefreshGameDownloadsActionPerformed(java.awt.event.ActionEvent) -> k + 1205:1206:void btnExploreMouseClicked(java.awt.event.MouseEvent) -> a + 1209:1223:void btnIncludeMinecraftActionPerformed(java.awt.event.ActionEvent) -> l + 1226:1227:void btnModifyMouseClicked(java.awt.event.MouseEvent) -> b + 1230:1231:void txtJavaArgsFocusLost(java.awt.event.FocusEvent) -> a + 1234:1235:void txtMinecraftArgsFocusLost(java.awt.event.FocusEvent) -> b + 1238:1239:void txtPermSizeFocusLost(java.awt.event.FocusEvent) -> c + 1242:1243:void chkDebugFocusLost(java.awt.event.FocusEvent) -> d + 1246:1247:void chkNoJVMArgsFocusLost(java.awt.event.FocusEvent) -> e + 1250:1251:void chkCancelWrapperFocusLost(java.awt.event.FocusEvent) -> f + 1254:1255:void txtWrapperLauncherFocusLost(java.awt.event.FocusEvent) -> g + 1258:1259:void txtServerIPFocusLost(java.awt.event.FocusEvent) -> h + 1262:1264:void cboGameDirTypeFocusLost(java.awt.event.FocusEvent) -> i + 1267:1269:void cboLauncherVisibilityFocusLost(java.awt.event.FocusEvent) -> j + 1272:1293:void btnDownloadAllAssetsActionPerformed(java.awt.event.ActionEvent) -> m + 1296:1297:void txtMaxMemoryFocusLost(java.awt.event.FocusEvent) -> k + 1300:1301:void txtJavaDirFocusLost(java.awt.event.FocusEvent) -> l + 1304:1305:void chkFullscreenFocusLost(java.awt.event.FocusEvent) -> m + 1308:1309:void txtHeightFocusLost(java.awt.event.FocusEvent) -> n + 1312:1313:void txtWidthFocusLost(java.awt.event.FocusEvent) -> o + 1316:1319:void txtGameDirFocusLost(java.awt.event.FocusEvent) -> p + 1322:1341:void btnChoosingJavaDirActionPerformed(java.awt.event.ActionEvent) -> n + 1344:1353:void cboJavaItemStateChanged(java.awt.event.ItemEvent) -> c + 1356:1366:void btnAddModActionPerformed(java.awt.event.ActionEvent) -> o + 1370:1381:boolean addMod(java.io.File) -> a + 1386:1398:void btnRemoveModActionPerformed(java.awt.event.ActionEvent) -> p + 1401:1402:void lstExternalModsKeyPressed(java.awt.event.KeyEvent) -> a + 1405:1411:void lblModInfoMouseClicked(java.awt.event.MouseEvent) -> c + 1414:1429:void btnChoosingGameDirActionPerformed(java.awt.event.ActionEvent) -> q + 1434:1457:void loadProfiles() -> e + 1460:1462:org.jackhuang.hellominecraft.launcher.settings.Profile getProfile() -> a + 1466:1491:void prepare(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a + 1494:1509:void loadVersions() -> a + 1512:1513:void loadMinecraftVersion() -> b + 1516:1517:void loadMinecraftVersion(java.lang.String) -> a + 1526:1531:void loadMinecraftVersion(org.jackhuang.hellominecraft.launcher.version.MinecraftVersion) -> a + 1537:1542:void downloadAssets(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler) -> a + 1547:1582:void refreshDownloads(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 1585:1594:void downloadMinecraft(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> b + 1599:1599:java.lang.String getMinecraftVersionFormatted() -> a + 1604:1614:void dragEnter(java.awt.dnd.DropTargetDragEvent) -> dragEnter + 1618:1618:void dragOver(java.awt.dnd.DropTargetDragEvent) -> dragOver + 1622:1622:void dropActionChanged(java.awt.dnd.DropTargetDragEvent) -> dropActionChanged + 1626:1626:void dragExit(java.awt.dnd.DropTargetEvent) -> dragExit + 1630:1630:void drop(java.awt.dnd.DropTargetDropEvent) -> drop + 1682:1684:void refreshVersions() -> f + 1699:1704:void reloadMods() -> g + 1708:1723:void versionChanged(org.jackhuang.hellominecraft.launcher.settings.Profile,java.lang.String) -> a + 1726:1731:void onSelected() -> c + 1539:1541:void lambda$downloadAssets$19(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler,java.lang.String[]) -> b + 198:210:void lambda$new$18(javax.swing.event.TableModelEvent) -> a + 185:196:void lambda$new$17(javax.swing.event.ListSelectionEvent) -> a + 171:174:void lambda$new$16(java.awt.event.ActionEvent) -> r + 164:167:void lambda$new$15(java.awt.event.ActionEvent) -> s + 156:160:void lambda$new$14(java.awt.event.ActionEvent) -> t + 145:152:void lambda$new$13(java.awt.event.ActionEvent) -> u + 121:123:void lambda$new$12(java.awt.event.ActionEvent) -> v + 89:89:javax.swing.JTabbedPane access$000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a + 89:89:javax.swing.JPanel access$100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a + 89:89:javax.swing.JPanel access$200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + 89:89:javax.swing.JTabbedPane access$300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + 89:89:void access$400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> a + 89:89:void access$500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> b + 89:89:void access$600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> c + 89:89:void access$700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> d + 89:89:void access$800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> e + 89:89:void access$900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> f + 89:89:void access$1000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> a + 89:89:void access$1100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> g + 89:89:void access$1200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> h + 89:89:void access$1300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> b + 89:89:void access$1400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> a + 89:89:void access$1500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> c + 89:89:void access$1600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> i + 89:89:void access$1700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> j + 89:89:void access$1800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> k + 89:89:void access$1900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> l + 89:89:void access$2000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> m + 89:89:void access$2100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> n + 89:89:void access$2200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> o + 89:89:void access$2300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> p + 89:89:void access$2400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.KeyEvent) -> a + 89:89:void access$2500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> d + 89:89:void access$2600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> e + 89:89:void access$2700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.MouseEvent) -> a + 89:89:void access$2800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> f + 89:89:void access$2900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> g + 89:89:void access$3000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> h + 89:89:void access$3100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> i + 89:89:void access$3200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> j + 89:89:void access$3300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> k + 89:89:void access$3400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> l + 89:89:void access$3500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> m + 89:89:void access$3600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> b + 89:89:void access$3700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> c + 89:89:void access$3800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.MouseEvent) -> b + 89:89:void access$3900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> n + 89:89:void access$4000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> o + 89:89:void access$4100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> p + 89:89:void access$4200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.MouseEvent) -> c + 89:89:void access$4300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> q + 89:89:javax.swing.JTable access$4400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a + 89:89:java.lang.String access$4500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a + void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> r + void access$lambda$1(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> s + void access$lambda$2(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> t + void access$lambda$3(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> u + void access$lambda$4(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> v + void access$lambda$5(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,javax.swing.event.ListSelectionEvent) -> a + void access$lambda$6(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,javax.swing.event.TableModelEvent) -> a + void access$lambda$7(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler,java.lang.String[]) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.aY: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.aZ: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.ba: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.bb: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.bc: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$6 -> org.jackhuang.hellominecraft.launcher.bd: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel arg$1 -> a + javax.swing.event.ListSelectionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + void valueChanged(javax.swing.event.ListSelectionEvent) -> valueChanged + javax.swing.event.ListSelectionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$7 -> org.jackhuang.hellominecraft.launcher.be: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel arg$1 -> a + javax.swing.event.TableModelListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> b + void tableChanged(javax.swing.event.TableModelEvent) -> tableChanged + javax.swing.event.TableModelListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$8 -> org.jackhuang.hellominecraft.launcher.bf: + org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler arg$1 -> a + org.jackhuang.hellominecraft.utils.functions.Consumer get$Lambda(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler) -> b + void accept(java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$1 -> org.jackhuang.hellominecraft.launcher.bg: + boolean a -> a + boolean b -> b + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 216:223:void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$10 -> org.jackhuang.hellominecraft.launcher.bh: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 409:410:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$11 -> org.jackhuang.hellominecraft.launcher.bi: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 420:421:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$12 -> org.jackhuang.hellominecraft.launcher.bj: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 427:428:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$13 -> org.jackhuang.hellominecraft.launcher.bk: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 433:434:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$14 -> org.jackhuang.hellominecraft.launcher.bl: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 440:441:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$15 -> org.jackhuang.hellominecraft.launcher.bm: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 534:535:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$16 -> org.jackhuang.hellominecraft.launcher.bn: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 543:544:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$17 -> org.jackhuang.hellominecraft.launcher.bo: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 549:550:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$18 -> org.jackhuang.hellominecraft.launcher.bp: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 559:560:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$19 -> org.jackhuang.hellominecraft.launcher.bq: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 566:567:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$1ImplementedActionListener -> org.jackhuang.hellominecraft.launcher.br: + java.lang.String a -> a + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 113:116:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$2 -> org.jackhuang.hellominecraft.launcher.bs: + boolean a -> a + boolean b -> b + boolean c -> c + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 230:241:void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$20 -> org.jackhuang.hellominecraft.launcher.bt: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 573:574:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$21 -> org.jackhuang.hellominecraft.launcher.bu: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 581:582:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$22 -> org.jackhuang.hellominecraft.launcher.bv: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 589:590:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$23 -> org.jackhuang.hellominecraft.launcher.bw: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 663:664:void keyPressed(java.awt.event.KeyEvent) -> keyPressed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$24 -> org.jackhuang.hellominecraft.launcher.bx: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 672:673:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$25 -> org.jackhuang.hellominecraft.launcher.by: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 679:680:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$26 -> org.jackhuang.hellominecraft.launcher.bz: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 687:688:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$27 -> org.jackhuang.hellominecraft.launcher.bA: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 744:745:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$28 -> org.jackhuang.hellominecraft.launcher.bB: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 751:752:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$29 -> org.jackhuang.hellominecraft.launcher.bC: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 787:788:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$3 -> org.jackhuang.hellominecraft.launcher.bD: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 352:353:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$30 -> org.jackhuang.hellominecraft.launcher.bE: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 794:795:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$31 -> org.jackhuang.hellominecraft.launcher.bF: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 825:826:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$32 -> org.jackhuang.hellominecraft.launcher.bG: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 837:838:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$33 -> org.jackhuang.hellominecraft.launcher.bH: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 881:882:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$34 -> org.jackhuang.hellominecraft.launcher.bI: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 893:894:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$35 -> org.jackhuang.hellominecraft.launcher.bJ: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 926:927:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$36 -> org.jackhuang.hellominecraft.launcher.bK: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 932:933:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$37 -> org.jackhuang.hellominecraft.launcher.bL: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 971:972:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$38 -> org.jackhuang.hellominecraft.launcher.bM: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 978:979:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$39 -> org.jackhuang.hellominecraft.launcher.bN: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 987:988:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$4 -> org.jackhuang.hellominecraft.launcher.bO: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 361:362:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$40 -> org.jackhuang.hellominecraft.launcher.bP: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 994:995:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$41 -> org.jackhuang.hellominecraft.launcher.bQ: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 1002:1003:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$42 -> org.jackhuang.hellominecraft.launcher.bR: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 1062:1063:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$43 -> org.jackhuang.hellominecraft.launcher.bS: + org.jackhuang.hellominecraft.tasks.download.HTTPGetTask tsk -> a + org.jackhuang.hellominecraft.launcher.utils.download.DownloadType val$provider -> a + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 1552:1569:boolean executeTask() -> a + 1574:1574:java.lang.String getInfo() -> a + 1579:1579:java.util.Collection getDependTasks() -> b + 1556:1568:void lambda$executeTask$20(org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a + void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$43,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$43$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.bT: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$43 arg$1 -> a + org.jackhuang.hellominecraft.version.MinecraftRemoteVersions arg$2 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$43,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$43,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$5 -> org.jackhuang.hellominecraft.launcher.bU: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 367:368:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$6 -> org.jackhuang.hellominecraft.launcher.bV: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 376:377:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$7 -> org.jackhuang.hellominecraft.launcher.bW: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 382:383:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$8 -> org.jackhuang.hellominecraft.launcher.bX: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 392:393:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$9 -> org.jackhuang.hellominecraft.launcher.bY: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 402:403:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$InstallerHelper -> org.jackhuang.hellominecraft.launcher.bZ: + java.util.List versions -> a + org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList list -> a + javax.swing.JTable jt -> a + java.lang.String id -> a + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 1645:1646:void loadVersions() -> a + 1649:1654:void refreshVersions() -> b + 1657:1657:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion getVersion(int) -> a + 1661:1677:java.util.List loadVersions(org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList,javax.swing.JTable) -> a +org.jackhuang.hellominecraft.launcher.views.HeaderTab -> org.jackhuang.hellominecraft.launcher.ca: + boolean isActive -> a + javax.swing.DefaultButtonModel model -> a + 48:48:boolean isActive() -> a + 52:56:void setIsActive(boolean) -> a + 59:60:void addActionListener(java.awt.event.ActionListener) -> a + 63:63:java.lang.String getActionCommand() -> a + 67:67:java.awt.event.ActionListener[] getActionListeners() -> a + 71:72:void removeActionListener(java.awt.event.ActionListener) -> b + 75:76:void setActionCommand(java.lang.String) -> a + 80:80:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + 84:86:void mousePressed(java.awt.event.MouseEvent) -> mousePressed + 90:92:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased + 96:97:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + 101:102:void mouseExited(java.awt.event.MouseEvent) -> mouseExited +org.jackhuang.hellominecraft.launcher.views.HeaderTab$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.cb: + org.jackhuang.hellominecraft.launcher.views.HeaderTab arg$1 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.launcher.views.HeaderTab) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.HeaderTab) -> a +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel -> org.jackhuang.hellominecraft.launcher.cc: + javax.swing.JButton btnCheckUpdate -> a + javax.swing.JButton btnSelBackgroundPath -> b + javax.swing.JComboBox cboDownloadSource -> a + javax.swing.JComboBox cboTheme -> b + javax.swing.JCheckBox chkEnableShadow -> a + javax.swing.JLabel jLabel1 -> a + javax.swing.JLabel jLabel14 -> b + javax.swing.JLabel jLabel2 -> c + javax.swing.JLabel jLabel3 -> d + javax.swing.JLabel jLabel4 -> e + javax.swing.JLabel jLabel5 -> f + javax.swing.JLabel jLabel6 -> g + javax.swing.JLabel jLabel7 -> h + javax.swing.JLabel jLabel8 -> i + javax.swing.JTextField txtBackgroundPath -> a + javax.swing.JTextField txtProxyHost -> b + javax.swing.JTextField txtProxyPassword -> c + javax.swing.JTextField txtProxyPort -> d + javax.swing.JTextField txtProxyUsername -> e + 64:251:void initComponents() -> a + 254:255:void cboDownloadSourceItemStateChanged(java.awt.event.ItemEvent) -> a + 258:277:void btnSelBackgroundPathActionPerformed(java.awt.event.ActionEvent) -> a + 280:282:void txtBackgroundPathFocusLost(java.awt.event.FocusEvent) -> a + 285:286:void btnCheckUpdateActionPerformed(java.awt.event.ActionEvent) -> b + 289:290:void chkEnableShadowFocusLost(java.awt.event.FocusEvent) -> b + 293:296:void cboThemeItemStateChanged(java.awt.event.ItemEvent) -> b + 299:300:void txtProxyHostFocusLost(java.awt.event.FocusEvent) -> c + 303:304:void txtProxyPortFocusLost(java.awt.event.FocusEvent) -> d + 307:308:void txtProxyUsernameFocusLost(java.awt.event.FocusEvent) -> e + 311:312:void txtProxyPasswordFocusLost(java.awt.event.FocusEvent) -> f + 34:34:void access$000(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.ItemEvent) -> a + 34:34:void access$100(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.ActionEvent) -> a + 34:34:void access$200(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> a + 34:34:void access$300(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.ActionEvent) -> b + 34:34:void access$400(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> b + 34:34:void access$500(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.ItemEvent) -> b + 34:34:void access$600(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> c + 34:34:void access$700(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> d + 34:34:void access$800(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> e + 34:34:void access$900(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> f +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$1 -> org.jackhuang.hellominecraft.launcher.cd: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 87:88:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$10 -> org.jackhuang.hellominecraft.launcher.ce: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 164:165:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$2 -> org.jackhuang.hellominecraft.launcher.cf: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 97:98:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$3 -> org.jackhuang.hellominecraft.launcher.cg: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 107:108:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$4 -> org.jackhuang.hellominecraft.launcher.ch: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 116:117:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$5 -> org.jackhuang.hellominecraft.launcher.ci: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 123:124:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$6 -> org.jackhuang.hellominecraft.launcher.cj: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 132:133:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$7 -> org.jackhuang.hellominecraft.launcher.ck: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 140:141:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$8 -> org.jackhuang.hellominecraft.launcher.cl: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 148:149:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$9 -> org.jackhuang.hellominecraft.launcher.cm: + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a + 158:159:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.MainFrame -> org.jackhuang.hellominecraft.launcher.cn: + org.jackhuang.hellominecraft.launcher.views.MainFrame instance -> a + org.jackhuang.hellominecraft.launcher.views.HeaderTab mainTab -> a + org.jackhuang.hellominecraft.launcher.views.HeaderTab gameTab -> b + org.jackhuang.hellominecraft.launcher.views.HeaderTab launcherTab -> c + org.jackhuang.hellominecraft.views.TintablePanel centralPanel -> a + javax.swing.JPanel header -> a + org.jackhuang.hellominecraft.launcher.views.MainPagePanel mainPanel -> a + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel gamePanel -> a + org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel launcherPanel -> a + java.awt.CardLayout infoLayout -> a + javax.swing.JPanel infoSwap -> b + javax.swing.JPanel launcherPanelWrapper -> c + javax.swing.JPanel gamePanelWrapper -> d + javax.swing.JLabel backgroundLabel -> a + javax.swing.JLabel windowTitle -> b + javax.swing.JPanel realPanel -> e + org.jackhuang.hellominecraft.views.DropShadowBorder border -> a + boolean enableShadow -> a + java.lang.String defaultTitle -> a + javax.swing.ImageIcon background -> a + boolean isShowedMessage -> b + java.awt.Color borderColor -> a + java.awt.Color borderColorDarker -> b + 101:241:void initComponents() -> g + 244:267:void selectTab(java.lang.String) -> a + 270:271:void closeWindow() -> a + 274:275:void minimizeWindow() -> b + 280:290:void loadBackground() -> c + 293:293:javax.swing.JPanel getTitleBar() -> a + 299:305:void closeMessage() -> d + 308:320:void showMessage(java.lang.String) -> b + 323:325:void showMainFrame(boolean) -> a + 331:340:void reloadColor() -> e + 343:351:void paintImpl(java.awt.Graphics) -> a + 355:372:void paint(java.awt.Graphics) -> paint + 375:381:void invokeUpdate() -> f + 176:176:void lambda$initComponents$23(java.awt.event.ActionEvent) -> a + 169:169:void lambda$initComponents$22(java.awt.event.ActionEvent) -> b + 125:125:void lambda$initComponents$21(java.awt.event.ActionEvent) -> c + void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.MainFrame,java.awt.event.ActionEvent) -> a + void access$lambda$1(org.jackhuang.hellominecraft.launcher.views.MainFrame,java.awt.event.ActionEvent) -> b + void access$lambda$2(org.jackhuang.hellominecraft.launcher.views.MainFrame,java.awt.event.ActionEvent) -> c +org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.co: + org.jackhuang.hellominecraft.launcher.views.MainFrame arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> a +org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.cp: + org.jackhuang.hellominecraft.launcher.views.MainFrame arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> a +org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.cq: + org.jackhuang.hellominecraft.launcher.views.MainFrame arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> a +org.jackhuang.hellominecraft.launcher.views.MainFrame$1 -> org.jackhuang.hellominecraft.launcher.cr: + org.jackhuang.hellominecraft.launcher.views.MainFrame this$0 -> a + 189:190:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + 194:194:void mousePressed(java.awt.event.MouseEvent) -> mousePressed + 198:198:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased + 202:202:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + 206:206:void mouseExited(java.awt.event.MouseEvent) -> mouseExited +org.jackhuang.hellominecraft.launcher.views.MainPagePanel -> org.jackhuang.hellominecraft.launcher.cs: + boolean isLaunching -> a + boolean showedNoVersion -> b + boolean preaparingAuth -> c + boolean isLoading -> d + javax.swing.JPanel pnlButtons -> a + org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton btnRun -> a + int deWidth -> a + int deHeight -> b + javax.swing.JButton btnLogout -> a + javax.swing.JButton btnMakeLaunchScript -> b + javax.swing.JButton btnShowLog -> c + javax.swing.JComboBox cboLoginMode -> a + javax.swing.JComboBox cboProfiles -> b + javax.swing.JComboBox cboVersions -> c + javax.swing.JLabel jLabel1 -> a + javax.swing.JLabel jLabel10 -> b + javax.swing.JLabel jLabel7 -> c + javax.swing.JLabel jLabel9 -> d + javax.swing.JPanel jPanel1 -> b + javax.swing.JPanel jPanel3 -> c + javax.swing.JLabel lblUserName -> e + javax.swing.JPanel pnlMore -> d + javax.swing.JPanel pnlPassword -> e + javax.swing.JPasswordField txtPassword -> a + javax.swing.JTextField txtPlayerName -> a + 92:289:void initComponents() -> f + 292:293:void txtPlayerNameFocusGained(java.awt.event.FocusEvent) -> a + 296:297:void txtPlayerNameFocusLost(java.awt.event.FocusEvent) -> b + 300:320:void cboLoginModeItemStateChanged(java.awt.event.ItemEvent) -> a + 323:327:void cboProfilesItemStateChanged(java.awt.event.ItemEvent) -> b + 330:335:void cboVersionsItemStateChanged(java.awt.event.ItemEvent) -> c + 338:339:void txtPasswordFocusGained(java.awt.event.FocusEvent) -> c + 342:343:void txtPasswordActionPerformed(java.awt.event.ActionEvent) -> a + 346:353:void btnLogoutActionPerformed(java.awt.event.ActionEvent) -> b + 356:357:void btnShowLogActionPerformed(java.awt.event.ActionEvent) -> c + 360:365:void btnMakeLaunchScriptActionPerformed(java.awt.event.ActionEvent) -> d + 368:375:void txtPlayerNameKeyPressed(java.awt.event.KeyEvent) -> a + 378:379:void txtPasswordKeyPressed(java.awt.event.KeyEvent) -> b + 385:429:void genLaunchCode(org.jackhuang.hellominecraft.utils.functions.Consumer) -> a + 434:451:void prepareAuths() -> g + 454:455:void loadFromSettings() -> a + 460:482:void loadMinecraftVersions() -> b + 485:497:void refreshMinecrafts(java.lang.String) -> a + 518:523:void btnRunActionPerformed() -> h + 526:533:void onShow(boolean) -> a + 536:536:org.jackhuang.hellominecraft.launcher.settings.Profile getCurrentProfile() -> a + 540:541:void onSelected() -> c + 531:531:void lambda$onShow$31() -> i + 527:527:void lambda$onShow$30() -> j + 520:522:void lambda$btnRunActionPerformed$29(org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> a + 469:471:void lambda$loadMinecraftVersions$28() -> k + 362:364:void lambda$btnMakeLaunchScriptActionPerformed$25(org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> b + 69:69:void lambda$new$24(java.awt.event.ActionEvent) -> e + 50:50:void access$000(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.FocusEvent) -> a + 50:50:void access$100(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.FocusEvent) -> b + 50:50:void access$200(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.KeyEvent) -> a + 50:50:void access$300(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ItemEvent) -> a + 50:50:void access$400(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ItemEvent) -> b + 50:50:void access$500(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ItemEvent) -> c + 50:50:void access$600(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.FocusEvent) -> c + 50:50:void access$700(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ActionEvent) -> a + 50:50:void access$800(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.KeyEvent) -> b + 50:50:void access$900(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ActionEvent) -> b + 50:50:void access$1000(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ActionEvent) -> c + 50:50:void access$1100(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ActionEvent) -> d + 50:50:void access$1200(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a + void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,java.awt.event.ActionEvent) -> e + void access$lambda$1(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> a + void access$lambda$2(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b + void access$lambda$3(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> b + void access$lambda$4() -> d + void access$lambda$5() -> e +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.ct: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a + java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.cu: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a + org.jackhuang.hellominecraft.utils.functions.Consumer get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b + void accept(java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.cv: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.cw: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a + org.jackhuang.hellominecraft.utils.functions.Consumer get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b + void accept(java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.cx: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$5 instance -> a + void run() -> run + java.lang.Runnable lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$6 -> org.jackhuang.hellominecraft.launcher.cy: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$6 instance -> a + void run() -> run + java.lang.Runnable lambdaFactory$() -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$1 -> org.jackhuang.hellominecraft.launcher.cz: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 117:118:void focusGained(java.awt.event.FocusEvent) -> focusGained + 120:121:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$10 -> org.jackhuang.hellominecraft.launcher.cA: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 220:221:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$11 -> org.jackhuang.hellominecraft.launcher.cB: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 227:228:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12 -> org.jackhuang.hellominecraft.launcher.cC: + org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo val$li -> a + org.jackhuang.hellominecraft.launcher.utils.auth.IAuthenticator val$l -> a + org.jackhuang.hellominecraft.utils.functions.Consumer val$listener -> a + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 412:426:void run() -> run + 421:422:boolean lambda$run$27(java.lang.Object,java.util.List) -> a + 415:418:boolean lambda$run$26(java.lang.Object,java.lang.String) -> a + boolean access$lambda$0(org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12,java.lang.Object,java.lang.String) -> a + boolean access$lambda$1(org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12,java.lang.Object,java.util.List) -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.cD: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12 arg$1 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12) -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.cE: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12 arg$1 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12) -> a +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$2 -> org.jackhuang.hellominecraft.launcher.cF: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 125:126:void keyPressed(java.awt.event.KeyEvent) -> keyPressed +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$3 -> org.jackhuang.hellominecraft.launcher.cG: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 134:135:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$4 -> org.jackhuang.hellominecraft.launcher.cH: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 144:145:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$5 -> org.jackhuang.hellominecraft.launcher.cI: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 153:154:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$6 -> org.jackhuang.hellominecraft.launcher.cJ: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 163:164:void focusGained(java.awt.event.FocusEvent) -> focusGained +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$7 -> org.jackhuang.hellominecraft.launcher.cK: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 168:169:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$8 -> org.jackhuang.hellominecraft.launcher.cL: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 173:174:void keyPressed(java.awt.event.KeyEvent) -> keyPressed +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$9 -> org.jackhuang.hellominecraft.launcher.cM: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 200:201:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$PrepareAuthDoneListener -> org.jackhuang.hellominecraft.launcher.cN: + org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a + 512:513:boolean call(java.lang.Object,java.util.List) -> a + 508:508:boolean call(java.lang.Object,java.lang.Object) -> a +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow -> org.jackhuang.hellominecraft.launcher.cO: + javax.swing.JButton btnCancel -> a + javax.swing.JButton btnOK -> b + javax.swing.JComboBox cboProfiles -> a + javax.swing.JLabel jLabel1 -> a + javax.swing.JLabel jLabel2 -> b + javax.swing.JTextField txtNewProfileName -> a + 48:124:void initComponents() -> a + 127:135:void txtNewProfileNameKeyTyped(java.awt.event.KeyEvent) -> a + 138:144:void btnOKActionPerformed(java.awt.event.ActionEvent) -> a + 147:148:void btnCancelActionPerformed(java.awt.event.ActionEvent) -> b + 27:27:void access$000(org.jackhuang.hellominecraft.launcher.views.NewProfileWindow,java.awt.event.KeyEvent) -> a + 27:27:void access$100(org.jackhuang.hellominecraft.launcher.views.NewProfileWindow,java.awt.event.ActionEvent) -> a + 27:27:void access$200(org.jackhuang.hellominecraft.launcher.views.NewProfileWindow,java.awt.event.ActionEvent) -> b +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$1 -> org.jackhuang.hellominecraft.launcher.cP: + org.jackhuang.hellominecraft.launcher.views.NewProfileWindow this$0 -> a + 63:64:void keyTyped(java.awt.event.KeyEvent) -> keyTyped +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$2 -> org.jackhuang.hellominecraft.launcher.cQ: + org.jackhuang.hellominecraft.launcher.views.NewProfileWindow this$0 -> a + 72:73:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$3 -> org.jackhuang.hellominecraft.launcher.cR: + org.jackhuang.hellominecraft.launcher.views.NewProfileWindow this$0 -> a + 79:80:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.logging.AppenderControl -> org.jackhuang.hellominecraft.launcher.cS: + java.lang.ThreadLocal recursive -> a + org.jackhuang.hellominecraft.logging.appender.IAppender appender -> a + org.jackhuang.hellominecraft.logging.Level level -> a + int intLevel -> a + 35:35:org.jackhuang.hellominecraft.logging.appender.IAppender getAppender() -> a + 39:69:void callAppender(org.jackhuang.hellominecraft.logging.LogEvent) -> a +org.jackhuang.hellominecraft.logging.Configuration -> org.jackhuang.hellominecraft.launcher.cT: + java.util.ArrayList appenders -> a + org.jackhuang.hellominecraft.logging.Configuration DEFAULT -> a +org.jackhuang.hellominecraft.logging.Level -> org.jackhuang.hellominecraft.launcher.cU: + org.jackhuang.hellominecraft.logging.Level OFF -> a + org.jackhuang.hellominecraft.logging.Level FATAL -> b + org.jackhuang.hellominecraft.logging.Level ERROR -> c + org.jackhuang.hellominecraft.logging.Level WARN -> d + org.jackhuang.hellominecraft.logging.Level INFO -> e + org.jackhuang.hellominecraft.logging.Level DEBUG -> f + org.jackhuang.hellominecraft.logging.Level TRACE -> g + org.jackhuang.hellominecraft.logging.Level ALL -> h + int level -> a + org.jackhuang.hellominecraft.logging.Level[] $VALUES -> a + 23:23:org.jackhuang.hellominecraft.logging.Level[] values() -> a + 23:23:org.jackhuang.hellominecraft.logging.Level valueOf(java.lang.String) -> a + 41:41:boolean lessOrEqual(org.jackhuang.hellominecraft.logging.Level) -> a + 45:45:boolean lessOrEqual(int) -> a +org.jackhuang.hellominecraft.logging.LogEvent -> org.jackhuang.hellominecraft.launcher.cV: + org.jackhuang.hellominecraft.logging.Level level -> a + java.lang.String threadName -> a + java.lang.Throwable thrown -> a + org.jackhuang.hellominecraft.logging.message.IMessage message -> a +org.jackhuang.hellominecraft.logging.LoggingException -> org.jackhuang.hellominecraft.launcher.cW: +org.jackhuang.hellominecraft.logging.appender.AbstractAppender -> org.jackhuang.hellominecraft.launcher.cX: + java.lang.String name -> a + org.jackhuang.hellominecraft.logging.layout.ILayout layout -> a + boolean ignoreExceptions -> a + 44:44:java.lang.String getName() -> a + 49:49:boolean ignoreExceptions() -> a + 54:54:org.jackhuang.hellominecraft.logging.layout.ILayout getLayout() -> a +org.jackhuang.hellominecraft.logging.appender.ConsoleAppender -> org.jackhuang.hellominecraft.launcher.cY: +org.jackhuang.hellominecraft.logging.appender.ConsoleAppender$SystemErrStream -> org.jackhuang.hellominecraft.launcher.cZ: + 66:66:void close() -> close + 70:71:void flush() -> flush + 75:76:void write(byte[]) -> write + 81:82:void write(byte[],int,int) -> write + 86:87:void write(int) -> write +org.jackhuang.hellominecraft.logging.appender.ConsoleAppender$SystemOutStream -> org.jackhuang.hellominecraft.launcher.da: + 38:38:void close() -> close + 42:43:void flush() -> flush + 47:48:void write(byte[]) -> write + 53:54:void write(byte[],int,int) -> write + 58:59:void write(int) -> write +org.jackhuang.hellominecraft.logging.appender.IAppender -> org.jackhuang.hellominecraft.launcher.db: + void append(org.jackhuang.hellominecraft.logging.LogEvent) -> a + java.lang.String getName() -> a + boolean ignoreExceptions() -> a + org.jackhuang.hellominecraft.logging.layout.ILayout getLayout() -> a +org.jackhuang.hellominecraft.logging.appender.OutputStreamAppender -> org.jackhuang.hellominecraft.launcher.dc: + java.io.OutputStream stream -> a + boolean immediateFlush -> a + java.util.concurrent.locks.Lock readLock -> a + 48:62:void append(org.jackhuang.hellominecraft.logging.LogEvent) -> a +org.jackhuang.hellominecraft.logging.layout.AbstractStringLayout -> org.jackhuang.hellominecraft.launcher.dd: + 29:29:byte[] toByteArray(org.jackhuang.hellominecraft.logging.LogEvent) -> a +org.jackhuang.hellominecraft.logging.layout.DefaultLayout -> org.jackhuang.hellominecraft.launcher.de: + java.text.SimpleDateFormat sdf -> a + 32:32:java.lang.String toSerializable(org.jackhuang.hellominecraft.logging.LogEvent) -> a + 27:27:java.io.Serializable toSerializable(org.jackhuang.hellominecraft.logging.LogEvent) -> a +org.jackhuang.hellominecraft.logging.layout.ILayout -> org.jackhuang.hellominecraft.launcher.df: + byte[] toByteArray(org.jackhuang.hellominecraft.logging.LogEvent) -> a + java.io.Serializable toSerializable(org.jackhuang.hellominecraft.logging.LogEvent) -> a +org.jackhuang.hellominecraft.logging.logger.AbstractLogger -> org.jackhuang.hellominecraft.launcher.dg: + java.lang.Class DEFAULT_MESSAGE_FACTORY_CLASS -> a + java.lang.String FQCN -> a + java.lang.String THROWING -> b + java.lang.String CATCHING -> c + java.lang.String name -> d + org.jackhuang.hellominecraft.logging.message.IMessageFactory messageFactory -> a + 53:57:org.jackhuang.hellominecraft.logging.message.IMessageFactory createDefaultMessageFactory() -> a + 63:66:void catching(org.jackhuang.hellominecraft.logging.Level,java.lang.Throwable) -> a + 70:71:void catching(java.lang.Throwable) -> a + 75:78:void debug(org.jackhuang.hellominecraft.logging.message.IMessage) -> a + 82:85:void debug(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + 89:92:void debug(java.lang.Object) -> a + 96:99:void debug(java.lang.Object,java.lang.Throwable) -> a + 103:106:void debug(java.lang.String) -> a + 110:114:void debug(java.lang.String,java.lang.Object[]) -> a + 118:121:void debug(java.lang.String,java.lang.Throwable) -> a + 125:126:void entry() -> a + 130:133:void entry(java.lang.Object[]) -> a + 136:153:org.jackhuang.hellominecraft.logging.message.IMessage entryMsg(int,java.lang.Object[]) -> a + 158:161:void error(org.jackhuang.hellominecraft.logging.message.IMessage) -> b + 165:168:void error(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> b + 172:175:void error(java.lang.Object) -> b + 179:182:void error(java.lang.Object,java.lang.Throwable) -> b + 186:189:void error(java.lang.String) -> b + 193:197:void error(java.lang.String,java.lang.Object[]) -> b + 201:204:void error(java.lang.String,java.lang.Throwable) -> b + 208:211:void fatal(org.jackhuang.hellominecraft.logging.message.IMessage) -> c + 215:218:void fatal(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> c + 222:225:void fatal(java.lang.Object) -> c + 229:232:void fatal(java.lang.Object,java.lang.Throwable) -> c + 236:239:void fatal(java.lang.String) -> c + 243:247:void fatal(java.lang.String,java.lang.Object[]) -> c + 251:254:void fatal(java.lang.String,java.lang.Throwable) -> c + 258:258:java.lang.String getName() -> a + 263:266:void info(org.jackhuang.hellominecraft.logging.message.IMessage) -> d + 270:273:void info(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> d + 277:280:void info(java.lang.Object) -> d + 284:287:void info(java.lang.Object,java.lang.Throwable) -> d + 291:294:void info(java.lang.String) -> d + 298:302:void info(java.lang.String,java.lang.Object[]) -> d + 306:309:void info(java.lang.String,java.lang.Throwable) -> d + boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a + boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String) -> a + boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> a + boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Throwable) -> a + void abstractLog(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + 325:325:boolean isErrorEnabled() -> a + 331:331:boolean isFatalEnabled() -> b + 336:336:boolean isInfoEnabled() -> c + 341:341:boolean isTraceEnabled() -> d + 346:346:boolean isWarnEnabled() -> e + 351:351:boolean isDebugEnabled() -> f + 356:356:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level) -> a + 361:364:void log(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage) -> a + 368:371:void log(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> b + 375:378:void log(org.jackhuang.hellominecraft.logging.Level,java.lang.Object) -> a + 382:385:void log(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a + 389:392:void log(org.jackhuang.hellominecraft.logging.Level,java.lang.String) -> a + 396:400:void log(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> a + 404:407:void log(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Throwable) -> a + 411:415:void printf(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> b + 419:419:java.lang.Throwable throwing(java.lang.Throwable) -> a + 424:427:java.lang.Throwable throwing(org.jackhuang.hellominecraft.logging.Level,java.lang.Throwable) -> a + 432:432:java.lang.String toString() -> toString + 437:440:void trace(org.jackhuang.hellominecraft.logging.message.IMessage) -> e + 444:447:void trace(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> e + 451:454:void trace(java.lang.Object) -> e + 458:461:void trace(java.lang.Object,java.lang.Throwable) -> e + 465:468:void trace(java.lang.String) -> e + 472:476:void trace(java.lang.String,java.lang.Object[]) -> e + 480:483:void trace(java.lang.String,java.lang.Throwable) -> e + 487:490:void warn(org.jackhuang.hellominecraft.logging.message.IMessage) -> f + 494:497:void warn(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> f + 501:504:void warn(java.lang.Object) -> f + 508:511:void warn(java.lang.Object,java.lang.Throwable) -> f + 515:518:void warn(java.lang.String) -> f + 522:526:void warn(java.lang.String,java.lang.Object[]) -> f + 530:533:void warn(java.lang.String,java.lang.Throwable) -> f +org.jackhuang.hellominecraft.logging.logger.ILogger -> org.jackhuang.hellominecraft.launcher.dh: + void catching(org.jackhuang.hellominecraft.logging.Level,java.lang.Throwable) -> a + void catching(java.lang.Throwable) -> a + void debug(org.jackhuang.hellominecraft.logging.message.IMessage) -> a + void debug(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + void debug(java.lang.Object) -> a + void debug(java.lang.Object,java.lang.Throwable) -> a + void debug(java.lang.String) -> a + void debug(java.lang.String,java.lang.Object[]) -> a + void debug(java.lang.String,java.lang.Throwable) -> a + void entry() -> a + void entry(java.lang.Object[]) -> a + void error(org.jackhuang.hellominecraft.logging.message.IMessage) -> b + void error(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> b + void error(java.lang.Object) -> b + void error(java.lang.Object,java.lang.Throwable) -> b + void error(java.lang.String) -> b + void error(java.lang.String,java.lang.Object[]) -> b + void error(java.lang.String,java.lang.Throwable) -> b + void fatal(org.jackhuang.hellominecraft.logging.message.IMessage) -> c + void fatal(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> c + void fatal(java.lang.Object) -> c + void fatal(java.lang.Object,java.lang.Throwable) -> c + void fatal(java.lang.String) -> c + void fatal(java.lang.String,java.lang.Object[]) -> c + void fatal(java.lang.String,java.lang.Throwable) -> c + java.lang.String getName() -> a + void info(org.jackhuang.hellominecraft.logging.message.IMessage) -> d + void info(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> d + void info(java.lang.Object) -> d + void info(java.lang.Object,java.lang.Throwable) -> d + void info(java.lang.String) -> d + void info(java.lang.String,java.lang.Object[]) -> d + void info(java.lang.String,java.lang.Throwable) -> d + boolean isDebugEnabled() -> f + boolean isEnabled(org.jackhuang.hellominecraft.logging.Level) -> a + boolean isErrorEnabled() -> a + boolean isFatalEnabled() -> b + boolean isInfoEnabled() -> c + boolean isTraceEnabled() -> d + boolean isWarnEnabled() -> e + void log(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage) -> a + void log(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> b + void log(org.jackhuang.hellominecraft.logging.Level,java.lang.Object) -> a + void log(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a + void log(org.jackhuang.hellominecraft.logging.Level,java.lang.String) -> a + void log(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> a + void log(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Throwable) -> a + void printf(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> b + java.lang.Throwable throwing(org.jackhuang.hellominecraft.logging.Level,java.lang.Throwable) -> a + java.lang.Throwable throwing(java.lang.Throwable) -> a + void trace(org.jackhuang.hellominecraft.logging.message.IMessage) -> e + void trace(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> e + void trace(java.lang.Object) -> e + void trace(java.lang.Object,java.lang.Throwable) -> e + void trace(java.lang.String) -> e + void trace(java.lang.String,java.lang.Object[]) -> e + void trace(java.lang.String,java.lang.Throwable) -> e + void warn(org.jackhuang.hellominecraft.logging.message.IMessage) -> f + void warn(org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> f + void warn(java.lang.Object) -> f + void warn(java.lang.Object,java.lang.Throwable) -> f + void warn(java.lang.String) -> f + void warn(java.lang.String,java.lang.Object[]) -> f + void warn(java.lang.String,java.lang.Throwable) -> f +org.jackhuang.hellominecraft.logging.logger.Logger -> org.jackhuang.hellominecraft.launcher.di: + org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig config -> a + java.util.Map appenders -> a + 45:48:void setLevel(org.jackhuang.hellominecraft.logging.Level) -> a + 51:51:org.jackhuang.hellominecraft.logging.Level getLevel() -> a + 56:63:void abstractLog(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + 66:67:void log(org.jackhuang.hellominecraft.logging.LogEvent) -> a + 70:73:void callAppenders(org.jackhuang.hellominecraft.logging.LogEvent) -> b + 77:77:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String) -> a + 82:82:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Throwable) -> a + 87:87:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> a + 92:92:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a + 97:97:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + 101:102:void addAppender(org.jackhuang.hellominecraft.logging.appender.IAppender) -> a + 105:106:void removeAppender(org.jackhuang.hellominecraft.logging.appender.IAppender) -> b + 109:113:java.util.Map getAppenders() -> a + 118:119:java.lang.String toString() -> toString +org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig -> org.jackhuang.hellominecraft.launcher.dj: + org.jackhuang.hellominecraft.logging.Configuration config -> a + org.jackhuang.hellominecraft.logging.Level level -> a + int intLevel -> a + org.jackhuang.hellominecraft.logging.logger.Logger logger -> b + org.jackhuang.hellominecraft.logging.logger.Logger this$0 -> a + 145:145:boolean filter(org.jackhuang.hellominecraft.logging.Level,java.lang.String) -> a + 150:150:boolean filter(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Throwable) -> a + 155:155:boolean filter(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> a + 160:160:boolean filter(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a + 165:165:boolean filter(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + 122:122:org.jackhuang.hellominecraft.logging.Level access$000(org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig) -> a +org.jackhuang.hellominecraft.logging.logger.SimpleLogger -> org.jackhuang.hellominecraft.launcher.dk: + char SPACE -> a + java.text.DateFormat dateFormatter -> a + org.jackhuang.hellominecraft.logging.Level level -> a + boolean showDateTime -> a + boolean showContextMap -> b + java.io.PrintStream stream -> a + java.lang.String logName -> a + 67:68:void setStream(java.io.PrintStream) -> a + 71:71:org.jackhuang.hellominecraft.logging.Level getLevel() -> a + 75:78:void setLevel(org.jackhuang.hellominecraft.logging.Level) -> a + 82:115:void abstractLog(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a + 119:119:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String) -> a + 124:124:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Throwable) -> a + 129:129:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> a + 134:134:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a + 139:139:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a +org.jackhuang.hellominecraft.logging.message.AbstractMessageFactory -> org.jackhuang.hellominecraft.launcher.dl: + 28:28:org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.Object) -> a + 33:33:org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String) -> a +org.jackhuang.hellominecraft.logging.message.IMessage -> org.jackhuang.hellominecraft.launcher.dm: + java.lang.String getFormattedMessage() -> a + java.lang.String getFormat() -> b + java.lang.Object[] getParameters() -> a + java.lang.Throwable getThrowable() -> a +org.jackhuang.hellominecraft.logging.message.IMessageFactory -> org.jackhuang.hellominecraft.launcher.dn: + org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.Object) -> a + org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String) -> a + org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String,java.lang.Object[]) -> a +org.jackhuang.hellominecraft.logging.message.ObjectMessage -> org.jackhuang.hellominecraft.launcher.do: + long serialVersionUID -> a + java.lang.Object obj -> a + 34:34:java.lang.String getFormattedMessage() -> a + 39:39:java.lang.String getFormat() -> b + 44:44:java.lang.Object[] getParameters() -> a + 49:58:boolean equals(java.lang.Object) -> equals + 63:63:int hashCode() -> hashCode + 68:68:java.lang.String toString() -> toString + 73:73:java.lang.Throwable getThrowable() -> a +org.jackhuang.hellominecraft.logging.message.ParameterizedMessage -> org.jackhuang.hellominecraft.launcher.dp: + java.lang.String RECURSION_PREFIX -> a + java.lang.String RECURSION_SUFFIX -> b + java.lang.String ERROR_PREFIX -> c + java.lang.String ERROR_SEPARATOR -> d + java.lang.String ERROR_MSG_SEPARATOR -> e + java.lang.String ERROR_SUFFIX -> f + long serialVersionUID -> a + int HASHVAL -> a + char DELIM_START -> a + char DELIM_STOP -> b + char ESCAPE_CHAR -> c + java.lang.String messagePattern -> g + java.lang.String[] stringArgs -> a + java.lang.Object[] argArray -> a + java.lang.String formattedMessage -> h + java.lang.Throwable throwable -> a + 78:101:java.lang.String[] parseArguments(java.lang.Object[]) -> a + 106:109:java.lang.String getFormattedMessage() -> a + 114:114:java.lang.String getFormat() -> b + 119:122:java.lang.Object[] getParameters() -> a + 127:127:java.lang.Throwable getThrowable() -> a + 131:131:java.lang.String formatMessage(java.lang.String,java.lang.String[]) -> a + 136:143:boolean equals(java.lang.Object) -> equals + 148:150:int hashCode() -> hashCode + 154:192:java.lang.String format(java.lang.String,java.lang.Object[]) -> a + 196:220:int countArgumentPlaceholders(java.lang.String) -> a + 224:229:java.lang.String deepToString(java.lang.Object) -> a + 233:336:void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder,java.util.Set) -> a + 339:340:java.lang.String identityToString(java.lang.Object) -> b + 345:345:java.lang.String toString() -> toString +org.jackhuang.hellominecraft.logging.message.ParameterizedMessageFactory -> org.jackhuang.hellominecraft.launcher.dq: + org.jackhuang.hellominecraft.logging.message.ParameterizedMessageFactory INSTANCE -> a + 29:29:org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String,java.lang.Object[]) -> a +org.jackhuang.hellominecraft.logging.message.SimpleMessage -> org.jackhuang.hellominecraft.launcher.dr: + long serialVersionUID -> a + java.lang.String message -> a + 39:39:java.lang.String getFormattedMessage() -> a + 44:44:java.lang.String getFormat() -> b + 49:49:java.lang.Object[] getParameters() -> a + 54:63:boolean equals(java.lang.Object) -> equals + 68:68:int hashCode() -> hashCode + 73:73:java.lang.String toString() -> toString + 78:78:java.lang.Throwable getThrowable() -> a +org.jackhuang.hellominecraft.logging.message.StringFormattedMessage -> org.jackhuang.hellominecraft.launcher.ds: + long serialVersionUID -> a + java.lang.String messagePattern -> a + java.lang.Object[] argArray -> a + java.lang.String[] stringArgs -> a + java.lang.String formattedMessage -> b + java.lang.Throwable throwable -> a + 42:45:java.lang.String getFormattedMessage() -> a + 50:50:java.lang.String getFormat() -> b + 55:58:java.lang.Object[] getParameters() -> a + 63:68:java.lang.String formatMessage(java.lang.String,java.lang.Object[]) -> a + 73:86:boolean equals(java.lang.Object) -> equals + 91:93:int hashCode() -> hashCode + 98:98:java.lang.String toString() -> toString + 103:103:java.lang.Throwable getThrowable() -> a +org.jackhuang.hellominecraft.lookandfeel.GraphicsUtils -> org.jackhuang.hellominecraft.lookandfeel.GraphicsUtils: + java.util.Map desktopHints -> desktopHints + 40:54:java.awt.RenderingHints getRenderingHints(java.awt.Graphics2D,java.util.Map,java.awt.RenderingHints) -> getRenderingHints + 63:91:void paintText(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,java.lang.String,int,int,int) -> paintText + 103:108:java.awt.image.BufferedImage loadImage(java.lang.String) -> loadImage + 119:125:java.awt.Color getWebColor(java.lang.String) -> getWebColor + 137:144:java.awt.Color getWebColorWithAlpha(java.lang.String) -> getWebColorWithAlpha + 157:157:java.awt.Color getMidWebColor(java.lang.String,java.lang.String) -> getMidWebColor + 169:184:java.awt.Color getMidWebColor(java.lang.String,java.lang.String,int) -> getMidWebColor + 188:200:java.awt.Color getMidWebColor(java.awt.Color,java.awt.Color,int) -> getMidWebColor +org.jackhuang.hellominecraft.lookandfeel.HelloMinecraftLookAndFeel -> org.jackhuang.hellominecraft.lookandfeel.HelloMinecraftLookAndFeel: + 43:43:java.lang.String getName() -> getName + 53:53:java.lang.String getID() -> getID + 63:63:java.lang.String getDescription() -> getDescription +org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton -> org.jackhuang.hellominecraft.launcher.dt: + java.awt.Color normalFg -> a + java.awt.Color normalBg -> b + java.awt.Color prelightFg -> c + java.awt.Color prelightBg -> d + java.awt.Color activeFg -> e + java.awt.Color activeBg -> f + int drawPercent -> a + long lastDrawTime -> a + int radix -> b + boolean notDraw -> a +org.jackhuang.hellominecraft.lookandfeel.components.IConstomable -> org.jackhuang.hellominecraft.launcher.du: + boolean constomBackground() -> a + boolean constomForeground() -> b +org.jackhuang.hellominecraft.lookandfeel.painters.ButtonPainter -> org.jackhuang.hellominecraft.lookandfeel.painters.ButtonPainter: + java.lang.String DEFAULT_NORMAL -> DEFAULT_NORMAL + java.awt.Color[] DEFAULT_NORMAL_FG -> DEFAULT_NORMAL_FG + java.lang.String DEFAULT_PRELIGHT -> DEFAULT_PRELIGHT + java.awt.Color[] DEFAULT_PRELIGHT_FG -> DEFAULT_PRELIGHT_FG + java.lang.String DEFAULT_ACTIVE -> DEFAULT_ACTIVE + java.awt.Color[] DEFAULT_ACTIVE_FG -> DEFAULT_ACTIVE_FG + java.awt.Color[] DISABLED_BG -> DISABLED_BG + java.awt.Color[] DISABLED_FG -> DISABLED_FG + 79:95:boolean processCustomButton(org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton,int) -> processCustomButton + 103:218:void paintButtonBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintButtonBackground + 222:268:void paintToggleButtonBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintToggleButtonBackground +org.jackhuang.hellominecraft.lookandfeel.painters.ButtonPainter$1 -> org.jackhuang.hellominecraft.lookandfeel.painters.ButtonPainter$1: + org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton val$c -> val$c + 90:91:void run() -> run +org.jackhuang.hellominecraft.lookandfeel.painters.ProgressPainter -> org.jackhuang.hellominecraft.lookandfeel.painters.ProgressPainter: + float[] NORMAL_BG_PTS -> NORMAL_BG_PTS + java.awt.Color[] NORMAL_BG -> NORMAL_BG + float[] NORMAL_FG_PTS -> NORMAL_FG_PTS + java.awt.Color[] NORMAL_FG -> NORMAL_FG + float[] BAR_BG_PTS -> BAR_BG_PTS + java.awt.Color[] BAR_BG -> BAR_BG + float[] BAR_FG_PTS -> BAR_FG_PTS + java.awt.Color[] BAR_FG -> BAR_FG + 66:75:void paintProgressBarBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int,int) -> paintProgressBarBackground + 82:92:void paintProgressBarForeground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int,int) -> paintProgressBarForeground + 98:98:void paintProgressBarBorder(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int,int) -> paintProgressBarBorder +org.jackhuang.hellominecraft.lookandfeel.painters.TextFieldPainter -> org.jackhuang.hellominecraft.lookandfeel.painters.TextFieldPainter: + boolean fill -> fill + java.awt.Color disabled -> disabled + java.awt.Color normal -> normal + java.awt.Color focused -> focused + java.awt.Color over -> over + 52:73:void paintFieldBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintFieldBackground + 77:78:void paintPasswordFieldBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintPasswordFieldBackground + 82:83:void paintTextAreaBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintTextAreaBackground + 87:88:void paintTextFieldBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintTextFieldBackground + 92:93:void paintTextPaneBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintTextPaneBackground + 97:98:void paintScrollPaneBackground(javax.swing.plaf.synth.SynthContext,java.awt.Graphics,int,int,int,int) -> paintScrollPaneBackground +org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI -> org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI: + java.awt.image.BufferedImage combo_normal -> combo_normal + java.awt.image.BufferedImage combo_over -> combo_over + java.awt.image.BufferedImage combo_pressed -> combo_pressed + java.awt.image.BufferedImage combo_disabled -> combo_disabled + java.awt.Dimension BTN_SIZE -> BTN_SIZE + java.awt.Dimension btnSize -> btnSize + boolean mouseInside -> mouseInside + boolean mouseDown -> mouseDown + 45:45:javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent) -> createUI + 50:52:void installUI(javax.swing.JComponent) -> installUI + 56:58:void installListeners() -> installListeners + 62:64:void uninstallListeners() -> uninstallListeners + 73:86:java.awt.Dimension getMinimumSize(javax.swing.JComponent) -> getMinimumSize + 91:113:javax.swing.JButton createArrowButton() -> createArrowButton + 118:132:void paint(java.awt.Graphics,javax.swing.JComponent) -> paint + 136:174:void paintCurrentValueBackground(java.awt.Graphics,java.awt.Rectangle,boolean) -> paintCurrentValueBackground + 178:178:java.awt.LayoutManager createLayoutManager() -> createLayoutManager + 183:183:java.awt.Insets getInsets() -> getInsets + 192:192:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + 196:204:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + 208:216:void mouseExited(java.awt.event.MouseEvent) -> mouseExited + 220:228:void mousePressed(java.awt.event.MouseEvent) -> mousePressed + 232:240:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased + 28:28:javax.swing.JComboBox access$000(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$000 + 28:28:java.awt.image.BufferedImage access$100() -> access$100 + 28:28:boolean access$200(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$200 + 28:28:java.awt.image.BufferedImage access$300() -> access$300 + 28:28:javax.swing.JComboBox access$400(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$400 + 28:28:boolean access$500(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$500 + 28:28:java.awt.image.BufferedImage access$600() -> access$600 + 28:28:javax.swing.JComboBox access$700(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$700 + 28:28:javax.swing.JButton access$900(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$900 + 28:28:java.awt.Dimension access$1000(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$1000 + 28:28:javax.swing.JButton access$1100(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$1100 + 28:28:javax.swing.JButton access$1200(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$1200 + 28:28:java.awt.Component access$1300(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$1300 + 28:28:java.awt.Rectangle access$1400(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$1400 + 28:28:java.awt.Component access$1500(org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI) -> access$1500 +org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI$1 -> org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI$1: + org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI this$0 -> this$0 + 94:107:void paintComponent(java.awt.Graphics) -> paintComponent +org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI$ComboLayout -> org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI$ComboLayout: + org.jackhuang.hellominecraft.lookandfeel.ui.ComboBoxUI this$0 -> this$0 + 248:248:void addLayoutComponent(java.lang.String,java.awt.Component) -> addLayoutComponent + 252:252:void removeLayoutComponent(java.awt.Component) -> removeLayoutComponent + 256:256:java.awt.Dimension preferredLayoutSize(java.awt.Container) -> preferredLayoutSize + 261:261:java.awt.Dimension minimumLayoutSize(java.awt.Container) -> minimumLayoutSize + 266:286:void layoutContainer(java.awt.Container) -> layoutContainer +org.jackhuang.hellominecraft.lookandfeel.ui.ListCellRender -> org.jackhuang.hellominecraft.lookandfeel.ui.ListCellRender: + 38:40:java.awt.Component getListCellRendererComponent(javax.swing.JList,java.lang.Object,int,boolean,boolean) -> getListCellRendererComponent +org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI -> org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI: + java.awt.image.BufferedImage BACKGROUND_ENABLED -> BACKGROUND_ENABLED + java.awt.image.BufferedImage BACKGROUND_DISABLED -> BACKGROUND_DISABLED + java.awt.image.BufferedImage SCROLL_DEC_NORMAL -> SCROLL_DEC_NORMAL + java.awt.image.BufferedImage SCROLL_DEC_OVER -> SCROLL_DEC_OVER + java.awt.image.BufferedImage SCROLL_DEC_PRESSED -> SCROLL_DEC_PRESSED + java.awt.image.BufferedImage SCROLL_INC_NORMAL -> SCROLL_INC_NORMAL + java.awt.image.BufferedImage SCROLL_INC_OVER -> SCROLL_INC_OVER + java.awt.image.BufferedImage SCROLL_INC_PRESSED -> SCROLL_INC_PRESSED + java.awt.image.BufferedImage SCROLL_THUMB_NORMAL -> SCROLL_THUMB_NORMAL + java.awt.image.BufferedImage SCROLL_THUMB_OVER -> SCROLL_THUMB_OVER + java.awt.image.BufferedImage SCROLL_THUMB_PRESSED -> SCROLL_THUMB_PRESSED + boolean incBtnMouseOver -> incBtnMouseOver + boolean incBtnMousePressed -> incBtnMousePressed + boolean decBtnMouseOver -> decBtnMouseOver + boolean decBtnMousePressed -> decBtnMousePressed + boolean thumbMousePressed -> thumbMousePressed + 55:55:javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent) -> createUI + 60:74:void installUI(javax.swing.JComponent) -> installUI + 78:78:java.awt.Dimension getMinimumThumbSize() -> getMinimumThumbSize + 83:101:javax.swing.JButton createDecreaseButton(int) -> createDecreaseButton + 106:124:javax.swing.JButton createIncreaseButton(int) -> createIncreaseButton + 129:151:void paintTrack(java.awt.Graphics,javax.swing.JComponent,java.awt.Rectangle) -> paintTrack + 155:178:void paintThumb(java.awt.Graphics,javax.swing.JComponent,java.awt.Rectangle) -> paintThumb + 30:30:boolean access$002(org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI,boolean) -> access$002 + 30:30:javax.swing.JScrollBar access$100(org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI) -> access$100 + 30:30:boolean access$202(org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI,boolean) -> access$202 + 30:30:boolean access$302(org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI,boolean) -> access$302 + 30:30:boolean access$402(org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI,boolean) -> access$402 + 30:30:boolean access$502(org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI,boolean) -> access$502 +org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI$1 -> org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI$1: + org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI this$0 -> this$0 + 64:68:void mousePressed(java.awt.event.MouseEvent) -> mousePressed + 71:72:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased +org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI$2 -> org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI$2: + org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI this$0 -> this$0 + 86:87:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + 90:91:void mouseExited(java.awt.event.MouseEvent) -> mouseExited + 94:95:void mousePressed(java.awt.event.MouseEvent) -> mousePressed + 98:99:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased +org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI$3 -> org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI$3: + org.jackhuang.hellominecraft.lookandfeel.ui.ScrollBarUI this$0 -> this$0 + 109:110:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + 113:114:void mouseExited(java.awt.event.MouseEvent) -> mouseExited + 117:118:void mousePressed(java.awt.event.MouseEvent) -> mousePressed + 121:122:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased +org.jackhuang.hellominecraft.lookandfeel.ui.ScrollButton -> org.jackhuang.hellominecraft.lookandfeel.ui.ScrollButton: + int btnWidth -> btnWidth + int btnHeight -> btnHeight + 56:56:java.awt.Dimension getMaximumSize() -> getMaximumSize + 61:61:java.awt.Dimension getMinimumSize() -> getMinimumSize + 66:66:java.awt.Dimension getPreferredSize() -> getPreferredSize + 71:72:void repaint(long,int,int,int,int) -> repaint + 81:81:void paint(java.awt.Graphics) -> paint +org.jackhuang.hellominecraft.tasks.DoingDoneListener -> org.jackhuang.hellominecraft.launcher.dv: + void onDone(java.lang.Object) -> a + void onDoing(java.lang.Object) -> b + void onFailed(java.lang.Object) -> c +org.jackhuang.hellominecraft.tasks.ParallelTask -> org.jackhuang.hellominecraft.launcher.dw: + java.util.Collection dependsTask -> a + 32:32:boolean executeTask() -> a + 37:37:java.lang.String getInfo() -> a + 42:42:java.util.Collection getDependTasks() -> b + 46:47:void addDependsTask(org.jackhuang.hellominecraft.tasks.Task) -> a +org.jackhuang.hellominecraft.tasks.ProgressProviderListener -> org.jackhuang.hellominecraft.launcher.dx: + void setProgress(org.jackhuang.hellominecraft.tasks.Task,int,int) -> a + void setStatus(org.jackhuang.hellominecraft.tasks.Task,java.lang.String) -> a + void onProgressProviderDone(org.jackhuang.hellominecraft.tasks.Task) -> a +org.jackhuang.hellominecraft.tasks.Task -> org.jackhuang.hellominecraft.launcher.dy: + boolean aborted -> b + java.lang.Throwable failReason -> a + java.lang.String tag -> c + boolean parallelExecuting -> c + java.util.ArrayList taskListener -> b + org.jackhuang.hellominecraft.tasks.ProgressProviderListener ppl -> a + boolean executeTask() -> a + 42:43:boolean abort() -> b + 49:49:boolean isAborted() -> c + 53:53:java.lang.Throwable getFailReason() -> a + 58:59:void setFailReason(java.lang.Throwable) -> a + 65:66:org.jackhuang.hellominecraft.tasks.Task setTag(java.lang.String) -> a + 70:70:boolean isParallelExecuting() -> d + 74:75:void setParallelExecuting(boolean) -> a + 80:81:org.jackhuang.hellominecraft.tasks.Task addTaskListener(org.jackhuang.hellominecraft.tasks.DoingDoneListener) -> a + 85:85:java.util.ArrayList getTaskListeners() -> a + java.lang.String getInfo() -> a + 91:91:java.util.Collection getDependTasks() -> b + 95:95:java.util.Collection getAfterTasks() -> a + 101:102:org.jackhuang.hellominecraft.tasks.Task setProgressProviderListener(org.jackhuang.hellominecraft.tasks.ProgressProviderListener) -> a +org.jackhuang.hellominecraft.tasks.TaskInfo -> org.jackhuang.hellominecraft.launcher.dz: + java.lang.String info -> a + 33:33:java.lang.String getInfo() -> a +org.jackhuang.hellominecraft.tasks.TaskList -> org.jackhuang.hellominecraft.launcher.dA: + java.util.List taskQueue -> a + java.util.ArrayList allDone -> a + java.util.ArrayList taskListener -> b + int totTask -> a + boolean shouldContinue -> a + java.util.Set threadPool -> a + java.util.Set taskPool -> b + 45:47:void clean() -> a + 50:51:void addAllDoneListener(org.jackhuang.hellominecraft.utils.functions.NonConsumer) -> a + 54:55:void addTaskListener(org.jackhuang.hellominecraft.tasks.DoingDoneListener) -> a + 58:59:void addTask(org.jackhuang.hellominecraft.tasks.Task) -> a + 62:62:int taskCount() -> a + 88:107:void processTasks(java.util.Collection) -> a + 110:134:void executeTask(org.jackhuang.hellominecraft.tasks.Task) -> b + 138:147:void run() -> run + 150:150:boolean isEmpty() -> a + 154:162:void abort() -> b + 32:32:void access$000(org.jackhuang.hellominecraft.tasks.TaskList,org.jackhuang.hellominecraft.tasks.Task) -> a +org.jackhuang.hellominecraft.tasks.TaskList$InvokeThread -> org.jackhuang.hellominecraft.launcher.dB: + org.jackhuang.hellominecraft.tasks.Task task -> a + java.util.Set s -> a + org.jackhuang.hellominecraft.tasks.TaskList this$0 -> a + 77:80:void run() -> run +org.jackhuang.hellominecraft.tasks.TaskRunnable -> org.jackhuang.hellominecraft.launcher.dC: + java.lang.Runnable r -> a + 35:39:boolean executeTask() -> a +org.jackhuang.hellominecraft.tasks.TaskRunnableArg1 -> org.jackhuang.hellominecraft.launcher.dD: + org.jackhuang.hellominecraft.utils.functions.Consumer r -> a + java.util.ArrayList al -> a + 38:44:boolean executeTask() -> a + 52:53:org.jackhuang.hellominecraft.tasks.Task registerPreviousResult(org.jackhuang.hellominecraft.tasks.communication.PreviousResult) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow -> org.jackhuang.hellominecraft.launcher.dE: + org.jackhuang.hellominecraft.tasks.TaskWindow instance -> a + boolean suc -> a + org.jackhuang.hellominecraft.tasks.TaskList taskList -> a + java.util.ArrayList failReasons -> c + javax.swing.JButton btnCancel -> a + javax.swing.JLabel lblTotalProgress -> a + javax.swing.JTable lstDownload -> a + javax.swing.JProgressBar pgsTotal -> a + javax.swing.JScrollPane srlDownload -> a + java.util.ArrayList tasks -> a + java.util.ArrayList progresses -> b + 39:40:org.jackhuang.hellominecraft.tasks.TaskWindow getInstance() -> a + 60:61:org.jackhuang.hellominecraft.tasks.TaskWindow addTask(org.jackhuang.hellominecraft.tasks.Task) -> a + 65:69:void clean() -> b + 72:86:boolean start() -> a + 98:158:void initComponents() -> c + 161:163:void btnCancelActionPerformed(java.awt.event.ActionEvent) -> a + 166:177:void formWindowClosed(java.awt.event.WindowEvent) -> a + 192:202:void setProgress(org.jackhuang.hellominecraft.tasks.Task,int,int) -> a + 206:209:void onDone() -> a + 213:221:void onDoing(org.jackhuang.hellominecraft.tasks.Task) -> b + 224:224:boolean areTasksFinished() -> b + 229:238:void onDone(org.jackhuang.hellominecraft.tasks.Task) -> c + 242:252:void onFailed(org.jackhuang.hellominecraft.tasks.Task) -> d + 257:257:void onProgressProviderDone(org.jackhuang.hellominecraft.tasks.Task) -> a + 261:264:void setStatus(org.jackhuang.hellominecraft.tasks.Task,java.lang.String) -> a + 33:33:void onFailed(java.lang.Object) -> c + 33:33:void onDoing(java.lang.Object) -> b + 33:33:void onDone(java.lang.Object) -> a + 262:263:void lambda$setStatus$4(java.lang.String) -> a + 243:251:void lambda$onFailed$3(org.jackhuang.hellominecraft.tasks.Task) -> e + 230:237:void lambda$onDone$2(org.jackhuang.hellominecraft.tasks.Task) -> f + 216:220:void lambda$onDoing$1(org.jackhuang.hellominecraft.tasks.Task) -> g + 193:201:void lambda$setProgress$0(org.jackhuang.hellominecraft.tasks.Task,int,int) -> b + 33:33:void access$000(org.jackhuang.hellominecraft.tasks.TaskWindow,java.awt.event.WindowEvent) -> a + 33:33:void access$100(org.jackhuang.hellominecraft.tasks.TaskWindow,java.awt.event.ActionEvent) -> a + void access$lambda$0(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task,int,int) -> a + void access$lambda$1(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> a + void access$lambda$2(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b + void access$lambda$3(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> c + void access$lambda$4(org.jackhuang.hellominecraft.tasks.TaskWindow,java.lang.String) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dF: + org.jackhuang.hellominecraft.tasks.TaskList arg$1 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskList) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskList) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.dG: + org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a + org.jackhuang.hellominecraft.tasks.Task arg$2 -> a + int arg$3 -> a + int arg$4 -> b + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task,int,int) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task,int,int) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.dH: + org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a + org.jackhuang.hellominecraft.tasks.Task arg$2 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.dI: + org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a + org.jackhuang.hellominecraft.tasks.Task arg$2 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.dJ: + org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a + org.jackhuang.hellominecraft.tasks.Task arg$2 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$6 -> org.jackhuang.hellominecraft.launcher.dK: + org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a + java.lang.String arg$2 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,java.lang.String) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,java.lang.String) -> a +org.jackhuang.hellominecraft.tasks.TaskWindow$1 -> org.jackhuang.hellominecraft.launcher.dL: + org.jackhuang.hellominecraft.tasks.TaskWindow this$0 -> a + 109:110:void windowClosed(java.awt.event.WindowEvent) -> windowClosed +org.jackhuang.hellominecraft.tasks.TaskWindow$2 -> org.jackhuang.hellominecraft.launcher.dM: + org.jackhuang.hellominecraft.tasks.TaskWindow this$0 -> a + 116:117:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.tasks.communication.DefaultPreviousResult -> org.jackhuang.hellominecraft.launcher.dN: + java.lang.Object a -> a + 34:34:java.lang.Object getResult() -> a +org.jackhuang.hellominecraft.tasks.communication.PreviousResult -> org.jackhuang.hellominecraft.launcher.dO: + java.lang.Object getResult() -> a +org.jackhuang.hellominecraft.tasks.communication.PreviousResultRegistrar -> org.jackhuang.hellominecraft.launcher.dP: + org.jackhuang.hellominecraft.tasks.Task registerPreviousResult(org.jackhuang.hellominecraft.tasks.communication.PreviousResult) -> a +org.jackhuang.hellominecraft.tasks.download.ContentGetAndShowTask -> org.jackhuang.hellominecraft.launcher.dQ: + java.lang.String info -> b + 35:36:boolean executeTask() -> a + 43:43:java.lang.String getInfo() -> a + 48:51:boolean call(java.lang.Object,java.lang.String) -> a + 26:26:boolean call(java.lang.Object,java.lang.Object) -> a +org.jackhuang.hellominecraft.tasks.download.DownloadListener -> org.jackhuang.hellominecraft.launcher.dR: + boolean OnFailed() -> a + void OnFailedMoreThan5Times(java.lang.String) -> a +org.jackhuang.hellominecraft.tasks.download.FileDownloadTask -> org.jackhuang.hellominecraft.launcher.dS: + javax.net.ssl.X509TrustManager xtm -> a + javax.net.ssl.HostnameVerifier hnv -> a + int MAX_BUFFER_SIZE -> a + java.net.URL url -> a + int size -> b + int downloaded -> c + java.io.File filePath -> a + java.io.RandomAccessFile file -> a + java.io.InputStream stream -> a + boolean shouldContinue -> a + java.util.ArrayList al -> a + 103:103:java.lang.String getUrl() -> b + 112:128:void closeFiles() -> a + 133:215:boolean executeTask() -> a + 219:220:void download(java.lang.String,java.lang.String,org.jackhuang.hellominecraft.tasks.download.DownloadListener) -> a + 224:226:boolean abort() -> b + 231:231:java.lang.String getInfo() -> a + 236:236:java.io.File getResult() -> a + 243:244:org.jackhuang.hellominecraft.tasks.Task registerPreviousResult(org.jackhuang.hellominecraft.tasks.communication.PreviousResult) -> a + 44:44:java.lang.Object getResult() -> a + 60:60:boolean lambda$static$5(java.lang.String,javax.net.ssl.SSLSession) -> b + boolean access$lambda$0(java.lang.String,javax.net.ssl.SSLSession) -> a +org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dT: + org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$$Lambda$1 instance -> a + boolean verify(java.lang.String,javax.net.ssl.SSLSession) -> verify + javax.net.ssl.HostnameVerifier lambdaFactory$() -> a +org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$1 -> org.jackhuang.hellominecraft.launcher.dU: + 49:49:void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String) -> checkClientTrusted + 53:53:void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String) -> checkServerTrusted + 57:57:java.security.cert.X509Certificate[] getAcceptedIssuers() -> getAcceptedIssuers +org.jackhuang.hellominecraft.tasks.download.HTTPGetTask -> org.jackhuang.hellominecraft.launcher.dV: + java.lang.String url -> d + java.lang.String encoding -> e + java.lang.String result -> f + org.jackhuang.hellominecraft.utils.EventHandler tdtsl -> a + boolean shouldContinue -> a + 54:78:boolean executeTask() -> a + 83:85:boolean abort() -> b + 90:90:java.lang.String getInfo() -> a + 95:95:java.lang.String getResult() -> b + 32:32:java.lang.Object getResult() -> a +org.jackhuang.hellominecraft.tasks.download.NetException -> org.jackhuang.hellominecraft.launcher.dW: +org.jackhuang.hellominecraft.utils.ArrayUtils -> org.jackhuang.hellominecraft.launcher.dX: + 30:30:boolean isEmpty(java.lang.Object[]) -> a + 34:34:boolean isNotEmpty(java.lang.Object[]) -> b + 38:38:boolean contains(java.lang.Object[],java.lang.Object) -> a + 42:42:int indexOf(java.lang.Object[],java.lang.Object) -> a + 46:53:int indexOf(java.lang.Object[],java.lang.Object,int) -> a + 57:57:int lastIndexOf(java.lang.Object[],java.lang.Object) -> b + 61:70:int lastIndexOf(java.lang.Object[],java.lang.Object,int) -> b + 74:77:java.util.ArrayList merge(java.util.List,java.util.List) -> a + 81:82:java.lang.Object getEnd(java.lang.Object[]) -> a + 86:89:java.util.List tryGetMapWithList(java.util.Map,java.lang.String) -> a + 93:104:int matchArray(java.lang.Object[],java.lang.Object[]) -> a + 108:119:int matchArray(byte[],byte[]) -> a +org.jackhuang.hellominecraft.utils.CollectionUtils -> org.jackhuang.hellominecraft.launcher.dY: + 32:33:void forEach(java.util.Collection,org.jackhuang.hellominecraft.utils.functions.Consumer) -> a + 36:40:java.util.Collection sortOut(java.util.Collection,org.jackhuang.hellominecraft.utils.functions.Predicate) -> a + 44:51:boolean removeIf(java.util.Collection,org.jackhuang.hellominecraft.utils.functions.Predicate) -> a + 38:39:void lambda$sortOut$6(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList,java.lang.Object) -> b + void access$lambda$0(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList,java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.CollectionUtils$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dZ: + org.jackhuang.hellominecraft.utils.functions.Predicate arg$1 -> a + java.util.ArrayList arg$2 -> a + org.jackhuang.hellominecraft.utils.functions.Consumer get$Lambda(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList) -> b + void accept(java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList) -> a +org.jackhuang.hellominecraft.utils.DoubleOutputStream -> org.jackhuang.hellominecraft.launcher.ea: + java.io.OutputStream a -> a + java.io.OutputStream b -> b + boolean c -> a + 44:50:void write(byte[],int,int) -> write + 54:60:void write(byte[]) -> write + 64:70:void write(int) -> write + 74:80:void close() -> close + 84:88:void flush() -> flush +org.jackhuang.hellominecraft.utils.Event -> org.jackhuang.hellominecraft.launcher.eb: + boolean call(java.lang.Object,java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.EventHandler -> org.jackhuang.hellominecraft.launcher.ec: + java.util.HashSet handlers -> a + java.lang.Object sender -> a + 37:38:void register(org.jackhuang.hellominecraft.utils.Event) -> a + 41:42:void unregister(org.jackhuang.hellominecraft.utils.Event) -> b + 45:48:boolean execute(java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.LauncherPrintStream -> org.jackhuang.hellominecraft.launcher.ed: + java.util.ArrayList printListeners -> a + 38:42:void println(java.lang.String) -> println + 45:46:void addPrintListener(org.jackhuang.hellominecraft.utils.functions.Consumer) -> a +org.jackhuang.hellominecraft.utils.MathUtils -> org.jackhuang.hellominecraft.launcher.ee: + 27:29:int parseInt(java.lang.String,int) -> a + 35:38:boolean canParseInt(java.lang.String) -> a + 44:49:int parseMemory(java.lang.String,int) -> b +org.jackhuang.hellominecraft.utils.NetUtils -> org.jackhuang.hellominecraft.launcher.ef: + java.lang.String METHOD_POST -> a + java.lang.String DEFAULT_CHARSET -> b + 39:45:byte[] getBytesFromStream(java.io.InputStream) -> a + 49:49:java.lang.String getStreamContent(java.io.InputStream) -> a + 55:62:java.lang.String getStreamContent(java.io.InputStream,java.lang.String) -> a + 66:66:java.lang.String doGet(java.lang.String,java.lang.String) -> a + 70:70:java.lang.String doGet(java.lang.String) -> a + 85:110:java.lang.String sendGetRequest(java.lang.String,java.lang.String) -> b + 116:156:java.lang.String post(java.lang.String,java.util.Map) -> a + 164:167:java.net.URL constantURL(java.lang.String) -> a + 173:177:java.net.URL concatenateURL(java.net.URL,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.Pair -> org.jackhuang.hellominecraft.launcher.eg: + java.lang.Object key -> a + java.lang.Object value -> b + 39:39:java.lang.Object getKey() -> getKey + 44:44:java.lang.Object getValue() -> getValue + 49:51:java.lang.Object setValue(java.lang.Object) -> setValue +org.jackhuang.hellominecraft.utils.StrUtils -> org.jackhuang.hellominecraft.launcher.eh: + 35:40:java.lang.String substring(java.lang.String,int,int) -> a + 44:71:java.lang.String makeCommand(java.util.List) -> a + 75:75:boolean startsWith(java.lang.String,java.lang.String) -> a + 79:87:boolean startsWithOne(java.lang.String[],java.lang.String) -> a + 91:96:boolean equalsOne(java.lang.String,java.lang.String[]) -> a + 100:107:boolean containsOne(java.util.List,java.util.List) -> a + 111:117:int getCharShowTime(java.lang.String,char) -> a + 121:132:java.lang.String formatVersion(java.lang.String) -> a + 137:137:java.lang.String parseParams(java.lang.String,java.util.Collection,java.lang.String) -> a + 141:171:java.lang.String parseParams(java.lang.String,java.lang.Object[],java.lang.String) -> a + 175:178:boolean isEquals(java.lang.String,java.lang.String) -> b + 183:192:java.awt.Dimension parseDimension(java.lang.String) -> a + 196:196:java.lang.String[] tokenize(java.lang.String) -> a + 200:207:java.lang.String[] tokenize(java.lang.String,java.lang.String) -> a + 211:217:java.lang.String trimExtension(java.lang.String) -> b + 221:221:boolean isBlank(java.lang.String) -> a + 225:225:boolean isNotBlank(java.lang.String) -> b + 229:232:java.lang.String getStackTrace(java.lang.Throwable) -> a +org.jackhuang.hellominecraft.utils.SwingUtils -> org.jackhuang.hellominecraft.launcher.ei: + 47:47:javax.swing.table.DefaultTableModel makeDefaultTableModel(java.lang.String[],java.lang.Class[],boolean[]) -> a + 72:76:void openLink(java.net.URI) -> a + 84:86:void moveEnd(javax.swing.JTextArea) -> a + 94:96:void moveEnd(javax.swing.JScrollPane) -> a + 105:105:javax.swing.DefaultListModel getDefaultListModel(javax.swing.JList) -> a + 115:116:void appendLast(javax.swing.JList,java.lang.Object) -> a + 119:121:void replaceLast(javax.swing.JList,java.lang.Object) -> b + 124:125:void clear(javax.swing.JList) -> a + 133:137:void clearDefaultTable(javax.swing.JTable) -> a + 140:142:void appendLast(javax.swing.JTable,java.lang.Object[]) -> a + 145:147:void setValueAt(javax.swing.JTable,java.lang.Object,int,int) -> a + 150:152:void removeRow(javax.swing.JTable,int) -> a + 155:170:java.lang.String getParsedJPanelText(javax.swing.JLabel,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.SwingUtils$1 -> org.jackhuang.hellominecraft.launcher.ej: + java.lang.Class[] types -> a + boolean[] canEdit -> a + java.lang.Class[] val$typesA -> b + boolean[] val$canEditA -> b + 55:55:java.lang.Class getColumnClass(int) -> getColumnClass + 60:60:boolean isCellEditable(int,int) -> isCellEditable +org.jackhuang.hellominecraft.utils.TextComponentOutputStream -> org.jackhuang.hellominecraft.launcher.ek: + javax.swing.text.JTextComponent txt -> a + 37:38:void write(byte[]) -> write + 42:43:void write(byte[],int,int) -> write + 47:55:void append(java.lang.String) -> a + 59:60:void write(int) -> write + 48:51:void lambda$append$7(java.lang.String) -> b + void access$lambda$0(org.jackhuang.hellominecraft.utils.TextComponentOutputStream,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.TextComponentOutputStream$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.el: + org.jackhuang.hellominecraft.utils.TextComponentOutputStream arg$1 -> a + java.lang.String arg$2 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.utils.TextComponentOutputStream,java.lang.String) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.utils.TextComponentOutputStream,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.UpdateChecker -> org.jackhuang.hellominecraft.launcher.em: + boolean OUT_DATED -> a + org.jackhuang.hellominecraft.utils.VersionNumber base -> a + java.lang.String type -> a + boolean continueUpdate -> b + org.jackhuang.hellominecraft.utils.functions.NonConsumer dl -> a + java.util.Map download_link -> a + org.jackhuang.hellominecraft.utils.VersionNumber value -> b + 53:70:void run() -> run + 73:81:void process(boolean) -> a + 84:84:org.jackhuang.hellominecraft.utils.VersionNumber getNewVersion() -> a +org.jackhuang.hellominecraft.utils.Utils -> org.jackhuang.hellominecraft.launcher.en: + com.google.gson.GsonBuilder gsonBuilder -> a + 51:51:com.google.gson.GsonBuilder getDefaultGsonBuilder() -> a + 55:63:java.lang.String[] getURL() -> a + 68:81:void addDir(java.lang.String) -> a + 85:91:int getSuggestedMemorySize() -> a + 96:97:void setClipborad(java.lang.String) -> b + 101:105:boolean openLink(java.lang.String) -> a + 111:117:void openFolder(java.io.File) -> a + 120:120:javax.swing.ImageIcon scaleImage(javax.swing.ImageIcon,int,int) -> a + 124:172:javax.swing.ImageIcon searchBackgroundImage(javax.swing.ImageIcon,java.lang.String,int,int) -> a + 180:188:void shutdownForcely() -> a +org.jackhuang.hellominecraft.utils.VersionNumber -> org.jackhuang.hellominecraft.launcher.eo: + byte firstVer -> a + byte secondVer -> b + byte thirdVer -> c + 36:54:org.jackhuang.hellominecraft.utils.VersionNumber check(java.lang.String) -> a + 58:66:boolean isOlder(org.jackhuang.hellominecraft.utils.VersionNumber,org.jackhuang.hellominecraft.utils.VersionNumber) -> a + 71:73:int compareTo(org.jackhuang.hellominecraft.utils.VersionNumber) -> a + 25:25:int compareTo(java.lang.Object) -> compareTo +org.jackhuang.hellominecraft.utils.code.Base64 -> org.jackhuang.hellominecraft.launcher.ep: + char[] alphabet -> a + byte[] codes -> a + 28:51:char[] encode(byte[]) -> a + 55:55:char[] encode(java.lang.String,java.lang.String) -> a + 59:59:char[] encode(java.lang.String) -> a + 63:89:byte[] decode(char[]) -> a +org.jackhuang.hellominecraft.utils.code.Charsets -> org.jackhuang.hellominecraft.launcher.eq: + java.nio.charset.Charset ISO_8859_1 -> a + java.nio.charset.Charset US_ASCII -> b + java.nio.charset.Charset UTF_16 -> c + java.nio.charset.Charset UTF_16BE -> d + java.nio.charset.Charset UTF_16LE -> e + java.nio.charset.Charset UTF_8 -> f + 36:36:java.nio.charset.Charset toCharset(java.nio.charset.Charset) -> a + 40:40:java.nio.charset.Charset toCharset(java.lang.String) -> a +org.jackhuang.hellominecraft.utils.code.DigestUtils -> org.jackhuang.hellominecraft.launcher.er: + int STREAM_BUFFER_LENGTH -> a + 34:34:byte[] digest(java.security.MessageDigest,java.io.InputStream) -> a + 39:41:java.security.MessageDigest getDigest(java.lang.String) -> a + 46:46:java.security.MessageDigest getMd2Digest() -> a + 50:50:java.security.MessageDigest getMd5Digest() -> b + 54:54:java.security.MessageDigest getSha1Digest() -> c + 58:58:java.security.MessageDigest getSha256Digest() -> d + 62:62:java.security.MessageDigest getSha384Digest() -> e + 66:66:java.security.MessageDigest getSha512Digest() -> f + 71:71:java.security.MessageDigest getShaDigest() -> g + 75:75:byte[] md2(byte[]) -> a + 80:80:byte[] md2(java.io.InputStream) -> a + 84:84:byte[] md2(java.lang.String) -> a + 88:88:java.lang.String md2Hex(byte[]) -> a + 93:93:java.lang.String md2Hex(java.io.InputStream) -> a + 97:97:java.lang.String md2Hex(java.lang.String) -> a + 101:101:byte[] md5(byte[]) -> b + 106:106:byte[] md5(java.io.InputStream) -> b + 110:110:byte[] md5(java.lang.String) -> b + 114:114:java.lang.String md5Hex(byte[]) -> b + 119:119:java.lang.String md5Hex(java.io.InputStream) -> b + 123:123:java.lang.String md5Hex(java.lang.String) -> b + 128:128:byte[] sha(byte[]) -> c + 134:134:byte[] sha(java.io.InputStream) -> c + 139:139:byte[] sha(java.lang.String) -> c + 143:143:byte[] sha1(byte[]) -> d + 148:148:byte[] sha1(java.io.InputStream) -> d + 152:152:byte[] sha1(java.lang.String) -> d + 156:156:java.lang.String sha1Hex(byte[]) -> c + 161:161:java.lang.String sha1Hex(java.io.InputStream) -> c + 165:165:java.lang.String sha1Hex(java.lang.String) -> c + 169:169:byte[] sha256(byte[]) -> e + 174:174:byte[] sha256(java.io.InputStream) -> e + 178:178:byte[] sha256(java.lang.String) -> e + 182:182:java.lang.String sha256Hex(byte[]) -> d + 187:187:java.lang.String sha256Hex(java.io.InputStream) -> d + 191:191:java.lang.String sha256Hex(java.lang.String) -> d + 195:195:byte[] sha384(byte[]) -> f + 200:200:byte[] sha384(java.io.InputStream) -> f + 204:204:byte[] sha384(java.lang.String) -> f + 208:208:java.lang.String sha384Hex(byte[]) -> e + 213:213:java.lang.String sha384Hex(java.io.InputStream) -> e + 217:217:java.lang.String sha384Hex(java.lang.String) -> e + 221:221:byte[] sha512(byte[]) -> g + 226:226:byte[] sha512(java.io.InputStream) -> g + 230:230:byte[] sha512(java.lang.String) -> g + 234:234:java.lang.String sha512Hex(byte[]) -> f + 239:239:java.lang.String sha512Hex(java.io.InputStream) -> f + 243:243:java.lang.String sha512Hex(java.lang.String) -> f + 248:248:java.lang.String shaHex(byte[]) -> g + 254:254:java.lang.String shaHex(java.io.InputStream) -> g + 259:259:java.lang.String shaHex(java.lang.String) -> g + 263:264:java.security.MessageDigest updateDigest(java.security.MessageDigest,byte[]) -> a + 269:277:java.security.MessageDigest updateDigest(java.security.MessageDigest,java.io.InputStream) -> a + 281:282:java.security.MessageDigest updateDigest(java.security.MessageDigest,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.code.Hex -> org.jackhuang.hellominecraft.launcher.es: + java.nio.charset.Charset DEFAULT_CHARSET -> a + java.lang.String DEFAULT_CHARSET_NAME -> a + char[] DIGITS_LOWER -> a + char[] DIGITS_UPPER -> b + java.nio.charset.Charset charset -> b + 31:48:byte[] decodeHex(char[]) -> a + 52:52:char[] encodeHex(byte[]) -> a + 56:56:char[] encodeHex(byte[],boolean) -> a + 60:68:char[] encodeHex(byte[],char[]) -> a + 72:72:java.lang.String encodeHexString(byte[]) -> a + 76:80:int toDigit(char,int) -> a + 96:96:byte[] decode(byte[]) -> a + 101:104:java.lang.Object decode(java.lang.Object) -> a + 109:109:byte[] encode(byte[]) -> b + 115:119:java.lang.Object encode(java.lang.Object) -> b + 124:124:java.nio.charset.Charset getCharset() -> a + 128:128:java.lang.String getCharsetName() -> a + 133:133:java.lang.String toString() -> toString +org.jackhuang.hellominecraft.utils.functions.BiConsumer -> org.jackhuang.hellominecraft.launcher.et: + void onDone(java.lang.Object,java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.functions.BiFunction -> org.jackhuang.hellominecraft.launcher.eu: + java.lang.Object apply(java.lang.Object,java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.functions.Consumer -> org.jackhuang.hellominecraft.launcher.ev: + void accept(java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.functions.FalseFunction -> org.jackhuang.hellominecraft.launcher.ew: + 27:27:java.lang.Boolean onDone() -> a + 23:23:java.lang.Object onDone() -> a +org.jackhuang.hellominecraft.utils.functions.Function -> org.jackhuang.hellominecraft.launcher.ex: + java.lang.Object apply(java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.functions.NonConsumer -> org.jackhuang.hellominecraft.launcher.ey: + void onDone() -> a +org.jackhuang.hellominecraft.utils.functions.NonFunction -> org.jackhuang.hellominecraft.launcher.ez: + java.lang.Object onDone() -> a +org.jackhuang.hellominecraft.utils.functions.Predicate -> org.jackhuang.hellominecraft.launcher.eA: + boolean apply(java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.functions.TriConsumer -> org.jackhuang.hellominecraft.launcher.eB: + void onDone(java.lang.Object,java.lang.Object,java.lang.Object) -> a +org.jackhuang.hellominecraft.utils.functions.TrueFunction -> org.jackhuang.hellominecraft.launcher.eC: + org.jackhuang.hellominecraft.utils.functions.TrueFunction instance -> a + 31:31:java.lang.Boolean onDone() -> a + 23:23:java.lang.Object onDone() -> a +org.jackhuang.hellominecraft.utils.system.Compressor -> org.jackhuang.hellominecraft.launcher.eD: + 39:40:void zip(java.lang.String,java.lang.String) -> a + 51:62:void zip(java.io.File,java.io.File) -> a + 74:100:void zipFile(java.io.File,java.lang.String,java.util.zip.ZipOutputStream) -> a + 103:104:void unzip(java.lang.String,java.lang.String) -> b + 107:108:void unzip(java.io.File,java.io.File) -> b + 119:157:void unzip(java.io.File,java.io.File,java.lang.String[]) -> a + 167:192:void merge(java.io.File,java.io.File) -> c +org.jackhuang.hellominecraft.utils.system.FileUtils -> org.jackhuang.hellominecraft.launcher.eE: + 40:51:void deleteDirectory(java.io.File) -> a + 55:59:boolean deleteDirectoryQuietly(java.io.File) -> a + 65:69:boolean cleanDirectoryQuietly(java.io.File) -> b + 75:101:void cleanDirectory(java.io.File) -> b + 105:117:void forceDelete(java.io.File) -> c + 121:133:boolean isSymlink(java.io.File) -> c + 138:139:void copyDirectory(java.io.File,java.io.File) -> a + 143:144:void copyDirectory(java.io.File,java.io.File,boolean) -> a + 148:149:void copyDirectory(java.io.File,java.io.File,java.io.FileFilter) -> a + 153:176:void copyDirectory(java.io.File,java.io.File,java.io.FileFilter,boolean) -> a + 180:203:void doCopyDirectory(java.io.File,java.io.File,java.io.FileFilter,boolean,java.util.List) -> a + 207:207:java.lang.String readFileToString(java.io.File) -> a + 212:215:java.lang.String readFileToStringQuietly(java.io.File) -> b + 221:221:java.lang.String readFileToString(java.io.File,java.lang.String) -> a + 226:228:java.lang.String readFileToStringIgnoreFileNotFound(java.io.File) -> c + 234:238:void copyFileQuietly(java.io.File,java.io.File) -> b + 242:243:void copyFile(java.io.File,java.io.File) -> c + 247:265:void copyFile(java.io.File,java.io.File,boolean) -> b + 269:300:void doCopyFile(java.io.File,java.io.File,boolean) -> c + 303:307:int indexOfLastSeparator(java.lang.String) -> a + 311:315:int indexOfExtension(java.lang.String) -> b + 319:322:java.lang.String getName(java.lang.String) -> a + 326:326:java.lang.String getBaseName(java.lang.String) -> b + 330:335:java.lang.String getExtension(java.lang.String) -> c + 339:344:java.lang.String removeExtension(java.lang.String) -> d + 349:353:void writeQuietly(java.io.File,java.lang.CharSequence) -> a + 357:358:void write(java.io.File,java.lang.CharSequence) -> b + 362:363:void write(java.io.File,java.lang.CharSequence,boolean) -> a + 367:368:void write(java.io.File,java.lang.CharSequence,java.lang.String) -> a + 372:374:void write(java.io.File,java.lang.CharSequence,java.lang.String,boolean) -> a + 378:379:void writeStringToFile(java.io.File,java.lang.String) -> a + 383:384:void writeStringToFile(java.io.File,java.lang.String,java.lang.String) -> a + 388:396:void writeStringToFile(java.io.File,java.lang.String,java.lang.String,boolean) -> a + 400:407:java.io.FileInputStream openInputStream(java.io.File) -> a + 412:412:java.io.FileOutputStream openOutputStream(java.io.File) -> a + 417:430:java.io.FileOutputStream openOutputStream(java.io.File,boolean) -> a + 434:438:java.io.File[] searchSuffix(java.io.File,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.system.IOUtils -> org.jackhuang.hellominecraft.launcher.eF: + 48:53:java.lang.String addSeparator(java.lang.String) -> a + 57:57:boolean isSeparator(char) -> a + 61:65:java.lang.String removeLastSeparator(java.lang.String) -> b + 69:75:java.lang.String extractLastDirectory(java.lang.String) -> c + 79:87:java.util.ArrayList findAllFile(java.io.File) -> a + 91:99:java.util.ArrayList findAllFileWithFullName(java.io.File) -> b + 103:111:java.util.ArrayList findAllDir(java.io.File) -> c + 115:115:java.io.File currentDir() -> a + 119:119:java.lang.String currentDirWithSeparator() -> a + 125:131:java.lang.String getLocalMAC() -> b + 136:161:java.lang.String getMacAddress(java.lang.String) -> d + 165:166:java.lang.String extractFileName(java.lang.String) -> e + 170:170:java.lang.String getJavaDir() -> c + 174:179:java.lang.String getJavaDir(java.lang.String) -> f + 183:193:byte[] readFully(java.io.InputStream) -> a + 197:198:void closeQuietly(java.io.Reader) -> a + 201:202:void closeQuietly(java.io.Writer) -> a + 205:206:void closeQuietly(java.io.InputStream) -> a + 209:210:void closeQuietly(java.io.OutputStream) -> a + 214:218:void closeQuietly(java.io.Closeable) -> a + 222:224:void write(byte[],java.io.OutputStream) -> a + 228:230:void write(java.lang.String,java.io.OutputStream,java.lang.String) -> a + 234:241:java.io.FileInputStream openInputStream(java.io.File) -> a + 246:248:java.lang.String tryGetCanonicalFolderPath(java.io.File) -> a + 254:256:java.io.File tryGetCanonicalFile(java.io.File) -> a + 261:261:java.io.File tryGetCanonicalFile(java.lang.String) -> a + 266:268:java.lang.String tryGetCanonicalFilePath(java.io.File) -> b + 274:277:java.net.URL parseURL(java.lang.String) -> a + 282:291:java.util.List readProcessByInputStream(java.lang.String[]) -> a + 295:304:java.util.List readProcessByErrorStream(java.lang.String[]) -> b +org.jackhuang.hellominecraft.utils.system.Java -> org.jackhuang.hellominecraft.launcher.eG: + java.lang.String name -> a + java.lang.String home -> b + 38:38:java.lang.String getName() -> a + 42:42:java.lang.String getHome() -> b + 46:46:java.lang.String getJava() -> c + 51:54:boolean equals(java.lang.Object) -> equals + 59:59:int hashCode() -> hashCode + 64:88:java.util.List queryAllJavaHomeInWindowsByReg() -> a + 93:100:java.util.List queryRegSubFolders(java.lang.String) -> a + 104:122:java.lang.String queryRegValue(java.lang.String,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.system.JavaProcess -> org.jackhuang.hellominecraft.launcher.eH: + java.util.List commands -> a + java.lang.Process process -> a + java.util.ArrayList stdOutLines -> a + java.util.ArrayList stdErrLines -> b + 45:45:java.lang.Process getRawProcess() -> a + 49:49:java.util.List getStartupCommands() -> a + 53:53:java.lang.String getStartupCommand() -> a + 57:57:java.util.ArrayList getStdOutLines() -> a + 61:61:java.util.ArrayList getStdErrLines() -> b + 66:71:boolean isRunning() -> a + 76:79:int getExitCode() -> a + 85:85:java.lang.String toString() -> toString + 89:90:void stop() -> a +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor -> org.jackhuang.hellominecraft.launcher.eI: + java.util.HashSet al -> a + org.jackhuang.hellominecraft.utils.EventHandler stoppedEvent -> a + org.jackhuang.hellominecraft.utils.system.JavaProcess p -> a + 42:64:void start() -> a + 67:74:void processThreadStopped(org.jackhuang.hellominecraft.utils.system.ProcessThread,boolean) -> a + 68:68:boolean lambda$processThreadStopped$10(java.lang.Thread) -> b + 48:52:boolean lambda$start$9(java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> a + 43:44:boolean lambda$start$8(java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> b + boolean access$lambda$0(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> a + boolean access$lambda$1(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> b + boolean access$lambda$2(java.lang.Thread) -> a +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.eJ: + org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor arg$1 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> a +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.eK: + org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor arg$1 -> a + org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> b + boolean call(java.lang.Object,java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> a +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.eL: + org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$5 instance -> a + boolean apply(java.lang.Object) -> a + org.jackhuang.hellominecraft.utils.functions.Predicate lambdaFactory$() -> a +org.jackhuang.hellominecraft.utils.system.JdkVersion -> org.jackhuang.hellominecraft.launcher.eM: + java.lang.String ver -> ver + int platform -> platform + java.lang.String location -> location + int UNKOWN -> a + int JAVA_16 -> b + int JAVA_17 -> c + int JAVA_18 -> d + int JAVA_19 -> e + java.lang.String javaVersion -> javaVersion + int majorJavaVersion -> majorJavaVersion + java.util.regex.Pattern p -> p + 35:35:java.lang.String getVersion() -> a + 39:39:org.jackhuang.hellominecraft.utils.system.Platform getPlatform() -> a + 43:43:java.lang.String getLocation() -> b + 47:47:int getParsedVersion() -> a + 58:60:boolean equals(java.lang.Object) -> equals + 65:65:int hashCode() -> hashCode + 111:117:int parseVersion(java.lang.String) -> a + 128:128:java.lang.String getJavaVersion() -> c + 146:146:int getMajorJavaVersion() -> b + 150:151:boolean isJava64Bit() -> a + 157:173:org.jackhuang.hellominecraft.utils.system.JdkVersion getJavaVersionFromExecutable(java.lang.String) -> a + 177:179:void write(java.io.File) -> a + 182:182:boolean isEarlyAccess() -> b +org.jackhuang.hellominecraft.utils.system.MessageBox -> org.jackhuang.hellominecraft.launcher.eN: + java.lang.String Title -> a + int DEFAULT_OPTION -> a + int YES_NO_OPTION -> b + int YES_NO_CANCEL_OPTION -> c + int OK_CANCEL_OPTION -> d + int YES_OPTION -> e + int NO_OPTION -> f + int CANCEL_OPTION -> g + int OK_OPTION -> h + int CLOSED_OPTION -> i + int ERROR_MESSAGE -> j + int INFORMATION_MESSAGE -> k + int WARNING_MESSAGE -> l + int QUESTION_MESSAGE -> m + int PLAIN_MESSAGE -> n + 94:102:int Show(java.lang.String,java.lang.String,int) -> a + 113:113:int Show(java.lang.String,int) -> a + 123:123:int Show(java.lang.String) -> a +org.jackhuang.hellominecraft.utils.system.OS -> org.jackhuang.hellominecraft.launcher.eO: + org.jackhuang.hellominecraft.utils.system.OS LINUX -> a + org.jackhuang.hellominecraft.utils.system.OS WINDOWS -> b + org.jackhuang.hellominecraft.utils.system.OS OSX -> c + org.jackhuang.hellominecraft.utils.system.OS UNKOWN -> d + char fileSeparator -> a + java.lang.String checked_name -> a + org.jackhuang.hellominecraft.utils.system.OS[] $VALUES -> a + 26:26:org.jackhuang.hellominecraft.utils.system.OS[] values() -> a + 26:26:org.jackhuang.hellominecraft.utils.system.OS valueOf(java.lang.String) -> a + 43:56:org.jackhuang.hellominecraft.utils.system.OS os() -> a + 64:68:long getTotalPhysicalMemory() -> a +org.jackhuang.hellominecraft.utils.system.Platform -> org.jackhuang.hellominecraft.launcher.eP: + org.jackhuang.hellominecraft.utils.system.Platform UNKNOWN -> a + org.jackhuang.hellominecraft.utils.system.Platform BIT_32 -> b + org.jackhuang.hellominecraft.utils.system.Platform BIT_64 -> c + org.jackhuang.hellominecraft.utils.system.Platform[] $VALUES -> a + 23:23:org.jackhuang.hellominecraft.utils.system.Platform[] values() -> a + 23:23:org.jackhuang.hellominecraft.utils.system.Platform valueOf(java.lang.String) -> a + java.lang.String getBit() -> a + 53:53:org.jackhuang.hellominecraft.utils.system.Platform getPlatform() -> a +org.jackhuang.hellominecraft.utils.system.Platform$1 -> org.jackhuang.hellominecraft.launcher.eQ: + 29:29:java.lang.String getBit() -> a +org.jackhuang.hellominecraft.utils.system.Platform$2 -> org.jackhuang.hellominecraft.launcher.eR: + 37:37:java.lang.String getBit() -> a +org.jackhuang.hellominecraft.utils.system.Platform$3 -> org.jackhuang.hellominecraft.launcher.eS: + 45:45:java.lang.String getBit() -> a +org.jackhuang.hellominecraft.utils.system.ProcessManager -> org.jackhuang.hellominecraft.launcher.eT: + java.util.HashSet gameProcesses -> a + 30:31:void registerProcess(org.jackhuang.hellominecraft.utils.system.JavaProcess) -> a + 34:37:void stopAllProcesses() -> a + 40:41:void onProcessStopped(org.jackhuang.hellominecraft.utils.system.JavaProcess) -> b +org.jackhuang.hellominecraft.utils.system.ProcessThread -> org.jackhuang.hellominecraft.launcher.eU: + org.jackhuang.hellominecraft.utils.system.JavaProcess p -> a + boolean readError -> a + boolean enableReading -> b + org.jackhuang.hellominecraft.utils.EventHandler printlnEvent -> a + org.jackhuang.hellominecraft.utils.EventHandler stopEvent -> b + 45:45:org.jackhuang.hellominecraft.utils.system.JavaProcess getProcess() -> a + 50:96:void run() -> run + 99:99:void stopped() -> a +org.jackhuang.hellominecraft.version.MinecraftRemoteLatestVersion -> org.jackhuang.hellominecraft.launcher.eV: + java.lang.String snapshot -> snapshot + java.lang.String release -> release +org.jackhuang.hellominecraft.version.MinecraftRemoteVersion -> org.jackhuang.hellominecraft.launcher.eW: + java.lang.String id -> id + java.lang.String time -> time + java.lang.String releaseTime -> releaseTime + java.lang.String type -> type +org.jackhuang.hellominecraft.version.MinecraftRemoteVersions -> org.jackhuang.hellominecraft.launcher.eX: + java.util.ArrayList versions -> versions + org.jackhuang.hellominecraft.version.MinecraftRemoteLatestVersion latest -> latest + 32:32:org.jackhuang.hellominecraft.version.MinecraftRemoteVersions fromJson(java.lang.String) -> a +org.jackhuang.hellominecraft.version.MinecraftVersionRequest -> org.jackhuang.hellominecraft.launcher.eY: + int Unkown -> a + int Invaild -> b + int InvaildJar -> c + int Modified -> d + int OK -> e + int NotFound -> f + int NotReadable -> g + int NotAFile -> h + int type -> i + java.lang.String version -> a + 32:59:java.lang.String getResponse(org.jackhuang.hellominecraft.version.MinecraftVersionRequest) -> a +org.jackhuang.hellominecraft.views.AbstractFilter -> org.jackhuang.hellominecraft.launcher.eZ: + java.awt.image.BufferedImage filter(java.awt.image.BufferedImage,java.awt.image.BufferedImage) -> filter + 37:37:java.awt.geom.Rectangle2D getBounds2D(java.awt.image.BufferedImage) -> getBounds2D + 42:45:java.awt.image.BufferedImage createCompatibleDestImage(java.awt.image.BufferedImage,java.awt.image.ColorModel) -> createCompatibleDestImage + 50:50:java.awt.geom.Point2D getPoint2D(java.awt.geom.Point2D,java.awt.geom.Point2D) -> getPoint2D + 55:55:java.awt.RenderingHints getRenderingHints() -> getRenderingHints + 59:73:int[] getPixels(java.awt.image.BufferedImage,int,int,int,int,int[]) -> a + 77:88:void setPixels(java.awt.image.BufferedImage,int,int,int,int,int[]) -> a +org.jackhuang.hellominecraft.views.BasicColors -> org.jackhuang.hellominecraft.launcher.fa: + java.awt.Color COLOR_RED -> a + java.awt.Color COLOR_RED_DARKER -> b + java.awt.Color COLOR_GREEN -> c + java.awt.Color COLOR_BLUE -> d + java.awt.Color COLOR_BLUE_DARKER -> e + java.awt.Color COLOR_WHITE_TEXT -> f + java.awt.Color COLOR_CENTRAL_BACK -> g + java.awt.Color[] bgcolors -> a + java.awt.Color[] bgcolors_darker -> b + 28:31:java.awt.Color getWebColor(java.lang.String) -> a +org.jackhuang.hellominecraft.views.DropShadowBorder -> org.jackhuang.hellominecraft.launcher.fb: + java.awt.Color color -> a + int thickness -> a + java.awt.Insets insets -> a + java.awt.RenderingHints hints -> a + 50:51:void setColor(java.awt.Color) -> a + 55:55:java.awt.Insets getBorderInsets(java.awt.Component) -> getBorderInsets + 60:60:java.awt.Insets getBorderInsets(java.awt.Component,java.awt.Insets) -> getBorderInsets + 65:87:void paintBorder(java.awt.Component,java.awt.Graphics,int,int,int,int) -> paintBorder +org.jackhuang.hellominecraft.views.FastBlurFilter -> org.jackhuang.hellominecraft.launcher.fc: + int radius -> a + 38:38:int getRadius() -> a + 43:61:java.awt.image.BufferedImage filter(java.awt.image.BufferedImage,java.awt.image.BufferedImage) -> filter + 65:143:void blur(int[],int[],int,int,int) -> a +org.jackhuang.hellominecraft.views.LogWindow -> org.jackhuang.hellominecraft.launcher.fd: + boolean movingEnd -> a + org.jackhuang.hellominecraft.utils.functions.NonFunction listener -> a + org.jackhuang.hellominecraft.utils.functions.NonConsumer terminateGameListener -> a + org.jackhuang.hellominecraft.views.LogWindow instance -> a + javax.swing.JButton btnClear -> a + javax.swing.JButton btnClose -> b + javax.swing.JButton btnCopy -> c + javax.swing.JButton btnGitHub -> d + javax.swing.JButton btnMCBBS -> e + javax.swing.JButton btnMCF -> f + javax.swing.JButton btnTerminateGame -> g + javax.swing.JButton btnTieBa -> h + javax.swing.JScrollPane jScrollPane1 -> a + javax.swing.JLabel lblCrash -> a + javax.swing.JTextArea txtLog -> a + 66:198:void initComponents() -> b + 201:202:void btnCloseActionPerformed(java.awt.event.ActionEvent) -> a + 205:206:void btnClearActionPerformed(java.awt.event.ActionEvent) -> b + 209:210:void formWindowClosed(java.awt.event.WindowEvent) -> a + 213:214:void btnCopyActionPerformed(java.awt.event.ActionEvent) -> c + 217:218:void btnMCBBSActionPerformed(java.awt.event.ActionEvent) -> d + 221:222:void btnTieBaActionPerformed(java.awt.event.ActionEvent) -> e + 225:226:void btnMCFActionPerformed(java.awt.event.ActionEvent) -> f + 229:231:void btnTerminateGameActionPerformed(java.awt.event.ActionEvent) -> g + 234:235:void btnGitHubActionPerformed(java.awt.event.ActionEvent) -> h + 238:246:void log(java.lang.String) -> a + 249:251:void log(java.lang.String,java.lang.Throwable) -> a + 254:255:void setExit(org.jackhuang.hellominecraft.utils.functions.NonFunction) -> a + 258:259:void setTerminateGame(org.jackhuang.hellominecraft.utils.functions.NonConsumer) -> a + 262:263:void clean() -> a + 266:266:boolean getMovingEnd() -> a + 270:271:void setMovingEnd(boolean) -> a + 275:280:void setVisible(boolean) -> setVisible + 283:298:void showAsCrashWindow(boolean) -> b + 32:32:void access$000(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.WindowEvent) -> a + 32:32:void access$100(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> a + 32:32:void access$200(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> b + 32:32:void access$300(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> c + 32:32:void access$400(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> d + 32:32:void access$500(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> e + 32:32:void access$600(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> f + 32:32:void access$700(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> g + 32:32:void access$800(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> h +org.jackhuang.hellominecraft.views.LogWindow$1 -> org.jackhuang.hellominecraft.launcher.fe: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 83:84:void windowClosed(java.awt.event.WindowEvent) -> windowClosed +org.jackhuang.hellominecraft.views.LogWindow$2 -> org.jackhuang.hellominecraft.launcher.ff: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 95:96:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.LogWindow$3 -> org.jackhuang.hellominecraft.launcher.fg: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 102:103:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.LogWindow$4 -> org.jackhuang.hellominecraft.launcher.fh: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 109:110:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.LogWindow$5 -> org.jackhuang.hellominecraft.launcher.fi: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 118:119:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.LogWindow$6 -> org.jackhuang.hellominecraft.launcher.fj: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 125:126:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.LogWindow$7 -> org.jackhuang.hellominecraft.launcher.fk: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 132:133:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.LogWindow$8 -> org.jackhuang.hellominecraft.launcher.fl: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 139:140:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.LogWindow$9 -> org.jackhuang.hellominecraft.launcher.fm: + org.jackhuang.hellominecraft.views.LogWindow this$0 -> a + 146:147:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.Selector -> org.jackhuang.hellominecraft.launcher.fn: + java.lang.String[] selList -> a + java.lang.String msg -> a + int sel -> a + int failedToSel -> b + javax.swing.JButton btnCancel -> a + javax.swing.JButton jButton1 -> b + javax.swing.JComboBox jComboBox1 -> a + javax.swing.JLabel jLabel1 -> a + 62:121:void initComponents() -> a + 124:126:void btnCancelActionPerformed(java.awt.event.ActionEvent) -> a + 129:131:void jButton1ActionPerformed(java.awt.event.ActionEvent) -> b + 24:24:void access$000(org.jackhuang.hellominecraft.views.Selector,java.awt.event.ActionEvent) -> a + 24:24:void access$100(org.jackhuang.hellominecraft.views.Selector,java.awt.event.ActionEvent) -> b +org.jackhuang.hellominecraft.views.Selector$1 -> org.jackhuang.hellominecraft.launcher.fo: + org.jackhuang.hellominecraft.views.Selector this$0 -> a + 75:76:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.Selector$2 -> org.jackhuang.hellominecraft.launcher.fp: + org.jackhuang.hellominecraft.views.Selector this$0 -> a + 82:83:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.views.TintablePanel -> org.jackhuang.hellominecraft.launcher.fq: + java.awt.Color tintColor -> a + boolean tintActive -> a + javax.swing.JLabel overIcon -> a + 41:41:java.awt.Color getTintColor() -> a + 45:46:void setTintColor(java.awt.Color) -> a + 49:56:void setOverIcon(javax.swing.ImageIcon) -> a + 59:59:boolean isTintActive() -> a + 63:70:void setTintActive(boolean) -> a + 74:81:void doLayout() -> doLayout + 85:91:void paint(java.awt.Graphics) -> paint +org.jackhuang.hellominecraft.views.TintablePanel$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.fr: + org.jackhuang.hellominecraft.views.TintablePanel arg$1 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.views.TintablePanel) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.views.TintablePanel) -> a +org.jackhuang.hellominecraft.views.TintablePanel$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.fs: + org.jackhuang.hellominecraft.views.TintablePanel arg$1 -> a + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.views.TintablePanel) -> b + void run() -> run + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.views.TintablePanel) -> a +org.jackhuang.mojang.authlib.Agent -> org.jackhuang.hellominecraft.launcher.ft: + org.jackhuang.mojang.authlib.Agent MINECRAFT -> MINECRAFT + org.jackhuang.mojang.authlib.Agent SCROLLS -> SCROLLS + java.lang.String name -> name + int version -> version + 16:16:java.lang.String getName() -> getName + 20:20:int getVersion() -> getVersion + 25:25:java.lang.String toString() -> toString +org.jackhuang.mojang.authlib.AuthenticationService -> org.jackhuang.hellominecraft.launcher.fu: + org.jackhuang.mojang.authlib.UserAuthentication createUserAuthentication(org.jackhuang.mojang.authlib.Agent) -> a + org.jackhuang.mojang.authlib.minecraft.MinecraftSessionService createMinecraftSessionService() -> a + org.jackhuang.mojang.authlib.GameProfileRepository createProfileRepository() -> a +org.jackhuang.mojang.authlib.BaseAuthenticationService -> org.jackhuang.hellominecraft.launcher.fv: +org.jackhuang.mojang.authlib.BaseUserAuthentication -> org.jackhuang.hellominecraft.launcher.fw: + org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a + java.lang.String STORAGE_KEY_PROFILE_NAME -> a + java.lang.String STORAGE_KEY_PROFILE_ID -> b + java.lang.String STORAGE_KEY_PROFILE_PROPERTIES -> c + java.lang.String STORAGE_KEY_USER_NAME -> d + java.lang.String STORAGE_KEY_USER_ID -> e + java.lang.String STORAGE_KEY_USER_PROPERTIES -> f + org.jackhuang.mojang.authlib.AuthenticationService authenticationService -> a + org.jackhuang.mojang.authlib.properties.PropertyMap userProperties -> a + java.lang.String userid -> g + java.lang.String username -> h + java.lang.String password -> i + org.jackhuang.mojang.authlib.GameProfile selectedProfile -> a + org.jackhuang.mojang.authlib.UserType userType -> a + 39:39:boolean canLogIn() -> a + 44:49:void logOut() -> a + 53:53:boolean isLoggedIn() -> b + 58:63:void setUsername(java.lang.String) -> a + 67:72:void setPassword(java.lang.String) -> b + 75:75:java.lang.String getUsername() -> a + 79:79:java.lang.String getPassword() -> b + 84:136:void loadFromStorage(java.util.Map) -> a + 140:182:java.util.Map saveForStorage() -> a + 186:187:void setSelectedProfile(org.jackhuang.mojang.authlib.GameProfile) -> a + 191:191:org.jackhuang.mojang.authlib.GameProfile getSelectedProfile() -> a + 196:222:java.lang.String toString() -> toString + 226:226:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a + 231:231:java.lang.String getUserID() -> c + 236:241:org.jackhuang.mojang.authlib.properties.PropertyMap getUserProperties() -> a + 245:245:org.jackhuang.mojang.authlib.properties.PropertyMap getModifiableUserProperties() -> b + 250:253:org.jackhuang.mojang.authlib.UserType getUserType() -> a + 257:258:void setUserType(org.jackhuang.mojang.authlib.UserType) -> a + 261:262:void setUserid(java.lang.String) -> c +org.jackhuang.mojang.authlib.GameProfile -> org.jackhuang.hellominecraft.launcher.fx: + java.util.UUID id -> a + java.lang.String name -> a + org.jackhuang.mojang.authlib.properties.PropertyMap properties -> a + boolean legacy -> a + 24:24:java.util.UUID getId() -> a + 28:28:java.lang.String getName() -> a + 32:32:org.jackhuang.mojang.authlib.properties.PropertyMap getProperties() -> a + 36:36:boolean isComplete() -> a + 41:53:boolean equals(java.lang.Object) -> equals + 58:60:int hashCode() -> hashCode + 65:65:java.lang.String toString() -> toString + 70:70:boolean isLegacy() -> b +org.jackhuang.mojang.authlib.GameProfileRepository -> org.jackhuang.hellominecraft.launcher.fy: + void findProfilesByNames(java.lang.String[],org.jackhuang.mojang.authlib.Agent,org.jackhuang.mojang.authlib.ProfileLookupCallback) -> a +org.jackhuang.mojang.authlib.HttpAuthenticationService -> org.jackhuang.hellominecraft.launcher.fz: + org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a + java.net.Proxy proxy -> a + 28:28:java.net.Proxy getProxy() -> a + 32:38:java.net.HttpURLConnection createUrlConnection(java.net.URL) -> a + 42:87:java.lang.String performPostRequest(java.net.URL,java.lang.String,java.lang.String) -> a + 93:121:java.lang.String performGetRequest(java.net.URL) -> a + 126:148:java.lang.String buildQuery(java.util.Map) -> a +org.jackhuang.mojang.authlib.HttpUserAuthentication -> org.jackhuang.hellominecraft.launcher.fA: + 11:11:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a + 3:3:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a +org.jackhuang.mojang.authlib.ProfileLookupCallback -> org.jackhuang.hellominecraft.launcher.fB: + void onProfileLookupSucceeded(org.jackhuang.mojang.authlib.GameProfile) -> a + void onProfileLookupFailed(org.jackhuang.mojang.authlib.GameProfile,java.lang.Exception) -> a +org.jackhuang.mojang.authlib.UserAuthentication -> org.jackhuang.hellominecraft.launcher.fC: + boolean canLogIn() -> a + void logIn() -> b + void logOut() -> a + boolean isLoggedIn() -> b + boolean canPlayOnline() -> c + org.jackhuang.mojang.authlib.GameProfile[] getAvailableProfiles() -> a + org.jackhuang.mojang.authlib.GameProfile getSelectedProfile() -> a + void selectGameProfile(org.jackhuang.mojang.authlib.GameProfile) -> b + void loadFromStorage(java.util.Map) -> a + java.util.Map saveForStorage() -> a + void setUsername(java.lang.String) -> a + void setPassword(java.lang.String) -> b + java.lang.String getAuthenticatedToken() -> d + java.lang.String getUserID() -> c + org.jackhuang.mojang.authlib.properties.PropertyMap getUserProperties() -> a + org.jackhuang.mojang.authlib.UserType getUserType() -> a +org.jackhuang.mojang.authlib.UserType -> org.jackhuang.hellominecraft.launcher.fD: + org.jackhuang.mojang.authlib.UserType LEGACY -> LEGACY + org.jackhuang.mojang.authlib.UserType MOJANG -> MOJANG + java.util.Map BY_NAME -> BY_NAME + java.lang.String name -> name + org.jackhuang.mojang.authlib.UserType[] $VALUES -> $VALUES + 6:6:org.jackhuang.mojang.authlib.UserType[] values() -> values + 6:6:org.jackhuang.mojang.authlib.UserType valueOf(java.lang.String) -> valueOf + 19:19:org.jackhuang.mojang.authlib.UserType byName(java.lang.String) -> byName + 23:23:java.lang.String getName() -> getName +org.jackhuang.mojang.authlib.exceptions.AuthenticationException -> org.jackhuang.hellominecraft.launcher.fE: +org.jackhuang.mojang.authlib.exceptions.AuthenticationUnavailableException -> org.jackhuang.hellominecraft.launcher.fF: +org.jackhuang.mojang.authlib.exceptions.InvalidCredentialsException -> org.jackhuang.hellominecraft.launcher.fG: +org.jackhuang.mojang.authlib.exceptions.UserMigratedException -> org.jackhuang.hellominecraft.launcher.fH: +org.jackhuang.mojang.authlib.minecraft.BaseMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fI: + org.jackhuang.mojang.authlib.AuthenticationService authenticationService -> a + 15:15:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a +org.jackhuang.mojang.authlib.minecraft.HttpMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fJ: + 13:13:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a + 5:5:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a +org.jackhuang.mojang.authlib.minecraft.MinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fK: + void joinServer(org.jackhuang.mojang.authlib.GameProfile,java.lang.String,java.lang.String) -> a + org.jackhuang.mojang.authlib.GameProfile hasJoinedServer(org.jackhuang.mojang.authlib.GameProfile,java.lang.String) -> a + org.jackhuang.mojang.authlib.GameProfile fillProfileProperties(org.jackhuang.mojang.authlib.GameProfile,boolean) -> a +org.jackhuang.mojang.authlib.properties.Property -> org.jackhuang.hellominecraft.launcher.fL: + java.lang.String name -> name + java.lang.String value -> value + java.lang.String signature -> signature + 27:27:java.lang.String getName() -> getName + 31:31:java.lang.String getValue() -> getValue + 35:35:java.lang.String getSignature() -> getSignature + 39:39:boolean hasSignature() -> hasSignature + 44:55:boolean isSignatureValid(java.security.PublicKey) -> isSignatureValid +org.jackhuang.mojang.authlib.properties.PropertyMap -> org.jackhuang.hellominecraft.launcher.fM: +org.jackhuang.mojang.authlib.properties.PropertyMap$Serializer -> org.jackhuang.hellominecraft.launcher.fN: + 25:56:org.jackhuang.mojang.authlib.properties.PropertyMap deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> a + 61:76:com.google.gson.JsonElement serialize(org.jackhuang.mojang.authlib.properties.PropertyMap,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> a + 21:21:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize + 21:21:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> deserialize +org.jackhuang.mojang.authlib.yggdrasil.ProfileIncompleteException -> org.jackhuang.hellominecraft.launcher.fO: +org.jackhuang.mojang.authlib.yggdrasil.ProfileNotFoundException -> org.jackhuang.hellominecraft.launcher.fP: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService -> org.jackhuang.hellominecraft.launcher.fQ: + java.lang.String clientToken -> a + com.google.gson.Gson gson -> a + 50:50:org.jackhuang.mojang.authlib.UserAuthentication createUserAuthentication(org.jackhuang.mojang.authlib.Agent) -> a + 55:55:org.jackhuang.mojang.authlib.minecraft.MinecraftSessionService createMinecraftSessionService() -> a + 60:60:org.jackhuang.mojang.authlib.GameProfileRepository createProfileRepository() -> a + 65:88:org.jackhuang.mojang.authlib.yggdrasil.response.Response makeRequest(java.net.URL,java.lang.Object,java.lang.Class) -> a + 93:93:java.lang.String getClientToken() -> a +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$1 -> org.jackhuang.hellominecraft.launcher.fR: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$GameProfileSerializer -> org.jackhuang.hellominecraft.launcher.fS: + 100:103:org.jackhuang.mojang.authlib.GameProfile deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> a + 108:115:com.google.gson.JsonElement serialize(org.jackhuang.mojang.authlib.GameProfile,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> a + 96:96:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize + 96:96:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> deserialize +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository -> org.jackhuang.hellominecraft.launcher.fT: + org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a + java.lang.String BASE_URL -> a + java.lang.String SEARCH_PAGE_URL -> b + int MAX_FAIL_COUNT -> a + int DELAY_BETWEEN_PAGES -> b + int DELAY_BETWEEN_FAILURES -> c + org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService authenticationService -> a + 32:91:void findProfilesByNames(java.lang.String[],org.jackhuang.mojang.authlib.Agent,org.jackhuang.mojang.authlib.ProfileLookupCallback) -> a +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository$1 -> org.jackhuang.hellominecraft.launcher.fU: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository$ProfileCriteria -> org.jackhuang.hellominecraft.launcher.fV: + java.lang.String name -> a + java.lang.String agent -> b + org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository this$0 -> a + 104:104:java.lang.String getName() -> a + 108:108:java.lang.String getAgent() -> b + 113:120:boolean equals(java.lang.Object) -> equals + 125:125:int hashCode() -> hashCode + 130:130:java.lang.String toString() -> toString +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fW: + org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a + java.lang.String BASE_URL -> a + java.net.URL JOIN_URL -> a + java.net.URL CHECK_URL -> b + 32:38:void joinServer(org.jackhuang.mojang.authlib.GameProfile,java.lang.String,java.lang.String) -> a + 42:65:org.jackhuang.mojang.authlib.GameProfile hasJoinedServer(org.jackhuang.mojang.authlib.GameProfile,java.lang.String) -> a + 70:90:org.jackhuang.mojang.authlib.GameProfile fillProfileProperties(org.jackhuang.mojang.authlib.GameProfile,boolean) -> a + 95:95:org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService getAuthenticationService() -> a + 19:19:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a + 19:19:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilUserAuthentication -> org.jackhuang.hellominecraft.launcher.fX: + org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a + java.lang.String BASE_URL -> g + java.net.URL ROUTE_AUTHENTICATE -> a + java.net.URL ROUTE_REFRESH -> b + java.net.URL ROUTE_VALIDATE -> c + java.net.URL ROUTE_INVALIDATE -> d + java.net.URL ROUTE_SIGNOUT -> e + java.lang.String STORAGE_KEY_ACCESS_TOKEN -> h + org.jackhuang.mojang.authlib.Agent agent -> a + org.jackhuang.mojang.authlib.GameProfile[] profiles -> a + java.lang.String accessToken -> i + boolean isOnline -> a + 45:45:boolean canLogIn() -> a + 50:61:void logIn() -> b + 64:102:void logInWithPassword() -> c + 105:112:void updateUserProperties(org.jackhuang.mojang.authlib.yggdrasil.response.User) -> a + 115:154:void logInWithToken() -> d + 158:163:void logOut() -> a + 167:167:org.jackhuang.mojang.authlib.GameProfile[] getAvailableProfiles() -> a + 172:172:boolean isLoggedIn() -> b + 177:177:boolean canPlayOnline() -> c + 182:202:void selectGameProfile(org.jackhuang.mojang.authlib.GameProfile) -> b + 206:209:void loadFromStorage(java.util.Map) -> a + 213:219:java.util.Map saveForStorage() -> a + 224:227:java.lang.String getSessionToken() -> e + 232:232:java.lang.String getAuthenticatedToken() -> d + 236:236:org.jackhuang.mojang.authlib.Agent getAgent() -> a + 241:241:java.lang.String toString() -> toString + 246:246:org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService getAuthenticationService() -> a + 23:23:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a + 23:23:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a +org.jackhuang.mojang.authlib.yggdrasil.request.AuthenticationRequest -> org.jackhuang.hellominecraft.launcher.fY: + org.jackhuang.mojang.authlib.Agent agent -> agent + java.lang.String username -> username + java.lang.String password -> password + java.lang.String clientToken -> clientToken + boolean requestUser -> requestUser +org.jackhuang.mojang.authlib.yggdrasil.request.JoinMinecraftServerRequest -> org.jackhuang.hellominecraft.launcher.fZ: + java.lang.String accessToken -> accessToken + java.util.UUID selectedProfile -> selectedProfile + java.lang.String serverId -> serverId +org.jackhuang.mojang.authlib.yggdrasil.request.RefreshRequest -> org.jackhuang.hellominecraft.launcher.ga: + java.lang.String clientToken -> clientToken + java.lang.String accessToken -> accessToken + org.jackhuang.mojang.authlib.GameProfile selectedProfile -> selectedProfile + boolean requestUser -> requestUser +org.jackhuang.mojang.authlib.yggdrasil.response.AuthenticationResponse -> org.jackhuang.hellominecraft.launcher.gb: + java.lang.String accessToken -> accessToken + java.lang.String clientToken -> clientToken + org.jackhuang.mojang.authlib.GameProfile selectedProfile -> selectedProfile + org.jackhuang.mojang.authlib.GameProfile[] availableProfiles -> availableProfiles + org.jackhuang.mojang.authlib.yggdrasil.response.User user -> user + 14:14:java.lang.String getAccessToken() -> getAccessToken + 18:18:java.lang.String getClientToken() -> getClientToken + 22:22:org.jackhuang.mojang.authlib.GameProfile[] getAvailableProfiles() -> getAvailableProfiles + 26:26:org.jackhuang.mojang.authlib.GameProfile getSelectedProfile() -> getSelectedProfile + 30:30:org.jackhuang.mojang.authlib.yggdrasil.response.User getUser() -> getUser +org.jackhuang.mojang.authlib.yggdrasil.response.HasJoinedMinecraftServerResponse -> org.jackhuang.hellominecraft.launcher.gc: + java.util.UUID id -> id + org.jackhuang.mojang.authlib.properties.PropertyMap properties -> properties + 12:12:java.util.UUID getId() -> getId + 16:16:org.jackhuang.mojang.authlib.properties.PropertyMap getProperties() -> getProperties +org.jackhuang.mojang.authlib.yggdrasil.response.MinecraftProfilePropertiesResponse -> org.jackhuang.hellominecraft.launcher.gd: + java.util.UUID id -> id + java.lang.String name -> name + org.jackhuang.mojang.authlib.properties.PropertyMap properties -> properties + 13:13:java.util.UUID getId() -> getId + 17:17:java.lang.String getName() -> getName + 21:21:org.jackhuang.mojang.authlib.properties.PropertyMap getProperties() -> getProperties +org.jackhuang.mojang.authlib.yggdrasil.response.ProfileSearchResultsResponse -> org.jackhuang.hellominecraft.launcher.ge: + org.jackhuang.mojang.authlib.GameProfile[] profiles -> profiles + int size -> size + 11:11:org.jackhuang.mojang.authlib.GameProfile[] getProfiles() -> getProfiles + 15:15:int getSize() -> getSize +org.jackhuang.mojang.authlib.yggdrasil.response.RefreshResponse -> org.jackhuang.hellominecraft.launcher.gf: + java.lang.String accessToken -> accessToken + java.lang.String clientToken -> clientToken + org.jackhuang.mojang.authlib.GameProfile selectedProfile -> selectedProfile + org.jackhuang.mojang.authlib.GameProfile[] availableProfiles -> availableProfiles + org.jackhuang.mojang.authlib.yggdrasil.response.User user -> user + 14:14:java.lang.String getAccessToken() -> getAccessToken + 18:18:java.lang.String getClientToken() -> getClientToken + 22:22:org.jackhuang.mojang.authlib.GameProfile[] getAvailableProfiles() -> getAvailableProfiles + 26:26:org.jackhuang.mojang.authlib.GameProfile getSelectedProfile() -> getSelectedProfile + 30:30:org.jackhuang.mojang.authlib.yggdrasil.response.User getUser() -> getUser +org.jackhuang.mojang.authlib.yggdrasil.response.Response -> org.jackhuang.hellominecraft.launcher.gg: + java.lang.String error -> error + java.lang.String errorMessage -> errorMessage + java.lang.String cause -> cause + 10:10:java.lang.String getError() -> getError + 14:14:java.lang.String getCause() -> getCause + 18:18:java.lang.String getErrorMessage() -> getErrorMessage +org.jackhuang.mojang.authlib.yggdrasil.response.User -> org.jackhuang.hellominecraft.launcher.gh: + java.lang.String id -> id + org.jackhuang.mojang.authlib.properties.PropertyMap properties -> properties + 11:11:java.lang.String getId() -> getId + 15:15:org.jackhuang.mojang.authlib.properties.PropertyMap getProperties() -> getProperties +org.jackhuang.mojang.util.LegacyPropertyMapSerializer -> org.jackhuang.hellominecraft.launcher.gi: + 26:36:com.google.gson.JsonElement serialize(org.jackhuang.mojang.authlib.properties.PropertyMap,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> a + 21:21:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize +org.jackhuang.mojang.util.UUIDTypeAdapter -> org.jackhuang.hellominecraft.launcher.gj: + 13:14:void write(com.google.gson.stream.JsonWriter,java.util.UUID) -> a + 17:17:java.util.UUID read(com.google.gson.stream.JsonReader) -> a + 21:21:java.lang.String fromUUID(java.util.UUID) -> a + 25:25:java.util.UUID fromString(java.lang.String) -> a + 9:9:java.lang.Object read(com.google.gson.stream.JsonReader) -> read + 9:9:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write +org.tukaani.xz.ARMOptions -> org.jackhuang.hellominecraft.launcher.gk: + int ALIGNMENT -> b + 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a + 34:34:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 18:18:java.lang.Object clone() -> clone + 18:18:int getDecoderMemoryUsage() -> a + 18:18:int getEncoderMemoryUsage() -> b + 18:18:int getStartOffset() -> c + 18:18:void setStartOffset(int) -> a +org.tukaani.xz.ARMThumbOptions -> org.jackhuang.hellominecraft.launcher.gl: + int ALIGNMENT -> b + 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a + 34:34:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 18:18:java.lang.Object clone() -> clone + 18:18:int getDecoderMemoryUsage() -> a + 18:18:int getEncoderMemoryUsage() -> b + 18:18:int getStartOffset() -> c + 18:18:void setStartOffset(int) -> a +org.tukaani.xz.BCJCoder -> org.jackhuang.hellominecraft.launcher.gm: + long X86_FILTER_ID -> a + long POWERPC_FILTER_ID -> b + long IA64_FILTER_ID -> c + long ARM_FILTER_ID -> d + long ARMTHUMB_FILTER_ID -> e + long SPARC_FILTER_ID -> f + 21:21:boolean isBCJFilterID(long) -> a + 25:25:boolean changesSize() -> a + 29:29:boolean nonLastOK() -> b + 33:33:boolean lastOK() -> c +org.tukaani.xz.BCJDecoder -> org.jackhuang.hellominecraft.launcher.gn: + long filterID -> g + int startOffset -> a + boolean $assertionsDisabled -> a + 39:39:int getMemoryUsage() -> a + 43:60:java.io.InputStream getInputStream(java.io.InputStream) -> a +org.tukaani.xz.BCJEncoder -> org.jackhuang.hellominecraft.launcher.go: + org.tukaani.xz.BCJOptions options -> a + long filterID -> g + byte[] props -> a + boolean $assertionsDisabled -> a + 34:34:long getFilterID() -> a + 38:38:byte[] getFilterProps() -> a + 42:42:boolean supportsFlushing() -> d + 46:46:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a +org.tukaani.xz.BCJOptions -> org.jackhuang.hellominecraft.launcher.gp: + int alignment -> b + int startOffset -> a + boolean $assertionsDisabled -> a + 27:32:void setStartOffset(int) -> a + 38:38:int getStartOffset() -> c + 42:42:int getEncoderMemoryUsage() -> b + 46:46:int getDecoderMemoryUsage() -> a + 51:54:java.lang.Object clone() -> clone +org.tukaani.xz.BlockInputStream -> org.jackhuang.hellominecraft.launcher.gq: + java.io.DataInputStream inData -> a + org.tukaani.xz.CountingInputStream inCounted -> a + java.io.InputStream filterChain -> a + org.tukaani.xz.check.Check check -> a + long uncompressedSizeInHeader -> a + long compressedSizeInHeader -> b + long compressedSizeLimit -> c + int headerSize -> a + long uncompressedSize -> d + boolean endReached -> a + byte[] tempBuf -> a + 200:200:int read() -> read + 205:242:int read(byte[],int,int) -> read + 246:267:void validate() -> a + 270:270:int available() -> available + 274:274:long getUnpaddedSize() -> a + 278:278:long getUncompressedSize() -> b +org.tukaani.xz.BlockOutputStream -> org.jackhuang.hellominecraft.launcher.gr: + java.io.OutputStream out -> a + org.tukaani.xz.CountingOutputStream outCounted -> a + org.tukaani.xz.FinishableOutputStream filterChain -> a + org.tukaani.xz.check.Check check -> a + int headerSize -> a + long compressedSizeLimit -> a + long uncompressedSize -> b + byte[] tempBuf -> a + 88:90:void write(int) -> write + 93:97:void write(byte[],int,int) -> write + 100:102:void flush() -> flush + 106:115:void finish() -> a + 118:125:void validate() -> b + 128:128:long getUnpaddedSize() -> a + 132:132:long getUncompressedSize() -> b +org.tukaani.xz.CorruptedInputException -> org.jackhuang.hellominecraft.launcher.gs: + long serialVersionUID -> a +org.tukaani.xz.CountingInputStream -> org.jackhuang.hellominecraft.launcher.gt: + long size -> a + 27:31:int read() -> read + 35:39:int read(byte[],int,int) -> read + 43:43:long getSize() -> a +org.tukaani.xz.CountingOutputStream -> org.jackhuang.hellominecraft.launcher.gu: + java.io.OutputStream out -> a + long size -> a + 32:35:void write(int) -> write + 38:41:void write(byte[],int,int) -> write + 44:45:void flush() -> flush + 48:49:void close() -> close + 52:52:long getSize() -> a +org.tukaani.xz.DeltaCoder -> org.jackhuang.hellominecraft.launcher.gv: + long FILTER_ID -> a + 16:16:boolean changesSize() -> a + 20:20:boolean nonLastOK() -> b + 24:24:boolean lastOK() -> c +org.tukaani.xz.DeltaDecoder -> org.jackhuang.hellominecraft.launcher.gw: + int distance -> a + 26:26:int getMemoryUsage() -> a + 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a +org.tukaani.xz.DeltaEncoder -> org.jackhuang.hellominecraft.launcher.gx: + org.tukaani.xz.DeltaOptions options -> a + byte[] props -> a + 22:22:long getFilterID() -> a + 26:26:byte[] getFilterProps() -> a + 30:30:boolean supportsFlushing() -> d + 34:34:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a +org.tukaani.xz.DeltaInputStream -> org.jackhuang.hellominecraft.launcher.gy: + int DISTANCE_MIN -> a + int DISTANCE_MAX -> b + java.io.InputStream in -> a + org.tukaani.xz.delta.DeltaDecoder delta -> a + java.io.IOException exception -> a + byte[] tempBuf -> a + 70:70:int read() -> read + 92:113:int read(byte[],int,int) -> read + 122:128:int available() -> available + 138:145:void close() -> close +org.tukaani.xz.DeltaOptions -> org.jackhuang.hellominecraft.launcher.gz: + int DISTANCE_MIN -> a + int DISTANCE_MAX -> b + int distance -> c + boolean $assertionsDisabled -> a + 59:65:void setDistance(int) -> a + 71:71:int getDistance() -> c + 75:75:int getEncoderMemoryUsage() -> b + 79:79:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 83:83:int getDecoderMemoryUsage() -> a + 87:87:java.io.InputStream getInputStream(java.io.InputStream) -> a + 91:91:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 96:99:java.lang.Object clone() -> clone +org.tukaani.xz.DeltaOutputStream -> org.jackhuang.hellominecraft.launcher.gA: + int FILTER_BUF_SIZE -> a + org.tukaani.xz.FinishableOutputStream out -> a + org.tukaani.xz.delta.DeltaEncoder delta -> a + byte[] filterBuf -> a + boolean finished -> a + java.io.IOException exception -> a + byte[] tempBuf -> b + 28:28:int getMemoryUsage() -> a + 37:39:void write(int) -> write + 42:65:void write(byte[],int,int) -> write + 68:80:void flush() -> flush + 83:96:void finish() -> a + 99:112:void close() -> close +org.tukaani.xz.FilterCoder -> org.jackhuang.hellominecraft.launcher.gB: + boolean changesSize() -> a + boolean nonLastOK() -> b + boolean lastOK() -> c +org.tukaani.xz.FilterDecoder -> org.jackhuang.hellominecraft.launcher.gC: + int getMemoryUsage() -> a + java.io.InputStream getInputStream(java.io.InputStream) -> a +org.tukaani.xz.FilterEncoder -> org.jackhuang.hellominecraft.launcher.gD: + long getFilterID() -> a + byte[] getFilterProps() -> a + boolean supportsFlushing() -> d + org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a +org.tukaani.xz.FilterOptions -> org.jackhuang.hellominecraft.launcher.gE: + 27:32:int getEncoderMemoryUsage(org.tukaani.xz.FilterOptions[]) -> a + 42:47:int getDecoderMemoryUsage(org.tukaani.xz.FilterOptions[]) -> b + int getEncoderMemoryUsage() -> b + org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + int getDecoderMemoryUsage() -> a + java.io.InputStream getInputStream(java.io.InputStream) -> a + org.tukaani.xz.FilterEncoder getFilterEncoder() -> a +org.tukaani.xz.FinishableOutputStream -> org.jackhuang.hellominecraft.launcher.gF: + 30:30:void finish() -> a +org.tukaani.xz.FinishableWrapperOutputStream -> org.jackhuang.hellominecraft.launcher.gG: + java.io.OutputStream out -> a + 39:40:void write(int) -> write + 46:47:void write(byte[]) -> write + 54:55:void write(byte[],int,int) -> write + 61:62:void flush() -> flush + 68:69:void close() -> close +org.tukaani.xz.IA64Options -> org.jackhuang.hellominecraft.launcher.gH: + int ALIGNMENT -> b + 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a + 34:34:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 18:18:java.lang.Object clone() -> clone + 18:18:int getDecoderMemoryUsage() -> a + 18:18:int getEncoderMemoryUsage() -> b + 18:18:int getStartOffset() -> c + 18:18:void setStartOffset(int) -> a +org.tukaani.xz.IndexIndicatorException -> org.jackhuang.hellominecraft.launcher.gI: + long serialVersionUID -> a +org.tukaani.xz.LZMA2Coder -> org.jackhuang.hellominecraft.launcher.gJ: + long FILTER_ID -> a + 16:16:boolean changesSize() -> a + 20:20:boolean nonLastOK() -> b + 24:24:boolean lastOK() -> c +org.tukaani.xz.LZMA2Decoder -> org.jackhuang.hellominecraft.launcher.gK: + int dictSize -> a + 29:29:int getMemoryUsage() -> a + 33:33:java.io.InputStream getInputStream(java.io.InputStream) -> a +org.tukaani.xz.LZMA2Encoder -> org.jackhuang.hellominecraft.launcher.gL: + org.tukaani.xz.LZMA2Options options -> a + byte[] props -> a + 36:36:long getFilterID() -> a + 40:40:byte[] getFilterProps() -> a + 44:44:boolean supportsFlushing() -> d + 48:48:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a +org.tukaani.xz.LZMA2InputStream -> org.jackhuang.hellominecraft.launcher.gM: + int DICT_SIZE_MIN -> a + int DICT_SIZE_MAX -> b + int COMPRESSED_SIZE_MAX -> c + java.io.DataInputStream in -> a + org.tukaani.xz.lz.LZDecoder lz -> a + org.tukaani.xz.rangecoder.RangeDecoderFromBuffer rc -> a + org.tukaani.xz.lzma.LZMADecoder lzma -> a + int uncompressedSize -> d + boolean isLZMAChunk -> a + boolean needDictReset -> b + boolean needProps -> c + boolean endReached -> d + java.io.IOException exception -> a + byte[] tempBuf -> a + 78:78:int getMemoryUsage(int) -> a + 82:90:int getDictSize(int) -> b + 171:171:int read() -> read + 199:250:int read(byte[],int,int) -> read + 255:298:void decodeChunkHeader() -> a + 301:315:void decodeProps() -> b + 334:340:int available() -> available + 350:357:void close() -> close +org.tukaani.xz.LZMA2Options -> org.jackhuang.hellominecraft.launcher.gN: + int PRESET_MIN -> a + int PRESET_MAX -> b + int PRESET_DEFAULT -> c + int DICT_SIZE_MIN -> d + int DICT_SIZE_MAX -> e + int DICT_SIZE_DEFAULT -> f + int LC_LP_MAX -> g + int LC_DEFAULT -> h + int LP_DEFAULT -> i + int PB_MAX -> j + int PB_DEFAULT -> k + int MODE_UNCOMPRESSED -> l + int MODE_FAST -> m + int MODE_NORMAL -> n + int NICE_LEN_MIN -> o + int NICE_LEN_MAX -> p + int MF_HC4 -> q + int MF_BT4 -> r + int[] presetToDictSize -> a + int[] presetToDepthLimit -> b + int dictSize -> s + byte[] presetDict -> a + int lc -> t + int lp -> u + int pb -> v + int mode -> w + int niceLen -> x + int mf -> y + int depthLimit -> z + boolean $assertionsDisabled -> a + 200:220:void setPreset(int) -> a + 238:249:void setDictSize(int) -> b + 255:255:int getDictSize() -> c + 273:274:void setPresetDict(byte[]) -> a + 280:280:byte[] getPresetDict() -> a + 295:303:void setLcLp(int,int) -> a + 332:333:void setLc(int) -> c + 348:349:void setLp(int) -> d + 355:355:int getLc() -> d + 362:362:int getLp() -> e + 390:395:void setPb(int) -> e + 401:401:int getPb() -> f + 423:428:void setMode(int) -> f + 434:434:int getMode() -> g + 448:459:void setNiceLen(int) -> g + 465:465:int getNiceLen() -> h + 480:485:void setMatchFinder(int) -> h + 491:491:int getMatchFinder() -> i + 512:517:void setDepthLimit(int) -> i + 523:523:int getDepthLimit() -> j + 527:529:int getEncoderMemoryUsage() -> b + 533:536:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 556:562:int getDecoderMemoryUsage() -> a + 566:566:java.io.InputStream getInputStream(java.io.InputStream) -> a + 570:570:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 575:578:java.lang.Object clone() -> clone +org.tukaani.xz.LZMA2OutputStream -> org.jackhuang.hellominecraft.launcher.gO: + int COMPRESSED_SIZE_MAX -> a + org.tukaani.xz.FinishableOutputStream out -> a + java.io.DataOutputStream outData -> a + org.tukaani.xz.lz.LZEncoder lz -> a + org.tukaani.xz.rangecoder.RangeEncoder rc -> a + org.tukaani.xz.lzma.LZMAEncoder lzma -> a + int props -> b + boolean dictResetNeeded -> b + boolean stateResetNeeded -> c + boolean propsNeeded -> d + int pendingSize -> c + boolean finished -> e + java.io.IOException exception -> a + byte[] tempBuf -> a + boolean $assertionsDisabled -> a + 41:41:int getExtraSizeBefore(int) -> a + 47:51:int getMemoryUsage(org.tukaani.xz.LZMA2Options) -> a + 82:84:void write(int) -> write + 87:110:void write(byte[],int,int) -> write + 113:133:void writeChunk() -> b + 139:165:void writeLZMA(int,int) -> a + 168:178:void writeUncompressed(int) -> a + 181:201:void writeEndMarker() -> c + 204:223:void flush() -> flush + 226:238:void finish() -> a + 241:260:void close() -> close +org.tukaani.xz.LZMAInputStream -> org.jackhuang.hellominecraft.launcher.gP: + int DICT_SIZE_MAX -> a + java.io.InputStream in -> a + org.tukaani.xz.lz.LZDecoder lz -> a + org.tukaani.xz.rangecoder.RangeDecoderFromStream rc -> a + org.tukaani.xz.lzma.LZMADecoder lzma -> a + boolean endReached -> b + byte[] tempBuf -> a + long remainingSize -> a + java.io.IOException exception -> a + boolean $assertionsDisabled -> a + 89:101:int getMemoryUsage(int,byte) -> a + 121:131:int getMemoryUsage(int,int,int) -> a + 136:155:int getDictSize(int) -> a + 376:398:void initialize(java.io.InputStream,long,byte,int,byte[]) -> a + 406:422:void initialize(java.io.InputStream,long,int,int,int,int,byte[]) -> a + 444:444:int read() -> read + 471:550:int read(byte[],int,int) -> read + 561:568:void close() -> close +org.tukaani.xz.MemoryLimitException -> org.jackhuang.hellominecraft.launcher.gQ: + long serialVersionUID -> a + int memoryNeeded -> a + int memoryLimit -> b + 48:48:int getMemoryNeeded() -> a + 58:58:int getMemoryLimit() -> b +org.tukaani.xz.PowerPCOptions -> org.jackhuang.hellominecraft.launcher.gR: + int ALIGNMENT -> b + 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a + 34:34:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 18:18:java.lang.Object clone() -> clone + 18:18:int getDecoderMemoryUsage() -> a + 18:18:int getEncoderMemoryUsage() -> b + 18:18:int getStartOffset() -> c + 18:18:void setStartOffset(int) -> a +org.tukaani.xz.RawCoder -> org.jackhuang.hellominecraft.launcher.gS: + 15:32:void validate(org.tukaani.xz.FilterCoder[]) -> a +org.tukaani.xz.SPARCOptions -> org.jackhuang.hellominecraft.launcher.gT: + int ALIGNMENT -> b + 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a + 34:34:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 18:18:java.lang.Object clone() -> clone + 18:18:int getDecoderMemoryUsage() -> a + 18:18:int getEncoderMemoryUsage() -> b + 18:18:int getStartOffset() -> c + 18:18:void setStartOffset(int) -> a +org.tukaani.xz.SeekableFileInputStream -> org.jackhuang.hellominecraft.launcher.gU: + java.io.RandomAccessFile randomAccessFile -> a + 55:55:int read() -> read + 62:62:int read(byte[]) -> read + 71:71:int read(byte[],int,int) -> read + 78:79:void close() -> close + 85:85:long length() -> a + 93:93:long position() -> b + 100:101:void seek(long) -> a +org.tukaani.xz.SeekableInputStream -> org.jackhuang.hellominecraft.launcher.gV: + 42:54:long skip(long) -> skip + long length() -> a + long position() -> b + void seek(long) -> a +org.tukaani.xz.SeekableXZInputStream -> org.jackhuang.hellominecraft.launcher.gW: + org.tukaani.xz.SeekableInputStream in -> a + int memoryLimit -> a + int indexMemoryUsage -> b + java.util.ArrayList streams -> a + int checkTypes -> c + long uncompressedSize -> a + long largestBlockSize -> b + int blockCount -> d + org.tukaani.xz.index.BlockInfo curBlockInfo -> a + org.tukaani.xz.index.BlockInfo queriedBlockInfo -> b + org.tukaani.xz.check.Check check -> a + org.tukaani.xz.BlockInputStream blockDecoder -> a + long curPos -> c + long seekPos -> d + boolean seekNeeded -> b + boolean endReached -> c + java.io.IOException exception -> a + byte[] tempBuf -> a + boolean $assertionsDisabled -> a + 404:404:int getCheckTypes() -> a + 414:414:int getIndexMemoryUsage() -> b + 426:426:long getLargestBlockSize() -> c + 435:435:int getStreamCount() -> c + 444:444:int getBlockCount() -> d + 457:458:long getBlockPos(int) -> a + 471:472:long getBlockSize(int) -> b + 487:488:long getBlockCompPos(int) -> c + 503:504:long getBlockCompSize(int) -> d + 519:520:int getBlockCheckType(int) -> a + 534:535:int getBlockNumber(long) -> a + 553:553:int read() -> read + 588:639:int read(byte[],int,int) -> read + 654:663:int available() -> available + 673:680:void close() -> close + 687:687:long length() -> a + 696:699:long position() -> b + 719:727:void seek(long) -> a + 740:751:void seekToBlock(int) -> a + 761:821:void seek() -> a + 827:846:void locateBlockByPos(org.tukaani.xz.index.BlockInfo,long) -> a + 854:868:void locateBlockByNumber(org.tukaani.xz.index.BlockInfo,int) -> a + 881:895:void initBlockDecoder() -> b +org.tukaani.xz.SimpleInputStream -> org.jackhuang.hellominecraft.launcher.gX: + int FILTER_BUF_SIZE -> a + java.io.InputStream in -> a + org.tukaani.xz.simple.SimpleFilter simpleFilter -> a + byte[] filterBuf -> a + int pos -> b + int filtered -> c + int unfiltered -> d + boolean endReached -> b + java.io.IOException exception -> a + byte[] tempBuf -> b + boolean $assertionsDisabled -> a + 33:33:int getMemoryUsage() -> a + 51:51:int read() -> read + 55:115:int read(byte[],int,int) -> read + 120:126:int available() -> available + 130:137:void close() -> close +org.tukaani.xz.SimpleOutputStream -> org.jackhuang.hellominecraft.launcher.gY: + int FILTER_BUF_SIZE -> a + org.tukaani.xz.FinishableOutputStream out -> a + org.tukaani.xz.simple.SimpleFilter simpleFilter -> a + byte[] filterBuf -> a + int pos -> b + int unfiltered -> c + java.io.IOException exception -> a + boolean finished -> b + byte[] tempBuf -> b + boolean $assertionsDisabled -> a + 31:31:int getMemoryUsage() -> a + 44:46:void write(int) -> write + 49:89:void write(byte[],int,int) -> write + 92:105:void writePending() -> b + 108:108:void flush() -> flush + 112:123:void finish() -> a + 126:150:void close() -> close +org.tukaani.xz.SingleXZInputStream -> org.jackhuang.hellominecraft.launcher.gZ: + java.io.InputStream in -> a + int memoryLimit -> a + org.tukaani.xz.common.StreamFlags streamHeaderFlags -> a + org.tukaani.xz.check.Check check -> a + org.tukaani.xz.BlockInputStream blockDecoder -> a + org.tukaani.xz.index.IndexHash indexHash -> a + boolean endReached -> a + java.io.IOException exception -> a + byte[] tempBuf -> a + 127:130:void initialize(java.io.InputStream,int) -> a + 134:138:void initialize(java.io.InputStream,int,byte[]) -> a + 146:146:int getCheckType() -> a + 155:155:java.lang.String getCheckName() -> a + 180:180:int read() -> read + 218:267:int read(byte[],int,int) -> read + 271:280:void validateStreamFooter() -> a + 294:300:int available() -> available + 310:317:void close() -> close +org.tukaani.xz.UncompressedLZMA2OutputStream -> org.jackhuang.hellominecraft.launcher.ha: + org.tukaani.xz.FinishableOutputStream out -> a + java.io.DataOutputStream outData -> a + byte[] uncompBuf -> a + int uncompPos -> a + boolean dictResetNeeded -> a + boolean finished -> b + java.io.IOException exception -> a + byte[] tempBuf -> b + 31:31:int getMemoryUsage() -> a + 43:45:void write(int) -> write + 48:71:void write(byte[],int,int) -> write + 74:79:void writeChunk() -> b + 82:97:void writeEndMarker() -> c + 100:115:void flush() -> flush + 118:130:void finish() -> a + 133:152:void close() -> close +org.tukaani.xz.UnsupportedOptionsException -> org.jackhuang.hellominecraft.launcher.hb: + long serialVersionUID -> a +org.tukaani.xz.X86Options -> org.jackhuang.hellominecraft.launcher.hc: + int ALIGNMENT -> b + 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a + 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a + 34:34:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a + 18:18:java.lang.Object clone() -> clone + 18:18:int getDecoderMemoryUsage() -> a + 18:18:int getEncoderMemoryUsage() -> b + 18:18:int getStartOffset() -> c + 18:18:void setStartOffset(int) -> a +org.tukaani.xz.XZ -> org.jackhuang.hellominecraft.launcher.hd: + byte[] HEADER_MAGIC -> a + byte[] FOOTER_MAGIC -> b + int CHECK_NONE -> a + int CHECK_CRC32 -> b + int CHECK_CRC64 -> c + int CHECK_SHA256 -> d +org.tukaani.xz.XZFormatException -> org.jackhuang.hellominecraft.launcher.he: + long serialVersionUID -> a +org.tukaani.xz.XZIOException -> org.jackhuang.hellominecraft.launcher.hf: + long serialVersionUID -> a +org.tukaani.xz.XZInputStream -> org.jackhuang.hellominecraft.launcher.hg: + int memoryLimit -> a + java.io.InputStream in -> a + org.tukaani.xz.SingleXZInputStream xzIn -> a + boolean endReached -> a + java.io.IOException exception -> a + byte[] tempBuf -> a + 159:159:int read() -> read + 197:238:int read(byte[],int,int) -> read + 242:275:void prepareNextStream() -> a + 289:295:int available() -> available + 305:312:void close() -> close +org.tukaani.xz.XZOutputStream -> org.jackhuang.hellominecraft.launcher.hh: + java.io.OutputStream out -> a + org.tukaani.xz.common.StreamFlags streamFlags -> a + org.tukaani.xz.check.Check check -> a + org.tukaani.xz.index.IndexEncoder index -> a + org.tukaani.xz.BlockOutputStream blockEncoder -> a + org.tukaani.xz.FilterEncoder[] filters -> a + boolean filtersSupportFlushing -> a + java.io.IOException exception -> a + boolean finished -> b + byte[] tempBuf -> a + 186:189:void updateFilters(org.tukaani.xz.FilterOptions) -> a + 208:225:void updateFilters(org.tukaani.xz.FilterOptions[]) -> a + 240:242:void write(int) -> write + 269:287:void write(byte[],int,int) -> write + 315:335:void endBlock() -> b + 360:383:void flush() -> flush + 404:422:void finish() -> a + 437:459:void close() -> close + 462:464:void encodeStreamFlags(byte[],int) -> a + 467:474:void encodeStreamHeader() -> c + 477:487:void encodeStreamFooter() -> d +org.tukaani.xz.check.CRC32 -> org.jackhuang.hellominecraft.launcher.hi: + java.util.zip.CRC32 state -> a + 21:22:void update(byte[],int,int) -> a + 25:31:byte[] finish() -> a +org.tukaani.xz.check.CRC64 -> org.jackhuang.hellominecraft.launcher.hj: + long poly -> a + long[] crcTable -> a + long crc -> b + 38:42:void update(byte[],int,int) -> a + 45:52:byte[] finish() -> a +org.tukaani.xz.check.Check -> org.jackhuang.hellominecraft.launcher.hk: + int size -> a + java.lang.String name -> a + void update(byte[],int,int) -> a + byte[] finish() -> a + 23:24:void update(byte[]) -> a + 27:27:int getSize() -> a + 31:31:java.lang.String getName() -> a + 36:54:org.tukaani.xz.check.Check getInstance(int) -> a +org.tukaani.xz.check.None -> org.jackhuang.hellominecraft.launcher.hl: + 18:18:void update(byte[],int,int) -> a + 21:22:byte[] finish() -> a +org.tukaani.xz.check.SHA256 -> org.jackhuang.hellominecraft.launcher.hm: + java.security.MessageDigest sha256 -> a + 22:23:void update(byte[],int,int) -> a + 26:28:byte[] finish() -> a +org.tukaani.xz.common.DecoderUtil -> org.jackhuang.hellominecraft.launcher.hn: + 24:32:boolean isCRC32Valid(byte[],int,int,int) -> a + 37:48:org.tukaani.xz.common.StreamFlags decodeStreamHeader(byte[]) -> a + 55:78:org.tukaani.xz.common.StreamFlags decodeStreamFooter(byte[]) -> b + 83:89:org.tukaani.xz.common.StreamFlags decodeStreamFlags(byte[],int) -> a + 94:94:boolean areStreamFlagsEqual(org.tukaani.xz.common.StreamFlags,org.tukaani.xz.common.StreamFlags) -> a + 98:119:long decodeVLI(java.io.InputStream) -> a +org.tukaani.xz.common.EncoderUtil -> org.jackhuang.hellominecraft.launcher.ho: + 19:25:void writeCRC32(java.io.OutputStream,byte[]) -> a + 29:35:void encodeVLI(java.io.OutputStream,long) -> a +org.tukaani.xz.common.StreamFlags -> org.jackhuang.hellominecraft.launcher.hp: + int checkType -> a + long backwardSize -> a +org.tukaani.xz.common.Util -> org.jackhuang.hellominecraft.launcher.hq: + int STREAM_HEADER_SIZE -> a + long BACKWARD_SIZE_MAX -> a + int BLOCK_HEADER_SIZE_MAX -> b + long VLI_MAX -> b + int VLI_SIZE_MAX -> c + 20:26:int getVLISize(long) -> a +org.tukaani.xz.delta.DeltaCoder -> org.jackhuang.hellominecraft.launcher.hr: + int DISTANCE_MIN -> a + int DISTANCE_MAX -> b + int DISTANCE_MASK -> c + int distance -> d + byte[] history -> a + int pos -> e +org.tukaani.xz.delta.DeltaDecoder -> org.jackhuang.hellominecraft.launcher.hs: + 18:23:void decode(byte[],int,int) -> a +org.tukaani.xz.delta.DeltaEncoder -> org.jackhuang.hellominecraft.launcher.ht: + 18:23:void encode(byte[],int,int,byte[]) -> a +org.tukaani.xz.index.BlockInfo -> org.jackhuang.hellominecraft.launcher.hu: + int blockNumber -> a + long compressedOffset -> a + long uncompressedOffset -> b + long unpaddedSize -> c + long uncompressedSize -> d + org.tukaani.xz.index.IndexDecoder index -> a + 28:28:int getCheckType() -> a + 32:32:boolean hasNext() -> a + 36:37:void setNext() -> a +org.tukaani.xz.index.IndexBase -> org.jackhuang.hellominecraft.launcher.hv: + org.tukaani.xz.XZIOException invalidIndexException -> a + long blocksSum -> a + long uncompressedSum -> b + long indexListSize -> c + long recordCount -> d + 28:28:long getUnpaddedIndexSize() -> c + 32:32:long getIndexSize() -> a + 36:36:long getStreamSize() -> b + 41:41:int getIndexPaddingSize() -> a + 45:55:void add(long,long) -> a +org.tukaani.xz.index.IndexDecoder -> org.jackhuang.hellominecraft.launcher.hw: + org.tukaani.xz.common.StreamFlags streamFlags -> a + long streamPadding -> e + int memoryUsage -> a + long[] unpadded -> a + long[] uncompressed -> b + long largestBlockSize -> f + int recordOffset -> b + long compressedOffset -> g + long uncompressedOffset -> h + boolean $assertionsDisabled -> a + 138:143:void setOffsets(org.tukaani.xz.index.IndexDecoder) -> a + 146:146:int getMemoryUsage() -> b + 150:150:org.tukaani.xz.common.StreamFlags getStreamFlags() -> a + 156:156:int getRecordCount() -> c + 160:160:long getUncompressedSize() -> c + 164:164:long getLargestBlockSize() -> d + 168:168:boolean hasUncompressedOffset(long) -> a + 173:173:boolean hasRecord(int) -> a + 178:195:void locateBlock(org.tukaani.xz.index.BlockInfo,long) -> a + 200:222:void setBlockInfo(org.tukaani.xz.index.BlockInfo,int) -> a + 22:22:long getStreamSize() -> b + 22:22:long getIndexSize() -> a +org.tukaani.xz.index.IndexEncoder -> org.jackhuang.hellominecraft.launcher.hx: + java.util.ArrayList records -> a + 29:31:void add(long,long) -> a + 34:58:void encode(java.io.OutputStream) -> a + 20:20:long getStreamSize() -> b + 20:20:long getIndexSize() -> a +org.tukaani.xz.index.IndexHash -> org.jackhuang.hellominecraft.launcher.hy: + org.tukaani.xz.check.Check hash -> a + 37:43:void add(long,long) -> a + 48:93:void validate(java.io.InputStream) -> a + 22:22:long getStreamSize() -> b + 22:22:long getIndexSize() -> a +org.tukaani.xz.index.IndexRecord -> org.jackhuang.hellominecraft.launcher.hz: + long unpadded -> a + long uncompressed -> b +org.tukaani.xz.lz.BT4 -> org.jackhuang.hellominecraft.launcher.hA: + org.tukaani.xz.lz.Hash234 hash -> a + int[] tree -> a + org.tukaani.xz.lz.Matches matches -> a + int depthLimit -> f + int cyclicSize -> g + int cyclicPos -> h + int lzPos -> i + 24:24:int getMemoryUsage(int) -> a + 46:60:int movePos() -> c + 64:184:org.tukaani.xz.lz.Matches getMatches() -> a + 188:233:void skip(int,int) -> a + 237:254:void skip(int) -> a +org.tukaani.xz.lz.CRC32Hash -> org.jackhuang.hellominecraft.launcher.hB: + int CRC32_POLY -> a + int[] crcTable -> a +org.tukaani.xz.lz.HC4 -> org.jackhuang.hellominecraft.launcher.hC: + org.tukaani.xz.lz.Hash234 hash -> a + int[] chain -> a + org.tukaani.xz.lz.Matches matches -> a + int depthLimit -> f + int cyclicSize -> g + int cyclicPos -> h + int lzPos -> i + boolean $assertionsDisabled -> a + 27:27:int getMemoryUsage(int) -> a + 63:77:int movePos() -> c + 81:185:org.tukaani.xz.lz.Matches getMatches() -> a + 189:199:void skip(int) -> a +org.tukaani.xz.lz.Hash234 -> org.jackhuang.hellominecraft.launcher.hD: + int HASH_2_SIZE -> a + int HASH_2_MASK -> b + int HASH_3_SIZE -> c + int HASH_3_MASK -> d + int hash4Mask -> e + int[] hash2Table -> b + int[] hash3Table -> c + int[] hash4Table -> d + int hash2Value -> f + int hash3Value -> g + int hash4Value -> h + 31:41:int getHash4Size(int) -> a + 46:46:int getMemoryUsage(int) -> b + 56:64:void calcHashes(byte[],int) -> a + 67:67:int getHash2Pos() -> a + 71:71:int getHash3Pos() -> b + 75:75:int getHash4Pos() -> c + 79:82:void updateTables(int) -> a + 85:88:void normalize(int) -> b +org.tukaani.xz.lz.LZDecoder -> org.jackhuang.hellominecraft.launcher.hE: + byte[] buf -> a + int start -> a + int pos -> b + int full -> c + int limit -> d + int pendingLen -> e + int pendingDist -> f + 38:43:void reset() -> a + 46:50:void setLimit(int) -> a + 53:53:boolean hasSpace() -> a + 57:57:boolean hasPending() -> b + 61:61:int getPos() -> a + 65:69:int getByte(int) -> a + 73:77:void putByte(byte) -> a + 80:99:void repeat(int,int) -> a + 102:104:void repeatPending() -> b + 108:114:void copyUncompressed(java.io.DataInputStream,int) -> a + 117:124:int flush(byte[],int) -> a +org.tukaani.xz.lz.LZEncoder -> org.jackhuang.hellominecraft.launcher.hF: + int MF_HC4 -> a + int MF_BT4 -> b + int keepSizeBefore -> f + int keepSizeAfter -> g + int matchLenMax -> c + int niceLen -> d + byte[] buf -> a + int readPos -> e + int readLimit -> h + boolean finishing -> a + int writePos -> i + int pendingSize -> j + boolean $assertionsDisabled -> b + 46:52:void normalize(int[],int) -> a + 60:63:int getBufSize(int,int,int,int) -> a + 74:90:int getMemoryUsage(int,int,int,int,int) -> a + 120:130:org.tukaani.xz.lz.LZEncoder getInstance(int,int,int,int,int,int,int) -> a + 154:166:void setPresetDict(int,byte[]) -> a + 176:183:void moveWindow() -> c + 189:212:int fillWindow(byte[],int,int) -> a + 228:235:void processPendingBytes() -> d + 242:242:boolean isStarted() -> a + 250:252:void setFlushing() -> a + 259:262:void setFinishing() -> b + 269:269:boolean hasEnoughData(int) -> a + 274:275:void copyUncompressed(java.io.OutputStream,int,int) -> a + 285:286:int getAvail() -> a + 294:294:int getPos() -> b + 307:307:int getByte(int) -> b + 316:316:int getByte(int,int) -> a + 328:334:int getMatchLen(int,int) -> b + 347:354:int getMatchLen(int,int,int) -> a + 368:374:boolean verifyMatches(org.tukaani.xz.lz.Matches) -> a + 395:407:int movePos(int,int) -> c + org.tukaani.xz.lz.Matches getMatches() -> a + void skip(int) -> a +org.tukaani.xz.lz.Matches -> org.jackhuang.hellominecraft.launcher.hG: + int[] len -> a + int[] dist -> b + int count -> a +org.tukaani.xz.lzma.LZMACoder -> org.jackhuang.hellominecraft.launcher.hH: + int POS_STATES_MAX -> a + int MATCH_LEN_MIN -> b + int MATCH_LEN_MAX -> c + int DIST_STATES -> d + int DIST_SLOTS -> e + int DIST_MODEL_START -> f + int DIST_MODEL_END -> g + int FULL_DISTANCES -> h + int ALIGN_BITS -> i + int ALIGN_SIZE -> j + int ALIGN_MASK -> k + int REPS -> l + int posMask -> m + int[] reps -> a + org.tukaani.xz.lzma.State state -> a + short[][] isMatch -> a + short[] isRep -> a + short[] isRep0 -> b + short[] isRep1 -> c + short[] isRep2 -> d + short[][] isRep0Long -> b + short[][] distSlots -> c + short[][] distSpecial -> d + short[] distAlign -> e + 55:55:int getDistState(int) -> a + 65:89:void reset() -> a +org.tukaani.xz.lzma.LZMACoder$LengthCoder -> org.jackhuang.hellominecraft.launcher.hI: + int LOW_SYMBOLS -> a + int MID_SYMBOLS -> b + int HIGH_SYMBOLS -> c + short[] choice -> a + short[][] low -> a + short[][] mid -> b + short[] high -> b + org.tukaani.xz.lzma.LZMACoder this$0 -> a + 129:138:void reset() -> a +org.tukaani.xz.lzma.LZMACoder$LiteralCoder -> org.jackhuang.hellominecraft.launcher.hJ: + int lc -> a + int literalPosMask -> b + org.tukaani.xz.lzma.LZMACoder this$0 -> a + 102:104:int getSubcoderIndex(int,int) -> a +org.tukaani.xz.lzma.LZMACoder$LiteralCoder$LiteralSubcoder -> org.jackhuang.hellominecraft.launcher.hK: + short[] probs -> a + org.tukaani.xz.lzma.LZMACoder$LiteralCoder this$1 -> a + 112:113:void reset() -> a +org.tukaani.xz.lzma.LZMADecoder -> org.jackhuang.hellominecraft.launcher.hL: + org.tukaani.xz.lz.LZDecoder lz -> a + org.tukaani.xz.rangecoder.RangeDecoder rc -> a + org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder literalDecoder -> a + org.tukaani.xz.lzma.LZMADecoder$LengthDecoder matchLenDecoder -> a + org.tukaani.xz.lzma.LZMADecoder$LengthDecoder repLenDecoder -> b + 33:37:void reset() -> a + 46:46:boolean endMarkerDetected() -> a + 50:70:void decode() -> b + 73:98:int decodeMatch(int) -> b + 102:129:int decodeRepMatch(int) -> c + 17:17:org.tukaani.xz.lz.LZDecoder access$200(org.tukaani.xz.lzma.LZMADecoder) -> a + 17:17:org.tukaani.xz.rangecoder.RangeDecoder access$300(org.tukaani.xz.lzma.LZMADecoder) -> a +org.tukaani.xz.lzma.LZMADecoder$1 -> org.jackhuang.hellominecraft.launcher.hM: +org.tukaani.xz.lzma.LZMADecoder$LengthDecoder -> org.jackhuang.hellominecraft.launcher.hN: + org.tukaani.xz.lzma.LZMADecoder this$0 -> a + 188:195:int decode(int) -> a +org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder -> org.jackhuang.hellominecraft.launcher.hO: + org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder$LiteralSubdecoder[] subdecoders -> a + org.tukaani.xz.lzma.LZMADecoder this$0 -> a + 145:147:void reset() -> a + 150:152:void decode() -> b +org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder$LiteralSubdecoder -> org.jackhuang.hellominecraft.launcher.hP: + org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder this$1 -> a + 157:181:void decode() -> b +org.tukaani.xz.lzma.LZMAEncoder -> org.jackhuang.hellominecraft.launcher.hQ: + int MODE_FAST -> n + int MODE_NORMAL -> o + int LZMA2_UNCOMPRESSED_LIMIT -> s + int LZMA2_COMPRESSED_LIMIT -> t + int DIST_PRICE_UPDATE_INTERVAL -> u + int ALIGN_PRICE_UPDATE_INTERVAL -> v + org.tukaani.xz.rangecoder.RangeEncoder rc -> a + org.tukaani.xz.lz.LZEncoder lz -> a + org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder literalEncoder -> a + org.tukaani.xz.lzma.LZMAEncoder$LengthEncoder matchLenEncoder -> a + org.tukaani.xz.lzma.LZMAEncoder$LengthEncoder repLenEncoder -> b + int niceLen -> p + int distPriceCount -> w + int alignPriceCount -> x + int distSlotPricesSize -> y + int[][] distSlotPrices -> a + int[][] fullDistPrices -> b + int[] alignPrices -> b + int back -> q + int readAhead -> r + int uncompressedSize -> z + boolean $assertionsDisabled -> a + 70:87:int getMemoryUsage(int,int,int,int) -> a + 94:106:org.tukaani.xz.lzma.LZMAEncoder getInstance(org.tukaani.xz.rangecoder.RangeEncoder,int,int,int,int,int,int,int,int,int) -> a + 115:144:int getDistSlot(int) -> b + int getNextSymbol() -> a + 184:184:org.tukaani.xz.lz.LZEncoder getLZEncoder() -> a + 188:197:void reset() -> a + 200:200:int getUncompressedSize() -> b + 204:205:void resetUncompressedSize() -> b + 213:221:boolean encodeForLZMA2() -> a + 225:242:boolean encodeInit() -> b + 246:279:boolean encodeSymbol() -> c + 283:312:void encodeMatch(int,int,int) -> a + 315:344:void encodeRepMatch(int,int,int) -> b + 347:350:org.tukaani.xz.lz.Matches getMatches() -> a + 354:356:void skip(int) -> a + 359:359:int getAnyMatchPrice(org.tukaani.xz.lzma.State,int) -> a + 363:364:int getNormalMatchPrice(int,org.tukaani.xz.lzma.State) -> a + 368:369:int getAnyRepPrice(int,org.tukaani.xz.lzma.State) -> b + 373:375:int getShortRepPrice(int,org.tukaani.xz.lzma.State,int) -> a + 380:397:int getLongRepPrice(int,int,org.tukaani.xz.lzma.State,int) -> a + 401:404:int getLongRepAndLenPrice(int,int,org.tukaani.xz.lzma.State,int) -> b + 409:423:int getMatchAndLenPrice(int,int,int,int) -> b + 427:469:void updateDistPrices() -> d + 472:477:void updateAlignPrices() -> e + 485:493:void updatePrices() -> c + 17:17:org.tukaani.xz.rangecoder.RangeEncoder access$100(org.tukaani.xz.lzma.LZMAEncoder) -> a +org.tukaani.xz.lzma.LZMAEncoder$1 -> org.jackhuang.hellominecraft.launcher.hR: +org.tukaani.xz.lzma.LZMAEncoder$LengthEncoder -> org.jackhuang.hellominecraft.launcher.hS: + int PRICE_UPDATE_INTERVAL -> d + int[] counters -> a + int[][] prices -> a + org.tukaani.xz.lzma.LZMAEncoder this$0 -> a + 644:650:void reset() -> a + 653:672:void encode(int,int) -> a + 675:675:int getPrice(int,int) -> a + 679:685:void updatePrices() -> b + 688:709:void updatePrices(int) -> a +org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder -> org.jackhuang.hellominecraft.launcher.hT: + org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder$LiteralSubencoder[] subencoders -> a + boolean $assertionsDisabled -> a + org.tukaani.xz.lzma.LZMAEncoder this$0 -> a + 508:510:void reset() -> a + 516:518:void encodeInit() -> b + 521:525:void encode() -> c + 529:537:int getPrice(int,int,int,int,org.tukaani.xz.lzma.State) -> a +org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder$LiteralSubencoder -> org.jackhuang.hellominecraft.launcher.hU: + org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder this$1 -> a + 542:574:void encode() -> b + 577:591:int getNormalPrice(int) -> a + 595:614:int getMatchedPrice(int,int) -> a +org.tukaani.xz.lzma.LZMAEncoderFast -> org.jackhuang.hellominecraft.launcher.hV: + int EXTRA_SIZE_BEFORE -> s + int EXTRA_SIZE_AFTER -> t + org.tukaani.xz.lz.Matches matches -> a + 24:25:int getMemoryUsage(int,int,int) -> a + 42:42:boolean changePair(int,int) -> a + 49:149:int getNextSymbol() -> a +org.tukaani.xz.lzma.LZMAEncoderNormal -> org.jackhuang.hellominecraft.launcher.hW: + int OPTS -> s + int EXTRA_SIZE_BEFORE -> t + int EXTRA_SIZE_AFTER -> u + org.tukaani.xz.lzma.Optimum[] opts -> a + int optCur -> v + int optEnd -> w + org.tukaani.xz.lz.Matches matches -> a + int[] repLens -> b + org.tukaani.xz.lzma.State nextState -> b + boolean $assertionsDisabled -> b + 35:36:int getMemoryUsage(int,int,int) -> a + 57:60:void reset() -> a + 68:96:int convertOpts() -> c + 102:298:int getNextSymbol() -> a + 305:366:void updateOptStateAndReps() -> d + 374:422:void calc1BytePrices(int,int,int,int) -> a + 429:486:int calcLongRepPrices(int,int,int,int) -> c + 496:565:void calcNormalMatchPrices(int,int,int,int,int) -> a +org.tukaani.xz.lzma.Optimum -> org.jackhuang.hellominecraft.launcher.hX: + int INFINITY_PRICE -> f + org.tukaani.xz.lzma.State state -> a + int[] reps -> a + int price -> a + int optPrev -> b + int backPrev -> c + boolean prev1IsLiteral -> a + boolean hasPrev2 -> b + int optPrev2 -> d + int backPrev2 -> e + 36:37:void reset() -> a + 43:47:void set1(int,int,int) -> a + 53:58:void set2(int,int,int) -> b + 65:72:void set3(int,int,int,int,int) -> a +org.tukaani.xz.lzma.State -> org.jackhuang.hellominecraft.launcher.hY: + int STATES -> a + int LIT_STATES -> b + int LIT_LIT -> c + int MATCH_LIT_LIT -> d + int REP_LIT_LIT -> e + int SHORTREP_LIT_LIT -> f + int MATCH_LIT -> g + int REP_LIT -> h + int SHORTREP_LIT -> i + int LIT_MATCH -> j + int LIT_LONGREP -> k + int LIT_SHORTREP -> l + int NONLIT_MATCH -> m + int NONLIT_REP -> n + int state -> o + 40:41:void reset() -> a + 44:44:int get() -> a + 48:49:void set(org.tukaani.xz.lzma.State) -> a + 52:58:void updateLiteral() -> b + 61:62:void updateMatch() -> c + 65:66:void updateLongRep() -> d + 69:70:void updateShortRep() -> e + 73:73:boolean isLiteral() -> a +org.tukaani.xz.rangecoder.RangeCoder -> org.jackhuang.hellominecraft.launcher.hZ: + int SHIFT_BITS -> a + int TOP_MASK -> b + int BIT_MODEL_TOTAL_BITS -> c + int BIT_MODEL_TOTAL -> d + short PROB_INIT -> a + int MOVE_BITS -> e + 24:25:void initProbs(short[]) -> a +org.tukaani.xz.rangecoder.RangeDecoder -> org.jackhuang.hellominecraft.launcher.ia: + int range -> f + int code -> g + void normalize() -> a + 23:42:int decodeBit(short[],int) -> a + 46:52:int decodeBitTree(short[]) -> a + 56:66:int decodeReverseBitTree(short[]) -> b + 70:81:int decodeDirectBits(int) -> a +org.tukaani.xz.rangecoder.RangeDecoderFromBuffer -> org.jackhuang.hellominecraft.launcher.ib: + int INIT_SIZE -> h + byte[] buf -> a + int pos -> i + int end -> j + 30:42:void prepareInputBuffer(java.io.DataInputStream,int) -> a + 45:45:boolean isInBufferOK() -> a + 49:49:boolean isFinished() -> b + 53:63:void normalize() -> a +org.tukaani.xz.rangecoder.RangeDecoderFromStream -> org.jackhuang.hellominecraft.launcher.ic: + java.io.DataInputStream inData -> a + 32:32:boolean isFinished() -> a + 36:40:void normalize() -> a +org.tukaani.xz.rangecoder.RangeEncoder -> org.jackhuang.hellominecraft.launcher.id: + int MOVE_REDUCING_BITS -> f + int BIT_PRICE_SHIFT_BITS -> g + int[] prices -> a + long low -> a + int range -> h + int cacheSize -> i + byte cache -> a + byte[] buf -> a + int bufPos -> j + boolean $assertionsDisabled -> a + 64:69:void reset() -> a + 72:72:int getPendingSize() -> a + 76:79:int finish() -> b + 83:84:void write(java.io.OutputStream) -> a + 87:102:void shiftLow() -> b + 105:123:void encodeBit(short[],int,int) -> a + 127:128:int getBitPrice(int,int) -> a + 133:146:void encodeBitTree(short[],int) -> a + 149:158:int getBitTreePrice(short[],int) -> a + 162:171:void encodeReverseBitTree(short[],int) -> b + 174:185:int getReverseBitTreePrice(short[],int) -> b + 190:198:void encodeDirectBits(int,int) -> a + 201:201:int getDirectBitsPrice(int) -> a +org.tukaani.xz.simple.ARM -> org.jackhuang.hellominecraft.launcher.ie: + boolean isEncoder -> a + int pos -> a + 23:48:int code(byte[],int,int) -> a +org.tukaani.xz.simple.ARMThumb -> org.jackhuang.hellominecraft.launcher.if: + boolean isEncoder -> a + int pos -> a + 23:51:int code(byte[],int,int) -> a +org.tukaani.xz.simple.IA64 -> org.jackhuang.hellominecraft.launcher.ig: + int[] BRANCH_TABLE -> a + boolean isEncoder -> a + int pos -> a + 29:79:int code(byte[],int,int) -> a +org.tukaani.xz.simple.PowerPC -> org.jackhuang.hellominecraft.launcher.ih: + boolean isEncoder -> a + int pos -> a + 23:48:int code(byte[],int,int) -> a +org.tukaani.xz.simple.SPARC -> org.jackhuang.hellominecraft.launcher.ii: + boolean isEncoder -> a + int pos -> a + 23:54:int code(byte[],int,int) -> a +org.tukaani.xz.simple.SimpleFilter -> org.jackhuang.hellominecraft.launcher.ij: + int code(byte[],int,int) -> a +org.tukaani.xz.simple.X86 -> org.jackhuang.hellominecraft.launcher.ik: + boolean[] MASK_TO_ALLOWED_STATUS -> a + int[] MASK_TO_BIT_NUMBER -> a + boolean isEncoder -> a + int pos -> a + int prevMask -> b + 24:25:boolean test86MSByte(byte) -> a + 34:96:int code(byte[],int,int) -> a diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java index fde251d26..e0bd273d9 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/Main.java @@ -27,6 +27,7 @@ import java.net.PasswordAuthentication; import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; +import java.util.Map; import javax.swing.ImageIcon; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; @@ -44,6 +45,7 @@ import org.jackhuang.hellominecraft.launcher.views.MainFrame; import org.jackhuang.hellominecraft.lookandfeel.HelloMinecraftLookAndFeel; import org.jackhuang.hellominecraft.utils.system.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; +import org.jackhuang.hellominecraft.utils.system.OS; /** * @@ -52,7 +54,7 @@ import org.jackhuang.hellominecraft.utils.StrUtils; public final class Main implements NonConsumer { public static String launcherName = "Hello Minecraft! Launcher"; - public static byte firstVer = 2, secondVer = 3, thirdVer = 3; + public static byte firstVer = 2, secondVer = 3, thirdVer = 4; public static int minimumLauncherVersion = 16; /** @@ -126,17 +128,25 @@ public final class Main implements NonConsumer { public static void update() { if (MessageBox.Show(C.i18n("update.newest_version") + Settings.UPDATE_CHECKER.getNewVersion().firstVer + "." + Settings.UPDATE_CHECKER.getNewVersion().secondVer + "." + Settings.UPDATE_CHECKER.getNewVersion().thirdVer + "\n" + C.i18n("update.should_open_link"), - MessageBox.YES_NO_OPTION) == MessageBox.YES_OPTION) + MessageBox.YES_NO_OPTION) == MessageBox.YES_OPTION) { + Map map = Settings.UPDATE_CHECKER.download_link; + String url = C.URL_PUBLISH; + if (map != null) + if (map.containsKey(OS.os().checked_name)) + url = map.get(OS.os().checked_name); + else if (map.containsKey(OS.UNKOWN.checked_name)) + url = map.get(OS.UNKOWN.checked_name); + if (url == null) url = C.URL_PUBLISH; try { - java.awt.Desktop.getDesktop().browse(new URI(C.URL_PUBLISH)); + java.awt.Desktop.getDesktop().browse(new URI(url)); } catch (URISyntaxException | IOException e) { - HMCLog.warn("Failed to browse uri: " + C.URL_PUBLISH, e); + HMCLog.warn("Failed to browse uri: " + url, e); Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); - cb.setContents(new StringSelection(C.URL_PUBLISH), null); + cb.setContents(new StringSelection(url), null); MessageBox.Show(C.i18n("update.no_browser")); } - else + } else Settings.getInstance().setCheckUpdate(false); } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java index b6e1e53b8..52d6c5ef2 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/CrashReporter.java @@ -18,10 +18,12 @@ package org.jackhuang.hellominecraft.launcher.utils; import java.text.DateFormat; import java.util.Date; +import java.util.HashMap; import javax.swing.SwingUtilities; import org.jackhuang.hellominecraft.HMCLog; import org.jackhuang.hellominecraft.launcher.Main; import org.jackhuang.hellominecraft.launcher.launch.MinecraftCrashAdvicer; +import org.jackhuang.hellominecraft.utils.NetUtils; import org.jackhuang.hellominecraft.utils.UpdateChecker; import org.jackhuang.hellominecraft.utils.system.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; @@ -57,6 +59,8 @@ public class CrashReporter implements Thread.UncaughtExceptionHandler { if (enableLogger) HMCLog.err(text); else System.out.println(text); SwingUtilities.invokeLater(() -> LogWindow.instance.showAsCrashWindow(UpdateChecker.OUT_DATED)); + if (!UpdateChecker.OUT_DATED) + reportToServer(text); } catch (Throwable ex) { try { MessageBox.Show(e.getMessage() + "\n" + ex.getMessage(), "ERROR", MessageBox.ERROR_MESSAGE); @@ -67,4 +71,12 @@ public class CrashReporter implements Thread.UncaughtExceptionHandler { } } + void reportToServer(String text) { + new Thread(() -> { + HashMap map = new HashMap<>(); + map.put("CrashReport", text); + System.out.println(NetUtils.post("http://huangyuhui.duapp.com/crash.php", map)); + }).start(); + } + } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/version/MinecraftVersionManager.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/version/MinecraftVersionManager.java index ccef7612c..ca2379ec8 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/version/MinecraftVersionManager.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/version/MinecraftVersionManager.java @@ -21,6 +21,7 @@ import com.google.gson.JsonSyntaxException; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.LinkedList; @@ -222,6 +223,7 @@ public final class MinecraftVersionManager extends IMinecraftProvider { @Override public List listMods() { + if (profile.getSelectedMinecraftVersion() == null) return Arrays.asList(); File modsFolder = new File(getRunDirectory(profile.getSelectedMinecraftVersion().id), "mods"); ArrayList mods = new ArrayList<>(); Queue queue = new LinkedList<>(); @@ -235,9 +237,8 @@ public final class MinecraftVersionManager extends IMinecraftProvider { ModInfo m = ModInfo.readModInfo(f); if (m != null) mods.add(m); - } else if(f.isDirectory()) { + } else if (f.isDirectory()) queue.add(f); - } } Collections.sort(mods); return mods; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java index 092330cbc..2d5273902 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/NetUtils.java @@ -123,8 +123,6 @@ public final class NetUtils { } sb = new StringBuilder(sb.substring(0, sb.length() - 1)); } - System.out.println("send_url:" + url); - System.out.println("send_data:" + sb.toString()); try { u = new URL(url); con = (HttpURLConnection) u.openConnection(); diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java index 18bd77947..a42494d63 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/UpdateChecker.java @@ -16,6 +16,7 @@ */ package org.jackhuang.hellominecraft.utils; +import java.util.Map; import org.jackhuang.hellominecraft.utils.system.MessageBox; import org.jackhuang.hellominecraft.C; import org.jackhuang.hellominecraft.utils.functions.NonConsumer; @@ -32,6 +33,7 @@ public final class UpdateChecker extends Thread { public String type; public boolean continueUpdate; public NonConsumer dl; + public Map download_link; public UpdateChecker(VersionNumber base, String type, boolean continueUpdate, NonConsumer dl) { super("UpdateChecker"); @@ -46,9 +48,9 @@ public final class UpdateChecker extends Thread { @Override public void run() { - String url = "http://huangyuhui.duapp.com/info.php?type=" + type, version; + String version; try { - version = NetUtils.doGet(url); + version = NetUtils.doGet("http://huangyuhui.duapp.com/info.php?type=" + type); } catch (Exception e) { HMCLog.warn("Failed to get update url.", e); return; @@ -57,6 +59,14 @@ public final class UpdateChecker extends Thread { if (!continueUpdate) return; process(false); + if (OUT_DATED) { + try { + download_link = C.gson.fromJson(NetUtils.doGet("http://huangyuhui.duapp.com/update_link.php?type=" + type), Map.class); + } catch (Exception e) { + HMCLog.warn("Failed to get update link.", e); + } + dl.onDone(); + } } public void process(boolean showMessage) { @@ -67,7 +77,6 @@ public final class UpdateChecker extends Thread { } else if (VersionNumber.isOlder(base, value)) { OUT_DATED = true; - dl.onDone(); } } diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java index e11fab392..e0e4ee4b7 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/OS.java @@ -25,15 +25,17 @@ import org.jackhuang.hellominecraft.HMCLog; */ public enum OS { - LINUX('/'), - WINDOWS('\\'), - OSX('/'), - UNKOWN('/'); + LINUX('/', "linux"), + WINDOWS('\\', "windows"), + OSX('/', "osx"), + UNKOWN('/', "universal"); public final char fileSeparator; + public final String checked_name; - private OS(char fileSeparator) { + private OS(char fileSeparator, String n) { this.fileSeparator = fileSeparator; + checked_name = n; } public static OS os() {