e.smali

.class final Lcom/google/zxing/qrcode/decoder/e;
.super Ljava/lang/Object;
.source "FormatInformation.java"


# static fields
.field private static final bpA:[[I


# instance fields
.field final bpB:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;

.field final bpC:B


# direct methods
.method static constructor <clinit>()V
    .registers 4

    .prologue
    const/4 v3, 0x2

    .line 34
    const/16 v0, 0x20

    new-array v0, v0, [[I

    const/4 v1, 0x0

    new-array v2, v3, [I

    fill-array-data v2, :array_120

    aput-object v2, v0, v1

    const/4 v1, 0x1

    new-array v2, v3, [I

    fill-array-data v2, :array_128

    aput-object v2, v0, v1

    new-array v1, v3, [I

    fill-array-data v1, :array_130

    aput-object v1, v0, v3

    const/4 v1, 0x3

    new-array v2, v3, [I

    fill-array-data v2, :array_138

    aput-object v2, v0, v1

    const/4 v1, 0x4

    new-array v2, v3, [I

    fill-array-data v2, :array_140

    aput-object v2, v0, v1

    const/4 v1, 0x5

    new-array v2, v3, [I

    fill-array-data v2, :array_148

    aput-object v2, v0, v1

    const/4 v1, 0x6

    new-array v2, v3, [I

    fill-array-data v2, :array_150

    aput-object v2, v0, v1

    const/4 v1, 0x7

    new-array v2, v3, [I

    fill-array-data v2, :array_158

    aput-object v2, v0, v1

    const/16 v1, 0x8

    new-array v2, v3, [I

    fill-array-data v2, :array_160

    aput-object v2, v0, v1

    const/16 v1, 0x9

    new-array v2, v3, [I

    fill-array-data v2, :array_168

    aput-object v2, v0, v1

    const/16 v1, 0xa

    new-array v2, v3, [I

    fill-array-data v2, :array_170

    aput-object v2, v0, v1

    const/16 v1, 0xb

    new-array v2, v3, [I

    fill-array-data v2, :array_178

    aput-object v2, v0, v1

    const/16 v1, 0xc

    new-array v2, v3, [I

    fill-array-data v2, :array_180

    aput-object v2, v0, v1

    const/16 v1, 0xd

    new-array v2, v3, [I

    fill-array-data v2, :array_188

    aput-object v2, v0, v1

    const/16 v1, 0xe

    new-array v2, v3, [I

    fill-array-data v2, :array_190

    aput-object v2, v0, v1

    const/16 v1, 0xf

    new-array v2, v3, [I

    fill-array-data v2, :array_198

    aput-object v2, v0, v1

    const/16 v1, 0x10

    new-array v2, v3, [I

    fill-array-data v2, :array_1a0

    aput-object v2, v0, v1

    const/16 v1, 0x11

    new-array v2, v3, [I

    fill-array-data v2, :array_1a8

    aput-object v2, v0, v1

    const/16 v1, 0x12

    new-array v2, v3, [I

    fill-array-data v2, :array_1b0

    aput-object v2, v0, v1

    const/16 v1, 0x13

    new-array v2, v3, [I

    fill-array-data v2, :array_1b8

    aput-object v2, v0, v1

    const/16 v1, 0x14

    new-array v2, v3, [I

    fill-array-data v2, :array_1c0

    aput-object v2, v0, v1

    const/16 v1, 0x15

    new-array v2, v3, [I

    fill-array-data v2, :array_1c8

    aput-object v2, v0, v1

    const/16 v1, 0x16

    new-array v2, v3, [I

    fill-array-data v2, :array_1d0

    aput-object v2, v0, v1

    const/16 v1, 0x17

    new-array v2, v3, [I

    fill-array-data v2, :array_1d8

    aput-object v2, v0, v1

    const/16 v1, 0x18

    new-array v2, v3, [I

    fill-array-data v2, :array_1e0

    aput-object v2, v0, v1

    const/16 v1, 0x19

    new-array v2, v3, [I

    fill-array-data v2, :array_1e8

    aput-object v2, v0, v1

    const/16 v1, 0x1a

    new-array v2, v3, [I

    fill-array-data v2, :array_1f0

    aput-object v2, v0, v1

    const/16 v1, 0x1b

    new-array v2, v3, [I

    fill-array-data v2, :array_1f8

    aput-object v2, v0, v1

    const/16 v1, 0x1c

    new-array v2, v3, [I

    fill-array-data v2, :array_200

    aput-object v2, v0, v1

    const/16 v1, 0x1d

    new-array v2, v3, [I

    fill-array-data v2, :array_208

    aput-object v2, v0, v1

    const/16 v1, 0x1e

    new-array v2, v3, [I

    fill-array-data v2, :array_210

    aput-object v2, v0, v1

    const/16 v1, 0x1f

    new-array v2, v3, [I

    fill-array-data v2, :array_218

    aput-object v2, v0, v1

    sput-object v0, Lcom/google/zxing/qrcode/decoder/e;->bpA:[[I

    return-void

    nop

    :array_120
    .array-data 4
        0x5412
        0x0
    .end array-data

    :array_128
    .array-data 4
        0x5125
        0x1
    .end array-data

    :array_130
    .array-data 4
        0x5e7c
        0x2
    .end array-data

    :array_138
    .array-data 4
        0x5b4b
        0x3
    .end array-data

    :array_140
    .array-data 4
        0x45f9
        0x4
    .end array-data

    :array_148
    .array-data 4
        0x40ce
        0x5
    .end array-data

    :array_150
    .array-data 4
        0x4f97
        0x6
    .end array-data

    :array_158
    .array-data 4
        0x4aa0
        0x7
    .end array-data

    :array_160
    .array-data 4
        0x77c4
        0x8
    .end array-data

    :array_168
    .array-data 4
        0x72f3
        0x9
    .end array-data

    :array_170
    .array-data 4
        0x7daa
        0xa
    .end array-data

    :array_178
    .array-data 4
        0x789d
        0xb
    .end array-data

    :array_180
    .array-data 4
        0x662f
        0xc
    .end array-data

    :array_188
    .array-data 4
        0x6318
        0xd
    .end array-data

    :array_190
    .array-data 4
        0x6c41
        0xe
    .end array-data

    :array_198
    .array-data 4
        0x6976
        0xf
    .end array-data

    :array_1a0
    .array-data 4
        0x1689
        0x10
    .end array-data

    :array_1a8
    .array-data 4
        0x13be
        0x11
    .end array-data

    :array_1b0
    .array-data 4
        0x1ce7
        0x12
    .end array-data

    :array_1b8
    .array-data 4
        0x19d0
        0x13
    .end array-data

    :array_1c0
    .array-data 4
        0x762
        0x14
    .end array-data

    :array_1c8
    .array-data 4
        0x255
        0x15
    .end array-data

    :array_1d0
    .array-data 4
        0xd0c
        0x16
    .end array-data

    :array_1d8
    .array-data 4
        0x83b
        0x17
    .end array-data

    :array_1e0
    .array-data 4
        0x355f
        0x18
    .end array-data

    :array_1e8
    .array-data 4
        0x3068
        0x19
    .end array-data

    :array_1f0
    .array-data 4
        0x3f31
        0x1a
    .end array-data

    :array_1f8
    .array-data 4
        0x3a06
        0x1b
    .end array-data

    :array_200
    .array-data 4
        0x24b4
        0x1c
    .end array-data

    :array_208
    .array-data 4
        0x2183
        0x1d
    .end array-data

    :array_210
    .array-data 4
        0x2eda
        0x1e
    .end array-data

    :array_218
    .array-data 4
        0x2bed
        0x1f
    .end array-data
.end method

.method private constructor <init>(I)V
    .registers 3

    .prologue
    .line 72
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 74
    shr-int/lit8 v0, p1, 0x3

    and-int/lit8 v0, v0, 0x3

    invoke-static {v0}, Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;->forBits(I)Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;

    move-result-object v0

    iput-object v0, p0, Lcom/google/zxing/qrcode/decoder/e;->bpB:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;

    .line 76
    and-int/lit8 v0, p1, 0x7

    int-to-byte v0, v0

    iput-byte v0, p0, Lcom/google/zxing/qrcode/decoder/e;->bpC:B

    .line 77
    return-void
.end method

.method static aA(II)I
    .registers 3

    .prologue
    .line 80
    xor-int v0, p0, p1

    invoke-static {v0}, Ljava/lang/Integer;->bitCount(I)I

    move-result v0

    return v0
.end method

.method static aB(II)Lcom/google/zxing/qrcode/decoder/e;
    .registers 4

    .prologue
    .line 91
    invoke-static {p0, p1}, Lcom/google/zxing/qrcode/decoder/e;->aC(II)Lcom/google/zxing/qrcode/decoder/e;

    move-result-object v0

    .line 92
    if-eqz v0, :cond_7

    .line 98
    :goto_6
    return-object v0

    :cond_7
    xor-int/lit16 v0, p0, 0x5412

    xor-int/lit16 v1, p1, 0x5412

    invoke-static {v0, v1}, Lcom/google/zxing/qrcode/decoder/e;->aC(II)Lcom/google/zxing/qrcode/decoder/e;

    move-result-object v0

    goto :goto_6
.end method

.method private static aC(II)Lcom/google/zxing/qrcode/decoder/e;
    .registers 12

    .prologue
    const/4 v8, 0x1

    const/4 v4, 0x0

    .line 104
    const v0, 0x7fffffff

    .line 106
    sget-object v5, Lcom/google/zxing/qrcode/decoder/e;->bpA:[[I

    move v3, v4

    move v1, v4

    :goto_9
    const/16 v2, 0x20

    if-ge v3, v2, :cond_3a

    aget-object v6, v5, v3

    .line 107
    aget v7, v6, v4

    .line 108
    if-eq v7, p0, :cond_15

    if-ne v7, p1, :cond_1d

    .line 110
    :cond_15
    new-instance v0, Lcom/google/zxing/qrcode/decoder/e;

    aget v1, v6, v8

    invoke-direct {v0, v1}, Lcom/google/zxing/qrcode/decoder/e;-><init>(I)V

    .line 131
    :goto_1c
    return-object v0

    .line 1080
    :cond_1d
    xor-int v2, p0, v7

    invoke-static {v2}, Ljava/lang/Integer;->bitCount(I)I

    move-result v2

    .line 113
    if-ge v2, v0, :cond_47

    .line 114
    aget v0, v6, v8

    .line 117
    :goto_27
    if-eq p0, p1, :cond_45

    .line 2080
    xor-int v1, p1, v7

    invoke-static {v1}, Ljava/lang/Integer;->bitCount(I)I

    move-result v1

    .line 120
    if-ge v1, v2, :cond_45

    .line 121
    aget v0, v6, v8

    .line 106
    :goto_33
    add-int/lit8 v2, v3, 0x1

    move v3, v2

    move v9, v0

    move v0, v1

    move v1, v9

    goto :goto_9

    .line 128
    :cond_3a
    const/4 v2, 0x3

    if-gt v0, v2, :cond_43

    .line 129
    new-instance v0, Lcom/google/zxing/qrcode/decoder/e;

    invoke-direct {v0, v1}, Lcom/google/zxing/qrcode/decoder/e;-><init>(I)V

    goto :goto_1c

    .line 131
    :cond_43
    const/4 v0, 0x0

    goto :goto_1c

    :cond_45
    move v1, v2

    goto :goto_33

    :cond_47
    move v2, v0

    move v0, v1

    goto :goto_27
.end method


# virtual methods
.method public final equals(Ljava/lang/Object;)Z
    .registers 5

    .prologue
    const/4 v0, 0x0

    .line 149
    instance-of v1, p1, Lcom/google/zxing/qrcode/decoder/e;

    if-nez v1, :cond_6

    .line 153
    :cond_5
    :goto_5
    return v0

    .line 152
    :cond_6
    check-cast p1, Lcom/google/zxing/qrcode/decoder/e;

    .line 153
    iget-object v1, p0, Lcom/google/zxing/qrcode/decoder/e;->bpB:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;

    iget-object v2, p1, Lcom/google/zxing/qrcode/decoder/e;->bpB:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;

    if-ne v1, v2, :cond_5

    iget-byte v1, p0, Lcom/google/zxing/qrcode/decoder/e;->bpC:B

    iget-byte v2, p1, Lcom/google/zxing/qrcode/decoder/e;->bpC:B

    if-ne v1, v2, :cond_5

    const/4 v0, 0x1

    goto :goto_5
.end method

.method public final hashCode()I
    .registers 3

    .prologue
    .line 144
    iget-object v0, p0, Lcom/google/zxing/qrcode/decoder/e;->bpB:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;

    invoke-virtual {v0}, Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;->ordinal()I

    move-result v0

    shl-int/lit8 v0, v0, 0x3

    iget-byte v1, p0, Lcom/google/zxing/qrcode/decoder/e;->bpC:B

    or-int/2addr v0, v1

    return v0
.end method