Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package kotlin.random;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000>\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0002\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0002\b\u0003\n\u0002\u0010\t\n\u0000\b \u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0016J\b\u0010\n\u001a\u00020\u000bH\u0016J\u0010\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\rH\u0016J\b\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\bH\u0016J\u0010\u0010\u0013\u001a\u00020\b2\u0006\u0010\u0014\u001a\u00020\bH\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016R\u0012\u0010\u0003\u001a\u00020\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0017"}, d2 = {"Lkotlin/random/AbstractPlatformRandom;", "Lkotlin/random/Random;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "nextDouble", "", "nextFloat", "", "nextInt", "until", "nextLong", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nPlatformRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 PlatformRandom.kt\nkotlin/random/AbstractPlatformRandom\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,93:1\n1#2:94\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class AbstractPlatformRandom extends Random {
|
||||
public abstract java.util.Random getImpl();
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextBits(int bitCount) {
|
||||
return RandomKt.takeUpperBits(getImpl().nextInt(), bitCount);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public boolean nextBoolean() {
|
||||
return getImpl().nextBoolean();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public byte[] nextBytes(byte[] array) {
|
||||
Intrinsics.checkNotNullParameter(array, "array");
|
||||
getImpl().nextBytes(array);
|
||||
return array;
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public double nextDouble() {
|
||||
return getImpl().nextDouble();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public float nextFloat() {
|
||||
return getImpl().nextFloat();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt() {
|
||||
return getImpl().nextInt();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public long nextLong() {
|
||||
return getImpl().nextLong();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt(int until) {
|
||||
return getImpl().nextInt(until);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package kotlin.random;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001b\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\b\u0003*\u0001\b\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002R\u0014\u0010\u0003\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006R\u0010\u0010\u0007\u001a\u00020\bX\u0082\u0004¢\u0006\u0004\n\u0002\u0010\t¨\u0006\n"}, d2 = {"Lkotlin/random/FallbackThreadLocalRandom;", "Lkotlin/random/AbstractPlatformRandom;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "implStorage", "kotlin/random/FallbackThreadLocalRandom$implStorage$1", "Lkotlin/random/FallbackThreadLocalRandom$implStorage$1;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class FallbackThreadLocalRandom extends AbstractPlatformRandom {
|
||||
private final FallbackThreadLocalRandom$implStorage$1 implStorage = new ThreadLocal<java.util.Random>() { // from class: kotlin.random.FallbackThreadLocalRandom$implStorage$1
|
||||
@Override // java.lang.ThreadLocal
|
||||
public java.util.Random initialValue() {
|
||||
return new java.util.Random();
|
||||
}
|
||||
};
|
||||
|
||||
@Override // kotlin.random.AbstractPlatformRandom
|
||||
public java.util.Random getImpl() {
|
||||
java.util.Random random = get();
|
||||
Intrinsics.checkNotNullExpressionValue(random, "get(...)");
|
||||
return random;
|
||||
}
|
||||
}
|
||||
83
apk_decompiled/sources/kotlin/random/KotlinRandom.java
Normal file
83
apk_decompiled/sources/kotlin/random/KotlinRandom.java
Normal file
@@ -0,0 +1,83 @@
|
||||
package kotlin.random;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000B\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\u0004\b\u0002\u0018\u0000 \u001b2\u00020\u0001:\u0001\u001bB\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0010\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0014J\b\u0010\f\u001a\u00020\bH\u0016J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\u0014H\u0016J\b\u0010\u0015\u001a\u00020\nH\u0016J\u0010\u0010\u0015\u001a\u00020\n2\u0006\u0010\u0016\u001a\u00020\nH\u0016J\b\u0010\u0017\u001a\u00020\u0018H\u0016J\u0010\u0010\u0019\u001a\u00020\u000e2\u0006\u0010\u001a\u001a\u00020\u0018H\u0016R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006R\u000e\u0010\u0007\u001a\u00020\bX\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u001c"}, d2 = {"Lkotlin/random/KotlinRandom;", "Ljava/util/Random;", "impl", "Lkotlin/random/Random;", "(Lkotlin/random/Random;)V", "getImpl", "()Lkotlin/random/Random;", "seedInitialized", "", "next", "", "bits", "nextBoolean", "nextBytes", "", "bytes", "", "nextDouble", "", "nextFloat", "", "nextInt", "bound", "nextLong", "", "setSeed", "seed", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class KotlinRandom extends java.util.Random {
|
||||
private static final Companion Companion = new Companion(null);
|
||||
private static final long serialVersionUID = 0;
|
||||
private final Random impl;
|
||||
private boolean seedInitialized;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/KotlinRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
public KotlinRandom(Random impl) {
|
||||
Intrinsics.checkNotNullParameter(impl, "impl");
|
||||
this.impl = impl;
|
||||
}
|
||||
|
||||
public final Random getImpl() {
|
||||
return this.impl;
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public int next(int bits) {
|
||||
return this.impl.nextBits(bits);
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public boolean nextBoolean() {
|
||||
return this.impl.nextBoolean();
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public void nextBytes(byte[] bytes) {
|
||||
Intrinsics.checkNotNullParameter(bytes, "bytes");
|
||||
this.impl.nextBytes(bytes);
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public double nextDouble() {
|
||||
return this.impl.nextDouble();
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public float nextFloat() {
|
||||
return this.impl.nextFloat();
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public int nextInt() {
|
||||
return this.impl.nextInt();
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public long nextLong() {
|
||||
return this.impl.nextLong();
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public void setSeed(long seed) {
|
||||
if (this.seedInitialized) {
|
||||
throw new UnsupportedOperationException("Setting seed is not supported.");
|
||||
}
|
||||
this.seedInitialized = true;
|
||||
}
|
||||
|
||||
@Override // java.util.Random
|
||||
public int nextInt(int bound) {
|
||||
return this.impl.nextInt(bound);
|
||||
}
|
||||
}
|
||||
35
apk_decompiled/sources/kotlin/random/PlatformRandom.java
Normal file
35
apk_decompiled/sources/kotlin/random/PlatformRandom.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package kotlin.random;
|
||||
|
||||
import java.io.Serializable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0002\u0018\u0000 \t2\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\tB\r\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006R\u0014\u0010\u0004\u001a\u00020\u0005X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\b¨\u0006\n"}, d2 = {"Lkotlin/random/PlatformRandom;", "Lkotlin/random/AbstractPlatformRandom;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "impl", "Ljava/util/Random;", "(Ljava/util/Random;)V", "getImpl", "()Ljava/util/Random;", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class PlatformRandom extends AbstractPlatformRandom implements Serializable {
|
||||
private static final Companion Companion = new Companion(null);
|
||||
private static final long serialVersionUID = 0;
|
||||
private final java.util.Random impl;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/PlatformRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
public PlatformRandom(java.util.Random impl) {
|
||||
Intrinsics.checkNotNullParameter(impl, "impl");
|
||||
this.impl = impl;
|
||||
}
|
||||
|
||||
@Override // kotlin.random.AbstractPlatformRandom
|
||||
public java.util.Random getImpl() {
|
||||
return this.impl;
|
||||
}
|
||||
}
|
||||
36
apk_decompiled/sources/kotlin/random/PlatformRandomKt.java
Normal file
36
apk_decompiled/sources/kotlin/random/PlatformRandomKt.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package kotlin.random;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.InlineOnly;
|
||||
import kotlin.internal.PlatformImplementationsKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\t\u0010\u0000\u001a\u00020\u0001H\u0081\b\u001a\u0018\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0005H\u0000\u001a\f\u0010\u0007\u001a\u00020\b*\u00020\u0001H\u0007\u001a\f\u0010\t\u001a\u00020\u0001*\u00020\bH\u0007¨\u0006\n"}, d2 = {"defaultPlatformRandom", "Lkotlin/random/Random;", "doubleFromParts", "", "hi26", "", "low27", "asJavaRandom", "Ljava/util/Random;", "asKotlinRandom", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class PlatformRandomKt {
|
||||
@SinceKotlin(version = "1.3")
|
||||
public static final java.util.Random asJavaRandom(Random random) {
|
||||
java.util.Random impl;
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
AbstractPlatformRandom abstractPlatformRandom = random instanceof AbstractPlatformRandom ? (AbstractPlatformRandom) random : null;
|
||||
return (abstractPlatformRandom == null || (impl = abstractPlatformRandom.getImpl()) == null) ? new KotlinRandom(random) : impl;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
public static final Random asKotlinRandom(java.util.Random random) {
|
||||
Random impl;
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
KotlinRandom kotlinRandom = random instanceof KotlinRandom ? (KotlinRandom) random : null;
|
||||
return (kotlinRandom == null || (impl = kotlinRandom.getImpl()) == null) ? new PlatformRandom(random) : impl;
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final Random defaultPlatformRandom() {
|
||||
return PlatformImplementationsKt.IMPLEMENTATIONS.defaultPlatformRandom();
|
||||
}
|
||||
|
||||
public static final double doubleFromParts(int i, int i4) {
|
||||
return ((i << 27) + i4) / 9.007199254740992E15d;
|
||||
}
|
||||
}
|
||||
296
apk_decompiled/sources/kotlin/random/Random.java
Normal file
296
apk_decompiled/sources/kotlin/random/Random.java
Normal file
@@ -0,0 +1,296 @@
|
||||
package kotlin.random;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.messaging.Constants;
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
|
||||
import java.io.Serializable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.PlatformImplementationsKt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlin.ranges.IntRange;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0005\n\u0002\u0010\u0006\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0002\b'\u0018\u0000 \u00172\u00020\u0001:\u0001\u0017B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0004H&J\b\u0010\u0006\u001a\u00020\u0007H\u0016J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\tH\u0016J$\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\t2\b\b\u0002\u0010\u000b\u001a\u00020\u00042\b\b\u0002\u0010\f\u001a\u00020\u0004H\u0016J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\r\u001a\u00020\u0004H\u0016J\b\u0010\u000e\u001a\u00020\u000fH\u0016J\u0010\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000fH\u0016J\u0018\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0011\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000fH\u0016J\b\u0010\u0012\u001a\u00020\u0013H\u0016J\b\u0010\u0014\u001a\u00020\u0004H\u0016J\u0010\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u0004H\u0016J\u0018\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u0011\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u0004H\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\u0010\u0010\u0015\u001a\u00020\u00162\u0006\u0010\u0010\u001a\u00020\u0016H\u0016J\u0018\u0010\u0015\u001a\u00020\u00162\u0006\u0010\u0011\u001a\u00020\u00162\u0006\u0010\u0010\u001a\u00020\u0016H\u0016¨\u0006\u0018"}, d2 = {"Lkotlin/random/Random;", "", "()V", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "fromIndex", "toIndex", "size", "nextDouble", "", "until", Constants.MessagePayloadKeys.FROM, "nextFloat", "", "nextInt", "nextLong", "", "Default", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Random.kt\nkotlin/random/Random\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,383:1\n1#2:384\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class Random {
|
||||
|
||||
/* renamed from: Default, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private static final Random defaultRandom = PlatformImplementationsKt.IMPLEMENTATIONS.defaultPlatformRandom();
|
||||
|
||||
@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0005\n\u0002\u0010\u0006\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\u001cB\u0007\b\u0002¢\u0006\u0002\u0010\u0004J\u0010\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u0007H\u0016J\b\u0010\t\u001a\u00020\nH\u0016J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\fH\u0016J \u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\f2\u0006\u0010\u000e\u001a\u00020\u00072\u0006\u0010\u000f\u001a\u00020\u0007H\u0016J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\u0010\u001a\u00020\u0007H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\u0010\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u0012H\u0016J\u0018\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0014\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u0012H\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\b\u0010\u0017\u001a\u00020\u0007H\u0016J\u0010\u0010\u0017\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\u0007H\u0016J\u0018\u0010\u0017\u001a\u00020\u00072\u0006\u0010\u0014\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\u0007H\u0016J\b\u0010\u0018\u001a\u00020\u0019H\u0016J\u0010\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u0013\u001a\u00020\u0019H\u0016J\u0018\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u0014\u001a\u00020\u00192\u0006\u0010\u0013\u001a\u00020\u0019H\u0016J\b\u0010\u001a\u001a\u00020\u001bH\u0002R\u000e\u0010\u0005\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u001d"}, d2 = {"Lkotlin/random/Random$Default;", "Lkotlin/random/Random;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "defaultRandom", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "fromIndex", "toIndex", "size", "nextDouble", "", "until", Constants.MessagePayloadKeys.FROM, "nextFloat", "", "nextInt", "nextLong", "", "writeReplace", "", "Serialized", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* renamed from: kotlin.random.Random$Default, reason: from kotlin metadata */
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion extends Random implements Serializable {
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u0000\n\u0000\bÂ\u0002\u0018\u00002\u00060\u0001j\u0002`\u0002B\u0007\b\u0002¢\u0006\u0002\u0010\u0003J\b\u0010\u0006\u001a\u00020\u0007H\u0002R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082T¢\u0006\u0002\n\u0000¨\u0006\b"}, d2 = {"Lkotlin/random/Random$Default$Serialized;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "serialVersionUID", "", "readResolve", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* renamed from: kotlin.random.Random$Default$Serialized */
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Serialized implements Serializable {
|
||||
public static final Serialized INSTANCE = new Serialized();
|
||||
private static final long serialVersionUID = 0;
|
||||
|
||||
private Serialized() {
|
||||
}
|
||||
|
||||
private final Object readResolve() {
|
||||
return Random.INSTANCE;
|
||||
}
|
||||
}
|
||||
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private final Object writeReplace() {
|
||||
return Serialized.INSTANCE;
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextBits(int bitCount) {
|
||||
return Random.defaultRandom.nextBits(bitCount);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public boolean nextBoolean() {
|
||||
return Random.defaultRandom.nextBoolean();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public byte[] nextBytes(byte[] array) {
|
||||
Intrinsics.checkNotNullParameter(array, "array");
|
||||
return Random.defaultRandom.nextBytes(array);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public double nextDouble() {
|
||||
return Random.defaultRandom.nextDouble();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public float nextFloat() {
|
||||
return Random.defaultRandom.nextFloat();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt() {
|
||||
return Random.defaultRandom.nextInt();
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public long nextLong() {
|
||||
return Random.defaultRandom.nextLong();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public byte[] nextBytes(int size) {
|
||||
return Random.defaultRandom.nextBytes(size);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public double nextDouble(double until) {
|
||||
return Random.defaultRandom.nextDouble(until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt(int until) {
|
||||
return Random.defaultRandom.nextInt(until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public long nextLong(long until) {
|
||||
return Random.defaultRandom.nextLong(until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public byte[] nextBytes(byte[] array, int fromIndex, int toIndex) {
|
||||
Intrinsics.checkNotNullParameter(array, "array");
|
||||
return Random.defaultRandom.nextBytes(array, fromIndex, toIndex);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public double nextDouble(double from, double until) {
|
||||
return Random.defaultRandom.nextDouble(from, until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt(int from, int until) {
|
||||
return Random.defaultRandom.nextInt(from, until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public long nextLong(long from, long until) {
|
||||
return Random.defaultRandom.nextLong(from, until);
|
||||
}
|
||||
}
|
||||
|
||||
public static /* synthetic */ byte[] nextBytes$default(Random random, byte[] bArr, int i, int i4, int i5, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: nextBytes");
|
||||
}
|
||||
if ((i5 & 2) != 0) {
|
||||
i = 0;
|
||||
}
|
||||
if ((i5 & 4) != 0) {
|
||||
i4 = bArr.length;
|
||||
}
|
||||
return random.nextBytes(bArr, i, i4);
|
||||
}
|
||||
|
||||
public abstract int nextBits(int bitCount);
|
||||
|
||||
public boolean nextBoolean() {
|
||||
return nextBits(1) != 0;
|
||||
}
|
||||
|
||||
public byte[] nextBytes(byte[] array, int fromIndex, int toIndex) {
|
||||
Intrinsics.checkNotNullParameter(array, "array");
|
||||
if (!new IntRange(0, array.length).contains(fromIndex) || !new IntRange(0, array.length).contains(toIndex)) {
|
||||
StringBuilder sb = new StringBuilder("fromIndex (");
|
||||
sb.append(fromIndex);
|
||||
sb.append(") or toIndex (");
|
||||
sb.append(toIndex);
|
||||
sb.append(") are out of range: 0..");
|
||||
throw new IllegalArgumentException(w.p(sb, array.length, '.').toString());
|
||||
}
|
||||
if (fromIndex <= toIndex) {
|
||||
int i = (toIndex - fromIndex) / 4;
|
||||
for (int i4 = 0; i4 < i; i4++) {
|
||||
int nextInt = nextInt();
|
||||
array[fromIndex] = (byte) nextInt;
|
||||
array[fromIndex + 1] = (byte) (nextInt >>> 8);
|
||||
array[fromIndex + 2] = (byte) (nextInt >>> 16);
|
||||
array[fromIndex + 3] = (byte) (nextInt >>> 24);
|
||||
fromIndex += 4;
|
||||
}
|
||||
int i5 = toIndex - fromIndex;
|
||||
int nextBits = nextBits(i5 * 8);
|
||||
for (int i6 = 0; i6 < i5; i6++) {
|
||||
array[fromIndex + i6] = (byte) (nextBits >>> (i6 * 8));
|
||||
}
|
||||
return array;
|
||||
}
|
||||
throw new IllegalArgumentException(("fromIndex (" + fromIndex + ") must be not greater than toIndex (" + toIndex + ").").toString());
|
||||
}
|
||||
|
||||
public double nextDouble() {
|
||||
return PlatformRandomKt.doubleFromParts(nextBits(26), nextBits(27));
|
||||
}
|
||||
|
||||
public float nextFloat() {
|
||||
return nextBits(24) / 1.6777216E7f;
|
||||
}
|
||||
|
||||
public int nextInt() {
|
||||
return nextBits(32);
|
||||
}
|
||||
|
||||
public long nextLong() {
|
||||
return (nextInt() << 32) + nextInt();
|
||||
}
|
||||
|
||||
public double nextDouble(double until) {
|
||||
return nextDouble(FirebaseRemoteConfig.DEFAULT_VALUE_FOR_DOUBLE, until);
|
||||
}
|
||||
|
||||
public int nextInt(int until) {
|
||||
return nextInt(0, until);
|
||||
}
|
||||
|
||||
public long nextLong(long until) {
|
||||
return nextLong(0L, until);
|
||||
}
|
||||
|
||||
public double nextDouble(double from, double until) {
|
||||
double nextDouble;
|
||||
RandomKt.checkRangeBounds(from, until);
|
||||
double d4 = until - from;
|
||||
if (Double.isInfinite(d4) && !Double.isInfinite(from) && !Double.isNaN(from) && !Double.isInfinite(until) && !Double.isNaN(until)) {
|
||||
double d5 = 2;
|
||||
double nextDouble2 = ((until / d5) - (from / d5)) * nextDouble();
|
||||
nextDouble = from + nextDouble2 + nextDouble2;
|
||||
} else {
|
||||
nextDouble = from + (nextDouble() * d4);
|
||||
}
|
||||
return nextDouble >= until ? Math.nextAfter(until, Double.NEGATIVE_INFINITY) : nextDouble;
|
||||
}
|
||||
|
||||
public int nextInt(int from, int until) {
|
||||
int nextInt;
|
||||
int i;
|
||||
int i4;
|
||||
RandomKt.checkRangeBounds(from, until);
|
||||
int i5 = until - from;
|
||||
if (i5 > 0 || i5 == Integer.MIN_VALUE) {
|
||||
if (((-i5) & i5) == i5) {
|
||||
i4 = nextBits(RandomKt.fastLog2(i5));
|
||||
return from + i4;
|
||||
}
|
||||
do {
|
||||
nextInt = nextInt() >>> 1;
|
||||
i = nextInt % i5;
|
||||
} while ((i5 - 1) + (nextInt - i) < 0);
|
||||
i4 = i;
|
||||
return from + i4;
|
||||
}
|
||||
while (true) {
|
||||
int nextInt2 = nextInt();
|
||||
if (from <= nextInt2 && nextInt2 < until) {
|
||||
return nextInt2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public long nextLong(long from, long until) {
|
||||
long nextLong;
|
||||
long j4;
|
||||
long j5;
|
||||
int nextInt;
|
||||
RandomKt.checkRangeBounds(from, until);
|
||||
long j6 = until - from;
|
||||
if (j6 > 0) {
|
||||
if (((-j6) & j6) == j6) {
|
||||
int i = (int) j6;
|
||||
int i4 = (int) (j6 >>> 32);
|
||||
if (i != 0) {
|
||||
nextInt = nextBits(RandomKt.fastLog2(i));
|
||||
} else if (i4 == 1) {
|
||||
nextInt = nextInt();
|
||||
} else {
|
||||
j5 = (nextBits(RandomKt.fastLog2(i4)) << 32) + (nextInt() & 4294967295L);
|
||||
return from + j5;
|
||||
}
|
||||
j5 = nextInt & 4294967295L;
|
||||
return from + j5;
|
||||
}
|
||||
do {
|
||||
nextLong = nextLong() >>> 1;
|
||||
j4 = nextLong % j6;
|
||||
} while ((j6 - 1) + (nextLong - j4) < 0);
|
||||
j5 = j4;
|
||||
return from + j5;
|
||||
}
|
||||
while (true) {
|
||||
long nextLong2 = nextLong();
|
||||
if (from <= nextLong2 && nextLong2 < until) {
|
||||
return nextLong2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] nextBytes(byte[] array) {
|
||||
Intrinsics.checkNotNullParameter(array, "array");
|
||||
return nextBytes(array, 0, array.length);
|
||||
}
|
||||
|
||||
public byte[] nextBytes(int size) {
|
||||
return nextBytes(new byte[size]);
|
||||
}
|
||||
}
|
||||
77
apk_decompiled/sources/kotlin/random/RandomKt.java
Normal file
77
apk_decompiled/sources/kotlin/random/RandomKt.java
Normal file
@@ -0,0 +1,77 @@
|
||||
package kotlin.random;
|
||||
|
||||
import com.google.firebase.messaging.Constants;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.LongCompanionObject;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlin.ranges.IntRange;
|
||||
import kotlin.ranges.LongRange;
|
||||
|
||||
@Metadata(d1 = {"\u0000:\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\u0010\u0006\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a\u0010\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u001a\u0010\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0004H\u0007\u001a\u0018\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\f2\u0006\u0010\t\u001a\u00020\fH\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\u00032\u0006\u0010\t\u001a\u00020\u0003H\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0004H\u0000\u001a\u0010\u0010\r\u001a\u00020\u00032\u0006\u0010\u000e\u001a\u00020\u0003H\u0000\u001a\u0014\u0010\u000f\u001a\u00020\u0003*\u00020\u00012\u0006\u0010\u0010\u001a\u00020\u0011H\u0007\u001a\u0014\u0010\u0012\u001a\u00020\u0004*\u00020\u00012\u0006\u0010\u0010\u001a\u00020\u0013H\u0007\u001a\u0014\u0010\u0014\u001a\u00020\u0003*\u00020\u00032\u0006\u0010\u0015\u001a\u00020\u0003H\u0000¨\u0006\u0016"}, d2 = {"Random", "Lkotlin/random/Random;", "seed", "", "", "boundsErrorMessage", "", Constants.MessagePayloadKeys.FROM, "", "until", "checkRangeBounds", "", "", "fastLog2", "value", "nextInt", "range", "Lkotlin/ranges/IntRange;", "nextLong", "Lkotlin/ranges/LongRange;", "takeUpperBits", "bitCount", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Random.kt\nkotlin/random/RandomKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,383:1\n1#2:384\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class RandomKt {
|
||||
@SinceKotlin(version = "1.3")
|
||||
public static final Random Random(int i) {
|
||||
return new XorWowRandom(i, i >> 31);
|
||||
}
|
||||
|
||||
public static final String boundsErrorMessage(Object from, Object until) {
|
||||
Intrinsics.checkNotNullParameter(from, "from");
|
||||
Intrinsics.checkNotNullParameter(until, "until");
|
||||
return "Random range is empty: [" + from + ", " + until + ").";
|
||||
}
|
||||
|
||||
public static final void checkRangeBounds(int i, int i4) {
|
||||
if (i4 <= i) {
|
||||
throw new IllegalArgumentException(boundsErrorMessage(Integer.valueOf(i), Integer.valueOf(i4)).toString());
|
||||
}
|
||||
}
|
||||
|
||||
public static final int fastLog2(int i) {
|
||||
return 31 - Integer.numberOfLeadingZeros(i);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
public static final int nextInt(Random random, IntRange range) {
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
Intrinsics.checkNotNullParameter(range, "range");
|
||||
if (!range.isEmpty()) {
|
||||
return range.getLast() < Integer.MAX_VALUE ? random.nextInt(range.getFirst(), range.getLast() + 1) : range.getFirst() > Integer.MIN_VALUE ? random.nextInt(range.getFirst() - 1, range.getLast()) + 1 : random.nextInt();
|
||||
}
|
||||
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
public static final long nextLong(Random random, LongRange range) {
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
Intrinsics.checkNotNullParameter(range, "range");
|
||||
if (!range.isEmpty()) {
|
||||
return range.getLast() < LongCompanionObject.MAX_VALUE ? random.nextLong(range.getFirst(), range.getLast() + 1) : range.getFirst() > Long.MIN_VALUE ? random.nextLong(range.getFirst() - 1, range.getLast()) + 1 : random.nextLong();
|
||||
}
|
||||
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
|
||||
}
|
||||
|
||||
public static final int takeUpperBits(int i, int i4) {
|
||||
return (i >>> (32 - i4)) & ((-i4) >> 31);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
public static final Random Random(long j4) {
|
||||
return new XorWowRandom((int) j4, (int) (j4 >> 32));
|
||||
}
|
||||
|
||||
public static final void checkRangeBounds(long j4, long j5) {
|
||||
if (j5 <= j4) {
|
||||
throw new IllegalArgumentException(boundsErrorMessage(Long.valueOf(j4), Long.valueOf(j5)).toString());
|
||||
}
|
||||
}
|
||||
|
||||
public static final void checkRangeBounds(double d4, double d5) {
|
||||
if (d5 <= d4) {
|
||||
throw new IllegalArgumentException(boundsErrorMessage(Double.valueOf(d4), Double.valueOf(d5)).toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
149
apk_decompiled/sources/kotlin/random/URandomKt.java
Normal file
149
apk_decompiled/sources/kotlin/random/URandomKt.java
Normal file
@@ -0,0 +1,149 @@
|
||||
package kotlin.random;
|
||||
|
||||
import com.google.firebase.messaging.Constants;
|
||||
import kotlin.ExperimentalUnsignedTypes;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.UByteArray;
|
||||
import kotlin.UInt;
|
||||
import kotlin.ULong;
|
||||
import kotlin.WasExperimental;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlin.ranges.UIntRange;
|
||||
import kotlin.ranges.ULongRange;
|
||||
|
||||
@Metadata(d1 = {"\u0000:\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u000f\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\u001f\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0003H\u0000¢\u0006\u0004\b\u0005\u0010\u0006\u001a\u001f\u0010\u0007\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\b2\u0006\u0010\u0004\u001a\u00020\bH\u0000¢\u0006\u0004\b\t\u0010\n\u001a\u0019\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u000e\u001a\u00020\u000fH\u0007¢\u0006\u0002\u0010\u0010\u001a\u001b\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u0011\u001a\u00020\fH\u0007¢\u0006\u0004\b\u0012\u0010\u0013\u001a/\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u0011\u001a\u00020\f2\b\b\u0002\u0010\u0014\u001a\u00020\u000f2\b\b\u0002\u0010\u0015\u001a\u00020\u000fH\u0007¢\u0006\u0004\b\u0016\u0010\u0017\u001a\u0011\u0010\u0018\u001a\u00020\u0003*\u00020\rH\u0007¢\u0006\u0002\u0010\u0019\u001a\u001b\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u0004\u001a\u00020\u0003H\u0007¢\u0006\u0004\b\u001a\u0010\u001b\u001a#\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0003H\u0007¢\u0006\u0004\b\u001c\u0010\u001d\u001a\u0019\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u001e\u001a\u00020\u001fH\u0007¢\u0006\u0002\u0010 \u001a\u0011\u0010!\u001a\u00020\b*\u00020\rH\u0007¢\u0006\u0002\u0010\"\u001a\u001b\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u0004\u001a\u00020\bH\u0007¢\u0006\u0004\b#\u0010$\u001a#\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u0002\u001a\u00020\b2\u0006\u0010\u0004\u001a\u00020\bH\u0007¢\u0006\u0004\b%\u0010&\u001a\u0019\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u001e\u001a\u00020'H\u0007¢\u0006\u0002\u0010(¨\u0006)"}, d2 = {"checkUIntRangeBounds", "", Constants.MessagePayloadKeys.FROM, "Lkotlin/UInt;", "until", "checkUIntRangeBounds-J1ME1BU", "(II)V", "checkULongRangeBounds", "Lkotlin/ULong;", "checkULongRangeBounds-eb3DHEI", "(JJ)V", "nextUBytes", "Lkotlin/UByteArray;", "Lkotlin/random/Random;", "size", "", "(Lkotlin/random/Random;I)[B", "array", "nextUBytes-EVgfTAA", "(Lkotlin/random/Random;[B)[B", "fromIndex", "toIndex", "nextUBytes-Wvrt4B4", "(Lkotlin/random/Random;[BII)[B", "nextUInt", "(Lkotlin/random/Random;)I", "nextUInt-qCasIEU", "(Lkotlin/random/Random;I)I", "nextUInt-a8DCA5k", "(Lkotlin/random/Random;II)I", "range", "Lkotlin/ranges/UIntRange;", "(Lkotlin/random/Random;Lkotlin/ranges/UIntRange;)I", "nextULong", "(Lkotlin/random/Random;)J", "nextULong-V1Xi4fY", "(Lkotlin/random/Random;J)J", "nextULong-jmpaW-c", "(Lkotlin/random/Random;JJ)J", "Lkotlin/ranges/ULongRange;", "(Lkotlin/random/Random;Lkotlin/ranges/ULongRange;)J", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nURandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 URandom.kt\nkotlin/random/URandomKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,155:1\n1#2:156\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class URandomKt {
|
||||
/* renamed from: checkUIntRangeBounds-J1ME1BU, reason: not valid java name */
|
||||
public static final void m1329checkUIntRangeBoundsJ1ME1BU(int i, int i4) {
|
||||
if (Integer.compareUnsigned(i4, i) <= 0) {
|
||||
throw new IllegalArgumentException(RandomKt.boundsErrorMessage(UInt.m205boximpl(i), UInt.m205boximpl(i4)).toString());
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: checkULongRangeBounds-eb3DHEI, reason: not valid java name */
|
||||
public static final void m1330checkULongRangeBoundseb3DHEI(long j4, long j5) {
|
||||
if (Long.compareUnsigned(j5, j4) <= 0) {
|
||||
throw new IllegalArgumentException(RandomKt.boundsErrorMessage(ULong.m284boximpl(j4), ULong.m284boximpl(j5)).toString());
|
||||
}
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ExperimentalUnsignedTypes
|
||||
public static final byte[] nextUBytes(Random random, int i) {
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
return UByteArray.m187constructorimpl(random.nextBytes(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ExperimentalUnsignedTypes
|
||||
/* renamed from: nextUBytes-EVgfTAA, reason: not valid java name */
|
||||
public static final byte[] m1331nextUBytesEVgfTAA(Random nextUBytes, byte[] array) {
|
||||
Intrinsics.checkNotNullParameter(nextUBytes, "$this$nextUBytes");
|
||||
Intrinsics.checkNotNullParameter(array, "array");
|
||||
nextUBytes.nextBytes(array);
|
||||
return array;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ExperimentalUnsignedTypes
|
||||
/* renamed from: nextUBytes-Wvrt4B4, reason: not valid java name */
|
||||
public static final byte[] m1332nextUBytesWvrt4B4(Random nextUBytes, byte[] array, int i, int i4) {
|
||||
Intrinsics.checkNotNullParameter(nextUBytes, "$this$nextUBytes");
|
||||
Intrinsics.checkNotNullParameter(array, "array");
|
||||
nextUBytes.nextBytes(array, i, i4);
|
||||
return array;
|
||||
}
|
||||
|
||||
/* renamed from: nextUBytes-Wvrt4B4$default, reason: not valid java name */
|
||||
public static /* synthetic */ byte[] m1333nextUBytesWvrt4B4$default(Random random, byte[] bArr, int i, int i4, int i5, Object obj) {
|
||||
if ((i5 & 2) != 0) {
|
||||
i = 0;
|
||||
}
|
||||
if ((i5 & 4) != 0) {
|
||||
i4 = UByteArray.m193getSizeimpl(bArr);
|
||||
}
|
||||
return m1332nextUBytesWvrt4B4(random, bArr, i, i4);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final int nextUInt(Random random) {
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
return UInt.m211constructorimpl(random.nextInt());
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: nextUInt-a8DCA5k, reason: not valid java name */
|
||||
public static final int m1334nextUInta8DCA5k(Random nextUInt, int i, int i4) {
|
||||
Intrinsics.checkNotNullParameter(nextUInt, "$this$nextUInt");
|
||||
m1329checkUIntRangeBoundsJ1ME1BU(i, i4);
|
||||
return UInt.m211constructorimpl(nextUInt.nextInt(i ^ IntCompanionObject.MIN_VALUE, i4 ^ IntCompanionObject.MIN_VALUE) ^ IntCompanionObject.MIN_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: nextUInt-qCasIEU, reason: not valid java name */
|
||||
public static final int m1335nextUIntqCasIEU(Random nextUInt, int i) {
|
||||
Intrinsics.checkNotNullParameter(nextUInt, "$this$nextUInt");
|
||||
return m1334nextUInta8DCA5k(nextUInt, 0, i);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final long nextULong(Random random) {
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
return ULong.m290constructorimpl(random.nextLong());
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: nextULong-V1Xi4fY, reason: not valid java name */
|
||||
public static final long m1336nextULongV1Xi4fY(Random nextULong, long j4) {
|
||||
Intrinsics.checkNotNullParameter(nextULong, "$this$nextULong");
|
||||
return m1337nextULongjmpaWc(nextULong, 0L, j4);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: nextULong-jmpaW-c, reason: not valid java name */
|
||||
public static final long m1337nextULongjmpaWc(Random nextULong, long j4, long j5) {
|
||||
Intrinsics.checkNotNullParameter(nextULong, "$this$nextULong");
|
||||
m1330checkULongRangeBoundseb3DHEI(j4, j5);
|
||||
return ULong.m290constructorimpl(nextULong.nextLong(j4 ^ Long.MIN_VALUE, j5 ^ Long.MIN_VALUE) ^ Long.MIN_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final int nextUInt(Random random, UIntRange range) {
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
Intrinsics.checkNotNullParameter(range, "range");
|
||||
if (!range.isEmpty()) {
|
||||
return Integer.compareUnsigned(range.getLast(), -1) < 0 ? m1334nextUInta8DCA5k(random, range.getFirst(), UInt.m211constructorimpl(range.getLast() + 1)) : Integer.compareUnsigned(range.getFirst(), 0) > 0 ? UInt.m211constructorimpl(m1334nextUInta8DCA5k(random, UInt.m211constructorimpl(range.getFirst() - 1), range.getLast()) + 1) : nextUInt(random);
|
||||
}
|
||||
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final long nextULong(Random random, ULongRange range) {
|
||||
Intrinsics.checkNotNullParameter(random, "<this>");
|
||||
Intrinsics.checkNotNullParameter(range, "range");
|
||||
if (!range.isEmpty()) {
|
||||
if (Long.compareUnsigned(range.getLast(), -1L) < 0) {
|
||||
return m1337nextULongjmpaWc(random, range.getFirst(), ULong.m290constructorimpl(ULong.m290constructorimpl(1 & 4294967295L) + range.getLast()));
|
||||
}
|
||||
if (Long.compareUnsigned(range.getFirst(), 0L) <= 0) {
|
||||
return nextULong(random);
|
||||
}
|
||||
long j4 = 1 & 4294967295L;
|
||||
return ULong.m290constructorimpl(ULong.m290constructorimpl(j4) + m1337nextULongjmpaWc(random, ULong.m290constructorimpl(range.getFirst() - ULong.m290constructorimpl(j4)), range.getLast()));
|
||||
}
|
||||
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
|
||||
}
|
||||
}
|
||||
72
apk_decompiled/sources/kotlin/random/XorWowRandom.java
Normal file
72
apk_decompiled/sources/kotlin/random/XorWowRandom.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package kotlin.random;
|
||||
|
||||
import com.adif.elcanomovil.widget.DefaultWidgetPayloadHandler;
|
||||
import java.io.Serializable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u000e\b\u0000\u0018\u0000 \u00122\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\u0012B\u0017\b\u0010\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0005¢\u0006\u0002\u0010\u0007B7\b\u0000\u0012\u0006\u0010\b\u001a\u00020\u0005\u0012\u0006\u0010\t\u001a\u00020\u0005\u0012\u0006\u0010\n\u001a\u00020\u0005\u0012\u0006\u0010\u000b\u001a\u00020\u0005\u0012\u0006\u0010\f\u001a\u00020\u0005\u0012\u0006\u0010\r\u001a\u00020\u0005¢\u0006\u0002\u0010\u000eJ\u0010\u0010\u000f\u001a\u00020\u00052\u0006\u0010\u0010\u001a\u00020\u0005H\u0016J\b\u0010\u0011\u001a\u00020\u0005H\u0016R\u000e\u0010\r\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u0013"}, d2 = {"Lkotlin/random/XorWowRandom;", "Lkotlin/random/Random;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "seed1", "", "seed2", "(II)V", "x", "y", "z", DefaultWidgetPayloadHandler.IS_WIDGET_JSON_TYPE, "v", "addend", "(IIIIII)V", "nextBits", "bitCount", "nextInt", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nXorWowRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 XorWowRandom.kt\nkotlin/random/XorWowRandom\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,60:1\n1#2:61\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class XorWowRandom extends Random implements Serializable {
|
||||
private static final Companion Companion = new Companion(null);
|
||||
private static final long serialVersionUID = 0;
|
||||
private int addend;
|
||||
private int v;
|
||||
private int w;
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/XorWowRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
public XorWowRandom(int i, int i4, int i5, int i6, int i7, int i8) {
|
||||
this.x = i;
|
||||
this.y = i4;
|
||||
this.z = i5;
|
||||
this.w = i6;
|
||||
this.v = i7;
|
||||
this.addend = i8;
|
||||
if ((i | i4 | i5 | i6 | i7) == 0) {
|
||||
throw new IllegalArgumentException("Initial state must have at least one non-zero element.");
|
||||
}
|
||||
for (int i9 = 0; i9 < 64; i9++) {
|
||||
nextInt();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextBits(int bitCount) {
|
||||
return RandomKt.takeUpperBits(nextInt(), bitCount);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt() {
|
||||
int i = this.x;
|
||||
int i4 = i ^ (i >>> 2);
|
||||
this.x = this.y;
|
||||
this.y = this.z;
|
||||
this.z = this.w;
|
||||
int i5 = this.v;
|
||||
this.w = i5;
|
||||
int i6 = ((i4 ^ (i4 << 1)) ^ i5) ^ (i5 << 4);
|
||||
this.v = i6;
|
||||
int i7 = this.addend + 362437;
|
||||
this.addend = i7;
|
||||
return i6 + i7;
|
||||
}
|
||||
|
||||
public XorWowRandom(int i, int i4) {
|
||||
this(i, i4, 0, 0, ~i, (i << 10) ^ (i4 >>> 4));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package kotlin.random.jdk8;
|
||||
|
||||
import com.google.firebase.messaging.Constants;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.random.AbstractPlatformRandom;
|
||||
|
||||
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0006\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0016J\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\u000b2\u0006\u0010\t\u001a\u00020\u000bH\u0016J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\t\u001a\u00020\u000eH\u0016J\u0018\u0010\r\u001a\u00020\u000e2\u0006\u0010\f\u001a\u00020\u000e2\u0006\u0010\t\u001a\u00020\u000eH\u0016R\u0014\u0010\u0003\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u000f"}, d2 = {"Lkotlin/random/jdk8/PlatformThreadLocalRandom;", "Lkotlin/random/AbstractPlatformRandom;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "nextDouble", "", "until", "nextInt", "", Constants.MessagePayloadKeys.FROM, "nextLong", "", "kotlin-stdlib-jdk8"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class PlatformThreadLocalRandom extends AbstractPlatformRandom {
|
||||
@Override // kotlin.random.AbstractPlatformRandom
|
||||
public Random getImpl() {
|
||||
ThreadLocalRandom current = ThreadLocalRandom.current();
|
||||
Intrinsics.checkNotNullExpressionValue(current, "current(...)");
|
||||
return current;
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public double nextDouble(double until) {
|
||||
return ThreadLocalRandom.current().nextDouble(until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt(int from, int until) {
|
||||
return ThreadLocalRandom.current().nextInt(from, until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public long nextLong(long until) {
|
||||
return ThreadLocalRandom.current().nextLong(until);
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public long nextLong(long from, long until) {
|
||||
return ThreadLocalRandom.current().nextLong(from, until);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user