导航菜单

页面标题

页面副标题

Brevistay v5.8.2 - WebViewMutationProcessor.java 源代码

正在查看: Brevistay v5.8.2 应用的 WebViewMutationProcessor.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package a.a.clarity.helpers;

import android.content.Context;
import android.net.Uri;
import androidx.appcompat.R;
import androidx.constraintlayout.core.motion.utils.TypedValues;
import com.microsoft.clarity.ClarityConfig;
import j$.util.Base64;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.collections.CollectionsKt;
import kotlin.comparisons.ComparisonsKt;
import kotlin.io.ByteStreamsKt;
import kotlin.io.CloseableKt;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.internal.Intrinsics;
import kotlin.ranges.IntRange;
import kotlin.sequences.Sequence;
import kotlin.sequences.SequencesKt;
import kotlin.text.Charsets;
import kotlin.text.MatchGroup;
import kotlin.text.MatchResult;
import kotlin.text.Regex;
import kotlin.text.StringsKt;

@Metadata(d1 = {"\u0000\u008c\u0001\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0002\u0010\u0012\n\u0002\u0010\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010!\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0010 \n\u0000\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\b\n\u0002\b\u0015\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0010%\n\u0002\u0018\u0002\n\u0002\b\u0007\b\u0001\u0018\u00002\u00020\u0001:\u0004^_`aB1\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0004\u0012\u0018\u0010\n\u001a\u0014\u0012\u0004\u0012\u00020\u0007\u0012\u0004\u0012\u00020\b\u0012\u0004\u0012\u00020\t0\u0006¢\u0006\u0004\b\u000b\u0010\fJ)\u0010\u0013\u001a\u00020\t2\n\u0010\u000f\u001a\u00060\rj\u0002`\u000e2\f\u0010\u0012\u001a\b\u0012\u0004\u0012\u00020\u00110\u0010H\u0002¢\u0006\u0004\b\u0013\u0010\u0014J\u0017\u0010\u0017\u001a\u00020\u00162\u0006\u0010\u0015\u001a\u00020\u0007H\u0002¢\u0006\u0004\b\u0017\u0010\u0018J\u0017\u0010\u0019\u001a\u00020\u00162\u0006\u0010\u0015\u001a\u00020\u0007H\u0002¢\u0006\u0004\b\u0019\u0010\u0018J\u001f\u0010\u001c\u001a\u00020\u00072\u0006\u0010\u001a\u001a\u00020\u00072\u0006\u0010\u001b\u001a\u00020\u0007H\u0002¢\u0006\u0004\b\u001c\u0010\u001dJ\u0019\u0010!\u001a\u0004\u0018\u00010 2\u0006\u0010\u001f\u001a\u00020\u001eH\u0002¢\u0006\u0004\b!\u0010\"J\u0017\u0010$\u001a\u00020\u00072\u0006\u0010#\u001a\u00020\u0007H\u0002¢\u0006\u0004\b$\u0010%J\u001f\u0010(\u001a\u00020\u00072\u0006\u0010&\u001a\u00020 2\u0006\u0010'\u001a\u00020\u0016H\u0002¢\u0006\u0004\b(\u0010)JA\u00102\u001a\u0002012\u0006\u0010+\u001a\u00020*2\u0006\u0010\u001a\u001a\u00020\u00072\b\u0010-\u001a\u0004\u0018\u00010,2\u0006\u0010.\u001a\u00020\u00162\u000e\b\u0002\u00100\u001a\b\u0012\u0004\u0012\u00020\u00070/H\u0002¢\u0006\u0004\b2\u00103J\u001f\u00102\u001a\u0002012\u0006\u0010\u001a\u001a\u00020\u00072\u0006\u0010.\u001a\u00020\u0016H\u0002¢\u0006\u0004\b2\u00104J\u0017\u00105\u001a\u00020\u00162\u0006\u0010&\u001a\u00020 H\u0002¢\u0006\u0004\b5\u00106J\u0017\u00105\u001a\u00020\u00162\u0006\u0010&\u001a\u00020\u0007H\u0002¢\u0006\u0004\b5\u0010\u0018J\u0017\u0010.\u001a\u00020\u00162\u0006\u0010&\u001a\u00020 H\u0002¢\u0006\u0004\b.\u00106J\u0017\u00107\u001a\u00020\u00162\u0006\u0010&\u001a\u00020\u0007H\u0002¢\u0006\u0004\b7\u0010\u0018JA\u0010>\u001a\u0004\u0018\u00010\u00112\u0006\u00108\u001a\u00020\u00072\u0006\u00109\u001a\u00020\u00072\u0006\u0010.\u001a\u00020\u00162\u0006\u0010;\u001a\u00020:2\u0006\u0010<\u001a\u00020:2\u0006\u0010=\u001a\u00020:H\u0002¢\u0006\u0004\b>\u0010?J=\u0010B\u001a\b\u0012\u0004\u0012\u00020\u00110\u00102\u0006\u0010@\u001a\u00020\u00072\u0006\u00109\u001a\u00020\u00072\u0006\u0010.\u001a\u00020\u00162\u0006\u0010A\u001a\u00020:2\u0006\u0010=\u001a\u00020:H\u0002¢\u0006\u0004\bB\u0010CJ\u0015\u0010D\u001a\u00020\t2\u0006\u0010\u001f\u001a\u00020\u001e¢\u0006\u0004\bD\u0010EJ\r\u0010F\u001a\u00020\t¢\u0006\u0004\bF\u0010GJ)\u0010J\u001a\u00020\u00072\u0006\u00109\u001a\u00020\u00072\u0006\u0010H\u001a\u00020\u00072\b\b\u0002\u0010I\u001a\u00020\u0016H\u0002¢\u0006\u0004\bJ\u0010KJ\u0017\u0010L\u001a\u00020\u00162\u0006\u0010\u0015\u001a\u00020\u0007H\u0002¢\u0006\u0004\bL\u0010\u0018J'\u0010N\u001a\u0002012\u0006\u0010M\u001a\u0002012\u0006\u0010.\u001a\u00020\u00162\u0006\u0010=\u001a\u00020:H\u0002¢\u0006\u0004\bN\u0010OR\u0014\u0010Q\u001a\u00020P8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\bQ\u0010RR\u0014\u0010\u0005\u001a\u00020\u00048\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0005\u0010SR\u0014\u0010\u0003\u001a\u00020\u00028\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0003\u0010TR\u0014\u0010U\u001a\u00020P8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\bU\u0010RR\u0014\u0010V\u001a\u00020P8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\bV\u0010RR\u0014\u0010W\u001a\u00020P8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\bW\u0010RR\u0014\u0010X\u001a\u00020P8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\bX\u0010RR&\u0010\n\u001a\u0014\u0012\u0004\u0012\u00020\u0007\u0012\u0004\u0012\u00020\b\u0012\u0004\u0012\u00020\t0\u00068\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\n\u0010YR \u0010\\\u001a\u000e\u0012\u0004\u0012\u00020\u0007\u0012\u0004\u0012\u00020[0Z8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\\\u0010]¨\u0006b"}, d2 = {"Lcom/microsoft/clarity/helpers/WebViewMutationProcessor;", "", "Landroid/content/Context;", "context", "Lcom/microsoft/clarity/ClarityConfig;", "config", "Lkotlin/Function2;", "", "", "", "webAssetCallback", "<init>", "(Landroid/content/Context;Lcom/microsoft/clarity/ClarityConfig;Lkotlin/jvm/functions/Function2;)V", "Ljava/lang/StringBuilder;", "Lkotlin/text/StringBuilder;", "builder", "", "Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$PathReplacement;", "pathReplacements", "applyReplacements", "(Ljava/lang/StringBuilder;Ljava/util/List;)V", "assetPath", "", "checkIfDependenciesChanged", "(Ljava/lang/String;)Z", "checkIfFileContentChanged", "path", "contentHash", "getAssetPathWithHash", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", "Lcom/microsoft/clarity/models/ingest/WebViewMutationEvent;", "event", "Ljava/net/URL;", "getPageUrl", "(Lcom/microsoft/clarity/models/ingest/WebViewMutationEvent;)Ljava/net/URL;", "assetPathWithHash", "getResourceAbsoluteUrl", "(Ljava/lang/String;)Ljava/lang/String;", "url", "isHtmlPage", "getResourceFilePath", "(Ljava/net/URL;Z)Ljava/lang/String;", "Ljava/io/InputStream;", "inputStream", "", "lastModified", "isContextAsset", "", "dependencies", "Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAsset;", "getWebAsset", "(Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/Long;ZLjava/util/List;)Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAsset;", "(Ljava/lang/String;Z)Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAsset;", "isAbsoluteLocalUrl", "(Ljava/net/URL;)Z", "isRelativeUrl", "localUrl", "pageFolderPath", "", "matchFirst", "matchLast", "level", "processLocalUrlResource", "(Ljava/lang/String;Ljava/lang/String;ZIII)Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$PathReplacement;", "styleContent", TypedValues.CycleType.S_WAVE_OFFSET, "processStyleContent", "(Ljava/lang/String;Ljava/lang/String;ZII)Ljava/util/List;", "processWebViewMutationEvent", "(Lcom/microsoft/clarity/models/ingest/WebViewMutationEvent;)V", "resetCache", "()V", "assetUrl", "isAbsoluteUrl", "resolveAssetPath", "(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;", "shouldLoadAsset", "cssAsset", "updateCssAsset", "(Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAsset;ZI)Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAsset;", "Lkotlin/text/Regex;", "clarityTagsRegex", "Lkotlin/text/Regex;", "Lcom/microsoft/clarity/ClarityConfig;", "Landroid/content/Context;", "cssImportRegex", "cssUrlRegex", "localUrlRegex", "styleContentRegex", "Lkotlin/jvm/functions/Function2;", "", "Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAssetMetadata;", "webAssetMetadataCache", "Ljava/util/Map;", "Companion", "PathReplacement", "WebAsset", "WebAssetMetadata", "sdk_prodRelease"}, k = 1, mv = {1, 6, 0}, xi = R.styleable.AppCompatTheme_checkboxStyle)
public final class WebViewMutationProcessor {

    public final Context f84a;
    public final ClarityConfig b;
    public final Function2<String, byte[], Unit> c;
    public final Regex d;
    public final Regex e;
    public final Regex f;
    public final Regex g;
    public final Regex h;
    public final Map<String, c> i;

    @Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\t\b\u0000\u0018\u00002\u00020\u0001B%\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u0012\u0006\u0010\u0007\u001a\u00020\u0006¢\u0006\u0002\u0010\bR\u0011\u0010\u0007\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\t\u0010\nR\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\nR\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\rR\u0011\u0010\u0004\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\r¨\u0006\u000f"}, d2 = {"Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$PathReplacement;", "", "first", "", "last", "assetPath", "", "absoluteUrl", "(IILjava/lang/String;Ljava/lang/String;)V", "getAbsoluteUrl", "()Ljava/lang/String;", "getAssetPath", "getFirst", "()I", "getLast", "sdk_prodRelease"}, k = 1, mv = {1, 6, 0}, xi = R.styleable.AppCompatTheme_checkboxStyle)
    public static final class a {

        public final int f85a;
        public final int b;
        public final String c;
        public final String d;

        public a(int i, int i2, String str, String str2) {
            Intrinsics.checkNotNullParameter(str, "assetPath");
            Intrinsics.checkNotNullParameter(str2, "absoluteUrl");
            this.f85a = i;
            this.b = i2;
            this.c = str;
            this.d = str2;
        }
    }

    @Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0012\n\u0002\b\b\b\u0000\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006R\u001a\u0010\u0004\u001a\u00020\u0005X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0007\u0010\b\"\u0004\b\t\u0010\nR\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\f¨\u0006\r"}, d2 = {"Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAsset;", "", "metadata", "Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAssetMetadata;", "content", "", "(Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAssetMetadata;[B)V", "getContent", "()[B", "setContent", "([B)V", "getMetadata", "()Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAssetMetadata;", "sdk_prodRelease"}, k = 1, mv = {1, 6, 0}, xi = R.styleable.AppCompatTheme_checkboxStyle)
    public static final class b {

        public final c f86a;
        public byte[] b;

        public b(c cVar, byte[] bArr) {
            Intrinsics.checkNotNullParameter(cVar, "metadata");
            Intrinsics.checkNotNullParameter(bArr, "content");
            this.f86a = cVar;
            this.b = bArr;
        }
    }

    @Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\t\n\u0000\n\u0002\u0010 \n\u0002\b\u0013\b\u0000\u0018\u00002\u00020\u0001BE\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0003\u0012\u0006\u0010\u0007\u001a\u00020\u0003\u0012\u0006\u0010\b\u001a\u00020\u0003\u0012\b\u0010\t\u001a\u0004\u0018\u00010\n\u0012\f\u0010\u000b\u001a\b\u0012\u0004\u0012\u00020\u00030\f¢\u0006\u0002\u0010\rR\u001a\u0010\b\u001a\u00020\u0003X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u000e\u0010\u000f\"\u0004\b\u0010\u0010\u0011R \u0010\u000b\u001a\b\u0012\u0004\u0012\u00020\u00030\fX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0012\u0010\u0013\"\u0004\b\u0014\u0010\u0015R\u001a\u0010\u0006\u001a\u00020\u0003X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0016\u0010\u000f\"\u0004\b\u0017\u0010\u0011R\u0011\u0010\u0004\u001a\u00020\u0005¢\u0006\b\n\u0000\u001a\u0004\b\u0004\u0010\u0018R\u0015\u0010\t\u001a\u0004\u0018\u00010\n¢\u0006\n\n\u0002\u0010\u001b\u001a\u0004\b\u0019\u0010\u001aR\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u001c\u0010\u000fR\u001a\u0010\u0007\u001a\u00020\u0003X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u001d\u0010\u000f\"\u0004\b\u001e\u0010\u0011¨\u0006\u001f"}, d2 = {"Lcom/microsoft/clarity/helpers/WebViewMutationProcessor$WebAssetMetadata;", "", "path", "", "isContextAsset", "", "hash", "pathWithHash", "absolutePathWithHash", "modificationTimestamp", "", "dependencies", "", "(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/util/List;)V", "getAbsolutePathWithHash", "()Ljava/lang/String;", "setAbsolutePathWithHash", "(Ljava/lang/String;)V", "getDependencies", "()Ljava/util/List;", "setDependencies", "(Ljava/util/List;)V", "getHash", "setHash", "()Z", "getModificationTimestamp", "()Ljava/lang/Long;", "Ljava/lang/Long;", "getPath", "getPathWithHash", "setPathWithHash", "sdk_prodRelease"}, k = 1, mv = {1, 6, 0}, xi = R.styleable.AppCompatTheme_checkboxStyle)
    public static final class c {

        public final String f87a;
        public final boolean b;
        public String c;
        public String d;
        public final Long e;
        public List<String> f;

        public c(String str, boolean z, String str2, String str3, String str4, Long l, List<String> list) {
            Intrinsics.checkNotNullParameter(str, "path");
            Intrinsics.checkNotNullParameter(str2, "hash");
            Intrinsics.checkNotNullParameter(str3, "pathWithHash");
            Intrinsics.checkNotNullParameter(str4, "absolutePathWithHash");
            Intrinsics.checkNotNullParameter(list, "dependencies");
            this.f87a = str;
            this.b = z;
            this.c = str3;
            this.d = str4;
            this.e = l;
            this.f = list;
        }
    }

    @Metadata(d1 = {"\u0000\n\n\u0000\n\u0002\u0010\b\n\u0002\b\u0007\u0010\u0000\u001a\u00020\u0001\"\u0004\b\u0000\u0010\u00022\u000e\u0010\u0003\u001a\n \u0004*\u0004\u0018\u0001H\u0002H\u00022\u000e\u0010\u0005\u001a\n \u0004*\u0004\u0018\u0001H\u0002H\u0002H\n¢\u0006\u0004\b\u0006\u0010\u0007¨\u0006\b"}, d2 = {"<anonymous>", "", "T", "a", "kotlin.jvm.PlatformType", "b", "compare", "(Ljava/lang/Object;Ljava/lang/Object;)I", "kotlin/comparisons/ComparisonsKt__ComparisonsKt$compareByDescending$1"}, k = 3, mv = {1, 6, 0}, xi = R.styleable.AppCompatTheme_checkboxStyle)
    public static final class d<T> implements Comparator {
        @Override
        public final int compare(T t, T t2) {
            return ComparisonsKt.compareValues(Integer.valueOf(((a) t2).f85a), Integer.valueOf(((a) t).f85a));
        }
    }

    public WebViewMutationProcessor(Context context, ClarityConfig clarityConfig, Function2<? super String, ? super byte[], Unit> function2) {
        Intrinsics.checkNotNullParameter(context, "context");
        Intrinsics.checkNotNullParameter(clarityConfig, "config");
        Intrinsics.checkNotNullParameter(function2, "webAssetCallback");
        this.f84a = context;
        this.b = clarityConfig;
        this.c = function2;
        this.d = new Regex("\\[ClarityStyleContent]|\\[/ClarityStyleContent]|\\[ClarityLocalURL]|\\[/ClarityLocalURL]");
        this.e = new Regex("\\[ClarityLocalURL](.*?)\\[/ClarityLocalURL]");
        this.f = new Regex("\\[ClarityStyleContent](.*?)\\[/ClarityStyleContent]");
        this.g = new Regex("url\\((?:'|\\\\\"|\")?(.*?)(?:'|\\\\\"|\")?\\)");
        this.h = new Regex("@import\\s(?:'|\\\\\"|\")(.*?)(?:'|\\\\\"|\");");
        this.i = new LinkedHashMap();
    }

    public final String a(URL url, boolean z) {
        StringBuilder sb;
        String str;
        String path = url.getPath();
        if (Intrinsics.areEqual(url.getProtocol(), "file")) {
            Intrinsics.checkNotNullExpressionValue(path, "path");
            str = "/android_asset";
        } else {
            if (!Intrinsics.areEqual(url.getHost(), "appassets.androidplatform.net")) {
                if (!this.b.isCordova$sdk_prodRelease() || !Intrinsics.areEqual(url.getHost(), "localhost")) {
                    if (this.b.isIonic$sdk_prodRelease() && Intrinsics.areEqual(url.getHost(), "localhost")) {
                        if (z) {
                            path = "/public/index.html";
                        } else {
                            sb = new StringBuilder("/public");
                        }
                    }
                    Intrinsics.checkNotNullExpressionValue(path, "path");
                    return path;
                }
                sb = new StringBuilder("/www");
                sb.append(path);
                path = sb.toString();
                Intrinsics.checkNotNullExpressionValue(path, "path");
                return path;
            }
            Intrinsics.checkNotNullExpressionValue(path, "path");
            str = "assets";
        }
        path = StringsKt.removePrefix(path, str);
        Intrinsics.checkNotNullExpressionValue(path, "path");
        return path;
    }

    public final void a(StringBuilder sb, List<a> list) {
        if (list.size() > 1) {
            CollectionsKt.sortWith(list, new d());
        }
        for (a aVar : list) {
            sb.replace(aVar.f85a, aVar.b + 1, aVar.d);
        }
    }

    public final boolean a(URL url) {
        if (Intrinsics.areEqual(url.getProtocol(), "file") || Intrinsics.areEqual(url.getHost(), "appassets.androidplatform.net")) {
            return true;
        }
        return (this.b.isIonic$sdk_prodRelease() || this.b.isCordova$sdk_prodRelease()) && Intrinsics.areEqual(url.getHost(), "localhost");
    }

    public final boolean b(String str) {
        Long l;
        c cVar = this.i.get(str);
        if (Intrinsics.areEqual(cVar != null ? Boolean.valueOf(cVar.b) : null, Boolean.TRUE)) {
            return false;
        }
        c cVar2 = this.i.get(str);
        return new File(str).lastModified() > ((cVar2 == null || (l = cVar2.e) == null) ? 0L : l.longValue());
    }

    public final boolean b(URL url) {
        if (Intrinsics.areEqual(url.getProtocol(), "file")) {
            String path = url.getPath();
            Intrinsics.checkNotNullExpressionValue(path, "url.path");
            if (StringsKt.startsWith$default(path, "/android_asset", false, 2, (Object) null)) {
                return true;
            }
        }
        if (Intrinsics.areEqual(url.getHost(), "appassets.androidplatform.net")) {
            return true;
        }
        return (this.b.isIonic$sdk_prodRelease() || this.b.isCordova$sdk_prodRelease()) && Intrinsics.areEqual(url.getHost(), "localhost");
    }

    public final boolean c(String str) {
        try {
            return a(new URL(str));
        } catch (Exception unused) {
            return false;
        }
    }

    public final boolean a(String str) {
        List<String> emptyList;
        c cVar = this.i.get(str);
        if (cVar == null || (emptyList = cVar.f) == null) {
            emptyList = CollectionsKt.emptyList();
        }
        for (String str2 : emptyList) {
            if (b(str2) || a(str2)) {
                return true;
            }
        }
        return false;
    }

    public final b a(InputStream inputStream, String str, Long l, boolean z, List<String> list) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");
            byte[] readBytes = ByteStreamsKt.readBytes(new DigestInputStream(inputStream, messageDigest));
            String encodeToString = Base64.getUrlEncoder().encodeToString(messageDigest.digest());
            Intrinsics.checkNotNullExpressionValue(encodeToString, "contentHash");
            Intrinsics.checkNotNullParameter(str, "path");
            int lastIndexOf$default = StringsKt.lastIndexOf$default(str, "/", 0, false, 6, (Object) null) + 1;
            int lastIndexOf$default2 = StringsKt.lastIndexOf$default(str, ".", 0, false, 6, (Object) null) - 1;
            if (lastIndexOf$default2 < lastIndexOf$default) {
                lastIndexOf$default2 = str.length() - 1;
            }
            String obj = StringsKt.replaceRange(str, new IntRange(lastIndexOf$default, lastIndexOf$default2), encodeToString).toString();
            String uri = Uri.parse("https://clarity.microsoft.com/").buildUpon().appendPath("app").appendPath("webasset").appendPath("v1").appendPath(this.b.getProjectId()).appendPath("*clarity-playback-token-placeholder*").appendPath("all").appendEncodedPath(obj).build().toString();
            Intrinsics.checkNotNullExpressionValue(uri, "parse(BuildConfig.WEB_AS…)\n            .toString()");
            b bVar = new b(new c(str, z, encodeToString, obj, uri, l, list), readBytes);
            CloseableKt.closeFinally(inputStream, (Throwable) null);
            return bVar;
        } catch (Throwable th) {
            try {
                throw th;
            } catch (Throwable th2) {
                CloseableKt.closeFinally(inputStream, th);
                throw th2;
            }
        }
    }

    public final a.a.clarity.helpers.WebViewMutationProcessor.a a(java.lang.String r17, java.lang.String r18, boolean r19, int r20, int r21, int r22) {
        throw new UnsupportedOperationException("Method not decompiled: a.a.clarity.helpers.WebViewMutationProcessor.a(java.lang.String, java.lang.String, boolean, int, int, int):a.a.a.n.f$a");
    }

    public final List<a> a(String str, String str2, boolean z, int i, int i2) {
        WebViewMutationProcessor webViewMutationProcessor = this;
        Sequence<MatchResult> plus = SequencesKt.plus(Regex.findAll$default(webViewMutationProcessor.g, str, 0, 2, (Object) null), Regex.findAll$default(webViewMutationProcessor.h, str, 0, 2, (Object) null));
        ArrayList arrayList = new ArrayList();
        for (MatchResult matchResult : plus) {
            String str3 = (String) matchResult.getGroupValues().get(1);
            if ((StringsKt.indexOf$default(str3, "://", 0, false, 6, (Object) null) <= 0 && StringsKt.indexOf$default(str3, "//", 0, false, 6, (Object) null) != 0 && !StringsKt.startsWith$default(str3, "data:", false, 2, (Object) null)) || webViewMutationProcessor.c(str3)) {
                String path = Uri.parse(str3).getPath();
                if (path != null) {
                    MatchGroup matchGroup = matchResult.getGroups().get(1);
                    Intrinsics.checkNotNull(matchGroup);
                    a a2 = webViewMutationProcessor.a(path, str2, z, i + matchGroup.getRange().getFirst(), (path.length() + r4) - 1, i2 + 1);
                    if (a2 != null) {
                        arrayList.add(a2);
                    }
                    webViewMutationProcessor = this;
                }
            }
        }
        return arrayList;
    }

    public final void a(com.microsoft.clarity.models.ingest.WebViewMutationEvent r15) {
        throw new UnsupportedOperationException("Method not decompiled: a.a.clarity.helpers.WebViewMutationProcessor.a(com.microsoft.clarity.models.ingest.WebViewMutationEvent):void");
    }

    public final b a(b bVar, boolean z, int i) {
        String str = new String(bVar.b, Charsets.UTF_8);
        List<a> a2 = a(str, StringsKt.substringBeforeLast(bVar.f86a.f87a, '/', ""), z, 0, i);
        ArrayList arrayList = (ArrayList) a2;
        if (arrayList.isEmpty()) {
            return bVar;
        }
        StringBuilder sb = new StringBuilder(str);
        a(sb, a2);
        String sb2 = sb.toString();
        Intrinsics.checkNotNullExpressionValue(sb2, "newDataBuilder.toString()");
        byte[] bytes = sb2.getBytes(Charsets.UTF_8);
        Intrinsics.checkNotNullExpressionValue(bytes, "this as java.lang.String).getBytes(charset)");
        InputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
        c cVar = bVar.f86a;
        String str2 = cVar.f87a;
        Long l = cVar.e;
        boolean z2 = cVar.b;
        ArrayList arrayList2 = new ArrayList(CollectionsKt.collectionSizeOrDefault(a2, 10));
        Iterator it = arrayList.iterator();
        while (it.hasNext()) {
            arrayList2.add(((a) it.next()).c);
        }
        return a(byteArrayInputStream, str2, l, z2, arrayList2);
    }
}