Overview

URLhotmovs.com/search/?s=drunk
IP 104.21.235.116 ()
ASN#13335 CLOUDFLARENET
UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer
Report completed2022-11-30 23:50:36 UTC
StatusLoading report..
IDS alerts0
Blocklist alert6
urlquery alerts No alerts detected
Tags None

Domain Summary (45)

Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
ocsp.digicert.com (6) 86 2012-05-21 07:02:23 UTC 2022-11-30 20:24:46 UTC 93.184.220.29
www.google-analytics.com (2) 40 2013-07-28 22:04:32 UTC 2022-11-30 22:10:37 UTC 142.250.74.14
mc.yandex.ru (7) 2672 2017-01-29 05:34:36 UTC 2022-11-30 18:58:07 UTC 87.250.250.119
s.viiqvmfb.com (1) 0 No data No data 185.98.54.153 Unknown ranking
ads.exoclick.com (1) 32908 No data No data 205.185.216.42
vast.yomeno.xyz (2) 44241 No data No data 109.206.176.122
b6e9a8ce8a.85c0a6a0ea.com (4) 0 2022-11-30 01:20:03 UTC 2022-11-30 22:33:55 UTC 168.119.25.22 Unknown ranking
nereserv.com (1) 40015 2020-12-21 11:07:56 UTC 2022-11-30 22:33:55 UTC 168.119.25.22
tn.porntop.com (1) 129217 2020-12-23 15:21:54 UTC 2022-11-30 20:11:02 UTC 45.133.44.24
realtime.pa.highwebmedia.com (12) 24791 2021-01-21 22:18:59 UTC 2022-11-30 21:38:41 UTC 143.204.55.3
notification.tubecup.net (1) 8210 2019-08-30 09:36:01 UTC 2022-11-30 22:33:55 UTC 159.69.167.66
firefox.settings.services.mozilla.com (2) 867 2020-06-04 20:08:41 UTC 2022-11-30 17:12:31 UTC 34.102.187.140
content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2022-11-30 17:19:42 UTC 34.160.144.191
ocsp.globalsign.com (2) 2075 2012-05-25 06:20:55 UTC 2022-11-30 17:14:19 UTC 104.18.20.226
tn.hotmovs.com (9) 325961 No data No data 45.133.44.24
img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2022-11-30 17:26:07 UTC 34.120.237.76
e5fc762afd.8e9fe6a178.com (1) 0 No data No data 94.130.197.134 Unknown ranking
static.bookmsg.com (1) 47495 2020-11-24 14:56:32 UTC 2022-11-30 22:33:57 UTC 88.198.200.20
sw.wpu.sh (1) 37327 No data No data 45.133.44.25
push.services.mozilla.com (1) 2140 2015-09-03 10:29:36 UTC 2022-11-30 17:12:17 UTC 44.238.202.79
fp.metricswpsh.com (2) 0 2022-04-22 11:20:32 UTC 2022-11-30 22:33:55 UTC 157.90.84.242 Unknown ranking
static-assets.highwebmedia.com (10) 16059 2021-01-19 21:46:26 UTC 2022-11-30 21:38:39 UTC 104.16.94.42
cbjpeg.stream.highwebmedia.com (4) 23619 No data No data 131.153.88.90
a.exosrv.com (1) 28991 No data No data 185.76.9.14
hotmovs.com (29) 83373 No data No data 104.21.235.115
contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-11-30 17:13:24 UTC 34.117.237.239
rtbrennab.com (7) 0 2022-04-20 15:49:10 UTC 2022-11-30 20:10:43 UTC 159.69.163.6 Unknown ranking
12112336.pix-cdn.org (3) 18294 2018-08-23 11:18:44 UTC 2022-11-30 22:33:57 UTC 45.133.44.25
js-agent.newrelic.com (1) 378 2017-01-30 05:00:15 UTC 2022-11-30 17:13:15 UTC 151.101.130.137
chatw-32.stream.highwebmedia.com (2) 169307 No data No data 104.19.242.83
r3.o.lencr.org (27) 344 2020-12-02 08:52:13 UTC 2022-11-30 17:12:16 UTC 23.33.119.27
js.wpadmngr.com (1) 25762 2021-06-02 14:43:46 UTC 2022-11-30 22:33:53 UTC 45.133.44.24
s3t3d2y8.afcdn.net (2) 0 2022-08-08 22:22:56 UTC 2022-11-30 20:07:06 UTC 185.76.9.24 Unknown ranking
s.optnx.com (3) 20469 No data No data 95.211.229.247
chaturbate.com (2) 6807 2012-05-22 23:11:36 UTC 2022-11-30 21:38:39 UTC 104.18.100.40
i.cdnkimg.com (2) 8049 No data No data 45.133.44.36
ocsp.pki.goog (1) 175 2017-06-14 07:23:31 UTC 2022-11-30 17:12:14 UTC 142.250.74.131
in16.zog.link (1) 76485 No data No data 109.206.182.60
btds.zog.link (3) 38469 No data No data 109.206.191.198
cdn.1vag.com (1) 48829 No data No data 45.133.44.24
1435b9649d.85c0a6a0ea.com (1) 0 2022-11-27 03:31:34 UTC 2022-11-30 22:33:55 UTC 45.133.44.25 Unknown ranking
js.wpshsdk.com (4) 12130 No data No data 45.133.44.25
tn.vxxx.com (3) 128069 No data No data 45.133.44.25
bam.nr-data.net (3) 630 2015-02-10 00:06:27 UTC 2022-11-30 17:13:16 UTC 162.247.241.14
realtime.pa.highwebmedia.com (12) 24791 2021-01-21 22:18:59 UTC 2022-11-30 21:38:41 UTC 143.204.55.44

Network Intrusion Detection Systemsinfo

Suricata /w Emerging Threats Pro
 No alerts detected

Blocklists

OpenPhish
 No alerts detected

PhishTank
 No alerts detected

Fortinet's Web Filter
 No alerts detected

mnemonic secure dns
 No alerts detected

Quad9 DNS
Scan Date Severity Indicator Comment
2022-11-30 2 85c0a6a0ea.com Sinkholed
2022-11-30 2 85c0a6a0ea.com Sinkholed
2022-11-30 2 8e9fe6a178.com Sinkholed
2022-11-30 2 85c0a6a0ea.com Sinkholed
2022-11-30 2 85c0a6a0ea.com Sinkholed
2022-11-30 2 85c0a6a0ea.com Sinkholed


Files

No files detected

Recent reports on same IP/ASN/Domain/Screenshot

Last 5 reports on IP: 104.21.235.116
Date UQ / IDS / BL URL IP
2022-12-05 04:04:15 +0000 0 - 0 - 2 cdn06z5.strntt006z5.click/ 104.21.235.116
2022-11-30 23:52:35 +0000 0 - 0 - 6 hotmovs.com/search/?s=hotmovs.com/videos/1061 (...) 104.21.235.116
2022-11-30 23:50:36 +0000 0 - 0 - 6 hotmovs.com/search/?s=drunk 104.21.235.116
2022-11-26 22:57:00 +0000 0 - 0 - 5 hotmovs.com/search/?s=amateur 104.21.235.116
2022-10-19 00:52:37 +0000 0 - 0 - 30 hotmovs.com/videos/8553175/reina-lee-big-natu (...) 104.21.235.116


Last 5 reports on ASN: CLOUDFLARENET
Date UQ / IDS / BL URL IP
2023-02-01 13:29:45 +0000 0 - 4 - 0 hatchtitaslujes.tk/ 172.67.130.216
2023-02-01 13:29:44 +0000 0 - 3 - 0 afgatsi.tk/ 172.67.189.254
2023-02-01 13:29:01 +0000 0 - 0 - 16 shrinke.me/d0wl 188.114.97.1
2023-02-01 13:28:42 +0000 0 - 0 - 2 pancakeswapfinance.li/ 104.21.51.29
2023-02-01 13:28:41 +0000 0 - 2 - 0 forgeitconsulting.com/wp-admin/admin.php?page (...) 188.114.97.1


Last 5 reports on domain: hotmovs.com
Date UQ / IDS / BL URL IP
2023-01-06 06:13:13 +0000 0 - 2 - 0 hotmovs.com/ 109.206.162.50
2022-12-21 06:13:12 +0000 0 - 2 - 0 hotmovs.com/ 109.206.162.50
2022-12-03 13:57:19 +0000 0 - 0 - 4 hotmovs.com/videos/6922495/cam2cam-miss-marie (...) 172.64.163.38
2022-11-30 23:52:35 +0000 0 - 0 - 6 hotmovs.com/search/?s=hotmovs.com/videos/1061 (...) 104.21.235.116
2022-11-30 23:50:36 +0000 0 - 0 - 6 hotmovs.com/search/?s=drunk 104.21.235.116


No other reports with similar screenshot

JavaScript

Executed Scripts (62)

Executed Evals (1)
#1 JavaScript::Eval (size: 99870) - SHA256: 5b938619f370200299071d32df7893a1555c50571f6d370c1022340ef767416b
(() => {
    "use strict";
    var e = "2.35.0",
        t = Number("0");

    function n(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                l = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(l) : Promise.resolve(l).then(r, i)
    }

    function r(e) {
        return function() {
            var t = this,
                r = arguments;
            return new Promise((function(i, o) {
                var s = e.apply(t, r);

                function a(e) {
                    n(s, i, o, a, l, "next", e)
                }

                function l(e) {
                    n(s, i, o, a, l, "throw", e)
                }
                a(void 0)
            }))
        }
    }
    var i = (e, t) => new Promise((n => setTimeout(n.bind(null, t), e)));

    function o() {
        t && console.log(...arguments)
    }

    function s(e) {
        return a.apply(this, arguments)
    }

    function a() {
        return (a = r((function*(e) {
            try {
                var t =
                    yield fetch(e);
                return yield t.json()
            } catch (e) {
                return null
            }
        }))).apply(this, arguments)
    }
    const l = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : global,
        c = Object.keys,
        u = Array.isArray;

    function d(e, t) {
        return "object" != typeof t || c(t).forEach((function(n) {
            e[n] = t[n]
        })), e
    }
    "undefined" == typeof Promise || l.Promise || (l.Promise = Promise);
    const h = Object.getPrototypeOf,
        f = {}.hasOwnProperty;

    function p(e, t) {
        return f.call(e, t)
    }

    function y(e, t) {
        "function" == typeof t && (t = t(h(e))), ("undefined" == typeof Reflect ? c : Reflect.ownKeys)(t).forEach((n => {
            v(e, n, t[n])
        }))
    }
    const m = Object.defineProperty;

    function v(e, t, n, r) {
        m(e, t, d(n && p(n, "get") && "function" == typeof n.get ? {get: n.get,
            set: n.set,
            configurable: !0
        } : {
            value: n,
            configurable: !0,
            writable: !0
        }, r))
    }

    function g(e) {
        return {
            from: function(t) {
                return e.prototype = Object.create(t.prototype), v(e.prototype, "constructor", e), {
                    extend: y.bind(null, e.prototype)
                }
            }
        }
    }
    const b = Object.getOwnPropertyDescriptor;

    function _(e, t) {
        let n;
        return b(e, t) || (n = h(e)) && _(n, t)
    }
    const w = [].slice;

    function k(e, t, n) {
        return w.call(e, t, n)
    }

    function x(e, t) {
        return t(e)
    }

    function C(e) {
        if (!e) throw new Error("Assertion Failed")
    }

    function S(e) {
        l.setImmediate ? setImmediate(e) : setTimeout(e, 0)
    }

    function K(e, t) {
        return e.reduce(((e, n, r) => {
            var i = t(n, r);
            return i && (e[i[0]] = i[1]), e
        }), {})
    }

    function P(e, t) {
        if (p(e, t)) return e[t];
        if (!t) return e;
        if ("string" != typeof t) {
            for (var n = [], r = 0, i = t.length; r < i; ++r) {
                var o = P(e, t[r]);
                n.push(o)
            }
            return n
        }
        var s = t.indexOf(".");
        if (-1 !== s) {
            var a = e[t.substr(0, s)];
            return void 0 === a ? void 0 : P(a, t.substr(s + 1))
        }
    }

    function E(e, t, n) {
        if (e && void 0 !== t && (!("isFrozen" in Object) || !Object.isFrozen(e)))
            if ("string" != typeof t && "length" in t) {
                C("string" != typeof n && "length" in n);
                for (var r = 0, i = t.length; r < i; ++r) E(e, t[r], n[r])
            } else {
                var o = t.indexOf(".");
                if (-1 !== o) {
                    var s = t.substr(0, o),
                        a = t.substr(o + 1);
                    if ("" === a) void 0 === n ? u(e) && !isNaN(parseInt(s)) ? e.splice(s, 1) : delete e[s] : e[s] = n;
                    else {
                        var l = e[s];
                        l || (l = e[s] = {}), E(l, a, n)
                    }
                } else void 0 === n ? u(e) && !isNaN(parseInt(t)) ? e.splice(t, 1) : delete e[t] : e[t] = n
            }
    }

    function O(e) {
        var t = {};
        for (var n in e) p(e, n) && (t[n] = e[n]);
        return t
    }
    const A = [].concat;

    function B(e) {
        return A.apply([], e)
    }
    const D = "Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(B([8, 16, 32, 64].map((e => ["Int", "Uint", "Float"].map((t => t + e + "Array")))))).filter((e => l[e])),
        I = D.map((e => l[e]));
    K(D, (e => [e, !0]));
    let M = null;

    function j(e) {
        M = "undefined" != typeof WeakMap && new WeakMap;
        const t = T(e);
        return M = null, t
    }

    function T(e) {
        if (!e || "object" != typeof e) return e;
        let t = M && M.get(e);
        if (t) return t;
        if (u(e)) {
            t = [], M && M.set(e, t);
            for (var n = 0, r = e.length; n < r; ++n) t.push(T(e[n]))
        } else if (I.indexOf(e.constructor) >= 0) t = e;
        else {
            const n = h(e);
            for (var i in t = n === Object.prototype ? {} : Object.create(n), M && M.set(e, t), e) p(e, i) && (t[i] = T(e[i]))
        }
        return t
    }
    const {
        toString: R
    } = {};

    function F(e) {
        return R.call(e).slice(8, -1)
    }
    const N = "undefined" != typeof Symbol ? Symbol.iterator : "@@iterator",
        U = "symbol" == typeof N ? function(e) {
            var t;
            return null != e && (t = e[N]) && t.apply(e)
        } : function() {
            return null
        },
        q = {};

    function L(e) {
        var t, n, r, i;
        if (1 === arguments.length) {
            if (u(e)) return e.slice();
            if (this === q && "string" == typeof e) return [e];
            if (i = U(e)) {
                for (n = []; !(r = i.next()).done;) n.push(r.value);
                return n
            }
            if (null == e) return [e];
            if ("number" == typeof(t = e.length)) {
                for (n = new Array(t); t--;) n[t] = e[t];
                return n
            }
            return [e]
        }
        for (t = arguments.length, n = new Array(t); t--;) n[t] = arguments[t];
        return n
    }
    const z = "undefined" != typeof Symbol ? e => "AsyncFunction" === e[Symbol.toStringTag] : () => !1;
    var W = "undefined" != typeof location && /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);

    function V(e, t) {
        W = e, G = t
    }
    var G = () => !0;
    const Y = !new Error("").stack;

    function H() {
        if (Y) try {
            throw H.arguments, new Error
        } catch (e) {
            return e
        }
        return new Error
    }

    function Q(e, t) {
        var n = e.stack;
        return n ? (t = t || 0, 0 === n.indexOf(e.name) && (t += (e.name + e.message).split("\n").length), n.split("\n").slice(t).filter(G).map((e => "\n" + e)).join("")) : ""
    }
    var J = ["Unknown", "Constraint", "Data", "TransactionInactive", "ReadOnly", "Version", "NotFound", "InvalidState", "InvalidAccess", "Abort", "Timeout", "QuotaExceeded", "Syntax", "DataClone"],
        Z = ["Modify", "Bulk", "OpenFailed", "VersionChange", "Schema", "Upgrade", "InvalidTable", "MissingAPI", "NoSuchDatabase", "InvalidArgument", "SubTransaction", "Unsupported", "Internal", "DatabaseClosed", "PrematureCommit", "ForeignAwait"].concat(J),
        X = {
            VersionChanged: "Database version changed by other database connection",
            DatabaseClosed: "Database has been closed",
            Abort: "Transaction aborted",
            TransactionInactive: "Transaction has already completed or failed",
            MissingAPI: "IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"
        };

    function $(e, t) {
        this._e = H(), this.name = e, this.message = t
    }

    function ee(e, t) {
        return e + ". Errors: " + Object.keys(t).map((e => t[e].toString())).filter(((e, t, n) => n.indexOf(e) === t)).join("\n")
    }

    function te(e, t, n, r) {
        this._e = H(), this.failures = t, this.failedKeys = r, this.successCount = n, this.message = ee(e, t)
    }

    function ne(e, t) {
        this._e = H(), this.name = "BulkError", this.failures = Object.keys(t).map((e => t[e])), this.failuresByPos = t, this.message = ee(e, t)
    }
    g($).from(Error).extend({
        stack: {get: function() {
                return this._stack || (this._stack = this.name + ": " + this.message + Q(this._e, 2))
            }
        },
        toString: function() {
            return this.name + ": " + this.message
        }
    }), g(te).from($), g(ne).from($);
    var re = Z.reduce(((e, t) => (e[t] = t + "Error", e)), {});
    const ie = $;
    var oe = Z.reduce(((e, t) => {
        var n = t + "Error";

        function r(e, r) {
            this._e = H(), this.name = n, e ? "string" == typeof e ? (this.message = `${e}${r?"\n "+r:""}`, this.inner = r || null) : "object" == typeof e && (this.message = `${e.name} ${e.message}`, this.inner = e) : (this.message = X[t] || n, this.inner = null)
        }
        return g(r).from(ie), e[t] = r, e
    }), {});
    oe.Syntax = SyntaxError, oe.Type = TypeError, oe.Range = RangeError;
    var se = J.reduce(((e, t) => (e[t + "Error"] = oe[t], e)), {}),
        ae = Z.reduce(((e, t) => (-1 === ["Syntax", "Type", "Range"].indexOf(t) && (e[t + "Error"] = oe[t]), e)), {});

    function le() {}

    function ce(e) {
        return e
    }

    function ue(e, t) {
        return null == e || e === ce ? t : function(n) {
            return t(e(n))
        }
    }

    function de(e, t) {
        return function() {
            e.apply(this, arguments), t.apply(this, arguments)
        }
    }

    function he(e, t) {
        return e === le ? t : function() {
            var n = e.apply(this, arguments);
            void 0 !== n && (arguments[0] = n);
            var r = this.onsuccess,
                i = this.onerror;
            this.onsuccess = null, this.onerror = null;
            var o = t.apply(this, arguments);
            return r && (this.onsuccess = this.onsuccess ? de(r, this.onsuccess) : r), i && (this.onerror = this.onerror ? de(i, this.onerror) : i), void 0 !== o ? o : n
        }
    }

    function fe(e, t) {
        return e === le ? t : function() {
            e.apply(this, arguments);
            var n = this.onsuccess,
                r = this.onerror;
            this.onsuccess = this.onerror = null, t.apply(this, arguments), n && (this.onsuccess = this.onsuccess ? de(n, this.onsuccess) : n), r && (this.onerror = this.onerror ? de(r, this.onerror) : r)
        }
    }

    function pe(e, t) {
        return e === le ? t : function(n) {
            var r = e.apply(this, arguments);
            d(n, r);
            var i = this.onsuccess,
                o = this.onerror;
            this.onsuccess = null, this.onerror = null;
            var s = t.apply(this, arguments);
            return i && (this.onsuccess = this.onsuccess ? de(i, this.onsuccess) : i), o && (this.onerror = this.onerror ? de(o, this.onerror) : o), void 0 === r ? void 0 === s ? void 0 : s : d(r, s)
        }
    }

    function ye(e, t) {
        return e === le ? t : function() {
            return !1 !== t.apply(this, arguments) && e.apply(this, arguments)
        }
    }

    function me(e, t) {
        return e === le ? t : function() {
            var n = e.apply(this, arguments);
            if (n && "function" == typeof n.then) {
                for (var r = this, i = arguments.length, o = new Array(i); i--;) o[i] = arguments[i];
                return n.then((function() {
                    return t.apply(r, o)
                }))
            }
            return t.apply(this, arguments)
        }
    }
    ae.ModifyError = te, ae.DexieError = $, ae.BulkError = ne;
    var ve = {};
    const [ge, be, _e] = "undefined" == typeof Promise ? [] : (() => {
        let e = Promise.resolve();
        if ("undefined" == typeof crypto || !crypto.subtle) return [e, h(e), e];
        const t = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
        return [t, h(t), e]
    })(), we = be && be.then, ke = ge && ge.constructor, xe = !!_e;
    var Ce = !1,
        Se = _e ? () => {
            _e.then(He)
        } : l.setImmediate ? setImmediate.bind(null, He) : l.MutationObserver ? () => {
            var e = document.createElement("div");
            new MutationObserver((() => {
                He(), e = null
            })).observe(e, {
                attributes: !0
            }), e.setAttribute("i", "1")
        } : () => {
            setTimeout(He, 0)
        },
        Ke = function(e, t) {
            je.push([e, t]), Ee && (Se(), Ee = !1)
        },
        Pe = !0,
        Ee = !0,
        Oe = [],
        Ae = [],
        Be = null,
        De = ce,
        Ie = {
            id: "global",
            global: !0,
            ref: 0,
            unhandleds: [],
            onunhandled: gt,
            pgp: !1,
            env: {},
            finalize: function() {
                this.unhandleds.forEach((e => {
                    try {
                        gt(e[0], e[1])
                    } catch (e) {}
                }))
            }
        },
        Me = Ie,
        je = [],
        Te = 0,
        Re = [];

    function Fe(e) {
        if ("object" != typeof this) throw new TypeError("Promises must be constructed via new");
        this._listeners = [], this.onuncatched = le, this._lib = !1;
        var t = this._PSD = Me;
        if (W && (this._stackHolder = H(), this._prev = null, this._numPrev = 0), "function" != typeof e) {
            if (e !== ve) throw new TypeError("Not a function");
            return this._state = arguments[1], this._value = arguments[2], void(!1 === this._state && Le(this, this._value))
        }
        this._state = null, this._value = null, ++t.ref, qe(this, e)
    }
    const Ne = {get: function() {
            var e = Me,
                t = it;

            function n(n, r) {
                var i = !e.global && (e !== Me || t !== it);
                const o = i && !lt();
                var s = new Fe(((t, s) => {
                    We(this, new Ue(mt(n, e, i, o), mt(r, e, i, o), t, s, e))
                }));
                return W && Ye(s, this), s
            }
            return n.prototype = ve, n
        },
        set: function(e) {
            v(this, "then", e && e.prototype === ve ? Ne : {get: function() {
                    return e
                },
                set: Ne.set
            })
        }
    };

    function Ue(e, t, n, r, i) {
        this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null, this.resolve = n, this.reject = r, this.psd = i
    }

    function qe(e, t) {
        try {
            t((t => {
                if (null === e._state) {
                    if (t === e) throw new TypeError("A promise cannot be resolved with itself.");
                    var n = e._lib && Qe();
                    t && "function" == typeof t.then ? qe(e, ((e, n) => {
                        t instanceof Fe ? t._then(e, n) : t.then(e, n)
                    })) : (e._state = !0, e._value = t, ze(e)), n && Je()
                }
            }), Le.bind(null, e))
        } catch (t) {
            Le(e, t)
        }
    }

    function Le(e, t) {
        if (Ae.push(t), null === e._state) {
            var n = e._lib && Qe();
            t = De(t), e._state = !1, e._value = t, W && null !== t && "object" == typeof t && !t._promise && function(e, t, n) {
                    try {
                        e.apply(null, void 0)
                    } catch (e) {}
                }((() => {
                    var n = _(t, "stack");
                    t._promise = e, v(t, "stack", {get: () => Ce ? n && (n.get ? n.get.apply(t) : n.value) : e.stack
                    })
                })),
                function(e) {
                    Oe.some((t => t._value === e._value)) || Oe.push(e)
                }(e), ze(e), n && Je()
        }
    }

    function ze(e) {
        var t = e._listeners;
        e._listeners = [];
        for (var n = 0, r = t.length; n < r; ++n) We(e, t[n]);
        var i = e._PSD;
        --i.ref || i.finalize(), 0 === Te && (++Te, Ke((() => {
            0 == --Te && Ze()
        }), []))
    }

    function We(e, t) {
        if (null !== e._state) {
            var n = e._state ? t.onFulfilled : t.onRejected;
            if (null === n) return (e._state ? t.resolve : t.reject)(e._value);
            ++t.psd.ref, ++Te, Ke(Ve, [n, e, t])
        } else e._listeners.push(t)
    }

    function Ve(e, t, n) {
        try {
            Be = t;
            var r, i = t._value;
            t._state ? r = e(i) : (Ae.length && (Ae = []), r = e(i), -1 === Ae.indexOf(i) && function(e) {
                for (var t = Oe.length; t;)
                    if (Oe[--t]._value === e._value) return void Oe.splice(t, 1)
            }(t)), n.resolve(r)
        } catch (e) {
            n.reject(e)
        } finally {
            Be = null, 0 == --Te && Ze(), --n.psd.ref || n.psd.finalize()
        }
    }

    function Ge(e, t, n) {
        if (t.length === n) return t;
        var r = "";
        if (!1 === e._state) {
            var i, o, s = e._value;
            null != s ? (i = s.name || "Error", o = s.message || s, r = Q(s, 0)) : (i = s, o = ""), t.push(i + (o ? ": " + o : "") + r)
        }
        return W && ((r = Q(e._stackHolder, 2)) && -1 === t.indexOf(r) && t.push(r), e._prev && Ge(e._prev, t, n)), t
    }

    function Ye(e, t) {
        var n = t ? t._numPrev + 1 : 0;
        n < 100 && (e._prev = t, e._numPrev = n)
    }

    function He() {
        Qe() && Je()
    }

    function Qe() {
        var e = Pe;
        return Pe = !1, Ee = !1, e
    }

    function Je() {
        var e, t, n;
        do {
            for (; je.length > 0;)
                for (e = je, je = [], n = e.length, t = 0; t < n; ++t) {
                    var r = e[t];
                    r[0].apply(null, r[1])
                }
        } while (je.length > 0);
        Pe = !0, Ee = !0
    }

    function Ze() {
        var e = Oe;
        Oe = [], e.forEach((e => {
            e._PSD.onunhandled.call(null, e._value, e)
        }));
        for (var t = Re.slice(0), n = t.length; n;) t[--n]()
    }

    function Xe(e) {
        return new Fe(ve, !1, e)
    }

    function $e(e, t) {
        var n = Me;
        return function() {
            var r = Qe(),
                i = Me;
            try {
                return ht(n, !0), e.apply(this, arguments)
            } catch (e) {
                t && t(e)
            } finally {
                ht(i, !1), r && Je()
            }
        }
    }
    y(Fe.prototype, {
        then: Ne,
        _then: function(e, t) {
            We(this, new Ue(null, null, e, t, Me))
        },
        catch: function(e) {
            if (1 === arguments.length) return this.then(null, e);
            var t = arguments[0],
                n = arguments[1];
            return "function" == typeof t ? this.then(null, (e => e instanceof t ? n(e) : Xe(e))) : this.then(null, (e => e && e.name === t ? n(e) : Xe(e)))
        },
        finally: function(e) {
            return this.then((t => (e(), t)), (t => (e(), Xe(t))))
        },
        stack: {get: function() {
                if (this._stack) return this._stack;
                try {
                    Ce = !0;
                    var e = Ge(this, [], 20).join("\nFrom previous: ");
                    return null !== this._state && (this._stack = e), e
                } finally {
                    Ce = !1
                }
            }
        },
        timeout: function(e, t) {
            return e < 1 / 0 ? new Fe(((n, r) => {
                var i = setTimeout((() => r(new oe.Timeout(t))), e);
                this.then(n, r).finally(clearTimeout.bind(null, i))
            })) : this
        }
    }), "undefined" != typeof Symbol && Symbol.toStringTag && v(Fe.prototype, Symbol.toStringTag, "Dexie.Promise"), Ie.env = ft(), y(Fe, {
        all: function() {
            var e = L.apply(null, arguments).map(ct);
            return new Fe((function(t, n) {
                0 === e.length && t([]);
                var r = e.length;
                e.forEach(((i, o) => Fe.resolve(i).then((n => {
                    e[o] = n, --r || t(e)
                }), n)))
            }))
        },
        resolve: e => {
            if (e instanceof Fe) return e;
            if (e && "function" == typeof e.then) return new Fe(((t, n) => {
                e.then(t, n)
            }));
            var t = new Fe(ve, !0, e);
            return Ye(t, Be), t
        },
        reject: Xe,
        race: function() {
            var e = L.apply(null, arguments).map(ct);
            return new Fe(((t, n) => {
                e.map((e => Fe.resolve(e).then(t, n)))
            }))
        },
        PSD: {get: () => Me,
            set: e => Me = e
        },
        totalEchoes: {get: () => it
        },
        newPSD: st,
        usePSD: pt,
        scheduler: {get: () => Ke,
            set: e => {
                Ke = e
            }
        },
        rejectionMapper: {get: () => De,
            set: e => {
                De = e
            }
        },
        follow: (e, t) => new Fe(((n, r) => st(((t, n) => {
            var r = Me;
            r.unhandleds = [], r.onunhandled = n, r.finalize = de((function() {
                ! function(e) {
                    Re.push((function t() {
                        e(), Re.splice(Re.indexOf(t), 1)
                    })), ++Te, Ke((() => {
                        0 == --Te && Ze()
                    }), [])
                }((() => {
                    0 === this.unhandleds.length ? t() : n(this.unhandleds[0])
                }))
            }), r.finalize), e()
        }), t, n, r)))
    }), ke && (ke.allSettled && v(Fe, "allSettled", (function() {
        const e = L.apply(null, arguments).map(ct);
        return new Fe((t => {
            0 === e.length && t([]);
            let n = e.length;
            const r = new Array(n);
            e.forEach(((e, i) => Fe.resolve(e).then((e => r[i] = {
                status: "fulfilled",
                value: e
            }), (e => r[i] = {
                status: "rejected",
                reason: e
            })).then((() => --n || t(r)))))
        }))
    })), ke.any && "undefined" != typeof AggregateError && v(Fe, "any", (function() {
        const e = L.apply(null, arguments).map(ct);
        return new Fe(((t, n) => {
            0 === e.length && n(new AggregateError([]));
            let r = e.length;
            const i = new Array(r);
            e.forEach(((e, o) => Fe.resolve(e).then((e => t(e)), (e => {
                i[o] = e, --r || n(new AggregateError(i))
            }))))
        }))
    })));
    const et = {
        awaits: 0,
        echoes: 0,
        id: 0
    };
    var tt = 0,
        nt = [],
        rt = 0,
        it = 0,
        ot = 0;

    function st(e, t, n, r) {
        var i = Me,
            o = Object.create(i);
        o.parent = i, o.ref = 0, o.global = !1, o.id = ++ot;
        var s = Ie.env;
        o.env = xe ? {
            Promise: Fe,
            PromiseProp: {
                value: Fe,
                configurable: !0,
                writable: !0
            },
            all: Fe.all,
            race: Fe.race,
            allSettled: Fe.allSettled,
            any: Fe.any,
            resolve: Fe.resolve,
            reject: Fe.reject,
            nthen: vt(s.nthen, o),
            gthen: vt(s.gthen, o)
        } : {}, t && d(o, t), ++i.ref, o.finalize = function() {
            --this.parent.ref || this.parent.finalize()
        };
        var a = pt(o, e, n, r);
        return 0 === o.ref && o.finalize(), a
    }

    function at() {
        return et.id || (et.id = ++tt), ++et.awaits, et.echoes += 100, et.id
    }

    function lt() {
        return !!et.awaits && (0 == --et.awaits && (et.id = 0), et.echoes = 100 * et.awaits, !0)
    }

    function ct(e) {
        return et.echoes && e && e.constructor === ke ? (at(), e.then((e => (lt(), e)), (e => (lt(), bt(e))))) : e
    }

    function ut(e) {
        ++it, et.echoes && 0 != --et.echoes || (et.echoes = et.id = 0), nt.push(Me), ht(e, !0)
    }

    function dt() {
        var e = nt[nt.length - 1];
        nt.pop(), ht(e, !1)
    }

    function ht(e, t) {
        var n = Me;
        if ((t ? !et.echoes || rt++ && e === Me : !rt || --rt && e === Me) || yt(t ? ut.bind(null, e) : dt), e !== Me && (Me = e, n === Ie && (Ie.env = ft()), xe)) {
            var r = Ie.env.Promise,
                i = e.env;
            be.then = i.nthen, r.prototype.then = i.gthen, (n.global || e.global) && (Object.defineProperty(l, "Promise", i.PromiseProp), r.all = i.all, r.race = i.race, r.resolve = i.resolve, r.reject = i.reject, i.allSettled && (r.allSettled = i.allSettled), i.any && (r.any = i.any))
        }
    }

    function ft() {
        var e = l.Promise;
        return xe ? {
            Promise: e,
            PromiseProp: Object.getOwnPropertyDescriptor(l, "Promise"),
            all: e.all,
            race: e.race,
            allSettled: e.allSettled,
            any: e.any,
            resolve: e.resolve,
            reject: e.reject,
            nthen: be.then,
            gthen: e.prototype.then
        } : {}
    }

    function pt(e, t, n, r, i) {
        var o = Me;
        try {
            return ht(e, !0), t(n, r, i)
        } finally {
            ht(o, !1)
        }
    }

    function yt(e) {
        we.call(ge, e)
    }

    function mt(e, t, n, r) {
        return "function" != typeof e ? e : function() {
            var i = Me;
            n && at(), ht(t, !0);
            try {
                return e.apply(this, arguments)
            } finally {
                ht(i, !1), r && yt(lt)
            }
        }
    }

    function vt(e, t) {
        return function(n, r) {
            return e.call(this, mt(n, t), mt(r, t))
        }
    }

    function gt(e, t) {
        var n;
        try {
            n = t.onuncatched(e)
        } catch (e) {}
        if (!1 !== n) try {
            var r, i = {
                promise: t,
                reason: e
            };
            if (l.document && document.createEvent ? ((r = document.createEvent("Event")).initEvent("unhandledrejection", !0, !0), d(r, i)) : l.CustomEvent && d(r = new CustomEvent("unhandledrejection", {
                    detail: i
                }), i), r && l.dispatchEvent && (dispatchEvent(r), !l.PromiseRejectionEvent && l.onunhandledrejection)) try {
                l.onunhandledrejection(r)
            } catch (e) {}
            W && r && !r.defaultPrevented && console.warn(`Unhandled rejection: ${e.stack||e}`)
        } catch (e) {}
    } - 1 === ("" + we).indexOf("[native code]") && (at = lt = le);
    var bt = Fe.reject;

    function _t(e, t, n, r) {
        if (e.idbdb && (e._state.openComplete || Me.letThrough || e._vip)) {
            var i = e._createTransaction(t, n, e._dbSchema);
            try {
                i.create(), e._state.PR1398_maxLoop = 3
            } catch (i) {
                return i.name === re.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => _t(e, t, n, r)))) : bt(i)
            }
            return i._promise(t, ((e, t) => st((() => (Me.trans = i, r(e, t, i)))))).then((e => i._completion.then((() => e))))
        }
        if (e._state.openComplete) return bt(new oe.DatabaseClosed(e._state.dbOpenError));
        if (!e._state.isBeingOpened) {
            if (!e._options.autoOpen) return bt(new oe.DatabaseClosed);
            e.open().catch(le)
        }
        return e._state.dbReadyPromise.then((() => _t(e, t, n, r)))
    }
    const wt = String.fromCharCode(65535),
        kt = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",
        xt = [],
        Ct = "undefined" != typeof navigator && /(MSIE|Trident|Edge)/.test(navigator.userAgent),
        St = Ct,
        Kt = Ct,
        Pt = e => !/(dexie\.js|dexie\.min\.js)/.test(e);

    function Et(e, t) {
        return e ? t ? function() {
            return e.apply(this, arguments) && t.apply(this, arguments)
        } : e : t
    }
    const Ot = {
        type: 3,
        lower: -1 / 0,
        lowerOpen: !1,
        upper: [
            []
        ],
        upperOpen: !1
    };

    function At(e) {
        return "string" != typeof e || /\./.test(e) ? e => e : t => (void 0 === t[e] && e in t && delete(t = j(t))[e], t)
    }
    class Bt {
        _trans(e, t, n) {
            const r = this._tx || Me.trans,
                i = this.name;

            function o(e, n, r) {
                if (!r.schema[i]) throw new oe.NotFound("Table " + i + " not part of transaction");
                return t(r.idbtrans, r)
            }
            const s = Qe();
            try {
                return r && r.db === this.db ? r === Me.trans ? r._promise(e, o, n) : st((() => r._promise(e, o, n)), {
                    trans: r,
                    transless: Me.transless || Me
                }) : _t(this.db, e, [this.name], o)
            } finally {
                s && Je()
            }
        }
        get(e, t) {
            return e && e.constructor === Object ? this.where(e).first(t) : this._trans("readonly", (t => this.core.get({
                trans: t,
                key: e
            }).then((e => this.hook.reading.fire(e))))).then(t)
        }
        where(e) {
            if ("string" == typeof e) return new this.db.WhereClause(this, e);
            if (u(e)) return new this.db.WhereClause(this, `[${e.join("+")}]`);
            const t = c(e);
            if (1 === t.length) return this.where(t[0]).equals(e[t[0]]);
            const n = this.schema.indexes.concat(this.schema.primKey).filter((e => e.compound && t.every((t => e.keyPath.indexOf(t) >= 0)) && e.keyPath.every((e => t.indexOf(e) >= 0))))[0];
            if (n && this.db._maxKey !== wt) return this.where(n.name).equals(n.keyPath.map((t => e[t])));
            !n && W && console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);
            const {
                idxByName: r
            } = this.schema, i = this.db._deps.indexedDB;

            function o(e, t) {
                try {
                    return 0 === i.cmp(e, t)
                } catch (e) {
                    return !1
                }
            }
            const [s, a] = t.reduce((([t, n], i) => {
                const s = r[i],
                    a = e[i];
                return [t || s, t || !s ? Et(n, s && s.multi ? e => {
                    const t = P(e, i);
                    return u(t) && t.some((e => o(a, e)))
                } : e => o(a, P(e, i))) : n]
            }), [null, null]);
            return s ? this.where(s.name).equals(e[s.keyPath]).filter(a) : n ? this.filter(a) : this.where(t).equals("")
        }
        filter(e) {
            return this.toCollection().and(e)
        }
        count(e) {
            return this.toCollection().count(e)
        }
        offset(e) {
            return this.toCollection().offset(e)
        }
        limit(e) {
            return this.toCollection().limit(e)
        }
        each(e) {
            return this.toCollection().each(e)
        }
        toArray(e) {
            return this.toCollection().toArray(e)
        }
        toCollection() {
            return new this.db.Collection(new this.db.WhereClause(this))
        }
        orderBy(e) {
            return new this.db.Collection(new this.db.WhereClause(this, u(e) ? `[${e.join("+")}]` : e))
        }
        reverse() {
            return this.toCollection().reverse()
        }
        mapToClass(e) {
            this.schema.mappedClass = e;
            const t = t => {
                if (!t) return t;
                const n = Object.create(e.prototype);
                for (var r in t)
                    if (p(t, r)) try {
                        n[r] = t[r]
                    } catch (e) {}
                    return n
            };
            return this.schema.readHook && this.hook.reading.unsubscribe(this.schema.readHook), this.schema.readHook = t, this.hook("reading", t), e
        }
        defineClass() {
            return this.mapToClass((function(e) {
                d(this, e)
            }))
        }
        add(e, t) {
            const {
                auto: n,
                keyPath: r
            } = this.schema.primKey;
            let i = e;
            return r && n && (i = At(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "add",
                keys: null != t ? [t] : null,
                values: [i]
            }))).then((e => e.numFailures ? Fe.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    E(e, r, t)
                } catch (e) {}
                return t
            }))
        }
        update(e, t) {
            if ("object" != typeof e || u(e)) return this.where(":id").equals(e).modify(t); {
                const n = P(e, this.schema.primKey.keyPath);
                if (void 0 === n) return bt(new oe.InvalidArgument("Given object does not contain its primary key"));
                try {
                    "function" != typeof t ? c(t).forEach((n => {
                        E(e, n, t[n])
                    })) : t(e, {
                        value: e,
                        primKey: n
                    })
                } catch (e) {}
                return this.where(":id").equals(n).modify(t)
            }
        }
        put(e, t) {
            const {
                auto: n,
                keyPath: r
            } = this.schema.primKey;
            let i = e;
            return r && n && (i = At(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "put",
                values: [i],
                keys: null != t ? [t] : null
            }))).then((e => e.numFailures ? Fe.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    E(e, r, t)
                } catch (e) {}
                return t
            }))
        }
        delete(e) {
            return this._trans("readwrite", (t => this.core.mutate({
                trans: t,
                type: "delete",
                keys: [e]
            }))).then((e => e.numFailures ? Fe.reject(e.failures[0]) : void 0))
        }
        clear() {
            return this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "deleteRange",
                range: Ot
            }))).then((e => e.numFailures ? Fe.reject(e.failures[0]) : void 0))
        }
        bulkGet(e) {
            return this._trans("readonly", (t => this.core.getMany({
                keys: e,
                trans: t
            }).then((e => e.map((e => this.hook.reading.fire(e)))))))
        }
        bulkAdd(e, t, n) {
            const r = Array.isArray(t) ? t : void 0,
                i = (n = n || (r ? void 0 : t)) ? n.allKeys : void 0;
            return this._trans("readwrite", (t => {
                const {
                    auto: n,
                    keyPath: o
                } = this.schema.primKey;
                if (o && r) throw new oe.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new oe.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(At(o)) : e;
                return this.core.mutate({
                    trans: t,
                    type: "add",
                    keys: r,
                    values: a,
                    wantResults: i
                }).then((({
                    numFailures: e,
                    results: t,
                    lastResult: n,
                    failures: r
                }) => {
                    if (0 === e) return i ? t : n;
                    throw new ne(`${this.name}.bulkAdd(): ${e} of ${s} operations failed`, r)
                }))
            }))
        }
        bulkPut(e, t, n) {
            const r = Array.isArray(t) ? t : void 0,
                i = (n = n || (r ? void 0 : t)) ? n.allKeys : void 0;
            return this._trans("readwrite", (t => {
                const {
                    auto: n,
                    keyPath: o
                } = this.schema.primKey;
                if (o && r) throw new oe.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new oe.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(At(o)) : e;
                return this.core.mutate({
                    trans: t,
                    type: "put",
                    keys: r,
                    values: a,
                    wantResults: i
                }).then((({
                    numFailures: e,
                    results: t,
                    lastResult: n,
                    failures: r
                }) => {
                    if (0 === e) return i ? t : n;
                    throw new ne(`${this.name}.bulkPut(): ${e} of ${s} operations failed`, r)
                }))
            }))
        }
        bulkDelete(e) {
            const t = e.length;
            return this._trans("readwrite", (t => this.core.mutate({
                trans: t,
                type: "delete",
                keys: e
            }))).then((({
                numFailures: e,
                lastResult: n,
                failures: r
            }) => {
                if (0 === e) return n;
                throw new ne(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`, r)
            }))
        }
    }

    function Dt(e) {
        var t = {},
            n = function(n, r) {
                if (r) {
                    for (var i = arguments.length, o = new Array(i - 1); --i;) o[i - 1] = arguments[i];
                    return t[n].subscribe.apply(null, o), e
                }
                if ("string" == typeof n) return t[n]
            };
        n.addEventType = o;
        for (var r = 1, i = arguments.length; r < i; ++r) o(arguments[r]);
        return n;

        function o(e, r, i) {
            if ("object" == typeof e) return s(e);
            r || (r = ye), i || (i = le);
            var o = {
                subscribers: [],
                fire: i,
                subscribe: function(e) {
                    -1 === o.subscribers.indexOf(e) && (o.subscribers.push(e), o.fire = r(o.fire, e))
                },
                unsubscribe: function(e) {
                    o.subscribers = o.subscribers.filter((function(t) {
                        return t !== e
                    })), o.fire = o.subscribers.reduce(r, i)
                }
            };
            return t[e] = n[e] = o, o
        }

        function s(e) {
            c(e).forEach((function(t) {
                var n = e[t];
                if (u(n)) o(t, e[t][0], e[t][1]);
                else {
                    if ("asap" !== n) throw new oe.InvalidArgument("Invalid event config");
                    var r = o(t, ce, (function() {
                        for (var e = arguments.length, t = new Array(e); e--;) t[e] = arguments[e];
                        r.subscribers.forEach((function(e) {
                            S((function() {
                                e.apply(null, t)
                            }))
                        }))
                    }))
                }
            }))
        }
    }

    function It(e, t) {
        return g(t).from({
            prototype: e
        }), t
    }

    function Mt(e, t) {
        return !(e.filter || e.algorithm || e.or) && (t ? e.justLimit : !e.replayFilter)
    }

    function jt(e, t) {
        e.filter = Et(e.filter, t)
    }

    function Tt(e, t, n) {
        var r = e.replayFilter;
        e.replayFilter = r ? () => Et(r(), t()) : t, e.justLimit = n && !r
    }

    function Rt(e, t) {
        if (e.isPrimKey) return t.primaryKey;
        const n = t.getIndexByKeyPath(e.index);
        if (!n) throw new oe.Schema("KeyPath " + e.index + " on object store " + t.name + " is not indexed");
        return n
    }

    function Ft(e, t, n) {
        const r = Rt(e, t.schema);
        return t.openCursor({
            trans: n,
            values: !e.keysOnly,
            reverse: "prev" === e.dir,
            unique: !!e.unique,
            query: {
                index: r,
                range: e.range
            }
        })
    }

    function Nt(e, t, n, r) {
        const i = e.replayFilter ? Et(e.filter, e.replayFilter()) : e.filter;
        if (e.or) {
            const o = {},
                s = (e, n, r) => {
                    if (!i || i(n, r, (e => n.stop(e)), (e => n.fail(e)))) {
                        var s = n.primaryKey,
                            a = "" + s;
                        "[object ArrayBuffer]" === a && (a = "" + new Uint8Array(s)), p(o, a) || (o[a] = !0, t(e, n, r))
                    }
                };
            return Promise.all([e.or._iterate(s, n), Ut(Ft(e, r, n), e.algorithm, s, !e.keysOnly && e.valueMapper)])
        }
        return Ut(Ft(e, r, n), Et(e.algorithm, i), t, !e.keysOnly && e.valueMapper)
    }

    function Ut(e, t, n, r) {
        var i = $e(r ? (e, t, i) => n(r(e), t, i) : n);
        return e.then((e => {
            if (e) return e.start((() => {
                var n = () => e.continue();
                t && !t(e, (e => n = e), (t => {
                    e.stop(t), n = le
                }), (t => {
                    e.fail(t), n = le
                })) || i(e.value, e, (e => n = e)), n()
            }))
        }))
    }

    function qt(e, t) {
        try {
            const n = Lt(e),
                r = Lt(t);
            if (n !== r) return "Array" === n ? 1 : "Array" === r ? -1 : "binary" === n ? 1 : "binary" === r ? -1 : "string" === n ? 1 : "string" === r ? -1 : "Date" === n ? 1 : "Date" !== r ? NaN : -1;
            switch (n) {
                case "number":
                case "Date":
                case "string":
                    return e > t ? 1 : e < t ? -1 : 0;
                case "binary":
                    return function(e, t) {
                        const n = e.length,
                            r = t.length,
                            i = n < r ? n : r;
                        for (let n = 0; n < i; ++n)
                            if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1;
                        return n === r ? 0 : n < r ? -1 : 1
                    }(zt(e), zt(t));
                case "Array":
                    return function(e, t) {
                        const n = e.length,
                            r = t.length,
                            i = n < r ? n : r;
                        for (let n = 0; n < i; ++n) {
                            const r = qt(e[n], t[n]);
                            if (0 !== r) return r
                        }
                        return n === r ? 0 : n < r ? -1 : 1
                    }(e, t)
            }
        } catch (e) {}
        return NaN
    }

    function Lt(e) {
        const t = typeof e;
        if ("object" !== t) return t;
        if (ArrayBuffer.isView(e)) return "binary";
        const n = F(e);
        return "ArrayBuffer" === n ? "binary" : n
    }

    function zt(e) {
        return e instanceof Uint8Array ? e : ArrayBuffer.isView(e) ? new Uint8Array(e.buffer, e.byteOffset, e.byteLength) : new Uint8Array(e)
    }
    class Wt {
        _read(e, t) {
            var n = this._ctx;
            return n.error ? n.table._trans(null, bt.bind(null, n.error)) : n.table._trans("readonly", e).then(t)
        }
        _write(e) {
            var t = this._ctx;
            return t.error ? t.table._trans(null, bt.bind(null, t.error)) : t.table._trans("readwrite", e, "locked")
        }
        _addAlgorithm(e) {
            var t = this._ctx;
            t.algorithm = Et(t.algorithm, e)
        }
        _iterate(e, t) {
            return Nt(this._ctx, e, t, this._ctx.table.core)
        }
        clone(e) {
            var t = Object.create(this.constructor.prototype),
                n = Object.create(this._ctx);
            return e && d(n, e), t._ctx = n, t
        }
        raw() {
            return this._ctx.valueMapper = null, this
        }
        each(e) {
            var t = this._ctx;
            return this._read((n => Nt(t, e, n, t.table.core)))
        }
        count(e) {
            return this._read((e => {
                const t = this._ctx,
                    n = t.table.core;
                if (Mt(t, !0)) return n.count({
                    trans: e,
                    query: {
                        index: Rt(t, n.schema),
                        range: t.range
                    }
                }).then((e => Math.min(e, t.limit)));
                var r = 0;
                return Nt(t, (() => (++r, !1)), e, n).then((() => r))
            })).then(e)
        }
        sortBy(e, t) {
            const n = e.split(".").reverse(),
                r = n[0],
                i = n.length - 1;

            function o(e, t) {
                return t ? o(e[n[t]], t - 1) : e[r]
            }
            var s = "next" === this._ctx.dir ? 1 : -1;

            function a(e, t) {
                var n = o(e, i),
                    r = o(t, i);
                return n < r ? -s : n > r ? s : 0
            }
            return this.toArray((function(e) {
                return e.sort(a)
            })).then(t)
        }
        toArray(e) {
            return this._read((e => {
                var t = this._ctx;
                if ("next" === t.dir && Mt(t, !0) && t.limit > 0) {
                    const {
                        valueMapper: n
                    } = t, r = Rt(t, t.table.core.schema);
                    return t.table.core.query({
                        trans: e,
                        limit: t.limit,
                        values: !0,
                        query: {
                            index: r,
                            range: t.range
                        }
                    }).then((({
                        result: e
                    }) => n ? e.map(n) : e))
                } {
                    const n = [];
                    return Nt(t, (e => n.push(e)), e, t.table.core).then((() => n))
                }
            }), e)
        }
        offset(e) {
            var t = this._ctx;
            return e <= 0 || (t.offset += e, Mt(t) ? Tt(t, (() => {
                var t = e;
                return (e, n) => 0 === t || (1 === t ? (--t, !1) : (n((() => {
                    e.advance(t), t = 0
                })), !1))
            })) : Tt(t, (() => {
                var t = e;
                return () => --t < 0
            }))), this
        }
        limit(e) {
            return this._ctx.limit = Math.min(this._ctx.limit, e), Tt(this._ctx, (() => {
                var t = e;
                return function(e, n, r) {
                    return --t <= 0 && n(r), t >= 0
                }
            }), !0), this
        }
        until(e, t) {
            return jt(this._ctx, (function(n, r, i) {
                return !e(n.value) || (r(i), t)
            })), this
        }
        first(e) {
            return this.limit(1).toArray((function(e) {
                return e[0]
            })).then(e)
        }
        last(e) {
            return this.reverse().first(e)
        }
        filter(e) {
            var t, n;
            return jt(this._ctx, (function(t) {
                return e(t.value)
            })), t = this._ctx, n = e, t.isMatch = Et(t.isMatch, n), this
        }
        and(e) {
            return this.filter(e)
        }
        or(e) {
            return new this.db.WhereClause(this._ctx.table, e, this)
        }
        reverse() {
            return this._ctx.dir = "prev" === this._ctx.dir ? "next" : "prev", this._ondirectionchange && this._ondirectionchange(this._ctx.dir), this
        }
        desc() {
            return this.reverse()
        }
        eachKey(e) {
            var t = this._ctx;
            return t.keysOnly = !t.isMatch, this.each((function(t, n) {
                e(n.key, n)
            }))
        }
        eachUniqueKey(e) {
            return this._ctx.unique = "unique", this.eachKey(e)
        }
        eachPrimaryKey(e) {
            var t = this._ctx;
            return t.keysOnly = !t.isMatch, this.each((function(t, n) {
                e(n.primaryKey, n)
            }))
        }
        keys(e) {
            var t = this._ctx;
            t.keysOnly = !t.isMatch;
            var n = [];
            return this.each((function(e, t) {
                n.push(t.key)
            })).then((function() {
                return n
            })).then(e)
        }
        primaryKeys(e) {
            var t = this._ctx;
            if ("next" === t.dir && Mt(t, !0) && t.limit > 0) return this._read((e => {
                var n = Rt(t, t.table.core.schema);
                return t.table.core.query({
                    trans: e,
                    values: !1,
                    limit: t.limit,
                    query: {
                        index: n,
                        range: t.range
                    }
                })
            })).then((({
                result: e
            }) => e)).then(e);
            t.keysOnly = !t.isMatch;
            var n = [];
            return this.each((function(e, t) {
                n.push(t.primaryKey)
            })).then((function() {
                return n
            })).then(e)
        }
        uniqueKeys(e) {
            return this._ctx.unique = "unique", this.keys(e)
        }
        firstKey(e) {
            return this.limit(1).keys((function(e) {
                return e[0]
            })).then(e)
        }
        lastKey(e) {
            return this.reverse().firstKey(e)
        }
        distinct() {
            var e = this._ctx,
                t = e.index && e.table.schema.idxByName[e.index];
            if (!t || !t.multi) return this;
            var n = {};
            return jt(this._ctx, (function(e) {
                var t = e.primaryKey.toString(),
                    r = p(n, t);
                return n[t] = !0, !r
            })), this
        }
        modify(e) {
            var t = this._ctx;
            return this._write((n => {
                var r;
                if ("function" == typeof e) r = e;
                else {
                    var i = c(e),
                        o = i.length;
                    r = function(t) {
                        for (var n = !1, r = 0; r < o; ++r) {
                            var s = i[r],
                                a = e[s];
                            P(t, s) !== a && (E(t, s, a), n = !0)
                        }
                        return n
                    }
                }
                const s = t.table.core,
                    {
                        outbound: a,
                        extractKey: l
                    } = s.schema.primaryKey,
                    u = this.db._options.modifyChunkSize || 200,
                    d = [];
                let h = 0;
                const f = [],
                    p = (e, t) => {
                        const {
                            failures: n,
                            numFailures: r
                        } = t;
                        h += e - r;
                        for (let e of c(n)) d.push(n[e])
                    };
                return this.clone().primaryKeys().then((i => {
                    const o = c => {
                        const d = Math.min(u, i.length - c);
                        return s.getMany({
                            trans: n,
                            keys: i.slice(c, c + d),
                            cache: "immutable"
                        }).then((h => {
                            const f = [],
                                y = [],
                                m = a ? [] : null,
                                v = [];
                            for (let e = 0; e < d; ++e) {
                                const t = h[e],
                                    n = {
                                        value: j(t),
                                        primKey: i[c + e]
                                    };
                                !1 !== r.call(n, n.value, n) && (null == n.value ? v.push(i[c + e]) : a || 0 === qt(l(t), l(n.value)) ? (y.push(n.value), a && m.push(i[c + e])) : (v.push(i[c + e]), f.push(n.value)))
                            }
                            const g = Mt(t) && t.limit === 1 / 0 && ("function" != typeof e || e === Vt) && {
                                index: t.index,
                                range: t.range
                            };
                            return Promise.resolve(f.length > 0 && s.mutate({
                                trans: n,
                                type: "add",
                                values: f
                            }).then((e => {
                                for (let t in e.failures) v.splice(parseInt(t), 1);
                                p(f.length, e)
                            }))).then((() => (y.length > 0 || g && "object" == typeof e) && s.mutate({
                                trans: n,
                                type: "put",
                                keys: m,
                                values: y,
                                criteria: g,
                                changeSpec: "function" != typeof e && e
                            }).then((e => p(y.length, e))))).then((() => (v.length > 0 || g && e === Vt) && s.mutate({
                                trans: n,
                                type: "delete",
                                keys: v,
                                criteria: g
                            }).then((e => p(v.length, e))))).then((() => i.length > c + d && o(c + u)))
                        }))
                    };
                    return o(0).then((() => {
                        if (d.length > 0) throw new te("Error modifying one or more objects", d, h, f);
                        return i.length
                    }))
                }))
            }))
        }
        delete() {
            var e = this._ctx,
                t = e.range;
            return Mt(e) && (e.isPrimKey && !Kt || 3 === t.type) ? this._write((n => {
                const {
                    primaryKey: r
                } = e.table.core.schema, i = t;
                return e.table.core.count({
                    trans: n,
                    query: {
                        index: r,
                        range: i
                    }
                }).then((t => e.table.core.mutate({
                    trans: n,
                    type: "deleteRange",
                    range: i
                }).then((({
                    failures: e,
                    lastResult: n,
                    results: r,
                    numFailures: i
                }) => {
                    if (i) throw new te("Could not delete some values", Object.keys(e).map((t => e[t])), t - i);
                    return t - i
                }))))
            })) : this.modify(Vt)
        }
    }
    const Vt = (e, t) => t.value = null;

    function Gt(e, t) {
        return e < t ? -1 : e === t ? 0 : 1
    }

    function Yt(e, t) {
        return e > t ? -1 : e === t ? 0 : 1
    }

    function Ht(e, t, n) {
        var r = e instanceof en ? new e.Collection(e) : e;
        return r._ctx.error = n ? new n(t) : new TypeError(t), r
    }

    function Qt(e) {
        return new e.Collection(e, (() => $t(""))).limit(0)
    }

    function Jt(e, t, n, r, i, o) {
        for (var s = Math.min(e.length, r.length), a = -1, l = 0; l < s; ++l) {
            var c = t[l];
            if (c !== r[l]) return i(e[l], n[l]) < 0 ? e.substr(0, l) + n[l] + n.substr(l + 1) : i(e[l], r[l]) < 0 ? e.substr(0, l) + r[l] + n.substr(l + 1) : a >= 0 ? e.substr(0, a) + t[a] + n.substr(a + 1) : null;
            i(e[l], c) < 0 && (a = l)
        }
        return s < r.length && "next" === o ? e + n.substr(e.length) : s < e.length && "prev" === o ? e.substr(0, n.length) : a < 0 ? null : e.substr(0, a) + r[a] + n.substr(a + 1)
    }

    function Zt(e, t, n, r) {
        var i, o, s, a, l, c, u, d = n.length;
        if (!n.every((e => "string" == typeof e))) return Ht(e, "String expected.");

        function h(e) {
            i = function(e) {
                return "next" === e ? e => e.toUpperCase() : e => e.toLowerCase()
            }(e), o = function(e) {
                return "next" === e ? e => e.toLowerCase() : e => e.toUpperCase()
            }(e), s = "next" === e ? Gt : Yt;
            var t = n.map((function(e) {
                return {
                    lower: o(e),
                    upper: i(e)
                }
            })).sort((function(e, t) {
                return s(e.lower, t.lower)
            }));
            a = t.map((function(e) {
                return e.upper
            })), l = t.map((function(e) {
                return e.lower
            })), c = e, u = "next" === e ? "" : r
        }
        h("next");
        var f = new e.Collection(e, (() => Xt(a[0], l[d - 1] + r)));
        f._ondirectionchange = function(e) {
            h(e)
        };
        var p = 0;
        return f._addAlgorithm((function(e, n, r) {
            var i = e.key;
            if ("string" != typeof i) return !1;
            var h = o(i);
            if (t(h, l, p)) return !0;
            for (var f = null, y = p; y < d; ++y) {
                var m = Jt(i, h, a[y], l[y], s, c);
                null === m && null === f ? p = y + 1 : (null === f || s(f, m) > 0) && (f = m)
            }
            return n(null !== f ? function() {
                e.continue(f + u)
            } : r), !1
        })), f
    }

    function Xt(e, t, n, r) {
        return {
            type: 2,
            lower: e,
            upper: t,
            lowerOpen: n,
            upperOpen: r
        }
    }

    function $t(e) {
        return {
            type: 1,
            lower: e,
            upper: e
        }
    }
    class en {
        get Collection() {
            return this._ctx.table.db.Collection
        }
        between(e, t, n, r) {
            n = !1 !== n, r = !0 === r;
            try {
                return this._cmp(e, t) > 0 || 0 === this._cmp(e, t) && (n || r) && (!n || !r) ? Qt(this) : new this.Collection(this, (() => Xt(e, t, !n, !r)))
            } catch (e) {
                return Ht(this, kt)
            }
        }
        equals(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => $t(e)))
        }
        above(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(e, void 0, !0)))
        }
        aboveOrEqual(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(e, void 0, !1)))
        }
        below(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(void 0, e, !1, !0)))
        }
        belowOrEqual(e) {
            return null == e ? Ht(this, kt) : new this.Collection(this, (() => Xt(void 0, e)))
        }
        startsWith(e) {
            return "string" != typeof e ? Ht(this, "String expected.") : this.between(e, e + wt, !0, !0)
        }
        startsWithIgnoreCase(e) {
            return "" === e ? this.startsWith(e) : Zt(this, ((e, t) => 0 === e.indexOf(t[0])), [e], wt)
        }
        equalsIgnoreCase(e) {
            return Zt(this, ((e, t) => e === t[0]), [e], "")
        }
        anyOfIgnoreCase() {
            var e = L.apply(q, arguments);
            return 0 === e.length ? Qt(this) : Zt(this, ((e, t) => -1 !== t.indexOf(e)), e, "")
        }
        startsWithAnyOfIgnoreCase() {
            var e = L.apply(q, arguments);
            return 0 === e.length ? Qt(this) : Zt(this, ((e, t) => t.some((t => 0 === e.indexOf(t)))), e, wt)
        }
        anyOf() {
            const e = L.apply(q, arguments);
            let t = this._cmp;
            try {
                e.sort(t)
            } catch (e) {
                return Ht(this, kt)
            }
            if (0 === e.length) return Qt(this);
            const n = new this.Collection(this, (() => Xt(e[0], e[e.length - 1])));
            n._ondirectionchange = n => {
                t = "next" === n ? this._ascending : this._descending, e.sort(t)
            };
            let r = 0;
            return n._addAlgorithm(((n, i, o) => {
                const s = n.key;
                for (; t(s, e[r]) > 0;)
                    if (++r, r === e.length) return i(o), !1;
                return 0 === t(s, e[r]) || (i((() => {
                    n.continue(e[r])
                })), !1)
            })), n
        }
        notEqual(e) {
            return this.inAnyRange([
                [-1 / 0, e],
                [e, this.db._maxKey]
            ], {
                includeLowers: !1,
                includeUppers: !1
            })
        }
        noneOf() {
            const e = L.apply(q, arguments);
            if (0 === e.length) return new this.Collection(this);
            try {
                e.sort(this._ascending)
            } catch (e) {
                return Ht(this, kt)
            }
            const t = e.reduce(((e, t) => e ? e.concat([
                [e[e.length - 1][1], t]
            ]) : [
                [-1 / 0, t]
            ]), null);
            return t.push([e[e.length - 1], this.db._maxKey]), this.inAnyRange(t, {
                includeLowers: !1,
                includeUppers: !1
            })
        }
        inAnyRange(e, t) {
            const n = this._cmp,
                r = this._ascending,
                i = this._descending,
                o = this._min,
                s = this._max;
            if (0 === e.length) return Qt(this);
            if (!e.every((e => void 0 !== e[0] && void 0 !== e[1] && r(e[0], e[1]) <= 0))) return Ht(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", oe.InvalidArgument);
            const a = !t || !1 !== t.includeLowers,
                l = t && !0 === t.includeUppers;
            let c, u = r;

            function d(e, t) {
                return u(e[0], t[0])
            }
            try {
                c = e.reduce((function(e, t) {
                    let r = 0,
                        i = e.length;
                    for (; r < i; ++r) {
                        const i = e[r];
                        if (n(t[0], i[1]) < 0 && n(t[1], i[0]) > 0) {
                            i[0] = o(i[0], t[0]), i[1] = s(i[1], t[1]);
                            break
                        }
                    }
                    return r === i && e.push(t), e
                }), []), c.sort(d)
            } catch (e) {
                return Ht(this, kt)
            }
            let h = 0;
            const f = l ? e => r(e, c[h][1]) > 0 : e => r(e, c[h][1]) >= 0,
                p = a ? e => i(e, c[h][0]) > 0 : e => i(e, c[h][0]) >= 0;
            let y = f;
            const m = new this.Collection(this, (() => Xt(c[0][0], c[c.length - 1][1], !a, !l)));
            return m._ondirectionchange = e => {
                "next" === e ? (y = f, u = r) : (y = p, u = i), c.sort(d)
            }, m._addAlgorithm(((e, t, n) => {
                for (var i = e.key; y(i);)
                    if (++h, h === c.length) return t(n), !1;
                return !! function(e) {
                    return !f(e) && !p(e)
                }(i) || (0 === this._cmp(i, c[h][1]) || 0 === this._cmp(i, c[h][0]) || t((() => {
                    u === r ? e.continue(c[h][0]) : e.continue(c[h][1])
                })), !1)
            })), m
        }
        startsWithAnyOf() {
            const e = L.apply(q, arguments);
            return e.every((e => "string" == typeof e)) ? 0 === e.length ? Qt(this) : this.inAnyRange(e.map((e => [e, e + wt]))) : Ht(this, "startsWithAnyOf() only works with strings")
        }
    }

    function tn(e) {
        return $e((function(t) {
            return nn(t), e(t.target.error), !1
        }))
    }

    function nn(e) {
        e.stopPropagation && e.stopPropagation(), e.preventDefault && e.preventDefault()
    }
    const rn = Dt(null, "storagemutated");
    class on {
        _lock() {
            return C(!Me.global), ++this._reculock, 1 !== this._reculock || Me.global || (Me.lockOwnerFor = this), this
        }
        _unlock() {
            if (C(!Me.global), 0 == --this._reculock)
                for (Me.global || (Me.lockOwnerFor = null); this._blockedFuncs.length > 0 && !this._locked();) {
                    var e = this._blockedFuncs.shift();
                    try {
                        pt(e[1], e[0])
                    } catch (e) {}
                }
            return this
        }
        _locked() {
            return this._reculock && Me.lockOwnerFor !== this
        }
        create(e) {
            if (!this.mode) return this;
            const t = this.db.idbdb,
                n = this.db._state.dbOpenError;
            if (C(!this.idbtrans), !e && !t) switch (n && n.name) {
                case "DatabaseClosedError":
                    throw new oe.DatabaseClosed(n);
                case "MissingAPIError":
                    throw new oe.MissingAPI(n.message, n);
                default:
                    throw new oe.OpenFailed(n)
            }
            if (!this.active) throw new oe.TransactionInactive;
            return C(null === this._completion._state), (e = this.idbtrans = e || (this.db.core ? this.db.core.transaction(this.storeNames, this.mode, {
                durability: this.chromeTransactionDurability
            }) : t.transaction(this.storeNames, this.mode, {
                durability: this.chromeTransactionDurability
            }))).onerror = $e((t => {
                nn(t), this._reject(e.error)
            })), e.onabort = $e((t => {
                nn(t), this.active && this._reject(new oe.Abort(e.error)), this.active = !1, this.on("abort").fire(t)
            })), e.oncomplete = $e((() => {
                this.active = !1, this._resolve(), "mutatedParts" in e && rn.storagemutated.fire(e.mutatedParts)
            })), this
        }
        _promise(e, t, n) {
            if ("readwrite" === e && "readwrite" !== this.mode) return bt(new oe.ReadOnly("Transaction is readonly"));
            if (!this.active) return bt(new oe.TransactionInactive);
            if (this._locked()) return new Fe(((r, i) => {
                this._blockedFuncs.push([() => {
                    this._promise(e, t, n).then(r, i)
                }, Me])
            }));
            if (n) return st((() => {
                var e = new Fe(((e, n) => {
                    this._lock();
                    const r = t(e, n, this);
                    r && r.then && r.then(e, n)
                }));
                return e.finally((() => this._unlock())), e._lib = !0, e
            }));
            var r = new Fe(((e, n) => {
                var r = t(e, n, this);
                r && r.then && r.then(e, n)
            }));
            return r._lib = !0, r
        }
        _root() {
            return this.parent ? this.parent._root() : this
        }
        waitFor(e) {
            var t = this._root();
            const n = Fe.resolve(e);
            if (t._waitingFor) t._waitingFor = t._waitingFor.then((() => n));
            else {
                t._waitingFor = n, t._waitingQueue = [];
                var r = t.idbtrans.objectStore(t.storeNames[0]);
                ! function e() {
                    for (++t._spinCount; t._waitingQueue.length;) t._waitingQueue.shift()();
                    t._waitingFor && (r.get(-1 / 0).onsuccess = e)
                }()
            }
            var i = t._waitingFor;
            return new Fe(((e, r) => {
                n.then((n => t._waitingQueue.push($e(e.bind(null, n)))), (e => t._waitingQueue.push($e(r.bind(null, e))))).finally((() => {
                    t._waitingFor === i && (t._waitingFor = null)
                }))
            }))
        }
        abort() {
            this.active && (this.active = !1, this.idbtrans && this.idbtrans.abort(), this._reject(new oe.Abort))
        }
        table(e) {
            const t = this._memoizedTables || (this._memoizedTables = {});
            if (p(t, e)) return t[e];
            const n = this.schema[e];
            if (!n) throw new oe.NotFound("Table " + e + " not part of transaction");
            const r = new this.db.Table(e, n, this);
            return r.core = this.db.core.table(e), t[e] = r, r
        }
    }

    function sn(e, t, n, r, i, o, s) {
        return {
            name: e,
            keyPath: t,
            unique: n,
            multi: r,
            auto: i,
            compound: o,
            src: (n && !s ? "&" : "") + (r ? "*" : "") + (i ? "++" : "") + an(t)
        }
    }

    function an(e) {
        return "string" == typeof e ? e : e ? "[" + [].join.call(e, "+") + "]" : ""
    }

    function ln(e, t, n) {
        return {
            name: e,
            primKey: t,
            indexes: n,
            mappedClass: null,
            idxByName: K(n, (e => [e.name, e]))
        }
    }
    let cn = e => {
        try {
            return e.only([
                []
            ]), cn = () => [
                []
            ], [
                []
            ]
        } catch (e) {
            return cn = () => wt, wt
        }
    };

    function un(e) {
        return null == e ? () => {} : "string" == typeof e ? function(e) {
            return 1 === e.split(".").length ? t => t[e] : t => P(t, e)
        }(e) : t => P(t, e)
    }

    function dn(e) {
        return [].slice.call(e)
    }
    let hn = 0;

    function fn(e) {
        return null == e ? ":id" : "string" == typeof e ? e : `[${e.join("+")}]`
    }

    function pn(e, t, n) {
        function r(e) {
            if (3 === e.type) return null;
            if (4 === e.type) throw new Error("Cannot convert never type to IDBKeyRange");
            const {
                lower: n,
                upper: r,
                lowerOpen: i,
                upperOpen: o
            } = e;
            return void 0 === n ? void 0 === r ? null : t.upperBound(r, !!o) : void 0 === r ? t.lowerBound(n, !!i) : t.bound(n, r, !!i, !!o)
        }
        const {
            schema: i,
            hasGetAll: o
        } = function(e, t) {
            const n = dn(e.objectStoreNames);
            return {
                schema: {
                    name: e.name,
                    tables: n.map((e => t.objectStore(e))).map((e => {
                        const {
                            keyPath: t,
                            autoIncrement: n
                        } = e, r = u(t), i = null == t, o = {}, s = {
                            name: e.name,
                            primaryKey: {
                                name: null,
                                isPrimaryKey: !0,
                                outbound: i,
                                compound: r,
                                keyPath: t,
                                autoIncrement: n,
                                unique: !0,
                                extractKey: un(t)
                            },
                            indexes: dn(e.indexNames).map((t => e.index(t))).map((e => {
                                const {
                                    name: t,
                                    unique: n,
                                    multiEntry: r,
                                    keyPath: i
                                } = e, s = {
                                    name: t,
                                    compound: u(i),
                                    keyPath: i,
                                    unique: n,
                                    multiEntry: r,
                                    extractKey: un(i)
                                };
                                return o[fn(i)] = s, s
                            })),
                            getIndexByKeyPath: e => o[fn(e)]
                        };
                        return o[":id"] = s.primaryKey, null != t && (o[fn(t)] = s.primaryKey), s
                    }))
                },
                hasGetAll: n.length > 0 && "getAll" in t.objectStore(n[0]) && !("undefined" != typeof navigator && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604)
            }
        }(e, n), s = i.tables.map((e => function(e) {
            const t = e.name;
            return {
                name: t,
                schema: e,
                mutate: function({
                    trans: e,
                    type: n,
                    keys: i,
                    values: o,
                    range: s
                }) {
                    return new Promise(((a, l) => {
                        a = $e(a);
                        const c = e.objectStore(t),
                            u = null == c.keyPath,
                            d = "put" === n || "add" === n;
                        if (!d && "delete" !== n && "deleteRange" !== n) throw new Error("Invalid operation type: " + n);
                        const {
                            length: h
                        } = i || o || {
                            length: 1
                        };
                        if (i && o && i.length !== o.length) throw new Error("Given keys array must have same length as given values array.");
                        if (0 === h) return a({
                            numFailures: 0,
                            failures: {},
                            results: [],
                            lastResult: void 0
                        });
                        let f;
                        const p = [],
                            y = [];
                        let m = 0;
                        const v = e => {
                            ++m, nn(e)
                        };
                        if ("deleteRange" === n) {
                            if (4 === s.type) return a({
                                numFailures: m,
                                failures: y,
                                results: [],
                                lastResult: void 0
                            });
                            3 === s.type ? p.push(f = c.clear()) : p.push(f = c.delete(r(s)))
                        } else {
                            const [e, t] = d ? u ? [o, i] : [o, null] : [i, null];
                            if (d)
                                for (let r = 0; r < h; ++r) p.push(f = t && void 0 !== t[r] ? c[n](e[r], t[r]) : c[n](e[r])), f.onerror = v;
                            else
                                for (let t = 0; t < h; ++t) p.push(f = c[n](e[t])), f.onerror = v
                        }
                        const g = e => {
                            const t = e.target.result;
                            p.forEach(((e, t) => null != e.error && (y[t] = e.error))), a({
                                numFailures: m,
                                failures: y,
                                results: "delete" === n ? i : p.map((e => e.result)),
                                lastResult: t
                            })
                        };
                        f.onerror = e => {
                            v(e), g(e)
                        }, f.onsuccess = g
                    }))
                },
                getMany: ({
                    trans: e,
                    keys: n
                }) => new Promise(((r, i) => {
                    r = $e(r);
                    const o = e.objectStore(t),
                        s = n.length,
                        a = new Array(s);
                    let l, c = 0,
                        u = 0;
                    const d = e => {
                            const t = e.target;
                            a[t._pos] = t.result, ++u === c && r(a)
                        },
                        h = tn(i);
                    for (let e = 0; e < s; ++e) null != n[e] && (l = o.get(n[e]), l._pos = e, l.onsuccess = d, l.onerror = h, ++c);
                    0 === c && r(a)
                })),
                get: ({
                    trans: e,
                    key: n
                }) => new Promise(((r, i) => {
                    r = $e(r);
                    const o = e.objectStore(t).get(n);
                    o.onsuccess = e => r(e.target.result), o.onerror = tn(i)
                })),
                query: function(e) {
                    return n => new Promise(((i, o) => {
                        i = $e(i);
                        const {
                            trans: s,
                            values: a,
                            limit: l,
                            query: c
                        } = n, u = l === 1 / 0 ? void 0 : l, {
                            index: d,
                            range: h
                        } = c, f = s.objectStore(t), p = d.isPrimaryKey ? f : f.index(d.name), y = r(h);
                        if (0 === l) return i({
                            result: []
                        });
                        if (e) {
                            const e = a ? p.getAll(y, u) : p.getAllKeys(y, u);
                            e.onsuccess = e => i({
                                result: e.target.result
                            }), e.onerror = tn(o)
                        } else {
                            let e = 0;
                            const t = a || !("openKeyCursor" in p) ? p.openCursor(y) : p.openKeyCursor(y),
                                n = [];
                            t.onsuccess = r => {
                                const o = t.result;
                                return o ? (n.push(a ? o.value : o.primaryKey), ++e === l ? i({
                                    result: n
                                }) : void o.continue()) : i({
                                    result: n
                                })
                            }, t.onerror = tn(o)
                        }
                    }))
                }(o),
                openCursor: function({
                    trans: e,
                    values: n,
                    query: i,
                    reverse: o,
                    unique: s
                }) {
                    return new Promise(((a, l) => {
                        a = $e(a);
                        const {
                            index: c,
                            range: u
                        } = i, d = e.objectStore(t), h = c.isPrimaryKey ? d : d.index(c.name), f = o ? s ? "prevunique" : "prev" : s ? "nextunique" : "next", p = n || !("openKeyCursor" in h) ? h.openCursor(r(u), f) : h.openKeyCursor(r(u), f);
                        p.onerror = tn(l), p.onsuccess = $e((t => {
                            const n = p.result;
                            if (!n) return void a(null);
                            n.___id = ++hn, n.done = !1;
                            const r = n.continue.bind(n);
                            let i = n.continuePrimaryKey;
                            i && (i = i.bind(n));
                            const o = n.advance.bind(n),
                                s = () => {
                                    throw new Error("Cursor not stopped")
                                };
                            n.trans = e, n.stop = n.continue = n.continuePrimaryKey = n.advance = () => {
                                throw new Error("Cursor not started")
                            }, n.fail = $e(l), n.next = function() {
                                let e = 1;
                                return this.start((() => e-- ? this.continue() : this.stop())).then((() => this))
                            }, n.start = e => {
                                const t = new Promise(((e, t) => {
                                        e = $e(e), p.onerror = tn(t), n.fail = t, n.stop = t => {
                                            n.stop = n.continue = n.continuePrimaryKey = n.advance = s, e(t)
                                        }
                                    })),
                                    a = () => {
                                        if (p.result) try {
                                            e()
                                        } catch (e) {
                                            n.fail(e)
                                        } else n.done = !0, n.start = () => {
                                            throw new Error("Cursor behind last entry")
                                        }, n.stop()
                                    };
                                return p.onsuccess = $e((e => {
                                    p.onsuccess = a, a()
                                })), n.continue = r, n.continuePrimaryKey = i, n.advance = o, a(), t
                            }, a(n)
                        }), l)
                    }))
                },
                count({
                    query: e,
                    trans: n
                }) {
                    const {
                        index: i,
                        range: o
                    } = e;
                    return new Promise(((e, s) => {
                        const a = n.objectStore(t),
                            l = i.isPrimaryKey ? a : a.index(i.name),
                            c = r(o),
                            u = c ? l.count(c) : l.count();
                        u.onsuccess = $e((t => e(t.target.result))), u.onerror = tn(s)
                    }))
                }
            }
        }(e))), a = {};
        return s.forEach((e => a[e.name] = e)), {
            stack: "dbcore",
            transaction: e.transaction.bind(e),
            table(e) {
                if (!a[e]) throw new Error(`Table '${e}' not found`);
                return a[e]
            },
            MIN_KEY: -1 / 0,
            MAX_KEY: cn(t),
            schema: i
        }
    }

    function yn({
        _novip: e
    }, t) {
        const n = t.db,
            r = function(e, t, {
                IDBKeyRange: n,
                indexedDB: r
            }, i) {
                const o = function(e, t) {
                    return t.reduce(((e, {
                        create: t
                    }) => ({...e, ...t(e)
                    })), e)
                }(pn(t, n, i), e.dbcore);
                return {
                    dbcore: o
                }
            }(e._middlewares, n, e._deps, t);
        e.core = r.dbcore, e.tables.forEach((t => {
            const n = t.name;
            e.core.schema.tables.some((e => e.name === n)) && (t.core = e.core.table(n), e[n] instanceof e.Table && (e[n].core = t.core))
        }))
    }

    function mn({
        _novip: e
    }, t, n, r) {
        n.forEach((n => {
            const i = r[n];
            t.forEach((t => {
                const r = _(t, n);
                (!r || "value" in r && void 0 === r.value) && (t === e.Transaction.prototype || t instanceof e.Transaction ? v(t, n, {
                    get() {
                        return this.table(n)
                    }, set(e) {
                        m(this, n, {
                            value: e,
                            writable: !0,
                            configurable: !0,
                            enumerable: !0
                        })
                    }
                }) : t[n] = new e.Table(n, i))
            }))
        }))
    }

    function vn({
        _novip: e
    }, t) {
        t.forEach((t => {
            for (let n in t) t[n] instanceof e.Table && delete t[n]
        }))
    }

    function gn(e, t) {
        return e._cfg.version - t._cfg.version
    }

    function bn(e, t, n, r) {
        const i = e._dbSchema,
            o = e._createTransaction("readwrite", e._storeNames, i);
        o.create(n), o._completion.catch(r);
        const s = o._reject.bind(o),
            a = Me.transless || Me;
        st((() => {
            Me.trans = o, Me.transless = a, 0 === t ? (c(i).forEach((e => {
                wn(n, e, i[e].primKey, i[e].indexes)
            })), yn(e, n), Fe.follow((() => e.on.populate.fire(o))).catch(s)) : function({
                _novip: e
            }, t, n, r) {
                const i = [],
                    o = e._versions;
                let s = e._dbSchema = xn(e, e.idbdb, r),
                    a = !1;
                return o.filter((e => e._cfg.version >= t)).forEach((o => {
                        i.push((() => {
                            const i = s,
                                l = o._cfg.dbschema;
                            Cn(e, i, r), Cn(e, l, r), s = e._dbSchema = l;
                            const u = _n(i, l);
                            u.add.forEach((e => {
                                wn(r, e[0], e[1].primKey, e[1].indexes)
                            })), u.change.forEach((e => {
                                if (e.recreate) throw new oe.Upgrade("Not yet support for changing primary key"); {
                                    const t = r.objectStore(e.name);
                                    e.add.forEach((e => kn(t, e))), e.change.forEach((e => {
                                        t.deleteIndex(e.name), kn(t, e)
                                    })), e.del.forEach((e => t.deleteIndex(e)))
                                }
                            }));
                            const d = o._cfg.contentUpgrade;
                            if (d && o._cfg.version > t) {
                                yn(e, r), n._memoizedTables = {}, a = !0;
                                let t = O(l);
                                u.del.forEach((e => {
                                    t[e] = i[e]
                                })), vn(e, [e.Transaction.prototype]), mn(e, [e.Transaction.prototype], c(t), t), n.schema = t;
                                const o = z(d);
                                let s;
                                o && at();
                                const h = Fe.follow((() => {
                                    if (s = d(n), s && o) {
                                        var e = lt.bind(null, null);
                                        s.then(e, e)
                                    }
                                }));
                                return s && "function" == typeof s.then ? Fe.resolve(s) : h.then((() => s))
                            }
                        })), i.push((t => {
                            a && St || function(e, t) {
                                [].slice.call(t.db.objectStoreNames).forEach((n => null == e[n] && t.db.deleteObjectStore(n)))
                            }(o._cfg.dbschema, t), vn(e, [e.Transaction.prototype]), mn(e, [e.Transaction.prototype], e._storeNames, e._dbSchema), n.schema = e._dbSchema
                        }))
                    })),
                    function e() {
                        return i.length ? Fe.resolve(i.shift()(n.idbtrans)).then(e) : Fe.resolve()
                    }().then((() => {
                        var e, t;
                        t = r, c(e = s).forEach((n => {
                            t.db.objectStoreNames.contains(n) || wn(t, n, e[n].primKey, e[n].indexes)
                        }))
                    }))
            }(e, t, o, n).catch(s)
        }))
    }

    function _n(e, t) {
        const n = {
            del: [],
            add: [],
            change: []
        };
        let r;
        for (r in e) t[r] || n.del.push(r);
        for (r in t) {
            const i = e[r],
                o = t[r];
            if (i) {
                const e = {
                    name: r,
                    def: o,
                    recreate: !1,
                    del: [],
                    add: [],
                    change: []
                };
                if ("" + (i.primKey.keyPath || "") != "" + (o.primKey.keyPath || "") || i.primKey.auto !== o.primKey.auto && !Ct) e.recreate = !0, n.change.push(e);
                else {
                    const t = i.idxByName,
                        r = o.idxByName;
                    let s;
                    for (s in t) r[s] || e.del.push(s);
                    for (s in r) {
                        const n = t[s],
                            i = r[s];
                        n ? n.src !== i.src && e.change.push(i) : e.add.push(i)
                    }(e.del.length > 0 || e.add.length > 0 || e.change.length > 0) && n.change.push(e)
                }
            } else n.add.push([r, o])
        }
        return n
    }

    function wn(e, t, n, r) {
        const i = e.db.createObjectStore(t, n.keyPath ? {
            keyPath: n.keyPath,
            autoIncrement: n.auto
        } : {
            autoIncrement: n.auto
        });
        return r.forEach((e => kn(i, e))), i
    }

    function kn(e, t) {
        e.createIndex(t.name, t.keyPath, {
            unique: t.unique,
            multiEntry: t.multi
        })
    }

    function xn(e, t, n) {
        const r = {};
        return k(t.objectStoreNames, 0).forEach((e => {
            const t = n.objectStore(e);
            let i = t.keyPath;
            const o = sn(an(i), i || "", !1, !1, !!t.autoIncrement, i && "string" != typeof i, !0),
                s = [];
            for (let e = 0; e < t.indexNames.length; ++e) {
                const n = t.index(t.indexNames[e]);
                i = n.keyPath;
                var a = sn(n.name, i, !!n.unique, !!n.multiEntry, !1, i && "string" != typeof i, !1);
                s.push(a)
            }
            r[e] = ln(e, o, s)
        })), r
    }

    function Cn({
        _novip: e
    }, t, n) {
        const r = n.db.objectStoreNames;
        for (let i = 0; i < r.length; ++i) {
            const o = r[i],
                s = n.objectStore(o);
            e._hasGetAll = "getAll" in s;
            for (let e = 0; e < s.indexNames.length; ++e) {
                const n = s.indexNames[e],
                    r = s.index(n).keyPath,
                    i = "string" == typeof r ? r : "[" + k(r).join("+") + "]";
                if (t[o]) {
                    const e = t[o].idxByName[i];
                    e && (e.name = n, delete t[o].idxByName[i], t[o].idxByName[n] = e)
                }
            }
        }
        "undefined" != typeof navigator && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && l.WorkerGlobalScope && l instanceof l.WorkerGlobalScope && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604 && (e._hasGetAll = !1)
    }
    class Sn {
        _parseStoresSpec(e, t) {
            c(e).forEach((n => {
                if (null !== e[n]) {
                    var r = e[n].split(",").map(((e, t) => {
                            const n = (e = e.trim()).replace(/([&*]|\+\+)/g, ""),
                                r = /^\[/.test(n) ? n.match(/^\[(.*)\]$/)[1].split("+") : n;
                            return sn(n, r || null, /\&/.test(e), /\*/.test(e), /\+\+/.test(e), u(r), 0 === t)
                        })),
                        i = r.shift();
                    if (i.multi) throw new oe.Schema("Primary key cannot be multi-valued");
                    r.forEach((e => {
                        if (e.auto) throw new oe.Schema("Only primary key can be marked as autoIncrement (++)");
                        if (!e.keyPath) throw new oe.Schema("Index must have a name and cannot be an empty string")
                    })), t[n] = ln(n, i, r)
                }
            }))
        }
        stores(e) {
            const t = this.db;
            this._cfg.storesSource = this._cfg.storesSource ? d(this._cfg.storesSource, e) : e;
            const n = t._versions,
                r = {};
            let i = {};
            return n.forEach((e => {
                d(r, e._cfg.storesSource), i = e._cfg.dbschema = {}, e._parseStoresSpec(r, i)
            })), t._dbSchema = i, vn(t, [t._allTables, t, t.Transaction.prototype]), mn(t, [t._allTables, t, t.Transaction.prototype, this._cfg.tables], c(i), i), t._storeNames = c(i), this
        }
        upgrade(e) {
            return this._cfg.contentUpgrade = me(this._cfg.contentUpgrade || le, e), this
        }
    }

    function Kn(e, t) {
        let n = e._dbNamesDB;
        return n || (n = e._dbNamesDB = new Yn("__dbnames", {
            addons: [],
            indexedDB: e,
            IDBKeyRange: t
        }), n.version(1).stores({
            dbnames: "name"
        })), n.table("dbnames")
    }

    function Pn(e) {
        return e && "function" == typeof e.databases
    }

    function En(e) {
        return st((function() {
            return Me.letThrough = !0, e()
        }))
    }

    function On() {
        var e;
        return !navigator.userAgentData && /Safari\//.test(navigator.userAgent) && !/Chrom(e|ium)\//.test(navigator.userAgent) && indexedDB.databases ? new Promise((function(t) {
            var n = function() {
                return indexedDB.databases().finally(t)
            };
            e = setInterval(n, 100), n()
        })).finally((function() {
            return clearInterval(e)
        })) : Promise.resolve()
    }

    function An(e) {
        var t = t => e.next(t),
            n = i(t),
            r = i((t => e.throw(t)));

        function i(e) {
            return t => {
                var i = e(t),
                    o = i.value;
                return i.done ? o : o && "function" == typeof o.then ? o.then(n, r) : u(o) ? Promise.all(o).then(n, r) : n(o)
            }
        }
        return i(t)()
    }

    function Bn(e, t, n) {
        var r = arguments.length;
        if (r < 2) throw new oe.InvalidArgument("Too few arguments");
        for (var i = new Array(r - 1); --r;) i[r - 1] = arguments[r];
        n = i.pop();
        var o = B(i);
        return [e, o, n]
    }

    function Dn(e, t, n, r, i) {
        return Fe.resolve().then((() => {
            const o = Me.transless || Me,
                s = e._createTransaction(t, n, e._dbSchema, r),
                a = {
                    trans: s,
                    transless: o
                };
            if (r) s.idbtrans = r.idbtrans;
            else try {
                s.create(), e._state.PR1398_maxLoop = 3
            } catch (r) {
                return r.name === re.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => Dn(e, t, n, null, i)))) : bt(r)
            }
            const l = z(i);
            let c;
            l && at();
            const u = Fe.follow((() => {
                if (c = i.call(s, s), c)
                    if (l) {
                        var e = lt.bind(null, null);
                        c.then(e, e)
                    } else "function" == typeof c.next && "function" == typeof c.throw && (c = An(c))
            }), a);
            return (c && "function" == typeof c.then ? Fe.resolve(c).then((e => s.active ? e : bt(new oe.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn")))) : u.then((() => c))).then((e => (r && s._resolve(), s._completion.then((() => e))))).catch((e => (s._reject(e), bt(e))))
        }))
    }

    function In(e, t, n) {
        const r = u(e) ? e.slice() : [e];
        for (let e = 0; e < n; ++e) r.push(t);
        return r
    }
    const Mn = {
        stack: "dbcore",
        name: "VirtualIndexMiddleware",
        level: 1,
        create: function(e) {
            return {...e, table(t) {
                    const n = e.table(t),
                        {
                            schema: r
                        } = n,
                        i = {},
                        o = [];

                    function s(e, t, n) {
                        const r = fn(e),
                            a = i[r] = i[r] || [],
                            l = null == e ? 0 : "string" == typeof e ? 1 : e.length,
                            c = t > 0,
                            u = {...n, isVirtual: c, keyTail: t, keyLength: l, extractKey: un(e), unique: !c && n.unique
                            };
                        return a.push(u), u.isPrimaryKey || o.push(u), l > 1 && s(2 === l ? e[0] : e.slice(0, l - 1), t + 1, n), a.sort(((e, t) => e.keyTail - t.keyTail)), u
                    }
                    const a = s(r.primaryKey.keyPath, 0, r.primaryKey);
                    i[":id"] = [a];
                    for (const e of r.indexes) s(e.keyPath, 0, e);

                    function l(t) {
                        const n = t.query.index;
                        return n.isVirtual ? {...t, query: {
                                index: n,
                                range: (r = t.query.range, i = n.keyTail, {
                                    type: 1 === r.type ? 2 : r.type,
                                    lower: In(r.lower, r.lowerOpen ? e.MAX_KEY : e.MIN_KEY, i),
                                    lowerOpen: !0,
                                    upper: In(r.upper, r.upperOpen ? e.MIN_KEY : e.MAX_KEY, i),
                                    upperOpen: !0
                                })
                            }
                        } : t;
                        var r, i
                    }
                    const c = {...n, schema: {...r, primaryKey: a, indexes: o, getIndexByKeyPath: function(e) {
                                const t = i[fn(e)];
                                return t && t[0]
                            }
                        }, count: e => n.count(l(e)), query: e => n.query(l(e)), openCursor(t) {
                            const {
                                keyTail: r,
                                isVirtual: i,
                                keyLength: o
                            } = t.query.index;
                            return i ? n.openCursor(l(t)).then((n => n && function(n) {
                                const i = Object.create(n, {
                                    continue: {
                                        value: function(i) {
                                            null != i ? n.continue(In(i, t.reverse ? e.MAX_KEY : e.MIN_KEY, r)) : t.unique ? n.continue(n.key.slice(0, o).concat(t.reverse ? e.MIN_KEY : e.MAX_KEY, r)) : n.continue()
                                        }
                                    },
                                    continuePrimaryKey: {
                                        value(t, i) {
                                            n.continuePrimaryKey(In(t, e.MAX_KEY, r), i)
                                        }
                                    },
                                    primaryKey: {get: () => n.primaryKey
                                    },
                                    key: {
                                        get() {
                                            const e = n.key;
                                            return 1 === o ? e[0] : e.slice(0, o)
                                        }
                                    },
                                    value: {get: () => n.value
                                    }
                                });
                                return i
                            }(n))) : n.openCursor(t)
                        }
                    };
                    return c
                }
            }
        }
    };

    function jn(e, t, n, r) {
        return n = n || {}, r = r || "", c(e).forEach((i => {
            if (p(t, i)) {
                var o = e[i],
                    s = t[i];
                if ("object" == typeof o && "object" == typeof s && o && s) {
                    const e = F(o);
                    e !== F(s) ? n[r + i] = t[i] : "Object" === e ? jn(o, s, n, r + i + ".") : o !== s && (n[r + i] = t[i])
                } else o !== s && (n[r + i] = t[i])
            } else n[r + i] = void 0
        })), c(t).forEach((i => {
            p(e, i) || (n[r + i] = t[i])
        })), n
    }
    const Tn = {
        stack: "dbcore",
        name: "HooksMiddleware",
        level: 2,
        create: e => ({...e, table(t) {
                const n = e.table(t),
                    {
                        primaryKey: r
                    } = n.schema,
                    i = {...n, mutate(e) {
                            const i = Me.trans,
                                {
                                    deleting: o,
                                    creating: s,
                                    updating: a
                                } = i.table(t).hook;
                            switch (e.type) {
                                case "add":
                                    if (s.fire === le) break;
                                    return i._promise("readwrite", (() => l(e)), !0);
                                case "put":
                                    if (s.fire === le && a.fire === le) break;
                                    return i._promise("readwrite", (() => l(e)), !0);
                                case "delete":
                                    if (o.fire === le) break;
                                    return i._promise("readwrite", (() => l(e)), !0);
                                case "deleteRange":
                                    if (o.fire === le) break;
                                    return i._promise("readwrite", (() => function(e) {
                                        return c(e.trans, e.range, 1e4)
                                    }(e)), !0)
                            }
                            return n.mutate(e);

                            function l(e) {
                                const t = Me.trans,
                                    i = e.keys || function(e, t) {
                                        return "delete" === t.type ? t.keys : t.keys || t.values.map(e.extractKey)
                                    }(r, e);
                                if (!i) throw new Error("Keys missing");
                                return "delete" !== (e = "add" === e.type || "put" === e.type ? {...e, keys: i
                                    } : {...e
                                    }).type && (e.values = [...e.values]), e.keys && (e.keys = [...e.keys]),
                                    function(e, t, n) {
                                        return "add" === t.type ? Promise.resolve([]) : e.getMany({
                                            trans: t.trans,
                                            keys: n,
                                            cache: "immutable"
                                        })
                                    }(n, e, i).then((l => {
                                        const c = i.map(((n, i) => {
                                            const c = l[i],
                                                u = {
                                                    onerror: null,
                                                    onsuccess: null
                                                };
                                            if ("delete" === e.type) o.fire.call(u, n, c, t);
                                            else if ("add" === e.type || void 0 === c) {
                                                const o = s.fire.call(u, n, e.values[i], t);
                                                null == n && null != o && (n = o, e.keys[i] = n, r.outbound || E(e.values[i], r.keyPath, n))
                                            } else {
                                                const r = jn(c, e.values[i]),
                                                    o = a.fire.call(u, r, n, c, t);
                                                if (o) {
                                                    const t = e.values[i];
                                                    Object.keys(o).forEach((e => {
                                                        p(t, e) ? t[e] = o[e] : E(t, e, o[e])
                                                    }))
                                                }
                                            }
                                            return u
                                        }));
                                        return n.mutate(e).then((({
                                            failures: t,
                                            results: n,
                                            numFailures: r,
                                            lastResult: o
                                        }) => {
                                            for (let r = 0; r < i.length; ++r) {
                                                const o = n ? n[r] : i[r],
                                                    s = c[r];
                                                null == o ? s.onerror && s.onerror(t[r]) : s.onsuccess && s.onsuccess("put" === e.type && l[r] ? e.values[r] : o)
                                            }
                                            return {
                                                failures: t,
                                                results: n,
                                                numFailures: r,
                                                lastResult: o
                                            }
                                        })).catch((e => (c.forEach((t => t.onerror && t.onerror(e))), Promise.reject(e))))
                                    }))
                            }

                            function c(e, t, i) {
                                return n.query({
                                    trans: e,
                                    values: !1,
                                    query: {
                                        index: r,
                                        range: t
                                    },
                                    limit: i
                                }).then((({
                                    result: n
                                }) => l({
                                    type: "delete",
                                    keys: n,
                                    trans: e
                                }).then((r => r.numFailures > 0 ? Promise.reject(r.failures[0]) : n.length < i ? {
                                    failures: [],
                                    numFailures: 0,
                                    lastResult: void 0
                                } : c(e, {...t, lower: n[n.length - 1], lowerOpen: !0
                                }, i)))))
                            }
                        }
                    };
                return i
            }
        })
    };

    function Rn(e, t, n) {
        try {
            if (!t) return null;
            if (t.keys.length < e.length) return null;
            const r = [];
            for (let i = 0, o = 0; i < t.keys.length && o < e.length; ++i) 0 === qt(t.keys[i], e[o]) && (r.push(n ? j(t.values[i]) : t.values[i]), ++o);
            return r.length === e.length ? r : null
        } catch (e) {
            return null
        }
    }
    const Fn = {
        stack: "dbcore",
        level: -1,
        create: e => ({
            table: t => {
                const n = e.table(t);
                return {...n, getMany: e => {
                        if (!e.cache) return n.getMany(e);
                        const t = Rn(e.keys, e.trans._cache, "clone" === e.cache);
                        return t ? Fe.resolve(t) : n.getMany(e).then((t => (e.trans._cache = {
                            keys: e.keys,
                            values: "clone" === e.cache ? j(t) : t
                        }, t)))
                    }, mutate: e => ("add" !== e.type && (e.trans._cache = null), n.mutate(e))
                }
            }
        })
    };

    function Nn(e) {
        return !("from" in e)
    }
    const Un = function(e, t) {
        if (!this) {
            const t = new Un;
            return e && "d" in e && d(t, e), t
        }
        d(this, arguments.length ? {
            d: 1,
            from: e,
            to: arguments.length > 1 ? t : e
        } : {
            d: 0
        })
    };

    function qn(e, t, n) {
        const r = qt(t, n);
        if (isNaN(r)) return;
        if (r > 0) throw RangeError();
        if (Nn(e)) return d(e, {
            from: t,
            to: n,
            d: 1
        });
        const i = e.l,
            o = e.r;
        if (qt(n, e.from) < 0) return i ? qn(i, t, n) : e.l = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Wn(e);
        if (qt(t, e.to) > 0) return o ? qn(o, t, n) : e.r = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Wn(e);
        qt(t, e.from) < 0 && (e.from = t, e.l = null, e.d = o ? o.d + 1 : 1), qt(n, e.to) > 0 && (e.to = n, e.r = null, e.d = e.l ? e.l.d + 1 : 1);
        const s = !e.r;
        i && !e.l && Ln(e, i), o && s && Ln(e, o)
    }

    function Ln(e, t) {
        Nn(t) || function e(t, {
            from: n,
            to: r,
            l: i,
            r: o
        }) {
            qn(t, n, r), i && e(t, i), o && e(t, o)
        }(e, t)
    }

    function zn(e) {
        let t = Nn(e) ? null : {
            s: 0,
            n: e
        };
        return {
            next(e) {
                const n = arguments.length > 0;
                for (; t;) switch (t.s) {
                    case 0:
                        if (t.s = 1, n)
                            for (; t.n.l && qt(e, t.n.from) < 0;) t = {
                                up: t,
                                n: t.n.l,
                                s: 1
                            };
                        else
                            for (; t.n.l;) t = {
                                up: t,
                                n: t.n.l,
                                s: 1
                            };
                    case 1:
                        if (t.s = 2, !n || qt(e, t.n.to) <= 0) return {
                            value: t.n,
                            done: !1
                        };
                    case 2:
                        if (t.n.r) {
                            t.s = 3, t = {
                                up: t,
                                n: t.n.r,
                                s: 0
                            };
                            continue
                        }
                    case 3:
                        t = t.up
                }
                return {
                    done: !0
                }
            }
        }
    }

    function Wn(e) {
        var t, n;
        const r = ((null === (t = e.r) || void 0 === t ? void 0 : t.d) || 0) - ((null === (n = e.l) || void 0 === n ? void 0 : n.d) || 0),
            i = r > 1 ? "r" : r < -1 ? "l" : "";
        if (i) {
            const t = "r" === i ? "l" : "r",
                n = {...e
                },
                r = e[i];
            e.from = r.from, e.to = r.to, e[i] = r[i], n[i] = r[t], e[t] = n, n.d = Vn(n)
        }
        e.d = Vn(e)
    }

    function Vn({
        r: e,
        l: t
    }) {
        return (e ? t ? Math.max(e.d, t.d) : e.d : t ? t.d : 0) + 1
    }
    y(Un.prototype, {
        add(e) {
            return Ln(this, e), this
        }, addKey(e) {
            return qn(this, e, e), this
        }, addKeys(e) {
            return e.forEach((e => qn(this, e, e))), this
        }, [N]() {
            return zn(this)
        }
    });
    const Gn = {
        stack: "dbcore",
        level: 0,
        create: e => {
            const t = e.schema.name,
                n = new Un(e.MIN_KEY, e.MAX_KEY);
            return {...e, table: r => {
                    const i = e.table(r),
                        {
                            schema: o
                        } = i,
                        {
                            primaryKey: s
                        } = o,
                        {
                            extractKey: a,
                            outbound: l
                        } = s,
                        d = {...i, mutate: e => {
                                const s = e.trans,
                                    a = s.mutatedParts || (s.mutatedParts = {}),
                                    l = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return a[n] || (a[n] = new Un)
                                    },
                                    c = l(""),
                                    d = l(":dels"),
                                    {
                                        type: h
                                    } = e;
                                let [f, p] = "deleteRange" === e.type ? [e.range] : "delete" === e.type ? [e.keys] : e.values.length < 50 ? [
                                    [], e.values
                                ] : [];
                                const y = e.trans._cache;
                                return i.mutate(e).then((e => {
                                    if (u(f)) {
                                        "delete" !== h && (f = e.results), c.addKeys(f);
                                        const t = Rn(f, y);
                                        t || "add" === h || d.addKeys(f), (t || p) && function(e, t, n, r) {
                                            t.indexes.forEach((function(t) {
                                                const i = e(t.name || "");

                                                function o(e) {
                                                    return null != e ? t.extractKey(e) : null
                                                }
                                                const s = e => t.multiEntry && u(e) ? e.forEach((e => i.addKey(e))) : i.addKey(e);
                                                (n || r).forEach(((e, t) => {
                                                    const i = n && o(n[t]),
                                                        a = r && o(r[t]);
                                                    0 !== qt(i, a) && (null != i && s(i), null != a && s(a))
                                                }))
                                            }))
                                        }(l, o, t, p)
                                    } else if (f) {
                                        const e = {
                                            from: f.lower,
                                            to: f.upper
                                        };
                                        d.add(e), c.add(e)
                                    } else c.add(n), d.add(n), o.indexes.forEach((e => l(e.name).add(n)));
                                    return e
                                }))
                            }
                        },
                        h = ({
                            query: {
                                index: t,
                                range: n
                            }
                        }) => {
                            var r, i;
                            return [t, new Un(null !== (r = n.lower) && void 0 !== r ? r : e.MIN_KEY, null !== (i = n.upper) && void 0 !== i ? i : e.MAX_KEY)]
                        },
                        f = {get: e => [s, new Un(e.key)],
                            getMany: e => [s, (new Un).addKeys(e.keys)],
                            count: h,
                            query: h,
                            openCursor: h
                        };
                    return c(f).forEach((e => {
                        d[e] = function(o) {
                            const {
                                subscr: s
                            } = Me;
                            if (s) {
                                const c = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return s[n] || (s[n] = new Un)
                                    },
                                    u = c(""),
                                    d = c(":dels"),
                                    [h, p] = f[e](o);
                                if (c(h.name || "").add(p), !h.isPrimaryKey) {
                                    if ("count" !== e) {
                                        const t = "query" === e && l && o.values && i.query({...o, values: !1
                                        });
                                        return i[e].apply(this, arguments).then((n => {
                                            if ("query" === e) {
                                                if (l && o.values) return t.then((({
                                                    result: e
                                                }) => (u.addKeys(e), n)));
                                                const e = o.values ? n.result.map(a) : n.result;
                                                o.values ? u.addKeys(e) : d.addKeys(e)
                                            } else if ("openCursor" === e) {
                                                const e = n,
                                                    t = o.values;
                                                return e && Object.create(e, {
                                                    key: {get: () => (d.addKey(e.primaryKey), e.key)
                                                    },
                                                    primaryKey: {
                                                        get() {
                                                            const t = e.primaryKey;
                                                            return d.addKey(t), t
                                                        }
                                                    },
                                                    value: {get: () => (t && u.addKey(e.primaryKey), e.value)
                                                    }
                                                })
                                            }
                                            return n
                                        }))
                                    }
                                    d.add(n)
                                }
                            }
                            return i[e].apply(this, arguments)
                        }
                    })), d
                }
            }
        }
    };
    class Yn {
        constructor(e, t) {
            this._middlewares = {}, this.verno = 0;
            const n = Yn.dependencies;
            this._options = t = {
                addons: Yn.addons,
                autoOpen: !0,
                indexedDB: n.indexedDB,
                IDBKeyRange: n.IDBKeyRange,
                ...t
            }, this._deps = {
                indexedDB: t.indexedDB,
                IDBKeyRange: t.IDBKeyRange
            };
            const {
                addons: r
            } = t;
            this._dbSchema = {}, this._versions = [], this._storeNames = [], this._allTables = {}, this.idbdb = null, this._novip = this;
            const i = {
                dbOpenError: null,
                isBeingOpened: !1,
                onReadyBeingFired: null,
                openComplete: !1,
                dbReadyResolve: le,
                dbReadyPromise: null,
                cancelOpen: le,
                openCanceller: null,
                autoSchema: !0,
                PR1398_maxLoop: 3
            };
            var o;
            i.dbReadyPromise = new Fe((e => {
                i.dbReadyResolve = e
            })), i.openCanceller = new Fe(((e, t) => {
                i.cancelOpen = t
            })), this._state = i, this.name = e, this.on = Dt(this, "populate", "blocked", "versionchange", "close", {
                ready: [me, le]
            }), this.on.ready.subscribe = x(this.on.ready.subscribe, (e => (t, n) => {
                Yn.vip((() => {
                    const r = this._state;
                    if (r.openComplete) r.dbOpenError || Fe.resolve().then(t), n && e(t);
                    else if (r.onReadyBeingFired) r.onReadyBeingFired.push(t), n && e(t);
                    else {
                        e(t);
                        const r = this;
                        n || e((function e() {
                            r.on.ready.unsubscribe(t), r.on.ready.unsubscribe(e)
                        }))
                    }
                }))
            })), this.Collection = (o = this, It(Wt.prototype, (function(e, t) {
                this.db = o;
                let n = Ot,
                    r = null;
                if (t) try {
                    n = t()
                } catch (e) {
                    r = e
                }
                const i = e._ctx,
                    s = i.table,
                    a = s.hook.reading.fire;
                this._ctx = {
                    table: s,
                    index: i.index,
                    isPrimKey: !i.index || s.schema.primKey.keyPath && i.index === s.schema.primKey.name,
                    range: n,
                    keysOnly: !1,
                    dir: "next",
                    unique: "",
                    algorithm: null,
                    filter: null,
                    replayFilter: null,
                    justLimit: !0,
                    isMatch: null,
                    offset: 0,
                    limit: 1 / 0,
                    error: r,
                    or: i.or,
                    valueMapper: a !== ce ? a : null
                }
            }))), this.Table = function(e) {
                return It(Bt.prototype, (function(t, n, r) {
                    this.db = e, this._tx = r, this.name = t, this.schema = n, this.hook = e._allTables[t] ? e._allTables[t].hook : Dt(null, {
                        creating: [he, le],
                        reading: [ue, ce],
                        updating: [pe, le],
                        deleting: [fe, le]
                    })
                }))
            }(this), this.Transaction = function(e) {
                return It(on.prototype, (function(t, n, r, i, o) {
                    this.db = e, this.mode = t, this.storeNames = n, this.schema = r, this.chromeTransactionDurability = i, this.idbtrans = null, this.on = Dt(this, "complete", "error", "abort"), this.parent = o || null, this.active = !0, this._reculock = 0, this._blockedFuncs = [], this._resolve = null, this._reject = null, this._waitingFor = null, this._waitingQueue = null, this._spinCount = 0, this._completion = new Fe(((e, t) => {
                        this._resolve = e, this._reject = t
                    })), this._completion.then((() => {
                        this.active = !1, this.on.complete.fire()
                    }), (e => {
                        var t = this.active;
                        return this.active = !1, this.on.error.fire(e), this.parent ? this.parent._reject(e) : t && this.idbtrans && this.idbtrans.abort(), bt(e)
                    }))
                }))
            }(this), this.Version = function(e) {
                return It(Sn.prototype, (function(t) {
                    this.db = e, this._cfg = {
                        version: t,
                        storesSource: null,
                        dbschema: {},
                        tables: {},
                        contentUpgrade: null
                    }
                }))
            }(this), this.WhereClause = function(e) {
                return It(en.prototype, (function(t, n, r) {
                    this.db = e, this._ctx = {
                        table: t,
                        index: ":id" === n ? null : n,
                        or: r
                    };
                    const i = e._deps.indexedDB;
                    if (!i) throw new oe.MissingAPI;
                    this._cmp = this._ascending = i.cmp.bind(i), this._descending = (e, t) => i.cmp(t, e), this._max = (e, t) => i.cmp(e, t) > 0 ? e : t, this._min = (e, t) => i.cmp(e, t) < 0 ? e : t, this._IDBKeyRange = e._deps.IDBKeyRange
                }))
            }(this), this.on("versionchange", (e => {
                e.newVersion > 0 ? console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`) : console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`), this.close()
            })), this.on("blocked", (e => {
                !e.newVersion || e.newVersion < e.oldVersion ? console.warn(`Dexie.delete('${this.name}') was blocked`) : console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)
            })), this._maxKey = cn(t.IDBKeyRange), this._createTransaction = (e, t, n, r) => new this.Transaction(e, t, n, this._options.chromeTransactionDurability, r), this._fireOnBlocked = e => {
                this.on("blocked").fire(e), xt.filter((e => e.name === this.name && e !== this && !e._state.vcFired)).map((t => t.on("versionchange").fire(e)))
            }, this.use(Mn), this.use(Tn), this.use(Gn), this.use(Fn), this.vip = Object.create(this, {
                _vip: {
                    value: !0
                }
            }), r.forEach((e => e(this)))
        }
        version(e) {
            if (isNaN(e) || e < .1) throw new oe.Type("Given version is not a positive number");
            if (e = Math.round(10 * e) / 10, this.idbdb || this._state.isBeingOpened) throw new oe.Schema("Cannot add version when database is open");
            this.verno = Math.max(this.verno, e);
            const t = this._versions;
            var n = t.filter((t => t._cfg.version === e))[0];
            return n || (n = new this.Version(e), t.push(n), t.sort(gn), n.stores({}), this._state.autoSchema = !1, n)
        }
        _whenReady(e) {
            return this.idbdb && (this._state.openComplete || Me.letThrough || this._vip) ? e() : new Fe(((e, t) => {
                if (this._state.openComplete) return t(new oe.DatabaseClosed(this._state.dbOpenError));
                if (!this._state.isBeingOpened) {
                    if (!this._options.autoOpen) return void t(new oe.DatabaseClosed);
                    this.open().catch(le)
                }
                this._state.dbReadyPromise.then(e, t)
            })).then(e)
        }
        use({
            stack: e,
            create: t,
            level: n,
            name: r
        }) {
            r && this.unuse({
                stack: e,
                name: r
            });
            const i = this._middlewares[e] || (this._middlewares[e] = []);
            return i.push({
                stack: e,
                create: t,
                level: null == n ? 10 : n,
                name: r
            }), i.sort(((e, t) => e.level - t.level)), this
        }
        unuse({
            stack: e,
            name: t,
            create: n
        }) {
            return e && this._middlewares[e] && (this._middlewares[e] = this._middlewares[e].filter((e => n ? e.create !== n : !!t && e.name !== t))), this
        }
        open() {
            return function(e) {
                const t = e._state,
                    {
                        indexedDB: n
                    } = e._deps;
                if (t.isBeingOpened || e.idbdb) return t.dbReadyPromise.then((() => t.dbOpenError ? bt(t.dbOpenError) : e));
                W && (t.openCanceller._stackHolder = H()), t.isBeingOpened = !0, t.dbOpenError = null, t.openComplete = !1;
                const r = t.openCanceller;

                function i() {
                    if (t.openCanceller !== r) throw new oe.DatabaseClosed("db.open() was cancelled")
                }
                let o = t.dbReadyResolve,
                    s = null,
                    a = !1;
                return Fe.race([r, ("undefined" == typeof navigator ? Fe.resolve() : On()).then((() => new Fe(((r, o) => {
                    if (i(), !n) throw new oe.MissingAPI;
                    const l = e.name,
                        u = t.autoSchema ? n.open(l) : n.open(l, Math.round(10 * e.verno));
                    if (!u) throw new oe.MissingAPI;
                    u.onerror = tn(o), u.onblocked = $e(e._fireOnBlocked), u.onupgradeneeded = $e((r => {
                        if (s = u.transaction, t.autoSchema && !e._options.allowEmptyDB) {
                            u.onerror = nn, s.abort(), u.result.close();
                            const e = n.deleteDatabase(l);
                            e.onsuccess = e.onerror = $e((() => {
                                o(new oe.NoSuchDatabase(`Database ${l} doesnt exist`))
                            }))
                        } else {
                            s.onerror = tn(o);
                            var i = r.oldVersion > Math.pow(2, 62) ? 0 : r.oldVersion;
                            a = i < 1, e._novip.idbdb = u.result, bn(e, i / 10, s, o)
                        }
                    }), o), u.onsuccess = $e((() => {
                        s = null;
                        const n = e._novip.idbdb = u.result,
                            i = k(n.objectStoreNames);
                        if (i.length > 0) try {
                            const r = n.transaction(1 === (o = i).length ? o[0] : o, "readonly");
                            t.autoSchema ? function({
                                _novip: e
                            }, t, n) {
                                e.verno = t.version / 10;
                                const r = e._dbSchema = xn(0, t, n);
                                e._storeNames = k(t.objectStoreNames, 0), mn(e, [e._allTables], c(r), r)
                            }(e, n, r) : (Cn(e, e._dbSchema, r), function(e, t) {
                                const n = _n(xn(0, e.idbdb, t), e._dbSchema);
                                return !(n.add.length || n.change.some((e => e.add.length || e.change.length)))
                            }(e, r) || console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")), yn(e, r)
                        } catch (e) {}
                        var o;
                        xt.push(e), n.onversionchange = $e((n => {
                            t.vcFired = !0, e.on("versionchange").fire(n)
                        })), n.onclose = $e((t => {
                            e.on("close").fire(t)
                        })), a && function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !Pn(e) && "__dbnames" !== n && Kn(e, t).put({
                                name: n
                            }).catch(le)
                        }(e._deps, l), r()
                    }), o)
                }))))]).then((() => (i(), t.onReadyBeingFired = [], Fe.resolve(En((() => e.on.ready.fire(e.vip)))).then((function n() {
                    if (t.onReadyBeingFired.length > 0) {
                        let r = t.onReadyBeingFired.reduce(me, le);
                        return t.onReadyBeingFired = [], Fe.resolve(En((() => r(e.vip)))).then(n)
                    }
                }))))).finally((() => {
                    t.onReadyBeingFired = null, t.isBeingOpened = !1
                })).then((() => e)).catch((n => {
                    t.dbOpenError = n;
                    try {
                        s && s.abort()
                    } catch (e) {}
                    return r === t.openCanceller && e._close(), bt(n)
                })).finally((() => {
                    t.openComplete = !0, o()
                }))
            }(this)
        }
        _close() {
            const e = this._state,
                t = xt.indexOf(this);
            if (t >= 0 && xt.splice(t, 1), this.idbdb) {
                try {
                    this.idbdb.close()
                } catch (e) {}
                this._novip.idbdb = null
            }
            e.dbReadyPromise = new Fe((t => {
                e.dbReadyResolve = t
            })), e.openCanceller = new Fe(((t, n) => {
                e.cancelOpen = n
            }))
        }
        close() {
            this._close();
            const e = this._state;
            this._options.autoOpen = !1, e.dbOpenError = new oe.DatabaseClosed, e.isBeingOpened && e.cancelOpen(e.dbOpenError)
        }
        delete() {
            const e = arguments.length > 0,
                t = this._state;
            return new Fe(((n, r) => {
                const i = () => {
                    this.close();
                    var e = this._deps.indexedDB.deleteDatabase(this.name);
                    e.onsuccess = $e((() => {
                        ! function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !Pn(e) && "__dbnames" !== n && Kn(e, t).delete(n).catch(le)
                        }(this._deps, this.name), n()
                    })), e.onerror = tn(r), e.onblocked = this._fireOnBlocked
                };
                if (e) throw new oe.InvalidArgument("Arguments not allowed in db.delete()");
                t.isBeingOpened ? t.dbReadyPromise.then(i) : i()
            }))
        }
        backendDB() {
            return this.idbdb
        }
        isOpen() {
            return null !== this.idbdb
        }
        hasBeenClosed() {
            const e = this._state.dbOpenError;
            return e && "DatabaseClosed" === e.name
        }
        hasFailed() {
            return null !== this._state.dbOpenError
        }
        dynamicallyOpened() {
            return this._state.autoSchema
        }
        get tables() {
            return c(this._allTables).map((e => this._allTables[e]))
        }
        transaction() {
            const e = Bn.apply(this, arguments);
            return this._transaction.apply(this, e)
        }
        _transaction(e, t, n) {
            let r = Me.trans;
            r && r.db === this && -1 === e.indexOf("!") || (r = null);
            const i = -1 !== e.indexOf("?");
            let o, s;
            e = e.replace("!", "").replace("?", "");
            try {
                if (s = t.map((e => {
                        var t = e instanceof this.Table ? e.name : e;
                        if ("string" != typeof t) throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");
                        return t
                    })), "r" == e || "readonly" === e) o = "readonly";
                else {
                    if ("rw" != e && "readwrite" != e) throw new oe.InvalidArgument("Invalid transaction mode: " + e);
                    o = "readwrite"
                }
                if (r) {
                    if ("readonly" === r.mode && "readwrite" === o) {
                        if (!i) throw new oe.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");
                        r = null
                    }
                    r && s.forEach((e => {
                        if (r && -1 === r.storeNames.indexOf(e)) {
                            if (!i) throw new oe.SubTransaction("Table " + e + " not included in parent transaction.");
                            r = null
                        }
                    })), i && r && !r.active && (r = null)
                }
            } catch (e) {
                return r ? r._promise(null, ((t, n) => {
                    n(e)
                })) : bt(e)
            }
            const a = Dn.bind(null, this, o, s, r, n);
            return r ? r._promise(o, a, "lock") : Me.trans ? pt(Me.transless, (() => this._whenReady(a))) : this._whenReady(a)
        }
        table(e) {
            if (!p(this._allTables, e)) throw new oe.InvalidTable(`Table ${e} does not exist`);
            return this._allTables[e]
        }
    }
    const Hn = "undefined" != typeof Symbol && "observable" in Symbol ? Symbol.observable : "@@observable";
    class Qn {
        constructor(e) {
            this._subscribe = e
        }
        subscribe(e, t, n) {
            return this._subscribe(e && "function" != typeof e ? e : {
                next: e,
                error: t,
                complete: n
            })
        }[Hn]() {
            return this
        }
    }

    function Jn(e, t) {
        return c(t).forEach((n => {
            Ln(e[n] || (e[n] = new Un), t[n])
        })), e
    }
    let Zn;
    try {
        Zn = {
            indexedDB: l.indexedDB || l.mozIndexedDB || l.webkitIndexedDB || l.msIndexedDB,
            IDBKeyRange: l.IDBKeyRange || l.webkitIDBKeyRange
        }
    } catch (l) {
        Zn = {
            indexedDB: null,
            IDBKeyRange: null
        }
    }
    const Xn = Yn;

    function $n(e) {
        let t = er;
        try {
            er = !0, rn.storagemutated.fire(e)
        } finally {
            er = t
        }
    }
    y(Xn, {...ae, delete: e => new Xn(e, {
            addons: []
        }).delete(), exists: e => new Xn(e, {
            addons: []
        }).open().then((e => (e.close(), !0))).catch("NoSuchDatabaseError", (() => !1)), getDatabaseNames(e) {
            try {
                return function({
                    indexedDB: e,
                    IDBKeyRange: t
                }) {
                    return Pn(e) ? Promise.resolve(e.databases()).then((e => e.map((e => e.name)).filter((e => "__dbnames" !== e)))) : Kn(e, t).toCollection().primaryKeys()
                }(Xn.dependencies).then(e)
            } catch (e) {
                return bt(new oe.MissingAPI)
            }
        }, defineClass: () => function(e) {
            d(this, e)
        }, ignoreTransaction: e => Me.trans ? pt(Me.transless, e) : e(), vip: En, async: function(e) {
            return function() {
                try {
                    var t = An(e.apply(this, arguments));
                    return t && "function" == typeof t.then ? t : Fe.resolve(t)
                } catch (e) {
                    return bt(e)
                }
            }
        }, spawn: function(e, t, n) {
            try {
                var r = An(e.apply(n, t || []));
                return r && "function" == typeof r.then ? r : Fe.resolve(r)
            } catch (e) {
                return bt(e)
            }
        }, currentTransaction: {get: () => Me.trans || null
        }, waitFor: function(e, t) {
            const n = Fe.resolve("function" == typeof e ? Xn.ignoreTransaction(e) : e).timeout(t || 6e4);
            return Me.trans ? Me.trans.waitFor(n) : n
        }, Promise: Fe, debug: {get: () => W,
            set: e => {
                V(e, "dexie" === e ? () => !0 : Pt)
            }
        }, derive: g, extend: d, props: y, override: x, Events: Dt, on: rn, liveQuery: function(e) {
            return new Qn((t => {
                const n = z(e);
                let r = !1,
                    i = {},
                    o = {};
                const s = {get closed() {
                        return r
                    },
                    unsubscribe: () => {
                        r = !0, rn.storagemutated.unsubscribe(d)
                    }
                };
                t.start && t.start(s);
                let a = !1,
                    l = !1;

                function u() {
                    return c(o).some((e => i[e] && function(e, t) {
                        const n = zn(t);
                        let r = n.next();
                        if (r.done) return !1;
                        let i = r.value;
                        const o = zn(e);
                        let s = o.next(i.from),
                            a = s.value;
                        for (; !r.done && !s.done;) {
                            if (qt(a.from, i.to) <= 0 && qt(a.to, i.from) >= 0) return !0;
                            qt(i.from, a.from) < 0 ? i = (r = n.next(a.from)).value : a = (s = o.next(i.from)).value
                        }
                        return !1
                    }(i[e], o[e])))
                }
                const d = e => {
                        Jn(i, e), u() && h()
                    },
                    h = () => {
                        if (a || r) return;
                        i = {};
                        const c = {},
                            f = function(t) {
                                n && at();
                                const r = () => st(e, {
                                        subscr: t,
                                        trans: null
                                    }),
                                    i = Me.trans ? pt(Me.transless, r) : r();
                                return n && i.then(lt, lt), i
                            }(c);
                        l || (rn("storagemutated", d), l = !0), a = !0, Promise.resolve(f).then((e => {
                            a = !1, r || (u() ? h() : (i = {}, o = c, t.next && t.next(e)))
                        }), (e => {
                            a = !1, t.error && t.error(e), s.unsubscribe()
                        }))
                    };
                return h(), s
            }))
        }, extendObservabilitySet: Jn, getByKeyPath: P, setByKeyPath: E, delByKeyPath: function(e, t) {
            "string" == typeof t ? E(e, t, void 0) : "length" in t && [].map.call(t, (function(t) {
                E(e, t, void 0)
            }))
        }, shallowClone: O, deepClone: j, getObjectDiff: jn, cmp: qt, asap: S, minKey: -1 / 0, addons: [], connections: xt, errnames: re, dependencies: Zn, semVer: "3.2.1", version: "3.2.1".split(".").map((e => parseInt(e))).reduce(((e, t, n) => e + t / Math.pow(10, 2 * n)))
    }), Xn.maxKey = cn(Xn.dependencies.IDBKeyRange), "undefined" != typeof dispatchEvent && "undefined" != typeof addEventListener && (rn("storagemutated", (e => {
        if (!er) {
            let t;
            Ct ? (t = document.createEvent("CustomEvent"), t.initCustomEvent("x-storagemutated-1", !0, !0, e)) : t = new CustomEvent("x-storagemutated-1", {
                detail: e
            }), er = !0, dispatchEvent(t), er = !1
        }
    })), addEventListener("x-storagemutated-1", (({
        detail: e
    }) => {
        er || $n(e)
    })));
    let er = !1;
    if ("undefined" != typeof BroadcastChannel) {
        const e = new BroadcastChannel("x-storagemutated-1");
        rn("storagemutated", (t => {
            er || e.postMessage(t)
        })), e.onmessage = e => {
            e.data && $n(e.data)
        }
    } else if ("undefined" != typeof self && "undefined" != typeof navigator) {
        rn("storagemutated", (e => {
            try {
                er || ("undefined" != typeof localStorage && localStorage.setItem("x-storagemutated-1", JSON.stringify({
                    trig: Math.random(),
                    changedParts: e
                })), "object" == typeof self.clients && [...self.clients.matchAll({
                    includeUncontrolled: !0
                })].forEach((t => t.postMessage({
                    type: "x-storagemutated-1",
                    changedParts: e
                }))))
            } catch (e) {}
        })), addEventListener("storage", (e => {
            if ("x-storagemutated-1" === e.key) {
                const t = JSON.parse(e.newValue);
                t && $n(t.changedParts)
            }
        }));
        const e = self.document && navigator.serviceWorker;
        e && e.addEventListener("message", (function({
            data: e
        }) {
            e && "x-storagemutated-1" === e.type && $n(e.changedParts)
        }))
    }
    Fe.rejectionMapper = function(e, t) {
        if (!e || e instanceof $ || e instanceof TypeError || e instanceof SyntaxError || !e.name || !se[e.name]) return e;
        var n = new se[e.name](t || e.message, e);
        return "stack" in e && v(n, "stack", {get: function() {
                return this.inner.stack
            }
        }), n
    }, V(W, Pt);
    var tr = new class extends Yn {
        constructor() {
            super("tcp_ccl");
            var e = this;
            e.version(1).stores({
                fclicks: "++id,url,rid,ttl,date",
                clicks: "++id,url,crtid,price,ttl,date"
            }), e.version(2).stores({
                impWCl: "++id,rid,cl"
            }), e.version(3).stores({
                fclicks: "++id,url,rid,cid,ttl,date",
                clicks: "++id,url,cid,crtid,capping,capping_period,price,ttl,date"
            }), e.version(4).stores({
                fclicks: "++id,url,rid,cid,capping_uid,capping_endat,ttl,date",
                clicks: "++id,url,cid,crtid,capping_uid,capping_endat,capping,capping_period,price,ttl,date"
            }), e.version(5).stores({
                fclicks: "++id,url,rid,cid,capping_uid,ttl,date",
                clicks: "++id,url,cid,crtid,capping_uid,price,ttl,date",
                plimit: "++id,uid,limit,count,event_trigger,end_at"
            }), e.version(6).stores({
                ownNotifications: "++id,url,title",
                clicks: "++id,url,cid,crtid,capping_uid,price,ttl,date",
                plimit: "++id,uid,limit,count,event_trigger,end_at"
            }), e.version(7).stores({
                auction: "request_options,last_notifications_request,notifications"
            }), e.version(8).stores({
                auction: "request_options,last_notifications_request,notifications",
                settings: "++id,settings"
            }), e.version(9).stores({
                stat: "++id,creative_id,impressions,clicks,create_time,update_time"
            }), e.version(10).stores({
                stat: "++id,creative_id,impressions,clicks,create_time,update_time,category,creative_country"
            }), e.version(11).stores({
                stat: "++id,creative_id,impressions,clicks,create_time,update_time,category,creative_country,tag"
            }), e.version(12).stores({
                auction: null
            }), e.version(13).stores({
                clicks: "++id,url,cid,crtid,price,ttl,date",
                fclicks: "++id,url,rid,cid,ttl,date",
                stat: null,
                impWCl: null,
                plimit: null,
                ownNotifications: null
            })
        }
    };

    function nr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                l = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(l) : Promise.resolve(l).then(r, i)
    }

    function rr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    nr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    nr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class ir {
        saveSettings(e) {
            return tr.transaction("rw", tr.settings, function() {
                var t = rr((function*(t) {
                    yield tr.settings.clear(),
                        yield tr.settings.put({
                            next_notification: e.nextNotification,
                            mode: e.mode,
                            demand_mode_probability: e.demandModeProbability,
                            creatives_update_time: e.creativesUpdateTime,
                            postponed_update_time: e.postponedUpdateTime,
                            stat_send_time: e.statSendTime,
                            is_adblock: Boolean(e.is_adblock),
                            is_meta_mask_active: e.isMetaMaskActive,
                            user_keywords: e.userKeywords,
                            entry_referrer_domain: e.entryReferrerDomain,
                            tag_ab: e.tagAbVersion,
                            visitor_id: e.visitorId,
                            is_safari: e.isSafari
                        })
                }));
                return function(e) {
                    return t.apply(this, arguments)
                }
            }())
        }
        getSettings() {
            return rr((function*() {
                var e =
                    yield tr.settings.toArray();
                if (e.length) {
                    var t = e[0];
                    return {
                        nextNotification: t.next_notification || 0,
                        mode: t.mode || null,
                        demandModeProbability: t.demand_mode_probability || 0,
                        creativesUpdateTime: t.creatives_update_time || null,
                        postponedUpdateTime: t.postponed_update_time || null,
                        statSendTime: t.stat_send_time || null,
                        is_adblock: t.is_adblock || !1,
                        isMetaMaskActive: t.is_meta_mask_active || !1,
                        userKeywords: t.user_keywords,
                        entryReferrerDomain: t.entry_referrer_domain,
                        tagAbVersion: t.tag_ab,
                        visitorId: t.visitor_id,
                        isSafari: t.is_safari
                    }
                }
                return null
            }))()
        }
    }
    for (var or = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", sr = new Uint8Array(256), ar = 0; ar < or.length; ar++) sr[or.charCodeAt(ar)] = ar;

    function lr(e) {
        for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : or, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "", r = new Uint8Array(e), i = r.length, o = "", s = 0; s < i; s += 3) o += t[r[s] >> 2], o += t[(3 & r[s]) << 4 | r[s + 1] >> 4], o += t[(15 & r[s + 1]) << 2 | r[s + 2] >> 6], o += t[63 & r[s + 2]];
        return i % 3 == 2 ? o = o.slice(0, o.length - 1) + n : i % 3 == 1 && (o = o.slice(0, o.length - 2) + n + n), o
    }

    function cr(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : sr,
            n = e.length,
            r = Math.floor(.75 * e.length),
            i = 0;
        "=" === e[n - 1] && (r--, "=" === e[n - 2] && r--);
        for (var o = new Uint8Array(r), s = 0; s < n; s += 4) {
            var a = t[e.charCodeAt(s)],
                l = t[e.charCodeAt(s + 1)],
                c = t[e.charCodeAt(s + 2)],
                u = t[e.charCodeAt(s + 3)];
            o[i++] = a << 2 | l >> 4, o[i++] = (15 & l) << 4 | c >> 2, o[i++] = (3 & c) << 6 | 63 & u
        }
        return o
    }
    sr[45] = 62, sr[95] = 63;
    const ur = JSON.parse('{"x":[{"id":1,"publicKey":"BPZP2eiVQ9M9ldQ7r2fhzutv-XFsMp-Td09w-YeUa4GfRM0v67zx1qaGM63ObPzaTsCP5dDka49rKFLAdMPE6OE","privateKey":"SRw6iGC8p0D_rch2VJJAD2DfI39Rq3aLy6kYBLcw54Y"},{"id":2,"publicKey":"BF6EtvSBQCWLNPiIKFl1BDdED6YuQP6-SzMrPMbNW7sVfANmHqfBFw740chC-It4jksmVqZisq0_PSF7gAgP5nQ","privateKey":"dMhda8ZV6PvVZKrtCO6m_zXhTTY_PO7Gca--ay32pX0"},{"id":3,"publicKey":"BEHF3tidJXPYC72Em3qikxTlUu8muOulHJZslAdiiYUnfzHf4WK4DcgPwmrPaAogLp5qPnC8heItmL_1YWFSAhY","privateKey":"K4-CPL84qFnYUzJyfOy7S2SJOO5-aWCtD7dZ-32FImQ"},{"id":4,"publicKey":"BBDqg-WUChOYKzOIX6NN5XJrar5S07W-CKaZZXXJGB60ZSgxwngaE2rUaAEtk6d7YubEG8O41nTU3WfgUylFQ58","privateKey":"HlH2-3te9k6uump5dD1yGtO1VF_xzGaewzwI2tUz_HM"},{"id":5,"publicKey":"BJYNCsbiJGzE8t9JwcXGYGuCqCMpnvmXWrbMoSzmbnjzxMHQj1q1ID-opWyEWc_S9uV4O8AywYCrlsXmm9tXiOo","privateKey":"6AL8w5ADSWOpTiyWeLYCmQbATZojYRVVpVCZSmPPfzI"},{"id":6,"publicKey":"BPXqJtk9Bdkncr9C2ufUukTZSSF9glUiIZAIiSzAcxW0dLYQQIybaflPfEAKB5SniyGy4ClBMyRK4vCZ1pKsPqI","privateKey":"Rtq7aePf5xT5cXdUQ8-aV2mKiKGnxJpgSvTkTwIlvCw"},{"id":7,"publicKey":"BMJh9g24g8sh8vW1tkCeH_KtNuZnibzf1I-7Bs6vrwFaLsQIMovo1V5xjG2OFLhyATSkD0w2KCHtBaQOcQSnuHk","privateKey":"wNDseDj6MMa1fZODaHqMZdWF7PvceFfGaFz1dMNNWBI"},{"id":8,"publicKey":"BE2A1EVOc4rObFyk2Nm-xFoDzyWzQcpnJGrWddYd4ZqNZDR-5YpjJ19iDI6JVwk9C_AkxaHqAw5URUyg7HIIPYk","privateKey":"X4cCxtvFpbZwaHg4D6BpItXRoCPD3rRVWlRhDhMulb0"},{"id":9,"publicKey":"BAqDDxkwMOnPahAtxNpsYdK8YCQFtaOdHE98XBO89YW0MZ0F7WZnTK7Q5Pz6wQ-N3ZHoPfZVZcgAs6VwPlLbQYY","privateKey":"B1S_I-klUdAPZsuDO59BIhrCEUEb-BceCUm9nrAvcX8"},{"id":10,"publicKey":"BBzCwiEPu1eobZvl_KHxzz3SUYJolGR4YZM-oplWC-oT5DfXXAcolbHY0i3qXwekwgD8ALMNwPtfpTuu77TpeFo","privateKey":"Wx-mwGLAmRGLuT4fsLqrA9dl-BTGTMYV4ghUpGGswDs"},{"id":11,"publicKey":"BEFv-JC2neGUXalb09va2aGjz4D5GHVHPcT6oHhoLhb3ZUgQywuVFy4HTh7VM_W74ZXGGa2p94IsZa2muhfTtDo","privateKey":"zQEKtUrcM0HvqgQzoA7kELu7_hGTVAUCOEaBl7TIjQM"},{"id":12,"publicKey":"BBzueAo9ImxPRg1hAT45FOxxkOhpw6nqsAOn78o4K94vuGrYxhn6Z5R9n_40IjhTfIM2DCxY1-k8A5c19omjKEQ","privateKey":"4BkiHfeJ_igDORlmx1MlJ3Heceez4CyoQfu6wjbv6GY"},{"id":13,"publicKey":"BCyBc56nn-zkbnQKJLh7G_KHGYRRN0zB7wSuwHhKo04zKj_ajZCbtGiufGddn_Hn9R1ShgdGPYuen3YkPuREDNk","privateKey":"2AJsDkii7KOhUIWfW9rN7riCtKdhquuEJAO8E_Wmlwg"},{"id":14,"publicKey":"BBdjVYgvM8VxAOPHBj1lPKxMtNgudcgw6UjkvPCvwicj3Go6iCgNdE9UsJXESnUbsBdxWPtaphjZ5Z0p_B0DOxU","privateKey":"HQEfHtvc_kwvAUyUqCFkGEbixMfzwsIB6aXnp0s4QG0"},{"id":15,"publicKey":"BFN9nGQSgD4PkkiGmgzf1jhImZrDdXkX-nUi1J_Vi6AtFymSfSMMXjF5GSsUjbL0NQO81YWuIpRsOSz7eR1Hs2Q","privateKey":"QOVWcay4m0NXSElJS-tBfyB2dvb_69n4lqeJr67WOGM"},{"id":16,"publicKey":"BBVEJplDPoX7Wl9-uHQFYPmUhDxBnBUdO_2ilTUN4gsUcqh7R7Z-zqJMHdbkx2UI2FIZ2yKFwNX9ov3FUGa-FT8","privateKey":"AwM1XS3A4TaJJL7DhQkPfZpQ_l3hAJCNCvofv6zDD-4"},{"id":17,"publicKey":"BMcljipZcnmxn2I-vVmWr3eENKXMxZ1C1X_ffIV02S2h5ltE0gL9iRuukT2gB-HYdh5VkIlJQus0DfeWEXQnBFA","privateKey":"eYmTgEF-oZven1YK8O3lGOU3s1Xq611Lh6MszwgzLyc"},{"id":18,"publicKey":"BDODN9DbpTXP3FB-NUE_pPxsS-OBMlpJUI-YAUsY-RguSzboQQeuMTzzopfDrmdGCScB4W_5DIMdmJ7g6bTLLYs","privateKey":"F-lsx0NoUCu_3OkNpoqOoeVZ1MGEj6hP46yuo4_aVYA"},{"id":19,"publicKey":"BPkizkKtqQTLNLR-SSYwi3nvAMSMFWJ5PzPV7iAS0c1VZVNPqAZt-iSCdKi0SNqL96afrnz959x5a3LI0nxCLe0","privateKey":"hzIxQXjSEiSOw3r234RkRg1vRCRJMRbOdpnp1-mOJPQ"},{"id":20,"publicKey":"BORkMYRMLhgUSKHs3w4AE5pNuLGU795obmB3nrUWmzEJHWddWEszHG8A1BYTk8SER80M2qEJa55kDtEAhbSHP-o","privateKey":"Mv3-4zDqM8iGv6FwFx0IPhY_pIFAZZj7jL64sZZMBCk"},{"id":21,"publicKey":"BBWGT0JNCgkuEbakF26pyL6CGEYJZiMsdKR-FGVBpshr9yDtYdlNDqnMrP7Tsgsg9oayG7qyA8hwAId2rvbHNxY","privateKey":"dImp_iFqstH8GrG641WwCTIfvH-gUYWyY0G-dGV2Ev8"},{"id":22,"publicKey":"BAiXrsjkiBnG49Nqb-CHOrtoLWZ0WyjV0FKLw3K0xZeGsUyREy-Rt_nmjLNd5zXXmXfEfcTqzBvrUBX18N3gkS4","privateKey":"zHomSXSv_nuZWHNBb7LzVfsl0z5lZvbO3YcP8UEI9mA"},{"id":23,"publicKey":"BKHxooeIkJAGM__VZMOPNf_eWW7xDPc9A1U8QU5pFNgfJQjIaUcJUiiSLOS3BYzDbxAUOI361KAIZQD22BKhB9Y","privateKey":"mB_5soSImOI-xElX-HrHojkUQ1ZSYSxy4Ga_-iRXrfg"},{"id":24,"publicKey":"BAIPvLA7WiYtvC-RdxhY7FvdnzEdA3o1MKqxnTfWjkfyK_gnlWtBVV5zOMiYQvhr1nbfzZi0GH8ye75n_ufgVvU","privateKey":"9IpMgu7qiUfR_vuedSo3YphgeV41yJNIi0FbqzzXZ7U"},{"id":25,"publicKey":"BFJnYsFNNuHSacuzylt1M6fyCYrZT3NNGxKGeQeG8f4mIsDcDHjK0MAoqeDD4vhBp_ZSj_IFJOZidFGfhbqolno","privateKey":"HSuyfoUfoGvR3Vb0OwtD3i1UC5V2bG4XTvZkQR2OQjI"},{"id":26,"publicKey":"BA6epAzFJ6vGppad_WPQ9e4hybpsOtx60Gg7AzKROy_Msbdi4vQN9TVCWiLVkagkXC4lUp7W03i7Uv7mFOhMF50","privateKey":"XrvW6TH0i9kDf1tSJcVBhAIBFKkzgizcX6CUKILRb6U"},{"id":27,"publicKey":"BFDJdEweGkbC7tyox7a5id6deOvOEg5jI4zD3_mM5Nthxcchr0IMr4-Sp6C40AH6oKUtJ-__O0nirPNUUO_rXdU","privateKey":"dBWCDB4w9NpEqF-mpn7K30-Po43ThpJO4vTVfM0ae3o"},{"id":28,"publicKey":"BFi-zcJoVhHOde2CmQYIi8ht30R1176eeUcAsWsxyTzQaARhGI7gmcv92oS_tZQx3OJhEOygU3gGBz_dGqBpMFE","privateKey":"VCjppYkHbDDtrQoNoimLyvLgRbtVKdHp5j-b7znzTyI"},{"id":29,"publicKey":"BAPJbkUpORgly-IyS7SWb2MOwgapL_RzE5zvRc_85Oa_9vVEmbg1JWmniOVPVgu9NjICSFmRozPvskGvicuNQWo","privateKey":"5m9xHyGByOgl5Bvj8CGWS8fMC5hzb8ZeNg5rWire3mU"},{"id":30,"publicKey":"BO5ulR7aC1L9nBV9zZSdMCOa75Dy87xu2n5dL53V0B-maYLcJ2ojCpNFB5MlXHvhVC1xbHIrEdUybb8I_BgQo90","privateKey":"8xd56TwJsx9VXya98BgET8Rm-sRVLyFyLzsmIBGeERg"}]}');

    function dr(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
            n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : e.length - 1,
            r = e.slice(t, n + 1);
        return r[Math.floor(Math.random() * r.length)]
    }

    function hr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                l = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(l) : Promise.resolve(l).then(r, i)
    }

    function fr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    hr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    hr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    var pr = [1019, 1025, 1012, 3482, 2225, 1050, 1024];

    function yr(e) {
        return mr.apply(this, arguments)
    }

    function mr() {
        return (mr = fr((function*(t) {
            var {
                pushManager: n,
                currentSubscription: r,
                vapidKey: i,
                vapID: o,
                tcId: s,
                spotId: a,
                tube: l,
                sub: c,
                utmSource: u,
                utmMedium: d,
                utmCampaign: h,
                utmContent: f,
                isAdblock: p,
                fingerprint: y,
                referrer: m = "",
                href: v = "",
                sid: g
            } = t;
            yield r.unsubscribe();
            var b =
                yield n.subscribe({
                    applicationServerKey: cr(i),
                    userVisibleOnly: !0
                }),
                _ = b.getKey("p256dh"),
                w = b.getKey("auth");
            return (
                yield fetch("https://subscribers.production.wpu.sh/register", {
                    method: "POST",
                    headers: {
                        "Content-type": "application/json"
                    },
                    body: JSON.stringify({
                        contentEncoding: (PushManager.supportedContentEncodings || ["aesgcm"])[0],
                        authToken: lr(w),
                        publicKey: lr(_),
                        endpoint: b.endpoint,
                        sdkVersion: e,
                        tcid: s,
                        spot_id: a,
                        token_id: o,
                        tube: "other" === l ? "tcpublisher" : l,
                        sub: c,
                        utm_source: u,
                        utm_medium: d,
                        utm_campaign: h,
                        utm_content: f,
                        is_adblock: p,
                        fp: y,
                        referrer: m,
                        href: v,
                        sid: g
                    })
                })).json()
        }))).apply(this, arguments)
    }

    function vr() {
        return (vr = fr((function*(e, t, n) {
            var {
                tcId: r,
                spotId: i,
                tube: o,
                sub: s,
                utmSource: a,
                utmMedium: l,
                utmCampaign: c,
                utmContent: u,
                isAdblock: d,
                fingerprint: h,
                sid: f,
                referrer: p,
                href: y
            } = t, {
                minIndexKey: m,
                maxIndexKey: v
            } = n, g = ur.x.map((e => {
                    var {
                        publicKey: t
                    } = e;
                    return t
                })), b =
                yield e.getSubscription(), _ = lr(b.options.applicationServerKey);
            if (!g.includes(_) || "other" === o) {
                var w = ur.x,
                    k = dr(w, m, v) || w[0];
                return yield yr({
                    pushManager: e,
                    currentSubscription: b,
                    vapidKey: k.publicKey,
                    vapID: k.id,
                    tcId: r,
                    spotId: i,
                    tube: o,
                    sub: s,
                    utmSource: a,
                    utmMedium: l,
                    utmCampaign: c,
                    utmContent: u,
                    isAdblock: d,
                    fingerprint: h,
                    referrer: p,
                    href: y,
                    sid: f
                })
            }
            return {
                sid: f
            }
        }))).apply(this, arguments)
    }
    var gr = new class {
        clearOld() {
            return tr.transaction("rw", [tr.fclicks, tr.clicks], (() => {
                var e = Date.now(),
                    t = e - 1728e5;
                return Promise.all([tr.fclicks.filter((e => void 0 === e.date)).delete(), tr.fclicks.where("ttl").belowOrEqual(e).delete(), tr.clicks.where("ttl").belowOrEqual(e).delete(), tr.fclicks.where("date").below(t).delete(), tr.clicks.where("date").below(t).delete()])
            }))
        }
        getFiredClicks() {
            return tr.fclicks.toArray()
        }
        addFiredClicks(e) {
            return tr.fclicks.bulkPut(e)
        }
        getStoredClicks() {
            return tr.clicks.toArray()
        }
        addStoredClicks(e) {
            return tr.clicks.bulkPut(e)
        }
        removeStoredClicks(e) {
            return tr.clicks.bulkDelete(e)
        }
    };
    class br {
        constructor() {
            var e, t, n;
            gr.clearOld(), this.firedClicks = null, this.storedClicks = null, this.newFiredClicks = [], this.newStoredClicks = [], this.newRemovedStoredClicks = [], this.syncLocalDataWithIDB = (e = () => {
                this.addLocalFiredClicksToIDB(), this.addLocalStoredClicksToIDB(), this.removeLocalStoredClicksFromIDB()
            }, t = 2e3, function() {
                var r = this,
                    i = arguments;
                clearTimeout(n), n = setTimeout((() => e.apply(r, i)), t)
            })
        }
        loadClickStore() {
            return Promise.all([this.loadStoredClicks(), this.loadFiredClicks()])
        }
        loadFiredClicks() {
            return gr.getFiredClicks().then((e => {
                null === this.firedClicks && (this.firedClicks = e)
            }))
        }
        addLocalFiredClicksToIDB() {
            0 !== this.newFiredClicks.length && (gr.addFiredClicks(this.newFiredClicks), this.newFiredClicks = [])
        }
        isClickUrlFired(e) {
            return this.getFiredClicks().some((t => t.url === e))
        }
        getFiredClicks() {
            return this.syncLocalDataWithIDB(), this.firedClicks
        }
        addFiredClick(e) {
            return this.getFiredClicks().push(e), this.newFiredClicks.push(e), e
        }
        loadStoredClicks() {
            return gr.getStoredClicks().then((e => {
                null === this.storedClicks && (this.storedClicks = e)
            }))
        }
        addLocalStoredClicksToIDB() {
            0 !== this.newStoredClicks.length && (gr.addStoredClicks(this.newStoredClicks.filter((e => !this.firedClicks.some((t => e.url === t.url))))), this.newStoredClicks = [])
        }
        removeLocalStoredClicksFromIDB() {
            0 !== this.newRemovedStoredClicks.length && (gr.removeStoredClicks(this.newRemovedStoredClicks), this.newRemovedStoredClicks = [])
        }
        getStoredMaxPriceClick() {
            var e = this.getStoredClicks().sort(((e, t) => t.price - e.price)).shift();
            return void 0 !== e && e.id && this.newRemovedStoredClicks.push(e.id), e
        }
        getStoredClicks() {
            return this.syncLocalDataWithIDB(), this.storedClicks
        }
        addStoredClick(e) {
            return this.getStoredClicks().push(e), this.newStoredClicks.push(e), e
        }
    }

    function _r(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            t && (r = r.filter((function(t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable
            }))), n.push.apply(n, r)
        }
        return n
    }

    function wr(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? _r(Object(n), !0).forEach((function(t) {
                kr(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : _r(Object(n)).forEach((function(t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

    function kr(e, t, n) {
        return t in e ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = n, e
    }

    function xr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                l = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(l) : Promise.resolve(l).then(r, i)
    }

    function Cr(e) {
        return function() {
            var t = this,
                n = arguments;
            return new Promise((function(r, i) {
                var o = e.apply(t, n);

                function s(e) {
                    xr(o, r, i, s, a, "next", e)
                }

                function a(e) {
                    xr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }

    function Sr(e, t) {
        ! function(e, t) {
            if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object")
        }(e, t), t.add(e)
    }

    function Kr(e, t, n) {
        if (!t.has(e)) throw new TypeError("attempted to get private field on non-instance");
        return n
    }
    var Pr = [10, 20, 30],
        Er = {
            nextNotification: 0,
            mode: null,
            demandModeProbability: .5,
            creativesUpdateTime: null,
            statSendTime: null,
            postponedUpdateTime: null,
            isMetaMaskActive: !1,
            userKeywords: "",
            entryReferrerDomain: null,
            tagAbVersion: "",
            visitorId: 0,
            isSafari: !1
        },
        Or = new WeakSet,
        Ar = new WeakSet;
    class Br {
        constructor() {
            Sr(this, Ar), Sr(this, Or), this.Auction = new ir, this.version = e, this.settingsRestored = !1, Object.keys(Er).forEach((e => {
                this[e] = Er[e]
            })), this.timezone_offset = (new Date).getTimezoneOffset() / -60, this.version = e, this.ClickLocalDB = new br, this.isWindows = navigator && navigator.userAgent.includes("Windows")
        }
        static getVersion() {
            return e
        }
        restoreEnvironment() {
            var e = this;
            return Cr((function*() {
                if (!e.settingsRestored) {
                    e.settingsRestored = !0;
                    var t =
                        yield e.Auction.getSettings();
                    Object.keys(Er).forEach((n => {
                        e[n] = t && t[n] || Er[n]
                    }))
                }
            }))()
        }
        saveEnvironment() {
            var e = this;
            return Cr((function*() {
                return t = [e.Auction.saveSettings(Object.keys(Er).reduce(((t, n) => (t[n] = e[n], t)), {}))], Promise.allSettled && Promise.allSettled(t) || Promise.all(t.map((e => e.then((e => ({
                    status: "fulfilled",
                    value: e
                }))).catch((e => ({
                    status: "rejected",
                    reason: e
                }))))));
                var t
            }))()
        }
        message(e) {
            var t, n, r, i, o, s, a, l, c, u, d, h, f, p;
            this.isMetaMaskActive = null === (t = e.data) || void 0 === t || null === (n = t.adManagerEnv) || void 0 === n ? void 0 : n.isMetaMaskActive, this.userKeywords = null === (r = e.data) || void 0 === r || null === (i = r.adManagerEnv) || void 0 === i ? void 0 : i.keywords, this.entryReferrerDomain = null === (o = e.data) || void 0 === o || null === (s = o.adManagerEnv) || void 0 === s ? void 0 : s.entryReferrerDomain, this.tagAbVersion = null === (a = e.data) || void 0 === a || null === (l = a.adManagerEnv) || void 0 === l ? void 0 : l.tagAbVersion, this.visitorId = null === (c = e.data) || void 0 === c || null === (u = c.adManagerEnv) || void 0 === u ? void 0 : u.visitorId, this.isSafari = "Safari" === (null === (d = e.data) || void 0 === d || null === (h = d.adManagerEnv) || void 0 === h || null === (f = h.ua) || void 0 === f || null === (p = f.browser) || void 0 === p ? void 0 : p.name), e.waitUntil(this.saveEnvironment())
        }
        createNotificationRecord(e) {
            var t, n, r, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                o = arguments.length > 2 ? arguments[2] : void 0,
                s = Date.now() - 1e3 * e.currentTime,
                a = Date.now();
            var l, c, u = Math.random().toString(36).substring(5) + Math.random().toString(36).substring(5);
            return {
                data: wr(wr({}, i), {}, {
                    notificationUrl: e.notificationUrl,
                    delay: e.delay,
                    cid: e.cid,
                    url: e.url,
                    price: e.ecpm || e.correctedPrice || 0,
                    ttl: (l = e.expirationTimestamp, c = s, void 0 === l || "number" != typeof l || 0 === l ? null : l + c),
                    botProtection: e.botProtection || !1,
                    isCpm: -1 === e.url.indexOf("is_cpm=0"),
                    ignoreClickLogic: e.ignoreClickLogic || !1,
                    crtid: e.crtid,
                    rid: Math.random().toString(36).substring(5) + Math.random().toString(36).substring(5),
                    trackCloseUrl: e.track_close_url,
                    showTime: a,
                    actions: null == e || null === (t = e.options) || void 0 === t ? void 0 : t.actions
                }),
                title: e.title,
                body: e.body,
                image: e.image,
                icon: Kr(this, Or, Dr).call(this, e, a),
                actions: null == e || null === (n = e.options) || void 0 === n ? void 0 : n.actions,
                requireInteraction: null == e || null === (r = e.options) || void 0 === r ? void 0 : r.requireInteraction,
                tag: e.tag || u,
                renotify: o || !1
            }
        }
        openNotificationUrl(e, t) {
            var n = this;
            return Cr((function*() {
                var r = Date.now();
                n.ClickLocalDB.addFiredClick({
                    rid: e.rid,
                    cid: e.cid,
                    url: e.url,
                    ttl: e.ttl,
                    date: r
                });
                var i = Kr(n, Ar, Ir).call(n, e, t, r);
                return self.clients.openWindow(i)
            }))()
        }
        closeExpiredNotifications() {
            return Cr((function*() {
                (
                    yield self.registration.getNotifications()).forEach((e => {
                    var t;
                    (null === (t = e.data) || void 0 === t ? void 0 : t.ttl) <= Date.now() && e.close()
                }))
            }))()
        }
        isClickPossible(e) {
            var t = this;
            return Cr((function*() {
                return t.ClickLocalDB.isClickUrlFired(e.url) ? (o("ClickUrlFired"), !1) : !(e.ttl && e.ttl <= Date.now()) || (o("Click ttl expired"), !1)
            }))()
        }
        processClick(e, t) {
            var n = this;
            return Cr((function*() {
                var {
                    rid: r,
                    botProtection: i,
                    ignoreClickLogic: s
                } = e.data;
                o("ignoreClickLogic", s), n.ClickLocalDB.getStoredClicks() || (
                    yield n.ClickLocalDB.loadClickStore());
                var a =
                    yield n.isClickPossible(e.data);
                o("originalClickPossible: ", a, e.data);
                var l = n.ClickLocalDB.getStoredClicks().length;
                if ((0 === l || 1 === l && !a || s) && e.close(), a) return n.openNotificationUrl(e.data, t);
                var c = n.ClickLocalDB.getStoredMaxPriceClick();
                return c ? (
                    yield n.isClickPossible(c)) ? (o("storedClick used: ", c), n.openNotificationUrl(Object.assign(c, {
                    rid: r,
                    count: l,
                    botProtection: i
                }), t)) : n.processClick(e, t) : void 0
            }))()
        }
        filterExpiredNotification(e) {
            return Cr((function*() {
                return e ? e.filter((e => {
                    if (!(e.data.ttl <= Date.now())) return !0;
                    e.close()
                })) : []
            }))()
        }
        displayNotification(e) {
            return i(e.data.delay, self.registration.showNotification(e.title, e)).then((() => {
                e.data.notificationUrl && fetch(e.data.notificationUrl), this.isSafari && e.icon && fetch(e.icon)
            })).catch((e => {
                console.log("TC SW Imp Error: ".concat(e.toString()))
            }))
        }
        push(e) {
            var t = this;
            return Cr((function*() {
                try {
                    t.isSafari && console.log(e),
                        yield t.restoreEnvironment();
                    var n = e.data.json();
                    if (!n) return Promise.resolve();
                    if (!t.isSafari && Math.random().toFixed(2) > .87 && (C = null == n ? void 0 : n.spot_id, pr.includes(C))) {
                        var r, i, o, a, l, c, u, d, h, f, p, {
                                tokenId: y
                            } =
                            yield
                        function(e, t, n) {
                            return vr.apply(this, arguments)
                        }(self.registration.pushManager, {
                            tcId: null !== (r = null == n ? void 0 : n.tcid) && void 0 !== r ? r : null,
                            spotId: null !== (i = null == n ? void 0 : n.spot_id) && void 0 !== i ? i : null,
                            tube: null !== (o = null == n ? void 0 : n.site) && void 0 !== o ? o : "tcpublisher",
                            sub: null !== (a = null == n ? void 0 : n.ad_sub) && void 0 !== a ? a : 0,
                            utmSource: null !== (l = null == n ? void 0 : n.utm_source) && void 0 !== l ? l : "",
                            utmMedium: null !== (c = null == n ? void 0 : n.utm_medium) && void 0 !== c ? c : "",
                            utmCampaign: null !== (u = null == n ? void 0 : n.utm_campaign) && void 0 !== u ? u : "",
                            utmContent: null !== (d = null == n ? void 0 : n.utm_content) && void 0 !== d ? d : "",
                            isAdblock: null !== (h = null == n ? void 0 : n.is_adblock) && void 0 !== h ? h : 0,
                            fingerprint: null !== (f = null == n ? void 0 : n.fingerprint) && void 0 !== f ? f : "",
                            sid: null !== (p = null == n ? void 0 : n.sid) && void 0 !== p ? p : null
                        }, {
                            minIndexKey: 0,
                            maxIndexKey: 29
                        });
                        y && (n.token_id = y)
                    }
                    yield t.saveEnvironment();
                    var m = 0 === t.timezone_offset ? 0 : t.timezone_offset;
                    n.ver = t.version, n.ver_c = t.version;
                    var v, g = (k = wr(wr({}, n), {}, {
                            timezone_offset: m,
                            token_id: n.token_id,
                            mm: t.isMetaMaskActive,
                            user_keywords: t.userKeywords,
                            pr: t.entryReferrerDomain,
                            tag_ab: t.tagAbVersion,
                            user_fp: t.visitorId
                        }), x = new URL("/in/multy", "https://notification.tubecup.net"), Object.entries(k).forEach((e => {
                            var [t, n] = e;
                            "object" == typeof n ? x.searchParams.append(t, encodeURI(JSON.stringify(n))) : x.searchParams.append(t, n)
                        })), x.toString()),
                        b = !1;
                    if (t.isSafari || t.isWindows || Pr.includes(n.token_id)) {
                        if (!(v =
                                yield s(g))) {
                            if (t.isSafari) return self.registration.showNotification("", {
                                body: "This site has been updated in the background",
                                tag: "nstub"
                            });
                            throw new Error("No auction data")
                        }
                        t.isSafari || t.closeExpiredNotifications()
                    } else {
                        b = !0;
                        var _ =
                            yield self.registration.getNotifications();
                        if ([_, v] =
                            yield Promise.all([t.filterExpiredNotification(_), s(g)]), _ = _.sort(((e, t) => e.data.price - t.data.price)), v = v.sort(((e, t) => e.ecpm - t.ecpm)), v.forEach((e => {
                                e.ecpm = Number(e.ecpm.toFixed(6))
                            })), _.length >= 2) {
                            var w = _[_.length - 1].data.price;
                            v.forEach((e => {
                                if (!(e.ecpm > w)) {
                                    var t = _.findIndex((t => {
                                        if (e.ecpm > t.data.price) return e.tag = t.tag, !0
                                    }));
                                    if (-1 !== t && _.splice(t, 1), -1 === t) {
                                        var n, r = null === (n = _[0]) || void 0 === n ? void 0 : n.tag;
                                        e.tag = r || "ipntub".concat(Math.random()), _.splice(0, 1)
                                    }
                                }
                            }))
                        }
                    }
                    return Promise.all(v.map((e => {
                        var r = t.createNotificationRecord(e, {
                            auctionUrl: g,
                            pushPayload: n,
                            tokenId: n.token_id,
                            isSafari: t.isSafari
                        }, b);
                        return t.displayNotification(r)
                    })))
                } catch (e) {
                    throw new Error("TC SW Error: ".concat(e))
                }
                var k, x, C
            }))()
        }
        notificationclick(e) {
            var t, n;
            if (e.notification.data) {
                var r = null !== (n = (null !== (t = e.notification.actions) && void 0 !== t ? t : e.notification.data.actions).find((t => t.action === e.action))) && void 0 !== n ? n : {
                    action: "banner"
                };
                if (e.notification.data.actions) {
                    var o = e.notification.data.actions.find((t => t.action === e.action));
                    if ("close" === (null == o ? void 0 : o.status)) return this.notificationclose(e)
                }
                return i(0, this.processClick(e.notification, r))
            }
        }
        notificationclose(e) {
            var t = this;
            return Cr((function*() {
                var n, r;
                if (e.notification.data && (null === (n = e.notification) || void 0 === n || null === (r = n.data) || void 0 === r || !r.isSafari)) {
                    var {
                        url: i,
                        price: o,
                        ttl: s,
                        cid: a,
                        ignoreClickLogic: l,
                        crtid: c,
                        isCpm: u,
                        trackCloseUrl: d,
                        tokenId: h,
                        showTime: f
                    } = e.notification.data;
                    if (d) {
                        var p = new URL(d),
                            y = !1;
                        "notificationclick" === e.type && (y = !0, e.notification.close()), p.searchParams.append("close_button", y.toString()),
                            function(e, t) {
                                try {
                                    fetch(e, t)
                                } catch (e) {
                                    console.log(e)
                                }
                            }(p.toString())
                    }
                    var m = new URL(i);
                    if (m.searchParams.append("ml", 1), l) return !1;
                    t.ClickLocalDB.getStoredClicks() || (
                        yield t.ClickLocalDB.loadClickStore()), t.ClickLocalDB.isClickUrlFired(i) || u || s && !(s > Date.now()) || t.ClickLocalDB.addStoredClick({
                        url: m.toString(),
                        price: o,
                        ttl: s,
                        cid: a,
                        crtid: c,
                        tokenId: h,
                        showTime: f,
                        date: Date.now()
                    })
                }
            }))()
        }
        install() {
            return self.skipWaiting()
        }
        activate() {
            return self.clients.claim()
        }
    }

    function Dr(e, t) {
        var n = new URL(e.icon),
            r = e.options.actions.map((e => e.title)).join(",");
        return n.searchParams.append("button_title", encodeURI(r)), n.searchParams.append("show_time", t), n.href
    }

    function Ir(e, t, n) {
        var r = new URL(e.url);
        return void 0 !== e.count && r.searchParams.append("scheme_id", e.count), r.searchParams.append("event_timestamp", n), r.searchParams.append("action", t.action), t.title && r.searchParams.append("button_title", encodeURIComponent(t.title)), r.searchParams.append("token_id", e.tokenId), r.searchParams.append("show_time", e.showTime), r
    }
    self.getWorker = () => Br
})();

Executed Writes (0)


HTTP Transactions (176)


Request Response
                                        
                                            GET /search/?s=drunk HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

search
                                         104.21.235.115
HTTP/1.1 301 Moved Permanently
                                        
Date: Wed, 30 Nov 2022 23:50:23 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Thu, 01 Dec 2022 00:50:23 GMT
Location: https://hotmovs.com/search/?s=drunk
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=UBntY%2Fe%2BisO%2FS%2F7AHBMhuwVFVLCWQHApCsQncGV2UXpD4mP7d%2BGyV%2Fzzcre8DS4fbrvjvZiJ9Ac8LRUkofOzk94OgkhsZ1D511Ykc9DqS%2BoVsJzdroucTnUYu0cyWA%3D%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 77277c2d8d097767-LHR
alt-svc: h2=":443"; ma=60

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "94FB64C1C826ED7099283C0BEDB3CEA7AC7E1D9526794CB9FAD6E761F5989D32"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=12516
Expires: Thu, 01 Dec 2022 03:18:59 GMT
Date: Wed, 30 Nov 2022 23:50:23 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 4109
Cache-Control: max-age=128965
Date: Wed, 30 Nov 2022 23:50:23 GMT
Etag: "638730f7-1d7"
Expires: Fri, 02 Dec 2022 11:39:48 GMT
Last-Modified: Wed, 30 Nov 2022 10:31:19 GMT
Server: ECS (ska/F70B)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.102.187.140
HTTP/2 200 OK
content-type: application/json
                                        
access-control-allow-origin: *
access-control-expose-headers: Retry-After, Alert, Backoff, Content-Length, Content-Type
content-security-policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
content-length: 939
via: 1.1 google
date: Wed, 30 Nov 2022 23:19:44 GMT
cache-control: public,max-age=3600
age: 1839
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    14cd9a0afb6ba9a763651d5112760d1e
Sha1:   75d7b104ab9ab11fbb73c3f348b43b0119b5adfa
Sha256: 4e32a117106be587ffcd63239c16a8117eb7840830d4c9decf6527761967532e
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "F18AC558CB786126BB7EFB159E03353D268D5F5796BCFD2691A349DFC68D863C"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=14462
Expires: Thu, 01 Dec 2022 03:51:25 GMT
Date: Wed, 30 Nov 2022 23:50:23 GMT
Connection: keep-alive

                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-12-30-09-21-26.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         34.160.144.191
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
x-amz-id-2: Imlohd5seimiN9nG29+i323zl7/cEUJu7pTOmNJNfXw47pKfHhUjMFotKw/ua9pFEuQFYCAm+9o=
x-amz-request-id: G6KN6WCT7ANZC9KY
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
content-length: 5348
via: 1.1 google
date: Wed, 30 Nov 2022 23:46:03 GMT
age: 260
last-modified: Thu, 10 Nov 2022 09:21:27 GMT
etag: "9ebddc2b260d081ebbefee47c037cb28"
cache-control: public,max-age=3600
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    9ebddc2b260d081ebbefee47c037cb28
Sha1:   492bad62a7ca6a74738921ef5ae6f0be5edebf39
Sha256: 74bbb7cba16f7d084a08a0907d47d7496e5c148f904707ec6950f8f6a61027e5
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3652
Cache-Control: 'max-age=158059'
Date: Wed, 30 Nov 2022 23:50:23 GMT
Etag: "6387ae08-117"
Last-Modified: Wed, 30 Nov 2022 22:49:31 GMT
Server: ECS (amb/6B7A)
X-Cache: HIT
Content-Length: 279

                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Wed, 30 Nov 2022 23:50:23 GMT
content-length: 12
strict-transport-security: max-age=31536000
via: 1.1 google
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   12
Md5:    23e88fb7b99543fb33315b29b1fad9d6
Sha1:   a48926c4ec03c7c8a4e8dffcd31e5a6cdda417ce
Sha256: 7d8f1de8b7de7bc21dfb546a1d0c51bf31f16eee5fad49dbceae1e76da38e5c3
                                        
                                            GET /upd/20221007.111913.135830/static/js/chunk-common.js HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
last-modified: Fri, 07 Oct 2022 11:19:13 GMT
vary: Accept-Encoding
etag: W/"63400b31-21296"
expires: Wed, 30 Nov 2022 23:54:07 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 1580
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=lKy8o6jbEcZXWO5Ik%2BUFE%2B37tRnUfrO7AOwj%2B21yE3POZHxSiaih2UvLDg60EFnHxEgZxbB2GqaGiV5UQYei9kQBaExuNgfwnewR1KRoLMSPS8qnDOKXbPv40tSulw%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 77277c313aa371de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (65417), with no line terminators
Size:   35165
Md5:    e83b6a08ceff9794d577d15aa8a293d7
Sha1:   96572abb602f8ce5b8d98cdcfc06015af49fb19f
Sha256: ee0d5c72e7faeed05ed208a3f4090099e0dd033bb604192d0ca611125006c98e
                                        
                                            GET /upd/20221007.111759.13997/assets/previewl1b.20210114.1.js HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
last-modified: Fri, 07 Oct 2022 11:17:59 GMT
vary: Accept-Encoding
etag: W/"63400ae7-36ad"
expires: Tue, 06 Dec 2022 11:38:24 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 2117521
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=wausF4Wgdi49f0P%2FxorLN1OuQELRbo0UCiEEu7IO8rmKVajuLPe1EGzyGUzIEh5fWe6wj3YoHDNVepuyJuyxnLNUWuRmtW2VrPXtdNjAgDj53WYS54a0CTOvDzTyzA%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 77277c313a9171de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document, ASCII text, with very long lines (2132)
Size:   5774
Md5:    9c663a4f2c052ede141a246154e8cd58
Sha1:   8c359de0252a5970c6384e41c077f84aae415adb
Sha256: 7142c0b6303b66e6abacfcd64e49aecc44517edb5b0787ead7fef87a41454606
                                        
                                            GET /upd/20221007.111913.11035/static/js/videos.js HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
last-modified: Fri, 07 Oct 2022 11:19:13 GMT
vary: Accept-Encoding
etag: W/"63400b31-2b1b"
expires: Thu, 01 Dec 2022 00:03:40 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 1007
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=72CD4iJW9Bdc0TdcbHXltzV%2F6hEnNV4XgT1BlV6nkVjfphxxni%2BMG7GOpYo9oSXuW6ZAQBjmaK7oD0dMSOSC%2B9PjLtxB8xMSB7gfAknMSuPvnJ2RgPypG58Sq%2BMMLA%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 77277c313aa871de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (11000)
Size:   43265
Md5:    18831bf902d652c05b80b74e661920ce
Sha1:   9d362c112c8611c56539eca49bee797991976f73
Sha256: 7c3f195be29c27c4a78273ea332d2eb351019e9dcf3960967d002f29b0a5ce6f
                                        
                                            GET /sdazknbztgd/klvuuldq.js HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
last-modified: Wed, 30 Nov 2022 23:00:27 GMT
vary: Accept-Encoding
etag: W/"6387e08b-33c3b"
expires: Fri, 30 Dec 2022 23:00:28 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 2999
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=pwiWUlSW%2FGy3OPXtxP0LhaV1VB4djudZ2tThxVrDJDn4da78ifLmQce9xV243UbtXfsGA8HZaH9Ms1bJMoroybxGfi%2B1yQ42opgtVPRCRJ2rZXNCG%2F1LefXmFZF9eA%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 77277c313a9a71de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (40012), with NEL line terminators
Size:   106427
Md5:    5dd3e56a2bbca2e088bd8e7cca9769b2
Sha1:   7ee4f05f036a675a806289a4ca6eca3c2212e1de
Sha256: 5a7e93adf298dff039caa8ba71b584976d2cac27cdd10ceeb8b23cd52ddb4248
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.131
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 30 Nov 2022 23:50:24 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /v1/buckets/main/collections/ms-language-packs/records/cfr-v1-en-US HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.102.187.140
HTTP/2 200 OK
content-type: application/json
                                        
access-control-allow-origin: *
access-control-expose-headers: Content-Length, Pragma, Last-Modified, ETag, Alert, Expires, Retry-After, Cache-Control, Backoff, Content-Type
content-security-policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
content-length: 329
via: 1.1 google
date: Wed, 30 Nov 2022 23:11:15 GMT
cache-control: public,max-age=3600
age: 2349
last-modified: Fri, 25 Mar 2022 17:45:46 GMT
etag: "1648230346554"
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (329), with no line terminators
Size:   329
Md5:    0333b0655111aa68de771adfcc4db243
Sha1:   63f295a144ac87a7c8e23417626724eeca68a7eb
Sha256: 60636eb1dc67c9ed000fe0b49f03777ad6f549cb1d2b9ff010cf198465ae6300
                                        
                                            GET /api/json/main/14400/str.en.json HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: application/json
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
last-modified: Wed, 30 Nov 2022 23:05:06 GMT
vary: Accept-Encoding
etag: W/"6387e1a2-1f31"
expires: Wed, 30 Nov 2022 23:55:24 GMT
cache-control: max-age=300
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=hohmP%2F36OZ5w1LDP1btMlImHFFIOhc9YpEuxus9MXf2CJBANuAxw%2B8eAn2GoNT4zay9pL3TydodrAwy%2BrElPLJQGPB%2BneekpXtwuoE0Vv1xrnmLBCjE1iRoHf3F%2BLQ%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 77277c33bd7171de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (7985), with no line terminators
Size:   6977
Md5:    09f693230d051f316cae9e50387d99ed
Sha1:   5127ecf11134891319ed369c238f1ec2c96aed55
Sha256: 63a7bbc674b44072d9617f58be3f3d35a58acb9f4ed7a6964651e40078a1bedc
                                        
                                            GET /static/images/favicons/favicon-16x16.png HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: image/png
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
content-length: 867
last-modified: Fri, 07 Oct 2022 11:17:59 GMT
etag: "63400ae7-363"
expires: Thu, 01 Dec 2022 00:20:10 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 14
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=gRMgB%2BTcjG%2FwH8TDeZV3lNrvinh6wcRB9DepPiuDqVZ8TQUIeiQ4UGfKxvowuWJYzvQtIsJh8HJ6ue00%2FJg1e9c3zpuYypvgMcEC3DM%2FvYtKbpjmdYV14nPQ6PicYQ%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 77277c348e8371de-LHR
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 16 x 16, 8-bit colormap, non-interlaced\012- data
Size:   867
Md5:    f529a65296f35e21df533d65200deaed
Sha1:   9e2549d6aa35cc729ab39474dde1aa1b10353768
Sha256: 98915eaab2cd70867caca2013650e00684613c4424c0467763486a7670d72214
                                        
                                            GET /static/images/favicons/apple-touch-icon.png HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: image/png
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
content-length: 6877
last-modified: Fri, 07 Oct 2022 11:17:59 GMT
etag: "63400ae7-1add"
expires: Thu, 01 Dec 2022 00:02:25 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 1082
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=WCWA9xwT28x2q7ekv9el4dikitrIl8YBEGo8vMdzlX7hC4iCqPOlgVsNHlh0pom4Fv%2FFJ0rljBUyFh8w8khzv%2B29r5wNXwrGkxjbEXhjvXuQrJSMpS2yEBJ2%2BCUE5w%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 77277c348e7f71de-LHR
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 180 x 180, 8-bit/color RGBA, non-interlaced\012- data
Size:   6877
Md5:    508f724dc0b0c49db0a6ab216d781155
Sha1:   1978f151f46f68b5175c5955452918123eaf476c
Sha256: bfb36859c529e88708703137dd4f870b165e874829be3e5149e62009585fcf5f
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 4101
Cache-Control: max-age=123888
Date: Wed, 30 Nov 2022 23:50:24 GMT
Etag: "63871d2b-1d7"
Expires: Fri, 02 Dec 2022 10:15:12 GMT
Last-Modified: Wed, 30 Nov 2022 09:06:51 GMT
Server: ECS (ska/F70B)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "AC4ECC99DE55563004B61D93B50FFC1C30462114A6D36F086904B174B74FBFF9"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3774
Expires: Thu, 01 Dec 2022 00:53:18 GMT
Date: Wed, 30 Nov 2022 23:50:24 GMT
Connection: keep-alive

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpadmngr.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Wed, 30 Nov 2022 23:55:24 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

                                        
                                            GET /analytics.js HTTP/1.1 
Host: www.google-analytics.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         142.250.74.14
HTTP/2 200 OK
content-type: text/javascript
                                        
strict-transport-security: max-age=10886400; includeSubDomains; preload
x-content-type-options: nosniff
vary: Accept-Encoding
content-encoding: gzip
cross-origin-resource-policy: cross-origin
server: Golfe2
content-length: 20039
date: Wed, 30 Nov 2022 22:46:55 GMT
expires: Thu, 01 Dec 2022 00:46:55 GMT
cache-control: public, max-age=7200
age: 3810
last-modified: Tue, 27 Sep 2022 22:01:05 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1325)
Size:   20039
Md5:    47e6f374ca946fddd5b59871b325736c
Sha1:   baa9282efc8785e84d247c3bff518eaa45f101c4
Sha256: 16580b5c87c58e5702e411f1888fdef511094e4cd6d62bb47d16291ffb25985e
                                        
                                            GET /ads.js HTTP/1.1 
Host: ads.exoclick.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         205.185.216.42
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 974
Accept-Ranges: bytes
Cache-Control: max-age=10800
Server: nginx
etag: W/"8f3c7314efe500b41baba9f571b"
X-HW: 1669852224.dop202.sk1.t,1669852225.cds241.sk1.shn,1669852225.dop202.sk1.t,1669852225.cds003.sk1.c
Access-Control-Allow-Origin: *, *


--- Additional Info ---
Magic:  ASCII text, with very long lines (2476), with no line terminators
Size:   974
Md5:    92af51b4341a31ff621022c2a648c05e
Sha1:   3761459319128e7349981f338926abcd89ba58e0
Sha256: 6dd1f44f60b3c9584b3d9a54af5348c3fc36c7e13585f593f205ed42a0fa7e9f
                                        
                                            GET /plugins/ua/linkid.js HTTP/1.1 
Host: www.google-analytics.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         142.250.74.14
HTTP/2 200 OK
content-type: text/javascript
                                        
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy-report-only: same-origin; report-to="static-on-bigtable"
report-to: {"group":"static-on-bigtable","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/static-on-bigtable"}]}
content-length: 859
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Wed, 30 Nov 2022 23:34:27 GMT
expires: Thu, 01 Dec 2022 00:34:27 GMT
cache-control: public, max-age=3600
age: 958
last-modified: Tue, 22 Oct 2019 18:15:00 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1335)
Size:   859
Md5:    904463ce35aee800847ab85ec948aaf6
Sha1:   904e4d2647466c7f7e0f7412019984e3b2ccfb24
Sha256: 057b4d29359dfe2536a2ec40243bdfa7b151222efcc1eb358608994a14c34237
                                        
                                            POST /gseccovsslca2018 HTTP/1.1 
Host: ocsp.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 79
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 30 Nov 2022 23:50:25 GMT
Content-Length: 938
Connection: keep-alive
Expires: Sun, 04 Dec 2022 20:22:12 GMT
ETag: "fd853f1f86203843f9a812c8fbe2bedecab4669b"
Last-Modified: Wed, 30 Nov 2022 20:22:13 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 2430
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 77277c36a8d10b59-OSL

                                        
                                            POST /gseccovsslca2018 HTTP/1.1 
Host: ocsp.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 79
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 30 Nov 2022 23:50:25 GMT
Content-Length: 938
Connection: keep-alive
Expires: Sun, 04 Dec 2022 20:22:12 GMT
ETag: "fd853f1f86203843f9a812c8fbe2bedecab4669b"
Last-Modified: Wed, 30 Nov 2022 20:22:13 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 2430
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 77277c36ab76b50c-OSL

                                        
                                            GET /metrika/tag.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         87.250.250.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 73267
date: Wed, 30 Nov 2022 23:50:25 GMT
access-control-allow-origin: *
etag: "63875d46-11e33"
expires: Thu, 01 Dec 2022 00:50:25 GMT
last-modified: Wed, 30 Nov 2022 16:40:22 GMT
cache-control: max-age=3600
content-encoding: br
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 (with BOM) text, with very long lines (587)
Size:   73267
Md5:    1d79426653c3b55939eaec59a2ce8ef5
Sha1:   c6db0314df7a4e5c08047f6306e0b79a1ad3bab2
Sha256: 2729cfe8b2f5142cf99734cbb4e1a3c6cd35868d279cd796db49ef62742ef993
                                        
                                            GET /metrika/watch.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         87.250.250.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 57771
date: Wed, 30 Nov 2022 23:50:25 GMT
access-control-allow-origin: *
etag: "63875d46-e1ab"
expires: Thu, 01 Dec 2022 00:50:25 GMT
last-modified: Wed, 30 Nov 2022 16:40:22 GMT
cache-control: max-age=3600
content-encoding: br
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 (with BOM) text, with very long lines (586)
Size:   57771
Md5:    321ba92d227d2a1c16a981017ae5112f
Sha1:   1de92c9a8e23d703db09ab95659e2c8763b6108d
Sha256: ad289a79ad48ecec5ca88f3a5dee00ee8ec7a0e7f5ea6ca4d87ab95b13eedcc3
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: wss://push.services.mozilla.com/
Sec-WebSocket-Protocol: push-notification
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: DGBOdEvWheumTt/DmxfHWg==
Connection: keep-alive, Upgrade
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

search
                                         44.238.202.79
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: 84D2Q2Yzi2zae5K/kP0aaTYoe6Y=

                                        
                                            GET /in/track?data=eyJ3bCI6MSwic3ViaWQiOjAsInVzZXJfaWQiOiI3NjE4ODY3Njc1MDgxMTM4MDAwIiwidGltZXpvbmUiOjAsInZlciI6IjMuMTcuMyIsInRhZ19pZCI6ODIzLCJzY3JlZW5fcmVzb2x1dGlvbiI6IjEyODB4MTAyNCIsImFkYmxvY2siOjAsInRpbWV6b25lX29sc29uIjoiVVRDIiwidXRtX3NvdXJjZSI6IiIsInV0bV9tZWRpdW0iOiIiLCJ1dG1fY2FtcGFpZ24iOiIiLCJ1dG1fY29udGVudCI6IiIsIm1tIjowLCJpbml0X3N0YXJ0X2xhdGVuY3kiOjAuMywiaXNfdjIiOjAsImlzX3YyX2VtcHR5IjowLCJ1c2VyX2tleXdvcmRzIjoiSG90TW92cy5jb20lMjAifQ== HTTP/1.1 
Host: 1435b9649d.85c0a6a0ea.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://hotmovs.com
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
                                        
date: Wed, 30 Nov 2022 23:50:25 GMT
content-length: 0
server: nginx/1.18.0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            OPTIONS /fp?tag_id=823 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://hotmovs.com/
Origin: https://hotmovs.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         157.90.84.242
HTTP/1.1 204 No Content
                                        
Server: nginx/1.20.1
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE
Access-Control-Allow-Origin: https://hotmovs.com
Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "0E49243ADDBC63803245F6A76CA932D7F866B5994005597E6AD4BF53AD31E652"
Last-Modified: Tue, 29 Nov 2022 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3125
Expires: Thu, 01 Dec 2022 00:42:30 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "0E49243ADDBC63803245F6A76CA932D7F866B5994005597E6AD4BF53AD31E652"
Last-Modified: Tue, 29 Nov 2022 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3125
Expires: Thu, 01 Dec 2022 00:42:30 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "3529E24CF8C67EC1EDD968E8C960B472F9DC4CCC6EE8D8C161A3557E82E503F6"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=9716
Expires: Thu, 01 Dec 2022 02:32:21 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST /fp?tag_id=823 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 22285
Origin: https://hotmovs.com
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         157.90.84.242
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
                                        
Server: nginx/1.20.1
Date: Wed, 30 Nov 2022 23:50:25 GMT
Content-Length: 27
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://hotmovs.com
Set-Cookie: id=14359425169337572548; Expires=Thu, 30 Nov 2023 23:50:25 GMT; Secure; SameSite=None
Vary: Origin


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   27
Md5:    183e6bf6f5c39525b4c471c26331c4e4
Sha1:   fc2a0d615a704c8b198b65ce47716b2e168f956e
Sha256: 1127af318c7d62b581d8bb11d56417fef7072f10e3df42bdfb75ba72f94dbe0a
                                        
                                            OPTIONS /prepare HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://hotmovs.com/
Origin: https://hotmovs.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         109.206.176.122
HTTP/2 204 No Content
content-type: text/plain; charset=utf-8
                                        
server: nginx/1.20.1
date: Wed, 30 Nov 2022 23:50:25 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://hotmovs.com
access-control-allow-methods: GET, POST, OPTIONS
access-control-allow-headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
content-length: 0
X-Firefox-Spdy: h2

                                        
                                            POST /prepare HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 550
Origin: https://hotmovs.com
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         109.206.176.122
HTTP/2 204 No Content
                                        
server: nginx/1.20.1
date: Wed, 30 Nov 2022 23:50:25 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://hotmovs.com
access-control-expose-headers: Content-Length,Content-Range
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "96AAA035489311B9AB89496A9FF468CE682E0D2DA37B4607A14D7972FDE86D7E"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11462
Expires: Thu, 01 Dec 2022 03:01:27 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "96AAA035489311B9AB89496A9FF468CE682E0D2DA37B4607A14D7972FDE86D7E"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11462
Expires: Thu, 01 Dec 2022 03:01:27 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "99E11E28CD5AFB25F8720593FA8A5382B3080E8CB847B97AE81E5788E2391567"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5441
Expires: Thu, 01 Dec 2022 01:21:06 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Wed, 30 Nov 2022 23:50:25 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Wed, 30 Nov 2022 23:55:25 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "1DB96306DDB5858428EC6372478C8A9E6A7774A11F8081621D1C11473020682B"
Last-Modified: Mon, 28 Nov 2022 23:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=10480
Expires: Thu, 01 Dec 2022 02:45:05 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "DF1D952F38DA25A23FF8191852CA586C3593225FA1DDE6FD1310E418AA7246DE"
Last-Modified: Mon, 28 Nov 2022 22:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=10600
Expires: Thu, 01 Dec 2022 02:47:05 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "DF1D952F38DA25A23FF8191852CA586C3593225FA1DDE6FD1310E418AA7246DE"
Last-Modified: Mon, 28 Nov 2022 22:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=10600
Expires: Thu, 01 Dec 2022 02:47:05 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            GET /static/tf/videos.ofwrb.json HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: application/json
                                        
date: Wed, 30 Nov 2022 23:50:25 GMT
last-modified: Fri, 07 Oct 2022 11:18:47 GMT
vary: Accept-Encoding
etag: W/"63400b17-52bc"
expires: Thu, 01 Dec 2022 00:20:25 GMT
cache-control: max-age=1800, public
pragma: public
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=gygoblc7Be0n1VuACVnScyVQup0siMoMxWgsC1Vb%2Fuj2%2FxOE2ie1AQ1IKH783aiKhGVi6s%2BDKIoZ%2BwXEOijW%2BmCioMQzmmReQ8D6lzgVW3uOINgWaUS4vXzxO2thIw%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 77277c3b3ee771de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , Unicode text, UTF-8 text, with very long lines (21174), with no line terminators
Size:   5416
Md5:    39b1737e5ecef0aefb8561e5443f1974
Sha1:   3673cd55da099416dc14556158fe83a39ed85015
Sha256: 142aa4938d920f052d133c27db33042aa9a7cd1d43566befa7a37eb188939592
                                        
                                            GET /banner/in/show/?mid=1096834152731504154&pid=0&site=30153&sc=NO&usage_type=DCH&subid=0&sid=0&cid=10915&price=0&is_cpm=1&cpm=0.00154912&ecpm=0.0012830002691584&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=hotmovs.com&hostname=auc-banner-hz-4&site_id=0&spot_id=30153&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=native&iabcat=IAB25&min_cpm=0.0006447622030061082&placement_type_id=8&skin_test=&verify_hash=&score=100&ml=&tag_ab=&ttl=&space_id=30153&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25&url=https%3A%2F%2Fs3t3d2y8.afcdn.net%2Flibrary%2F623611%2Fb15895baaf99a97c8834ba6bec7f8db1fef4fe99.jpg&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=straight&stratagem=&ssp=3756 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozMDE1MywidHlwZSI6InBvcCIsImlkem9uZSI6MTkyMDcxNiwiYWRfdGFncyI6InN0cmFpZ2h0IiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMwMTUzLCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOm51bGwsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1Nn0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMwMTUzIiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL2hvdG1vdnMuY29tL3NlYXJjaC8/cz1kcnVuayJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiI5ZTQ5NDdmMzU3NTE0NjU0MTFmZDFhNGY1YzM1OGM3OCJ9LCJleHQiOnsiZHQiOjE2Njk4NTIyMjQxNjR9fQ==
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:25 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://s3t3d2y8.afcdn.net/library/623611/b15895baaf99a97c8834ba6bec7f8db1fef4fe99.jpg
X-Firefox-Spdy: h2

                                        
                                            OPTIONS /in/multy HTTP/1.1 
Host: b6e9a8ce8a.85c0a6a0ea.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://hotmovs.com/
Origin: https://hotmovs.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         168.119.25.22
HTTP/2 204 No Content
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:25 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /banner/in/show/?mid=5942176283450671532&pid=0&site=30151&sc=NO&usage_type=DCH&subid=0&sid=0&cid=10915&price=0&is_cpm=1&cpm=0.00154912&ecpm=0.0012830002691584&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=hotmovs.com&hostname=auc-banner-hz-10&site_id=0&spot_id=30151&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=native&iabcat=IAB25&min_cpm=0.000642347363294475&placement_type_id=8&skin_test=&verify_hash=&score=100&ml=&tag_ab=&ttl=&space_id=30151&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25&url=https%3A%2F%2Fs3t3d2y8.afcdn.net%2Flibrary%2F623611%2Fb15895baaf99a97c8834ba6bec7f8db1fef4fe99.jpg&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=straight&stratagem=&ssp=3756 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozMDE1MSwidHlwZSI6InBvcCIsImlkem9uZSI6MTkyMDcxMiwiYWRfdGFncyI6InN0cmFpZ2h0IiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMwMTUxLCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOm51bGwsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1Nn0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMwMTUxIiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL2hvdG1vdnMuY29tL3NlYXJjaC8/cz1kcnVuayJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiI5ZTQ5NDdmMzU3NTE0NjU0MTFmZDFhNGY1YzM1OGM3OCJ9LCJleHQiOnsiZHQiOjE2Njk4NTIyMjQxNjF9fQ==
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:25 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://s3t3d2y8.afcdn.net/library/623611/b15895baaf99a97c8834ba6bec7f8db1fef4fe99.jpg
X-Firefox-Spdy: h2

                                        
                                            GET /library/623611/b15895baaf99a97c8834ba6bec7f8db1fef4fe99.jpg HTTP/1.1 
Host: s3t3d2y8.afcdn.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         185.76.9.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:25 GMT
content-length: 22647
last-modified: Mon, 25 May 2020 13:39:38 GMT
etag: "5ecbca9a-5877"
expires: Fri, 30 Jun 2023 11:55:59 GMT
cache-control: max-age=31536000
access-control-allow-origin: *
x-cache-op: HIT
x-accel-expires: @1688195213
server: CDN77-Turbo
x-robots-tag: noindex, follow
x-77-nzt: AblMCRTpj8r/NE/JAA
x-77-nzt-ray: af5856307d967f6d41ec8763fe6be638
x-cache: HIT
x-age: 13193012
x-77-pop: stockholmSE
x-77-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 240x240, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 300x300, components 3\012- data
Size:   22647
Md5:    441547a9707a39c963c3711eb1bde65f
Sha1:   b15895baaf99a97c8834ba6bec7f8db1fef4fe99
Sha256: 62aecdb0f6d107e9245712c74358f209336d3d33a6c90857b44bc10e3fc9b8c6
                                        
                                            GET /cimp.php?data=TVRZMk9UZzFNakl5Tlh4ak0ySXlOR0V5TWpjME5qZzVOR05sTXpjNU9UWmtZelJpTWpNd04yVmlPUS0tfC9saWJyYXJ5LzYyMzYxMS9iMTU4OTViYWFmOTlhOTdjODgzNGJhNmJlYzdmOGRiMWZlZjRmZTk5LmpwZ3xodHRwc3w5MS45MC40Mi4xNTR8Tk9SfDQxfGhvdG1vdnMuY29tfDYyMzYxMXw2NjYxNzN8OTE0NjU2fDQyNzg1NzZ8NTA4fDM5MTU5Njh8NDE4NzM4MTR8NDB8M3wwfDB8MjUzNDR8MHwwLjJ8ODB8RVVSfFVTRHwwLjk2ODJ8MXwzNHx8MXxOT1J8fDIwfDR8MXx8fDQzYzIzYzdjMDUyNDM1ZWM3N2VkYWI2NWU0MWU1YThifDF8MHxob3Rtb3ZzLmNvbXwwfDB8MHwwLjA0fDF8MHxleGNoYW5nZV9uYXRpdmVfYWR8MHwwfDMxNDMyNDJ8LTF8MHwzMTQzMjQ0fHx8MHwwfHwwfDB8MHwwfDB8MHwxfDB8fDh8MXxNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMDUuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMDUuMHx8T0t8NWYxN2YwYWFhMWI2MTI0Nzc4ODY4NGIyZWM1MzkwYWI- HTTP/1.1 
Host: s.optnx.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         95.211.229.247
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx
Date: Wed, 30 Nov 2022 23:50:25 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%226387ec41eb4380.709733903045849479%22%3B%7D; expires=Fri, 29 Nov 2024 23:50:25 GMT; path=; domain=.optnx.com; Secure; SameSite=none
Location: https://s3t3d2y8.afcdn.net/library/623611/b15895baaf99a97c8834ba6bec7f8db1fef4fe99.jpg
X-Robots-Tag: noindex, follow

                                        
                                            GET /cimp.php?data=TVRZMk9UZzFNakl5Tlh4ak0ySXlOR0V5TWpjME5qZzVOR05sTXpjNU9UWmtZelJpTWpNd04yVmlPUS0tfC9saWJyYXJ5LzYyMzYxMS9iMTU4OTViYWFmOTlhOTdjODgzNGJhNmJlYzdmOGRiMWZlZjRmZTk5LmpwZ3xodHRwc3w5MS45MC40Mi4xNTR8Tk9SfDQxfGhvdG1vdnMuY29tfDYyMzYxMXw2NjYxNzN8OTE0NjU2fDQyNzg1NzZ8NTA4fDM5MTU5Njh8NDE4NzM4MTR8NDB8M3wwfDB8MjUzNDR8MHwwLjJ8ODB8RVVSfFVTRHwwLjk2ODJ8MXwzNHx8MXxOT1J8fDIwfDR8MXx8fDQzYzIzYzdjMDUyNDM1ZWM3N2VkYWI2NWU0MWU1YThifDF8MHxob3Rtb3ZzLmNvbXwwfDB8MHwwLjAzfDF8MHxleGNoYW5nZV9uYXRpdmVfYWR8MHwwfDMxNDMyNDJ8LTF8MHwzMTQzMjQ0fHx8MHwwfHwwfDB8MHwwfDB8MHwxfDB8fDh8MXxNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMDUuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMDUuMHx8T0t8NzJlMGUyYzY0M2U2MjlmZjc4ZjE5NjdlNzY0ZTdhY2U- HTTP/1.1 
Host: s.optnx.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         95.211.229.247
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx
Date: Wed, 30 Nov 2022 23:50:25 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%226387ec41eb4e15.057538493696952494%22%3B%7D; expires=Fri, 29 Nov 2024 23:50:25 GMT; path=; domain=.optnx.com; Secure; SameSite=none
Location: https://s3t3d2y8.afcdn.net/library/623611/b15895baaf99a97c8834ba6bec7f8db1fef4fe99.jpg
X-Robots-Tag: noindex, follow

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "E245961C68319CB5AF6502250BF7E68666ED27D26F8E2632CBE911F2C09524A3"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=13611
Expires: Thu, 01 Dec 2022 03:37:16 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2C63F9735EFBE6E05BDC97554E6AD7A8CCF082E0E60C8AF51AE87FD0C01A4EEE"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=7385
Expires: Thu, 01 Dec 2022 01:53:30 GMT
Date: Wed, 30 Nov 2022 23:50:25 GMT
Connection: keep-alive

                                        
                                            GET /dli/whatshot.svg HTTP/1.1 
Host: 12112336.pix-cdn.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: object
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/svg+xml
                                        
date: Wed, 30 Nov 2022 23:50:25 GMT
content-length: 1064
server: nginx/1.12.2
last-modified: Tue, 16 Jun 2020 16:25:10 GMT
etag: "5ee8f266-428"
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
expires: 0
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  SVG Scalable Vector Graphics image\012- HTML document, ASCII text, with very long lines (652), with CRLF line terminators
Size:   1064
Md5:    92d4b3c9db72fefd9d6d927ec40be29b
Sha1:   efb550da28d7b18d7e2beb7698577415fde2b24f
Sha256: 7ad9fcb297f4600edf827b026deca9e0ed695be37ab46ac2d9fee35040611130
                                        
                                            GET /in/dip?site=native-push&wl=1&event_id=cb659111-2a49-4de0-84a2-44a9b6d4a356&subid=1896094711&sid=2131142243&spot_id=460&created_at=2022-11-30&timezone=0&ver=8.5.1&is_native=1 HTTP/1.1 
Host: nereserv.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://hotmovs.com
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         168.119.25.22
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2

                                        
                                            GET /static/images/logo.svg?v2 HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/search/?s=drunk
Cookie: kt_lang=en
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: image/svg+xml
                                        
date: Wed, 30 Nov 2022 23:50:24 GMT
last-modified: Fri, 07 Oct 2022 11:17:59 GMT
etag: W/"63400ae7-1e5d"
expires: Thu, 01 Dec 2022 00:00:23 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 1204
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6P%2F3KRiyXiF7ablJnvP0XB%2Fyze9%2BHiWGquJPoj72EOFpAlFt5K%2FTsgYt6n81aQyn2ZmKQTaWNvkLn%2F%2BwskPgSpqktol47N9kBMbGV%2Fhmj%2FARokhmXA57IW36bTGP6Q%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 77277c313a9f71de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  SVG Scalable Vector Graphics image\012- , ASCII text, with very long lines (4106)
Size:   18098
Md5:    c67a0739455e493ce2aaa2d5bcf0d456
Sha1:   78c2897fb7bdbe5f7e7c6d2b26f38ab420d788e1
Sha256: 42522d88391d3fe171c3cde64e2c13eb28155697b2bf63b1822e063c84919591
                                        
                                            GET /dli/whatshot.svg HTTP/1.1 
Host: 12112336.pix-cdn.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: object
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/svg+xml
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 1064
server: nginx/1.12.2
last-modified: Tue, 16 Jun 2020 16:25:10 GMT
etag: "5ee8f266-428"
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
expires: 0
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  SVG Scalable Vector Graphics image\012- HTML document, ASCII text, with very long lines (652), with CRLF line terminators
Size:   1064
Md5:    92d4b3c9db72fefd9d6d927ec40be29b
Sha1:   efb550da28d7b18d7e2beb7698577415fde2b24f
Sha256: 7ad9fcb297f4600edf827b026deca9e0ed695be37ab46ac2d9fee35040611130
                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozMDE1NCwidHlwZSI6InBvcCIsImlkem9uZSI6MTkyMDcyOCwiYWRfdGFncyI6InN0cmFpZ2h0IiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMwMTU0LCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOm51bGwsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1Nn0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMwMTU0IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL2hvdG1vdnMuY29tL3NlYXJjaC8/cz1kcnVuayJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiI5ZTQ5NDdmMzU3NTE0NjU0MTFmZDFhNGY1YzM1OGM3OCJ9LCJleHQiOnsiZHQiOjE2Njk4NTIyMjQxNjV9fQ== HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         159.69.163.6
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:25 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   21600
Md5:    46ddc0aca70fe7ad944b88e715924034
Sha1:   5d14e132b12c50c3a7e087e4a1ca5e75e19b4c6a
Sha256: f6ed5b0c0dabee440f7c7c7b2d7fa65815acbed2cfe77a442da59dacbc0cd3b0
                                        
                                            GET /contents/videos_screenshots/322000/322363/268x200/11.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 16663
server: nginx/1.19.6
last-modified: Sun, 06 Sep 2015 04:23:08 GMT
etag: "55ebbfac-4117"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 268x200, components 3\012- data
Size:   16663
Md5:    979293f3e0a5d0f46c97ad3967d911a6
Sha1:   657d4b17a1f4cc6531f9c696ac98dc105518f82d
Sha256: 564b2f70e2da8fe90c4284fc559eeb100b0f8863291428a499d388e85d18bc68
                                        
                                            GET /sorem/moki.js HTTP/1.1 
Host: hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Service-Worker: script
Connection: keep-alive
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: serviceworker
Sec-Fetch-Mode: same-origin
Sec-Fetch-Site: same-origin
Pragma: no-cache
Cache-Control: no-cache
TE: trailers

search
                                         104.21.235.115
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Wed, 30 Nov 2022 23:50:25 GMT
last-modified: Tue, 15 Nov 2022 12:00:07 GMT
vary: Accept-Encoding
etag: W/"63737f47-43"
expires: Tue, 20 Dec 2022 07:25:16 GMT
cache-control: public, max-age=31536000
pragma: public
cf-cache-status: HIT
age: 923110
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=%2B%2Fqv0RaaneCOQ9A8aoQqEiUvmifb%2BjAc3fVd0QpRvV2qwz87kRdZgc6dTR%2FjOS5hKZuuhYiy9TUA9sr4SnzY%2BKLrkNkwZ7HbkmCXTEPDn35ic%2FE4SS8E9Te1gPGQFg%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 77277c3c081e71de-LHR
content-encoding: br
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   567
Md5:    378c3a7a4ec905f639c719edd1eba86c
Sha1:   1a2aab454dd797bdbb6b3eea81ec8e4cbcdb05ec
Sha256: 7926d6653094d2559262a73930f110735e86b0dc61e76539a9a93b59ce766d61
                                        
                                            GET /contents/videos_screenshots/412000/412787/268x200/11.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 15596
server: nginx/1.19.6
last-modified: Sat, 29 Aug 2015 14:40:06 GMT
etag: "55e1c446-3cec"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 268x200, components 3\012- data
Size:   15596
Md5:    97f815f10682c34bafc14bb67f81bcb3
Sha1:   00d1d364217bab7789ec9c3d72bd65a8cf28e226
Sha256: 159d016f64d73882770aab37e84f5ba9fa41e43f79c8f271ed064901a42d7d70
                                        
                                            GET /contents/videos_screenshots/641000/641558/268x200/11.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 13510
server: nginx/1.19.6
last-modified: Sun, 16 Aug 2015 23:04:32 GMT
etag: "55d11700-34c6"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, progressive, precision 8, 268x200, components 3\012- data
Size:   13510
Md5:    ec90cf98343896bbe618ea5c1b570b86
Sha1:   31a65c65c94b26529c821fb4d091117196e0e8f9
Sha256: 8a0a0ac9050b02b1898ef6b1c1b36c79481139764e972b88927772dc3f081f1d
                                        
                                            GET /contents/videos_screenshots/641000/641576/268x200/11.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 16965
server: nginx/1.19.6
last-modified: Sun, 16 Aug 2015 23:04:13 GMT
etag: "55d116ed-4245"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, progressive, precision 8, 268x200, components 3\012- data
Size:   16965
Md5:    9f8965043470be6e7d7dcb162682c098
Sha1:   1931c27f61fe2c049674ced4433f3e85893865f9
Sha256: dc431c28b39cd425eede9116928db2bd79270376784c7dcd079140b1e0be4ce3
                                        
                                            GET /contents/videos_screenshots/980000/980377/268x200/11.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 11931
server: nginx/1.19.6
last-modified: Mon, 21 Sep 2015 23:40:49 GMT
etag: "56009581-2e9b"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 268x200, components 3\012- data
Size:   11931
Md5:    0d4146864af060468a3ee07f25a54ef5
Sha1:   6019c15ca49dbcf61d3a105ff83e119e69b2d0e1
Sha256: 6acd2a66b482f3c60c2529558f513ea38818fa8afba23a94d3e1e2d1ef156211
                                        
                                            GET /in/tishow/?katds_ep=fv2805dplprDJthyRxWACqpLyGqDdyT_GdCUcjlU0GnMQjxxhyxt48Fu5eHcNWA6Ru1PRK4YU-VztsKzWq37eIGPgfaNSue92w_m_UQRuTF835kqlVfPvySx-JTvyuxoxEuemi2GGJlks-4xpKb43EtVxr306XgzsiDJRu_sg50qJr05-6bwmyYPnQkVIs77NNL7mVEblMIj89s9Ev5eQIe6PVrW3LjWegE0rRhdmvNeeDT2_2kfZU3RWAU6WASuXw4PEOg-UbGU8Cxj1ePV3hmTeqck2LBiy0lL_vZNUyW46JYztBXphWIwPfPXHbgH69LF5GCxJBCdvW9ysUrEyJrwTRJU78Wrmr9maYaiIm4GfMnhSx7CGXNF9LJxahHGOaSy2NOQf9s3GdnayrS21PdBvhCpeSwsMayEehdUy0Vz9gDKv_SvyH1FcvESnkOH8WYmhUKOBTC4Xt7Y-jLzk96JSpFkJK_Y8EquNam-KAU2zxZa5agTdROCEvgPf1biQvWS5MZkZy5OYQM3TopC6-BlI2WF8toFMZdRKZA0KJAgdQFpOhpBv3QMO98oEhTmeIO7KhNuKd3G7sqyj7e4KpjcDQdIxdTzNmjbp40CkwFgITcn5Ye8OcAUTkGaSV1Ddvxu7Nk5-lmRlarWVP2vZemtkis72WUikLBc9CW62AdSv48i-QgBWPBDDH41Y_hrdkdEZG7v7b18XRikwkMCEg82489o3STXjQ2VKTiRqP93zjWS3bgV0LwZNQkGhhsBHxEFK60ET6AvjvuOnn7qXlb94nmCWQAjwefdhxEQpDVvqJbYWK4EewZGnvxT9r8S6vJNlmpi4YYoFsAfP2rzXvWuhaETUH4aC4agpZeJW1rLVHvvehi74B_KRmNV_tSVB1X1sYpMG2p5ZhaOH2BVvguEVyPS4P9ivL2GIZepz2taOijU1HtM_IkHNSHSzRBIRRCPEbGtKG7xlV2wIvWLkqgUWz1MFWRXNDhm7UmhxpFSawcdslVxpEMLruyfdcLqgKSopUu7OX23OvxbiW3Vs6WKZ1x_q-Dvj33EfNRQubHNSHuirz4oTvepJoaZLqKg3xmCIRhEzinyFq0MWyxS52TWpQ1ScFOm1-4VdxHGjiLBC-bxkcY68SjOWbR6dLMJHWyGrMwDwq_ycvaPm20OwlRLcMWFrXJ9NiUwgVcw2yWVRD7YgBBp5KQLp79htm7kAoUSss8Dyp-btuyHp8JOzEzFkptXUBi-mO3-Re-Bfd97rhuHfdX8wSVZ0u9ZQOCA5JQ8Zj-O47F4Mns6PcG4NShEZItPfkNaXO3NQ_RJeKJN0bLKY0yK8-t7TztfaMx_3Sjzdac4E8tG8uUOrQtTQzWkqFfdgVYsMc6XCyrOeqFRyyAxilNYAntmXds4lMgk4tGC6NGOAKHpXPx87oLHFgJINmdc2bqaTpH9eu3t_1UyTfhHOLMN44IuRw4uGbRJ2QPA2Wca7kjxxzW1aVnZNm0ceyUkDXlbbLsCaHzSdvRPDy3tyJA1CrFnfdNVAm6P7UMkJEBnK8VnEZP5NVO2HnO11QvbQEnYIMvH1WM7uDparDvIXvD4_-ueDIOuvhyVzM42XzQ6BERCG8BwMR_3Prt5s4zlyWP9UlLmSPqvetUfEBdSjGZlfm3F70R2xQMhoEnCQMgNJCm6mPb014TXQpnX647VxwSOi86le-LyRb94fAFgPiQwJlUJi4UZbGJ8GnEbCEnQS9ACCvgg52Vu1RWtaeRf-wYdtZGDMqMDmZ_aqkyQjRFTWdUg2DSLjOsvts1qmTN85qlbRujwJE1_dIzbmOGyoZUXzurBhVotErh5t7tS0UhhwAR58XOElJXcoOWahCEPvxw6vQhqXz7LxSHn0_ICcFZM436FFQa3xoBaFqzgWKyYb5FX84kRglWJ8bmCsICj1KYkc34T4G8hIeQeGMMcuWB-YHIJ3XpodiGBrmFub75Cslm0b5MOqUUIrwknLce1UClQVrhkEXuze72H5eBKidIPweLETGGLtzDWeHwEz4hsma0lJINZv9snTzNapiNcIJCKUMk&sp=0.0012830002691584 HTTP/1.1 
Host: in16.zog.link
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         109.206.182.60
HTTP/2 302 Found
                                        
server: nginx/1.20.1
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 0
location: https://12112336.pix-cdn.org/m/p/0/11/11508/yPndOg0m.html?__OS_FAMILY__={{ __OS_FAMILY__ }}&__OS_TYPE__={{ __OS_TYPE__ }}&__GEOIP_COUNTRY_SHORT__={{ __GEOIP_COUNTRY_SHORT__ }}&__IP2L_MOBILE__={{ __IP2L_MOBILE__ }}&__BROWSER_FAMILY__={{ __BROWSER_FAMILY__ }}&OS_FAMILY=[OS_FAMILY]&OS_TYPE=[OS_TYPE]&COUNTRY_ISO_CODE=[COUNTRY_ISO_CODE]&MOBILE_BRAND=[MOBILE_BRAND]&BROWSER_FAMILY=[BROWSER_FAMILY]&DOMAIN=hotmovs.com&PRICE=0.0050&PRICING_MODEL=[PRICING_MODEL]&CAMPAIGN_ID=6435&CLICK_ID=a2346a46-0a47-498f-9247-941882c11ae0&id_zone=[idzone]&site={{ site }}&out_name=37319%7C4317%7Ccpm%7C0.0045%7C%24%200.0050&campaign_id=37319&price=0.0050&bidding_price=0.0045&pricebox_price=0.0370&pricing_model=cpm&click_id=a2346a46-0a47-498f-9247-941882c11ae0&priority=[PRIORITY]&ad_sub=173501021&utm1=tcb&utm2=878669509-100&utm3=249-6435-14933&utm4=0-10346131-0
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: *
set-cookie: 2325.0=1; expires=Thu, 01 Dec 2022 23:50:26 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /contents/videos_screenshots/990000/990546/268x200/11.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 14405
server: nginx/1.19.6
last-modified: Tue, 22 Sep 2015 10:48:00 GMT
etag: "560131e0-3845"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 268x200, components 3\012- data
Size:   14405
Md5:    4f3e08a618dba5f356172b24e86ea2be
Sha1:   611669a62fd46055e519086b35161434dae585a8
Sha256: 69d943e649d0e5d9897f5c458aba7eb10eb1e88cf604628599763cd3039f67bf
                                        
                                            GET /contents/videos_screenshots/6837000/6837535/268x200/1.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 17692
server: nginx/1.19.6
last-modified: Sun, 16 Jun 2019 12:22:41 GMT
etag: "5d063491-451c"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 268x200, components 3\012- data
Size:   17692
Md5:    a367b6c1acf3f0be682dcdd0b9471ae5
Sha1:   957d3f999c47d219893ff78bd92ed4ae9ced327b
Sha256: 65a3b3cd959be7282457f97c77157a338176f38c9c586b98bc45c04b5283f7e1
                                        
                                            GET /contents/videos_screenshots/389000/389039/268x200/11.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 25330
server: nginx/1.19.6
last-modified: Sun, 30 Aug 2015 14:08:25 GMT
etag: "55e30e59-62f2"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 268x200, components 3\012- data
Size:   25330
Md5:    8ff681c73b0712af495a0546ace072ef
Sha1:   bbd25daf9aba60bc75c65a2ce638995bc9e59bce
Sha256: 9baa0d01a3e6e49f4dff7fd71caf10f08e654b7112d88170304568eda6fffdce
                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozMDE1MSwidHlwZSI6InBvcCIsImlkem9uZSI6MTkyMDcxMiwiYWRfdGFncyI6InN0cmFpZ2h0IiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMwMTUxLCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOm51bGwsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1Nn0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMwMTUxIiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL2hvdG1vdnMuY29tL3NlYXJjaC8/cz1kcnVuayJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiI5ZTQ5NDdmMzU3NTE0NjU0MTFmZDFhNGY1YzM1OGM3OCJ9LCJleHQiOnsiZHQiOjE2Njk4NTIyMjQxNjF9fQ== HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         159.69.163.6
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:25 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   15863
Md5:    c39b645c9665bebd559f4a56f417ca9c
Sha1:   42a433413728421e5eaa9730959abef8a961f74e
Sha256: 4ca0f834116c71a6e6bd7d9bf79a7c28ba0cb090df98491eab46f03837ad9b99
                                        
                                            GET /contents/videos_screenshots/1232000/1232139/268x200/1.jpg HTTP/1.1 
Host: tn.hotmovs.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Cookie: kt_lang=en; _ga=GA1.2.1435002926.1669852224; _gid=GA1.2.1167194281.1669852224; _gat_UA-67146168-1=1; _ym_uid=1669852224355681968; _ym_d=1669852224
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 16758
server: nginx/1.19.6
last-modified: Thu, 11 May 2017 01:29:32 GMT
etag: "5913be7c-4176"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 268x200, components 3\012- data
Size:   16758
Md5:    20435732a734c3c47b678efaa250374f
Sha1:   f0223775d1d70f4a24189ff2435456ff63bc2a63
Sha256: 4ecc04f7bf49fd042063d199dcef87421226f9331e67e39cf432eabef35e7df8
                                        
                                            GET /cimp.php?data=TVRZMk9UZzFNakl5Tlh4ak0ySXlOR0V5TWpjME5qZzVOR05sTXpjNU9UWmtZelJpTWpNd04yVmlPUS0tfC9saWJyYXJ5LzYyMzYxMS9kMDcyZmFjY2Q1YmY3ODY2NDY5MDE0MjhlNTQ4OTU5MjFhYjUwZjczLmpwZ3xodHRwc3w5MS45MC40Mi4xNTR8Tk9SfDQxfGhvdG1vdnMuY29tfDYyMzYxMXw2NjYxNzN8OTE0NjU2fDQyNzg1NzZ8NTA4fDM5MTU5Njh8NDE4NzM4MjR8NDB8M3wwfDB8MjUzNDR8MHwwLjJ8ODB8RVVSfFVTRHwwLjk2ODJ8MXwzNHx8MXxOT1J8fDIwfDR8MXx8fDQzYzIzYzdjMDUyNDM1ZWM3N2VkYWI2NWU0MWU1YThifDF8MHxob3Rtb3ZzLmNvbXwwfDB8MHwwLjAyfDF8MHxleGNoYW5nZV9uYXRpdmVfYWR8MHwwfDMxNDMyNDJ8LTF8MHwzMTQzMjQ0fHx8MHwwfHwwfDB8MHwwfDB8MHwxfDB8fDh8MXxNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMDUuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMDUuMHx8T0t8OGY5YWEyZjZjNzkzNTQxMzY5MGZkZjYwMjU0Njg5YTU- HTTP/1.1 
Host: s.optnx.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/
Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%226387ec41eb4e15.057538493696952494%22%3B%7D
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         95.211.229.247
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx
Date: Wed, 30 Nov 2022 23:50:26 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%226387ec41eb4e15.057538493696952494%22%3B%7D; expires=Fri, 29 Nov 2024 23:50:26 GMT; path=; domain=.optnx.com; Secure; SameSite=none
Location: https://s3t3d2y8.afcdn.net/library/623611/d072faccd5bf786646901428e54895921ab50f73.jpg
X-Robots-Tag: noindex, follow

                                        
                                            GET /banner/in/show/?mid=535223933827310200&pid=0&site=30152&sc=NO&usage_type=DCH&subid=0&sid=0&cid=10915&price=0&is_cpm=1&cpm=0.00154912&ecpm=0.0012830002691584&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=hotmovs.com&hostname=auc-banner-hz-4&site_id=0&spot_id=30152&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=native&iabcat=IAB25&min_cpm=0.0008258751813786107&placement_type_id=8&skin_test=&verify_hash=&score=100&ml=&tag_ab=&ttl=&space_id=30152&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25&url=https%3A%2F%2Fs3t3d2y8.afcdn.net%2Flibrary%2F623611%2Fd072faccd5bf786646901428e54895921ab50f73.jpg&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=straight&stratagem=&ssp=3756 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozMDE1MiwidHlwZSI6InBvcCIsImlkem9uZSI6MTkyMDcxNCwiYWRfdGFncyI6InN0cmFpZ2h0IiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMwMTUyLCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOm51bGwsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1Nn0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMwMTUyIiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL2hvdG1vdnMuY29tL3NlYXJjaC8/cz1kcnVuayJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiI5ZTQ5NDdmMzU3NTE0NjU0MTFmZDFhNGY1YzM1OGM3OCJ9LCJleHQiOnsiZHQiOjE2Njk4NTIyMjQxNjN9fQ==
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://s3t3d2y8.afcdn.net/library/623611/d072faccd5bf786646901428e54895921ab50f73.jpg
X-Firefox-Spdy: h2

                                        
                                            GET /library/623611/d072faccd5bf786646901428e54895921ab50f73.jpg HTTP/1.1 
Host: s3t3d2y8.afcdn.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         185.76.9.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 34098
last-modified: Thu, 14 May 2020 09:51:02 GMT
etag: "5ebd1486-8532"
expires: Fri, 30 Jun 2023 11:33:09 GMT
cache-control: max-age=31536000
access-control-allow-origin: *
x-cache-op: HIT
x-accel-expires: @1688195213
server: CDN77-Turbo
x-robots-tag: noindex, follow
x-77-nzt: AblMCRQMRvb/NU/JAA
x-77-nzt-ray: af5856307d967f6d42ec876385c59907
x-cache: HIT
x-age: 13193013
x-77-pop: stockholmSE
x-77-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 300x300, components 3\012- data
Size:   34098
Md5:    b91c96358753ce1ab4086e875c84c4e8
Sha1:   d072faccd5bf786646901428e54895921ab50f73
Sha256: 3be413c893134d87bd9a4532d47ad5726d31893c10330b23e8c6fb7935d307c5
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "71817211D5E6DEA71633B4EE376431671FBB0DECDB0B9ACD3CCA495EFA143571"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3449
Expires: Thu, 01 Dec 2022 00:47:55 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "DE2FC853E14D7D2FCAC3E4F00B5C458541F1C3E812896AE410B259166613667E"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=771
Expires: Thu, 01 Dec 2022 00:03:17 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "DE2FC853E14D7D2FCAC3E4F00B5C458541F1C3E812896AE410B259166613667E"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=771
Expires: Thu, 01 Dec 2022 00:03:17 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "1EE8180564AFF8DFD1B2487260E16B5CF952A440881689C82048308908A80F82"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=8503
Expires: Thu, 01 Dec 2022 02:12:09 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3868
Cache-Control: max-age=91595
Date: Wed, 30 Nov 2022 23:50:26 GMT
Etag: "63869ff1-139"
Expires: Fri, 02 Dec 2022 01:17:01 GMT
Last-Modified: Wed, 30 Nov 2022 00:12:33 GMT
Server: ECS (ska/F70B)
X-Cache: HIT
Content-Length: 313

                                        
                                            GET /contents/videos_screenshots/439000/439059/420x236/1.jpg HTTP/1.1 
Host: tn.vxxx.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 20806
server: nginx/1.16.1
last-modified: Mon, 22 Nov 2021 03:00:14 GMT
etag: "619b07be-5146"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 420x236, components 3\012- data
Size:   20806
Md5:    d00655c4d97810e9ec9b7b31cfc7427f
Sha1:   0645c2108539b7203a998cee6bde691db8a3cd52
Sha256: 4fb197911e1fb482aa3b8f684a6770bf59c12c8515b8624260b474887546ca41
                                        
                                            GET /media/tn/313385_1.jpg HTTP/1.1 
Host: tn.porntop.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 32095
server: nginx/1.16.1
last-modified: Sat, 19 Mar 2022 10:00:23 GMT
etag: "6235a9b7-7d5f"
cache-control: max-age=172800
access-control-allow-origin: *
expires: Fri, 02 Dec 2022 23:50:26 GMT
x-proxy-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 480x270, components 3\012- data
Size:   32095
Md5:    4ed5184d18ea2923b072cd6d9628123a
Sha1:   f7f0c56bc0306aecc1a81d79bfc7d8ea81fbaa70
Sha256: bdc384b17926eb2196940df425b76eea8076ebb61438ca11354a3392bb53df81
                                        
                                            GET /contents/videos_screenshots/530000/530121/420x236/1.jpg HTTP/1.1 
Host: tn.vxxx.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 27904
server: nginx/1.16.1
last-modified: Wed, 01 Jun 2022 20:29:21 GMT
etag: "6297cc21-6d00"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 420x236, components 3\012- data
Size:   27904
Md5:    8a048c8d89399dcc154f6370fd492fa9
Sha1:   4cfb5a96c3f7d38966dc86be6e092522e4be8111
Sha256: 7ca60288764b5bc5441f2c3838884902392fedc37698d445c72cefaa26a35f93
                                        
                                            GET /contents/videos_screenshots/257000/257969/420x236/1.jpg HTTP/1.1 
Host: tn.vxxx.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 21241
server: nginx/1.16.1
last-modified: Fri, 09 Jul 2021 08:39:41 GMT
etag: "60e80b4d-52f9"
cache-control: max-age=7776000
expires: Tue, 28 Feb 2023 23:50:26 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 420x236, components 3\012- data
Size:   21241
Md5:    9b8b9c7700cab1ced6f73f9798b18daf
Sha1:   5610fab1909d10d17c0f0a354d4c46b455e4dde8
Sha256: 06616f82db69b7c0abefc5f2ea8b1e93932e16a9db7fea9e6ef8271c8d897956
                                        
                                            GET /m/p/0/11/11508/yPndOg0m.html?__OS_FAMILY__={{%20__OS_FAMILY__%20}}&__OS_TYPE__={{%20__OS_TYPE__%20}}&__GEOIP_COUNTRY_SHORT__={{%20__GEOIP_COUNTRY_SHORT__%20}}&__IP2L_MOBILE__={{%20__IP2L_MOBILE__%20}}&__BROWSER_FAMILY__={{%20__BROWSER_FAMILY__%20}}&OS_FAMILY=[OS_FAMILY]&OS_TYPE=[OS_TYPE]&COUNTRY_ISO_CODE=[COUNTRY_ISO_CODE]&MOBILE_BRAND=[MOBILE_BRAND]&BROWSER_FAMILY=[BROWSER_FAMILY]&DOMAIN=hotmovs.com&PRICE=0.0050&PRICING_MODEL=[PRICING_MODEL]&CAMPAIGN_ID=6435&CLICK_ID=a2346a46-0a47-498f-9247-941882c11ae0&id_zone=[idzone]&site={{%20site%20}}&out_name=37319%7C4317%7Ccpm%7C0.0045%7C%24%200.0050&campaign_id=37319&price=0.0050&bidding_price=0.0045&pricebox_price=0.0370&pricing_model=cpm&click_id=a2346a46-0a47-498f-9247-941882c11ae0&priority=[PRIORITY]&ad_sub=173501021&utm1=tcb&utm2=878669509-100&utm3=249-6435-14933&utm4=0-10346131-0 HTTP/1.1 
Host: 12112336.pix-cdn.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: text/html; charset=utf-8
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
server: nginx/1.12.2
last-modified: Wed, 02 Sep 2020 10:48:37 GMT
etag: W/"5f4f7885-7e9"
content-encoding: gzip
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
expires: 0
x-proxy-cache: MISS
X-Firefox-Spdy: h2

                                        
                                            GET /npc/sdk/common/config.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://hotmovs.com/
Origin: https://hotmovs.com
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 19
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: "6380cfad-13"
expires: Wed, 30 Nov 2022 23:55:26 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   19
Md5:    f3d0d5c5de8e869b2c78b2d4b9fdb5f8
Sha1:   493637a23edce4c0b7eb1752919e6c0697213c8e
Sha256: bdab4bd38a0d02da37ddc8659d3bb5b660da7b6ad64bba27d01f5d3a8525b6a5
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "39BB874A415DB37A81432942EB84151B0134D1AACAA31D364B6DADAE4388C6A1"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2912
Expires: Thu, 01 Dec 2022 00:38:58 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "39BB874A415DB37A81432942EB84151B0134D1AACAA31D364B6DADAE4388C6A1"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2912
Expires: Thu, 01 Dec 2022 00:38:58 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "39BB874A415DB37A81432942EB84151B0134D1AACAA31D364B6DADAE4388C6A1"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2912
Expires: Thu, 01 Dec 2022 00:38:58 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "39BB874A415DB37A81432942EB84151B0134D1AACAA31D364B6DADAE4388C6A1"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2912
Expires: Thu, 01 Dec 2022 00:38:58 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.33.119.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "39BB874A415DB37A81432942EB84151B0134D1AACAA31D364B6DADAE4388C6A1"
Last-Modified: Mon, 28 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2912
Expires: Thu, 01 Dec 2022 00:38:58 GMT
Date: Wed, 30 Nov 2022 23:50:26 GMT
Connection: keep-alive

                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F02cf22ee-ded9-4b9d-b5d8-ee6690ac9f45.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 10985
x-amzn-requestid: ef9e5eb9-b7b3-41e9-9837-a5979ab35d94
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: cV91OFzsoAMFcew=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63857687-53b152c0027d26e52383e27e;Sampled=0
x-amzn-remapped-date: Tue, 29 Nov 2022 03:03:35 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: F_ZBWwAOPbEjvMD1ChrgN9QYUyyFYdtRT6CcX6gviowmeinPRgVtnA==
via: 1.1 4dde8ec6d6c12741888c2d3a059d4a2e.cloudfront.net (CloudFront), 1.1 591683988172c7980c4ebb318cbf18a8.cloudfront.net (CloudFront), 1.1 google
date: Wed, 30 Nov 2022 04:20:06 GMT
age: 70220
etag: "0660a548a491d4a58ca2246f094f0553437c3f61"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   10985
Md5:    f07f254d44ff2fb86ee22cee39ef3eb0
Sha1:   0660a548a491d4a58ca2246f094f0553437c3f61
Sha256: 859b2416d638b1dc91ff563800517124b38d45b4c5db99e21539c1700829dbe4
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fabcce497-e838-40ff-ab98-af5f631b766f.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 2382
x-amzn-requestid: 7279ff68-1e32-4c57-9b9d-f5803a19e8e9
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: cJYQuEmEIAMFkeg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63806d9e-2cf28dc150b53b9f3c60bb4c;Sampled=0
x-amzn-remapped-date: Fri, 25 Nov 2022 07:24:14 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: UaUyc03Gw0P7G_7gjAyp-c3XxjIDbllO7lmG_8UWVCuBP4WgEgSydQ==
via: 1.1 f13aef0c4b52f6f681401f232d03eb68.cloudfront.net (CloudFront), 1.1 1b74ccf4cb51eacf97a0e6d60ae46a3e.cloudfront.net (CloudFront), 1.1 google
date: Wed, 30 Nov 2022 14:26:41 GMT
age: 33825
etag: "b3eaec75f854d22cd1dcd6aa42e37f6d0df50036"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   2382
Md5:    f5469e846da1e0f21cfc480f56a656a6
Sha1:   b3eaec75f854d22cd1dcd6aa42e37f6d0df50036
Sha256: d5701207a8b6b358359ebfd85a6916af7a3abf79acba235bf7d4131b0bc2e9b5
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fc1fe6f5b-2658-4434-b276-36d841c8ceee.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 8124
x-amzn-requestid: e000c0d5-82d0-41a8-8def-b36970226969
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: cb0UqEd1oAMFakQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6387cdb7-27efd8c92b8f6e4f257cec3b;Sampled=0
x-amzn-remapped-date: Wed, 30 Nov 2022 21:40:07 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: 1GIxjB2nXfoxuqJHLtkXl4OJT_Po5DJA_w26E2K8WOmm_PZw1qU3IQ==
via: 1.1 49b94a8674d6e86a841d6523f7dbaf14.cloudfront.net (CloudFront), 1.1 570075675953459325e00b7bcd171df2.cloudfront.net (CloudFront), 1.1 google
date: Wed, 30 Nov 2022 22:19:35 GMT
etag: "ec0fd74a981603e197df26c6fb79ef039f737557"
age: 5451
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   8124
Md5:    42c762f71487f8e0285dd2129700f069
Sha1:   ec0fd74a981603e197df26c6fb79ef039f737557
Sha256: 8a40883d87b1e2c6e116e3cf881a8b39c987200a8556b651f78a376b3ddbaa26
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F9768b9bd-d7a9-4426-a5b2-ea1a71860733.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 2150
x-amzn-requestid: b8ce8dbd-9109-4abc-9136-e4ac1ec37f15
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: cPdIFGdooAMFQmQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6382dbcd-6a718efd51051576132dd523;Sampled=0
x-amzn-remapped-date: Sun, 27 Nov 2022 03:38:53 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: z8LtaO2ywz0X9cGNU18a5eyA9jIy6hL9dEaZgcecoggpEelDxiTy7w==
via: 1.1 56c69262ecfa7873b40572ba8a323242.cloudfront.net (CloudFront), 1.1 943c6a4d4ee43b18ee91634536f53eae.cloudfront.net (CloudFront), 1.1 google
date: Wed, 30 Nov 2022 14:43:12 GMT
age: 32834
etag: "9bc2e9039e9340b83ffcfb90e4e2c631a8723e60"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   2150
Md5:    995eb3df7ec5507e3392fdb1ca6395b4
Sha1:   9bc2e9039e9340b83ffcfb90e4e2c631a8723e60
Sha256: 4c86fdcd3b338040ea8130ee6a1ed5c3bd66c4dd59fe461f81e5df88a379ebb3
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F051e025a-c892-4a7d-8a1d-95f6d77ebb3c.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4762
x-amzn-requestid: 52b09ca3-705b-4c86-9f56-172637553f87
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: cP7TVG58oAMFQTw=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63830c15-4577a47243ad190672f8ac89;Sampled=0
x-amzn-remapped-date: Sun, 27 Nov 2022 07:04:53 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: Y0-NAp2LMMG5TjQQ9ENHwDyKXLObKTYqzPPOWvZhs7Y9WJIC6LoblQ==
via: 1.1 2dc111aa3ead15d061e41a423155a53a.cloudfront.net (CloudFront), 1.1 d6b180eb367f7de26d67a9f3901b96a6.cloudfront.net (CloudFront), 1.1 google
date: Wed, 30 Nov 2022 08:50:17 GMT
age: 54009
etag: "fa2217bae05b7beca2e12597eaad835298276b82"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   4762
Md5:    d2dd5a4bcfd47db8f38544bf39ce3031
Sha1:   fa2217bae05b7beca2e12597eaad835298276b82
Sha256: 3266004f5e73af5359b71622eea31f1e28abb4bbc443b5f9e481b5a8b2e9249e
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Ff41bace1-a7a5-42ae-b255-862c9cbac9de.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 10437
x-amzn-requestid: 2a8183c4-47ec-42bb-8e67-3e742dc3750c
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: cb0YpEeooAMFfvg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6387cdd0-2014fd4d49dcd4087bf1db4d;Sampled=0
x-amzn-remapped-date: Wed, 30 Nov 2022 21:40:32 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: Q9y5-OF59ODaZRd9YFFdM2rIH0bYYyIT40rCwr8cBwBQd0GOqtNobg==
via: 1.1 0aebf3fe433ff96e68d785fad4ea4c0e.cloudfront.net (CloudFront), 1.1 6172bb1a5d00a3b06ae3700570ebe116.cloudfront.net (CloudFront), 1.1 google
date: Wed, 30 Nov 2022 22:08:51 GMT
age: 6095
etag: "99b5ef2d6a4d1a1251a06d9d9f989b01d089a8d1"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   10437
Md5:    291127b670135b42b6e9687aa2a13237
Sha1:   99b5ef2d6a4d1a1251a06d9d9f989b01d089a8d1
Sha256: 49b082a738bcd15a0bb4e9f96a180797ffcfa368977ac1927df882a0343664d3
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3868
Cache-Control: max-age=91595
Date: Wed, 30 Nov 2022 23:50:26 GMT
Etag: "63869ff1-139"
Expires: Fri, 02 Dec 2022 01:17:01 GMT
Last-Modified: Wed, 30 Nov 2022 00:12:33 GMT
Server: ECS (ska/F70B)
X-Cache: HIT
Content-Length: 313

                                        
                                            GET /in/dl_show/?spot_id=84679&out_name=73385|12302|cpm|0.0001|$%200.0001&ad_sub=0&utm1=&utm2=&utm3=&utm4=&spot_id=84679&p=https%3A%2F%2Fhotmovs.com%2Fsearch%2F%3Fs%3Ddrunk HTTP/1.1 
Host: btds.zog.link
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         109.206.191.198
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx/1.20.1
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 2
cache-control: no-cache, no-store, must-revalidate
access-control-allow-credentials: true
access-control-allow-origin: *
set-cookie: 952.0=1; expires=Thu, 01 Dec 2022 23:50:26 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   2
Md5:    99914b932bd37a50b983c5e7c90ae93b
Sha1:   bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f
Sha256: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
                                        
                                            POST /get/ HTTP/1.1 
Host: e5fc762afd.8e9fe6a178.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://hotmovs.com/
Content-Type: text/plain;charset=UTF-8
Origin: https://hotmovs.com
Content-Length: 572
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         94.130.197.134
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx/1.16.0
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 1213
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (1213), with no line terminators
Size:   1213
Md5:    380118b845d942664178f9ea6af8b74d
Sha1:   98031dc5f342b7a8671cdd2a992df7783cd7a6f6
Sha256: a0d7f0b672882df5b8950728d448ffb2531041d86127ccb1e06c5a3a826a596f

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /metrika/advert.gif HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         87.250.250.119
HTTP/2 200 OK
content-type: image/gif
                                        
content-length: 43
date: Wed, 30 Nov 2022 23:50:26 GMT
access-control-allow-origin: *
etag: "63875d46-2b"
expires: Thu, 01 Dec 2022 00:50:26 GMT
accept-ranges: bytes
last-modified: Wed, 30 Nov 2022 16:40:22 GMT
cache-control: max-age=3600
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   43
Md5:    df3e567d6f16d040326c7a0ea29a4f41
Sha1:   ea7df583983133b62712b5e73bffbcd45cc53736
Sha256: 548f2d6f4d0d820c6c5ffbeffcbd7f0e73193e2932eefe542accc84762deec87
                                        
                                            GET /topembed/?join_overlay=1&tour=dTm0&campaign=taOsB&disable_sound=1&mobileRedirect=auto&embed_video_only=1&target=_blank HTTP/1.1 
Host: chaturbate.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://12112336.pix-cdn.org/
Connection: keep-alive
Cookie: __cf_bm=3r7VBCR95z_xFQC0_it.sglMjTD06sw.ETnCpmGKOYo-1669852226-0-AR3+LFPuxE9DZRuzRZPP1bkbTcsHDGrYr5NcPj9Zhz5FRgnGL3ogWQM2hSAlSYx3gsh+OoI8t7n3bHJRa3/9yZQ=
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         104.18.100.40
HTTP/2 302 Found
content-type: text/html; charset=utf-8
                                        
date: Wed, 30 Nov 2022 23:50:26 GMT
location: /embed/solar_kate/?join_overlay=1&tour=dTm0&campaign=taOsB&disable_sound=1&mobileRedirect=auto&embed_video_only=1&target=_blank
p3p: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"
vary: Accept-Language, Cookie
content-language: en
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.mmcdn.com https://*.highwebmedia.com https://*.chaturbate.com https://chaturbate.com https://ajax.googleapis.com https://js-agent.newrelic.com https://cdnjs.cloudflare.com https://www.google-analytics.com https://www.google.com/recaptcha/ https://www.google.com/cv/ https://www.gstatic.com/recaptcha/ https://www.gstatic.com/cv/ https://www.gstatic.com/eureka/ https://www.gstatic.com/cast/ https://*.nr-data.net https://certify-js.alexametrics.com https://player.vimeo.com/api/player.js http://static.hotjar.com https://static.hotjar.com https://script.hotjar.com ; style-src 'self' data: 'unsafe-inline' https://*.highwebmedia.com https://cdnjs.cloudflare.com https://fonts.googleapis.com ; img-src 'self' data: https://*.mmcdn.com https://*.highwebmedia.com https://*.stream.highwebmedia.com https://*.chaturbate.com https://chaturbate.com https://www.google-analytics.com https://static-pub.highwebmedia.com https://s3pv.highwebmedia.com https://cbphotovideo.s3.amazonaws.com https://cbphotovideo-eu.s3.amazonaws.com https://static-pub.highwebmedia.com.s3.amazonaws.com https://wowdvr.s3.amazonaws.com https://cbvideoupload.s3.amazonaws.com https://cdnjs.cloudflare.com https://www.gstatic.com https://*.nr-data.net https://certify.alexametrics.com https://stats.g.doubleclick.net https://cbgames.s3.amazonaws.com https://player.vimeo.com https://script.hotjar.com http://script.hotjar.com ; font-src 'self' data: https://*.mmcdn.com https://*.highwebmedia.com https://cdnjs.cloudflare.com https://fonts.gstatic.com http://script.hotjar.com https://script.hotjar.com ; connect-src 'self' blob: blob https://*.mmcdn.com wss://*.mmcdn.com wss://*.mmcdn.com:8443 https://*.highwebmedia.com wss://*.highwebmedia.com wss://*.highwebmedia.com:8443 https://*.nr-data.net https://*.chaturbate.com https://chaturbate.com https://www.google-analytics.com https://cbvideoupload.s3-accelerate.amazonaws.com https://stats.g.doubleclick.net https://internet-up.ably-realtime.com https://static-pub.highwebmedia.com https://s3pv.highwebmedia.com https://cbphotovideo.s3.amazonaws.com https://cbphotovideo-eu.s3.amazonaws.com https://static-pub.highwebmedia.com.s3.amazonaws.com https://wowdvr.s3.amazonaws.com https://cbvideoupload.s3.amazonaws.com https://tls-use1.fpapi.io https://use1.fptls.com https://eun1.fptls.com https://aps1.fptls.com http://*.hotjar.com:* https://*.hotjar.com:* https://vc.hotjar.io:* https://surveystats.hotjar.io wss://*.hotjar.com ; media-src 'self' https://*.mmcdn.com https://*.highwebmedia.com https://*.chaturbate.com https://chaturbate.com mediasource: blob: data: https://static-pub.highwebmedia.com https://s3pv.highwebmedia.com https://cbphotovideo.s3.amazonaws.com https://cbphotovideo-eu.s3.amazonaws.com https://static-pub.highwebmedia.com.s3.amazonaws.com https://wowdvr.s3.amazonaws.com https://cbvideoupload.s3.amazonaws.com; object-src 'self' https://*.mmcdn.com https://*.highwebmedia.com https://download.macromedia.com https://static-pub.highwebmedia.com https://s3pv.highwebmedia.com https://cbphotovideo.s3.amazonaws.com https://cbphotovideo-eu.s3.amazonaws.com https://static-pub.highwebmedia.com.s3.amazonaws.com https://wowdvr.s3.amazonaws.com https://cbvideoupload.s3.amazonaws.com ; frame-src 'self' https://*.mmcdn.com https://*.chaturbate.com https://chaturbate.com https://*.highwebmedia.com https://adserver.exoticads.com https://www.google.com/recaptcha/ https://*.wnu.com https://wnu.com https://checkout.2000charge.com https://www.sofort.com https://*.girogate.de https://player.vimeo.com https://vars.hotjar.com ; child-src 'self' blob: blob ; worker-src 'self' blob: blob ; form-action 'self' https://*.chaturbate.com https://chaturbate.com https://*.stream.highwebmedia.com https://www.coinpayments.net https://*.wnu.com https://wnu.com https://devportal.cb.dev https://*.web.amer-1.jumio.ai https://smartpay.coinsmart.com ; manifest-src 'self' https://*.mmcdn.com https://*.highwebmedia.com ; report-uri https://report-uri.mmcdn.com/r/t/csp/enforce;
report-to: {"group":"default","max_age":2592000,"endpoints":[{"url":"https://report-uri.mmcdn.com/a/t/g"}],"include_subdomains":true}
nel: {"report_to":"default","max_age":2592000,"include_subdomains":true}
x-frame-options: DENY
cache-control: no-cache
x-content-type-options: nosniff
x-xss-protection: 1; mode=block; report=https://report-uri.highwebmedia.com/r/t/xss/enforce
referrer-policy: strict-origin-when-cross-origin
via: 1.1 google
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
set-cookie: stcki="iuhY4r=0"; expires=Fri, 30-Dec-2022 23:50:26 GMT; Max-Age=2592000; Path=/ affkey="eJyrVipSslJQyigpKSi20tc3NDI0NDI2NtMryKzQTU7J08svStdXqgUA0s8LMQ=="; Domain=.chaturbate.com; expires=Fri, 30-Dec-2022 23:50:26 GMT; Max-Age=2592000; Path=/ sbr=sec:sbr2fd59243-f287-4188-8ea3-a1d534b4d630:1p0WqQ:QEBrS8nUy1E-A7gvpccY0o4uw-k; Domain=.chaturbate.com; expires=Mon, 25-Aug-2025 23:50:26 GMT; HttpOnly; Max-Age=86313600; Path=/; Secure
cf-cache-status: DYNAMIC
strict-transport-security: max-age=31536000; includeSubDomains; preload
server: cloudflare
cf-ray: 77277c3efd4ab50f-OSL
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (419), with no line terminators
Size:   419
Md5:    5fcdf7e31dd018a4241c534681c33edc
Sha1:   cbcaaab8d3508ed568a04c5d137292824e57f59c
Sha256: 7feda0e18f4d2013770c8512f2138deb691b3b74bbd4d40435646f7fb0c5046d
                                        
                                            GET /watch/49315045/1?wmode=7&page-url=https%3A%2F%2Fhotmovs.com%2Fsearch%2F%3Fs%3Ddrunk&charset=utf-8&browser-info=pv%3A1%3Agdpr%3A14%3Avf%3Ahbzj7lpjz3smdgzs1sf0c%3Afp%3A996%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A923%3Acn%3A1%3Adp%3A0%3Als%3A1517098641725%3Ahid%3A237464579%3Az%3A0%3Ai%3A20221130235024%3Aet%3A1669852224%3Ac%3A1%3Arn%3A577974991%3Arqn%3A1%3Au%3A1669852224355681968%3Aw%3A1268x939%3As%3A1280x1024x24%3Ask%3A1%3Awv%3A2%3Ads%3A0%2C153%2C47%2C7%2C311%2C0%2C%2C473%2C2%2C%2C%2C%2C1152%3Ans%3A1669852222229%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1669852224%3At%3AHotMovs.com&t=gdpr%2814%29clc%280-0-0%29rqnt%281%29aw%281%29fip%281%29rqnl%281%29ti%282%29 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://hotmovs.com
Referer: https://hotmovs.com/
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         87.250.250.119
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
content-length: 419
date: Wed, 30 Nov 2022 23:50:26 GMT
x-content-type-options: nosniff
access-control-allow-origin: https://hotmovs.com
access-control-allow-credentials: true
pragma: no-cache
x-xss-protection: 1; mode=block
expires: Wed, 30-Nov-2022 23:50:26 GMT
last-modified: Wed, 30-Nov-2022 23:50:26 GMT
cache-control: private, no-cache, no-store, must-revalidate, max-age=0
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (419), with no line terminators
Size:   419
Md5:    601996b36a5604c68dd8ab1549c5bd3a
Sha1:   d8a1d061398a2c8c9e56899f0b4f915fa5ea796b
Sha256: b9cb6f065d76f8191f6c681d654996f14bd267d9bdfd8ece183dfd91b360c11d
                                        
                                            POST /in/multy HTTP/1.1 
Host: b6e9a8ce8a.85c0a6a0ea.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 704
Origin: https://hotmovs.com
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         168.119.25.22
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:26 GMT
content-length: 20063
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , Unicode text, UTF-8 text, with very long lines (20062), with no line terminators
Size:   20063
Md5:    72e79401bb1acb07e665450009d9ca2c
Sha1:   aa86e717cc21cba871b3aac9f26dcf3dd7ac74fb
Sha256: d5394fffb41254e035301a0e1747850beb7783704cb6e093199b18e0ed22f19c

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /in/show/?mid=1877451800264111718&pid=0&site=native-push-adult&sc=NO&usage_type=DCH&subid=1896094711&sid=2131142243&cid=10752&price=0&is_cpm=1&cpm=3.15&ecpm=2.81736&crid=&crtid=8fc5a3949d58ed66158a5da3a7b48b19&tcid=0&out_id=1&ver=8.5.1&ver_c=&refdom=hotmovs.com&hostname=auc-inpage-hz-4-a&site_id=31460&spot_id=460&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=2022-11-30&is_native=3&auction_queue=0&burl=b2HKi-oUYo36aYJWKwTgDJOQvRui8v41FqMe2VKxJrjDc_Zp9c3IRA&pop_winurl=&ip=91.90.42.154&testab=0&px_id=31460&adblock=0&auction_host=all&mm=0&yc=0&render_type=hq&campaign_type=lq-pop-ext&uniq=&exp=&resp_type=&iabcat=IAB25-3&min_cpm=0.0143163109997051&placement_type_id=7&skin_test=0&verify_hash=b2fa520e1a776ce83ae17fe422116267&score=74.00074959726098&durl=https%3A%2F%2Fts.cvastico.com%2Fin%2F1546%2F%3Fad_sub%3D1896094711%26spot_id%3D460%26is_adult%3D1%26p%3Dhttps%253A%252F%252Fhotmovs.com%252F%26idzone%3D4438150%26sid%3D1886&ml=&tag_ab=d&original_bid=3.15&user_fp=0&pop_type=1&space_id=1886&verify_hash=b2fa520e1a776ce83ae17fe422116267&real_bid=2.81736&skin_id=4&vertical_id=0&stratagem=&accel=&gyr=&iabcat=IAB25-3&ip_mismatch=false&ssp=&rc=&v2_track=0&url=HN92EQampa5PH5-JMQ6ojSRpeBZIus3a57h3qg40EOGD_JMnMY01ie6m_iZyLfnD-iRAYV9xjfjpZiuy7NXVTx75Q-90udeF8CCGFTpuXTkvBr4YNJOEJ2rP76rLqHm-iV_8koinvLm6ZeNDkd-_wLIQyDP2JqP4dsQDHlo0xOQMUzuLsw&pop_price=0.0028173599999999997&pop_real_bid=0.0028173599999999997&pop_ecpm=0.09554597463874961&auc_type=1&pr=&user_keywords=&device_theme=light&label_ids=4,104,0&mlc=1&format=social-scale-b_r-body&mlf=1&cpa=3edfe99d-0c98-4c84-9dff-03f8b15f7970 HTTP/1.1 
Host: b6e9a8ce8a.85c0a6a0ea.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://hotmovs.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         168.119.25.22
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 30 Nov 2022 23:50:27 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://static.bookmsg.com/creatives/US/US_34c3a6403004486b593fb6a3428d7a2748437f4f_icon.webp
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts: