125 lines
3.7 KiB
Java
125 lines
3.7 KiB
Java
|
package zg;
|
||
|
|
||
|
import kotlin.jvm.internal.k;
|
||
|
import kotlin.jvm.internal.s;
|
||
|
import kotlinx.serialization.descriptors.SerialDescriptor;
|
||
|
import ld.i;
|
||
|
import wd.p;
|
||
|
/* compiled from: ElementMarker.kt */
|
||
|
/* loaded from: classes5.dex */
|
||
|
public final class t {
|
||
|
|
||
|
/* renamed from: e reason: collision with root package name */
|
||
|
private static final a f27488e = new a(null);
|
||
|
@Deprecated
|
||
|
|
||
|
/* renamed from: f reason: collision with root package name */
|
||
|
private static final long[] f27489f = new long[0];
|
||
|
|
||
|
/* renamed from: a reason: collision with root package name */
|
||
|
private final SerialDescriptor f27490a;
|
||
|
|
||
|
/* renamed from: b reason: collision with root package name */
|
||
|
private final p<SerialDescriptor, Integer, Boolean> f27491b;
|
||
|
|
||
|
/* renamed from: c reason: collision with root package name */
|
||
|
private long f27492c;
|
||
|
|
||
|
/* renamed from: d reason: collision with root package name */
|
||
|
private final long[] f27493d;
|
||
|
|
||
|
/* compiled from: ElementMarker.kt */
|
||
|
/* loaded from: classes5.dex */
|
||
|
private static final class a {
|
||
|
private a() {
|
||
|
}
|
||
|
|
||
|
public /* synthetic */ a(k kVar) {
|
||
|
this();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* JADX WARN: Multi-variable type inference failed */
|
||
|
public t(SerialDescriptor descriptor, p<? super SerialDescriptor, ? super Integer, Boolean> readIfAbsent) {
|
||
|
s.e(descriptor, "descriptor");
|
||
|
s.e(readIfAbsent, "readIfAbsent");
|
||
|
this.f27490a = descriptor;
|
||
|
this.f27491b = readIfAbsent;
|
||
|
int e10 = descriptor.e();
|
||
|
long j10 = 0;
|
||
|
if (e10 <= 64) {
|
||
|
this.f27492c = e10 != 64 ? (-1) << e10 : j10;
|
||
|
this.f27493d = f27489f;
|
||
|
return;
|
||
|
}
|
||
|
this.f27492c = 0L;
|
||
|
this.f27493d = e(e10);
|
||
|
}
|
||
|
|
||
|
private final void b(int i10) {
|
||
|
int i11 = (i10 >>> 6) - 1;
|
||
|
long[] jArr = this.f27493d;
|
||
|
jArr[i11] = jArr[i11] | (1 << (i10 & 63));
|
||
|
}
|
||
|
|
||
|
private final int c() {
|
||
|
int length = this.f27493d.length - 1;
|
||
|
if (length >= 0) {
|
||
|
int i10 = 0;
|
||
|
while (true) {
|
||
|
int i11 = i10 + 1;
|
||
|
int i12 = i11 * 64;
|
||
|
long j10 = this.f27493d[i10];
|
||
|
while (j10 != -1) {
|
||
|
int numberOfTrailingZeros = Long.numberOfTrailingZeros(~j10);
|
||
|
j10 |= 1 << numberOfTrailingZeros;
|
||
|
int i13 = numberOfTrailingZeros + i12;
|
||
|
if (this.f27491b.invoke(this.f27490a, Integer.valueOf(i13)).booleanValue()) {
|
||
|
this.f27493d[i10] = j10;
|
||
|
return i13;
|
||
|
}
|
||
|
}
|
||
|
this.f27493d[i10] = j10;
|
||
|
if (i11 > length) {
|
||
|
break;
|
||
|
}
|
||
|
i10 = i11;
|
||
|
}
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
private final long[] e(int i10) {
|
||
|
long[] jArr = new long[(i10 - 1) >>> 6];
|
||
|
if ((i10 & 63) != 0) {
|
||
|
jArr[i.C(jArr)] = (-1) << i10;
|
||
|
}
|
||
|
return jArr;
|
||
|
}
|
||
|
|
||
|
public final void a(int i10) {
|
||
|
if (i10 < 64) {
|
||
|
this.f27492c |= 1 << i10;
|
||
|
} else {
|
||
|
b(i10);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public final int d() {
|
||
|
int numberOfTrailingZeros;
|
||
|
int e10 = this.f27490a.e();
|
||
|
do {
|
||
|
long j10 = this.f27492c;
|
||
|
if (j10 != -1) {
|
||
|
numberOfTrailingZeros = Long.numberOfTrailingZeros(~j10);
|
||
|
this.f27492c |= 1 << numberOfTrailingZeros;
|
||
|
} else if (e10 > 64) {
|
||
|
return c();
|
||
|
} else {
|
||
|
return -1;
|
||
|
}
|
||
|
} while (!this.f27491b.invoke(this.f27490a, Integer.valueOf(numberOfTrailingZeros)).booleanValue());
|
||
|
return numberOfTrailingZeros;
|
||
|
}
|
||
|
}
|