import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("mv") @Implements("AbstractUserComparator") public abstract class AbstractUserComparator implements Comparator { @ObfuscatedName("u") @Export("BZip2Decompressor_block") static int[] BZip2Decompressor_block; @ObfuscatedName("q") @Export("nextComparator") Comparator nextComparator; protected AbstractUserComparator() { } @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(Ljava/util/Comparator;I)V", garbageValue = "-1038050583" ) @Export("addComparator") final void addComparator(Comparator var1) { if (this.nextComparator == null) { this.nextComparator = var1; } else if (this.nextComparator instanceof AbstractUserComparator) { ((AbstractUserComparator)this.nextComparator).addComparator(var1); } } @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(Llu;Llu;I)I", garbageValue = "-2140544019" ) @Export("compareUser") protected final int compareUser(User var1, User var2) { return this.nextComparator == null ? 0 : this.nextComparator.compare(var1, var2); } public boolean equals(Object var1) { return super.equals(var1); } @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "([BIIB)Ljava/lang/String;", garbageValue = "6" ) public static String method6049(byte[] var0, int var1, int var2) { char[] var3 = new char[var2]; int var4 = 0; int var5 = var1; int var8; for (int var6 = var2 + var1; var5 < var6; var3[var4++] = (char)var8) { int var7 = var0[var5++] & 255; if (var7 < 128) { if (var7 == 0) { var8 = 65533; } else { var8 = var7; } } else if (var7 < 192) { var8 = 65533; } else if (var7 < 224) { if (var5 < var6 && (var0[var5] & 192) == 128) { var8 = (var7 & 31) << 6 | var0[var5++] & 63; if (var8 < 128) { var8 = 65533; } } else { var8 = 65533; } } else if (var7 < 240) { if (var5 + 1 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128) { var8 = (var7 & 15) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; if (var8 < 2048) { var8 = 65533; } } else { var8 = 65533; } } else if (var7 < 248) { if (var5 + 2 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128 && (var0[var5 + 2] & 192) == 128) { var8 = (var7 & 7) << 18 | (var0[var5++] & 63) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; if (var8 >= 65536 && var8 <= 1114111) { var8 = 65533; } else { var8 = 65533; } } else { var8 = 65533; } } else { var8 = 65533; } } return new String(var3, 0, var4); } }