what-the-bank/sources/o/IVe.java

676 lines
26 KiB
Java

package o;
import android.graphics.Color;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.media.AudioTrack;
import android.os.Process;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.ViewConfiguration;
import android.widget.ExpandableListView;
import com.airbnb.deeplinkdispatch.UrlTreeKt;
import com.airbnb.deeplinkdispatch.base.MatchIndex;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.zxing.FormatException;
import com.google.zxing.common.reedsolomon.ReedSolomonException;
import com.huawei.hms.framework.common.ContainerUtils;
import com.huawei.hms.support.hianalytics.HiAnalyticsConstant;
import com.kofax.kmc.kut.utilities.IpLibUtil;
import com.kofax.mobile.sdk._internal.impl.extraction.kta.KtaJsonExactionHelper;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import net.sf.scuba.smartcards.ISO7816;
import net.sf.scuba.smartcards.ISOFileInfo;
/* loaded from: classes2.dex */
public final class IVe {
private static final String[] a;
private static final String[] b;
private static final String[] c;
private static final Charset d;
private static final String[] e;
private static char g;
private static int h;
private static final String[] i;
private static long j;
private static int k;
private aJX f;
private static final byte[] $$a = {ISO7816.INS_CHANGE_CHV, ISOFileInfo.A1, ISO7816.INS_ENVELOPE, -12};
private static final int $$b = 32;
private static int $10 = 0;
private static int $11 = 1;
private static int m = 0;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes2.dex */
public enum Sts {
UPPER,
LOWER,
MIXED,
DIGIT,
PUNCT,
BINARY
}
public static /* synthetic */ Object e(Object[] objArr, int i2, int i3, int i4) {
int i5 = (i2 * (-103)) + (i3 * (-103));
int i6 = ~i2;
int i7 = ~i3;
return ((i5 + (((~(i6 | i7)) | (~(i7 | i4))) * 104)) + ((~(i3 | ((~i4) | i2))) * IpLibUtil.KIPP_BARCODE_DRIVER_FAIL)) + ((i2 | i4) * 104) != 1 ? c(objArr) : e(objArr);
}
private static void n(short s, int i2, int i3, Object[] objArr) {
int i4 = 115 - s;
int i5 = i3 * 3;
int i6 = (i2 * 4) + 4;
byte[] bArr = $$a;
byte[] bArr2 = new byte[1 - i5];
int i7 = 0 - i5;
int i8 = -1;
if (bArr == null) {
i4 += i6;
i6++;
i8 = -1;
}
while (true) {
int i9 = i8 + 1;
bArr2[i9] = (byte) i4;
if (i9 == i7) {
objArr[0] = new String(bArr2, 0);
return;
}
int i10 = i6;
i4 += bArr[i6];
i6 = i10 + 1;
i8 = i9;
}
}
static {
k = 1;
d();
i = new String[]{"CTRL_PS", " ", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "CTRL_LL", "CTRL_ML", "CTRL_DL", "CTRL_BS"};
a = new String[]{"CTRL_PS", " ", "a", "b", "c", KtaJsonExactionHelper.OBJECT, "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", com.pingan.ai.p.a, "q", MatchIndex.ROOT_VALUE, "s", "t", "u", "v", "w", "x", "y", "z", "CTRL_US", "CTRL_ML", "CTRL_DL", "CTRL_BS"};
c = new String[]{"CTRL_PS", " ", "\u0001", "\u0002", "\u0003", "\u0004", "\u0005", "\u0006", "\u0007", "\b", "\t", "\n", "\u000b", "\f", "\r", "\u001b", "\u001c", "\u001d", MatchIndex.MATCH_PARAM_DIVIDER_CHAR, "\u001f", "@", "\\", "^", "_", "`", HiAnalyticsConstant.REPORT_VAL_SEPARATOR, "~", "\u007f", "CTRL_LL", "CTRL_UL", "CTRL_PL", "CTRL_BS"};
e = new String[]{"FLG(n)", "\r", "\r\n", ". ", ", ", ": ", "!", "\"", "#", "$", "%", ContainerUtils.FIELD_DELIMITER, "'", "(", ")", "*", "+", ",", "-", ".", "/", ":", ";", UrlTreeKt.configurablePathSegmentPrefix, ContainerUtils.KEY_VALUE_DELIMITER, UrlTreeKt.configurablePathSegmentSuffix, "?", "[", "]", UrlTreeKt.componentParamPrefix, UrlTreeKt.componentParamSuffix, "CTRL_UL"};
Object[] objArr = new Object[1];
l((char) (11650 - (ViewConfiguration.getWindowTouchSlop() >> 8)), 743223832 + ((Process.getThreadPriority(0) + 20) >> 6), new char[]{6356, 19634, 33324, 65325}, new char[]{49238}, new char[]{57405, 64309, 48750, 42102}, objArr);
String intern = ((String) objArr[0]).intern();
Object[] objArr2 = new Object[1];
l((char) ((ViewConfiguration.getScrollDefaultDelay() >> 16) + 51111), 761367402 + (KeyEvent.getMaxKeyCode() >> 16), new char[]{27138, 24971, 42797, 34503}, new char[]{54851}, new char[]{57405, 64309, 48750, 42102}, objArr2);
String intern2 = ((String) objArr2[0]).intern();
Object[] objArr3 = new Object[1];
l((char) ((TypedValue.complexToFloat(0) > BitmapDescriptorFactory.HUE_RED ? 1 : (TypedValue.complexToFloat(0) == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 10772), (ViewConfiguration.getScrollFriction() > BitmapDescriptorFactory.HUE_RED ? 1 : (ViewConfiguration.getScrollFriction() == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 857407324, new char[]{23839, 6911, 5171, 17450}, new char[]{55579}, new char[]{57405, 64309, 48750, 42102}, objArr3);
b = new String[]{"CTRL_PS", " ", intern, intern2, ((String) objArr3[0]).intern(), "3", "4", "5", "6", "7", "8", "9", ",", ".", "CTRL_UL", "CTRL_US"};
d = StandardCharsets.ISO_8859_1;
int i2 = m + 81;
k = i2 % 128;
if (i2 % 2 == 0) {
throw null;
}
}
public final Qys b(aJX ajx) throws FormatException {
int i2 = 2 % 2;
this.f = ajx;
IeS b2 = b((boolean[]) e(new Object[]{this, ajx.c}, 1204402121, -1204402120, System.identityHashCode(this)));
Qys qys = new Qys(a(b2.e), d(b2.e), String.format("%d%%", Integer.valueOf(b2.d)));
qys.a = b2.e.length;
int i3 = k + 119;
m = i3 % 128;
if (i3 % 2 == 0) {
return qys;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static void l(char c2, int i2, char[] cArr, char[] cArr2, char[] cArr3, Object[] objArr) {
int i3;
int i4 = 2;
int i5 = 2 % 2;
Nhs nhs = new Nhs();
int length = cArr.length;
char[] cArr4 = new char[length];
int length2 = cArr3.length;
char[] cArr5 = new char[length2];
System.arraycopy(cArr, 0, cArr4, 0, length);
System.arraycopy(cArr3, 0, cArr5, 0, length2);
cArr4[0] = (char) (cArr4[0] ^ c2);
cArr5[2] = (char) (cArr5[2] + ((char) i2));
int length3 = cArr2.length;
char[] cArr6 = new char[length3];
nhs.a = 0;
while (nhs.a < length3) {
int i6 = $10 + 47;
$11 = i6 % 128;
int i7 = i6 % i4;
try {
Object[] objArr2 = {nhs};
Object obj = xzZ.y.get(263693715);
if (obj == null) {
obj = ((Class) xzZ.c(46 - (AudioTrack.getMaxVolume() > BitmapDescriptorFactory.HUE_RED ? 1 : (AudioTrack.getMaxVolume() == BitmapDescriptorFactory.HUE_RED ? 0 : -1)), (TypedValue.complexToFloat(0) > BitmapDescriptorFactory.HUE_RED ? 1 : (TypedValue.complexToFloat(0) == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 5, (char) Drawable.resolveOpacity(0, 0))).getMethod("t", Object.class);
xzZ.y.put(263693715, obj);
}
int intValue = ((Integer) ((Method) obj).invoke(null, objArr2)).intValue();
Object[] objArr3 = {nhs};
Object obj2 = xzZ.y.get(-484664112);
if (obj2 == null) {
Class cls = (Class) xzZ.c(Color.green(0) + 352, Drawable.resolveOpacity(0, 0) + 5, (char) (52128 - (PointF.length(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) > BitmapDescriptorFactory.HUE_RED ? 1 : (PointF.length(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) == BitmapDescriptorFactory.HUE_RED ? 0 : -1))));
byte b2 = (byte) 0;
byte b3 = b2;
Object[] objArr4 = new Object[1];
n(b2, b3, b3, objArr4);
obj2 = cls.getMethod((String) objArr4[0], Object.class);
xzZ.y.put(-484664112, obj2);
}
int intValue2 = ((Integer) ((Method) obj2).invoke(null, objArr3)).intValue();
Object[] objArr5 = {nhs, Integer.valueOf(cArr4[nhs.a % 4] * 32718), Integer.valueOf(cArr5[intValue])};
Object obj3 = xzZ.y.get(430099516);
if (obj3 == null) {
obj3 = ((Class) xzZ.c(748 - (ViewConfiguration.getTouchSlop() >> 8), 5 - ExpandableListView.getPackedPositionType(0L), (char) (1 - (Process.getElapsedCpuTime() > 0L ? 1 : (Process.getElapsedCpuTime() == 0L ? 0 : -1))))).getMethod(com.pingan.ai.p.a, Object.class, Integer.TYPE, Integer.TYPE);
xzZ.y.put(430099516, obj3);
}
((Method) obj3).invoke(null, objArr5);
Object[] objArr6 = {Integer.valueOf(cArr4[intValue2] * 32718), Integer.valueOf(cArr5[intValue])};
Object obj4 = xzZ.y.get(1019894806);
if (obj4 != null) {
i3 = 2;
} else {
Class cls2 = (Class) xzZ.c((ExpandableListView.getPackedPositionForChild(0, 0) > 0L ? 1 : (ExpandableListView.getPackedPositionForChild(0, 0) == 0L ? 0 : -1)) + 403, (SystemClock.uptimeMillis() > 0L ? 1 : (SystemClock.uptimeMillis() == 0L ? 0 : -1)) + 4, (char) (21607 - TextUtils.lastIndexOf("", '0')));
byte b4 = (byte) 1;
byte b5 = (byte) (b4 - 1);
Object[] objArr7 = new Object[1];
n(b4, b5, b5, objArr7);
i3 = 2;
obj4 = cls2.getMethod((String) objArr7[0], Integer.TYPE, Integer.TYPE);
xzZ.y.put(1019894806, obj4);
}
cArr5[intValue2] = ((Character) ((Method) obj4).invoke(null, objArr6)).charValue();
cArr4[intValue2] = nhs.c;
cArr6[nhs.a] = (char) ((((cArr4[intValue2] ^ cArr2[nhs.a]) ^ (j ^ 9051040786702654117L)) ^ ((int) (h ^ 9051040786702654117L))) ^ ((char) (g ^ 9051040786702654117L)));
nhs.a++;
int i8 = $10 + 71;
$11 = i8 % 128;
int i9 = i8 % 2;
i4 = i3;
} catch (Throwable th) {
Throwable cause = th.getCause();
if (cause == null) {
throw th;
}
throw cause;
}
}
objArr[0] = new String(cArr6);
}
private static String d(boolean[] zArr) throws FormatException {
int i2 = 2 % 2;
int length = zArr.length;
Sts sts = Sts.UPPER;
Sts sts2 = Sts.UPPER;
StringBuilder sb = new StringBuilder((zArr.length - 5) / 4);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
Charset charset = d;
int i3 = 0;
loop0: while (true) {
Sts sts3 = sts2;
sts2 = sts;
sts = sts3;
while (i3 < length) {
if (sts != Sts.BINARY) {
int i4 = sts == Sts.DIGIT ? 4 : 5;
if (length - i3 >= i4) {
int d2 = d(zArr, i3, i4);
i3 += i4;
String str = (String) e(new Object[]{sts, Integer.valueOf(d2)}, 1745902736, -1745902736, d2);
if ("FLG(n)".equals(str)) {
int i5 = m + 85;
k = i5 % 128;
if (i5 % 2 != 0 ? length - i3 >= 3 : length / i3 >= 5) {
int d3 = d(zArr, i3, 3);
i3 += 3;
try {
sb.append(byteArrayOutputStream.toString(charset.name()));
byteArrayOutputStream.reset();
if (d3 != 0) {
int i6 = m + 85;
int i7 = i6 % 128;
k = i7;
int i8 = i6 % 2;
if (d3 == 7) {
throw FormatException.c();
}
int i9 = i7 + 85;
m = i9 % 128;
if (i9 % 2 == 0 ? length - i3 >= (d3 << 2) : length / i3 >= d3 % 5) {
int i10 = i7 + 1;
m = i10 % 128;
int i11 = i10 % 2;
int i12 = 0;
while (d3 > 0) {
int i13 = k + 109;
m = i13 % 128;
int i14 = i13 % 2;
int d4 = d(zArr, i3, 4);
i3 += 4;
if (d4 < 2) {
break loop0;
}
int i15 = m + 5;
k = i15 % 128;
if (i15 % 2 != 0) {
if (d4 > 11) {
break loop0;
}
i12 = (i12 * 10) + (d4 - 2);
d3--;
} else {
if (d4 > 105) {
break loop0;
}
i12 = (i12 * 10) + (d4 - 2);
d3--;
}
}
EnumC0626KzG c2 = EnumC0626KzG.c(i12);
if (c2 == null) {
throw FormatException.c();
}
charset = Charset.forName(c2.name());
}
} else {
sb.append((char) 29);
}
} catch (UnsupportedEncodingException e2) {
throw new IllegalStateException(e2);
}
}
} else if (str.startsWith("CTRL_")) {
sts2 = e(str.charAt(5));
if (str.charAt(6) != 'L') {
break;
}
} else {
byte[] bytes = str.getBytes(StandardCharsets.US_ASCII);
byteArrayOutputStream.write(bytes, 0, bytes.length);
}
}
} else if (length - i3 >= 5) {
int d5 = d(zArr, i3, 5);
int i16 = i3 + 5;
if (d5 == 0) {
if (length - i16 >= 11) {
d5 = d(zArr, i16, 11) + 31;
i16 = i3 + 16;
}
}
int i17 = 0;
while (true) {
if (i17 >= d5) {
i3 = i16;
break;
}
if (length - i16 < 8) {
int i18 = m + 55;
k = i18 % 128;
int i19 = i18 % 2;
i3 = length;
break;
}
byteArrayOutputStream.write((byte) d(zArr, i16, 8));
i16 += 8;
i17++;
}
}
sts = sts2;
}
try {
sb.append(byteArrayOutputStream.toString(charset.name()));
return sb.toString();
} catch (UnsupportedEncodingException e3) {
throw new IllegalStateException(e3);
}
int i20 = m + 85;
k = i20 % 128;
int i21 = i20 % 2;
}
throw FormatException.c();
}
private static Sts e(char c2) {
int i2 = 2 % 2;
if (c2 == 'B') {
return Sts.BINARY;
}
int i3 = k + 81;
m = i3 % 128;
int i4 = i3 % 2;
if (c2 == 'D') {
Sts sts = Sts.DIGIT;
int i5 = m + 71;
k = i5 % 128;
if (i5 % 2 == 0) {
int i6 = 14 / 0;
}
return sts;
}
if (c2 == 'P') {
return Sts.PUNCT;
}
if (c2 == 'L') {
return Sts.LOWER;
}
if (c2 == 'M') {
return Sts.MIXED;
}
return Sts.UPPER;
}
/* JADX INFO: Access modifiers changed from: package-private */
/* renamed from: o.IVe$4, reason: invalid class name */
/* loaded from: classes2.dex */
public static /* synthetic */ class AnonymousClass4 {
static final int[] b;
static {
int[] iArr = new int[Sts.values().length];
b = iArr;
try {
iArr[Sts.UPPER.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
b[Sts.LOWER.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
b[Sts.MIXED.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
b[Sts.PUNCT.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
b[Sts.DIGIT.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
}
}
private static /* synthetic */ Object c(Object[] objArr) {
int i2;
Sts sts = (Sts) objArr[0];
int intValue = ((Number) objArr[1]).intValue();
int i3 = 2 % 2;
int i4 = m + 71;
k = i4 % 128;
if (i4 % 2 != 0 ? (i2 = AnonymousClass4.b[sts.ordinal()]) == 1 : (i2 = AnonymousClass4.b[sts.ordinal()]) == 0) {
return i[intValue];
}
if (i2 == 2) {
return a[intValue];
}
if (i2 != 3) {
if (i2 == 4) {
return e[intValue];
}
if (i2 == 5) {
return b[intValue];
}
throw new IllegalStateException("Bad table");
}
String str = c[intValue];
int i5 = k + 125;
m = i5 % 128;
int i6 = i5 % 2;
return str;
}
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes2.dex */
public static final class IeS {
final int d;
final boolean[] e;
IeS(boolean[] zArr, int i) {
this.e = zArr;
this.d = i;
}
}
private IeS b(boolean[] zArr) throws FormatException {
int i2;
Ayo ayo;
int i3;
int i4 = 2 % 2;
if (this.f.a <= 2) {
int i5 = k + 41;
m = i5 % 128;
if (i5 % 2 != 0) {
ayo = Ayo.e;
i2 = 127;
} else {
ayo = Ayo.e;
i2 = 6;
}
} else {
i2 = 8;
if (this.f.a <= 8) {
ayo = Ayo.d;
} else if (this.f.a <= 22) {
int i6 = k + 109;
m = i6 % 128;
int i7 = i6 % 2;
ayo = Ayo.c;
i2 = 10;
} else {
ayo = Ayo.b;
i2 = 12;
}
}
int i8 = this.f.e;
int length = zArr.length / i2;
if (length < i8) {
throw FormatException.c();
}
int length2 = zArr.length % i2;
int[] iArr = new int[length];
int i9 = 0;
while (i9 < length) {
iArr[i9] = d(zArr, length2, i2);
i9++;
length2 += i2;
}
try {
lxg lxgVar = new lxg(ayo);
int i10 = length - i8;
lxgVar.b(iArr, i10);
int i11 = 1 << i2;
int i12 = 0;
while (i3 < i8) {
int i13 = k;
int i14 = i13 + 95;
m = i14 % 128;
if (i14 % 2 != 0) {
int i15 = iArr[i3];
Object obj = null;
obj.hashCode();
throw null;
}
int i16 = iArr[i3];
if (i16 == 0 || i16 == i11 - 1) {
throw FormatException.c();
}
if (i16 != 1) {
int i17 = i13 + 75;
m = i17 % 128;
int i18 = i17 % 2;
i3 = i16 != i11 + (-2) ? i3 + 1 : 0;
}
i12++;
int i19 = m + 19;
k = i19 % 128;
int i20 = i19 % 2;
}
boolean[] zArr2 = new boolean[(i8 * i2) - i12];
int i21 = 0;
for (int i22 = 0; i22 < i8; i22++) {
int i23 = k + 63;
m = i23 % 128;
int i24 = i23 % 2;
int i25 = iArr[i22];
if (i25 == 1 || i25 == i11 - 2) {
Arrays.fill(zArr2, i21, (i21 + i2) - 1, i25 > 1);
i21 += i2 - 1;
} else {
int i26 = i2 - 1;
while (i26 >= 0) {
zArr2[i21] = ((1 << i26) & i25) != 0;
i26--;
i21++;
int i27 = k + 37;
m = i27 % 128;
int i28 = i27 % 2;
}
}
}
return new IeS(zArr2, (i10 * 100) / length);
} catch (ReedSolomonException e2) {
throw FormatException.b(e2);
}
}
/* JADX WARN: Code restructure failed: missing block: B:15:0x008e, code lost:
if ((!r5) != false) goto L26;
*/
/* JADX WARN: Code restructure failed: missing block: B:16:0x0098, code lost:
r11 = 9;
*/
/* JADX WARN: Code restructure failed: missing block: B:31:0x0095, code lost:
r11 = 12;
*/
/* JADX WARN: Code restructure failed: missing block: B:33:0x0093, code lost:
if ((!r5) != false) goto L26;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
private static /* synthetic */ java.lang.Object e(java.lang.Object[] r19) {
/*
Method dump skipped, instructions count: 347
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: o.IVe.e(java.lang.Object[]):java.lang.Object");
}
private static int d(boolean[] zArr, int i2, int i3) {
int i4 = 2 % 2;
int i5 = 0;
for (int i6 = i2; i6 < i2 + i3; i6++) {
i5 <<= 1;
if (zArr[i6]) {
int i7 = m + 113;
k = i7 % 128;
int i8 = i7 % 2;
i5 |= 1;
}
}
int i9 = m + 87;
k = i9 % 128;
if (i9 % 2 != 0) {
return i5;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static byte b(boolean[] zArr, int i2) {
int length;
int d2;
int i3 = 2 % 2;
int i4 = m + 57;
k = i4 % 128;
if (i4 % 2 != 0 ? (length = zArr.length - i2) >= 8 : (length = zArr.length >> i2) >= 58) {
d2 = d(zArr, i2, 8);
} else {
d2 = d(zArr, i2, length) << (8 - length);
}
byte b2 = (byte) d2;
int i5 = k + 55;
m = i5 % 128;
int i6 = i5 % 2;
return b2;
}
private static byte[] a(boolean[] zArr) {
int i2 = 2 % 2;
int i3 = m + 27;
k = i3 % 128;
int i4 = i3 % 2;
int length = (zArr.length + 7) / 8;
byte[] bArr = new byte[length];
int i5 = 0;
while (i5 < length) {
bArr[i5] = b(zArr, i5 << 3);
i5++;
int i6 = k + 63;
m = i6 % 128;
int i7 = i6 % 2;
}
return bArr;
}
static void d() {
j = -2743396088650253672L;
h = 452713125;
g = (char) 55973;
}
private static int a(int i2, boolean z) {
int i3;
int i4 = 2 % 2;
if (!z) {
i3 = 112;
} else {
int i5 = m + 73;
k = i5 % 128;
int i6 = i5 % 2;
i3 = 88;
}
int i7 = (i3 + (i2 << 4)) * i2;
int i8 = k + 5;
m = i8 % 128;
if (i8 % 2 == 0) {
return i7;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static String a(Sts sts, int i2) {
return (String) e(new Object[]{sts, Integer.valueOf(i2)}, 1745902736, -1745902736, i2);
}
private boolean[] b(C8902dZc c8902dZc) {
return (boolean[]) e(new Object[]{this, c8902dZc}, 1204402121, -1204402120, System.identityHashCode(this));
}
}