Overview

URL mkkuei4kdsz.com/248/946.html
IP64.225.91.73
ASNDIGITALOCEAN-ASN
Location United States
Report completed2022-09-25 04:43:22 UTC
StatusLoading report..
urlquery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blocklists

OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter
Scan Date Severity Indicator Comment
2022-09-25 2 mkkuei4kdsz.com/248/946.html Malware
2022-09-25 2 ww2.mkkuei4kdsz.com/ Malware
mnemonic secure dns
Scan Date Severity Indicator Comment
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
Quad9 DNS
Scan Date Severity Indicator Comment
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 mkkuei4kdsz.com Sinkholed
2022-09-25 2 cadrctlnk.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 mcpuwpsh.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed
2022-09-25 2 a07d30aaf0.com Sinkholed


Files

No files detected



Passive DNS (58)

Passive DNS Source Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
mnemonic passive DNS sw.wpush.org (2) 78308 2020-02-15 07:54:44 UTC 2022-09-24 13:38:22 UTC 45.133.44.25
mnemonic passive DNS realtime.pa.highwebmedia.com (14) 24791 2021-01-21 22:18:59 UTC 2022-09-25 02:25:27 UTC 54.230.111.8
mnemonic passive DNS 434d80d136.a07d30aaf0.com (3) 0 2022-09-23 00:35:13 UTC 2022-09-25 00:35:07 UTC 168.119.25.22 Unknown ranking
mnemonic passive DNS realtime.pa.highwebmedia.com (14) 24791 2021-01-21 22:18:59 UTC 2022-09-25 02:25:27 UTC 54.230.111.60
mnemonic passive DNS img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2022-09-24 04:22:29 UTC 34.120.237.76
mnemonic passive DNS cdn.1vag.com (1) 48829 2021-02-10 15:12:50 UTC 2022-09-24 18:27:02 UTC 45.133.44.25
mnemonic passive DNS cbjpeg.stream.highwebmedia.com (1) 23619 2017-04-27 08:00:06 UTC 2022-09-24 22:38:29 UTC 131.153.88.92
mnemonic passive DNS 12112336.pix-cdn.org (1) 18294 2018-08-23 11:18:44 UTC 2022-09-24 22:43:30 UTC 45.133.44.24
mnemonic passive DNS cdn.tubecorp.com (1) 89278 2020-03-02 13:43:37 UTC 2022-09-24 10:11:34 UTC 45.133.44.24
mnemonic passive DNS nereserv.com (1) 40015 2020-12-21 11:07:56 UTC 2022-09-24 21:16:59 UTC 168.119.25.22
mnemonic passive DNS ts.cvastico.com (1) 0 2022-08-10 13:52:47 UTC 2022-09-24 14:42:02 UTC 109.206.175.252 Unknown ranking
mnemonic passive DNS img.sedoparking.com (1) 54200 2013-04-22 22:23:29 UTC 2022-09-25 04:07:08 UTC 205.234.175.175
mnemonic passive DNS tn.porngo.tube (23) 277018 2021-07-20 11:09:32 UTC 2022-09-23 18:27:52 UTC 45.133.44.25
mnemonic passive DNS fp.metricswpsh.com (2) 0 2022-04-22 11:20:32 UTC 2022-09-24 22:43:31 UTC 157.90.84.246 Unknown ranking
mnemonic passive DNS content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2022-09-24 04:26:56 UTC 143.204.55.49
mnemonic passive DNS cadrctlnk.com (1) 0 2022-04-07 15:41:52 UTC 2022-09-25 00:19:50 UTC 109.206.191.198 Unknown ranking
mnemonic passive DNS porngo.tube (5) 70393 2021-06-17 09:04:50 UTC 2022-09-24 23:11:20 UTC 172.67.213.174
mnemonic passive DNS mcpuwpsh.com (1) 0 2022-08-12 16:58:44 UTC 2022-09-24 23:04:52 UTC 94.130.197.134 Unknown ranking
mnemonic passive DNS rtbrennab.com (1) 0 2022-04-20 15:49:10 UTC 2022-09-24 22:49:50 UTC 159.69.163.6 Unknown ranking
mnemonic passive DNS bam.nr-data.net (2) 630 2015-02-10 00:06:27 UTC 2022-09-24 04:30:38 UTC 162.247.241.14
mnemonic passive DNS ocsp.digicert.com (4) 86 2012-05-21 07:02:23 UTC 2022-09-25 04:17:50 UTC 93.184.220.29
mnemonic passive DNS kts.cvastico.com (1) 0 2022-08-12 13:13:49 UTC 2022-09-24 22:43:32 UTC 62.122.168.42 Unknown ranking
mnemonic passive DNS btds.zog.link (3) 38469 2019-10-07 21:35:03 UTC 2022-09-24 22:45:50 UTC 109.206.163.112
mnemonic passive DNS in16.zog.link (1) 76485 2018-07-31 21:03:54 UTC 2022-09-24 10:11:36 UTC 109.206.175.85
mnemonic passive DNS 7b22f96b0f.a07d30aaf0.com (1) 0 2022-09-23 00:35:13 UTC 2022-09-25 00:35:07 UTC 94.130.197.134 Unknown ranking
mnemonic passive DNS hw-cdn2.ang-content.com (6) 165651 2019-03-25 22:41:04 UTC 2022-09-24 15:34:27 UTC 205.185.208.20
mnemonic passive DNS img.vmmcdn.com (2) 36292 2020-03-06 16:44:32 UTC 2022-09-24 08:02:20 UTC 138.201.51.142
mnemonic passive DNS firefox.settings.services.mozilla.com (2) 867 2020-06-04 20:08:41 UTC 2022-09-24 19:48:02 UTC 143.204.55.36
mnemonic passive DNS a.adtng.com (8) 15165 2018-07-26 19:17:41 UTC 2022-09-24 23:58:21 UTC 66.254.114.171
mnemonic passive DNS cdn.tsyndicate.com (6) 16265 2017-07-04 06:00:09 UTC 2022-09-24 20:23:14 UTC 8.247.218.249
mnemonic passive DNS static-assets.highwebmedia.com (10) 16059 2021-01-19 21:46:26 UTC 2022-09-25 02:25:25 UTC 104.16.93.42
mnemonic passive DNS xml.sedodna.com (1) 278378 2020-10-22 08:18:03 UTC 2022-09-24 19:43:12 UTC 173.239.53.32
mnemonic passive DNS mkkuei4kdsz.com (1) 0 2012-11-29 20:21:30 UTC 2022-09-25 04:29:55 UTC 64.225.91.73 Unknown ranking
mnemonic passive DNS contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-09-24 04:22:23 UTC 34.117.237.239
mnemonic passive DNS cdnjs.cloudflare.com (1) 235 2020-10-20 10:17:36 UTC 2022-09-24 11:29:42 UTC 104.17.24.14
mnemonic passive DNS ww2.mkkuei4kdsz.com (4) 0 2022-01-21 14:07:05 UTC 2022-09-24 22:36:31 UTC 64.190.63.136 Unknown ranking
mnemonic passive DNS ocsp.globalsign.com (1) 2075 2012-05-25 06:20:55 UTC 2022-09-24 04:22:42 UTC 104.18.20.226
mnemonic passive DNS lcdn.tsyndicate.com (5) 12634 2020-03-31 14:26:34 UTC 2022-09-25 01:31:55 UTC 8.254.252.214
mnemonic passive DNS chaturbate.com (1) 6807 2012-05-22 23:11:36 UTC 2022-09-25 03:13:00 UTC 104.18.101.40
mnemonic passive DNS r3.o.lencr.org (29) 344 2020-12-02 08:52:13 UTC 2022-09-24 04:21:50 UTC 23.36.77.32
mnemonic passive DNS chatw-57.stream.highwebmedia.com (2) 187306 2021-02-22 11:43:51 UTC 2022-09-19 16:12:18 UTC 104.19.242.83
mnemonic passive DNS hw-cdn2.adtng.com (1) 11917 2020-02-20 16:50:17 UTC 2022-09-24 15:34:27 UTC 209.197.3.25
mnemonic passive DNS js-agent.newrelic.com (1) 378 2017-01-30 05:00:15 UTC 2022-09-24 04:54:11 UTC 151.101.86.137
mnemonic passive DNS mc.yandex.ru (4) 2672 2017-01-29 05:34:36 UTC 2022-09-24 18:45:26 UTC 93.158.134.119
mnemonic passive DNS ocsp.sectigo.com (6) 487 2018-12-17 11:31:55 UTC 2022-09-25 01:26:54 UTC 172.64.155.188
mnemonic passive DNS pxl.tsyndicate.com (9) 14763 2017-07-05 13:51:06 UTC 2022-09-24 23:45:14 UTC 136.243.80.153
mnemonic passive DNS domaincntrol.com (1) 274993 2018-01-06 22:46:59 UTC 2022-09-24 22:36:30 UTC 104.26.10.61
mnemonic passive DNS 14f91f4146.a07d30aaf0.com (1) 0 2022-09-23 00:35:14 UTC 2022-09-25 04:35:06 UTC 45.133.44.24 Unknown ranking
mnemonic passive DNS push.services.mozilla.com (1) 2140 2015-09-03 10:29:36 UTC 2022-09-24 05:36:42 UTC 34.208.34.131
mnemonic passive DNS js.wpshsdk.com (3) 12130 2021-06-04 13:50:00 UTC 2022-09-25 03:06:12 UTC 45.133.44.24
mnemonic passive DNS hypoterian.com (2) 0 2022-07-01 15:44:19 UTC 2022-09-24 11:22:30 UTC 162.55.246.161 Unknown ranking
mnemonic passive DNS ads.exoclick.com (1) 32908 2012-11-29 00:05:16 UTC 2022-09-24 15:34:27 UTC 205.185.216.10
mnemonic passive DNS mcpuwpush.com (2) 213242 2021-04-30 12:36:24 UTC 2022-09-24 13:05:34 UTC 94.130.197.134
mnemonic passive DNS js.wpadmngr.com (1) 25762 2021-06-02 14:43:46 UTC 2022-09-24 22:43:29 UTC 45.133.44.25
mnemonic passive DNS 661f8a0d88.a07d30aaf0.com (8) 0 2022-09-23 00:35:14 UTC 2022-09-25 04:35:06 UTC 116.202.60.158 Unknown ranking
mnemonic passive DNS tsyndicate.com (9) 13042 2017-03-16 09:04:54 UTC 2022-09-24 22:43:32 UTC 136.243.43.25
mnemonic passive DNS sw.wpush.org (2) 78308 2020-02-15 07:54:44 UTC 2022-09-24 13:38:22 UTC 45.133.44.24
mnemonic passive DNS e1.o.lencr.org (3) 6159 2021-08-20 07:36:30 UTC 2022-09-24 06:20:21 UTC 23.36.76.226


Recent reports on same IP/ASN/Domain/Screenshot

Last 5 reports on IP: 64.225.91.73

Date UQ / IDS / BL URL IP
2022-12-03 12:31:13 +0000
0 - 0 - 8 mkkuei4kdsz.com/988/840.html 64.225.91.73
2022-12-03 10:34:16 +0000
0 - 0 - 16 rotogrip.us/ 64.225.91.73
2022-12-03 10:14:47 +0000
0 - 0 - 1 royaldentalcare.in/ 64.225.91.73
2022-12-03 08:03:37 +0000
0 - 0 - 4 cryptonames.cc/ 64.225.91.73
2022-12-03 07:04:19 +0000
0 - 0 - 4 blueskyconsultant.info/ 64.225.91.73

Last 5 reports on ASN: DIGITALOCEAN-ASN

Date UQ / IDS / BL URL IP
2022-12-03 18:35:56 +0000
84 - 0 - 3 techmerch.ga/nfyw50sf-e0df9e0wos-f0res5odi6ew (...) 138.68.153.111
2022-12-03 18:34:39 +0000
14 - 0 - 6 cartwrightaae.dz4i6dmjgn-ez94ddnyz4mr.p.temp- (...) 206.189.36.156
2022-12-03 18:34:31 +0000
70 - 0 - 10 innovationsweb.tk/ishfre9wps-odife4dofir9ewo- (...) 138.68.153.111
2022-12-03 18:22:18 +0000
0 - 0 - 2 private-quicksand.surge.sh/ 138.68.112.220
2022-12-03 17:33:53 +0000
0 - 0 - 2 161.35.10.114/winslv.exe 161.35.10.114

Last 5 reports on domain: mkkuei4kdsz.com

Date UQ / IDS / BL URL IP
2022-12-03 12:31:13 +0000
0 - 0 - 8 mkkuei4kdsz.com/988/840.html 64.225.91.73
2022-12-03 07:01:42 +0000
0 - 0 - 8 mkkuei4kdsz.com/895/565.html 64.225.91.73
2022-12-03 05:39:16 +0000
0 - 0 - 6 mkkuei4kdsz.com/19/340.html 64.225.91.73
2022-12-02 14:38:02 +0000
0 - 0 - 8 mkkuei4kdsz.com/842/9.html 64.225.91.73
2022-12-02 13:26:37 +0000
0 - 0 - 6 mkkuei4kdsz.com/732/954.html 64.225.91.73

No other reports with similar screenshot



JavaScript

Executed Scripts (86)


Executed Evals (1)

#1 JavaScript::Eval (size: 112323, repeated: 1) - SHA256: 082c6f210a817cf6eb28147031ef86170353d9be6493eb56fb47adf2e4e0ab84

                                        (() => {
    "use strict";
    var e = "2.20.0",
        t = Number("0"),
        n = "3600000";

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

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

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

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

    function s() {
        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
        return Object.keys(e).map((t => {
            var n = "object" == typeof e[t] ? JSON.stringify(e[t]) : e[t];
            return "".concat(encodeURIComponent(t), "=").concat(encodeURIComponent(n))
        })).join("&")
    }

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

    function c(e) {
        return l.apply(this, arguments)
    }

    function l() {
        return (l = i((function*(e) {
            try {
                var t =
                    yield fetch(e);
                return yield t.json()
            } catch (e) {
                throw new Error("No message data")
            }
        }))).apply(this, arguments)
    }

    function u(e) {
        return Promise.allSettled && Promise.allSettled(e) || Promise.all(e.map((e => e.then((e => ({
            status: "fulfilled",
            value: e
        }))).catch((e => ({
            status: "rejected",
            reason: e
        }))))))
    }
    const d = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : global,
        h = Object.keys,
        f = Array.isArray;

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

    function v(e, t) {
        return y.call(e, t)
    }

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

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

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

    function C(e, t) {
        let n;
        return k(e, t) || (n = m(e)) && C(n, t)
    }
    const x = [].slice;

    function P(e, t, n) {
        return x.call(e, t, n)
    }

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

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

    function K(e) {
        d.setImmediate ? setImmediate(e) : setTimeout(e, 0)
    }

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

    function A(e, t) {
        if (v(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 = A(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 : A(a, t.substr(s + 1))
        }
    }

    function D(e, t, n) {
        if (e && void 0 !== t && (!("isFrozen" in Object) || !Object.isFrozen(e)))
            if ("string" != typeof t && "length" in t) {
                S("string" != typeof n && "length" in n);
                for (var r = 0, i = t.length; r < i; ++r) D(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 ? f(e) && !isNaN(parseInt(s)) ? e.splice(s, 1) : delete e[s] : e[s] = n;
                    else {
                        var c = e[s];
                        c || (c = e[s] = {}), D(c, a, n)
                    }
                } else void 0 === n ? f(e) && !isNaN(parseInt(t)) ? e.splice(t, 1) : delete e[t] : e[t] = n
            }
    }

    function M(e) {
        var t = {};
        for (var n in e) v(e, n) && (t[n] = e[n]);
        return t
    }
    const I = [].concat;

    function B(e) {
        return I.apply([], e)
    }
    const R = "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 => d[e])),
        j = R.map((e => d[e]));
    E(R, (e => [e, !0]));
    let T = null;

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

    function F(e) {
        if (!e || "object" != typeof e) return e;
        let t = T && T.get(e);
        if (t) return t;
        if (f(e)) {
            t = [], T && T.set(e, t);
            for (var n = 0, r = e.length; n < r; ++n) t.push(F(e[n]))
        } else if (j.indexOf(e.constructor) >= 0) t = e;
        else {
            const n = m(e);
            for (var i in t = n === Object.prototype ? {} : Object.create(n), T && T.set(e, t), e) v(e, i) && (t[i] = F(e[i]))
        }
        return t
    }
    const {
        toString: q
    } = {};

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

    function V(e) {
        var t, n, r, i;
        if (1 === arguments.length) {
            if (f(e)) return e.slice();
            if (this === W && "string" == typeof e) return [e];
            if (i = z(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 G = "undefined" != typeof Symbol ? e => "AsyncFunction" === e[Symbol.toStringTag] : () => !1;
    var Y = "undefined" != typeof location && /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);

    function J(e, t) {
        Y = e, H = t
    }
    var H = () => !0;
    const Q = !new Error("").stack;

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

    function X(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(H).map((e => "\n" + e)).join("")) : ""
    }
    var $ = ["Unknown", "Constraint", "Data", "TransactionInactive", "ReadOnly", "Version", "NotFound", "InvalidState", "InvalidAccess", "Abort", "Timeout", "QuotaExceeded", "Syntax", "DataClone"],
        ee = ["Modify", "Bulk", "OpenFailed", "VersionChange", "Schema", "Upgrade", "InvalidTable", "MissingAPI", "NoSuchDatabase", "InvalidArgument", "SubTransaction", "Unsupported", "Internal", "DatabaseClosed", "PrematureCommit", "ForeignAwait"].concat($),
        te = {
            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 ne(e, t) {
        this._e = Z(), this.name = e, this.message = t
    }

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

    function ie(e, t, n, r) {
        this._e = Z(), this.failures = t, this.failedKeys = r, this.successCount = n, this.message = re(e, t)
    }

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

        function r(e, r) {
            this._e = Z(), 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 = te[t] || n, this.inner = null)
        }
        return w(r).from(ae), e[t] = r, e
    }), {});
    ce.Syntax = SyntaxError, ce.Type = TypeError, ce.Range = RangeError;
    var le = $.reduce(((e, t) => (e[t + "Error"] = ce[t], e)), {}),
        ue = ee.reduce(((e, t) => (-1 === ["Syntax", "Type", "Range"].indexOf(t) && (e[t + "Error"] = ce[t]), e)), {});

    function de() {}

    function he(e) {
        return e
    }

    function fe(e, t) {
        return null == e || e === he ? t : function(n) {
            return t(e(n))
        }
    }

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

    function me(e, t) {
        return e === de ? 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 ? pe(r, this.onsuccess) : r), i && (this.onerror = this.onerror ? pe(i, this.onerror) : i), void 0 !== o ? o : n
        }
    }

    function ye(e, t) {
        return e === de ? 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 ? pe(n, this.onsuccess) : n), r && (this.onerror = this.onerror ? pe(r, this.onerror) : r)
        }
    }

    function ve(e, t) {
        return e === de ? t : function(n) {
            var r = e.apply(this, arguments);
            p(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 ? pe(i, this.onsuccess) : i), o && (this.onerror = this.onerror ? pe(o, this.onerror) : o), void 0 === r ? void 0 === s ? void 0 : s : p(r, s)
        }
    }

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

    function be(e, t) {
        return e === de ? 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)
        }
    }
    ue.ModifyError = ie, ue.DexieError = ne, ue.BulkError = oe;
    var _e = {};
    const [we, ke, Ce] = "undefined" == typeof Promise ? [] : (() => {
        let e = Promise.resolve();
        if ("undefined" == typeof crypto || !crypto.subtle) return [e, m(e), e];
        const t = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
        return [t, m(t), e]
    })(), xe = ke && ke.then, Pe = we && we.constructor, Oe = !!Ce;
    var Se = !1,
        Ke = Ce ? () => {
            Ce.then(Ze)
        } : d.setImmediate ? setImmediate.bind(null, Ze) : d.MutationObserver ? () => {
            var e = document.createElement("div");
            new MutationObserver((() => {
                Ze(), e = null
            })).observe(e, {
                attributes: !0
            }), e.setAttribute("i", "1")
        } : () => {
            setTimeout(Ze, 0)
        },
        Ee = function(e, t) {
            Ne.push([e, t]), De && (Ke(), De = !1)
        },
        Ae = !0,
        De = !0,
        Me = [],
        Ie = [],
        Be = null,
        Re = he,
        je = {
            id: "global",
            global: !0,
            ref: 0,
            unhandleds: [],
            onunhandled: wt,
            pgp: !1,
            env: {},
            finalize: function() {
                this.unhandleds.forEach((e => {
                    try {
                        wt(e[0], e[1])
                    } catch (e) {}
                }))
            }
        },
        Te = je,
        Ne = [],
        Fe = 0,
        qe = [];

    function Ue(e) {
        if ("object" != typeof this) throw new TypeError("Promises must be constructed via new");
        this._listeners = [], this.onuncatched = de, this._lib = !1;
        var t = this._PSD = Te;
        if (Y && (this._stackHolder = Z(), this._prev = null, this._numPrev = 0), "function" != typeof e) {
            if (e !== _e) throw new TypeError("Not a function");
            return this._state = arguments[1], this._value = arguments[2], void(!1 === this._state && Ve(this, this._value))
        }
        this._state = null, this._value = null, ++t.ref, We(this, e)
    }
    const Le = {get: function() {
            var e = Te,
                t = at;

            function n(n, r) {
                var i = !e.global && (e !== Te || t !== at);
                const o = i && !dt();
                var s = new Ue(((t, s) => {
                    Ye(this, new ze(bt(n, e, i, o), bt(r, e, i, o), t, s, e))
                }));
                return Y && Qe(s, this), s
            }
            return n.prototype = _e, n
        },
        set: function(e) {
            _(this, "then", e && e.prototype === _e ? Le : {get: function() {
                    return e
                },
                set: Le.set
            })
        }
    };

    function ze(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 We(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 && Xe();
                    t && "function" == typeof t.then ? We(e, ((e, n) => {
                        t instanceof Ue ? t._then(e, n) : t.then(e, n)
                    })) : (e._state = !0, e._value = t, Ge(e)), n && $e()
                }
            }), Ve.bind(null, e))
        } catch (t) {
            Ve(e, t)
        }
    }

    function Ve(e, t) {
        if (Ie.push(t), null === e._state) {
            var n = e._lib && Xe();
            t = Re(t), e._state = !1, e._value = t, Y && null !== t && "object" == typeof t && !t._promise && function(e, t, n) {
                    try {
                        e.apply(null, void 0)
                    } catch (e) {}
                }((() => {
                    var n = C(t, "stack");
                    t._promise = e, _(t, "stack", {get: () => Se ? n && (n.get ? n.get.apply(t) : n.value) : e.stack
                    })
                })),
                function(e) {
                    Me.some((t => t._value === e._value)) || Me.push(e)
                }(e), Ge(e), n && $e()
        }
    }

    function Ge(e) {
        var t = e._listeners;
        e._listeners = [];
        for (var n = 0, r = t.length; n < r; ++n) Ye(e, t[n]);
        var i = e._PSD;
        --i.ref || i.finalize(), 0 === Fe && (++Fe, Ee((() => {
            0 == --Fe && et()
        }), []))
    }

    function Ye(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, ++Fe, Ee(Je, [n, e, t])
        } else e._listeners.push(t)
    }

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

    function He(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 = X(s, 0)) : (i = s, o = ""), t.push(i + (o ? ": " + o : "") + r)
        }
        return Y && ((r = X(e._stackHolder, 2)) && -1 === t.indexOf(r) && t.push(r), e._prev && He(e._prev, t, n)), t
    }

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

    function Ze() {
        Xe() && $e()
    }

    function Xe() {
        var e = Ae;
        return Ae = !1, De = !1, e
    }

    function $e() {
        var e, t, n;
        do {
            for (; Ne.length > 0;)
                for (e = Ne, Ne = [], n = e.length, t = 0; t < n; ++t) {
                    var r = e[t];
                    r[0].apply(null, r[1])
                }
        } while (Ne.length > 0);
        Ae = !0, De = !0
    }

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

    function tt(e) {
        return new Ue(_e, !1, e)
    }

    function nt(e, t) {
        var n = Te;
        return function() {
            var r = Xe(),
                i = Te;
            try {
                return mt(n, !0), e.apply(this, arguments)
            } catch (e) {
                t && t(e)
            } finally {
                mt(i, !1), r && $e()
            }
        }
    }
    g(Ue.prototype, {
        then: Le,
        _then: function(e, t) {
            Ye(this, new ze(null, null, e, t, Te))
        },
        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) : tt(e))) : this.then(null, (e => e && e.name === t ? n(e) : tt(e)))
        },
        finally: function(e) {
            return this.then((t => (e(), t)), (t => (e(), tt(t))))
        },
        stack: {get: function() {
                if (this._stack) return this._stack;
                try {
                    Se = !0;
                    var e = He(this, [], 20).join("\nFrom previous: ");
                    return null !== this._state && (this._stack = e), e
                } finally {
                    Se = !1
                }
            }
        },
        timeout: function(e, t) {
            return e < 1 / 0 ? new Ue(((n, r) => {
                var i = setTimeout((() => r(new ce.Timeout(t))), e);
                this.then(n, r).finally(clearTimeout.bind(null, i))
            })) : this
        }
    }), "undefined" != typeof Symbol && Symbol.toStringTag && _(Ue.prototype, Symbol.toStringTag, "Dexie.Promise"), je.env = yt(), g(Ue, {
        all: function() {
            var e = V.apply(null, arguments).map(ht);
            return new Ue((function(t, n) {
                0 === e.length && t([]);
                var r = e.length;
                e.forEach(((i, o) => Ue.resolve(i).then((n => {
                    e[o] = n, --r || t(e)
                }), n)))
            }))
        },
        resolve: e => {
            if (e instanceof Ue) return e;
            if (e && "function" == typeof e.then) return new Ue(((t, n) => {
                e.then(t, n)
            }));
            var t = new Ue(_e, !0, e);
            return Qe(t, Be), t
        },
        reject: tt,
        race: function() {
            var e = V.apply(null, arguments).map(ht);
            return new Ue(((t, n) => {
                e.map((e => Ue.resolve(e).then(t, n)))
            }))
        },
        PSD: {get: () => Te,
            set: e => Te = e
        },
        totalEchoes: {get: () => at
        },
        newPSD: lt,
        usePSD: vt,
        scheduler: {get: () => Ee,
            set: e => {
                Ee = e
            }
        },
        rejectionMapper: {get: () => Re,
            set: e => {
                Re = e
            }
        },
        follow: (e, t) => new Ue(((n, r) => lt(((t, n) => {
            var r = Te;
            r.unhandleds = [], r.onunhandled = n, r.finalize = pe((function() {
                ! function(e) {
                    qe.push((function t() {
                        e(), qe.splice(qe.indexOf(t), 1)
                    })), ++Fe, Ee((() => {
                        0 == --Fe && et()
                    }), [])
                }((() => {
                    0 === this.unhandleds.length ? t() : n(this.unhandleds[0])
                }))
            }), r.finalize), e()
        }), t, n, r)))
    }), Pe && (Pe.allSettled && _(Ue, "allSettled", (function() {
        const e = V.apply(null, arguments).map(ht);
        return new Ue((t => {
            0 === e.length && t([]);
            let n = e.length;
            const r = new Array(n);
            e.forEach(((e, i) => Ue.resolve(e).then((e => r[i] = {
                status: "fulfilled",
                value: e
            }), (e => r[i] = {
                status: "rejected",
                reason: e
            })).then((() => --n || t(r)))))
        }))
    })), Pe.any && "undefined" != typeof AggregateError && _(Ue, "any", (function() {
        const e = V.apply(null, arguments).map(ht);
        return new Ue(((t, n) => {
            0 === e.length && n(new AggregateError([]));
            let r = e.length;
            const i = new Array(r);
            e.forEach(((e, o) => Ue.resolve(e).then((e => t(e)), (e => {
                i[o] = e, --r || n(new AggregateError(i))
            }))))
        }))
    })));
    const rt = {
        awaits: 0,
        echoes: 0,
        id: 0
    };
    var it = 0,
        ot = [],
        st = 0,
        at = 0,
        ct = 0;

    function lt(e, t, n, r) {
        var i = Te,
            o = Object.create(i);
        o.parent = i, o.ref = 0, o.global = !1, o.id = ++ct;
        var s = je.env;
        o.env = Oe ? {
            Promise: Ue,
            PromiseProp: {
                value: Ue,
                configurable: !0,
                writable: !0
            },
            all: Ue.all,
            race: Ue.race,
            allSettled: Ue.allSettled,
            any: Ue.any,
            resolve: Ue.resolve,
            reject: Ue.reject,
            nthen: _t(s.nthen, o),
            gthen: _t(s.gthen, o)
        } : {}, t && p(o, t), ++i.ref, o.finalize = function() {
            --this.parent.ref || this.parent.finalize()
        };
        var a = vt(o, e, n, r);
        return 0 === o.ref && o.finalize(), a
    }

    function ut() {
        return rt.id || (rt.id = ++it), ++rt.awaits, rt.echoes += 100, rt.id
    }

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

    function ht(e) {
        return rt.echoes && e && e.constructor === Pe ? (ut(), e.then((e => (dt(), e)), (e => (dt(), kt(e))))) : e
    }

    function ft(e) {
        ++at, rt.echoes && 0 != --rt.echoes || (rt.echoes = rt.id = 0), ot.push(Te), mt(e, !0)
    }

    function pt() {
        var e = ot[ot.length - 1];
        ot.pop(), mt(e, !1)
    }

    function mt(e, t) {
        var n = Te;
        if ((t ? !rt.echoes || st++ && e === Te : !st || --st && e === Te) || gt(t ? ft.bind(null, e) : pt), e !== Te && (Te = e, n === je && (je.env = yt()), Oe)) {
            var r = je.env.Promise,
                i = e.env;
            ke.then = i.nthen, r.prototype.then = i.gthen, (n.global || e.global) && (Object.defineProperty(d, "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 yt() {
        var e = d.Promise;
        return Oe ? {
            Promise: e,
            PromiseProp: Object.getOwnPropertyDescriptor(d, "Promise"),
            all: e.all,
            race: e.race,
            allSettled: e.allSettled,
            any: e.any,
            resolve: e.resolve,
            reject: e.reject,
            nthen: ke.then,
            gthen: e.prototype.then
        } : {}
    }

    function vt(e, t, n, r, i) {
        var o = Te;
        try {
            return mt(e, !0), t(n, r, i)
        } finally {
            mt(o, !1)
        }
    }

    function gt(e) {
        xe.call(we, e)
    }

    function bt(e, t, n, r) {
        return "function" != typeof e ? e : function() {
            var i = Te;
            n && ut(), mt(t, !0);
            try {
                return e.apply(this, arguments)
            } finally {
                mt(i, !1), r && gt(dt)
            }
        }
    }

    function _t(e, t) {
        return function(n, r) {
            return e.call(this, bt(n, t), bt(r, t))
        }
    }

    function wt(e, t) {
        var n;
        try {
            n = t.onuncatched(e)
        } catch (e) {}
        if (!1 !== n) try {
            var r, i = {
                promise: t,
                reason: e
            };
            if (d.document && document.createEvent ? ((r = document.createEvent("Event")).initEvent("unhandledrejection", !0, !0), p(r, i)) : d.CustomEvent && p(r = new CustomEvent("unhandledrejection", {
                    detail: i
                }), i), r && d.dispatchEvent && (dispatchEvent(r), !d.PromiseRejectionEvent && d.onunhandledrejection)) try {
                d.onunhandledrejection(r)
            } catch (e) {}
            Y && r && !r.defaultPrevented && console.warn(`Unhandled rejection: ${e.stack||e}`)
        } catch (e) {}
    } - 1 === ("" + xe).indexOf("[native code]") && (ut = dt = de);
    var kt = Ue.reject;

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

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

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

            function o(e, n, r) {
                if (!r.schema[i]) throw new ce.NotFound("Table " + i + " not part of transaction");
                return t(r.idbtrans, r)
            }
            const s = Xe();
            try {
                return r && r.db === this.db ? r === Te.trans ? r._promise(e, o, n) : lt((() => r._promise(e, o, n)), {
                    trans: r,
                    transless: Te.transless || Te
                }) : Ct(this.db, e, [this.name], o)
            } finally {
                s && $e()
            }
        }
        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 (f(e)) return new this.db.WhereClause(this, `[${e.join("+")}]`);
            const t = h(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 !== xt) return this.where(n.name).equals(n.keyPath.map((t => e[t])));
            !n && Y && 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 ? Dt(n, s && s.multi ? e => {
                    const t = A(e, i);
                    return f(t) && t.some((e => o(a, e)))
                } : e => o(a, A(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, f(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 (v(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) {
                p(this, e)
            }))
        }
        add(e, t) {
            const {
                auto: n,
                keyPath: r
            } = this.schema.primKey;
            let i = e;
            return r && n && (i = It(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "add",
                keys: null != t ? [t] : null,
                values: [i]
            }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    D(e, r, t)
                } catch (e) {}
                return t
            }))
        }
        update(e, t) {
            if ("object" != typeof e || f(e)) return this.where(":id").equals(e).modify(t); {
                const n = A(e, this.schema.primKey.keyPath);
                if (void 0 === n) return kt(new ce.InvalidArgument("Given object does not contain its primary key"));
                try {
                    "function" != typeof t ? h(t).forEach((n => {
                        D(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 = It(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "put",
                values: [i],
                keys: null != t ? [t] : null
            }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : e.lastResult)).then((t => {
                if (r) try {
                    D(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 ? Ue.reject(e.failures[0]) : void 0))
        }
        clear() {
            return this._trans("readwrite", (e => this.core.mutate({
                trans: e,
                type: "deleteRange",
                range: Mt
            }))).then((e => e.numFailures ? Ue.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 ce.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new ce.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(It(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 oe(`${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 ce.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");
                if (r && r.length !== e.length) throw new ce.InvalidArgument("Arguments objects and keys must have the same length");
                const s = e.length;
                let a = o && n ? e.map(It(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 oe(`${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 oe(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`, r)
            }))
        }
    }

    function Rt(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 = ge), i || (i = de);
            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) {
            h(e).forEach((function(t) {
                var n = e[t];
                if (f(n)) o(t, e[t][0], e[t][1]);
                else {
                    if ("asap" !== n) throw new ce.InvalidArgument("Invalid event config");
                    var r = o(t, he, (function() {
                        for (var e = arguments.length, t = new Array(e); e--;) t[e] = arguments[e];
                        r.subscribers.forEach((function(e) {
                            K((function() {
                                e.apply(null, t)
                            }))
                        }))
                    }))
                }
            }))
        }
    }

    function jt(e, t) {
        return w(t).from({
            prototype: e
        }), t
    }

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

    function Nt(e, t) {
        e.filter = Dt(e.filter, t)
    }

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

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

    function Ut(e, t, n) {
        const r = qt(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 Lt(e, t, n, r) {
        const i = e.replayFilter ? Dt(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)), v(o, a) || (o[a] = !0, t(e, n, r))
                    }
                };
            return Promise.all([e.or._iterate(s, n), zt(Ut(e, r, n), e.algorithm, s, !e.keysOnly && e.valueMapper)])
        }
        return zt(Ut(e, r, n), Dt(e.algorithm, i), t, !e.keysOnly && e.valueMapper)
    }

    function zt(e, t, n, r) {
        var i = nt(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 = de
                }), (t => {
                    e.fail(t), n = de
                })) || i(e.value, e, (e => n = e)), n()
            }))
        }))
    }

    function Wt(e, t) {
        try {
            const n = Vt(e),
                r = Vt(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
                    }(Gt(e), Gt(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 = Wt(e[n], t[n]);
                            if (0 !== r) return r
                        }
                        return n === r ? 0 : n < r ? -1 : 1
                    }(e, t)
            }
        } catch (e) {}
        return NaN
    }

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

    function Gt(e) {
        return e instanceof Uint8Array ? e : ArrayBuffer.isView(e) ? new Uint8Array(e.buffer, e.byteOffset, e.byteLength) : new Uint8Array(e)
    }
    class Yt {
        _read(e, t) {
            var n = this._ctx;
            return n.error ? n.table._trans(null, kt.bind(null, n.error)) : n.table._trans("readonly", e).then(t)
        }
        _write(e) {
            var t = this._ctx;
            return t.error ? t.table._trans(null, kt.bind(null, t.error)) : t.table._trans("readwrite", e, "locked")
        }
        _addAlgorithm(e) {
            var t = this._ctx;
            t.algorithm = Dt(t.algorithm, e)
        }
        _iterate(e, t) {
            return Lt(this._ctx, e, t, this._ctx.table.core)
        }
        clone(e) {
            var t = Object.create(this.constructor.prototype),
                n = Object.create(this._ctx);
            return e && p(n, e), t._ctx = n, t
        }
        raw() {
            return this._ctx.valueMapper = null, this
        }
        each(e) {
            var t = this._ctx;
            return this._read((n => Lt(t, e, n, t.table.core)))
        }
        count(e) {
            return this._read((e => {
                const t = this._ctx,
                    n = t.table.core;
                if (Tt(t, !0)) return n.count({
                    trans: e,
                    query: {
                        index: qt(t, n.schema),
                        range: t.range
                    }
                }).then((e => Math.min(e, t.limit)));
                var r = 0;
                return Lt(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 && Tt(t, !0) && t.limit > 0) {
                    const {
                        valueMapper: n
                    } = t, r = qt(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 Lt(t, (e => n.push(e)), e, t.table.core).then((() => n))
                }
            }), e)
        }
        offset(e) {
            var t = this._ctx;
            return e <= 0 || (t.offset += e, Tt(t) ? Ft(t, (() => {
                var t = e;
                return (e, n) => 0 === t || (1 === t ? (--t, !1) : (n((() => {
                    e.advance(t), t = 0
                })), !1))
            })) : Ft(t, (() => {
                var t = e;
                return () => --t < 0
            }))), this
        }
        limit(e) {
            return this._ctx.limit = Math.min(this._ctx.limit, e), Ft(this._ctx, (() => {
                var t = e;
                return function(e, n, r) {
                    return --t <= 0 && n(r), t >= 0
                }
            }), !0), this
        }
        until(e, t) {
            return Nt(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 Nt(this._ctx, (function(t) {
                return e(t.value)
            })), t = this._ctx, n = e, t.isMatch = Dt(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 && Tt(t, !0) && t.limit > 0) return this._read((e => {
                var n = qt(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 Nt(this._ctx, (function(e) {
                var t = e.primaryKey.toString(),
                    r = v(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 = h(e),
                        o = i.length;
                    r = function(t) {
                        for (var n = !1, r = 0; r < o; ++r) {
                            var s = i[r],
                                a = e[s];
                            A(t, s) !== a && (D(t, s, a), n = !0)
                        }
                        return n
                    }
                }
                const s = t.table.core,
                    {
                        outbound: a,
                        extractKey: c
                    } = s.schema.primaryKey,
                    l = this.db._options.modifyChunkSize || 200,
                    u = [];
                let d = 0;
                const f = [],
                    p = (e, t) => {
                        const {
                            failures: n,
                            numFailures: r
                        } = t;
                        d += e - r;
                        for (let e of h(n)) u.push(n[e])
                    };
                return this.clone().primaryKeys().then((i => {
                    const o = u => {
                        const d = Math.min(l, i.length - u);
                        return s.getMany({
                            trans: n,
                            keys: i.slice(u, u + d),
                            cache: "immutable"
                        }).then((h => {
                            const f = [],
                                m = [],
                                y = a ? [] : null,
                                v = [];
                            for (let e = 0; e < d; ++e) {
                                const t = h[e],
                                    n = {
                                        value: N(t),
                                        primKey: i[u + e]
                                    };
                                !1 !== r.call(n, n.value, n) && (null == n.value ? v.push(i[u + e]) : a || 0 === Wt(c(t), c(n.value)) ? (m.push(n.value), a && y.push(i[u + e])) : (v.push(i[u + e]), f.push(n.value)))
                            }
                            const g = Tt(t) && t.limit === 1 / 0 && ("function" != typeof e || e === Jt) && {
                                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((() => (m.length > 0 || g && "object" == typeof e) && s.mutate({
                                trans: n,
                                type: "put",
                                keys: y,
                                values: m,
                                criteria: g,
                                changeSpec: "function" != typeof e && e
                            }).then((e => p(m.length, e))))).then((() => (v.length > 0 || g && e === Jt) && s.mutate({
                                trans: n,
                                type: "delete",
                                keys: v,
                                criteria: g
                            }).then((e => p(v.length, e))))).then((() => i.length > u + d && o(u + l)))
                        }))
                    };
                    return o(0).then((() => {
                        if (u.length > 0) throw new ie("Error modifying one or more objects", u, d, f);
                        return i.length
                    }))
                }))
            }))
        }
        delete() {
            var e = this._ctx,
                t = e.range;
            return Tt(e) && (e.isPrimKey && !Et || 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 ie("Could not delete some values", Object.keys(e).map((t => e[t])), t - i);
                    return t - i
                }))))
            })) : this.modify(Jt)
        }
    }
    const Jt = (e, t) => t.value = null;

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

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

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

    function Xt(e) {
        return new e.Collection(e, (() => nn(""))).limit(0)
    }

    function $t(e, t, n, r, i, o) {
        for (var s = Math.min(e.length, r.length), a = -1, c = 0; c < s; ++c) {
            var l = t[c];
            if (l !== r[c]) return i(e[c], n[c]) < 0 ? e.substr(0, c) + n[c] + n.substr(c + 1) : i(e[c], r[c]) < 0 ? e.substr(0, c) + r[c] + n.substr(c + 1) : a >= 0 ? e.substr(0, a) + t[a] + n.substr(a + 1) : null;
            i(e[c], l) < 0 && (a = c)
        }
        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 en(e, t, n, r) {
        var i, o, s, a, c, l, u, d = n.length;
        if (!n.every((e => "string" == typeof e))) return Zt(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 ? Ht : Qt;
            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
            })), c = t.map((function(e) {
                return e.lower
            })), l = e, u = "next" === e ? "" : r
        }
        h("next");
        var f = new e.Collection(e, (() => tn(a[0], c[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, c, p)) return !0;
            for (var f = null, m = p; m < d; ++m) {
                var y = $t(i, h, a[m], c[m], s, l);
                null === y && null === f ? p = m + 1 : (null === f || s(f, y) > 0) && (f = y)
            }
            return n(null !== f ? function() {
                e.continue(f + u)
            } : r), !1
        })), f
    }

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

    function nn(e) {
        return {
            type: 1,
            lower: e,
            upper: e
        }
    }
    class rn {
        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) ? Xt(this) : new this.Collection(this, (() => tn(e, t, !n, !r)))
            } catch (e) {
                return Zt(this, Pt)
            }
        }
        equals(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => nn(e)))
        }
        above(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(e, void 0, !0)))
        }
        aboveOrEqual(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(e, void 0, !1)))
        }
        below(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(void 0, e, !1, !0)))
        }
        belowOrEqual(e) {
            return null == e ? Zt(this, Pt) : new this.Collection(this, (() => tn(void 0, e)))
        }
        startsWith(e) {
            return "string" != typeof e ? Zt(this, "String expected.") : this.between(e, e + xt, !0, !0)
        }
        startsWithIgnoreCase(e) {
            return "" === e ? this.startsWith(e) : en(this, ((e, t) => 0 === e.indexOf(t[0])), [e], xt)
        }
        equalsIgnoreCase(e) {
            return en(this, ((e, t) => e === t[0]), [e], "")
        }
        anyOfIgnoreCase() {
            var e = V.apply(W, arguments);
            return 0 === e.length ? Xt(this) : en(this, ((e, t) => -1 !== t.indexOf(e)), e, "")
        }
        startsWithAnyOfIgnoreCase() {
            var e = V.apply(W, arguments);
            return 0 === e.length ? Xt(this) : en(this, ((e, t) => t.some((t => 0 === e.indexOf(t)))), e, xt)
        }
        anyOf() {
            const e = V.apply(W, arguments);
            let t = this._cmp;
            try {
                e.sort(t)
            } catch (e) {
                return Zt(this, Pt)
            }
            if (0 === e.length) return Xt(this);
            const n = new this.Collection(this, (() => tn(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 = V.apply(W, arguments);
            if (0 === e.length) return new this.Collection(this);
            try {
                e.sort(this._ascending)
            } catch (e) {
                return Zt(this, Pt)
            }
            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 Xt(this);
            if (!e.every((e => void 0 !== e[0] && void 0 !== e[1] && r(e[0], e[1]) <= 0))) return Zt(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", ce.InvalidArgument);
            const a = !t || !1 !== t.includeLowers,
                c = t && !0 === t.includeUppers;
            let l, u = r;

            function d(e, t) {
                return u(e[0], t[0])
            }
            try {
                l = 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
                }), []), l.sort(d)
            } catch (e) {
                return Zt(this, Pt)
            }
            let h = 0;
            const f = c ? e => r(e, l[h][1]) > 0 : e => r(e, l[h][1]) >= 0,
                p = a ? e => i(e, l[h][0]) > 0 : e => i(e, l[h][0]) >= 0;
            let m = f;
            const y = new this.Collection(this, (() => tn(l[0][0], l[l.length - 1][1], !a, !c)));
            return y._ondirectionchange = e => {
                "next" === e ? (m = f, u = r) : (m = p, u = i), l.sort(d)
            }, y._addAlgorithm(((e, t, n) => {
                for (var i = e.key; m(i);)
                    if (++h, h === l.length) return t(n), !1;
                return !! function(e) {
                    return !f(e) && !p(e)
                }(i) || (0 === this._cmp(i, l[h][1]) || 0 === this._cmp(i, l[h][0]) || t((() => {
                    u === r ? e.continue(l[h][0]) : e.continue(l[h][1])
                })), !1)
            })), y
        }
        startsWithAnyOf() {
            const e = V.apply(W, arguments);
            return e.every((e => "string" == typeof e)) ? 0 === e.length ? Xt(this) : this.inAnyRange(e.map((e => [e, e + xt]))) : Zt(this, "startsWithAnyOf() only works with strings")
        }
    }

    function on(e) {
        return nt((function(t) {
            return sn(t), e(t.target.error), !1
        }))
    }

    function sn(e) {
        e.stopPropagation && e.stopPropagation(), e.preventDefault && e.preventDefault()
    }
    const an = Rt(null, "storagemutated");
    class cn {
        _lock() {
            return S(!Te.global), ++this._reculock, 1 !== this._reculock || Te.global || (Te.lockOwnerFor = this), this
        }
        _unlock() {
            if (S(!Te.global), 0 == --this._reculock)
                for (Te.global || (Te.lockOwnerFor = null); this._blockedFuncs.length > 0 && !this._locked();) {
                    var e = this._blockedFuncs.shift();
                    try {
                        vt(e[1], e[0])
                    } catch (e) {}
                }
            return this
        }
        _locked() {
            return this._reculock && Te.lockOwnerFor !== this
        }
        create(e) {
            if (!this.mode) return this;
            const t = this.db.idbdb,
                n = this.db._state.dbOpenError;
            if (S(!this.idbtrans), !e && !t) switch (n && n.name) {
                case "DatabaseClosedError":
                    throw new ce.DatabaseClosed(n);
                case "MissingAPIError":
                    throw new ce.MissingAPI(n.message, n);
                default:
                    throw new ce.OpenFailed(n)
            }
            if (!this.active) throw new ce.TransactionInactive;
            return S(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 = nt((t => {
                sn(t), this._reject(e.error)
            })), e.onabort = nt((t => {
                sn(t), this.active && this._reject(new ce.Abort(e.error)), this.active = !1, this.on("abort").fire(t)
            })), e.oncomplete = nt((() => {
                this.active = !1, this._resolve(), "mutatedParts" in e && an.storagemutated.fire(e.mutatedParts)
            })), this
        }
        _promise(e, t, n) {
            if ("readwrite" === e && "readwrite" !== this.mode) return kt(new ce.ReadOnly("Transaction is readonly"));
            if (!this.active) return kt(new ce.TransactionInactive);
            if (this._locked()) return new Ue(((r, i) => {
                this._blockedFuncs.push([() => {
                    this._promise(e, t, n).then(r, i)
                }, Te])
            }));
            if (n) return lt((() => {
                var e = new Ue(((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 Ue(((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 = Ue.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 Ue(((e, r) => {
                n.then((n => t._waitingQueue.push(nt(e.bind(null, n)))), (e => t._waitingQueue.push(nt(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 ce.Abort))
        }
        table(e) {
            const t = this._memoizedTables || (this._memoizedTables = {});
            if (v(t, e)) return t[e];
            const n = this.schema[e];
            if (!n) throw new ce.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 ln(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 ? "++" : "") + un(t)
        }
    }

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

    function dn(e, t, n) {
        return {
            name: e,
            primKey: t,
            indexes: n,
            mappedClass: null,
            idxByName: E(n, (e => [e.name, e]))
        }
    }
    let hn = e => {
        try {
            return e.only([
                []
            ]), hn = () => [
                []
            ], [
                []
            ]
        } catch (e) {
            return hn = () => xt, xt
        }
    };

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

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

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

    function vn(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 = pn(e.objectStoreNames);
            return {
                schema: {
                    name: e.name,
                    tables: n.map((e => t.objectStore(e))).map((e => {
                        const {
                            keyPath: t,
                            autoIncrement: n
                        } = e, r = f(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: fn(t)
                            },
                            indexes: pn(e.indexNames).map((t => e.index(t))).map((e => {
                                const {
                                    name: t,
                                    unique: n,
                                    multiEntry: r,
                                    keyPath: i
                                } = e, s = {
                                    name: t,
                                    compound: f(i),
                                    keyPath: i,
                                    unique: n,
                                    multiEntry: r,
                                    extractKey: fn(i)
                                };
                                return o[yn(i)] = s, s
                            })),
                            getIndexByKeyPath: e => o[yn(e)]
                        };
                        return o[":id"] = s.primaryKey, null != t && (o[yn(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, c) => {
                        a = nt(a);
                        const l = e.objectStore(t),
                            u = null == l.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 = [],
                            m = [];
                        let y = 0;
                        const v = e => {
                            ++y, sn(e)
                        };
                        if ("deleteRange" === n) {
                            if (4 === s.type) return a({
                                numFailures: y,
                                failures: m,
                                results: [],
                                lastResult: void 0
                            });
                            3 === s.type ? p.push(f = l.clear()) : p.push(f = l.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] ? l[n](e[r], t[r]) : l[n](e[r])), f.onerror = v;
                            else
                                for (let t = 0; t < h; ++t) p.push(f = l[n](e[t])), f.onerror = v
                        }
                        const g = e => {
                            const t = e.target.result;
                            p.forEach(((e, t) => null != e.error && (m[t] = e.error))), a({
                                numFailures: y,
                                failures: m,
                                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 = nt(r);
                    const o = e.objectStore(t),
                        s = n.length,
                        a = new Array(s);
                    let c, l = 0,
                        u = 0;
                    const d = e => {
                            const t = e.target;
                            a[t._pos] = t.result, ++u === l && r(a)
                        },
                        h = on(i);
                    for (let e = 0; e < s; ++e) null != n[e] && (c = o.get(n[e]), c._pos = e, c.onsuccess = d, c.onerror = h, ++l);
                    0 === l && r(a)
                })),
                get: ({
                    trans: e,
                    key: n
                }) => new Promise(((r, i) => {
                    r = nt(r);
                    const o = e.objectStore(t).get(n);
                    o.onsuccess = e => r(e.target.result), o.onerror = on(i)
                })),
                query: function(e) {
                    return n => new Promise(((i, o) => {
                        i = nt(i);
                        const {
                            trans: s,
                            values: a,
                            limit: c,
                            query: l
                        } = n, u = c === 1 / 0 ? void 0 : c, {
                            index: d,
                            range: h
                        } = l, f = s.objectStore(t), p = d.isPrimaryKey ? f : f.index(d.name), m = r(h);
                        if (0 === c) return i({
                            result: []
                        });
                        if (e) {
                            const e = a ? p.getAll(m, u) : p.getAllKeys(m, u);
                            e.onsuccess = e => i({
                                result: e.target.result
                            }), e.onerror = on(o)
                        } else {
                            let e = 0;
                            const t = a || !("openKeyCursor" in p) ? p.openCursor(m) : p.openKeyCursor(m),
                                n = [];
                            t.onsuccess = r => {
                                const o = t.result;
                                return o ? (n.push(a ? o.value : o.primaryKey), ++e === c ? i({
                                    result: n
                                }) : void o.continue()) : i({
                                    result: n
                                })
                            }, t.onerror = on(o)
                        }
                    }))
                }(o),
                openCursor: function({
                    trans: e,
                    values: n,
                    query: i,
                    reverse: o,
                    unique: s
                }) {
                    return new Promise(((a, c) => {
                        a = nt(a);
                        const {
                            index: l,
                            range: u
                        } = i, d = e.objectStore(t), h = l.isPrimaryKey ? d : d.index(l.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 = on(c), p.onsuccess = nt((t => {
                            const n = p.result;
                            if (!n) return void a(null);
                            n.___id = ++mn, 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 = nt(c), 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 = nt(e), p.onerror = on(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 = nt((e => {
                                    p.onsuccess = a, a()
                                })), n.continue = r, n.continuePrimaryKey = i, n.advance = o, a(), t
                            }, a(n)
                        }), c)
                    }))
                },
                count({
                    query: e,
                    trans: n
                }) {
                    const {
                        index: i,
                        range: o
                    } = e;
                    return new Promise(((e, s) => {
                        const a = n.objectStore(t),
                            c = i.isPrimaryKey ? a : a.index(i.name),
                            l = r(o),
                            u = l ? c.count(l) : c.count();
                        u.onsuccess = nt((t => e(t.target.result))), u.onerror = on(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: hn(t),
            schema: i
        }
    }

    function gn({
        _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)
                }(vn(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 bn({
        _novip: e
    }, t, n, r) {
        n.forEach((n => {
            const i = r[n];
            t.forEach((t => {
                const r = C(t, n);
                (!r || "value" in r && void 0 === r.value) && (t === e.Transaction.prototype || t instanceof e.Transaction ? _(t, n, {
                    get() {
                        return this.table(n)
                    }, set(e) {
                        b(this, n, {
                            value: e,
                            writable: !0,
                            configurable: !0,
                            enumerable: !0
                        })
                    }
                }) : t[n] = new e.Table(n, i))
            }))
        }))
    }

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

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

    function kn(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 = Te.transless || Te;
        lt((() => {
            Te.trans = o, Te.transless = a, 0 === t ? (h(i).forEach((e => {
                xn(n, e, i[e].primKey, i[e].indexes)
            })), gn(e, n), Ue.follow((() => e.on.populate.fire(o))).catch(s)) : function({
                _novip: e
            }, t, n, r) {
                const i = [],
                    o = e._versions;
                let s = e._dbSchema = On(e, e.idbdb, r),
                    a = !1;
                return o.filter((e => e._cfg.version >= t)).forEach((o => {
                        i.push((() => {
                            const i = s,
                                c = o._cfg.dbschema;
                            Sn(e, i, r), Sn(e, c, r), s = e._dbSchema = c;
                            const l = Cn(i, c);
                            l.add.forEach((e => {
                                xn(r, e[0], e[1].primKey, e[1].indexes)
                            })), l.change.forEach((e => {
                                if (e.recreate) throw new ce.Upgrade("Not yet support for changing primary key"); {
                                    const t = r.objectStore(e.name);
                                    e.add.forEach((e => Pn(t, e))), e.change.forEach((e => {
                                        t.deleteIndex(e.name), Pn(t, e)
                                    })), e.del.forEach((e => t.deleteIndex(e)))
                                }
                            }));
                            const u = o._cfg.contentUpgrade;
                            if (u && o._cfg.version > t) {
                                gn(e, r), n._memoizedTables = {}, a = !0;
                                let t = M(c);
                                l.del.forEach((e => {
                                    t[e] = i[e]
                                })), _n(e, [e.Transaction.prototype]), bn(e, [e.Transaction.prototype], h(t), t), n.schema = t;
                                const o = G(u);
                                let s;
                                o && ut();
                                const d = Ue.follow((() => {
                                    if (s = u(n), s && o) {
                                        var e = dt.bind(null, null);
                                        s.then(e, e)
                                    }
                                }));
                                return s && "function" == typeof s.then ? Ue.resolve(s) : d.then((() => s))
                            }
                        })), i.push((t => {
                            a && Kt || function(e, t) {
                                [].slice.call(t.db.objectStoreNames).forEach((n => null == e[n] && t.db.deleteObjectStore(n)))
                            }(o._cfg.dbschema, t), _n(e, [e.Transaction.prototype]), bn(e, [e.Transaction.prototype], e._storeNames, e._dbSchema), n.schema = e._dbSchema
                        }))
                    })),
                    function e() {
                        return i.length ? Ue.resolve(i.shift()(n.idbtrans)).then(e) : Ue.resolve()
                    }().then((() => {
                        var e, t;
                        t = r, h(e = s).forEach((n => {
                            t.db.objectStoreNames.contains(n) || xn(t, n, e[n].primKey, e[n].indexes)
                        }))
                    }))
            }(e, t, o, n).catch(s)
        }))
    }

    function Cn(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 && !St) 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 xn(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 => Pn(i, e))), i
    }

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

    function On(e, t, n) {
        const r = {};
        return P(t.objectStoreNames, 0).forEach((e => {
            const t = n.objectStore(e);
            let i = t.keyPath;
            const o = ln(un(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 = ln(n.name, i, !!n.unique, !!n.multiEntry, !1, i && "string" != typeof i, !1);
                s.push(a)
            }
            r[e] = dn(e, o, s)
        })), r
    }

    function Sn({
        _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 : "[" + P(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) && d.WorkerGlobalScope && d instanceof d.WorkerGlobalScope && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604 && (e._hasGetAll = !1)
    }
    class Kn {
        _parseStoresSpec(e, t) {
            h(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 ln(n, r || null, /\&/.test(e), /\*/.test(e), /\+\+/.test(e), f(r), 0 === t)
                        })),
                        i = r.shift();
                    if (i.multi) throw new ce.Schema("Primary key cannot be multi-valued");
                    r.forEach((e => {
                        if (e.auto) throw new ce.Schema("Only primary key can be marked as autoIncrement (++)");
                        if (!e.keyPath) throw new ce.Schema("Index must have a name and cannot be an empty string")
                    })), t[n] = dn(n, i, r)
                }
            }))
        }
        stores(e) {
            const t = this.db;
            this._cfg.storesSource = this._cfg.storesSource ? p(this._cfg.storesSource, e) : e;
            const n = t._versions,
                r = {};
            let i = {};
            return n.forEach((e => {
                p(r, e._cfg.storesSource), i = e._cfg.dbschema = {}, e._parseStoresSpec(r, i)
            })), t._dbSchema = i, _n(t, [t._allTables, t, t.Transaction.prototype]), bn(t, [t._allTables, t, t.Transaction.prototype, this._cfg.tables], h(i), i), t._storeNames = h(i), this
        }
        upgrade(e) {
            return this._cfg.contentUpgrade = be(this._cfg.contentUpgrade || de, e), this
        }
    }

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

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

    function Dn(e) {
        return lt((function() {
            return Te.letThrough = !0, e()
        }))
    }

    function Mn() {
        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 In(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) : f(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 ce.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 Rn(e, t, n, r, i) {
        return Ue.resolve().then((() => {
            const o = Te.transless || Te,
                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 === se.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => Rn(e, t, n, null, i)))) : kt(r)
            }
            const c = G(i);
            let l;
            c && ut();
            const u = Ue.follow((() => {
                if (l = i.call(s, s), l)
                    if (c) {
                        var e = dt.bind(null, null);
                        l.then(e, e)
                    } else "function" == typeof l.next && "function" == typeof l.throw && (l = In(l))
            }), a);
            return (l && "function" == typeof l.then ? Ue.resolve(l).then((e => s.active ? e : kt(new ce.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn")))) : u.then((() => l))).then((e => (r && s._resolve(), s._completion.then((() => e))))).catch((e => (s._reject(e), kt(e))))
        }))
    }

    function jn(e, t, n) {
        const r = f(e) ? e.slice() : [e];
        for (let e = 0; e < n; ++e) r.push(t);
        return r
    }
    const Tn = {
        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 = yn(e),
                            a = i[r] = i[r] || [],
                            c = null == e ? 0 : "string" == typeof e ? 1 : e.length,
                            l = t > 0,
                            u = {...n, isVirtual: l, keyTail: t, keyLength: c, extractKey: fn(e), unique: !l && n.unique
                            };
                        return a.push(u), u.isPrimaryKey || o.push(u), c > 1 && s(2 === c ? e[0] : e.slice(0, c - 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 c(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: jn(r.lower, r.lowerOpen ? e.MAX_KEY : e.MIN_KEY, i),
                                    lowerOpen: !0,
                                    upper: jn(r.upper, r.upperOpen ? e.MIN_KEY : e.MAX_KEY, i),
                                    upperOpen: !0
                                })
                            }
                        } : t;
                        var r, i
                    }
                    const l = {...n, schema: {...r, primaryKey: a, indexes: o, getIndexByKeyPath: function(e) {
                                const t = i[yn(e)];
                                return t && t[0]
                            }
                        }, count: e => n.count(c(e)), query: e => n.query(c(e)), openCursor(t) {
                            const {
                                keyTail: r,
                                isVirtual: i,
                                keyLength: o
                            } = t.query.index;
                            return i ? n.openCursor(c(t)).then((n => n && function(n) {
                                const i = Object.create(n, {
                                    continue: {
                                        value: function(i) {
                                            null != i ? n.continue(jn(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(jn(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 l
                }
            }
        }
    };

    function Nn(e, t, n, r) {
        return n = n || {}, r = r || "", h(e).forEach((i => {
            if (v(t, i)) {
                var o = e[i],
                    s = t[i];
                if ("object" == typeof o && "object" == typeof s && o && s) {
                    const e = U(o);
                    e !== U(s) ? n[r + i] = t[i] : "Object" === e ? Nn(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
        })), h(t).forEach((i => {
            v(e, i) || (n[r + i] = t[i])
        })), n
    }
    const Fn = {
        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 = Te.trans,
                                {
                                    deleting: o,
                                    creating: s,
                                    updating: a
                                } = i.table(t).hook;
                            switch (e.type) {
                                case "add":
                                    if (s.fire === de) break;
                                    return i._promise("readwrite", (() => c(e)), !0);
                                case "put":
                                    if (s.fire === de && a.fire === de) break;
                                    return i._promise("readwrite", (() => c(e)), !0);
                                case "delete":
                                    if (o.fire === de) break;
                                    return i._promise("readwrite", (() => c(e)), !0);
                                case "deleteRange":
                                    if (o.fire === de) break;
                                    return i._promise("readwrite", (() => function(e) {
                                        return l(e.trans, e.range, 1e4)
                                    }(e)), !0)
                            }
                            return n.mutate(e);

                            function c(e) {
                                const t = Te.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((c => {
                                        const l = i.map(((n, i) => {
                                            const l = c[i],
                                                u = {
                                                    onerror: null,
                                                    onsuccess: null
                                                };
                                            if ("delete" === e.type) o.fire.call(u, n, l, t);
                                            else if ("add" === e.type || void 0 === l) {
                                                const o = s.fire.call(u, n, e.values[i], t);
                                                null == n && null != o && (n = o, e.keys[i] = n, r.outbound || D(e.values[i], r.keyPath, n))
                                            } else {
                                                const r = Nn(l, e.values[i]),
                                                    o = a.fire.call(u, r, n, l, t);
                                                if (o) {
                                                    const t = e.values[i];
                                                    Object.keys(o).forEach((e => {
                                                        v(t, e) ? t[e] = o[e] : D(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 = l[r];
                                                null == o ? s.onerror && s.onerror(t[r]) : s.onsuccess && s.onsuccess("put" === e.type && c[r] ? e.values[r] : o)
                                            }
                                            return {
                                                failures: t,
                                                results: n,
                                                numFailures: r,
                                                lastResult: o
                                            }
                                        })).catch((e => (l.forEach((t => t.onerror && t.onerror(e))), Promise.reject(e))))
                                    }))
                            }

                            function l(e, t, i) {
                                return n.query({
                                    trans: e,
                                    values: !1,
                                    query: {
                                        index: r,
                                        range: t
                                    },
                                    limit: i
                                }).then((({
                                    result: n
                                }) => c({
                                    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
                                } : l(e, {...t, lower: n[n.length - 1], lowerOpen: !0
                                }, i)))))
                            }
                        }
                    };
                return i
            }
        })
    };

    function qn(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 === Wt(t.keys[i], e[o]) && (r.push(n ? N(t.values[i]) : t.values[i]), ++o);
            return r.length === e.length ? r : null
        } catch (e) {
            return null
        }
    }
    const Un = {
        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 = qn(e.keys, e.trans._cache, "clone" === e.cache);
                        return t ? Ue.resolve(t) : n.getMany(e).then((t => (e.trans._cache = {
                            keys: e.keys,
                            values: "clone" === e.cache ? N(t) : t
                        }, t)))
                    }, mutate: e => ("add" !== e.type && (e.trans._cache = null), n.mutate(e))
                }
            }
        })
    };

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

    function Wn(e, t, n) {
        const r = Wt(t, n);
        if (isNaN(r)) return;
        if (r > 0) throw RangeError();
        if (Ln(e)) return p(e, {
            from: t,
            to: n,
            d: 1
        });
        const i = e.l,
            o = e.r;
        if (Wt(n, e.from) < 0) return i ? Wn(i, t, n) : e.l = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Yn(e);
        if (Wt(t, e.to) > 0) return o ? Wn(o, t, n) : e.r = {
            from: t,
            to: n,
            d: 1,
            l: null,
            r: null
        }, Yn(e);
        Wt(t, e.from) < 0 && (e.from = t, e.l = null, e.d = o ? o.d + 1 : 1), Wt(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 && Vn(e, i), o && s && Vn(e, o)
    }

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

    function Gn(e) {
        let t = Ln(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 && Wt(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 || Wt(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 Yn(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 = Jn(n)
        }
        e.d = Jn(e)
    }

    function Jn({
        r: e,
        l: t
    }) {
        return (e ? t ? Math.max(e.d, t.d) : e.d : t ? t.d : 0) + 1
    }
    g(zn.prototype, {
        add(e) {
            return Vn(this, e), this
        }, addKey(e) {
            return Wn(this, e, e), this
        }, addKeys(e) {
            return e.forEach((e => Wn(this, e, e))), this
        }, [L]() {
            return Gn(this)
        }
    });
    const Hn = {
        stack: "dbcore",
        level: 0,
        create: e => {
            const t = e.schema.name,
                n = new zn(e.MIN_KEY, e.MAX_KEY);
            return {...e, table: r => {
                    const i = e.table(r),
                        {
                            schema: o
                        } = i,
                        {
                            primaryKey: s
                        } = o,
                        {
                            extractKey: a,
                            outbound: c
                        } = s,
                        l = {...i, mutate: e => {
                                const s = e.trans,
                                    a = s.mutatedParts || (s.mutatedParts = {}),
                                    c = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return a[n] || (a[n] = new zn)
                                    },
                                    l = c(""),
                                    u = c(":dels"),
                                    {
                                        type: d
                                    } = e;
                                let [h, p] = "deleteRange" === e.type ? [e.range] : "delete" === e.type ? [e.keys] : e.values.length < 50 ? [
                                    [], e.values
                                ] : [];
                                const m = e.trans._cache;
                                return i.mutate(e).then((e => {
                                    if (f(h)) {
                                        "delete" !== d && (h = e.results), l.addKeys(h);
                                        const t = qn(h, m);
                                        t || "add" === d || u.addKeys(h), (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 && f(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 !== Wt(i, a) && (null != i && s(i), null != a && s(a))
                                                }))
                                            }))
                                        }(c, o, t, p)
                                    } else if (h) {
                                        const e = {
                                            from: h.lower,
                                            to: h.upper
                                        };
                                        u.add(e), l.add(e)
                                    } else l.add(n), u.add(n), o.indexes.forEach((e => c(e.name).add(n)));
                                    return e
                                }))
                            }
                        },
                        u = ({
                            query: {
                                index: t,
                                range: n
                            }
                        }) => {
                            var r, i;
                            return [t, new zn(null !== (r = n.lower) && void 0 !== r ? r : e.MIN_KEY, null !== (i = n.upper) && void 0 !== i ? i : e.MAX_KEY)]
                        },
                        d = {get: e => [s, new zn(e.key)],
                            getMany: e => [s, (new zn).addKeys(e.keys)],
                            count: u,
                            query: u,
                            openCursor: u
                        };
                    return h(d).forEach((e => {
                        l[e] = function(o) {
                            const {
                                subscr: s
                            } = Te;
                            if (s) {
                                const l = e => {
                                        const n = `idb://${t}/${r}/${e}`;
                                        return s[n] || (s[n] = new zn)
                                    },
                                    u = l(""),
                                    h = l(":dels"),
                                    [f, p] = d[e](o);
                                if (l(f.name || "").add(p), !f.isPrimaryKey) {
                                    if ("count" !== e) {
                                        const t = "query" === e && c && o.values && i.query({...o, values: !1
                                        });
                                        return i[e].apply(this, arguments).then((n => {
                                            if ("query" === e) {
                                                if (c && 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) : h.addKeys(e)
                                            } else if ("openCursor" === e) {
                                                const e = n,
                                                    t = o.values;
                                                return e && Object.create(e, {
                                                    key: {get: () => (h.addKey(e.primaryKey), e.key)
                                                    },
                                                    primaryKey: {
                                                        get() {
                                                            const t = e.primaryKey;
                                                            return h.addKey(t), t
                                                        }
                                                    },
                                                    value: {get: () => (t && u.addKey(e.primaryKey), e.value)
                                                    }
                                                })
                                            }
                                            return n
                                        }))
                                    }
                                    h.add(n)
                                }
                            }
                            return i[e].apply(this, arguments)
                        }
                    })), l
                }
            }
        }
    };
    class Qn {
        constructor(e, t) {
            this._middlewares = {}, this.verno = 0;
            const n = Qn.dependencies;
            this._options = t = {
                addons: Qn.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: de,
                dbReadyPromise: null,
                cancelOpen: de,
                openCanceller: null,
                autoSchema: !0,
                PR1398_maxLoop: 3
            };
            var o;
            i.dbReadyPromise = new Ue((e => {
                i.dbReadyResolve = e
            })), i.openCanceller = new Ue(((e, t) => {
                i.cancelOpen = t
            })), this._state = i, this.name = e, this.on = Rt(this, "populate", "blocked", "versionchange", "close", {
                ready: [be, de]
            }), this.on.ready.subscribe = O(this.on.ready.subscribe, (e => (t, n) => {
                Qn.vip((() => {
                    const r = this._state;
                    if (r.openComplete) r.dbOpenError || Ue.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, jt(Yt.prototype, (function(e, t) {
                this.db = o;
                let n = Mt,
                    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 !== he ? a : null
                }
            }))), this.Table = function(e) {
                return jt(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 : Rt(null, {
                        creating: [me, de],
                        reading: [fe, he],
                        updating: [ve, de],
                        deleting: [ye, de]
                    })
                }))
            }(this), this.Transaction = function(e) {
                return jt(cn.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 = Rt(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 Ue(((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(), kt(e)
                    }))
                }))
            }(this), this.Version = function(e) {
                return jt(Kn.prototype, (function(t) {
                    this.db = e, this._cfg = {
                        version: t,
                        storesSource: null,
                        dbschema: {},
                        tables: {},
                        contentUpgrade: null
                    }
                }))
            }(this), this.WhereClause = function(e) {
                return jt(rn.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 ce.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 = hn(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), Ot.filter((e => e.name === this.name && e !== this && !e._state.vcFired)).map((t => t.on("versionchange").fire(e)))
            }, this.use(Tn), this.use(Fn), this.use(Hn), this.use(Un), this.vip = Object.create(this, {
                _vip: {
                    value: !0
                }
            }), r.forEach((e => e(this)))
        }
        version(e) {
            if (isNaN(e) || e < .1) throw new ce.Type("Given version is not a positive number");
            if (e = Math.round(10 * e) / 10, this.idbdb || this._state.isBeingOpened) throw new ce.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(wn), n.stores({}), this._state.autoSchema = !1, n)
        }
        _whenReady(e) {
            return this.idbdb && (this._state.openComplete || Te.letThrough || this._vip) ? e() : new Ue(((e, t) => {
                if (this._state.openComplete) return t(new ce.DatabaseClosed(this._state.dbOpenError));
                if (!this._state.isBeingOpened) {
                    if (!this._options.autoOpen) return void t(new ce.DatabaseClosed);
                    this.open().catch(de)
                }
                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 ? kt(t.dbOpenError) : e));
                Y && (t.openCanceller._stackHolder = Z()), t.isBeingOpened = !0, t.dbOpenError = null, t.openComplete = !1;
                const r = t.openCanceller;

                function i() {
                    if (t.openCanceller !== r) throw new ce.DatabaseClosed("db.open() was cancelled")
                }
                let o = t.dbReadyResolve,
                    s = null,
                    a = !1;
                return Ue.race([r, ("undefined" == typeof navigator ? Ue.resolve() : Mn()).then((() => new Ue(((r, o) => {
                    if (i(), !n) throw new ce.MissingAPI;
                    const c = e.name,
                        l = t.autoSchema ? n.open(c) : n.open(c, Math.round(10 * e.verno));
                    if (!l) throw new ce.MissingAPI;
                    l.onerror = on(o), l.onblocked = nt(e._fireOnBlocked), l.onupgradeneeded = nt((r => {
                        if (s = l.transaction, t.autoSchema && !e._options.allowEmptyDB) {
                            l.onerror = sn, s.abort(), l.result.close();
                            const e = n.deleteDatabase(c);
                            e.onsuccess = e.onerror = nt((() => {
                                o(new ce.NoSuchDatabase(`Database ${c} doesnt exist`))
                            }))
                        } else {
                            s.onerror = on(o);
                            var i = r.oldVersion > Math.pow(2, 62) ? 0 : r.oldVersion;
                            a = i < 1, e._novip.idbdb = l.result, kn(e, i / 10, s, o)
                        }
                    }), o), l.onsuccess = nt((() => {
                        s = null;
                        const n = e._novip.idbdb = l.result,
                            i = P(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 = On(0, t, n);
                                e._storeNames = P(t.objectStoreNames, 0), bn(e, [e._allTables], h(r), r)
                            }(e, n, r) : (Sn(e, e._dbSchema, r), function(e, t) {
                                const n = Cn(On(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.")), gn(e, r)
                        } catch (e) {}
                        var o;
                        Ot.push(e), n.onversionchange = nt((n => {
                            t.vcFired = !0, e.on("versionchange").fire(n)
                        })), n.onclose = nt((t => {
                            e.on("close").fire(t)
                        })), a && function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !An(e) && "__dbnames" !== n && En(e, t).put({
                                name: n
                            }).catch(de)
                        }(e._deps, c), r()
                    }), o)
                }))))]).then((() => (i(), t.onReadyBeingFired = [], Ue.resolve(Dn((() => e.on.ready.fire(e.vip)))).then((function n() {
                    if (t.onReadyBeingFired.length > 0) {
                        let r = t.onReadyBeingFired.reduce(be, de);
                        return t.onReadyBeingFired = [], Ue.resolve(Dn((() => 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(), kt(n)
                })).finally((() => {
                    t.openComplete = !0, o()
                }))
            }(this)
        }
        _close() {
            const e = this._state,
                t = Ot.indexOf(this);
            if (t >= 0 && Ot.splice(t, 1), this.idbdb) {
                try {
                    this.idbdb.close()
                } catch (e) {}
                this._novip.idbdb = null
            }
            e.dbReadyPromise = new Ue((t => {
                e.dbReadyResolve = t
            })), e.openCanceller = new Ue(((t, n) => {
                e.cancelOpen = n
            }))
        }
        close() {
            this._close();
            const e = this._state;
            this._options.autoOpen = !1, e.dbOpenError = new ce.DatabaseClosed, e.isBeingOpened && e.cancelOpen(e.dbOpenError)
        }
        delete() {
            const e = arguments.length > 0,
                t = this._state;
            return new Ue(((n, r) => {
                const i = () => {
                    this.close();
                    var e = this._deps.indexedDB.deleteDatabase(this.name);
                    e.onsuccess = nt((() => {
                        ! function({
                            indexedDB: e,
                            IDBKeyRange: t
                        }, n) {
                            !An(e) && "__dbnames" !== n && En(e, t).delete(n).catch(de)
                        }(this._deps, this.name), n()
                    })), e.onerror = on(r), e.onblocked = this._fireOnBlocked
                };
                if (e) throw new ce.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 h(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 = Te.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 ce.InvalidArgument("Invalid transaction mode: " + e);
                    o = "readwrite"
                }
                if (r) {
                    if ("readonly" === r.mode && "readwrite" === o) {
                        if (!i) throw new ce.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 ce.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)
                })) : kt(e)
            }
            const a = Rn.bind(null, this, o, s, r, n);
            return r ? r._promise(o, a, "lock") : Te.trans ? vt(Te.transless, (() => this._whenReady(a))) : this._whenReady(a)
        }
        table(e) {
            if (!v(this._allTables, e)) throw new ce.InvalidTable(`Table ${e} does not exist`);
            return this._allTables[e]
        }
    }
    const Zn = "undefined" != typeof Symbol && "observable" in Symbol ? Symbol.observable : "@@observable";
    class Xn {
        constructor(e) {
            this._subscribe = e
        }
        subscribe(e, t, n) {
            return this._subscribe(e && "function" != typeof e ? e : {
                next: e,
                error: t,
                complete: n
            })
        }[Zn]() {
            return this
        }
    }

    function $n(e, t) {
        return h(t).forEach((n => {
            Vn(e[n] || (e[n] = new zn), t[n])
        })), e
    }
    let er;
    try {
        er = {
            indexedDB: d.indexedDB || d.mozIndexedDB || d.webkitIndexedDB || d.msIndexedDB,
            IDBKeyRange: d.IDBKeyRange || d.webkitIDBKeyRange
        }
    } catch (d) {
        er = {
            indexedDB: null,
            IDBKeyRange: null
        }
    }
    const tr = Qn;

    function nr(e) {
        let t = rr;
        try {
            rr = !0, an.storagemutated.fire(e)
        } finally {
            rr = t
        }
    }
    g(tr, {...ue, delete: e => new tr(e, {
            addons: []
        }).delete(), exists: e => new tr(e, {
            addons: []
        }).open().then((e => (e.close(), !0))).catch("NoSuchDatabaseError", (() => !1)), getDatabaseNames(e) {
            try {
                return function({
                    indexedDB: e,
                    IDBKeyRange: t
                }) {
                    return An(e) ? Promise.resolve(e.databases()).then((e => e.map((e => e.name)).filter((e => "__dbnames" !== e)))) : En(e, t).toCollection().primaryKeys()
                }(tr.dependencies).then(e)
            } catch (e) {
                return kt(new ce.MissingAPI)
            }
        }, defineClass: () => function(e) {
            p(this, e)
        }, ignoreTransaction: e => Te.trans ? vt(Te.transless, e) : e(), vip: Dn, async: function(e) {
            return function() {
                try {
                    var t = In(e.apply(this, arguments));
                    return t && "function" == typeof t.then ? t : Ue.resolve(t)
                } catch (e) {
                    return kt(e)
                }
            }
        }, spawn: function(e, t, n) {
            try {
                var r = In(e.apply(n, t || []));
                return r && "function" == typeof r.then ? r : Ue.resolve(r)
            } catch (e) {
                return kt(e)
            }
        }, currentTransaction: {get: () => Te.trans || null
        }, waitFor: function(e, t) {
            const n = Ue.resolve("function" == typeof e ? tr.ignoreTransaction(e) : e).timeout(t || 6e4);
            return Te.trans ? Te.trans.waitFor(n) : n
        }, Promise: Ue, debug: {get: () => Y,
            set: e => {
                J(e, "dexie" === e ? () => !0 : At)
            }
        }, derive: w, extend: p, props: g, override: O, Events: Rt, on: an, liveQuery: function(e) {
            return new Xn((t => {
                const n = G(e);
                let r = !1,
                    i = {},
                    o = {};
                const s = {get closed() {
                        return r
                    },
                    unsubscribe: () => {
                        r = !0, an.storagemutated.unsubscribe(u)
                    }
                };
                t.start && t.start(s);
                let a = !1,
                    c = !1;

                function l() {
                    return h(o).some((e => i[e] && function(e, t) {
                        const n = Gn(t);
                        let r = n.next();
                        if (r.done) return !1;
                        let i = r.value;
                        const o = Gn(e);
                        let s = o.next(i.from),
                            a = s.value;
                        for (; !r.done && !s.done;) {
                            if (Wt(a.from, i.to) <= 0 && Wt(a.to, i.from) >= 0) return !0;
                            Wt(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 u = e => {
                        $n(i, e), l() && d()
                    },
                    d = () => {
                        if (a || r) return;
                        i = {};
                        const h = {},
                            f = function(t) {
                                n && ut();
                                const r = () => lt(e, {
                                        subscr: t,
                                        trans: null
                                    }),
                                    i = Te.trans ? vt(Te.transless, r) : r();
                                return n && i.then(dt, dt), i
                            }(h);
                        c || (an("storagemutated", u), c = !0), a = !0, Promise.resolve(f).then((e => {
                            a = !1, r || (l() ? d() : (i = {}, o = h, t.next && t.next(e)))
                        }), (e => {
                            a = !1, t.error && t.error(e), s.unsubscribe()
                        }))
                    };
                return d(), s
            }))
        }, extendObservabilitySet: $n, getByKeyPath: A, setByKeyPath: D, delByKeyPath: function(e, t) {
            "string" == typeof t ? D(e, t, void 0) : "length" in t && [].map.call(t, (function(t) {
                D(e, t, void 0)
            }))
        }, shallowClone: M, deepClone: N, getObjectDiff: Nn, cmp: Wt, asap: K, minKey: -1 / 0, addons: [], connections: Ot, errnames: se, dependencies: er, semVer: "3.2.1", version: "3.2.1".split(".").map((e => parseInt(e))).reduce(((e, t, n) => e + t / Math.pow(10, 2 * n)))
    }), tr.maxKey = hn(tr.dependencies.IDBKeyRange), "undefined" != typeof dispatchEvent && "undefined" != typeof addEventListener && (an("storagemutated", (e => {
        if (!rr) {
            let t;
            St ? (t = document.createEvent("CustomEvent"), t.initCustomEvent("x-storagemutated-1", !0, !0, e)) : t = new CustomEvent("x-storagemutated-1", {
                detail: e
            }), rr = !0, dispatchEvent(t), rr = !1
        }
    })), addEventListener("x-storagemutated-1", (({
        detail: e
    }) => {
        rr || nr(e)
    })));
    let rr = !1;
    if ("undefined" != typeof BroadcastChannel) {
        const e = new BroadcastChannel("x-storagemutated-1");
        an("storagemutated", (t => {
            rr || e.postMessage(t)
        })), e.onmessage = e => {
            e.data && nr(e.data)
        }
    } else if ("undefined" != typeof self && "undefined" != typeof navigator) {
        an("storagemutated", (e => {
            try {
                rr || ("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 && nr(t.changedParts)
            }
        }));
        const e = self.document && navigator.serviceWorker;
        e && e.addEventListener("message", (function({
            data: e
        }) {
            e && "x-storagemutated-1" === e.type && nr(e.changedParts)
        }))
    }
    Ue.rejectionMapper = function(e, t) {
        if (!e || e instanceof ne || e instanceof TypeError || e instanceof SyntaxError || !e.name || !le[e.name]) return e;
        var n = new le[e.name](t || e.message, e);
        return "stack" in e && _(n, "stack", {get: function() {
                return this.inner.stack
            }
        }), n
    }, J(Y, At);
    var ir = new class extends Qn {
        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"
            })
        }
    };

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

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

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

                function a(e) {
                    or(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class ar {
        saveParameters(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
            return ir.transaction("rw", ir.auction, function() {
                var n = sr((function*(n) {
                    yield ir.auction.clear(),
                        yield ir.auction.put({
                            request_options: JSON.stringify(e),
                            notifications: JSON.stringify(t)
                        })
                }));
                return function(e) {
                    return n.apply(this, arguments)
                }
            }())
        }
        getParameters() {
            return sr((function*() {
                var e =
                    yield ir.auction.toArray();
                if (e.length) {
                    var t = e[0];
                    return {
                        auctionRequestOptions: JSON.parse(t.request_options),
                        notifications: JSON.parse(t.notifications)
                    }
                }
                return null
            }))()
        }
        saveSettings(e) {
            return ir.transaction("rw", ir.settings, function() {
                var t = sr((function*(t) {
                    yield ir.settings.clear(),
                        yield ir.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
                        })
                }));
                return function(e) {
                    return t.apply(this, arguments)
                }
            }())
        }
        getSettings() {
            return sr((function*() {
                var e =
                    yield ir.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
                    }
                }
                return null
            }))()
        }
    }

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

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

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

                function a(e) {
                    cr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class ur {
        addImpression(e) {
            return ir.transaction("rw", ir.stat, lr((function*() {
                var t = Date.now(),
                    n =
                    yield ir.stat.get({
                        creative_id: e.creative_id,
                        tag: ""
                    });
                return n ? ir.stat.update(n.id, {
                    impressions: n.impressions + 1,
                    update_time: t
                }) : ir.stat.put({
                    creative_id: e.creative_id,
                    impressions: 1,
                    clicks: 0,
                    create_time: t,
                    update_time: t,
                    category: e.category,
                    creative_country: e.creative_country,
                    tag: ""
                })
            })))
        }
        addClick(e) {
            return ir.transaction("rw", ir.stat, lr((function*() {
                var t = Date.now(),
                    n =
                    yield ir.stat.get({
                        creative_id: e.creative_id,
                        tag: ""
                    });
                return n ? ir.stat.update(n.id, {
                    clicks: n.clicks + 1,
                    update_time: t
                }) : ir.stat.put({
                    creative_id: e.creative_id,
                    impressions: 0,
                    clicks: 1,
                    create_time: t,
                    update_time: t,
                    category: e.category,
                    creative_country: e.creative_country,
                    tag: ""
                })
            })))
        }
        getData(e) {
            return ir.transaction("rw", ir.stat, lr((function*() {
                return yield ir.stat.where({
                    tag: ""
                }).modify({
                    tag: e
                }), ir.stat.where({
                    tag: e
                }).toArray()
            })))
        }
        clearTag(e) {
            return ir.transaction("rw", ir.stat, (() => ir.stat.where({
                tag: e
            }).modify({
                tag: ""
            })))
        }
        clearData(e) {
            return ir.transaction("rw", ir.stat, (() => ir.stat.where({
                tag: e
            }).delete()))
        }
    }

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

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

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

                function a(e) {
                    dr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class fr {
        setRules(e) {
            return ir.transaction("rw", ir.plimit, hr((function*() {
                var t =
                    yield ir.plimit.where("uid").anyOf(e.map((e => e.uid))).filter((t => e.some((e => e.uid === t.uid && e.end_at === t.end_at)))).toArray();
                return void 0 === t ? ir.plimit.bulkPut(e.map((e => (e.count = 0, e)))) : ir.plimit.bulkPut(e.filter((e => !t.some((t => e.uid === t.uid && e.end_at === t.end_at)))))
            })))
        }
        updateLimits(e) {
            return ir.transaction("rw", ir.plimit, hr((function*() {
                var t =
                    yield ir.plimit.where("uid").equals(e).and((e => e.count !== e.limit)).toArray();
                if (t.length > 0) return ir.plimit.bulkPut(t.map((e => (e.count = e.count + 1, e))))
            })))
        }
        isLimited(e) {
            return ir.transaction("rw", ir.plimit, hr((function*() {
                var t = Date.now(),
                    n =
                    yield ir.plimit.where("uid").equals(e).toArray();
                return ir.plimit.bulkDelete(n.filter((e => t > e.end_at)).map((e => e.id))), 0 === n.filter((e => t < e.end_at && e.limit === e.count)).length
            })))
        }
    }

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

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

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

                function a(e) {
                    pr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    class yr {
        addImpression(e) {
            return ir.transaction("rw", ir.impWCl, mr((function*() {
                if ((
                        yield ir.impWCl.count()) >= 1e3) {
                    var t =
                        yield ir.impWCl.limit(1).first();
                    ir.impWCl.delete(t.id)
                }
                return ir.impWCl.put({
                    rid: e,
                    cl: 0
                })
            })))
        }
        getImpression(e) {
            return ir.impWCl.get({
                rid: e
            })
        }
        getAllImpressions() {
            return ir.impWCl.toArray()
        }
        incrementImpressionClicks(e) {
            var t = this;
            return ir.transaction("rw", ir.impWCl, mr((function*() {
                var n =
                    yield ir.impWCl.get({
                        rid: e
                    });
                return n ? ir.impWCl.update(n.id, {
                    cl: n.cl + 1
                }) : t.addImpression(e)
            })))
        }
    }

    function vr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }
    var gr = new class {
        clearOld() {
            return ir.transaction("rw", [ir.fclicks, ir.clicks], (() => {
                var e = Date.now(),
                    t = e - 1728e5;
                return Promise.all([ir.fclicks.filter((e => void 0 === e.date)).delete(), ir.fclicks.where("ttl").belowOrEqual(e).delete(), ir.clicks.where("ttl").belowOrEqual(e).delete(), ir.fclicks.where("date").below(t).delete(), ir.clicks.where("date").below(t).delete()])
            }))
        }
        countAllClicks() {
            var e = this;
            return function(e) {
                return function() {
                    var t = this,
                        n = arguments;
                    return new Promise((function(r, i) {
                        var o = e.apply(t, n);

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

                        function a(e) {
                            vr(o, r, i, s, a, "throw", e)
                        }
                        s(void 0)
                    }))
                }
            }((function*() {
                return yield e.clearOld(), ir.clicks.count()
            }))()
        }
        getFiredClick() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
            return ir.fclicks.where({
                url: e
            }).first()
        }
        getFiredClicks() {
            return ir.fclicks.toArray()
        }
        addFiredClicks(e) {
            return ir.fclicks.bulkPut(e)
        }
        getFiredClickByCid(e) {
            return ir.fclicks.where("cid").equals(e).toArray()
        }
        getStoredClicks() {
            return ir.clicks.toArray()
        }
        getStoredMaxPriceClick() {
            return ir.clicks.orderBy("price").last()
        }
        addStoredClicks(e) {
            return ir.clicks.bulkPut(e)
        }
        removeStoredClick(e) {
            return ir.clicks.where("id").equals(e).delete()
        }
        removeStoredClicks(e) {
            return ir.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
        }
        getFiredClicksByCid(e) {
            return this.getFiredClicks().filter((t => t.cid === e))
        }
        getFiredClicksByUid(e) {
            return this.getFiredClicks().filter((t => t.capping_uid === e))
        }
        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, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).then(r, i)
    }

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

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

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

    function kr(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 Cr(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? kr(Object(n), !0).forEach((function(t) {
                xr(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : kr(Object(n)).forEach((function(t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

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

    function Pr(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)
    }
    var Or = new WeakSet;
    const Sr = class {
        constructor() {
            Pr(this, Or), this.timezone_offset = (new Date).getTimezoneOffset() / -60, this.version = e, this.ClickLocalDB = new br, this.LimitRuleModel = new fr, this.ImpressionModel = new yr
        }
        static getVersion() {
            return e
        }
        createNotificationRecord(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                n = Date.now() - 1e3 * e.currentTime;

            function r(e, t) {
                return void 0 === e || "number" != typeof e || 0 === e ? null : e + t
            }
            var i = e.capping_ext ? e.capping_ext.map((e => (e.end_at = r(e.end_at, n), e))) : null;
            return i && this.LimitRuleModel.setRules(i), {
                data: Cr(Cr({}, t), {}, {
                    notificationUrl: e.notificationUrl,
                    delay: e.delay,
                    capping_uid: e.capping_uid || null,
                    cid: e.cid,
                    url: e.url,
                    price: e.correctedPrice || 0,
                    ttl: r(e.expirationTimestamp, n),
                    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
                }),
                title: e.title,
                body: e.body,
                image: e.image,
                icon: this.createShowURL(e),
                actions: e.options.actions,
                requireInteraction: e.options.requireInteraction
            }
        }
        closeExpiredNotifications() {
            return wr((function*() {
                (
                    yield self.registration.getNotifications()).forEach((e => {
                    e.data.ttl <= Date.now() && e.close()
                }))
            }))()
        }
        displayNotification(e) {
            return o(e.data.delay, self.registration.showNotification(e.title, e)).then((() => {
                e.data.notificationUrl && fetch(e.data.notificationUrl), this.ImpressionModel.addImpression(e.data.rid)
            })).catch((e => {
                console.log("TC SW Imp Error: ".concat(e.toString()))
            }))
        }
        openNotificationUrl(e, t) {
            var n = this;
            return wr((function*() {
                var r = Date.now();
                n.ClickLocalDB.addFiredClick({
                    rid: e.rid,
                    cid: e.cid,
                    url: e.url,
                    capping_uid: e.capping_uid,
                    ttl: e.ttl,
                    date: r
                }), n.ImpressionModel.incrementImpressionClicks(e.rid), e.capping_uid && n.LimitRuleModel.updateLimits(e.capping_uid);
                var i = function(e, t, n) {
                    if (!t.has(e)) throw new TypeError("attempted to get private field on non-instance");
                    return n
                }(n, Or, Kr).call(n, e, t, r);
                return self.clients.openWindow(i)
            }))()
        }
        createShowURL(e) {
            var t = new URL(e.icon),
                n = e.options.actions.map((e => e.title)).join(",");
            return t.searchParams.append("button_title", encodeURI(n)), t.href
        }
        isClickPossible(e) {
            var t = this;
            return wr((function*() {
                return t.ClickLocalDB.isClickUrlFired(e.url) ? (a("ClickUrlFired"), !1) : e.ttl && e.ttl <= Date.now() ? (a("Click ttl expired"), !1) : !e.capping_uid || t.LimitRuleModel.isLimited(e.capping_uid)
            }))()
        }
        reAuction(e, t) {
            var n = this;
            return wr((function*() {
                var r =
                    yield c(e + "&send_id=1");
                if (Array.isArray(r) && r.length > 0) {
                    var i = r.map((r => n.createNotificationRecord(r, {
                        pushPayload: t,
                        auctionUrl: e
                    }))).sort(((e, t) => t.data.price - e.data.price));
                    return i.forEach((e => n.displayNotification(e))), i
                }
                return []
            }))()
        }
        processClick(e, t) {
            var n = this;
            return wr((function*() {
                var {
                    rid: r,
                    auctionUrl: i,
                    botProtection: o,
                    pushPayload: s,
                    ignoreClickLogic: c
                } = e.data;
                a("ignoreClickLogic", c), n.ClickLocalDB.getStoredClicks() || (
                    yield n.ClickLocalDB.loadClickStore());
                var l =
                    yield n.isClickPossible(e.data);
                a("originalClickPossible: ", l, e.data);
                var u = n.ClickLocalDB.getStoredClicks().length;
                if ((0 === u || 1 === u && !l || c) && e.close(), l) return n.openNotificationUrl(e.data, t);
                var d = n.ClickLocalDB.getStoredMaxPriceClick();
                if (d) return (
                    yield n.isClickPossible(d)) ? (a("storedClick used: ", d), n.openNotificationUrl(Object.assign(d, {
                    rid: r,
                    count: u,
                    botProtection: o
                }), t)) : n.processClick(e, t);
                if (0 === ((
                        yield n.ImpressionModel.getImpression(r)) || {
                        cl: 0
                    }).cl) {
                    var h =
                        yield n.reAuction(i, s);
                    for (var f of(a("reAuction done: ", h), h))
                        if (
                            yield n.isClickPossible(f.data)) return a("get click url from reaction: ", f), n.openNotificationUrl(Object.assign(f.data, {
                            rid: r,
                            botProtection: o
                        }), t)
                }
                return Promise.resolve()
            }))()
        }
        push(e, t, n) {
            var r = this;
            return wr((function*() {
                var i, o, {
                        isMetaMaskActive: s,
                        userKeywords: a,
                        entryReferrerDomain: l,
                        tagAbVersion: u
                    } = n,
                    d = t;
                try {
                    var h = e.data.json();
                    d = h.sid ? h : h.data
                } catch (e) {
                    d = t
                }
                if (d) try {
                    d.ver = r.version, d.ver_c = r.version;
                    var f =
                        yield r.ImpressionModel.getAllImpressions();
                    f.length >= 100 && (d.ctr = f.reduce(((e, t) => e += t.cl), 0) / f.length);
                    var p = 0 === r.timezone_offset ? 0 : r.timezone_offset,
                        m = (i = Cr(Cr({}, d), {}, {
                            timezone_offset: p,
                            mm: s,
                            user_keywords: a,
                            pr: l,
                            tag_ab: u
                        }), o = new URL("/in/multy", "https://notification.tubecup.net"), Object.entries(i).forEach((e => {
                            var [t, n] = e;
                            "object" == typeof n ? o.searchParams.append(t, encodeURI(JSON.stringify(n))) : o.searchParams.append(t, n)
                        })), o.toString()),
                        y =
                        yield c(m);
                    return r.closeExpiredNotifications(), Promise.all(y.map((e => {
                        var t = r.createNotificationRecord(e, {
                            auctionUrl: m,
                            pushPayload: d
                        });
                        return r.displayNotification(t)
                    })))
                } catch (e) {
                    throw new Error("TC SW Error: ".concat(e))
                }
            }))()
        }
        notificationclick(e) {
            var t;
            if (!e.notification.data) return Promise.resolve();
            var n = null !== (t = e.notification.actions.find((t => t.action === e.action))) && void 0 !== t ? t : {
                action: "banner"
            };
            return o(0, this.processClick(e.notification, n))
        }
        notificationclose(e) {
            var t = this;
            return wr((function*() {
                if (!e.notification.data) return Promise.resolve();
                var {
                    url: n,
                    price: r,
                    ttl: i,
                    cid: o,
                    capping_uid: s,
                    ignoreClickLogic: a,
                    crtid: c,
                    isCpm: l,
                    trackCloseUrl: u
                } = e.notification.data;
                u && function(e, t) {
                    try {
                        fetch(e, t)
                    } catch (e) {
                        console.log(e)
                    }
                }(u);
                var d = new URL(n);
                return d.searchParams.append("ml", 1), !a && (t.ClickLocalDB.getStoredClicks() || (
                    yield t.ClickLocalDB.loadClickStore()), t.ClickLocalDB.isClickUrlFired(n) || l || i && !(i > Date.now()) ? void 0 : (t.ClickLocalDB.addStoredClick({
                    url: d.toString(),
                    price: r,
                    ttl: i,
                    cid: o,
                    capping_uid: s,
                    crtid: c,
                    date: Date.now()
                }), Promise.resolve()))
            }))()
        }
    };

    function Kr(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", t.title), r
    }
    var Er = {
            beforeAuctionFetch: {
                et: 60
            },
            beforeIconLoad: {
                et: 61
            },
            iconLoaded: {
                et: 62
            },
            windowOpened: {
                et: 63
            },
            windowNotOpened: {
                et: 64
            },
            iconNotLoaded: {
                et: 65
            }
        },
        Ar = ["hdzog"];
    for (var Dr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", Mr = new Uint8Array(256), Ir = 0; Ir < Dr.length; Ir++) Mr[Dr.charCodeAt(Ir)] = Ir;

    function Br(e) {
        for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Dr, 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 Rr(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Mr,
            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)],
                c = t[e.charCodeAt(s + 1)],
                l = t[e.charCodeAt(s + 2)],
                u = t[e.charCodeAt(s + 3)];
            o[i++] = a << 2 | c >> 4, o[i++] = (15 & c) << 4 | l >> 2, o[i++] = (3 & l) << 6 | 63 & u
        }
        return o
    }
    Mr[45] = 62, Mr[95] = 63;
    const jr = 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 Tr(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 Nr(e, t, n, r, i, o, s) {
        try {
            var a = e[o](s),
                c = a.value
        } catch (e) {
            return void n(e)
        }
        a.done ? t(c) : Promise.resolve(c).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) {
                    Nr(o, r, i, s, a, "next", e)
                }

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

    function Ur(e) {
        return Lr.apply(this, arguments)
    }

    function Lr() {
        return (Lr = Fr((function*(t) {
            var {
                pushManager: n,
                currentSubscription: r,
                vapidKey: i,
                vapID: o,
                tcId: s,
                spotId: a,
                tube: c,
                sub: l,
                utmSource: u,
                utmMedium: d,
                utmCampaign: h,
                utmContent: f,
                isAdblock: p,
                fingerprint: m,
                referrer: y = "",
                href: v = "",
                sid: g
            } = t;
            yield r.unsubscribe();
            var b =
                yield n.subscribe({
                    applicationServerKey: Rr(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: Br(w),
                        publicKey: Br(_),
                        endpoint: b.endpoint,
                        sdkVersion: e,
                        tcid: s,
                        spot_id: a,
                        token_id: o,
                        tube: "other" === c ? "tcpublisher" : c,
                        sub: l,
                        utm_source: u,
                        utm_medium: d,
                        utm_campaign: h,
                        utm_content: f,
                        is_adblock: p,
                        fp: m,
                        referrer: y,
                        href: v,
                        sid: g
                    })
                })).json()
        }))).apply(this, arguments)
    }

    function zr() {
        return (zr = Fr((function*(e, t, n) {
            var {
                tcId: r,
                spotId: i,
                tube: o,
                sub: s,
                utmSource: a,
                utmMedium: c,
                utmCampaign: l,
                utmContent: u,
                isAdblock: d,
                fingerprint: h,
                sid: f,
                referrer: p,
                href: m
            } = t, {
                minIndexKey: y,
                maxIndexKey: v
            } = n, g = jr.x.map((e => {
                    var {
                        publicKey: t
                    } = e;
                    return t
                })), b =
                yield e.getSubscription(), _ = Br(b.options.applicationServerKey);
            if (!g.includes(_) || "other" === o) {
                var w = jr.x,
                    k = Tr(w, y, v) || w[0];
                return yield Ur({
                    pushManager: e,
                    currentSubscription: b,
                    vapidKey: k.publicKey,
                    vapID: k.id,
                    tcId: r,
                    spotId: i,
                    tube: o,
                    sub: s,
                    utmSource: a,
                    utmMedium: c,
                    utmCampaign: l,
                    utmContent: u,
                    isAdblock: d,
                    fingerprint: h,
                    referrer: p,
                    href: m,
                    sid: f
                })
            }
            return {
                sid: f
            }
        }))).apply(this, arguments)
    }

    function Wr(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 Vr(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? Wr(Object(n), !0).forEach((function(t) {
                Gr(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Wr(Object(n)).forEach((function(t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

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

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

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

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

                function a(e) {
                    Yr(o, r, i, s, a, "throw", e)
                }
                s(void 0)
            }))
        }
    }
    var Hr = [{
            action: "more",
            title: "More"
        }, {
            action: "settings",
            title: "Settings"
        }],
        Qr = ["auction-request", "on-demand", "mixed"],
        Zr = {
            more: ["<9", "=�", "=�", "=�", "=�", "<�", "<�", "=�"],
            settings: ["='", "=�", "�"]
        },
        Xr = ["bookmark", "face", "starburst", "warranty"],
        $r = {
            nextNotification: 0,
            mode: null,
            demandModeProbability: .5,
            creativesUpdateTime: null,
            statSendTime: null,
            postponedUpdateTime: null,
            isMetaMaskActive: !1,
            userKeywords: "",
            entryReferrerDomain: null,
            tagAbVersion: ""
        };
    class ei {
        constructor() {
            this.Tracking = new class {
                constructor() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "https://logger.wpu.sh/";
                    this.trackingURL = e, this.params = {}
                }
                track(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    return Ar.includes(this.params.site) && Er[e] ? fetch(this.trackingURL + "?" + this.getQueryString(e, t)).catch((() => Promise.resolve())) : Promise.resolve()
                }
                setParam(e, t) {
                    this.params[e] = t
                }
                getQueryString(e, t) {
                    return Object.keys(Er[e]).map((t => "".concat(encodeURIComponent(t), "=").concat(encodeURIComponent(Er[e][t])))).concat(Object.keys(t).map((e => "".concat(encodeURIComponent(e), "=").concat(encodeURIComponent(t[e]))))).join("&")
                }
            }, this.Auction = new ar, this.Stat = new ur, this.modes = {
                auctionRequest: new Sr
            }, this.version = e, this.auctionRequestOptions = null, this.notificationsMap = {}, this.settingsRestored = !1, Object.keys($r).forEach((e => {
                this[e] = $r[e]
            }))
        }
        get notifications() {
            return this._notifications || []
        }
        set notifications(e) {
            this._notifications = e, this.notificationsMap = {}, this._notifications.forEach((e => {
                this.notificationsMap[e.creative_id] = e
            }))
        }
        static getVersion() {
            return e
        }
        restoreEnvironment() {
            var e = this;
            return Jr((function*() {
                if (!e.settingsRestored) {
                    e.settingsRestored = !0;
                    var t =
                        yield e.Auction.getParameters();
                    t && (e.auctionRequestOptions = t.auctionRequestOptions, e.notifications = t.notifications);
                    var n =
                        yield e.Auction.getSettings();
                    Object.keys($r).forEach((t => {
                        e[t] = n && n[t] || $r[t]
                    }))
                }
            }))()
        }
        saveEnvironment() {
            var e = this;
            return Jr((function*() {
                return u([e.Auction.saveParameters(e.auctionRequestOptions, e.notifications), e.Auction.saveSettings(Object.keys($r).reduce(((t, n) => (t[n] = e[n], t)), {}))])
            }))()
        }
        showNotification() {
            var e = this;
            return Jr((function*() {
                if (
                    yield e.restoreEnvironment(), null === self.registration.active || !e.notifications || !e.notifications.length) return Promise.resolve();
                var t;
                e.nextNotification >= e.notifications.length && (e.nextNotification = e.notifications.length - 1);
                var n = e.notifications[e.nextNotification++];
                (e.nextNotification === e.notifications.length || e.nextNotification > 13) && (e.nextNotification = 0);
                var r = Hr.map((e => ({
                    action: e.action,
                    title: "".concat(Zr[e.action][Math.round(Math.random() * (Zr[e.action].length - 1))], " ").concat(e.title)
                })));
                return t = self.registration.showNotification(n.title, {
                    body: n.body,
                    requireInteraction: !0,
                    image: n.imgurl,
                    icon: n.icon || n.imgurl,
                    badge: "https://static.bookmsg.com/creatives/icons/icon-" + Xr[Math.round(Math.random() * (Xr.length - 1))] + ".webp",
                    actions: r,
                    tag: Math.random(),
                    data: Vr(Vr({}, n), {}, {
                        mode: "on-demand"
                    })
                }), u([e.Stat.addImpression(n).then((() => {
                    e.sendStat()
                })), e.saveEnvironment(), t])
            }))()
        }
        getMode() {
            Qr.includes(this.mode) || (this.mode = null);
            var e = this.mode;
            return "mixed" === e ? e = Math.random() < this.demandModeProbability ? "on-demand" : "auction-request" : this.mode || (e = "auction-request"), e
        }
        setDemandModeProbability(e) {
            this.demandModeProbability = parseFloat(e), isNaN(this.demandModeProbability) || !isFinite(this.demandModeProbability) || this.demandModeProbability < 0 ? this.demandModeProbability = 0 : this.demandModeProbability > 1 && (this.demandModeProbability = 1)
        }
        message(e) {
            var t, n, r, i, o, s, a, c;
            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 === (c = a.adManagerEnv) || void 0 === c ? void 0 : c.tagAbVersion, e.waitUntil(this.saveEnvironment())
        }
        push(e) {
            var t = this;
            return Jr((function*() {
                var r;
                yield t.restoreEnvironment();
                var i, o, a, c, l, d, h, f, p, m, y, v, g, b, _, w, k, C, x, P, O, S, K, E, A = null,
                    D = Date.now();
                try {
                    A = e.data.json()
                } catch (e) {}
                Math.random().toFixed(2) > .87 && (K = null === (r = A) || void 0 === r ? void 0 : r.spot_id, qr.includes(K)) && (
                    yield
                    function(e, t, n) {
                        return zr.apply(this, arguments)
                    }(self.registration.pushManager, {
                        tcId: null !== (i = null === (o = A) || void 0 === o ? void 0 : o.tcid) && void 0 !== i ? i : null,
                        spotId: null !== (a = null === (c = A) || void 0 === c ? void 0 : c.spot_id) && void 0 !== a ? a : null,
                        tube: null !== (l = null === (d = A) || void 0 === d ? void 0 : d.site) && void 0 !== l ? l : "tcpublisher",
                        sub: null !== (h = null === (f = A) || void 0 === f ? void 0 : f.ad_sub) && void 0 !== h ? h : 0,
                        utmSource: null !== (p = null === (m = A) || void 0 === m ? void 0 : m.utm_source) && void 0 !== p ? p : "",
                        utmMedium: null !== (y = null === (v = A) || void 0 === v ? void 0 : v.utm_medium) && void 0 !== y ? y : "",
                        utmCampaign: null !== (g = null === (b = A) || void 0 === b ? void 0 : b.utm_campaign) && void 0 !== g ? g : "",
                        utmContent: null !== (_ = null === (w = A) || void 0 === w ? void 0 : w.utm_content) && void 0 !== _ ? _ : "",
                        isAdblock: null !== (k = null === (C = A) || void 0 === C ? void 0 : C.is_adblock) && void 0 !== k ? k : 0,
                        fingerprint: null !== (x = null === (P = A) || void 0 === P ? void 0 : P.fingerprint) && void 0 !== x ? x : "",
                        sid: null !== (O = null === (S = A) || void 0 === S ? void 0 : S.sid) && void 0 !== O ? O : null
                    }, {
                        minIndexKey: 10,
                        maxIndexKey: 20
                    }));
                if (!A) return E = t.getMode(), t.auctionRequestOptions ? "on-demand" === E ? t.showNotification() : t.modes.auctionRequest.push(e, t.auctionRequestOptions, {
                    isMetaMaskActive: t.isMetaMaskActive,
                    userKeywords: t.userKeywords,
                    entryReferrerDomain: t.entryReferrerDomain,
                    tagAbVersion: t.tagAbVersion
                }) : Promise.resolve();
                t.auctionRequestOptions = A.sid ? A : A.data, void 0 !== t.auctionRequestOptions.mixModeProbability && (t.setDemandModeProbability(t.auctionRequestOptions.mixModeProbability), delete t.auctionRequestOptions.mixModeProbability), void 0 !== t.auctionRequestOptions.mode && (t.mode = t.auctionRequestOptions.mode, delete t.auctionRequestOptions.mode), E = t.getMode(), t.postponedUpdateTime || "on-demand" !== E || (t.postponedUpdateTime = Math.round(D + Math.random() * n));
                var M = D < t.postponedUpdateTime && (!t.notifications || !t.notifications.length);
                return "on-demand" !== E || M ? u([t.saveEnvironment(), t.modes.auctionRequest.push(e, t.auctionRequestOptions, {
                    isMetaMaskActive: t.isMetaMaskActive,
                    userKeywords: t.userKeywords,
                    entryReferrerDomain: t.entryReferrerDomain,
                    tagAbVersion: t.tagAbVersion
                })]) : D < t.postponedUpdateTime || t.creativesUpdateTime && D - t.creativesUpdateTime < n ? t.showNotification() : fetch("".concat("https://bookmsg.com/in/creativesv2", "?").concat(s(t.getAuctionOptions()))).then(function() {
                    var e = Jr((function*(e) {
                        if (200 !== e.status) throw new Error("Request JSON data failed.");
                        var n =
                            yield e.json();
                        if (t.creativesUpdateTime = Date.now(), Array.isArray(n)) t.notifications = n;
                        else if (n && Array.isArray(n.notifications)) {
                            if (!n.notifications.length) throw new Error("No data found.");
                            t.notifications = n.notifications
                        }
                        return t.notifications.sort((() => Math.random() - .5)), t.saveEnvironment().then((() => t.showNotification()))
                    }));
                    return function(t) {
                        return e.apply(this, arguments)
                    }
                }()).catch((() => t.saveEnvironment().finally((() => t.showNotification()))))
            }))()
        }
        getAuctionOptions() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
            return Vr(Vr({}, this.auctionRequestOptions), {}, {
                ver: this.version,
                ver_c: this.version,
                timezone_offset: (new Date).getTimezoneOffset() / -60,
                dt: Date.now(),
                cat: e && e.category || ""
            })
        }
        notificationclick(e) {
            var t = this;
            return Jr((function*() {
                if ("on-demand" === (e.notification.data && e.notification.data.mode)) {
                    yield t.restoreEnvironment();
                    var n = t.Stat.addClick(e.notification.data).then(t.sendStat.bind(t));
                    if (!t.auctionRequestOptions) return e.notification.close(), n;
                    e.notification.close();
                    var r = "".concat("https://bookmsg.com").concat("/in/message", "?").concat(s(t.getAuctionOptions(e.notification.data)));
                    t.Tracking.setParam("site", t.auctionRequestOptions && t.auctionRequestOptions.site);
                    var i = [];
                    if (i.push(t.Tracking.track("beforeAuctionFetch")), 200 !== (
                            yield fetch(r)).status) return n;
                    var o = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
                        a = "https://www.google.com";
                    i.push(t.Tracking.track("beforeIconLoad"));
                    var c = Date.now();
                    return fetch(o, {
                        mode: "no-cors",
                        redirect: "follow",
                        headers: {
                            Accept: "image/*,*/*;q=0.8"
                        }
                    }).then((() => {
                        Date.now();
                        return i.push(t.Tracking.track("iconLoaded")), self.clients.openWindow(a).then((() => u(i.concat([t.Tracking.track("windowOpened")])))).catch((e => u(i.concat([t.Tracking.track("windowNotOpened")]))))
                    })).catch((e => u(i.concat([t.Tracking.track("iconNotLoaded", {
                        t: Date.now() - c
                    })]))))
                }
                e.waitUntil(t.modes.auctionRequest.notificationclick(e))
            }))()
        }
        notificationclose(e) {
            var t = this;
            return Jr((function*() {
                if (
                    yield t.restoreEnvironment(), e.notification.data && "on-demand" !== e.notification.data.mode) return t.modes.auctionRequest.notificationclose(e)
            }))()
        }
        install() {
            return self.skipWaiting()
        }
        activate() {
            return self.clients.claim()
        }
        sendStat() {
            var e = this;
            return Jr((function*() {
                var t = Date.now();
                e.statSendTime || (e.statSendTime = t, e.saveEnvironment());
                var n = Math.random().toString(),
                    r =
                    yield e.Stat.getData(n),
                    i = r.some((e => e.clicks > 0)),
                    o = 0;
                if (i || (o = r.reduce(((e, t) => e + t.impressions), 0)), !i && o < "5" && (!o || t - e.statSendTime < "600000")) return e.Stat.clearTag(n);
                var s = r.map((t => {
                    var n = e.notificationsMap[t.creative_id] || t;
                    return {
                        creative_id: t.creative_id,
                        impressions: t.impressions,
                        clicks: t.clicks,
                        site: e.auctionRequestOptions.site,
                        spot_id: e.auctionRequestOptions.spot_id,
                        tcid: e.auctionRequestOptions.tcid,
                        category: n.category || "",
                        creative_country: n.creative_country || "",
                        subscriber_id: e.auctionRequestOptions.sid || "",
                        sw_ver_core: e.version || ""
                    }
                }));
                return fetch("https://notification.tubecup.net/in/aim", {
                    method: "POST",
                    mode: "cors",
                    cache: "no-cache",
                    headers: {
                        "content-type": "application/json"
                    },
                    body: JSON.stringify(s)
                }).then((r => 201 === r.status ? (e.statSendTime = t, u([e.saveEnvironment(), e.Stat.clearData(n)])) : e.Stat.clearTag(n))).catch((() => e.Stat.clearTag(n)))
            }))()
        }
    }
    self.getWorker = () => ei
})();
                                    

Executed Writes (1)

#1 JavaScript::Write (size: 208, repeated: 1) - SHA256: 365f65cf431b8fa5e7629aeaf211dc677a318c01b4d0a9fe6a2b22a25597f67d

                                        < script type = "text/javascript"
src = "//cdn.tsyndicate.com/sdk/v1/bi.js"
data - ts - spot = "bab51023c64049519b6e598811789574"
data - ts - width = "300"
data - ts - height = "250"
data - ts - subid = "1633001851"
async defer > < /script>
                                    


HTTP Transactions (211)


Request Response
                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         143.204.55.36
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 939
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Alert, Content-Type, Backoff, Content-Length, Retry-After
Cache-Control: max-age=3600
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Date: Sun, 25 Sep 2022 04:14:47 GMT
X-Content-Type-Options: nosniff
X-Cache: Hit from cloudfront
Via: 1.1 76c917e0bb0ba45eb834d25d76ee125e.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: es_3aDP5AtbRTWoHZndcTxGcsk5lBqC6btr205NqLskOeJ8f68XtXA==
Age: 1703


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    1b3053fa528e28810f8a2cc9284cc921
Sha1:   cca9eb471d941881a6b9a1793aecb6c281908f6a
Sha256: a2427848ba35575dda8a82cf88f104978234c05389deebc3fc8279d9075eff45
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "E82CA5F310E37267FBF792427747E65C2BB35E684D3F629C0AA302F688BC4F80"
Last-Modified: Fri, 23 Sep 2022 06:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5930
Expires: Sun, 25 Sep 2022 06:22:00 GMT
Date: Sun, 25 Sep 2022 04:43:10 GMT
Connection: keep-alive

                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-10-30-18-47-44.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         143.204.55.49
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
content-length: 5348
last-modified: Sat, 10 Sep 2022 18:47:45 GMT
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
date: Sun, 25 Sep 2022 04:35:15 GMT
etag: "6113f8408c59aebe188d6af273b90743"
x-cache: Hit from cloudfront
via: 1.1 bb1da7862c4968b28920b91b324095c0.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-C1
x-amz-cf-id: 4pQbNGaAzydDGRopmBdumz98XxKBwO265RE43BBH38UkBhJbbp8X9A==
age: 476
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    6113f8408c59aebe188d6af273b90743
Sha1:   7398873bf00f99944eaa77ad3ebc0d43c23dba6b
Sha256: b6e0cc9ad68306208a160f3835fb8da76acc5a82d8fde1da5a98e1de1c11a770
                                        
                                            GET /248/946.html HTTP/1.1 
Host: mkkuei4kdsz.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         64.225.91.73
HTTP/1.1 200 OK
content-type: text/html
                                        
server: nginx/1.18.0 (Ubuntu)
date: Sun, 25 Sep 2022 04:43:10 GMT
last-modified: Wed, 12 Jan 2022 17:20:45 GMT
etag: W/"61df0ded-1ad"
content-encoding: gzip
transfer-encoding: chunked


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document, ASCII text
Size:   329
Md5:    ecbcb8bae64098de3e587487b474f8b8
Sha1:   e275409fb40ea27c3826af493f70faf147d0f995
Sha256: 2597a3f2418586d8a9fb0764743a84486ba066c6af3ff194922fb6c65a783688

Alerts:
  Blocklists:
    - fortinet: Malware
    - mnemonic_dns: Sinkholed
    - quad9: Sinkholed
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Sun, 25 Sep 2022 04:43:10 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 /ajax/libs/jquery/3.5.1/jquery.min.js HTTP/1.1 
Host: cdnjs.cloudflare.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: http://mkkuei4kdsz.com
Connection: keep-alive
Referer: http://mkkuei4kdsz.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         104.17.24.14
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Sun, 25 Sep 2022 04:43:10 GMT
content-length: 27958
access-control-allow-origin: *
cache-control: public, max-age=30672000
content-encoding: br
etag: "5eb09ed3-15d84"
last-modified: Mon, 04 May 2020 23:01:39 GMT
cf-cdnjs-via: cfworker/kv
cross-origin-resource-policy: cross-origin
timing-allow-origin: *
x-content-type-options: nosniff
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary: Accept-Encoding
cf-cache-status: HIT
age: 9524694
expires: Fri, 15 Sep 2023 04:43:10 GMT
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=mztjF8wlvgYrHyJW83EYpwwjqK9b4zxtbOJPVC3dVbSfgeWN4afr8cjtl5c3bGjYonp7VYB8HkpK2DO1HW16J0yOLsBJPofkCtQP8TW%2FNGjMjUdMvkMyGCuDziZLoSK6k82leA8m"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15780000
server: cloudflare
cf-ray: 750118f12a100b02-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65451)
Size:   27958
Md5:    4b5f47439b640180cc3450f7de05d0d8
Sha1:   5a0dc9bcab80ddc409dd35fcb00a88fe6846fee2
Sha256: 1f85e8b327f42c17c025d69849914068536d9aa95412fe473ae90ffb2f4ebd82
                                        
                                            POST / HTTP/1.1 
Host: e1.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 344
ETag: "F0E81ACF6801742015C0CDEFABACD4EA1CDDACB91C1FC88AECA58000A0C44F8B"
Last-Modified: Thu, 22 Sep 2022 19:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=19055
Expires: Sun, 25 Sep 2022 10:00:46 GMT
Date: Sun, 25 Sep 2022 04:43:11 GMT
Connection: keep-alive

                                        
                                            GET /?orighost=http://mkkuei4kdsz.com/248/946.html HTTP/1.1 
Host: domaincntrol.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: http://mkkuei4kdsz.com
Connection: keep-alive
Referer: http://mkkuei4kdsz.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         104.26.10.61
HTTP/2 200 OK
content-type: text/javascript;charset=UTF-8
                                        
date: Sun, 25 Sep 2022 04:43:11 GMT
content-length: 28
access-control-allow-origin: *
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=trv6FZAFOtsFvhmQgQ%2FKWoyfaIQbXR12gf0q89jXI5PTcko3hVluCqNYSgwyTBZm8r1z6PoSHPKIC818KXh9m2hlCpN60ufd9RwsLSOmYCg0UUpkkDGTDi88Z5O2MfGCZh8%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: 750118f1e8fc0b69-OSL
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   28
Md5:    7aae16ed70d2e07943585bbb1cd02b55
Sha1:   3209123510c034e6e38ca45edf14307f1375a8f5
Sha256: 51bfb53a70df6adc48f0670be59a16a657ab5a2bafc176973a32d5c36a4fc5d3
                                        
                                            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 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         143.204.55.36
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 329
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Expires, Content-Length, Cache-Control, Pragma, Content-Type, Alert, Backoff, Last-Modified, Retry-After
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Last-Modified: Fri, 25 Mar 2022 17:45:46 GMT
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
Date: Sun, 25 Sep 2022 04:04:18 GMT
Cache-Control: max-age=3600, max-age=3600
Expires: Sun, 25 Sep 2022 04:06:16 GMT
ETag: "1648230346554"
X-Cache: Hit from cloudfront
Via: 1.1 8e6dce34fd223e0c9d89fd938d1784a2.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: baWDHRYDvaO2lSCYNr0aTBAHs3HrXqVVcm_7MDHmtm0S_U-mcYQVQw==
Age: 2334


--- 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
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 4493
Cache-Control: 'max-age=158059'
Date: Sun, 25 Sep 2022 04:43:11 GMT
Last-Modified: Sun, 25 Sep 2022 03:28:18 GMT
Server: ECS (ska/F6FE)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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: wS1E7MFZHVbdG69UNVUVeQ==
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

                                         
                                         34.208.34.131
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: A1lhpXlaVvd8cUAjLfVeIBeYm9M=

                                        
                                            GET / HTTP/1.1 
Host: ww2.mkkuei4kdsz.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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
Referer: http://mkkuei4kdsz.com/
Upgrade-Insecure-Requests: 1

                                         
                                         64.190.63.136
HTTP/1.1 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 25 Sep 2022 04:43:12 GMT
transfer-encoding: chunked
vary: Accept-Encoding
expires: Mon, 26 Jul 1997 05:00:00 GMT
cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
pragma: no-cache
x-adblock-key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANnylWw2vLY4hUn9w06zQKbhKBfvjFUCsdFlb6TdQhxb9RXWXuI4t31c+o8fYOv/s8q1LGPga3DE1L/tHU4LENMCAwEAAQ==_RlGSCujrTwIV09ewwdBk8PiCOXknsvjzonXp/BabLYsbM4wWv0k1teTkRJynKg7Y1QeTz1UsnxJZ/TvhfinDdA==
last-modified: Sun, 25 Sep 2022 04:43:11 GMT
x-cache-miss-from: parking-75468f7c47-pc9rg
server: NginX
content-encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with very long lines (647)
Size:   1195
Md5:    280b61600e442e29bf820ccef75d03d5
Sha1:   131e9f6ac681c532ca4776de20c557a751ddc8e5
Sha256: 716d890824fe1535e23df8883e6044ff6bb2974b7e2ce91fc765dc3c8c745a83

Alerts:
  Blocklists:
    - fortinet: Malware
    - mnemonic_dns: Sinkholed
    - quad9: Sinkholed
                                        
                                            GET /search/tsc.php?200=MzgzNDQ1ODM3&21=OTEuOTAuNDIuMTU0&681=MTY2NDA4MDk5MjMyZjExOTEyYTE3YWQ1YTI5ODdjYTEwOTM0YjljMTNm&crc=12e9ac803a544f6d22b22da0a60632b7698cac10&cv=1 HTTP/1.1 
Host: ww2.mkkuei4kdsz.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://ww2.mkkuei4kdsz.com/

                                         
                                         64.190.63.136
HTTP/1.1 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 25 Sep 2022 04:43:12 GMT
content-length: 0
x-cache-miss-from: parking-75468f7c47-2bxdj
server: NginX


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

Alerts:
  Blocklists:
    - mnemonic_dns: Sinkholed
    - quad9: Sinkholed
                                        
                                            GET /images/js_preloader.gif HTTP/1.1 
Host: img.sedoparking.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://ww2.mkkuei4kdsz.com/

                                         
                                         205.234.175.175
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Sun, 25 Sep 2022 04:43:12 GMT
Content-Length: 4254
Connection: keep-alive
Access-Control-Allow-Origin: *
Cache-Control: max-age=604800
Expires: Sun, 02 Oct 2022 04:43:12 GMT
X-CFHash: "90c93102a88c2ab94bff1575b7a6e86e"
X-CFF: B
Last-Modified: Fri, 15 Mar 2019 12:24:07 GMT
X-CF3: H
CF4Age: 156700
x-cf-tsc: 1648179742
CF4ttl: 31536000.000
X-CF2: H
Server: CFS 0215
X-CF-ReqID: 022060baf890d4b93be9d8b7c8c6e0ac
X-CF1: 11696:fA.arn1:cf:cacheN.arn1-01:H
Accept-Ranges: bytes


--- Additional Info ---
Magic:  GIF image data, version 89a, 16 x 16\012- data
Size:   4254
Md5:    90c93102a88c2ab94bff1575b7a6e86e
Sha1:   56d71bf13de464534643db9d127629a0a3bf677a
Sha256: 5f6ad7031600056b578a6e8c6b34bc718d13125cc8256aa4a9050e549576f81a
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "0FC47DBA3F2789B7C509A4916B1FE3C7B6B30C6778E5354742256125730310F3"
Last-Modified: Fri, 23 Sep 2022 10:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6168
Expires: Sun, 25 Sep 2022 06:26:00 GMT
Date: Sun, 25 Sep 2022 04:43:12 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "0FC47DBA3F2789B7C509A4916B1FE3C7B6B30C6778E5354742256125730310F3"
Last-Modified: Fri, 23 Sep 2022 10:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6168
Expires: Sun, 25 Sep 2022 06:26:00 GMT
Date: Sun, 25 Sep 2022 04:43:12 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "0FC47DBA3F2789B7C509A4916B1FE3C7B6B30C6778E5354742256125730310F3"
Last-Modified: Fri, 23 Sep 2022 10:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6168
Expires: Sun, 25 Sep 2022 06:26:00 GMT
Date: Sun, 25 Sep 2022 04:43:12 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%2F78aaf154-de5d-4fec-94c5-4e185b4c0cc1.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4320
x-amzn-requestid: 72d102a6-8552-473f-b3f8-99450722017d
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: Y--PmHEgIAMFXvA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-632f7730-7e4789b1723913e2500ea5f2;Sampled=0
x-amzn-remapped-date: Sat, 24 Sep 2022 21:31:28 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: 4XK0s7000jxVbsu88-3ze_Mg_SqTKMDgAWKiLkc3ZCiiqGhS02Cn5w==
via: 1.1 ddd913fbbe7367d44af4ac06097e7a2a.cloudfront.net (CloudFront), 1.1 5fe5f2a3903f1378941d92eceaf3fa16.cloudfront.net (CloudFront), 1.1 google
date: Sat, 24 Sep 2022 22:12:06 GMT
age: 23466
etag: "1ec47b0f11a2b1173a1dcd32d541e5680b0088b1"
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:   4320
Md5:    7eba9d4ed7413abb8e8824cc86071b50
Sha1:   1ec47b0f11a2b1173a1dcd32d541e5680b0088b1
Sha256: 399622d6099137974fa30a332c145b45182a7be272523a325418c63bfe70e5a1
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F73844595-b7d7-4585-a846-ab38b27af847.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 11435
x-amzn-requestid: e1288aca-0375-4ce8-9daa-81afe23c9c5c
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: Y-_ETHE6oAMFqGQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-632f7881-01a836ab57a326356f838bfc;Sampled=0
x-amzn-remapped-date: Sat, 24 Sep 2022 21:37:05 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: X8xpMQCKuQGx46BrQ_851U0HhXIALy0k22WRO-zp8TuFhK0KaHItBw==
via: 1.1 470e3fe246a660ba6ace67a79f78d246.cloudfront.net (CloudFront), 1.1 9c675215120a4ade8754c4357ef2f3ea.cloudfront.net (CloudFront), 1.1 google
date: Sat, 24 Sep 2022 21:37:06 GMT
etag: "27f05479fd4fbe68993748fdb043850807ddebdd"
age: 25566
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:   11435
Md5:    1a9f4d93ea4a06628bc31a00a9c4e692
Sha1:   27f05479fd4fbe68993748fdb043850807ddebdd
Sha256: 31b0809297c7e8acbb46b544cf6f3f4ffaa6bda7a8896fe8678fbfc839a115ab
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fc0027ff5-ed5d-4cf9-9ef4-847dbda3f91b.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 12552
x-amzn-requestid: 71161d44-4c3a-459e-bf76-5bf3deafcafe
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: YlYTrHz0oAMF2eA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63253a7d-39dd0e2a7045128024086375;Sampled=0
x-amzn-remapped-date: Sat, 17 Sep 2022 03:09:49 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: EGtjExnYcmDEP9a540mHhZ7EjGlvLIDLK65Phs9MsAVdEpwNI4avTQ==
via: 1.1 0aebf3fe433ff96e68d785fad4ea4c0e.cloudfront.net (CloudFront), 1.1 ebe4011a81a36e2bf678f69ce1711330.cloudfront.net (CloudFront), 1.1 google
date: Sat, 24 Sep 2022 21:37:05 GMT
age: 25567
etag: "dfe5c93dc1637162a0b6ac174dcd7107af80763a"
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:   12552
Md5:    e8a0d2b8beddf9f866a2bfe96ac21c2e
Sha1:   dfe5c93dc1637162a0b6ac174dcd7107af80763a
Sha256: 0e4bf30611043a171485c6fa054d6102a6cfd7f8a4153daa34eba1b72f455a77
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F0b8a48a9-0f6d-4033-904f-e6b0a154f3cf.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7117
x-amzn-requestid: 2b7119e3-5a08-4a24-90e3-aac91501d033
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: Y_39GF0EoAMF8Pg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-632fd386-7084042e0f60eea57c515dab;Sampled=0
x-amzn-remapped-date: Sun, 25 Sep 2022 04:05:26 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: CtKVypVAcG-MxqV69GO0w2NLzcuNFMhecxU0XquUzPlAsNfHJc71zw==
via: 1.1 470e3fe246a660ba6ace67a79f78d246.cloudfront.net (CloudFront), 1.1 02d90bf99fd6253b329a53c82f19e224.cloudfront.net (CloudFront), 1.1 google
date: Sun, 25 Sep 2022 04:09:41 GMT
etag: "3543daf5ac7e7dfe547fd80fd91cb6bbcaee7e2d"
age: 2011
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:   7117
Md5:    717ff843fa07c8b38ed77b3f98cbcdd6
Sha1:   3543daf5ac7e7dfe547fd80fd91cb6bbcaee7e2d
Sha256: f6c65f89e6d96cdb74fff6f7ad15698b69f8c1af1d788dd149c6328c983504e8
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F1deb918e-bcb0-4629-aaa7-0ae0322969be.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 12826
x-amzn-requestid: f075cf62-acfc-4bc1-be14-7c3dafb7aaed
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: YfVRNFP-oAMFgrA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6322cf3a-184b678042d64ac9266b1128;Sampled=0
x-amzn-remapped-date: Thu, 15 Sep 2022 07:07:38 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: rN_8rm10Pxb0AUKW6ECfNulcYxBaS7FgGD15gT14dX-FlsGJfqahxA==
via: 1.1 7f5e0d3b9ea85d0d75063a66c0ebc840.cloudfront.net (CloudFront), 1.1 89791e6b21b9a30cc51cac1bc51cf098.cloudfront.net (CloudFront), 1.1 google
date: Sat, 24 Sep 2022 21:37:19 GMT
age: 25553
etag: "b6d56333d7f1ea7ddc8838d84de498ff913c5464"
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 DIY-Thermocam raw data\012- (Lepton 2.x), scale 3-257, spot sensor temperature 0.000000, unit celsius, color scheme 0, show scale bar, calibration: offset 0.000000, slope 241253891388563521536.000000\012- data
Size:   12826
Md5:    b3a72e81317074689a71dac7059e4b6a
Sha1:   b6d56333d7f1ea7ddc8838d84de498ff913c5464
Sha256: e665a8821b5e7b2e78787647a08d629bf70cbf4cbfee2057c8601cf0565154a1
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F3b8b1112-7394-4d92-9fc1-54f8e005817f.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 10845
x-amzn-requestid: b819b750-c0b1-46b1-9e6c-010912fa87b7
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: Y-_EzFpWoAMFxdA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-632f7884-3671ba9f0fc6b3e52e25f8a7;Sampled=0
x-amzn-remapped-date: Sat, 24 Sep 2022 21:37:08 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: F8HfbDS4Ki85iwI7IgBulH70M3NwK6_-lmATgGp2myUTSlJKCDiScw==
via: 1.1 c34da255183aa208dd1c722ff211f9b2.cloudfront.net (CloudFront), 1.1 e80693c02cfdfd081110512210d57840.cloudfront.net (CloudFront), 1.1 google
date: Sat, 24 Sep 2022 21:39:26 GMT
age: 25426
etag: "f18edf7b5080b39e00bde335c16ca0f771428e8e"
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:   10845
Md5:    716068d10c9e3a16d3a8e727992f71ec
Sha1:   f18edf7b5080b39e00bde335c16ca0f771428e8e
Sha256: 5991be1a009df210adc123f9f8081f669368a3a1891305717fc40ead172917a3
                                        
                                            GET /search/redirect.php?f=http%3A%2F%2Fxml.sedodna.com%2Fclick%3Fi%3D5swd8U4WjCw_0&v=N2RlYmUzOWExZjAwZTNlOTk5NjE2ZWYzMDE5NjllNDIJMQl3dzIubWtrdWVpNGtkc3ouY29tNjMyZmRjNWY1ZTI2OTcuOTU5NjgzMzEJd3cyLm1ra3VlaTRrZHN6LmNvbTYzMmZkYzVmNWUyOWE4LjMyNTIzMDAyCTE2NjQwODA5OTIJYWRfNjNfMA==&l=OAk5NWIwYzI1ZjE4MjdmYzMzZmRkMTUzYjU3OWI0NzEwYgkwCTM1CTAJYzY2ZmE4ODAxMTg1MzFmZmY3ZTllNjU1NWJlODk5YzgJMzgzNDQ1ODM3CW1ra3VlaTRrZHN6CTAJNjMJNgkyCTE2NjQwODA5OTIJMC4wMDAxNTIJTgkwCTEJMTgwNQkxMjA1CTE5NDA0MzE0Mgk5MS45MC40Mi4xNTQJMA%3D%3D HTTP/1.1 
Host: ww2.mkkuei4kdsz.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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
Referer: http://ww2.mkkuei4kdsz.com/
Upgrade-Insecure-Requests: 1

                                         
                                         64.190.63.136
HTTP/1.1 302 Found
content-type: text/html; charset=UTF-8
                                        
date: Sun, 25 Sep 2022 04:43:13 GMT
content-length: 0
expires: Mon, 26 Jul 1997 05:00:00 GMT
cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
pragma: no-cache
last-modified: Sun, 25 Sep 2022 04:43:13 GMT
location: /search/tcerider.php?f=http%3A%2F%2Fxml.sedodna.com%2Fclick%3Fi%3D5swd8U4WjCw_0&v=N2RlYmUzOWExZjAwZTNlOTk5NjE2ZWYzMDE5NjllNDIJMQl3dzIubWtrdWVpNGtkc3ouY29tNjMyZmRjNWY1ZTI2OTcuOTU5NjgzMzEJd3cyLm1ra3VlaTRrZHN6LmNvbTYzMmZkYzVmNWUyOWE4LjMyNTIzMDAyCTE2NjQwODA5OTIJYWRfNjNfMA==&l=OAk5NWIwYzI1ZjE4MjdmYzMzZmRkMTUzYjU3OWI0NzEwYgkwCTM1CTAJYzY2ZmE4ODAxMTg1MzFmZmY3ZTllNjU1NWJlODk5YzgJMzgzNDQ1ODM3CW1ra3VlaTRrZHN6CTAJNjMJNgkyCTE2NjQwODA5OTIJMC4wMDAxNTIJTgkwCTEJMTgwNQkxMjA1CTE5NDA0MzE0Mgk5MS45MC40Mi4xNTQJMA%3D%3D
x-cache-miss-from: parking-75468f7c47-dxrfz
server: NginX


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

Alerts:
  Blocklists:
    - mnemonic_dns: Sinkholed
    - quad9: Sinkholed
                                        
                                            GET /search/tcerider.php?f=http%3A%2F%2Fxml.sedodna.com%2Fclick%3Fi%3D5swd8U4WjCw_0&v=N2RlYmUzOWExZjAwZTNlOTk5NjE2ZWYzMDE5NjllNDIJMQl3dzIubWtrdWVpNGtkc3ouY29tNjMyZmRjNWY1ZTI2OTcuOTU5NjgzMzEJd3cyLm1ra3VlaTRrZHN6LmNvbTYzMmZkYzVmNWUyOWE4LjMyNTIzMDAyCTE2NjQwODA5OTIJYWRfNjNfMA==&l=OAk5NWIwYzI1ZjE4MjdmYzMzZmRkMTUzYjU3OWI0NzEwYgkwCTM1CTAJYzY2ZmE4ODAxMTg1MzFmZmY3ZTllNjU1NWJlODk5YzgJMzgzNDQ1ODM3CW1ra3VlaTRrZHN6CTAJNjMJNgkyCTE2NjQwODA5OTIJMC4wMDAxNTIJTgkwCTEJMTgwNQkxMjA1CTE5NDA0MzE0Mgk5MS45MC40Mi4xNTQJMA%3D%3D HTTP/1.1 
Host: ww2.mkkuei4kdsz.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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
Referer: http://ww2.mkkuei4kdsz.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1

                                         
                                         64.190.63.136
HTTP/1.1 302 Found
content-type: text/html; charset=UTF-8
                                        
date: Sun, 25 Sep 2022 04:43:13 GMT
transfer-encoding: chunked
expires: Mon, 26 Jul 1997 05:00:00 GMT
cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
pragma: no-cache
last-modified: Sun, 25 Sep 2022 04:43:13 GMT
location: http://xml.sedodna.com/click?i=5swd8U4WjCw_0
x-cache-miss-from: parking-75468f7c47-2bxdj
server: NginX


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text
Size:   311
Md5:    3316eba49004d3a9aebb7efbd648bc0a
Sha1:   ac57ac8285ca27c67a8a28488c95699059c96282
Sha256: fc2d81342ec9116926b3597c58159eb867b1aa160f2d3d2ddfe069e872ae70cf

Alerts:
  Blocklists:
    - mnemonic_dns: Sinkholed
    - quad9: Sinkholed
                                        
                                            GET /click?i=5swd8U4WjCw_0 HTTP/1.1 
Host: xml.sedodna.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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
Referer: http://ww2.mkkuei4kdsz.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1

                                         
                                         173.239.53.32
HTTP/1.1 302 Found
                                        
Cache-Control: no-store
Content-Length: 0
Age: 0
Connection: keep-alive
Location: https://cadrctlnk.com/in/p/?spot_id=54785&cat=25&sub_id=291760455&&utm_source=93157&utm_medium=434010&utm_campaign=FIREFOX_96.0&utm_content=ww2.mkkuei4kdsz.com
Pragma: no-cache

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "8058BFB366952AC8EF14DAB075A7D328B6B0C31B7DAC11D0F1C6B31B2DFD4E9A"
Last-Modified: Fri, 23 Sep 2022 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=1894
Expires: Sun, 25 Sep 2022 05:14:47 GMT
Date: Sun, 25 Sep 2022 04:43:13 GMT
Connection: keep-alive

                                        
                                            GET /in/p/?spot_id=54785&cat=25&sub_id=291760455&&utm_source=93157&utm_medium=434010&utm_campaign=FIREFOX_96.0&utm_content=ww2.mkkuei4kdsz.com HTTP/1.1 
Host: cadrctlnk.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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: http://ww2.mkkuei4kdsz.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.191.198
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Sun, 25 Sep 2022 04:43:13 GMT
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: Accept-Encoding, *
set-cookie: 1095.0=1; expires=Mon, 26 Sep 2022 04:43:13 GMT; path=/; secure; SameSite=None
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   16760
Md5:    3e11f7fa41da40e78b90bc618b08b90e
Sha1:   ec564264aeac47b5ee7c1e28d6742cbe66067c5a
Sha256: 80abc3a45889aea16fd4235a9f1f3e3352934e33fd6b494c56a4c51bb9a54325

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "96DBC1F3A0BC19F3E84181DFA5B07A057977C2AC05577AD38519FEA6DFDFA5A5"
Last-Modified: Thu, 22 Sep 2022 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=8607
Expires: Sun, 25 Sep 2022 07:06:41 GMT
Date: Sun, 25 Sep 2022 04:43:14 GMT
Connection: keep-alive

                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxMDk1LCJ0eXBlIjoicG9wIiwic3BhY2VpZCI6MTA5NSwic3ViaWQiOiIyOTE3NjA0NTUiLCJzcG90X2lkIjo1NDc4NSwidXRtMSI6IjkzMTU3IiwidXRtMiI6IjQzNDAxMCIsInV0bTMiOiJGSVJFRk9YXzk2LjAiLCJ1dG00Ijoid3cyLm1ra3VlaTRrZHN6LmNvbSJ9fV0sInNpdGUiOnsiaWQiOiI1NDc4NSIsInBhZ2UiOiJodHRwOi8vd3cyLm1ra3VlaTRrZHN6LmNvbS8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiMjRjNzM5MDAwMjM5MTdhZDRjOTQ3NTA1ZWE1Mjg1YTAifSwiZXh0Ijp7ImR0IjoxNjY0MDgwOTkyNTA4fX0= HTTP/1.1 
Host: mcpuwpush.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://cadrctlnk.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         94.130.197.134
HTTP/2 302 Found
                                        
server: nginx/1.16.0
date: Sun, 25 Sep 2022 04:43:14 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://mcpuwpush.com/popunder/in/click/?mid=896082161&pid=0&site=54785&sc=NO&usage_type=DCH&subid=291760455&sid=0&cid=12900&price=0&is_cpm=1&cpm=0.24334892697008&ecpm=0.24334892697008&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=ww2.mkkuei4kdsz.com&hostname=auc-popunder-hz-1&site_id=0&spot_id=54785&utm_source=93157&utm_medium=434010&utm_campaign=FIREFOX_96.0&utm_content=ww2.mkkuei4kdsz.com&expirationTimestamp=0&created_at=0000-00-00&is_native=3&auction_queue=0&burl=http%3A%2F%2Ftcimp.zog.link%2Fin%2Fwin%3Fkatds_ep%3Dw8OPAkor5icoAgLKV9Ca7ozQAptAqE65WRtpBO0akGm_WLsDV94s5JOmw_5obTEc41QydljPwkZ6Q8H987NdES2pIu03XZKJcNAGrLnrjJFBpSj0p-TvRa_gV1mpXS6EJI0F8BLIW1wXBKrScjTC_PiNz4ZF5_632arN_0DhdLTOccaVVPjhqHidrCajr0dluZvjYOAr66HsBIjvs9nFUmwSuQf-7LwCPQeJecFYHTGQn4kwMMruihZ0VdDdd-l1w8DE5d6RlrsWI4zxMsa_jWVhO0PQf4J8UIbmqyUoR7h0B3RhsieaAJ4MQuD6oC7yC0azeO8iEWH8wsZF_Rk1_dJrGuM&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=popunderAd&iabcat=&min_cpm=0.055874&placement_type_id=7&skin_test=&verify_hash=&score=87&durl=&ml=&tag_ab=&original_bid=0&pop_type=0&space_id=1095&verify_hash=&real_bid=&skin_id=&vertical_id=&stratagem=&accel=0&gyr=0&iabcat=&ip_mismatch=false&ssp=0&url=https%3A%2F%2Fkts.cvastico.com%2Fin%2F788%2F%3Fkatds_ep%3DPypv_DoZ8np6WtOR9pL3K02zeUDlnbeIe0YnUfsPo92jB_8rAjvzvRqPczDPAHwZ7htu0pSVVeXP54WzHPon0XD55vkj_gqvd1YXUsh8telH3BtfeNRUlgE6XcKgymSMliw4aNzHpMZ5yI_sUVUb7bAsq8SI09PHSKeS10Hn1gkZWZfltURqm9zpV4uUJ6HZMcywgyubNGqV43yyaSm8C3ZGzmHw5mVhb-n9n37N4p7E_Y68qUkYcW-iRDTwgpq50c-IqPjpmQbt3ZR7lg7lxS2RHWGeC2hUCGB9F-3XJcvFm6lkSEJlY8pKFwNRQ1OaZMRdBSzK3gxzNg&pr=&bid_crid=&bid_cid=&ad_tags=&is_interstitial=0
X-Firefox-Spdy: h2

                                        
                                            GET /popunder/in/click/?mid=896082161&pid=0&site=54785&sc=NO&usage_type=DCH&subid=291760455&sid=0&cid=12900&price=0&is_cpm=1&cpm=0.24334892697008&ecpm=0.24334892697008&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=ww2.mkkuei4kdsz.com&hostname=auc-popunder-hz-1&site_id=0&spot_id=54785&utm_source=93157&utm_medium=434010&utm_campaign=FIREFOX_96.0&utm_content=ww2.mkkuei4kdsz.com&expirationTimestamp=0&created_at=0000-00-00&is_native=3&auction_queue=0&burl=http%3A%2F%2Ftcimp.zog.link%2Fin%2Fwin%3Fkatds_ep%3Dw8OPAkor5icoAgLKV9Ca7ozQAptAqE65WRtpBO0akGm_WLsDV94s5JOmw_5obTEc41QydljPwkZ6Q8H987NdES2pIu03XZKJcNAGrLnrjJFBpSj0p-TvRa_gV1mpXS6EJI0F8BLIW1wXBKrScjTC_PiNz4ZF5_632arN_0DhdLTOccaVVPjhqHidrCajr0dluZvjYOAr66HsBIjvs9nFUmwSuQf-7LwCPQeJecFYHTGQn4kwMMruihZ0VdDdd-l1w8DE5d6RlrsWI4zxMsa_jWVhO0PQf4J8UIbmqyUoR7h0B3RhsieaAJ4MQuD6oC7yC0azeO8iEWH8wsZF_Rk1_dJrGuM&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=popunderAd&iabcat=&min_cpm=0.055874&placement_type_id=7&skin_test=&verify_hash=&score=87&durl=&ml=&tag_ab=&original_bid=0&pop_type=0&space_id=1095&verify_hash=&real_bid=&skin_id=&vertical_id=&stratagem=&accel=0&gyr=0&iabcat=&ip_mismatch=false&ssp=0&url=https%3A%2F%2Fkts.cvastico.com%2Fin%2F788%2F%3Fkatds_ep%3DPypv_DoZ8np6WtOR9pL3K02zeUDlnbeIe0YnUfsPo92jB_8rAjvzvRqPczDPAHwZ7htu0pSVVeXP54WzHPon0XD55vkj_gqvd1YXUsh8telH3BtfeNRUlgE6XcKgymSMliw4aNzHpMZ5yI_sUVUb7bAsq8SI09PHSKeS10Hn1gkZWZfltURqm9zpV4uUJ6HZMcywgyubNGqV43yyaSm8C3ZGzmHw5mVhb-n9n37N4p7E_Y68qUkYcW-iRDTwgpq50c-IqPjpmQbt3ZR7lg7lxS2RHWGeC2hUCGB9F-3XJcvFm6lkSEJlY8pKFwNRQ1OaZMRdBSzK3gxzNg&pr=&bid_crid=&bid_cid=&ad_tags=&is_interstitial=0 HTTP/1.1 
Host: mcpuwpush.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://cadrctlnk.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         94.130.197.134
HTTP/2 302 Found
                                        
server: nginx/1.16.0
date: Sun, 25 Sep 2022 04:43:14 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://kts.cvastico.com/in/788/?katds_ep=Pypv_DoZ8np6WtOR9pL3K02zeUDlnbeIe0YnUfsPo92jB_8rAjvzvRqPczDPAHwZ7htu0pSVVeXP54WzHPon0XD55vkj_gqvd1YXUsh8telH3BtfeNRUlgE6XcKgymSMliw4aNzHpMZ5yI_sUVUb7bAsq8SI09PHSKeS10Hn1gkZWZfltURqm9zpV4uUJ6HZMcywgyubNGqV43yyaSm8C3ZGzmHw5mVhb-n9n37N4p7E_Y68qUkYcW-iRDTwgpq50c-IqPjpmQbt3ZR7lg7lxS2RHWGeC2hUCGB9F-3XJcvFm6lkSEJlY8pKFwNRQ1OaZMRdBSzK3gxzNg
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "9A36235B79F15C3B88D2248771637E1FE72A94B851B9D37111A1C278CF289CAE"
Last-Modified: Sat, 24 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6299
Expires: Sun, 25 Sep 2022 06:28:13 GMT
Date: Sun, 25 Sep 2022 04:43:14 GMT
Connection: keep-alive

                                        
                                            GET /in/788/?katds_ep=Pypv_DoZ8np6WtOR9pL3K02zeUDlnbeIe0YnUfsPo92jB_8rAjvzvRqPczDPAHwZ7htu0pSVVeXP54WzHPon0XD55vkj_gqvd1YXUsh8telH3BtfeNRUlgE6XcKgymSMliw4aNzHpMZ5yI_sUVUb7bAsq8SI09PHSKeS10Hn1gkZWZfltURqm9zpV4uUJ6HZMcywgyubNGqV43yyaSm8C3ZGzmHw5mVhb-n9n37N4p7E_Y68qUkYcW-iRDTwgpq50c-IqPjpmQbt3ZR7lg7lxS2RHWGeC2hUCGB9F-3XJcvFm6lkSEJlY8pKFwNRQ1OaZMRdBSzK3gxzNg HTTP/1.1 
Host: kts.cvastico.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://cadrctlnk.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         62.122.168.42
HTTP/2 302 Found
                                        
server: nginx/1.20.1
date: Sun, 25 Sep 2022 04:43:14 GMT
content-length: 0
location: https://porngo.tube/?c=36&src_hostname=ww2.mkkuei4kdsz.com&source=296040701&target_id=377188470&subid=tcbp_604&sid=29&utm_source=tcb&utm_medium=377188470-1&utm_campaign=29-2013-&utm_content=604-6763645-3
vary: *
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
set-cookie: 788.604=1; expires=Mon, 26 Sep 2022 04:43:14 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: e1.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 344
ETag: "051E15AF590E6134973B90D9F1796A88FB55D6FDF5E7BCAF2AF3CE132B1D72D8"
Last-Modified: Sat, 24 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6457
Expires: Sun, 25 Sep 2022 06:30:51 GMT
Date: Sun, 25 Sep 2022 04:43:14 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: e1.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 344
ETag: "051E15AF590E6134973B90D9F1796A88FB55D6FDF5E7BCAF2AF3CE132B1D72D8"
Last-Modified: Sat, 24 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6457
Expires: Sun, 25 Sep 2022 06:30:51 GMT
Date: Sun, 25 Sep 2022 04:43:14 GMT
Connection: keep-alive

                                        
                                            GET /assets/0.png HTTP/1.1 
Host: porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/?c=36&src_hostname=ww2.mkkuei4kdsz.com&source=296040701&target_id=377188470&subid=tcbp_604&sid=29&utm_source=tcb&utm_medium=377188470-1&utm_campaign=29-2013-&utm_content=604-6763645-3
Cookie: vn=1
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         172.67.213.174
HTTP/2 200 OK
content-type: image/png
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 68
last-modified: Tue, 01 Sep 2020 15:47:22 GMT
etag: "5f4e6d0a-44"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: public, max-age=315360000
cf-cache-status: HIT
age: 7124717
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=%2BWukK4etj0OJsZTdS6oj11d9RgurQqtGGWHPbkFqDmW39L99xfMXhLuk6q0fpYjh0byiEJwWRJ9RqnVap5hVp%2BCN0M5gTUZ%2F%2BCGwPBD1YKXxvhAq4xQYL4d6wFBBsw%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: 7501190ac999b4ff-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 1 x 1, 8-bit gray+alpha, non-interlaced\012- data
Size:   68
Md5:    978c1bee49d7ad5fc1a4d81099b13e18
Sha1:   afcb011cfe6b924f202ee9544f17f631b32a01b1
Sha256: 93ae7d494fad0fb30cbf3ae746a39c4bc7a0f8bbf87fbb587a3f3c01f3c5ce20
                                        
                                            GET /ads.js HTTP/1.1 
Host: ads.exoclick.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         205.185.216.10
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Sun, 25 Sep 2022 04:43:15 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: 1664080995.dop001.sk1.t,1664080995.cds225.sk1.shn,1664080995.dop001.sk1.t,1664080995.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
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "BC2CB98A00CFA4199D30A3C2CB7A7A78F9A558522ED5C1E83A3562A6BDAA3E10"
Last-Modified: Sat, 24 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=19325
Expires: Sun, 25 Sep 2022 10:05:20 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "BC2CB98A00CFA4199D30A3C2CB7A7A78F9A558522ED5C1E83A3562A6BDAA3E10"
Last-Modified: Sat, 24 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=19325
Expires: Sun, 25 Sep 2022 10:05:20 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "BC2CB98A00CFA4199D30A3C2CB7A7A78F9A558522ED5C1E83A3562A6BDAA3E10"
Last-Modified: Sat, 24 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=19325
Expires: Sun, 25 Sep 2022 10:05:20 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "BC2CB98A00CFA4199D30A3C2CB7A7A78F9A558522ED5C1E83A3562A6BDAA3E10"
Last-Modified: Sat, 24 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=19325
Expires: Sun, 25 Sep 2022 10:05:20 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "A26504A176696A89EBEB266F6DCA46B4ECB154B11D3A2127F3FEA82DEA3CFCCD"
Last-Modified: Sat, 24 Sep 2022 13:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=7235
Expires: Sun, 25 Sep 2022 06:43:50 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "BC2CB98A00CFA4199D30A3C2CB7A7A78F9A558522ED5C1E83A3562A6BDAA3E10"
Last-Modified: Sat, 24 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=19325
Expires: Sun, 25 Sep 2022 10:05:20 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST /gseccovsslca2018 HTTP/1.1 
Host: ocsp.globalsign.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 25 Sep 2022 04:43:15 GMT
Content-Length: 939
Connection: keep-alive
Expires: Thu, 29 Sep 2022 03:20:34 GMT
ETag: "b2f2f46db218ff3e9012be869d66d3f98c934a76"
Last-Modified: Sun, 25 Sep 2022 03:20:35 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 2643
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 7501190d888f1c02-OSL

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

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

                                        
                                            GET /thumbs/AA/8B/zK.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 39752
server: nginx/1.18.0
last-modified: Thu, 14 Oct 2021 11:02:21 GMT
etag: "61680e3d-9b48"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   39752
Md5:    42603449437ac1d1ddd744443472f8b9
Sha1:   e90bf084919d3e6c614f4d5a9d80262e25839e5b
Sha256: 717d47a52c0fc2988fcf3bfdee1925b9c1146acde33421f204f04cb6efe9ef17
                                        
                                            GET /thumbs/AA/b_/uf.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 38224
server: nginx/1.18.0
last-modified: Tue, 10 Aug 2021 08:24:03 GMT
etag: "611237a3-9550"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   38224
Md5:    fb9d828fdddfe9ec43a76ea1808d1954
Sha1:   bf5ef6f8b4c679fd1840d9ae7640cd4fa103a804
Sha256: adccc44a13ddbe59fa0b59ac32045386afd8c5db9b36c90d418139760a08ccfb
                                        
                                            GET /thumbs/AA/-N/W6.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 19014
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 10:07:20 GMT
etag: "5f7458d8-4a46"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x198, components 3\012- data
Size:   19014
Md5:    f2c4cf10ea240e37cba3a6a22f976d41
Sha1:   eae34db49526a4cfd3d60cdab1fbec4b50d2782a
Sha256: cd535da4eb68757c337ba9000922946e2dd8c7b071832e44ac6887e4ebfe85e4
                                        
                                            GET /thumbs/AA/f8/Wx.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 11573
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 12:12:44 GMT
etag: "5f74763c-2d35"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x198, components 3\012- data
Size:   11573
Md5:    fee165c1a7c3117c4ea827dc13d24e41
Sha1:   b5753d148c651b5b5424cb8c75a16e7490743277
Sha256: b57f893ccfabe1480188318bbc9f9e3f618dcaa326f888f3164b65a29ffe6df3
                                        
                                            GET /thumbs/AA/CT/mn.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 31630
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 15:21:11 GMT
etag: "5f74a267-7b8e"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, Exif Standard: [TIFF image data, little-endian, direntries=1, copyright=II*], baseline, precision 8, 352x198, components 3\012- data
Size:   31630
Md5:    95bdfc02f17a925f4a4c97b7c868d238
Sha1:   9279f18374d3ec1cac3a10e1e0f3b7b084301109
Sha256: 172f7b7835cc6b7a2b0950d7d683991b47f51ff2684640203392f58498f21701
                                        
                                            GET /thumbs/AA/QH/4f.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 17777
server: nginx/1.19.6
last-modified: Thu, 19 May 2022 02:43:01 GMT
etag: "6285aeb5-4571"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x198, components 3\012- data
Size:   17777
Md5:    72efa6628e1a0b82a27cbb4820da23fc
Sha1:   2890eab0d313f7cc3b105749f0f422108af74e3e
Sha256: c21870bf9430ba15b35261f46326beb2b46a36f57e356d167c23d520e22a1940
                                        
                                            GET /thumbs/AA/x6/zz.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 6148
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 11:32:05 GMT
etag: "5f746cb5-1804"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x198, components 3\012- data
Size:   6148
Md5:    338469cdd20f641de0ad2880177a3616
Sha1:   2fcf7e98ec2f5eac496c1151152b899f509aa254
Sha256: da5056c7e9965bebffc39eb133d00e843fdc813ece5d57e5253508f27bea2407
                                        
                                            GET /thumbs/AA/Wn/pT.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 42041
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 15:46:33 GMT
etag: "5f74a859-a439"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   42041
Md5:    e8c0bf25f08c870fda507e60005e0686
Sha1:   8e4dc80792ebc32bfc74f7e4b0cb5b3ea3e93bb1
Sha256: 3a8b7696257794aaa82ba4245e64a7279d8dc4e2d0df7abe82ca2d719f72611e
                                        
                                            GET /thumbs/AA/Os/LR.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 20858
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 15:25:16 GMT
etag: "5f74a35c-517a"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x264, components 3\012- data
Size:   20858
Md5:    17f9ed0dcca661592cb0075aea9ada7e
Sha1:   f5f8d2512f541f5dd2283e1acc5f19ef2880a9bc
Sha256: 83c88e548d727784b96be86b5f8cd1baacaeee1258cd9b6e903ad855fb624c8f
                                        
                                            GET /?c=36&src_hostname=ww2.mkkuei4kdsz.com&source=296040701&target_id=377188470&subid=tcbp_604&sid=29&utm_source=tcb&utm_medium=377188470-1&utm_campaign=29-2013-&utm_content=604-6763645-3 HTTP/1.1 
Host: porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://cadrctlnk.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         172.67.213.174
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 25 Sep 2022 04:43:14 GMT
vary: Accept-Encoding
x-powered-by: PHP/7.2.34
set-cookie: vn=1; expires=Fri, 30-Sep-2022 04:43:15 GMT; Max-Age=432000; path=/
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=xzzFrEOaLDhTIuIEzyCeUKweCRGykMt65kJdOTvafr%2BcdLzhWwVUfbgMv5bVXIFm2%2FrvVQDlQDMyQ7%2B0dTyHICzmi0rVHshknciSGJSCJdf67RjAvAwQV6%2BsrnZSfA%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 7501190a295ab4ff-OSL
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 text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, Unicode text, UTF-8 text, with very long lines (10565), with CRLF, LF line terminators
Size:   40444
Md5:    0355d320455b454abfea97eeb3345703
Sha1:   c4dde23f73771cd2c5dbaf5ab7737afac508e043
Sha256: 9b85c9324baceaf345da04ee86312114ab6322dfc4b191a23a23d6085a1415a2
                                        
                                            GET /thumbs/AA/9J/Mr.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 53837
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:59:32 GMT
etag: "611fd164-d24d"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, Exif Standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 352x236, components 3\012- data
Size:   53837
Md5:    216873c1c07519bdf845f887e8d47bc4
Sha1:   08122edef6e704341b1ffd5c9c6c64a1301e44e7
Sha256: d90dbde33940dc7c9cad89f5834c301accdaaaf6bbaad0130b56aa58911c8e27
                                        
                                            GET /thumbs/AA/UE/km.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 44960
server: nginx/1.19.6
last-modified: Sat, 23 Apr 2022 15:21:37 GMT
etag: "62641981-afa0"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   48220
Md5:    3c7d9b595a596e17d4c67af27df4b23b
Sha1:   04f51ba3351eaf73d63fa69cd5dd06d35b4ca4f8
Sha256: eb74a6213952fc3a9317faf7c3f72fe3821a17824f9351414312610a87229718
                                        
                                            GET /thumbs/AA/4N/Ra.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 19726
server: nginx/1.19.6
last-modified: Thu, 17 Dec 2020 16:24:03 GMT
etag: "5fdb8623-4d0e"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   19726
Md5:    e468d0ed42bc056da40a360286dc5ced
Sha1:   a4609f71db7e6c54f4051ee131896f942478b8a5
Sha256: 62a81efada09161334286c3bb7d9296832c6b20d0c39e4b1f38a9ac661d686a6
                                        
                                            GET /thumbs/AA/IA/vz.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 35964
server: nginx/1.19.6
last-modified: Fri, 30 Oct 2020 22:33:03 GMT
etag: "5f9c949f-8c7c"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   35964
Md5:    09ee5c45100fcb832e1507d4488b92c1
Sha1:   3a3a0a1bf2262580453a4b60c3257076fceb7c5e
Sha256: 6aee5b40223f2d47216d33ed514544cbc6276536f3285525db2190a7f6467886
                                        
                                            GET /thumbs/AA/aU/FC.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 32320
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 11:34:13 GMT
etag: "5f746d35-7e40"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   32320
Md5:    90b8a8befc7f1a6757cf81e18feb2f48
Sha1:   0ad7a6e8f172a79bca9d93ae27c57a557b19a80f
Sha256: caba777cabe08ae4548333e17554fb47fd1f79a0ccd23a643ca1a2d20a541951
                                        
                                            GET /thumbs/AA/I3/ex.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 24027
server: nginx/1.19.6
last-modified: Wed, 03 Feb 2021 11:34:00 GMT
etag: "601a8a28-5ddb"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   24027
Md5:    508acc85bd9b75e60c28a68563f6ef06
Sha1:   e4c50efeac09970f33a1ad21a2565f6fc0fcb721
Sha256: 8fc3eedaab573f7ae2d29375d180be756d6d439a32b7fb36100c0827f1154b04
                                        
                                            GET /thumbs/AA/n6/Bd.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 24372
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 14:21:50 GMT
etag: "5f74947e-5f34"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x264, components 3\012- data
Size:   24372
Md5:    ddc762da4cf4623e4428a422fb2d5541
Sha1:   c7dd515aa240054881d8130a4017084720681159
Sha256: d293937cd45ef470577802ed4f43913465af188f4d05ce39ae94fb284712143c
                                        
                                            GET /thumbs/AA/Z5/vk.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 14093
server: nginx/1.19.6
last-modified: Fri, 19 Nov 2021 09:49:57 GMT
etag: "61977345-370d"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x198, components 3\012- data
Size:   14093
Md5:    4da7451668460edb8a54ac738a356572
Sha1:   b92da2dc1573a00f890a908e11b9aa1297b76889
Sha256: 8bec9bf77617cd0bb4e1dea6fd4349e3b8b155a9c5af381f825ee0fdf1232b48
                                        
                                            GET /thumbs/AA/97/xn.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 20603
server: nginx/1.19.6
last-modified: Fri, 04 Mar 2022 07:29:10 GMT
etag: "6221bfc6-507b"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x198, components 3\012- data
Size:   20603
Md5:    8ce77835b8538b16e9c00c9312492788
Sha1:   2f5072ce8fc8f14331c0110c23a6d428f20a5daa
Sha256: da7a4bad2277aa680786c485a645a2a2f1ad84ef70f0e99c3e2c2d53e5af54ce
                                        
                                            GET /thumbs/AA/Cq/jt.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 25610
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 09:29:43 GMT
etag: "5f745007-640a"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, baseline, precision 8, 352x198, components 3\012- data
Size:   25610
Md5:    5326bebdb82af1f50515d706a5d9ae05
Sha1:   9eaaba9ec058b5f0ba8c2aff2b73fcd70683ace7
Sha256: 47219fd1eaa975ba068790bf6cc051fffb9190a5f3acf934816fd8696b405824
                                        
                                            GET /thumbs/AA/EG/qr.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 28925
server: nginx/1.19.6
last-modified: Wed, 30 Sep 2020 11:00:08 GMT
etag: "5f746538-70fd"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, comment: "Lavc58.18.100", baseline, precision 8, 352x198, components 3\012- data
Size:   28925
Md5:    7112ae619afbe1452e7984d0e8615d8b
Sha1:   e4987274727cf27784b9a3557727f93727ae8ef4
Sha256: 25514797976ff4e1cc0b90a4663bb14904a0403ef99f403d563d92fa7bda4595
                                        
                                            GET /thumbs/AA/AL/Dh.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 87883
server: nginx/1.19.6
last-modified: Wed, 16 Mar 2022 09:46:37 GMT
etag: "6231b1fd-1574b"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 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, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=10, PhotometricIntepretation=RGB, manufacturer=Canon, model=Canon EOS 60D, orientation=upper-left, xresolution=154, yresolution=162, resolutionunit=2, software=Adobe Photoshop CC 2017 (Macintosh), datetime=2017:09:13 20:59:26], baseline, precision 8, 352x198, components 3\012- data
Size:   87883
Md5:    8e156cb97bd985f73ad4b543aa2e204b
Sha1:   102e9d4356c43dde1b4cea643410cddd4ac33bef
Sha256: fb1eab0ebb1ad0825cb0f3f1c0ed7fa557c8f7db723c8f4e88ba539790a299cc
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "12FBA2F5DE13400F444CDD3923A44F3F988DF45AE9CFA27CB7C305C0343351A5"
Last-Modified: Sat, 24 Sep 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16685
Expires: Sun, 25 Sep 2022 09:21:20 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   35403
Md5:    460f973b4d81c1d3df65bac21220fa95
Sha1:   06e9638454213a53becba1a7005615f55e7ca40d
Sha256: b7339d5cce9dcd25357776cce54f5e773c8212b144c9ebfbecd75a7cac533ec0
                                        
                                            GET /in/track?data=eyJ3bCI6MSwic3ViaWQiOjI5NjA0MDcwMSwidXNlcl9pZCI6IjQ5ODcxODYxMDkzODEyNTEwMDAiLCJ0aW1lem9uZSI6MCwidmVyIjoiMy44LjEiLCJ0YWdfaWQiOjM1Miwic2NyZWVuX3Jlc29sdXRpb24iOiIxMjgweDEwMjQiLCJhZGJsb2NrIjowLCJ0aW1lem9uZV9vbHNvbiI6IlVUQyIsInV0bV9zb3VyY2UiOiJ0Y2IiLCJ1dG1fbWVkaXVtIjoiMzc3MTg4NDcwLTEiLCJ1dG1fY2FtcGFpZ24iOiIyOS0yMDEzLSIsInV0bV9jb250ZW50IjoiNjA0LTY3NjM2NDUtMyIsIm1tIjowLCJpbml0X3N0YXJ0X2xhdGVuY3kiOjAuMzEsImlzX3YyIjowLCJpc192Ml9lbXB0eSI6MCwidXNlcl9rZXl3b3JkcyI6IkdyYXRpcyUyQ3Bvcm5vJTJDdmlkZW9lciUyQ1R1YmUlMkNTZXglMkNYWFglMkNmaWxtZXIlMkNQb3JuR28ueHh4JTJDU2UlMkNtaWxsaW9uZXIlMkNhdiUyQ2dyYXRpcyUyQ2hvdHBvcm5vdmlkZW9lciUyQ29nJTJDdHVzZW52aXMlMkNhdiUyQ2RlJTJDYmVzdGUlMkNueWUlMkN2aWRlb2VuZSUyQ3NvbSUyQ2JsaXIlMkNsYWd0JTJDdGlsJTJDaHZlciUyQ2RhZyUyQ1MlQzMlQjhrJTJDZXR0ZXIlMkNuYXZuZXQlMkNwJUMzJUE1JTJDZW4lMkNwb3Jub3N0amVybmUlMkNlbGxlciUyQ2V0dGVyJTJDa2F0ZWdvcmklMjAifQ== HTTP/1.1 
Host: 14f91f4146.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://porngo.tube
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.24
HTTP/2 200 OK
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 0
server: nginx/1.20.2
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 /metrika/tag.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 72341
date: Sun, 25 Sep 2022 04:43:15 GMT
access-control-allow-origin: *
etag: "632d6d03-11a95"
expires: Sun, 25 Sep 2022 05:43:15 GMT
last-modified: Fri, 23 Sep 2022 11:23:31 GMT
cache-control: max-age=3600
content-encoding: br
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   72347
Md5:    830bb4d537b81a2046f2d111cf9324c4
Sha1:   1fa21c7c3bc2dfc78674b1b0e5db7c72925ffa76
Sha256: 3a864af0ef8de43f99294beb075c95306d6691301dbba3317ec46b1beabf85ac
                                        
                                            OPTIONS /fp?tag_id=352 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://porngo.tube/
Origin: https://porngo.tube
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         157.90.84.246
HTTP/1.1 204 No Content
                                        
Server: nginx/1.20.1
Date: Sun, 25 Sep 2022 04:43:15 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://porngo.tube
Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "5F9CA75D0A6BFD7413FA713549EFD44ACA3E24573FC5D3FE93B1147729217F86"
Last-Modified: Sat, 24 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=10854
Expires: Sun, 25 Sep 2022 07:44:09 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "5F9CA75D0A6BFD7413FA713549EFD44ACA3E24573FC5D3FE93B1147729217F86"
Last-Modified: Sat, 24 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=10854
Expires: Sun, 25 Sep 2022 07:44:09 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "96DBC1F3A0BC19F3E84181DFA5B07A057977C2AC05577AD38519FEA6DFDFA5A5"
Last-Modified: Thu, 22 Sep 2022 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=8606
Expires: Sun, 25 Sep 2022 07:06:41 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "3C403035C248C0DFFAFA234CF217059EFE67427AD2EFBCDDF503BE15AFF30F83"
Last-Modified: Sun, 25 Sep 2022 03:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=15804
Expires: Sun, 25 Sep 2022 09:06:39 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

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

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

                                        
                                            GET /health/ HTTP/1.1 
Host: 661f8a0d88.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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


--- Additional Info ---
Magic:  data
Size:   46806
Md5:    1859976b8f110d9c69b67673840688ed
Sha1:   bfeba8e43b50b17d20dc3a9ab7d3cf88d313ddf5
Sha256: 796df1dfc4faa3265a324953074f749523d642ec8b55cdd89f7eb09f0c0e2646

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST /fp?tag_id=352 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 22265
Origin: https://porngo.tube
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         157.90.84.246
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
                                        
Server: nginx/1.20.1
Date: Sun, 25 Sep 2022 04:43:15 GMT
Content-Length: 28
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://porngo.tube
Set-Cookie: id=16123017750130474054; Expires=Mon, 25 Sep 2023 04:43:15 GMT; Secure; SameSite=None
Vary: Origin


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   28
Md5:    d8ded99ae3089c609f0f3dfd190a3299
Sha1:   aa378c43d5b8dc4887db4f93f86a319f75731b6f
Sha256: f5526ab1e5df71c978b3db3ada96990b256be308611834bea29d342b88338000
                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImEiLCJpZCI6MjQ0Miwic3BhY2VpZCI6MjQ0MiwidHlwZSI6ImludGVyc3RpdGlhbCIsInN1YmlkIjoiMTYzMzAwMTg1MSIsInV0bTEiOiJ0Y2IiLCJ1dG0yIjoiMzc3MTg4NDcwLTEiLCJ1dG0zIjoiMjktMjAxMy0iLCJ1dG00IjoiNjA0LTY3NjM2NDUtMyIsInNwb3RfaWQiOjU0NjA1LCJsYWJlbHMiOiIiLCJhbGxvd2VkX2xhYmVscyI6IiIsImludGVyc3RpdGlhbCI6dHJ1ZSwiYWRfdGFncyI6IiIsInJlZmRvbWFpbiI6ImNhZHJjdGxuay5jb20iLCJpc19pZnJhbWUiOmZhbHNlLCJneXIiOjAsImFjY2VsIjowfSwicGV4dCI6eyJhYiI6MH19XSwic2l0ZSI6eyJpZCI6IjU0NjA1IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwcyUzQS8vcG9ybmdvLnR1YmUvJTNGYyUzRDM2JTI2c3JjX2hvc3RuYW1lJTNEd3cyLm1ra3VlaTRrZHN6LmNvbSUyNnNvdXJjZSUzRDI5NjA0MDcwMSUyNnRhcmdldF9pZCUzRDM3NzE4ODQ3MCUyNnN1YmlkJTNEdGNicF82MDQlMjZzaWQlM0QyOSUyNnV0bV9zb3VyY2UlM0R0Y2IlMjZ1dG1fbWVkaXVtJTNEMzc3MTg4NDcwLTElMjZ1dG1fY2FtcGFpZ24lM0QyOS0yMDEzLSUyNnV0bV9jb250ZW50JTNENjA0LTY3NjM2NDUtMyJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiI5ZTQ5NDdmMzU3NTE0NjU0MTFmZDFhNGY1YzM1OGM3OCJ9LCJleHQiOnsiZHQiOjE2NjQwODA5OTQzMTd9fQ%3D%3D HTTP/1.1 
Host: mcpuwpsh.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://porngo.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         94.130.197.134
HTTP/2 302 Found
                                        
server: nginx/1.16.0
date: Sun, 25 Sep 2022 04:43:15 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://ts.cvastico.com/in/2459/?source=1633001851&site_id=54605&utm1=tcb&utm2=377188470-1&utm3=29-2013-&utm4=604-6763645-3&idzone=0&spot_id=54605&mo=&ve=&ad_tags=&p=https%3A%2F%2Fporngo.tube%2F%3Fc%3D36%26src_hostname%3Dww2.mkkuei4kdsz.com%26source%3D296040701%26target_id%3D377188470%26subid%3Dtcbp_604%26sid%3D29%26utm_source%3Dtcb%26utm_medium%3D377188470-1%26utm_campaign%3D29-2013-%26utm_content%3D604-6763645-3&sid=2442&katds_labels=&is_iframe=1&ss=1&btype=0&score=1
X-Firefox-Spdy: h2


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 661f8a0d88.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 661f8a0d88.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /health/ HTTP/1.1 
Host: 661f8a0d88.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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


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

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            OPTIONS /in/multy HTTP/1.1 
Host: 434d80d136.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://porngo.tube/
Origin: https://porngo.tube
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         168.119.25.22
HTTP/2 204 No Content
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2042E1AD9E132D430EECA0DAA6B690F60F09D4467D0F27B6BF97BB52FB8944A3"
Last-Modified: Fri, 23 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6359
Expires: Sun, 25 Sep 2022 06:29:14 GMT
Date: Sun, 25 Sep 2022 04:43:15 GMT
Connection: keep-alive

                                        
                                            GET /in/2459/?source=1633001851&site_id=54605&utm1=tcb&utm2=377188470-1&utm3=29-2013-&utm4=604-6763645-3&idzone=0&spot_id=54605&mo=&ve=&ad_tags=&p=https%3A%2F%2Fporngo.tube%2F%3Fc%3D36%26src_hostname%3Dww2.mkkuei4kdsz.com%26source%3D296040701%26target_id%3D377188470%26subid%3Dtcbp_604%26sid%3D29%26utm_source%3Dtcb%26utm_medium%3D377188470-1%26utm_campaign%3D29-2013-%26utm_content%3D604-6763645-3&sid=2442&katds_labels=&is_iframe=1&ss=1&btype=0&score=1 HTTP/1.1 
Host: ts.cvastico.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://porngo.tube/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.175.252
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 0
location: https://cdn.tubecorp.com/i/df_inter_desc.html?ad_sub=1633001851
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: *
set-cookie: 2459.0=1; expires=Mon, 26 Sep 2022 04:43:15 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /thumbs/AA/3u/9-.jpg HTTP/1.1 
Host: tn.porngo.tube
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Cookie: source=296040701; utm_source=tcb; utm_medium=377188470-1; utm_campaign=29-2013-; utm_content=604-6763645-3; subid=tcbp_604
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
TE: trailers

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 25 Sep 2022 04:43:15 GMT
content-length: 20270
server: nginx/1.19.6
last-modified: Fri, 01 Jan 2021 20:44:08 GMT
etag: "5fef8998-4f2e"
cache-control: max-age=15552000
expires: Fri, 24 Mar 2023 04:43:15 GMT
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 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "610EAA48A866ABB2124E81F7545AF1E58BFA1300E703ADAEC6A9FDC524BE4779"
Last-Modified: Sat, 24 Sep 2022 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=7263
Expires: Sun, 25 Sep 2022 06:44:19 GMT
Date: Sun, 25 Sep 2022 04:43:16 GMT
Connection: keep-alive

                                        
                                            GET /banner/in/show/?mid=830129713&pid=0&site=35805&sc=NO&usage_type=DCH&subid=296040701&sid=0&cid=0&price=0&is_cpm=0&cpm=0&ecpm=0&crid=&crtid=&tcid=0&out_id=&ver=&ver_c=&refdom=porngo.tube&hostname=auc-banner-hz-4&site_id=0&spot_id=35805&utm_source=tcb&utm_medium=377188470-1&utm_campaign=29-2013-&utm_content=604-6763645-3&expirationTimestamp=0&created_at=0000-00-00&is_native=0&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=default&iabcat=IAB25&min_cpm=0.001819&placement_type_id=&skin_test=&verify_hash=&score=97&ml=&ttl=&space_id=35805&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25&url=https%3A%2F%2Fbtds.zog.link%2Fin%2F912%2F%3Fsid%3D35805%26source%3D296040701%26idzone%3D4329334%26w%3D300%26h%3D250%26mo%3D%26ve%3D%26site_id%3D35805%26utm1%3Dtcb%26utm2%3D377188470-1%26utm3%3D29-2013-%26utm4%3D604-6763645-3%26ad_tags%3DGratis%252Cporno%252Cvideoer%252CTube%252CSex%252CXXX%252Cfilmer%252CPornGo.xxx%252CSe%252Cmillioner%252Cav%252Cgratis%252Chotpornovideoer%252Cog%252Ctusenvis%252Cav%252Cde%252Cbeste%252Cnye%252Cvideoene%252Csom%252Cblir%252Clagt%252Ctil%252Chver%252Cdag%252CS%25C3%25B8k%252Cetter%252Cnavnet%252Cp%25C3%25A5%252Cen%252Cpornostjerne%252Celler%252Cetter%252Ckategori%2520%26spot_id%3D35805%26p%3Dhttps%253A%252F%252Fporngo.tube%252F%253Fc%253D36%2526src_hostname%253Dww2.mkkuei4kdsz.com%2526source%253D296040701%2526target_id%253D377188470%2526subid%253Dtcbp_604%2526sid%253D29%2526utm_source%253Dtcb%2526utm_medium%253D377188470-1%2526utm_campaign%253D29-2013-%2526utm_content%253D604-6763645-3%26katds_labels%3D%26btype%3D0%26score%3D97&pr=cadrctlnk.com&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Gratis%2Cporno%2Cvideoer%2CTube%2CSex%2CXXX%2Cfilmer%2CPornGo.xxx%2CSe%2Cmillioner%2Cav%2Cgratis%2Chotpornovideoer%2Cog%2Ctusenvis%2Cav%2Cde%2Cbeste%2Cnye%2Cvideoene%2Csom%2Cblir%2Clagt%2Ctil%2Chver%2Cdag%2CS%C3%B8k%2Cetter%2Cnavnet%2Cp%C3%A5%2Cen%2Cpornostjerne%2Celler%2Cetter%2Ckategori%20&stratagem=&ssp=3758 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://661f8a0d88.a07d30aaf0.com/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:16 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://btds.zog.link/in/912/?sid=35805&source=296040701&idzone=4329334&w=300&h=250&mo=&ve=&site_id=35805&utm1=tcb&utm2=377188470-1&utm3=29-2013-&utm4=604-6763645-3&ad_tags=Gratis%2Cporno%2Cvideoer%2CTube%2CSex%2CXXX%2Cfilmer%2CPornGo.xxx%2CSe%2Cmillioner%2Cav%2Cgratis%2Chotpornovideoer%2Cog%2Ctusenvis%2Cav%2Cde%2Cbeste%2Cnye%2Cvideoene%2Csom%2Cblir%2Clagt%2Ctil%2Chver%2Cdag%2CS%C3%B8k%2Cetter%2Cnavnet%2Cp%C3%A5%2Cen%2Cpornostjerne%2Celler%2Cetter%2Ckategori%20&spot_id=35805&p=https%3A%2F%2Fporngo.tube%2F%3Fc%3D36%26src_hostname%3Dww2.mkkuei4kdsz.com%26source%3D296040701%26target_id%3D377188470%26subid%3Dtcbp_604%26sid%3D29%26utm_source%3Dtcb%26utm_medium%3D377188470-1%26utm_campaign%3D29-2013-%26utm_content%3D604-6763645-3&katds_labels=&btype=0&score=97
X-Firefox-Spdy: h2

                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozNTgwNywidHlwZSI6InBvcCIsImlkem9uZSI6NDMyOTM3OCwiYWRfdGFncyI6IkdyYXRpcyUyQ3Bvcm5vJTJDdmlkZW9lciUyQ1R1YmUlMkNTZXglMkNYWFglMkNmaWxtZXIlMkNQb3JuR28ueHh4JTJDU2UlMkNtaWxsaW9uZXIlMkNhdiUyQ2dyYXRpcyUyQ2hvdHBvcm5vdmlkZW9lciUyQ29nJTJDdHVzZW52aXMlMkNhdiUyQ2RlJTJDYmVzdGUlMkNueWUlMkN2aWRlb2VuZSUyQ3NvbSUyQ2JsaXIlMkNsYWd0JTJDdGlsJTJDaHZlciUyQ2RhZyUyQ1MlQzMlQjhrJTJDZXR0ZXIlMkNuYXZuZXQlMkNwJUMzJUE1JTJDZW4lMkNwb3Jub3N0amVybmUlMkNlbGxlciUyQ2V0dGVyJTJDa2F0ZWdvcmklMjAiLCJsYWJlbHMiOiIiLCJhbGxvd2VkX2xhYmVscyI6IiIsInRpdGxlIjoiIiwic3ViaWQiOiIyOTYwNDA3MDEiLCJ1dG0xIjoidGNiIiwidXRtMiI6IjM3NzE4ODQ3MC0xIiwidXRtMyI6IjI5LTIwMTMtIiwidXRtNCI6IjYwNC02NzYzNjQ1LTMiLCJzcG90X2lkIjozNTgwNywibXVsdGlwbGUiOmZhbHNlLCJpc19pZnJhbWUiOmZhbHNlLCJyZWZkb21haW4iOiJjYWRyY3RsbmsuY29tIiwicGwiOjEwLCJzdHJhdGFnZW0iOm51bGwsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1OH0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjM1ODA3IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3Bvcm5nby50dWJlLz9jPTM2JnNyY19ob3N0bmFtZT13dzIubWtrdWVpNGtkc3ouY29tJnNvdXJjZT0yOTYwNDA3MDEmdGFyZ2V0X2lkPTM3NzE4ODQ3MCZzdWJpZD10Y2JwXzYwNCZzaWQ9MjkmdXRtX3NvdXJjZT10Y2ImdXRtX21lZGl1bT0zNzcxODg0NzAtMSZ1dG1fY2FtcGFpZ249MjktMjAxMy0mdXRtX2NvbnRlbnQ9NjA0LTY3NjM2NDUtMyJ9LCJkZXZpY2UiOnsidyI6MTI4MCwiaCI6MTAyNH0sInVzZXIiOnsiaWQiOiI5ZTQ5NDdmMzU3NTE0NjU0MTFmZDFhNGY1YzM1OGM3OCJ9LCJleHQiOnsiZHQiOjE2NjQwODA5OTQ1NTh9fQ== HTTP/1.1 
Host: 661f8a0d88.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://porngo.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with very long lines (2290)
Size:   1361
Md5:    923901ceda3313c5fc72dee6a06d1f42
Sha1:   22105e604509144e33c1e0e891da0a29c098dfae
Sha256: 8c3d7f16245d98dc135ac136317f18974aa4f1a35ad442c5a5c0af25c3c14332

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozNTgwNiwidHlwZSI6InBvcCIsImlkem9uZSI6NDMyOTM3NiwiYWRfdGFncyI6IkdyYXRpcyUyQ3Bvcm5vJTJDdmlkZW9lciUyQ1R1YmUlMkNTZXglMkNYWFglMkNmaWxtZXIlMkNQb3JuR28ueHh4JTJDU2UlMkNtaWxsaW9uZXIlMkNhdiUyQ2dyYXRpcyUyQ2hvdHBvcm5vdmlkZW9lciUyQ29nJTJDdHVzZW52aXMlMkNhdiUyQ2RlJTJDYmVzdGUlMkNueWUlMkN2aWRlb2VuZSUyQ3NvbSUyQ2JsaXIlMkNsYWd0JTJDdGlsJTJDaHZlciUyQ2RhZyUyQ1MlQzMlQjhrJTJDZXR0ZXIlMkNuYXZuZXQlMkNwJUMzJUE1JTJDZW4lMkNwb3Jub3N0amVybmUlMkNlbGxlciUyQ2V0dGVyJTJDa2F0ZWdvcmklMjAiLCJsYWJlbHMiOiIiLCJhbGxvd2VkX2xhYmVscyI6IiIsInRpdGxlIjoiIiwic3ViaWQiOiIyOTYwNDA3MDEiLCJ1dG0xIjoidGNiIiwidXRtMiI6IjM3NzE4ODQ3MC0xIiwidXRtMyI6IjI5LTIwMTMtIiwidXRtNCI6IjYwNC02NzYzNjQ1LTMiLCJzcG90X2lkIjozNTgwNiwibXVsdGlwbGUiOmZhbHNlLCJpc19pZnJhbWUiOmZhbHNlLCJyZWZkb21haW4iOiJjYWRyY3RsbmsuY29tIiwicGwiOjksInN0cmF0YWdlbSI6IjJfMzU4MDZfYnJpZ2h0IiwiZ3lyIjowLCJhY2NlbCI6MCwic3NwIjozNzU4fSwiYmFubmVyIjp7InciOjMwMCwiaCI6MjUwfX1dLCJzaXRlIjp7ImlkIjoiMzU4MDYiLCJjYXQiOlsiSUFCMjUiXSwicGFnZSI6Imh0dHBzOi8vcG9ybmdvLnR1YmUvP2M9MzYmc3JjX2hvc3RuYW1lPXd3Mi5ta2t1ZWk0a2Rzei5jb20mc291cmNlPTI5NjA0MDcwMSZ0YXJnZXRfaWQ9Mzc3MTg4NDcwJnN1YmlkPXRjYnBfNjA0JnNpZD0yOSZ1dG1fc291cmNlPXRjYiZ1dG1fbWVkaXVtPTM3NzE4ODQ3MC0xJnV0bV9jYW1wYWlnbj0yOS0yMDEzLSZ1dG1fY29udGVudD02MDQtNjc2MzY0NS0zIn0sImRldmljZSI6eyJ3IjoxMjgwLCJoIjoxMDI0fSwidXNlciI6eyJpZCI6IjllNDk0N2YzNTc1MTQ2NTQxMWZkMWE0ZjVjMzU4Yzc4In0sImV4dCI6eyJkdCI6MTY2NDA4MDk5NDU1NX19 HTTP/1.1 
Host: 661f8a0d88.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://porngo.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with very long lines (2304)
Size:   1368
Md5:    a78a8f4e1cb83248b0f757d6170c8861
Sha1:   89ecea76e259baec13b7902f8a94725468af6115
Sha256: a6fc75c23b0f091a78a04777e15c5e85dd3a3658274866b526624f0f4764757d

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7ImlkIjoxNDk2LCJzcGFjZWlkIjozNTgwNSwidHlwZSI6InBvcCIsImlkem9uZSI6NDMyOTMzNCwiYWRfdGFncyI6IkdyYXRpcyUyQ3Bvcm5vJTJDdmlkZW9lciUyQ1R1YmUlMkNTZXglMkNYWFglMkNmaWxtZXIlMkNQb3JuR28ueHh4JTJDU2UlMkNtaWxsaW9uZXIlMkNhdiUyQ2dyYXRpcyUyQ2hvdHBvcm5vdmlkZW9lciUyQ29nJTJDdHVzZW52aXMlMkNhdiUyQ2RlJTJDYmVzdGUlMkNueWUlMkN2aWRlb2VuZSUyQ3NvbSUyQ2JsaXIlMkNsYWd0JTJDdGlsJTJDaHZlciUyQ2RhZyUyQ1MlQzMlQjhrJTJDZXR0ZXIlMkNuYXZuZXQlMkNwJUMzJUE1JTJDZW4lMkNwb3Jub3N0amVybmUlMkNlbGxlciUyQ2V0dGVyJTJDa2F0ZWdvcmklMjAiLCJsYWJlbHMiOiIiLCJhbGxvd2VkX2xhYmVscyI6IiIsInRpdGxlIjoiIiwic3ViaWQiOiIyOTYwNDA3MDEiLCJ1dG0xIjoidGNiIiwidXRtMiI6IjM3NzE4ODQ3MC0xIiwidXRtMyI6IjI5LTIwMTMtIiwidXRtNCI6IjYwNC02NzYzNjQ1LTMiLCJzcG90X2lkIjozNTgwNSwibXVsdGlwbGUiOmZhbHNlLCJpc19pZnJhbWUiOmZhbHNlLCJyZWZkb21haW4iOiJjYWRyY3RsbmsuY29tIiwicGwiOjksInN0cmF0YWdlbSI6bnVsbCwiZ3lyIjowLCJhY2NlbCI6MCwic3NwIjozNzU4fSwiYmFubmVyIjp7InciOjMwMCwiaCI6MjUwfX1dLCJzaXRlIjp7ImlkIjoiMzU4MDUiLCJjYXQiOlsiSUFCMjUiXSwicGFnZSI6Imh0dHBzOi8vcG9ybmdvLnR1YmUvP2M9MzYmc3JjX2hvc3RuYW1lPXd3Mi5ta2t1ZWk0a2Rzei5jb20mc291cmNlPTI5NjA0MDcwMSZ0YXJnZXRfaWQ9Mzc3MTg4NDcwJnN1YmlkPXRjYnBfNjA0JnNpZD0yOSZ1dG1fc291cmNlPXRjYiZ1dG1fbWVkaXVtPTM3NzE4ODQ3MC0xJnV0bV9jYW1wYWlnbj0yOS0yMDEzLSZ1dG1fY29udGVudD02MDQtNjc2MzY0NS0zIn0sImRldmljZSI6eyJ3IjoxMjgwLCJoIjoxMDI0fSwidXNlciI6eyJpZCI6IjllNDk0N2YzNTc1MTQ2NTQxMWZkMWE0ZjVjMzU4Yzc4In0sImV4dCI6eyJkdCI6MTY2NDA4MDk5NDU0MH19 HTTP/1.1 
Host: 661f8a0d88.a07d30aaf0.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://porngo.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         116.202.60.158
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:15 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:   1411
Md5:    fdd409e8ba2e321da9df39f6c3a8986c
Sha1:   7ce4cac662f738580a78165288c7c1fc2a7c85cd
Sha256: 319187276336d4fcb32fd8d7f374739d12a0bbe99353c52323622daf8f614882

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "A9C82F97B2E51EC494A64D088EC3657B097B3012480A8B68C88AE458571CE268"
Last-Modified: Fri, 23 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=7269
Expires: Sun, 25 Sep 2022 06:44:25 GMT
Date: Sun, 25 Sep 2022 04:43:16 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "864A359F07AA50042DAAF4CFFE51B369506AC533FC3853FF12D10A202BA40058"
Last-Modified: Sat, 24 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6498
Expires: Sun, 25 Sep 2022 06:31:34 GMT
Date: Sun, 25 Sep 2022 04:43:16 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "68E033B65A3A4C7BCB8D44DB4EBE0B8697DCA39659EF97ACE54D8B8C9BB6A006"
Last-Modified: Fri, 23 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=17067
Expires: Sun, 25 Sep 2022 09:27:43 GMT
Date: Sun, 25 Sep 2022 04:43:16 GMT
Connection: keep-alive

                                        
                                            GET /in/dip?site=native-push&wl=1&event_id=c1999db4-abba-4c60-acd7-6ce65d1dc058&subid=296040701&sid=3640419968&spot_id=111&utm_source=tcb&utm_medium=377188470-1&utm_campaign=29-2013-&utm_content=604-6763645-3&created_at=2022-09-25&timezone=0&ver=7.3.0&is_native=1 HTTP/1.1 
Host: nereserv.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://porngo.tube
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         168.119.25.22
HTTP/2 200 OK
                                        
server: nginx/1.18.0
date: Sun, 25 Sep 2022 04:43:16 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

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "68E033B65A3A4C7BCB8D44DB4EBE0B8697DCA39659EF97ACE54D8B8C9BB6A006"
Last-Modified: Fri, 23 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=17067
Expires: Sun, 25 Sep 2022 09:27:43 GMT
Date: Sun, 25 Sep 2022 04:43:16 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   13327
Md5:    ca14bc2aeb97a8345531c728cbd3390c
Sha1:   1c3014b0285c0a16b11ab198322dd6c1541e46c2
Sha256: 0e7216cfb713efa0779565755c77528402ba5ed835b3f5f4137957ff0c128538
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "68E033B65A3A4C7BCB8D44DB4EBE0B8697DCA39659EF97ACE54D8B8C9BB6A006"
Last-Modified: Fri, 23 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=17067
Expires: Sun, 25 Sep 2022 09:27:43 GMT
Date: Sun, 25 Sep 2022 04:43:16 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   28087
Md5:    c26091330e7ca456fcbb32df836b7525
Sha1:   fb2ddd127e00f1d43516a684a69fab5d2c73c117
Sha256: 29a6a6a5d28b8da1e7a49b6c41b51ab0db100c077e19e232add6f20473913e69
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "1A65B9BAF020FB838B36756713EEF169729C91E7A4D6B6C2CCB2BCF01059AE0B"
Last-Modified: Fri, 23 Sep 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6594
Expires: Sun, 25 Sep 2022 06:33:10 GMT
Date: Sun, 25 Sep 2022 04:43:16 GMT
Connection: keep-alive

                                        
                                            GET /in/912/?sid=35807&source=296040701&idzone=4329378&w=300&h=250&mo=&ve=&site_id=35807&utm1=tcb&utm2=377188470-1&utm3=29-2013-&utm4=604-6763645-3&ad_tags=Gratis%2Cporno%2Cvideoer%2CTube%2CSex%2CXXX%2Cfilmer%2CPornGo.xxx%2CSe%2Cmillioner%2Cav%2Cgratis%2Chotpornovideoer%2Cog%2Ctusenvis%2Cav%2Cde%2Cbeste%2Cnye%2Cvideoene%2Csom%2Cblir%2Clagt%2Ctil%2Chver%2Cdag%2CS%C3%B8k%2Cetter%2Cnavnet%2Cp%C3%A5%2Cen%2Cpornostjerne%2Celler%2Cetter%2Ckategori%20&spot_id=35807&p=https%3A%2F%2Fporngo.tube%2F%3Fc%3D36%26src_hostname%3Dww2.mkkuei4kdsz.com%26source%3D296040701%26target_id%3D377188470%26subid%3Dtcbp_604%26sid%3D29%26utm_source%3Dtcb%26utm_medium%3D377188470-1%26utm_campaign%3D29-2013-%26utm_content%3D604-6763645-3&katds_labels=&btype=0&score=97 HTTP/1.1 
Host: btds.zog.link
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://661f8a0d88.a07d30aaf0.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.163.112
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Sun, 25 Sep 2022 04:43:16 GMT
content-length: 0
location: https://tsyndicate.com/iframes2/26b256c2d76c4ccfaf3b5c729a98875e.html?subid=296040701&categories=Gratis,porno,videoer,Tube,Sex,XXX,filmer,PornGo.xxx,Se,millioner,av,gratis,hotpornovideoer,og,tusenvis,av,de,beste,nye,videoene,som,blir,lagt,til,hver,dag,Søk,etter,navnet,på,en,pornostjerne,eller,etter,kategori
pragma: no-cache
vary: *
cache-control: no-cache, no-store, must-revalidate
set-cookie: 912.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None 1624.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None 1625.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /in/912/?sid=35806&source=296040701&idzone=4329376&w=300&h=250&mo=&ve=&site_id=35806&utm1=tcb&utm2=377188470-1&utm3=29-2013-&utm4=604-6763645-3&ad_tags=Gratis%2Cporno%2Cvideoer%2CTube%2CSex%2CXXX%2Cfilmer%2CPornGo.xxx%2CSe%2Cmillioner%2Cav%2Cgratis%2Chotpornovideoer%2Cog%2Ctusenvis%2Cav%2Cde%2Cbeste%2Cnye%2Cvideoene%2Csom%2Cblir%2Clagt%2Ctil%2Chver%2Cdag%2CS%C3%B8k%2Cetter%2Cnavnet%2Cp%C3%A5%2Cen%2Cpornostjerne%2Celler%2Cetter%2Ckategori%20&spot_id=35806&p=https%3A%2F%2Fporngo.tube%2F%3Fc%3D36%26src_hostname%3Dww2.mkkuei4kdsz.com%26source%3D296040701%26target_id%3D377188470%26subid%3Dtcbp_604%26sid%3D29%26utm_source%3Dtcb%26utm_medium%3D377188470-1%26utm_campaign%3D29-2013-%26utm_content%3D604-6763645-3&katds_labels=&btype=0&score=97 HTTP/1.1 
Host: btds.zog.link
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://661f8a0d88.a07d30aaf0.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.163.112
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Sun, 25 Sep 2022 04:43:16 GMT
content-length: 0
location: https://tsyndicate.com/iframes2/969f9419b3ea4b03af4e2a6acba69e75.html?subid=296040701&categories=Gratis,porno,videoer,Tube,Sex,XXX,filmer,PornGo.xxx,Se,millioner,av,gratis,hotpornovideoer,og,tusenvis,av,de,beste,nye,videoene,som,blir,lagt,til,hver,dag,Søk,etter,navnet,på,en,pornostjerne,eller,etter,kategori
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: *
set-cookie: 912.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None 1624.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None 1625.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /in/912/?sid=35805&source=296040701&idzone=4329334&w=300&h=250&mo=&ve=&site_id=35805&utm1=tcb&utm2=377188470-1&utm3=29-2013-&utm4=604-6763645-3&ad_tags=Gratis%2Cporno%2Cvideoer%2CTube%2CSex%2CXXX%2Cfilmer%2CPornGo.xxx%2CSe%2Cmillioner%2Cav%2Cgratis%2Chotpornovideoer%2Cog%2Ctusenvis%2Cav%2Cde%2Cbeste%2Cnye%2Cvideoene%2Csom%2Cblir%2Clagt%2Ctil%2Chver%2Cdag%2CS%C3%B8k%2Cetter%2Cnavnet%2Cp%C3%A5%2Cen%2Cpornostjerne%2Celler%2Cetter%2Ckategori%20&spot_id=35805&p=https%3A%2F%2Fporngo.tube%2F%3Fc%3D36%26src_hostname%3Dww2.mkkuei4kdsz.com%26source%3D296040701%26target_id%3D377188470%26subid%3Dtcbp_604%26sid%3D29%26utm_source%3Dtcb%26utm_medium%3D377188470-1%26utm_campaign%3D29-2013-%26utm_content%3D604-6763645-3&katds_labels=&btype=0&score=97 HTTP/1.1 
Host: btds.zog.link
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://661f8a0d88.a07d30aaf0.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.163.112
HTTP/2 302 Found
content-type: text/html; charset=UTF-8
                                        
server: nginx/1.20.1
date: Sun, 25 Sep 2022 04:43:16 GMT
content-length: 0
location: https://tsyndicate.com/iframes2/f09858d5ae01473bb227f970f434e504.html?subid=296040701&categories=Gratis,porno,videoer,Tube,Sex,XXX,filmer,PornGo.xxx,Se,millioner,av,gratis,hotpornovideoer,og,tusenvis,av,de,beste,nye,videoene,som,blir,lagt,til,hver,dag,Søk,etter,navnet,på,en,pornostjerne,eller,etter,kategori
vary: *
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
set-cookie: 912.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None 1624.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None 1625.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /in/tishow/?katds_ep=rf9mjm7_5pnDVpSb13-fXJf4-HWaubWcLi2JrKCr_Wdyi7ebtNnwLjLLaoAQ5Ai4Wrt7Z22U2SIVi_pVgcp-yR-0TZuX0RI3kLr7MrdUyS15Zr1iij_Wfp0eSRwpYVrVEtOGwj8Cf0ca0wSm6IXPoWyb5Y3Hba1KHF6CQBUe_JPtDMnjeVzSVcKSmfsc93PjR03Db6_qwQ1bGECrHiF4uzEU6RDGqyGuFii65xpNPjciQzEJVHCVCa0Y4tMfhzClcBV18Cqm2Z1M6wernDd7PA0zzr5tsT5zol5I7FJvzpFqzJQwiRgNJHgjNIirivXbCO9eH7MVILu7GrT0qSjlrR4hZobbmjNNN_4WacqBtbsVkSg5ywVPjwgGCWBn3IM9hWcREbSbFG3Z-GYDYfsDJjQmPvqpdylocr3kUilkBqTNzxqCgiTYYSFZCtQ3NBYO23LASMT0k9pa2ohzBmu4GDEu85ku3AvhU59xqYsSs44cwT06wG24dWCMUF0yVwMJB52TGh7kWMJpoVx90j-ihPCRvl0yzRl2jdnhd5JhojJHhVIBFAtXcpcMzeFoubeDBz4WEYYjTSjX7r3cIveq0xLUXEaa5jagdM021QNbnGCO68Ay0zOzadIY1Ay6J2st-RBq6t5ErbAdQIldbu4RelQt3sTfqwZr6bQmCWTlXGcUPRWyJGcR3S6en6OHGXXUnzbTjauiJrfemLbyP62b2vbZlC0vcEY2H-P-vdV6C1f0yc9kcR-Bk0-uhJWI4iMEAaJGDX25TKj9HFOfADwHADoBNBqS-Ez9VnQSkccMh-8Nufdh9mJl6lInDYpdP_-sqaVGLBjwhEwK0-p3b_OkadlL6MLDvkt9j7_n4yVtBFWMZXx-eK98mxfgU_AvdoZJrHxgFHPnRVExtvXiVmYd2hrf69yKmeNDoXnrSC75v4kxzUkcez6HzxVc1xdB2bn3pQqWkn5o33UBOvwnoLThPl2r529pvFTIU4_-rg9WlLcF9ywySXeU67T8-uS3X4aGGjj2dI1KXC8_G7tuLRZCmdyJT9Dte_85hcKmb9iEK_PXEImSX2ICwawqJRXdUADXDRNMZewm5DovzddN4ypQOg4B7IWyMcZ47_MhpUmiAjpTxqsjv7a3Tsp-jADn_JGdpyiyKl_k9_DZlosXXs2wgzpYhwptBj3eLs2iV6_GQiAVIoTkGvOU7H3I6KtrbDXvuW8Kdg75oEWHS603jkM3LXB2JA8310zkkiVKmuB4DJ8AHAFVuTin-Jcr3BE7naJ72Ggqbb2dGWfGiXXLEgWqS-bnYY0wiZw2DsFb--5L5RlaqcRpksQjlVi8-pchwWjILRp0qKcvUFPrle6eC3egXvzL2mw0xX4P4Z0d1THYS3vY3A9PGTNKkqmB3Q6pf_77LbSciNRwA2w7p9U40NzCbSLIbUMCu_IG7DYuf_wY-KdEq2I0vS7yyxCh2l9fOzq6VicQMa-eiKJlTktbkrh4Qw_A7zbI5LQOdY8ZM2if9WAYYe7R8xk6Vx98nPRrs4uDjgRDso85ty1L9vla3cTmbHC4C4KqVJwFQP8fhhKkvov80DdTBCZrXQ8nj3t9DVR4GZ7k8CZT4wfZcTq3M5FTfq5H23fnsx6hmO-H8FZbPQmr6JpwErYgRdUL7GmTYCE4fXGpleH1svNeyDhB4DSbAWfnuFjEx2rlky8ImsFMQX6M07e3AnP87QAZlMu0ZToJRAKVN3nNxoyrunZTZLOZO5Gmp58a9PvmaNiNy4B52HXSDcMxZUg3o9ZeKJOtHIIf-XEIN-Rv2nh1FoHkvtDYlG-tYn-Cmu0B8CYiAHEYuoD1EoHR4zvGx50OwLN9IyNUDMaU2U0x3Ig-lSWeZCfM_r4P3G536XD3jDEMkoOUh4vbEXOoa1q0NtHHGebkTVtQMoKO-scHC3_mOs0CtNFmV3XeeVO0egxBYb2t0WfU3rwpJpWPVBoFPS_MYfvZU-6sYzfPSyxmgT1w_nuLdht36yL2kqMJOb-m_Jms9S96JQGGyI24NT_FZX4-XBMNeMaewWFq0y_nPf5Wkw&sp=${SECOND_PRICE} HTTP/1.1 
Host: in16.zog.link
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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://661f8a0d88.a07d30aaf0.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         109.206.175.85
HTTP/2 302 Found
                                        
server: nginx/1.20.1
date: Sun, 25 Sep 2022 04:43:16 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=porngo.tube&PRICE=0.0050&PRICING_MODEL=[PRICING_MODEL]&CAMPAIGN_ID=6435&CLICK_ID=8d2dbcb4-c673-4644-9735-f07175b64029&id_zone=[idzone]&site={{ site }}&out_name=37319%7C4317%7Ccpm%7C0.0048%7C%24%200.0050&campaign_id=37319&price=0.0050&bidding_price=0.0048&pricebox_price=0.0200&pricing_model=cpm&click_id=8d2dbcb4-c673-4644-9735-f07175b64029&priority=[PRIORITY]&ad_sub=173501021&utm1=tcb&utm2=878669509-100&utm3=249-6435-14933&utm4=0-10346131-0
vary: *
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
set-cookie: 2325.0=1; expires=Mon, 26 Sep 2022 04:43:16 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /b/b_as_n.css?v2 HTTP/1.1 
Host: cdn.1vag.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://cdn.tubecorp.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.25
HTTP/2 200 OK
content-type: text/css
                                        
date: Sun, 25 Sep 2022 04:43:16 GMT
server: nginx/1.20.1
last-modified: Thu, 09 Jun 2022 14:01:25 GMT
etag: W/"62a1fd35-6d7"
cache-control: max-age=3600
x-request-id: a5b4030aaf28f0962e86c381c78d1273
content-encoding: gzip
expires: Sun, 25 Sep 2022 05:43:16 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2

                                        
                                            GET /npc/sdk/common/core.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://porngo.tube/
Origin: https://porngo.tube
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         45.133.44.24
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Sun, 25 Sep 2022 04:43:16 GMT
server: nginx/1.18.0
last-modified: Wed, 14 Sep 2022 10:35:27 GMT
etag: W/"6321ae6f-1b6cb"
content-encoding: gzip
expires: Sun, 25 Sep 2022 04:48:16 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   38157
Md5:    1c9e1d43881700604095e42a238d3213
Sha1:   3d6ccc805ebb001dd6e96cd4aadd8aec6c93c577
Sha256: ecc1152f25971633968c1ce4a26eef970b51e5550ad7551d8e3da77884b8ab9b
                                        
                                            GET /metrika/advert.gif HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://porngo.tube/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         93.158.134.119
HTTP/2 200 OK
content-type: image/gif
                                        
content-length: 43
date: Sun, 25 Sep 2022 04:43:16 GMT
access-control-allow-origin: *
etag: "632d6d03-2b"
expires: Sun, 25 Sep 2022 05:43:16 GMT
accept-ranges: bytes
last-modified: Fri, 23 Sep 2022 11:23:31 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
                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         172.64.155.188
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 25 Sep 2022 04:43:16 GMT
Content-Length: 471
Connection: keep-alive
Last-Modified: Fri, 23 Sep 2022 05:56:28 GMT
Expires: Fri, 30 Sep 2022 05:56:27 GMT
Etag: "9816d2c44bea66a36f1a5ebd37504324f1195cc6"
Cache-Control: max-age=435790,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb3
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 750119147d07b511-OSL

                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.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

                                         
                                         172.64.155.188
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 25 Sep 2022 04:43:16 GMT
Content-Length: 471
Connection: keep-alive
Last-Modified: Fri, 23 Sep 2022 05:56:28 GMT
Expires: Fri, 30 Sep 2022 05:56:27 GMT
Etag: "9816d2c44bea66a36f1a5ebd37504324f1195cc6"
Cache-Control: max-age=435790,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb6
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 750119147c261c0e-OSL

                                        
                                            GET /watch/67238416/1?wmode=7&page-url=https%3A%2F%2Fporngo.tube%2F%3Fc%3D36%26src_hostname%3Dww2.mkkuei4kdsz.com%26source%3D296040701%26target_id%3D377188470%26subid%3Dtcbp_604%26sid%3D29%26utm_source%3Dtcb%26utm_medium%3D377188470-1%26utm_campaign%3D29-2013-%26utm_content%3D604-6763645-3&page-ref=https%3A%2F%2Fcadrctlnk.com%2F&charset=utf-8&browser-info=pv%3A1%3Agdpr%3A14%3Avf%3Aat6op7b9z7b01ildsv2t4%3Afp%3A1321%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A904%3Acn%3A1%3Adp%3A0%3Als%3A1175198555416%3Ahid%3A910100932%3Az%3A0%3Ai%3A20220925044314%3Aet%3A1664080995%3Ac%3A1%3Arn%3A1015640365%3Arqn%3A1%3Au%3A1664080995741980821%3Aw%3A1268x939%3As%3A1280x1024x24%3Ask%3A1%3Awv%3A2%3Ads%3A25%2C21%2C54%2C1%2C1014%2C0%2C%2C160%2C1%2C%2C%2C%2C1329%3Ans%3A1664080992509%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1664080995%3At%3AGratis%20porno%20videoer%20Tube%20%26%20Sex%20XXX%20filmer%20-%20PornGo.xxx&t=gdpr%2814%29clc%280-0-0%29aw%281%29rqnt%281%29fip%281%29rqnl%281%29ti%282%29 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0