package io.netty.util;

import com.seewo.libmcuservice.constant.IMcuConstants;
import com.seewo.sdk.model.SDKKeyboardCode;
import io.netty.util.internal.StringUtil;
import io.netty.util.internal.logging.InternalLogger;
import io.netty.util.internal.logging.InternalLoggerFactory;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.StringTokenizer;

/* JADX INFO: loaded from: classes.dex */
public final class NetUtil {
    private static final int IPV4_BYTE_COUNT = 4;
    private static final int IPV4_MAX_CHAR_BETWEEN_SEPARATOR = 3;
    private static final int IPV4_SEPARATORS = 3;
    private static final int IPV6_BYTE_COUNT = 16;
    private static final int IPV6_MAX_CHAR_BETWEEN_SEPARATOR = 4;
    private static final int IPV6_MAX_CHAR_COUNT = 39;
    private static final int IPV6_MAX_SEPARATORS = 8;
    private static final int IPV6_MIN_SEPARATORS = 2;
    private static final int IPV6_WORD_COUNT = 8;
    public static final InetAddress LOCALHOST;
    public static final Inet4Address LOCALHOST4;
    public static final Inet6Address LOCALHOST6;
    public static final NetworkInterface LOOPBACK_IF;
    public static final int SOMAXCONN;
    private static final boolean IPV4_PREFERRED = Boolean.getBoolean("java.net.preferIPv4Stack");
    private static final InternalLogger logger = InternalLoggerFactory.getInstance((Class<?>) NetUtil.class);

    /* JADX WARN: Code restructure failed: missing block: B:41:0x00ba, code lost:
    
        r9 = r7.nextElement();
        r4 = r6;
     */
    /* JADX WARN: Type inference fix 'apply assigned field type' failed
    java.lang.UnsupportedOperationException: ArgType.getObject(), call class: class jadx.core.dex.instructions.args.ArgType$UnknownArg
    	at jadx.core.dex.instructions.args.ArgType.getObject(ArgType.java:593)
    	at jadx.core.dex.attributes.nodes.ClassTypeVarsAttr.getTypeVarsMapFor(ClassTypeVarsAttr.java:35)
    	at jadx.core.dex.nodes.utils.TypeUtils.replaceClassGenerics(TypeUtils.java:177)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.insertExplicitUseCast(FixTypesVisitor.java:397)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.tryFieldTypeWithNewCasts(FixTypesVisitor.java:359)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.applyFieldType(FixTypesVisitor.java:309)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.visit(FixTypesVisitor.java:94)
     */
    static {
        /*
            Method dump skipped, instruction units count: 324
            To view this dump add '--comments-level debug' option
        */
        throw new UnsupportedOperationException("Method not decompiled: io.netty.util.NetUtil.<clinit>():void");
    }

    private NetUtil() {
    }

    public static String bytesToIpAddress(byte[] bArr, int i, int i2) throws Throwable {
        if (i2 == 4) {
            StringBuilder sb = new StringBuilder(15);
            int i3 = i + 1;
            sb.append((bArr[i] >> SDKKeyboardCode.FUNCTION_KEY_BOARD_U) & 255);
            sb.append('.');
            int i4 = i3 + 1;
            sb.append((bArr[i3] >> SDKKeyboardCode.FUNCTION_KEY_BOARD_M) & 255);
            sb.append('.');
            sb.append((bArr[i4] >> 8) & 255);
            sb.append('.');
            sb.append(bArr[i4 + 1] & IMcuConstants.DEFAULT_VALUE);
            return sb.toString();
        }
        if (i2 != 16) {
            throw new IllegalArgumentException("length: " + i2 + " (expected: 4 or 16)");
        }
        StringBuilder sb2 = new StringBuilder(39);
        int i5 = i + 14;
        while (i < i5) {
            StringUtil.toHexString(sb2, bArr, i, 2);
            sb2.append(':');
            i += 2;
        }
        StringUtil.toHexString(sb2, bArr, i, 2);
        return sb2.toString();
    }

    private static void convertToBytes(String str, byte[] bArr, int i) {
        int length = str.length();
        int i2 = 0;
        bArr[i] = 0;
        int i3 = i + 1;
        bArr[i3] = 0;
        if (length > 3) {
            bArr[i] = (byte) ((getIntValue(str.charAt(0)) << 4) | bArr[i]);
            i2 = 1;
        }
        if (length > 2) {
            bArr[i] = (byte) (getIntValue(str.charAt(i2)) | bArr[i]);
            i2++;
        }
        if (length > 1) {
            bArr[i3] = (byte) ((getIntValue(str.charAt(i2)) << 4) | bArr[i3]);
            i2++;
        }
        bArr[i3] = (byte) ((getIntValue(str.charAt(i2)) & 15) | bArr[i3]);
    }

    public static byte[] createByteArrayFromIpAddressString(String str) {
        int i = 0;
        if (isValidIpV4Address(str)) {
            StringTokenizer stringTokenizer = new StringTokenizer(str, ".");
            byte[] bArr = new byte[4];
            while (i < 4) {
                bArr[i] = (byte) Integer.parseInt(stringTokenizer.nextToken());
                i++;
            }
            return bArr;
        }
        if (!isValidIpV6Address(str)) {
            return null;
        }
        if (str.charAt(0) == '[') {
            str = str.substring(1, str.length() - 1);
        }
        int iIndexOf = str.indexOf(37);
        if (iIndexOf >= 0) {
            str = str.substring(0, iIndexOf);
        }
        StringTokenizer stringTokenizer2 = new StringTokenizer(str, ":.", true);
        ArrayList arrayList = new ArrayList();
        ArrayList arrayList2 = new ArrayList();
        String str2 = "";
        int size = -1;
        String str3 = "";
        while (stringTokenizer2.hasMoreTokens()) {
            String strNextToken = stringTokenizer2.nextToken();
            if (":".equals(strNextToken)) {
                if (":".equals(str3)) {
                    size = arrayList.size();
                } else if (!str3.isEmpty()) {
                    arrayList.add(str3);
                }
            } else if (".".equals(strNextToken)) {
                arrayList2.add(str3);
            }
            String str4 = str3;
            str3 = strNextToken;
            str2 = str4;
        }
        if (":".equals(str2)) {
            if (":".equals(str3)) {
                size = arrayList.size();
            } else {
                arrayList.add(str3);
            }
        } else if (".".equals(str2)) {
            arrayList2.add(str3);
        }
        int i2 = arrayList2.isEmpty() ? 8 : 6;
        if (size != -1) {
            int size2 = i2 - arrayList.size();
            for (int i3 = 0; i3 < size2; i3++) {
                arrayList.add(size, "0");
            }
        }
        byte[] bArr2 = new byte[16];
        for (int i4 = 0; i4 < arrayList.size(); i4++) {
            convertToBytes((String) arrayList.get(i4), bArr2, i4 << 1);
        }
        while (i < arrayList2.size()) {
            bArr2[i + 12] = (byte) (Integer.parseInt((String) arrayList2.get(i)) & 255);
            i++;
        }
        return bArr2;
    }

    public static Inet6Address getByName(CharSequence charSequence) {
        return getByName(charSequence, true);
    }

    /*  JADX ERROR: UnsupportedOperationException in pass: RegionMakerVisitor
        java.lang.UnsupportedOperationException
        	at java.base/java.util.Collections$UnmodifiableCollection.add(Collections.java:1093)
        	at jadx.core.dex.visitors.regions.maker.SwitchRegionMaker$1.leaveRegion(SwitchRegionMaker.java:390)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:70)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
        	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverse(DepthRegionTraversal.java:23)
        	at jadx.core.dex.visitors.regions.maker.SwitchRegionMaker.insertBreaksForCase(SwitchRegionMaker.java:370)
        	at jadx.core.dex.visitors.regions.maker.SwitchRegionMaker.insertBreaks(SwitchRegionMaker.java:85)
        	at jadx.core.dex.visitors.regions.PostProcessRegions.leaveRegion(PostProcessRegions.java:33)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:70)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
        	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverse(DepthRegionTraversal.java:19)
        	at jadx.core.dex.visitors.regions.PostProcessRegions.process(PostProcessRegions.java:23)
        	at jadx.core.dex.visitors.regions.RegionMakerVisitor.visit(RegionMakerVisitor.java:31)
        */
    private static int getIntValue(char r1) {
        /*
            r0 = 0
            switch(r1) {
                case 48: goto L20;
                case 49: goto L1e;
                case 50: goto L1c;
                case 51: goto L1a;
                case 52: goto L18;
                case 53: goto L16;
                case 54: goto L14;
                case 55: goto L12;
                case 56: goto Lf;
                case 57: goto Lc;
                default: goto L4;
            }
        L4:
            char r1 = java.lang.Character.toLowerCase(r1)
            switch(r1) {
                case 97: goto L30;
                case 98: goto L2d;
                case 99: goto L2a;
                case 100: goto L27;
                case 101: goto L24;
                case 102: goto L21;
                default: goto Lb;
            }
        Lb:
            return r0
        Lc:
            r1 = 9
            return r1
        Lf:
            r1 = 8
            return r1
        L12:
            r1 = 7
            return r1
        L14:
            r1 = 6
            return r1
        L16:
            r1 = 5
            return r1
        L18:
            r1 = 4
            return r1
        L1a:
            r1 = 3
            return r1
        L1c:
            r1 = 2
            return r1
        L1e:
            r1 = 1
            return r1
        L20:
            return r0
        L21:
            r1 = 15
            return r1
        L24:
            r1 = 14
            return r1
        L27:
            r1 = 13
            return r1
        L2a:
            r1 = 12
            return r1
        L2d:
            r1 = 11
            return r1
        L30:
            r1 = 10
            return r1
        */
        throw new UnsupportedOperationException("Method not decompiled: io.netty.util.NetUtil.getIntValue(char):int");
    }

    private static boolean inRangeEndExclusive(int i, int i2, int i3) {
        return i >= i2 && i < i3;
    }

    public static String intToIpAddress(int i) {
        StringBuilder sb = new StringBuilder(15);
        sb.append((i >> 24) & 255);
        sb.append('.');
        sb.append((i >> 16) & 255);
        sb.append('.');
        sb.append((i >> 8) & 255);
        sb.append('.');
        sb.append(i & 255);
        return sb.toString();
    }

    public static boolean isIpV4StackPreferred() {
        return IPV4_PREFERRED;
    }

    private static boolean isValidHexChar(char c2) {
        return (c2 >= '0' && c2 <= '9') || (c2 >= 'A' && c2 <= 'F') || (c2 >= 'a' && c2 <= 'f');
    }

    private static boolean isValidIp4Word(String str) {
        if (str.length() < 1 || str.length() > 3) {
            return false;
        }
        for (int i = 0; i < str.length(); i++) {
            char cCharAt = str.charAt(i);
            if (cCharAt < '0' || cCharAt > '9') {
                return false;
            }
        }
        return Integer.parseInt(str) <= 255;
    }

    public static boolean isValidIpV4Address(String str) {
        int length = str.length();
        if (length > 15) {
            return false;
        }
        StringBuilder sb = new StringBuilder();
        int i = 0;
        for (int i2 = 0; i2 < length; i2++) {
            char cCharAt = str.charAt(i2);
            if (cCharAt == '.') {
                i++;
                if (i > 3 || sb.length() == 0 || Integer.parseInt(sb.toString()) > 255) {
                    return false;
                }
                sb.delete(0, sb.length());
            } else {
                if (!Character.isDigit(cCharAt) || sb.length() > 2) {
                    return false;
                }
                sb.append(cCharAt);
            }
        }
        return sb.length() != 0 && Integer.parseInt(sb.toString()) <= 255 && i == 3;
    }

    public static boolean isValidIpV6Address(String str) {
        int i;
        int length = str.length();
        StringBuilder sb = new StringBuilder();
        int length2 = str.length();
        if (length2 < 2) {
            return false;
        }
        if (str.charAt(0) != '[') {
            i = 0;
        } else {
            if (str.charAt(length2 - 1) != ']') {
                return false;
            }
            length2--;
            i = 1;
        }
        int iIndexOf = str.indexOf(37, i);
        if (iIndexOf >= 0) {
            length2 = iIndexOf;
        }
        int i2 = 0;
        char c2 = 0;
        int i3 = 0;
        boolean z = false;
        int i4 = i;
        while (i4 < length2) {
            char cCharAt = str.charAt(i4);
            if (cCharAt == '.') {
                i2++;
                if (i2 > 3 || !isValidIp4Word(sb.toString())) {
                    return false;
                }
                if (i3 != 6 && !z) {
                    return false;
                }
                if (i3 == 7 && str.charAt(i) != ':' && str.charAt(i + 1) != ':') {
                    return false;
                }
                sb.delete(0, sb.length());
            } else if (cCharAt != ':') {
                if (sb.length() > 3 || !isValidHexChar(cCharAt)) {
                    return false;
                }
                sb.append(cCharAt);
            } else {
                if ((i4 == i && (str.length() <= i4 || str.charAt(i4 + 1) != ':')) || (i3 = i3 + 1) > 7 || i2 > 0) {
                    return false;
                }
                if (c2 == ':') {
                    if (z) {
                        return false;
                    }
                    z = true;
                }
                sb.delete(0, sb.length());
            }
            i4++;
            c2 = cCharAt;
        }
        if (i2 > 0) {
            return i2 == 3 && isValidIp4Word(sb.toString()) && i3 < 7;
        }
        if (i3 == 7 || z) {
            return (sb.length() == 0 && str.charAt((length + (-1)) - i) == ':' && str.charAt((length - 2) - i) != ':') ? false : true;
        }
        return false;
    }

    private static boolean isValidNumericChar(char c2) {
        return c2 >= '0' && c2 <= '9';
    }

    public static String toAddressString(InetAddress inetAddress) {
        return toAddressString(inetAddress, false);
    }

    /* JADX WARN: Removed duplicated region for block: B:123:0x0186  */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
        To view partially-correct add '--show-bad-code' argument
    */
    public static java.net.Inet6Address getByName(java.lang.CharSequence r18, boolean r19) {
        /*
            Method dump skipped, instruction units count: 707
            To view this dump add '--comments-level debug' option
        */
        throw new UnsupportedOperationException("Method not decompiled: io.netty.util.NetUtil.getByName(java.lang.CharSequence, boolean):java.net.Inet6Address");
    }

    public static String toAddressString(InetAddress inetAddress, boolean z) {
        int i;
        int i2;
        if (inetAddress instanceof Inet4Address) {
            return inetAddress.getHostAddress();
        }
        if (!(inetAddress instanceof Inet6Address)) {
            throw new IllegalArgumentException("Unhandled type: " + inetAddress.getClass());
        }
        byte[] address = inetAddress.getAddress();
        int[] iArr = new int[8];
        boolean z2 = false;
        int i3 = 0;
        while (true) {
            i = 1;
            if (i3 >= 8) {
                break;
            }
            int i4 = i3 << 1;
            iArr[i3] = (address[i4 + 1] & IMcuConstants.DEFAULT_VALUE) | ((address[i4] & IMcuConstants.DEFAULT_VALUE) << 8);
            i3++;
        }
        int i5 = -1;
        int i6 = -1;
        int i7 = -1;
        int i8 = 0;
        int i9 = 0;
        while (i8 < 8) {
            if (iArr[i8] == 0) {
                if (i6 < 0) {
                    i6 = i8;
                }
            } else if (i6 >= 0) {
                int i10 = i8 - i6;
                if (i10 > i9) {
                    i9 = i10;
                } else {
                    i6 = i7;
                }
                i7 = i6;
                i6 = -1;
            }
            i8++;
        }
        if (i6 < 0 || (i2 = i8 - i6) <= i9) {
            i6 = i7;
        } else {
            i9 = i2;
        }
        if (i9 == 1) {
            i9 = 0;
        } else {
            i5 = i6;
        }
        int i11 = i9 + i5;
        StringBuilder sb = new StringBuilder(39);
        if (i11 < 0) {
            sb.append(Integer.toHexString(iArr[0]));
            while (i < 8) {
                sb.append(':');
                sb.append(Integer.toHexString(iArr[i]));
                i++;
            }
        } else {
            if (inRangeEndExclusive(0, i5, i11)) {
                sb.append("::");
                if (z && i11 == 5 && iArr[5] == 65535) {
                    z2 = true;
                }
            } else {
                sb.append(Integer.toHexString(iArr[0]));
            }
            while (i < 8) {
                if (!inRangeEndExclusive(i, i5, i11)) {
                    if (!inRangeEndExclusive(i - 1, i5, i11)) {
                        if (!z2 || i == 6) {
                            sb.append(':');
                        } else {
                            sb.append('.');
                        }
                    }
                    if (!z2 || i <= 5) {
                        sb.append(Integer.toHexString(iArr[i]));
                    } else {
                        sb.append(iArr[i] >> 8);
                        sb.append('.');
                        sb.append(iArr[i] & 255);
                    }
                } else if (!inRangeEndExclusive(i - 1, i5, i11)) {
                    sb.append("::");
                }
                i++;
            }
        }
        return sb.toString();
    }
}
