a.smali

.class public Lcom/hankcs/hanlp/b/a/a;
.super Ljava/lang/Object;


# direct methods
.method protected static a([CLcom/hankcs/hanlp/collection/a/a;)Ljava/lang/String;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([C",
            "Lcom/hankcs/hanlp/collection/a/a",
            "<",
            "Ljava/lang/String;",
            ">;)",
            "Ljava/lang/String;"
        }
    .end annotation

    array-length v0, p0

    new-array v1, v0, [Ljava/lang/String;

    array-length v0, p0

    new-array v2, v0, [I

    new-instance v0, Lcom/hankcs/hanlp/b/a/a$1;

    invoke-direct {v0, v2, v1}, Lcom/hankcs/hanlp/b/a/a$1;-><init>([I[Ljava/lang/String;)V

    invoke-virtual {p1, p0, v0}, Lcom/hankcs/hanlp/collection/a/a;->a([CLcom/hankcs/hanlp/collection/a/a$b;)V

    new-instance v3, Ljava/lang/StringBuilder;

    array-length v0, p0

    invoke-direct {v3, v0}, Ljava/lang/StringBuilder;-><init>(I)V

    const/4 v0, 0x0

    :goto_15
    array-length v4, v1

    if-ge v0, v4, :cond_2d

    aget-object v4, v1, v0

    if-nez v4, :cond_24

    aget-char v4, p0, v0

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    add-int/lit8 v0, v0, 0x1

    goto :goto_15

    :cond_24
    aget-object v4, v1, v0

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    aget v4, v2, v0

    add-int/2addr v0, v4

    goto :goto_15

    :cond_2d
    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method static a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;)Z
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcom/hankcs/hanlp/collection/a/a",
            "<",
            "Ljava/lang/String;",
            ">;)Z"
        }
    .end annotation

    const/4 v0, 0x0

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string/jumbo v2, ".bin"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Lcom/hankcs/hanlp/a/b/a;->a(Ljava/lang/String;)Lcom/hankcs/hanlp/a/b/a;

    move-result-object v1

    if-nez v1, :cond_1c

    :goto_1b
    return v0

    :cond_1c
    invoke-virtual {v1}, Lcom/hankcs/hanlp/a/b/a;->a()I

    move-result v2

    new-array v2, v2, [Ljava/lang/String;

    :goto_22
    array-length v3, v2

    if-ge v0, v3, :cond_2e

    invoke-virtual {v1}, Lcom/hankcs/hanlp/a/b/a;->c()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v2, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_22

    :cond_2e
    invoke-virtual {p1, v1, v2}, Lcom/hankcs/hanlp/collection/a/a;->a(Lcom/hankcs/hanlp/a/b/a;[Ljava/lang/Object;)Z

    const/4 v0, 0x1

    goto :goto_1b
.end method

.method static a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;Ljava/util/Set;)Z
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcom/hankcs/hanlp/collection/a/a",
            "<",
            "Ljava/lang/String;",
            ">;",
            "Ljava/util/Set",
            "<",
            "Ljava/util/Map$Entry",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;>;)Z"
        }
    .end annotation

    const/4 v1, 0x0

    invoke-virtual {p1}, Lcom/hankcs/hanlp/collection/a/a;->a()I

    move-result v0

    invoke-interface {p2}, Ljava/util/Set;->size()I

    move-result v2

    if-eq v0, v2, :cond_15

    sget-object v0, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;

    const-string/jumbo v2, "\u952e\u503c\u5bf9\u4e0d\u5339\u914d"

    invoke-virtual {v0, v2}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V

    move v0, v1

    :goto_14
    return v0

    :cond_15
    :try_start_15
    new-instance v2, Ljava/io/DataOutputStream;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string/jumbo v3, ".bin"

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/hankcs/hanlp/a/b/c;->b(Ljava/lang/String;)Ljava/io/OutputStream;

    move-result-object v0

    invoke-direct {v2, v0}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V

    invoke-interface {p2}, Ljava/util/Set;->size()I

    move-result v0

    invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;->writeInt(I)V

    invoke-interface {p2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_3d
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_63

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/Map$Entry;

    invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C

    move-result-object v4

    array-length v0, v4

    invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;->writeInt(I)V

    array-length v5, v4

    move v0, v1

    :goto_59
    if-ge v0, v5, :cond_3d

    aget-char v6, v4, v0

    invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;->writeChar(I)V

    add-int/lit8 v0, v0, 0x1

    goto :goto_59

    :cond_63
    invoke-virtual {p1, v2}, Lcom/hankcs/hanlp/collection/a/a;->a(Ljava/io/DataOutputStream;)V

    invoke-virtual {v2}, Ljava/io/DataOutputStream;->close()V
    :try_end_69
    .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_69} :catch_6b

    const/4 v0, 0x1

    goto :goto_14

    :catch_6b
    move-exception v0

    sget-object v0, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v3, "\u7f13\u5b58\u503cdat"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string/jumbo v3, "\u5931\u8d25"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V

    move v0, v1

    goto :goto_14
.end method

.method static a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;Z)Z
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcom/hankcs/hanlp/collection/a/a",
            "<",
            "Ljava/lang/String;",
            ">;Z)Z"
        }
    .end annotation

    const/4 v2, 0x0

    const/4 v1, 0x1

    if-eqz p2, :cond_6f

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string/jumbo v3, ".reverse"

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    :goto_18
    invoke-static {v0, p1}, Lcom/hankcs/hanlp/b/a/a;->a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;)Z

    move-result v3

    if-eqz v3, :cond_20

    move v0, v1

    :goto_1f
    return v0

    :cond_20
    new-instance v3, Ljava/util/TreeMap;

    invoke-direct {v3}, Ljava/util/TreeMap;-><init>()V

    new-array v4, v1, [Ljava/lang/String;

    aput-object p0, v4, v2

    invoke-static {v3, p2, v4}, Lcom/hankcs/hanlp/b/a/a;->a(Ljava/util/Map;Z[Ljava/lang/String;)Z

    move-result v4

    if-nez v4, :cond_31

    move v0, v2

    goto :goto_1f

    :cond_31
    sget-object v2, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v5, "\u6b63\u5728\u6784\u5efaAhoCorasickDoubleArrayTrie\uff0c\u6765\u6e90\uff1a"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2, v4}, Ljava/util/logging/Logger;->info(Ljava/lang/String;)V

    invoke-virtual {p1, v3}, Lcom/hankcs/hanlp/collection/a/a;->a(Ljava/util/TreeMap;)V

    sget-object v2, Lcom/hankcs/hanlp/c/b;->u:Ljava/util/logging/Logger;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v5, "\u6b63\u5728\u7f13\u5b58\u53cc\u6570\u7ec4"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2, v4}, Ljava/util/logging/Logger;->info(Ljava/lang/String;)V

    invoke-virtual {v3}, Ljava/util/TreeMap;->entrySet()Ljava/util/Set;

    move-result-object v2

    invoke-static {v0, p1, v2}, Lcom/hankcs/hanlp/b/a/a;->a(Ljava/lang/String;Lcom/hankcs/hanlp/collection/a/a;Ljava/util/Set;)Z

    move v0, v1

    goto :goto_1f

    :cond_6f
    move-object v0, p0

    goto :goto_18
.end method

.method static varargs a(Ljava/util/Map;Z[Ljava/lang/String;)Z
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;Z[",
            "Ljava/lang/String;",
            ")Z"
        }
    .end annotation

    const/4 v1, 0x0

    new-instance v0, Lcom/hankcs/hanlp/a/a/b;

    const-string/jumbo v2, "="

    invoke-direct {v0, v2}, Lcom/hankcs/hanlp/a/a/b;-><init>(Ljava/lang/String;)V

    array-length v3, p2

    move v2, v1

    :goto_b
    if-ge v2, v3, :cond_1a

    aget-object v4, p2, v2

    invoke-virtual {v0, v4}, Lcom/hankcs/hanlp/a/a/b;->a(Ljava/lang/String;)Z

    move-result v4

    if-nez v4, :cond_17

    move v0, v1

    :goto_16
    return v0

    :cond_17
    add-int/lit8 v2, v2, 0x1

    goto :goto_b

    :cond_1a
    if-eqz p1, :cond_20

    invoke-virtual {v0}, Lcom/hankcs/hanlp/a/a/b;->b()Lcom/hankcs/hanlp/a/a/b;

    move-result-object v0

    :cond_20
    invoke-virtual {v0}, Lcom/hankcs/hanlp/a/a/b;->a()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_28
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_40

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/Map$Entry;

    invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v2

    invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v0

    invoke-interface {p0, v2, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_28

    :cond_40
    const/4 v0, 0x1

    goto :goto_16
.end method