/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.security.SpecialKeyType
 *  com.l7tech.gateway.common.security.keystore.SsgKeyEntry
 *  com.l7tech.identity.IdentityProvider
 *  com.l7tech.identity.IdentityProviderConfig
 *  com.l7tech.identity.IdentityProviderConfigManager
 *  com.l7tech.objectmodel.Entity
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.objectmodel.EntityType
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.objectmodel.IdentityHeader
 *  com.l7tech.objectmodel.ObjectNotFoundException
 *  com.l7tech.objectmodel.SsgKeyHeader
 *  com.l7tech.policy.CustomKeyValueStore
 *  com.l7tech.policy.UsesPrivateKeys
 *  com.l7tech.search.Dependencies
 *  com.l7tech.search.Dependency
 *  com.l7tech.search.Dependency$DependencyType
 *  com.l7tech.search.Dependency$MethodReturnType
 *  com.l7tech.security.cert.TrustedCertManager
 *  com.l7tech.util.Functions
 *  com.l7tech.util.Functions$Unary
 *  com.l7tech.util.Functions$UnaryThrows
 *  jakarta.inject.Inject
 *  jakarta.persistence.Transient
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 */
package com.l7tech.server.search.processors;

import com.l7tech.gateway.common.security.SpecialKeyType;
import com.l7tech.gateway.common.security.keystore.SsgKeyEntry;
import com.l7tech.identity.IdentityProvider;
import com.l7tech.identity.IdentityProviderConfig;
import com.l7tech.identity.IdentityProviderConfigManager;
import com.l7tech.objectmodel.Entity;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.IdentityHeader;
import com.l7tech.objectmodel.ObjectNotFoundException;
import com.l7tech.objectmodel.SsgKeyHeader;
import com.l7tech.policy.CustomKeyValueStore;
import com.l7tech.policy.UsesPrivateKeys;
import com.l7tech.search.Dependencies;
import com.l7tech.search.Dependency;
import com.l7tech.security.cert.TrustedCertManager;
import com.l7tech.server.DefaultKey;
import com.l7tech.server.EntityCrud;
import com.l7tech.server.EntityHeaderUtils;
import com.l7tech.server.identity.IdentityProviderFactory;
import com.l7tech.server.policy.CustomKeyValueStoreManager;
import com.l7tech.server.search.exceptions.CannotReplaceDependenciesException;
import com.l7tech.server.search.exceptions.CannotRetrieveDependenciesException;
import com.l7tech.server.search.objects.Dependency;
import com.l7tech.server.search.objects.DependentEntity;
import com.l7tech.server.search.objects.DependentObject;
import com.l7tech.server.search.processors.DependencyFinder;
import com.l7tech.server.search.processors.ab;
import com.l7tech.server.search.processors.b;
import com.l7tech.server.search.processors.k;
import com.l7tech.server.search.processors.m;
import com.l7tech.server.search.processors.n;
import com.l7tech.server.search.processors.o;
import com.l7tech.server.search.processors.p;
import com.l7tech.server.search.processors.q;
import com.l7tech.server.search.processors.r;
import com.l7tech.server.search.processors.s;
import com.l7tech.server.search.processors.t;
import com.l7tech.server.search.processors.u;
import com.l7tech.server.security.keystore.SsgKeyFinder;
import com.l7tech.server.security.keystore.SsgKeyStoreManager;
import com.l7tech.util.Functions;
import jakarta.inject.Inject;
import jakarta.persistence.Transient;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.security.KeyStoreException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

/*
 * Exception performing whole class analysis ignored.
 */
public class DefaultDependencyProcessor<O>
implements ab<O> {
    protected static final Logger logger;
    @Inject
    private EntityCrud entityCrud;
    @Inject
    private IdentityProviderConfigManager identityProviderConfigManager;
    @Inject
    private SsgKeyStoreManager keyStoreManager;
    @Inject
    private CustomKeyValueStoreManager customKeyValueStoreManager;
    @Inject
    private IdentityProviderFactory identityProviderFactory;
    @Inject
    private TrustedCertManager trustedCertManager;
    @Inject
    private DefaultKey defaultKey;
    private static final String[] b;

    @Override
    @NotNull
    public List<Dependency> findDependencies(@NotNull O o2, @NotNull DependencyFinder dependencyFinder) throws FindException, CannotRetrieveDependenciesException {
        ArrayList<Dependency> arrayList;
        try {
            if (o2 == null) {
                DefaultDependencyProcessor.a(0);
            }
        }
        catch (FindException findException) {
            throw DefaultDependencyProcessor.b((Exception)((Object)findException));
        }
        try {
            if (dependencyFinder == null) {
                DefaultDependencyProcessor.a(1);
            }
        }
        catch (FindException findException) {
            throw DefaultDependencyProcessor.b((Exception)((Object)findException));
        }
        ArrayList<Dependency> arrayList2 = new ArrayList<Dependency>();
        try {
            DefaultDependencyProcessor.a(o2, new k(this, arrayList2, dependencyFinder, o2), new m(this, dependencyFinder, arrayList2));
            arrayList = arrayList2;
            if (arrayList == null) {
                DefaultDependencyProcessor.a(2);
            }
        }
        catch (FindException findException) {
            throw DefaultDependencyProcessor.b((Exception)((Object)findException));
        }
        return arrayList;
    }

    /*
     * Loose catch block
     */
    @Nullable
    private static Object a(@NotNull Object object, @NotNull Method method, @Nullable com.l7tech.search.Dependency dependency) throws CannotRetrieveDependenciesException {
        try {
            if (object == null) {
                DefaultDependencyProcessor.a(3);
            }
        }
        catch (InvocationTargetException invocationTargetException) {
            throw DefaultDependencyProcessor.b(invocationTargetException);
        }
        try {
            if (method == null) {
                DefaultDependencyProcessor.a(4);
            }
        }
        catch (InvocationTargetException invocationTargetException) {
            throw DefaultDependencyProcessor.b(invocationTargetException);
        }
        try {
            Object object2;
            block20: {
                Class clazz;
                String string;
                CannotRetrieveDependenciesException cannotRetrieveDependenciesException;
                CannotRetrieveDependenciesException cannotRetrieveDependenciesException2;
                block18: {
                    block21: {
                        block19: {
                            if (method.getParameterTypes().length != 0) break block19;
                            object2 = method.invoke(object, new Object[0]);
                            break block20;
                        }
                        if (method.getParameterTypes().length != 1) break block18;
                        if (!method.getParameterTypes()[0].isAssignableFrom(String.class)) break block18;
                        break block21;
                        catch (InvocationTargetException invocationTargetException) {
                            throw DefaultDependencyProcessor.b(invocationTargetException);
                        }
                    }
                    try {
                        block22: {
                            if (dependency == null) break block18;
                            break block22;
                            catch (InvocationTargetException invocationTargetException) {
                                throw DefaultDependencyProcessor.b(invocationTargetException);
                            }
                        }
                        if (dependency.key().isEmpty()) break block18;
                    }
                    catch (InvocationTargetException invocationTargetException) {
                        throw DefaultDependencyProcessor.b(invocationTargetException);
                    }
                    object2 = method.invoke(object, dependency.key());
                    break block20;
                }
                try {
                    CannotRetrieveDependenciesException cannotRetrieveDependenciesException3;
                    cannotRetrieveDependenciesException2 = cannotRetrieveDependenciesException3;
                    cannotRetrieveDependenciesException = cannotRetrieveDependenciesException3;
                    string = method.getName().substring(3);
                    clazz = dependency != null ? dependency.type().getEntityType().getEntityClass() : method.getReturnType();
                }
                catch (InvocationTargetException invocationTargetException) {
                    throw DefaultDependencyProcessor.b(invocationTargetException);
                }
                String[] stringArray = b;
                cannotRetrieveDependenciesException2(string, clazz, object.getClass(), stringArray[0]);
                throw cannotRetrieveDependenciesException;
            }
            return object2;
        }
        catch (IllegalAccessException | InvocationTargetException reflectiveOperationException) {
            Class clazz;
            String string;
            CannotRetrieveDependenciesException cannotRetrieveDependenciesException;
            CannotRetrieveDependenciesException cannotRetrieveDependenciesException4;
            try {
                CannotRetrieveDependenciesException cannotRetrieveDependenciesException5;
                cannotRetrieveDependenciesException4 = cannotRetrieveDependenciesException5;
                cannotRetrieveDependenciesException = cannotRetrieveDependenciesException5;
                string = method.getName().substring(3);
                clazz = dependency != null ? dependency.type().getEntityType().getEntityClass() : method.getReturnType();
            }
            catch (InvocationTargetException invocationTargetException) {
                throw DefaultDependencyProcessor.b(invocationTargetException);
            }
            cannotRetrieveDependenciesException4(string, clazz, object.getClass(), b[18], reflectiveOperationException);
            throw cannotRetrieveDependenciesException;
        }
    }

    @NotNull
    private static List<DependencyFinder.FindResults> a(@Nullable com.l7tech.search.Dependency dependency, @NotNull Object object, @NotNull DependencyFinder dependencyFinder) throws CannotRetrieveDependenciesException, FindException {
        List<DependencyFinder.FindResults> list;
        try {
            if (object == null) {
                DefaultDependencyProcessor.a(5);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        try {
            if (dependencyFinder == null) {
                DefaultDependencyProcessor.a(6);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        if (dependency != null) {
            List<DependencyFinder.FindResults> list2;
            List<DependencyFinder.FindResults> list3;
            Object object2 = DefaultDependencyProcessor.a(dependency, object);
            try {
                list3 = object2 == null ? Collections.emptyList() : dependencyFinder.retrieveObjects(object2, dependency.type(), dependency.methodReturnType());
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            try {
                list2 = list3;
                if (list3 == null) {
                    DefaultDependencyProcessor.a(7);
                }
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            return list2;
        }
        try {
            list = Arrays.asList(DependencyFinder.FindResults.create(object, null));
            if (list == null) {
                DefaultDependencyProcessor.a(8);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        return list;
    }

    @NotNull
    private static List<DependentObject> b(@Nullable com.l7tech.search.Dependency dependency, @NotNull Object object, @NotNull DependencyFinder dependencyFinder) throws CannotRetrieveDependenciesException {
        List<DependentObject> list;
        try {
            if (object == null) {
                DefaultDependencyProcessor.a(9);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        try {
            if (dependencyFinder == null) {
                DefaultDependencyProcessor.a(10);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        if (dependency != null) {
            List<DependentObject> list2;
            List<DependentObject> list3;
            Object object2 = DefaultDependencyProcessor.a(dependency, object);
            try {
                list3 = object2 == null ? Collections.emptyList() : dependencyFinder.a(object2, dependency.type(), dependency.methodReturnType());
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            try {
                list2 = list3;
                if (list3 == null) {
                    DefaultDependencyProcessor.a(11);
                }
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            return list2;
        }
        try {
            list = Arrays.asList(dependencyFinder.createDependentObject(object));
            if (list == null) {
                DefaultDependencyProcessor.a(12);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        return list;
    }

    @Nullable
    private static Object a(@NotNull com.l7tech.search.Dependency dependency, @NotNull Object object) throws CannotRetrieveDependenciesException {
        block10: {
            block11: {
                try {
                    if (dependency == null) {
                        DefaultDependencyProcessor.a(13);
                    }
                }
                catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                    throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                }
                try {
                    if (object == null) {
                        DefaultDependencyProcessor.a(14);
                    }
                }
                catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                    throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                }
                try {
                    try {
                        if (!(object instanceof Map)) break block10;
                        if (!dependency.key().isEmpty()) break block11;
                    }
                    catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                        throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                    }
                    throw new CannotRetrieveDependenciesException(dependency.methodReturnType().name(), dependency.type().getEntityType().getEntityClass(), b[66]);
                }
                catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                    throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                }
            }
            return ((Map)object).get(dependency.key());
        }
        return object;
    }

    /*
     * Unable to fully structure code
     * Enabled force condition propagation
     * Lifted jumps to return sites
     */
    @Override
    @NotNull
    public List<DependencyFinder.FindResults<O>> find(@NotNull Object var1_1, @NotNull Dependency.DependencyType var2_2, @NotNull Dependency.MethodReturnType var3_3) throws FindException {
        try {
            if (var1_1 == null) {
                DefaultDependencyProcessor.a(15);
            }
        }
        catch (CannotRetrieveDependenciesException v0) {
            throw DefaultDependencyProcessor.b(v0);
        }
        try {
            if (var2_2 == null) {
                DefaultDependencyProcessor.a(16);
            }
        }
        catch (CannotRetrieveDependenciesException v1) {
            throw DefaultDependencyProcessor.b(v1);
        }
        try {
            if (var3_3 == null) {
                DefaultDependencyProcessor.a(17);
            }
        }
        catch (CannotRetrieveDependenciesException v2) {
            throw DefaultDependencyProcessor.b(v2);
        }
        switch (s.a[var3_3.ordinal()]) {
            case 1: {
                try {
                    var4_4 = DefaultDependencyProcessor.a(var1_1, var2_2.getEntityType());
                }
                catch (CannotRetrieveDependenciesException var5_8) {
                    var6_9 = DefaultDependencyProcessor.b;
                    throw new FindException(var6_9[57] + String.valueOf(var2_2.getEntityType()), (Throwable)var5_8);
                }
                try {
                    v3 = Functions.map(var4_4, (Functions.UnaryThrows)new n(this, var2_2, var1_1));
                    if (v3 != null) return v3;
                    DefaultDependencyProcessor.a(18);
                    return v3;
                }
                catch (CannotRetrieveDependenciesException v4) {
                    throw DefaultDependencyProcessor.b(v4);
                }
            }
            case 2: {
                if (!(var1_1 instanceof Entity)) ** GOTO lbl52
                try {
                    v5 = Arrays.asList(new DependencyFinder.FindResults[]{DependencyFinder.FindResults.create(var1_1, null)});
                    if (v5 != null) return v5;
                    ** GOTO lbl44
                    catch (CannotRetrieveDependenciesException v6) {
                        throw DefaultDependencyProcessor.b(v6);
                    }
lbl44:
                    // 1 sources

                    DefaultDependencyProcessor.a(19);
                    return v5;
                }
                catch (CannotRetrieveDependenciesException v7) {
                    throw DefaultDependencyProcessor.b(v7);
                }
                {
                    catch (ClassCastException var4_5) {
                        var6_10 = DefaultDependencyProcessor.b;
                        throw new FindException(var6_10[57] + String.valueOf(var2_2.getEntityType()) + var6_10[81] + String.valueOf(var1_1.getClass()), (Throwable)var4_5);
                    }
                }
lbl52:
                // 1 sources

                var6_11 = DefaultDependencyProcessor.b;
                throw new FindException(var6_11[57] + String.valueOf(var2_2.getEntityType()) + var6_11[11] + String.valueOf(var1_1.getClass()));
            }
            case 3: {
                if (var1_1 instanceof EntityHeader) {
                    try {
                        var4_6 = this.loadEntity((EntityHeader)var1_1);
                        v8 = Arrays.asList(new DependencyFinder.FindResults[]{DependencyFinder.FindResults.create(var4_6, (EntityHeader)var1_1)});
                    }
                    catch (ClassCastException var4_7) {
                        var6_12 = DefaultDependencyProcessor.b;
                        throw new FindException(var6_12[57] + String.valueOf(var2_2.getEntityType()) + var6_12[5] + String.valueOf(var1_1.getClass()), (Throwable)var4_7);
                    }
                    if (v8 != null) return v8;
                    DefaultDependencyProcessor.a(20);
                    return v8;
                }
                var6_13 = DefaultDependencyProcessor.b;
                throw new FindException(var6_13[57] + String.valueOf(var2_2.getEntityType()) + var6_13[63] + String.valueOf(var1_1.getClass()));
            }
        }
        var6_14 = DefaultDependencyProcessor.b;
        throw new FindException(var6_14[57] + String.valueOf(var2_2.getEntityType()) + var6_14[73] + String.valueOf(var3_3));
    }

    @NotNull
    private static List<EntityHeader> a(@NotNull Object object, @NotNull EntityType entityType) throws CannotRetrieveDependenciesException {
        List<EntityHeader> list;
        List<EntityHeader> list2;
        try {
            if (object == null) {
                DefaultDependencyProcessor.a(21);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        try {
            if (entityType == null) {
                DefaultDependencyProcessor.a(22);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        if (object instanceof Goid) {
            list2 = Arrays.asList(new EntityHeader((Goid)object, entityType, null, null));
        } else if (object instanceof String) {
            list2 = Arrays.asList(new EntityHeader((String)object, entityType, null, null));
        } else if (object instanceof Goid[]) {
            Goid[] goidArray = (Goid[])object;
            list2 = new ArrayList<EntityHeader>(goidArray.length);
            for (Goid goid : goidArray) {
                list2.add(new EntityHeader(goid, entityType, null, null));
            }
        } else {
            String[] stringArray = b;
            throw new CannotRetrieveDependenciesException(entityType.getEntityClass(), stringArray[71] + String.valueOf(object.getClass()) + stringArray[28]);
        }
        try {
            list = list2;
            if (list == null) {
                DefaultDependencyProcessor.a(23);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        return list;
    }

    @Override
    @NotNull
    public DependentObject createDependentObject(@NotNull O o2) {
        try {
            if (o2 == null) {
                DefaultDependencyProcessor.a(24);
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        if (o2 instanceof Entity) {
            EntityHeader entityHeader = EntityHeaderUtils.fromEntity((Entity)o2);
            try {
                if (o2 instanceof IdentityProviderConfig) {
                    entityHeader.setType(EntityType.ID_PROVIDER_CONFIG);
                }
            }
            catch (ClassCastException classCastException) {
                throw DefaultDependencyProcessor.b(classCastException);
            }
            return DefaultDependencyProcessor.a(entityHeader);
        }
        return new b(this, null, Dependency.DependencyType.ANY);
    }

    @NotNull
    private static DependentEntity a(@NotNull EntityHeader entityHeader) {
        try {
            if (entityHeader == null) {
                DefaultDependencyProcessor.a(25);
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        return new DependentEntity(entityHeader.getName(), entityHeader);
    }

    /*
     * Unable to fully structure code
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    @Override
    @NotNull
    public List<DependentObject> createDependentObjects(@NotNull Object var1_1, @NotNull Dependency.DependencyType var2_2, @NotNull Dependency.MethodReturnType var3_3) throws CannotRetrieveDependenciesException {
        try {
            if (var1_1 == null) {
                DefaultDependencyProcessor.a(26);
            }
        }
        catch (ClassCastException v0) {
            throw DefaultDependencyProcessor.b(v0);
        }
        try {
            if (var2_2 == null) {
                DefaultDependencyProcessor.a(27);
            }
        }
        catch (ClassCastException v1) {
            throw DefaultDependencyProcessor.b(v1);
        }
        try {
            if (var3_3 == null) {
                DefaultDependencyProcessor.a(28);
            }
        }
        catch (ClassCastException v2) {
            throw DefaultDependencyProcessor.b(v2);
        }
        switch (s.a[var3_3.ordinal()]) {
            case 1: {
                var4_4 = DefaultDependencyProcessor.a(var1_1, var2_2.getEntityType());
                try {
                    v3 = Functions.map(var4_4, (Functions.Unary)new o(this));
                    if (v3 != null) return v4;
                    DefaultDependencyProcessor.a(29);
                    return v3;
                }
                catch (ClassCastException v5) {
                    throw DefaultDependencyProcessor.b(v5);
                }
            }
            case 2: {
                try {
                    try {
                        if (var1_1 instanceof Entity) {
                            try {
                                v6 = Arrays.asList(new DependentObject[]{this.createDependentObject(var1_1)});
                            }
                            catch (ClassCastException var4_5) {
                                var5_6 = DefaultDependencyProcessor.b;
                                throw new CannotRetrieveDependenciesException(var2_2.getEntityType().getEntityClass(), var5_6[74] + String.valueOf(var1_1.getClass()), var4_5);
                            }
                            v7 = v6;
                            if (v6 != null) return v7;
                        }
                        ** GOTO lbl49
                    }
                    catch (CannotRetrieveDependenciesException v8) {
                        throw DefaultDependencyProcessor.b(v8);
                    }
                    DefaultDependencyProcessor.a(30);
                    return v7;
                }
                catch (CannotRetrieveDependenciesException v9) {
                    throw DefaultDependencyProcessor.b(v9);
                }
lbl49:
                // 1 sources

                var5_7 = DefaultDependencyProcessor.b;
                throw new CannotRetrieveDependenciesException(var2_2.getEntityType().getEntityClass(), var5_7[1] + String.valueOf(var2_2.getEntityType()) + var5_7[40] + String.valueOf(var1_1.getClass()));
            }
            case 3: {
                try {
                    try {
                        if (var1_1 instanceof EntityHeader) {
                            v10 = Arrays.asList(new DependentObject[]{DefaultDependencyProcessor.a((EntityHeader)var1_1)});
                            v11 = v10;
                            if (v10 != null) return v11;
                        }
                        ** GOTO lbl67
                    }
                    catch (ClassCastException v12) {
                        throw DefaultDependencyProcessor.b(v12);
                    }
                    DefaultDependencyProcessor.a(31);
                    return v11;
                }
                catch (ClassCastException v13) {
                    throw DefaultDependencyProcessor.b(v13);
                }
lbl67:
                // 1 sources

                var5_8 = DefaultDependencyProcessor.b;
                throw new CannotRetrieveDependenciesException(var2_2.getEntityType().getEntityClass(), var5_8[78] + String.valueOf(var1_1.getClass()));
            }
        }
        throw new CannotRetrieveDependenciesException(var2_2.getEntityType().getEntityClass(), DefaultDependencyProcessor.b[36] + String.valueOf(var3_3));
    }

    @Override
    public void replaceDependencies(@NotNull O o2, @NotNull Map<EntityHeader, EntityHeader> map, @NotNull DependencyFinder dependencyFinder, boolean bl2) throws CannotReplaceDependenciesException {
        try {
            if (o2 == null) {
                DefaultDependencyProcessor.a(32);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        try {
            if (map == null) {
                DefaultDependencyProcessor.a(33);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        try {
            if (dependencyFinder == null) {
                DefaultDependencyProcessor.a(34);
            }
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
        }
        try {
            DefaultDependencyProcessor.a(o2, new p(this, dependencyFinder, map, o2), new q(this, map));
        }
        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
            throw new CannotReplaceDependenciesException(o2.getClass(), cannotRetrieveDependenciesException.getMessage(), cannotRetrieveDependenciesException);
        }
    }

    private static <T extends Throwable> void a(@NotNull Object object, @NotNull t<T> t2, @NotNull u<T> u2) throws CannotRetrieveDependenciesException, T {
        block26: {
            try {
                if (object == null) {
                    DefaultDependencyProcessor.a(35);
                }
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            try {
                if (t2 == null) {
                    DefaultDependencyProcessor.a(36);
                }
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            try {
                if (u2 == null) {
                    DefaultDependencyProcessor.a(37);
                }
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            List<Method> list = DefaultDependencyProcessor.a(object.getClass());
            for (Method method : list) {
                if (!DefaultDependencyProcessor.a(method)) continue;
                Dependencies dependencies = method.getAnnotation(Dependencies.class);
                if (dependencies == null) {
                    Object object2;
                    com.l7tech.search.Dependency dependency;
                    block25: {
                        dependency = method.getAnnotation(com.l7tech.search.Dependency.class);
                        try {
                            if (dependency == null || !dependency.searchObject()) break block25;
                        }
                        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                        }
                        object2 = DefaultDependencyProcessor.a(object, method, dependency);
                        try {
                            if (object2 == null) continue;
                            DefaultDependencyProcessor.a(object2, t2, u2);
                            continue;
                        }
                        catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                            throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                        }
                    }
                    object2 = DefaultDependencyProcessor.a(object, method, dependency);
                    try {
                        if (object2 == null) continue;
                        t2.process(object2, method, dependency);
                        continue;
                    }
                    catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                        throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                    }
                }
                for (com.l7tech.search.Dependency dependency : dependencies.value()) {
                    Object object3 = DefaultDependencyProcessor.a(object, method, dependency);
                    try {
                        if (object3 == null) continue;
                        t2.process(object3, method, dependency);
                    }
                    catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                        throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                    }
                }
            }
            try {
                if (!(object instanceof UsesPrivateKeys) || ((UsesPrivateKeys)object).getPrivateKeysUsed() == null) break block26;
            }
            catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
            }
            for (SsgKeyHeader ssgKeyHeader : ((UsesPrivateKeys)object).getPrivateKeysUsed()) {
                try {
                    if (ssgKeyHeader == null) continue;
                    u2.process((UsesPrivateKeys)object, ssgKeyHeader);
                }
                catch (CannotRetrieveDependenciesException cannotRetrieveDependenciesException) {
                    throw DefaultDependencyProcessor.b(cannotRetrieveDependenciesException);
                }
            }
        }
    }

    /*
     * Exception decompiling
     */
    private void a(@NotNull O var1_1, @NotNull Method var2_2, @Nullable com.l7tech.search.Dependency var3_3, @NotNull EntityHeader var4_4, @NotNull EntityHeader var5_5) throws CannotReplaceDependenciesException {
        /*
         * This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
         * 
         * org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [22[CASE]], but top level block is 15[TRYBLOCK]
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:850)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
         *     at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
         *     at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1055)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:942)
         *     at org.benf.cfr.reader.Driver.doJarVersionTypes(Driver.java:257)
         *     at org.benf.cfr.reader.Driver.doJar(Driver.java:139)
         *     at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:76)
         *     at org.benf.cfr.reader.Main.main(Main.java:54)
         */
        throw new IllegalStateException("Decompilation failed");
    }

    @Nullable
    private static Method a(@NotNull Class<?> clazz, @NotNull String string, @NotNull Class<?> clazz2) {
        try {
            if (clazz == null) {
                DefaultDependencyProcessor.a(42);
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        try {
            if (string == null) {
                DefaultDependencyProcessor.a(43);
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        try {
            if (clazz2 == null) {
                DefaultDependencyProcessor.a(44);
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        return (Method)Functions.grepFirst(Arrays.asList(clazz.getMethods()), (Functions.Unary)new r(string, clazz2));
    }

    @NotNull
    private static List<Method> a(@NotNull Class clazz) {
        ArrayList<Method> arrayList;
        try {
            if (clazz == null) {
                DefaultDependencyProcessor.a(45);
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        ArrayList<Method> arrayList2 = new ArrayList<Method>(Arrays.asList(clazz.getDeclaredMethods()));
        try {
            if (clazz.getSuperclass() != null) {
                arrayList2.addAll(DefaultDependencyProcessor.a(clazz.getSuperclass()));
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        try {
            arrayList = arrayList2;
            if (arrayList == null) {
                DefaultDependencyProcessor.a(46);
            }
        }
        catch (ClassCastException classCastException) {
            throw DefaultDependencyProcessor.b(classCastException);
        }
        return arrayList;
    }

    private static boolean a(@NotNull Method method) {
        block23: {
            boolean bl2;
            block25: {
                block24: {
                    block20: {
                        boolean bl3;
                        block22: {
                            block21: {
                                try {
                                    if (method == null) {
                                        DefaultDependencyProcessor.a(47);
                                    }
                                }
                                catch (ClassCastException classCastException) {
                                    throw DefaultDependencyProcessor.b(classCastException);
                                }
                                com.l7tech.search.Dependency dependency = method.getAnnotation(com.l7tech.search.Dependency.class);
                                Dependencies dependencies = method.getAnnotation(Dependencies.class);
                                try {
                                    if (dependency != null) {
                                        return dependency.isDependency();
                                    }
                                }
                                catch (ClassCastException classCastException) {
                                    throw DefaultDependencyProcessor.b(classCastException);
                                }
                                try {
                                    try {
                                        if (dependencies == null) break block20;
                                        if (dependencies.value().length <= 0) break block21;
                                    }
                                    catch (ClassCastException classCastException) {
                                        throw DefaultDependencyProcessor.b(classCastException);
                                    }
                                    bl3 = true;
                                    break block22;
                                }
                                catch (ClassCastException classCastException) {
                                    throw DefaultDependencyProcessor.b(classCastException);
                                }
                            }
                            bl3 = false;
                        }
                        return bl3;
                    }
                    try {
                        try {
                            try {
                                try {
                                    try {
                                        if (method.getAnnotation(Transient.class) != null) break block23;
                                        if (!method.getName().startsWith(b[72])) break block24;
                                    }
                                    catch (ClassCastException classCastException) {
                                        throw DefaultDependencyProcessor.b(classCastException);
                                    }
                                    if (!Entity.class.isAssignableFrom(method.getReturnType())) break block24;
                                }
                                catch (ClassCastException classCastException) {
                                    throw DefaultDependencyProcessor.b(classCastException);
                                }
                                if (!Modifier.isPublic(method.getModifiers())) break block24;
                            }
                            catch (ClassCastException classCastException) {
                                throw DefaultDependencyProcessor.b(classCastException);
                            }
                            if (method.getParameterTypes().length != 0) break block24;
                        }
                        catch (ClassCastException classCastException) {
                            throw DefaultDependencyProcessor.b(classCastException);
                        }
                        bl2 = true;
                        break block25;
                    }
                    catch (ClassCastException classCastException) {
                        throw DefaultDependencyProcessor.b(classCastException);
                    }
                }
                bl2 = false;
            }
            return bl2;
        }
        return false;
    }

    /*
     * Loose catch block
     */
    protected Entity loadEntity(@NotNull EntityHeader entityHeader) throws FindException {
        block55: {
            block56: {
                block52: {
                    CustomKeyValueStore customKeyValueStore;
                    String string;
                    block59: {
                        block54: {
                            block53: {
                                block47: {
                                    SsgKeyEntry ssgKeyEntry;
                                    block51: {
                                        try {
                                            if (entityHeader == null) {
                                                DefaultDependencyProcessor.a(48);
                                            }
                                        }
                                        catch (IOException iOException) {
                                            throw DefaultDependencyProcessor.b(iOException);
                                        }
                                        try {
                                            if (EntityType.ID_PROVIDER_CONFIG.equals((Object)entityHeader.getType())) {
                                                return this.identityProviderConfigManager.findByHeader(entityHeader);
                                            }
                                        }
                                        catch (IOException iOException) {
                                            throw DefaultDependencyProcessor.b(iOException);
                                        }
                                        try {
                                            if (!EntityType.SSG_KEY_ENTRY.equals((Object)entityHeader.getType()) || !(entityHeader instanceof SsgKeyHeader)) break block47;
                                        }
                                        catch (IOException iOException) {
                                            throw DefaultDependencyProcessor.b(iOException);
                                        }
                                        SsgKeyHeader ssgKeyHeader = (SsgKeyHeader)entityHeader;
                                        try {
                                            block48: {
                                                block50: {
                                                    block49: {
                                                        if (!Goid.isDefault((Goid)ssgKeyHeader.getKeystoreId())) break block48;
                                                        try {
                                                            block57: {
                                                                if (ssgKeyHeader.getAlias() == null) break block49;
                                                                break block57;
                                                                catch (IOException iOException) {
                                                                    throw DefaultDependencyProcessor.b(iOException);
                                                                }
                                                            }
                                                            if (!SpecialKeyType.DEFAULT_SSL_KEY_ALIAS.equals(ssgKeyHeader.getAlias())) break block50;
                                                        }
                                                        catch (IOException iOException) {
                                                            throw DefaultDependencyProcessor.b(iOException);
                                                        }
                                                    }
                                                    try {
                                                        ssgKeyEntry = this.defaultKey.getSslInfo();
                                                        break block51;
                                                    }
                                                    catch (IOException iOException) {
                                                        String[] stringArray = b;
                                                        throw new FindException(stringArray[51], (Throwable)iOException);
                                                    }
                                                }
                                                if (SpecialKeyType.DEFAULT_SERVER_SSL_KEY_ALIAS.equals(ssgKeyHeader.getAlias())) {
                                                    try {
                                                        ssgKeyEntry = this.defaultKey.getServerSslInfo();
                                                        break block51;
                                                    }
                                                    catch (IOException iOException) {
                                                        String[] stringArray = b;
                                                        throw new FindException(stringArray[38], (Throwable)iOException);
                                                    }
                                                }
                                                if (SpecialKeyType.DEFAULT_CLIENT_SSL_KEY_ALIAS.equals(ssgKeyHeader.getAlias())) {
                                                    try {
                                                        ssgKeyEntry = this.defaultKey.getClientSslInfo();
                                                        break block51;
                                                    }
                                                    catch (IOException iOException) {
                                                        String[] stringArray = b;
                                                        throw new FindException(stringArray[15], (Throwable)iOException);
                                                    }
                                                }
                                                ssgKeyEntry = this.keyStoreManager.lookupKeyByKeyAlias(ssgKeyHeader.getAlias(), ssgKeyHeader.getKeystoreId());
                                                break block51;
                                            }
                                            try {
                                                SsgKeyFinder ssgKeyFinder = this.keyStoreManager.findByPrimaryKey(ssgKeyHeader.getKeystoreId());
                                                ssgKeyEntry = ssgKeyFinder.getCertificateChain(ssgKeyHeader.getAlias());
                                            }
                                            catch (ObjectNotFoundException objectNotFoundException) {
                                                return null;
                                            }
                                        }
                                        catch (KeyStoreException keyStoreException) {
                                            String[] stringArray = b;
                                            throw new FindException(stringArray[48], (Throwable)keyStoreException);
                                        }
                                    }
                                    return ssgKeyEntry;
                                }
                                if (!EntityType.CUSTOM_KEY_VALUE_STORE.equals((Object)entityHeader.getType())) break block52;
                                try {
                                    block58: {
                                        if (entityHeader.getGoid() == null) break block53;
                                        break block58;
                                        catch (IOException iOException) {
                                            throw DefaultDependencyProcessor.b(iOException);
                                        }
                                    }
                                    if (!Goid.DEFAULT_GOID.equals((Object)entityHeader.getGoid())) break block54;
                                }
                                catch (IOException iOException) {
                                    throw DefaultDependencyProcessor.b(iOException);
                                }
                            }
                            string = entityHeader.getName();
                            customKeyValueStore = (CustomKeyValueStore)this.customKeyValueStoreManager.findByUniqueName(string);
                            break block59;
                        }
                        string = entityHeader.getStrId();
                        customKeyValueStore = (CustomKeyValueStore)this.customKeyValueStoreManager.findByPrimaryKey(entityHeader.getGoid());
                    }
                    try {
                        if (customKeyValueStore == null) {
                            throw new FindException(b[39] + string + "\"");
                        }
                    }
                    catch (IOException iOException) {
                        throw DefaultDependencyProcessor.b(iOException);
                    }
                    return customKeyValueStore;
                }
                if (!EntityType.TRUSTED_CERT.equals((Object)entityHeader.getType())) break block55;
                try {
                    block60: {
                        if (!Goid.isDefault((Goid)entityHeader.getGoid())) break block56;
                        break block60;
                        catch (IOException iOException) {
                            throw DefaultDependencyProcessor.b(iOException);
                        }
                    }
                    return this.trustedCertManager.findByUniqueName(entityHeader.getName());
                }
                catch (IOException iOException) {
                    throw DefaultDependencyProcessor.b(iOException);
                }
            }
            return this.trustedCertManager.findByPrimaryKey(entityHeader.getGoid());
        }
        if (entityHeader instanceof IdentityHeader) {
            IdentityProvider identityProvider;
            Goid goid = ((IdentityHeader)entityHeader).getProviderGoid();
            try {
                identityProvider = this.identityProviderFactory.getProvider(goid);
            }
            catch (FindException findException) {
                identityProvider = null;
            }
            try {
                if (identityProvider == null) {
                    return null;
                }
            }
            catch (IOException iOException) {
                throw DefaultDependencyProcessor.b(iOException);
            }
            try {
                if (EntityType.USER.equals((Object)entityHeader.getType())) {
                    return identityProvider.getUserManager().findByPrimaryKey(entityHeader.getStrId());
                }
            }
            catch (IOException iOException) {
                throw DefaultDependencyProcessor.b(iOException);
            }
            try {
                if (EntityType.GROUP.equals((Object)entityHeader.getType())) {
                    return identityProvider.getGroupManager().findByPrimaryKey(entityHeader.getStrId());
                }
            }
            catch (IOException iOException) {
                throw DefaultDependencyProcessor.b(iOException);
            }
            throw new FindException(b[77] + String.valueOf(entityHeader.getType()));
        }
        return this.entityCrud.find(entityHeader);
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[82];
                var3_1 = 0;
                var2_2 = "\u00166Ex>d\u0000'2_d8uV0wOs!uN12Eu(0F'8F6<uT=8O6&yT=wFy#u\u0000!?Nxq\u007fN0w[w#qM0#Nd\">\f\u00166Ex>d\u00003>Erq\n49Ey%qT<8E\u001a\u00166Ex>d\u00003>ErqcE!#Ndq}E!?Dr\u007f\u000e'2[z0sE82Eb\u001cqP){wnx%yT,wHw?~O!wIsqsA&#\u000bb>0C:%Ys2d\u0000!.[sk0\u001022_S?dI!.cs0tE'$\u00103>Er\u0015uP09Os?sI0$\u000b09_\u007f%ic96Xe$22_R4`E;3Nx2yE&\u0011Yy<]E!?Dr\u0003uT %E@0|U0>68F9='T04C9\"uR#2Y9\"uA'4C9!bO62Xe>bSz\u0013Np0eL!\u0013Nf4~D09Ho\u0001bO62Xe>bI{wfs%xO1wYs%eR;w_o!u\u0000<$\u000bS?dI!.\u000bt$d\u0000!?N6#uT %Es50O7=Nu%0I&wEy%0A;wNx%yT,m\u000b\u00166%Nw%ud0'Nx5uN!\u0018I|4sT&\u001a\u00166Ex>d\u00003>ErqcE!#Ndq}E!?Dr\u007f\n09_\u007f%it,'N$\u00168^z50N:#\u000bq4d\u0000\u00112Mw$|Tu\u0014G\u007f4~Tu\u0004xZq[E,\u001022_S?dI!.cs0tE'$\u001e%%Du4cS\u001a5As2dd0'Nx5uN6.fs%xO1$\u001e\u00168^z50N:#\u000b\u007f?fO>2\u000bq4dT0%\u000b{4dH:3\u0016&2_R4`E;3Nx2if:%fs%xO1\u00064\u0014Gw\"c\n3>Er\u001cuT=8O\u0003&2_\u0006:5As2d>\u0014%Lc<uN!wMy#0`\u001b8_X$|Lu'Jd0}E!2Y6v5SrwDpq5S{rX6<eS!wEy%0B0wEc=|$22_R4`E;3Nx2yE&\u0011Yy<]E!?Dr\u0003uT %E@0|U0\u0018%%Du4cS\u00182_~>tr0#^d?FA9\"N\u00043>Er%u\u0012Sf4sT03\u000ba8dHu\u0010D\u007f5<\u0000\u0006#Y\u007f?w\u0000:%\u000bQ>yD\u000e\n\u00063>Er4b\u00043>Er\u0013%%Du4cS\u00182_~>tr0#^d?\u000b&2Jd2xv4;^s\r22_W=|m0#Cy5c\u00156%Nw%ud0'Nx5uN!\u0018I|4sT\u0006=2Jr4b\u001b\u00009Xc!`O'#NrqcE4%H~q}E!?Drk0\u001e\u00168^z50N:#\u000b\u007f?fO>2\u000be4dT0%\u000b{4dH:3$\u00168^z50N:#\u000bq4d\u0000\u00112Mw$|Tu\u0004Nd'uRu\u0004xZq[E,)\u00168^z5~\u0007!wM\u007f?t\u00006\"Xb>}\u0000>2R6'qL 2\u000ba8dHu>O,q2V{wfs%xO1wYs%eR;w_o!u\u0000<$\u000bS?dI!.cs0tE'wIc%0T=2\u000bd4dU'9Nrq\u007fB?2HbqySu9DbqqNu2Eb8dYu?Nw5uRow\u000682_~>t)22_R4`E;3Nx%UN!>_\u007f4cf'8F[4dH:3ys%eR;\u0001Jz$u\u001d\u00009Xc!`O'#NrqtE%2Er4~C,w_o!u\u001au\u00103>Er\u0015uP09Os?sI0$*\u0015\u0019Db\u001feL9wFs%xO1w\u000ee\u007f5Su:^e%0N:#\u000bd4dU'9\u000bx$|L\u00136\"Yd4~T\u00109_\u007f%ih06Os#\u0013'2[z0sE\u00112[s?tE;4Bs\"\u001d\u0010/Hs!dI:9\u000bp8~D<9L6\u0002cG\u001e2RS?dR,\n98Jr\u0014~T<#R\u000e12[s?tE;4RB(`E\u001d\u00168^z50N:#\u000bq4d\u0000\u00112Mw$|Tu\u0004xZq[E,\u001c'2_d8uV0\u0013Nf4~D09Ho\u0017bO8\u001aNb9\u007fD>68F9='T04C9\"uR#2Y9\"uA'4C9!bO62Xe>bSz\u0013Np0eL!\u0013Nf4~D09Ho\u0001bO62Xe>b\u001d\u0001?BeqcH:\"Grq~E#2Y63u\u0000%8Xe8rL0\u001182_~>tr0#^d?FA9\"N\u00156%Nw%ud0'Nx5uN!\u0012Eb8dY\f\u00166Ex>d\u00003>Erq\f09_\u007f%ih06Os#\u0018<$os!uN12Eu(WE!#Nd\u001cuT=8O\u000f&2Jd2xv4;^s\u0005iP0\u0013%%Du4cS\u0006$L]4ih06Os#\u0003&2_V{wfs%xO1wYs%eR;w_o!u\u0000<$\u000bS?dI!.cs0tE'wIc%0T=2\u000bd4dU'9Nrq\u007fB?2HbqySu9DbqqNu2Eb8dYu?Nw5uRow\f22_b4bm0#Cy5)22_R4`E;3Nx%UN!>_\u007f4cf'8F[4dH:3ys%eR;\u0001Jz$up\u0002?NxqqNu2Eb8dYu:Nb9\u007fDu%Nb$bN&wJ6<qPu#Csq}A%w@s(0M $_63u\u0000&'Nu8vI03\u000b\u007f?0O'3NdqdOu%Nb#yE#2\u000bb9u\u000068Yd4sTu$Nw#sHu!Jz$u\u000e\u00166%Nw%ud0'Nx5uN!\u0018I|4sT&\t12[s?tE;#\n82_~>tn4:N1\u00072[z0sI;0\u000b`0bI45GsqtE%2Er4~C<2X68c\u0000;8_6\"eP%8Yb4t\u000e\u001d\u00009Xc!`O'#NrqWo\u001c\u0013\u000b`0|U0w_o!u\u001au\u000322_\u001d{w~x\"eP%8Yb4t\u0000&2Jd2x\u000082_~>t\u001au3\u00182_~>t\u0000'2_c#~\u0000!.[sqsA;9DbqrEu4Je%0T:wHy#bE6#\u000bb(`Eow\u0017\u00168^z50N:#\u000bp8~Du2Eb8dYow\r%6Yw<uT0%\u007fo!u=\u00009@x>gNu>Os?dI!.\u000bb(`EywNn!uC!2O64yT=2Y6$cE'wDdqwR:\"[8qVO 9O,qT\u00182_~>t\u0000'2_c#~\u0000!.[sqySu\u0012Eb8dY\u001d2Jr4b\u00007\"_6%xEu%Nb$bN03\u000by3zE6#\u000b\u007f\"0N:#\u000bw?0E;#Bb(0H06Os#*\u0000\u001e\u00168^z50N:#\u000b\u007f?fO>2\u000be4dT0%\u000b{4dH:3";
                var4_3 = "\u00166Ex>d\u0000'2_d8uV0wOs!uN12Eu(0F'8F6<uT=8O6&yT=wFy#u\u0000!?Nxq\u007fN0w[w#qM0#Nd\">\f\u00166Ex>d\u00003>Erq\n49Ey%qT<8E\u001a\u00166Ex>d\u00003>ErqcE!#Ndq}E!?Dr\u007f\u000e'2[z0sE82Eb\u001cqP){wnx%yT,wHw?~O!wIsqsA&#\u000bb>0C:%Ys2d\u0000!.[sk0\u001022_S?dI!.cs0tE'$\u00103>Er\u0015uP09Os?sI0$\u000b09_\u007f%ic96Xe$22_R4`E;3Nx2yE&\u0011Yy<]E!?Dr\u0003uT %E@0|U0>68F9='T04C9\"uR#2Y9\"uA'4C9!bO62Xe>bSz\u0013Np0eL!\u0013Nf4~D09Ho\u0001bO62Xe>bI{wfs%xO1wYs%eR;w_o!u\u0000<$\u000bS?dI!.\u000bt$d\u0000!?N6#uT %Es50O7=Nu%0I&wEy%0A;wNx%yT,m\u000b\u00166%Nw%ud0'Nx5uN!\u0018I|4sT&\u001a\u00166Ex>d\u00003>ErqcE!#Ndq}E!?Dr\u007f\n09_\u007f%it,'N$\u00168^z50N:#\u000bq4d\u0000\u00112Mw$|Tu\u0014G\u007f4~Tu\u0004xZq[E,\u001022_S?dI!.cs0tE'$\u001e%%Du4cS\u001a5As2dd0'Nx5uN6.fs%xO1$\u001e\u00168^z50N:#\u000b\u007f?fO>2\u000bq4dT0%\u000b{4dH:3\u0016&2_R4`E;3Nx2if:%fs%xO1\u00064\u0014Gw\"c\n3>Er\u001cuT=8O\u0003&2_\u0006:5As2d>\u0014%Lc<uN!wMy#0`\u001b8_X$|Lu'Jd0}E!2Y6v5SrwDpq5S{rX6<eS!wEy%0B0wEc=|$22_R4`E;3Nx2yE&\u0011Yy<]E!?Dr\u0003uT %E@0|U0\u0018%%Du4cS\u00182_~>tr0#^d?FA9\"N\u00043>Er%u\u0012Sf4sT03\u000ba8dHu\u0010D\u007f5<\u0000\u0006#Y\u007f?w\u0000:%\u000bQ>yD\u000e\n\u00063>Er4b\u00043>Er\u0013%%Du4cS\u00182_~>tr0#^d?\u000b&2Jd2xv4;^s\r22_W=|m0#Cy5c\u00156%Nw%ud0'Nx5uN!\u0018I|4sT\u0006=2Jr4b\u001b\u00009Xc!`O'#NrqcE4%H~q}E!?Drk0\u001e\u00168^z50N:#\u000b\u007f?fO>2\u000be4dT0%\u000b{4dH:3$\u00168^z50N:#\u000bq4d\u0000\u00112Mw$|Tu\u0004Nd'uRu\u0004xZq[E,)\u00168^z5~\u0007!wM\u007f?t\u00006\"Xb>}\u0000>2R6'qL 2\u000ba8dHu>O,q2V{wfs%xO1wYs%eR;w_o!u\u0000<$\u000bS?dI!.cs0tE'wIc%0T=2\u000bd4dU'9Nrq\u007fB?2HbqySu9DbqqNu2Eb8dYu?Nw5uRow\u000682_~>t)22_R4`E;3Nx%UN!>_\u007f4cf'8F[4dH:3ys%eR;\u0001Jz$u\u001d\u00009Xc!`O'#NrqtE%2Er4~C,w_o!u\u001au\u00103>Er\u0015uP09Os?sI0$*\u0015\u0019Db\u001feL9wFs%xO1w\u000ee\u007f5Su:^e%0N:#\u000bd4dU'9\u000bx$|L\u00136\"Yd4~T\u00109_\u007f%ih06Os#\u0013'2[z0sE\u00112[s?tE;4Bs\"\u001d\u0010/Hs!dI:9\u000bp8~D<9L6\u0002cG\u001e2RS?dR,\n98Jr\u0014~T<#R\u000e12[s?tE;4RB(`E\u001d\u00168^z50N:#\u000bq4d\u0000\u00112Mw$|Tu\u0004xZq[E,\u001c'2_d8uV0\u0013Nf4~D09Ho\u0017bO8\u001aNb9\u007fD>68F9='T04C9\"uR#2Y9\"uA'4C9!bO62Xe>bSz\u0013Np0eL!\u0013Nf4~D09Ho\u0001bO62Xe>b\u001d\u0001?BeqcH:\"Grq~E#2Y63u\u0000%8Xe8rL0\u001182_~>tr0#^d?FA9\"N\u00156%Nw%ud0'Nx5uN!\u0012Eb8dY\f\u00166Ex>d\u00003>Erq\f09_\u007f%ih06Os#\u0018<$os!uN12Eu(WE!#Nd\u001cuT=8O\u000f&2Jd2xv4;^s\u0005iP0\u0013%%Du4cS\u0006$L]4ih06Os#\u0003&2_V{wfs%xO1wYs%eR;w_o!u\u0000<$\u000bS?dI!.cs0tE'wIc%0T=2\u000bd4dU'9Nrq\u007fB?2HbqySu9DbqqNu2Eb8dYu?Nw5uRow\f22_b4bm0#Cy5)22_R4`E;3Nx%UN!>_\u007f4cf'8F[4dH:3ys%eR;\u0001Jz$up\u0002?NxqqNu2Eb8dYu:Nb9\u007fDu%Nb$bN&wJ6<qPu#Csq}A%w@s(0M $_63u\u0000&'Nu8vI03\u000b\u007f?0O'3NdqdOu%Nb#yE#2\u000bb9u\u000068Yd4sTu$Nw#sHu!Jz$u\u000e\u00166%Nw%ud0'Nx5uN!\u0018I|4sT&\t12[s?tE;#\n82_~>tn4:N1\u00072[z0sI;0\u000b`0bI45GsqtE%2Er4~C<2X68c\u0000;8_6\"eP%8Yb4t\u000e\u001d\u00009Xc!`O'#NrqWo\u001c\u0013\u000b`0|U0w_o!u\u001au\u000322_\u001d{w~x\"eP%8Yb4t\u0000&2Jd2x\u000082_~>t\u001au3\u00182_~>t\u0000'2_c#~\u0000!.[sqsA;9DbqrEu4Je%0T:wHy#bE6#\u000bb(`Eow\u0017\u00168^z50N:#\u000bp8~Du2Eb8dYow\r%6Yw<uT0%\u007fo!u=\u00009@x>gNu>Os?dI!.\u000bb(`EywNn!uC!2O64yT=2Y6$cE'wDdqwR:\"[8qVO 9O,qT\u00182_~>t\u0000'2_c#~\u0000!.[sqySu\u0012Eb8dY\u001d2Jr4b\u00007\"_6%xEu%Nb$bN03\u000by3zE6#\u000b\u007f\"0N:#\u000bw?0E;#Bb(0H06Os#*\u0000\u001e\u00168^z50N:#\u000b\u007f?fO>2\u000be4dT0%\u000b{4dH:3".length();
                var1_4 = 69;
                var0_5 = -1;
lbl7:
                // 2 sources

                while (true) {
                    v0 = 44;
                    v1 = ++var0_5;
                    v2 = var2_2.substring(v1, v1 + var1_4);
                    v3 = -1;
                    break block9;
                    break;
                }
lbl13:
                // 1 sources

                while (true) {
                    var5[var3_1++] = DefaultDependencyProcessor.a(v0, DefaultDependencyProcessor.b(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "tt\u0019\u0011{:+ve\u0005?s%5=1 5c>\tw1\u001f5c#\u0014}1\u0019)g3Fpp\u0003>x\"FqtM3v%\u00123e\u0002pt9\u0014at\u000e$7\"\u001fctWp";
                    var4_3 = "tt\u0019\u0011{:+ve\u0005?s%5=1 5c>\tw1\u001f5c#\u0014}1\u0019)g3Fpp\u0003>x\"FqtM3v%\u00123e\u0002pt9\u0014at\u000e$7\"\u001fctWp".length();
                    var1_4 = 13;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 106;
                        v4 = ++var0_5;
                        v2 = var2_2.substring(v4, v4 + var1_4);
                        v3 = 0;
                        break block9;
                        break;
                    }
                    break;
                }
lbl28:
                // 1 sources

                while (true) {
                    var5[var3_1++] = DefaultDependencyProcessor.a(v0, DefaultDependencyProcessor.b(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block10;
                    break;
                }
            }
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl39:
                // 1 sources

                ** continue;
            }
        }
        DefaultDependencyProcessor.b = var5;
        DefaultDependencyProcessor.logger = Logger.getLogger(DefaultDependencyProcessor.class.getName());
    }

    /*
     * Exception decompiling
     */
    private static /* synthetic */ void a(int var0) {
        /*
         * This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
         * 
         * org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [0[TRYBLOCK]], but top level block is 6[SWITCH]
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:850)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
         *     at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
         *     at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1050)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:942)
         *     at org.benf.cfr.reader.Driver.doJarVersionTypes(Driver.java:257)
         *     at org.benf.cfr.reader.Driver.doJar(Driver.java:139)
         *     at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:76)
         *     at org.benf.cfr.reader.Main.main(Main.java:54)
         */
        throw new IllegalStateException("Decompilation failed");
    }

    private static Exception b(Exception exception) {
        return exception;
    }

    private static char[] b(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0xC);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String a(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 121;
                    case 1 -> 123;
                    case 2 -> 7;
                    case 3 -> 58;
                    case 4 -> 125;
                    case 5 -> 60;
                    default -> 12;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

