package io.netty.handler.codec.http.cookie;

import g.a.a.a.a;
import io.netty.util.internal.InternalThreadLocalMap;
import java.util.BitSet;

/* JADX INFO: loaded from: classes.dex */
public final class CookieUtil {
    private static final BitSet VALID_COOKIE_NAME_OCTETS = validCookieNameOctets();
    private static final BitSet VALID_COOKIE_VALUE_OCTETS = validCookieValueOctets();
    private static final BitSet VALID_COOKIE_ATTRIBUTE_VALUE_OCTETS = validCookieAttributeValueOctets();

    private CookieUtil() {
    }

    public static void add(StringBuilder sb, String str) {
        sb.append(str);
        sb.append(';');
        sb.append(' ');
    }

    public static void add(StringBuilder sb, String str, long j2) {
        sb.append(str);
        sb.append('=');
        sb.append(j2);
        sb.append(';');
        sb.append(' ');
    }

    public static void add(StringBuilder sb, String str, String str2) {
        sb.append(str);
        sb.append('=');
        sb.append(str2);
        sb.append(';');
        sb.append(' ');
    }

    public static void addQuoted(StringBuilder sb, String str, String str2) {
        if (str2 == null) {
            str2 = "";
        }
        sb.append(str);
        sb.append('=');
        sb.append('\"');
        sb.append(str2);
        sb.append('\"');
        sb.append(';');
        sb.append(' ');
    }

    public static int firstInvalidCookieNameOctet(CharSequence charSequence) {
        return firstInvalidOctet(charSequence, VALID_COOKIE_NAME_OCTETS);
    }

    public static int firstInvalidCookieValueOctet(CharSequence charSequence) {
        return firstInvalidOctet(charSequence, VALID_COOKIE_VALUE_OCTETS);
    }

    public static int firstInvalidOctet(CharSequence charSequence, BitSet bitSet) {
        for (int i2 = 0; i2 < charSequence.length(); i2++) {
            if (!bitSet.get(charSequence.charAt(i2))) {
                return i2;
            }
        }
        return -1;
    }

    public static StringBuilder stringBuilder() {
        return InternalThreadLocalMap.get().stringBuilder();
    }

    public static String stripTrailingSeparator(StringBuilder sb) {
        if (sb.length() > 0) {
            sb.setLength(sb.length() - 2);
        }
        return sb.toString();
    }

    public static String stripTrailingSeparatorOrNull(StringBuilder sb) {
        if (sb.length() == 0) {
            return null;
        }
        return stripTrailingSeparator(sb);
    }

    public static CharSequence unwrapValue(CharSequence charSequence) {
        int length = charSequence.length();
        if (length <= 0 || charSequence.charAt(0) != '\"') {
            return charSequence;
        }
        if (length >= 2) {
            int i2 = length - 1;
            if (charSequence.charAt(i2) == '\"') {
                return length == 2 ? "" : charSequence.subSequence(1, i2);
            }
        }
        return null;
    }

    private static BitSet validCookieAttributeValueOctets() {
        BitSet bitSet = new BitSet();
        for (int i2 = 32; i2 < 127; i2++) {
            bitSet.set(i2);
        }
        bitSet.set(59, false);
        return bitSet;
    }

    private static BitSet validCookieNameOctets() {
        BitSet bitSet = new BitSet();
        for (int i2 = 32; i2 < 127; i2++) {
            bitSet.set(i2);
        }
        int[] iArr = {40, 41, 60, 62, 64, 44, 59, 58, 92, 34, 47, 91, 93, 63, 61, 123, 125, 32, 9};
        for (int i3 = 0; i3 < 19; i3++) {
            bitSet.set(iArr[i3], false);
        }
        return bitSet;
    }

    private static BitSet validCookieValueOctets() {
        BitSet bitSet = new BitSet();
        bitSet.set(33);
        for (int i2 = 35; i2 <= 43; i2++) {
            bitSet.set(i2);
        }
        for (int i3 = 45; i3 <= 58; i3++) {
            bitSet.set(i3);
        }
        for (int i4 = 60; i4 <= 91; i4++) {
            bitSet.set(i4);
        }
        for (int i5 = 93; i5 <= 126; i5++) {
            bitSet.set(i5);
        }
        return bitSet;
    }

    public static String validateAttributeValue(String str, String str2) {
        if (str2 == null) {
            return null;
        }
        String strTrim = str2.trim();
        if (strTrim.isEmpty()) {
            return null;
        }
        int iFirstInvalidOctet = firstInvalidOctet(strTrim, VALID_COOKIE_ATTRIBUTE_VALUE_OCTETS);
        if (iFirstInvalidOctet == -1) {
            return strTrim;
        }
        StringBuilder sbJ = a.J(str, " contains the prohibited characters: ");
        sbJ.append(strTrim.charAt(iFirstInvalidOctet));
        throw new IllegalArgumentException(sbJ.toString());
    }
}
