Overview

URLarmino.am/video/porno-s-molodoy-armyankoy/
IP 51.83.166.7 (France)
ASN#16276 OVH SAS
UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer
Access lock_open
Report completed2022-12-03 21:27:42 UTC
StatusLoading report..
IDS alerts0
Blocklist alert5
urlquery alerts No alerts detected
Tags None

Domain Summary (26)

Fully Qualifying Domain Name Rank First Seen Last Seen Sent bytes Received bytes IP Comment
notification.tubecup.net (1) 8210 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 427 1794 168.119.25.18
ads.trackingtraffo.com (2) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 834 9546 142.132.194.196
armino.am (20) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 9617 171531 51.83.166.7
karasiq.com (3) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 1417 929249 92.119.112.234
js.wpadmngr.com (2) 25762 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 756 737 45.133.44.24
counter.yadro.ru (1) 7275 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 603 747 88.212.201.198
js.wpshsdk.com (4) 12130 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 1552 1494 45.133.44.25
ocsp.sectigo.com (2) 487 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 680 1928 172.64.155.188
js.wpushsdk.com (1) 36947 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 366 363 45.133.44.24
content-signature-2.cdn.mozilla.net (1) 1152 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 413 5844 34.160.144.191
limurol.com (3) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 3454 2940 62.122.171.6
firefox.settings.services.mozilla.com (1) 867 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 337 1430 34.102.187.140
contile.services.mozilla.com (1) 1114 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 333 229 34.117.237.239
push.services.mozilla.com (1) 2140 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 606 127 54.148.84.125
ocsp2.globalsign.com (1) 1544 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 357 1897 104.18.21.226
fp.metricswpsh.com (2) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 927 775 157.90.84.242
95797ef4d7.413dfe9f11.com (4) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 5974 20886 157.90.84.246
ocsp.digicert.com (2) 86 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 682 1594 93.184.220.29
r3.o.lencr.org (17) 344 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 5746 15072 95.101.11.115
sw.wpush.org (1) 78308 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 345 2163 45.133.44.25
static.bookmsg.com (1) 47495 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 435 863 138.201.236.216
img-getpocket.cdn.mozilla.net (6) 1631 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 3246 42566 34.120.237.76
cst.cstwpush.com (1) 102037 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 365 73763 45.133.44.25
track.trackingtraffo.com (2) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 1787 768 88.214.206.175
godpvqnszo.com (3) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 1359 29755 62.122.171.6
8b9714d2f2.413dfe9f11.com (1) 0 0001-01-01T00:00:00Z 0001-01-01T00:00:00Z 2716 320 45.133.44.25

Network Intrusion Detection Systemsinfo

Suricata /w Emerging Threats Pro
 No alerts detected

Blocklists

OpenPhish
 No alerts detected

PhishTank
 No alerts detected

Fortinet's Web Filter
 No alerts detected

mnemonic secure dns
 No alerts detected

Quad9 DNS
Scan Date Severity Indicator Comment
2022-12-03 medium 413dfe9f11.com Sinkholed
2022-12-03 medium 413dfe9f11.com Sinkholed
2022-12-03 medium 413dfe9f11.com Sinkholed
2022-12-03 medium 413dfe9f11.com Sinkholed
2022-12-03 medium 413dfe9f11.com Sinkholed


Files

No files detected

Recent reports on same IP/ASN/Domain/Screenshot

Last 1 reports on IP: 51.83.166.7
Date UQ / IDS / BL URL IP
2022-12-03 21:27:42 UTC 0 - 0 - 5 armino.am/video/porno-s-molodoy-armyankoy/ 51.83.166.7


Last 5 reports on ASN: OVH SAS
Date UQ / IDS / BL URL IP
2023-06-02 12:55:52 UTC 0 - 3 - 0 8113505653072881.updates-for-pc.top/ 162.19.18.138
2023-06-02 12:34:02 UTC 0 - 1 - 0 one.confbesttop.com/client.config/?app=pndr2& (...) 51.75.61.103
2023-06-02 12:31:01 UTC 0 - 0 - 7 adiraneazkuenaga.es/cn/en.php?rand=13inboxlig (...) 87.98.231.3
2023-06-02 12:15:24 UTC 0 - 0 - 2 www.webecoline.fr/wp-fr/dd9d61681ea2763218c81 (...) 54.36.91.62
2023-06-02 12:07:05 UTC 0 - 4 - 50 www.spotify.ax/payment/8c2a4140-ce1a-de56-236 (...) 51.75.175.17


Last 1 reports on domain: armino.am
Date UQ / IDS / BL URL IP
2022-12-03 21:27:42 UTC 0 - 0 - 5 armino.am/video/porno-s-molodoy-armyankoy/ 51.83.166.7


No other reports with similar screenshot

JavaScript

Executed Scripts (10)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function le() {}

    function ce(e) {
        return e
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Executed Writes (0)


HTTP Transactions (84)


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

                                        
                                             51.83.166.7
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
                                            
Server: nginx
Date: Sat, 03 Dec 2022 21:27:30 GMT
Content-Length: 162
Connection: keep-alive
Location: https://armino.am:443/video/porno-s-molodoy-armyankoy/


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document, ASCII text, with CRLF line terminators
Size:   162
Md5:    4f8e702cc244ec5d4de32740c0ecbd97
Sha1:   3adb1f02d5b6054de0046e367c1d687b6cdf7aff
Sha256: 9e17cb15dd75bbbd5dbb984eda674863c3b10ab72613cf8a39a00c3e11a8492a
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                        
                                             93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Accept-Ranges: bytes
Age: 3974
Cache-Control: max-age=137396
Date: Sat, 03 Dec 2022 21:27:30 GMT
Etag: "638b2570-1d7"
Expires: Mon, 05 Dec 2022 11:37:26 GMT
Last-Modified: Sat, 03 Dec 2022 10:31:12 GMT
Server: ECS (ska/F709)
X-Cache: HIT
Content-Length: 471

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "6035871C0DE6FF2D120921461207CFA32BC286E1FE78849CE74815FFBB9FF950"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4521
Expires: Sat, 03 Dec 2022 22:42:51 GMT
Date: Sat, 03 Dec 2022 21:27:30 GMT
Connection: keep-alive

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

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


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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "39F6BB64420BCFC8F0B010168FD35B67732984CD0698409F04D5AE40410422AA"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16296
Expires: Sun, 04 Dec 2022 01:59:06 GMT
Date: Sat, 03 Dec 2022 21:27:30 GMT
Connection: keep-alive

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

                                        
                                             34.160.144.191
HTTP/2 200 OK
content-type: binary/octet-stream
                                            
x-amz-id-2: meg+Zug0iEcGvmXj+ByL7V31I1BN8MlGapLmWRbVhCGoSeAtHIzKvmwzzM5tgVWv2c/UMOx+Jes=
x-amz-request-id: HVED37K0MQDFFXQ3
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
content-length: 5348
via: 1.1 google
date: Sat, 03 Dec 2022 20:47:16 GMT
age: 2414
last-modified: Thu, 10 Nov 2022 09:21:27 GMT
etag: "9ebddc2b260d081ebbefee47c037cb28"
cache-control: public,max-age=3600
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    9ebddc2b260d081ebbefee47c037cb28
Sha1:   492bad62a7ca6a74738921ef5ae6f0be5edebf39
Sha256: 74bbb7cba16f7d084a08a0907d47d7496e5c148f904707ec6950f8f6a61027e5
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:30 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 /style/templates/images/logo.png HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/png
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 1855
last-modified: Fri, 03 Apr 2020 17:19:05 GMT
etag: "5e877009-73f"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 210 x 50, 8-bit/color RGBA, non-interlaced\012- data
Size:   1855
Md5:    7f43e19f7f2f8e6714620e1d9a367998
Sha1:   f54f1be7273e98639dd7e92df25f075f1d674464
Sha256: ff1e63e4667b7dc8b51dd9cfe3ea9ac5b7b910b12a107c36152cef76b581157e
                                        
                                            GET /style/templates/images/see1.png HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/png
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 274
last-modified: Fri, 03 Apr 2020 12:26:46 GMT
etag: "5e872b86-112"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 16 x 16, 8-bit colormap, non-interlaced\012- data
Size:   274
Md5:    ad828c85ed54845ef254cb0983b63870
Sha1:   d99c1b95f0ca853db03547dc4971f658f3b14538
Sha256: 2eceffacc3c66dd6fdb88d8219e27c5ca4b85a0fdf2156a08d514428eb6cf7b8
                                        
                                            GET /style/templates/images/time.png HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/png
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 337
last-modified: Fri, 03 Apr 2020 12:26:47 GMT
etag: "5e872b87-151"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 16 x 16, 8-bit colormap, non-interlaced\012- data
Size:   337
Md5:    cc68973a05c9f3b050e47e661320bade
Sha1:   dc27152f6dd014a4737f73335fc51b2cebcb21a2
Sha256: 8886b50116494e4c2ed6e4590bcd8b217e15f0efd46052564f753acc0897a2f9
                                        
                                            GET /style/templates/images/copy.png HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/png
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 1150
last-modified: Fri, 03 Apr 2020 17:25:19 GMT
etag: "5e87717f-47e"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 170 x 50, 8-bit/color RGBA, non-interlaced\012- data
Size:   1150
Md5:    9d86f002de7919e7ac98ebe7c9a7c338
Sha1:   a1a7f02ffaf33bc3703c3f0e8bbf32c42a14616d
Sha256: d4e78d71d0541c1baf5debb7332d0178703ed9d1a42ff975b82f35e1e46d83fd
                                        
                                            POST /solid.gif?z=1936402&abvar=0 HTTP/1.1 
Host: godpvqnszo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://armino.am
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
Content-Length: 0
TE: trailers

                                        
                                             62.122.171.6
HTTP/2 200 OK
content-type: image/gif
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 43
x-route-id: stats.tag.loaded
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   43
Md5:    28e463819a210071de3b45ebe7633613
Sha1:   6dccd571828ec0912629119cf7eabfea9f33ddbc
Sha256: 44251f61629e2bfeead421241a917f43ad047af351659f01cd8fd937f0417f84
                                        
                                            GET /aas/r45d/vki/1936402/17b7f026.js HTTP/1.1 
Host: godpvqnszo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             62.122.171.6
HTTP/2 200 OK
content-type: application/javascript
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
last-modified: Tue, 15 Nov 2022 12:20:41 GMT
vary: Accept-Encoding
etag: W/"63738419-10f52"
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
content-encoding: gzip
X-Firefox-Spdy: h2


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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "E612E3D757C76F76FFDCF07AC9922417C2C89D87651A5656048637920B2C4177"
Last-Modified: Sat, 03 Dec 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=21600
Expires: Sun, 04 Dec 2022 03:27:31 GMT
Date: Sat, 03 Dec 2022 21:27:31 GMT
Connection: keep-alive

                                        
                                            GET /video/Video_1493570388i554.mpeg/ HTTP/1.1 
Host: karasiq.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                        
                                             92.119.112.234
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
                                            
Server: nginx
Date: Sat, 03 Dec 2022 21:27:31 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=60
Vary: Accept-Encoding
X-Powered-By: PHP/7.1.33
Set-Cookie: PHPSESSID=vvdivo0rffvnqf11qbcdv8dnai; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text
Size:   421
Md5:    51fe2d95dfa58b529dee5c98f8130620
Sha1:   00cd9022c084b17c5dfb0cef3c000268e4f05dd5
Sha256: 79de7aa1bfed51f4fb3a0c594b1309b5e6690e99e5f85c11ffa2ba99a5660956
                                        
                                            GET /screens/Video_1493570388i554.mpeg.jpg HTTP/1.1 
Host: karasiq.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://karasiq.com/video/Video_1493570388i554.mpeg/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin

                                        
                                             92.119.112.234
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                            
Server: nginx
Date: Sat, 03 Dec 2022 21:27:31 GMT
Content-Length: 9121
Last-Modified: Sun, 17 Apr 2022 09:11:01 GMT
Connection: keep-alive
Keep-Alive: timeout=60
ETag: "625bd9a5-23a1"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
Accept-Ranges: bytes


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02, aspect ratio, density 1x1, segment length 16, comment: "Lavc58.54.100", baseline, precision 8, 320x180, components 3\012- data
Size:   9121
Md5:    3d8deac82c17601d9442a168a774f34a
Sha1:   07d448e985afddbf976189d2cfa91dbe4db30ac9
Sha256: 7741b8438145da3a6299fba5f53773567f0fb3905e327b9349b704b6a8b1467f
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                        
                                             93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Accept-Ranges: bytes
Age: 3952
Cache-Control: max-age=132312
Date: Sat, 03 Dec 2022 21:27:31 GMT
Etag: "638b11ab-1d7"
Expires: Mon, 05 Dec 2022 10:12:43 GMT
Last-Modified: Sat, 03 Dec 2022 09:06:51 GMT
Server: ECS (ska/F709)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET /ssp/req/1936402/?pb=ac4bc61d6caf537c644c77ead793e4751670110051&psp=oFBc9GY8vgvVRhkpDk11O2ZpVfC2lQaF6-gAsSRm4C0G2aOkZXhJFngi01IMmXPKohZU39d_kz2Exx5a_HpEHPTTdzVlNXPYqa5CE8VcKqeAe-hGTKixiAVNL9ptQdcz1MptvThqUqAsGiQk6IN7gj4ivpgXtjjnB9F4zUX9ItZkqPzfWzbRZ287KvTehLrSv82DP8OJr1I2MdlTdLayh-L27cyIq_93CCRh9TD8OAJuT-x0ycsnRYsbv1iSUSJ0LSlv_rGSQovmBcY_X9_9B4Y4t2zuIL2BABa3B3O0M0bygLjlo15LYflNIqxlUQqCbNhr3X0FHd7xm2hf0uc8iqK7rODMh1dA7UxlCR_XryPltXPk79Ime-oXdocH61Gc3UNP_T8Vb7DHFYXAoEz4mAw2bpUZAbmLuyFMse64MvsC-Q_a5PVk4MbhYky4k7DiOKlr8ZKqoBN_ZmNr-Tu_CwCLPUyeE9nzwsg7jvF2JVP-0Yw4geQjIZrWejyy1UB9OJaLXhD5SkargF8f8PU_ORrWcGmW56shO1tYLXAXlDhESchIClv46j1fKPiKyq0_N92bXFBch5huXfZKC3lDdIo=&cb=_cl3oru71kxr8gr01f5zblt&nojs=0&ix=0&abvar=0&t=0&x=1280&y=939&wcks=1&wgl=0&cnvs=1&os=0&md=0&bb=0&lang=en-US&pf=Linux%20x86_64&cd=24 HTTP/1.1 
Host: limurol.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             62.122.171.6
HTTP/2 200 OK
content-type: text/javascript
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 7
x-route-id: ssp.bet
set-cookie: UID=2212031627ba81db8be9f04651b57d656e66; Path=/; Expires=Sun, 03 Dec 2023 21:27:31 GMT; HttpOnly; Secure; SameSite=None
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "845311520E14C5F3BD1D699A2B80CA4DF8103DF7DFC1951D6C52391975C23354"
Last-Modified: Sat, 03 Dec 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=20436
Expires: Sun, 04 Dec 2022 03:08:07 GMT
Date: Sat, 03 Dec 2022 21:27:31 GMT
Connection: keep-alive

                                        
                                            GET /files/screen/Video_1493569897i518.mpeg.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 15730
last-modified: Fri, 03 Apr 2020 14:00:01 GMT
etag: "5e874161-3d72"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   15730
Md5:    26bdf53b07a107189a8e814032e47412
Sha1:   eed66c23f890728771e3ec3db2fa60dfb60756b5
Sha256: 4d0202518256c76c444de57f3e9d91c4f4c9328600cf67fcaf4f43c934a7d860
                                        
                                            GET /files/screen/Video_1493569816i567.mpeg.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 13828
last-modified: Fri, 03 Apr 2020 13:57:53 GMT
etag: "5e8740e1-3604"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   13828
Md5:    1296adb01e97ce65c23a00410064af28
Sha1:   c14ae4eecf58a82fe9e6b30ea67babcc4258eed6
Sha256: 5c833c40854577965617377ea52557d1222a33743650c4bed084f89fdfd051d3
                                        
                                            GET /files/screen/Video_1499065884i938.mp4.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 12858
last-modified: Fri, 03 Apr 2020 17:00:01 GMT
etag: "5e876b91-323a"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   12858
Md5:    be9caa3933aff963945b202c8d1fbde4
Sha1:   82192e71bb2a3bbb4dc9f13aaff8e1359ec49221
Sha256: 7b2904a2b4fa7ea6a66bda4a6088d0fc833d41f658f7d120582d5d4420a67f34
                                        
                                            GET /files/screen/Video_1530607533i712.mp4.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 18409
last-modified: Fri, 03 Apr 2020 17:36:42 GMT
etag: "5e87742a-47e9"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   18409
Md5:    5791b5c11d9f1b7ec251f3959d2bb7e5
Sha1:   7b1492dca7d5cc5be9e53672b02372d3839177cd
Sha256: c57e9a9ca481907db9bf86dd57010e3199725f56f636ce80328792872018dccf
                                        
                                            GET /files/screen/Video_1493569327i967.mp4.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 20538
last-modified: Fri, 03 Apr 2020 13:50:25 GMT
etag: "5e873f21-503a"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   20538
Md5:    27f159ba108ee9a6f293db9981f7d9f6
Sha1:   3b705555c103966d33e502044dd328a4c3d55fca
Sha256: 6cbdcd61fead16d3acfcd55b4eeaaf6c3182a34c64bd4d87fab1b4d84062e4e2
                                        
                                            GET /files/screen/Video_1506970144i984.mp4.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 18390
last-modified: Fri, 03 Apr 2020 17:19:11 GMT
etag: "5e87700f-47d6"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   18390
Md5:    f3dce6c0f1d311cc836af7a889ed1719
Sha1:   1bb61491e9bea9e907fc12aa9a224fc36e31cd9d
Sha256: 4f02185fe04adda2fa628eb705f85a5e14b416baefd419a75339dc0697117435
                                        
                                            GET /files/screen/Video_1493570283i533.mpeg.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 11750
last-modified: Fri, 03 Apr 2020 14:00:01 GMT
etag: "5e874161-2de6"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   11750
Md5:    a3b1aab3cdb2cb2b537aca8930d5e3a6
Sha1:   b47d3f73bf2397a94f60eb23aadfd17df320dc2c
Sha256: 5f61bd399990dd65f87c343e0466979483838926bc6ac2715e058a4073b65502
                                        
                                            GET /files/screen/Video_1506970143i424.mp4.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 15952
last-modified: Fri, 03 Apr 2020 17:19:11 GMT
etag: "5e87700f-3e50"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   15952
Md5:    03a32b853f6e08741bc6c3082962dc30
Sha1:   84b3a3571262c4550709799be3f136b90daeb836
Sha256: f759ceb2a87829b7ea000799b1af615664edc111dc59373fc361d135473cad9e
                                        
                                            GET /files/screen/Video_1560937623i761.mp4.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 19706
last-modified: Fri, 03 Apr 2020 17:37:46 GMT
etag: "5e87746a-4cfa"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   19706
Md5:    2500db5d13a53654b777a41901abbfdb
Sha1:   1f0f5ba95418fea386a0c516ac71748c67e9203d
Sha256: 3560782d5e888167d7e639569be4a5e9123121a8e07856c2bb320764b8c5d64d
                                        
                                            GET /files/screen/Video_1499065884i608.mp4.jpg HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 12775
last-modified: Fri, 03 Apr 2020 16:00:02 GMT
etag: "5e875d82-31e7"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
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: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75", baseline, precision 8, 640x360, components 3\012- data
Size:   12775
Md5:    efd63b5e35421fc4ff75f5e7aad4e41a
Sha1:   bd6e90ffb1b7eda0d91c8088108bcb7b158f69fc
Sha256: a285c0234cd98c6f397a835e2296dce4e726a02e03460167e9a716865310ea62
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "3C43BD29EEC037FDF1186E45A4F28D9A21A3D46772EDADC355999DA2B89D508C"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=14915
Expires: Sun, 04 Dec 2022 01:36:06 GMT
Date: Sat, 03 Dec 2022 21:27:31 GMT
Connection: keep-alive

                                        
                                            GET /ssp/req/1936402/?pb=ac4bc61d6caf537c644c77ead793e4751670110051&psp=oFBc9GY8vgvVRhkpDk11O2ZpVfC2lQaF6-gAsSRm4C0G2aOkZXhJFngi01IMmXPKohZU39d_kz2Exx5a_HpEHPTTdzVlNXPYqa5CE8VcKqeAe-hGTKixiAVNL9ptQdcz1MptvThqUqAsGiQk6IN7gj4ivpgXtjjnB9F4zUX9ItZkqPzfWzbRZ287KvTehLrSv82DP8OJr1I2MdlTdLayh-L27cyIq_93CCRh9TD8OAJuT-x0ycsnRYsbv1iSUSJ0LSlv_rGSQovmBcY_X9_9B4Y4t2zuIL2BABa3B3O0M0bygLjlo15LYflNIqxlUQqCbNhr3X0FHd7xm2hf0uc8iqK7rODMh1dA7UxlCR_XryPltXPk79Ime-oXdocH61Gc3UNP_T8Vb7DHFYXAoEz4mAw2bpUZAbmLuyFMse64MvsC-Q_a5PVk4MbhYky4k7DiOKlr8ZKqoBN_ZmNr-Tu_CwCLPUyeE9nzwsg7jvF2JVP-0Yw4geQjIZrWejyy1UB9OJaLXhD5SkargF8f8PU_ORrWcGmW56shO1tYLXAXlDhESchIClv46j1fKPiKyq0_N92bXFBch5huXfZKC3lDdIo=&cb=_cl3oru71kxr8gr01f5zblt&nojs=0&ix=0&abvar=0&t=0&x=1280&y=939&wcks=1&wgl=0&cnvs=1&os=0&md=0&bb=0&lang=en-US&pf=Linux%20x86_64&cd=24 HTTP/1.1 
Host: limurol.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                        
                                             62.122.171.6
HTTP/2 200 OK
content-type: text/javascript
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
content-length: 7
x-route-id: ssp.bet
set-cookie: UID=2212031627eecb7978732b45bf924172ba86; Path=/; Expires=Sun, 03 Dec 2023 21:27:31 GMT; HttpOnly; Secure; SameSite=None
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   7
Md5:    a97eb6fbe6f13b601d5d48c0eba8baae
Sha1:   736efb938caf3d0edec406932ada889f1a4f2268
Sha256: a04bf061f53e0011fd2f43bdf081526344f003c50146c88c42c2d95ef22c1821
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: wss://push.services.mozilla.com/
Sec-WebSocket-Protocol: push-notification
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: IWJPk1fPvHTdtJjiylzFSg==
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

                                        
                                             54.148.84.125
HTTP/1.1 101 Switching Protocols
                                            
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: gI4i+kbs+hetKAokuPJ+xplJKN4=

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpadmngr.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
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: Sat, 03 Dec 2022 21:27:32 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Sat, 03 Dec 2022 21:32:32 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "EB79BE65721739B162A1FC4F85B01E63ED09075CCF8FF77F9605B81E8C21F494"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=1991
Expires: Sat, 03 Dec 2022 22:00:43 GMT
Date: Sat, 03 Dec 2022 21:27:32 GMT
Connection: keep-alive

                                        
                                            GET /ssp/req/1936402/?pb=ac4bc61d6caf537c644c77ead793e4751670110051&psp=oFBc9GY8vgvVRhkpDk11O2ZpVfC2lQaF6-gAsSRm4C0G2aOkZXhJFngi01IMmXPKohZU39d_kz2Exx5a_HpEHPTTdzVlNXPYqa5CE8VcKqeAe-hGTKixiAVNL9ptQdcz1MptvThqUqAsGiQk6IN7gj4ivpgXtjjnB9F4zUX9ItZkqPzfWzbRZ287KvTehLrSv82DP8OJr1I2MdlTdLayh-L27cyIq_93CCRh9TD8OAJuT-x0ycsnRYsbv1iSUSJ0LSlv_rGSQovmBcY_X9_9B4Y4t2zuIL2BABa3B3O0M0bygLjlo15LYflNIqxlUQqCbNhr3X0FHd7xm2hf0uc8iqK7rODMh1dA7UxlCR_XryPltXPk79Ime-oXdocH61Gc3UNP_T8Vb7DHFYXAoEz4mAw2bpUZAbmLuyFMse64MvsC-Q_a5PVk4MbhYky4k7DiOKlr8ZKqoBN_ZmNr-Tu_CwCLPUyeE9nzwsg7jvF2JVP-0Yw4geQjIZrWejyy1UB9OJaLXhD5SkargF8f8PU_ORrWcGmW56shO1tYLXAXlDhESchIClv46j1fKPiKyq0_N92bXFBch5huXfZKC3lDdIo=&cb=_cl3oru71kxr8gr01f5zblt&nojs=0&ix=0&abvar=0&t=0&x=1280&y=939&wcks=1&wgl=0&cnvs=1&os=0&md=0&bb=0&lang=en-US&pf=Linux%20x86_64&cd=24 HTTP/1.1 
Host: limurol.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                        
                                             62.122.171.6
HTTP/2 200 OK
content-type: text/javascript
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:32 GMT
content-length: 7
x-route-id: ssp.bet
set-cookie: UID=2212031627f2dcfa90d0b6499b8554ff2117; Path=/; Expires=Sun, 03 Dec 2023 21:27:31 GMT; HttpOnly; Secure; SameSite=None
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   7
Md5:    a97eb6fbe6f13b601d5d48c0eba8baae
Sha1:   736efb938caf3d0edec406932ada889f1a4f2268
Sha256: a04bf061f53e0011fd2f43bdf081526344f003c50146c88c42c2d95ef22c1821
                                        
                                            GET /view/Video_1493570388i554.mpeg/8d52628d9606a5e06e6bf0cb11c1348f/ HTTP/1.1 
Host: karasiq.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5
Accept-Language: en-US,en;q=0.5
Range: bytes=0-
Connection: keep-alive
Referer: https://karasiq.com/video/Video_1493570388i554.mpeg/
Sec-Fetch-Dest: video
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin

                                        
                                             92.119.112.234
HTTP/1.1 206 Partial Content
Content-Type: video/mp4
                                            
Server: nginx
Date: Sat, 03 Dec 2022 21:27:31 GMT
Content-Length: 35725690
Last-Modified: Mon, 18 Apr 2022 00:58:54 GMT
Connection: keep-alive
Keep-Alive: timeout=60
Set-Cookie: PHPSESSID=fj4pdg0fdimu8b7fbkskthblos; path=/
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
ETag: "625cb7ce-221217a"
Content-Range: bytes 0-35725689/35725690


--- Additional Info ---
Magic:  ISO Media, MP4 Base Media v1 [ISO 14496-12:2003]\012- data
Size:   918524
Md5:    b3563af9b1c92fa1e7dab942ca61816e
Sha1:   c98fcc1d60ee8c7acbcc2315a3e7129a139664a0
Sha256: 1b2e78be60f081b8c5f0b4d1b83415ae78ca9e81bc77bd39bdf07a116e6bcb0b
                                        
                                            GET /files/favicon.ico HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: image/x-icon
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:32 GMT
content-length: 904
last-modified: Fri, 03 Apr 2020 17:20:48 GMT
etag: "5e877070-388"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: max-age=315360000
strict-transport-security: max-age=31536000;
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 32 x 32, 8-bit/color RGB, non-interlaced\012- data
Size:   904
Md5:    45f4c568625bb0eea32caf302e3cd569
Sha1:   4d39e335bb88449ce1c5a80e50011fde697e3242
Sha256: 7bc7dd8a3908d873c057297005ed9cca8537aab0d00e97fb0750a0c3e8b9cd3e
                                        
                                            POST /gsalphasha2g2 HTTP/1.1 
Host: ocsp2.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 79
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                        
                                             104.18.21.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Date: Sat, 03 Dec 2022 21:27:32 GMT
Content-Length: 1423
Connection: keep-alive
Expires: Wed, 07 Dec 2022 18:13:10 GMT
ETag: "3a72258fa5a9e6943bc4709533a733ac4d623820"
Last-Modified: Sat, 03 Dec 2022 18:13:11 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 1009
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 773f630a5c630b31-OSL


--- Additional Info ---
Magic:  data
Size:   1423
Md5:    54ceb59e9c46476b365650b16fd810c8
Sha1:   3a72258fa5a9e6943bc4709533a733ac4d623820
Sha256: 5d5b72af28fe64be93e5cd5cea4928fa57fb84fc574f216863c746bd00a50dd2
                                        
                                            GET /hit?t42.6;r;s1280*1024*24;uhttps%3A//armino.am/video/porno-s-molodoy-armyankoy/;h%u041F%u043E%u0440%u043D%u043E%20%u0441%20%u043C%u043E%u043B%u043E%u0434%u043E%u0439%20%u0430%u0440%u043C%u044F%u043D%u043A%u043E%u0439;0.13575036374852756 HTTP/1.1 
Host: counter.yadro.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             88.212.201.198
HTTP/1.1 200 OK
Content-Type: image/gif
                                            
Server: nginx/1.17.9
Date: Sat, 03 Dec 2022 21:27:32 GMT
Content-Length: 444
Connection: keep-alive
Expires: Fri, 03 Dec 2021 21:00:00 GMT
Pragma: no-cache
Cache-control: no-cache
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=86400


--- Additional Info ---
Magic:  GIF image data, version 87a, 31 x 31\012- data
Size:   444
Md5:    e46159a1691e78990712fc0245ca0bbf
Sha1:   33e3260c37d9b74f3a601bab634aedb5a468640e
Sha256: fd4d2a365a8dad1a06d041101943c79d4e6c55791fe35e88b64a53b8835a7395
                                        
                                            OPTIONS /fp?tag_id=2429 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://armino.am/
Origin: https://armino.am
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             157.90.84.242
HTTP/1.1 204 No Content
                                            
Server: nginx/1.20.1
Date: Sat, 03 Dec 2022 21:27:32 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://armino.am
Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers

                                        
                                            GET /tags?tag_id=2429&timezone_olson=UTC&version_name=d HTTP/1.1 
Host: notification.tubecup.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://armino.am
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             168.119.25.18
HTTP/2 200 OK
content-type: application/json
                                            
server: nginx/1.18.0
date: Sat, 03 Dec 2022 21:27:32 GMT
content-length: 1439
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "99DBAE7F20E6601D18237EDB9EB7501BEFC29EB62050624DC56802A182948ABE"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=1900
Expires: Sat, 03 Dec 2022 21:59:12 GMT
Date: Sat, 03 Dec 2022 21:27:32 GMT
Connection: keep-alive

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

                                        
                                             157.90.84.242
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
                                            
Server: nginx/1.20.1
Date: Sat, 03 Dec 2022 21:27:32 GMT
Content-Length: 28
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://armino.am
Set-Cookie: id=17348315680974521345; Expires=Sun, 03 Dec 2023 21:27:32 GMT; Secure; SameSite=None
Vary: Origin


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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "9C32A338435FCE52D7DD0FB20C664D7F908760A6B153A06BE6A9082C75F78B52"
Last-Modified: Fri, 02 Dec 2022 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=14972
Expires: Sun, 04 Dec 2022 01:37:04 GMT
Date: Sat, 03 Dec 2022 21:27:32 GMT
Connection: keep-alive

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

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

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "4FD79B89B0D51F666841E8A14E5111D68DCD09C91F426EFFF878C7EABE09CD78"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=7315
Expires: Sat, 03 Dec 2022 23:29:27 GMT
Date: Sat, 03 Dec 2022 21:27:32 GMT
Connection: keep-alive

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "4FD79B89B0D51F666841E8A14E5111D68DCD09C91F426EFFF878C7EABE09CD78"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=7315
Expires: Sat, 03 Dec 2022 23:29:27 GMT
Date: Sat, 03 Dec 2022 21:27:32 GMT
Connection: keep-alive

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

                                        
                                             45.133.44.25
HTTP/2 200 OK
                                            
date: Sat, 03 Dec 2022 21:27:32 GMT
content-length: 0
server: nginx/1.18.0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


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

Blocklists:
  - quad9: Sinkholed
                                        
                                            GET /ps/mhVAU3.js HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Service-Worker: script
Connection: keep-alive
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: serviceworker
Sec-Fetch-Mode: same-origin
Sec-Fetch-Site: same-origin
Pragma: no-cache
Cache-Control: no-cache
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:32 GMT
content-length: 48
last-modified: Sun, 14 Feb 2021 18:10:37 GMT
etag: "6029679d-30"
expires: Sun, 03 Dec 2023 21:27:32 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Java source, ASCII text
Size:   48
Md5:    b215ecc0d708a2fb5464f5e8d65d2d4e
Sha1:   d8c0da4fd6cd8c2a3b36cb6a7d21ce620810ccc0
Sha256: eb4333e919f16aa3042235966e790e430e0faecf66ee95bb387b147e168b8ee5
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "44300218D31BB05684BA4992D9EC504B69A8530079F02F4C40D00EECA8A8556F"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16086
Expires: Sun, 04 Dec 2022 01:55:38 GMT
Date: Sat, 03 Dec 2022 21:27:32 GMT
Connection: keep-alive

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "EF0F5B2AB2055446D4EA8B738F605C3BF835CF72E872D6A9C9A6C9B2917737E7"
Last-Modified: Sat, 03 Dec 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=21277
Expires: Sun, 04 Dec 2022 03:22:10 GMT
Date: Sat, 03 Dec 2022 21:27:33 GMT
Connection: keep-alive

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "EF0F5B2AB2055446D4EA8B738F605C3BF835CF72E872D6A9C9A6C9B2917737E7"
Last-Modified: Sat, 03 Dec 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=21277
Expires: Sun, 04 Dec 2022 03:22:10 GMT
Date: Sat, 03 Dec 2022 21:27:33 GMT
Connection: keep-alive

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "EF0F5B2AB2055446D4EA8B738F605C3BF835CF72E872D6A9C9A6C9B2917737E7"
Last-Modified: Sat, 03 Dec 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=21277
Expires: Sun, 04 Dec 2022 03:22:10 GMT
Date: Sat, 03 Dec 2022 21:27:33 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%2F864be807-d5f6-42e3-bd58-f7641a256b9a.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
content-length: 7732
x-amzn-requestid: 3781c2b7-082a-468a-a186-f7483494e749
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: cfGeoEq3IAMFnKg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63891df7-679fe9f905e07abf4e6a812c;Sampled=0
x-amzn-remapped-date: Thu, 01 Dec 2022 21:34:47 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: V4Z3TZtTDMjnyxZx7VdJrKtZ-PbZkWnsQ0-1eFDem4TVyRGvk0dc7A==
via: 1.1 5ab5dc09da67e3ea794ec8a82992cc88.cloudfront.net (CloudFront), 1.1 e66162aafd55b64ba1478ff7105150fa.cloudfront.net (CloudFront), 1.1 google
date: Fri, 02 Dec 2022 21:39:57 GMT
age: 85656
etag: "d45dceb3dc58a07197aa5077582b5b1cd2ff791a"
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:   7732
Md5:    379a4a1b95d3aa3c5a4f8e7f9abb030f
Sha1:   d45dceb3dc58a07197aa5077582b5b1cd2ff791a
Sha256: 1b92dec5bf90beffbcd9060052b8788f08645dd4ba34219f7ddb2d40bbd2d151
                                        
                                            GET /npc/sdk/common/config.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://armino.am/
Origin: https://armino.am
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

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


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   19
Md5:    f3d0d5c5de8e869b2c78b2d4b9fdb5f8
Sha1:   493637a23edce4c0b7eb1752919e6c0697213c8e
Sha256: bdab4bd38a0d02da37ddc8659d3bb5b660da7b6ad64bba27d01f5d3a8525b6a5
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F6b6b798b-d396-454d-9d5b-17b47827e4ad.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
content-length: 2942
x-amzn-requestid: ed26679f-cd56-477f-9914-f9afbcaaeea6
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: cfGeoGFYoAMFWgA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63891df7-4ec6bebe21656d5026456994;Sampled=0
x-amzn-remapped-date: Thu, 01 Dec 2022 21:34:47 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: XvG2dAUeB914GQ1qJwQRHovAtra8OSjG-CsXeR8UOBq5r8qVjEbPBQ==
via: 1.1 e291f351a18746d40754b367095a2872.cloudfront.net (CloudFront), 1.1 57a21088b36c69a83578b5a5579df58e.cloudfront.net (CloudFront), 1.1 google
date: Sat, 03 Dec 2022 05:02:08 GMT
age: 59125
etag: "9fc7ab3a4eb2d36fd6df7e0267a26a47627d1704"
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:   2942
Md5:    b47431190f34eccf0a6efb98e2a32b7d
Sha1:   9fc7ab3a4eb2d36fd6df7e0267a26a47627d1704
Sha256: 08d3b6be354cafb70c20e6865788cb375adbf88d47711651fe1a3b855094daf2
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fd7dc00fa-a8d3-44bf-ba84-1998d8dd7c5a.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
content-length: 4309
x-amzn-requestid: c824c317-e6e3-4006-9f9d-ea54e8170a4c
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: cf2_tGErIAMF8_A=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63896b97-7fc523296afea4dd4b5d1de8;Sampled=0
x-amzn-remapped-date: Fri, 02 Dec 2022 03:05:59 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: bd85z5A6C0nxpDjeSEPp1NHJxXFO5sy1OgTLz7KpdWz61TNrfyQ47Q==
via: 1.1 40b967aa4aa18637c4b91214147f3cb4.cloudfront.net (CloudFront), 1.1 6172bb1a5d00a3b06ae3700570ebe116.cloudfront.net (CloudFront), 1.1 google
date: Sat, 03 Dec 2022 03:53:20 GMT
age: 63253
etag: "544428cdad754b1bb7be3cd46a79bf078fd5b450"
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:   4309
Md5:    fcb89ca25035b2bbb71ae5dd175fcd40
Sha1:   544428cdad754b1bb7be3cd46a79bf078fd5b450
Sha256: 36dcbbe6cd2710ee502776b4bcf32053e92b750a55e2bd4cdeadbc694c7c2699
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F627a3f86-b7fa-44c4-a119-2e3d23eb8b6a.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
content-length: 5354
x-amzn-requestid: 3d58ffea-3433-4c5c-a60b-17f6de3a33e5
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: cSsnvG44oAMFfyQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-638427ca-63b375f04189b7ce7d84cd5d;Sampled=0
x-amzn-remapped-date: Mon, 28 Nov 2022 03:15:22 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: -AurmlKwF0QgfsWBsV3ZN9ZyDhw1Zo82zUqrpkBbvbCfh0j7evV2Tg==
via: 1.1 0c96ded7ff282d2dbcf47c918b6bb500.cloudfront.net (CloudFront), 1.1 fda3b2797d2719576f6b916583a28e52.cloudfront.net (CloudFront), 1.1 google
date: Sat, 03 Dec 2022 11:01:04 GMT
age: 37589
etag: "65c8b4abf957f9b54d99d0f78559e639adb29efb"
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:   5354
Md5:    1e74254b3fdce7d6b84a71a7aff43789
Sha1:   65c8b4abf957f9b54d99d0f78559e639adb29efb
Sha256: f278c3cc6734da7188862a8c651c803e7ac1fda82234e191761453cb1359d3ee
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F683f066f-699d-4765-8f4f-33c72e1672e2.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
content-length: 6174
x-amzn-requestid: f78f1e9d-8c0c-495d-a862-61838f8297e8
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: cZ0iyH2WoAMFQdg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63870144-45442a8544259930564f685b;Sampled=0
x-amzn-remapped-date: Wed, 30 Nov 2022 07:07:48 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: QIOz71_Kr08pIIwOm2GUkWr421fO7-UyUI7LYld0JBaGnYQ0j3IDFg==
via: 1.1 eece508272520f70691e4eebdc5a6dea.cloudfront.net (CloudFront), 1.1 d6a002c70d55f415107618b0750d493c.cloudfront.net (CloudFront), 1.1 google
date: Sat, 03 Dec 2022 00:57:24 GMT
age: 73809
etag: "6e6c8bd2bce144cc4da1cd7be375b046b60dca79"
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:   6174
Md5:    b986f9fcbeca91ed5c8d58fbfaf47d19
Sha1:   6e6c8bd2bce144cc4da1cd7be375b046b60dca79
Sha256: 07a8938d2841f8c13bd646f4e79e41e46acd6463aa019cd70871b3741f12bb4f
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F73b53015-e415-4fff-9252-8a16bbe000f5.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                        
                                             34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                            
server: nginx
content-length: 9715
x-amzn-requestid: c8102cfa-78dc-4d81-ad6a-e16b9132e238
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: ciZO2HQKIAMF8IA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-638a6f2b-350c586b568e6565763376bd;Sampled=0
x-amzn-remapped-date: Fri, 02 Dec 2022 21:33:31 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: 0QkVKyYm9UwlF5FEeli9UsRAQwEi3-c3bMR-QSJxIKRQe7WWT76dGQ==
via: 1.1 030fe0607711293dda988e571617a9f2.cloudfront.net (CloudFront), 1.1 d6b180eb367f7de26d67a9f3901b96a6.cloudfront.net (CloudFront), 1.1 google
date: Fri, 02 Dec 2022 21:51:06 GMT
age: 84987
etag: "d4b3052021ff3ad1dc4134fa25eb12a98e7c17da"
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:   9715
Md5:    45182367fd4f8b6dd234eef1022acdb1
Sha1:   d4b3052021ff3ad1dc4134fa25eb12a98e7c17da
Sha256: a57fadaf74db2fb457cfe761314d56f021d22146f5bdb6a8bf11b6519e8a558d
                                        
                                            GET /static/adManager.js HTTP/1.1 
Host: cst.cstwpush.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
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: Sat, 03 Dec 2022 21:27:31 GMT
server: nginx/1.18.0
last-modified: Wed, 13 Jul 2022 06:52:04 GMT
etag: W/"62ce6b94-4e2"
content-encoding: gzip
expires: Sat, 03 Dec 2022 21:32:31 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65536), with no line terminators
Size:   73402
Md5:    083df1edf3d0583af5eeb95ee2c243cb
Sha1:   8c8c4bee81152f321d3b33b1b1e57e5bb85c2258
Sha256: 01d815dad0450ef802640e668968809be5dcdd25b63c932359df1c0477ababcf
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "55871395A8C555D6DBAC334FA4583078A09216AC6391A8AB4AF4002C1836A13D"
Last-Modified: Fri, 02 Dec 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3783
Expires: Sat, 03 Dec 2022 22:30:36 GMT
Date: Sat, 03 Dec 2022 21:27:33 GMT
Connection: keep-alive

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "55871395A8C555D6DBAC334FA4583078A09216AC6391A8AB4AF4002C1836A13D"
Last-Modified: Fri, 02 Dec 2022 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3783
Expires: Sat, 03 Dec 2022 22:30:36 GMT
Date: Sat, 03 Dec 2022 21:27:33 GMT
Connection: keep-alive

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

                                        
                                             157.90.84.246
HTTP/2 204 No Content
                                            
server: nginx/1.20.1
date: Sat, 03 Dec 2022 21:27:33 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

Blocklists:
  - quad9: Sinkholed
                                        
                                            GET /ps/mhVAU3.js HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Service-Worker: script
Connection: keep-alive
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: serviceworker
Sec-Fetch-Mode: same-origin
Sec-Fetch-Site: same-origin
If-Modified-Since: Sun, 14 Feb 2021 18:10:37 GMT
If-None-Match: "6029679d-30"
Cache-Control: max-age=0
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 304 Not Modified
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:34 GMT
last-modified: Sun, 14 Feb 2021 18:10:37 GMT
etag: "6029679d-30"
expires: Sun, 03 Dec 2023 21:27:34 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
X-Firefox-Spdy: h2

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

                                        
                                             95.101.11.115
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                            
Server: nginx
Content-Length: 503
ETag: "44300218D31BB05684BA4992D9EC504B69A8530079F02F4C40D00EECA8A8556F"
Last-Modified: Thu, 01 Dec 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16084
Expires: Sun, 04 Dec 2022 01:55:38 GMT
Date: Sat, 03 Dec 2022 21:27:34 GMT
Connection: keep-alive

                                        
                                            GET /ps/sw.js HTTP/1.1 
Host: sw.wpush.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Service-Worker: script
Connection: keep-alive
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: Sat, 03 Dec 2022 21:27:34 GMT
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: W/"6380cfad-158c"
content-encoding: gzip
expires: Sat, 03 Dec 2022 21:32:34 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (5516), with no line terminators
Size:   1801
Md5:    b84c3df63522b5774e068693cff05b61
Sha1:   87c6d8ca6ee6d308faa8b5aa22793774660e7f29
Sha256: 67018bf78daadb61952675af92eb06ecc2c8728e27d992f5b0082b5ca1c5b52b
                                        
                                            POST /in/multy HTTP/1.1 
Host: 95797ef4d7.413dfe9f11.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 2117
Origin: https://armino.am
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                        
                                             157.90.84.246
HTTP/2 200 OK
content-type: application/json
                                            
server: nginx/1.20.1
date: Sat, 03 Dec 2022 21:27:34 GMT
content-length: 18875
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , Unicode text, UTF-8 text, with very long lines (18864), with no line terminators
Size:   18875
Md5:    e603c0f8ea73da508919a0cb0db6c746
Sha1:   38c43a5c12c22703270316077e82443e12bd6d4c
Sha256: 682a21d33ce8dc357110e5abebffcde5959a10aac7175209534572d9f58a8af0

Blocklists:
  - quad9: Sinkholed
                                        
                                            GET /in/show/?mid=7611495964976490002&pid=0&site=native-push-adult&sc=NO&usage_type=DCH&subid=1860787847&sid=2338225276&cid=2766&price=0.0005324130761623383&is_cpm=0&cpm=0&ecpm=0.008629694219195318&crid=&crtid=8fc5a3949d58ed66158a5da3a7b48b19&tcid=0&out_id=1&ver=8.5.2&ver_c=&refdom=armino.am&hostname=auc-inpage-hz-7-a&site_id=313323&spot_id=3323&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=1670189253&created_at=2022-12-03&is_native=2&auction_queue=0&burl=WzI-00lvx_m2dXbvblczVFQ15lJQZ4K3wF493beRcI3iTTOciOxp1A&pop_winurl=&ip=91.90.42.154&testab=0&px_id=313323&adblock=0&auction_host=&mm=0&yc=0&render_type=hq&campaign_type=lq-pop&uniq=&exp=&resp_type=&iabcat=IAB25-3&min_cpm=0.007117171109839878&placement_type_id=&skin_test=0&verify_hash=2a25509f8b510a083b5b3065c70e8491&score=44.57133084230609&durl=https%3A%2F%2Fts.cvastico.com%2Fin%2F1546%2F%3Fad_sub%3D1860787847%26spot_id%3D3323%26is_adult%3D1%26p%3Dhttps%253A%252F%252Farmino.am%252F%26idzone%3D0%26sid%3D1886&ml=&tag_ab=d&original_bid=0.0005324130761623383&user_fp=0&v2_track=0&url=cVhgpG6qUaIkj07vypcCsQ3yQT4bP7sQRqla5mlxaaTf0rYHUENNy9fyiC-O2SwvioW8ol2A9iL7QTC164Z2xhDDv7T_4fmGxTguHmxVuZiLqB5eODNkky1rLlPRsHHLqsI4-BL-TS1CWjFNLs6KR9wN4csBB5QbJ59MdMirVQV2VQwgWA&image_url=https%3A%2F%2Fstatic.bookmsg.com%2Fcreatives%2FUS%2FUS_34c3a6403004486b593fb6a3428d7a2748437f4f_icon.webp&skin_id=30&vertical_id=0&real_bid=0.0005258111540179253&pr=&user_keywords=&auc_type=1&aid=412&ext_cid=0&device_theme=light&keywords=Adult&label_ids=4,89,0&mlc=1&format=gambling-slide-b_r-body&mlf=1&cpa=166e3f6d-b4a5-4061-a572-2cb8778c379a HTTP/1.1 
Host: 95797ef4d7.413dfe9f11.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                        
                                             157.90.84.246
HTTP/2 302 Found
                                            
server: nginx/1.20.1
date: Sat, 03 Dec 2022 21:27:34 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://static.bookmsg.com/creatives/US/US_34c3a6403004486b593fb6a3428d7a2748437f4f_icon.webp
X-Firefox-Spdy: h2


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

Blocklists:
  - quad9: Sinkholed
                                        
                                            GET /in/show/?mid=7611495964976490002&pid=0&site=native-push-adult&sc=NO&usage_type=DCH&subid=1860787847&sid=2338225276&cid=13803&price=0.0838&is_cpm=0&cpm=0&ecpm=0.20538092670323396&crid=&crtid=17d43f81cc073548090aad9c92420bae&tcid=0&out_id=0&ver=8.5.2&ver_c=&refdom=armino.am&hostname=auc-inpage-hz-7-a&site_id=313323&spot_id=3323&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=2022-12-03&is_native=1&auction_queue=0&burl=noZtI2Vz722wp2kVuuG-YnlN3QlExYF4VrdEXj9wYktr4SSItDpH9Q&pop_winurl=&ip=91.90.42.154&testab=0&px_id=733323&adblock=0&auction_host=&mm=0&yc=0&render_type=hq&campaign_type=hq&uniq=&exp=&resp_type=&iabcat=IAB25-3&min_cpm=0.001253320180493743&placement_type_id=&skin_test=0&verify_hash=9fe3ac1e06a8d13cba89905a6e94c09d&score=44.57133084230609&durl=https%3A%2F%2Fts.cvastico.com%2Fin%2F1546%2F%3Fad_sub%3D1860787847%26spot_id%3D3323%26is_adult%3D1%26p%3Dhttps%253A%252F%252Farmino.am%252F%26idzone%3D0%26sid%3D1886&ml=&tag_ab=d&original_bid=0.0838&user_fp=0&v2_track=0&url=CmpOeLzbSiBI-QvkL7kKeXMKSNYFGOvmWJgxOK72RcwhXRb7hJeTuPGyTn-RZ2N7zkFwv5j0lWQUa-M4bLItflYVc5Omh1KAnFCn_gRpAGSt7JfnK_VJ2723tBX5RMwwXrGf1j7GwscdTLJ4WfB4i3Tr02TN_7Yf_jO-1zqbp3gDkRmFqo0xUkUmwkCSld3XAGHACrn6Xw75OI_63V3biqTbamEjXoG8Ro75gMJEyTLQkPbR-ZoZlEmdddS69nn6U43ReNOfCCOC3ZIzwYwE0Td4E6qQkrGsMVF9d6gYbACFxEAmu1akFC94Az1m95qA6843fgC27zTZrW2XvVJQKIEKxvEscUlbSJMTtutQIWJuBG5GtXKVR3bsvekKV-UmBoTRbRZiJ2rJSqugFMWLtN_kOgDEcFXekU1slB_m3sCGsWoVyOmcxC_Vtu5H-7r-m9NxZf4iJGCMB6mrSXuuQ5A9dZDlvtgRMmcMHHOi1ubCWhnDJ9ollH8dlQOfJKSx74dZ7eYnE4V5K7BzU5Hh-s9lxlT9-HDe6Lv_NPRHD-OMIb-cBta4L4r6fQGxoL7WwtMctnhVbGim1WU_zm93A_kdzg5j-EVm4nV1mfKv7C4e9_dD-oRiTAseotcAGQ_h7HbLIIjgbTs5POEoLhmm9rZQnKkJ6ddiC0lao_X7yViXGzxutHKEDZKYIrLlwRK2CAQACv84HBu0F2phcDkBE0qDdtYnp8Jj2LR-24veoB0zOGVpaDEJOjTXfbZ6GAdl74QuCYamOjqKrw0ZxXsyHSJRkBybJH-dT0HJ8_x26zVjQbOBQXLcNET1fiPPS8Y&image_url=https%3A%2F%2Ftrack.trackingtraffo.com%2Fpush%2Fim%3Fauth%3Dkj7u89%26c%3DxY48LXzFz19ohE9uitySbf2tRY3GLIXfXs9KcIjmlzCm-GaI34YrC8LKqFSTJzhC2NBwQo9S9COkTFjlBNKa37yyBOiqgCY5umqFz_pg7x8URoA30jlYY591QZCkOzuvtL0otzoEVNAmyki67lR0uFFrMzBD5-i1fm0loH8UcWnpaeuJGqTH3MNducxQ7coRgTiJERMxJ9d2C011DQra_1ruFkdWIDIIUjbXSinWbxGz40a7_vyb3fg094cTueb2rEbU4ZvJI4DAqxXQQ0hxQrwol8jy8P_YDInMO58aKd1-eNPVD3iUkY6fAqLynGRC-MT4G-V6Tura6yUoFd7sqtpyZKflqj9JkJ_NyjZcBWWl528OSpCWkfsDIxWvfRWy0s19ZY-Huw2lVgcPG3J7wiqFAXHZEqnPLpG1ogZTQDqP4xzsi43NkkFy-7Sci8Dbz64xv5xkpttJNg6dhzXYdtXyn7kC0tswkHFZThMzvtpVCjOrYhNQZdBx0NsqLXFHGetPgeJKvC4&skin_id=30&vertical_id=15&real_bid=0.0710624&pr=&user_keywords=&auc_type=1&aid=3335&ext_cid=0&device_theme=light&keywords=Adult&label_ids=15,90,4,83&format=gambling-slide-b_r-body&cpa=1ce92a8d-bba8-4f12-be31-5663cb88e32b HTTP/1.1 
Host: 95797ef4d7.413dfe9f11.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                        
                                             157.90.84.246
HTTP/2 302 Found
                                            
server: nginx/1.20.1
date: Sat, 03 Dec 2022 21:27:34 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://track.trackingtraffo.com/push/ic?auth=kj7u89&c=EEhIfXe4bbdRc_8cOwOuOwX3kgEcwWFqpxYFEnume2O2BhWJN5RGbSs7N_vpRFRa4ySEf83H5TK897bUFxVuENoEq-Rwr9SLYW5JW2ZGXrTCFVZramdaQ7TCrCDNL38uWaKjuUDsceyZI0NKmWrMictLiQ67BVnG_JAFtnJAfSyrxjJEbvJYuThN6lRAgftpgTHxOGT4xQB5sufOk2woibeKt6DyOVxKZY00Nd4Ub9hrhOX59iicpicWK5u64buWMmhCNV87RvG8_2sNF7nxKi2tH2q-qmucqg_Mzt0wFWUaeVJ_sz3yYpNg6Agaqs4x99WobfpDJrBxhW2LwiZL86ylMVtEBSm-O2pKt7Ok9oa1hJXrOhLOAwzLz1i7Sq3fxcnMA5s74ClUF9uuueWAlAodVHzFcbNMpM_VyQ_22qFZ7DvwIXq_lnfOw_ycCz8eVdjTZO4eE6izo3OjnasIUlfOtD6aWLxjS7Rg3ETmUzHCK2XYvc9rVveVXAIXVBZSU-DzCs7pWZ9ITGCf
X-Firefox-Spdy: h2


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

Blocklists:
  - quad9: Sinkholed
                                        
                                            GET /creatives/US/US_34c3a6403004486b593fb6a3428d7a2748437f4f_icon.webp HTTP/1.1 
Host: static.bookmsg.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             138.201.236.216
HTTP/2 200 OK
content-type: image/webp
                                            
server: nginx/1.18.0
date: Sat, 03 Dec 2022 21:27:34 GMT
content-length: 590
last-modified: Tue, 24 Nov 2020 14:24:12 GMT
etag: "5fbd178c-24e"
cache-control: public, max-age=315360000
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image, VP8 encoding, 100x100, Scaling: [none]x[none], YUV color, decoders should clamp\012- data
Size:   590
Md5:    debce753f1ce6652c1637491fd72b1b1
Sha1:   fd102eb3f058f7a43b0f9ec03541681699f5895e
Sha256: c2443b0a74b25158756abb7aa12832e5442adab247aab6e24514f54396c72579
                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
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: Sat, 03 Dec 2022 21:27:34 GMT
Content-Length: 472
Connection: keep-alive
Last-Modified: Thu, 01 Dec 2022 00:04:39 GMT
Expires: Thu, 08 Dec 2022 00:04:38 GMT
Etag: "273e570b706320eee29faa7c69498eabb433a82b"
Cache-Control: max-age=354423,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb2
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 773f631b1a66b503-OSL

                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
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: Sat, 03 Dec 2022 21:27:35 GMT
Content-Length: 472
Connection: keep-alive
Last-Modified: Thu, 01 Dec 2022 00:04:39 GMT
Expires: Thu, 08 Dec 2022 00:04:38 GMT
Etag: "273e570b706320eee29faa7c69498eabb433a82b"
Cache-Control: max-age=354422,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb1
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 773f631ade1ffabc-OSL

                                        
                                            GET /push/im?auth=kj7u89&c=xY48LXzFz19ohE9uitySbf2tRY3GLIXfXs9KcIjmlzCm-GaI34YrC8LKqFSTJzhC2NBwQo9S9COkTFjlBNKa37yyBOiqgCY5umqFz_pg7x8URoA30jlYY591QZCkOzuvtL0otzoEVNAmyki67lR0uFFrMzBD5-i1fm0loH8UcWnpaeuJGqTH3MNducxQ7coRgTiJERMxJ9d2C011DQra_1ruFkdWIDIIUjbXSinWbxGz40a7_vyb3fg094cTueb2rEbU4ZvJI4DAqxXQQ0hxQrwol8jy8P_YDInMO58aKd1-eNPVD3iUkY6fAqLynGRC-MT4G-V6Tura6yUoFd7sqtpyZKflqj9JkJ_NyjZcBWWl528OSpCWkfsDIxWvfRWy0s19ZY-Huw2lVgcPG3J7wiqFAXHZEqnPLpG1ogZTQDqP4xzsi43NkkFy-7Sci8Dbz64xv5xkpttJNg6dhzXYdtXyn7kC0tswkHFZThMzvtpVCjOrYhNQZdBx0NsqLXFHGetPgeJKvC4 HTTP/1.1 
Host: track.trackingtraffo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             88.214.206.175
HTTP/1.1 302 Found
                                            
Server: nginx/1.18.0 (Ubuntu)
Date: Sat, 03 Dec 2022 21:27:35 GMT
Content-Length: 0
Connection: keep-alive
Cache-Control: no-cache, max-age=0, must-revalidate, proxy-revalidate, no-store
Pragma: no-cache
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Location: https://ads.trackingtraffo.com/creatives/k1qy286gxmd5g3dpr397nw5v/1659514995125-national-casino.png

                                        
                                            GET /push/ic?auth=kj7u89&c=EEhIfXe4bbdRc_8cOwOuOwX3kgEcwWFqpxYFEnume2O2BhWJN5RGbSs7N_vpRFRa4ySEf83H5TK897bUFxVuENoEq-Rwr9SLYW5JW2ZGXrTCFVZramdaQ7TCrCDNL38uWaKjuUDsceyZI0NKmWrMictLiQ67BVnG_JAFtnJAfSyrxjJEbvJYuThN6lRAgftpgTHxOGT4xQB5sufOk2woibeKt6DyOVxKZY00Nd4Ub9hrhOX59iicpicWK5u64buWMmhCNV87RvG8_2sNF7nxKi2tH2q-qmucqg_Mzt0wFWUaeVJ_sz3yYpNg6Agaqs4x99WobfpDJrBxhW2LwiZL86ylMVtEBSm-O2pKt7Ok9oa1hJXrOhLOAwzLz1i7Sq3fxcnMA5s74ClUF9uuueWAlAodVHzFcbNMpM_VyQ_22qFZ7DvwIXq_lnfOw_ycCz8eVdjTZO4eE6izo3OjnasIUlfOtD6aWLxjS7Rg3ETmUzHCK2XYvc9rVveVXAIXVBZSU-DzCs7pWZ9ITGCf HTTP/1.1 
Host: track.trackingtraffo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             88.214.206.175
HTTP/1.1 302 Found
                                            
Server: nginx/1.18.0 (Ubuntu)
Date: Sat, 03 Dec 2022 21:27:35 GMT
Content-Length: 0
Connection: keep-alive
Cache-Control: no-cache, max-age=0, must-revalidate, proxy-revalidate, no-store
Pragma: no-cache
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Location: https://ads.trackingtraffo.com/creatives/k1qy286gxmd5g3dpr397nw5v/1659514995116-National Casino black.png

                                        
                                            GET /creatives/k1qy286gxmd5g3dpr397nw5v/1659514995125-national-casino.png HTTP/1.1 
Host: ads.trackingtraffo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             142.132.194.196
HTTP/1.1 200 OK
Content-Type: image/png
                                            
Server: nginx/1.18.0 (Ubuntu)
Date: Sat, 03 Dec 2022 21:27:35 GMT
Content-Length: 4596
Last-Modified: Wed, 03 Aug 2022 08:23:15 GMT
Connection: keep-alive
ETag: "62ea3073-11f4"
Accept-Ranges: bytes


--- Additional Info ---
Magic:  PNG image data, 433 x 176, 8-bit colormap, non-interlaced\012- data
Size:   4596
Md5:    edffdc6a4138205965ac7c1440fbfb50
Sha1:   9cff09cdfdc1e054c431e6cbf4c12e4ec681e601
Sha256: 83ff002a01d8c1668fc4a851cc3eb1c24b929c4aced7ff7eb32b9ae3711c7498
                                        
                                            GET /creatives/k1qy286gxmd5g3dpr397nw5v/1659514995116-National%20Casino%20black.png HTTP/1.1 
Host: ads.trackingtraffo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                        
                                             142.132.194.196
HTTP/1.1 200 OK
Content-Type: image/png
                                            
Server: nginx/1.18.0 (Ubuntu)
Date: Sat, 03 Dec 2022 21:27:35 GMT
Content-Length: 4456
Last-Modified: Wed, 03 Aug 2022 08:23:15 GMT
Connection: keep-alive
ETag: "62ea3073-1168"
Accept-Ranges: bytes


--- Additional Info ---
Magic:  PNG image data, 192 x 192, 8-bit/color RGBA, non-interlaced\012- data
Size:   4456
Md5:    58be17b22d6e1178a54c92cf862c817e
Sha1:   b821bc2f016751647df49e49863077e927a70322
Sha256: 9cc4f3f40313b08baf54c956685ac7a21ac8a3573908b9763865c6f613ce1b5f
                                        
                                            GET /lazy.js HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/video/porno-s-molodoy-armyankoy/
Cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
last-modified: Fri, 03 Apr 2020 11:35:02 GMT
vary: Accept-Encoding
etag: W/"5e871f66-1a65"
expires: Sun, 03 Dec 2023 21:27:31 GMT
cache-control: max-age=31536000
strict-transport-security: max-age=31536000;
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    
Sha1:   
Sha256: 
                                        
                                            GET /static/adManager.m.js HTTP/1.1 
Host: js.wpadmngr.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://armino.am
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: script
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: Sat, 03 Dec 2022 21:27:31 GMT
server: nginx/1.18.0
last-modified: Wed, 30 Nov 2022 13:10:49 GMT
etag: W/"63875659-17718"
content-encoding: gzip
expires: Sat, 03 Dec 2022 21:32:31 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    
Sha1:   
Sha256: 
                                        
                                            GET /npc/sdk/push.m.js?v=1 HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
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: Sat, 03 Dec 2022 21:27:32 GMT
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: W/"6380cfad-f33b"
content-encoding: gzip
expires: Sat, 03 Dec 2022 21:32:32 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    
Sha1:   
Sha256: 
                                        
                                            GET /video/porno-s-molodoy-armyankoy/ HTTP/1.1 
Host: armino.am
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1

                                        
                                             51.83.166.7
HTTP/2 200 OK
content-type: text/html; charset=utf-8
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:30 GMT
vary: Accept-Encoding
x-powered-by: PHP/5.4.16
set-cookie: PHPSESSID=h1mg76k5n94gi36ue0shksbvg5; path=/
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
pragma: no-cache
strict-transport-security: max-age=31536000;
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    
Sha1:   
Sha256: 
                                        
                                            GET /get/1936402?zoneid=1936402&jp=_cl75ptifnw8kbf3ugrhhke&nojs=0&ix=0&abvar=0&t=0&x=1280&y=939&wcks=1&wgl=0&cnvs=1&os=0&md=0&bb=0&lang=en-US&pf=Linux%20x86_64&cd=24&isRef=1&sp=0&cid=5738951394535467 HTTP/1.1 
Host: godpvqnszo.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                        
                                             62.122.171.6
HTTP/2 200 OK
content-type: text/javascript; charset=utf-8
                                            
server: nginx
date: Sat, 03 Dec 2022 21:27:31 GMT
vary: Accept-Encoding
x-route-id: config
set-cookie: UID=22120316270a702476539b432ea334e79bce; Path=/; Expires=Sun, 03 Dec 2023 21:27:31 GMT; HttpOnly; Secure; SameSite=None
content-encoding: gzip
timing-allow-origin: *
accept-ch: sec-ch-ua,ua,sec-ch-ua-platform,ua-platform,sec-ch-ua-mobile,ua-mobile,sec-ch-ua-full-version,ua-full-version,sec-ch-ua-platform-version,ua-platform-version,sec-ch-ua-arch,ua-arch,sec-ch-ua-bitness,ua-bitness,sec-ch-ua-model,ua-model,sec-ch-lang,lang,sec-ch-save-data,save-data,sec-ch-width,width,sec-ch-viewport-width,viewport-width,sec-ch-viewport-height,viewport-height,sec-ch-dpr,dpr,sec-ch-device-memory,device-memory,sec-ch-rtt,rtt,sec-ch-downlink,downlink,sec-ch-ect,ect,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency,sec-ch-prefers-contrast,sec-ch-forced-colors,sec-ch-prefers-reduced-data
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    
Sha1:   
Sha256: 
                                        
                                            GET /npc/sdk/wpu/csub.m.js HTTP/1.1 
Host: js.wpushsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://armino.am/
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: Sat, 03 Dec 2022 21:27:32 GMT
server: nginx/1.18.0
last-modified: Thu, 13 Oct 2022 09:19:10 GMT
etag: W/"6347d80e-16007"
content-encoding: gzip
expires: Sat, 03 Dec 2022 21:32:32 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    
Sha1:   
Sha256: 
                                        
                                            GET /npc/sdk/common/core.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://armino.am/
Origin: https://armino.am
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                        
                                             45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                            
date: Sat, 03 Dec 2022 21:27:33 GMT
server: nginx/1.18.0
last-modified: Fri, 25 Nov 2022 14:22:37 GMT
etag: W/"6380cfad-1861e"
content-encoding: gzip
expires: Sat, 03 Dec 2022 21:32:33 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    
Sha1:   
Sha256: