/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.audit.Audit
 *  com.l7tech.gateway.common.stepdebug.DebugContextVariableData
 *  com.l7tech.gateway.common.stepdebug.DebugResult
 *  com.l7tech.message.Message
 *  com.l7tech.policy.assertion.AssertionStatus
 *  com.l7tech.policy.variable.BuiltinVariables
 *  com.l7tech.policy.variable.Syntax
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 */
package com.l7tech.server.stepdebug;

import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.gateway.common.stepdebug.DebugContextVariableData;
import com.l7tech.gateway.common.stepdebug.DebugResult;
import com.l7tech.message.Message;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.variable.BuiltinVariables;
import com.l7tech.policy.variable.Syntax;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.variable.ExpandVariables;
import com.l7tech.server.stepdebug.b;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

/*
 * Exception performing whole class analysis ignored.
 */
public class DebugPecData {
    private final Audit a;
    private final Set<DebugContextVariableData> b;
    private String c;
    private static final String[] d;
    private static final String[] e;
    private static final String[] f;

    public DebugPecData(@NotNull Audit audit) {
        if (audit == null) {
            DebugPecData.a(0);
        }
        this.a = audit;
        this.b = Collections.synchronizedSet(new TreeSet());
        this.c = null;
    }

    public void update(@NotNull PolicyEnforcementContext policyEnforcementContext, @NotNull Set<String> set) {
        try {
            if (policyEnforcementContext == null) {
                DebugPecData.a(1);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (set == null) {
                DebugPecData.a(2);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        this.b.clear();
        Message message = policyEnforcementContext.getRequest();
        try {
            if (message.isInitialized()) {
                this.b.add(this.a(policyEnforcementContext, BuiltinVariables.PREFIX_REQUEST, (Object)message, false));
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        Message message2 = policyEnforcementContext.getResponse();
        try {
            if (message2.isInitialized()) {
                this.b.add(this.a(policyEnforcementContext, BuiltinVariables.PREFIX_RESPONSE, (Object)message2, false));
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        for (Map.Entry<String, Object> object : policyEnforcementContext.getAllVariables().entrySet()) {
            this.b.add(this.a(policyEnforcementContext, object.getKey(), object.getValue(), false));
        }
        for (String string : set) {
            String string2 = Syntax.SYNTAX_PREFIX + string + "}";
            Map<String, Object> map = policyEnforcementContext.getVariableMap(new String[]{Syntax.parse((String)string, (String)Syntax.DEFAULT_MV_DELIMITER).remainingName}, this.a);
            Object object = ExpandVariables.processSingleVariableAsObject(string2, map, this.a);
            this.b.add(this.a(policyEnforcementContext, string, object, true));
        }
    }

    public void setPolicyResult(@Nullable AssertionStatus assertionStatus, @Nullable Collection<Integer> collection) {
        block12: {
            block10: {
                block11: {
                    try {
                        try {
                            if (assertionStatus == null) break block10;
                            if (!AssertionStatus.NONE.equals(assertionStatus)) break block11;
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw DebugPecData.a(illegalArgumentException);
                        }
                        this.c = DebugResult.SUCCESSFUL_POLICY_RESULT_MESSAGE;
                        break block12;
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw DebugPecData.a(illegalArgumentException);
                    }
                }
                StringBuilder stringBuilder = new StringBuilder(DebugResult.ERROR_POLICY_RESULT_MESSAGE);
                String[] stringArray = f;
                stringBuilder.append(stringArray[29]);
                stringBuilder.append(assertionStatus.getMessage());
                stringBuilder.append(stringArray[26]);
                if (collection != null) {
                    boolean bl2 = true;
                    for (Integer n2 : collection) {
                        try {
                            if (!bl2) {
                                stringBuilder.append(".");
                            }
                        }
                        catch (IllegalArgumentException illegalArgumentException) {
                            throw DebugPecData.a(illegalArgumentException);
                        }
                        bl2 = false;
                        stringBuilder.append(n2.toString());
                    }
                } else {
                    stringBuilder.append(f[18]);
                }
                this.c = stringBuilder.toString();
                break block12;
            }
            this.c = null;
        }
    }

    public void reset(@NotNull Set<String> set) {
        try {
            if (set == null) {
                DebugPecData.a(3);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        this.b.clear();
        this.c = null;
        for (String string : set) {
            this.addUserContextVariable(string);
        }
    }

    public void addUserContextVariable(@NotNull String string) {
        try {
            if (string == null) {
                DebugPecData.a(4);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        DebugContextVariableData debugContextVariableData = new DebugContextVariableData(string, null, null, true);
        debugContextVariableData.setIsDisplayNullValue(false);
        debugContextVariableData.setIsDisplayDoubleQuotes(false);
        this.b.add(debugContextVariableData);
    }

    public void removeUserContextVariable(@NotNull String string) {
        try {
            if (string == null) {
                DebugPecData.a(5);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        Iterator<DebugContextVariableData> iterator = this.b.iterator();
        while (iterator.hasNext()) {
            DebugContextVariableData debugContextVariableData = iterator.next();
            try {
                try {
                    if (!debugContextVariableData.getIsUserAdded() || !debugContextVariableData.getName().equals(string)) continue;
                }
                catch (IllegalArgumentException illegalArgumentException) {
                    throw DebugPecData.a(illegalArgumentException);
                }
                iterator.remove();
                break;
            }
            catch (IllegalArgumentException illegalArgumentException) {
                throw DebugPecData.a(illegalArgumentException);
            }
        }
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Enabled aggressive block sorting
     * Enabled unnecessary exception pruning
     * Enabled aggressive exception aggregation
     * Converted monitor instructions to comments
     * Lifted jumps to return sites
     */
    @NotNull
    public Set<DebugContextVariableData> getContextVariables() {
        Set<DebugContextVariableData> set2 = this.b;
        // MONITORENTER : set2
        Set<DebugContextVariableData> set = Collections.unmodifiableSet(new TreeSet<DebugContextVariableData>(this.b));
        // MONITOREXIT : set2
        if (set != null) return set;
        DebugPecData.a(6);
        return set;
    }

    @Nullable
    public String getPolicyResult() {
        return this.c;
    }

    @NotNull
    private DebugContextVariableData a(@NotNull PolicyEnforcementContext policyEnforcementContext, @NotNull String string, @Nullable Object object, boolean bl2) {
        DebugContextVariableData debugContextVariableData;
        DebugContextVariableData debugContextVariableData2;
        block13: {
            block11: {
                block12: {
                    try {
                        if (policyEnforcementContext == null) {
                            DebugPecData.a(7);
                        }
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw DebugPecData.a(illegalArgumentException);
                    }
                    try {
                        if (string == null) {
                            DebugPecData.a(8);
                        }
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw DebugPecData.a(illegalArgumentException);
                    }
                    try {
                        if (object == null) break block11;
                        if (!(object instanceof Message)) break block12;
                    }
                    catch (IllegalArgumentException illegalArgumentException) {
                        throw DebugPecData.a(illegalArgumentException);
                    }
                    debugContextVariableData2 = this.a(policyEnforcementContext, string, (Message)object, bl2);
                    break block13;
                }
                debugContextVariableData2 = object instanceof List ? this.a(policyEnforcementContext, string, (List)object, bl2) : (object instanceof Object[] ? this.a(policyEnforcementContext, string, (Object[])object, bl2) : this.a(string, object, bl2));
                break block13;
            }
            debugContextVariableData2 = new DebugContextVariableData(string, null, null, bl2);
        }
        try {
            debugContextVariableData = debugContextVariableData2;
            if (debugContextVariableData == null) {
                DebugPecData.a(9);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        return debugContextVariableData;
    }

    @NotNull
    private DebugContextVariableData a(@NotNull PolicyEnforcementContext policyEnforcementContext, @NotNull String string, @NotNull Message message, boolean bl2) {
        DebugContextVariableData debugContextVariableData;
        DebugContextVariableData debugContextVariableData2;
        Object object;
        String string2;
        try {
            if (policyEnforcementContext == null) {
                DebugPecData.a(10);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (string == null) {
                DebugPecData.a(11);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (message == null) {
                DebugPecData.a(12);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        DebugContextVariableData debugContextVariableData3 = new DebugContextVariableData(string, null, message.getClass().getSimpleName(), bl2);
        debugContextVariableData3.setIsDisplayNullValue(false);
        for (String string3 : d) {
            string2 = string + "." + string3;
            String[] stringArray = f;
            object = ExpandVariables.processSingleVariableAsObject(stringArray[4] + string2 + "}", policyEnforcementContext.getVariableMap(new String[]{string2}, this.a), this.a);
            debugContextVariableData2 = this.a(policyEnforcementContext, string3, object, bl2);
            debugContextVariableData2.setParentName(string);
            debugContextVariableData3.addChild(debugContextVariableData2);
        }
        for (String string3 : e) {
            b b10;
            string2 = string + "." + string3;
            object = f[28] + string2 + "}";
            if (ExpandVariables.processSingleVariableAsObject((String)object, policyEnforcementContext.getVariableMap((String[])(debugContextVariableData2 = new DebugContextVariableData[]{string2}), b10 = new b()), b10) == null) continue;
            Object object2 = ExpandVariables.processSingleVariableAsObject((String)object, policyEnforcementContext.getVariableMap((String[])debugContextVariableData2, this.a), this.a);
            DebugContextVariableData debugContextVariableData4 = this.a(policyEnforcementContext, string3, object2, bl2);
            debugContextVariableData4.setParentName(string);
            debugContextVariableData3.addChild(debugContextVariableData4);
        }
        try {
            debugContextVariableData = debugContextVariableData3;
            if (debugContextVariableData == null) {
                DebugPecData.a(13);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        return debugContextVariableData;
    }

    @NotNull
    private DebugContextVariableData a(@NotNull PolicyEnforcementContext policyEnforcementContext, @NotNull String string, @NotNull List list, boolean bl2) {
        try {
            if (policyEnforcementContext == null) {
                DebugPecData.a(14);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (string == null) {
                DebugPecData.a(15);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (list == null) {
                DebugPecData.a(16);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        return this.a(policyEnforcementContext, string, list.toArray(), bl2);
    }

    @NotNull
    private DebugContextVariableData a(@NotNull PolicyEnforcementContext policyEnforcementContext, @NotNull String string, @NotNull Object[] objectArray, boolean bl2) {
        DebugContextVariableData debugContextVariableData;
        try {
            if (policyEnforcementContext == null) {
                DebugPecData.a(17);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (string == null) {
                DebugPecData.a(18);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (objectArray == null) {
                DebugPecData.a(19);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        DebugContextVariableData debugContextVariableData2 = new DebugContextVariableData(string, f[20] + objectArray.length, objectArray.getClass().getSimpleName(), bl2);
        debugContextVariableData2.setIsDisplayDoubleQuotes(false);
        for (int i2 = 0; i2 < objectArray.length; ++i2) {
            Object object = objectArray[i2];
            DebugContextVariableData debugContextVariableData3 = this.a(policyEnforcementContext, "[" + i2 + "]", object, bl2);
            debugContextVariableData3.setParentName(string);
            debugContextVariableData3.setChildIndex(i2);
            debugContextVariableData2.addChild(debugContextVariableData3);
        }
        try {
            debugContextVariableData = debugContextVariableData2;
            if (debugContextVariableData == null) {
                DebugPecData.a(20);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        return debugContextVariableData;
    }

    @NotNull
    private DebugContextVariableData a(@NotNull String string, @NotNull Object object, boolean bl2) {
        try {
            if (string == null) {
                DebugPecData.a(21);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        try {
            if (object == null) {
                DebugPecData.a(22);
            }
        }
        catch (IllegalArgumentException illegalArgumentException) {
            throw DebugPecData.a(illegalArgumentException);
        }
        return new DebugContextVariableData(string, object.toString(), object.getClass().getSimpleName(), bl2);
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[33];
                var3_1 = 0;
                var2_2 = "C'\u0017Y2i\u0013G;\u0006Hxm\r]2\u000f\\y{(H<\u000e\u0006p?\u000bN0\u000b\u0006om\r]6\u0011\u0006o|\u001a[7\u0006KioPo6\u0001\\{X\u001aH\u0017\u0002]}![!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001e\u0006Zoi\u0018N\u0007\u001aYy\u0006\u0017:\r@h6\u0002\u000f(\u001f[!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001c\u0017Ayz+R#\u0006\u0013L6\u0017jsf\u000bN+\u0017\u007f}z\u0016J1\u000fLo\u0003[6\u0000\u000bH<\r]yf\u000b\u007f*\u0013L\u001e[!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001f\nZh\\\u0006[6\u0004E2\u000eL\u0016J7\u0007|om\rh<\r]yp\u000b}2\u0011@}j\u0013N!H<\r_yz\u000b\u007f<'L~}\u0018h<\r]yp\u000b}2\u0011@}j\u0013N\u0017\u0002]}!H<\r_yz\u000b\u007f<'L~}\u0018h<\r]yp\u000b}2\u0011@}j\u0013N\u0017\u0002]}\bF2\nGli\r_>j!\u0004\\qm\u0011_s\u0005Fn(?e<\u0017gid\u0013\u000b#\u0002[}e\u001a_6\u0011\t;-\f\fs\fO<-\f\u0005v\u0010\tq}\f_s\rFh(\u001dNs\r\\pd\u0005]2\u000f\\y*k\u001d\f]R}\u0013Gs\u000eLh`\u0010OsFZ2-\f\u000b>\u0016Zh(\u0011D'C[y|\nY=CGid\u0013\u0007^=\bGs\u007f\u0011\u0005J&\u0007@h\u0007X:\u0019L<5_\u0014^ \u0006[_g\u0011_6\u001b]Ji\rB2\u0001Ey{(H<\u000e\u0006p?\u000bN0\u000b\u0006om\r]6\u0011\u0006o|\u001a[7\u0006KioPo6\u0001\\{X\u001aH\u0017\u0002]}![!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001e\u0006Zoi\u0018N\u0007\u001aYy\u0019Y6\u000eFjm*X6\u0011jsf\u000bN+\u0017\u007f}z\u0016J1\u000fL\u001f[!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u0012\u0011[}q+R#\u0006\u0013\u0011s\u0002Zom\r_:\fG<f\nF1\u0006[<\u0003F \u0004\u0002\u000f(\u0002\u0005s\u0006^#\u0007Hhm";
                var4_3 = "C'\u0017Y2i\u0013G;\u0006Hxm\r]2\u000f\\y{(H<\u000e\u0006p?\u000bN0\u000b\u0006om\r]6\u0011\u0006o|\u001a[7\u0006KioPo6\u0001\\{X\u001aH\u0017\u0002]}![!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001e\u0006Zoi\u0018N\u0007\u001aYy\u0006\u0017:\r@h6\u0002\u000f(\u001f[!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001c\u0017Ayz+R#\u0006\u0013L6\u0017jsf\u000bN+\u0017\u007f}z\u0016J1\u000fLo\u0003[6\u0000\u000bH<\r]yf\u000b\u007f*\u0013L\u001e[!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001f\nZh\\\u0006[6\u0004E2\u000eL\u0016J7\u0007|om\rh<\r]yp\u000b}2\u0011@}j\u0013N!H<\r_yz\u000b\u007f<'L~}\u0018h<\r]yp\u000b}2\u0011@}j\u0013N\u0017\u0002]}!H<\r_yz\u000b\u007f<'L~}\u0018h<\r]yp\u000b}2\u0011@}j\u0013N\u0017\u0002]}\bF2\nGli\r_>j!\u0004\\qm\u0011_s\u0005Fn(?e<\u0017gid\u0013\u000b#\u0002[}e\u001a_6\u0011\t;-\f\fs\fO<-\f\u0005v\u0010\tq}\f_s\rFh(\u001dNs\r\\pd\u0005]2\u000f\\y*k\u001d\f]R}\u0013Gs\u000eLh`\u0010OsFZ2-\f\u000b>\u0016Zh(\u0011D'C[y|\nY=CGid\u0013\u0007^=\bGs\u007f\u0011\u0005J&\u0007@h\u0007X:\u0019L<5_\u0014^ \u0006[_g\u0011_6\u001b]Ji\rB2\u0001Ey{(H<\u000e\u0006p?\u000bN0\u000b\u0006om\r]6\u0011\u0006o|\u001a[7\u0006KioPo6\u0001\\{X\u001aH\u0017\u0002]}![!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u001e\u0006Zoi\u0018N\u0007\u001aYy\u0019Y6\u000eFjm*X6\u0011jsf\u000bN+\u0017\u007f}z\u0016J1\u000fL\u001f[!\fJy{\fh<\r]yp\u000b}2\u0011@}j\u0013N\u0012\u0011[}q+R#\u0006\u0013\u0011s\u0002Zom\r_:\fG<f\nF1\u0006[<\u0003F \u0004\u0002\u000f(\u0002\u0005s\u0006^#\u0007Hhm".length();
                var1_4 = 20;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = DebugPecData.a(v0, DebugPecData.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "b\u00185s@B5Q\u00054d@I2D\u000b(yDS*w+(bDH\u0012k\u001a?\u0005`\u000f)uQ";
                    var4_3 = "b\u00185s@B5Q\u00054d@I2D\u000b(yDS*w+(bDH\u0012k\u001a?\u0005`\u000f)uQ".length();
                    var1_4 = 31;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 30;
                        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++] = DebugPecData.a(v0, DebugPecData.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;
            }
        }
        DebugPecData.f = var5;
        v5 = new String[2];
        var0_6 = DebugPecData.f;
        v5[0] = var0_6[14];
        v5[1] = var0_6[8];
        DebugPecData.d = v5;
        DebugPecData.e = new String[]{var0_6[0]};
    }

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

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x58);
        }
        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 -> 12;
                    case 1 -> 116;
                    case 2 -> 68;
                    case 3 -> 14;
                    case 4 -> 59;
                    case 5 -> 47;
                    default -> 88;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

