a.smali
.class public final Lcom/google/zxing/a/a;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final a:[Lcom/google/zxing/k;
# instance fields
.field private final b:Lcom/google/zxing/a/a/e;
# direct methods
.method static constructor <clinit>()V
.registers 1
const/4 v0, 0x0
new-array v0, v0, [Lcom/google/zxing/k;
.line 46
sput-object v0, Lcom/google/zxing/a/a;->a:[Lcom/google/zxing/k;
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 48
new-instance v0, Lcom/google/zxing/a/a/e;
invoke-direct {v0}, Lcom/google/zxing/a/a/e;-><init>()V
iput-object v0, p0, Lcom/google/zxing/a/a;->b:Lcom/google/zxing/a/a/e;
return-void
.end method
# virtual methods
.method public final a(Lcom/google/zxing/c;Ljava/util/Map;)Lcom/google/zxing/i;
.registers 20
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/c;",
"Ljava/util/Map<",
"Lcom/google/zxing/d;",
"*>;)",
"Lcom/google/zxing/i;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;,
Lcom/google/zxing/ChecksumException;,
Lcom/google/zxing/FormatException;
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p2
const/4 v2, 0x5
const/4 v4, 0x3
const/4 v5, 0x2
const/4 v6, 0x0
const/4 v7, 0x1
if-eqz v1, :cond_143
.line 72
sget-object v8, Lcom/google/zxing/d;->PURE_BARCODE:Lcom/google/zxing/d;
invoke-interface {v1, v8}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_143
.line 73
invoke-virtual/range {p1 .. p1}, Lcom/google/zxing/c;->a()Lcom/google/zxing/common/b;
move-result-object v8
const/4 v9, 0x0
.line 1355
:goto_18
iget-object v10, v8, Lcom/google/zxing/common/b;->d:[I
array-length v10, v10
if-ge v9, v10, :cond_26
iget-object v10, v8, Lcom/google/zxing/common/b;->d:[I
aget v10, v10, v9
if-nez v10, :cond_26
add-int/lit8 v9, v9, 0x1
goto :goto_18
.line 1358
:cond_26
iget-object v10, v8, Lcom/google/zxing/common/b;->d:[I
array-length v10, v10
const/16 v11, 0x1f
if-ne v9, v10, :cond_2f
const/4 v9, 0x0
goto :goto_4d
.line 1361
:cond_2f
iget v10, v8, Lcom/google/zxing/common/b;->c:I
div-int v10, v9, v10
.line 1362
iget v12, v8, Lcom/google/zxing/common/b;->c:I
rem-int v12, v9, v12
shl-int/2addr v12, v2
.line 1364
iget-object v13, v8, Lcom/google/zxing/common/b;->d:[I
aget v9, v13, v9
const/4 v13, 0x0
:goto_3d
rsub-int/lit8 v14, v13, 0x1f
shl-int v14, v9, v14
if-nez v14, :cond_46
add-int/lit8 v13, v13, 0x1
goto :goto_3d
:cond_46
add-int/2addr v12, v13
new-array v9, v5, [I
aput v12, v9, v6
aput v10, v9, v7
.line 1374
:goto_4d
iget-object v10, v8, Lcom/google/zxing/common/b;->d:[I
array-length v10, v10
sub-int/2addr v10, v7
:goto_51
if-ltz v10, :cond_5c
.line 1375
iget-object v12, v8, Lcom/google/zxing/common/b;->d:[I
aget v12, v12, v10
if-nez v12, :cond_5c
add-int/lit8 v10, v10, -0x1
goto :goto_51
:cond_5c
if-gez v10, :cond_60
const/4 v3, 0x0
goto :goto_7c
.line 1382
:cond_60
iget v3, v8, Lcom/google/zxing/common/b;->c:I
div-int v3, v10, v3
.line 1383
iget v12, v8, Lcom/google/zxing/common/b;->c:I
rem-int v12, v10, v12
shl-int/2addr v12, v2
.line 1385
iget-object v13, v8, Lcom/google/zxing/common/b;->d:[I
aget v10, v13, v10
:goto_6d
ushr-int v13, v10, v11
if-nez v13, :cond_74
add-int/lit8 v11, v11, -0x1
goto :goto_6d
:cond_74
add-int/2addr v12, v11
new-array v10, v5, [I
aput v12, v10, v6
aput v3, v10, v7
move-object v3, v10
:goto_7c
if-eqz v9, :cond_140
if-eqz v3, :cond_140
.line 2406
iget v10, v8, Lcom/google/zxing/common/b;->b:I
.line 3399
iget v11, v8, Lcom/google/zxing/common/b;->a:I
.line 2202
aget v12, v9, v6
.line 2203
aget v13, v9, v7
const/4 v14, 0x1
const/4 v15, 0x0
:goto_8a
if-ge v12, v11, :cond_a0
if-ge v13, v10, :cond_a0
.line 2207
invoke-virtual {v8, v12, v13}, Lcom/google/zxing/common/b;->a(II)Z
move-result v5
if-eq v14, v5, :cond_9a
add-int/lit8 v15, v15, 0x1
if-eq v15, v2, :cond_a0
xor-int/lit8 v14, v14, 0x1
:cond_9a
add-int/lit8 v12, v12, 0x1
add-int/lit8 v13, v13, 0x1
const/4 v5, 0x2
goto :goto_8a
:cond_a0
if-eq v12, v11, :cond_13d
if-eq v13, v10, :cond_13d
.line 2219
aget v2, v9, v6
sub-int/2addr v12, v2
int-to-float v2, v12
const/high16 v5, 0x40e00000 # 7.0f
div-float/2addr v2, v5
.line 1128
aget v5, v9, v7
.line 1129
aget v10, v3, v7
.line 1130
aget v9, v9, v6
.line 1131
aget v3, v3, v6
if-ge v9, v3, :cond_13a
if-ge v5, v10, :cond_13a
sub-int v11, v10, v5
sub-int v12, v3, v9
if-eq v11, v12, :cond_c7
add-int v3, v9, v11
.line 5399
iget v12, v8, Lcom/google/zxing/common/b;->a:I
if-ge v3, v12, :cond_c4
goto :goto_c7
.line 6037
:cond_c4
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 1144
throw v1
:cond_c7
:goto_c7
sub-int v12, v3, v9
add-int/2addr v12, v7
int-to-float v12, v12
div-float/2addr v12, v2
.line 1148
invoke-static {v12}, Ljava/lang/Math;->round(F)I
move-result v12
add-int/2addr v11, v7
int-to-float v11, v11
div-float/2addr v11, v2
.line 1149
invoke-static {v11}, Ljava/lang/Math;->round(F)I
move-result v11
if-lez v12, :cond_137
if-lez v11, :cond_137
if-ne v11, v12, :cond_134
const/high16 v13, 0x40000000 # 2.0f
div-float v13, v2, v13
float-to-int v13, v13
add-int/2addr v5, v13
add-int/2addr v9, v13
add-int/lit8 v14, v12, -0x1
int-to-float v14, v14
mul-float v14, v14, v2
float-to-int v14, v14
add-int/2addr v14, v9
sub-int/2addr v14, v3
if-lez v14, :cond_f5
if-gt v14, v13, :cond_f2
sub-int/2addr v9, v14
goto :goto_f5
.line 9037
:cond_f2
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 1172
throw v1
:cond_f5
:goto_f5
add-int/lit8 v3, v11, -0x1
int-to-float v3, v3
mul-float v3, v3, v2
float-to-int v3, v3
add-int/2addr v3, v5
sub-int/2addr v3, v10
if-lez v3, :cond_106
if-gt v3, v13, :cond_103
sub-int/2addr v5, v3
goto :goto_106
.line 10037
:cond_103
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 1181
throw v1
.line 1187
:cond_106
:goto_106
new-instance v3, Lcom/google/zxing/common/b;
invoke-direct {v3, v12, v11}, Lcom/google/zxing/common/b;-><init>(II)V
const/4 v10, 0x0
:goto_10c
if-ge v10, v11, :cond_12a
int-to-float v13, v10
mul-float v13, v13, v2
float-to-int v13, v13
add-int/2addr v13, v5
const/4 v14, 0x0
:goto_114
if-ge v14, v12, :cond_127
int-to-float v15, v14
mul-float v15, v15, v2
float-to-int v15, v15
add-int/2addr v15, v9
.line 1191
invoke-virtual {v8, v15, v13}, Lcom/google/zxing/common/b;->a(II)Z
move-result v15
if-eqz v15, :cond_124
.line 1192
invoke-virtual {v3, v14, v10}, Lcom/google/zxing/common/b;->b(II)V
:cond_124
add-int/lit8 v14, v14, 0x1
goto :goto_114
:cond_127
add-int/lit8 v10, v10, 0x1
goto :goto_10c
.line 74
:cond_12a
iget-object v2, v0, Lcom/google/zxing/a/a;->b:Lcom/google/zxing/a/a/e;
invoke-virtual {v2, v3, v1}, Lcom/google/zxing/a/a/e;->a(Lcom/google/zxing/common/b;Ljava/util/Map;)Lcom/google/zxing/common/e;
move-result-object v1
.line 75
sget-object v2, Lcom/google/zxing/a/a;->a:[Lcom/google/zxing/k;
goto/16 :goto_3a1
.line 8037
:cond_134
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 1155
throw v1
.line 7037
:cond_137
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 1151
throw v1
.line 5037
:cond_13a
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 1135
throw v1
.line 4037
:cond_13d
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 2217
throw v1
.line 2037
:cond_140
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 1123
throw v1
.line 77
:cond_143
new-instance v5, Lcom/google/zxing/a/b/c;
invoke-virtual/range {p1 .. p1}, Lcom/google/zxing/c;->a()Lcom/google/zxing/common/b;
move-result-object v8
invoke-direct {v5, v8}, Lcom/google/zxing/a/b/c;-><init>(Lcom/google/zxing/common/b;)V
if-nez v1, :cond_150
const/4 v8, 0x0
goto :goto_158
.line 10077
:cond_150
sget-object v8, Lcom/google/zxing/d;->NEED_RESULT_POINT_CALLBACK:Lcom/google/zxing/d;
.line 10078
invoke-interface {v1, v8}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/google/zxing/l;
:goto_158
iput-object v8, v5, Lcom/google/zxing/a/b/c;->b:Lcom/google/zxing/l;
.line 10080
new-instance v8, Lcom/google/zxing/a/b/e;
iget-object v9, v5, Lcom/google/zxing/a/b/c;->a:Lcom/google/zxing/common/b;
iget-object v10, v5, Lcom/google/zxing/a/b/c;->b:Lcom/google/zxing/l;
invoke-direct {v8, v9, v10}, Lcom/google/zxing/a/b/e;-><init>(Lcom/google/zxing/common/b;Lcom/google/zxing/l;)V
if-eqz v1, :cond_16f
.line 11077
sget-object v9, Lcom/google/zxing/d;->TRY_HARDER:Lcom/google/zxing/d;
invoke-interface {v1, v9}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_16f
const/4 v9, 0x1
goto :goto_170
:cond_16f
const/4 v9, 0x0
.line 11078
:goto_170
iget-object v10, v8, Lcom/google/zxing/a/b/e;->a:Lcom/google/zxing/common/b;
.line 11406
iget v10, v10, Lcom/google/zxing/common/b;->b:I
.line 11079
iget-object v11, v8, Lcom/google/zxing/a/b/e;->a:Lcom/google/zxing/common/b;
.line 12399
iget v11, v11, Lcom/google/zxing/common/b;->a:I
mul-int/lit8 v12, v10, 0x3
.line 11087
div-int/lit16 v12, v12, 0x184
if-lt v12, v4, :cond_180
if-eqz v9, :cond_181
:cond_180
const/4 v12, 0x3
:cond_181
new-array v2, v2, [I
add-int/lit8 v9, v12, -0x1
const/4 v13, 0x0
:goto_186
if-ge v9, v10, :cond_24e
if-nez v13, :cond_24e
.line 11096
invoke-static {v2}, Lcom/google/zxing/a/b/e;->b([I)V
const/4 v14, 0x0
const/4 v15, 0x0
:goto_18f
if-ge v14, v11, :cond_230
.line 11099
iget-object v3, v8, Lcom/google/zxing/a/b/e;->a:Lcom/google/zxing/common/b;
invoke-virtual {v3, v14, v9}, Lcom/google/zxing/common/b;->a(II)Z
move-result v3
if-eqz v3, :cond_1a6
and-int/lit8 v3, v15, 0x1
if-ne v3, v7, :cond_19f
add-int/lit8 v15, v15, 0x1
.line 11104
:cond_19f
aget v3, v2, v15
add-int/2addr v3, v7
aput v3, v2, v15
goto/16 :goto_22b
:cond_1a6
and-int/lit8 v3, v15, 0x1
if-nez v3, :cond_226
const/4 v3, 0x4
if-ne v15, v3, :cond_21e
.line 11108
invoke-static {v2}, Lcom/google/zxing/a/b/e;->a([I)Z
move-result v3
if-eqz v3, :cond_219
.line 11109
invoke-virtual {v8, v2, v9, v14}, Lcom/google/zxing/a/b/e;->a([III)Z
move-result v3
if-eqz v3, :cond_215
.line 11114
iget-boolean v3, v8, Lcom/google/zxing/a/b/e;->c:Z
if-eqz v3, :cond_1c2
.line 11115
invoke-virtual {v8}, Lcom/google/zxing/a/b/e;->a()Z
move-result v13
goto :goto_20f
.line 12539
:cond_1c2
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v3
if-le v3, v7, :cond_202
.line 12544
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
const/4 v12, 0x0
:goto_1d1
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v15
if-eqz v15, :cond_202
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v15
check-cast v15, Lcom/google/zxing/a/b/d;
.line 13048
iget v4, v15, Lcom/google/zxing/a/b/d;->d:I
const/4 v6, 0x2
if-lt v4, v6, :cond_1ff
if-nez v12, :cond_1e6
move-object v12, v15
goto :goto_1ff
.line 12554
:cond_1e6
iput-boolean v7, v8, Lcom/google/zxing/a/b/e;->c:Z
.line 14038
iget v3, v12, Lcom/google/zxing/k;->a:F
.line 15038
iget v4, v15, Lcom/google/zxing/k;->a:F
sub-float/2addr v3, v4
.line 12555
invoke-static {v3}, Ljava/lang/Math;->abs(F)F
move-result v3
.line 15042
iget v4, v12, Lcom/google/zxing/k;->b:F
.line 16042
iget v6, v15, Lcom/google/zxing/k;->b:F
sub-float/2addr v4, v6
.line 12556
invoke-static {v4}, Ljava/lang/Math;->abs(F)F
move-result v4
sub-float/2addr v3, v4
float-to-int v3, v3
const/4 v4, 0x2
div-int/2addr v3, v4
goto :goto_204
:cond_1ff
:goto_1ff
const/4 v4, 0x3
const/4 v6, 0x0
goto :goto_1d1
:cond_202
const/4 v4, 0x2
const/4 v3, 0x0
.line 11118
:goto_204
aget v6, v2, v4
if-le v3, v6, :cond_20f
.line 11127
aget v6, v2, v4
sub-int/2addr v3, v6
sub-int/2addr v3, v4
add-int/2addr v9, v3
add-int/lit8 v14, v11, -0x1
.line 11138
:cond_20f
:goto_20f
invoke-static {v2}, Lcom/google/zxing/a/b/e;->b([I)V
const/4 v12, 0x2
const/4 v15, 0x0
goto :goto_22b
.line 11132
:cond_215
invoke-static {v2}, Lcom/google/zxing/a/b/e;->c([I)V
goto :goto_21c
.line 11140
:cond_219
invoke-static {v2}, Lcom/google/zxing/a/b/e;->c([I)V
:goto_21c
const/4 v15, 0x3
goto :goto_22b
:cond_21e
add-int/lit8 v15, v15, 0x1
.line 11144
aget v3, v2, v15
add-int/2addr v3, v7
aput v3, v2, v15
goto :goto_22b
.line 11147
:cond_226
aget v3, v2, v15
add-int/2addr v3, v7
aput v3, v2, v15
:goto_22b
add-int/2addr v14, v7
const/4 v4, 0x3
const/4 v6, 0x0
goto/16 :goto_18f
.line 11151
:cond_230
invoke-static {v2}, Lcom/google/zxing/a/b/e;->a([I)Z
move-result v3
if-eqz v3, :cond_249
.line 11152
invoke-virtual {v8, v2, v9, v11}, Lcom/google/zxing/a/b/e;->a([III)Z
move-result v3
if-eqz v3, :cond_249
const/4 v3, 0x0
.line 11154
aget v4, v2, v3
.line 11155
iget-boolean v3, v8, Lcom/google/zxing/a/b/e;->c:Z
if-eqz v3, :cond_248
.line 11157
invoke-virtual {v8}, Lcom/google/zxing/a/b/e;->a()Z
move-result v3
move v13, v3
:cond_248
move v12, v4
:cond_249
add-int/2addr v9, v12
const/4 v4, 0x3
const/4 v6, 0x0
goto/16 :goto_186
.line 16601
:cond_24e
iget-object v2, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
const/4 v3, 0x3
if-lt v2, v3, :cond_403
const/4 v4, 0x0
if-le v2, v3, :cond_2c3
.line 16612
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
const/4 v6, 0x0
const/4 v9, 0x0
:goto_262
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v10
if-eqz v10, :cond_275
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v10
check-cast v10, Lcom/google/zxing/a/b/d;
.line 17044
iget v10, v10, Lcom/google/zxing/a/b/d;->c:F
add-float/2addr v6, v10
mul-float v10, v10, v10
add-float/2addr v9, v10
goto :goto_262
:cond_275
int-to-float v2, v2
div-float/2addr v6, v2
div-float/2addr v9, v2
mul-float v2, v6, v6
sub-float/2addr v9, v2
float-to-double v2, v9
.line 16618
invoke-static {v2, v3}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v2
double-to-float v2, v2
.line 16620
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
new-instance v9, Lcom/google/zxing/a/b/e$b;
const/4 v10, 0x0
invoke-direct {v9, v6, v10}, Lcom/google/zxing/a/b/e$b;-><init>(FB)V
invoke-static {v3, v9}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
const v3, 0x3e4ccccd # 0.2f
mul-float v3, v3, v6
.line 16622
invoke-static {v3, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
const/4 v3, 0x0
.line 16624
:goto_296
iget-object v9, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v9}, Ljava/util/List;->size()I
move-result v9
if-ge v3, v9, :cond_2c3
iget-object v9, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v9}, Ljava/util/List;->size()I
move-result v9
const/4 v10, 0x3
if-le v9, v10, :cond_2c3
.line 16625
iget-object v9, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v9, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/google/zxing/a/b/d;
.line 18044
iget v9, v9, Lcom/google/zxing/a/b/d;->c:F
sub-float/2addr v9, v6
.line 16626
invoke-static {v9}, Ljava/lang/Math;->abs(F)F
move-result v9
cmpl-float v9, v9, v2
if-lez v9, :cond_2c1
.line 16627
iget-object v9, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v9, v3}, Ljava/util/List;->remove(I)Ljava/lang/Object;
add-int/lit8 v3, v3, -0x1
:cond_2c1
add-int/2addr v3, v7
goto :goto_296
.line 16633
:cond_2c3
iget-object v2, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
const/4 v3, 0x3
if-le v2, v3, :cond_307
.line 16637
iget-object v2, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
const/4 v3, 0x0
:goto_2d3
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_2e3
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/zxing/a/b/d;
.line 19044
iget v6, v6, Lcom/google/zxing/a/b/d;->c:F
add-float/2addr v3, v6
goto :goto_2d3
.line 16641
:cond_2e3
iget-object v2, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
int-to-float v2, v2
div-float/2addr v3, v2
.line 16643
iget-object v2, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
new-instance v6, Lcom/google/zxing/a/b/e$a;
const/4 v9, 0x0
invoke-direct {v6, v3, v9}, Lcom/google/zxing/a/b/e$a;-><init>(FB)V
invoke-static {v2, v6}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 16645
iget-object v2, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v3
const/4 v6, 0x3
invoke-interface {v2, v6, v3}, Ljava/util/List;->subList(II)Ljava/util/List;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->clear()V
goto :goto_309
:cond_307
const/4 v6, 0x3
const/4 v9, 0x0
:goto_309
new-array v2, v6, [Lcom/google/zxing/a/b/d;
.line 16648
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
.line 16649
invoke-interface {v3, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/zxing/a/b/d;
aput-object v3, v2, v9
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
.line 16650
invoke-interface {v3, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/zxing/a/b/d;
aput-object v3, v2, v7
iget-object v3, v8, Lcom/google/zxing/a/b/e;->b:Ljava/util/List;
const/4 v6, 0x2
.line 16651
invoke-interface {v3, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/zxing/a/b/d;
aput-object v3, v2, v6
.line 19073
aget-object v3, v2, v9
aget-object v8, v2, v7
invoke-static {v3, v8}, Lcom/google/zxing/k;->a(Lcom/google/zxing/k;Lcom/google/zxing/k;)F
move-result v3
.line 19074
aget-object v8, v2, v7
aget-object v10, v2, v6
invoke-static {v8, v10}, Lcom/google/zxing/k;->a(Lcom/google/zxing/k;Lcom/google/zxing/k;)F
move-result v8
.line 19075
aget-object v10, v2, v9
aget-object v11, v2, v6
invoke-static {v10, v11}, Lcom/google/zxing/k;->a(Lcom/google/zxing/k;Lcom/google/zxing/k;)F
move-result v10
cmpl-float v11, v8, v3
if-ltz v11, :cond_351
cmpl-float v11, v8, v10
if-ltz v11, :cond_351
.line 19082
aget-object v3, v2, v9
.line 19083
aget-object v8, v2, v7
.line 19084
aget-object v10, v2, v6
goto :goto_366
:cond_351
cmpl-float v8, v10, v8
if-ltz v8, :cond_360
cmpl-float v3, v10, v3
if-ltz v3, :cond_360
.line 19086
aget-object v3, v2, v7
.line 19087
aget-object v8, v2, v9
.line 19088
aget-object v10, v2, v6
goto :goto_366
.line 19090
:cond_360
aget-object v3, v2, v6
.line 19091
aget-object v8, v2, v9
.line 19092
aget-object v10, v2, v7
.line 19125
:goto_366
iget v6, v3, Lcom/google/zxing/k;->a:F
.line 19126
iget v9, v3, Lcom/google/zxing/k;->b:F
.line 19127
iget v11, v10, Lcom/google/zxing/k;->a:F
sub-float/2addr v11, v6
iget v12, v8, Lcom/google/zxing/k;->b:F
sub-float/2addr v12, v9
mul-float v11, v11, v12
iget v12, v10, Lcom/google/zxing/k;->b:F
sub-float/2addr v12, v9
iget v9, v8, Lcom/google/zxing/k;->a:F
sub-float/2addr v9, v6
mul-float v12, v12, v9
sub-float/2addr v11, v12
cmpg-float v4, v11, v4
if-gez v4, :cond_386
const/4 v4, 0x0
move-object/from16 v16, v10
move-object v10, v8
move-object/from16 v8, v16
goto :goto_387
:cond_386
const/4 v4, 0x0
:goto_387
aput-object v8, v2, v4
aput-object v3, v2, v7
const/4 v3, 0x2
aput-object v10, v2, v3
.line 11166
new-instance v3, Lcom/google/zxing/a/b/f;
invoke-direct {v3, v2}, Lcom/google/zxing/a/b/f;-><init>([Lcom/google/zxing/a/b/d;)V
.line 10083
invoke-virtual {v5, v3}, Lcom/google/zxing/a/b/c;->a(Lcom/google/zxing/a/b/f;)Lcom/google/zxing/common/g;
move-result-object v2
.line 78
iget-object v3, v0, Lcom/google/zxing/a/a;->b:Lcom/google/zxing/a/a/e;
.line 20039
iget-object v4, v2, Lcom/google/zxing/common/g;->a:Lcom/google/zxing/common/b;
.line 78
invoke-virtual {v3, v4, v1}, Lcom/google/zxing/a/a/e;->a(Lcom/google/zxing/common/b;Ljava/util/Map;)Lcom/google/zxing/common/e;
move-result-object v1
.line 20043
iget-object v2, v2, Lcom/google/zxing/common/g;->b:[Lcom/google/zxing/k;
.line 20133
:goto_3a1
iget-object v3, v1, Lcom/google/zxing/common/e;->e:Ljava/lang/Object;
.line 83
instance-of v3, v3, Lcom/google/zxing/a/a/i;
if-eqz v3, :cond_3c1
.line 21133
iget-object v3, v1, Lcom/google/zxing/common/e;->e:Ljava/lang/Object;
.line 84
check-cast v3, Lcom/google/zxing/a/a/i;
.line 22048
iget-boolean v3, v3, Lcom/google/zxing/a/a/i;->a:Z
if-eqz v3, :cond_3c1
if-eqz v2, :cond_3c1
array-length v3, v2
const/4 v4, 0x3
if-ge v3, v4, :cond_3b6
goto :goto_3c1
:cond_3b6
const/4 v3, 0x0
.line 22051
aget-object v4, v2, v3
const/4 v5, 0x2
.line 22052
aget-object v6, v2, v5
aput-object v6, v2, v3
.line 22053
aput-object v4, v2, v5
goto :goto_3c2
:cond_3c1
:goto_3c1
const/4 v3, 0x0
.line 87
:goto_3c2
new-instance v4, Lcom/google/zxing/i;
.line 22090
iget-object v5, v1, Lcom/google/zxing/common/e;->b:Ljava/lang/String;
.line 23067
iget-object v6, v1, Lcom/google/zxing/common/e;->a:[B
.line 87
sget-object v8, Lcom/google/zxing/a;->QR_CODE:Lcom/google/zxing/a;
invoke-direct {v4, v5, v6, v2, v8}, Lcom/google/zxing/i;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/k;Lcom/google/zxing/a;)V
.line 23097
iget-object v2, v1, Lcom/google/zxing/common/e;->c:Ljava/util/List;
if-eqz v2, :cond_3d6
.line 90
sget-object v5, Lcom/google/zxing/j;->BYTE_SEGMENTS:Lcom/google/zxing/j;
invoke-virtual {v4, v5, v2}, Lcom/google/zxing/i;->a(Lcom/google/zxing/j;Ljava/lang/Object;)V
.line 23104
:cond_3d6
iget-object v2, v1, Lcom/google/zxing/common/e;->d:Ljava/lang/String;
if-eqz v2, :cond_3df
.line 94
sget-object v5, Lcom/google/zxing/j;->ERROR_CORRECTION_LEVEL:Lcom/google/zxing/j;
invoke-virtual {v4, v5, v2}, Lcom/google/zxing/i;->a(Lcom/google/zxing/j;Ljava/lang/Object;)V
.line 23141
:cond_3df
iget v2, v1, Lcom/google/zxing/common/e;->f:I
if-ltz v2, :cond_3e9
iget v2, v1, Lcom/google/zxing/common/e;->g:I
if-ltz v2, :cond_3e9
const/4 v6, 0x1
goto :goto_3ea
:cond_3e9
const/4 v6, 0x0
:goto_3ea
if-eqz v6, :cond_402
.line 97
sget-object v2, Lcom/google/zxing/j;->STRUCTURED_APPEND_SEQUENCE:Lcom/google/zxing/j;
.line 23149
iget v3, v1, Lcom/google/zxing/common/e;->g:I
.line 98
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
.line 97
invoke-virtual {v4, v2, v3}, Lcom/google/zxing/i;->a(Lcom/google/zxing/j;Ljava/lang/Object;)V
.line 99
sget-object v2, Lcom/google/zxing/j;->STRUCTURED_APPEND_PARITY:Lcom/google/zxing/j;
.line 24145
iget v1, v1, Lcom/google/zxing/common/e;->f:I
.line 100
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
.line 99
invoke-virtual {v4, v2, v1}, Lcom/google/zxing/i;->a(Lcom/google/zxing/j;Ljava/lang/Object;)V
:cond_402
return-object v4
.line 17037
:cond_403
sget-object v1, Lcom/google/zxing/NotFoundException;->a:Lcom/google/zxing/NotFoundException;
.line 16604
goto :goto_407
:goto_406
throw v1
:goto_407
goto :goto_406
.end method