/*
 * Decompiled with CFR 0.152.
 */
package com.l7tech.server.wsdm.faults;

import com.l7tech.server.wsdm.faults.FaultMappableException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class WsAddressingFault
extends FaultMappableException {
    private List<WsaFaultDetail> wsaFaultDetails = new ArrayList<WsaFaultDetail>();
    static final long serialVersionUID = 4322143907483122652L;
    private static final String[] b;

    public WsAddressingFault(String string) {
        super(string);
    }

    public WsAddressingFault(WsaFaultDetail wsaFaultDetail) {
        super(wsaFaultDetail.c);
        this.wsaFaultDetails.add(wsaFaultDetail);
    }

    @Override
    protected String getWSAAction() {
        return b[8];
    }

    @Override
    protected String getHeadersXML() {
        List<WsaFaultDetail> list = this.getWsaFaultDetails();
        if (list != null && !list.isEmpty()) {
            StringBuilder stringBuilder = new StringBuilder(super.getHeadersXML());
            String[] stringArray = b;
            String string = this.getNamespacePrefix(stringArray[2]);
            stringBuilder.append(stringArray[4]).append(string).append(stringArray[5]);
            for (WsaFaultDetail wsaFaultDetail : list) {
                stringArray = b;
                stringBuilder.append(stringArray[6]).append(string).append(":").append(wsaFaultDetail.a.toString()).append(wsaFaultDetail.getAttributes()).append(">").append(wsaFaultDetail.c).append(stringArray[0]).append(string).append(":").append(wsaFaultDetail.a.toString()).append(stringArray[1]);
            }
            stringArray = b;
            stringBuilder.append(stringArray[3]).append(string).append(stringArray[7]);
            return stringBuilder.toString();
        }
        return super.getHeadersXML();
    }

    protected List<WsaFaultDetail> getWsaFaultDetails() {
        return this.wsaFaultDetails;
    }

    public void addWsaFaultDetail(WsaFaultDetailType wsaFaultDetailType, Map<String, String> map, String string) {
        this.wsaFaultDetails.add(new WsaFaultDetail(wsaFaultDetailType, map, string));
    }

    @Override
    protected final String getSoapFaultDetailXML() {
        return "";
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[9];
                var3_1 = 0;
                var2_2 = "$]\u0002&x$p\u0006\u0015\u001f\r_^o\u0005\u0016A@C_w\u0000\u0006@\u0005@A-]QW\u0018\u0011\u0015|\u0000\u0004\u001cD\u0019\u001f\u007f\u00068RAO\u000b_\u00058RAO\u000b\u0012\"4\u0000\u001a[\u00045}\u0006\u0000\u0006[N{8RAO\t8RAO\u0017PQ8N";
                var4_3 = "$]\u0002&x$p\u0006\u0015\u001f\r_^o\u0005\u0016A@C_w\u0000\u0006@\u0005@A-]QW\u0018\u0011\u0015|\u0000\u0004\u001cD\u0019\u001f\u007f\u00068RAO\u000b_\u00058RAO\u000b\u0012\"4\u0000\u001a[\u00045}\u0006\u0000\u0006[N{8RAO\t8RAO\u0017PQ8N".length();
                var1_4 = 2;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = WsAddressingFault.b(v0, WsAddressingFault.b(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "$2\u0006\u001c]\u00023{\u0000\u0006\u0000]H}*v\u0000\u0013\u0019\u000bYXi\u0003\u0010GFEYq\u0006\u0000F\u0003FG+[WQ\u001e\u0017\u0013z\u0006\u0002\u001aB\u001f\u0019y[\u0001\bD\u001a\u0003";
                    var4_3 = "$2\u0006\u001c]\u00023{\u0000\u0006\u0000]H}*v\u0000\u0013\u0019\u000bYXi\u0003\u0010GFEYq\u0006\u0000F\u0003FG+[WQ\u001e\u0017\u0013z\u0006\u0002\u001aB\u001f\u0019y[\u0001\bD\u001a\u0003".length();
                    var1_4 = 14;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 114;
                        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++] = WsAddressingFault.b(v0, WsAddressingFault.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;
            }
        }
        WsAddressingFault.b = var5;
    }

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

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String b(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 -> 108;
                    case 1 -> 6;
                    case 2 -> 21;
                    case 3 -> 27;
                    case 4 -> 67;
                    case 5 -> 4;
                    default -> 5;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }

    public static class WsaFaultDetail {
        private WsaFaultDetailType a;
        private Map<String, String> b = new HashMap<String, String>();
        private String c;
        private static final String d = WsaFaultDetail.a(26, WsaFaultDetail.a("\u0018u"));

        public WsaFaultDetail(WsaFaultDetailType wsaFaultDetailType, Map<String, String> map, String string) {
            this.a = wsaFaultDetailType;
            this.b.putAll(map);
            this.c = string;
        }

        public String getAttributes() {
            if (this.b == null || this.b.isEmpty()) {
                return "";
            }
            StringBuilder stringBuilder = new StringBuilder();
            for (String string : this.b.keySet()) {
                stringBuilder.append(" ").append(string).append(d).append(this.b.get(string)).append("\"");
            }
            return stringBuilder.toString();
        }

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

    public static final class WsaFaultDetailType
    extends Enum<WsaFaultDetailType> {
        public static final /* enum */ WsaFaultDetailType PROBLEM_HEADER;
        public static final /* enum */ WsaFaultDetailType PROBLEM_HEADER_QNAME;
        public static final /* enum */ WsaFaultDetailType PROBLEM_IRI;
        public static final /* enum */ WsaFaultDetailType PROBLEM_ACTION;
        public static final /* enum */ WsaFaultDetailType RETRY_AFTER;
        private final String detailElementName;
        private static final /* synthetic */ WsaFaultDetailType[] $VALUES;

        public static WsaFaultDetailType[] values() {
            return (WsaFaultDetailType[])$VALUES.clone();
        }

        public static WsaFaultDetailType valueOf(String string) {
            return Enum.valueOf(WsaFaultDetailType.class, string);
        }

        private WsaFaultDetailType(String string2) {
            this.detailElementName = string2;
        }

        public String toString() {
            return this.detailElementName;
        }

        private static /* synthetic */ WsaFaultDetailType[] $values() {
            return new WsaFaultDetailType[]{PROBLEM_HEADER, PROBLEM_HEADER_QNAME, PROBLEM_IRI, PROBLEM_ACTION, RETRY_AFTER};
        }

        /*
         * Unable to fully structure code
         */
        static {
            block10: {
                block9: {
                    var0 = new String[10];
                    var4_1 = 0;
                    var3_2 = "yjb\u0019Gn6_jd\u000byJB9gp\u0011m[S9\u000b{]Y)rj\u001dtFD\"\u0014{]Y)rj\u001dtGS*zj\u0002t^X*sj\r{}y\tRJ=cjw\u000f[]\r{}y\tRJ=jlb\u0002QA\u0012{}y\tRJ=cjw\u000f[]\u0001en{\u000e\n{}y\tRJ=b]_";
                    var5_3 = "yjb\u0019Gn6_jd\u000byJB9gp\u0011m[S9\u000b{]Y)rj\u001dtFD\"\u0014{]Y)rj\u001dtGS*zj\u0002t^X*sj\r{}y\tRJ=cjw\u000f[]\r{}y\tRJ=jlb\u0002QA\u0012{}y\tRJ=cjw\u000f[]\u0001en{\u000e\n{}y\tRJ=b]_".length();
                    var2_4 = 10;
                    var1_5 = -1;
lbl7:
                    // 2 sources

                    while (true) {
                        v0 = 89;
                        v1 = ++var1_5;
                        v2 = var3_2.substring(v1, v1 + var2_4);
                        v3 = -1;
                        break block9;
                        break;
                    }
lbl13:
                    // 1 sources

                    while (true) {
                        var0[var4_1++] = WsaFaultDetailType.a(v0, WsaFaultDetailType.a(v2));
                        if ((var1_5 += var2_4) < var5_3) {
                            var2_4 = var3_2.charAt(var1_5);
                            ** continue;
                        }
                        var3_2 = "\u0000&\"R\t\u0011f\u000f<(Q\u0001\u0011y\u000e\u0000&\"R\t\u0011f\u000f5.D\f\u001be";
                        var5_3 = "\u0000&\"R\t\u0011f\u000f<(Q\u0001\u0011y\u000e\u0000&\"R\t\u0011f\u000f5.D\f\u001be".length();
                        var2_4 = 14;
                        var1_5 = -1;
lbl22:
                        // 2 sources

                        while (true) {
                            v0 = 34;
                            v4 = ++var1_5;
                            v2 = var3_2.substring(v4, v4 + var2_4);
                            v3 = 0;
                            break block9;
                            break;
                        }
                        break;
                    }
lbl28:
                    // 1 sources

                    while (true) {
                        var0[var4_1++] = WsaFaultDetailType.a(v0, WsaFaultDetailType.a(v2));
                        if ((var1_5 += var2_4) < var5_3) {
                            var2_4 = var3_2.charAt(var1_5);
                            ** continue;
                        }
                        break block10;
                        break;
                    }
                }
                switch (v3) {
                    default: {
                        ** continue;
                    }
                    ** case 0:
lbl39:
                    // 1 sources

                    ** continue;
                }
            }
            WsaFaultDetailType.PROBLEM_HEADER = new WsaFaultDetailType(var0[4]);
            WsaFaultDetailType.PROBLEM_HEADER_QNAME = new WsaFaultDetailType(var0[6]);
            WsaFaultDetailType.PROBLEM_IRI = new WsaFaultDetailType(var0[7]);
            WsaFaultDetailType.PROBLEM_ACTION = new WsaFaultDetailType(var0[5]);
            WsaFaultDetailType.RETRY_AFTER = new WsaFaultDetailType(var0[0]);
            WsaFaultDetailType.$VALUES = WsaFaultDetailType.$values();
        }

        private static char[] a(String string) {
            char[] cArray = string.toCharArray();
            if (cArray.length < 2) {
                cArray = cArray;
                cArray[0] = (char)(cArray[0] ^ 9);
            }
            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 -> 114;
                        case 1 -> 86;
                        case 2 -> 79;
                        case 3 -> 50;
                        case 4 -> 103;
                        case 5 -> 118;
                        default -> 9;
                    })));
                    ++n3;
                    n4 = n4;
                } while (n4 > n3);
            }
            return new String(cArray2).intern();
        }
    }
}

