/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.common.io.WhirlycacheFactory
 *  com.l7tech.gateway.common.audit.AuditDetail
 *  com.l7tech.gateway.common.audit.AuditRecord
 *  com.l7tech.gateway.common.audit.AuditRecordHeader
 *  com.l7tech.gateway.common.audit.AuditSearchCriteria
 *  com.l7tech.gateway.common.audit.ExternalAuditRecordHeader
 *  com.l7tech.gateway.common.service.PublishedService
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.policy.assertion.AssertionStatus
 *  com.l7tech.policy.assertion.PolicyAssertionException
 *  com.l7tech.policy.variable.NoSuchVariableException
 *  com.l7tech.util.Config
 *  com.l7tech.util.ExceptionUtils
 *  com.l7tech.util.GoidUpgradeMapper
 *  com.l7tech.util.Pair
 *  com.l7tech.util.ResourceUtils
 *  com.l7tech.util.ValidatedConfig
 *  com.whirlycott.cache.Cache
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 */
package com.l7tech.server.audit;

import com.l7tech.common.io.WhirlycacheFactory;
import com.l7tech.gateway.common.audit.AuditDetail;
import com.l7tech.gateway.common.audit.AuditRecord;
import com.l7tech.gateway.common.audit.AuditRecordHeader;
import com.l7tech.gateway.common.audit.AuditSearchCriteria;
import com.l7tech.gateway.common.audit.ExternalAuditRecordHeader;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.server.audit.AuditContextFactory;
import com.l7tech.server.audit.AuditLookupPolicyEnforcementContext;
import com.l7tech.server.audit.AuditLookupSearchCriteria;
import com.l7tech.server.audit.ExternalAuditsUtils;
import com.l7tech.server.audit.aa;
import com.l7tech.server.audit.y;
import com.l7tech.server.audit.z;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.message.PolicyEnforcementContextFactory;
import com.l7tech.server.message.PolicyEnforcementContextWrapper;
import com.l7tech.server.policy.PolicyCache;
import com.l7tech.server.policy.ServerPolicyHandle;
import com.l7tech.util.Config;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.GoidUpgradeMapper;
import com.l7tech.util.Pair;
import com.l7tech.util.ResourceUtils;
import com.l7tech.util.ValidatedConfig;
import com.whirlycott.cache.Cache;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.Closeable;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

/*
 * Exception performing whole class analysis ignored.
 */
public class AuditLookupPolicyEvaluator
implements PropertyChangeListener {
    private static final Logger a;
    private final Config b;
    private ValidatedConfig c;
    private final PolicyCache d;
    private final Cache e;
    private final Cache f;
    private static final AtomicLong g;
    private long h;
    private static final String[] i;

    public AuditLookupPolicyEvaluator(Config config, PolicyCache policyCache) {
        this.b = config;
        this.c = new ValidatedConfig(config, a);
        this.d = policyCache;
        String[] stringArray = i;
        this.e = WhirlycacheFactory.createCache((String)stringArray[61], (int)10000, (int)120, (String)WhirlycacheFactory.POLICY_LRU);
        this.f = WhirlycacheFactory.createCache((String)stringArray[73], (int)100000, (int)120, (String)WhirlycacheFactory.POLICY_LRU);
        this.c.setMinimumValue(stringArray[1], (Number)0);
        this.c.setMaximumValue(stringArray[32], (Number)Long.MAX_VALUE);
        this.h = this.c.getLongProperty(stringArray[32], 0xA00000L);
    }

    @Override
    public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
        block4: {
            String string = propertyChangeEvent.getPropertyName();
            try {
                try {
                    if (string == null || !string.equals(i[32])) break block4;
                }
                catch (ClassCastException classCastException) {
                    throw AuditLookupPolicyEvaluator.a(classCastException);
                }
                this.h = this.c.getLongProperty(i[32], 0xA00000L);
            }
            catch (ClassCastException classCastException) {
                throw AuditLookupPolicyEvaluator.a(classCastException);
            }
        }
    }

    private String a() {
        return this.b.getProperty(i[19]);
    }

    @NotNull
    public List<AuditRecordHeader> findHeaders(@NotNull AuditSearchCriteria auditSearchCriteria) throws FindException {
        List<AuditRecordHeader> list;
        AssertionStatus assertionStatus;
        PolicyEnforcementContext policyEnforcementContext;
        block11: {
            List<AuditRecordHeader> list2;
            try {
                if (auditSearchCriteria == null) {
                    AuditLookupPolicyEvaluator.a(0);
                }
            }
            catch (Exception exception) {
                throw AuditLookupPolicyEvaluator.a(exception);
            }
            try {
                policyEnforcementContext = PolicyEnforcementContextFactory.createPolicyEnforcementContext(null, null);
                assertionStatus = AuditContextFactory.doWithCustomAuditContext(AuditContextFactory.createLogOnlyAuditContext(), new y(this, auditSearchCriteria, policyEnforcementContext));
                if (assertionStatus != null) break block11;
                list2 = Collections.emptyList();
            }
            catch (Exception exception) {
                String[] stringArray = i;
                a.log(Level.WARNING, stringArray[74] + ExceptionUtils.getMessage((Throwable)exception), ExceptionUtils.getDebugException((Throwable)exception));
                throw new FindException(stringArray[7], (Throwable)exception);
            }
            if (list2 == null) {
                AuditLookupPolicyEvaluator.a(1);
            }
            return list2;
        }
        try {
            if (assertionStatus != AssertionStatus.NONE) {
                throw new FindException(i[76]);
            }
        }
        catch (Exception exception) {
            throw AuditLookupPolicyEvaluator.a(exception);
        }
        List<AuditRecordHeader> list3 = list = this.b(policyEnforcementContext);
        if (list3 == null) {
            AuditLookupPolicyEvaluator.a(2);
        }
        return list3;
    }

    /*
     * Unable to fully structure code
     */
    private Map<String, AuditRecord> a(PolicyEnforcementContext var1_1) {
        var2_2 = new HashMap<String, AuditRecord>();
        try {
            var67_3 = AuditLookupPolicyEvaluator.i;
            var3_5 = var67_3[46];
            var4_8 = var1_1.getVariable(var67_3[52]);
            var5_9 = new ArrayList<AuditRecord>();
            if ((Integer)var4_8 == 0) {
                return var2_2;
            }
            var67_3 = AuditLookupPolicyEvaluator.i;
            var6_10 = (Object[])var1_1.getVariable(var67_3[6]);
            var7_11 = (Object[])var1_1.getVariable(var67_3[78]);
            var8_12 = (Object[])var1_1.getVariable(var67_3[28]);
            var9_13 = (Object[])var1_1.getVariable(var67_3[56]);
            var10_14 = (Object[])var1_1.getVariable(var67_3[23]);
            var11_15 = (Object[])var1_1.getVariable(var67_3[45]);
            var12_16 = (Object[])var1_1.getVariable(var67_3[70]);
            var13_17 = (Object[])var1_1.getVariable(var67_3[57]);
            var14_18 = (Object[])var1_1.getVariable(var67_3[49]);
            var15_19 = (Object[])var1_1.getVariable(var67_3[41]);
            var16_20 = (Object[])var1_1.getVariable(var67_3[62]);
            var17_21 = (Object[])var1_1.getVariable(var67_3[36]);
            var18_22 = (Object[])var1_1.getVariable(var67_3[54]);
            var19_23 = (Object[])var1_1.getVariable(var67_3[13]);
            var20_24 = (Object[])var1_1.getVariable(var67_3[48]);
            var21_25 = (Object[])var1_1.getVariable(var67_3[11]);
            var22_26 = (Object[])var1_1.getVariable(var67_3[69]);
            var23_27 = (Object[])var1_1.getVariable(var67_3[37]);
            var24_28 = (Object[])var1_1.getVariable(var67_3[35]);
            var25_29 = (Object[])var1_1.getVariable(var67_3[14]);
            var26_30 = (Object[])var1_1.getVariable(var67_3[10]);
            var27_31 = (Object[])var1_1.getVariable(var67_3[63]);
            var28_32 = (Object[])var1_1.getVariable(var67_3[29]);
            var29_33 = (Object[])var1_1.getVariable(var67_3[2]);
            var30_34 = (Object[])var1_1.getVariable(var67_3[8]);
            var31_35 = (Object[])var1_1.getVariable(var67_3[59]);
            var32_36 = (Object[])var1_1.getVariable(var67_3[80]);
            var33_37 = (Object[])var1_1.getVariable(var67_3[4]);
            var34_38 = (Object[])var1_1.getVariable(var67_3[20]);
            for (var35_39 = 0; var35_39 < (Integer)var4_8; ++var35_39) {
                block16: {
                    block18: {
                        block19: {
                            block17: {
                                var36_40 = ExternalAuditsUtils.getStringData(var6_10[var35_39]);
                                var37_41 = ExternalAuditsUtils.getStringData(var7_11[var35_39]);
                                var38_42 = ExternalAuditsUtils.getLongData(var8_12[var35_39]);
                                var39_43 = ExternalAuditsUtils.getStringData(var9_13[var35_39]);
                                var40_44 = ExternalAuditsUtils.getStringData(var10_14[var35_39]);
                                var41_45 = ExternalAuditsUtils.getStringData(var11_15[var35_39]);
                                var42_46 = ExternalAuditsUtils.getStringData(var12_16[var35_39]);
                                var43_47 = ExternalAuditsUtils.getStringData(var13_17[var35_39]);
                                var44_48 = ExternalAuditsUtils.getStringData(var14_18[var35_39]);
                                var45_49 = ExternalAuditsUtils.getStringData(var15_19[var35_39]);
                                var46_50 = ExternalAuditsUtils.getStringData(var16_20[var35_39]);
                                var47_51 = ExternalAuditsUtils.getStringData(var17_21[var35_39]);
                                var48_52 = ExternalAuditsUtils.getStringData(var18_22[var35_39]);
                                var49_53 = ExternalAuditsUtils.getStringData(var19_23[var35_39]);
                                var50_54 = ExternalAuditsUtils.getIntegerData(var20_24[var35_39]);
                                var51_55 = ExternalAuditsUtils.getStringData(var21_25[var35_39]);
                                var52_56 = ExternalAuditsUtils.getStringData(var22_26[var35_39]);
                                var53_57 = ExternalAuditsUtils.getStringData(var23_27[var35_39]);
                                var54_58 = ExternalAuditsUtils.getBooleanData(var24_28[var35_39]);
                                var55_59 = ExternalAuditsUtils.getStringData(var25_29[var35_39]);
                                var56_60 = ExternalAuditsUtils.getIntegerData(var26_30[var35_39]);
                                var57_61 = ExternalAuditsUtils.getIntegerData(var27_31[var35_39]);
                                var58_62 = ExternalAuditsUtils.getByteArrayData(var28_32[var35_39]);
                                var59_63 = ExternalAuditsUtils.getByteArrayData(var29_33[var35_39]);
                                var60_64 = ExternalAuditsUtils.getIntegerData(var30_34[var35_39]);
                                var61_65 = ExternalAuditsUtils.getIntegerData(var31_35[var35_39]);
                                var62_66 = ExternalAuditsUtils.getStringData(var32_36[var35_39]);
                                var63_67 = ExternalAuditsUtils.getIntegerData(var33_37[var35_39]);
                                var64_68 = ExternalAuditsUtils.getStringData(var34_38[var35_39]);
                                var65_69 = (AuditRecord)this.e.retrieve((Object)var36_40);
                                try {
                                    if (var65_69 != null) break block16;
                                    if (var57_61 != null) break block17;
                                }
                                catch (NoSuchVariableException v0) {
                                    throw AuditLookupPolicyEvaluator.a((Exception)v0);
                                }
                                var57_61 = -1;
                            }
                            if (var56_60 == null) {
                                var56_60 = -1;
                            }
                            var65_69 = ExternalAuditsUtils.makeAuditRecord(var36_40, var37_41, var38_42, var39_43, var40_44, var41_45, var42_46, var43_47, var44_48, var45_49, var46_50, var47_51, var48_52, var49_53, var50_54, var51_55, var52_56, var53_57, var54_58, var55_59, var56_60, var57_61, var58_62, var59_63, var60_64, var61_65, var63_67, var64_68, var62_66);
                            var66_70 = (Goid)this.f.retrieve((Object)var36_40);
                            try {
                                v1 = var65_69;
                                v2 = var66_70 == null ? GoidUpgradeMapper.mapOid(null, (Long)AuditLookupPolicyEvaluator.g.incrementAndGet()) : var66_70;
                            }
                            catch (NoSuchVariableException v3) {
                                throw AuditLookupPolicyEvaluator.a((Exception)v3);
                            }
                            v1.setGoid(v2);
                            if (this.h <= 0L) break block18;
                            if ((long)var56_60.intValue() > this.h) ** GOTO lbl101
                            break block19;
                            catch (NoSuchVariableException v4) {
                                throw AuditLookupPolicyEvaluator.a((Exception)v4);
                            }
                        }
                        try {
                            block20: {
                                if ((long)var57_61.intValue() <= this.h) break block18;
                                break block20;
                                catch (NoSuchVariableException v5) {
                                    throw AuditLookupPolicyEvaluator.a((Exception)v5);
                                }
                            }
                            this.f.store((Object)var36_40, (Object)var66_70);
                            var2_2.put(var36_40, var65_69);
                            break block16;
                        }
                        catch (NoSuchVariableException v6) {
                            throw AuditLookupPolicyEvaluator.a((Exception)v6);
                        }
                    }
                    this.e.store((Object)var36_40, (Object)var65_69);
                }
                var5_9.add(var65_69);
            }
            this.a(var1_1, var2_2);
        }
        catch (NoSuchVariableException var3_6) {
            var67_4 = AuditLookupPolicyEvaluator.i;
            AuditLookupPolicyEvaluator.a.warning(var67_4[12] + var3_6.getMessage());
        }
        catch (ClassCastException var3_7) {
            AuditLookupPolicyEvaluator.a.warning(AuditLookupPolicyEvaluator.i[15] + var3_7.getMessage());
        }
        return var2_2;
    }

    private List<AuditRecordHeader> b(PolicyEnforcementContext policyEnforcementContext) {
        try {
            String[] stringArray = i;
            String string = stringArray[31];
            Object object = policyEnforcementContext.getVariable(stringArray[77]);
            ArrayList<AuditRecordHeader> arrayList = new ArrayList<AuditRecordHeader>();
            if ((Integer)object == 0) {
                return new ArrayList<AuditRecordHeader>();
            }
            stringArray = i;
            Object[] objectArray = (Object[])policyEnforcementContext.getVariable(stringArray[24]);
            Object[] objectArray2 = (Object[])policyEnforcementContext.getVariable(stringArray[44]);
            Object[] objectArray3 = (Object[])policyEnforcementContext.getVariable(stringArray[25]);
            Object[] objectArray4 = (Object[])policyEnforcementContext.getVariable(stringArray[9]);
            Object[] objectArray5 = (Object[])policyEnforcementContext.getVariable(stringArray[72]);
            Object[] objectArray6 = (Object[])policyEnforcementContext.getVariable(stringArray[50]);
            Object[] objectArray7 = (Object[])policyEnforcementContext.getVariable(stringArray[47]);
            Object[] objectArray8 = (Object[])policyEnforcementContext.getVariable(stringArray[26]);
            for (int i2 = 0; i2 < (Integer)object; ++i2) {
                ExternalAuditRecordHeader externalAuditRecordHeader;
                String string2 = ExternalAuditsUtils.getStringData(objectArray[i2]);
                AuditRecord auditRecord = this.a(string2, null);
                if (auditRecord == null) {
                    String string3;
                    Goid goid;
                    String string4;
                    String string5;
                    ExternalAuditRecordHeader externalAuditRecordHeader2;
                    ExternalAuditRecordHeader externalAuditRecordHeader3;
                    Goid goid2;
                    Object object2 = this.f.retrieve((Object)string2);
                    if (object2 == null) {
                        goid2 = GoidUpgradeMapper.mapOid(null, (Long)g.incrementAndGet());
                        this.f.store((Object)string2, (Object)goid2);
                    } else {
                        goid2 = (Goid)object2;
                    }
                    String string6 = ExternalAuditsUtils.getStringData(objectArray2[i2]);
                    Long l2 = ExternalAuditsUtils.getLongData(objectArray3[i2]);
                    String string7 = ExternalAuditsUtils.getStringData(objectArray4[i2]);
                    String string8 = ExternalAuditsUtils.getStringData(objectArray5[i2]);
                    String string9 = ExternalAuditsUtils.getStringData(objectArray6[i2]);
                    String string10 = ExternalAuditsUtils.getStringData(objectArray7[i2]);
                    String string11 = ExternalAuditsUtils.getStringData(objectArray8[i2]);
                    try {
                        ExternalAuditRecordHeader externalAuditRecordHeader4;
                        externalAuditRecordHeader3 = externalAuditRecordHeader4;
                        externalAuditRecordHeader2 = externalAuditRecordHeader4;
                        string5 = string2;
                        string4 = string11;
                        goid = goid2;
                        string3 = string11.equals(i[60]) ? string8 : "";
                    }
                    catch (NoSuchVariableException noSuchVariableException) {
                        throw AuditLookupPolicyEvaluator.a((Exception)((Object)noSuchVariableException));
                    }
                    externalAuditRecordHeader3(string5, string4, goid, string3, string9, null, string10 == null || string10.isEmpty() ? null : string10, string6, l2.longValue(), Level.parse(string7), 0);
                    externalAuditRecordHeader = externalAuditRecordHeader2;
                } else {
                    externalAuditRecordHeader = new ExternalAuditRecordHeader(auditRecord, string2);
                }
                arrayList.add((AuditRecordHeader)externalAuditRecordHeader);
            }
            return arrayList;
        }
        catch (NoSuchVariableException noSuchVariableException) {
            String[] stringArray = i;
            a.warning(stringArray[17] + noSuchVariableException.getMessage());
        }
        catch (ClassCastException classCastException) {
            a.warning(i[82] + classCastException.getMessage());
        }
        return new ArrayList<AuditRecordHeader>();
    }

    private void a(PolicyEnforcementContext policyEnforcementContext, Map<String, AuditRecord> map) {
        Object[] objectArray;
        String[] stringArray = i;
        String string = stringArray[34];
        Integer n2 = 0;
        try {
            objectArray = policyEnforcementContext.getVariable(string + stringArray[67]);
            n2 = (Integer)objectArray;
            if (n2 == 0) {
                return;
            }
        }
        catch (NoSuchVariableException noSuchVariableException) {
            return;
        }
        try {
            stringArray = i;
            objectArray = (Object[])policyEnforcementContext.getVariable(string + stringArray[18]);
            Object[] objectArray2 = (Object[])policyEnforcementContext.getVariable(string + stringArray[5]);
            Object[] objectArray3 = (Object[])policyEnforcementContext.getVariable(string + stringArray[40]);
            Object[] objectArray4 = (Object[])policyEnforcementContext.getVariable(string + stringArray[0]);
            Object[] objectArray5 = (Object[])policyEnforcementContext.getVariable(string + stringArray[3]);
            Object[] objectArray6 = (Object[])policyEnforcementContext.getVariable(string + stringArray[43]);
            Object[] objectArray7 = (Object[])policyEnforcementContext.getVariable(string + stringArray[64]);
            for (int i2 = 0; i2 < n2; ++i2) {
                String string2 = ExternalAuditsUtils.getStringData(objectArray[i2]);
                Long l2 = ExternalAuditsUtils.getLongData(objectArray2[i2]);
                Integer n3 = ExternalAuditsUtils.getIntegerData(objectArray3[i2]);
                Integer n4 = ExternalAuditsUtils.getIntegerData(objectArray4[i2]);
                Integer n5 = ExternalAuditsUtils.getIntegerData(objectArray5[i2]);
                String string3 = ExternalAuditsUtils.getStringData(objectArray6[i2]);
                String string4 = ExternalAuditsUtils.getStringData(objectArray7[i2]);
                AuditDetail auditDetail = ExternalAuditsUtils.makeAuditDetail(i2, string2, l2, n3, n4, n5, string3, string4);
                AuditRecord auditRecord = this.a(string2, map);
                try {
                    if (auditRecord == null) {
                        a.warning(i[27] + string2);
                        continue;
                    }
                }
                catch (NoSuchVariableException noSuchVariableException) {
                    throw AuditLookupPolicyEvaluator.a((Exception)((Object)noSuchVariableException));
                }
                auditDetail.setAuditRecord(auditRecord);
                Set set = auditRecord.getDetails();
                set.add(auditDetail);
                auditRecord.setDetails(set);
            }
        }
        catch (NoSuchVariableException noSuchVariableException) {
            stringArray = i;
            a.warning(stringArray[42]);
        }
        catch (ClassCastException classCastException) {
            a.warning(i[82] + classCastException.getMessage());
        }
    }

    public AuditRecord findByGuid(String string) throws FindException {
        AuditRecord auditRecord = this.a(string, null);
        try {
            if (auditRecord != null) {
                return auditRecord;
            }
        }
        catch (Exception exception) {
            throw AuditLookupPolicyEvaluator.a(exception);
        }
        try {
            PolicyEnforcementContext policyEnforcementContext = PolicyEnforcementContextFactory.createPolicyEnforcementContext(null, null);
            AssertionStatus assertionStatus = AuditContextFactory.doWithCustomAuditContext(AuditContextFactory.createLogOnlyAuditContext(), new z(this, string, policyEnforcementContext));
            if (assertionStatus == null) {
                return null;
            }
            try {
                if (assertionStatus != AssertionStatus.NONE) {
                    throw new FindException(i[22]);
                }
            }
            catch (Exception exception) {
                throw AuditLookupPolicyEvaluator.a(exception);
            }
            Map<String, AuditRecord> map = this.a(policyEnforcementContext);
            auditRecord = this.a(string, map);
            return auditRecord;
        }
        catch (Exception exception) {
            String[] stringArray = i;
            a.log(Level.WARNING, stringArray[55] + ExceptionUtils.getMessage((Throwable)exception), ExceptionUtils.getDebugException((Throwable)exception));
            throw new FindException(stringArray[75], (Throwable)exception);
        }
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     */
    private AssertionStatus a(AuditLookupSearchCriteria auditLookupSearchCriteria, PolicyEnforcementContext policyEnforcementContext) {
        AssertionStatus assertionStatus;
        ServerPolicyHandle serverPolicyHandle;
        block19: {
            AssertionStatus assertionStatus2;
            block18: {
                String[] stringArray;
                Object object;
                serverPolicyHandle = null;
                try {
                    String string;
                    block17: {
                        string = this.a();
                        try {
                            if (string != null && string.trim().length() >= 1) break block17;
                        }
                        catch (PolicyAssertionException policyAssertionException) {
                            throw AuditLookupPolicyEvaluator.a((Exception)((Object)policyAssertionException));
                        }
                        String[] stringArray2 = i;
                        a.log(Level.FINEST, stringArray2[53]);
                        AssertionStatus assertionStatus3 = null;
                        return assertionStatus3;
                    }
                    object = new AuditLookupPolicyEnforcementContext(auditLookupSearchCriteria, policyEnforcementContext);
                    ((PolicyEnforcementContextWrapper)object).setAuditLevel(Level.INFO);
                    PublishedService publishedService = new PublishedService();
                    stringArray = i;
                    publishedService.setName(stringArray[71]);
                    publishedService.setSoap(false);
                    ((PolicyEnforcementContextWrapper)object).setService(publishedService);
                    serverPolicyHandle = this.d.getServerPolicy(string);
                    if (serverPolicyHandle == null) {
                        a.log(Level.WARNING, stringArray[33], string);
                        assertionStatus2 = AssertionStatus.SERVER_ERROR;
                        ResourceUtils.closeQuietly((Closeable)serverPolicyHandle);
                        break block18;
                    }
                    AssertionStatus assertionStatus4 = serverPolicyHandle.checkRequest((PolicyEnforcementContext)object);
                    try {
                        if (!AssertionStatus.NONE.equals(assertionStatus4)) {
                            a.log(Level.WARNING, i[39] + String.valueOf(assertionStatus4));
                        }
                    }
                    catch (PolicyAssertionException policyAssertionException) {
                        throw AuditLookupPolicyEvaluator.a((Exception)((Object)policyAssertionException));
                    }
                    assertionStatus = assertionStatus4;
                    ResourceUtils.closeQuietly((Closeable)serverPolicyHandle);
                    break block19;
                }
                catch (PolicyAssertionException policyAssertionException) {
                    stringArray = i;
                    a.log(Level.WARNING, stringArray[55] + ExceptionUtils.getMessage((Throwable)policyAssertionException), ExceptionUtils.getDebugException((Throwable)policyAssertionException));
                    object = AssertionStatus.SERVER_ERROR;
                    return object;
                }
                catch (IOException iOException) {
                    stringArray = i;
                    a.log(Level.WARNING, stringArray[65] + ExceptionUtils.getMessage((Throwable)iOException), ExceptionUtils.getDebugException((Throwable)iOException));
                    object = AssertionStatus.SERVER_ERROR;
                    return object;
                }
                catch (Exception exception) {
                    a.log(Level.WARNING, i[79] + ExceptionUtils.getMessage((Throwable)exception), ExceptionUtils.getDebugException((Throwable)exception));
                    object = AssertionStatus.SERVER_ERROR;
                    return object;
                }
            }
            ResourceUtils.closeQuietly((Closeable)policyEnforcementContext);
            return assertionStatus2;
        }
        ResourceUtils.closeQuietly((Closeable)policyEnforcementContext);
        return assertionStatus;
        finally {
            ResourceUtils.closeQuietly(serverPolicyHandle);
            ResourceUtils.closeQuietly((Closeable)policyEnforcementContext);
        }
    }

    /*
     * Could not resolve type clashes
     * Loose catch block
     */
    public Map<String, Pair<byte[], byte[]>> getDigestForAuditRecords(Collection<String> collection) throws FindException {
        AuditRecord auditRecord;
        HashMap<String, Pair<byte[], byte[]>> hashMap = new HashMap<String, Pair<byte[], byte[]>>();
        String[] stringArray = i;
        int n2 = this.c.getIntProperty(stringArray[81], 100);
        ArrayList<String> arrayList = new ArrayList<String>();
        for (Object object : collection) {
            block21: {
                auditRecord = this.a((String)object, null);
                if (auditRecord == null) break block21;
                try {
                    block22: {
                        if (auditRecord.getSignature() == null) break block21;
                        break block22;
                        catch (Exception exception) {
                            throw AuditLookupPolicyEvaluator.a(exception);
                        }
                    }
                    hashMap.put((String)object, (Pair<byte[], byte[]>)new Pair((Object)auditRecord.computeSignatureDigest(), (Object)auditRecord.computeOldIdSignatureDigest()));
                    continue;
                }
                catch (Exception exception) {
                    throw AuditLookupPolicyEvaluator.a(exception);
                }
            }
            try {
                if (arrayList.size() >= n2) continue;
                arrayList.add((String)object);
            }
            catch (Exception exception) {
                throw AuditLookupPolicyEvaluator.a(exception);
            }
        }
        try {
            if (arrayList.isEmpty()) {
                return hashMap;
            }
        }
        catch (Exception exception) {
            throw AuditLookupPolicyEvaluator.a(exception);
        }
        stringArray = i;
        Long l2 = this.c.getLongProperty(stringArray[21], 0x280000L);
        try {
            Object object;
            object = PolicyEnforcementContextFactory.createPolicyEnforcementContext(null, null);
            auditRecord = AuditContextFactory.doWithCustomAuditContext(AuditContextFactory.createLogOnlyAuditContext(), new aa(this, arrayList, l2, (PolicyEnforcementContext)object));
            if (auditRecord == null) {
                return hashMap;
            }
            try {
                if (auditRecord != AssertionStatus.NONE) {
                    throw new FindException(i[22]);
                }
            }
            catch (Exception exception) {
                throw AuditLookupPolicyEvaluator.a(exception);
            }
            this.a((PolicyEnforcementContext)object);
            for (String string : arrayList) {
                AuditRecord auditRecord2 = this.a(string, null);
                if (auditRecord2 == null) continue;
                try {
                    block23: {
                        if (auditRecord2.getSignature() == null) continue;
                        break block23;
                        catch (Exception exception) {
                            throw AuditLookupPolicyEvaluator.a(exception);
                        }
                    }
                    hashMap.put(string, (Pair<byte[], byte[]>)new Pair((Object)auditRecord2.computeSignatureDigest(), (Object)auditRecord2.computeOldIdSignatureDigest()));
                }
                catch (Exception exception) {
                    throw AuditLookupPolicyEvaluator.a(exception);
                }
            }
            return hashMap;
        }
        catch (Exception exception) {
            stringArray = i;
            a.log(Level.WARNING, stringArray[55] + ExceptionUtils.getMessage((Throwable)exception), ExceptionUtils.getDebugException((Throwable)exception));
            throw new FindException(stringArray[75], (Throwable)exception);
        }
    }

    private AuditRecord a(String string, @Nullable Map<String, AuditRecord> map) {
        Object object;
        block4: {
            object = this.e.retrieve((Object)string);
            try {
                try {
                    if (map == null || object != null) break block4;
                }
                catch (ClassCastException classCastException) {
                    throw AuditLookupPolicyEvaluator.a(classCastException);
                }
                return map.get(string);
            }
            catch (ClassCastException classCastException) {
                throw AuditLookupPolicyEvaluator.a(classCastException);
            }
        }
        return (AuditRecord)object;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[83];
                var3_1 = 0;
                var2_2 = "[\u0018(F)\f'\u0019#\u0014\u0002>K4L*\u001a\u00181W0L%\u0014\u00142Gn\u000f#\u0006\u0004;E%1/\u000f\u0012\u0016K-\u000b2\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0006\u00075L3\u0007\u0019\r\u001a6\u000b[\u001a?Q3\u0003!\u0010(3F\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0001)\u0018\u00075L%\f2*\u001e>\u0005[\u00033O%\u000e\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000b\"%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e\u001b\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0006\u00075L3\u0007\u0019\u0006\u0003;V5\u0011\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0011\u001e.},\u00070\u0010\u001b\u001a\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0004\u0002?Q4=*\u0010\u0019=V(\u0016\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0004\u0002?Q4=/\u001170\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u00065YW)M-\u0007f\u0013\u001e?N$\u0011f\u001b\u0018.\u00020\u0010#\u0006\u00124VzB\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0007(\u0001\u001e.[\u001f\u000b\"\u001e\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0001\u001f?L4\u000b%\u0014\u00033M.6?\u0005\u001230\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u00065YW<K%\u000e\"U\u0003#R%B+\u001c\u00047C4\u0001.OW2\u0016\u00187\r,U2\u0010\u00142\r3\u00074\u0003\u0012(\r!\u0017\"\u001c\u0003uc5\u0006/\u0001;5M+\u00176%\u00186K#\u001b\u0003\u0003\u00166W!\u0016)\u000770\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u00065YW)M-\u0007f\u0013\u001e?N$\u0011f\u001b\u0018.\u00020\u0010#\u0006\u00124VzB\n[\u0016/F)\u0016\u0019\u001a\u001e>\u0018\u0014\u0002>K4L*\u001a\u00181W0L6\u001a\u001b3A9L!\u0000\u001e>\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0003%\u0001\u001e5L\u001b\u0014\u0002>K4L5\u0010\u0016(A(L+\u0014\u000f\u0017G3\u0011'\u0012\u0012\tK:\u0007\u001a4\u0002>K4B\n\u001a\u00181W0B\u0016\u001a\u001b3A9B\u0000\u0014\u001e6G$\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0011\u001e.},\u00070\u0010\u001b\u000e\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000b\"\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016/\u0018\u0012\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016?\u0005\u0012 0\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u0006f\u001c\u0013`\u0002\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016/\u0018\u0012\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0004\u0002?Q4=>\u0018\u001b2\u0016\u00187\r,U2\u0010\u00142\r3\u00074\u0003\u0012(\r!\u0017\"\u001c\u0003uc5\u0006/\u0001;5M+\u00176%\u00186K#\u001b\u0003\u0003\u00166W!\u0016)\u0007\u000b\u0007\u00129M2\u0006\u0017\u0000\u0012([#\u0014\u0002>K4L*\u001a\u00181W0L%\u0014\u00142Gn\u000f#\u0006\u0004;E%1/\u000f\u0012\u0016K-\u000b2w \u0019;@,\u0007f\u0001\u0018zC#\u0001#\u0006\u0004zA/\f \u001c\u0010/P%\u0006f\u0014\u0002>K4B*\u001a\u00181W0B6\u001a\u001b3A9BkXW4M`\u0012)\u0019\u001e9[`\u0015/\u0001\u001fze\u0015+\u0002U\fj_`\u000b5U\u0007(G3\u0007(\u0001W3L`\u0012)\u0019\u001e9[`\u0001'\u0016\u001f?\u0002h\u000b(\u0003\u00166K$B6\u001a\u001b3A9]o\u000b\u0011\u0012.C)\u000e\u0017\u0000\u0012([\u0019\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0001\u001f?L4\u000b%\u0014\u0003?F\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0011/\u0012\u0019;V5\u0010#\u001a\u0007\u00129M2\u0006\u0017\u0000\u0012([n\r6\u0010\u0005;V)\r(*\u0019;O%>4\u0005=W-\u0007(\u0001W<M2B\u0006;\u0018.l5\u000e*U\u0007;P!\u000f#\u0001\u0012(\u0002gG5RW5D`G5[R)\u0002-\u00175\u0001W4M4B$\u0010W4W,\u000e74\u0002>K4B*\u001a\u00181W0B6\u001a\u001b3A9B%\u001a\u001a*N%\u0016#\u0011W-K4\nf\u0014\u0004)G2\u0016/\u001a\u0019zQ4\u00032\u0000\u0004zM&B\r[\u00145O0\r(\u0010\u0019.})\u0006\u0013\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00175\u0010\u0005\u0005K$ 3\u00163N%\u0006f\u0001\u0018zP%\u00164\u001c\u0012,G`\u00033\u0011\u001e.\u0002$\u00072\u0014\u001e6Q\u0012[\u0012\"A%\u00122\u001c\u00184}-\u00075\u0006\u0016=G\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f)\u0011\u00123F\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f'\u0018\u0012\u000b\u0007\u00129M2\u0006\u0017\u0000\u0012([\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0011/\u0012\u0019;V5\u0010#\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00112\u0014\u0003/Q\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00175\u0010\u0005\u0005L!\u000f#\u0013\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000f#\u0006\u0004;E%\b\u0016\u00053V%\u0010/\u0014\u001d\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00133\u0010\u0005#P%\u00113\u0019\u0003tA/\u0017(\u0001$;\u0018zC5\u0006/\u0001W6M/\t3\u0005W*M,\u000b%\fW3Q`\u0001)\u001b\u00113E5\u0010#\u0011\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0007(\u0001\u001e.[\u001f\u0001*\u0014\u0004)'3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e`\u0002\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016?\u0005\u0012\u0016\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000b6*\u0016>F2\u00075\u0006\u000b\u0013\u001e4F\b\u0007'\u0011\u0012(Q\u001b\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010)\u0000\u00033L'=*\u0014\u0003?L#\u001b\u0007\u0018\u0012)Q!\u0005#\u00164\u0002>K4.)\u001a\u001c/R\u0010\r*\u001c\u0014#a!\u0001.\u0010\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00124\u001a\u00013F%\u0010\u0019\u001a\u001e>\u001b\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0006\u00075L3\u0007\u0019\u0019\u00124E4\n\u000b[\u0007(M0\u00074\u0001\u001e?Q%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zQ)\f-U\u00075N)\u0001?OW\u000b\u0013\u001e4F\b\u0007'\u0011\u0012(Q\u0012[\u0006/G2\u001b4\u0010\u0004/N4L%\u001a\u00024V*595V\u000e\u0017*\u0019W7G4\n)\u0011W\u007fQnG5U\u001a/Q4B(\u001a\u0003zP%\u00163\u0007\u0019zL5\u000e*\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0011#\u0007\u00013A%=)\u001c\u0013\u0013\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000f#\u0006\u0004;E%-.>4V%\u0010(\u0014\u001bzC5\u0006/\u0001W6M/\t3\u0005W*M,\u000b%\fW*Q%\u0017\"\u001aZ)G2\u0014/\u0016\u0012\u0007\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f'\u0018\u0012\u00184\u0002>K4.)\u001a\u001c/R\u0010\r*\u001c\u0014#k\u0004!'\u0016\u001f?'3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e`\u0002%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e\u001a4\u0002>K4B\n\u001a\u00181W0B\u0016\u001a\u001b3A9B\u0000\u0014\u001e6G$\u001d\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00133\u0010\u0005#P%\u00113\u0019\u0003tA/\u0017(\u0001\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f)\u0011\u00123F%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zQ)\f-U\u00075N)\u0001?OW\u0016\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00124\u001a\u0007?P4\u000b#\u0006";
                var4_3 = "[\u0018(F)\f'\u0019#\u0014\u0002>K4L*\u001a\u00181W0L%\u0014\u00142Gn\u000f#\u0006\u0004;E%1/\u000f\u0012\u0016K-\u000b2\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0006\u00075L3\u0007\u0019\r\u001a6\u000b[\u001a?Q3\u0003!\u0010(3F\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0001)\u0018\u00075L%\f2*\u001e>\u0005[\u00033O%\u000e\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000b\"%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e\u001b\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0006\u00075L3\u0007\u0019\u0006\u0003;V5\u0011\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0011\u001e.},\u00070\u0010\u001b\u001a\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0004\u0002?Q4=*\u0010\u0019=V(\u0016\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0004\u0002?Q4=/\u001170\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u00065YW)M-\u0007f\u0013\u001e?N$\u0011f\u001b\u0018.\u00020\u0010#\u0006\u00124VzB\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0007(\u0001\u001e.[\u001f\u000b\"\u001e\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0001\u001f?L4\u000b%\u0014\u00033M.6?\u0005\u001230\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u00065YW<K%\u000e\"U\u0003#R%B+\u001c\u00047C4\u0001.OW2\u0016\u00187\r,U2\u0010\u00142\r3\u00074\u0003\u0012(\r!\u0017\"\u001c\u0003uc5\u0006/\u0001;5M+\u00176%\u00186K#\u001b\u0003\u0003\u00166W!\u0016)\u000770\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u00065YW)M-\u0007f\u0013\u001e?N$\u0011f\u001b\u0018.\u00020\u0010#\u0006\u00124VzB\n[\u0016/F)\u0016\u0019\u001a\u001e>\u0018\u0014\u0002>K4L*\u001a\u00181W0L6\u001a\u001b3A9L!\u0000\u001e>\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0003%\u0001\u001e5L\u001b\u0014\u0002>K4L5\u0010\u0016(A(L+\u0014\u000f\u0017G3\u0011'\u0012\u0012\tK:\u0007\u001a4\u0002>K4B\n\u001a\u00181W0B\u0016\u001a\u001b3A9B\u0000\u0014\u001e6G$\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0011\u001e.},\u00070\u0010\u001b\u000e\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000b\"\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016/\u0018\u0012\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016?\u0005\u0012 0\u0005(M2B%\u0007\u0012;V)\f!U\u0016/F)\u0016f\u0007\u00129M2\u0006f\u001c\u0013`\u0002\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016/\u0018\u0012\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0004\u0002?Q4=>\u0018\u001b2\u0016\u00187\r,U2\u0010\u00142\r3\u00074\u0003\u0012(\r!\u0017\"\u001c\u0003uc5\u0006/\u0001;5M+\u00176%\u00186K#\u001b\u0003\u0003\u00166W!\u0016)\u0007\u000b\u0007\u00129M2\u0006\u0017\u0000\u0012([#\u0014\u0002>K4L*\u001a\u00181W0L%\u0014\u00142Gn\u000f#\u0006\u0004;E%1/\u000f\u0012\u0016K-\u000b2w \u0019;@,\u0007f\u0001\u0018zC#\u0001#\u0006\u0004zA/\f \u001c\u0010/P%\u0006f\u0014\u0002>K4B*\u001a\u00181W0B6\u001a\u001b3A9BkXW4M`\u0012)\u0019\u001e9[`\u0015/\u0001\u001fze\u0015+\u0002U\fj_`\u000b5U\u0007(G3\u0007(\u0001W3L`\u0012)\u0019\u001e9[`\u0001'\u0016\u001f?\u0002h\u000b(\u0003\u00166K$B6\u001a\u001b3A9]o\u000b\u0011\u0012.C)\u000e\u0017\u0000\u0012([\u0019\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00033\u0001\u001f?L4\u000b%\u0014\u0003?F\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0011/\u0012\u0019;V5\u0010#\u001a\u0007\u00129M2\u0006\u0017\u0000\u0012([n\r6\u0010\u0005;V)\r(*\u0019;O%>4\u0005=W-\u0007(\u0001W<M2B\u0006;\u0018.l5\u000e*U\u0007;P!\u000f#\u0001\u0012(\u0002gG5RW5D`G5[R)\u0002-\u00175\u0001W4M4B$\u0010W4W,\u000e74\u0002>K4B*\u001a\u00181W0B6\u001a\u001b3A9B%\u001a\u001a*N%\u0016#\u0011W-K4\nf\u0014\u0004)G2\u0016/\u001a\u0019zQ4\u00032\u0000\u0004zM&B\r[\u00145O0\r(\u0010\u0019.})\u0006\u0013\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00175\u0010\u0005\u0005K$ 3\u00163N%\u0006f\u0001\u0018zP%\u00164\u001c\u0012,G`\u00033\u0011\u001e.\u0002$\u00072\u0014\u001e6Q\u0012[\u0012\"A%\u00122\u001c\u00184}-\u00075\u0006\u0016=G\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f)\u0011\u00123F\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f'\u0018\u0012\u000b\u0007\u00129M2\u0006\u0017\u0000\u0012([\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0011/\u0012\u0019;V5\u0010#\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00112\u0014\u0003/Q\u0015\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00175\u0010\u0005\u0005L!\u000f#\u0013\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000f#\u0006\u0004;E%\b\u0016\u00053V%\u0010/\u0014\u001d\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00133\u0010\u0005#P%\u00113\u0019\u0003tA/\u0017(\u0001$;\u0018zC5\u0006/\u0001W6M/\t3\u0005W*M,\u000b%\fW3Q`\u0001)\u001b\u00113E5\u0010#\u0011\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0007(\u0001\u001e.[\u001f\u0001*\u0014\u0004)'3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e`\u0002\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0016?\u0005\u0012\u0016\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000b6*\u0016>F2\u00075\u0006\u000b\u0013\u001e4F\b\u0007'\u0011\u0012(Q\u001b\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010)\u0000\u00033L'=*\u0014\u0003?L#\u001b\u0007\u0018\u0012)Q!\u0005#\u00164\u0002>K4.)\u001a\u001c/R\u0010\r*\u001c\u0014#a!\u0001.\u0010\u0018\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00124\u001a\u00013F%\u0010\u0019\u001a\u001e>\u001b\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0010#\u0006\u00075L3\u0007\u0019\u0019\u00124E4\n\u000b[\u0007(M0\u00074\u0001\u001e?Q%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zQ)\f-U\u00075N)\u0001?OW\u000b\u0013\u001e4F\b\u0007'\u0011\u0012(Q\u0012[\u0006/G2\u001b4\u0010\u0004/N4L%\u001a\u00024V*595V\u000e\u0017*\u0019W7G4\n)\u0011W\u007fQnG5U\u001a/Q4B(\u001a\u0003zP%\u00163\u0007\u0019zL5\u000e*\u0017\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u0011#\u0007\u00013A%=)\u001c\u0013\u0013\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u000f#\u0006\u0004;E%-.>4V%\u0010(\u0014\u001bzC5\u0006/\u0001W6M/\t3\u0005W*M,\u000b%\fW*Q%\u0017\"\u001aZ)G2\u0014/\u0016\u0012\u0007\u0010\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f'\u0018\u0012\u00184\u0002>K4.)\u001a\u001c/R\u0010\r*\u001c\u0014#k\u0004!'\u0016\u001f?'3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e`\u0002%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zN/\r-\u0000\u0007zR/\u000e/\u0016\u000e\u001a4\u0002>K4B\n\u001a\u00181W0B\u0016\u001a\u001b3A9B\u0000\u0014\u001e6G$\u001d\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00133\u0010\u0005#P%\u00113\u0019\u0003tA/\u0017(\u0001\u0012\u0007\u00129M2\u0006\u0017\u0000\u0012([n\f)\u0011\u00123F%3\u00163N%\u0006f\u0001\u0018zG8\u0007%\u0000\u0003?\u0002!\u0017\"\u001c\u0003zQ)\f-U\u00075N)\u0001?OW\u0016\u0007\u00129M2\u0006\u0017\u0000\u0012([n\u00124\u001a\u0007?P4\u000b#\u0006".length();
                var1_4 = 8;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = AuditLookupPolicyEvaluator.a(v0, AuditLookupPolicyEvaluator.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "\u0011\u0007;N1I5\u0011\u001e6C$\u0013&#\u001b8I$\u00136\u0002\u0017qJ$\u001f1\u0015\u00110U!\u001435\u0000-H7G \u0002\u0017>S,\t$P\u0013*C,\u0013c\u0002\u0017<H7\u00030\\R9N \u000b'P\u0006&W G.\u0019\u00012F1\u0004+JR";
                    var4_3 = "\u0011\u0007;N1I5\u0011\u001e6C$\u0013&#\u001b8I$\u00136\u0002\u0017qJ$\u001f1\u0015\u00110U!\u001435\u0000-H7G \u0002\u0017>S,\t$P\u0013*C,\u0013c\u0002\u0017<H7\u00030\\R9N \u000b'P\u0006&W G.\u0019\u00012F1\u0004+JR".length();
                    var1_4 = 34;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 71;
                        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++] = AuditLookupPolicyEvaluator.a(v0, AuditLookupPolicyEvaluator.a(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;
            }
        }
        AuditLookupPolicyEvaluator.i = var5;
        AuditLookupPolicyEvaluator.a = Logger.getLogger(AuditLookupPolicyEvaluator.class.getName());
        AuditLookupPolicyEvaluator.g = new AtomicLong(100L);
    }

    /*
     * 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 a(Exception exception) {
        return exception;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 4);
        }
        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 -> 55;
                    case 1 -> 53;
                    case 2 -> 24;
                    case 3 -> 96;
                    case 4 -> 2;
                    case 5 -> 32;
                    default -> 4;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

