/*! For license information please see h1-main.js.LICENSE.txt */
(() => {
var e, t = {
471: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => h,
Wt: () => p,
ec: () => d
});
var r = n(2317),
o = n(35826),
i = n(28992),
a = n(67004),
s = n(19550),
c = n(81870),
u = n(73158),
l = n(3659),
f = n(57946),
d = (0, r.Mz)(function(e) {
return o.im.selectIsCurrentPageLaunchpad()(e)
}, function(e) {
return s.IE.selectCurrentTopPickSavings(e)
}, function(e) {
return a.kF.selectVariant(c.x0)(e)
}, function(e, t, n) {
return !e && !!((0, u.A)(n) && t > 0 && t < 100)
}),
p = (0, r.Mz)(function(e) {
return s.IE.selectCurrentComparisonShoppingProduct(e)
}, function(e) {
return s.IE.selectNumUniqueInStockStores(e)
}, function(e, t) {
var n = e && !!e.canonicalClusterId || !1;
return t <= 1 ? null : n
});
const h = (0, r.Mz)(function(e) {
return o.im.selectIsCurrentPageLaunchpad()(e)
}, function(e) {
return f.A.selectCurrentProductPriceInsightsData(e)
}, function(e) {
return i.Og.selectCurrentProductOffer(e)
}, function(e) {
return s.IE.selectHasViewedWebComparisonForCurrentProduct(e)
}, function(e) {
return s.IE.selectIsCurrentProductTopPickInCluster(e)
}, function(e) {
return s.IE.selectNumUniqueInStockStores(e)
}, function(e) {
return d(e)
}, function(e) {
return a.kF.selectVariant(c.x0)(e)
}, function(e) {
return a.kF.selectVariant(l.Di)(e)
}, function(e) {
return p(e)
}, function(e, t, n, r, o, i, a, s, c, l) {
var f = t.priceInsightsVariantState,
d = t.relativePriceInsights;
if (e) return null;
var p = "on" === c;
if ((0, u.A)(s)) return a && p ? null : l ? {
hasMoreThanOneStore: i > 1,
isTopPick: o,
hasViewedWebComparison: r
} : null;
var h = Object.keys(d || {}).length > 0,
m = !!n,
g = m && n.isActivated,
y = (d || {}).numUniqueInStockStores > 1;
return h ? {
priceInsightsVariantState: f,
hasOffer: m,
offerActivated: g,
hasMoreThanOneStore: y
} : {
priceInsightsVariantState: "none"
}
})
},
1152: (e, t, n) => {
"use strict";
n.d(t, {
Kq: () => o
});
var r = n(9666).createContext({
shadowRoot: null
}),
o = r.Provider
},
1879: (e, t, n) => {
"use strict";
n.d(t, {
A: () => s
});
var r = n(32372),
o = n(3659),
i = n(81870),
a = function(e) {
return function(t) {
return t && t.experiments && t.experiments.variants && t.experiments.variants[e]
}
};
const s = {
selectVariant: a,
selectCurrentTipsContainerVariant: function(e) {
return a(i.x0)(e)
},
selectIsUniversalSaveEnabled: function(e) {
return "on" === a("droplist_universal_save")(e)
},
selectIsStandaloneOffer: function(e) {
var t = a(r.vE.STANDALONE_OFFERS)(e);
return [r.LE.CONTROL, r.LE.STANDALONE].includes(t)
},
selectFetchFallbackProductEnabled: function(e) {
return "enabled" === a(o.PU)(e)
},
selectProductOffersMode: function(e) {
return a(r.vE.STANDALONE_OFFERS)(e) === r.LE.TIPS ? "tip" : "standalone"
},
selectIsPriceComparisonVariant: function(e) {
return a(i.x0)(e) === i.yz.NO_CONQUEST
}
}
},
2481: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
qL: () => l,
zA: () => i.A
});
var r = n(78655),
o = n(57490),
i = n(41299);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
3371: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
D$: () => i.A,
Ip: () => l
});
var r = n(21189),
o = n(75400),
i = n(46397);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
3595: (e, t, n) => {
"use strict";
var r = Array.prototype.slice,
o = n(35251),
i = Object.keys,
a = i ? function(e) {
return i(e)
} : n(48541),
s = Object.keys;
a.shim = function() {
if (Object.keys) {
var e = function() {
var e = Object.keys(arguments);
return e && e.length === arguments.length
}(1, 2);
e || (Object.keys = function(e) {
return o(e) ? s(r.call(e)) : s(e)
})
} else Object.keys = a;
return Object.keys || a
}, e.exports = a
},
3650: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.default = void 0;
var r, o = function(e, t) {
if (!t && e && e.__esModule) return e;
if (null === e || "object" != typeof e && "function" != typeof e) return {
default: e
};
var n = u(t);
if (n && n.has(e)) return n.get(e);
var r = {
__proto__: null
},
o = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var i in e)
if ("default" !== i && Object.prototype.hasOwnProperty.call(e, i)) {
var a = o ? Object.getOwnPropertyDescriptor(e, i) : null;
a && (a.get || a.set) ? Object.defineProperty(r, i, a) : r[i] = e[i]
} return r.default = e, n && n.set(e, r), r
}(n(9666)),
i = (r = n(86146)) && r.__esModule ? r : {
default: r
},
a = n(22662),
s = n(37597),
c = n(72097);
function u(e) {
if ("function" != typeof WeakMap) return null;
var t = new WeakMap,
n = new WeakMap;
return (u = function(e) {
return e ? n : t
})(e)
}
const l = 500,
f = 250,
d = {
children: i.default.node.isRequired,
onClose: i.default.func.isRequired,
open: i.default.bool.isRequired,
id: i.default.string.isRequired,
onTransitionEnd: i.default.func
},
p = {
overlay: {
position: "absolute",
bottom: 0,
zIndex: 3,
width: "100%",
height: 0,
transition: "opacity 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms",
opacity: 0,
backgroundColor: c.Colors.black
},
container: {
position: "absolute",
bottom: 0,
display: "flex",
flexDirection: "column",
transition: "max-height 500ms cubic-bezier(0.4, 0, 0.2, 1) 0ms",
height: "auto",
maxHeight: e => e,
width: "100%",
zIndex: 4,
borderRadius: "5px",
backgroundColor: c.Colors.white
},
wrapper: {
display: "flex",
flexDirection: "column",
overflow: "hidden",
opacity: 0,
transition: "opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 0ms"
}
},
h = (0, a.createUseStyles)(p),
m = ({
children: e,
open: t,
onTransitionEnd: n,
id: r,
onClose: i
}) => {
const [a, c] = (0, o.useState)("0px"), u = h(a), d = (0, o.useRef)(null), p = (0, o.useRef)(null);
let m;
const g = e => {
e.style.opacity = 0, e.style.height = "100%", e.style.transitionDelay = "0ms"
},
y = e => {
e.style.opacity = "0.33"
};
return (0, o.useEffect)(() => {
t && (g(p.current), y(p.current))
}, [p.current]), (0, o.useEffect)(() => () => {
clearTimeout(m)
}, []), o.default.createElement(o.Fragment, null, o.default.createElement(s.Transition, {
in: t,
onEnter: g,
onEntering: y,
onExiting: e => {
e.style.transitionDelay = "250ms"
},
onExited: e => {
e.style.opacity = 0, m = setTimeout(() => {
e.style.height = 0
}, l)
},
timeout: f
}, o.default.createElement("div", {
ref: p,
onClick: i,
onTransitionEnd: n,
className: u.overlay,
"aria-hidden": "true"
})), o.default.createElement(s.CSSTransition, {
key: r,
appear: !0,
in: t,
onEnter: e => {
e.classList.contains("appear") && (e.style.height = a), e.style.maxHeight = a, e.style.transitionDelay = "0ms", d.current.style.transitionDelay = "250ms"
},
onEntering: e => {
e.style.height = "auto", e.style.maxHeight = "calc(100% - 56px)", d.current.style.opacity = 1
},
onEntered: e => {
c(`${e.clientHeight}px`)
},
onExit: e => {
e.style.maxHeight = 0, e.style.transitionDelay = "125ms", d.current.style.opacity = 0, d.current.style.transitionDelay = "0ms", c(0)
},
timeout: l
}, o.default.createElement("div", {
className: u.container
}, o.default.createElement("div", {
ref: d,
className: u.wrapper
}, e))))
};
m.propTypes = d, m.defaultProps = {
onTransitionEnd: () => {}
};
t.default = m
},
3659: (e, t, n) => {
"use strict";
n.d(t, {
$f: () => p,
AX: () => i,
Di: () => u,
L5: () => l,
PU: () => s,
Q3: () => d,
fB: () => r,
nc: () => a,
ot: () => o,
s$: () => c,
yG: () => f
});
var r = "personalized_offers_for_unauth_users",
o = "pop_all_rpc",
i = "fsacc_gold_to_psb",
a = "droplist_ocs_collections_popup",
s = "tips_fetch_fallback_product",
c = "web_shipping_in_comparisons",
u = "ext_top_pick_savings_dollar",
l = "ext_atlas_mismatch",
f = "merging_fsacc_button_style_change",
d = "ext_post_purchase_xsell_v1",
p = "ext_post_purchase_xsell_lo_v2"
},
3700: e => {
var t = {}.toString;
e.exports = Array.isArray || function(e) {
return "[object Array]" == t.call(e)
}
},
5350: (e, t, n) => {
"use strict";
n.d(t, {
f: () => l
});
var r = n(9921),
o = n(46946),
i = n(32698);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = function(e) {
return function(t, n) {
var a = c(c({}, (0, i.A)(n())), e);
o.A.sendEvent("tip004034", a), r.A.debug("TIPS_BADGE:".concat(a.event), a)
}
}
},
6120: (e, t, n) => {
"use strict";
n.d(t, {
A: () => f
});
var r = n(74438),
o = n(28655),
i = (n(10823), n(20392));
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var u = [o.A],
l = function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
c(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}({}, i.A);
const f = (0, r.U1)({
reducer: l,
middleware: u,
devtools: !1,
enhancers: []
})
},
6202: (e, t, n) => {
"use strict";
n.d(t, {
A: () => a,
I: () => i
});
var r = n(23649),
o = n(36927),
i = function() {
return function(e, t) {
var n = (0, o.A)(t()).id;
e(r.Qq.hideFeedbackForm({
containerId: n
})), e(r.Qq.resetBottomSheet({
containerId: n
}))
}
};
const a = function() {
return function(e, t) {
var n = (0, o.A)(t()).id;
return e(r.Qq.closeBottomSheet({
containerId: n
}))
}
}
},
6362: (e, t, n) => {
"use strict";
t.A = void 0;
var r = c(n(9666)),
o = n(22662),
i = c(n(86146)),
a = n(72097),
s = c(n(15793));
function c(e) {
return e && e.__esModule ? e : {
default: e
}
}
const u = {
onMouseDown: i.default.func,
onMouseUp: i.default.func
},
l = {
root: {
display: "flex"
},
container: {
width: "27px",
height: "100%",
backgroundColor: a.Colors.main600,
display: "flex",
alignItems: "center",
justifyContent: "center"
}
},
f = (0, o.createUseStyles)(l),
d = ({
onMouseDown: e,
onMouseUp: t
}) => {
const n = f();
return r.default.createElement("div", {
className: n.root,
onMouseDown: e,
onMouseUp: t,
role: "button",
tabIndex: "0"
}, r.default.createElement("div", {
className: n.container
}, r.default.createElement(s.default, {
color: a.Colors.white
})))
};
d.propTypes = u, d.defaultProps = {
onMouseDown: () => {},
onMouseUp: () => {}
};
t.A = d
},
6687: (e, t, n) => {
"use strict";
var r = n(18201),
o = n(33562),
i = n(79809),
a = n(1405);
e.exports = function(e, t, n) {
if (!e || "object" != typeof e && "function" != typeof e) throw new i("`obj` must be an object or a function`");
if ("string" != typeof t && "symbol" != typeof t) throw new i("`property` must be a string or a symbol`");
if (arguments.length > 3 && "boolean" != typeof arguments[3] && null !== arguments[3]) throw new i("`nonEnumerable`, if provided, must be a boolean or null");
if (arguments.length > 4 && "boolean" != typeof arguments[4] && null !== arguments[4]) throw new i("`nonWritable`, if provided, must be a boolean or null");
if (arguments.length > 5 && "boolean" != typeof arguments[5] && null !== arguments[5]) throw new i("`nonConfigurable`, if provided, must be a boolean or null");
if (arguments.length > 6 && "boolean" != typeof arguments[6]) throw new i("`loose`, if provided, must be a boolean");
var s = arguments.length > 3 ? arguments[3] : null,
c = arguments.length > 4 ? arguments[4] : null,
u = arguments.length > 5 ? arguments[5] : null,
l = arguments.length > 6 && arguments[6],
f = !!a && a(e, t);
if (r) r(e, t, {
configurable: null === u && f ? f.configurable : !u,
enumerable: null === s && f ? f.enumerable : !s,
value: n,
writable: null === c && f ? f.writable : !c
});
else {
if (!l && (s || c || u)) throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");
e[t] = n
}
}
},
7459: (e, t, n) => {
"use strict";
n.d(t, {
A: () => a
});
var r = n(23649),
o = n(33118),
i = n(36927);
const a = function() {
var e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).resetTipsShown,
t = void 0 === e || e;
return function(e, n) {
var a = (0, i.A)(n()).id;
return e((0, o.F)({
action: "close_container",
event: "action"
})), e(r.Qq.setRecentlyClosedContainer({
recentlyClosedContainer: !0
})), setTimeout(function() {
e(r.Qq.setRecentlyClosedContainer({
recentlyClosedContainer: !1
}))
}, 100), e(r.Qq.closeContainer({
containerId: a,
resetTipsShown: t
}))
}
}
},
7837: (e, t, n) => {
"use strict";
n.d(t, {
A: () => f
});
var r = n(44281),
o = n.n(r),
i = n(9666),
a = n(75117),
s = n(24333);
function c(e, t) {
var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (!n) {
if (Array.isArray(e) || (n = function(e, t) {
if (e) {
if ("string" == typeof e) return u(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? u(e, t) : void 0
}
}(e)) || t && e && "number" == typeof e.length) {
n && (e = n);
var r = 0,
o = function() {};
return {
s: o,
n: function() {
return r >= e.length ? {
done: !0
} : {
done: !1,
value: e[r++]
}
},
e: function(e) {
throw e
},
f: o
}
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}
var i, a = !0,
s = !1;
return {
s: function() {
n = n.call(e)
},
n: function() {
var e = n.next();
return a = e.done, e
},
e: function(e) {
s = !0, i = e
},
f: function() {
try {
a || null == n.return || n.return()
} finally {
if (s) throw i
}
}
}
}
function u(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function l() {
return a.A.getUILanguage()
}
const f = {
formatPrice: function(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
n = t.country,
r = t.currencySymbol,
i = void 0 === r ? "$" : r,
a = t.precision,
c = void 0 === a ? e % 1 == 0 ? 0 : 2 : a,
u = t.compact,
f = void 0 !== u && u;
return n ? new Intl.NumberFormat(l(), {
style: "currency",
currency: s.A.getCountryCurrencyCode(n),
minimumFractionDigits: c,
notation: f ? "compact" : "standard"
}).format(e) : o().formatMoney(e, i, c, ",", ".")
},
getCountryCode: function() {
return a.A.getCountryCode()
},
getMessage: function(e) {
return a.A.getMessage(e)
},
getMessageAndReplace: function(e, t) {
var n = [],
r = {};
Object.keys(t).forEach(function(e) {
r[e] = 0
});
var o, s = a.A.getMessage(e),
u = 0,
l = c(s.match(/(\{[A-Z]+\})/g) || []);
try {
for (l.s(); !(o = l.n()).done;) {
var f = o.value,
d = f.substr(1, f.length - 2);
d in t && (n.push(s.substring(u, s.indexOf(f, u))), u = s.indexOf(f, u) + f.length, i.isValidElement(t[d]) ? (r[d] += 1, n.push(i.cloneElement(t[d], {
key: "".concat(d, "-").concat(r[d])
}))) : n.push(t[d]))
}
} catch (e) {
l.e(e)
} finally {
l.f()
}
return n.push(s.substring(u)), n
},
getUILanguage: l
}
},
8706: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.default = void 0;
var r, o = function(e, t) {
if (!t && e && e.__esModule) return e;
if (null === e || "object" != typeof e && "function" != typeof e) return {
default: e
};
var n = c(t);
if (n && n.has(e)) return n.get(e);
var r = {
__proto__: null
},
o = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var i in e)
if ("default" !== i && Object.prototype.hasOwnProperty.call(e, i)) {
var a = o ? Object.getOwnPropertyDescriptor(e, i) : null;
a && (a.get || a.set) ? Object.defineProperty(r, i, a) : r[i] = e[i]
} return r.default = e, n && n.set(e, r), r
}(n(9666)),
i = (r = n(86146)) && r.__esModule ? r : {
default: r
},
a = n(22662),
s = n(72097);
function c(e) {
if ("function" != typeof WeakMap) return null;
var t = new WeakMap,
n = new WeakMap;
return (c = function(e) {
return e ? n : t
})(e)
}
const u = {
header: i.default.node.isRequired,
children: i.default.any.isRequired,
footer: i.default.node
},
l = {
footer: void 0
},
f = {
contentWrapper: {
overflow: "auto"
},
headerShadowCover: {
position: "relative",
top: 0,
height: "3px",
background: s.Colors.white
},
content: {
padding: "0 24px 16px 24px"
}
},
d = (0, a.createUseStyles)(f),
p = ({
header: e,
footer: t,
children: n
}) => {
const r = d();
return o.default.createElement(o.Fragment, null, e, o.default.createElement("div", {
className: r.contentWrapper
}, o.default.createElement("div", {
className: r.headerShadowCover
}), o.default.createElement("div", {
className: r.content
}, n)), t)
};
p.propTypes = u, p.defaultProps = l;
t.default = p
},
8845: (e, t, n) => {
"use strict";
t.Ay = void 0;
var r = s(n(9666)),
o = s(n(86146)),
i = n(22662),
a = s(n(31371));
function s(e) {
return e && e.__esModule ? e : {
default: e
}
}
function c() {
return c = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}, c.apply(this, arguments)
}
const u = (0, i.createUseStyles)({
root: ({
background: e,
classes: t = {}
}) => ({
height: "48px",
display: "flex",
justifyContent: "center",
alignItems: "center",
cursor: "pointer",
border: "none",
width: "100%",
textAlign: "center",
padding: "10px",
flexDirection: "row",
...t.root || {},
background: e
}),
text: ({
classes: e = {}
}) => ({
composes: "title1",
paddingRight: 6,
...e.text || {},
verticalAlign: "middle"
})
}),
l = e => {
const {
text: t,
classes: n,
icon: o,
children: i,
...s
} = e, l = u(e);
let f;
f = i ? "string" == typeof i ? r.default.createElement("div", {
className: l.text
}, " ", i, " ") : i : "string" == typeof t ? r.default.createElement("div", {
className: l.text
}, " ", t, " ") : t;
const d = "string" == typeof o ? r.default.createElement(a.default, {
icon: o
}) : o;
return r.default.createElement("button", c({
tabIndex: 0,
"aria-label": "honey-tips-navigation-button",
className: l.root
}, s), f, d)
};
l.propTypes = {
text: o.default.oneOfType([o.default.string, o.default.node]),
icon: o.default.oneOfType([o.default.string, o.default.node]),
background: o.default.string,
classes: o.default.object,
children: o.default.oneOfType([o.default.string, o.default.node])
}, l.defaultProps = {
text: null,
icon: null,
background: "white",
classes: {},
children: null
};
t.Ay = l
},
9098: (e, t, n) => {
"use strict";
n.d(t, {
Kq: () => r.Kq,
Ng: () => r.Ng,
d4: () => r.d4,
wA: () => r.wA
});
var r = n(27921),
o = n(82906);
(0, n(37812).d)(o.r)
},
9996: (e, t, n) => {
"use strict";
n.d(t, {
A: () => l,
C: () => u
});
var r = n(9098),
o = n(24010),
i = n(99507),
a = n(31311),
s = n(5735),
c = n(18802),
u = {
SEE_MORE_TIPS: "SEE_MORE_TIPS",
SEE_DEAL_SUMMARY: "SEE_DEAL_SUMMARY",
POWERED_BY: "POWERED_BY"
};
const l = function() {
var e = (0, r.d4)(a.A),
t = ((0, r.d4)(i.A) || {}).categoryId,
n = ((0, r.d4)(s.A) || []).length > 1,
l = (0, r.d4)(o.A),
f = (0, c.A)();
return e && n ? "Main" !== t && l ? u.SEE_DEAL_SUMMARY : u.SEE_MORE_TIPS : f ? u.POWERED_BY : null
}
},
10408: e => {
"use strict";
var t, n, r, o = /[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
i = {
"\b": "\\b",
"\t": "\\t",
"\n": "\\n",
"\f": "\\f",
"\r": "\\r",
'"': '\\"',
"\\": "\\\\"
};
function a(e) {
return o.lastIndex = 0, o.test(e) ? '"' + e.replace(o, function(e) {
var t = i[e];
return "string" == typeof t ? t : "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4)
}) + '"' : '"' + e + '"'
}
function s(e, o) {
var i, c, u, l, f, d = t,
p = o[e];
switch (p && "object" == typeof p && "function" == typeof p.toJSON && (p = p.toJSON(e)), "function" == typeof r && (p = r.call(o, e, p)), typeof p) {
case "string":
return a(p);
case "number":
return isFinite(p) ? String(p) : "null";
case "boolean":
case "null":
return String(p);
case "object":
if (!p) return "null";
if (t += n, f = [], "[object Array]" === Object.prototype.toString.apply(p)) {
for (l = p.length, i = 0; i < l; i += 1) f[i] = s(i, p) || "null";
return u = 0 === f.length ? "[]" : t ? "[\n" + t + f.join(",\n" + t) + "\n" + d + "]" : "[" + f.join(",") + "]", t = d, u
}
if (r && "object" == typeof r)
for (l = r.length, i = 0; i < l; i += 1) "string" == typeof(c = r[i]) && (u = s(c, p)) && f.push(a(c) + (t ? ": " : ":") + u);
else
for (c in p) Object.prototype.hasOwnProperty.call(p, c) && (u = s(c, p)) && f.push(a(c) + (t ? ": " : ":") + u);
return u = 0 === f.length ? "{}" : t ? "{\n" + t + f.join(",\n" + t) + "\n" + d + "}" : "{" + f.join(",") + "}", t = d, u
}
}
e.exports = function(e, o, i) {
var a;
if (t = "", n = "", "number" == typeof i)
for (a = 0; a < i; a += 1) n += " ";
else "string" == typeof i && (n = i);
if (r = o, o && "function" != typeof o && ("object" != typeof o || "number" != typeof o.length)) throw new Error("JSON.stringify");
return s("", {
"": e
})
}
},
11389: function(e, t, n) {
var r, o;
/*! @preserve
* numeral.js
* version : 2.0.6
* author : Adam Draper
* license : MIT
* http://adamwdraper.github.com/Numeral-js/
*/
r = function() {
var e, t, n, r, o, i = "2.0.6",
a = {},
s = {},
c = {
currentLocale: "en",
zeroFormat: null,
nullFormat: null,
defaultFormat: "0,0",
scalePercentBy100: !0
},
u = {
currentLocale: c.currentLocale,
zeroFormat: c.zeroFormat,
nullFormat: c.nullFormat,
defaultFormat: c.defaultFormat,
scalePercentBy100: c.scalePercentBy100
};
function l(e, t) {
this._input = e, this._value = t
}
return (e = function(n) {
var r, o, i, s;
if (e.isNumeral(n)) r = n.value();
else if (0 === n || void 0 === n) r = 0;
else if (null === n || t.isNaN(n)) r = null;
else if ("string" == typeof n)
if (u.zeroFormat && n === u.zeroFormat) r = 0;
else if (u.nullFormat && n === u.nullFormat || !n.replace(/[^0-9]+/g, "").length) r = null;
else {
for (o in a)
if ((s = "function" == typeof a[o].regexps.unformat ? a[o].regexps.unformat() : a[o].regexps.unformat) && n.match(s)) {
i = a[o].unformat;
break
} r = (i = i || e._.stringToNumber)(n)
} else r = Number(n) || null;
return new l(n, r)
}).version = i, e.isNumeral = function(e) {
return e instanceof l
}, e._ = t = {
numberToFormat: function(t, n, r) {
var o, i, a, c, u, l, f, d = s[e.options.currentLocale],
p = !1,
h = !1,
m = 0,
g = "",
y = 1e12,
v = 1e9,
b = 1e6,
_ = 1e3,
S = "",
w = !1;
if (t = t || 0, i = Math.abs(t), e._.includes(n, "(") ? (p = !0, n = n.replace(/[\(|\)]/g, "")) : (e._.includes(n, "+") || e._.includes(n, "-")) && (u = e._.includes(n, "+") ? n.indexOf("+") : t < 0 ? n.indexOf("-") : -1, n = n.replace(/[\+|\-]/g, "")), e._.includes(n, "a") && (o = !!(o = n.match(/a(k|m|b|t)?/)) && o[1], e._.includes(n, " a") && (g = " "), n = n.replace(new RegExp(g + "a[kmbt]?"), ""), i >= y && !o || "t" === o ? (g += d.abbreviations.trillion, t /= y) : i < y && i >= v && !o || "b" === o ? (g += d.abbreviations.billion, t /= v) : i < v && i >= b && !o || "m" === o ? (g += d.abbreviations.million, t /= b) : (i < b && i >= _ && !o || "k" === o) && (g += d.abbreviations.thousand, t /= _)), e._.includes(n, "[.]") && (h = !0, n = n.replace("[.]", ".")), a = t.toString().split(".")[0], c = n.split(".")[1], l = n.indexOf(","), m = (n.split(".")[0].split(",")[0].match(/0/g) || []).length, c ? (e._.includes(c, "[") ? (c = (c = c.replace("]", "")).split("["), S = e._.toFixed(t, c[0].length + c[1].length, r, c[1].length)) : S = e._.toFixed(t, c.length, r), a = S.split(".")[0], S = e._.includes(S, ".") ? d.delimiters.decimal + S.split(".")[1] : "", h && 0 === Number(S.slice(1)) && (S = "")) : a = e._.toFixed(t, 0, r), g && !o && Number(a) >= 1e3 && g !== d.abbreviations.trillion) switch (a = String(Number(a) / 1e3), g) {
case d.abbreviations.thousand:
g = d.abbreviations.million;
break;
case d.abbreviations.million:
g = d.abbreviations.billion;
break;
case d.abbreviations.billion:
g = d.abbreviations.trillion
}
if (e._.includes(a, "-") && (a = a.slice(1), w = !0), a.length < m)
for (var O = m - a.length; O > 0; O--) a = "0" + a;
return l > -1 && (a = a.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1" + d.delimiters.thousands)), 0 === n.indexOf(".") && (a = ""), f = a + S + (g || ""), p ? f = (p && w ? "(" : "") + f + (p && w ? ")" : "") : u >= 0 ? f = 0 === u ? (w ? "-" : "+") + f : f + (w ? "-" : "+") : w && (f = "-" + f), f
},
stringToNumber: function(e) {
var t, n, r, o = s[u.currentLocale],
i = e,
a = {
thousand: 3,
million: 6,
billion: 9,
trillion: 12
};
if (u.zeroFormat && e === u.zeroFormat) n = 0;
else if (u.nullFormat && e === u.nullFormat || !e.replace(/[^0-9]+/g, "").length) n = null;
else {
for (t in n = 1, "." !== o.delimiters.decimal && (e = e.replace(/\./g, "").replace(o.delimiters.decimal, ".")), a)
if (r = new RegExp("[^a-zA-Z]" + o.abbreviations[t] + "(?:\\)|(\\" + o.currency.symbol + ")?(?:\\))?)?$"), i.match(r)) {
n *= Math.pow(10, a[t]);
break
} n *= (e.split("-").length + Math.min(e.split("(").length - 1, e.split(")").length - 1)) % 2 ? 1 : -1, e = e.replace(/[^0-9\.]+/g, ""), n *= Number(e)
}
return n
},
isNaN: function(e) {
return "number" == typeof e && isNaN(e)
},
includes: function(e, t) {
return -1 !== e.indexOf(t)
},
insert: function(e, t, n) {
return e.slice(0, n) + t + e.slice(n)
},
reduce: function(e, t) {
if (null === this) throw new TypeError("Array.prototype.reduce called on null or undefined");
if ("function" != typeof t) throw new TypeError(t + " is not a function");
var n, r = Object(e),
o = r.length >>> 0,
i = 0;
if (3 === arguments.length) n = arguments[2];
else {
for (; i < o && !(i in r);) i++;
if (i >= o) throw new TypeError("Reduce of empty array with no initial value");
n = r[i++]
}
for (; i < o; i++) i in r && (n = t(n, r[i], i, r));
return n
},
multiplier: function(e) {
var t = e.toString().split(".");
return t.length < 2 ? 1 : Math.pow(10, t[1].length)
},
correctionFactor: function() {
return Array.prototype.slice.call(arguments).reduce(function(e, n) {
var r = t.multiplier(n);
return e > r ? e : r
}, 1)
},
toFixed: function(e, t, n, r) {
var o, i, a, s, c = e.toString().split("."),
u = t - (r || 0);
return o = 2 === c.length ? Math.min(Math.max(c[1].length, u), t) : u, a = Math.pow(10, o), s = (n(e + "e+" + o) / a).toFixed(o), r > t - o && (i = new RegExp("\\.?0{1," + (r - (t - o)) + "}$"), s = s.replace(i, "")), s
}
}, e.options = u, e.formats = a, e.locales = s, e.locale = function(e) {
return e && (u.currentLocale = e.toLowerCase()), u.currentLocale
}, e.localeData = function(e) {
if (!e) return s[u.currentLocale];
if (e = e.toLowerCase(), !s[e]) throw new Error("Unknown locale : " + e);
return s[e]
}, e.reset = function() {
for (var e in c) u[e] = c[e]
}, e.zeroFormat = function(e) {
u.zeroFormat = "string" == typeof e ? e : null
}, e.nullFormat = function(e) {
u.nullFormat = "string" == typeof e ? e : null
}, e.defaultFormat = function(e) {
u.defaultFormat = "string" == typeof e ? e : "0.0"
}, e.register = function(e, t, n) {
if (t = t.toLowerCase(), this[e + "s"][t]) throw new TypeError(t + " " + e + " already registered.");
return this[e + "s"][t] = n, n
}, e.validate = function(t, n) {
var r, o, i, a, s, c, u, l;
if ("string" != typeof t && (t += "", console.warn && console.warn("Numeral.js: Value is not string. It has been co-erced to: ", t)), (t = t.trim()).match(/^\d+$/)) return !0;
if ("" === t) return !1;
try {
u = e.localeData(n)
} catch (t) {
u = e.localeData(e.locale())
}
return i = u.currency.symbol, s = u.abbreviations, r = u.delimiters.decimal, o = "." === u.delimiters.thousands ? "\\." : u.delimiters.thousands, !(null !== (l = t.match(/^[^\d]+/)) && (t = t.substr(1), l[0] !== i) || null !== (l = t.match(/[^\d]+$/)) && (t = t.slice(0, -1), l[0] !== s.thousand && l[0] !== s.million && l[0] !== s.billion && l[0] !== s.trillion) || (c = new RegExp(o + "{2}"), t.match(/[^\d.,]/g) || (a = t.split(r)).length > 2 || (a.length < 2 ? !a[0].match(/^\d+.*\d$/) || a[0].match(c) : 1 === a[0].length ? !a[0].match(/^\d+$/) || a[0].match(c) || !a[1].match(/^\d+$/) : !a[0].match(/^\d+.*\d$/) || a[0].match(c) || !a[1].match(/^\d+$/))))
}, e.fn = l.prototype = {
clone: function() {
return e(this)
},
format: function(t, n) {
var r, o, i, s = this._value,
c = t || u.defaultFormat;
if (n = n || Math.round, 0 === s && null !== u.zeroFormat) o = u.zeroFormat;
else if (null === s && null !== u.nullFormat) o = u.nullFormat;
else {
for (r in a)
if (c.match(a[r].regexps.format)) {
i = a[r].format;
break
} o = (i = i || e._.numberToFormat)(s, c, n)
}
return o
},
value: function() {
return this._value
},
input: function() {
return this._input
},
set: function(e) {
return this._value = Number(e), this
},
add: function(e) {
var n = t.correctionFactor.call(null, this._value, e);
function r(e, t, r, o) {
return e + Math.round(n * t)
}
return this._value = t.reduce([this._value, e], r, 0) / n, this
},
subtract: function(e) {
var n = t.correctionFactor.call(null, this._value, e);
function r(e, t, r, o) {
return e - Math.round(n * t)
}
return this._value = t.reduce([e], r, Math.round(this._value * n)) / n, this
},
multiply: function(e) {
function n(e, n, r, o) {
var i = t.correctionFactor(e, n);
return Math.round(e * i) * Math.round(n * i) / Math.round(i * i)
}
return this._value = t.reduce([this._value, e], n, 1), this
},
divide: function(e) {
function n(e, n, r, o) {
var i = t.correctionFactor(e, n);
return Math.round(e * i) / Math.round(n * i)
}
return this._value = t.reduce([this._value, e], n), this
},
difference: function(t) {
return Math.abs(e(this._value).subtract(t).value())
}
}, e.register("locale", "en", {
delimiters: {
thousands: ",",
decimal: "."
},
abbreviations: {
thousand: "k",
million: "m",
billion: "b",
trillion: "t"
},
ordinal: function(e) {
var t = e % 10;
return 1 == ~~(e % 100 / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th"
},
currency: {
symbol: "$"
}
}), e.register("format", "bps", {
regexps: {
format: /(BPS)/,
unformat: /(BPS)/
},
format: function(t, n, r) {
var o, i = e._.includes(n, " BPS") ? " " : "";
return t *= 1e4, n = n.replace(/\s?BPS/, ""), o = e._.numberToFormat(t, n, r), e._.includes(o, ")") ? ((o = o.split("")).splice(-1, 0, i + "BPS"), o = o.join("")) : o = o + i + "BPS", o
},
unformat: function(t) {
return +(1e-4 * e._.stringToNumber(t)).toFixed(15)
}
}), r = {
base: 1024,
suffixes: ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"]
}, o = "(" + (o = (n = {
base: 1e3,
suffixes: ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
}).suffixes.concat(r.suffixes.filter(function(e) {
return n.suffixes.indexOf(e) < 0
})).join("|")).replace("B", "B(?!PS)") + ")", e.register("format", "bytes", {
regexps: {
format: /([0\s]i?b)/,
unformat: new RegExp(o)
},
format: function(t, o, i) {
var a, s, c, u = e._.includes(o, "ib") ? r : n,
l = e._.includes(o, " b") || e._.includes(o, " ib") ? " " : "";
for (o = o.replace(/\s?i?b/, ""), a = 0; a <= u.suffixes.length; a++)
if (s = Math.pow(u.base, a), c = Math.pow(u.base, a + 1), null === t || 0 === t || t >= s && t < c) {
l += u.suffixes[a], s > 0 && (t /= s);
break
} return e._.numberToFormat(t, o, i) + l
},
unformat: function(t) {
var o, i, a = e._.stringToNumber(t);
if (a) {
for (o = n.suffixes.length - 1; o >= 0; o--) {
if (e._.includes(t, n.suffixes[o])) {
i = Math.pow(n.base, o);
break
}
if (e._.includes(t, r.suffixes[o])) {
i = Math.pow(r.base, o);
break
}
}
a *= i || 1
}
return a
}
}), e.register("format", "currency", {
regexps: {
format: /(\$)/
},
format: function(t, n, r) {
var o, i, a = e.locales[e.options.currentLocale],
s = {
before: n.match(/^([\+|\-|\(|\s|\$]*)/)[0],
after: n.match(/([\+|\-|\)|\s|\$]*)$/)[0]
};
for (n = n.replace(/\s?\$\s?/, ""), o = e._.numberToFormat(t, n, r), t >= 0 ? (s.before = s.before.replace(/[\-\(]/, ""), s.after = s.after.replace(/[\-\)]/, "")) : t < 0 && !e._.includes(s.before, "-") && !e._.includes(s.before, "(") && (s.before = "-" + s.before), i = 0; i < s.before.length; i++) switch (s.before[i]) {
case "$":
o = e._.insert(o, a.currency.symbol, i);
break;
case " ":
o = e._.insert(o, " ", i + a.currency.symbol.length - 1)
}
for (i = s.after.length - 1; i >= 0; i--) switch (s.after[i]) {
case "$":
o = i === s.after.length - 1 ? o + a.currency.symbol : e._.insert(o, a.currency.symbol, -(s.after.length - (1 + i)));
break;
case " ":
o = i === s.after.length - 1 ? o + " " : e._.insert(o, " ", -(s.after.length - (1 + i) + a.currency.symbol.length - 1))
}
return o
}
}), e.register("format", "exponential", {
regexps: {
format: /(e\+|e-)/,
unformat: /(e\+|e-)/
},
format: function(t, n, r) {
var o = ("number" != typeof t || e._.isNaN(t) ? "0e+0" : t.toExponential()).split("e");
return n = n.replace(/e[\+|\-]{1}0/, ""), e._.numberToFormat(Number(o[0]), n, r) + "e" + o[1]
},
unformat: function(t) {
var n = e._.includes(t, "e+") ? t.split("e+") : t.split("e-"),
r = Number(n[0]),
o = Number(n[1]);
function i(t, n, r, o) {
var i = e._.correctionFactor(t, n);
return t * i * (n * i) / (i * i)
}
return o = e._.includes(t, "e-") ? o *= -1 : o, e._.reduce([r, Math.pow(10, o)], i, 1)
}
}), e.register("format", "ordinal", {
regexps: {
format: /(o)/
},
format: function(t, n, r) {
var o = e.locales[e.options.currentLocale],
i = e._.includes(n, " o") ? " " : "";
return n = n.replace(/\s?o/, ""), i += o.ordinal(t), e._.numberToFormat(t, n, r) + i
}
}), e.register("format", "percentage", {
regexps: {
format: /(%)/,
unformat: /(%)/
},
format: function(t, n, r) {
var o, i = e._.includes(n, " %") ? " " : "";
return e.options.scalePercentBy100 && (t *= 100), n = n.replace(/\s?\%/, ""), o = e._.numberToFormat(t, n, r), e._.includes(o, ")") ? ((o = o.split("")).splice(-1, 0, i + "%"), o = o.join("")) : o = o + i + "%", o
},
unformat: function(t) {
var n = e._.stringToNumber(t);
return e.options.scalePercentBy100 ? .01 * n : n
}
}), e.register("format", "time", {
regexps: {
format: /(:)/,
unformat: /(:)/
},
format: function(e, t, n) {
var r = Math.floor(e / 60 / 60),
o = Math.floor((e - 60 * r * 60) / 60),
i = Math.round(e - 60 * r * 60 - 60 * o);
return r + ":" + (o < 10 ? "0" + o : o) + ":" + (i < 10 ? "0" + i : i)
},
unformat: function(e) {
var t = e.split(":"),
n = 0;
return 3 === t.length ? (n += 60 * Number(t[0]) * 60, n += 60 * Number(t[1]), n += Number(t[2])) : 2 === t.length && (n += 60 * Number(t[0]), n += Number(t[1])), Number(n)
}
}), e
}, void 0 === (o = "function" == typeof r ? r.call(t, n, t, e) : r) || (e.exports = o)
},
13351: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => h,
dx: () => f,
yn: () => d
});
var r = n(9666),
o = n(86146),
i = n.n(o),
a = n(9098),
s = n(23649),
c = n(29020),
u = n(98119),
l = n(74428),
f = {
tipId: i().string.isRequired,
templateType: i().oneOf(["card", "teaser", "bottomSheet"]).isRequired,
isSecondary: i().bool,
scrollToCard: i().bool
},
d = {
isSecondary: !1,
scrollToCard: !1
},
p = function(e) {
var t = e.tipId,
n = e.templateType,
o = (0, a.d4)(s.fc.selectTipById(t)),
i = (0, a.d4)((0, l.A)(t)) || {},
f = (0, r.useMemo)(function() {
return {
tipId: t,
categoryData: i
}
}, [i, t]);
if (!o) return null;
var d = (0, c.A)(o.template, n);
if (!d) return null;
var p = "card" === n ? r.createElement("div", null, r.createElement(d, e)) : r.createElement(d, e);
return r.createElement(u.A.Provider, {
value: f
}, p)
};
p.propTypes = f, p.defaultProps = d;
const h = p
},
17940: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), Object.defineProperty(t, "BottomSheetFooter", {
enumerable: !0,
get: function() {
return r.default
}
}), Object.defineProperty(t, "BottomSheetHeader", {
enumerable: !0,
get: function() {
return o.default
}
}), Object.defineProperty(t, "CardFooter", {
enumerable: !0,
get: function() {
return i.default
}
}), Object.defineProperty(t, "ContainerLoader", {
enumerable: !0,
get: function() {
return a.default
}
}), Object.defineProperty(t, "ContainerWithDropdown", {
enumerable: !0,
get: function() {
return s.default
}
}), Object.defineProperty(t, "DealEstimateContent", {
enumerable: !0,
get: function() {
return c.default
}
}), Object.defineProperty(t, "Feedback", {
enumerable: !0,
get: function() {
return u.default
}
}), Object.defineProperty(t, "FeedbackButton", {
enumerable: !0,
get: function() {
return l.default
}
}), Object.defineProperty(t, "FeedbackRadio", {
enumerable: !0,
get: function() {
return f.default
}
}), Object.defineProperty(t, "Header", {
enumerable: !0,
get: function() {
return d.default
}
}), Object.defineProperty(t, "HoneyGoldProgress", {
enumerable: !0,
get: function() {
return p.default
}
}), Object.defineProperty(t, "HoneyGoldStackedProgress", {
enumerable: !0,
get: function() {
return h.default
}
}), Object.defineProperty(t, "MiniBadge", {
enumerable: !0,
get: function() {
return m.default
}
}), Object.defineProperty(t, "MiniBadgeWithTeaser", {
enumerable: !0,
get: function() {
return g.default
}
}), Object.defineProperty(t, "MovableBadge", {
enumerable: !0,
get: function() {
return y.default
}
}), Object.defineProperty(t, "Tab", {
enumerable: !0,
get: function() {
return v.default
}
}), Object.defineProperty(t, "Tooltip", {
enumerable: !0,
get: function() {
return b.default
}
});
var r = _(n(70585)),
o = _(n(33731)),
i = _(n(76631)),
a = _(n(97011)),
s = _(n(23362)),
c = _(n(49753)),
u = _(n(86633)),
l = _(n(90449)),
f = _(n(80190)),
d = _(n(96979)),
p = _(n(17130)),
h = _(n(26607)),
m = _(n(89582)),
g = _(n(22390)),
y = _(n(72695)),
v = _(n(75191)),
b = _(n(5260));
function _(e) {
return e && e.__esModule ? e : {
default: e
}
}
},
18522: (e, t, n) => {
"use strict";
var r = n(18201),
o = function() {
return !!r
};
o.hasArrayLengthDefineBug = function() {
if (!r) return null;
try {
return 1 !== r([], "length", {
value: 1
}).length
} catch (e) {
return !0
}
}, e.exports = o
},
19550: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
IE: () => i.A,
zK: () => l
});
var r = n(53996),
o = n(83221),
i = n(56628);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
20989: (e, t, n) => {
"use strict";
n.d(t, {
SG: () => jr,
BW: () => Cr,
Sv: () => Rr
});
var r = n(9666),
o = n(9098),
i = n(9921),
a = n(35826),
s = n(27102),
c = n(35614),
u = n(22626),
l = n(17940),
f = n(54099),
d = n(28992),
p = n(86146),
h = n.n(p),
m = n(22662),
g = (0, m.createUseStyles)({
layout: {
position: "fixed",
top: function(e) {
return e.top
},
right: 16,
zIndex: 2147483647
}
}),
y = r.forwardRef(function(e, t) {
var n = e.children,
o = e.top,
i = e.onMouseOver,
a = e.onMouseLeave,
s = g({
top: o
});
return r.createElement("div", {
className: s.layout,
ref: t,
onMouseOver: i,
onMouseLeave: a
}, n)
});
y.propTypes = {
children: h().node,
top: h().number,
onMouseOver: h().func,
onMouseLeave: h().func
}, y.defaultProps = {
children: void 0,
top: 16,
onMouseOver: function() {},
onMouseLeave: function() {}
};
const v = y;
var b = n(72097),
_ = n(23649),
S = n(36927);
const w = function() {
var e = (0, o.wA)(),
t = (0, o.d4)(S.A) || {},
n = t.id,
i = t.notificationBanner,
a = void 0 === i ? {} : i,
s = a.showBanner,
c = void 0 !== s && s,
u = a.copy,
l = a.color,
f = a.ctaAction,
d = a.ctaCopy;
return r.createElement(b.NotificationBanner, {
show: c,
copy: u,
color: l,
ctaAction: f,
ctaCopy: d,
src: "UniversalContainer",
short: !0,
stackAbove: !0,
zIndex: 3,
onClose: function() {
return e(_.Qq.resetNotificationBanner({
containerId: n
}))
}
})
};
var O = n(7837),
E = n(50618),
k = n(70481),
T = n(28555),
x = n(84949),
I = n(5350),
P = n(33118),
A = n(2236),
C = n(6525),
j = n(7459),
R = n(64287);
function M(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return D(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? D(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function D(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var N = function(e, t) {
var n = (0, S.z)(t());
e(_.Qq.snoozeContainer({
containerId: n
})), Rr(), e((0, I.f)({
event: "action",
action: "snooze_page"
})), e((0, P.F)({
event: "action",
action: "snooze"
}))
},
L = function(e) {
e((0, P.F)({
event: "action",
action: "click_settings"
}))
},
F = function(e) {
var t = e.noClose,
n = e.customSize,
i = e.customColor,
a = (0, o.wA)(),
s = ((0, o.d4)(E.Ax.selectUser()) || {}).isLoggedIn,
c = (0, o.d4)(k.VH.selectCurrentStoreId()),
u = ((0, o.d4)(R.fN) || {}).productId,
l = (0, o.d4)(C.A),
f = (0, o.d4)(_.fc.selectConfiguration),
d = f.links,
p = void 0 === d ? {} : d,
h = f.hasExtraSnoozeSettings,
m = void 0 !== h && h,
g = p.featureSettings || "https://www.joinhoney.com/settings/feature-settings",
y = p.debugProduct || "https://dash.joinhoney.com/product-catalog/product?productId={PRODUCT_ID}",
v = M((0, r.useState)(!1), 2),
S = v[0],
w = v[1],
P = [{
label: O.A.getMessage("Hide_on_this_page"),
key: "snooze_page",
onClick: function() {
a(N)
}
}, {
label: O.A.getMessage("Snooze_for_24_hours"),
key: "snooze_24",
onClick: function() {
a((0, A.Dg)(1)), w(!1), a((0, I.f)({
event: "action",
action: "snooze_24"
})), Rr()
}
}],
D = s ? {
label: O.A.getMessage("Go_to_settings"),
key: "go_to_settings",
onClick: function() {
w(!S), window.open(g)
}
} : {
label: O.A.getMessage("Snooze_on_all_sites"),
key: "snooze_all",
onClick: function() {
a((0, A.Dg)(30)), w(!S), a((0, I.f)({
event: "action",
action: "snooze_all"
})), Rr()
}
};
return m && P.push({
label: O.A.getMessage("Snooze_on_this_site"),
key: "snooze_store",
onClick: function() {
a((0, A.js)(c, 30)), w(!S), a((0, I.f)({
event: "action",
action: "snooze_store"
})), Rr()
}
}, D), l && P.push({
label: O.A.getMessage("Debug_product"),
key: "debug_product",
onClick: function() {
return e = y.replace("{PRODUCT_ID}", u), window.open(e, "_blank"), void a((0, I.f)({
event: "action",
action: "click_debug_product"
}));
var e
},
icon: r.createElement(b.Icon, {
name: "bug",
type: "stroke",
color: b.Colors.grey800,
style: {
marginRight: "5px"
}
})
}), r.createElement(r.Fragment, null, r.createElement(T.A, {
open: S,
onClick: function() {
w(!S), a(L)
},
options: P,
customSize: n,
customColor: i
}), t ? null : r.createElement(x.A, {
onClick: function() {
a((0, j.A)())
},
ariaLabel: O.A.getMessage("Close_Honey")
}))
};
F.propTypes = {
noClose: h().bool,
customSize: h().number,
customColor: h().string
}, F.defaultProps = {
noClose: null,
customSize: null,
customColor: null
};
const B = F;
var U = n(3650),
G = n(2317),
$ = (0, G.Mz)(S.A, function(e) {
return !!(e && e.bottomSheet && e.bottomSheet.isOpen)
});
const H = $;
var z = (0, G.Mz)(S.A, function(e) {
return !!(e && e.feedbackForm && e.feedbackForm.open)
});
const q = z;
var W = n(83701),
V = n(33731),
Y = n(70585),
J = n(8706),
K = n(35304),
Q = n(43189),
X = n(47516);
const Z = function(e) {
var t = e.tipId,
n = void 0 === t ? "" : t,
r = e.feedbackOption,
o = e.feedbackComment;
return function(e) {
var t = {
action: "feedback_detail",
event: "action",
feedbackOption: r,
feedbackComment: o,
feedback: "thumbs_down_detail",
tipId: n
};
e((0, X.J)(t))
}
};
var ee = (0, G.Mz)(S.A, function(e) {
return e && e.bottomSheet && e.bottomSheet.tipId
});
const te = ee;
const ne = function(e, t) {
var n = (0, S.A)(t()),
r = n.id,
o = n.feedbackForm,
i = void 0 === o ? {} : o,
a = te(t()),
s = (_.fc.selectTipById(a)(t()) || {}).categoryId,
c = i.feedbackComment,
u = i.feedbackOption;
if (u || (e(_.Qq.setFeedbackFormValidation({
containerId: r,
feedbackValidation: O.A.getMessage("Please_select_an_option")
})), e(_.Qq.setFeedbackFormStatus({
containerId: r,
feedbackStatus: "failed"
})), 0)) try {
e(Z({
tipId: a,
feedbackComment: c,
feedbackOption: u
})), e(_.Qq.setFeedbackThumbsState({
containerId: r,
feedbackThumbsState: Q.KM.negativeFormSubmitted,
categoryId: s
})), e(_.Qq.setFeedbackFormStatus({
containerId: r,
feedbackStatus: "success"
}))
} catch (t) {
e(_.Qq.setFeedbackFormStatus({
containerId: r,
feedbackStatus: "failed"
}))
}
};
var re = n(6202);
const oe = function() {
var e = (0, o.wA)(),
t = (0, o.d4)(a.im.selectIsCurrentPageLaunchpad()),
n = (0, o.d4)(S.A),
i = n.id,
s = n.feedbackForm,
c = void 0 === s ? {} : s,
u = c.feedbackComment,
l = c.feedbackOption,
f = c.feedbackStatus,
d = c.feedbackValidation,
p = (0, r.useCallback)(function(t) {
e(_.Qq.setFeedbackFormComment({
containerId: i,
feedbackComment: t
})), e(_.Qq.setFeedbackFormStatus({
containerId: i,
feedbackStatus: ""
}))
}, [e, i]),
h = (0, r.useCallback)(function(t) {
e(_.Qq.setFeedbackFormOption({
containerId: i,
feedbackOption: t
})), e(_.Qq.setFeedbackFormStatus({
containerId: i,
feedbackStatus: ""
}))
}, [e, i]),
m = (0, r.useCallback)(function() {
e(ne)
}, [e]),
g = (0, r.useCallback)(function() {
e((0, re.A)())
}, [e]),
y = Q.Sl[f] || O.A.getMessage("Send"),
v = Q.QJ[f] || "",
w = (0, K.A)(t).map(function(e) {
var t = e.value,
n = e.copy;
return r.createElement(b.RadioButton, {
key: "".concat("radio-", t),
value: t,
copy: n
})
}),
E = "failed" === f,
k = r.createElement(V.default, {
onClose: g,
closeButtonCopy: O.A.getMessage("Close"),
title: O.A.getMessage("What_are_your_thoughts_Q")
}),
T = r.createElement(Y.default, {
ctaCopy: y,
ctaStatus: v,
ctaType: "primary",
handleCta: m
});
return r.createElement(J.default, {
header: k,
footer: T
}, E && r.createElement(W.default, {
component: "div",
variant: "body2",
style: {
color: b.Colors.red600,
marginBottom: "8px"
}
}, d), r.createElement(b.RadioGroup, {
onChange: h,
group: "paymentAmount",
selectedValue: l
}, w), r.createElement("div", {
style: {
marginTop: "14px"
}
}, r.createElement(b.FormInput, {
size: 88,
id: "forminput",
label: O.A.getMessage("Comments_or_suggestions"),
value: u,
onChange: p
})))
};
var ie = (0, G.Mz)(S.A, function(e) {
return e && e.bottomSheet && e.bottomSheet.tipId
});
const ae = ie;
var se = n(13351),
ce = n(46529);
function ue(e) {
return ue = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, ue(e)
}
function le(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, me(r.key), r)
}
}
function fe(e, t, n) {
return t = pe(t),
function(e, t) {
if (t && ("object" == ue(t) || "function" == typeof t)) return t;
if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
return function(e) {
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return e
}(e)
}(e, de() ? Reflect.construct(t, n || [], pe(e).constructor) : t.apply(e, n))
}
function de() {
try {
var e = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}))
} catch (e) {}
return (de = function() {
return !!e
})()
}
function pe(e) {
return pe = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
return e.__proto__ || Object.getPrototypeOf(e)
}, pe(e)
}
function he(e, t) {
return he = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) {
return e.__proto__ = t, e
}, he(e, t)
}
function me(e) {
var t = function(e, t) {
if ("object" != ue(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != ue(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == ue(t) ? t : t + ""
}
var ge = function(e) {
function t() {
var e, n, r, o;
! function(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}(this, t);
for (var i = arguments.length, a = new Array(i), s = 0; s < i; s++) a[s] = arguments[s];
return e = fe(this, t, [].concat(a)), n = e, o = {
error: null
}, (r = me(r = "state")) in n ? Object.defineProperty(n, r, {
value: o,
enumerable: !0,
configurable: !0,
writable: !0
}) : n[r] = o, e
}
return function(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
writable: !0,
configurable: !0
}
}), Object.defineProperty(e, "prototype", {
writable: !1
}), t && he(e, t)
}(t, e), n = t, a = [{
key: "getDerivedStateFromError",
value: function(e) {
return {
error: e
}
}
}], (o = [{
key: "componentDidCatch",
value: function(e) {
var t = this.props,
n = t.sendSdataEvent,
r = t.sdataAction;
n(e, void 0 === r ? ce.go.TIP_CARD_ERROR : r), i.A.error(e)
}
}, {
key: "render",
value: function() {
var e = this.props.children;
return this.state.error ? r.createElement(r.Fragment, null) : e
}
}]) && le(n.prototype, o), a && le(n, a), Object.defineProperty(n, "prototype", {
writable: !1
}), n;
var n, o, a
}(r.Component);
ge.propTypes = {
sendSdataEvent: h().func.isRequired,
sdataAction: h().string.isRequired,
children: h().oneOfType([h().node, h().arrayOf(h().node)])
}, ge.defaultProps = {
children: null
};
const ye = (0, o.Ng)(null, function(e) {
return {
sendSdataEvent: function(t, n) {
return e((0, I.f)({
action: n,
event: "error",
errorMessage: t.message
}))
}
}
})(ge);
var ve = function() {
var e = (0, o.d4)(q),
t = (0, o.d4)(ae);
return r.createElement(r.Fragment, null, t && r.createElement(se.Ay, {
tipId: t,
templateType: "bottomSheet"
}), e && r.createElement(oe, null))
};
const be = function() {
var e = (0, o.wA)(),
t = (0, o.d4)(H),
n = (0, r.useCallback)(function() {
e((0, re.A)())
}, [e]),
i = (0, r.useCallback)(function() {
t || e((0, re.I)())
}, [e, t]);
return r.createElement(ye, {
sdataAction: ce.go.TIP_CARD_ERROR
}, r.createElement(U.default, {
id: "bottom-sheet-1",
open: t,
onClose: n,
onTransitionEnd: i
}, r.createElement(ve, null)))
};
var _e = {
behavior: "smooth",
block: "center"
};
const Se = function() {
var e = (0, r.useRef)({
tipsRefs: {}
}),
t = (0, r.useCallback)(function(t, n) {
e.current.tipsRefs[t] = n
}, []),
n = (0, r.useCallback)(function(t) {
var n = e.current.tipsRefs[t];
n ? n.scrollIntoView(_e) : i.A.debug("".concat("honeyTips:hooks:useScrollToCategory: ", "scrollToCategory: Category '").concat(t, "' not found."))
}, []);
return (0, r.useMemo)(function() {
return {
addTipCategoryRef: t,
scrollToCategory: n
}
}, [t, n])
};
var we = n(72341),
Oe = n(9996),
Ee = (0, m.createUseStyles)({
layout: function(e) {
var t = e.footer,
n = e.isLastTip;
return {
marginBottom: t && n ? "1px" : "8px"
}
}
}),
ke = r.forwardRef(function(e, t) {
var n = e.children,
o = e.isLastTip,
i = (0, Oe.A)(),
a = Ee({
footer: i,
isLastTip: o
});
return r.createElement("div", {
className: a.layout,
ref: t
}, n)
});
ke.propTypes = {
children: h().node,
isLastTip: h().bool
}, ke.defaultProps = {
children: void 0,
isLastTip: !1
};
const Te = ke;
var xe = n(65129),
Ie = n(38707);
const Pe = function() {
return function(e, t) {
var n = (0, S.A)(t()).id;
e(_.Qq.updateShowTopTipOnly({
containerId: n,
showTopTipOnly: !1
})), e((0, P.F)({
event: "action",
action: "expand_container"
}))
}
};
const Ae = function() {
var e = (0, o.wA)();
return r.createElement(Ie.default, {
body: O.A.getMessage("View_More_Tips"),
"aria-label": O.A.getMessage("View_More_Tips"),
onClick: function() {
e(Pe())
}
})
};
var Ce = n(8845);
const je = function() {
var e = (0, o.wA)(),
t = O.A.getMessage("See_Deal_Summary");
return r.createElement(Ce.Ay, {
text: t,
"aria-label": t,
icon: "right-line-16",
onClick: function() {
e(Pe())
}
})
};
const Re = function() {
switch ((0, Oe.A)()) {
case Oe.C.POWERED_BY:
return r.createElement(xe.A, null);
case Oe.C.SEE_MORE_TIPS:
return r.createElement(Ae, null);
case Oe.C.SEE_DEAL_SUMMARY:
return r.createElement(je, null);
default:
return null
}
};
var Me = n(31311),
De = n(25094),
Ne = n(78860),
Le = n(78111);
function Fe() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Be(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Be(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Be(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Be(f, "constructor", u), Be(u, "constructor", c), c.displayName = "GeneratorFunction", Be(u, o, "GeneratorFunction"), Be(f), Be(f, o, "Generator"), Be(f, r, function() {
return this
}), Be(f, "toString", function() {
return "[object Generator]"
}), (Fe = function() {
return {
w: i,
m: d
}
})()
}
function Be(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Be = function(e, t, n, r) {
function i(t, n) {
Be(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Be(e, t, n, r)
}
function Ue(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Ge = function() {
var e = (0, o.wA)(),
t = (0, o.d4)(E.Ax.selectUser()),
n = (0, o.d4)(k.VH.selectCurrentStore()),
i = (0, o.d4)(E.Ax.selectUserFollowsCurrentStore),
s = (0, o.d4)(E.Ax.selectSessionCountForCurrentStore),
c = (0, o.d4)(a.im.selectIsCurrentPageLaunchpad()),
u = (0, r.useCallback)(function() {
var n, r = (n = Fe().m(function n(r) {
return Fe().w(function(n) {
for (;;) switch (n.n) {
case 0:
t && t.isLoggedIn || De.A.openEmailAuth("login", "launchpad-ext", !0), e(E.Xp.updateUserFollow(r));
case 1:
return n.a(2)
}
}, n)
}), function() {
var e = this,
t = arguments;
return new Promise(function(r, o) {
var i = n.apply(e, t);
function a(e) {
Ue(i, r, o, a, s, "next", e)
}
function s(e) {
Ue(i, r, o, a, s, "throw", e)
}
a(void 0)
})
});
return function(e) {
return r.apply(this, arguments)
}
}(), [e, t]);
return c && n && t ? r.createElement(Ne.d, {
inPopover: !1,
store: n,
storeFollowButton: r.createElement("div", null, r.createElement(Le.A, {
allowTooltip: !1,
isFollowing: i,
isHeaderButton: !0,
store: {
storeId: n.id,
storeName: n.name
},
storeSessionCount: s,
subSrc: "launchpad",
updateUserFollow: u,
user: t
}))
}) : null
};
var $e = n(96161),
He = n(89773),
ze = n(34570),
qe = n(84458);
function We(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return Ve(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ve(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function Ve(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var Ye = function(e) {
var t = e.badgeTop,
n = e.badgeHeight,
r = e.containerRef;
if (e.isAutopop) return 15;
var o, i, a = (o = r) && o.current && o.current.offsetHeight || 0,
s = (i = {
badgeTop: t,
badgeHeight: n
}).badgeTop + i.badgeHeight / 2 < window.innerHeight / 2 ? t + n + 15 : t - 15 - a,
c = function(e) {
var t = e.containerTop,
n = e.containerHeight;
if (t < 15) return t - 15;
var r = window.innerHeight - 15,
o = t + n;
return o > r ? o - r : 0
}({
containerTop: s,
containerHeight: a
});
return s - c
};
const Je = function(e) {
var t = e.containerRef,
n = ((0, o.d4)(ze.A) || {}).top,
i = void 0 === n ? ce.oU : n,
a = (0, o.d4)(He.n2.selectBadgeHeight),
s = ((0, o.d4)(S.A) || {}).open,
c = (0, qe.A)(),
u = We((0, r.useState)(ce.ij), 2),
l = u[0],
f = u[1],
d = (0, $e.A)({
action: "show",
sub_src: "tips_container",
variant: "tips_moved"
}).topMargin;
return (0, r.useEffect)(function() {
var e = Ye({
badgeTop: i,
badgeHeight: a,
containerRef: t,
isAutopop: c
});
f(e < d ? d : e)
}, [a, i, t, c, s, d]), (0, r.useMemo)(function() {
return {
top: l
}
}, [l])
};
var Ke = n(9636),
Qe = n(49976);
function Xe(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return Ze(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ze(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function Ze(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var et = function(e) {
var t = e.tipId,
n = e.children,
i = (0, o.wA)(),
a = Xe((0, r.useState)(null), 2),
s = a[0],
c = a[1],
u = (0, Ke.useInView)({
threshold: .4
}),
l = u.ref,
f = u.inView,
d = (0, r.useCallback)(function() {
i((0, Qe.A)(t))
}, [i, t]);
return (0, r.useEffect)(function() {
if (f && !s) {
var e = setTimeout(d, 1e3);
c(e)
} else !f && s && c(function(e) {
return clearTimeout(e), null
});
return function() {
clearTimeout(s)
}
}, [d, f, s]), r.createElement("div", {
ref: l
}, n)
};
et.propTypes = {
tipId: h().string.isRequired,
children: h().oneOfType([h().node, h().arrayOf(h().node)])
}, et.defaultProps = {
children: null
};
const tt = et;
const nt = {
loadingPhrases: ["Stand_by_for_some_serious_deal_science", "Cooking_up_coupons_rewards_and_tips", "Dropping_some_savings_knowledge_in_3_2_1", "Channeling_our_savings_superpowers", "Our_secret_formula_of_deals_rewards_and_tips_coming_up", "Were_whipping_up_todays_deals_and_tips", "Were_working_our_deal_finding_magic", "Finding_deals_is_a_science", "Todays_batch_of_store_deals_and_tips_coming_up", "Coiny_is_working_some_shopping_genius", "Adding_our_secret_deal_finding_ingredients", "Coiny_says_an_informed_shopper_is_a_smart_shopper", "Were_working_our_deal_searching_magic", "Doing_what_we_do_best_whipping_up_deals_and_tips", "Whos_ready_to_save_Q_Stand_by_for_deals", "Shopping_wisdom_is_worth_waiting_for", "Searching_every_corner_of_the_internet_for_deals", "Good_deals_come_to_those_who_wait", "Doing_what_we_do_best_finding_you-deals_and_tips", "Warming_up_our_shopping_muscles", "Were_consulting_our_crystal_ball_for deals", "Making_you_a_savings_mixtape", "Stick_with_us_P_Were_a_magnet_for_deals", "You_find_the_cool_stuff_well_find_the_savings"]
};
var rt;
var ot = "".concat("https://cdn.honey.io", "/images/tips/").concat("coiny_happy_scientist_beakers_transparent.gif"),
it = (0, m.createUseStyles)({
containerLoader: {
paddingTop: "60px",
backgroundColor: b.Colors.white,
display: "flex",
justifyContent: "center",
alignItems: "center"
},
container: {
lineHeight: "2rem"
}
}),
at = function() {
var e = it(),
t = (rt || (rt = nt.loadingPhrases.map(function(e) {
return O.A.getMessage(e)
})), rt).map(function(t) {
return r.createElement("div", {
className: e.container
}, t)
});
return r.createElement("div", {
className: e.containerLoader
}, r.createElement(s.ContainerLoader, {
loadingImage: ot,
loadingPhrases: t,
marqueeDelay: 2e3
}))
};
function st(e) {
return st = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, st(e)
}
function ct(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 ut(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? ct(Object(n), !0).forEach(function(t) {
lt(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ct(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function lt(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != st(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != st(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == st(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
const ft = function() {
var e = (0, r.useCallback)(a.im.selectIsCurrentPageLaunchpad(), []),
t = (0, o.d4)(Me.A),
n = (0, o.d4)(e),
i = t || n;
return (0, r.useMemo)(function() {
return {
header: ut({}, i && {
root: {
height: "48px"
}
}),
container: ut({}, i && {
header: {
flexBasis: "48px"
}
})
}
}, [i])
};
var dt = null;
const pt = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
return function(t, n) {
return clearTimeout(dt), dt = setTimeout(function() {
var e = (0, S.A)(n()) || {},
r = e.id,
o = e.isAutopop,
i = e.isHoveringOverBadge,
a = e.isHoveringOverContainer;
o || i || a || t(_.Qq.closeContainer({
containerId: r,
resetTipsShown: !1
}))
}, e)
}
};
function ht(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return mt(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? mt(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function mt(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
const gt = function() {
var e = (0, o.wA)(),
t = ht((0, r.useState)(!1), 2),
n = t[0],
i = t[1],
a = (0, o.d4)(S.A) || {},
s = a.id,
c = a.open,
u = (0, r.useCallback)(function() {
n || (i(!0), e(_.Qq.setIsHoveringOverContainer({
containerId: s,
isHovering: !0
})))
}, [s, e, n]),
l = (0, r.useCallback)(function() {
i(!1), e(_.Qq.setIsHoveringOverContainer({
containerId: s,
isHovering: !1
})), e(pt(1e3))
}, [s, e]);
return (0, r.useEffect)(function() {
!c && i(!1)
}, [c]), (0, r.useMemo)(function() {
return {
handleMouseOver: u,
handleMouseLeave: l
}
}, [l, u])
};
var yt = n(41502),
vt = n(13348);
function bt(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return _t(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _t(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function _t(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var St = (0, m.createUseStyles)({
condensedContainer: {
boxShadow: "0px 4px 20px 0px rgba(0, 0, 0, 0.18)",
borderRadius: "5px",
backgroundColor: "white",
position: "relative",
maxWidth: "400px",
right: "20px",
marginTop: "50px"
},
honeyLogo: {
height: "24px",
marginLeft: "16px",
marginTop: "12px"
},
storeLogo: {
position: "absolute",
borderRadius: "6px",
top: "-20px",
backgroundColor: b.Colors.white,
boxShadow: "0px 0px 5px 0px rgba(0, 0, 0, 0.12)"
},
closeButtonContainer: {
position: "absolute",
right: "-11px",
top: "-14px"
},
closeButton: {
cursor: "pointer",
alignItems: "center",
backgroundColor: b.Colors.white,
borderRadius: "12px",
display: "flex",
height: "24px",
width: "24px",
justifyContent: "center",
boxShadow: "rgba(0, 0, 0, 0.08)"
},
closeButtonIcon: {
color: b.Colors.grey900
},
progressCircle: {
position: "absolute",
transform: "translateY(-24px)"
},
storeLogoContainer: {
display: "flex",
width: "100%",
justifyContent: "center"
},
logoAndSettings: {
display: "flex",
justifyContent: "space-between"
},
condensedSettingsIcon: {
marginTop: "8px",
marginRight: "8px",
lineHeight: "16px",
fontSize: "12px"
}
}),
wt = function(e) {
var t = e.children,
n = e.autoClose,
i = bt((0, r.useState)(n / 1e3), 2),
a = i[0],
s = i[1],
c = bt((0, r.useState)(), 2),
u = c[0],
l = c[1],
f = bt((0, r.useState)(0), 2),
d = f[0],
p = f[1],
h = St(),
m = (0, o.wA)(),
g = (0, o.d4)(k.VH.selectCurrentStore()),
y = (0, o.d4)(k.VH.selectStoreContent()).goldActivated,
v = (0, r.useCallback)(function() {
return m((0, j.A)())
}, [m]),
_ = (0, qe.A)(),
S = n && _ && y,
w = function() {
return l(!0)
};
return (0, r.useEffect)(function() {
var e;
return u ? (s(0), p(0)) : S && (s(n / 1e3), p(100), e = setTimeout(v, n)),
function() {
return clearTimeout(e)
}
}, [n, u, _, v, S]), r.createElement("div", {
className: h.condensedContainer,
onMouseDown: w,
onMouseOver: w,
onMouseLeave: function() {
return l(!1)
}
}, r.createElement("div", {
className: h.storeLogoContainer
}, r.createElement(b.StoreLogo, {
className: h.storeLogo,
size: 48,
overlay: !1,
storeId: g.id,
storeName: g.name
})), r.createElement("div", {
className: h.closeButtonContainer,
onClick: v
}, r.createElement("div", {
className: h.closeButton
}, r.createElement("div", {
className: h.closeButtonIcon,
alt: "close button"
}, "\xd7")), S && r.createElement("div", {
className: h.progressCircle
}, r.createElement(vt.A, {
color: "blue",
progress: d,
timing: a
}))), r.createElement("div", {
className: h.logoAndSettings
}, r.createElement("img", {
alt: "Honey",
src: "".concat("https://cdn.honey.io", "/images/honey-symbol-black.svg"),
className: h.honeyLogo
}), r.createElement("div", {
className: h.condensedSettingsIcon
}, r.createElement(B, {
noClose: !0,
customSize: 24,
customColor: b.Colors.grey900
}))), t)
};
wt.propTypes = {
children: h().node.isRequired,
autoClose: h().number
}, wt.defaultProps = {
autoClose: 4e3
};
const Ot = wt;
const Et = function() {
var e = (0, o.d4)(S.A) || {},
t = e.open,
n = e.scrollToCategoryId,
i = e.showLoader,
a = (0, o.d4)(yt.j_) || [],
p = (0, o.d4)(Me.A),
h = (0, o.d4)(f.A),
m = (0, o.d4)(d.Og.selectIsLoadingStoreOffers()),
g = (0, o.d4)(yt.vi),
y = (0, qe.A)(),
b = (0, Oe.A)(),
_ = (0, r.useRef)(),
O = Je({
containerRef: _
}).top,
E = gt(),
k = E.handleMouseOver,
T = E.handleMouseLeave,
x = ft(),
I = (0, r.useMemo)(function() {
return p && h ? [h] : a
}, [a, h, p]),
P = Se(),
A = P.addTipCategoryRef,
C = P.scrollToCategory,
j = (0, r.useMemo)(function() {
return {
scrollToCategory: C
}
}, [C]);
(0, r.useEffect)(function() {
var e;
return t && n && C && (e = setTimeout(function() {
return C(n)
}, 500)),
function() {
return clearTimeout(e)
}
}, [t, C, n]);
var R = !i && I.map(function(e, t) {
var n = e.id,
o = e.categoryId;
return r.createElement(tt, {
key: n,
tipId: n
}, r.createElement(Te, {
ref: function(e) {
return A(o, e)
},
isLastTip: t === I.length - 1
}, r.createElement(ye, {
sdataAction: ce.go.TIP_CARD_ERROR
}, r.createElement(se.Ay, {
tipId: n,
templateType: "card",
isSecondary: t > 0
}))))
}),
M = r.createElement(l.Header, {
leftContainer: r.createElement(c.default, null),
rightContainer: r.createElement(B, null),
style: x.header
}),
D = !!b && r.createElement(Re, null),
N = (i || !I.length) && r.createElement(at, null),
L = r.createElement(we.A.Provider, {
value: j
}, r.createElement(v, {
ref: _,
top: O,
onMouseOver: k,
onMouseLeave: T
}, r.createElement(Ot, {
autoClose: 4e3
}, R, N))),
F = r.createElement(we.A.Provider, {
value: j
}, r.createElement(v, {
ref: _,
top: O,
onMouseOver: k,
onMouseLeave: T
}, r.createElement(u.default, null, r.createElement(s.UniversalContainerLayout, {
header: M,
footer: D,
styles: x.container
}, r.createElement(w, null), r.createElement(Ge, null), R, N, r.createElement(be, null)))));
if (m) return null;
if (y && g) return L;
var U = F;
return g && (U = L), t ? U : null
};
var kt = n(60592),
Tt = n.n(kt),
xt = n(23525),
It = (0, m.createUseStyles)({
layout: {
position: "fixed",
top: function(e) {
return e.top
},
right: 0,
zIndex: 2147483647,
display: "flex"
}
}),
Pt = function(e) {
var t = e.children,
n = e.top,
o = It({
top: n
});
return r.createElement("div", {
className: o.layout
}, t)
};
Pt.propTypes = {
children: h().node,
top: h().number
}, Pt.defaultProps = {
children: void 0,
top: xt.o
};
const At = Pt;
var Ct = n(73639),
jt = n(6362),
Rt = n(34778),
Mt = n(74428),
Dt = n(99507);
const Nt = function(e) {
var t = _.fc.selectBadgeCtaDisabledCategoriesForCurrentStore(e),
n = (0, Dt.A)(e, t) || {},
r = n.id,
o = n.categoryId,
i = (((0, Rt.A)(r) || {}).badge || {}).notificationText,
a = (0, Mt.A)(r)(e) || {},
s = ("function" == typeof i ? i(a) : i) || null;
return {
text: s,
tipId: s ? r : null,
categoryId: s ? o : null
}
};
var Lt = {
text: h().string
},
Ft = {
"@keyframes fade": {
"0%": {
opacity: 0
},
"100%": {
opacity: 1
}
},
bottomText: {
fontSize: "12px !important",
lineHeight: "12px !important",
composes: "price2",
textAlign: "center",
padding: "8px 2px",
color: b.Colors.white,
animation: "$fade 1s forwards"
}
},
Bt = (0, m.createUseStyles)(Ft),
Ut = function(e) {
var t = e.text,
n = Bt();
return r.createElement("div", {
className: n.bottomText
}, t)
};
Ut.propTypes = Lt, Ut.defaultProps = {
text: null
};
const Gt = Ut;
var $t = (0, m.createUseStyles)({
root: function(e) {
var t = e.hasNotification;
return {
paddingTop: e.isReady && t ? "8px" : "0px",
transition: "paddingTop 500ms cubic-bezier(0.4, 0, 0.2, 1)"
}
}
}),
Ht = function(e) {
var t = e.styleVars,
n = $t(t);
return r.createElement("div", {
className: n.root
}, r.createElement(b.Logo, {
clickable: !1,
color: b.Colors.white,
size: 30,
h: !0
}))
};
Ht.propTypes = {
styleVars: h().shape({
isReady: h().bool,
hasNotification: h().bool
})
}, Ht.defaultProps = {
styleVars: {}
};
const zt = Ht;
function qt(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return Wt(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Wt(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function Wt(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var Vt = (0, m.createUseStyles)({
"@keyframes pulsing": {
"0%": {
transform: "scale(1)"
},
"50%": {
transform: "scale(0.5)"
},
"100%": {
transform: "scale(1)"
}
},
"@keyframes shake": {
"0%": {
transform: "translate(0, 1px)"
},
"10%": {
transform: "translate(0, -2px)"
},
"20%": {
transform: "translate(0, 3px)"
},
"30%": {
transform: "translate(0, -2px)"
},
"40%": {
transform: "translate(0, 1px)"
},
"50%": {
transform: "translate(0, -2px)"
},
"60%": {
transform: "translate(0, 1px)"
},
"70%": {
transform: "translate(0, -1px)"
},
"80%": {
transform: "translate(0, 1px)"
},
"90%": {
transform: "translate(0, -2px)"
},
"100%": {
transform: "translate(0, 2px)"
}
},
root: {
display: "flex",
cursor: "move"
},
teaserAnimateIn: function(e) {
return {
right: "1px",
marginRight: e.animateTeaserIn ? "0" : "-200px",
transition: "margin-right 800ms cubic-bezier(0.4, 0, 0.2, 1)",
textAlign: "left"
}
},
logoAnimation: function(e) {
var t = e.hasNotification;
return {
height: e.isReady && t ? "28px" : "64px",
display: "flex",
justifyContent: "center",
flexDirection: "column",
flexGrow: 1,
transition: "height 500ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms cubic-bezier(0.4, 0, 0.2, 1)",
pointerEvents: "none"
}
},
loadAnimation: function(e) {
var t = e.hasNotification,
n = e.isReady;
return {
height: "164px",
display: "flex",
justifyContent: "center",
alignItems: "center",
animation: n ? "none" : "$pulsing 1s infinite",
transform: n && t ? "scale(66.65%)" : "scale(100%)",
transition: "transform 500ms cubic-bezier(0.4, 0, 0.2, 1)",
pointerEvents: "none"
}
},
shake: function(e) {
var t = e.doNotBump,
n = e.hasBumpAnimation,
r = e.hasNotification;
return {
animation: n && r && !t ? "$shake 0.82s forwards" : "none"
}
}
});
const Yt = function() {
var e = (0, o.wA)(),
t = qt((0, r.useState)(!1), 2),
n = t[0],
i = t[1],
a = qt((0, r.useState)(!1), 2),
s = a[0],
c = a[1],
u = qt((0, r.useState)(), 2),
l = u[0],
f = u[1],
d = qt((0, r.useState)(!1), 2),
p = d[0],
h = d[1],
m = qt((0, r.useState)(!1), 2),
g = m[0],
y = m[1],
v = (0, o.d4)(S.A) || {},
b = v.ready,
_ = v.open,
w = v.hasAutopopped,
O = ((0, o.d4)(Nt) || {}).text;
(0, r.useEffect)(function() {
var e = setTimeout(function() {
return y(!0)
}, 0);
return function() {
clearTimeout(e)
}
}, []), (0, r.useEffect)(function() {
return _ && b || w ? h(!0) : b && !l && f(setTimeout(function() {
return c(!0)
}, 15e3)),
function() {
clearTimeout(l)
}
}, [l, w, b, _]), (0, r.useEffect)(function() {
O && b && e((0, I.f)({
event: "teaser_show",
notification: O
}))
}, [e, b, O]);
var E = (0, r.useCallback)(function() {
n || (i(!0), clearTimeout(l))
}, [n, l]),
k = (0, r.useCallback)(function() {
i(!1)
}, [i]),
T = {
animateTeaserIn: g,
hasBumpAnimation: s,
hasNotification: !!O,
isReady: b,
doNotBump: p
},
x = Vt(T),
P = {
width: n ? "95px" : "68px"
};
return r.createElement("div", {
className: x.shake
}, r.createElement("div", {
className: x.teaserAnimateIn
}, r.createElement("div", {
className: x.root,
onMouseOver: E,
onMouseLeave: k,
style: P
}, r.createElement(Ct.A, null, r.createElement("div", {
className: x.logoAnimation
}, r.createElement("div", {
className: x.loadAnimation
}, r.createElement(zt, {
styleVars: T
}))), b && O && r.createElement(Gt, {
text: O
})), n && r.createElement(jt.A, null))))
};
var Jt = n(7834),
Kt = n(79973),
Qt = n(67004),
Xt = n(42528),
Zt = n(47408),
en = n(66588),
tn = n(81870),
nn = n(19550),
rn = n(32372),
on = n(5735),
an = n(49194),
sn = new Set(["savings-verylow", "savings-low", "savings-medium", "savings-high", "savings-veryhigh"]),
cn = "honeyTips:canAutoPop: ",
un = (0, G.Mz)(function(e) {
return Kt.v_.selectDeviceSetting("autopopsDisabled")(e)
}, function(e) {
return Xt.HL.selectFeatureByName("tips_is_autopop_suppression_respected")(e)
}, function(e, t) {
return e && t
}),
ln = (0, G.Mz)(function(e) {
return un(e)
}, function(e) {
return (0, f.A)(e)
}, function(e) {
return Zt.fq.selectAutoPopCountForCurrentStore(e)
}, function(e, t, n) {
var r = (t || {}).id;
return !e && (!sn.has(r) && !n)
}),
fn = (0, G.Mz)(function(e) {
return Qt.kF.selectIsStandaloneOffer(e)
}, function(e) {
return d.Og.selectCurrentProductOffer(e)
}, function(e, t) {
return !(!e || !t)
}),
dn = (0, G.Mz)(function(e) {
return (0, on.A)(e)
}, function(e) {
return _.fc.selectAutopopDisabledCategoriesForCurrentStore(e)
}, function(e, t) {
return (e || []).filter(function(e) {
var n = e.categoryId;
return !(t || []).includes(n)
}).some(function(e) {
return e.score >= 10
})
}),
pn = (0, G.Mz)(function(e) {
return (0, S.A)(e)
}, function(e) {
return !!(e || {}).open
}),
hn = function(e) {
if (function(e) {
var t = (0, f.A)(e) || {};
if ((0, an.A)(t)) {
var n = Qt.kF.selectVariant(tn.x0)(e);
if (n === tn.ut.CCP_POP_ALL) return !0;
if (n === tn.ut.CCP_POP_ALL_NON_TOP_PICK && "CCP-Non-Top-Pick-Organic" === t.id) return !0
}
return !1
}(e)) return !0;
var t = ((0, f.A)(e) || {}).categoryId,
n = (Jt.A.categories[t] || {}).maxAutopopPerStoreThreshold,
r = void 0 === n ? Number.POSITIVE_INFINITY : n;
return (en.PW(t)(e) || 0) < r
},
mn = (0, G.Mz)(function(e) {
return en.X3()(e)
}, function(e) {
return e < 1
}),
gn = (0, G.Mz)(function(e) {
return fn(e)
}, function(e) {
return pn(e)
}, function(e) {
return dn(e)
}, function(e) {
return hn(e)
}, function(e) {
return function(e) {
if (!(0, R.fN)(e)) return !1;
var t = (0, f.A)(e) || {},
n = t.categoryId,
r = t.maxAutopopOverrideThreshhold;
return en.tM(n)(e) < r
}(e)
}, function(e) {
return mn(e)
}, function(e) {
return k.VH.selectCurrentStore()(e)
}, function(e) {
return nn.IE.selectIsCurrentProductTopPickInCluster(e)
}, function(e) {
return Qt.kF.selectIsPriceComparisonVariant(e)
}, function(e, t, n, r, o, a, s, c, u) {
var l = -1 !== rn.Ay.AMAZON_STORES.indexOf(s.id);
return !u || c || l ? e ? (i.A.debug("".concat(cn, "don't show autopop because standalone offer autopop is open")), !1) : t ? (i.A.debug("".concat(cn, "don't show autopop because container already open")), !1) : n ? r ? o ? (i.A.debug("".concat(cn, "show autopop because allow by tip configuration")), !0) : a ? (i.A.debug("".concat(cn, "show autopop")), !0) : (i.A.debug("".concat(cn, "don't show autopop because above max autopop per product threshold")), !1) : (i.A.debug("".concat(cn, "don't show autopop because above max autopop threshold for store and tip category")), !1) : (i.A.debug("".concat(cn, "don't show autopop because no tips have min autopop score")), !1) : (i.A.debug("".concat(cn, "don't show autopop because price comparison experiment variant no_conquest")), !1)
}),
yn = (0, G.Mz)(function(e) {
return (0, S.A)(e)
}, function(e) {
return a.im.selectIsCurrentPageLaunchpad()(e)
}, function(e) {
return He.n2.selectHasPreOpened(e)
}, function(e) {
return e
}, function(e, t, n, r) {
var o = e || {},
a = o.ready,
s = o.hasClosed;
return a ? s ? (i.A.debug("".concat(cn, "don't show autopop because container was closed")), !1) : !n && (t ? ln(r) : gn(r)) : (i.A.debug("".concat(cn, "don't show autopop because container isn't ready")), !1)
});
const vn = yn;
var bn = n(74438),
_n = n(97690);
function Sn() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return wn(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (wn(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, wn(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, wn(f, "constructor", u), wn(u, "constructor", c), c.displayName = "GeneratorFunction", wn(u, o, "GeneratorFunction"), wn(f), wn(f, o, "Generator"), wn(f, r, function() {
return this
}), wn(f, "toString", function() {
return "[object Generator]"
}), (Sn = function() {
return {
w: i,
m: d
}
})()
}
function wn(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
wn = function(e, t, n, r) {
function i(t, n) {
wn(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, wn(e, t, n, r)
}
function On(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
var En = function(e, t) {
var n = (0, S.A)(t()).id;
return e(_.Qq.openContainer({
containerId: n,
isAutopop: !0
}))
},
kn = function(e) {
return function(t, n) {
var r = (0, S.A)(n()).id;
t(_.Qq.updateShowTopTipOnly({
containerId: r,
showTopTipOnly: e
}))
}
};
const Tn = (0, bn.zD)("tips/initContainer", function() {
var e, t = (e = Sn().m(function e(t, n) {
var r, o, i;
return Sn().w(function(e) {
for (;;)
if (0 === e.n) return r = n.dispatch, o = n.getState, (i = a.im.selectIsCurrentPageLaunchpad()(o())) || r(kn(!0)), r(En), r((0, I.f)({
event: "implicit_hover"
})), e.a(2, r(i ? Zt.E4.incrementAutoPopCount() : (0, _n.A)()))
}, e)
}), function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
On(i, r, o, a, s, "next", e)
}
function s(e) {
On(i, r, o, a, s, "throw", e)
}
a(void 0)
})
});
return function(e, n) {
return t.apply(this, arguments)
}
}());
var xn = n(24166);
const In = function() {
var e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).scrollToCategoryId;
return function(t, n) {
if (xn.A._visible) i.A.debug("honeyTips:openCurrentContainer: Not opening container because UI already visible.");
else {
var r = (0, S.A)(n()) || {},
o = r.id;
r.open || t(_.Qq.openContainer({
containerId: o,
scrollToCategoryId: e
}))
}
}
};
var Pn = n(94576),
An = n.n(Pn),
Cn = n(34819);
function jn(e) {
return jn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, jn(e)
}
function Rn() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Mn(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Mn(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Mn(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Mn(f, "constructor", u), Mn(u, "constructor", c), c.displayName = "GeneratorFunction", Mn(u, o, "GeneratorFunction"), Mn(f), Mn(f, o, "Generator"), Mn(f, r, function() {
return this
}), Mn(f, "toString", function() {
return "[object Generator]"
}), (Rn = function() {
return {
w: i,
m: d
}
})()
}
function Mn(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Mn = function(e, t, n, r) {
function i(t, n) {
Mn(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Mn(e, t, n, r)
}
function Dn(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 Nn(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? Dn(Object(n), !0).forEach(function(t) {
Ln(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Dn(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function Ln(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != jn(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != jn(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == jn(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function Fn(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Bn = function(e) {
var t = e.top,
n = e.sendSdata,
r = void 0 !== n && n;
return function() {
var e, n = (e = Rn().m(function e(n, o) {
var i, a, s, c;
return Rn().w(function(e) {
for (;;) switch (e.n) {
case 0:
return r && (i = (0, ze.A)(o()), a = Nn(Nn({}, i), {}, {
top: t
}), n((0, I.f)({
event: "action",
action: "move",
badgeLocationNew: a
}))), s = k.VH.selectCurrentStoreId()(o()), c = (0, Cn.w)(s) ? ce.xw.MOVABLE_BADGE_SETTINGS_BY_STORE : ce.xw.MOVABLE_BADGE_SETTINGS, e.n = 1, n(Kt.A0.updateDeviceSetting({
key: c,
value: {
orientation: "topRight",
top: t
}
}));
case 1:
return e.a(2, n(Kt.A0.loadDeviceSettings()))
}
}, e)
}), function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Fn(i, r, o, a, s, "next", e)
}
function s(e) {
Fn(i, r, o, a, s, "throw", e)
}
a(void 0)
})
});
return function(e, t) {
return n.apply(this, arguments)
}
}()
};
function Un(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return Gn(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Gn(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function Gn(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var $n = function(e, t) {
return {
top: -Math.max(0, e - 150),
bottom: Math.max(0, window.innerHeight - e - t - 15)
}
},
Hn = function(e, t) {
return e + t > window.innerHeight - 15 || e < 0
};
const zn = function(e) {
var t, n = e.badgeRef,
i = e.openContainer,
a = (0, o.wA)(),
s = Un((0, r.useState)(!1), 2),
c = s[0],
u = s[1],
l = Un((0, r.useState)({}), 2),
f = l[0],
d = l[1],
p = Un((0, r.useState)(null), 2),
h = p[0],
m = p[1],
g = Un((0, r.useState)(), 2),
y = g[0],
v = g[1],
b = Un((0, r.useState)(!0), 2),
_ = b[0],
S = b[1],
w = (t = n) && t.current && t.current.offsetHeight || ce.qS,
O = ((0, o.d4)(ze.A) || {}).top,
E = void 0 === O ? ce.oU : O,
k = (0, r.useCallback)(function() {
var e = function(e) {
return window.innerHeight - 15 - e
}(w);
a(Bn({
top: e
})), m(e), d($n(e, w)), v({
x: 0,
y: 0
}), setTimeout(function() {
return v(void 0)
}, 0)
}, [w, a]),
T = (0, r.useCallback)(function() {
Hn(E, w) ? k() : d($n(h, w))
}, [w, E, h, k]);
(0, r.useEffect)(function() {
"number" != typeof h && "number" == typeof E && (m(E), d($n(E, w)), Hn(E, w) && k())
}, [w, n, E, h, k]), (0, r.useEffect)(function() {
var e = An()(T, 100);
return window.addEventListener("resize", e),
function() {
window.removeEventListener("resize", e)
}
}, [T]), (0, r.useEffect)(function() {
a(He.e5.badgeHeightUpdated(w))
}, [w, a]), (0, r.useEffect)(function() {
_ && Hn(E, w) && a(Bn({
top: ce.oU
})), S(!1)
}, [w, E, a, _]);
var x = (0, r.useCallback)(function() {
v(void 0), a((0, j.A)({
resetTipsShown: !1
})), u(!0)
}, [a]),
I = (0, r.useCallback)(function(e, t) {
var n = t.y;
u(!1);
var r = h + n,
o = r !== E;
o || i(), a(Bn({
top: r,
sendSdata: o
}))
}, [E, a, h, i]);
return {
isDragging: c,
initialBadgeTop: h,
badgeBounds: f,
badgePosition: y,
handleDragStart: x,
handleDragEnd: I
}
};
const qn = function(e) {
e((0, I.f)({
event: "show"
}))
};
const Wn = function(e) {
return function(t, n) {
var r = (0, S.A)(n()).id;
t(_.Qq.setBadgeHoverState({
containerId: r,
isHovering: e
})), e && t((0, I.f)({
event: "action",
action: "hover"
}))
}
};
function Vn(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return Yn(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Yn(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function Yn(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
const Jn = function() {
var e = (0, o.wA)(),
t = (0, r.useRef)(),
n = Vn((0, r.useState)(!1), 2),
i = n[0],
a = n[1],
s = Vn((0, r.useState)(null), 2),
c = s[0],
u = s[1],
l = Vn((0, r.useState)(!1), 2),
f = l[0],
d = l[1],
p = ((0, o.d4)(Nt) || {}).categoryId;
(0, r.useEffect)(function() {
e(qn)
}, [e]);
var h = (0, r.useCallback)(function() {
var t = null;
p && !f && (d(!0), t = p), e(In({
scrollToCategoryId: t
}))
}, [e, f, p]),
m = zn({
badgeRef: t,
openContainer: h
}),
g = m.isDragging,
y = m.initialBadgeTop,
v = m.badgeBounds,
b = m.badgePosition,
S = m.handleDragStart,
w = m.handleDragEnd,
O = (0, o.d4)(_.fc.selectRecentlyClosedContainer()) || !1,
E = (0, r.useCallback)(function() {
i || (a(!0), g || O || e(Wn(!0)))
}, [e, g, i, O]);
(0, r.useEffect)(function() {
!i || g || c || u(setTimeout(function() {
h()
}, 1e3)), g && c && (clearTimeout(c), u(null))
}, [g, i, h, c]);
var k = (0, r.useCallback)(function() {
clearTimeout(c), u(null), a(!1), e(Wn(!1)), e(pt(2e3))
}, [e, c]),
T = (0, o.d4)(vn);
return (0, r.useEffect)(function() {
T && e(Tn())
}, [e, T]), r.createElement(At, {
top: y
}, r.createElement(Tt(), {
onStart: S,
onStop: w,
bounds: v,
axis: "y",
position: b
}, r.createElement("div", {
ref: t,
onMouseOver: E,
onMouseLeave: k,
onTouchEndCapture: h
}, r.createElement(Yt, null))))
};
var Kn = (0, m.createUseStyles)({
resetCss: {
textTransform: "none",
lineHeight: "normal",
fontWeight: "normal",
color: b.Colors.grey900
}
}),
Qn = function(e) {
var t = e.children,
n = Kn();
return r.createElement("div", {
className: n.resetCss
}, t)
};
Qn.propTypes = {
children: h().node
}, Qn.defaultProps = {
children: void 0
};
const Xn = Qn;
var Zn = new Set(["StoreSavings", "MerchantPromotions"]),
er = (0, G.Mz)(function(e) {
return (0, on.A)(e)
}, function(e) {
return (e || []).map(function(e) {
return e.categoryId
}).some(function(e) {
return Zn.has(e)
})
});
const tr = er;
var nr = n(96532);
function rr(e) {
return function(e) {
if (Array.isArray(e)) return or(e)
}(e) || function(e) {
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}(e) || function(e, t) {
if (e) {
if ("string" == typeof e) return or(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? or(e, t) : void 0
}
}(e) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function or(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
const ir = function() {
var e = (0, r.useCallback)(a.im.selectIsCurrentPageLaunchpad(), []),
t = (0, o.d4)(e),
n = (0, o.d4)(tr),
s = (0, o.d4)(a.im.selectHasTipsTimedOut);
return t && !n ? (i.A.debug("honeyTips:container: No valid tip categories for launchpad (".concat(rr(Zn).join(", "), ") found. Not showing badge or container")), null) : s ? (i.A.debug("honeyTips:container: Tips timed out after ".concat(nr.x, "ms. Not showing badge or container")), null) : r.createElement(ye, {
sdataAction: ce.go.BADGE_INJECTION_ERROR
}, r.createElement(Xn, null, r.createElement("slot", null, r.createElement(Jn, null), r.createElement(Et, null))))
};
var ar = n(99459),
sr = n(60191),
cr = n(22182),
ur = n(70364),
lr = n.n(ur),
fr = n(35477),
dr = n(1152),
pr = n(6120);
function hr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return mr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (mr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, mr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, mr(f, "constructor", u), mr(u, "constructor", c), c.displayName = "GeneratorFunction", mr(u, o, "GeneratorFunction"), mr(f), mr(f, o, "Generator"), mr(f, r, function() {
return this
}), mr(f, "toString", function() {
return "[object Generator]"
}), (hr = function() {
return {
w: i,
m: d
}
})()
}
function mr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
mr = function(e, t, n, r) {
function i(t, n) {
mr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, mr(e, t, n, r)
}
function gr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function yr(e, t) {
var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (!n) {
if (Array.isArray(e) || (n = function(e, t) {
if (e) {
if ("string" == typeof e) return vr(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? vr(e, t) : void 0
}
}(e)) || t && e && "number" == typeof e.length) {
n && (e = n);
var r = 0,
o = function() {};
return {
s: o,
n: function() {
return r >= e.length ? {
done: !0
} : {
done: !1,
value: e[r++]
}
},
e: function(e) {
throw e
},
f: o
}
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}
var i, a = !0,
s = !1;
return {
s: function() {
n = n.call(e)
},
n: function() {
var e = n.next();
return a = e.done, e
},
e: function(e) {
s = !0, i = e
},
f: function() {
try {
a || null == n.return || n.return()
} finally {
if (s) throw i
}
}
}
}
function vr(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var br = "z-index: 2147483647 !important; display:block !important;",
_r = function(e) {
var t = new MutationObserver(function(n) {
var r, o = yr(n);
try {
for (o.s(); !(r = o.n()).done;) {
var i = r.value;
"attributes" === i.type && "style" === i.attributeName && (t.disconnect(), e.style = br)
}
} catch (e) {
o.e(e)
} finally {
o.f()
}
});
return t.observe(e, {
attributes: !0,
attributeFilter: ["style"]
}), t
},
Sr = function(e) {
var t = lr()();
e.setAttribute("id", t), i.A.debug("honeyTips:mountApp: Setting id = '".concat(t, "' on root element"))
},
wr = function(e, t, n, r, o) {
var i = new MutationObserver(function(a) {
var s, c = yr(a);
try {
for (c.s(); !(s = c.n()).done;) {
var u = s.value;
if (e && u.removedNodes.length) {
var l, f = yr(u.removedNodes);
try {
for (f.s(); !(l = f.n()).done;) {
if (l.value.contains(t)) {
if (i.disconnect(), r(), o > 4) return;
Or(n, o + 1)
}
}
} catch (e) {
f.e(e)
} finally {
f.f()
}
}
}
} catch (e) {
c.e(e)
} finally {
c.f()
}
});
return e && i.observe(e, {
childList: !0,
characterData: !0
}), i
},
Or = function() {
var e, t = (e = hr().m(function e(t) {
var n, i, a, s, c, u, l, f, d, p, h, g, y = arguments;
return hr().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = y.length > 1 && void 0 !== y[1] ? y[1] : 0, i = ce.KA.includes(window.location.host), a = (0, cr.A)(), s = a.plugins, c = document.createElement("div"), Sr(c), document.body.appendChild(c), u = _r(c), l = "closed", e.n = 1, (0, fr.Ay)(c, null, {
mode: l,
dontInjectFonts: !0
});
case 1:
return f = e.v, d = new sr.SN, (p = (0, sr.vt)()).setup({
plugins: s,
insertionPoint: f.getElementById("honey")
}), i ? f.getElementById("honey").style = br : c.style = br, h = r.createElement(o.Kq, {
store: pr.A
}, r.createElement(m.JssProvider, {
registry: d,
jss: p
}, r.createElement(dr.Kq, {
value: {
shadowContainer: c
}
}, t))), e.n = 2, (0, fr.Ay)(c, h, {
mode: l,
dontInjectFonts: !0,
feature: "honey-tips-new",
surface: "badge"
});
case 2:
return g = function() {
u.disconnect(), (0, ar.unmountComponentAtNode)(f)
}, wr(document.body, c, t, g, n), e.a(2, {
container: f,
unmountApp: g
})
}
}, e)
}), function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
gr(i, r, o, a, s, "next", e)
}
function s(e) {
gr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
});
return function(e) {
return t.apply(this, arguments)
}
}();
const Er = Or;
function kr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Tr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Tr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Tr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Tr(f, "constructor", u), Tr(u, "constructor", c), c.displayName = "GeneratorFunction", Tr(u, o, "GeneratorFunction"), Tr(f), Tr(f, o, "Generator"), Tr(f, r, function() {
return this
}), Tr(f, "toString", function() {
return "[object Generator]"
}), (kr = function() {
return {
w: i,
m: d
}
})()
}
function Tr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Tr = function(e, t, n, r) {
function i(t, n) {
Tr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Tr(e, t, n, r)
}
function xr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function Ir(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
xr(i, r, o, a, s, "next", e)
}
function s(e) {
xr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var Pr, Ar = !1,
Cr = function() {
var e = Ir(kr().m(function e() {
var t, n, o;
return kr().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (Pr || Ar) {
e.n = 2;
break
}
return Ar = !0, e.n = 1, Er(r.createElement(ir, null));
case 1:
t = e.v, n = t.container, o = t.unmountApp, Pr = {
container: n,
unmountApp: o
}, Ar = !1;
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(),
jr = function() {
return !!Pr
},
Rr = function() {
var e = Ir(kr().m(function e() {
return kr().w(function(e) {
for (;;) switch (e.n) {
case 0:
Pr && Pr.unmountApp(), Pr = null;
case 1:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}()
},
21733: (e, t, n) => {
"use strict";
n.d(t, {
A: () => S
});
var r = n(32969),
o = n(6120),
i = n(69969),
a = n(61117),
s = n(61565),
c = n(25094),
u = n(323),
l = n(3659),
f = n(32372),
d = n(85201);
function p(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return h(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? h(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function h(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function m() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return g(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (g(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, g(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, g(f, "constructor", u), g(u, "constructor", c), c.displayName = "GeneratorFunction", g(u, o, "GeneratorFunction"), g(f), g(f, o, "Generator"), g(f, r, function() {
return this
}), g(f, "toString", function() {
return "[object Generator]"
}), (m = function() {
return {
w: i,
m: d
}
})()
}
function g(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
g = function(e, t, n, r) {
function i(t, n) {
g(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, g(e, t, n, r)
}
function y(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function v(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
y(i, r, o, a, s, "next", e)
}
function s(e) {
y(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
function b() {
return _.apply(this, arguments)
}
function _() {
return (_ = v(m().m(function e() {
var t, n, r, h, g, y, v, b, _, S, w, O, E, k, T, x;
return m().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Promise.all([s.A.getCurrent(), c.A.getInfo(), a.A.getVariant(l.Q3), a.A.getVariant(l.$f), u.A.getFeatureFlag(d.bh), u.A.getFeatureFlag(d.iA)]);
case 1:
if (t = e.v, n = p(t, 6), r = n[0], h = n[1], g = n[2], y = n[3], v = n[4], b = n[5], _ = h.isLoggedIn, S = y === f.sl.LO_VARIANT, r.id) {
e.n = 2;
break
}
return e.a(2, {});
case 2:
if (S || _) {
e.n = 3;
break
}
return e.a(2, {});
case 3:
if (O = !1, (w = !1) || O) {
e.n = 4;
break
}
if ("control" !== g) {
e.n = 4;
break
}
return e.a(2, {});
case 4:
if (!(w && !v || O && !b)) {
e.n = 5;
break
}
return e.a(2, {});
case 5:
return e.n = 6, c.A.getSettings();
case 6:
if (E = e.v, !h.isLoggedIn || 1 !== (null == E ? void 0 : E.postPurchaseAdsOptOut)) {
e.n = 7;
break
}
return e.a(2, {});
case 7:
return e.n = 8, Promise.all([o.A.dispatch(i.Zw.fetchRoktOffers({
store: r,
userAgent: navigator.userAgent,
isLoggedIn: _
})), o.A.dispatch(i.Zw.fetchUserFirstName())]);
case 8:
if (k = e.v, T = p(k, 1), (x = T[0]).payload) {
e.n = 9;
break
}
throw new Error("No offer found or temporarily rate limited");
case 9:
return e.a(2, {
isStoreEligibleForRoktOffers: x.payload.isStoreEligibleForRoktOffers
})
}
}, e)
}))).apply(this, arguments)
}
r.A.addListener("pageDetected:PAYMENTS", v(m().m(function e() {
return m().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, b();
case 1:
return e.a(2)
}
}, e)
}))), r.A.addListener("tabs:activated", function() {
var e = v(m().m(function e(t, n) {
var o;
return m().w(function(e) {
for (;;) switch (e.n) {
case 0:
o = n && n.tabId, r.A.send("rokt:tabs:activated", {
tabId: o
});
case 1:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}());
const S = {
checkEligiblityAndFetchRoktOffers: b
}
},
22626: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.default = void 0;
var r, o = (r = n(29677)) && r.__esModule ? r : {
default: r
};
t.default = o.default
},
23649: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
Qq: () => l,
fc: () => i.A
});
var r = n(83787),
o = n(60834),
i = n(59843);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
27102: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
});
var r = {
atoms: !0,
CardLoader: !0,
hooks: !0,
LoaderGroup: !0,
ContainerLoader: !0,
molecules: !0,
organisms: !0,
templates: !0,
UniversalContainer: !0,
UniversalContainerLayout: !0,
CardHeader: !0,
Card: !0,
Collapse: !0
};
Object.defineProperty(t, "Card", {
enumerable: !0,
get: function() {
return m.default
}
}), Object.defineProperty(t, "CardHeader", {
enumerable: !0,
get: function() {
return h.default
}
}), Object.defineProperty(t, "CardLoader", {
enumerable: !0,
get: function() {
return i.default
}
}), Object.defineProperty(t, "Collapse", {
enumerable: !0,
get: function() {
return g.default
}
}), Object.defineProperty(t, "ContainerLoader", {
enumerable: !0,
get: function() {
return c.default
}
}), Object.defineProperty(t, "LoaderGroup", {
enumerable: !0,
get: function() {
return s.default
}
}), Object.defineProperty(t, "UniversalContainer", {
enumerable: !0,
get: function() {
return d.default
}
}), Object.defineProperty(t, "UniversalContainerLayout", {
enumerable: !0,
get: function() {
return p.default
}
}), Object.defineProperty(t, "atoms", {
enumerable: !0,
get: function() {
return o.default
}
}), Object.defineProperty(t, "hooks", {
enumerable: !0,
get: function() {
return a.default
}
}), Object.defineProperty(t, "molecules", {
enumerable: !0,
get: function() {
return u.default
}
}), Object.defineProperty(t, "organisms", {
enumerable: !0,
get: function() {
return l.default
}
}), Object.defineProperty(t, "templates", {
enumerable: !0,
get: function() {
return f.default
}
});
var o = v(n(35483)),
i = v(n(38757)),
a = v(n(30553)),
s = v(n(8255)),
c = v(n(97011)),
u = v(n(17940)),
l = v(n(42396)),
f = v(n(92870)),
d = v(n(22626)),
p = v(n(7992)),
h = function(e, t) {
if (!t && e && e.__esModule) return e;
if (null === e || "object" != typeof e && "function" != typeof e) return {
default: e
};
var n = y(t);
if (n && n.has(e)) return n.get(e);
var r = {
__proto__: null
},
o = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var i in e)
if ("default" !== i && Object.prototype.hasOwnProperty.call(e, i)) {
var a = o ? Object.getOwnPropertyDescriptor(e, i) : null;
a && (a.get || a.set) ? Object.defineProperty(r, i, a) : r[i] = e[i]
} return r.default = e, n && n.set(e, r), r
}(n(29959));
Object.keys(h).forEach(function(e) {
"default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === h[e] || Object.defineProperty(t, e, {
enumerable: !0,
get: function() {
return h[e]
}
}))
});
var m = v(n(53030)),
g = v(n(5535));
function y(e) {
if ("function" != typeof WeakMap) return null;
var t = new WeakMap,
n = new WeakMap;
return (y = function(e) {
return e ? n : t
})(e)
}
function v(e) {
return e && e.__esModule ? e : {
default: e
}
}
},
28966: e => {
"use strict";
var t, n, r, o = {
'"': '"',
"\\": "\\",
"/": "/",
b: "\b",
f: "\f",
n: "\n",
r: "\r",
t: "\t"
};
function i(e) {
throw {
name: "SyntaxError",
message: e,
at: t,
text: r
}
}
function a(e) {
return e && e !== n && i("Expected '" + e + "' instead of '" + n + "'"), n = r.charAt(t), t += 1, n
}
function s() {
var e, t = "";
for ("-" === n && (t = "-", a("-")); n >= "0" && n <= "9";) t += n, a();
if ("." === n)
for (t += "."; a() && n >= "0" && n <= "9";) t += n;
if ("e" === n || "E" === n)
for (t += n, a(), "-" !== n && "+" !== n || (t += n, a()); n >= "0" && n <= "9";) t += n, a();
return e = Number(t), isFinite(e) || i("Bad number"), e
}
function c() {
var e, t, r, s = "";
if ('"' === n)
for (; a();) {
if ('"' === n) return a(), s;
if ("\\" === n)
if (a(), "u" === n) {
for (r = 0, t = 0; t < 4 && (e = parseInt(a(), 16), isFinite(e)); t += 1) r = 16 * r + e;
s += String.fromCharCode(r)
} else {
if ("string" != typeof o[n]) break;
s += o[n]
}
else s += n
}
i("Bad string")
}
function u() {
for (; n && n <= " ";) a()
}
function l() {
switch (u(), n) {
case "{":
return function() {
var e, t = {};
if ("{" === n) {
if (a("{"), u(), "}" === n) return a("}"), t;
for (; n;) {
if (e = c(), u(), a(":"), Object.prototype.hasOwnProperty.call(t, e) && i('Duplicate key "' + e + '"'), t[e] = l(), u(), "}" === n) return a("}"), t;
a(","), u()
}
}
i("Bad object")
}();
case "[":
return function() {
var e = [];
if ("[" === n) {
if (a("["), u(), "]" === n) return a("]"), e;
for (; n;) {
if (e.push(l()), u(), "]" === n) return a("]"), e;
a(","), u()
}
}
i("Bad array")
}();
case '"':
return c();
case "-":
return s();
default:
return n >= "0" && n <= "9" ? s() : function() {
switch (n) {
case "t":
return a("t"), a("r"), a("u"), a("e"), !0;
case "f":
return a("f"), a("a"), a("l"), a("s"), a("e"), !1;
case "n":
return a("n"), a("u"), a("l"), a("l"), null;
default:
i("Unexpected '" + n + "'")
}
}()
}
}
e.exports = function(e, o) {
var a;
return r = e, t = 0, n = " ", a = l(), u(), n && i("Syntax error"), "function" == typeof o ? function e(t, n) {
var r, i, a = t[n];
if (a && "object" == typeof a)
for (r in l) Object.prototype.hasOwnProperty.call(a, r) && (void 0 === (i = e(a, r)) ? delete a[r] : a[r] = i);
return o.call(t, n, a)
}({
"": a
}, "") : a
}
},
28992: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
Og: () => i.A,
Ru: () => l
});
var r = n(18850),
o = n(20987),
i = n(6590);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
29123: (e, t, n) => {
"use strict";
var r = ("undefined" != typeof JSON ? JSON : n(55657)).stringify,
o = n(3700),
i = n(3595),
a = n(51769),
s = n(33862),
c = s("Array.prototype.join"),
u = s("Array.prototype.indexOf"),
l = s("Array.prototype.splice"),
f = s("Array.prototype.sort"),
d = function(e, t) {
for (var n = "", r = 0; r < e; r += 1) n += t;
return n
},
p = function(e, t, n) {
return n
};
e.exports = function(e) {
var t = arguments.length > 1 ? arguments[1] : void 0,
n = t && t.space || "";
"number" == typeof n && (n = d(n, " "));
var s = !!t && "boolean" == typeof t.cycles && t.cycles,
h = t && t.replacer ? a(t.replacer) : p;
if (t && void 0 !== t.collapseEmpty && "boolean" != typeof t.collapseEmpty) throw new TypeError("`collapseEmpty` must be a boolean, if provided");
var m = !!t && t.collapseEmpty,
g = "function" == typeof t ? t : t && t.cmp,
y = g && function(e) {
var t = g.length > 2 && function(t) {
return e[t]
};
return function(n, r) {
return g({
key: n,
value: e[n]
}, {
key: r,
value: e[r]
}, t ? {
__proto__: null,
get: t
} : void 0)
}
},
v = [];
return function e(t, a, p, g) {
var b = n ? "\n" + d(g, n) : "",
_ = n ? ": " : ":";
if (p && p.toJSON && "function" == typeof p.toJSON && (p = p.toJSON()), void 0 !== (p = h(t, a, p))) {
if ("object" != typeof p || null === p) return r(p);
var S = function(e, t) {
return m && 0 === e.length ? t : ("[]" === t ? "[" : "{") + c(e, ",") + b + ("[]" === t ? "]" : "}")
};
if (o(p)) {
for (var w = [], O = 0; O < p.length; O++) {
var E = e(p, O, p[O], g + 1) || r(null);
w[w.length] = b + n + E
}
return S(w, "[]")
}
if (-1 !== u(v, p)) {
if (s) return r("__cycle__");
throw new TypeError("Converting circular structure to JSON")
}
v[v.length] = p;
var k = f(i(p), y && y(p));
for (w = [], O = 0; O < k.length; O++) {
var T = e(p, a = k[O], p[a], g + 1);
if (T) {
var x = r(a) + _ + T;
w[w.length] = b + n + x
}
}
return l(v, u(v, p), 1), S(w, "{}")
}
}({
"": e
}, "", e, 0)
}
},
29926: (e, t, n) => {
"use strict";
n.d(t, {
A: () => r
});
const r = {
selectOffers: function() {
return function(e) {
return (e && e.roktOffers).offers
}
},
selectFirstName: function() {
return function(e) {
var t;
return null == e || null === (t = e.roktOffers) || void 0 === t ? void 0 : t.firstName
}
}
}
},
31234: (e, t, n) => {
"use strict";
n.d(t, {
I: () => r,
l: () => o
});
var r = "honeyTips:suppression:all:loggedOut:expirationDate",
o = "honeyTips:suppression:all:expirationDate"
},
31311: (e, t, n) => {
"use strict";
n.d(t, {
A: () => i
});
var r = n(2317),
o = n(36927);
const i = (0, r.Mz)(function(e) {
return (0, o.A)(e)
}, function(e) {
return !!(e || {}).showTopTipOnly
})
},
32451: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
fS: () => l,
o2: () => i.A
});
var r = n(35501),
o = n(99488),
i = n(8741);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
33118: (e, t, n) => {
"use strict";
n.d(t, {
F: () => l
});
var r = n(9921),
o = n(46946),
i = n(25836);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = function(e) {
return function(t, n) {
var a = c(c({}, (0, i.A)(n())), e);
o.A.sendEvent("tip004035", a), r.A.debug("TIPS_CONTAINER:".concat(a.event), a)
}
}
},
33731: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.default = void 0;
var r = c(n(9666)),
o = c(n(86146)),
i = n(22662),
a = c(n(62924)),
s = n(72097);
function c(e) {
return e && e.__esModule ? e : {
default: e
}
}
const u = {
backButtonCopy: o.default.string,
closeButtonCopy: o.default.string.isRequired,
handleBackClick: o.default.func,
onClose: o.default.func.isRequired,
title: o.default.string.isRequired
},
l = {
header: {
display: "flex",
justifyContent: "space-between",
alignItems: "center",
position: "sticky",
padding: "16px",
boxShadow: "0px 1px 2px rgba(0, 0, 0, 0.1)"
},
headerAction: {
composes: "body2",
color: s.Colors.grey800,
cursor: "pointer",
"&:focus": {
outline: "unset"
}
},
headerTitle: {
composes: "title1",
position: "absolute",
width: "calc(100% - 104px)",
margin: "0 36px",
textAlign: "center",
whiteSpace: "nowrap",
overflow: "hidden",
textOverflow: "ellipsis"
},
hidden: {
visibility: "hidden"
}
},
f = (0, i.createUseStyles)(l),
d = ({
backButtonCopy: e,
closeButtonCopy: t,
handleBackClick: n,
onClose: o,
title: i
}) => {
const s = f();
return r.default.createElement("div", {
className: s.header
}, r.default.createElement("div", {
id: "BottomSheetHeaderBackButton",
className: (0, a.default)(s.headerAction, {
[s.hidden]: !e
}),
onClick: n,
onKeyPress: n,
role: "button",
tabIndex: 0
}, e), r.default.createElement("div", {
className: s.headerTitle
}, i), r.default.createElement("div", {
id: "BottomSheetHeaderCloseButton",
className: s.headerAction,
onClick: o,
onKeyPress: o,
role: "button",
tabIndex: 0
}, t))
};
d.propTypes = u, d.defaultProps = {
backButtonCopy: "",
handleBackClick: () => {}
};
t.default = d
},
34570: (e, t, n) => {
"use strict";
n.d(t, {
A: () => u
});
var r = n(2317),
o = n(79973),
i = n(70481),
a = n(46529),
s = n(34819),
c = {
orientation: "topRight",
top: a.oU
};
const u = (0, r.Mz)(function(e) {
return o.v_.selectDeviceSetting(a.xw.MOVABLE_BADGE_SETTINGS)(e)
}, function(e) {
return o.v_.selectDeviceSetting(a.xw.MOVABLE_BADGE_SETTINGS_BY_STORE)(e)
}, function(e) {
return i.VH.selectCurrentStoreId()(e)
}, function(e, t, n) {
return (0, s.w)(n) ? (t || {})[n] || (0, s.b)(n) : e || c
})
},
34819: (e, t, n) => {
"use strict";
n.d(t, {
b: () => o,
w: () => i
});
var r = {
1: {
orientation: "topRight",
top: 160
}
},
o = function(e) {
return r[e]
},
i = function(e) {
return !!o(e)
}
},
35251: e => {
"use strict";
var t = Object.prototype.toString;
e.exports = function(e) {
var n = t.call(e),
r = "[object Arguments]" === n;
return r || (r = "[object Array]" !== n && null !== e && "object" == typeof e && "number" == typeof e.length && e.length >= 0 && "[object Function]" === t.call(e.callee)), r
}
},
35304: (e, t, n) => {
"use strict";
n.d(t, {
A: () => s
});
var r = n(43189),
o = {
helpful: !0,
not_relevant: !0,
something_wrong: !0,
not_helpful: !0
},
i = {
helpful: !0,
not_relevant: !0,
price_wrong: !0,
something_else_wrong: !0,
not_helpful: !0
},
a = {
price_wrong: !0,
something_else_wrong: !0,
not_helpful: !0
};
const s = function(e, t) {
return e ? r.Wv.filter(function(e) {
return o[e.id]
}) : t ? r.Wv.filter(function(e) {
return a[e.id]
}) : r.Wv.filter(function(e) {
return i[e.id]
})
}
},
35477: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => C,
MR: () => P,
jG: () => T
});
var r = n(9666),
o = n(99459),
i = n(60191),
a = n(22662),
s = n(22182),
c = n(69698),
u = n.n(c),
l = n(86531),
f = n.n(l),
d = n(7837),
p = n(24166);
function h(e) {
return h = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, h(e)
}
function m() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return g(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (g(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, g(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, g(f, "constructor", u), g(u, "constructor", c), c.displayName = "GeneratorFunction", g(u, o, "GeneratorFunction"), g(f), g(f, o, "Generator"), g(f, r, function() {
return this
}), g(f, "toString", function() {
return "[object Generator]"
}), (m = function() {
return {
w: i,
m: d
}
})()
}
function g(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
g = function(e, t, n, r) {
function i(t, n) {
g(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, g(e, t, n, r)
}
function y(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 v(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? y(Object(n), !0).forEach(function(t) {
b(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : y(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function b(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != h(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != h(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == h(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function _(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function S(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
_(i, r, o, a, s, "next", e)
}
function s(e) {
_(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var w = (0, s.A)().plugins,
O = "_honeyShadowRoot",
E = {
containerId: "honey",
mode: "open",
fallbackToNonShadow: !0,
dontInjectFonts: !1
};
function k() {
u()("head").append(""))
}
function T(e) {
return e && (e.shadowRoot || u()(e).data(O))
}
function x(e, t) {
return I.apply(this, arguments)
}
function I() {
return I = S(m().m(function e(t, n) {
var i, a, s, c, l, h = arguments;
return m().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (i = h.length > 2 && void 0 !== h[2] ? h[2] : {}, f().locale(d.A.getUILanguage()), !n) {
e.n = 2;
break
}
return e.n = 1, p.A.constructor.allowUi(i.feature, i.surface);
case 1:
if (e.v) {
e.n = 2;
break
}
return e.a(2, !1);
case 2:
if (a = v(v({}, E), i), s = r.createElement("div", {
id: a.containerId
}, r.createElement("link", {
rel: "stylesheet",
href: "".concat("https://cdn.honey.io", "/css/honey-font.min.css?v2")
}), n), !t) {
e.n = 7;
break
}
if (!(c = T(t))) {
e.n = 3;
break
}
return o.render(s, c), e.a(2, Promise.resolve(c));
case 3:
if (!t.attachShadow) {
e.n = 4;
break
}
return l = t.attachShadow({
mode: a.mode
}), a.dontInjectFonts || k(), "closed" === a.mode && u()(t).data(O, l), o.render(s, l), e.a(2, Promise.resolve(l));
case 4:
if (!a.fallbackToNonShadow) {
e.n = 5;
break
}
o.render(s, t), e.n = 6;
break;
case 5:
case 7:
return e.a(2, Promise.resolve(!1));
case 6:
e.n = 8;
break;
case 8:
return e.a(2, Promise.resolve(!0))
}
}, e)
})), I.apply(this, arguments)
}
function P(e, t) {
return A.apply(this, arguments)
}
function A() {
return A = S(m().m(function e(t, n) {
var o, s, c, u, l, f = arguments;
return m().w(function(e) {
for (;;) switch (e.n) {
case 0:
return o = f.length > 2 && void 0 !== f[2] ? f[2] : {
mode: "closed",
dontInjectFonts: !0
}, e.n = 1, x(t, null, o);
case 1:
return s = e.v, c = new i.SN, (u = (0, i.vt)()).setup({
plugins: w,
insertionPoint: s.getElementById("honey")
}), l = r.createElement(a.JssProvider, {
jss: u,
registry: c
}, n), e.n = 2, x(t, l, o);
case 2:
return e.a(2)
}
}, e)
})), A.apply(this, arguments)
}
const C = x
},
35614: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.default = void 0;
var r = s(n(9666)),
o = s(n(86146)),
i = n(22662),
a = n(72097);
function s(e) {
return e && e.__esModule ? e : {
default: e
}
}
const c = {
title: o.default.node
},
u = {
title: void 0
},
l = {
root: {
display: "flex",
alignItems: "center"
},
icon: {
width: "24px",
height: "24px",
backgroundColor: a.Colors.main500,
display: "flex",
alignItems: "center",
justifyContent: "center",
borderRadius: "5px",
flex: "0,0,24px",
marginTop: 0,
marginBottom: 0
},
title: {
fontSize: "18px",
fontWeight: "500",
paddingLeft: "5px",
color: a.Colors.main500,
flex: "1",
marginTop: 0,
marginBottom: 0
}
},
f = (0, i.createUseStyles)(l),
d = ({
title: e
}) => {
const t = f();
return r.default.createElement("div", {
className: t.root
}, r.default.createElement("div", {
className: t.icon
}, r.default.createElement(a.Logo, {
color: a.Colors.white,
size: 16,
clickable: !1,
h: !0
})), r.default.createElement("h1", {
className: t.title
}, e || "tips"))
};
d.propTypes = c, d.defaultProps = u;
t.default = d
},
35643: (e, t, n) => {
"use strict";
var r = n(2089),
o = n(68636),
i = n(80506);
e.exports = function() {
return i(r, o, arguments)
}
},
35826: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => S,
vt: () => _,
im: () => g
});
var r = n(63086),
o = n(2317),
i = function() {
return function(e) {
return e && e.page && e.page.currentPageId
}
},
a = function() {
return function(e) {
return e && e.page && e.page.pendingPageId
}
},
s = function() {
return function(e) {
return function(e) {
return e && e.page && e.page.pendingPageId
}(e) || function(e) {
return e && e.page && e.page.currentPageId
}(e)
}
},
c = function(e) {
return function(t) {
return t && t.page && t.page.pages && t.page.pages[e]
}
},
u = function(e) {
return function(t) {
return (c(e)(t) || {}).pageTypes
}
},
l = function(e) {
return function(t) {
return (c(e)(t) || {}).isGeneric
}
},
f = function(e) {
return ["PRODUCT", "SHOPIFY_PRODUCT_PAGE", "SHOPIFY_WHERE_AM_I", "WHERE_AM_I"].includes(e)
},
d = function(e) {
return ["HOMEPAGE"].includes(e)
},
p = (0, o.Mz)(function(e) {
return function(e) {
return e && e.page && e.page.pendingPageId
}(e) || function(e) {
return e && e.page && e.page.currentPageId
}(e)
}, function(e) {
return e
}, function(e, t) {
return u(e)(t)
}),
h = (0, o.Mz)(p, function(e) {
return e.some(d)
}),
m = (0, o.Mz)(p, function(e) {
return e.some(f)
});
const g = {
selectPageByPageId: c,
selectCurrentPageId: i,
selectPendingPageId: a,
selectMostRecentPageId: s,
selectContainerIdByPageId: function(e) {
return function(t) {
return (c(e)(t) || {}).containerId
}
},
selectPageTypesByPageId: u,
selectIsCurrentPageLaunchpad: function() {
return function(e) {
var t = function(e) {
return e && e.page && e.page.currentPageId
}(e);
return (u(t)(e) || []).includes("HOMEPAGE")
}
},
selectIsHomePage: h,
selectIsProductPage: m,
selectIsGenericPage: function(e) {
var t = function(e) {
return function(e) {
return e && e.page && e.page.pendingPageId
}(e) || function(e) {
return e && e.page && e.page.currentPageId
}(e)
}(e);
return l(t)(e)
},
selectIsGenericByPageId: l,
selectHasTipsTimedOut: function(e) {
var t = function(e) {
return function(e) {
return e && e.page && e.page.pendingPageId
}(e) || function(e) {
return e && e.page && e.page.currentPageId
}(e)
}(e);
if (!t) return !1;
var n = c(t)(e);
return !(!n || !n.tipsTimedOut)
}
};
function y(e) {
return y = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, y(e)
}
function v(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 b(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != y(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != y(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == y(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var _ = function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? v(Object(n), !0).forEach(function(t) {
b(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : v(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}({}, r.o1);
const S = r.Ff
},
36927: (e, t, n) => {
"use strict";
n.d(t, {
A: () => s,
z: () => a
});
var r = n(2317),
o = n(35826),
i = n(23649),
a = (0, r.Mz)(o.im.selectCurrentPageId(), function(e) {
return e
}, function(e, t) {
return o.im.selectContainerIdByPageId(e)(t)
});
const s = (0, r.Mz)(a, function(e) {
return e
}, function(e, t) {
return i.fc.selectContainerByContainerId(e)(t)
})
},
38402: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
GF: () => i.A,
td: () => l
});
var r = n(3640),
o = n(50600),
i = n(34136);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
38707: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.default = void 0;
var r = s(n(9666)),
o = s(n(86146)),
i = n(72097),
a = n(22662);
function s(e) {
return e && e.__esModule ? e : {
default: e
}
}
function c() {
return c = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
}, c.apply(this, arguments)
}
const u = {
onClick: o.default.func,
body: o.default.string
},
l = (0, a.createUseStyles)({
main: {
width: "100%",
height: "48px",
textAlign: "center",
backgroundColor: i.Colors.white,
padding: "10px",
display: "flex",
flexDirection: "row",
justifyContent: "center",
alignItems: "center"
},
button: {
background: "none",
color: "inherit",
border: "none",
padding: "0",
font: "inherit",
cursor: "pointer",
outlineOffset: "-2px",
width: "100%"
},
expandCopy: {
composes: "title1",
paddingRight: "6px",
"&:hover": {
cursor: "pointer"
}
},
downIcon: {
"&:hover": {
cursor: "pointer"
}
}
}),
f = ({
onClick: e,
body: t,
...n
}) => {
const o = l();
return r.default.createElement("button", c({
onClick: e,
className: o.button
}, n), r.default.createElement("div", {
className: o.main
}, r.default.createElement("div", {
className: o.expandCopy
}, t), r.default.createElement("div", null, r.default.createElement(i.Icon, {
color: i.Colors.grey800,
icon: "down-line-16"
}))))
};
f.propTypes = u, f.defaultProps = {
onClick: null,
body: ""
};
t.default = f
},
41502: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
j_: () => l,
vi: () => u
});
var r = n(81870),
o = n(67004),
i = n(5735),
a = function(e) {
return e && e.categoryId === r.Q.MAIN
},
s = function(e, t) {
var n = a(t) - a(e);
return 0 !== n ? n : t.score - e.score
},
c = function(e) {
var t = (0, i.A)(e) || [];
return o.kF.selectCurrentTipsContainerVariant(e) === r.ut.DEPRIORITIZED_MAIN_TIP ? t : function(e) {
return e && e.sort(s)
}(t)
},
u = function(e) {
return ((0, i.A)(e) || []).find(function(e) {
return e && e.categoryId === r.Q.CONDENSED_LAUNCHPAD
}) || !1
},
l = function(e) {
var t = ((0, i.A)(e) || []).find(function(e) {
return function(e) {
return e && e.categoryId === r.Q.CONDENSED_LAUNCHPAD
}(e)
});
return u(e) && t ? [t] : c(e)
};
const f = c
},
42528: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
HL: () => i.A,
Jq: () => l
});
var r = n(23106),
o = n(23323),
i = n(71326);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
43189: (e, t, n) => {
"use strict";
n.d(t, {
KM: () => s,
QJ: () => o,
Sl: () => i,
Wv: () => a
});
var r = n(7837),
o = {
loading: "loading",
success: "success"
},
i = {
loading: r.A.getMessage("Loading"),
success: r.A.getMessage("Sent"),
failed: r.A.getMessage("Try_Again")
},
a = [{
id: "not_relevant",
value: "not_relevant",
copy: r.A.getMessage("This_isnt_relevant")
}, {
id: "price_wrong",
value: "price_wrong",
copy: r.A.getMessage("The_price_is_wrong")
}, {
id: "something_wrong",
value: "something_wrong",
copy: r.A.getMessage("Something_is_wrong")
}, {
id: "something_else_wrong",
value: "something_wrong",
copy: r.A.getMessage("Something_else_is_wrong")
}, {
id: "not_helpful",
value: "not_helpful",
copy: r.A.getMessage("This_isnt_useful")
}],
s = {
none: "none",
positive: "thumbs_up",
negative: "thumbs_down",
negativeFormSubmitted: "thumbs_down_form_submitted"
};
Object.freeze(s)
},
46529: (e, t, n) => {
"use strict";
function r(e) {
return r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, r(e)
}
function o(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 i(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? o(Object(n), !0).forEach(function(t) {
a(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : o(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function a(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != r(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var o = n.call(e, t || "default");
if ("object" != r(o)) return o;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == r(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
n.d(t, {
qS: () => f,
oU: () => d,
ij: () => p,
kp: () => m,
xw: () => l,
PB: () => s,
Ue: () => c,
KA: () => g,
g$: () => u,
go: () => h
});
var s = {
BLOCKING_CDN: "blocking CDN",
STAND_DOWN: "stand down",
INVALID_PAGE_TYPE: "invalid page type",
DEFAULT_LAUNCHPAD_PATH_BLACKLISTED: "default launchpad path blacklisted",
STORE_LAUNCHPAD_DISABLED: "store launchpad disabled",
DYNAMIC_URL_BLACKLISTED: "dynamic url blacklisted",
STATIC_URL_BLACKLISTED: "static url blacklisted",
FIRST_PAGE_AFTER_INSTALL: "first page after install",
CANT_SHOW_LAUNCHPAD_WITH_ALLOW_LIST: "cannot show launchpad with allow list",
STORE_PDP_DISABLED: "store pdp disabled",
NO_LAUNCHPAD: "no launchpad variant for condensed container"
},
c = i(i({}, s), {
HOLDOUT_GROUP: "holdout group",
DISABLED_BY_USER: "disabled by user",
SUPPRESSED: "suppressed"
}),
u = ["BILLING", "CHECKOUT_CONFIRM", "FIND_SAVINGS", "FIND_SAVINGS_URL", "GOLD_REWARDS", "PAYMENTS", "PRODUCT", "SHOPIFY_FIND_SAVINGS", "SHOPIFY_PRODUCT_PAGE", "SHOPIFY_WHERE_AM_I", "NONPRODUCT", "HOMEPAGE", "UNSUPPORTED", "WHERE_AM_I"],
l = {
MOVABLE_BADGE_SETTINGS: "honeyTips:movableBadgeSettings",
MOVABLE_BADGE_SETTINGS_BY_STORE: "honeyTips:movableBadgeSettingsByStore",
TIPS_BUCKET_DATE: "device:tipsBucketDate"
},
f = 56,
d = 150,
p = 16,
h = {
TIP_CARD_ERROR: "tipCardError",
BADGE_INJECTION_ERROR: "badgeInjectionError"
},
m = 8,
g = ["www2.hm.com"]
},
47516: (e, t, n) => {
"use strict";
n.d(t, {
J: () => l,
o: () => f
});
var r = n(46946),
o = n(9921),
i = n(16670);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = function(e) {
return function(t, n) {
var a = (e || {}).tipId,
s = c(c({}, (0, i.A)(a)(n())), e);
r.A.sendEvent("tip004032", s), o.A.debug(function(e) {
var t = "TIPS_TIP:".concat(e.event);
return t + (e.action ? ":".concat(e.action) : "")
}(s), s)
}
},
f = function(e) {
var t = e.tipId,
n = e.customAction,
r = e.action;
return function(e) {
e(l({
tipId: t,
action: r || "custom_action",
event: "action",
customAction: n
}))
}
}
},
48541: (e, t, n) => {
"use strict";
var r;
if (!Object.keys) {
var o = Object.prototype.hasOwnProperty,
i = Object.prototype.toString,
a = n(35251),
s = Object.prototype.propertyIsEnumerable,
c = !s.call({
toString: null
}, "toString"),
u = s.call(function() {}, "prototype"),
l = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"],
f = function(e) {
var t = e.constructor;
return t && t.prototype === e
},
d = {
$applicationCache: !0,
$console: !0,
$external: !0,
$frame: !0,
$frameElement: !0,
$frames: !0,
$innerHeight: !0,
$innerWidth: !0,
$onmozfullscreenchange: !0,
$onmozfullscreenerror: !0,
$outerHeight: !0,
$outerWidth: !0,
$pageXOffset: !0,
$pageYOffset: !0,
$parent: !0,
$scrollLeft: !0,
$scrollTop: !0,
$scrollX: !0,
$scrollY: !0,
$self: !0,
$webkitIndexedDB: !0,
$webkitStorageInfo: !0,
$window: !0
},
p = function() {
if ("undefined" == typeof window) return !1;
for (var e in window) try {
if (!d["$" + e] && o.call(window, e) && null !== window[e] && "object" == typeof window[e]) try {
f(window[e])
} catch (e) {
return !0
}
} catch (e) {
return !0
}
return !1
}();
r = function(e) {
var t = null !== e && "object" == typeof e,
n = "[object Function]" === i.call(e),
r = a(e),
s = t && "[object String]" === i.call(e),
d = [];
if (!t && !n && !r) throw new TypeError("Object.keys called on a non-object");
var h = u && n;
if (s && e.length > 0 && !o.call(e, 0))
for (var m = 0; m < e.length; ++m) d.push(String(m));
if (r && e.length > 0)
for (var g = 0; g < e.length; ++g) d.push(String(g));
else
for (var y in e) h && "prototype" === y || !o.call(e, y) || d.push(String(y));
if (c)
for (var v = function(e) {
if ("undefined" == typeof window || !p) return f(e);
try {
return f(e)
} catch (e) {
return !1
}
}(e), b = 0; b < l.length; ++b) v && "constructor" === l[b] || !o.call(e, l[b]) || d.push(l[b]);
return d
}
}
e.exports = r
},
49651: (e, t, n) => {
"use strict";
function r() {
return "undefined" != typeof __SENTRY_BROWSER_BUNDLE__ && !!__SENTRY_BROWSER_BUNDLE__
}
function o() {
return "npm"
}
n.d(t, {
Z: () => r,
e: () => o
})
},
50769: (e, t, n) => {
"use strict";
n.d(t, {
EF: () => p,
MC: () => h,
Oo: () => d,
VK: () => m,
tY: () => f
});
var r = n(6241),
o = n.n(r),
i = n(32372),
a = n(65352);
function s(e) {
return s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, s(e)
}
function c(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 u(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? c(Object(n), !0).forEach(function(t) {
l(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : c(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function l(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != s(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != s(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == s(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function f() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = arguments.length > 1 ? arguments[1] : void 0,
n = a.A.formatInitialProduct(e),
r = e.parent_id,
s = e.variant_id,
c = function(e, t, n) {
return e && t && n && "".concat(e, "_").concat(o()(t), "_").concat(o()(n))
}(t, r, s);
return u(u({}, n), {}, {
id: c,
storeId: t,
variantId: s,
parentId: r,
productId: c,
fetcherType: i.HR.VIM
})
}
function d() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = arguments.length > 1 ? arguments[1] : void 0,
n = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = e.partialObservation,
n = void 0 === t ? {} : t,
r = n.title,
o = n.url,
i = n.descriptionText,
a = n.image,
s = n.alt_images,
c = n.price,
u = void 0 === c ? "" : c,
l = e.productId,
f = e.parentId,
d = e.storeId,
p = e.variations,
h = e.dealInsightHeadline,
m = void 0 === h ? {} : h;
return {
canonicalUrl: o,
description: i,
imageUrl: a,
images: s,
lastPrice: u && parseInt((100 * u.substr(1)).toFixed(), 10),
parentId: f,
productId: l,
storeId: d,
title: r,
variations: p || {},
dealInsightHeadline: m
}
}(e),
r = n.parentId,
o = e.variantId,
a = n.productId;
return u(u({}, n), {}, {
id: a,
storeId: t,
variantId: o,
merchId: r,
fetcherType: i.HR.VIM
})
}
function p() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = e.productId,
n = e.parentId,
r = e.variantId,
o = e.basePrice;
return {
id: t,
productId: t,
parentId: n,
variantId: r,
storeId: arguments.length > 1 ? arguments[1] : void 0,
merchId: n,
lastPrice: parseInt((100 * o).toFixed(), 10),
fetcherType: i.HR.OPTIMUS
}
}
function h() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = arguments.length > 1 ? arguments[1] : void 0;
return {
canonicalUrl: e.canonical_url,
imageUrl: e.image_url_primary,
lastPrice: "number" == typeof e.price_current ? parseInt((100 * e.price_current).toFixed(), 10) : "",
lastPriceCurrency: e.currency,
currencySymbol: e.currency_symbol,
title: e.title,
storeId: t,
fetcherType: i.HR.GENERIC
}
}
function m() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
n = t.parentId,
r = t.storeId;
return u(u({}, e), {}, {
id: e.productId,
lastPrice: t.priceInCents || e.priceCurrent,
imageUrl: e.imageUrlPrimary,
parentId: n,
merchId: n,
storeId: r,
fetcherType: i.HR.WHERE_AM_I
})
}
},
51769: (e, t, n) => {
"use strict";
var r = n(58303),
o = n(18201),
i = n(58144),
a = n(35643);
e.exports = function(e) {
var t = i(arguments),
n = e.length - (arguments.length - 1);
return r(t, 1 + (n > 0 ? n : 0), !0)
}, o ? o(e.exports, "apply", {
value: a
}) : e.exports.apply = a
},
54099: (e, t, n) => {
"use strict";
n.d(t, {
A: () => i
});
var r = n(23649),
o = n(99507);
const i = function(e) {
return (0, o.A)(e, r.fc.selectAutopopDisabledCategoriesForCurrentStore(e))
}
},
54277: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
QS: () => l,
oj: () => i.A
});
var r = n(33736),
o = n(6806),
i = n(62295);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
55657: (e, t, n) => {
"use strict";
t.parse = n(28966), t.stringify = n(10408)
},
56112: (e, t, n) => {
"use strict";
n.d(t, {
A: () => r
});
const r = {
selectDiscoveryData: function() {
return function(e) {
return e && e.honeyCheckout && e.honeyCheckout.discoveryData
}
}
}
},
57503: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => ie,
sT: () => P
});
var r = n(69698),
o = n.n(r),
i = n(262),
a = n.n(i),
s = n(12206),
c = n(9921),
u = n(7720),
l = n(32969),
f = n(46946),
d = n(61565),
p = n(88585),
h = n(25094),
m = n(24333),
g = n(12396),
y = n(2),
v = n(42108),
b = n(97856),
_ = n(34589),
S = n(73276);
function w() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return O(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (O(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, O(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, O(f, "constructor", u), O(u, "constructor", c), c.displayName = "GeneratorFunction", O(u, o, "GeneratorFunction"), O(f), O(f, o, "Generator"), O(f, r, function() {
return this
}), O(f, "toString", function() {
return "[object Generator]"
}), (w = function() {
return {
w: i,
m: d
}
})()
}
function O(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
O = function(e, t, n, r) {
function i(t, n) {
O(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, O(e, t, n, r)
}
function E(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return k(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? k(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function k(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function T(e) {
return T = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, T(e)
}
function x(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function I(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
x(i, r, o, a, s, "next", e)
}
function s(e) {
x(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
function P() {
var e = window.location.href;
return new(a())(function(t) {
var n = setInterval(function() {
e !== window.location.href && (e = window.location.href, clearInterval(n), t(window.location.href))
}, 10)
})
}
var A = {},
C = {};
var j = {},
R = {};
var M = {},
D = {};
function N(e, t) {
var n = e;
"string" == typeof n && (n = [e]);
var r = t ? D : M;
return r[n.toString()] ? new(a())(function() {}) : a().all(n.map(function(e) {
return function(e, t) {
var n = t ? R : j;
return new(a())(function(t) {
n[e] || m.A.waitForElement(e).then(function() {
n[e] = !0, t(e)
})
})
}(e, t)
})).then(function(e) {
return r[n.toString()] = !0, e
})
}
var L = new(a())(function() {}),
F = L,
B = L,
U = L,
G = L;
function $() {
return H.apply(this, arguments)
}
function H() {
return H = I(w().m(function e() {
var t, n, r, o, i, s, c = arguments;
return w().w(function(e) {
for (;;)
if (0 === e.n) return n = !0 === (t = c.length > 0 && void 0 !== c[0] ? c[0] : {}).v5, r = n ? U : F, t.url && r.isPending() && (n ? U = P().then(function(e) {
return {
url: e
}
}) : F = P().then(function(e) {
return {
url: e
}
})), o = n ? G : B, "object" === T(t.selectors) && o.isPending() && (i = a().any(Object.keys(t.selectors).map(function(e) {
return N(t.selectors[e], n).then(function() {
return {
selectors: e,
url: window.location.href
}
})
})), n ? G = i : B = i), s = n ? [U, G] : [F, B], e.a(2, a().any(s).then(function(e) {
return n ? (U.isResolved() && (U = L), G.isResolved() && (G = L)) : (F.isResolved() && (F = L), B.isResolved() && (B = L)), e || {}
}))
}, e)
})), H.apply(this, arguments)
}
var z, q = {};
function W(e, t, n, r, o) {
return V.apply(this, arguments)
}
function V() {
return V = I(w().m(function e(t, n, r, o, i) {
return w().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (c.A.info("Triggering page type: ".concat(t)), !o || !i) {
e.n = 4;
break
}
if (!z) {
e.n = 2;
break
}
return e.n = 1, z;
case 1:
e.n = 3;
break;
case 2:
return z = d.A.getCurrent().then(function() {
var e = I(w().m(function e(t) {
var n, r, i, a;
return w().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, d.A.getStoreById(o);
case 1:
return n = e.v, r = n && n.metadata, i = "frameworkMetadata:".concat(t.id), e.n = 2, u.A.get(i);
case 2:
if (a = !!e.v, !r || a) {
e.n = 4;
break
}
return e.n = 3, u.A.set(i, r);
case 3:
return e.n = 4, l.A.send("stores:action", {
action: "refreshStoreInfo",
data: {
storeId: t.id
}
}, {
background: !0
});
case 4:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), e.n = 3, z;
case 3:
z = null;
case 4:
if (q[t] = n, !q.SHOPIFY_PRODUCT_PAGE && !q.SHOPIFY_WHERE_AM_I || "PRODUCT" !== t || "GENERIC" !== n) {
e.n = 5;
break
}
return e.a(2);
case 5:
p.A.getCurrent().then(function(e) {
return l.A.send("pageDetected:".concat(t), {
data: n,
isV4Result: r,
frameworkId: o,
shouldUseFramework: i
}, {
ignoreResponse: !0,
background: !1,
tab: e.id
})
});
case 6:
return e.a(2)
}
}, e)
})), V.apply(this, arguments)
}
function Y(e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3];
return arguments.length > 4 && void 0 !== arguments[4] && arguments[4] ? null : "object" === T(e) ? Object.entries(e).forEach(function(o) {
var i = E(o, 2),
a = i[0],
c = i[1];
if (c) {
var u = t && t[a],
l = u && s.dn && s.dn[u];
W(a, "PAYMENTS" === a ? {
allPageTypes: e,
value: c
} : c, r, l, n)
} else "PRODUCT" === a && W("NONPRODUCT", null, r)
}) : null
}
function J() {
return Object.assign({}, q)
}
function K() {
var e = new s.XQ;
return e.add("waitForElement", function(e) {
var t = e.payload;
return m.A.waitForElement(t.selector)
}), e.add("waitForMutation", function(e) {
var t, n, r = e.payload;
return t = r.target, "number" != typeof A[t] && (A[t] = 0), C[t] = new MutationObserver(function(e) {
e.length && Date.now() - A[t] > 800 && (A[t] = Date.now(), C[t].disconnect(), n())
}), C[t].observe(document.querySelector(t), {
childList: !0,
subtree: !0
}), new(a())(function(e) {
n = e
})
}), e.add("waitForPageUpdate", function(e) {
return $(e.payload)
}), e.add("getPageHtml", function() {
return m.A.getCurrentPageHtml()
}), e.add("getItemLocalStorage", function(e) {
var t = e.payload;
return localStorage.getItem(t.key)
}), e.add("setItemLocalStorage", function(e) {
var t = e.payload;
return localStorage.setItem(t.key, t.value)
}), e.add("getDocumentCookies", function() {
var e = {};
return document.cookie.split("; ").forEach(function(t) {
var n = t.split("=");
e[n[0]] = n[1]
}), e
}), e.add("getUserSettings", function() {
return h.A.getSettings()
}), e.add("setUserSetting", function(e) {
var t = e.payload;
return h.A.updateSetting(t.key, t.value)
}), e.add("reportPageTypes", function(e) {
return Y(e.payload.types)
}), e.add("handleFinishedRun", function() {
var e = I(w().m(function e(t) {
var n, r;
return w().w(function(e) {
for (;;) switch (e.n) {
case 0:
n = t.runId, r = t.runner, n && r.state.hasRun(n) && r.state.clearRun(n);
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), e.addDefaultAction(function(e, t) {
return c.A.warn("Unhandled nativeAction: ".concat(e), t), null
}), e
}
function Q(e) {
return X.apply(this, arguments)
}
function X() {
return (X = I(w().m(function e(t) {
var n, r, o, i, a, u, l;
return w().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = "pageDetector", r = K(), e.n = 1, g.A.getStoreRecipe(t);
case 1:
o = e.v;
try {
i = new s.Y5({
platform: "extension",
nativeActionRegistry: r
})
} catch (e) {
c.A.error("Error in CoreRunner creation: ", e)
}
return a = {
storeId: t,
vimOptions: {
recipeOverride: o,
disableTimeout: !0,
v5SupportEnabled: !1
},
vimName: n,
inputData: {
url: window.location.href,
html: document.documentElement.innerHTML
}
}, e.n = 2, i.doAction({
name: "canRunVim",
options: a
});
case 2:
if (e.v) {
e.n = 3;
break
}
throw new NotFoundError;
case 3:
return e.n = 4, i.getActionHandle({
name: n,
options: a
});
case 4:
return u = e.v, e.n = 5, u.getResult();
case 5:
return l = e.v, e.a(2, l)
}
}, e)
}))).apply(this, arguments)
}
function Z(e) {
o()(function() {
v.A.check(e), y.A.check(e), _.A.check(e), S.A.check(e), b.A.check(e)
})
}
function ee(e) {
return te.apply(this, arguments)
}
function te() {
return (te = I(w().m(function e(t) {
var n, r;
return w().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, l.A.send("stores:action", {
action: "getStoresWithProductCatalogSupport"
}, {
background: !0
});
case 1:
return n = e.v, r = n && n[t], e.a(2, r)
}
}, e)
}))).apply(this, arguments)
}
function ne() {
return ne = I(w().m(function e(t, n) {
return w().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (n && "string" == typeof n.id && n.supported) {
e.n = 1;
break
}
return e.a(2, null);
case 1:
return e.a(2, h.A.getUserABGroup("trustV5PageDetectors").then(function() {
var e = I(w().m(function e(t) {
return w().w(function(e) {
for (;;) switch (e.p = e.n) {
case 0:
if (!t || "on" !== t.group) {
e.n = 5;
break
}
return S.A.check(n), b.A.check(n), e.p = 1, e.n = 2, ee(n.id);
case 2:
e.v || _.A.check(n), e.n = 4;
break;
case 3:
e.p = 3, e.v;
case 4:
return e.a(2, g.A.getAndRunV5Vim(n.id, "pd"));
case 5:
throw new OperationSkippedError;
case 6:
return e.a(2)
}
}, e, null, [
[1, 3]
])
}));
return function(t) {
return e.apply(this, arguments)
}
}()).catch(function(e) {
if ("TimeoutError" !== e.name) throw e
}).catch(I(w().m(function e() {
return w().w(function(e) {
for (;;)
if (0 === e.n) return e.a(2, Q(n.templateId || n.id))
}, e)
}))).catch(function() {
return Z(n)
}).catch(function(e) {
return c.A.error("Failed to run page detection:", e)
}))
}
}, e)
})), ne.apply(this, arguments)
}
l.A.addListener("vims:reportPageTypes", function() {
var e = I(w().m(function e(t, n) {
var r, o, i;
return w().w(function(e) {
for (;;) switch (e.n) {
case 0:
return r = n.types, o = n.frameworks, e.n = 1, ee(n.storeId);
case 1:
i = e.v, Y(r, o, n.shouldUseFramework, !1, n.ignoreForFeatures), !Object.values(r).every(function(e) {
return !1 === e
}) || Object.keys(r).includes("PRODUCT") && i || _.A.check();
case 2:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()), l.A.addListener("vims:waitForPageUpdate", function(e, t, n) {
var r = t.payload,
o = t.runId,
i = r.selectors;
return $({
url: r.url,
selectors: i,
v5: !0
}, n.tabId).then(function(e) {
l.A.send("vims:action", {
action: "pageChange",
data: {
result: e,
runId: o
}
}, {
background: !0,
ignoreResponse: !0
})
})
});
var re = ["BILLING", "CART_PRODUCT", "CHECKOUT_CONFIRM", "FIND_SAVINGS", "FIND_SAVINGS_URL", "GOLD_REWARDS", "HOMEPAGE", "PAYMENTS", "PRODUCT", "SEARCH", "SHOPIFY_FIND_SAVINGS", "SHOPIFY_PRODUCT_PAGE", "SHOPIFY_WHERE_AM_I", "SUBMIT_ORDER", "UNSUPPORTED", "WHERE_AM_I", "PAY_LATER"],
oe = {};
h.A.getUserABGroup("extPageDetected").then(function(e) {
var t = e || {},
n = t.unsupportedPercentage || 0,
r = t.unsupportedDelay || 1e4;
re.forEach(function(e) {
l.A.addListener("pageDetected:".concat(e), function(r, o) {
if (!oe[e] && "on" === t.group) {
var i = function(e) {
try {
var t = new URL(e),
n = {};
n.hostname = t.hostname.toLowerCase();
var r = t.pathname.replace(/\//g, " / ").replace(/_/g, " _ ").replace(/-/g, " - ").replace(/\+/g, " + "),
o = t.search.replace(/\?/g, " ? ").replace(/=/g, " = ").replace(/&/g, " & ").replace(/_/g, " _ ").replace(/-/g, " - ").replace(/\+/g, " + ");
return n.urlText = r + o, n
} catch (e) {
return {
hostname: !1,
urlText: ""
}
}
}(window.location.href),
a = "";
document && document.title && (a = document.title), i.hostname && (oe[e] = !0, ("UNSUPPORTED" !== e || Math.random() < n) && f.A.sendEvent("ext001002", {
pageTitle: a,
pageType: e,
hostname: i.hostname,
urlText: i.urlText,
isGeneric: "GENERIC" === o.data
}))
}
})
}), p.A.inPopover() || setTimeout(function() {
var e = J(),
t = Object.entries(e).length,
n = 0 === t,
r = 1 === t && "NONPRODUCT" === Object.keys(e)[0];
(n || r) && W("UNSUPPORTED", null)
}, r)
}), l.A.addListener("stores:pageview", function(e, t) {
return ne.apply(this, arguments)
});
const ie = {
getCurrentPageTypes: J,
triggerPageType: W,
PAGE_TYPES: re
}
},
58303: (e, t, n) => {
"use strict";
var r = n(73083),
o = n(6687),
i = n(18522)(),
a = n(1405),
s = n(79809),
c = r("%Math.floor%");
e.exports = function(e, t) {
if ("function" != typeof e) throw new s("`fn` is not a function");
if ("number" != typeof t || t < 0 || t > 4294967295 || c(t) !== t) throw new s("`length` must be a positive 32-bit integer");
var n = arguments.length > 2 && !!arguments[2],
r = !0,
u = !0;
if ("length" in e && a) {
var l = a(e, "length");
l && !l.configurable && (r = !1), l && !l.writable && (u = !1)
}
return (r || u || !n) && (i ? o(e, "length", t, !0, !0) : o(e, "length", t)), e
}
},
60592: (e, t, n) => {
"use strict";
const {
default: r,
DraggableCore: o
} = n(25005);
e.exports = r, e.exports.default = r, e.exports.DraggableCore = o
},
61565: (e, t, n) => {
"use strict";
n.d(t, {
A: () => qe,
L: () => W
});
var r = n(262),
o = n.n(r),
i = n(86531),
a = n.n(i),
s = n(69698),
c = n.n(s),
u = n(57147),
l = n.n(u),
f = n(32372),
d = n(77002),
p = n(2479),
h = n(78098),
m = n(48427),
g = n(30539),
y = n(9921),
v = n(7720),
b = n(32969),
_ = n(57503),
S = n(93744),
w = n(48158),
O = n(46946),
E = n(10051),
k = n(88585),
T = n(24166),
x = n(25094),
I = n(24333),
P = n(323),
A = n(12206),
C = n(57183);
function j(e) {
return j = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, j(e)
}
function R(e) {
return function(e) {
if (Array.isArray(e)) return M(e)
}(e) || function(e) {
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}(e) || function(e, t) {
if (e) {
if ("string" == typeof e) return M(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? M(e, t) : void 0
}
}(e) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function M(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function D() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return N(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (N(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, N(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, N(f, "constructor", u), N(u, "constructor", c), c.displayName = "GeneratorFunction", N(u, o, "GeneratorFunction"), N(f), N(f, o, "Generator"), N(f, r, function() {
return this
}), N(f, "toString", function() {
return "[object Generator]"
}), (D = function() {
return {
w: i,
m: d
}
})()
}
function N(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
N = function(e, t, n, r) {
function i(t, n) {
N(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, N(e, t, n, r)
}
function L(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 F(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? L(Object(n), !0).forEach(function(t) {
B(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : L(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function B(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != j(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != j(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == j(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function U(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function G(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
U(i, r, o, a, s, "next", e)
}
function s(e) {
U(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var $, H, z = h.A.NotFoundError,
q = "593104143661403249",
W = {
HBC: "hbc",
EXTENSION_LINKS: "extension_links"
};
function V(e, t, n) {
return Y.apply(this, arguments)
}
function Y() {
return (Y = G(D().m(function e(t, n, r) {
var o, i;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, k.A.getContentScriptUrl();
case 1:
return o = e.v, i = I.A.cleanString(r, o), e.a(2, b.A.send("stores:action", {
action: "activateStoreGold",
data: {
storeId: t,
taggingOptions: n,
targetUrl: i
}
}, {
background: !0
}))
}
}, e)
}))).apply(this, arguments)
}
function J(e, t) {
return o().try(function() {
return t || x.A.getUserId()
}).then(function(t) {
return b.A.send("stores:action", {
action: "deactivateStoreGold",
data: {
storeId: e,
userId: t
}
}, {
background: !0
})
})
}
function K(e, t) {
return b.A.send("stores:action", {
action: "getClaimedOffers",
data: {
userId: e,
stores: t
}
}, {
background: !0
})
}
function Q(e) {
return b.A.send("stores:action", {
action: "getStoreById",
data: {
storeId: e
}
}, {
background: !0
})
}
function X(e) {
return b.A.send("stores:action", {
action: "getStoreByUrl",
data: {
storeUrl: e
}
}, {
background: !0
})
}
function Z(e, t, n) {
return b.A.send("stores:action", {
action: "setSessionAttribute",
data: {
storeId: e,
attribute: t,
value: n
}
}, {
background: !0
})
}
function ee(e) {
return te.apply(this, arguments)
}
function te() {
return (te = G(D().m(function e(t) {
var n, r, o;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Q(t);
case 1:
return n = e.v, r = !n.metadata.pns_overrideShopify && n.templateId || n.storeId, e.n = 2, (0, A.as)(r);
case 2:
return o = e.v, e.a(2, !!o)
}
}, e)
}))).apply(this, arguments)
}
function ne(e) {
return re.apply(this, arguments)
}
function re() {
return (re = G(D().m(function e(t) {
var n, r, o, i;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (!k.A.inPopover()) {
e.n = 3;
break
}
return e.n = 1, S.A.getPagesDetected();
case 1:
if (i = e.v) {
e.n = 2;
break
}
i = {};
case 2:
n = i, e.n = 4;
break;
case 3:
n = _.Ay.getCurrentPageTypes() || {};
case 4:
return r = {}, o = p.A.checkGoldStatus(t.gold), n.FIND_SAVINGS_URL && (r.hasFSRegex = !0), (n.FIND_SAVINGS || n.SHOPIFY_FIND_SAVINGS) && (r.couponsEnabled = !0), n.GOLD_REWARDS && o.active && (r.onOfferPage = !0), (r.onOfferPage || r.couponsEnabled) && (r.onFindSavingsPage = !0), e.a(2, Object.assign({}, r))
}
}, e)
}))).apply(this, arguments)
}
function oe(e) {
var t = Object.assign({}, e),
n = p.A.checkGoldStatus(e.gold);
try {
t.couponsEnabled = c()(e.metadata.pns_siteSelCartCodeBox).length > 0 && c()(e.metadata.pns_siteSelCartTotalPrice).length > 0 && e.metadata.pns_siteSelCartCodeSubmit
} catch (e) {
t.couponsEnabled = !1
}
try {
t.onOfferPage = n.active && !e.standDown && c()(e.metadata.pns_siteSelShowHoneyGold).length > 0
} catch (e) {
t.onOfferPage = !1
}
return t.onFindSavingsPage = t.couponsEnabled || t.onOfferPage, t
}
function ie(e) {
return ae.apply(this, arguments)
}
function ae() {
return (ae = G(D().m(function e(t) {
var n;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, ne(t);
case 1:
return n = e.v, e.a(2, Object.assign(oe(t), n))
}
}, e)
}))).apply(this, arguments)
}
function se() {
return ce.apply(this, arguments)
}
function ce() {
return (ce = G(D().m(function e() {
var t;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, k.A.getContentScriptUrl();
case 1:
return t = e.v, e.a(2, X(t).then(function(e) {
return e ? ie(e) : {}
}))
}
}, e)
}))).apply(this, arguments)
}
function ue(e, t) {
return se().then(function(n) {
return Z(n.id, e, t)
})
}
function le(e) {
return x.A.getUserId().then(function(t) {
return K(t, [e]).then(function() {
return (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []).length > 0
})
})
}
function fe(e, t, n) {
return de.apply(this, arguments)
}
function de() {
return (de = G(D().m(function e(t, n, r) {
var o, i, a;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (r) {
e.n = 6;
break
}
return e.n = 1, le(t);
case 1:
if (!e.v) {
e.n = 6;
break
}
return e.n = 2, J(t);
case 2:
return "base" === n && (k.A.inPopover() || T.A.open({
pathname: "/stooddown",
query: {},
state: {},
force: !0,
feature: "stooddown",
surface: "popup"
})), Z(t, "hasStoodUp", !0), e.n = 3, x.A.getUserABGroup("taggingInsuranceDenylist");
case 3:
return o = e.v, i = o.denylistStoreIds, a = void 0 === i ? [] : i, e.n = 4, P.A.getFeatureFlag("ext_tagging_insurance_with_denylist");
case 4:
if (!e.v || a.includes(t)) {
e.n = 6;
break
}
return e.n = 5, I.A.sleep(5e3);
case 5:
T.A.open({
pathname: "/taggingInsurance",
query: {},
state: {
storeId: t
},
force: !1,
feature: "tagging-insurance",
surface: "badge"
});
case 6:
return e.a(2)
}
}, e)
}))).apply(this, arguments)
}
function pe() {
return se().then(function(e) {
var t = function(e) {
if (e.metadata.pns_siteSelCartTotalPrice) {
var t = e.metadata.formatPriceDivisor || 1;
return I.A.cleanPrice(c()(e.metadata.pns_siteSelCartTotalPrice).last().text().trim()) / t
}
return null
}(e);
O.A.sendEvent("ext003024", {
cart: {
currency: e.currencyCode,
startPrice: t
}
})
})
}
function he(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
return w.A.getFindSavingsCta(e).then(function(n) {
T.A.open({
pathname: "/notification",
query: {},
state: F({
cta: n
}, t),
force: !1,
feature: "notification",
surface: "popup"
}).then(function() {
return o().all([d.A.getLastSetIcon(), ee(e.id), Z(e.id, "userInitiated", !1), Z(e.id, "applyCodesShown", a()().unix())]).spread(function(t, r) {
var o;
return $ > a()().unix() || ($ = a()().add(10, "seconds").unix()), O.A.sendEvent("ext003023", {
sub_src: "findsavings_modal",
action: "show",
cta: n,
variant: n && n.variation
}), e.popularCodes ? o = "popular_codes_test" : "ux_resillience" === n.variation && (o = n.variation), O.A.sendEvent("ext003001", {
store: e,
dac: r,
ok: e.coupons && e.coupons.length > 0,
coupons: e.coupons && e.coupons.length || 0,
coupons_tested: w.A.getNumCoupons(),
user_initiated: !1,
user_hbc: e.userHBC,
cta: n,
icon: t,
cash_bonus: m.A.getEventCashBonus(e.gold),
has_fs_regex: e.hasFSRegex,
has_fs_mixin: e.hasFindSavingsMixin,
variant: o
})
})
})
})
}
function me() {
return se().then(function(e) {
return v.A.get("stores:".concat(e.id, ":usershare")).then(function(t) {
var n = t.code,
r = t.startPrice,
o = e.coupons.some(function(e) {
return I.A.cleanStringUpper(e.code) === I.A.cleanStringUpper(n)
}),
i = function() {
var t = G(D().m(function t(a) {
var s, u = arguments;
return D().w(function(t) {
for (;;) switch (t.n) {
case 0:
s = u.length > 1 && void 0 !== u[1] ? u[1] : 20, clearTimeout(H), H = setTimeout(G(D().m(function t() {
var u, l, f, d, p, h, m, S, w, E, k;
return D().w(function(t) {
for (;;) switch (t.n) {
case 0:
if (u = /\d/.test(c()(e.metadata.pns_siteSelCartTotalPrice).last().text()), l = I.A.cleanPrice(c()(e.metadata.pns_siteSelCartTotalPrice).last().text()), u && l !== r || !(a > 0) || 20 !== s) {
t.n = 1;
break
}
return t.a(2, i(a - 100, s));
case 1:
if (f = _.Ay.getCurrentPageTypes(), !(u && l !== r && f.SHOPIFY_FIND_SAVINGS && s)) {
t.n = 2;
break
}
return t.a(2, i(a - 100, s - 1));
case 2:
return G(D().m(function t() {
var n, r;
return D().w(function(t) {
for (;;) switch (t.p = t.n) {
case 0:
return t.p = 0, t.n = 1, v.A.get("cartLastSeenTotalPrice:".concat(e.id));
case 1:
n = t.v, t.n = 3;
break;
case 2:
t.p = 2, r = t.v, y.A.error("Failed to get last seen total price", r);
case 3:
n && v.A.set("cartLastSeenPreCouponTotal:".concat(e.id), n), v.A.set("cartLastSeenTotalPrice:".concat(e.id), l);
case 4:
return t.a(2)
}
}, t, null, [
[0, 2]
])
}))(), v.A.del("stores:".concat(e.id, ":usershare")), t.n = 3, x.A.getUserId();
case 3:
if (d = t.v, p = I.A.cleanStringUpper(n), h = {
code: p,
storeId: e.id,
discount: r - l,
userId: d
}, O.A.sendEvent("ext004501", {
coupon_code: p,
savings: r - l,
has_clicked_apply: !!e.applyCodesClick
}), o && b.A.send("stores:action", {
action: "markUserSubmittedCode",
data: h
}, {
background: !0
}).reflect(), m = !1, e.ugcAllowed) {
t.n = 4;
break
}
m = "ugc-not-allowed", t.n = 10;
break;
case 4:
if (!(l >= r)) {
t.n = 5;
break
}
m = "savings-not-found", t.n = 10;
break;
case 5:
if (!o) {
t.n = 6;
break
}
m = "already-had-coupon", t.n = 10;
break;
case 6:
if (!(p.length <= 2)) {
t.n = 7;
break
}
m = "code-length-under-2", t.n = 10;
break;
case 7:
if (!(p.length >= 16)) {
t.n = 8;
break
}
m = "code-length-over-16", t.n = 10;
break;
case 8:
if (e.applyCodesClick || e.applyCodesShown || e.userHBC || !e.coupons.length) {
t.n = 10;
break
}
return t.n = 9, g.A.getCouponStats(e.id);
case 9:
S = t.v, w = e && null === e.affiliateURL, E = S && S.successRate < .2 && S.failuresCount > 10, e.id === q && (E = !0), m = (!w || !E) && "user-hasnt-seen-ui";
case 10:
return k = !1, t.n = 11, v.A.get("userCodeShareUi-shown-".concat(e.id)).then(function(e) {
k = e === n
}).catch(z, function() {});
case 11:
if (m || k) {
t.n = 12;
break
}
return T.A.open({
pathname: "/usershare",
query: {},
state: {
code: n
},
feature: "usershare",
surface: "popup",
force: !0
}), t.a(2, e.id);
case 12:
return O.A.sendEvent("ext004503", {
coupon_code: p,
savings: r - l,
skipPromptReason: m
}), t.a(2, !1);
case 13:
return t.a(2)
}
}, t)
})), 100);
case 1:
return t.a(2)
}
}, t)
}));
return function(e) {
return t.apply(this, arguments)
}
}(),
a = (e.metadata.pns_siteTimeBetween || 3e3) + 2e3;
return i(a)
}).catch(z, function() {})
}).catch(function() {})
}
var ge = !1;
function ye(e) {
var t = e.metadata.pns_siteSelCartCodeBox;
if (t) {
var n = !1;
c()(t).on("keypress paste", function() {
ge || (b.A.send("site_support:watchUGCRequest", {
store: e
}, {
background: !0
}), ge = !0), n = !0
}), c()(t).on("change blur keydown", function(t) {
if (!t.keyCode || 13 === t.keyCode) {
var r = t.target.value.slice(0, 100);
if (r && n) {
n = !1, ue("manualCoupon", r);
var o = I.A.cleanPrice(c()(e.metadata.pns_siteSelCartTotalPrice).last().text());
v.A.set("stores:".concat(e.id, ":usershare"), {
code: r,
startPrice: o
});
var i = e.coupons.some(function(e) {
return I.A.cleanStringUpper(e.code) === I.A.cleanStringUpper(r)
});
O.A.sendEvent("ext004500", {
coupon_code: r,
has_applied_coupons: !!e.applyCodesClick,
already_have_coupon: i
}), me(), ge && b.A.send("site_support:checkUGCCoupon", {
store: e,
code: r
}, {
background: !0
})
}
}
}), c()(t).attr("couponInputBound", !0)
}
}
var ve = !1;
function be(e) {
var t = e.metadata.pns_siteSelCartCodeBox;
if (t) {
new MutationObserver(function(n) {
n.some(function(e) {
return "childList" === e.type && e.addedNodes.length > 0
}) && (ve || (ve = !0, setTimeout(function() {
c()(t).length && !c()(t).attr("couponInputBound") && ye(e), ve = !1
}, 1e3)))
}).observe(document.body, {
childList: !0,
subtree: !0
})
}
}
function _e(e) {
return Se.apply(this, arguments)
}
function Se() {
return (Se = G(D().m(function e(t) {
var n, r, o;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = "user:findSavingsCooldown:".concat(t.id), e.n = 1, v.A.get(n).catch(function() {
return null
});
case 1:
if (r = e.v, o = a()().unix(), !(r && o < r.timestamp + 300)) {
e.n = 2;
break
}
return e.a(2, !0);
case 2:
return e.a(2, !1)
}
}, e)
}))).apply(this, arguments)
}
function we(e, t, n) {
var r, o = a()().unix();
try {
r = I.A.cleanPrice(c()(e.metadata.pns_siteSelCartTotalPrice).last().text().trim())
} catch (e) {
return !1
}
var i = e.coupons,
s = t.attemptTs,
u = void 0 === s ? 0 : s,
l = t.cartTotalPrice,
f = void 0 === l ? 0 : l,
d = t.coupons,
p = void 0 === d ? [] : d,
h = t.urlPathname,
m = void 0 === h ? "" : h;
if (t.coupons && 0 === t.coupons.length && 0 === i.length) return !0;
if (o > u + 3600 && !n) return !1;
if (r !== f && m === window.location.pathname) return !1;
var g = i.every(function(e, t) {
var n = p[t] || {};
return e.code === n.code
});
return !(!1 === g && !n) && (O.A.sendEvent("ext003003", {
store: e,
interaction: "silenced",
last_savings_attempt_ts: u,
last_savings_cart_total_price: f,
current_cart_total_price: r,
same_coupons: g
}), !0)
}
function Oe(e) {
return I.A.cleanPrice(c()(e.metadata.pns_siteSelCartTotalPrice).last().text().trim()) || 0
}
function Ee() {
return (Ee = G(D().m(function e(t) {
var n, r, o;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = !1, r = w.A.getCtaType(t), e.n = 1, v.A.get("user:lastSavings:".concat(t.id, ":").concat(r)).catch(z, function() {
return {}
});
case 1:
return o = e.v, Object.keys(o).length > 0 && (n = !0), e.a(2, n)
}
}, e)
}))).apply(this, arguments)
}
function ke(e, t) {
var n = !0;
e.cartTotalPrice && e.cartTotalPrice !== Oe(t) || (n = !1);
var r = !1;
return e.savings > 0 && e.initPrice !== Oe(t) && (r = !0), {
attemptTs: e.attemptTs,
bestCoupon: e.bestCoupon,
cartChanged: n,
couponsApplied: r,
savings: e.savings
}
}
function Te(e) {
return xe.apply(this, arguments)
}
function xe() {
return (xe = G(D().m(function e(t) {
var n, r, o, i, a, s, c, u;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, P.A.getFeatureFlag("ext_mixin_fallback_enabled");
case 1:
return n = e.v, r = !!t.coupons.length, e.n = 2, ee(t.id);
case 2:
return o = e.v, i = t.hasFindSavingsMixin || o || t.templateId, a = t.metadata.pns_codeTopFunnel || !1, s = !0 === t.metadata.mixinFallback || !1, c = p.A.checkGoldStatus(t.gold).active, u = r && (!i && !a || s), e.a(2, {
doMixinFallback: u,
hasGold: c,
mixinFallbackEnabled: n
})
}
}, e)
}))).apply(this, arguments)
}
var Ie, Pe, Ae = (Ie = !1, function() {
return Ie ? o().resolve() : (Ie = !0, se().then(function(e) {
var t = w.A.getCtaType(e);
o().all([w.A.isApplying(), v.A.get("stores:notification"), e.applyCodesClick ? me() : "", v.A.get("user:lastSavings:".concat(e.id, ":").concat(t)), v.A.get("store:hide:".concat(e.id)), k.A.getCurrent()]).spread(function() {
var n = G(D().m(function n(r, o, i) {
var s, c, u, d, p, h, m, y, _, S, w, E, k, x = arguments;
return D().w(function(n) {
for (;;) switch (n.n) {
case 0:
if (s = x.length > 3 && void 0 !== x[3] ? x[3] : {}, c = x.length > 4 ? x[4] : void 0, u = x.length > 5 ? x[5] : void 0, e && e.supported) {
n.n = 1;
break
}
return n.a(2);
case 1:
if (!0 !== c) {
n.n = 2;
break
}
return n.a(2);
case 2:
if ("string" != typeof c || c !== window.location.pathname) {
n.n = 3;
break
}
return n.a(2);
case 3:
if (b.A.send("stores:current:update", {
store: e
}, {
ignoreResponse: !0
}), e.onFindSavingsPage && e.couponsEnabled && (ye(e), be(e)), d = -1 !== f.Ay.AMAZON_STORES.indexOf(e.id), !(r || d && e.couponsEnabled && !e.gold.isNNA)) {
n.n = 4;
break
}
return n.a(2);
case 4:
k = e.standDown, n.n = "base" === k ? 5 : "nopopup" === k || "suspend" === k ? 6 : 7;
break;
case 5:
return n.a(3, 7);
case 6:
return n.a(2);
case 7:
if (p = o && o[e.id] || {}, !(e.couponsEnabled && p.codes && e.metadata.pns_openThrottleCodes > 0 && a()().diff(a().unix(p.codes), "minutes") < e.metadata.pns_openThrottleCodes)) {
n.n = 8;
break
}
n.n = 21;
break;
case 8:
if (!(e.onOfferPage && p.gold && e.metadata.pns_openThrottleGold > 0 && a()().diff(a().unix(p.gold), "minutes") < e.metadata.pns_openThrottleGold)) {
n.n = 9;
break
}
n.n = 21;
break;
case 9:
if (!e.onFindSavingsPage) {
n.n = 21;
break
}
if (!(i === e.id || e.tagged && e.metadata && e.metadata.pns_codeTopFunnel)) {
n.n = 10;
break
}
return n.a(2);
case 10:
return n.n = 11, _e(e);
case 11:
if (h = n.v, !0 !== we(e, s, h)) {
n.n = 12;
break
}
return n.a(2);
case 12:
return e.metadata.isGracefulFailure && T.A.open({
pathname: "/graceful-failure",
query: {
ctaType: t
},
state: {},
force: !0,
feature: "graceful-failure",
surface: "badge"
}), m = ke(s, e), y = !!e.coupons.length, _ = function() {
var t = G(D().m(function t() {
var n, r, o, i, s, c, u, l;
return D().w(function(t) {
for (;;) switch (t.n) {
case 0:
if (e.id !== C.P) {
t.n = 1;
break
}
return t.a(2, !1);
case 1:
if (!e.gold || !e.gold.isNNA) {
t.n = 2;
break
}
return t.a(2, !1);
case 2:
return t.n = 3, g.A.getCouponStats(e.id);
case 3:
if (n = t.v, r = e && null === e.affiliateURL, o = n && n.successRate < .2 && n.failuresCount > 10, i = Math.random() <= .05, e.id === q && (o = !0), !r || !o || i) {
t.n = 4;
break
}
return s = a().unix(Math.max.apply(Math, R(e.coupons.map(function(e) {
return e.created
})))), c = s > a()().subtract(12, "hours"), t.a(2, !c);
case 4:
if (u = m.cartChanged, l = n && n.successRate > .5, !u || l) {
t.n = 5;
break
}
return t.a(2, !0);
case 5:
return t.a(2, !1)
}
}, t)
}));
return function() {
return t.apply(this, arguments)
}
}(), n.n = 13, _();
case 13:
if (!n.v) {
n.n = 14;
break
}
return O.A.sendEvent("ext000013", {
action: "show",
sub_src: "findsavings_modal",
variant: "fs_suppression_lowcsr"
}), n.a(2);
case 14:
return n.n = 15, Te(e);
case 15:
if (S = n.v, w = S.doMixinFallback, E = S.hasGold, !S.mixinFallbackEnabled) {
n.n = 16;
break
}
if (!w) {
n.n = 16;
break
}
return E && !e.gold.activated && he(e, {
showMixinFallback: !0
}), n.a(2);
case 16:
return n.n = 17, v.A.get("".concat(e.id, ":").concat(u.id, ":stoodup"));
case 17:
if (!n.v) {
n.n = 18;
break
}
return n.a(2);
case 18:
if (!e.gold || l()(e.gold)) {
n.n = 20;
break
}
if (!e.gold.activated || y) {
n.n = 19;
break
}
return n.a(2);
case 19:
(!e.gold.activated || e.couponsEnabled && !d) && he(e, m), n.n = 21;
break;
case 20:
he(e, m);
case 21:
return n.a(2)
}
}, n)
}));
return function(e, t, r) {
return n.apply(this, arguments)
}
}()).catch(z, function() {}).catch(function(e) {
y.A.error(e)
})
}))
});
function Ce() {
return (Ce = G(D().m(function e() {
var t, n, r;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, se();
case 1:
return t = e.v, n = t.gold, e.n = 2, x.A.getInfo();
case 2:
return r = e.v, e.n = 3, V(t.id, {
src: "popup"
});
case 3:
r && r.isLoggedIn || x.A.openEmailAuth("login", "popup-activated-gold-ui", !0), b.A.send("ui:action", {
action: "open",
data: {
pathname: "/goldactivated",
query: {
cartPrice: 0,
exclusionText: n.description,
goldActive: !0,
honeyGoldBonus: 0,
isFlatFee: n.isFlatFee,
max: n.max,
maxFlatFee: n.maxFlatFee,
min: n.min,
minFlatFee: n.minFlatFee
},
state: {},
force: !0,
feature: "gold-activated",
surface: "popup"
}
}), O.A.sendEvent("ext003002", {
cta: {
cta_type: "c0_g1",
type: "c0_g1"
}
}), O.A.sendEvent("ext003010", {
store: {
id: t.id
}
});
case 4:
return e.a(2)
}
}, e)
}))).apply(this, arguments)
}
function je() {
return Re.apply(this, arguments)
}
function Re() {
return (Re = G(D().m(function e() {
var t;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, se();
case 1:
return t = e.v, e.a(2, b.A.send("stores:action", {
action: "saveCurrent",
data: {
store: t
}
}, {
background: !0
}))
}
}, e)
}))).apply(this, arguments)
}
function Me() {
return De.apply(this, arguments)
}
function De() {
return (De = G(D().m(function e() {
var t, n, r;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, k.A.getCurrent();
case 1:
return t = e.v, n = t.id, r = w.A.getNumCoupons(), e.a(2, b.A.send("stores:getNumCoupons", {
numCoupons: r,
tabId: n
}, {
background: !0
}))
}
}, e)
}))).apply(this, arguments)
}
function Ne() {
return se().then(function(e) {
return e && e.metadata && e.supported ? new(o())(function(t) {
c()(function() {
t([1, 2, 3].map(function(t) {
try {
var n = e.metadata["pns_siteSelSubId".concat(t)];
if (n) {
var r = c()(n).first().text().trim();
return r ? r.toLowerCase() : null
}
} catch (e) {}
return null
}))
})
}) : null
}).catch(z, function() {
return null
})
}
function Le(e, t, n, r) {
return Fe.apply(this, arguments)
}
function Fe() {
return (Fe = G(D().m(function e(t, n, r, o) {
var i, a;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, k.A.getContentScriptUrl();
case 1:
return i = e.v, a = I.A.cleanString(r, i), Q(t).then(function(e) {
e.metadata && "true" === e.metadata.pns_affFlush && (y.A.debug("Tag - refreshing local state"), document.cookie.split(";").forEach(function(e) {
document.cookie = e.replace(/^ +/, "").replace(/=.*/, "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/")
}), localStorage.clear(), sessionStorage.clear())
}), e.a(2, b.A.send("stores:action", {
action: "tag",
data: {
storeId: t,
type: n,
targetUrl: a,
options: o
}
}, {
background: !0
}))
}
}, e)
}))).apply(this, arguments)
}
function Be(e) {
return b.A.send("stores:action", {
action: "getSession",
data: {
storeId: e
}
}, {
background: !0
})
}
function Ue(e) {
return b.A.send("stores:action", {
action: "getStoreTabStandDownStatus",
data: {
storeId: e
}
}, {
background: !0
})
}
function Ge(e, t) {
return t && t.attributes.isBlockingCDN
}
function $e() {
return ($e = G(D().m(function e() {
var t, n;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (void 0 === Pe) {
e.n = 1;
break
}
return e.a(2, Pe);
case 1:
return e.n = 2, se();
case 2:
return t = e.v, e.n = 3, Be(t.id);
case 3:
return n = e.v, Pe = Ge(0, n), e.a(2, Pe)
}
}, e)
}))).apply(this, arguments)
}
function He() {
return ze.apply(this, arguments)
}
function ze() {
return (ze = G(D().m(function e() {
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, o().delay(100);
case 1:
se().then(function(e) {
if (e && e.id) switch (k.A.inPopover() || b.A.send("stores:pageview", e, {
currentTab: !0,
background: !0,
ignoreResponse: !0
}).reflect(), e.standDown) {
case "base":
case "nopopup":
case "suspend":
fe(e.id, e.standDown, e.hasStoodUp)
}
}).catch(z, function() {}).catch(function(e) {
return y.A.error(e)
});
case 2:
return e.a(2)
}
}, e)
}))).apply(this, arguments)
}
b.A.addListener("pageDetected:FIND_SAVINGS_URL", function() {
se().then(function(e) {
if (e && !e.onFindSavingsPage && -1 === document.documentElement.innerHTML.toLowerCase().indexOf("is empty")) {
var t = [];
try {
0 === c()(e.metadata.pns_siteSelCartCodeBox).length && t.push("pns_siteSelCartCodeBox")
} catch (e) {
t.push("pns_siteSelCartCodeBox")
}
try {
0 === c()(e.metadata.pns_siteSelCartTotalPrice).length && t.push("pns_siteSelCartTotalPrice")
} catch (e) {
t.push("pns_siteSelCartTotalPrice")
}
try {
e.metadata.pns_siteSelCartCodeSubmit || t.push("pns_siteSelCartCodeSubmit")
} catch (e) {
t.push("pns_siteSelCartCodeSubmit")
}
x.A.getUserId().then(function(n) {
return O.A.sendEvent("ext003021", {
store: e,
url: window.location.href,
error_type: "Apply codes not shown",
user_id: n,
affected_selectors: t.join(",")
})
})
}
})
}), b.A.addListener("pageDetected:FIND_SAVINGS", function() {
Ae(), pe()
}), b.A.addListener("pageDetected:SHOPIFY_FIND_SAVINGS", function() {
Ae()
}), b.A.addListener("pageDetected:GOLD_REWARDS", function() {
Ae()
}), b.A.addListener("tabs:activated", function() {
var e = G(D().m(function e(t, n) {
var r;
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Me();
case 1:
return e.n = 2, k.A.getCurrent();
case 2:
if (r = e.v, !n || n.tabId !== r.id) {
e.n = 3;
break
}
return e.n = 3, je();
case 3:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()), b.A.addListener("stores:pageview", G(D().m(function e() {
return D().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, je();
case 1:
return e.n = 2, Me();
case 2:
return e.a(2)
}
}, e)
}))), o().try(function() {
return se()
}).then(function(e) {
! function(e) {
e && e.id && e.supported && "suspend" !== e.standDown && (E.A[e.id] || []).forEach(function(t) {
try {
new t, y.A.debug("Loaded store module ".concat(t.__honeyStoreModuleName))
} catch (n) {
y.A.error("Failed to load store module ".concat(t.__honeyStoreModuleName), {
store: e,
err: n
})
}
})
}(e), c()(He)
}).catch(z, function() {}).catch(function(e) {
return y.A.error(e)
}), b.A.addListener("stores:action", function(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
if ("getSubIds" === (t && t.action)) return Ne();
throw new InvalidParametersError("No stores:action listener for ".concat(t.action))
});
const qe = {
activateGoldUI: function() {
return Ce.apply(this, arguments)
},
activateStoreGold: V,
deactivateStoreGold: J,
getClaimedOffers: K,
getCurrencyExchangeRates: function() {
return b.A.send("stores:action", {
action: "getCurrencyExchangeRates",
data: {}
}, {
background: !0
})
},
getCurrent: se,
getCurrentStoreTabStandDownStatus: function() {
return se().then(function(e) {
return Ue(e.id)
})
},
getFindSavingsPageState: ne,
getFixedGoldRateActivation: function(e, t) {
return b.A.send("stores:action", {
action: "getFixedGoldRateActivation",
data: {
storeId: e,
userId: t
}
}, {
background: !0
})
},
getPrevious: function() {
return b.A.send("stores:action", {
action: "getPrevious",
data: {}
}, {
background: !0
})
},
getStoreById: Q,
getStoreByUrl: X,
getSession: Be,
getStoreTabStandDownStatus: Ue,
getStoreUrlTrace: function(e, t) {
return b.A.send("stores:action", {
action: "getStoreUrlTrace",
data: {
storeId: e,
sessionId: t
}
}, {
background: !0
})
},
getSubIds: Ne,
getTopStores: function() {
return b.A.send("stores:action", {
action: "getTopStores",
data: {}
}, {
background: !0
})
},
getTrending: function(e) {
return b.A.send("stores:action", {
action: "getTrending",
data: e
}, {
background: !0
})
},
getTrendingByGMV: function(e) {
return b.A.send("stores:action", {
action: "getTrendingByGMV",
data: {
country: e
}
}, {
background: !0
})
},
goToStorePage: function(e) {
e && k.A.open({
url: "".concat("https://www.joinhoney.com", "/shop/").concat(e),
active: !0
})
},
hasDac: ee,
haveCouponsBeenApplied: function(e) {
return Ee.apply(this, arguments)
},
maybeNotify: Ae,
saveCurrent: je,
search: function(e, t) {
return b.A.send("stores:action", {
action: "search",
data: {
countryCode: t,
query: e
}
}, {
background: !0
})
},
setCurrentStoreSessionAttribute: ue,
setSessionAttribute: Z,
setStoreTabStandDownStatus: function(e, t, n) {
return b.A.send("stores:action", {
action: "setStoreTabStandDownStatus",
data: {
storeId: e,
standDownStatus: t,
ttlSeconds: n
}
}, {
background: !0
})
},
determineMixinFallbackEligibility: Te,
snoozeFindSavings: function() {
return se().then(function(e) {
var t = w.A.getCtaType(e);
return v.A.get("user:lastSavings:".concat(e.id, ":").concat(t)).then(function() {
return we(e, arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {})
})
})
},
shouldShowFindSavingsAgain: _e,
updateFindSavingsCooldown: function(e) {
k.A.getCurrent().then(function(t) {
var n = "user:findSavingsCooldown:".concat(e.id);
v.A.get("".concat(e.id, ":").concat(t.id, ":stoodup")).then(function(e) {
e && v.A.del(n)
})
})
},
setFindSavingsCooldown: function() {
se().then(function(e) {
var t = "user:findSavingsCooldown:".concat(e.id),
n = {
timestamp: a()().unix()
};
return v.A.set(t, n), !0
})
},
standUpRelevantTabs: fe,
submitCoupon: function(e) {
return ue("manualCoupon", e.code), b.A.send("stores:action", {
action: "submitCoupon",
data: e
}, {
background: !0
})
},
tag: Le,
tagCurrentStore: function(e, t, n) {
return se().then(function(r) {
return Le(r.id, e, t, n)
})
},
updateStorePageDependentStatus: ie,
waitForCouponInput: ye,
waitForCouponInputChecker: be,
isBlockingCDN: function() {
return $e.apply(this, arguments)
},
isBlockingCDNLogic: Ge,
sendNumCoupons: Me
}
},
64055: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
U7: () => l,
dK: () => a
});
var r = n(76337),
o = n(50769),
i = function(e) {
return function(t) {
var n = t.whereAmI.whereAmIByPageId[e],
r = t.whereAmI.bestMatchProductByPageId[e];
if (n && r) return (0, o.VK)(r, n)
}
};
const a = {
selectProductByPageId: i,
selectProductByProductId: function(e) {
return function(t) {
var n = t.whereAmI.bestMatchProductByPageId || {},
r = Object.keys(n).find(function(t) {
return n[t].productId === e
});
return i(r)(t)
}
}
};
function s(e) {
return s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, s(e)
}
function c(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 u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != s(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != s(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == s(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? c(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : c(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}({}, r.o1);
const f = r.Ff
},
65129: (e, t, n) => {
"use strict";
n.d(t, {
A: () => d
});
var r = n(9666),
o = n(86146),
i = n.n(o),
a = n(72097),
s = n(27102),
c = n(22662),
u = n(7837),
l = (0, c.createUseStyles)({
container: {
display: "flex",
padding: function(e) {
return e.noPadding ? "unset" : "14px 0"
},
justifyContent: "center"
},
iconContainer: {
display: "flex",
width: "124px",
marginTop: "-2px",
marginLeft: "2px",
flexWrap: "nowrap",
textAlign: "left"
},
logo: {
width: "112px",
overflowX: "hidden",
display: "flex"
},
logoBtn: {
width: "12px",
overflowX: "hidden",
display: "flex"
},
logoImg: {
marginLeft: "-112px"
},
overflowVisible: {
overflow: "visible"
}
}),
f = function(e) {
var t = e.noPadding,
n = e.tooltipDirection,
o = l({
noPadding: t
}),
i = u.A.getMessage("This_feature_was_developed_by_Honey_Amazon_and_Honey_are_not_affiliated");
return r.createElement(s.Card, {
classes: {
root: o.overflowVisible
}
}, r.createElement("div", {
className: o.container
}, r.createElement("div", {
className: o.iconContainer
}, r.createElement("div", {
className: o.logo
}, r.createElement("img", {
src: "".concat("https://cdn.honey.io", "/images/powered_by_honey.svg"),
alt: "".concat(u.A.getMessage("Powered_by_HONEY").replace(/{HONEY}/g, "Honey"))
})), r.createElement(a.ToolTipIcon, {
direction: n,
dotted: !1,
copy: i,
customAnchorElement: r.createElement("div", {
className: o.logoBtn
}, r.createElement("img", {
className: o.logoImg,
src: "".concat("https://cdn.honey.io", "/images/powered_by_honey.svg"),
alt: u.A.getMessage("Info_Icon")
}))
}))))
};
f.propTypes = {
noPadding: i().bool,
tooltipDirection: i().string
}, f.defaultProps = {
noPadding: !1,
tooltipDirection: "bottom"
};
const d = f
},
65830: (e, t, n) => {
"use strict";
n.d(t, {
A: () => G,
G: () => M
});
var r = n(9666),
o = n(99459),
i = n(6120),
a = n(9921),
s = n(61565),
c = n(88585),
u = n(25094),
l = n(24333),
f = n(323),
d = n(63123),
p = n(98031),
h = n(13917),
m = n(43869),
g = n(91379),
y = n(20946),
v = n(80219);
function b(e) {
return b = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, b(e)
}
function _(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 S(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? _(Object(n), !0).forEach(function(t) {
w(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : _(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function w(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != b(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != b(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == b(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function O(e) {
return function(e) {
if (Array.isArray(e)) return I(e)
}(e) || function(e) {
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}(e) || x(e) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function E() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return k(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (k(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, k(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, k(f, "constructor", u), k(u, "constructor", c), c.displayName = "GeneratorFunction", k(u, o, "GeneratorFunction"), k(f), k(f, o, "Generator"), k(f, r, function() {
return this
}), k(f, "toString", function() {
return "[object Generator]"
}), (E = function() {
return {
w: i,
m: d
}
})()
}
function k(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
k = function(e, t, n, r) {
function i(t, n) {
k(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, k(e, t, n, r)
}
function T(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || x(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function x(e, t) {
if (e) {
if ("string" == typeof e) return I(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? I(e, t) : void 0
}
}
function I(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function P(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function A(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
P(i, r, o, a, s, "next", e)
}
function s(e) {
P(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
function C(e, t) {
return j.apply(this, arguments)
}
function j() {
return (j = A(E().m(function e(t, n) {
var r, o;
return E().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (void 0 !== window.MutationObserver) {
e.n = 1;
break
}
return e.a(2);
case 1:
return r = new MutationObserver(A(E().m(function e() {
var r, o, i, a;
return E().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Promise.all([(0, m.BM)(n), c.A.getCurrent()]);
case 1:
return r = e.v, o = T(r, 2), i = o[0], a = o[1], e.n = 2, v.t.request(v.N5.checkoutCartPriceChange, {
cartPrice: i,
tabId: a.id,
storeId: t.id,
storeName: t.name
});
case 2:
return e.a(2)
}
}, e)
}))), e.n = 2, l.A.waitForElement(n, {
timeout: 3e3
});
case 2:
try {
o = document.querySelector(n), r.observe(o, {
characterData: !0,
attributes: !1,
childList: !0,
subtree: !0
})
} catch (e) {
a.A.error("Error attaching mutation observer for store", {
storeId: t.id,
selector: n
})
}
case 3:
return e.a(2)
}
}, e)
}))).apply(this, arguments)
}
function R(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "body",
n = document.querySelector("#".concat(e));
n || ((n = document.createElement("div")).id = e, document.querySelector(t).appendChild(n));
return n
}
function M(e, t) {
return D.apply(this, arguments)
}
function D() {
return (D = A(E().m(function e(t, n) {
var r;
return E().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, (0, m.oO)(t);
case 1:
return r = e.v, n && "SUPPORTED" !== r.status && (0, y.r)({
eligibilityReason: "store-not-enabled",
iframeLoaded: !1,
isEligible: !1
}), e.a(2, r)
}
}, e)
}))).apply(this, arguments)
}
function N() {
return L.apply(this, arguments)
}
function L() {
return L = A(E().m(function e() {
var t, n, l, f, b, _, w, k, x, I, P, j, D, N, L, F;
return E().w(function(e) {
for (;;) switch (e.p = e.n) {
case 0:
return e.n = 1, Promise.all([u.A.getInfo(), s.A.getCurrent(), c.A.getCurrent(), (0, m.te)(h.ld.devToolsEnabled)]);
case 1:
if (t = e.v, n = T(t, 4), l = n[0], f = n[1], b = n[2], _ = n[3], f.id) {
e.n = 2;
break
}
return e.a(2);
case 2:
return e.p = 2, N = Boolean, e.n = 3, (0, m.pD)(f.id);
case 3:
if (L = e.v, w = N(L), k = null, x = null, I = [], w) {
e.n = 8;
break
}
return e.n = 4, M(f.id, _);
case 4:
return k = e.v, I.push.apply(I, O(k.checkoutTypes)), e.n = 5, d.A.startDiscovery(I, b.id, k.status);
case 5:
if (x = e.v, "SUPPORTED" === k.status) {
e.n = 6;
break
}
return (0, y.r)({
discovered: k.status
}), e.a(2);
case 6:
return e.n = 7, (0, m.OX)(f);
case 7:
_ && (0, y.r)({
discovered: x.origin
});
case 8:
return x && x.origin === h.YO.VCC && C(f, f.metadata.pns_siteSelCartTotalPrice), P = function() {
var e = A(E().m(function e(t) {
var n, r, o;
return E().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (!_) {
e.n = 2;
break
}
return n = t ? t.eligibilityReason : "none", r = !!t && t.isEligible, e.n = 1, v.fR.request(v.r8.merchantSPBGuestEnabled, {
merchantId: k.encryptedRcvrId
});
case 1:
o = e.v, (0, y.r)(S(S({}, t), {}, {
eligibilityReason: n,
isEligible: r,
isMerchantGuestEnabled: o,
iframeLoaded: !0
}));
case 2:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}(), j = R("honeyCheckout"), e.n = 9, (0, m.te)(h.ld.iFrameOriginUrl);
case 9:
if (D = e.v, !i.A) {
e.n = 11;
break
}
return e.n = 10, i.A.dispatch(p.h$.reset());
case 10:
i.A.dispatch(p.h$.setDiscoveryData(S({}, x)));
case 11:
o.render(r.createElement(g.A, {
SPBCheckoutCoordinator: undefined,
onIFrameLoadedProp: P,
iframeSrc: D,
store: f,
storeCheckoutConfig: k,
user: l,
discoveryData: x
}), j), e.n = 13;
break;
case 12:
e.p = 12, F = e.v, a.A.error("Error loading Honey Checkout iframe: ".concat(F));
case 13:
return e.a(2)
}
}, e, null, [
[2, 12]
])
})), L.apply(this, arguments)
}
function F(e) {
return !(!e.id || ["270883781864074943", "229099436401559906"].includes(e.id))
}
function B() {
return U.apply(this, arguments)
}
function U() {
return (U = A(E().m(function e() {
var t, n, i, a, c, u;
return E().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Promise.all([s.A.getCurrent(), (0, m.e5)(), f.A.getFeatureFlag("honey_checkout_spb_refactor_enabled")]);
case 1:
if (t = e.v, n = T(t, 3), i = n[0], a = n[1], c = n[2], a && F(i) && a[h.ld.devToolsEnabled]) {
e.n = 2;
break
}
return e.a(2);
case 2:
u = R("honeyCheckoutDevTools"), o.render(r.createElement(y.A, {
store: i,
checkoutSettings: a,
isRefactorEnabled: c
}), u);
case 3:
return e.a(2)
}
}, e)
}))).apply(this, arguments)
}
const G = {
start: function() {
setTimeout(N, 0), setTimeout(B, 0)
}
}
},
67107: (e, t, n) => {
"use strict";
var r = {};
n.r(r), n.d(r, {
FunctionToString: () => ru,
InboundFilters: () => cu,
LinkedErrors: () => yu
});
var o = {};
n.r(o), n.d(o, {
Breadcrumbs: () => Bd,
Dedupe: () => $d,
GlobalHandlers: () => Jd,
HttpContext: () => tp,
LinkedErrors: () => op,
TryCatch: () => cp
});
var i = {};
n.r(i), n.d(i, {
Breadcrumbs: () => Bd,
BrowserClient: () => Bf,
BrowserProfilingIntegration: () => lS,
BrowserTracing: () => b_,
Dedupe: () => $d,
Feedback: () => lb,
FunctionToString: () => ru,
GlobalHandlers: () => Jd,
HttpContext: () => tp,
Hub: () => Zs,
InboundFilters: () => cu,
Integrations: () => dS,
LinkedErrors: () => op,
ModuleMetadata: () => Bu,
Replay: () => rv,
ReplayCanvas: () => Nv,
SDK_VERSION: () => Ks,
SEMANTIC_ATTRIBUTE_SENTRY_OP: () => $u,
SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN: () => Hu,
SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE: () => Gu,
SEMANTIC_ATTRIBUTE_SENTRY_SOURCE: () => Uu,
Scope: () => Ys,
TryCatch: () => cp,
WINDOW: () => wf,
addBreadcrumb: () => Tc,
addEventProcessor: () => ol,
addGlobalEventProcessor: () => vs,
addIntegration: () => Qc,
addTracingExtensions: () => Ql,
breadcrumbsIntegration: () => Fd,
browserApiErrorsIntegration: () => sp,
browserProfilingIntegration: () => uS,
browserTracingIntegration: () => O_,
captureConsoleIntegration: () => db,
captureEvent: () => Ec,
captureException: () => wc,
captureMessage: () => Oc,
captureSession: () => Wc,
captureUserFeedback: () => _p,
chromeStackLineParser: () => Xf,
close: () => Fc,
configureScope: () => kc,
contextLinesIntegration: () => mb,
continueTrace: () => xl,
createTransport: () => of,
createUserFeedbackEnvelope: () => Ff,
debugIntegration: () => yb,
dedupeIntegration: () => _b,
defaultIntegrations: () => pp,
defaultRequestInstrumentationOptions: () => p_,
defaultStackLineParsers: () => cd,
defaultStackParser: () => ud,
endSession: () => zc,
eventFromException: () => Rf,
eventFromMessage: () => Mf,
exceptionFromError: () => If,
extraErrorDataIntegration: () => Tb,
extractTraceparentData: () => yl,
feedbackIntegration: () => ub,
flush: () => Lc,
forceLoad: () => yp,
functionToStringIntegration: () => nu,
geckoStackLineParser: () => td,
getActiveSpan: () => Tl,
getActiveTransaction: () => gl,
getClient: () => Uc,
getCurrentHub: () => nc,
getCurrentScope: () => $c,
getDefaultIntegrations: () => hp,
getHubFromCarrier: () => sc,
getReplay: () => iv,
getSpanStatusFromHttpCode: () => Nl,
globalHandlersIntegration: () => Yd,
httpClientIntegration: () => Ib,
httpContextIntegration: () => ep,
inboundFiltersIntegration: () => su,
init: () => mp,
instrumentOutgoingRequests: () => h_,
isInitialized: () => Gc,
lastEventId: () => Bc,
linkedErrorsIntegration: () => rp,
makeBrowserOfflineTransport: () => L_,
makeFetchTransport: () => qf,
makeMain: () => tc,
makeMultiplexedTransport: () => cf,
makeXHRTransport: () => Vf,
metrics: () => vf,
moduleMetadataIntegration: () => Fu,
onLoad: () => vp,
onProfilingStartRouteTransaction: () => aS,
opera10StackLineParser: () => id,
opera11StackLineParser: () => sd,
parameterize: () => bf,
replayCanvasIntegration: () => Dv,
replayIntegration: () => nv,
reportingObserverIntegration: () => Lb,
rewriteFramesIntegration: () => zb,
sendFeedback: () => Vv,
sessionTimingIntegration: () => Wb,
setContext: () => xc,
setCurrentClient: () => _f,
setExtra: () => Pc,
setExtras: () => Ic,
setHttpStatus: () => Fl,
setMeasurement: () => Sf,
setTag: () => Cc,
setTags: () => Ac,
setUser: () => jc,
showReportDialog: () => gp,
spanStatusfromHttpCode: () => Ll,
startBrowserTracingNavigationSpan: () => k_,
startBrowserTracingPageLoadSpan: () => E_,
startInactiveSpan: () => kl,
startSession: () => Hc,
startSpan: () => Ol,
startSpanManual: () => El,
startTransaction: () => Nc,
trace: () => wl,
winjsStackLineParser: () => rd,
withActiveSpan: () => Dc,
withIsolationScope: () => Mc,
withScope: () => Rc,
wrap: () => bp
});
n(10499), n(78098);
var a, s = n(262),
c = n.n(s),
u = n(69698),
l = n.n(u),
f = n(24333),
d = n(76364),
p = n(68031),
h = n(77002),
m = n(69145),
g = n(18323),
y = n(65830);
function v() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return b(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (b(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, b(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, b(f, "constructor", u), b(u, "constructor", c), c.displayName = "GeneratorFunction", b(u, o, "GeneratorFunction"), b(f), b(f, o, "Generator"), b(f, r, function() {
return this
}), b(f, "toString", function() {
return "[object Generator]"
}), (v = function() {
return {
w: i,
m: d
}
})()
}
function b(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
b = function(e, t, n, r) {
function i(t, n) {
b(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, b(e, t, n, r)
}
function _(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}(a = v().m(function e() {
return v().w(function(e) {
for (;;) switch (e.n) {
case 0:
y.A.start();
case 1:
return e.a(2)
}
}, e)
}), function() {
var e = this,
t = arguments;
return new Promise(function(n, r) {
var o = a.apply(e, t);
function i(e) {
_(o, n, r, i, s, "next", e)
}
function s(e) {
_(o, n, r, i, s, "throw", e)
}
i(void 0)
})
})();
var S = n(17144),
w = n(82),
O = n(31755),
E = n(61117),
k = n(67867),
T = n(7837),
x = n(38907),
I = n(9921),
P = n(32969),
A = n(24166);
P.A.addListener("mseupsell:action", function(e, t) {
var n = t && t.flow ? t.flow : "default";
switch (t && t.action) {
case "showMSEPrompt":
A.A.open({
pathname: "/msePrompt",
query: {
flow: n
},
force: !0,
feature: "qr-code-prompt",
surface: "popup"
});
break;
case "showQrCode":
A.A.open({
pathname: "/qrCode",
query: {
flow: n
},
force: !0,
feature: "qr-code-scan",
surface: "popup"
});
break;
default:
throw new InvalidParametersError("No mseupsell:action listener for ".concat(t.action))
}
});
var C = n(2733),
j = n(13038),
R = n(9666),
M = n(99459),
D = n(11389),
N = n.n(D),
L = n(7720),
F = n(25094),
B = n(61565),
U = n(88585),
G = n(86531),
$ = n.n(G),
H = n(32372),
z = n(48158);
function q() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return W(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (W(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, W(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, W(f, "constructor", u), W(u, "constructor", c), c.displayName = "GeneratorFunction", W(u, o, "GeneratorFunction"), W(f), W(f, o, "Generator"), W(f, r, function() {
return this
}), W(f, "toString", function() {
return "[object Generator]"
}), (q = function() {
return {
w: i,
m: d
}
})()
}
function W(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
W = function(e, t, n, r) {
function i(t, n) {
W(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, W(e, t, n, r)
}
function V(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
var Y = function(e, t) {
return e.GOLD_REWARDS && (!t.gold || t.gold && t.gold.activated)
},
J = function(e, t) {
return e && (e.FIND_SAVINGS || e.GOLD_REWARDS) && $().unix(t.applyCodesComplete).isAfter($()().subtract(2, "hours"))
},
K = function(e) {
return e && !e.FIND_SAVINGS
},
Q = function(e) {
return !e.standDown
};
function X() {
return X = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
V(i, r, o, a, s, "next", e)
}
function s(e) {
V(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(q().m(function e(t, n, r) {
var o, i, a, s, c;
return q().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (c = n) {
e.n = 2;
break
}
return e.n = 1, B.A.getCurrent();
case 1:
c = e.v;
case 2:
if (o = c, i = z.A.getCtaType(o), !(i === H.ct.NONE)) {
e.n = 3;
break
}
return e.a(2, !0);
case 3:
return a = [Y, J, K], r && (a = r), e.n = 4, Promise.all(a.map(function(e) {
return e(t, o)
}));
case 4:
return s = e.v, e.a(2, s.some(function(e) {
return e
}) && Q(o))
}
}, e)
})), X.apply(this, arguments)
}
const Z = {
isFsOrGoldAndMoreThanTwoHrs: J,
isNotOnFs: K,
isOnGoldRewardsOrActivated: Y,
isPaymentsViewPrioritized: function(e, t, n) {
return X.apply(this, arguments)
}
};
var ee = n(28498),
te = n(46299),
ne = n(323),
re = n(62397);
function oe(e) {
return oe = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, oe(e)
}
function ie(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 ae(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? ie(Object(n), !0).forEach(function(t) {
se(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ie(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function se(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != oe(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != oe(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == oe(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var ce = {
extensionRemoveIFrame: "extensionRemoveIFrame",
extensionSendSDataEvent: "extensionSendSDataEvent",
extensionUpdateStyles: "extensionUpdateStyles",
extensionExperimentsGetVariant: "extensionExperimentsGetVariant",
extensionExperimentsTrackImpression: "extensionExperimentsTrackImpression",
extensionGetUserABGroup: "extensionGetUserABGroup",
extensionGetI18nCountryCode: "extensionGetI18nCountryCode",
extensionGetI18nMessage: "extensionGetI18nMessage",
extensionSetGiftCardsEnabledForUser: "extensionSetGiftCardsEnabledForUser",
extensionOpenLoginPrompt: "extensionOpenLoginPrompt",
extensionHideContentUI: "extensionHideContentUI",
extensionGetCartPrice: "extensionGetCartPrice",
extensionSetIFrameAttribute: "extensionSetIFrameAttribute",
extensionRemoveIFrameAttribute: "extensionRemoveIFrameAttribute",
extensionSetHoneyStorageItem: "extensionSetHoneyStorageItem",
extensionGetHoneyStorageItem: "extensionGetHoneyStorageItem",
extensionRemoveHoneyStorageItem: "extensionRemoveHoneyStorageItem",
extensionSetWindowLocalStorageItem: "extensionSetWindowLocalStorageItem",
extensionGetWindowLocalStorageItem: "extensionGetWindowLocalStorageItem",
extensionRemoveWindowLocalStorageItem: "extensionRemoveWindowLocalStorageItem",
extensionGQLQuery: "extensionGQLQuery",
extensionGQLMutation: "extensionGQLMutation",
extensionOpenGiftCardDealModal: "extensionOpenGiftCardDealModal",
giftCardsInit: "giftCardsInit",
giftCardsReady: "giftCardsReady",
giftCardsUserUpdate: "giftCardsUserUpdate",
giftCardsCartPriceChange: "giftCardsCartPriceChange",
giftCardsUserLoggedIn: "giftCardsUserLoggedIn",
giftCardsFindSavingsClosed: "giftCardsFindSavingsClosed",
extensionSetIsMinimized: "extensionSetIsMinimized",
giftCardsSetIsMinimized: "giftCardsSetIsMinimized"
},
ue = Object.keys(ce).reduce(function(e, t) {
return ae(ae({}, e), {}, se({}, t, t))
}, {}),
le = new Proxy(ue, {
get: function(e, t, n) {
var r = Reflect.get(e, t, n);
if (void 0 === r) throw new Error("checkout message name not found: ".concat(t));
return r
}
});
const fe = new re.PostMessenger({
types: ce,
enableLogging: !1,
clientName: "extension",
useEncryption: !1
});
var de = n(86146),
pe = n.n(de),
he = n(46946),
me = n(65855),
ge = n(22662),
ye = n(72097),
ve = n(48611);
function be(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return _e(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _e(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function _e(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var Se = {
root: {
display: "flex",
position: "fixed",
right: "0px",
top: "80px",
zIndex: 2147483647
},
container: {
backgroundColor: ye.Colors.white,
width: "280px",
right: function(e) {
return e.isExpanded ? "0px" : "-202px"
},
transition: "all 400ms ease-in-out",
height: "56px",
display: "flex",
flexDirection: "row",
alignItems: "center",
justifyContent: "flex-start",
borderRadius: "5px 0px 0px 5px",
position: "relative",
boxShadow: "0px 2px 35px rgba(0, 0, 0, 0.25)"
},
icon: {
cursor: "pointer",
width: "18px",
height: "18px",
marginLeft: "9px"
},
dotsContainer: {
alignItems: "center",
cursor: "move",
display: "flex",
height: "100%",
paddingRight: "9px"
},
dots: {
display: "flex",
flexDirection: "column",
height: "17px",
width: "10px",
justifyContent: "space-between",
marginLeft: "16px"
},
dotRow: {
width: "100%",
display: "flex",
justifyContent: "space-between"
},
dot: {
height: "3px",
width: "3px",
display: "inline-block",
borderRadius: "50%",
backgroundColor: ye.Colors.grey600
},
content: {
cursor: "pointer",
display: "flex",
flexDirection: "row",
alignItems: "center",
justifyContent: "flex-start",
width: "100%"
},
savingsText: {
marginLeft: "18px"
},
giftCardInfo: {
fontSize: "12px"
},
title: {
color: ye.Colors.grey900,
fontSize: "12px",
fontWeight: "600"
},
savings: {
color: ye.Colors.green500,
fontWeight: "700"
},
goldAward: {
color: ye.Colors.gold900,
fontWeight: "700"
},
seeSavings: {
color: ye.Colors.grey800,
composes: "link1"
}
},
we = (0, ge.createUseStyles)(Se),
Oe = function(e) {
var t = e.handleUnMinimize,
n = e.savings,
r = e.goldAward,
o = e.autoPopType,
i = be((0, R.useState)(!1), 2),
a = i[0],
s = i[1],
c = we({
isExpanded: a
}),
u = (0, R.createRef)(),
l = function(e) {
return function() {
s(e)
}
},
f = function(e) {
var t = e.changedTouches && e.changedTouches[0].clientY || e.clientY;
(t < 0 || t > window.innerHeight - 56) && (t = t < 0 ? 0 : window.innerHeight - 56), u.current.style.top = "".concat(t, "px")
};
function d() {
window.removeEventListener("mousemove", f), window.removeEventListener("mouseup", d)
}
var p = function() {
return n && !r
},
h = Number(r).toLocaleString(),
m = "$".concat(r / 100),
g = function() {
return !n && r ? T.A.getMessageAndReplace("Get_GOLDINCURRENCY_GOLDPOINTS", {
GOLDINCURRENCY: R.createElement("span", {
className: c.goldAward
}, m),
GOLDPOINTS: R.createElement("span", null, h)
}) : p() ? T.A.getMessageAndReplace("Save_SAVINGS_with_a_gift_card", {
SAVINGS: R.createElement("span", {
className: c.savings
}, (0, ve.nT)(n))
}) : T.A.getMessageAndReplace("Save_SAVINGS_and_get_Gold", {
SAVINGS: R.createElement("span", {
className: c.savings
}, (0, ve.nT)(n))
})
};
return R.createElement("div", {
ref: u,
className: c.root
}, R.createElement("div", {
className: c.container
}, R.createElement("div", {
className: c.dotsContainer,
onMouseDown: function() {
window.addEventListener("mousemove", f), window.addEventListener("mouseup", d)
},
onMouseUp: d,
onTouchMove: f
}, R.createElement("div", {
className: c.dots
}, R.createElement("div", {
className: c.dotRow
}, R.createElement("div", {
className: c.dot
}), R.createElement("div", {
className: c.dot
})), R.createElement("div", {
className: c.dotRow
}, R.createElement("div", {
className: c.dot
}), R.createElement("div", {
className: c.dot
})), R.createElement("div", {
className: c.dotRow
}, R.createElement("div", {
className: c.dot
}), R.createElement("div", {
className: c.dot
})))), R.createElement("div", {
className: c.content,
onClick: t,
onMouseEnter: l(!0),
onMouseLeave: l(!1)
}, R.createElement("img", {
className: c.icon,
src: "".concat("https://cdn.honey.io", "/images/finance/honey-icon-orange.svg"),
alt: "Open Honey"
}), R.createElement("div", {
className: c.savingsText
}, "HOOK" === o ? R.createElement(R.Fragment, null, R.createElement("div", {
className: c.title
}, g()), R.createElement("div", {
className: c.seeSavings
}, p() ? T.A.getMessage("Click_to_see_savings") : T.A.getMessage("Click_to_see_Gift_Card_Deal"))) : R.createElement("div", {
className: c.giftCardInfo
}, T.A.getMessage("Click_for_gift_card_info"))))))
};
Oe.propTypes = {
handleUnMinimize: pe().func.isRequired,
savings: pe().number.isRequired,
goldAward: pe().number.isRequired,
autoPopType: pe().string.isRequired
};
const Ee = Oe;
function ke(e) {
return ke = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, ke(e)
}
var Te = ["eventName"];
function xe(e) {
return function(e) {
if (Array.isArray(e)) return Ne(e)
}(e) || function(e) {
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}(e) || De(e) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function Ie(e, t) {
if (null == e) return {};
var n, r, o = function(e, t) {
if (null == e) return {};
var n = {};
for (var r in e)
if ({}.hasOwnProperty.call(e, r)) {
if (-1 !== t.indexOf(r)) continue;
n[r] = e[r]
} return n
}(e, t);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (r = 0; r < i.length; r++) n = i[r], -1 === t.indexOf(n) && {}.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
}
return o
}
function Pe(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 Ae(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? Pe(Object(n), !0).forEach(function(t) {
Ce(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Pe(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function Ce(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != ke(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != ke(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == ke(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function je() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Re(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Re(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Re(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Re(f, "constructor", u), Re(u, "constructor", c), c.displayName = "GeneratorFunction", Re(u, o, "GeneratorFunction"), Re(f), Re(f, o, "Generator"), Re(f, r, function() {
return this
}), Re(f, "toString", function() {
return "[object Generator]"
}), (je = function() {
return {
w: i,
m: d
}
})()
}
function Re(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Re = function(e, t, n, r) {
function i(t, n) {
Re(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Re(e, t, n, r)
}
function Me(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || De(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function De(e, t) {
if (e) {
if ("string" == typeof e) return Ne(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ne(e, t) : void 0
}
}
function Ne(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function Le(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function Fe(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Le(i, r, o, a, s, "next", e)
}
function s(e) {
Le(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var Be, Ue, Ge, $e = "https://cdn.joinhoney.com/gift-cards/index.html";
function He(e) {
for (var t = new ArrayBuffer(2 * e.length), n = new Uint16Array(t), r = 0, o = e.length; r < o; r += 1) n[r] = e.charCodeAt(r);
return t
}
function ze() {
return qe.apply(this, arguments)
}
function qe() {
return (qe = Fe(je().m(function e() {
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, crypto.subtle.generateKey({
name: "AES-CBC",
length: 256
}, !0, ["encrypt", "decrypt"]);
case 1:
Be = e.v, Ue = crypto.getRandomValues(new Uint8Array(16)), Ge = {
name: "AES-CBC",
iv: Ue
};
case 2:
return e.a(2)
}
}, e)
}))).apply(this, arguments)
}
function We(e) {
return Ve.apply(this, arguments)
}
function Ve() {
return (Ve = Fe(je().m(function e(t) {
var n, r, o, i;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = He(t), e.n = 1, crypto.subtle.decrypt(Ge, Be, n);
case 1:
return r = e.v, o = new TextDecoder, i = o.decode(r), e.a(2, i)
}
}, e)
}))).apply(this, arguments)
}
function Ye(e) {
var t = e.data,
n = (0, R.useRef)(!1),
r = (0, R.useRef)(),
o = (0, R.useRef)(function() {}),
i = (0, R.useRef)(document.querySelector("body")),
a = Me((0, R.useState)(null), 2),
s = a[0],
c = a[1],
u = Me((0, R.useState)(!1), 2),
l = u[0],
f = u[1],
d = Me((0, R.useState)(null), 2),
p = d[0],
h = d[1],
m = Me((0, R.useState)(null), 2),
g = m[0],
y = m[1],
v = Me((0, R.useState)(null), 2),
b = v[0],
_ = v[1];
function S() {
o.current(), fe.stopListening(), r.current.remove()
}
function w(e) {
var t = e.visible,
n = e.lockScrolling,
o = e.bodyStyle,
a = void 0 === o ? {} : o,
s = e.iframeStyle,
c = void 0 === s ? {} : s;
return Object.assign(i.current.style, Ae({
overflow: n ? "hidden" : "auto"
}, a)), Object.assign(r.current.style, Ae({
visibility: t ? "visible" : "hidden"
}, c)), !0
}
function O() {
return O = Fe(je().m(function e() {
var i, a, s;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, ze();
case 1:
return fe.setTarget(r.current.contentWindow, $e), fe.beginListening(function(e) {
return $e.match(new RegExp("^(".concat(e, ")")))
}), o.current = fe.bindResponders((Ce(Ce(Ce(Ce(Ce(Ce(Ce(Ce(Ce(Ce(i = {}, le.giftCardsReady, function() {
P.A.send("gift-cards-app:ready", {})
}), le.extensionSendSDataEvent, function() {
var e = Fe(je().m(function e(t) {
var n, r;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = t.eventName, r = Ie(t, Te), e.n = 1, he.A.sendEvent(n, r);
case 1:
return e.a(2, !0)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionRemoveIFrame, S), le.extensionUpdateStyles, w), le.extensionExperimentsGetVariant, function(e) {
return E.A.getVariant(e.variantName)
}), le.extensionGetI18nMessage, function(e) {
return T.A.getMessage(e.messageName)
}), le.extensionSetIFrameAttribute, function(e) {
return r.current.setAttribute(e.attributeName, e.value), !0
}), le.extensionRemoveIFrameAttribute, function(e) {
return r.current.removeAttribute(e.attributeName), !0
}), le.extensionSetGiftCardsEnabledForUser, function(e) {
return F.A.updateSetting("honeyWallet", e.enabled ? 1 : 0)
}), le.extensionOpenLoginPrompt, function() {
return A.A.open({
pathname: "/gift-cards-auth",
query: {},
state: {},
force: !0,
feature: "gift-cards-auth",
surface: "popup"
})
}), Ce(Ce(Ce(Ce(Ce(Ce(Ce(Ce(Ce(Ce(i, le.extensionHideContentUI, function() {
return A.A.hide()
}), le.extensionGetCartPrice, Fe(je().m(function e() {
var t, n;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, B.A.getCurrent();
case 1:
return t = e.v, e.n = 2, it(t);
case 2:
return n = e.v, e.a(2, n)
}
}, e)
}))), le.extensionSetHoneyStorageItem, function() {
var e = Fe(je().m(function e(t) {
var n, r;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = t.key, r = t.value, e.n = 1, me.A.local.set(n, r);
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionGetHoneyStorageItem, function() {
var e = Fe(je().m(function e(t) {
var n, r;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = t.key, e.n = 1, me.A.local.get(n).catch(function() {
return null
});
case 1:
return r = e.v, e.a(2, r)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionRemoveHoneyStorageItem, function() {
var e = Fe(je().m(function e(t) {
var n, r;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = t.key, e.n = 1, me.A.local.del(n).catch(function() {
return null
});
case 1:
return r = e.v, e.a(2, r)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionSetWindowLocalStorageItem, function() {
var e = Fe(je().m(function e(t) {
var n, r;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = t.key, r = t.value, e.n = 1, P.A.send("honey-pay-now:action:local-storage", {
action: te.f_.SET_LOCAL_STORAGE_ITEM,
data: {
key: n,
value: r
}
}, {
background: !0
});
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionGetWindowLocalStorageItem, function() {
var e = Fe(je().m(function e(t) {
var n, r;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = t.key, e.n = 1, P.A.send("honey-pay-now:action:local-storage", {
action: te.f_.GET_LOCAL_STORAGE_ITEM,
data: {
key: n
}
}, {
background: !0
});
case 1:
return r = e.v, e.a(2, r)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionRemoveWindowLocalStorageItem, function() {
var e = Fe(je().m(function e(t) {
var n, r;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = t.key, e.n = 1, P.A.send("honey-pay-now:action:local-storage", {
action: te.f_.REMOVE_LOCAL_STORAGE_ITEM,
data: {
key: n
}
}, {
background: !0
});
case 1:
return r = e.v, e.a(2, r)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionGQLQuery, function() {
var e = Fe(je().m(function e(t) {
var n, r, o;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (n = t.requestData, !t.encrypted) {
e.n = 2;
break
}
return e.n = 1, We(t.requestData);
case 1:
r = e.v, n = JSON.parse(r);
case 2:
return e.n = 3, P.A.send("honey-pay-now:action:gql-query", {
action: te.f_.GQL_QUERY,
data: n
}, {
background: !0
});
case 3:
return o = e.v, e.a(2, o)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionGQLMutation, function() {
var e = Fe(je().m(function e(t) {
var n, r, o;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (n = t.requestData, !t.encrypted) {
e.n = 2;
break
}
return e.n = 1, We(t.requestData);
case 1:
r = e.v, n = JSON.parse(r);
case 2:
return e.n = 3, P.A.send("honey-pay-now:action:gql-query", {
action: te.f_.GQL_MUTATION,
data: n
}, {
background: !0
});
case 3:
return o = e.v, e.a(2, o)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), Ce(Ce(Ce(Ce(i, le.extensionGetUserABGroup, Fe(je().m(function e() {
var t;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, F.A.getUserABGroup("auth");
case 1:
return t = e.v, e.a(2, t)
}
}, e)
}))), le.extensionGetI18nCountryCode, Fe(je().m(function e() {
var t;
return je().w(function(e) {
for (;;)
if (0 === e.n) return t = T.A.getCountryCode(), e.a(2, t)
}, e)
}))), le.extensionSetIsMinimized, function() {
var e = Fe(je().m(function e(t) {
var n, r, o, i;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
n = t.isMinimized, r = t.savings, o = t.goldAward, i = t.autoPopType, _(i), r && h(r), o && y(o), f(n);
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), le.extensionOpenGiftCardDealModal, Fe(je().m(function e() {
var t;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, B.A.getCurrent();
case 1:
t = e.v, B.A.tag(t.id, "extension_links", null, {
forceHidden: !0,
src: "GiftCardDealOpenModal"
});
case 2:
return e.a(2)
}
}, e)
}))))), e.n = 2, crypto.subtle.exportKey("jwk", Be);
case 2:
return a = e.v, e.n = 3, fe.request(le.giftCardsInit, Ae(Ae({}, t), {}, {
jsonRequestKey: a,
requestIV: xe(Ue),
parentOrigin: window.location.origin
}));
case 3:
s = e.v, n.current = s;
case 4:
return e.a(2)
}
}, e)
})), O.apply(this, arguments)
}(0, R.useEffect)(function() {
Fe(je().m(function e() {
var t;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, ne.A.getFeatureFlag("gift_cards_use_remote_iframe");
case 1:
t = e.v, c(t);
case 2:
return e.a(2)
}
}, e)
}))()
}, []), (0, R.useEffect)(function() {
return function() {
return S()
}
}, []), (0, R.useEffect)(function() {
function e(e) {
return t.apply(this, arguments)
}
function t() {
return t = Fe(je().m(function e(t) {
var n, r, o = arguments;
return je().w(function(e) {
for (;;) switch (e.n) {
case 0:
r = (n = o.length > 1 && void 0 !== o[1] ? o[1] : {}) && n.action, e.n = r === te.f_.SET_PAY_NOW_MODAL_VISIBILITY ? 1 : r === te.f_.REMOVE_PAY_NOW_IFRAME ? 2 : 3;
break;
case 1:
return w({
visible: n.data.isVisible,
lockScrolling: n.data.isVisible
}), e.a(3, 4);
case 2:
return S(), e.a(3, 4);
case 3:
return e.a(3, 4);
case 4:
return e.a(2)
}
}, e)
})), t.apply(this, arguments)
}
function n(e, t) {
var n = t.user;
fe.request(le.giftCardsUserUpdate, n)
}
return P.A.addListener("honey-pay-now:action:ui", e), P.A.addListener("user:current:update", n),
function() {
P.A.removeListener("honey-pay-now:action:ui", e), P.A.removeListener("user:current:update", n)
}
}, []);
return null === s ? null : R.createElement(R.Fragment, null, l && R.createElement(Ee, {
autoPopType: b,
handleUnMinimize: function() {
fe.request(le.giftCardsSetIsMinimized, !1), f(!1, b)
},
goldAward: g,
savings: p
}), R.createElement("iframe", {
ref: r,
id: "giftcardsIFrame",
title: "Honey Pay Now",
src: $e,
className: null,
style: {
visibility: "hidden"
},
onLoad: function() {
return O.apply(this, arguments)
},
scrolling: "no"
}))
}
Ye.propTypes = {
data: pe().object
}, Ye.defaultProps = {
data: {}
};
const Je = Ye;
function Ke(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return Qe(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Qe(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function Qe(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function Xe() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Ze(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Ze(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Ze(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Ze(f, "constructor", u), Ze(u, "constructor", c), c.displayName = "GeneratorFunction", Ze(u, o, "GeneratorFunction"), Ze(f), Ze(f, o, "Generator"), Ze(f, r, function() {
return this
}), Ze(f, "toString", function() {
return "[object Generator]"
}), (Xe = function() {
return {
w: i,
m: d
}
})()
}
function Ze(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Ze = function(e, t, n, r) {
function i(t, n) {
Ze(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Ze(e, t, n, r)
}
function et(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function tt(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
et(i, r, o, a, s, "next", e)
}
function s(e) {
et(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var nt = /[\d+][,.\d+]+/;
function rt(e) {
var t = e && e.match(nt);
if (t) return t[0]
}
function ot() {
return ot = tt(Xe().m(function e(t) {
var n, r, o, i = arguments;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n = i.length > 1 && void 0 !== i[1] ? i[1] : 3e3, e.n = 1, f.A.waitForElement(t, {
timeout: n
});
case 1:
return r = e.v, o = rt(r.text()), e.a(2, f.A.cleanPrice(o))
}
}, e)
})), ot.apply(this, arguments)
}
function it(e) {
var t = function(e) {
return ot.apply(this, arguments)
}(e.metadata.honeyPayCartPriceSelector);
return t
}
function at(e) {
[].forEach(function(t) {
return P.A.send("honey-pay-now:action:".concat(t), {
action: te.f_.SET_CART_PRICE,
data: {
cartPrice: e
}
}, {
background: !0
})
})
}
function st(e) {
var t = function(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "body",
n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "",
r = document.querySelector("#".concat(e));
return r || ((r = document.createElement("div")).id = e, r.style.cssText = n, document.querySelector(t).appendChild(r)), r
}("honeyPayNowContainer");
M.render(R.createElement(Je, {
data: e
}), t)
}
function ct(e, t, n) {
return ut.apply(this, arguments)
}
function ut() {
return (ut = tt(Xe().m(function e(t, n, r) {
var o, i, a;
return Xe().w(function(e) {
for (;;) switch (e.p = e.n) {
case 0:
if (void 0 !== window.MutationObserver) {
e.n = 1;
break
}
return e.a(2);
case 1:
return o = new MutationObserver(tt(Xe().m(function e() {
var n, o;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, it(t);
case 1:
return n = e.v, e.n = 2, ne.A.getFeatureFlag("gift_cards_use_remote_iframe");
case 2:
if (!e.v) {
e.n = 3;
break
}
return o = U.A.getCurrent(), e.n = 3, fe.request(le.giftCardsCartPriceChange, {
cartPrice: n,
tabId: o.id,
prioritized: r,
storeId: t.id,
storeName: t.name
});
case 3:
return e.a(2)
}
}, e)
}))), e.n = 2, f.A.waitForElement(n, {
timeout: 3e3
});
case 2:
return e.p = 2, e.n = 3, ne.A.getFeatureFlag("gift_card_deals_observe_body_for_total");
case 3:
i = e.v, a = i ? document.body : document.querySelector(n), o.observe(a, {
characterData: !0,
attributes: !1,
childList: !0,
subtree: !0
}), e.n = 5;
break;
case 4:
e.p = 4, e.v, I.A.error("Error attaching mutation observer for store ".concat(t.id, " with selector ").concat(n));
case 5:
return e.a(2)
}
}, e, null, [
[2, 4]
])
}))).apply(this, arguments)
}
function lt(e) {
var t = e.allPageTypes;
return Z.isPaymentsViewPrioritized(t)
}
function ft(e) {
return dt.apply(this, arguments)
}
function dt() {
return (dt = tt(Xe().m(function e(t) {
var n, r, o, i, a;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Promise.all([ee.A.getReminder(t), L.A.get("honey-pay-now:gift-card-deal-reminder:".concat(t))]);
case 1:
return n = e.v, r = Ke(n, 2), o = r[0], i = r[1], a = null, i && (a = i.isGiftcardTipEngaged), e.a(2, !(!o && !a))
}
}, e)
}))).apply(this, arguments)
}
function pt(e, t) {
return ht.apply(this, arguments)
}
function ht() {
return (ht = tt(Xe().m(function e(t, n) {
var r, o;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
return r = U.A.getCurrent(), e.n = 1, ft(t.id);
case 1:
return o = e.v, e.n = 2, fe.request(le.giftCardsFindSavingsClosed, {
cartPrice: n,
tabId: r.id,
prioritized: !0,
storeId: t.id,
storeName: t.name,
isReminderSet: o
});
case 2:
return e.a(2)
}
}, e)
}))).apply(this, arguments)
}
P.A.addListener("current:product", function() {
var e = tt(Xe().m(function e(t, n) {
var r, o, i, a, s, c, u, l;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
return r = n.data, e.n = 1, U.A.getCurrent();
case 1:
o = e.v, i = o.id, a = r.partialObservation, s = a.price, c = a.url, u = r.productId, l = N()(s).value(), L.A.set("honey-pay-now:product:".concat(c, ":").concat(i), {
productPrice: l,
productId: u
});
case 2:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()), P.A.addListener("honey-pay-now:action:ui", function(e, t) {
switch (t && t.action) {
case te.f_.SET_PAY_NOW_CARD_VISIBILITY:
return A.A.open({
pathname: "/honey-pay-now-card",
query: {},
state: {
cardData: t.data.cardData
},
force: !0,
feature: "honey-pay-now-card",
surface: "popup"
});
case te.f_.OPEN_PAY_NOW_AUTOPOP:
return A.A.open({
pathname: "/honey-pay-now-autopop",
query: {},
state: t.data,
force: !0,
feature: "honey-pay-now-autopop",
surface: "popup"
});
default:
throw new InvalidParametersError("Invalid action")
}
}), Promise.all([new Promise(function(e) {
P.A.addListener("gift-cards-app:ready", function() {
return e()
})
}), new Promise(function(e) {
P.A.addListener("find-savings:closed", function() {
return e()
})
})]).then(tt(Xe().m(function e() {
var t, n;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, B.A.getCurrent();
case 1:
if ((t = e.v).id) {
e.n = 2;
break
}
return e.a(2);
case 2:
return e.n = 3, it(t);
case 3:
if (n = e.v) {
e.n = 4;
break
}
return e.a(2);
case 4:
return e.n = 5, ne.A.getFeatureFlag("gift_cards_use_remote_iframe");
case 5:
if (!e.v) {
e.n = 6;
break
}
return e.n = 6, pt(t, n);
case 6:
return e.a(2)
}
}, e)
}))).catch(function() {
return ""
}), P.A.addListener("find-savings:complete", tt(Xe().m(function e() {
var t, n;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, B.A.getCurrent();
case 1:
if ((t = e.v).id) {
e.n = 2;
break
}
return e.a(2);
case 2:
return e.n = 3, it(t);
case 3:
if (n = e.v) {
e.n = 4;
break
}
return e.a(2);
case 4:
return e.n = 5, ne.A.getFeatureFlag("gift_cards_use_remote_iframe");
case 5:
if (!e.v) {
e.n = 6;
break
}
return e.n = 6, pt(t, n);
case 6:
return e.a(2)
}
}, e)
})));
var mt = 0;
P.A.addListener("pageDetected:PAYMENTS", function() {
var e = tt(Xe().m(function e(t, n) {
var r, o, i, a, s, c, u, l, f, d;
return Xe().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (r = n.data, !((o = Date.now()) - mt < 5e3)) {
e.n = 1;
break
}
return e.a(2);
case 1:
mt = o;
case 2:
return e.n = 3, B.A.getCurrent();
case 3:
if ((i = e.v).id) {
e.n = 4;
break
}
return e.a(2);
case 4:
return e.n = 5, it(i);
case 5:
if (a = e.v) {
e.n = 6;
break
}
return e.a(2);
case 6:
return e.n = 7, ne.A.getFeatureFlag("gift_cards_use_remote_iframe");
case 7:
if (!e.v) {
e.n = 14;
break
}
return e.n = 8, lt(r);
case 8:
return s = e.v, e.n = 9, O.A.getDeviceId();
case 9:
return c = e.v, e.n = 10, ft(i.id);
case 10:
return u = e.v, e.n = 11, T.A.getCountryCode();
case 11:
return l = e.v, e.n = 12, T.A.getUILanguage();
case 12:
return f = e.v, e.n = 13, F.A.getInfo();
case 13:
d = e.v, at(a), ct(i, i.metadata.honeyPayCartPriceSelector, s);
try {
st({
storeId: i.id,
deviceId: c,
browser: "ch",
extVersion: "18.2.1",
cartPrice: a,
prioritized: s,
isReminderSet: u,
language: f,
country: l,
user: d
})
} catch (e) {
I.A.error("Error loading Honey Pay iframe: ".concat(e))
}
case 14:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}());
var gt = n(21344),
yt = n(93744),
vt = (n(91256), n(57503)),
bt = (n(21733), n(81213));
const _t = {
getExtensionID: function() {
return bt.A.getExtensionID()
},
connect: function(e, t) {
return bt.A.connect(e, t)
},
addOnConnectListener: function(e) {
return bt.A.addOnConnectListener(e)
},
removeOnConnnectListener: function(e) {
return bt.A.removeOnConnnectListener(e)
}
};
n(61985);
var St = n(6120),
wt = n(46529),
Ot = n(2317),
Et = n(70481),
kt = n(50618),
Tt = n(2481),
xt = n(79973),
It = n(35826),
Pt = n(67004),
At = n(31234),
Ct = n(63610),
jt = (0, Ot.Mz)(Et.VH.selectCurrentStore(), Tt.zA.selectCurrentStoreSession(), function(e, t) {
return B.A.isBlockingCDNLogic(e, t)
}),
Rt = (0, Ot.Mz)(Et.VH.selectCurrentStore(), function(e) {
return e.tips && e.tips.configuration && e.tips.configuration.blacklistDefaultLaunchpadPathnameByStoreId
}, function(e) {
return e && (arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : []).includes(e.id)
}),
Mt = (0, Ot.Mz)(function(e) {
return Et.VH.selectCurrentStore()(e)
}, function(e) {
return !!(e && e.tipsConfig && e.tipsConfig.isLaunchpadDisabled)
}),
Dt = (0, Ot.Mz)(function(e) {
return Et.VH.selectCurrentStore()(e)
}, function(e) {
return !!(e && e.tipsConfig && e.tipsConfig.isPdpDisabled)
}),
Nt = (0, Ot.Mz)(Et.VH.selectCurrentStore(), function(e) {
return e.tips && e.tips.configuration && e.tips.configuration.blacklistedDynamicUrlsByStoreId
}, function(e, t) {
var n = (e || {}).id;
if (t && t[n]) {
var r = window && window.location && window.location.href;
if ((t[n] || []).some(function(e) {
return r.startsWith(e)
})) return !0
}
return !1
}),
Lt = (0, Ot.Mz)(Et.VH.selectCurrentStore(), function(e) {
return e.tips && e.tips.configuration && e.tips.configuration.blacklistedStaticUrlsByStoreId
}, function(e, t) {
var n = (e || {}).id;
if (t && t[n]) {
var r = window && window.location && window.location.href;
if ((t[n] || []).includes(r)) return !0
}
return !1
}),
Ft = (0, Ot.Mz)(Et.VH.selectCurrentStore(), function(e) {
return e.tips && e.tips.configuration && e.tips.configuration.allowlistDynamicUrlsByStoreId
}, function(e) {
return e.tips && e.tips.configuration && e.tips.configuration.allowlistStaticUrlsByStoreId
}, function(e, t, n) {
var r = e && e.id,
o = !1,
i = window && window.location && window.location.href;
if (t && t[r]) {
if ((t[r] || []).some(function(e) {
return i.startsWith(e)
})) return !0;
o = !0
}
if (n && n[r]) {
if ((n[r] || []).includes(i)) return !0;
o = !0
}
return !o
}),
Bt = (0, Ot.Mz)(xt.v_.selectDeviceSetting("tipsLoggedOutDisabled"), kt.Ax.selectSetting("tipsEnabled"), kt.Ax.selectUser(), function(e, t, n) {
return n && n.isLoggedIn ? !!t ? {
tipsEnabledByUser: !0
} : void 0 === t ? {
tipsEnabledByUser: !1,
reason: "tips_enabled_undefined"
} : {
tipsEnabledByUser: !1,
reason: "tips_enabled_false"
} : e ? {
tipsEnabledByUser: !1,
reason: "tips_logged_out_disabled"
} : {
tipsEnabledByUser: !0
}
}),
Ut = (0, Ot.Mz)(function(e) {
return Pt.kF.selectVariant(H.vE.TIPS_SHOWING_GROUP)(e)
}, function(e) {
return "control" === e
});
const Gt = {
selectCanRunTips: (0, Ot.Mz)(It.im.selectIsHomePage, It.im.selectIsProductPage, jt, Rt, Mt, Nt, Lt, xt.v_.selectIsFirstPageAfterInstall(), Et.VH.selectCurrentStoreStandDown, Ft, Dt, Ut, Bt, function(e) {
var t = (Et.VH.selectCurrentStore()(e) || {}).id,
n = Date.now(),
r = function(e) {
return function(t) {
if (!e) return null;
var n = (0, Ct.p)(e);
return xt.v_.selectDeviceSetting(n)(t)
}
}(t)(e),
o = r && n < r,
i = n < (xt.v_.selectDeviceSetting(At.I)(e) || !1),
a = n < (xt.v_.selectDeviceSetting(At.l)(e) || !1),
s = function(e) {
var t = kt.Ax.selectUser()(e);
if (!t || !t.isLoggedIn) return xt.v_.selectDeviceSetting("tipsLoggedOutDisabled")(e) ? {
tipsEnabledByUser: !1,
reason: "tips_logged_out_disabled"
} : {
tipsEnabledByUser: !0
};
var n, r = kt.Ax.selectSetting("tipsEnabled"),
o = !!r;
return o || (n = void 0 === r ? "tips_enabled_undefined" : "tips_enabled_false"), {
tipsEnabledByUser: o,
reason: n
}
}(e),
c = s.tipsEnabledByUser,
u = s.reason;
return {
suppressed: o || i || a || !c,
reason: a ? "snoozed_for_day" : o ? "snoozed_for_store" : i ? "snoozed_for_all" : c ? "" : u
}
}, function(e, t, n, r, o, i, a, s, c, u, l, f, d, p) {
var h = c.standDown,
m = d.tipsEnabledByUser,
g = d.reason,
y = p.suppressed,
v = p.reason,
b = [];
return n && b.push(wt.Ue.BLOCKING_CDN), ["nopopup", "suspend"].includes(h) && b.push(wt.Ue.STAND_DOWN), e || t || b.push(wt.Ue.INVALID_PAGE_TYPE), f && b.push(wt.Ue.HOLDOUT_GROUP), m || b.push(wt.Ue.DISABLED_BY_USER), y && b.push(wt.Ue.SUPPRESSED), i && b.push(wt.Ue.DYNAMIC_URL_BLACKLISTED), a && b.push(wt.Ue.STATIC_URL_BLACKLISTED), e && (r && b.push(wt.Ue.DEFAULT_LAUNCHPAD_PATH_BLACKLISTED), o && b.push(wt.Ue.STORE_LAUNCHPAD_DISABLED), s && b.push(wt.Ue.FIRST_PAGE_AFTER_INSTALL), u || b.push(wt.Ue.CANT_SHOW_LAUNCHPAD_WITH_ALLOW_LIST)), t && l && b.push(wt.Ue.STORE_PDP_DISABLED), {
canRunTips: 0 === b.length,
hideReasons: b,
suppressionReason: v,
disabledByUserReason: g
}
})
};
var $t = n(96532),
Ht = n(5350),
zt = n(5735),
qt = null,
Wt = function() {
return function(e, t) {
clearTimeout(qt), qt = setTimeout(function() {
var n = (0, zt.A)(t()),
r = It.im.selectMostRecentPageId()(t());
n.length || (I.A.debug("honeyTips:events: canRunTips but no tips appeared after timeout of ".concat($t.x, "ms")), e(It.vt.setTipsTimedOut({
pageId: r,
tipsTimedOut: !0
})), e((0, Ht.f)({
event: "hide",
action: null
})))
}, $t.x)
}
},
Vt = function() {
return function() {
return clearTimeout(qt)
}
},
Yt = n(20989),
Jt = n(70364),
Kt = n.n(Jt),
Qt = n(23649),
Xt = n(33118);
const Zt = function() {
return function(e, t) {
var n = It.im.selectMostRecentPageId()(t()),
r = Kt()();
e(Qt.Qq.loadContainer({
containerId: r
})), e(It.vt.setContainerId({
pageId: n,
containerId: r
})), e((0, Xt.F)({
event: "pre-init"
})), e((0, Xt.F)({
event: "init"
}))
}
};
var en = n(28992),
tn = n(89773),
nn = n(64287),
rn = n(36836),
on = new Set(Object.values(wt.PB)),
an = new Set,
sn = function(e) {
return e.every(function(e) {
return !on.has(e)
})
},
cn = function() {
return function(e) {
e((0, rn.h)({
debugEvent: "funnel",
action: "not_shown"
}))
}
},
un = function(e) {
return function(t, n) {
var r = en.Og.selectCurrentProductOffer(n());
if (r) {
var o = (0, nn.fN)(n()),
i = JSON.stringify({
product: o,
offer: r
});
t((0, rn.h)({
debugEvent: "offers_miss_rate",
action: e,
metadataJson: i
}))
}
}
},
ln = function(e) {
var t = e.canRunTips,
n = e.hideReasons,
r = void 0 === n ? [] : n,
o = e.disabledByUserReason,
i = e.suppressionReason;
return function(e, n) {
var a = "honeyTips:sendTipsVisibilitySdata: ",
s = It.im.selectCurrentPageId()(n());
if (!an.has(s)) {
an.add(s);
var c = Pt.kF.selectCurrentTipsContainerVariant(n()),
u = It.im.selectIsCurrentPageLaunchpad()(n()) && sn(r);
if (sn(r)) {
var l = JSON.stringify({
funnelForLaunchpad: u
});
e((0, rn.h)({
debugEvent: "funnel",
action: "should_show_container",
metadataJson: l
}))
}
if (t) e(function(e, t) {
var n = It.im.selectIsCurrentPageLaunchpad()(t()),
r = tn.n2.selectHasPreOpened(t());
if (n && r) {
var o = tn.n2.selectPreOpenPathname(t());
e((0, Ht.f)({
event: "hide_collision",
collisionPathname: o
}))
}
});
else {
if (function(e) {
return sn(e) && e.includes(wt.Ue.HOLDOUT_GROUP)
}(r)) return I.A.debug("".concat(a, "Hiding tips because user is in holdout group.")), e((0, Ht.f)({
event: "hide_holdout"
})), e(un("tips_available_holdout")), void e(cn());
if (function(e) {
return sn(e) && e.includes(wt.Ue.DISABLED_BY_USER)
}(r)) return I.A.debug("".concat(a, "Tips disabled by user.")), e((0, Ht.f)({
event: o ? "hide_disable:".concat(o) : "hide_disable",
group: "launch_v:".concat(c)
})), e(un("tips_available_disable")), void e(cn());
if (function(e) {
return sn(e) && e.includes(wt.Ue.SUPPRESSED)
}(r)) return I.A.debug("".concat(a, "Tips suppressed by user.")), e((0, Ht.f)({
event: i ? "hide_snooze:".concat(i) : "hide_snooze",
group: "launch_v:".concat(c)
})), e(un("tips_available_suppress")), void e(cn());
e((0, rn.h)({
debugEvent: "funnel",
action: "should_not_show_container",
metadataJson: JSON.stringify({
isValidLaunchpadPage: u
})
}));
var f = It.im.selectIsProductPage(n()),
d = Pt.kF.selectIsStandaloneOffer(n());
f && d && e((0, Ht.f)({
event: "hide",
group: "autopop_displayed"
}))
}
}
}
},
fn = n(471),
dn = n(19550),
pn = n(25513),
hn = n(36927);
function mn(e) {
return mn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, mn(e)
}
function gn(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 yn(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != mn(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != mn(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == mn(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
const vn = function() {
return function(e, t) {
var n = (0, hn.A)(t()),
r = n.id;
n.ready ? (e(Qt.Qq.refreshContainer({
containerId: r
})), e((0, Xt.F)({
event: "refresh"
}))) : (e(Qt.Qq.readyContainer({
containerId: r
})), e((0, Xt.F)({
event: "ready"
})));
var o = (0, fn.ec)(t()),
i = (0, fn.Wt)(t()),
a = dn.IE.selectCurrentTopPickSavings(t());
if (o && e((0, rn.q)({
action: "topSavingsLessThanDollar",
topPickSavings: a,
ifTopSavingsLessThanDollarOn: o
}, {
skipSessionCheck: !0
})), !1 === i) {
var s = (0, pn.A)()(t());
e((0, rn.q)(function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? gn(Object(n), !0).forEach(function(t) {
yn(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : gn(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}({
action: "MissingCanonicalClusterId"
}, s), {
skipSessionCheck: !0
}))
}
}
};
var bn = n(47408);
function _n() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Sn(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Sn(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Sn(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Sn(f, "constructor", u), Sn(u, "constructor", c), c.displayName = "GeneratorFunction", Sn(u, o, "GeneratorFunction"), Sn(f), Sn(f, o, "Generator"), Sn(f, r, function() {
return this
}), Sn(f, "toString", function() {
return "[object Generator]"
}), (_n = function() {
return {
w: i,
m: d
}
})()
}
function Sn(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Sn = function(e, t, n, r) {
function i(t, n) {
Sn(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Sn(e, t, n, r)
}
function wn(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function On(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
wn(i, r, o, a, s, "next", e)
}
function s(e) {
wn(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var En = [H.vE.STANDALONE_OFFERS, H.vE.TIPS_SHOWING_GROUP],
kn = {};
const Tn = function() {
return function() {
var e = On(_n().m(function e(t, n) {
var r, o, i, a, s, c;
return _n().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (r = It.im.selectMostRecentPageId()(n()), !kn[r]) {
e.n = 1;
break
}
return e.a(2, kn[r]);
case 1:
return o = t(Et.md.load()), i = function() {
var e = On(_n().m(function e() {
return _n().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, o;
case 1:
return e.n = 2, t(Tt.qL.loadStoreSession());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), a = i(), s = function() {
var e = On(_n().m(function e() {
return _n().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Promise.allSettled([o, a]);
case 1:
return e.n = 2, t(bn.E4.load());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), c = Promise.allSettled([t(xt.A0.loadDeviceSettings()), t(xt.A0.loadIsFirstPageAfterInstall()), t(Pt.QC.loadVariants(En)), t(kt.Xp.load()), t(kt.Xp.loadSettings()), t(Qt.Qq.loadConfiguration()), o, a, s()]), kn[r] = c, e.a(2, c)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
var xn = function(e) {
return ["PRODUCT", "SHOPIFY_PRODUCT_PAGE", "SHOPIFY_WHERE_AM_I", "WHERE_AM_I"].includes(e)
},
In = function(e) {
return ["HOMEPAGE"].includes(e)
},
Pn = function(e, t) {
return new URL(e).href.startsWith(new URL(t).href)
};
const An = function(e) {
var t = ((0, hn.A)(e) || {}).id;
if (!t) return !1;
var n = It.im.selectMostRecentPageId()(e);
return t === (It.im.selectPageByPageId(n)(e) || {}).containerId
};
var Cn = n(3659),
jn = n(29490),
Rn = n(8004),
Mn = n(42528),
Dn = n(76255),
Nn = n(95872),
Ln = n(85831),
Fn = n(3371),
Bn = n(54277),
Un = n(30840),
Gn = n(81870),
$n = n(13917),
Hn = n(43869),
zn = n(93800),
qn = n(65645),
Wn = n(69408),
Vn = n(84993),
Yn = n(97555);
function Jn(e) {
return Jn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, Jn(e)
}
function Kn() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Qn(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Qn(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Qn(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Qn(f, "constructor", u), Qn(u, "constructor", c), c.displayName = "GeneratorFunction", Qn(u, o, "GeneratorFunction"), Qn(f), Qn(f, o, "Generator"), Qn(f, r, function() {
return this
}), Qn(f, "toString", function() {
return "[object Generator]"
}), (Kn = function() {
return {
w: i,
m: d
}
})()
}
function Qn(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Qn = function(e, t, n, r) {
function i(t, n) {
Qn(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Qn(e, t, n, r)
}
function Xn(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 Zn(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? Xn(Object(n), !0).forEach(function(t) {
er(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Xn(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function er(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != Jn(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != Jn(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == Jn(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function tr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
var nr = "honeyTips:loadPL2GoTipData: ",
rr = "honey_checkout_paypal_vcc_pdp_enabled",
or = "honey_checkout_paypal_vcc_enabled";
const ir = function() {
return function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
tr(i, r, o, a, s, "next", e)
}
function s(e) {
tr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(Kn().m(function e(t, n) {
var r, o, i, a, s, c, u, l, f, d, p, h, m, g, v, b, _, S, w, O, E;
return Kn().w(function(e) {
for (;;) switch (e.p = e.n) {
case 0:
return t(Vn.an.reset()), r = Yn.fL.selectCurrentGenericPageProduct(n()), o = (0, nn.fN)(n()), i = Et.VH.selectCurrentStore()(n()), a = (o || r || {}).lastPrice, c = (s = i || {}).currencyCode, u = s.id, e.n = 1, (0, Hn.qY)();
case 1:
l = e.v, t(Vn.an.setCheckoutEligibilityState(l)), f = a && a > 0 ? (a / 100).toFixed(2) : void 0, d = (0, Wn.A)(n()), e.n = 2;
break;
case 2:
if (!f) {
e.n = 3;
break
}
if (!(a < 3e3 || a > 15e4)) {
e.n = 3;
break
}
return (0, qn.ax)(Zn(Zn({}, d), {}, {
action: qn.hr.USER_INELIGIBLE,
subAction: a < 3e3 ? qn.U9.AMOUNT_TOO_LOW : qn.U9.AMOUNT_TOO_HIGH
})), I.A.debug("".concat(nr, "Out of required price range")), e.a(2);
case 3:
return e.n = 4, t(Mn.Jq.loadFeatures([rr, or]));
case 4:
if (p = Mn.HL.selectFeatureByName(rr)(n()), h = Mn.HL.selectFeatureByName(or)(n()), ![p, h].some(function(e) {
return !e
})) {
e.n = 5;
break
}
return m = qn.U9.VCC_PDP_DISABLED, h || (m = qn.U9.VCC_DISABLED), (0, qn.ax)(Zn(Zn({}, d), {}, {
action: qn.hr.USER_INELIGIBLE,
subAction: m
})), I.A.debug("".concat(nr, "Required feature flag not met")), e.a(2);
case 5:
if (g = !1, e.p = 6, !u) {
e.n = 9;
break
}
return e.n = 7, (0, Hn.te)($n.ld.devToolsEnabled);
case 7:
return v = e.v, e.n = 8, (0, y.G)(u, v);
case 8:
b = e.v, g = b && (b.checkoutTypes || []).includes($n.YO.VCC) && b.pl2goPdp;
case 9:
e.n = 11;
break;
case 10:
e.p = 10, E = e.v, I.A.error("PL2Go PDP - store config error: ".concat(E));
case 11:
if (g) {
e.n = 12;
break
}
return (0, qn.ax)(Zn(Zn({}, d), {}, {
action: qn.hr.USER_INELIGIBLE,
subAction: qn.U9.MERCHANT_DISABLED
})), I.A.debug("".concat(nr, "Required store config not met")), e.a(2);
case 12:
return e.n = 13, (0, zn.Il)({
amountValue: f,
currencyCode: c,
timeout: 3e3
});
case 13:
if (_ = e.v, S = (0, zn.Kj)(_), w = S.invalidReason, S.isValid) {
e.n = 14;
break
}
return (0, qn.ax)(Zn(Zn({}, d), {}, {
action: qn.hr.USER_INELIGIBLE,
subAction: qn.U9.PRESENTMENT_UNAVAILABLE
})), I.A.debug("".concat(nr).concat(w)), e.a(2);
case 14:
O = kt.Ax.selectUser()(n()), (0, qn.ax)(Zn(Zn({}, d), {}, {
action: qn.hr.USER_ELIGIBLE,
subAction: (0, qn.wC)(O, f)
})), t(Vn.an.setValidatedPL2GoResponse(S));
case 15:
return e.a(2)
}
}, e, null, [
[6, 10]
])
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
function ar() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return sr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (sr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, sr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, sr(f, "constructor", u), sr(u, "constructor", c), c.displayName = "GeneratorFunction", sr(u, o, "GeneratorFunction"), sr(f), sr(f, o, "Generator"), sr(f, r, function() {
return this
}), sr(f, "toString", function() {
return "[object Generator]"
}), (ar = function() {
return {
w: i,
m: d
}
})()
}
function sr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
sr = function(e, t, n, r) {
function i(t, n) {
sr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, sr(e, t, n, r)
}
function cr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function ur(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
cr(i, r, o, a, s, "next", e)
}
function s(e) {
cr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var lr = [Gn.x0, H.vE.STANDALONE_OFFERS, H.vE.TIPS_SHOWING_GROUP, Cn.nc, Cn.PU, Cn.fB, Cn.s$, Cn.Di, Cn.L5],
fr = ["ext_paypal_tip_enabled", "tips_is_autopop_suppression_respected", "offers_show_gold_value", "tips_main_tip_pay_in_four_enabled"];
const dr = function(e) {
return function() {
var t = ur(ar().m(function t(n, r) {
var o, i, a, s, c, u, l, f, d, p, h, m, g, y;
return ar().w(function(t) {
for (;;) switch (t.n) {
case 0:
return o = n(Et.md.load()), i = n(Mn.Jq.loadFeatures(fr)), a = n(kt.Xp.load()), s = n(Tt.qL.loadGlobalSessionId()), c = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, n(Pt.QC.loadVariants(lr));
case 1:
lr.forEach(function(e) {
return E.A.trackImpression(e)
});
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), u = function() {
var e = ur(ar().m(function e() {
var t, o, i;
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, a;
case 1:
if (t = kt.Ax.selectUser()(r()), o = t.id, i = t.isLoggedIn, !i) {
e.n = 2;
break
}
return e.n = 2, n(kt.Xp.getUserFollow(o));
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), l = function() {
var e = ur(ar().m(function e() {
var t, i;
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, Promise.all([o, a]);
case 1:
if (t = Et.VH.selectCurrentStore()(r()) || {}, !((i = kt.Ax.selectUser()(r()) || {}).isLoggedIn && i.id && t.storeId && t.isDoubleGold)) {
e.n = 2;
break
}
return e.n = 2, n(kt.Xp.getDoubleGoldActivationsByUserId(i.id));
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), f = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, o;
case 1:
return e.n = 2, n(kt.Xp.loadSessionCountForCurrentStore());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), d = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, s;
case 1:
return e.n = 2, n((0, Un.A)());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), p = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, o;
case 1:
n(Qt.Qq.loadTipsShown());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), h = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, o;
case 1:
return e.n = 2, n(Bn.QS.loadStoreInsights());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), m = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, o;
case 1:
return e.n = 2, n(Rn.Vp.loadStats());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), g = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, i;
case 1:
return e.n = 2, n(Nn.f1.load());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), y = function() {
var t = ur(ar().m(function t() {
var i, s, c, u;
return ar().w(function(t) {
for (;;) switch (t.n) {
case 0:
if (e) {
t.n = 1;
break
}
return t.a(2);
case 1:
return i = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, a;
case 1:
return e.n = 2, n(en.Ru.loadEligibility());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), s = i(), c = function() {
var e = ur(ar().m(function e() {
return ar().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, s;
case 1:
n(en.Ru.loadStoreOffer());
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), t.n = 2, Promise.allSettled([o, a]);
case 2:
return u = Et.VH.selectCurrentStoreId()(r()), t.n = 3, Promise.allSettled([n(en.Ru.loadLaunchpadOffersConfiguration()), c(), n(Ln.qg.loadSaleAlert()), g(), n(Fn.Ip.loadStoreDeals()), n(Dn.Ji.loadByProduct({
product: {
storeId: u
},
subSrc: "tips"
}))]);
case 3:
return t.a(2)
}
}, t)
}));
return function() {
return t.apply(this, arguments)
}
}(), t.n = 1, Promise.allSettled([o, a, c(), i, n(jn._o.checkForAdblock()), s, n(tn.e5.loadLanguage()), n(Qt.Qq.loadDeprioritization()), n(Qt.Qq.loadTipsAndCategories()), n(ir()), u(), l(), f(), d(), p(), h(), m(), y(), n(kt.Xp.loadIsQuantumLeapEligible())]);
case 1:
return t.a(2)
}
}, t)
}));
return function(e, n) {
return t.apply(this, arguments)
}
}()
};
function pr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return hr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (hr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, hr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, hr(f, "constructor", u), hr(u, "constructor", c), c.displayName = "GeneratorFunction", hr(u, o, "GeneratorFunction"), hr(f), hr(f, o, "Generator"), hr(f, r, function() {
return this
}), hr(f, "toString", function() {
return "[object Generator]"
}), (pr = function() {
return {
w: i,
m: d
}
})()
}
function hr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
hr = function(e, t, n, r) {
function i(t, n) {
hr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, hr(e, t, n, r)
}
function mr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const gr = function(e) {
var t = e.pageType,
n = e.isGeneric;
return function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
mr(i, r, o, a, s, "next", e)
}
function s(e) {
mr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(pr().m(function e(r, o) {
var i, a, s, c, u, l, f, d, p, h, m, g, y, v, b;
return pr().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (r(Vt()), i = It.im.selectMostRecentPageId()(o()), r(It.vt.addPageType({
pageType: t,
pageId: i
})), r(It.vt.setIsGeneric({
isGeneric: n,
pageId: i
})), a = It.im.selectPageTypesByPageId(i)(o()) || [], s = a.some(In), c = a.some(xn), !s && !c) {
e.n = 1;
break
}
return e.n = 1, r(Tn());
case 1:
if (u = Gt.selectCanRunTips(o()), l = u.canRunTips, f = u.hideReasons, d = u.disabledByUserReason, p = u.suppressionReason, r(ln({
canRunTips: l,
hideReasons: f,
disabledByUserReason: d,
suppressionReason: p
})), l) {
e.n = 2;
break
}
return r(It.vt.updateCurrentPage()), h = (f || []).join(", "), I.A.debug("honeyTips:events:cantRunTips reasons: ".concat(h)), (0, Yt.Sv)(), e.a(2);
case 2:
if (m = It.im.selectCurrentPageId()(o()), g = It.im.selectPendingPageId()(o()), y = It.im.selectPageTypesByPageId(m)(o()) || [], v = It.im.selectPageTypesByPageId(g)(o()) || [], b = y.some(xn), !(c && (!b || g !== m) || s)) {
e.n = 3;
break
}
return e.n = 3, r(It.vt.updateCurrentPage());
case 3:
if (null !== g && Pn(m, g) && !v.includes("HOMEPAGE") && vt.Ay.triggerPageType("HOMEPAGE", {}, !0), (0, Yt.SG)()) {
e.n = 5;
break
}
return An(o()) || r(Zt()), (0, Yt.BW)(), e.n = 4, r(dr(s));
case 4:
s && r(vn());
case 5:
r(Wt());
case 6:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
const yr = function() {
wt.g$.map(function(e) {
return P.A.addListener("pageDetected:".concat(e), function(t) {
var n = "GENERIC" === (arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}).data;
St.A.dispatch(gr({
pageType: e,
isGeneric: n
}))
})
})
};
var vr = n(50769),
br = n(92685),
_r = n(38402),
Sr = n(43623),
wr = n(32451),
Or = n(73158),
Er = n(94861);
function kr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Tr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Tr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Tr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Tr(f, "constructor", u), Tr(u, "constructor", c), c.displayName = "GeneratorFunction", Tr(u, o, "GeneratorFunction"), Tr(f), Tr(f, o, "Generator"), Tr(f, r, function() {
return this
}), Tr(f, "toString", function() {
return "[object Generator]"
}), (kr = function() {
return {
w: i,
m: d
}
})()
}
function Tr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Tr = function(e, t, n, r) {
function i(t, n) {
Tr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Tr(e, t, n, r)
}
function xr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
var Ir = function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
xr(i, r, o, a, s, "next", e)
}
function s(e) {
xr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(kr().m(function e(t, n) {
var r, o, i, a, s;
return kr().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (r = (0, nn.fN)(n()) || {}, o = r.parentId, !o) {
e.n = 1;
break
}
return e.n = 1, t(Rn.Vp.loadTopProductCoupon({
parentId: o
}));
case 1:
i = (0, Er.t)(n()), a = i.coupon, s = (0, Er.x)(n()), a && s && t((0, rn.h)({
debugEvent: "invalid_coupon_stats",
action: "invalid_coupon_stats",
metadata_json: JSON.stringify({
source: "extension",
couponStats: a,
referrerUrl: "".concat(window.location.origin).concat(window.location.pathname)
})
}));
case 2:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}();
function Pr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Ar(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Ar(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Ar(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Ar(f, "constructor", u), Ar(u, "constructor", c), c.displayName = "GeneratorFunction", Ar(u, o, "GeneratorFunction"), Ar(f), Ar(f, o, "Generator"), Ar(f, r, function() {
return this
}), Ar(f, "toString", function() {
return "[object Generator]"
}), (Pr = function() {
return {
w: i,
m: d
}
})()
}
function Ar(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Ar = function(e, t, n, r) {
function i(t, n) {
Ar(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Ar(e, t, n, r)
}
function Cr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function jr(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Cr(i, r, o, a, s, "next", e)
}
function s(e) {
Cr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
const Rr = function(e) {
return function() {
var t = jr(Pr().m(function t(n, r) {
var o, i, a, s, c, u;
return Pr().w(function(t) {
for (;;) switch (t.n) {
case 0:
if (e) {
t.n = 1;
break
}
return t.a(2);
case 1:
return o = e.parentId, i = e.productId, a = function() {
var t = jr(Pr().m(function t() {
return Pr().w(function(t) {
for (;;) switch (t.n) {
case 0:
return t.n = 1, n(en.Ru.loadProductOffer(e));
case 1:
en.Og.selectCurrentProductOffer(r()) && n(vn());
case 2:
return t.a(2)
}
}, t)
}));
return function() {
return t.apply(this, arguments)
}
}(), s = n(_r.td.loadProductByProductId(i)), c = function() {
var e = jr(Pr().m(function e() {
return Pr().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, s;
case 1:
return e.n = 2, n(wr.fS.loadProductByProductId(i));
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}(), u = function() {
var t = jr(Pr().m(function t() {
var o, i;
return Pr().w(function(t) {
for (;;) switch (t.n) {
case 0:
return t.n = 1, s;
case 1:
if (o = _r.GF.selectByProductId(e.productId)(r()) || {}, i = Pt.kF.selectVariant(Gn.x0)(r()), !(0, Or.A)(i)) {
t.n = 2;
break
}
return t.n = 2, n(dn.zK.loadCanonicalProducts({
product: e,
catalogProduct: o
}));
case 2:
return t.a(2)
}
}, t)
}));
return function() {
return t.apply(this, arguments)
}
}(), t.n = 2, Promise.allSettled([a(), s, c(), u(), n(Ir), n(dn.zK.loadWebPriceComparisonViewed({
parentId: o
})), n(Sr.XY.loadDroplistAndCollectionsByVimProduct(e)), n(Dn.Ji.loadByProduct({
product: e,
subSrc: "tips"
})), n(Nn.f1.load()), n(Pt.QC.loadVariant(Cn.PU))]);
case 2:
return t.a(2)
}
}, t)
}));
return function(e, n) {
return t.apply(this, arguments)
}
}()
};
const Mr = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
return function(t) {
var n = It.im.selectMostRecentPageId()(t),
r = _r.GF.selectCurrentCatalogProduct(t) || {},
o = It.im.selectContainerIdByPageId(n)(t),
i = Qt.fc.selectContainerByContainerId(o)(t) || {},
a = e.productId === r.productId,
s = !!i.ready;
return a && s
}
};
function Dr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Nr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Nr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Nr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Nr(f, "constructor", u), Nr(u, "constructor", c), c.displayName = "GeneratorFunction", Nr(u, o, "GeneratorFunction"), Nr(f), Nr(f, o, "Generator"), Nr(f, r, function() {
return this
}), Nr(f, "toString", function() {
return "[object Generator]"
}), (Dr = function() {
return {
w: i,
m: d
}
})()
}
function Nr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Nr = function(e, t, n, r) {
function i(t, n) {
Nr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Nr(e, t, n, r)
}
function Lr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Fr = function(e) {
return function() {
var t = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Lr(i, r, o, a, s, "next", e)
}
function s(e) {
Lr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(Dr().m(function t(n, r) {
var o, i, a, s;
return Dr().w(function(t) {
for (;;) switch (t.n) {
case 0:
if (e && !Mr(e)(r())) {
t.n = 1;
break
}
return t.a(2);
case 1:
return o = It.im.selectCurrentPageId()(r()), i = (0, nn.JE)(o)(r()) || {}, i.parentId === e.parentId || An(r()) ? (a = It.im.selectContainerIdByPageId(o)(r()), s = It.im.selectMostRecentPageId()(r()), n(Qt.Qq.setLoading({
containerId: a
})), n(It.vt.setContainerId({
containerId: a,
pageId: s
}))) : n(Zt()), n(It.vt.updateCurrentPage()), t.n = 2, n(Rr(e));
case 2:
n(vn());
case 3:
return t.a(2)
}
}, t)
}));
return function(e, n) {
return t.apply(this, arguments)
}
}()
};
var Br = n(64055);
const Ur = function() {
return function(e) {
var t = It.im.selectMostRecentPageId()(e),
n = br.XK.selectProductByPageId(t)(e),
r = Br.dK.selectProductByPageId(t)(e);
return {
vimProduct: n,
waiProduct: r,
isProductIdMatch: (null == n ? void 0 : n.productId) === (null == r ? void 0 : r.productId),
isParentIdMatch: (null == n ? void 0 : n.parentId) === (null == r ? void 0 : r.parentId)
}
}
};
function Gr(e) {
return Gr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, Gr(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 Hr(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) {
zr(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 zr(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != Gr(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != Gr(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == Gr(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
const qr = function(e) {
return function(t, n) {
var r = Hr(Hr({}, Ur()(n())), e);
he.A.sendEvent("tip004037", r), I.A.debug(function(e) {
var t = "TIPS_PRODUCT:".concat(e.event);
return t + (e.action ? ":".concat(e.action) : "")
}(r), r)
}
};
function Wr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Vr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Vr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Vr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Vr(f, "constructor", u), Vr(u, "constructor", c), c.displayName = "GeneratorFunction", Vr(u, o, "GeneratorFunction"), Vr(f), Vr(f, o, "Generator"), Vr(f, r, function() {
return this
}), Vr(f, "toString", function() {
return "[object Generator]"
}), (Wr = function() {
return {
w: i,
m: d
}
})()
}
function Vr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Vr = function(e, t, n, r) {
function i(t, n) {
Vr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Vr(e, t, n, r)
}
function Yr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Jr = function() {
return function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Yr(i, r, o, a, s, "next", e)
}
function s(e) {
Yr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(Wr().m(function e(t, n) {
var r, o, i;
return Wr().w(function(e) {
for (;;) switch (e.n) {
case 0:
r = Ur()(n()), o = r.vimProduct, i = r.waiProduct, o && i && t(qr({
event: "productCompare"
}));
case 1:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
function Kr() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Qr(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Qr(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Qr(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Qr(f, "constructor", u), Qr(u, "constructor", c), c.displayName = "GeneratorFunction", Qr(u, o, "GeneratorFunction"), Qr(f), Qr(f, o, "Generator"), Qr(f, r, function() {
return this
}), Qr(f, "toString", function() {
return "[object Generator]"
}), (Kr = function() {
return {
w: i,
m: d
}
})()
}
function Qr(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Qr = function(e, t, n, r) {
function i(t, n) {
Qr(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Qr(e, t, n, r)
}
function Xr(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function Zr(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Xr(i, r, o, a, s, "next", e)
}
function s(e) {
Xr(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var eo = function() {
return function() {
var e = Zr(Kr().m(function e(t, n) {
var r;
return Kr().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, t(Pt.QC.loadVariant(Gn.x0));
case 1:
return r = Pt.kF.selectVariant(Gn.x0)(n()), e.a(2, r === Gn.ut.WAI_ENABLED_PF_DISABLED)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
const to = function(e) {
return function() {
var t = Zr(Kr().m(function t(n, r) {
var o;
return Kr().w(function(t) {
for (;;) switch (t.n) {
case 0:
return t.n = 1, n(eo());
case 1:
if (!t.v) {
t.n = 2;
break
}
return I.A.debug("".concat("honeyTips:handleVimProduct: ", "VIM fetcher handling is disabled.")), t.a(2);
case 2:
return o = It.im.selectMostRecentPageId()(r()), n(br.Qm.productFetched({
pageId: o,
product: e
})), t.n = 3, n(Fr(e));
case 3:
return t.n = 4, n(Jr());
case 4:
return t.a(2)
}
}, t)
}));
return function(e, n) {
return t.apply(this, arguments)
}
}()
};
function no() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return ro(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (ro(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, ro(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, ro(f, "constructor", u), ro(u, "constructor", c), c.displayName = "GeneratorFunction", ro(u, o, "GeneratorFunction"), ro(f), ro(f, o, "Generator"), ro(f, r, function() {
return this
}), ro(f, "toString", function() {
return "[object Generator]"
}), (no = function() {
return {
w: i,
m: d
}
})()
}
function ro(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
ro = function(e, t, n, r) {
function i(t, n) {
ro(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, ro(e, t, n, r)
}
function oo(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const io = function() {
P.A.addListener("droplist:update", function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
oo(i, r, o, a, s, "next", e)
}
function s(e) {
oo(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(no().m(function e(t) {
var n, r, o, i, a, s, c = arguments;
return no().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (r = (n = c.length > 1 && void 0 !== c[1] ? c[1] : {}).type, o = n.product, i = void 0 === o ? {} : o, "productFetcher" !== r || !0 !== i.imprint) {
e.n = 1;
break
}
return a = Et.VH.selectCurrentStoreId()(St.A.getState()), s = (0, vr.tY)(i, a), e.n = 1, St.A.dispatch(to(s));
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}())
};
function ao() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return so(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (so(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, so(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, so(f, "constructor", u), so(u, "constructor", c), c.displayName = "GeneratorFunction", so(u, o, "GeneratorFunction"), so(f), so(f, o, "Generator"), so(f, r, function() {
return this
}), so(f, "toString", function() {
return "[object Generator]"
}), (ao = function() {
return {
w: i,
m: d
}
})()
}
function so(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
so = function(e, t, n, r) {
function i(t, n) {
so(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, so(e, t, n, r)
}
function co(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const uo = function() {
P.A.addListener("current:product", function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
co(i, r, o, a, s, "next", e)
}
function s(e) {
co(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(ao().m(function e(t) {
var n, r, o, i, a = arguments;
return ao().w(function(e) {
for (;;) switch (e.n) {
case 0:
n = (a.length > 1 && void 0 !== a[1] ? a[1] : {}).data, r = void 0 === n ? {} : n, o = Et.VH.selectCurrentStoreId()(St.A.getState()), i = (0, vr.Oo)(r, o), St.A.dispatch(to(i));
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}())
};
const lo = function() {
return function(e, t) {
var n = (0, hn.A)(t()).id;
e(Qt.Qq.refreshContainer({
containerId: n
})), e((0, Xt.F)({
event: "update"
}))
}
};
function fo() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return po(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (po(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, po(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, po(f, "constructor", u), po(u, "constructor", c), c.displayName = "GeneratorFunction", po(u, o, "GeneratorFunction"), po(f), po(f, o, "Generator"), po(f, r, function() {
return this
}), po(f, "toString", function() {
return "[object Generator]"
}), (fo = function() {
return {
w: i,
m: d
}
})()
}
function po(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
po = function(e, t, n, r) {
function i(t, n) {
po(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, po(e, t, n, r)
}
function ho(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const mo = function(e) {
return function() {
var t = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
ho(i, r, o, a, s, "next", e)
}
function s(e) {
ho(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(fo().m(function t(n) {
return fo().w(function(t) {
for (;;) switch (t.n) {
case 0:
if (e) {
t.n = 1;
break
}
return t.a(2);
case 1:
return t.n = 2, Promise.allSettled([n(Sr.XY.loadDroplistAndCollectionsByGenericProduct(e)), n(Dn.Ji.loadByProduct({
product: e,
subSrc: "tips"
}))]);
case 2:
return t.a(2)
}
}, t)
}));
return function(e) {
return t.apply(this, arguments)
}
}()
};
function go() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return yo(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (yo(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, yo(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, yo(f, "constructor", u), yo(u, "constructor", c), c.displayName = "GeneratorFunction", yo(u, o, "GeneratorFunction"), yo(f), yo(f, o, "Generator"), yo(f, r, function() {
return this
}), yo(f, "toString", function() {
return "[object Generator]"
}), (go = function() {
return {
w: i,
m: d
}
})()
}
function yo(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
yo = function(e, t, n, r) {
function i(t, n) {
yo(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, yo(e, t, n, r)
}
function vo(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const bo = function() {
return function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
vo(i, r, o, a, s, "next", e)
}
function s(e) {
vo(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(go().m(function e(t, n) {
var r, o, i, a, s, c, u, l, f, d;
return go().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (r = Gt.selectCanRunTips(n()), r.canRunTips) {
e.n = 1;
break
}
return e.a(2);
case 1:
return o = It.im.selectCurrentPageId()(n()), i = It.im.selectPageTypesByPageId(o)(n()) || [], a = i.some(In), s = i.some(xn), c = [t(dr(a))], u = It.im.selectIsGenericByPageId(o)(n()), s && !u ? (l = (0, nn.JE)(o)(n())) && c.push(t(Rr(l))) : u && (f = Yn.fL.selectGenericProductByPageId(o)(n())) && c.push(t(mo(f))), e.n = 2, Promise.allSettled(c);
case 2:
d = (0, hn.A)(n()) || {}, d.ready && t(lo());
case 3:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
function _o() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return So(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (So(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, So(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, So(f, "constructor", u), So(u, "constructor", c), c.displayName = "GeneratorFunction", So(u, o, "GeneratorFunction"), So(f), So(f, o, "Generator"), So(f, r, function() {
return this
}), So(f, "toString", function() {
return "[object Generator]"
}), (_o = function() {
return {
w: i,
m: d
}
})()
}
function So(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
So = function(e, t, n, r) {
function i(t, n) {
So(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, So(e, t, n, r)
}
function wo(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Oo = function() {
P.A.addListener("user:current:update", function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
wo(i, r, o, a, s, "next", e)
}
function s(e) {
wo(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(_o().m(function e(t) {
var n, r, o, i, a, s = arguments;
return _o().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (n = (s.length > 1 && void 0 !== s[1] ? s[1] : {}).user, r = void 0 === n ? {} : n, o = St.A.getState(), i = kt.Ax.selectUser()(o), a = i && r && i.isLoggedIn === r.isLoggedIn && i.id === r.id, I.A.debug("honeyTips:userListener should update:".concat(!a, " ")), !!a) {
e.n = 1;
break
}
return e.n = 1, St.A.dispatch(bo());
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}())
};
function Eo() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return ko(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (ko(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, ko(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, ko(f, "constructor", u), ko(u, "constructor", c), c.displayName = "GeneratorFunction", ko(u, o, "GeneratorFunction"), ko(f), ko(f, o, "Generator"), ko(f, r, function() {
return this
}), ko(f, "toString", function() {
return "[object Generator]"
}), (Eo = function() {
return {
w: i,
m: d
}
})()
}
function ko(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
ko = function(e, t, n, r) {
function i(t, n) {
ko(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, ko(e, t, n, r)
}
function To(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const xo = function(e) {
return function() {
var t = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
To(i, r, o, a, s, "next", e)
}
function s(e) {
To(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(Eo().m(function t(n, r) {
var o, i, a, s, c, u;
return Eo().w(function(t) {
for (;;) switch (t.n) {
case 0:
return t.n = 1, n(Tn());
case 1:
if (o = Gt.selectCanRunTips(r()), o.canRunTips) {
t.n = 2;
break
}
return t.a(2);
case 2:
if (i = It.im.selectMostRecentPageId()(r()), a = It.im.selectIsGenericPage(r()), s = a && !An(r()), a) {
t.n = 3;
break
}
return t.a(2);
case 3:
return n(Yn.ox.productFetched({
pageId: i,
product: e
})), s ? n(Zt()) : (c = It.im.selectCurrentPageId()(r()), u = It.im.selectContainerIdByPageId(c)(r()), n(It.vt.setContainerId({
containerId: u,
pageId: i
}))), n(It.vt.updateCurrentPage()), t.n = 4, n(mo(e));
case 4:
n(vn());
case 5:
return t.a(2)
}
}, t)
}));
return function(e, n) {
return t.apply(this, arguments)
}
}()
};
function Io() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Po(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Po(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Po(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Po(f, "constructor", u), Po(u, "constructor", c), c.displayName = "GeneratorFunction", Po(u, o, "GeneratorFunction"), Po(f), Po(f, o, "Generator"), Po(f, r, function() {
return this
}), Po(f, "toString", function() {
return "[object Generator]"
}), (Io = function() {
return {
w: i,
m: d
}
})()
}
function Po(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Po = function(e, t, n, r) {
function i(t, n) {
Po(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Po(e, t, n, r)
}
function Ao(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Co = function() {
P.A.addListener("current:product:generic", function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Ao(i, r, o, a, s, "next", e)
}
function s(e) {
Ao(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(Io().m(function e(t) {
var n, r, o, i, a = arguments;
return Io().w(function(e) {
for (;;) switch (e.n) {
case 0:
n = (a.length > 1 && void 0 !== a[1] ? a[1] : {}).data, r = void 0 === n ? {} : n, o = Et.VH.selectCurrentStoreId()(St.A.getState()), i = (0, vr.MC)(r, o), St.A.dispatch(xo(i));
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}())
};
function jo() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Ro(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Ro(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Ro(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Ro(f, "constructor", u), Ro(u, "constructor", c), c.displayName = "GeneratorFunction", Ro(u, o, "GeneratorFunction"), Ro(f), Ro(f, o, "Generator"), Ro(f, r, function() {
return this
}), Ro(f, "toString", function() {
return "[object Generator]"
}), (jo = function() {
return {
w: i,
m: d
}
})()
}
function Ro(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Ro = function(e, t, n, r) {
function i(t, n) {
Ro(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Ro(e, t, n, r)
}
function Mo(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Do = function() {
return function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Mo(i, r, o, a, s, "next", e)
}
function s(e) {
Mo(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(jo().m(function e(t, n) {
var r;
return jo().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, t(Ir);
case 1:
r = (0, hn.A)(n()) || {}, r.ready && t(lo());
case 2:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
function No() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Lo(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Lo(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Lo(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Lo(f, "constructor", u), Lo(u, "constructor", c), c.displayName = "GeneratorFunction", Lo(u, o, "GeneratorFunction"), Lo(f), Lo(f, o, "Generator"), Lo(f, r, function() {
return this
}), Lo(f, "toString", function() {
return "[object Generator]"
}), (No = function() {
return {
w: i,
m: d
}
})()
}
function Lo(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Lo = function(e, t, n, r) {
function i(t, n) {
Lo(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Lo(e, t, n, r)
}
function Fo(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function Bo(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Fo(i, r, o, a, s, "next", e)
}
function s(e) {
Fo(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
const Uo = function() {
P.A.addListener("honeyTips:pdpCoupons:honeyProductCoupons:init", Bo(No().m(function e() {
return No().w(function(e) {
for (;;) switch (e.n) {
case 0:
St.A.dispatch(Do());
case 1:
return e.a(2)
}
}, e)
})))
};
const Go = function() {
P.A.addListener("ui:action", function(e, t) {
St.A.dispatch(tn.e5.addAction(t))
})
};
var $o = n(87888);
function Ho() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return zo(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (zo(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, zo(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, zo(f, "constructor", u), zo(u, "constructor", c), c.displayName = "GeneratorFunction", zo(u, o, "GeneratorFunction"), zo(f), zo(f, o, "Generator"), zo(f, r, function() {
return this
}), zo(f, "toString", function() {
return "[object Generator]"
}), (Ho = function() {
return {
w: i,
m: d
}
})()
}
function zo(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
zo = function(e, t, n, r) {
function i(t, n) {
zo(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, zo(e, t, n, r)
}
function qo(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
var Wo = "honeyTips:handleOptimusProduct: ",
Vo = "tips_use_optimus_product";
const Yo = function(e) {
return function() {
var t = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
qo(i, r, o, a, s, "next", e)
}
function s(e) {
qo(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(Ho().m(function t(n, r) {
var o;
return Ho().w(function(t) {
for (;;) switch (t.n) {
case 0:
return t.n = 1, n(Mn.Jq.loadFeatures([Vo]));
case 1:
if (Mn.HL.selectFeatureByName(Vo)(r())) {
t.n = 2;
break
}
return I.A.debug("".concat(Wo, "Feature '").concat(Vo, "' is disabled. Returning early.")), t.a(2);
case 2:
if (o = It.im.selectMostRecentPageId()(r()), n($o.j.loadProductByPageId({
pageId: o,
product: e
})), !!!br.XK.selectProductByPageId(o)(r())) {
t.n = 3;
break
}
return I.A.debug("".concat(Wo, "VIM product is available, which is more likely to be accurate. Returning early.")), t.a(2);
case 3:
return t.n = 4, n(Fr(e));
case 4:
return t.a(2)
}
}, t)
}));
return function(e, n) {
return t.apply(this, arguments)
}
}()
};
function Jo() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Ko(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Ko(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Ko(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Ko(f, "constructor", u), Ko(u, "constructor", c), c.displayName = "GeneratorFunction", Ko(u, o, "GeneratorFunction"), Ko(f), Ko(f, o, "Generator"), Ko(f, r, function() {
return this
}), Ko(f, "toString", function() {
return "[object Generator]"
}), (Jo = function() {
return {
w: i,
m: d
}
})()
}
function Ko(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Ko = function(e, t, n, r) {
function i(t, n) {
Ko(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Ko(e, t, n, r)
}
function Qo(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const Xo = function() {
P.A.addListener("optimus:productDetected", function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Qo(i, r, o, a, s, "next", e)
}
function s(e) {
Qo(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(Jo().m(function e(t, n) {
var r, o, i, a;
return Jo().w(function(e) {
for (;;) switch (e.n) {
case 0:
r = (n || {}).data, o = void 0 === r ? {} : r, i = Et.VH.selectCurrentStoreId()(St.A.getState()), a = (0, vr.EF)(o, i), St.A.dispatch(Yo(a));
case 1:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}())
},
Zo = {
pageDetectionListener: yr,
v4FetcherListener: io,
v5FetcherListener: uo,
userListener: Oo,
genericFetcherListener: Co,
productCouponsListener: Uo,
uiActionsListener: Go,
optimusProductListener: Xo
};
const ei = function() {
return function(e) {
e(Vt()), e(It.vt.pageInit())
}
};
function ti() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return ni(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (ni(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, ni(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, ni(f, "constructor", u), ni(u, "constructor", c), c.displayName = "GeneratorFunction", ni(u, o, "GeneratorFunction"), ni(f), ni(f, o, "Generator"), ni(f, r, function() {
return this
}), ni(f, "toString", function() {
return "[object Generator]"
}), (ti = function() {
return {
w: i,
m: d
}
})()
}
function ni(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
ni = function(e, t, n, r) {
function i(t, n) {
ni(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, ni(e, t, n, r)
}
function ri(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
var oi = function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
ri(i, r, o, a, s, "next", e)
}
function s(e) {
ri(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(ti().m(function e() {
return ti().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, (0, vt.sT)();
case 1:
St.A.dispatch(ei()), e.n = 0;
break;
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}();
const ii = oi;
function ai() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return si(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (si(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, si(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, si(f, "constructor", u), si(u, "constructor", c), c.displayName = "GeneratorFunction", si(u, o, "GeneratorFunction"), si(f), si(f, o, "Generator"), si(f, r, function() {
return this
}), si(f, "toString", function() {
return "[object Generator]"
}), (ai = function() {
return {
w: i,
m: d
}
})()
}
function si(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
si = function(e, t, n, r) {
function i(t, n) {
si(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, si(e, t, n, r)
}
function ci(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
const ui = function() {
return function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
ci(i, r, o, a, s, "next", e)
}
function s(e) {
ci(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(ai().m(function e(t) {
return ai().w(function(e) {
for (;;) switch (e.n) {
case 0:
return t(It.vt.pageInit()), e.n = 1, Promise.all([t(Et.md.load()), t(Pt.QC.loadVariant(Gn.x0)), t(xt.A0.loadScreenviewId()), t(Qt.Qq.loadSendTipsDebugEventsFlag()), t(Mn.Jq.loadFeatures(Object.values(Gn.jt)))]);
case 1:
t((0, rn.h)({
action: "init",
debugEvent: "funnel"
}));
case 2:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()
};
function li() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return fi(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (fi(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, fi(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, fi(f, "constructor", u), fi(u, "constructor", c), c.displayName = "GeneratorFunction", fi(u, o, "GeneratorFunction"), fi(f), fi(f, o, "Generator"), fi(f, r, function() {
return this
}), fi(f, "toString", function() {
return "[object Generator]"
}), (li = function() {
return {
w: i,
m: d
}
})()
}
function fi(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
fi = function(e, t, n, r) {
function i(t, n) {
fi(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, fi(e, t, n, r)
}
function di(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
var pi = function() {
var e = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
di(i, r, o, a, s, "next", e)
}
function s(e) {
di(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(li().m(function e() {
var t, n, r, o, i, a, s;
return li().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, St.A.dispatch(ui());
case 1:
t = Zo.v4FetcherListener, n = Zo.v5FetcherListener, r = Zo.userListener, o = Zo.genericFetcherListener, i = Zo.productCouponsListener, a = Zo.uiActionsListener, s = Zo.optimusProductListener, (0, Zo.pageDetectionListener)(), t(), n(), r(), o(), i(), a(), ii(), s();
case 2:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}();
pi();
var hi = n(90455),
mi = n(79778),
gi = n(29123),
yi = n.n(gi),
vi = n(12396),
bi = n(36385),
_i = n.n(bi),
Si = n(28974),
wi = n(75606);
function Oi(e) {
return Oi = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, Oi(e)
}
function Ei(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 ki(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? Ei(Object(n), !0).forEach(function(t) {
Ti(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ei(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function Ti(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != Oi(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != Oi(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == Oi(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function xi() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return Ii(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (Ii(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, Ii(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, Ii(f, "constructor", u), Ii(u, "constructor", c), c.displayName = "GeneratorFunction", Ii(u, o, "GeneratorFunction"), Ii(f), Ii(f, o, "Generator"), Ii(f, r, function() {
return this
}), Ii(f, "toString", function() {
return "[object Generator]"
}), (xi = function() {
return {
w: i,
m: d
}
})()
}
function Ii(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
Ii = function(e, t, n, r) {
function i(t, n) {
Ii(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, Ii(e, t, n, r)
}
function Pi(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function Ai(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Pi(i, r, o, a, s, "next", e)
}
function s(e) {
Pi(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var Ci = "honeyTips:handleWhereAmI: ",
ji = function() {
return function() {
var e = Ai(xi().m(function e(t, n) {
var r;
return xi().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, t(Pt.QC.loadVariant(Gn.x0));
case 1:
return r = Pt.kF.selectVariant(Gn.x0)(n()), e.a(2, r === Gn.ut.PF_ENABLED_WAI_DISABLED)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
},
Ri = function(e) {
var t = e.parentId,
n = e.storeId,
r = e.priceInCents;
return P.A.send("honeyTips:tips", {
action: Si.A.TIPS_GET_BEST_MATCH_INVENTORY_PRODUCT,
parentId: t,
storeId: n,
priceInCents: r
}, {
background: !0
})
};
function Mi(e, t) {
if (!e || !t) return !1;
var n = e === t,
r = e.includes(t),
o = t.includes(e);
return n || r || o
}
var Di = function(e) {
var t = (0, wi.C)().prodData,
n = t && t.canonical_url,
r = window && window.location && window.location.href,
o = e.canonicalUrl,
i = Mi(n, o),
a = Mi(r, o),
s = i || a;
return s || I.A.debug("".concat(Ci, " canonicalUrl does not match page\n url=").concat(r, ", canonicalUrl=").concat(n, ", inventoryProductCanonicalUrl=").concat(o)), {
isCanonicalMatch: s,
pageCanonicalUrl: n,
catalogCanonicalUrl: o,
pageUrl: r
}
},
Ni = function(e) {
return function(t, n) {
return br.XK.selectProductByPageId(e)(n()) ? (I.A.debug("".concat(Ci, "VIM product is available, which is likely to be more accurate. No need for whereAmI handler to continue.")), !0) : !!$o.cA.selectProductByPageId(e)(n()) && (I.A.debug("".concat(Ci, "Optimus product is available, which is likely to be more accurate. No need for whereAmI handler to continue.")), !0)
}
},
Li = function(e) {
if (!e) return null;
var t = f.A.cleanPrice(e);
return parseInt((100 * t).toFixed(), 10)
};
const Fi = function(e) {
var t = e.whereAmIPayload,
n = e.atlasProducts;
return function() {
var e = Ai(xi().m(function e(r, o) {
var i, a, s, c, u, l, f, d, p, h, m, g, y, v, b, _, S;
return xi().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, r(ji());
case 1:
if (!e.v) {
e.n = 2;
break
}
return I.A.debug("".concat(Ci, "whereAmI handling is disabled.")), e.a(2);
case 2:
if (i = It.im.selectMostRecentPageId()(o()), a = Et.VH.selectCurrentStoreId()(o()), s = _i()(n || [], "score") || {}, c = s.parentId) {
e.n = 3;
break
}
return I.A.debug("".concat(Ci, "whereAmI did not find a parentId. Returning early.")), e.a(2);
case 3:
return u = t && t.data || {}, l = u.price, f = Li(l), r(Br.U7.loadByPageId({
pageId: i,
parentId: c,
whereAmIPayload: t,
priceInCents: f,
storeId: a
})), e.n = 4, Ri({
parentId: c,
storeId: a,
priceInCents: f
});
case 4:
if (d = e.v, p = {
productId: d.productId,
parentId: c,
attrs: d.productDetails,
name: d.title,
unitPrice: l
}, P.A.send("honeyTips:whereAmI", {
WAIdata: p
}, {
background: !1
}), d) {
e.n = 5;
break
}
return I.A.debug("".concat(Ci, "no matching inventory product found for parentId=").concat(c, ", storeId=").concat(a, ".")), h = {
parentId: c,
storeId: a
}, r((0, rn.q)(ki(ki({}, h), {}, {
action: "atlas_catalog_missing"
}), {
skipSessionCheck: !0
})), e.a(2);
case 5:
if (m = "on" === Pt.kF.selectVariant(Cn.L5)(o()), g = Di(d), y = g.isCanonicalMatch, v = g.pageCanonicalUrl, b = g.pageUrl, y) {
e.n = 6;
break
}
if (I.A.debug("".concat(Ci, " canonicalUrl does not match page parentId=").concat(c, ", storeId=").concat(a, ", isAtlasMismatchOn=").concat(m)), _ = {
productId: d.productId,
parentId: d.parentId,
variantId: d.variantId,
storeId: d.storeId,
catalogPrice: d.lastPrice,
title: d.title,
canonicalUrl: d.canonicalUrl,
pageCanonicalUrl: v,
pageUrl: b,
isAtlasMismatchOn: m
}, r((0, rn.q)(ki(ki({}, _), {}, {
action: "atlas_url_mismatch"
}), {
skipSessionCheck: !0
})), !m) {
e.n = 6;
break
}
return e.a(2);
case 6:
if (r(Br.U7.setBestMatchProductForPage({
pageId: i,
product: d
})), r(Jr()), !r(Ni(i))) {
e.n = 7;
break
}
return e.a(2);
case 7:
S = Br.dK.selectProductByPageId(i)(o()), r(Fr(S));
case 8:
return e.a(2)
}
}, e)
}));
return function(t, n) {
return e.apply(this, arguments)
}
}()
};
function Bi(e) {
return Bi = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, Bi(e)
}
function Ui(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 Gi(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? Ui(Object(n), !0).forEach(function(t) {
$i(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ui(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function $i(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != Bi(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != Bi(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == Bi(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function Hi(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || Vi(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function zi() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return qi(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (qi(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, qi(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, qi(f, "constructor", u), qi(u, "constructor", c), c.displayName = "GeneratorFunction", qi(u, o, "GeneratorFunction"), qi(f), qi(f, o, "Generator"), qi(f, r, function() {
return this
}), qi(f, "toString", function() {
return "[object Generator]"
}), (zi = function() {
return {
w: i,
m: d
}
})()
}
function qi(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
qi = function(e, t, n, r) {
function i(t, n) {
qi(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, qi(e, t, n, r)
}
function Wi(e, t) {
var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (!n) {
if (Array.isArray(e) || (n = Vi(e)) || t && e && "number" == typeof e.length) {
n && (e = n);
var r = 0,
o = function() {};
return {
s: o,
n: function() {
return r >= e.length ? {
done: !0
} : {
done: !1,
value: e[r++]
}
},
e: function(e) {
throw e
},
f: o
}
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}
var i, a = !0,
s = !1;
return {
s: function() {
n = n.call(e)
},
n: function() {
var e = n.next();
return a = e.done, e
},
e: function(e) {
s = !0, i = e
},
f: function() {
try {
a || null == n.return || n.return()
} finally {
if (s) throw i
}
}
}
}
function Vi(e, t) {
if (e) {
if ("string" == typeof e) return Yi(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Yi(e, t) : void 0
}
}
function Yi(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
function Ji(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function Ki(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
Ji(i, r, o, a, s, "next", e)
}
function s(e) {
Ji(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}
var Qi = "tips_atlas_update_v1",
Xi = "",
Zi = !0,
ea = {},
ta = !1;
function na() {
return na = Ki(zi().m(function e(t, n) {
var r, o, i, a, s, c, u, l, f, d;
return zi().w(function(e) {
for (;;) switch (e.n) {
case 0:
return r = n.data, e.n = 1, Promise.all([B.A.getCurrent(), E.A.getVariant(Qi)]);
case 1:
if (o = e.v, i = Hi(o, 2), a = i[0], s = i[1], E.A.trackImpression(Qi), r) {
e.n = 2;
break
}
return I.A.error("WhereAmI was handed undefined product info"), e.a(2);
case 2:
if (c = (a || {}).id, l = Gi({
useDeterministicParentId: u = "variant" === s,
store_id: c
}, r), (f = yi()(l)) === Xi) {
e.n = 4;
break
}
return Xi = f, e.n = 3, P.A.send("stores:action", {
action: "getAtlas",
data: {
atlasPayload: l
}
}, {
background: !0
}).catch(function(e) {
return I.A.error("Error while getting atlas: ".concat(e || e.message)), []
});
case 3:
d = e.v, St.A.dispatch(Fi({
whereAmIPayload: n,
atlasProducts: d
})), he.A.sendEvent("ext009009", {
where_am_i: r,
is_initial_observation: Zi,
products: d,
useDeterministicParentId: u
}), Zi = !1;
case 4:
return e.a(2)
}
}, e)
})), na.apply(this, arguments)
}
var ra = function(e, t) {
var n = {
parent_id: ea.WAIdata.parentId,
variant_id: null,
product_id: ea.WAIdata.productId,
store_id: e.storeId,
name: ea.WAIdata.name,
attrs: JSON.stringify(ea.WAIdata.attrs),
qty: null,
unit_price: ea.WAIdata.unitPrice,
total_price: null,
sku: t
};
he.A.sendEvent("ext112000", {
store: e,
products: n
})
},
oa = function(e) {
var t = [];
if (!e) return t;
try {
if (e.startsWith("//") || e.startsWith("substring"))
for (var n = document.evaluate(e, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null), r = 0; r < n.snapshotLength; r += 1) {
var o = n.snapshotItem(r);
t.push(o)
} else t = l()(e).get()
} catch (e) {
I.A.error("Trouble finding elements from selector", e)
}
return t
},
ia = function() {
var e = Ki(zi().m(function e() {
var t, n, r, o, i, a, s, c, u, l, f, d, p, h, m, g, y, v;
return zi().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, B.A.getCurrent();
case 1:
return t = e.v, n = t.storeId, e.n = 2, vi.A.getStoreRecipe(n);
case 2:
if (r = e.v, o = r.sku_identifier, r.sku_identifier && (o = r.sku_identifier.selector), i = [], "complete" === r.scope) {
a = r.add_to_cart_recording, s = Wi(a);
try {
for (s.s(); !(c = s.n()).done;) d = c.value, p = null !== (u = null == d ? void 0 : d.type) && void 0 !== u ? u : null, h = null !== (l = null == d || null === (f = d.info) || void 0 === f ? void 0 : f.is_optional) && void 0 !== l ? l : null, 20 === p && "no" === h && i.push(d.info.selector)
} catch (e) {
s.e(e)
} finally {
s.f()
}
}
g = 0, y = i;
case 3:
if (!(g < y.length)) {
e.n = 5;
break
}
if (v = y[g], !((m = oa(v)).length > 0)) {
e.n = 4;
break
}
return e.a(3, 5);
case 4:
g++, e.n = 3;
break;
case 5:
m.forEach(function(e) {
0 !== Object.keys(e).length && e.addEventListener("click", Ki(zi().m(function e() {
return zi().w(function(e) {
for (;;) switch (e.n) {
case 0:
return e.n = 1, ra(t, o);
case 1:
return e.a(2)
}
}, e)
})))
});
case 6:
return e.a(2)
}
}, e)
}));
return function() {
return e.apply(this, arguments)
}
}();
P.A.addListener("honeyTips:whereAmI", function() {
var e = Ki(zi().m(function e(t) {
var n = arguments;
return zi().w(function(e) {
for (;;) switch (e.n) {
case 0:
ea = n.length > 1 && void 0 !== n[1] ? n[1] : {}, ta || (ta = !0, ia());
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()), P.A.addListener("vims:reportWhereAmI", function(e, t) {
return na.apply(this, arguments)
}), P.A.addListener("pageDetected:WHERE_AM_I", function(e, t) {
var n = t.frameworkId;
ne.A.getFeatureFlag("ext_run_wai_vim").then(function() {
var e = Ki(zi().m(function e(t) {
return zi().w(function(e) {
for (;;) switch (e.n) {
case 0:
if (t) {
e.n = 1;
break
}
return e.a(2, {});
case 1:
return e.a(2, B.A.getCurrent().then(function() {
var e = Ki(zi().m(function e(t) {
var r;
return zi().w(function(e) {
for (;;) switch (e.n) {
case 0:
return r = t.id, e.n = 1, vi.A.getAndRunV5Vim(r, "wai", n);
case 1:
return e.a(2)
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}()))
}
}, e)
}));
return function(t) {
return e.apply(this, arguments)
}
}())
});
var aa = n(75168),
sa = n(98998),
ca = n(84414);
n(19893);
const ua = Object.prototype.toString;
function la(e) {
switch (ua.call(e)) {
case "[object Error]":
case "[object Exception]":
case "[object DOMException]":
return !0;
default:
return Sa(e, Error)
}
}
function fa(e, t) {
return ua.call(e) === `[object ${t}]`
}
function da(e) {
return fa(e, "ErrorEvent")
}
function pa(e) {
return fa(e, "DOMError")
}
function ha(e) {
return fa(e, "String")
}
function ma(e) {
return "object" == typeof e && null !== e && "__sentry_template_string__" in e && "__sentry_template_values__" in e
}
function ga(e) {
return null === e || ma(e) || "object" != typeof e && "function" != typeof e
}
function ya(e) {
return fa(e, "Object")
}
function va(e) {
return "undefined" != typeof Event && Sa(e, Event)
}
function ba(e) {
return Boolean(e && e.then && "function" == typeof e.then)
}
function _a(e) {
return "number" == typeof e && e != e
}
function Sa(e, t) {
try {
return e instanceof t
} catch (e) {
return !1
}
}
function wa(e) {
return !("object" != typeof e || null === e || !e.__isVue && !e._isVue)
}
function Oa(e) {
return e && e.Math == Math ? e : void 0
}
const Ea = "object" == typeof globalThis && Oa(globalThis) || "object" == typeof window && Oa(window) || "object" == typeof self && Oa(self) || "object" == typeof n.g && Oa(n.g) || function() {
return this
}() || {};
function ka() {
return Ea
}
function Ta(e, t, n) {
const r = n || Ea,
o = r.__SENTRY__ = r.__SENTRY__ || {};
return o[e] || (o[e] = t())
}
const xa = ka(),
Ia = 80;
function Pa(e, t = {}) {
if (!e) return "";
try {
let n = e;
const r = 5,
o = [];
let i = 0,
a = 0;
const s = " > ",
c = s.length;
let u;
const l = Array.isArray(t) ? t : t.keyAttrs,
f = !Array.isArray(t) && t.maxStringLength || Ia;
for (; n && i++ < r && (u = Aa(n, l), !("html" === u || i > 1 && a + o.length * c + u.length >= f));) o.push(u), a += u.length, n = n.parentNode;
return o.reverse().join(s)
} catch (e) {
return ""
}
}
function Aa(e, t) {
const n = e,
r = [];
let o, i, a, s, c;
if (!n || !n.tagName) return "";
if (xa.HTMLElement && n instanceof HTMLElement && n.dataset && n.dataset.sentryComponent) return n.dataset.sentryComponent;
r.push(n.tagName.toLowerCase());
const u = t && t.length ? t.filter(e => n.getAttribute(e)).map(e => [e, n.getAttribute(e)]) : null;
if (u && u.length) u.forEach(e => {
r.push(`[${e[0]}="${e[1]}"]`)
});
else if (n.id && r.push(`#${n.id}`), o = n.className, o && ha(o))
for (i = o.split(/\s+/), c = 0; c < i.length; c++) r.push(`.${i[c]}`);
const l = ["aria-label", "type", "name", "title", "alt"];
for (c = 0; c < l.length; c++) a = l[c], s = n.getAttribute(a), s && r.push(`[${a}="${s}"]`);
return r.join("")
}
function Ca() {
try {
return xa.document.location.href
} catch (e) {
return ""
}
}
function ja(e) {
return xa.document && xa.document.querySelector ? xa.document.querySelector(e) : null
}
function Ra(e) {
if (!xa.HTMLElement) return null;
let t = e;
for (let e = 0; e < 5; e++) {
if (!t) return null;
if (t instanceof HTMLElement && t.dataset.sentryComponent) return t.dataset.sentryComponent;
t = t.parentNode
}
return null
}
const Ma = "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
Da = ["debug", "info", "warn", "error", "log", "assert", "trace"],
Na = {};
function La(e) {
if (!("console" in Ea)) return e();
const t = Ea.console,
n = {},
r = Object.keys(Na);
r.forEach(e => {
const r = Na[e];
n[e] = t[e], t[e] = r
});
try {
return e()
} finally {
r.forEach(e => {
t[e] = n[e]
})
}
}
const Fa = function() {
let e = !1;
const t = {
enable: () => {
e = !0
},
disable: () => {
e = !1
},
isEnabled: () => e
};
return Ma ? Da.forEach(n => {
t[n] = (...t) => {
e && La(() => {
Ea.console[n](`Sentry Logger [${n}]:`, ...t)
})
}
}) : Da.forEach(e => {
t[e] = () => {}
}), t
}();
function Ba(e, t = 0) {
return "string" != typeof e || 0 === t || e.length <= t ? e : `${e.slice(0,t)}...`
}
function Ua(e, t) {
let n = e;
const r = n.length;
if (r <= 150) return n;
t > r && (t = r);
let o = Math.max(t - 60, 0);
o < 5 && (o = 0);
let i = Math.min(o + 140, r);
return i > r - 5 && (i = r), i === r && (o = Math.max(i - 140, 0)), n = n.slice(o, i), o > 0 && (n = `'{snip} ${n}`), i < r && (n += " {snip}"), n
}
function Ga(e, t) {
if (!Array.isArray(e)) return "";
const n = [];
for (let t = 0; t < e.length; t++) {
const r = e[t];
try {
wa(r) ? n.push("[VueViewModel]") : n.push(String(r))
} catch (e) {
n.push("[value cannot be serialized]")
}
}
return n.join(t)
}
function $a(e, t, n = !1) {
return !!ha(e) && (fa(t, "RegExp") ? t.test(e) : !!ha(t) && (n ? e === t : e.includes(t)))
}
function Ha(e, t = [], n = !1) {
return t.some(t => $a(e, t, n))
}
function za(e, t, n) {
if (!(t in e)) return;
const r = e[t],
o = n(r);
"function" == typeof o && Wa(o, r), e[t] = o
}
function qa(e, t, n) {
try {
Object.defineProperty(e, t, {
value: n,
writable: !0,
configurable: !0
})
} catch (n) {
Ma && Fa.log(`Failed to add non-enumerable property "${t}" to object`, e)
}
}
function Wa(e, t) {
try {
const n = t.prototype || {};
e.prototype = t.prototype = n, qa(e, "__sentry_original__", t)
} catch (e) {}
}
function Va(e) {
return e.__sentry_original__
}
function Ya(e) {
if (la(e)) return {
message: e.message,
name: e.name,
stack: e.stack,
...Ka(e)
};
if (va(e)) {
const t = {
type: e.type,
target: Ja(e.target),
currentTarget: Ja(e.currentTarget),
...Ka(e)
};
return "undefined" != typeof CustomEvent && Sa(e, CustomEvent) && (t.detail = e.detail), t
}
return e
}
function Ja(e) {
try {
return t = e, "undefined" != typeof Element && Sa(t, Element) ? Pa(e) : Object.prototype.toString.call(e)
} catch (e) {
return ""
}
var t
}
function Ka(e) {
if ("object" == typeof e && null !== e) {
const t = {};
for (const n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t
}
return {}
}
function Qa(e) {
return Xa(e, new Map)
}
function Xa(e, t) {
if (function(e) {
if (!ya(e)) return !1;
try {
const t = Object.getPrototypeOf(e).constructor.name;
return !t || "Object" === t
} catch (e) {
return !0
}
}(e)) {
const n = t.get(e);
if (void 0 !== n) return n;
const r = {};
t.set(e, r);
for (const n of Object.keys(e)) void 0 !== e[n] && (r[n] = Xa(e[n], t));
return r
}
if (Array.isArray(e)) {
const n = t.get(e);
if (void 0 !== n) return n;
const r = [];
return t.set(e, r), e.forEach(e => {
r.push(Xa(e, t))
}), r
}
return e
}
const Za = "production",
es = "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function ts() {
const e = Ea,
t = e.crypto || e.msCrypto;
let n = () => 16 * Math.random();
try {
if (t && t.randomUUID) return t.randomUUID().replace(/-/g, "");
t && t.getRandomValues && (n = () => {
const e = new Uint8Array(1);
return t.getRandomValues(e), e[0]
})
} catch (e) {}
return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, e => (e ^ (15 & n()) >> e / 4).toString(16))
}
function ns(e) {
return e.exception && e.exception.values ? e.exception.values[0] : void 0
}
function rs(e) {
const {
message: t,
event_id: n
} = e;
if (t) return t;
const r = ns(e);
return r ? r.type && r.value ? `${r.type}: ${r.value}` : r.type || r.value || n || "" : n || ""
}
function os(e, t, n) {
const r = e.exception = e.exception || {},
o = r.values = r.values || [],
i = o[0] = o[0] || {};
i.value || (i.value = t || ""), i.type || (i.type = n || "Error")
}
function is(e, t) {
const n = ns(e);
if (!n) return;
const r = n.mechanism;
if (n.mechanism = {
type: "generic",
handled: !0,
...r,
...t
}, t && "data" in t) {
const e = {
...r && r.data,
...t.data
};
n.mechanism.data = e
}
}
function as(e) {
if (e && e.__sentry_captured__) return !0;
try {
qa(e, "__sentry_captured__", !0)
} catch (e) {}
return !1
}
function ss(e) {
return Array.isArray(e) ? e : [e]
}
const cs = 1e3;
function us() {
return Date.now() / cs
}
const ls = function() {
const {
performance: e
} = Ea;
if (!e || !e.now) return us;
const t = Date.now() - e.now(),
n = null == e.timeOrigin ? t : e.timeOrigin;
return () => (n + e.now()) / cs
}();
let fs;
const ds = (() => {
const {
performance: e
} = Ea;
if (!e || !e.now) return void(fs = "none");
const t = 36e5,
n = e.now(),
r = Date.now(),
o = e.timeOrigin ? Math.abs(e.timeOrigin + n - r) : t,
i = o < t,
a = e.timing && e.timing.navigationStart,
s = "number" == typeof a ? Math.abs(a + n - r) : t;
return i || s < t ? o <= s ? (fs = "timeOrigin", e.timeOrigin) : (fs = "navigationStart", a) : (fs = "dateNow", r)
})();
var ps;
function hs(e) {
return new gs(t => {
t(e)
})
}
function ms(e) {
return new gs((t, n) => {
n(e)
})
}! function(e) {
e[e.PENDING = 0] = "PENDING";
e[e.RESOLVED = 1] = "RESOLVED";
e[e.REJECTED = 2] = "REJECTED"
}(ps || (ps = {}));
class gs {
constructor(e) {
gs.prototype.__init.call(this), gs.prototype.__init2.call(this), gs.prototype.__init3.call(this), gs.prototype.__init4.call(this), this._state = ps.PENDING, this._handlers = [];
try {
e(this._resolve, this._reject)
} catch (e) {
this._reject(e)
}
}
then(e, t) {
return new gs((n, r) => {
this._handlers.push([!1, t => {
if (e) try {
n(e(t))
} catch (e) {
r(e)
} else n(t)
}, e => {
if (t) try {
n(t(e))
} catch (e) {
r(e)
} else r(e)
}]), this._executeHandlers()
})
} catch (e) {
return this.then(e => e, e)
} finally(e) {
return new gs((t, n) => {
let r, o;
return this.then(t => {
o = !1, r = t, e && e()
}, t => {
o = !0, r = t, e && e()
}).then(() => {
o ? n(r) : t(r)
})
})
}
__init() {
this._resolve = e => {
this._setResult(ps.RESOLVED, e)
}
}
__init2() {
this._reject = e => {
this._setResult(ps.REJECTED, e)
}
}
__init3() {
this._setResult = (e, t) => {
this._state === ps.PENDING && (ba(t) ? t.then(this._resolve, this._reject) : (this._state = e, this._value = t, this._executeHandlers()))
}
}
__init4() {
this._executeHandlers = () => {
if (this._state === ps.PENDING) return;
const e = this._handlers.slice();
this._handlers = [], e.forEach(e => {
e[0] || (this._state === ps.RESOLVED && e[1](this._value), this._state === ps.REJECTED && e[2](this._value), e[0] = !0)
})
}
}
}
function ys() {
return Ta("globalEventProcessors", () => [])
}
function vs(e) {
ys().push(e)
}
function bs(e, t, n, r = 0) {
return new gs((o, i) => {
const a = e[r];
if (null === t || "function" != typeof a) o(t);
else {
const s = a({
...t
}, n);
es && a.id && null === s && Fa.log(`Event processor "${a.id}" dropped event`), ba(s) ? s.then(t => bs(e, t, n, r + 1).then(o)).then(null, i) : bs(e, s, n, r + 1).then(o).then(null, i)
}
})
}
function _s(e) {
const t = ls(),
n = {
sid: ts(),
init: !0,
timestamp: t,
started: t,
duration: 0,
status: "ok",
errors: 0,
ignoreDuration: !1,
toJSON: () => function(e) {
return Qa({
sid: `${e.sid}`,
init: e.init,
started: new Date(1e3 * e.started).toISOString(),
timestamp: new Date(1e3 * e.timestamp).toISOString(),
status: e.status,
errors: e.errors,
did: "number" == typeof e.did || "string" == typeof e.did ? `${e.did}` : void 0,
duration: e.duration,
abnormal_mechanism: e.abnormal_mechanism,
attrs: {
release: e.release,
environment: e.environment,
ip_address: e.ipAddress,
user_agent: e.userAgent
}
})
}(n)
};
return e && Ss(n, e), n
}
function Ss(e, t = {}) {
if (t.user && (!e.ipAddress && t.user.ip_address && (e.ipAddress = t.user.ip_address), e.did || t.did || (e.did = t.user.id || t.user.email || t.user.username)), e.timestamp = t.timestamp || ls(), t.abnormal_mechanism && (e.abnormal_mechanism = t.abnormal_mechanism), t.ignoreDuration && (e.ignoreDuration = t.ignoreDuration), t.sid && (e.sid = 32 === t.sid.length ? t.sid : ts()), void 0 !== t.init && (e.init = t.init), !e.did && t.did && (e.did = `${t.did}`), "number" == typeof t.started && (e.started = t.started), e.ignoreDuration) e.duration = void 0;
else if ("number" == typeof t.duration) e.duration = t.duration;
else {
const t = e.timestamp - e.started;
e.duration = t >= 0 ? t : 0
}
t.release && (e.release = t.release), t.environment && (e.environment = t.environment), !e.ipAddress && t.ipAddress && (e.ipAddress = t.ipAddress), !e.userAgent && t.userAgent && (e.userAgent = t.userAgent), "number" == typeof t.errors && (e.errors = t.errors), t.status && (e.status = t.status)
}
function ws(e, t) {
let n = {};
t ? n = {
status: t
} : "ok" === e.status && (n = {
status: "exited"
}), Ss(e, n)
}
function Os(e) {
return e.transaction
}
const Es = "baggage",
ks = "sentry-",
Ts = /^sentry-/,
xs = 8192;
function Is(e) {
if (!ha(e) && !Array.isArray(e)) return;
let t = {};
if (Array.isArray(e)) t = e.reduce((e, t) => {
const n = As(t);
for (const t of Object.keys(n)) e[t] = n[t];
return e
}, {});
else {
if (!e) return;
t = As(e)
}
const n = Object.entries(t).reduce((e, [t, n]) => {
if (t.match(Ts)) {
e[t.slice(ks.length)] = n
}
return e
}, {});
return Object.keys(n).length > 0 ? n : void 0
}
function Ps(e) {
if (!e) return;
return function(e) {
if (0 === Object.keys(e).length) return;
return Object.entries(e).reduce((e, [t, n], r) => {
const o = `${encodeURIComponent(t)}=${encodeURIComponent(n)}`,
i = 0 === r ? o : `${e},${o}`;
return i.length > xs ? (Ma && Fa.warn(`Not adding key: ${t} with val: ${n} to baggage header due to exceeding baggage size limits.`), e) : i
}, "")
}(Object.entries(e).reduce((e, [t, n]) => (n && (e[`${ks}${t}`] = n), e), {}))
}
function As(e) {
return e.split(",").map(e => e.split("=").map(e => decodeURIComponent(e.trim()))).reduce((e, [t, n]) => (e[t] = n, e), {})
}
const Cs = new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");
function js(e) {
if (!e) return;
const t = e.match(Cs);
if (!t) return;
let n;
return "1" === t[3] ? n = !0 : "0" === t[3] && (n = !1), {
traceId: t[1],
parentSampled: n,
parentSpanId: t[2]
}
}
function Rs(e, t) {
const n = js(e),
r = Is(t),
{
traceId: o,
parentSpanId: i,
parentSampled: a
} = n || {};
return n ? {
traceId: o || ts(),
parentSpanId: i || ts().substring(16),
spanId: ts().substring(16),
sampled: a,
dsc: r || {}
} : {
traceId: o || ts(),
spanId: ts().substring(16)
}
}
function Ms(e = ts(), t = ts().substring(16), n) {
let r = "";
return void 0 !== n && (r = n ? "-1" : "-0"), `${e}-${t}${r}`
}
const Ds = 1;
function Ns(e) {
const {
spanId: t,
traceId: n
} = e.spanContext(), {
data: r,
op: o,
parent_span_id: i,
status: a,
tags: s,
origin: c
} = Us(e);
return Qa({
data: r,
op: o,
parent_span_id: i,
span_id: t,
status: a,
tags: s,
trace_id: n,
origin: c
})
}
function Ls(e) {
const {
traceId: t,
spanId: n
} = e.spanContext();
return Ms(t, n, Gs(e))
}
function Fs(e) {
return "number" == typeof e ? Bs(e) : Array.isArray(e) ? e[0] + e[1] / 1e9 : e instanceof Date ? Bs(e.getTime()) : ls()
}
function Bs(e) {
return e > 9999999999 ? e / 1e3 : e
}
function Us(e) {
return function(e) {
return "function" == typeof e.getSpanJSON
}(e) ? e.getSpanJSON() : "function" == typeof e.toJSON ? e.toJSON() : {}
}
function Gs(e) {
const {
traceFlags: t
} = e.spanContext();
return Boolean(t & Ds)
}
function $s(e, t, n) {
const r = t.getOptions(),
{
publicKey: o
} = t.getDsn() || {},
{
segment: i
} = n && n.getUser() || {},
a = Qa({
environment: r.environment || Za,
release: r.release,
user_segment: i,
public_key: o,
trace_id: e
});
return t.emit && t.emit("createDsc", a), a
}
function Hs(e) {
const t = Uc();
if (!t) return {};
const n = $s(Us(e).trace_id || "", t, $c()),
r = Os(e);
if (!r) return n;
const o = r && r._frozenDynamicSamplingContext;
if (o) return o;
const {
sampleRate: i,
source: a
} = r.metadata;
null != i && (n.sample_rate = `${i}`);
const s = Us(r);
return a && "url" !== a && (n.transaction = s.description), n.sampled = String(Gs(r)), t.emit && t.emit("createDsc", n), n
}
function zs(e, t) {
const {
fingerprint: n,
span: r,
breadcrumbs: o,
sdkProcessingMetadata: i
} = t;
! function(e, t) {
const {
extra: n,
tags: r,
user: o,
contexts: i,
level: a,
transactionName: s
} = t, c = Qa(n);
c && Object.keys(c).length && (e.extra = {
...c,
...e.extra
});
const u = Qa(r);
u && Object.keys(u).length && (e.tags = {
...u,
...e.tags
});
const l = Qa(o);
l && Object.keys(l).length && (e.user = {
...l,
...e.user
});
const f = Qa(i);
f && Object.keys(f).length && (e.contexts = {
...f,
...e.contexts
});
a && (e.level = a);
s && (e.transaction = s)
}(e, t), r && function(e, t) {
e.contexts = {
trace: Ns(t),
...e.contexts
};
const n = Os(t);
if (n) {
e.sdkProcessingMetadata = {
dynamicSamplingContext: Hs(t),
...e.sdkProcessingMetadata
};
const r = Us(n).description;
r && (e.tags = {
transaction: r,
...e.tags
})
}
}(e, r),
function(e, t) {
e.fingerprint = e.fingerprint ? ss(e.fingerprint) : [], t && (e.fingerprint = e.fingerprint.concat(t));
e.fingerprint && !e.fingerprint.length && delete e.fingerprint
}(e, n),
function(e, t) {
const n = [...e.breadcrumbs || [], ...t];
e.breadcrumbs = n.length ? n : void 0
}(e, o),
function(e, t) {
e.sdkProcessingMetadata = {
...e.sdkProcessingMetadata,
...t
}
}(e, i)
}
function qs(e, t) {
const {
extra: n,
tags: r,
user: o,
contexts: i,
level: a,
sdkProcessingMetadata: s,
breadcrumbs: c,
fingerprint: u,
eventProcessors: l,
attachments: f,
propagationContext: d,
transactionName: p,
span: h
} = t;
Ws(e, "extra", n), Ws(e, "tags", r), Ws(e, "user", o), Ws(e, "contexts", i), Ws(e, "sdkProcessingMetadata", s), a && (e.level = a), p && (e.transactionName = p), h && (e.span = h), c.length && (e.breadcrumbs = [...e.breadcrumbs, ...c]), u.length && (e.fingerprint = [...e.fingerprint, ...u]), l.length && (e.eventProcessors = [...e.eventProcessors, ...l]), f.length && (e.attachments = [...e.attachments, ...f]), e.propagationContext = {
...e.propagationContext,
...d
}
}
function Ws(e, t, n) {
if (n && Object.keys(n).length) {
e[t] = {
...e[t]
};
for (const r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[t][r] = n[r])
}
}
let Vs;
class Ys {
constructor() {
this._notifyingListeners = !1, this._scopeListeners = [], this._eventProcessors = [], this._breadcrumbs = [], this._attachments = [], this._user = {}, this._tags = {}, this._extra = {}, this._contexts = {}, this._sdkProcessingMetadata = {}, this._propagationContext = Js()
}
static clone(e) {
return e ? e.clone() : new Ys
}
clone() {
const e = new Ys;
return e._breadcrumbs = [...this._breadcrumbs], e._tags = {
...this._tags
}, e._extra = {
...this._extra
}, e._contexts = {
...this._contexts
}, e._user = this._user, e._level = this._level, e._span = this._span, e._session = this._session, e._transactionName = this._transactionName, e._fingerprint = this._fingerprint, e._eventProcessors = [...this._eventProcessors], e._requestSession = this._requestSession, e._attachments = [...this._attachments], e._sdkProcessingMetadata = {
...this._sdkProcessingMetadata
}, e._propagationContext = {
...this._propagationContext
}, e._client = this._client, e
}
setClient(e) {
this._client = e
}
getClient() {
return this._client
}
addScopeListener(e) {
this._scopeListeners.push(e)
}
addEventProcessor(e) {
return this._eventProcessors.push(e), this
}
setUser(e) {
return this._user = e || {
email: void 0,
id: void 0,
ip_address: void 0,
segment: void 0,
username: void 0
}, this._session && Ss(this._session, {
user: e
}), this._notifyScopeListeners(), this
}
getUser() {
return this._user
}
getRequestSession() {
return this._requestSession
}
setRequestSession(e) {
return this._requestSession = e, this
}
setTags(e) {
return this._tags = {
...this._tags,
...e
}, this._notifyScopeListeners(), this
}
setTag(e, t) {
return this._tags = {
...this._tags,
[e]: t
}, this._notifyScopeListeners(), this
}
setExtras(e) {
return this._extra = {
...this._extra,
...e
}, this._notifyScopeListeners(), this
}
setExtra(e, t) {
return this._extra = {
...this._extra,
[e]: t
}, this._notifyScopeListeners(), this
}
setFingerprint(e) {
return this._fingerprint = e, this._notifyScopeListeners(), this
}
setLevel(e) {
return this._level = e, this._notifyScopeListeners(), this
}
setTransactionName(e) {
return this._transactionName = e, this._notifyScopeListeners(), this
}
setContext(e, t) {
return null === t ? delete this._contexts[e] : this._contexts[e] = t, this._notifyScopeListeners(), this
}
setSpan(e) {
return this._span = e, this._notifyScopeListeners(), this
}
getSpan() {
return this._span
}
getTransaction() {
const e = this._span;
return e && e.transaction
}
setSession(e) {
return e ? this._session = e : delete this._session, this._notifyScopeListeners(), this
}
getSession() {
return this._session
}
update(e) {
if (!e) return this;
const t = "function" == typeof e ? e(this) : e;
if (t instanceof Ys) {
const e = t.getScopeData();
this._tags = {
...this._tags,
...e.tags
}, this._extra = {
...this._extra,
...e.extra
}, this._contexts = {
...this._contexts,
...e.contexts
}, e.user && Object.keys(e.user).length && (this._user = e.user), e.level && (this._level = e.level), e.fingerprint.length && (this._fingerprint = e.fingerprint), t.getRequestSession() && (this._requestSession = t.getRequestSession()), e.propagationContext && (this._propagationContext = e.propagationContext)
} else if (ya(t)) {
const t = e;
this._tags = {
...this._tags,
...t.tags
}, this._extra = {
...this._extra,
...t.extra
}, this._contexts = {
...this._contexts,
...t.contexts
}, t.user && (this._user = t.user), t.level && (this._level = t.level), t.fingerprint && (this._fingerprint = t.fingerprint), t.requestSession && (this._requestSession = t.requestSession), t.propagationContext && (this._propagationContext = t.propagationContext)
}
return this
}
clear() {
return this._breadcrumbs = [], this._tags = {}, this._extra = {}, this._user = {}, this._contexts = {}, this._level = void 0, this._transactionName = void 0, this._fingerprint = void 0, this._requestSession = void 0, this._span = void 0, this._session = void 0, this._notifyScopeListeners(), this._attachments = [], this._propagationContext = Js(), this
}
addBreadcrumb(e, t) {
const n = "number" == typeof t ? t : 100;
if (n <= 0) return this;
const r = {
timestamp: us(),
...e
},
o = this._breadcrumbs;
return o.push(r), this._breadcrumbs = o.length > n ? o.slice(-n) : o, this._notifyScopeListeners(), this
}
getLastBreadcrumb() {
return this._breadcrumbs[this._breadcrumbs.length - 1]
}
clearBreadcrumbs() {
return this._breadcrumbs = [], this._notifyScopeListeners(), this
}
addAttachment(e) {
return this._attachments.push(e), this
}
getAttachments() {
return this.getScopeData().attachments
}
clearAttachments() {
return this._attachments = [], this
}
getScopeData() {
const {
_breadcrumbs: e,
_attachments: t,
_contexts: n,
_tags: r,
_extra: o,
_user: i,
_level: a,
_fingerprint: s,
_eventProcessors: c,
_propagationContext: u,
_sdkProcessingMetadata: l,
_transactionName: f,
_span: d
} = this;
return {
breadcrumbs: e,
attachments: t,
contexts: n,
tags: r,
extra: o,
user: i,
level: a,
fingerprint: s || [],
eventProcessors: c,
propagationContext: u,
sdkProcessingMetadata: l,
transactionName: f,
span: d
}
}
applyToEvent(e, t = {}, n = []) {
zs(e, this.getScopeData());
return bs([...n, ...ys(), ...this._eventProcessors], e, t)
}
setSDKProcessingMetadata(e) {
return this._sdkProcessingMetadata = {
...this._sdkProcessingMetadata,
...e
}, this
}
setPropagationContext(e) {
return this._propagationContext = e, this
}
getPropagationContext() {
return this._propagationContext
}
captureException(e, t) {
const n = t && t.event_id ? t.event_id : ts();
if (!this._client) return Fa.warn("No client configured on scope - will not capture exception!"), n;
const r = new Error("Sentry syntheticException");
return this._client.captureException(e, {
originalException: e,
syntheticException: r,
...t,
event_id: n
}, this), n
}
captureMessage(e, t, n) {
const r = n && n.event_id ? n.event_id : ts();
if (!this._client) return Fa.warn("No client configured on scope - will not capture message!"), r;
const o = new Error(e);
return this._client.captureMessage(e, t, {
originalException: e,
syntheticException: o,
...n,
event_id: r
}, this), r
}
captureEvent(e, t) {
const n = t && t.event_id ? t.event_id : ts();
return this._client ? (this._client.captureEvent(e, {
...t,
event_id: n
}, this), n) : (Fa.warn("No client configured on scope - will not capture event!"), n)
}
_notifyScopeListeners() {
this._notifyingListeners || (this._notifyingListeners = !0, this._scopeListeners.forEach(e => {
e(this)
}), this._notifyingListeners = !1)
}
}
function Js() {
return {
traceId: ts(),
spanId: ts().substring(16)
}
}
const Ks = "7.120.4",
Qs = parseFloat(Ks),
Xs = 100;
class Zs {
constructor(e, t, n, r = Qs) {
let o, i;
this._version = r, t ? o = t : (o = new Ys, o.setClient(e)), n ? i = n : (i = new Ys, i.setClient(e)), this._stack = [{
scope: o
}], e && this.bindClient(e), this._isolationScope = i
}
isOlderThan(e) {
return this._version < e
}
bindClient(e) {
const t = this.getStackTop();
t.client = e, t.scope.setClient(e), e && e.setupIntegrations && e.setupIntegrations()
}
pushScope() {
const e = this.getScope().clone();
return this.getStack().push({
client: this.getClient(),
scope: e
}), e
}
popScope() {
return !(this.getStack().length <= 1) && !!this.getStack().pop()
}
withScope(e) {
const t = this.pushScope();
let n;
try {
n = e(t)
} catch (e) {
throw this.popScope(), e
}
return ba(n) ? n.then(e => (this.popScope(), e), e => {
throw this.popScope(), e
}) : (this.popScope(), n)
}
getClient() {
return this.getStackTop().client
}
getScope() {
return this.getStackTop().scope
}
getIsolationScope() {
return this._isolationScope
}
getStack() {
return this._stack
}
getStackTop() {
return this._stack[this._stack.length - 1]
}
captureException(e, t) {
const n = this._lastEventId = t && t.event_id ? t.event_id : ts(),
r = new Error("Sentry syntheticException");
return this.getScope().captureException(e, {
originalException: e,
syntheticException: r,
...t,
event_id: n
}), n
}
captureMessage(e, t, n) {
const r = this._lastEventId = n && n.event_id ? n.event_id : ts(),
o = new Error(e);
return this.getScope().captureMessage(e, t, {
originalException: e,
syntheticException: o,
...n,
event_id: r
}), r
}
captureEvent(e, t) {
const n = t && t.event_id ? t.event_id : ts();
return e.type || (this._lastEventId = n), this.getScope().captureEvent(e, {
...t,
event_id: n
}), n
}
lastEventId() {
return this._lastEventId
}
addBreadcrumb(e, t) {
const {
scope: n,
client: r
} = this.getStackTop();
if (!r) return;
const {
beforeBreadcrumb: o = null,
maxBreadcrumbs: i = Xs
} = r.getOptions && r.getOptions() || {};
if (i <= 0) return;
const a = {
timestamp: us(),
...e
},
s = o ? La(() => o(a, t)) : a;
null !== s && (r.emit && r.emit("beforeAddBreadcrumb", s, t), n.addBreadcrumb(s, i))
}
setUser(e) {
this.getScope().setUser(e), this.getIsolationScope().setUser(e)
}
setTags(e) {
this.getScope().setTags(e), this.getIsolationScope().setTags(e)
}
setExtras(e) {
this.getScope().setExtras(e), this.getIsolationScope().setExtras(e)
}
setTag(e, t) {
this.getScope().setTag(e, t), this.getIsolationScope().setTag(e, t)
}
setExtra(e, t) {
this.getScope().setExtra(e, t), this.getIsolationScope().setExtra(e, t)
}
setContext(e, t) {
this.getScope().setContext(e, t), this.getIsolationScope().setContext(e, t)
}
configureScope(e) {
const {
scope: t,
client: n
} = this.getStackTop();
n && e(t)
}
run(e) {
const t = tc(this);
try {
e(this)
} finally {
tc(t)
}
}
getIntegration(e) {
const t = this.getClient();
if (!t) return null;
try {
return t.getIntegration(e)
} catch (t) {
return es && Fa.warn(`Cannot retrieve integration ${e.id} from the current Hub`), null
}
}
startTransaction(e, t) {
const n = this._callExtensionMethod("startTransaction", e, t);
if (es && !n) {
this.getClient() ? Fa.warn("Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n") : Fa.warn("Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'")
}
return n
}
traceHeaders() {
return this._callExtensionMethod("traceHeaders")
}
captureSession(e = !1) {
if (e) return this.endSession();
this._sendSessionUpdate()
}
endSession() {
const e = this.getStackTop().scope,
t = e.getSession();
t && ws(t), this._sendSessionUpdate(), e.setSession()
}
startSession(e) {
const {
scope: t,
client: n
} = this.getStackTop(), {
release: r,
environment: o = Za
} = n && n.getOptions() || {}, {
userAgent: i
} = Ea.navigator || {}, a = _s({
release: r,
environment: o,
user: t.getUser(),
...i && {
userAgent: i
},
...e
}), s = t.getSession && t.getSession();
return s && "ok" === s.status && Ss(s, {
status: "exited"
}), this.endSession(), t.setSession(a), a
}
shouldSendDefaultPii() {
const e = this.getClient(),
t = e && e.getOptions();
return Boolean(t && t.sendDefaultPii)
}
_sendSessionUpdate() {
const {
scope: e,
client: t
} = this.getStackTop(), n = e.getSession();
n && t && t.captureSession && t.captureSession(n)
}
_callExtensionMethod(e, ...t) {
const n = ec().__SENTRY__;
if (n && n.extensions && "function" == typeof n.extensions[e]) return n.extensions[e].apply(this, t);
es && Fa.warn(`Extension method ${e} couldn't be found, doing nothing.`)
}
}
function ec() {
return Ea.__SENTRY__ = Ea.__SENTRY__ || {
extensions: {},
hub: void 0
}, Ea
}
function tc(e) {
const t = ec(),
n = sc(t);
return cc(t, e), n
}
function nc() {
const e = ec();
if (e.__SENTRY__ && e.__SENTRY__.acs) {
const t = e.__SENTRY__.acs.getCurrentHub();
if (t) return t
}
return oc(e)
}
function rc() {
return nc().getIsolationScope()
}
function oc(e = ec()) {
return ac(e) && !sc(e).isOlderThan(Qs) || cc(e, new Zs), sc(e)
}
function ic(e, t = {}) {
const n = ec();
return n.__SENTRY__ && n.__SENTRY__.acs ? n.__SENTRY__.acs.runWithAsyncContext(e, t) : e()
}
function ac(e) {
return !!(e && e.__SENTRY__ && e.__SENTRY__.hub)
}
function sc(e) {
return Ta("hub", () => new Zs, e)
}
function cc(e, t) {
if (!e) return !1;
return (e.__SENTRY__ = e.__SENTRY__ || {}).hub = t, !0
}
const uc = 50,
lc = /\(error: (.*)\)/,
fc = /captureMessage|captureException/;
function dc(...e) {
const t = e.sort((e, t) => e[0] - t[0]).map(e => e[1]);
return (e, n = 0) => {
const r = [],
o = e.split("\n");
for (let e = n; e < o.length; e++) {
const n = o[e];
if (n.length > 1024) continue;
const i = lc.test(n) ? n.replace(lc, "$1") : n;
if (!i.match(/\S*Error: /)) {
for (const e of t) {
const t = e(i);
if (t) {
r.push(t);
break
}
}
if (r.length >= uc) break
}
}
return function(e) {
if (!e.length) return [];
const t = Array.from(e);
/sentryWrapped/.test(t[t.length - 1].function || "") && t.pop();
t.reverse(), fc.test(t[t.length - 1].function || "") && (t.pop(), fc.test(t[t.length - 1].function || "") && t.pop());
return t.slice(0, uc).map(e => ({
...e,
filename: e.filename || t[t.length - 1].filename,
function: e.function || "?"
}))
}(r)
}
}
const pc = "";
function hc(e) {
try {
return e && "function" == typeof e && e.name || pc
} catch (e) {
return pc
}
}
function mc(e, t = 100, n = 1 / 0) {
try {
return yc("", e, t, n)
} catch (e) {
return {
ERROR: `**non-serializable** (${e})`
}
}
}
function gc(e, t = 3, n = 102400) {
const r = mc(e, t);
return o = r,
function(e) {
return ~-encodeURI(e).split(/%..|./).length
}(JSON.stringify(o)) > n ? gc(e, t - 1, n) : r;
var o
}
function yc(e, t, r = 1 / 0, o = 1 / 0, i = function() {
const e = "function" == typeof WeakSet,
t = e ? new WeakSet : [];
return [function(n) {
if (e) return !!t.has(n) || (t.add(n), !1);
for (let e = 0; e < t.length; e++)
if (t[e] === n) return !0;
return t.push(n), !1
}, function(n) {
if (e) t.delete(n);
else
for (let e = 0; e < t.length; e++)
if (t[e] === n) {
t.splice(e, 1);
break
}
}]
}()) {
const [a, s] = i;
if (null == t || ["number", "boolean", "string"].includes(typeof t) && !_a(t)) return t;
const c = function(e, t) {
try {
if ("domain" === e && t && "object" == typeof t && t._events) return "[Domain]";
if ("domainEmitter" === e) return "[DomainEmitter]";
if (void 0 !== n.g && t === n.g) return "[Global]";
if ("undefined" != typeof window && t === window) return "[Window]";
if ("undefined" != typeof document && t === document) return "[Document]";
if (wa(t)) return "[VueViewModel]";
if (ya(r = t) && "nativeEvent" in r && "preventDefault" in r && "stopPropagation" in r) return "[SyntheticEvent]";
if ("number" == typeof t && t != t) return "[NaN]";
if ("function" == typeof t) return `[Function: ${hc(t)}]`;
if ("symbol" == typeof t) return `[${String(t)}]`;
if ("bigint" == typeof t) return `[BigInt: ${String(t)}]`;
const o = function(e) {
const t = Object.getPrototypeOf(e);
return t ? t.constructor.name : "null prototype"
}(t);
return /^HTML(\w*)Element$/.test(o) ? `[HTMLElement: ${o}]` : `[object ${o}]`
} catch (e) {
return `**non-serializable** (${e})`
}
var r
}(e, t);
if (!c.startsWith("[object ")) return c;
if (t.__sentry_skip_normalization__) return t;
const u = "number" == typeof t.__sentry_override_normalization_depth__ ? t.__sentry_override_normalization_depth__ : r;
if (0 === u) return c.replace("object ", "");
if (a(t)) return "[Circular ~]";
const l = t;
if (l && "function" == typeof l.toJSON) try {
return yc("", l.toJSON(), u - 1, o, i)
} catch (e) {}
const f = Array.isArray(t) ? [] : {};
let d = 0;
const p = Ya(t);
for (const e in p) {
if (!Object.prototype.hasOwnProperty.call(p, e)) continue;
if (d >= o) {
f[e] = "[MaxProperties ~]";
break
}
const t = p[e];
f[e] = yc(e, t, u - 1, o, i), d++
}
return s(t), f
}
function vc(e, t, n, r, o, i) {
const {
normalizeDepth: a = 3,
normalizeMaxBreadth: s = 1e3
} = e, c = {
...t,
event_id: t.event_id || n.event_id || ts(),
timestamp: t.timestamp || us()
}, u = n.integrations || e.integrations.map(e => e.name);
! function(e, t) {
const {
environment: n,
release: r,
dist: o,
maxValueLength: i = 250
} = t;
"environment" in e || (e.environment = "environment" in t ? n : Za);
void 0 === e.release && void 0 !== r && (e.release = r);
void 0 === e.dist && void 0 !== o && (e.dist = o);
e.message && (e.message = Ba(e.message, i));
const a = e.exception && e.exception.values && e.exception.values[0];
a && a.value && (a.value = Ba(a.value, i));
const s = e.request;
s && s.url && (s.url = Ba(s.url, i))
}(c, e),
function(e, t) {
t.length > 0 && (e.sdk = e.sdk || {}, e.sdk.integrations = [...e.sdk.integrations || [], ...t])
}(c, u), void 0 === t.type && function(e, t) {
const n = Ea._sentryDebugIds;
if (!n) return;
let r;
const o = bc.get(t);
o ? r = o : (r = new Map, bc.set(t, r));
const i = Object.keys(n).reduce((e, o) => {
let i;
const a = r.get(o);
a ? i = a : (i = t(o), r.set(o, i));
for (let t = i.length - 1; t >= 0; t--) {
const r = i[t];
if (r.filename) {
e[r.filename] = n[o];
break
}
}
return e
}, {});
try {
e.exception.values.forEach(e => {
e.stacktrace.frames.forEach(e => {
e.filename && (e.debug_id = i[e.filename])
})
})
} catch (e) {}
}(c, e.stackParser);
const l = function(e, t) {
if (!t) return e;
const n = e ? e.clone() : new Ys;
return n.update(t), n
}(r, n.captureContext);
n.mechanism && is(c, n.mechanism);
const f = o && o.getEventProcessors ? o.getEventProcessors() : [],
d = (Vs || (Vs = new Ys), Vs).getScopeData();
if (i) {
qs(d, i.getScopeData())
}
if (l) {
qs(d, l.getScopeData())
}
const p = [...n.attachments || [], ...d.attachments];
p.length && (n.attachments = p), zs(c, d);
return bs([...f, ...ys(), ...d.eventProcessors], c, n).then(e => (e && function(e) {
const t = {};
try {
e.exception.values.forEach(e => {
e.stacktrace.frames.forEach(e => {
e.debug_id && (e.abs_path ? t[e.abs_path] = e.debug_id : e.filename && (t[e.filename] = e.debug_id), delete e.debug_id)
})
})
} catch (e) {}
if (0 === Object.keys(t).length) return;
e.debug_meta = e.debug_meta || {}, e.debug_meta.images = e.debug_meta.images || [];
const n = e.debug_meta.images;
Object.keys(t).forEach(e => {
n.push({
type: "sourcemap",
code_file: e,
debug_id: t[e]
})
})
}(e), "number" == typeof a && a > 0 ? function(e, t, n) {
if (!e) return null;
const r = {
...e,
...e.breadcrumbs && {
breadcrumbs: e.breadcrumbs.map(e => ({
...e,
...e.data && {
data: mc(e.data, t, n)
}
}))
},
...e.user && {
user: mc(e.user, t, n)
},
...e.contexts && {
contexts: mc(e.contexts, t, n)
},
...e.extra && {
extra: mc(e.extra, t, n)
}
};
e.contexts && e.contexts.trace && r.contexts && (r.contexts.trace = e.contexts.trace, e.contexts.trace.data && (r.contexts.trace.data = mc(e.contexts.trace.data, t, n)));
e.spans && (r.spans = e.spans.map(e => {
const r = Us(e).data;
return r && (e.data = mc(r, t, n)), e
}));
return r
}(e, a, s) : e))
}
const bc = new WeakMap;
function _c(e) {
if (e) return function(e) {
return e instanceof Ys || "function" == typeof e
}(e) || function(e) {
return Object.keys(e).some(e => Sc.includes(e))
}(e) ? {
captureContext: e
} : e
}
const Sc = ["user", "level", "extra", "contexts", "tags", "fingerprint", "requestSession", "propagationContext"];
function wc(e, t) {
return nc().captureException(e, _c(t))
}
function Oc(e, t) {
const n = "string" == typeof t ? t : void 0,
r = "string" != typeof t ? {
captureContext: t
} : void 0;
return nc().captureMessage(e, n, r)
}
function Ec(e, t) {
return nc().captureEvent(e, t)
}
function kc(e) {
nc().configureScope(e)
}
function Tc(e, t) {
nc().addBreadcrumb(e, t)
}
function xc(e, t) {
nc().setContext(e, t)
}
function Ic(e) {
nc().setExtras(e)
}
function Pc(e, t) {
nc().setExtra(e, t)
}
function Ac(e) {
nc().setTags(e)
}
function Cc(e, t) {
nc().setTag(e, t)
}
function jc(e) {
nc().setUser(e)
}
function Rc(...e) {
const t = nc();
if (2 === e.length) {
const [n, r] = e;
return n ? t.withScope(() => (t.getStackTop().scope = n, r(n))) : t.withScope(r)
}
return t.withScope(e[0])
}
function Mc(e) {
return ic(() => e(rc()))
}
function Dc(e, t) {
return Rc(n => (n.setSpan(e), t(n)))
}
function Nc(e, t) {
return nc().startTransaction({
...e
}, t)
}
async function Lc(e) {
const t = Uc();
return t ? t.flush(e) : (es && Fa.warn("Cannot flush events. No client defined."), Promise.resolve(!1))
}
async function Fc(e) {
const t = Uc();
return t ? t.close(e) : (es && Fa.warn("Cannot flush events and disable SDK. No client defined."), Promise.resolve(!1))
}
function Bc() {
return nc().lastEventId()
}
function Uc() {
return nc().getClient()
}
function Gc() {
return !!Uc()
}
function $c() {
return nc().getScope()
}
function Hc(e) {
const t = Uc(),
n = rc(),
r = $c(),
{
release: o,
environment: i = Za
} = t && t.getOptions() || {},
{
userAgent: a
} = Ea.navigator || {},
s = _s({
release: o,
environment: i,
user: r.getUser() || n.getUser(),
...a && {
userAgent: a
},
...e
}),
c = n.getSession();
return c && "ok" === c.status && Ss(c, {
status: "exited"
}), zc(), n.setSession(s), r.setSession(s), s
}
function zc() {
const e = rc(),
t = $c(),
n = t.getSession() || e.getSession();
n && ws(n), qc(), e.setSession(), t.setSession()
}
function qc() {
const e = rc(),
t = $c(),
n = Uc(),
r = t.getSession() || e.getSession();
r && n && n.captureSession && n.captureSession(r)
}
function Wc(e = !1) {
e ? zc() : qc()
}
const Vc = [];
function Yc(e) {
const t = e.defaultIntegrations || [],
n = e.integrations;
let r;
t.forEach(e => {
e.isDefaultInstance = !0
}), r = Array.isArray(n) ? [...t, ...n] : "function" == typeof n ? ss(n(t)) : t;
const o = function(e) {
const t = {};
return e.forEach(e => {
const {
name: n
} = e, r = t[n];
r && !r.isDefaultInstance && e.isDefaultInstance || (t[n] = e)
}), Object.keys(t).map(e => t[e])
}(r),
i = function(e, t) {
for (let n = 0; n < e.length; n++)
if (!0 === t(e[n])) return n;
return -1
}(o, e => "Debug" === e.name);
if (-1 !== i) {
const [e] = o.splice(i, 1);
o.push(e)
}
return o
}
function Jc(e, t) {
for (const n of t) n && n.afterAllSetup && n.afterAllSetup(e)
}
function Kc(e, t, n) {
if (n[t.name]) es && Fa.log(`Integration skipped because it was already installed: ${t.name}`);
else {
if (n[t.name] = t, -1 === Vc.indexOf(t.name) && (t.setupOnce(vs, nc), Vc.push(t.name)), t.setup && "function" == typeof t.setup && t.setup(e), e.on && "function" == typeof t.preprocessEvent) {
const n = t.preprocessEvent.bind(t);
e.on("preprocessEvent", (t, r) => n(t, r, e))
}
if (e.addEventProcessor && "function" == typeof t.processEvent) {
const n = t.processEvent.bind(t),
r = (t, r) => n(t, r, e);
r.id = t.name, e.addEventProcessor(r)
}
es && Fa.log(`Integration installed: ${t.name}`)
}
}
function Qc(e) {
const t = Uc();
t && t.addIntegration ? t.addIntegration(e) : es && Fa.warn(`Cannot add integration "${e.name}" because no SDK Client is available.`)
}
function Xc(e, t) {
const n = function(...e) {
return t(...e)
};
return n.id = e, n
}
let Zc;
const eu = "FunctionToString",
tu = new WeakMap,
nu = () => ({
name: eu,
setupOnce() {
Zc = Function.prototype.toString;
try {
Function.prototype.toString = function(...e) {
const t = Va(this),
n = tu.has(Uc()) && void 0 !== t ? t : this;
return Zc.apply(n, e)
}
} catch (e) {}
},
setup(e) {
tu.set(e, !0)
}
}),
ru = Xc(eu, nu),
ou = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/, /^ResizeObserver loop completed with undelivered notifications.$/, /^Cannot redefine property: googletag$/],
iu = [/^.*\/healthcheck$/, /^.*\/healthy$/, /^.*\/live$/, /^.*\/ready$/, /^.*\/heartbeat$/, /^.*\/health$/, /^.*\/healthz$/],
au = "InboundFilters",
su = (e = {}) => ({
name: au,
setupOnce() {},
processEvent(t, n, r) {
const o = r.getOptions(),
i = function(e = {}, t = {}) {
return {
allowUrls: [...e.allowUrls || [], ...t.allowUrls || []],
denyUrls: [...e.denyUrls || [], ...t.denyUrls || []],
ignoreErrors: [...e.ignoreErrors || [], ...t.ignoreErrors || [], ...e.disableErrorDefaults ? [] : ou],
ignoreTransactions: [...e.ignoreTransactions || [], ...t.ignoreTransactions || [], ...e.disableTransactionDefaults ? [] : iu],
ignoreInternal: void 0 === e.ignoreInternal || e.ignoreInternal
}
}(e, o);
return function(e, t) {
if (t.ignoreInternal && function(e) {
try {
return "SentryError" === e.exception.values[0].type
} catch (e) {}
return !1
}(e)) return es && Fa.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${rs(e)}`), !0;
if (function(e, t) {
if (e.type || !t || !t.length) return !1;
return function(e) {
const t = [];
e.message && t.push(e.message);
let n;
try {
n = e.exception.values[e.exception.values.length - 1]
} catch (e) {}
n && n.value && (t.push(n.value), n.type && t.push(`${n.type}: ${n.value}`));
es && 0 === t.length && Fa.error(`Could not extract message for event ${rs(e)}`);
return t
}(e).some(e => Ha(e, t))
}(e, t.ignoreErrors)) return es && Fa.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${rs(e)}`), !0;
if (function(e, t) {
if ("transaction" !== e.type || !t || !t.length) return !1;
const n = e.transaction;
return !!n && Ha(n, t)
}(e, t.ignoreTransactions)) return es && Fa.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${rs(e)}`), !0;
if (function(e, t) {
if (!t || !t.length) return !1;
const n = uu(e);
return !!n && Ha(n, t)
}(e, t.denyUrls)) return es && Fa.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${rs(e)}.\nUrl: ${uu(e)}`), !0;
if (! function(e, t) {
if (!t || !t.length) return !0;
const n = uu(e);
return !n || Ha(n, t)
}(e, t.allowUrls)) return es && Fa.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${rs(e)}.\nUrl: ${uu(e)}`), !0;
return !1
}(t, i) ? null : t
}
}),
cu = Xc(au, su);
function uu(e) {
try {
let t;
try {
t = e.exception.values[0].stacktrace.frames
} catch (e) {}
return t ? function(e = []) {
for (let t = e.length - 1; t >= 0; t--) {
const n = e[t];
if (n && "" !== n.filename && "[native code]" !== n.filename) return n.filename || null
}
return null
}(t) : null
} catch (t) {
return es && Fa.error(`Cannot extract url for event ${rs(e)}`), null
}
}
function lu(e, t, n = 250, r, o, i, a) {
if (!(i.exception && i.exception.values && a && Sa(a.originalException, Error))) return;
const s = i.exception.values.length > 0 ? i.exception.values[i.exception.values.length - 1] : void 0;
var c, u;
s && (i.exception.values = (c = fu(e, t, o, a.originalException, r, i.exception.values, s, 0), u = n, c.map(e => (e.value && (e.value = Ba(e.value, u)), e))))
}
function fu(e, t, n, r, o, i, a, s) {
if (i.length >= n + 1) return i;
let c = [...i];
if (Sa(r[o], Error)) {
du(a, s);
const i = e(t, r[o]),
u = c.length;
pu(i, o, u, s), c = fu(e, t, n, r[o], o, [i, ...c], i, u)
}
return Array.isArray(r.errors) && r.errors.forEach((r, i) => {
if (Sa(r, Error)) {
du(a, s);
const u = e(t, r),
l = c.length;
pu(u, `errors[${i}]`, l, s), c = fu(e, t, n, r, o, [u, ...c], u, l)
}
}), c
}
function du(e, t) {
e.mechanism = e.mechanism || {
type: "generic",
handled: !0
}, e.mechanism = {
...e.mechanism,
..."AggregateError" === e.type && {
is_exception_group: !0
},
exception_id: t
}
}
function pu(e, t, n, r) {
e.mechanism = e.mechanism || {
type: "generic",
handled: !0
}, e.mechanism = {
...e.mechanism,
type: "chained",
source: t,
exception_id: n,
parent_id: r
}
}
function hu(e, t) {
return e(t.stack || "", 1)
}
function mu(e, t) {
const n = {
type: t.name || t.constructor.name,
value: t.message
},
r = hu(e, t);
return r.length && (n.stacktrace = {
frames: r
}), n
}
const gu = "LinkedErrors",
yu = Xc(gu, (e = {}) => {
const t = e.limit || 5,
n = e.key || "cause";
return {
name: gu,
setupOnce() {},
preprocessEvent(e, r, o) {
const i = o.getOptions();
lu(mu, i.stackParser, i.maxValueLength, n, t, e, r)
}
}
}),
vu = r,
bu = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;
function _u(e, t = !1) {
const {
host: n,
path: r,
pass: o,
port: i,
projectId: a,
protocol: s,
publicKey: c
} = e;
return `${s}://${c}${t&&o?`:${o}`:""}@${n}${i?`:${i}`:""}/${r?`${r}/`:r}${a}`
}
function Su(e) {
const t = bu.exec(e);
if (!t) return void La(() => {
console.error(`Invalid Sentry Dsn: ${e}`)
});
const [n, r, o = "", i, a = "", s] = t.slice(1);
let c = "",
u = s;
const l = u.split("/");
if (l.length > 1 && (c = l.slice(0, -1).join("/"), u = l.pop()), u) {
const e = u.match(/^\d+/);
e && (u = e[0])
}
return wu({
host: i,
pass: o,
path: c,
projectId: u,
port: a,
protocol: n,
publicKey: r
})
}
function wu(e) {
return {
protocol: e.protocol,
publicKey: e.publicKey || "",
pass: e.pass || "",
host: e.host,
port: e.port || "",
path: e.path || "",
projectId: e.projectId
}
}
function Ou(e) {
const t = "string" == typeof e ? Su(e) : wu(e);
if (t && function(e) {
if (!Ma) return !0;
const {
port: t,
projectId: n,
protocol: r
} = e;
return !(["protocol", "publicKey", "host", "projectId"].find(t => !e[t] && (Fa.error(`Invalid Sentry Dsn: ${t} missing`), !0)) || (n.match(/^\d+$/) ? function(e) {
return "http" === e || "https" === e
}(r) ? t && isNaN(parseInt(t, 10)) && (Fa.error(`Invalid Sentry Dsn: Invalid port ${t}`), 1) : (Fa.error(`Invalid Sentry Dsn: Invalid protocol ${r}`), 1) : (Fa.error(`Invalid Sentry Dsn: Invalid projectId ${n}`), 1)))
}(t)) return t
}
function Eu(e, t = []) {
return [e, t]
}
function ku(e, t) {
const [n, r] = e;
return [n, [...r, t]]
}
function Tu(e, t) {
const n = e[1];
for (const e of n) {
if (t(e, e[0].type)) return !0
}
return !1
}
function xu(e, t) {
return (t || new TextEncoder).encode(e)
}
function Iu(e, t) {
const [n, r] = e;
let o = JSON.stringify(n);
function i(e) {
"string" == typeof o ? o = "string" == typeof e ? o + e : [xu(o, t), e] : o.push("string" == typeof e ? xu(e, t) : e)
}
for (const e of r) {
const [t, n] = e;
if (i(`\n${JSON.stringify(t)}\n`), "string" == typeof n || n instanceof Uint8Array) i(n);
else {
let e;
try {
e = JSON.stringify(n)
} catch (t) {
e = JSON.stringify(mc(n))
}
i(e)
}
}
return "string" == typeof o ? o : function(e) {
const t = e.reduce((e, t) => e + t.length, 0),
n = new Uint8Array(t);
let r = 0;
for (const t of e) n.set(t, r), r += t.length;
return n
}(o)
}
function Pu(e, t) {
const n = "string" == typeof e.data ? xu(e.data, t) : e.data;
return [Qa({
type: "attachment",
length: n.length,
filename: e.filename,
content_type: e.contentType,
attachment_type: e.attachmentType
}), n]
}
const Au = {
session: "session",
sessions: "session",
attachment: "attachment",
transaction: "transaction",
event: "error",
client_report: "internal",
user_report: "default",
profile: "profile",
replay_event: "replay",
replay_recording: "replay",
check_in: "monitor",
feedback: "feedback",
span: "span",
statsd: "metric_bucket"
};
function Cu(e) {
return Au[e]
}
function ju(e) {
if (!e || !e.sdk) return;
const {
name: t,
version: n
} = e.sdk;
return {
name: t,
version: n
}
}
function Ru(e, t, n, r) {
const o = e.sdkProcessingMetadata && e.sdkProcessingMetadata.dynamicSamplingContext;
return {
event_id: e.event_id,
sent_at: (new Date).toISOString(),
...t && {
sdk: t
},
...!!n && r && {
dsn: _u(r)
},
...o && {
trace: Qa({
...o
})
}
}
}
const Mu = new Map,
Du = new Set;
function Nu(e, t) {
return function(e) {
if (Ea._sentryModuleMetadata)
for (const t of Object.keys(Ea._sentryModuleMetadata)) {
const n = Ea._sentryModuleMetadata[t];
if (Du.has(t)) continue;
Du.add(t);
const r = e(t);
for (const e of r.reverse())
if (e.filename) {
Mu.set(e.filename, n);
break
}
}
}(e), Mu.get(t)
}
const Lu = "ModuleMetadata",
Fu = () => ({
name: Lu,
setupOnce() {},
setup(e) {
"function" == typeof e.on && e.on("beforeEnvelope", e => {
Tu(e, (e, t) => {
if ("event" === t) {
const t = Array.isArray(e) ? e[1] : void 0;
t && (! function(e) {
try {
e.exception.values.forEach(e => {
if (e.stacktrace)
for (const t of e.stacktrace.frames || []) delete t.module_metadata
})
} catch (e) {}
}(t), e[1] = t)
}
})
})
},
processEvent: (e, t, n) => (function(e, t) {
try {
t.exception.values.forEach(t => {
if (t.stacktrace)
for (const n of t.stacktrace.frames || []) {
if (!n.filename) continue;
const t = Nu(e, n.filename);
t && (n.module_metadata = t)
}
})
} catch (e) {}
}(n.getOptions().stackParser, e), e)
}),
Bu = Xc(Lu, Fu),
Uu = "sentry.source",
Gu = "sentry.sample_rate",
$u = "sentry.op",
Hu = "sentry.origin";
class zu extends Error {
constructor(e, t = "warn") {
super(e), this.message = e, this.name = new.target.prototype.constructor.name, Object.setPrototypeOf(this, new.target.prototype), this.logLevel = t
}
}
const qu = "7";
function Wu(e) {
const t = e.protocol ? `${e.protocol}:` : "",
n = e.port ? `:${e.port}` : "";
return `${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`
}
function Vu(e, t) {
return n = {
sentry_key: e.publicKey,
sentry_version: qu,
...t && {
sentry_client: `${t.name}/${t.version}`
}
}, Object.keys(n).map(e => `${encodeURIComponent(e)}=${encodeURIComponent(n[e])}`).join("&");
var n
}
function Yu(e, t = {}) {
const n = "string" == typeof t ? t : t.tunnel,
r = "string" != typeof t && t._metadata ? t._metadata.sdk : void 0;
return n || `${function(e){return`${Wu(e)}${e.projectId}/envelope/`}(e)}?${Vu(e,r)}`
}
function Ju(e, t, n, r) {
const o = ju(n),
i = e.type && "replay_event" !== e.type ? e.type : "event";
! function(e, t) {
t && (e.sdk = e.sdk || {}, e.sdk.name = e.sdk.name || t.name, e.sdk.version = e.sdk.version || t.version, e.sdk.integrations = [...e.sdk.integrations || [], ...t.integrations || []], e.sdk.packages = [...e.sdk.packages || [], ...t.packages || []])
}(e, n && n.sdk);
const a = Ru(e, o, r, t);
delete e.sdkProcessingMetadata;
return Eu(a, [
[{
type: i
}, e]
])
}
function Ku(e) {
return e.replace(/[^\w\-./]+/gi, "")
}
const Qu = [
["\n", "\\n"],
["\r", "\\r"],
["\t", "\\t"],
["\\", "\\\\"],
["|", "\\u{7c}"],
[",", "\\u{2c}"]
];
function Xu(e) {
return [...e].reduce((e, t) => e + function(e) {
for (const [t, n] of Qu)
if (e === t) return n;
return e
}(t), "")
}
function Zu(e, t, n, r) {
const o = {
sent_at: (new Date).toISOString()
};
n && n.sdk && (o.sdk = {
name: n.sdk.name,
version: n.sdk.version
}), r && t && (o.dsn = _u(t));
const i = function(e) {
const t = function(e) {
let t = "";
for (const n of e) {
const e = Object.entries(n.tags),
r = e.length > 0 ? `|#${e.map(([e,t])=>`${e}:${t}`).join(",")}` : "";
t += `${n.name}@${n.unit}:${n.metric}|${n.metricType}${r}|T${n.timestamp}\n`
}
return t
}(e);
return [{
type: "statsd",
length: t.length
}, t]
}(e);
return Eu(o, [i])
}
const el = "Not capturing exception because it's already been captured.";
class tl {
constructor(e) {
if (this._options = e, this._integrations = {}, this._integrationsInitialized = !1, this._numProcessing = 0, this._outcomes = {}, this._hooks = {}, this._eventProcessors = [], e.dsn ? this._dsn = Ou(e.dsn) : es && Fa.warn("No DSN provided, client will not send events."), this._dsn) {
const t = Yu(this._dsn, e);
this._transport = e.transport({
tunnel: this._options.tunnel,
recordDroppedEvent: this.recordDroppedEvent.bind(this),
...e.transportOptions,
url: t
})
}
}
captureException(e, t, n) {
if (as(e)) return void(es && Fa.log(el));
let r = t && t.event_id;
return this._process(this.eventFromException(e, t).then(e => this._captureEvent(e, t, n)).then(e => {
r = e
})), r
}
captureMessage(e, t, n, r) {
let o = n && n.event_id;
const i = ma(e) ? e : String(e),
a = ga(e) ? this.eventFromMessage(i, t, n) : this.eventFromException(e, n);
return this._process(a.then(e => this._captureEvent(e, n, r)).then(e => {
o = e
})), o
}
captureEvent(e, t, n) {
if (t && t.originalException && as(t.originalException)) return void(es && Fa.log(el));
let r = t && t.event_id;
const o = (e.sdkProcessingMetadata || {}).capturedSpanScope;
return this._process(this._captureEvent(e, t, o || n).then(e => {
r = e
})), r
}
captureSession(e) {
"string" != typeof e.release ? es && Fa.warn("Discarded session because of missing or non-string release") : (this.sendSession(e), Ss(e, {
init: !1
}))
}
getDsn() {
return this._dsn
}
getOptions() {
return this._options
}
getSdkMetadata() {
return this._options._metadata
}
getTransport() {
return this._transport
}
flush(e) {
const t = this._transport;
return t ? (this.metricsAggregator && this.metricsAggregator.flush(), this._isClientDoneProcessing(e).then(n => t.flush(e).then(e => n && e))) : hs(!0)
}
close(e) {
return this.flush(e).then(e => (this.getOptions().enabled = !1, this.metricsAggregator && this.metricsAggregator.close(), e))
}
getEventProcessors() {
return this._eventProcessors
}
addEventProcessor(e) {
this._eventProcessors.push(e)
}
setupIntegrations(e) {
(e && !this._integrationsInitialized || this._isEnabled() && !this._integrationsInitialized) && this._setupIntegrations()
}
init() {
this._isEnabled() && this._setupIntegrations()
}
getIntegrationById(e) {
return this.getIntegrationByName(e)
}
getIntegrationByName(e) {
return this._integrations[e]
}
getIntegration(e) {
try {
return this._integrations[e.id] || null
} catch (t) {
return es && Fa.warn(`Cannot retrieve integration ${e.id} from the current Client`), null
}
}
addIntegration(e) {
const t = this._integrations[e.name];
Kc(this, e, this._integrations), t || Jc(this, [e])
}
sendEvent(e, t = {}) {
this.emit("beforeSendEvent", e, t);
let n = Ju(e, this._dsn, this._options._metadata, this._options.tunnel);
for (const e of t.attachments || []) n = ku(n, Pu(e, this._options.transportOptions && this._options.transportOptions.textEncoder));
const r = this._sendEnvelope(n);
r && r.then(t => this.emit("afterSendEvent", e, t), null)
}
sendSession(e) {
const t = function(e, t, n, r) {
const o = ju(n);
return Eu({
sent_at: (new Date).toISOString(),
...o && {
sdk: o
},
...!!r && t && {
dsn: _u(t)
}
}, ["aggregates" in e ? [{
type: "sessions"
}, e] : [{
type: "session"
}, e.toJSON()]])
}(e, this._dsn, this._options._metadata, this._options.tunnel);
this._sendEnvelope(t)
}
recordDroppedEvent(e, t, n) {
if (this._options.sendClientReports) {
const r = "number" == typeof n ? n : 1,
o = `${e}:${t}`;
es && Fa.log(`Recording outcome: "${o}"${r>1?` (${r} times)`:""}`), this._outcomes[o] = (this._outcomes[o] || 0) + r
}
}
captureAggregateMetrics(e) {
es && Fa.log(`Flushing aggregated metrics, number of metrics: ${e.length}`);
const t = Zu(e, this._dsn, this._options._metadata, this._options.tunnel);
this._sendEnvelope(t)
}
on(e, t) {
this._hooks[e] || (this._hooks[e] = []), this._hooks[e].push(t)
}
emit(e, ...t) {
this._hooks[e] && this._hooks[e].forEach(e => e(...t))
}
_setupIntegrations() {
const {
integrations: e
} = this._options;
this._integrations = function(e, t) {
const n = {};
return t.forEach(t => {
t && Kc(e, t, n)
}), n
}(this, e), Jc(this, e), this._integrationsInitialized = !0
}
_updateSessionFromEvent(e, t) {
let n = !1,
r = !1;
const o = t.exception && t.exception.values;
if (o) {
r = !0;
for (const e of o) {
const t = e.mechanism;
if (t && !1 === t.handled) {
n = !0;
break
}
}
}
const i = "ok" === e.status;
(i && 0 === e.errors || i && n) && (Ss(e, {
...n && {
status: "crashed"
},
errors: e.errors || Number(r || n)
}), this.captureSession(e))
}
_isClientDoneProcessing(e) {
return new gs(t => {
let n = 0;
const r = setInterval(() => {
0 == this._numProcessing ? (clearInterval(r), t(!0)) : (n += 1, e && n >= e && (clearInterval(r), t(!1)))
}, 1)
})
}
_isEnabled() {
return !1 !== this.getOptions().enabled && void 0 !== this._transport
}
_prepareEvent(e, t, n, r = rc()) {
const o = this.getOptions(),
i = Object.keys(this._integrations);
return !t.integrations && i.length > 0 && (t.integrations = i), this.emit("preprocessEvent", e, t), vc(o, e, t, n, this, r).then(e => {
if (null === e) return e;
const t = {
...r.getPropagationContext(),
...n ? n.getPropagationContext() : void 0
};
if (!(e.contexts && e.contexts.trace) && t) {
const {
traceId: r,
spanId: o,
parentSpanId: i,
dsc: a
} = t;
e.contexts = {
trace: {
trace_id: r,
span_id: o,
parent_span_id: i
},
...e.contexts
};
const s = a || $s(r, this, n);
e.sdkProcessingMetadata = {
dynamicSamplingContext: s,
...e.sdkProcessingMetadata
}
}
return e
})
}
_captureEvent(e, t = {}, n) {
return this._processEvent(e, t, n).then(e => e.event_id, e => {
if (es) {
const t = e;
"log" === t.logLevel ? Fa.log(t.message) : Fa.warn(t)
}
})
}
_processEvent(e, t, n) {
const r = this.getOptions(),
{
sampleRate: o
} = r,
i = rl(e),
a = nl(e),
s = e.type || "error",
c = `before send for type \`${s}\``;
if (a && "number" == typeof o && Math.random() > o) return this.recordDroppedEvent("sample_rate", "error", e), ms(new zu(`Discarding event because it's not included in the random sample (sampling rate = ${o})`, "log"));
const u = "replay_event" === s ? "replay" : s,
l = (e.sdkProcessingMetadata || {}).capturedSpanIsolationScope;
return this._prepareEvent(e, t, n, l).then(n => {
if (null === n) throw this.recordDroppedEvent("event_processor", u, e), new zu("An event processor returned `null`, will not send event.", "log");
if (t.data && !0 === t.data.__sentry__) return n;
const o = function(e, t, n) {
const {
beforeSend: r,
beforeSendTransaction: o
} = e;
if (nl(t) && r) return r(t, n);
if (rl(t) && o) {
if (t.spans) {
const e = t.spans.length;
t.sdkProcessingMetadata = {
...t.sdkProcessingMetadata,
spanCountBeforeProcessing: e
}
}
return o(t, n)
}
return t
}(r, n, t);
return function(e, t) {
const n = `${t} must return \`null\` or a valid event.`;
if (ba(e)) return e.then(e => {
if (!ya(e) && null !== e) throw new zu(n);
return e
}, e => {
throw new zu(`${t} rejected with ${e}`)
});
if (!ya(e) && null !== e) throw new zu(n);
return e
}(o, c)
}).then(r => {
if (null === r) {
if (this.recordDroppedEvent("before_send", u, e), i) {
const t = 1 + (e.spans || []).length;
this.recordDroppedEvent("before_send", "span", t)
}
throw new zu(`${c} returned \`null\`, will not send event.`, "log")
}
const o = n && n.getSession();
if (!i && o && this._updateSessionFromEvent(o, r), i) {
const e = (r.sdkProcessingMetadata && r.sdkProcessingMetadata.spanCountBeforeProcessing || 0) - (r.spans ? r.spans.length : 0);
e > 0 && this.recordDroppedEvent("before_send", "span", e)
}
const a = r.transaction_info;
if (i && a && r.transaction !== e.transaction) {
const e = "custom";
r.transaction_info = {
...a,
source: e
}
}
return this.sendEvent(r, t), r
}).then(null, e => {
if (e instanceof zu) throw e;
throw this.captureException(e, {
data: {
__sentry__: !0
},
originalException: e
}), new zu(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`)
})
}
_process(e) {
this._numProcessing++, e.then(e => (this._numProcessing--, e), e => (this._numProcessing--, e))
}
_sendEnvelope(e) {
if (this.emit("beforeEnvelope", e), this._isEnabled() && this._transport) return this._transport.send(e).then(null, e => {
es && Fa.error("Error while sending event:", e)
});
es && Fa.error("Transport disabled")
}
_clearOutcomes() {
const e = this._outcomes;
return this._outcomes = {}, Object.keys(e).map(t => {
const [n, r] = t.split(":");
return {
reason: n,
category: r,
quantity: e[t]
}
})
}
}
function nl(e) {
return void 0 === e.type
}
function rl(e) {
return "transaction" === e.type
}
function ol(e) {
const t = Uc();
t && t.addEventProcessor && t.addEventProcessor(e)
}
const il = {},
al = {};
function sl(e, t) {
il[e] = il[e] || [], il[e].push(t)
}
function cl(e, t) {
al[e] || (t(), al[e] = !0)
}
function ul(e, t) {
const n = e && il[e];
if (n)
for (const r of n) try {
r(t)
} catch (t) {
Ma && Fa.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${hc(r)}\nError:`, t)
}
}
let ll = null;
function fl(e) {
const t = "error";
sl(t, e), cl(t, dl)
}
function dl() {
ll = Ea.onerror, Ea.onerror = function(e, t, n, r, o) {
return ul("error", {
column: r,
error: o,
line: n,
msg: e,
url: t
}), !(!ll || ll.__SENTRY_LOADER__) && ll.apply(this, arguments)
}, Ea.onerror.__SENTRY_INSTRUMENTED__ = !0
}
let pl = null;
function hl(e) {
const t = "unhandledrejection";
sl(t, e), cl(t, ml)
}
function ml() {
pl = Ea.onunhandledrejection, Ea.onunhandledrejection = function(e) {
return ul("unhandledrejection", e), !(pl && !pl.__SENTRY_LOADER__) || pl.apply(this, arguments)
}, Ea.onunhandledrejection.__SENTRY_INSTRUMENTED__ = !0
}
function gl(e) {
return (e || nc()).getScope().getTransaction()
}
const yl = js;
let vl = !1;
function bl() {
const e = gl();
if (e) {
const t = "internal_error";
es && Fa.log(`[Tracing] Transaction: ${t} -> Global error occured`), e.setStatus(t)
}
}
function _l(e, t, n = () => {}) {
let r;
try {
r = e()
} catch (e) {
throw t(e), n(), e
}
return function(e, t, n) {
if (ba(e)) return e.then(e => (n(), e), e => {
throw t(e), n(), e
});
return n(), e
}(r, t, n)
}
function Sl(e) {
if ("boolean" == typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1;
const t = Uc(),
n = e || t && t.getOptions();
return !!n && (n.enableTracing || "tracesSampleRate" in n || "tracesSampler" in n)
}
function wl(e, t, n = () => {}, r = () => {}) {
const o = nc(),
i = $c(),
a = i.getSpan(),
s = Pl(e),
c = Il(o, {
parentSpan: a,
spanContext: s,
forceTransaction: !1,
scope: i
});
return i.setSpan(c), _l(() => t(c), e => {
c && c.setStatus("internal_error"), n(e, c)
}, () => {
c && c.end(), i.setSpan(a), r()
})
}
function Ol(e, t) {
const n = Pl(e);
return ic(() => Rc(e.scope, r => {
const o = nc(),
i = r.getSpan(),
a = e.onlyIfParent && !i ? void 0 : Il(o, {
parentSpan: i,
spanContext: n,
forceTransaction: e.forceTransaction,
scope: r
});
return _l(() => t(a), () => {
if (a) {
const {
status: e
} = Us(a);
e && "ok" !== e || a.setStatus("internal_error")
}
}, () => a && a.end())
}))
}
bl.tag = "sentry_tracingErrorCallback";
function El(e, t) {
const n = Pl(e);
return ic(() => Rc(e.scope, r => {
const o = nc(),
i = r.getSpan(),
a = e.onlyIfParent && !i ? void 0 : Il(o, {
parentSpan: i,
spanContext: n,
forceTransaction: e.forceTransaction,
scope: r
});
function s() {
a && a.end()
}
return _l(() => t(a, s), () => {
if (a && a.isRecording()) {
const {
status: e
} = Us(a);
e && "ok" !== e || a.setStatus("internal_error")
}
})
}))
}
function kl(e) {
if (!Sl()) return;
const t = Pl(e),
n = nc(),
r = e.scope ? e.scope.getSpan() : Tl();
if (e.onlyIfParent && !r) return;
const o = (e.scope || $c()).clone();
return Il(n, {
parentSpan: r,
spanContext: t,
forceTransaction: e.forceTransaction,
scope: o
})
}
function Tl() {
return $c().getSpan()
}
const xl = ({
sentryTrace: e,
baggage: t
}, n) => {
const r = $c(),
{
traceparentData: o,
dynamicSamplingContext: i,
propagationContext: a
} = function(e, t) {
const n = js(e),
r = Is(t),
{
traceId: o,
parentSpanId: i,
parentSampled: a
} = n || {};
return n ? {
traceparentData: n,
dynamicSamplingContext: r || {},
propagationContext: {
traceId: o || ts(),
parentSpanId: i || ts().substring(16),
spanId: ts().substring(16),
sampled: a,
dsc: r || {}
}
} : {
traceparentData: n,
dynamicSamplingContext: void 0,
propagationContext: {
traceId: o || ts(),
spanId: ts().substring(16)
}
}
}(e, t);
r.setPropagationContext(a), es && o && Fa.log(`[Tracing] Continuing trace ${o.traceId}.`);
const s = {
...o,
metadata: Qa({
dynamicSamplingContext: i
})
};
return n ? ic(() => n(s)) : s
};
function Il(e, {
parentSpan: t,
spanContext: n,
forceTransaction: r,
scope: o
}) {
if (!Sl()) return;
const i = rc();
let a;
if (t && !r) a = t.startChild(n);
else if (t) {
const r = Hs(t),
{
traceId: o,
spanId: i
} = t.spanContext(),
s = Gs(t);
a = e.startTransaction({
traceId: o,
parentSpanId: i,
parentSampled: s,
...n,
metadata: {
dynamicSamplingContext: r,
...n.metadata
}
})
} else {
const {
traceId: t,
dsc: r,
parentSpanId: s,
sampled: c
} = {
...i.getPropagationContext(),
...o.getPropagationContext()
};
a = e.startTransaction({
traceId: t,
parentSpanId: s,
parentSampled: c,
...n,
metadata: {
dynamicSamplingContext: r,
...n.metadata
}
})
}
return o.setSpan(a),
function(e, t, n) {
e && (qa(e, Cl, n), qa(e, Al, t))
}(a, o, i), a
}
function Pl(e) {
if (e.startTime) {
const t = {
...e
};
return t.startTimestamp = Fs(e.startTime), delete t.startTime, t
}
return e
}
const Al = "_sentryScope",
Cl = "_sentryIsolationScope";
let jl;
function Rl(e) {
return jl ? jl.get(e) : void 0
}
function Ml(e) {
const t = Rl(e);
if (!t) return;
const n = {};
for (const [, [e, r]] of t) n[e] || (n[e] = []), n[e].push(Qa(r));
return n
}
var Dl;
function Nl(e) {
if (e < 400 && e >= 100) return "ok";
if (e >= 400 && e < 500) switch (e) {
case 401:
return "unauthenticated";
case 403:
return "permission_denied";
case 404:
return "not_found";
case 409:
return "already_exists";
case 413:
return "failed_precondition";
case 429:
return "resource_exhausted";
default:
return "invalid_argument"
}
if (e >= 500 && e < 600) switch (e) {
case 501:
return "unimplemented";
case 503:
return "unavailable";
case 504:
return "deadline_exceeded";
default:
return "internal_error"
}
return "unknown_error"
}! function(e) {
e.Ok = "ok";
e.DeadlineExceeded = "deadline_exceeded";
e.Unauthenticated = "unauthenticated";
e.PermissionDenied = "permission_denied";
e.NotFound = "not_found";
e.ResourceExhausted = "resource_exhausted";
e.InvalidArgument = "invalid_argument";
e.Unimplemented = "unimplemented";
e.Unavailable = "unavailable";
e.InternalError = "internal_error";
e.UnknownError = "unknown_error";
e.Cancelled = "cancelled";
e.AlreadyExists = "already_exists";
e.FailedPrecondition = "failed_precondition";
e.Aborted = "aborted";
e.OutOfRange = "out_of_range";
e.DataLoss = "data_loss"
}(Dl || (Dl = {}));
const Ll = Nl;
function Fl(e, t) {
e.setTag("http.status_code", String(t)), e.setData("http.response.status_code", t);
const n = Nl(t);
"unknown_error" !== n && e.setStatus(n)
}
class Bl {
constructor(e = 1e3) {
this._maxlen = e, this.spans = []
}
add(e) {
this.spans.length > this._maxlen ? e.spanRecorder = void 0 : this.spans.push(e)
}
}
class Ul {
constructor(e = {}) {
this._traceId = e.traceId || ts(), this._spanId = e.spanId || ts().substring(16), this._startTime = e.startTimestamp || ls(), this.tags = e.tags ? {
...e.tags
} : {}, this.data = e.data ? {
...e.data
} : {}, this.instrumenter = e.instrumenter || "sentry", this._attributes = {}, this.setAttributes({
[Hu]: e.origin || "manual",
[$u]: e.op,
...e.attributes
}), this._name = e.name || e.description, e.parentSpanId && (this._parentSpanId = e.parentSpanId), "sampled" in e && (this._sampled = e.sampled), e.status && (this._status = e.status), e.endTimestamp && (this._endTime = e.endTimestamp), void 0 !== e.exclusiveTime && (this._exclusiveTime = e.exclusiveTime), this._measurements = e.measurements ? {
...e.measurements
} : {}
}
get name() {
return this._name || ""
}
set name(e) {
this.updateName(e)
}
get description() {
return this._name
}
set description(e) {
this._name = e
}
get traceId() {
return this._traceId
}
set traceId(e) {
this._traceId = e
}
get spanId() {
return this._spanId
}
set spanId(e) {
this._spanId = e
}
set parentSpanId(e) {
this._parentSpanId = e
}
get parentSpanId() {
return this._parentSpanId
}
get sampled() {
return this._sampled
}
set sampled(e) {
this._sampled = e
}
get attributes() {
return this._attributes
}
set attributes(e) {
this._attributes = e
}
get startTimestamp() {
return this._startTime
}
set startTimestamp(e) {
this._startTime = e
}
get endTimestamp() {
return this._endTime
}
set endTimestamp(e) {
this._endTime = e
}
get status() {
return this._status
}
set status(e) {
this._status = e
}
get op() {
return this._attributes[$u]
}
set op(e) {
this.setAttribute($u, e)
}
get origin() {
return this._attributes[Hu]
}
set origin(e) {
this.setAttribute(Hu, e)
}
spanContext() {
const {
_spanId: e,
_traceId: t,
_sampled: n
} = this;
return {
spanId: e,
traceId: t,
traceFlags: n ? Ds : 0
}
}
startChild(e) {
const t = new Ul({
...e,
parentSpanId: this._spanId,
sampled: this._sampled,
traceId: this._traceId
});
t.spanRecorder = this.spanRecorder, t.spanRecorder && t.spanRecorder.add(t);
const n = Os(this);
if (t.transaction = n, es && n) {
const r = `[Tracing] Starting '${e&&e.op||"< unknown op >"}' span on transaction '${Us(t).description||"< unknown name >"}' (${n.spanContext().spanId}).`;
Fa.log(r), this._logMessage = r
}
return t
}
setTag(e, t) {
return this.tags = {
...this.tags,
[e]: t
}, this
}
setData(e, t) {
return this.data = {
...this.data,
[e]: t
}, this
}
setAttribute(e, t) {
void 0 === t ? delete this._attributes[e] : this._attributes[e] = t
}
setAttributes(e) {
Object.keys(e).forEach(t => this.setAttribute(t, e[t]))
}
setStatus(e) {
return this._status = e, this
}
setHttpStatus(e) {
return Fl(this, e), this
}
setName(e) {
this.updateName(e)
}
updateName(e) {
return this._name = e, this
}
isSuccess() {
return "ok" === this._status
}
finish(e) {
return this.end(e)
}
end(e) {
if (this._endTime) return;
const t = Os(this);
if (es && t && t.spanContext().spanId !== this._spanId) {
const e = this._logMessage;
e && Fa.log(e.replace("Starting", "Finishing"))
}
this._endTime = Fs(e)
}
toTraceparent() {
return Ls(this)
}
toContext() {
return Qa({
data: this._getData(),
description: this._name,
endTimestamp: this._endTime,
op: this.op,
parentSpanId: this._parentSpanId,
sampled: this._sampled,
spanId: this._spanId,
startTimestamp: this._startTime,
status: this._status,
tags: this.tags,
traceId: this._traceId
})
}
updateWithContext(e) {
return this.data = e.data || {}, this._name = e.name || e.description, this._endTime = e.endTimestamp, this.op = e.op, this._parentSpanId = e.parentSpanId, this._sampled = e.sampled, this._spanId = e.spanId || this._spanId, this._startTime = e.startTimestamp || this._startTime, this._status = e.status, this.tags = e.tags || {}, this._traceId = e.traceId || this._traceId, this
}
getTraceContext() {
return Ns(this)
}
getSpanJSON() {
return Qa({
data: this._getData(),
description: this._name,
op: this._attributes[$u],
parent_span_id: this._parentSpanId,
span_id: this._spanId,
start_timestamp: this._startTime,
status: this._status,
tags: Object.keys(this.tags).length > 0 ? this.tags : void 0,
timestamp: this._endTime,
trace_id: this._traceId,
origin: this._attributes[Hu],
_metrics_summary: Ml(this),
profile_id: this._attributes.profile_id,
exclusive_time: this._exclusiveTime,
measurements: Object.keys(this._measurements).length > 0 ? this._measurements : void 0
})
}
isRecording() {
return !this._endTime && !!this._sampled
}
toJSON() {
return this.getSpanJSON()
}
_getData() {
const {
data: e,
_attributes: t
} = this, n = Object.keys(e).length > 0, r = Object.keys(t).length > 0;
if (n || r) return n && r ? {
...e,
...t
} : n ? e : t
}
}
class Gl extends Ul {
constructor(e, t) {
super(e), this._contexts = {}, this._hub = t || nc(), this._name = e.name || "", this._metadata = {
...e.metadata
}, this._trimEnd = e.trimEnd, this.transaction = this;
const n = this._metadata.dynamicSamplingContext;
n && (this._frozenDynamicSamplingContext = {
...n
})
}
get name() {
return this._name
}
set name(e) {
this.setName(e)
}
get metadata() {
return {
source: "custom",
spanMetadata: {},
...this._metadata,
...this._attributes[Uu] && {
source: this._attributes[Uu]
},
...this._attributes[Gu] && {
sampleRate: this._attributes[Gu]
}
}
}
set metadata(e) {
this._metadata = e
}
setName(e, t = "custom") {
this._name = e, this.setAttribute(Uu, t)
}
updateName(e) {
return this._name = e, this
}
initSpanRecorder(e = 1e3) {
this.spanRecorder || (this.spanRecorder = new Bl(e)), this.spanRecorder.add(this)
}
setContext(e, t) {
null === t ? delete this._contexts[e] : this._contexts[e] = t
}
setMeasurement(e, t, n = "") {
this._measurements[e] = {
value: t,
unit: n
}
}
setMetadata(e) {
this._metadata = {
...this._metadata,
...e
}
}
end(e) {
const t = Fs(e),
n = this._finishTransaction(t);
if (n) return this._hub.captureEvent(n)
}
toContext() {
return Qa({
...super.toContext(),
name: this._name,
trimEnd: this._trimEnd
})
}
updateWithContext(e) {
return super.updateWithContext(e), this._name = e.name || "", this._trimEnd = e.trimEnd, this
}
getDynamicSamplingContext() {
return Hs(this)
}
setHub(e) {
this._hub = e
}
getProfileId() {
if (void 0 !== this._contexts && void 0 !== this._contexts.profile) return this._contexts.profile.profile_id
}
_finishTransaction(e) {
if (void 0 !== this._endTime) return;
this._name || (es && Fa.warn("Transaction has no name, falling back to ``."), this._name = ""), super.end(e);
const t = this._hub.getClient();
if (t && t.emit && t.emit("finishTransaction", this), !0 !== this._sampled) return es && Fa.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."), void(t && t.recordDroppedEvent("sample_rate", "transaction"));
const n = this.spanRecorder ? this.spanRecorder.spans.filter(e => e !== this && Us(e).timestamp) : [];
if (this._trimEnd && n.length > 0) {
const e = n.map(e => Us(e).timestamp).filter(Boolean);
this._endTime = e.reduce((e, t) => e > t ? e : t)
}
const {
scope: r,
isolationScope: o
} = {
scope: (i = this)[Al],
isolationScope: i[Cl]
};
var i;
const {
metadata: a
} = this, {
source: s
} = a, c = {
contexts: {
...this._contexts,
trace: Ns(this)
},
spans: n,
start_timestamp: this._startTime,
tags: this.tags,
timestamp: this._endTime,
transaction: this._name,
type: "transaction",
sdkProcessingMetadata: {
...a,
capturedSpanScope: r,
capturedSpanIsolationScope: o,
...Qa({
dynamicSamplingContext: Hs(this)
})
},
_metrics_summary: Ml(this),
...s && {
transaction_info: {
source: s
}
}
};
return Object.keys(this._measurements).length > 0 && (es && Fa.log("[Measurements] Adding measurements to transaction", JSON.stringify(this._measurements, void 0, 2)), c.measurements = this._measurements), es && Fa.log(`[Tracing] Finishing ${this.op} transaction: ${this._name}.`), c
}
}
const $l = {
idleTimeout: 1e3,
finalTimeout: 3e4,
heartbeatInterval: 5e3
},
Hl = ["heartbeatFailed", "idleTimeout", "documentHidden", "finalTimeout", "externalFinish", "cancelled"];
class zl extends Bl {
constructor(e, t, n, r) {
super(r), this._pushActivity = e, this._popActivity = t, this.transactionSpanId = n
}
add(e) {
if (e.spanContext().spanId !== this.transactionSpanId) {
const t = e.end;
e.end = (...n) => (this._popActivity(e.spanContext().spanId), t.apply(e, n)), void 0 === Us(e).timestamp && this._pushActivity(e.spanContext().spanId)
}
super.add(e)
}
}
class ql extends Gl {
constructor(e, t, n = $l.idleTimeout, r = $l.finalTimeout, o = $l.heartbeatInterval, i = !1, a = !1) {
super(e, t), this._idleHub = t, this._idleTimeout = n, this._finalTimeout = r, this._heartbeatInterval = o, this._onScope = i, this.activities = {}, this._heartbeatCounter = 0, this._finished = !1, this._idleTimeoutCanceledPermanently = !1, this._beforeFinishCallbacks = [], this._finishReason = Hl[4], this._autoFinishAllowed = !a, i && (es && Fa.log(`Setting idle transaction on scope. Span ID: ${this.spanContext().spanId}`), t.getScope().setSpan(this)), a || this._restartIdleTimeout(), setTimeout(() => {
this._finished || (this.setStatus("deadline_exceeded"), this._finishReason = Hl[3], this.end())
}, this._finalTimeout)
}
end(e) {
const t = Fs(e);
if (this._finished = !0, this.activities = {}, "ui.action.click" === this.op && this.setAttribute("finishReason", this._finishReason), this.spanRecorder) {
es && Fa.log("[Tracing] finishing IdleTransaction", new Date(1e3 * t).toISOString(), this.op);
for (const e of this._beforeFinishCallbacks) e(this, t);
this.spanRecorder.spans = this.spanRecorder.spans.filter(e => {
if (e.spanContext().spanId === this.spanContext().spanId) return !0;
Us(e).timestamp || (e.setStatus("cancelled"), e.end(t), es && Fa.log("[Tracing] cancelling span since transaction ended early", JSON.stringify(e, void 0, 2)));
const {
start_timestamp: n,
timestamp: r
} = Us(e), o = n && n < t, i = (this._finalTimeout + this._idleTimeout) / 1e3, a = r && n && r - n < i;
if (es) {
const t = JSON.stringify(e, void 0, 2);
o ? a || Fa.log("[Tracing] discarding Span since it finished after Transaction final timeout", t) : Fa.log("[Tracing] discarding Span since it happened after Transaction was finished", t)
}
return o && a
}), es && Fa.log("[Tracing] flushing IdleTransaction")
} else es && Fa.log("[Tracing] No active IdleTransaction");
if (this._onScope) {
const e = this._idleHub.getScope();
e.getTransaction() === this && e.setSpan(void 0)
}
return super.end(e)
}
registerBeforeFinishCallback(e) {
this._beforeFinishCallbacks.push(e)
}
initSpanRecorder(e) {
if (!this.spanRecorder) {
const t = e => {
this._finished || this._pushActivity(e)
},
n = e => {
this._finished || this._popActivity(e)
};
this.spanRecorder = new zl(t, n, this.spanContext().spanId, e), es && Fa.log("Starting heartbeat"), this._pingHeartbeat()
}
this.spanRecorder.add(this)
}
cancelIdleTimeout(e, {
restartOnChildSpanChange: t
} = {
restartOnChildSpanChange: !0
}) {
this._idleTimeoutCanceledPermanently = !1 === t, this._idleTimeoutID && (clearTimeout(this._idleTimeoutID), this._idleTimeoutID = void 0, 0 === Object.keys(this.activities).length && this._idleTimeoutCanceledPermanently && (this._finishReason = Hl[5], this.end(e)))
}
setFinishReason(e) {
this._finishReason = e
}
sendAutoFinishSignal() {
this._autoFinishAllowed || (es && Fa.log("[Tracing] Received finish signal for idle transaction."), this._restartIdleTimeout(), this._autoFinishAllowed = !0)
}
_restartIdleTimeout(e) {
this.cancelIdleTimeout(), this._idleTimeoutID = setTimeout(() => {
this._finished || 0 !== Object.keys(this.activities).length || (this._finishReason = Hl[1], this.end(e))
}, this._idleTimeout)
}
_pushActivity(e) {
this.cancelIdleTimeout(void 0, {
restartOnChildSpanChange: !this._idleTimeoutCanceledPermanently
}), es && Fa.log(`[Tracing] pushActivity: ${e}`), this.activities[e] = !0, es && Fa.log("[Tracing] new activities count", Object.keys(this.activities).length)
}
_popActivity(e) {
if (this.activities[e] && (es && Fa.log(`[Tracing] popActivity ${e}`), delete this.activities[e], es && Fa.log("[Tracing] new activities count", Object.keys(this.activities).length)), 0 === Object.keys(this.activities).length) {
const e = ls();
this._idleTimeoutCanceledPermanently ? this._autoFinishAllowed && (this._finishReason = Hl[5], this.end(e)) : this._restartIdleTimeout(e + this._idleTimeout / 1e3)
}
}
_beat() {
if (this._finished) return;
const e = Object.keys(this.activities).join("");
e === this._prevHeartbeatString ? this._heartbeatCounter++ : this._heartbeatCounter = 1, this._prevHeartbeatString = e, this._heartbeatCounter >= 3 ? this._autoFinishAllowed && (es && Fa.log("[Tracing] Transaction finished because of no change for 3 heart beats"), this.setStatus("deadline_exceeded"), this._finishReason = Hl[0], this.end()) : this._pingHeartbeat()
}
_pingHeartbeat() {
es && Fa.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`), setTimeout(() => {
this._beat()
}, this._heartbeatInterval)
}
}
function Wl(e, t, n) {
if (!Sl(t)) return e.sampled = !1, e;
if (void 0 !== e.sampled) return e.setAttribute(Gu, Number(e.sampled)), e;
let r;
return "function" == typeof t.tracesSampler ? (r = t.tracesSampler(n), e.setAttribute(Gu, Number(r))) : void 0 !== n.parentSampled ? r = n.parentSampled : void 0 !== t.tracesSampleRate ? (r = t.tracesSampleRate, e.setAttribute(Gu, Number(r))) : (r = 1, e.setAttribute(Gu, r)), Vl(r) ? r ? (e.sampled = Math.random() < r, e.sampled ? (es && Fa.log(`[Tracing] starting ${e.op} transaction - ${Us(e).description}`), e) : (es && Fa.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(r)})`), e)) : (es && Fa.log("[Tracing] Discarding transaction because " + ("function" == typeof t.tracesSampler ? "tracesSampler returned 0 or false" : "a negative sampling decision was inherited or tracesSampleRate is set to 0")), e.sampled = !1, e) : (es && Fa.warn("[Tracing] Discarding transaction because of invalid sample rate."), e.sampled = !1, e)
}
function Vl(e) {
return _a(e) || "number" != typeof e && "boolean" != typeof e ? (es && Fa.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`), !1) : !(e < 0 || e > 1) || (es && Fa.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${e}.`), !1)
}
function Yl() {
const e = this.getScope().getSpan();
return e ? {
"sentry-trace": Ls(e)
} : {}
}
function Jl(e, t) {
const n = this.getClient(),
r = n && n.getOptions() || {},
o = r.instrumenter || "sentry",
i = e.instrumenter || "sentry";
o !== i && (es && Fa.error(`A transaction was started with instrumenter=\`${i}\`, but the SDK is configured with the \`${o}\` instrumenter.\nThe transaction will not be sampled. Please use the ${o} instrumentation to start transactions.`), e.sampled = !1);
let a = new Gl(e, this);
return a = Wl(a, r, {
name: e.name,
parentSampled: e.parentSampled,
transactionContext: e,
attributes: {
...e.data,
...e.attributes
},
...t
}), a.isRecording() && a.initSpanRecorder(r._experiments && r._experiments.maxSpans), n && n.emit && n.emit("startTransaction", a), a
}
function Kl(e, t, n, r, o, i, a, s = !1) {
const c = e.getClient(),
u = c && c.getOptions() || {};
let l = new ql(t, e, n, r, a, o, s);
return l = Wl(l, u, {
name: t.name,
parentSampled: t.parentSampled,
transactionContext: t,
attributes: {
...t.data,
...t.attributes
},
...i
}), l.isRecording() && l.initSpanRecorder(u._experiments && u._experiments.maxSpans), c && c.emit && c.emit("startTransaction", l), l
}
function Ql() {
const e = ec();
e.__SENTRY__ && (e.__SENTRY__.extensions = e.__SENTRY__.extensions || {}, e.__SENTRY__.extensions.startTransaction || (e.__SENTRY__.extensions.startTransaction = Jl), e.__SENTRY__.extensions.traceHeaders || (e.__SENTRY__.extensions.traceHeaders = Yl), vl || (vl = !0, fl(bl), hl(bl)))
}
function Xl(e) {
const t = [];
function n(e) {
return t.splice(t.indexOf(e), 1)[0]
}
return {
$: t,
add: function(r) {
if (!(void 0 === e || t.length < e)) return ms(new zu("Not adding Promise because buffer limit was reached."));
const o = r();
return -1 === t.indexOf(o) && t.push(o), o.then(() => n(o)).then(null, () => n(o).then(null, () => {})), o
},
drain: function(e) {
return new gs((n, r) => {
let o = t.length;
if (!o) return n(!0);
const i = setTimeout(() => {
e && e > 0 && n(!1)
}, e);
t.forEach(e => {
hs(e).then(() => {
--o || (clearTimeout(i), n(!0))
}, r)
})
})
}
}
}
const Zl = 6e4;
function ef(e, t = Date.now()) {
const n = parseInt(`${e}`, 10);
if (!isNaN(n)) return 1e3 * n;
const r = Date.parse(`${e}`);
return isNaN(r) ? Zl : r - t
}
function tf(e, t, n = Date.now()) {
return function(e, t) {
return e[t] || e.all || 0
}(e, t) > n
}
function nf(e, {
statusCode: t,
headers: n
}, r = Date.now()) {
const o = {
...e
},
i = n && n["x-sentry-rate-limits"],
a = n && n["retry-after"];
if (i)
for (const e of i.trim().split(",")) {
const [t, n, , , i] = e.split(":", 5), a = parseInt(t, 10), s = 1e3 * (isNaN(a) ? 60 : a);
if (n)
for (const e of n.split(";")) "metric_bucket" === e && i && !i.split(";").includes("custom") || (o[e] = r + s);
else o.all = r + s
} else a ? o.all = r + ef(a, r) : 429 === t && (o.all = r + 6e4);
return o
}
const rf = 30;
function of(e, t, n = Xl(e.bufferSize || rf)) {
let r = {};
function o(o) {
const i = [];
if (Tu(o, (t, n) => {
const o = Cu(n);
if (tf(r, o)) {
const r = af(t, n);
e.recordDroppedEvent("ratelimit_backoff", o, r)
} else i.push(t)
}), 0 === i.length) return hs();
const a = Eu(o[0], i),
s = t => {
Tu(a, (n, r) => {
const o = af(n, r);
e.recordDroppedEvent(t, Cu(r), o)
})
};
return n.add(() => t({
body: Iu(a, e.textEncoder)
}).then(e => (void 0 !== e.statusCode && (e.statusCode < 200 || e.statusCode >= 300) && es && Fa.warn(`Sentry responded with status code ${e.statusCode} to sent event.`), r = nf(r, e), e), e => {
throw s("network_error"), e
})).then(e => e, e => {
if (e instanceof zu) return es && Fa.error("Skipped sending event because buffer is full."), s("queue_overflow"), hs();
throw e
})
}
return o.__sentry__baseTransport__ = !0, {
send: o,
flush: e => n.drain(e)
}
}
function af(e, t) {
if ("event" === t || "transaction" === t) return Array.isArray(e) ? e[1] : void 0
}
function sf(e, t) {
let n;
return Tu(e, (e, r) => (t.includes(r) && (n = Array.isArray(e) ? e[1] : void 0), !!n)), n
}
function cf(e, t) {
return n => {
const r = e(n),
o = new Map;
function i(t, r) {
const i = r ? `${t}:${r}` : t;
let a = o.get(i);
if (!a) {
const s = Su(t);
if (!s) return;
const c = Yu(s, n.tunnel);
a = r ? function(e, t) {
return n => {
const r = e(n);
return {
...r,
send: async e => {
const n = sf(e, ["event", "transaction", "profile", "replay_event"]);
return n && (n.release = t), r.send(e)
}
}
}
}(e, r)({
...n,
url: c
}) : e({
...n,
url: c
}), o.set(i, a)
}
return [t, a]
}
return {
send: async function(e) {
const n = t({
envelope: e,
getEvent: function(t) {
const n = t && t.length ? t : ["event"];
return sf(e, n)
}
}).map(e => "string" == typeof e ? i(e, void 0) : i(e.dsn, e.release)).filter(e => !!e);
0 === n.length && n.push(["", r]);
return (await Promise.all(n.map(([t, n]) => n.send(function(e, t) {
return Eu(t ? {
...e[0],
dsn: t
} : e[0], e[1])
}(e, t)))))[0]
},
flush: async function(e) {
const t = [await r.flush(e)];
for (const [, n] of o) t.push(await n.flush(e));
return t.every(e => e)
}
}
}
}
const uf = "c",
lf = "g",
ff = "s",
df = "d";
const pf = {
[uf]: class {
constructor(e) {
this._value = e
}
get weight() {
return 1
}
add(e) {
this._value += e
}
toString() {
return `${this._value}`
}
},
[lf]: class {
constructor(e) {
this._last = e, this._min = e, this._max = e, this._sum = e, this._count = 1
}
get weight() {
return 5
}
add(e) {
this._last = e, e < this._min && (this._min = e), e > this._max && (this._max = e), this._sum += e, this._count++
}
toString() {
return `${this._last}:${this._min}:${this._max}:${this._sum}:${this._count}`
}
},
[df]: class {
constructor(e) {
this._value = [e]
}
get weight() {
return this._value.length
}
add(e) {
this._value.push(e)
}
toString() {
return this._value.join(":")
}
},
[ff]: class {
constructor(e) {
this.first = e, this._value = new Set([e])
}
get weight() {
return this._value.size
}
add(e) {
this._value.add(e)
}
toString() {
return Array.from(this._value).map(e => "string" == typeof e ? function(e) {
let t = 0;
for (let n = 0; n < e.length; n++) t = (t << 5) - t + e.charCodeAt(n), t &= t;
return t >>> 0
}(e) : e).join(":")
}
}
};
class hf {
constructor(e) {
this._client = e, this._buckets = new Map, this._interval = setInterval(() => this.flush(), 5e3)
}
add(e, t, n, r = "none", o = {}, i = ls()) {
const a = Math.floor(i),
s = t.replace(/[^\w\-.]+/gi, "_");
const c = function(e) {
const t = {};
for (const n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[Ku(n)] = Xu(String(e[n])));
return t
}(o),
u = function(e) {
return e.replace(/[^\w]+/gi, "_")
}(r),
l = function(e, t, n, r) {
return `${e}${t}${n}${Object.entries(Qa(r)).sort((e,t)=>e[0].localeCompare(t[0]))}`
}(e, s, u, c);
let f = this._buckets.get(l);
const d = f && "s" === e ? f.metric.weight : 0;
f ? (f.metric.add(n), f.timestamp < a && (f.timestamp = a)) : (f = {
metric: new pf[e](n),
timestamp: a,
metricType: e,
name: s,
unit: u,
tags: c
}, this._buckets.set(l, f));
! function(e, t, n, r, o, i) {
const a = Tl();
if (a) {
const s = Rl(a) || new Map,
c = `${e}:${t}@${r}`,
u = s.get(i);
if (u) {
const [, e] = u;
s.set(i, [c, {
min: Math.min(e.min, n),
max: Math.max(e.max, n),
count: e.count += 1,
sum: e.sum += n,
tags: e.tags
}])
} else s.set(i, [c, {
min: n,
max: n,
count: 1,
sum: n,
tags: o
}]);
jl || (jl = new WeakMap), jl.set(a, s)
}
}(e, s, "string" == typeof n ? f.metric.weight - d : n, u, o, l)
}
flush() {
if (0 !== this._buckets.size) {
if (this._client.captureAggregateMetrics) {
const e = Array.from(this._buckets).map(([, e]) => e);
this._client.captureAggregateMetrics(e)
}
this._buckets.clear()
}
}
close() {
clearInterval(this._interval), this.flush()
}
}
const mf = "MetricsAggregator",
gf = () => ({
name: mf,
setupOnce() {},
setup(e) {
e.metricsAggregator = new hf(e)
}
});
function yf(e, t, n, r = {}) {
const o = Uc(),
i = $c();
if (o) {
if (!o.metricsAggregator) return void(es && Fa.warn("No metrics aggregator enabled. Please add the MetricsAggregator integration to use metrics APIs"));
const {
unit: a,
tags: s,
timestamp: c
} = r, {
release: u,
environment: l
} = o.getOptions(), f = i.getTransaction(), d = {};
u && (d.release = u), l && (d.environment = l), f && (d.transaction = Us(f).description || ""), es && Fa.log(`Adding value of ${n} to ${e} metric ${t}`), o.metricsAggregator.add(e, t, n, a, {
...d,
...s
}, c)
}
}
const vf = {
increment: function(e, t = 1, n) {
yf("c", e, t, n)
},
distribution: function(e, t, n) {
yf("d", e, t, n)
},
set: function(e, t, n) {
yf("s", e, t, n)
},
gauge: function(e, t, n) {
yf("g", e, t, n)
},
MetricsAggregator: Xc(mf, gf),
metricsAggregatorIntegration: gf
};
function bf(e, ...t) {
const n = new String(String.raw(e, ...t));
return n.__sentry_template_string__ = e.join("\0").replace(/%/g, "%%").replace(/\0/g, "%s"), n.__sentry_template_values__ = t, n
}
function _f(e) {
const t = nc().getStackTop();
t.client = e, t.scope.setClient(e)
}
function Sf(e, t, n) {
const r = gl();
r && r.setMeasurement(e, t, n)
}
const wf = Ea;
let Of = 0;
function Ef() {
return Of > 0
}
function kf(e, t = {}, n) {
if ("function" != typeof e) return e;
try {
const t = e.__sentry_wrapped__;
if (t) return "function" == typeof t ? t : e;
if (Va(e)) return e
} catch (t) {
return e
}
const r = function() {
const r = Array.prototype.slice.call(arguments);
try {
n && "function" == typeof n && n.apply(this, arguments);
const o = r.map(e => kf(e, t));
return e.apply(this, o)
} catch (e) {
throw Of++, setTimeout(() => {
Of--
}), Rc(n => {
n.addEventProcessor(e => (t.mechanism && (os(e, void 0, void 0), is(e, t.mechanism)), e.extra = {
...e.extra,
arguments: r
}, e)), wc(e)
}), e
}
};
try {
for (const t in e) Object.prototype.hasOwnProperty.call(e, t) && (r[t] = e[t])
} catch (e) {}
Wa(r, e), qa(e, "__sentry_wrapped__", r);
try {
Object.getOwnPropertyDescriptor(r, "name").configurable && Object.defineProperty(r, "name", {
get: () => e.name
})
} catch (e) {}
return r
}
var Tf = n(49651);
const xf = "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function If(e, t) {
const n = Af(e, t),
r = {
type: t && t.name,
value: jf(t)
};
return n.length && (r.stacktrace = {
frames: n
}), void 0 === r.type && "" === r.value && (r.value = "Unrecoverable error caught"), r
}
function Pf(e, t) {
return {
exception: {
values: [If(e, t)]
}
}
}
function Af(e, t) {
const n = t.stacktrace || t.stack || "",
r = function(e) {
if (e) {
if ("number" == typeof e.framesToPop) return e.framesToPop;
if (Cf.test(e.message)) return 1
}
return 0
}(t);
try {
return e(n, r)
} catch (e) {}
return []
}
const Cf = /Minified React error #\d+;/i;
function jf(e) {
const t = e && e.message;
return t ? t.error && "string" == typeof t.error.message ? t.error.message : t : "No error message"
}
function Rf(e, t, n, r) {
const o = Df(e, t, n && n.syntheticException || void 0, r);
return is(o), o.level = "error", n && n.event_id && (o.event_id = n.event_id), hs(o)
}
function Mf(e, t, n = "info", r, o) {
const i = Nf(e, t, r && r.syntheticException || void 0, o);
return i.level = n, r && r.event_id && (i.event_id = r.event_id), hs(i)
}
function Df(e, t, n, r, o) {
let i;
if (da(t) && t.error) {
return Pf(e, t.error)
}
if (pa(t) || fa(t, "DOMException")) {
const o = t;
if ("stack" in t) i = Pf(e, t);
else {
const t = o.name || (pa(o) ? "DOMError" : "DOMException"),
a = o.message ? `${t}: ${o.message}` : t;
i = Nf(e, a, n, r), os(i, a)
}
return "code" in o && (i.tags = {
...i.tags,
"DOMException.code": `${o.code}`
}), i
}
if (la(t)) return Pf(e, t);
if (ya(t) || va(t)) {
return i = function(e, t, n, r) {
const o = Uc(),
i = o && o.getOptions().normalizeDepth,
a = {
exception: {
values: [{
type: va(t) ? t.constructor.name : r ? "UnhandledRejection" : "Error",
value: Lf(t, {
isUnhandledRejection: r
})
}]
},
extra: {
__serialized__: gc(t, i)
}
};
if (n) {
const t = Af(e, n);
t.length && (a.exception.values[0].stacktrace = {
frames: t
})
}
return a
}(e, t, n, o), is(i, {
synthetic: !0
}), i
}
return i = Nf(e, t, n, r), os(i, `${t}`, void 0), is(i, {
synthetic: !0
}), i
}
function Nf(e, t, n, r) {
const o = {};
if (r && n) {
const r = Af(e, n);
r.length && (o.exception = {
values: [{
value: t,
stacktrace: {
frames: r
}
}]
})
}
if (ma(t)) {
const {
__sentry_template_string__: e,
__sentry_template_values__: n
} = t;
return o.logentry = {
message: e,
params: n
}, o
}
return o.message = t, o
}
function Lf(e, {
isUnhandledRejection: t
}) {
const n = function(e, t = 40) {
const n = Object.keys(Ya(e));
if (n.sort(), !n.length) return "[object has no keys]";
if (n[0].length >= t) return Ba(n[0], t);
for (let e = n.length; e > 0; e--) {
const r = n.slice(0, e).join(", ");
if (!(r.length > t)) return e === n.length ? r : Ba(r, t)
}
return ""
}(e),
r = t ? "promise rejection" : "exception";
if (da(e)) return `Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``;
if (va(e)) {
return `Event \`${function(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch(e){}}(e)}\` (type=${e.type}) captured as ${r}`
}
return `Object captured as ${r} with keys: ${n}`
}
function Ff(e, {
metadata: t,
tunnel: n,
dsn: r
}) {
const o = {
event_id: e.event_id,
sent_at: (new Date).toISOString(),
...t && t.sdk && {
sdk: {
name: t.sdk.name,
version: t.sdk.version
}
},
...!!n && !!r && {
dsn: _u(r)
}
},
i = function(e) {
return [{
type: "user_report"
}, e]
}(e);
return Eu(o, [i])
}
class Bf extends tl {
constructor(e) {
! function(e, t, n = [t], r = "npm") {
const o = e._metadata || {};
o.sdk || (o.sdk = {
name: `sentry.javascript.${t}`,
packages: n.map(e => ({
name: `${r}:@sentry/${e}`,
version: Ks
})),
version: Ks
}), e._metadata = o
}(e, "browser", ["browser"], wf.SENTRY_SDK_SOURCE || (0, Tf.e)()), super(e), e.sendClientReports && wf.document && wf.document.addEventListener("visibilitychange", () => {
"hidden" === wf.document.visibilityState && this._flushOutcomes()
})
}
eventFromException(e, t) {
return Rf(this._options.stackParser, e, t, this._options.attachStacktrace)
}
eventFromMessage(e, t = "info", n) {
return Mf(this._options.stackParser, e, t, n, this._options.attachStacktrace)
}
captureUserFeedback(e) {
if (!this._isEnabled()) return void(xf && Fa.warn("SDK not enabled, will not capture user feedback."));
const t = Ff(e, {
metadata: this.getSdkMetadata(),
dsn: this.getDsn(),
tunnel: this.getOptions().tunnel
});
this._sendEnvelope(t)
}
_prepareEvent(e, t, n) {
return e.platform = e.platform || "javascript", super._prepareEvent(e, t, n)
}
_flushOutcomes() {
const e = this._clearOutcomes();
if (0 === e.length) return void(xf && Fa.log("No outcomes to send"));
if (!this._dsn) return void(xf && Fa.log("No dsn provided, will not send outcomes"));
xf && Fa.log("Sending outcomes:", e);
const t = (n = e, Eu((r = this._options.tunnel && _u(this._dsn)) ? {
dsn: r
} : {}, [
[{
type: "client_report"
}, {
timestamp: o || us(),
discarded_events: n
}]
]));
var n, r, o;
this._sendEnvelope(t)
}
}
const Uf = ka();
function Gf() {
if (!("fetch" in Uf)) return !1;
try {
return new Headers, new Request("http://www.example.com"), new Response, !0
} catch (e) {
return !1
}
}
function $f(e) {
return e && /^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())
}
function Hf() {
if ("string" == typeof EdgeRuntime) return !0;
if (!Gf()) return !1;
if ($f(Uf.fetch)) return !0;
let e = !1;
const t = Uf.document;
if (t && "function" == typeof t.createElement) try {
const n = t.createElement("iframe");
n.hidden = !0, t.head.appendChild(n), n.contentWindow && n.contentWindow.fetch && (e = $f(n.contentWindow.fetch)), t.head.removeChild(n)
} catch (e) {
Ma && Fa.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", e)
}
return e
}
let zf;
function qf(e, t = function() {
if (zf) return zf;
if ($f(wf.fetch)) return zf = wf.fetch.bind(wf);
const e = wf.document;
let t = wf.fetch;
if (e && "function" == typeof e.createElement) try {
const n = e.createElement("iframe");
n.hidden = !0, e.head.appendChild(n);
const r = n.contentWindow;
r && r.fetch && (t = r.fetch), e.head.removeChild(n)
} catch (e) {
xf && Fa.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", e)
}
return zf = t.bind(wf)
}()) {
let n = 0,
r = 0;
return of(e, function(o) {
const i = o.body.length;
n += i, r++;
const a = {
body: o.body,
method: "POST",
referrerPolicy: "origin",
headers: e.headers,
keepalive: n <= 6e4 && r < 15,
...e.fetchOptions
};
try {
return t(e.url, a).then(e => (n -= i, r--, {
statusCode: e.status,
headers: {
"x-sentry-rate-limits": e.headers.get("X-Sentry-Rate-Limits"),
"retry-after": e.headers.get("Retry-After")
}
}))
} catch (e) {
return zf = void 0, n -= i, r--, ms(e)
}
})
}
const Wf = 4;
function Vf(e) {
return of(e, function(t) {
return new gs((n, r) => {
const o = new XMLHttpRequest;
o.onerror = r, o.onreadystatechange = () => {
o.readyState === Wf && n({
statusCode: o.status,
headers: {
"x-sentry-rate-limits": o.getResponseHeader("X-Sentry-Rate-Limits"),
"retry-after": o.getResponseHeader("Retry-After")
}
})
}, o.open("POST", e.url);
for (const t in e.headers) Object.prototype.hasOwnProperty.call(e.headers, t) && o.setRequestHeader(t, e.headers[t]);
o.send(t.body)
})
})
}
const Yf = "?";
function Jf(e, t, n, r) {
const o = {
filename: e,
function: t,
in_app: !0
};
return void 0 !== n && (o.lineno = n), void 0 !== r && (o.colno = r), o
}
const Kf = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,
Qf = /\((\S*)(?::(\d+))(?::(\d+))\)/,
Xf = [30, e => {
const t = Kf.exec(e);
if (t) {
if (t[2] && 0 === t[2].indexOf("eval")) {
const e = Qf.exec(t[2]);
e && (t[2] = e[1], t[3] = e[2], t[4] = e[3])
}
const [e, n] = ld(t[1] || Yf, t[2]);
return Jf(n, e, t[3] ? +t[3] : void 0, t[4] ? +t[4] : void 0)
}
}],
Zf = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,
ed = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i,
td = [50, e => {
const t = Zf.exec(e);
if (t) {
if (t[3] && t[3].indexOf(" > eval") > -1) {
const e = ed.exec(t[3]);
e && (t[1] = t[1] || "eval", t[3] = e[1], t[4] = e[2], t[5] = "")
}
let e = t[3],
n = t[1] || Yf;
return [n, e] = ld(n, e), Jf(e, n, t[4] ? +t[4] : void 0, t[5] ? +t[5] : void 0)
}
}],
nd = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,
rd = [40, e => {
const t = nd.exec(e);
return t ? Jf(t[2], t[1] || Yf, +t[3], t[4] ? +t[4] : void 0) : void 0
}],
od = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,
id = [10, e => {
const t = od.exec(e);
return t ? Jf(t[2], t[3] || Yf, +t[1]) : void 0
}],
ad = / line (\d+), column (\d+)\s*(?:in (?:]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,
sd = [20, e => {
const t = ad.exec(e);
return t ? Jf(t[5], t[3] || t[4] || Yf, +t[1], +t[2]) : void 0
}],
cd = [Xf, td, rd],
ud = dc(...cd),
ld = (e, t) => {
const n = -1 !== e.indexOf("safari-extension"),
r = -1 !== e.indexOf("safari-web-extension");
return n || r ? [-1 !== e.indexOf("@") ? e.split("@")[0] : Yf, n ? `safari-extension:${t}` : `safari-web-extension:${t}`] : [e, t]
},
fd = ka();
const dd = Ea;
let pd;
function hd(e) {
const t = "history";
sl(t, e), cl(t, md)
}
function md() {
if (! function() {
const e = fd.chrome,
t = e && e.app && e.app.runtime,
n = "history" in fd && !!fd.history.pushState && !!fd.history.replaceState;
return !t && n
}()) return;
const e = dd.onpopstate;
function t(e) {
return function(...t) {
const n = t.length > 2 ? t[2] : void 0;
if (n) {
const e = pd,
t = String(n);
pd = t;
ul("history", {
from: e,
to: t
})
}
return e.apply(this, t)
}
}
dd.onpopstate = function(...t) {
const n = dd.location.href,
r = pd;
pd = n;
if (ul("history", {
from: r,
to: n
}), e) try {
return e.apply(this, t)
} catch (e) {}
}, za(dd.history, "pushState", t), za(dd.history, "replaceState", t)
}
function gd(e) {
const t = "console";
sl(t, e), cl(t, yd)
}
function yd() {
"console" in Ea && Da.forEach(function(e) {
e in Ea.console && za(Ea.console, e, function(t) {
return Na[e] = t,
function(...t) {
ul("console", {
args: t,
level: e
});
const n = Na[e];
n && n.apply(Ea.console, t)
}
})
})
}
const vd = Ea;
let bd, _d, Sd;
function wd(e) {
sl("dom", e), cl("dom", Od)
}
function Od() {
if (!vd.document) return;
const e = ul.bind(null, "dom"),
t = Ed(e, !0);
vd.document.addEventListener("click", t, !1), vd.document.addEventListener("keypress", t, !1), ["EventTarget", "Node"].forEach(t => {
const n = vd[t] && vd[t].prototype;
n && n.hasOwnProperty && n.hasOwnProperty("addEventListener") && (za(n, "addEventListener", function(t) {
return function(n, r, o) {
if ("click" === n || "keypress" == n) try {
const r = this,
i = r.__sentry_instrumentation_handlers__ = r.__sentry_instrumentation_handlers__ || {},
a = i[n] = i[n] || {
refCount: 0
};
if (!a.handler) {
const r = Ed(e);
a.handler = r, t.call(this, n, r, o)
}
a.refCount++
} catch (e) {}
return t.call(this, n, r, o)
}
}), za(n, "removeEventListener", function(e) {
return function(t, n, r) {
if ("click" === t || "keypress" == t) try {
const n = this,
o = n.__sentry_instrumentation_handlers__ || {},
i = o[t];
i && (i.refCount--, i.refCount <= 0 && (e.call(this, t, i.handler, r), i.handler = void 0, delete o[t]), 0 === Object.keys(o).length && delete n.__sentry_instrumentation_handlers__)
} catch (e) {}
return e.call(this, t, n, r)
}
}))
})
}
function Ed(e, t = !1) {
return n => {
if (!n || n._sentryCaptured) return;
const r = function(e) {
try {
return e.target
} catch (e) {
return null
}
}(n);
if (function(e, t) {
return "keypress" === e && (!t || !t.tagName || "INPUT" !== t.tagName && "TEXTAREA" !== t.tagName && !t.isContentEditable)
}(n.type, r)) return;
qa(n, "_sentryCaptured", !0), r && !r._sentryId && qa(r, "_sentryId", ts());
const o = "keypress" === n.type ? "input" : n.type;
if (! function(e) {
if (e.type !== _d) return !1;
try {
if (!e.target || e.target._sentryId !== Sd) return !1
} catch (e) {}
return !0
}(n)) {
e({
event: n,
name: o,
global: t
}), _d = n.type, Sd = r ? r._sentryId : void 0
}
clearTimeout(bd), bd = vd.setTimeout(() => {
Sd = void 0, _d = void 0
}, 1e3)
}
}
const kd = Ea,
Td = "__sentry_xhr_v3__";
function xd(e) {
sl("xhr", e), cl("xhr", Id)
}
function Id() {
if (!kd.XMLHttpRequest) return;
const e = XMLHttpRequest.prototype;
za(e, "open", function(e) {
return function(...t) {
const n = Date.now(),
r = ha(t[0]) ? t[0].toUpperCase() : void 0,
o = function(e) {
if (ha(e)) return e;
try {
return e.toString()
} catch (e) {}
return
}(t[1]);
if (!r || !o) return e.apply(this, t);
this[Td] = {
method: r,
url: o,
request_headers: {}
}, "POST" === r && o.match(/sentry_key/) && (this.__sentry_own_request__ = !0);
const i = () => {
const e = this[Td];
if (e && 4 === this.readyState) {
try {
e.status_code = this.status
} catch (e) {}
ul("xhr", {
args: [r, o],
endTimestamp: Date.now(),
startTimestamp: n,
xhr: this
})
}
};
return "onreadystatechange" in this && "function" == typeof this.onreadystatechange ? za(this, "onreadystatechange", function(e) {
return function(...t) {
return i(), e.apply(this, t)
}
}) : this.addEventListener("readystatechange", i), za(this, "setRequestHeader", function(e) {
return function(...t) {
const [n, r] = t, o = this[Td];
return o && ha(n) && ha(r) && (o.request_headers[n.toLowerCase()] = r), e.apply(this, t)
}
}), e.apply(this, t)
}
}), za(e, "send", function(e) {
return function(...t) {
const n = this[Td];
if (!n) return e.apply(this, t);
void 0 !== t[0] && (n.body = t[0]);
return ul("xhr", {
args: [n.method, n.url],
startTimestamp: Date.now(),
xhr: this
}), e.apply(this, t)
}
})
}
function Pd(e) {
const t = "fetch";
sl(t, e), cl(t, Ad)
}
function Ad() {
Hf() && za(Ea, "fetch", function(e) {
return function(...t) {
const {
method: n,
url: r
} = function(e) {
if (0 === e.length) return {
method: "GET",
url: ""
};
if (2 === e.length) {
const [t, n] = e;
return {
url: jd(t),
method: Cd(n, "method") ? String(n.method).toUpperCase() : "GET"
}
}
const t = e[0];
return {
url: jd(t),
method: Cd(t, "method") ? String(t.method).toUpperCase() : "GET"
}
}(t), o = {
args: t,
fetchData: {
method: n,
url: r
},
startTimestamp: Date.now()
};
return ul("fetch", {
...o
}), e.apply(Ea, t).then(e => (ul("fetch", {
...o,
endTimestamp: Date.now(),
response: e
}), e), e => {
throw ul("fetch", {
...o,
endTimestamp: Date.now(),
error: e
}), e
})
}
})
}
function Cd(e, t) {
return !!e && "object" == typeof e && !!e[t]
}
function jd(e) {
return "string" == typeof e ? e : e ? Cd(e, "url") ? e.url : e.toString ? e.toString() : "" : ""
}
const Rd = ["fatal", "error", "warning", "log", "info", "debug"];
function Md(e) {
return "warn" === e ? "warning" : Rd.includes(e) ? e : "log"
}
function Dd(e) {
if (!e) return {};
const t = e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
if (!t) return {};
const n = t[6] || "",
r = t[8] || "";
return {
host: t[4],
path: t[5],
protocol: t[2],
search: n,
hash: r,
relative: t[5] + n + r
}
}
const Nd = 1024,
Ld = "Breadcrumbs",
Fd = (e = {}) => {
const t = {
console: !0,
dom: !0,
fetch: !0,
history: !0,
sentry: !0,
xhr: !0,
...e
};
return {
name: Ld,
setupOnce() {},
setup(e) {
t.console && gd(function(e) {
return function(t) {
if (Uc() !== e) return;
const n = {
category: "console",
data: {
arguments: t.args,
logger: "console"
},
level: Md(t.level),
message: Ga(t.args, " ")
};
if ("assert" === t.level) {
if (!1 !== t.args[0]) return;
n.message = `Assertion failed: ${Ga(t.args.slice(1)," ")||"console.assert"}`, n.data.arguments = t.args.slice(1)
}
Tc(n, {
input: t.args,
level: t.level
})
}
}(e)), t.dom && wd(function(e, t) {
return function(n) {
if (Uc() !== e) return;
let r, o, i = "object" == typeof t ? t.serializeAttribute : void 0,
a = "object" == typeof t && "number" == typeof t.maxStringLength ? t.maxStringLength : void 0;
a && a > Nd && (xf && Fa.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${a} was configured. Sentry will use 1024 instead.`), a = Nd), "string" == typeof i && (i = [i]);
try {
const e = n.event,
t = function(e) {
return !!e && !!e.target
}(e) ? e.target : e;
r = Pa(t, {
keyAttrs: i,
maxStringLength: a
}), o = Ra(t)
} catch (e) {
r = ""
}
if (0 === r.length) return;
const s = {
category: `ui.${n.name}`,
message: r
};
o && (s.data = {
"ui.component_name": o
}), Tc(s, {
event: n.event,
name: n.name,
global: n.global
})
}
}(e, t.dom)), t.xhr && xd(function(e) {
return function(t) {
if (Uc() !== e) return;
const {
startTimestamp: n,
endTimestamp: r
} = t, o = t.xhr[Td];
if (!n || !r || !o) return;
const {
method: i,
url: a,
status_code: s,
body: c
} = o;
Tc({
category: "xhr",
data: {
method: i,
url: a,
status_code: s
},
type: "http"
}, {
xhr: t.xhr,
input: c,
startTimestamp: n,
endTimestamp: r
})
}
}(e)), t.fetch && Pd(function(e) {
return function(t) {
if (Uc() !== e) return;
const {
startTimestamp: n,
endTimestamp: r
} = t;
if (r && (!t.fetchData.url.match(/sentry_key/) || "POST" !== t.fetchData.method))
if (t.error) {
Tc({
category: "fetch",
data: t.fetchData,
level: "error",
type: "http"
}, {
data: t.error,
input: t.args,
startTimestamp: n,
endTimestamp: r
})
} else {
const e = t.response;
Tc({
category: "fetch",
data: {
...t.fetchData,
status_code: e && e.status
},
type: "http"
}, {
input: t.args,
response: e,
startTimestamp: n,
endTimestamp: r
})
}
}
}(e)), t.history && hd(function(e) {
return function(t) {
if (Uc() !== e) return;
let n = t.from,
r = t.to;
const o = Dd(wf.location.href);
let i = n ? Dd(n) : void 0;
const a = Dd(r);
i && i.path || (i = o), o.protocol === a.protocol && o.host === a.host && (r = a.relative), o.protocol === i.protocol && o.host === i.host && (n = i.relative), Tc({
category: "navigation",
data: {
from: n,
to: r
}
})
}
}(e)), t.sentry && e.on && e.on("beforeSendEvent", function(e) {
return function(t) {
Uc() === e && Tc({
category: "sentry." + ("transaction" === t.type ? "transaction" : "event"),
event_id: t.event_id,
level: t.level,
message: rs(t)
}, {
event: t
})
}
}(e))
}
}
},
Bd = Xc(Ld, Fd);
const Ud = "Dedupe",
Gd = () => {
let e;
return {
name: Ud,
setupOnce() {},
processEvent(t) {
if (t.type) return t;
try {
if (function(e, t) {
if (!t) return !1;
if (function(e, t) {
const n = e.message,
r = t.message;
if (!n && !r) return !1;
if (n && !r || !n && r) return !1;
if (n !== r) return !1;
if (!zd(e, t)) return !1;
if (!Hd(e, t)) return !1;
return !0
}(e, t)) return !0;
if (function(e, t) {
const n = qd(t),
r = qd(e);
if (!n || !r) return !1;
if (n.type !== r.type || n.value !== r.value) return !1;
if (!zd(e, t)) return !1;
if (!Hd(e, t)) return !1;
return !0
}(e, t)) return !0;
return !1
}(t, e)) return xf && Fa.warn("Event dropped due to being a duplicate of previously captured event."), null
} catch (e) {}
return e = t
}
}
},
$d = Xc(Ud, Gd);
function Hd(e, t) {
let n = Wd(e),
r = Wd(t);
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
if (r.length !== n.length) return !1;
for (let e = 0; e < r.length; e++) {
const t = r[e],
o = n[e];
if (t.filename !== o.filename || t.lineno !== o.lineno || t.colno !== o.colno || t.function !== o.function) return !1
}
return !0
}
function zd(e, t) {
let n = e.fingerprint,
r = t.fingerprint;
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
try {
return !(n.join("") !== r.join(""))
} catch (e) {
return !1
}
}
function qd(e) {
return e.exception && e.exception.values && e.exception.values[0]
}
function Wd(e) {
const t = e.exception;
if (t) try {
return t.values[0].stacktrace.frames
} catch (e) {
return
}
}
const Vd = "GlobalHandlers",
Yd = (e = {}) => {
const t = {
onerror: !0,
onunhandledrejection: !0,
...e
};
return {
name: Vd,
setupOnce() {
Error.stackTraceLimit = 50
},
setup(e) {
t.onerror && (! function(e) {
fl(t => {
const {
stackParser: n,
attachStacktrace: r
} = Xd();
if (Uc() !== e || Ef()) return;
const {
msg: o,
url: i,
line: a,
column: s,
error: c
} = t, u = void 0 === c && ha(o) ? function(e, t, n, r) {
const o = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
let i = da(e) ? e.message : e,
a = "Error";
const s = i.match(o);
s && (a = s[1], i = s[2]);
const c = {
exception: {
values: [{
type: a,
value: i
}]
}
};
return Kd(c, t, n, r)
}(o, i, a, s) : Kd(Df(n, c || o, void 0, r, !1), i, a, s);
u.level = "error", Ec(u, {
originalException: c,
mechanism: {
handled: !1,
type: "onerror"
}
})
})
}(e), Qd("onerror")), t.onunhandledrejection && (! function(e) {
hl(t => {
const {
stackParser: n,
attachStacktrace: r
} = Xd();
if (Uc() !== e || Ef()) return;
const o = function(e) {
if (ga(e)) return e;
const t = e;
try {
if ("reason" in t) return t.reason;
if ("detail" in t && "reason" in t.detail) return t.detail.reason
} catch (e) {}
return e
}(t),
i = ga(o) ? {
exception: {
values: [{
type: "UnhandledRejection",
value: `Non-Error promise rejection captured with value: ${String(o)}`
}]
}
} : Df(n, o, void 0, r, !0);
i.level = "error", Ec(i, {
originalException: o,
mechanism: {
handled: !1,
type: "onunhandledrejection"
}
})
})
}(e), Qd("onunhandledrejection"))
}
}
},
Jd = Xc(Vd, Yd);
function Kd(e, t, n, r) {
const o = e.exception = e.exception || {},
i = o.values = o.values || [],
a = i[0] = i[0] || {},
s = a.stacktrace = a.stacktrace || {},
c = s.frames = s.frames || [],
u = isNaN(parseInt(r, 10)) ? void 0 : r,
l = isNaN(parseInt(n, 10)) ? void 0 : n,
f = ha(t) && t.length > 0 ? t : Ca();
return 0 === c.length && c.push({
colno: u,
filename: f,
function: "?",
in_app: !0,
lineno: l
}), e
}
function Qd(e) {
xf && Fa.log(`Global Handler attached: ${e}`)
}
function Xd() {
const e = Uc();
return e && e.getOptions() || {
stackParser: () => [],
attachStacktrace: !1
}
}
const Zd = "HttpContext",
ep = () => ({
name: Zd,
setupOnce() {},
preprocessEvent(e) {
if (!wf.navigator && !wf.location && !wf.document) return;
const t = e.request && e.request.url || wf.location && wf.location.href,
{
referrer: n
} = wf.document || {},
{
userAgent: r
} = wf.navigator || {},
o = {
...e.request && e.request.headers,
...n && {
Referer: n
},
...r && {
"User-Agent": r
}
},
i = {
...e.request,
...t && {
url: t
},
headers: o
};
e.request = i
}
}),
tp = Xc(Zd, ep),
np = "LinkedErrors",
rp = (e = {}) => {
const t = e.limit || 5,
n = e.key || "cause";
return {
name: np,
setupOnce() {},
preprocessEvent(e, r, o) {
const i = o.getOptions();
lu(If, i.stackParser, i.maxValueLength, n, t, e, r)
}
}
},
op = Xc(np, rp),
ip = ["EventTarget", "Window", "Node", "ApplicationCache", "AudioTrackList", "BroadcastChannel", "ChannelMergerNode", "CryptoOperation", "EventSource", "FileReader", "HTMLUnknownElement", "IDBDatabase", "IDBRequest", "IDBTransaction", "KeyOperation", "MediaController", "MessagePort", "ModalWindow", "Notification", "SVGElementInstance", "Screen", "SharedWorker", "TextTrack", "TextTrackCue", "TextTrackList", "WebSocket", "WebSocketWorker", "Worker", "XMLHttpRequest", "XMLHttpRequestEventTarget", "XMLHttpRequestUpload"],
ap = "TryCatch",
sp = (e = {}) => {
const t = {
XMLHttpRequest: !0,
eventTarget: !0,
requestAnimationFrame: !0,
setInterval: !0,
setTimeout: !0,
...e
};
return {
name: ap,
setupOnce() {
t.setTimeout && za(wf, "setTimeout", up), t.setInterval && za(wf, "setInterval", up), t.requestAnimationFrame && za(wf, "requestAnimationFrame", lp), t.XMLHttpRequest && "XMLHttpRequest" in wf && za(XMLHttpRequest.prototype, "send", fp);
const e = t.eventTarget;
if (e) {
(Array.isArray(e) ? e : ip).forEach(dp)
}
}
}
},
cp = Xc(ap, sp);
function up(e) {
return function(...t) {
const n = t[0];
return t[0] = kf(n, {
mechanism: {
data: {
function: hc(e)
},
handled: !1,
type: "instrument"
}
}), e.apply(this, t)
}
}
function lp(e) {
return function(t) {
return e.apply(this, [kf(t, {
mechanism: {
data: {
function: "requestAnimationFrame",
handler: hc(e)
},
handled: !1,
type: "instrument"
}
})])
}
}
function fp(e) {
return function(...t) {
const n = this;
return ["onload", "onerror", "onprogress", "onreadystatechange"].forEach(e => {
e in n && "function" == typeof n[e] && za(n, e, function(t) {
const n = {
mechanism: {
data: {
function: e,
handler: hc(t)
},
handled: !1,
type: "instrument"
}
},
r = Va(t);
return r && (n.mechanism.data.handler = hc(r)), kf(t, n)
})
}), e.apply(this, t)
}
}
function dp(e) {
const t = wf,
n = t[e] && t[e].prototype;
n && n.hasOwnProperty && n.hasOwnProperty("addEventListener") && (za(n, "addEventListener", function(t) {
return function(n, r, o) {
try {
"function" == typeof r.handleEvent && (r.handleEvent = kf(r.handleEvent, {
mechanism: {
data: {
function: "handleEvent",
handler: hc(r),
target: e
},
handled: !1,
type: "instrument"
}
}))
} catch (e) {}
return t.apply(this, [n, kf(r, {
mechanism: {
data: {
function: "addEventListener",
handler: hc(r),
target: e
},
handled: !1,
type: "instrument"
}
}), o])
}
}), za(n, "removeEventListener", function(e) {
return function(t, n, r) {
const o = n;
try {
const n = o && o.__sentry_wrapped__;
n && e.call(this, t, n, r)
} catch (e) {}
return e.call(this, t, o, r)
}
}))
}
const pp = [su(), nu(), sp(), Fd(), Yd(), rp(), Gd(), ep()];
function hp(e) {
return [...pp]
}
function mp(e = {}) {
void 0 === e.defaultIntegrations && (e.defaultIntegrations = hp()), void 0 === e.release && ("string" == typeof __SENTRY_RELEASE__ && (e.release = __SENTRY_RELEASE__), wf.SENTRY_RELEASE && wf.SENTRY_RELEASE.id && (e.release = wf.SENTRY_RELEASE.id)), void 0 === e.autoSessionTracking && (e.autoSessionTracking = !0), void 0 === e.sendClientReports && (e.sendClientReports = !0);
const t = {
...e,
stackParser: (n = e.stackParser || ud, Array.isArray(n) ? dc(...n) : n),
integrations: Yc(e),
transport: e.transport || (Gf() ? qf : Vf)
};
var n;
! function(e, t) {
!0 === t.debug && (es ? Fa.enable() : La(() => {
console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")
})), $c().update(t.initialScope);
const n = new e(t);
_f(n),
function(e) {
e.init ? e.init() : e.setupIntegrations && e.setupIntegrations()
}(n)
}(Bf, t), e.autoSessionTracking && function() {
if (void 0 === wf.document) return void(xf && Fa.warn("Session tracking in non-browser environment with @sentry/browser is not supported."));
Hc({
ignoreDuration: !0
}), Wc(), hd(({
from: e,
to: t
}) => {
void 0 !== e && e !== t && (Hc({
ignoreDuration: !0
}), Wc())
})
}()
}
const gp = (e = {}, t = nc()) => {
if (!wf.document) return void(xf && Fa.error("Global document not defined in showReportDialog call"));
const {
client: n,
scope: r
} = t.getStackTop(), o = e.dsn || n && n.getDsn();
if (!o) return void(xf && Fa.error("DSN not configured for showReportDialog call"));
r && (e.user = {
...r.getUser(),
...e.user
}), e.eventId || (e.eventId = t.lastEventId());
const i = wf.document.createElement("script");
i.async = !0, i.crossOrigin = "anonymous", i.src = function(e, t) {
const n = Ou(e);
if (!n) return "";
const r = `${Wu(n)}embed/error-page/`;
let o = `dsn=${_u(n)}`;
for (const e in t)
if ("dsn" !== e && "onClose" !== e)
if ("user" === e) {
const e = t.user;
if (!e) continue;
e.name && (o += `&name=${encodeURIComponent(e.name)}`), e.email && (o += `&email=${encodeURIComponent(e.email)}`)
} else o += `&${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`;
return `${r}?${o}`
}(o, e), e.onLoad && (i.onload = e.onLoad);
const {
onClose: a
} = e;
if (a) {
const e = t => {
if ("__sentry_reportdialog_closed__" === t.data) try {
a()
} finally {
wf.removeEventListener("message", e)
}
};
wf.addEventListener("message", e)
}
const s = wf.document.head || wf.document.body;
s ? s.appendChild(i) : xf && Fa.error("Not injecting report dialog. No injection point found in HTML")
};
function yp() {}
function vp(e) {
e()
}
function bp(e) {
return kf(e)()
}
function _p(e) {
const t = Uc();
t && t.captureUserFeedback(e)
}
function Sp(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const o = e[r],
i = e[r + 1];
if (r += 2, ("optionalAccess" === o || "optionalCall" === o) && null == n) return;
"access" === o || "optionalAccess" === o ? (t = n, n = i(n)) : "call" !== o && "optionalCall" !== o || (n = i((...e) => n.call(t, ...e)), t = void 0)
}
return n
}
function wp(e, t) {
const n = t && function(e) {
return void 0 !== e.getClient
}(t) ? t.getClient() : t,
r = n && n.getDsn(),
o = n && n.getOptions().tunnel;
return function(e, t) {
return !!t && e.includes(t.host)
}(e, r) || function(e, t) {
if (!t) return !1;
return Op(e) === Op(t)
}(e, o)
}
function Op(e) {
return "/" === e[e.length - 1] ? e.slice(0, -1) : e
}
var Ep = n(76176);
function kp() {
return "undefined" != typeof window && (!(0, Ep.wD)() || void 0 !== Ea.process && "renderer" === Ea.process.type)
}
const Tp = "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__,
xp = (e, t, n) => {
let r, o;
return i => {
t.value >= 0 && (i || n) && (o = t.value - (r || 0), (o || void 0 === r) && (r = t.value, t.delta = o, e(t)))
}
},
Ip = Ea,
Pp = () => Ip.__WEB_VITALS_POLYFILL__ ? Ip.performance && (performance.getEntriesByType && performance.getEntriesByType("navigation")[0] || (() => {
const e = Ip.performance.timing,
t = Ip.performance.navigation.type,
n = {
entryType: "navigation",
startTime: 0,
type: 2 == t ? "back_forward" : 1 === t ? "reload" : "navigate"
};
for (const t in e) "navigationStart" !== t && "toJSON" !== t && (n[t] = Math.max(e[t] - e.navigationStart, 0));
return n
})()) : Ip.performance && performance.getEntriesByType && performance.getEntriesByType("navigation")[0],
Ap = () => {
const e = Pp();
return e && e.activationStart || 0
},
Cp = (e, t) => {
const n = Pp();
let r = "navigate";
return n && (r = Ip.document && Ip.document.prerendering || Ap() > 0 ? "prerender" : n.type.replace(/_/g, "-")), {
name: e,
value: void 0 === t ? -1 : t,
rating: "good",
delta: 0,
entries: [],
id: `v3-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,
navigationType: r
}
},
jp = (e, t, n) => {
try {
if (PerformanceObserver.supportedEntryTypes.includes(e)) {
const r = new PerformanceObserver(e => {
t(e.getEntries())
});
return r.observe({
type: e,
buffered: !0,
...n
}), r
}
} catch (e) {}
},
Rp = (e, t) => {
const n = r => {
"pagehide" !== r.type && "hidden" !== Ip.document.visibilityState || (e(r), t && (removeEventListener("visibilitychange", n, !0), removeEventListener("pagehide", n, !0)))
};
Ip.document && (addEventListener("visibilitychange", n, !0), addEventListener("pagehide", n, !0))
};
let Mp = -1;
const Dp = () => (Mp < 0 && (Ip.document && Ip.document.visibilityState && (Mp = "hidden" !== Ip.document.visibilityState || Ip.document.prerendering ? 1 / 0 : 0), Rp(({
timeStamp: e
}) => {
Mp = e
}, !0)), {
get firstHiddenTime() {
return Mp
}
});
let Np = 0,
Lp = 1 / 0,
Fp = 0;
const Bp = e => {
e.forEach(e => {
e.interactionId && (Lp = Math.min(Lp, e.interactionId), Fp = Math.max(Fp, e.interactionId), Np = Fp ? (Fp - Lp) / 7 + 1 : 0)
})
};
let Up;
const Gp = () => {
"interactionCount" in performance || Up || (Up = jp("event", Bp, {
type: "event",
buffered: !0,
durationThreshold: 0
}))
},
$p = () => Up ? Np : performance.interactionCount || 0,
Hp = [],
zp = {},
qp = e => {
const t = Hp[Hp.length - 1],
n = zp[e.interactionId];
if (n || Hp.length < 10 || e.duration > t.latency) {
if (n) n.entries.push(e), n.latency = Math.max(n.latency, e.duration);
else {
const t = {
id: e.interactionId,
latency: e.duration,
entries: [e]
};
zp[t.id] = t, Hp.push(t)
}
Hp.sort((e, t) => t.latency - e.latency), Hp.splice(10).forEach(e => {
delete zp[e.id]
})
}
},
Wp = (e, t) => {
t = t || {}, Gp();
const n = Cp("INP");
let r;
const o = e => {
e.forEach(e => {
if (e.interactionId && qp(e), "first-input" === e.entryType) {
!Hp.some(t => t.entries.some(t => e.duration === t.duration && e.startTime === t.startTime)) && qp(e)
}
});
const t = (() => {
const e = Math.min(Hp.length - 1, Math.floor($p() / 50));
return Hp[e]
})();
t && t.latency !== n.value && (n.value = t.latency, n.entries = t.entries, r())
},
i = jp("event", o, {
durationThreshold: t.durationThreshold || 40
});
r = xp(e, n, t.reportAllChanges), i && (i.observe({
type: "first-input",
buffered: !0
}), Rp(() => {
o(i.takeRecords()), n.value < 0 && $p() > 0 && (n.value = 0, n.entries = []), r(!0)
}))
},
Vp = {},
Yp = e => {
Ip.document && (Ip.document.prerendering ? addEventListener("prerenderingchange", () => Yp(e), !0) : "complete" !== Ip.document.readyState ? addEventListener("load", () => Yp(e), !0) : setTimeout(e, 0))
},
Jp = {},
Kp = {};
let Qp, Xp, Zp, eh, th;
function nh(e, t = !1) {
return lh("lcp", e, sh, Zp, t)
}
function rh(e, t) {
return fh(e, t), Kp[e] || (! function(e) {
const t = {};
"event" === e && (t.durationThreshold = 0);
jp(e, t => {
oh(e, {
entries: t
})
}, t)
}(e), Kp[e] = !0), dh(e, t)
}
function oh(e, t) {
const n = Jp[e];
if (n && n.length)
for (const r of n) try {
r(t)
} catch (t) {
Tp && Fa.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${hc(r)}\nError:`, t)
}
}
function ih() {
return ((e, t = {}) => {
const n = Cp("CLS", 0);
let r, o = 0,
i = [];
const a = e => {
e.forEach(e => {
if (!e.hadRecentInput) {
const t = i[0],
a = i[i.length - 1];
o && 0 !== i.length && e.startTime - a.startTime < 1e3 && e.startTime - t.startTime < 5e3 ? (o += e.value, i.push(e)) : (o = e.value, i = [e]), o > n.value && (n.value = o, n.entries = i, r && r())
}
})
},
s = jp("layout-shift", a);
if (s) {
r = xp(e, n, t.reportAllChanges);
const o = () => {
a(s.takeRecords()), r(!0)
};
return Rp(o), o
}
})(e => {
oh("cls", {
metric: e
}), Qp = e
}, {
reportAllChanges: !0
})
}
function ah() {
return (e => {
const t = Dp(),
n = Cp("FID");
let r;
const o = e => {
e.startTime < t.firstHiddenTime && (n.value = e.processingStart - e.startTime, n.entries.push(e), r(!0))
},
i = e => {
e.forEach(o)
},
a = jp("first-input", i);
r = xp(e, n), a && Rp(() => {
i(a.takeRecords()), a.disconnect()
}, !0)
})(e => {
oh("fid", {
metric: e
}), Xp = e
})
}
function sh() {
return (e => {
const t = Dp(),
n = Cp("LCP");
let r;
const o = e => {
const o = e[e.length - 1];
if (o) {
const e = Math.max(o.startTime - Ap(), 0);
e < t.firstHiddenTime && (n.value = e, n.entries = [o], r())
}
},
i = jp("largest-contentful-paint", o);
if (i) {
r = xp(e, n);
const t = () => {
Vp[n.id] || (o(i.takeRecords()), i.disconnect(), Vp[n.id] = !0, r(!0))
};
return ["keydown", "click"].forEach(e => {
Ip.document && addEventListener(e, t, {
once: !0,
capture: !0
})
}), Rp(t, !0), t
}
})(e => {
oh("lcp", {
metric: e
}), Zp = e
})
}
function ch() {
return ((e, t) => {
t = t || {};
const n = Cp("TTFB"),
r = xp(e, n, t.reportAllChanges);
Yp(() => {
const e = Pp();
if (e) {
if (n.value = Math.max(e.responseStart - Ap(), 0), n.value < 0 || n.value > performance.now()) return;
n.entries = [e], r(!0)
}
})
})(e => {
oh("ttfb", {
metric: e
}), eh = e
})
}
function uh() {
return Wp(e => {
oh("inp", {
metric: e
}), th = e
})
}
function lh(e, t, n, r, o = !1) {
let i;
return fh(e, t), Kp[e] || (i = n(), Kp[e] = !0), r && t({
metric: r
}), dh(e, t, o ? i : void 0)
}
function fh(e, t) {
Jp[e] = Jp[e] || [], Jp[e].push(t)
}
function dh(e, t, n) {
return () => {
n && n();
const r = Jp[e];
if (!r) return;
const o = r.indexOf(t); - 1 !== o && r.splice(o, 1)
}
}
const ph = Ea,
hh = "sentryReplaySession",
mh = "Unable to send Replay",
gh = 15e4,
yh = 5e3,
vh = 2e7,
bh = 36e5;
function _h(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const o = e[r],
i = e[r + 1];
if (r += 2, ("optionalAccess" === o || "optionalCall" === o) && null == n) return;
"access" === o || "optionalAccess" === o ? (t = n, n = i(n)) : "call" !== o && "optionalCall" !== o || (n = i((...e) => n.call(t, ...e)), t = void 0)
}
return n
}
var Sh;
function wh(e) {
const t = _h([e, "optionalAccess", e => e.host]);
return Boolean(_h([t, "optionalAccess", e => e.shadowRoot]) === e)
}
function Oh(e) {
return "[object ShadowRoot]" === Object.prototype.toString.call(e)
}
function Eh(e) {
try {
const n = e.rules || e.cssRules;
return n ? ((t = Array.from(n, kh).join("")).includes(" background-clip: text;") && !t.includes(" -webkit-background-clip: text;") && (t = t.replace(" background-clip: text;", " -webkit-background-clip: text; background-clip: text;")), t) : null
} catch (e) {
return null
}
var t
}
function kh(e) {
let t;
if (function(e) {
return "styleSheet" in e
}(e)) try {
t = Eh(e.styleSheet) || function(e) {
const {
cssText: t
} = e;
if (t.split('"').length < 3) return t;
const n = ["@import", `url(${JSON.stringify(e.href)})`];
return "" === e.layerName ? n.push("layer") : e.layerName && n.push(`layer(${e.layerName})`), e.supportsText && n.push(`supports(${e.supportsText})`), e.media.length && n.push(e.media.mediaText), n.join(" ") + ";"
}(e)
} catch (e) {} else if (function(e) {
return "selectorText" in e
}(e) && e.selectorText.includes(":")) return function(e) {
const t = /(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;
return e.replace(t, "$1\\$2")
}(e.cssText);
return t || e.cssText
}! function(e) {
e[e.Document = 0] = "Document", e[e.DocumentType = 1] = "DocumentType", e[e.Element = 2] = "Element", e[e.Text = 3] = "Text", e[e.CDATA = 4] = "CDATA", e[e.Comment = 5] = "Comment"
}(Sh || (Sh = {}));
class Th {
constructor() {
this.idNodeMap = new Map, this.nodeMetaMap = new WeakMap
}
getId(e) {
if (!e) return -1;
const t = _h([this, "access", e => e.getMeta, "call", t => t(e), "optionalAccess", e => e.id]);
return r = () => -1, null != (n = t) ? n : r();
var n, r
}
getNode(e) {
return this.idNodeMap.get(e) || null
}
getIds() {
return Array.from(this.idNodeMap.keys())
}
getMeta(e) {
return this.nodeMetaMap.get(e) || null
}
removeNodeFromMap(e) {
const t = this.getId(e);
this.idNodeMap.delete(t), e.childNodes && e.childNodes.forEach(e => this.removeNodeFromMap(e))
}
has(e) {
return this.idNodeMap.has(e)
}
hasNode(e) {
return this.nodeMetaMap.has(e)
}
add(e, t) {
const n = t.id;
this.idNodeMap.set(n, e), this.nodeMetaMap.set(e, t)
}
replace(e, t) {
const n = this.getNode(e);
if (n) {
const e = this.nodeMetaMap.get(n);
e && this.nodeMetaMap.set(t, e)
}
this.idNodeMap.set(e, t)
}
reset() {
this.idNodeMap = new Map, this.nodeMetaMap = new WeakMap
}
}
function xh({
maskInputOptions: e,
tagName: t,
type: n
}) {
return "OPTION" === t && (t = "SELECT"), Boolean(e[t.toLowerCase()] || n && e[n] || "password" === n || "INPUT" === t && !n && e.text)
}
function Ih({
isMasked: e,
element: t,
value: n,
maskInputFn: r
}) {
let o = n || "";
return e ? (r && (o = r(o, t)), "*".repeat(o.length)) : o
}
function Ph(e) {
return e.toLowerCase()
}
function Ah(e) {
return e.toUpperCase()
}
const Ch = "__rrweb_original__";
function jh(e) {
const t = e.type;
return e.hasAttribute("data-rr-is-password") ? "password" : t ? Ph(t) : null
}
function Rh(e, t, n) {
return "INPUT" !== t || "radio" !== n && "checkbox" !== n ? e.value : e.getAttribute("value") || ""
}
let Mh = 1;
const Dh = new RegExp("[^a-z0-9-_:]");
function Nh() {
return Mh++
}
let Lh, Fh;
const Bh = /url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,
Uh = /^(?:[a-z+]+:)?\/\//i,
Gh = /^www\..*/i,
$h = /^(data:)([^,]*),(.*)/i;
function Hh(e, t) {
return (e || "").replace(Bh, (e, n, r, o, i, a) => {
const s = r || i || a,
c = n || o || "";
if (!s) return e;
if (Uh.test(s) || Gh.test(s)) return `url(${c}${s}${c})`;
if ($h.test(s)) return `url(${c}${s}${c})`;
if ("/" === s[0]) return `url(${c}${function(e){let t="";return t=e.indexOf("//")>-1?e.split("/").slice(0,3).join("/"):e.split("/")[0],t=t.split("?")[0],t}(t)+s}${c})`;
const u = t.split("/"),
l = s.split("/");
u.pop();
for (const e of l) "." !== e && (".." === e ? u.pop() : u.push(e));
return `url(${c}${u.join("/")}${c})`
})
}
const zh = /^[^ \t\n\r\u000c]+/,
qh = /^[, \t\n\r\u000c]+/;
function Wh(e, t) {
if (!t || "" === t.trim()) return t;
const n = e.createElement("a");
return n.href = t, n.href
}
function Vh(e) {
return Boolean("svg" === e.tagName || e.ownerSVGElement)
}
function Yh() {
const e = document.createElement("a");
return e.href = "", e.href
}
function Jh(e, t, n, r, o, i) {
return r ? "src" === n || "href" === n && ("use" !== t || "#" !== r[0]) || "xlink:href" === n && "#" !== r[0] ? Wh(e, r) : "background" !== n || "table" !== t && "td" !== t && "th" !== t ? "srcset" === n ? function(e, t) {
if ("" === t.trim()) return t;
let n = 0;
function r(e) {
let r;
const o = e.exec(t.substring(n));
return o ? (r = o[0], n += r.length, r) : ""
}
const o = [];
for (; r(qh), !(n >= t.length);) {
let i = r(zh);
if ("," === i.slice(-1)) i = Wh(e, i.substring(0, i.length - 1)), o.push(i);
else {
let r = "";
i = Wh(e, i);
let a = !1;
for (;;) {
const e = t.charAt(n);
if ("" === e) {
o.push((i + r).trim());
break
}
if (a) ")" === e && (a = !1);
else {
if ("," === e) {
n += 1, o.push((i + r).trim());
break
}
"(" === e && (a = !0)
}
r += e, n += 1
}
}
}
return o.join(", ")
}(e, r) : "style" === n ? Hh(r, Yh()) : "object" === t && "data" === n ? Wh(e, r) : "function" == typeof i ? i(n, r, o) : r : Wh(e, r) : r
}
function Kh(e, t, n) {
return ("video" === e || "audio" === e) && "autoplay" === t
}
function Qh(e, t, n = 1 / 0, r = 0) {
return e ? e.nodeType !== e.ELEMENT_NODE || r > n ? -1 : t(e) ? r : Qh(e.parentNode, t, n, r + 1) : -1
}
function Xh(e, t) {
return n => {
const r = n;
if (null === r) return !1;
try {
if (e)
if ("string" == typeof e) {
if (r.matches(`.${e}`)) return !0
} else if (function(e, t) {
for (let n = e.classList.length; n--;) {
const r = e.classList[n];
if (t.test(r)) return !0
}
return !1
}(r, e)) return !0;
return !(!t || !r.matches(t))
} catch (e) {
return !1
}
}
}
function Zh(e, t, n, r, o, i) {
try {
const a = e.nodeType === e.ELEMENT_NODE ? e : e.parentElement;
if (null === a) return !1;
if ("INPUT" === a.tagName) {
const e = a.getAttribute("autocomplete");
if (["current-password", "new-password", "cc-number", "cc-exp", "cc-exp-month", "cc-exp-year", "cc-csc"].includes(e)) return !0
}
let s = -1,
c = -1;
if (i) {
if (c = Qh(a, Xh(r, o)), c < 0) return !0;
s = Qh(a, Xh(t, n), c >= 0 ? c : 1 / 0)
} else {
if (s = Qh(a, Xh(t, n)), s < 0) return !1;
c = Qh(a, Xh(r, o), s >= 0 ? s : 1 / 0)
}
return s >= 0 ? !(c >= 0) || s <= c : !(c >= 0) && !!i
} catch (e) {}
return !!i
}
function em(e, t) {
const {
doc: n,
mirror: r,
blockClass: o,
blockSelector: i,
unblockSelector: a,
maskAllText: s,
maskAttributeFn: c,
maskTextClass: u,
unmaskTextClass: l,
maskTextSelector: f,
unmaskTextSelector: d,
inlineStylesheet: p,
maskInputOptions: h = {},
maskTextFn: m,
maskInputFn: g,
dataURLOptions: y = {},
inlineImages: v,
recordCanvas: b,
keepIframeSrcFn: _,
newlyAddedElement: S = !1
} = t, w = function(e, t) {
if (!t.hasNode(e)) return;
const n = t.getId(e);
return 1 === n ? void 0 : n
}(n, r);
switch (e.nodeType) {
case e.DOCUMENT_NODE:
return "CSS1Compat" !== e.compatMode ? {
type: Sh.Document,
childNodes: [],
compatMode: e.compatMode
} : {
type: Sh.Document,
childNodes: []
};
case e.DOCUMENT_TYPE_NODE:
return {
type: Sh.DocumentType, name: e.name, publicId: e.publicId, systemId: e.systemId, rootId: w
};
case e.ELEMENT_NODE:
return function(e, t) {
const {
doc: n,
blockClass: r,
blockSelector: o,
unblockSelector: i,
inlineStylesheet: a,
maskInputOptions: s = {},
maskAttributeFn: c,
maskInputFn: u,
dataURLOptions: l = {},
inlineImages: f,
recordCanvas: d,
keepIframeSrcFn: p,
newlyAddedElement: h = !1,
rootId: m,
maskAllText: g,
maskTextClass: y,
unmaskTextClass: v,
maskTextSelector: b,
unmaskTextSelector: _
} = t, S = function(e, t, n, r) {
try {
if (r && e.matches(r)) return !1;
if ("string" == typeof t) {
if (e.classList.contains(t)) return !0
} else
for (let n = e.classList.length; n--;) {
const r = e.classList[n];
if (t.test(r)) return !0
}
if (n) return e.matches(n)
} catch (e) {}
return !1
}(e, r, o, i), w = function(e) {
if (e instanceof HTMLFormElement) return "form";
const t = Ph(e.tagName);
return Dh.test(t) ? "div" : t
}(e);
let O = {};
const E = e.attributes.length;
for (let t = 0; t < E; t++) {
const r = e.attributes[t];
r.name && !Kh(w, r.name, r.value) && (O[r.name] = Jh(n, w, Ph(r.name), r.value, e, c))
}
if ("link" === w && a) {
const t = Array.from(n.styleSheets).find(t => t.href === e.href);
let r = null;
t && (r = Eh(t)), r && (delete O.rel, delete O.href, O._cssText = Hh(r, t.href))
}
if ("style" === w && e.sheet && !(e.innerText || e.textContent || "").trim().length) {
const t = Eh(e.sheet);
t && (O._cssText = Hh(t, Yh()))
}
if ("input" === w || "textarea" === w || "select" === w || "option" === w) {
const t = e,
n = jh(t),
r = Rh(t, Ah(w), n),
o = t.checked;
if ("submit" !== n && "button" !== n && r) {
const e = Zh(t, y, b, v, _, xh({
type: n,
tagName: Ah(w),
maskInputOptions: s
}));
O.value = Ih({
isMasked: e,
element: t,
value: r,
maskInputFn: u
})
}
o && (O.checked = o)
}
"option" === w && (e.selected && !s.select ? O.selected = !0 : delete O.selected);
if ("canvas" === w && d)
if ("2d" === e.__context)(function(e) {
const t = e.getContext("2d");
if (!t) return !0;
for (let n = 0; n < e.width; n += 50)
for (let r = 0; r < e.height; r += 50) {
const o = t.getImageData,
i = Ch in o ? o[Ch] : o;
if (new Uint32Array(i.call(t, n, r, Math.min(50, e.width - n), Math.min(50, e.height - r)).data.buffer).some(e => 0 !== e)) return !1
}
return !0
})(e) || (O.rr_dataURL = e.toDataURL(l.type, l.quality));
else if (!("__context" in e)) {
const t = e.toDataURL(l.type, l.quality),
n = document.createElement("canvas");
n.width = e.width, n.height = e.height;
t !== n.toDataURL(l.type, l.quality) && (O.rr_dataURL = t)
}
if ("img" === w && f) {
Lh || (Lh = n.createElement("canvas"), Fh = Lh.getContext("2d"));
const t = e,
r = t.crossOrigin;
t.crossOrigin = "anonymous";
const o = () => {
t.removeEventListener("load", o);
try {
Lh.width = t.naturalWidth, Lh.height = t.naturalHeight, Fh.drawImage(t, 0, 0), O.rr_dataURL = Lh.toDataURL(l.type, l.quality)
} catch (e) {
console.warn(`Cannot inline img src=${t.currentSrc}! Error: ${e}`)
}
r ? O.crossOrigin = r : t.removeAttribute("crossorigin")
};
t.complete && 0 !== t.naturalWidth ? o() : t.addEventListener("load", o)
}
"audio" !== w && "video" !== w || (O.rr_mediaState = e.paused ? "paused" : "played", O.rr_mediaCurrentTime = e.currentTime);
h || (e.scrollLeft && (O.rr_scrollLeft = e.scrollLeft), e.scrollTop && (O.rr_scrollTop = e.scrollTop));
if (S) {
const {
width: t,
height: n
} = e.getBoundingClientRect();
O = {
class: O.class,
rr_width: `${t}px`,
rr_height: `${n}px`
}
}
"iframe" !== w || p(O.src) || (e.contentDocument || (O.rr_src = O.src), delete O.src);
let k;
try {
customElements.get(w) && (k = !0)
} catch (e) {}
return {
type: Sh.Element,
tagName: w,
attributes: O,
childNodes: [],
isSVG: Vh(e) || void 0,
needBlock: S,
rootId: m,
isCustom: k
}
}(e, {
doc: n,
blockClass: o,
blockSelector: i,
unblockSelector: a,
inlineStylesheet: p,
maskAttributeFn: c,
maskInputOptions: h,
maskInputFn: g,
dataURLOptions: y,
inlineImages: v,
recordCanvas: b,
keepIframeSrcFn: _,
newlyAddedElement: S,
rootId: w,
maskAllText: s,
maskTextClass: u,
unmaskTextClass: l,
maskTextSelector: f,
unmaskTextSelector: d
});
case e.TEXT_NODE:
return function(e, t) {
const {
maskAllText: n,
maskTextClass: r,
unmaskTextClass: o,
maskTextSelector: i,
unmaskTextSelector: a,
maskTextFn: s,
maskInputOptions: c,
maskInputFn: u,
rootId: l
} = t, f = e.parentNode && e.parentNode.tagName;
let d = e.textContent;
const p = "STYLE" === f || void 0,
h = "SCRIPT" === f || void 0,
m = "TEXTAREA" === f || void 0;
if (p && d) {
try {
e.nextSibling || e.previousSibling || _h([e, "access", e => e.parentNode, "access", e => e.sheet, "optionalAccess", e => e.cssRules]) && (d = Eh(e.parentNode.sheet))
} catch (t) {
console.warn(`Cannot get CSS styles from text's parentNode. Error: ${t}`, e)
}
d = Hh(d, Yh())
}
h && (d = "SCRIPT_PLACEHOLDER");
const g = Zh(e, r, i, o, a, n);
p || h || m || !d || !g || (d = s ? s(d, e.parentElement) : d.replace(/[\S]/g, "*"));
m && d && (c.textarea || g) && (d = u ? u(d, e.parentNode) : d.replace(/[\S]/g, "*"));
if ("OPTION" === f && d) {
d = Ih({
isMasked: Zh(e, r, i, o, a, xh({
type: null,
tagName: f,
maskInputOptions: c
})),
element: e,
value: d,
maskInputFn: u
})
}
return {
type: Sh.Text,
textContent: d || "",
isStyle: p,
rootId: l
}
}(e, {
maskAllText: s,
maskTextClass: u,
unmaskTextClass: l,
maskTextSelector: f,
unmaskTextSelector: d,
maskTextFn: m,
maskInputOptions: h,
maskInputFn: g,
rootId: w
});
case e.CDATA_SECTION_NODE:
return {
type: Sh.CDATA, textContent: "", rootId: w
};
case e.COMMENT_NODE:
return {
type: Sh.Comment, textContent: e.textContent || "", rootId: w
};
default:
return !1
}
}
function tm(e) {
return null == e ? "" : e.toLowerCase()
}
function nm(e, t) {
const {
doc: n,
mirror: r,
blockClass: o,
blockSelector: i,
unblockSelector: a,
maskAllText: s,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: l,
unmaskTextSelector: f,
skipChild: d = !1,
inlineStylesheet: p = !0,
maskInputOptions: h = {},
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: y,
slimDOMOptions: v,
dataURLOptions: b = {},
inlineImages: _ = !1,
recordCanvas: S = !1,
onSerialize: w,
onIframeLoad: O,
iframeLoadTimeout: E = 5e3,
onStylesheetLoad: k,
stylesheetLoadTimeout: T = 5e3,
keepIframeSrcFn: x = () => !1,
newlyAddedElement: I = !1
} = t;
let {
preserveWhiteSpace: P = !0
} = t;
const A = em(e, {
doc: n,
mirror: r,
blockClass: o,
blockSelector: i,
maskAllText: s,
unblockSelector: a,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: l,
unmaskTextSelector: f,
inlineStylesheet: p,
maskInputOptions: h,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: y,
dataURLOptions: b,
inlineImages: _,
recordCanvas: S,
keepIframeSrcFn: x,
newlyAddedElement: I
});
if (!A) return console.warn(e, "not serialized"), null;
let C;
C = r.hasNode(e) ? r.getId(e) : ! function(e, t) {
if (t.comment && e.type === Sh.Comment) return !0;
if (e.type === Sh.Element) {
if (t.script && ("script" === e.tagName || "link" === e.tagName && ("preload" === e.attributes.rel || "modulepreload" === e.attributes.rel) && "script" === e.attributes.as || "link" === e.tagName && "prefetch" === e.attributes.rel && "string" == typeof e.attributes.href && e.attributes.href.endsWith(".js"))) return !0;
if (t.headFavicon && ("link" === e.tagName && "shortcut icon" === e.attributes.rel || "meta" === e.tagName && (tm(e.attributes.name).match(/^msapplication-tile(image|color)$/) || "application-name" === tm(e.attributes.name) || "icon" === tm(e.attributes.rel) || "apple-touch-icon" === tm(e.attributes.rel) || "shortcut icon" === tm(e.attributes.rel)))) return !0;
if ("meta" === e.tagName) {
if (t.headMetaDescKeywords && tm(e.attributes.name).match(/^description|keywords$/)) return !0;
if (t.headMetaSocial && (tm(e.attributes.property).match(/^(og|twitter|fb):/) || tm(e.attributes.name).match(/^(og|twitter):/) || "pinterest" === tm(e.attributes.name))) return !0;
if (t.headMetaRobots && ("robots" === tm(e.attributes.name) || "googlebot" === tm(e.attributes.name) || "bingbot" === tm(e.attributes.name))) return !0;
if (t.headMetaHttpEquiv && void 0 !== e.attributes["http-equiv"]) return !0;
if (t.headMetaAuthorship && ("author" === tm(e.attributes.name) || "generator" === tm(e.attributes.name) || "framework" === tm(e.attributes.name) || "publisher" === tm(e.attributes.name) || "progid" === tm(e.attributes.name) || tm(e.attributes.property).match(/^article:/) || tm(e.attributes.property).match(/^product:/))) return !0;
if (t.headMetaVerification && ("google-site-verification" === tm(e.attributes.name) || "yandex-verification" === tm(e.attributes.name) || "csrf-token" === tm(e.attributes.name) || "p:domain_verify" === tm(e.attributes.name) || "verify-v1" === tm(e.attributes.name) || "verification" === tm(e.attributes.name) || "shopify-checkout-api-token" === tm(e.attributes.name))) return !0
}
}
return !1
}(A, v) && (P || A.type !== Sh.Text || A.isStyle || A.textContent.replace(/^\s+|\s+$/gm, "").length) ? Nh() : -2;
const j = Object.assign(A, {
id: C
});
if (r.add(e, j), -2 === C) return null;
w && w(e);
let R = !d;
if (j.type === Sh.Element) {
R = R && !j.needBlock, delete j.needBlock;
const t = e.shadowRoot;
t && Oh(t) && (j.isShadowHost = !0)
}
if ((j.type === Sh.Document || j.type === Sh.Element) && R) {
v.headWhitespace && j.type === Sh.Element && "head" === j.tagName && (P = !1);
const t = {
doc: n,
mirror: r,
blockClass: o,
blockSelector: i,
maskAllText: s,
unblockSelector: a,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: l,
unmaskTextSelector: f,
skipChild: d,
inlineStylesheet: p,
maskInputOptions: h,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: y,
slimDOMOptions: v,
dataURLOptions: b,
inlineImages: _,
recordCanvas: S,
preserveWhiteSpace: P,
onSerialize: w,
onIframeLoad: O,
iframeLoadTimeout: E,
onStylesheetLoad: k,
stylesheetLoadTimeout: T,
keepIframeSrcFn: x
};
for (const n of Array.from(e.childNodes)) {
const e = nm(n, t);
e && j.childNodes.push(e)
}
if (function(e) {
return e.nodeType === e.ELEMENT_NODE
}(e) && e.shadowRoot)
for (const n of Array.from(e.shadowRoot.childNodes)) {
const r = nm(n, t);
r && (Oh(e.shadowRoot) && (r.isShadow = !0), j.childNodes.push(r))
}
}
return e.parentNode && wh(e.parentNode) && Oh(e.parentNode) && (j.isShadow = !0), j.type === Sh.Element && "iframe" === j.tagName && function(e, t, n) {
const r = e.contentWindow;
if (!r) return;
let o, i = !1;
try {
o = r.document.readyState
} catch (e) {
return
}
if ("complete" !== o) {
const r = setTimeout(() => {
i || (t(), i = !0)
}, n);
return void e.addEventListener("load", () => {
clearTimeout(r), i = !0, t()
})
}
const a = "about:blank";
if (r.location.href !== a || e.src === a || "" === e.src) return setTimeout(t, 0), e.addEventListener("load", t);
e.addEventListener("load", t)
}(e, () => {
const t = e.contentDocument;
if (t && O) {
const n = nm(t, {
doc: t,
mirror: r,
blockClass: o,
blockSelector: i,
unblockSelector: a,
maskAllText: s,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: l,
unmaskTextSelector: f,
skipChild: !1,
inlineStylesheet: p,
maskInputOptions: h,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: y,
slimDOMOptions: v,
dataURLOptions: b,
inlineImages: _,
recordCanvas: S,
preserveWhiteSpace: P,
onSerialize: w,
onIframeLoad: O,
iframeLoadTimeout: E,
onStylesheetLoad: k,
stylesheetLoadTimeout: T,
keepIframeSrcFn: x
});
n && O(e, n)
}
}, E), j.type === Sh.Element && "link" === j.tagName && "stylesheet" === j.attributes.rel && function(e, t, n) {
let r, o = !1;
try {
r = e.sheet
} catch (e) {
return
}
if (r) return;
const i = setTimeout(() => {
o || (t(), o = !0)
}, n);
e.addEventListener("load", () => {
clearTimeout(i), o = !0, t()
})
}(e, () => {
if (k) {
const t = nm(e, {
doc: n,
mirror: r,
blockClass: o,
blockSelector: i,
unblockSelector: a,
maskAllText: s,
maskTextClass: c,
unmaskTextClass: u,
maskTextSelector: l,
unmaskTextSelector: f,
skipChild: !1,
inlineStylesheet: p,
maskInputOptions: h,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: y,
slimDOMOptions: v,
dataURLOptions: b,
inlineImages: _,
recordCanvas: S,
preserveWhiteSpace: P,
onSerialize: w,
onIframeLoad: O,
iframeLoadTimeout: E,
onStylesheetLoad: k,
stylesheetLoadTimeout: T,
keepIframeSrcFn: x
});
t && k(e, t)
}
}, T), j
}
function rm(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const o = e[r],
i = e[r + 1];
if (r += 2, ("optionalAccess" === o || "optionalCall" === o) && null == n) return;
"access" === o || "optionalAccess" === o ? (t = n, n = i(n)) : "call" !== o && "optionalCall" !== o || (n = i((...e) => n.call(t, ...e)), t = void 0)
}
return n
}
function om(e, t, n = document) {
const r = {
capture: !0,
passive: !0
};
return n.addEventListener(e, t, r), () => n.removeEventListener(e, t, r)
}
const im = "Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";
let am = {
map: {},
getId: () => (console.error(im), -1),
getNode: () => (console.error(im), null),
removeNodeFromMap() {
console.error(im)
},
has: () => (console.error(im), !1),
reset() {
console.error(im)
}
};
function sm(e, t, n = {}) {
let r = null,
o = 0;
return function(...i) {
const a = Date.now();
o || !1 !== n.leading || (o = a);
const s = t - (a - o),
c = this;
s <= 0 || s > t ? (r && (! function(...e) {
xm("clearTimeout")(...e)
}(r), r = null), o = a, e.apply(c, i)) : r || !1 === n.trailing || (r = Im(() => {
o = !1 === n.leading ? 0 : Date.now(), r = null, e.apply(c, i)
}, s))
}
}
function cm(e, t, n, r, o = window) {
const i = o.Object.getOwnPropertyDescriptor(e, t);
return o.Object.defineProperty(e, t, r ? n : {
set(e) {
Im(() => {
n.set.call(this, e)
}, 0), i && i.set && i.set.call(this, e)
}
}), () => cm(e, t, i || {}, !0)
}
function um(e, t, n) {
try {
if (!(t in e)) return () => {};
const r = e[t],
o = n(r);
return "function" == typeof o && (o.prototype = o.prototype || {}, Object.defineProperties(o, {
__rrweb_original__: {
enumerable: !1,
value: r
}
})), e[t] = o, () => {
e[t] = r
}
} catch (e) {
return () => {}
}
}
"undefined" != typeof window && window.Proxy && window.Reflect && (am = new Proxy(am, {
get: (e, t, n) => ("map" === t && console.error(im), Reflect.get(e, t, n))
}));
let lm = Date.now;
function fm(e) {
const t = e.document;
return {
left: t.scrollingElement ? t.scrollingElement.scrollLeft : void 0 !== e.pageXOffset ? e.pageXOffset : rm([t, "optionalAccess", e => e.documentElement, "access", e => e.scrollLeft]) || rm([t, "optionalAccess", e => e.body, "optionalAccess", e => e.parentElement, "optionalAccess", e => e.scrollLeft]) || rm([t, "optionalAccess", e => e.body, "optionalAccess", e => e.scrollLeft]) || 0,
top: t.scrollingElement ? t.scrollingElement.scrollTop : void 0 !== e.pageYOffset ? e.pageYOffset : rm([t, "optionalAccess", e => e.documentElement, "access", e => e.scrollTop]) || rm([t, "optionalAccess", e => e.body, "optionalAccess", e => e.parentElement, "optionalAccess", e => e.scrollTop]) || rm([t, "optionalAccess", e => e.body, "optionalAccess", e => e.scrollTop]) || 0
}
}
function dm() {
return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight
}
function pm() {
return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth
}
function hm(e) {
if (!e) return null;
return e.nodeType === e.ELEMENT_NODE ? e : e.parentElement
}
function mm(e, t, n, r, o) {
if (!e) return !1;
const i = hm(e);
if (!i) return !1;
const a = Xh(t, n);
if (!o) {
const e = r && i.matches(r);
return a(i) && !e
}
const s = Qh(i, a);
let c = -1;
return !(s < 0) && (r && (c = Qh(i, Xh(null, r))), s > -1 && c < 0 || s < c)
}
function gm(e, t) {
return -2 === t.getId(e)
}
function ym(e, t) {
if (wh(e)) return !1;
const n = t.getId(e);
return !t.has(n) || (!e.parentNode || e.parentNode.nodeType !== e.DOCUMENT_NODE) && (!e.parentNode || ym(e.parentNode, t))
}
function vm(e) {
return Boolean(e.changedTouches)
}
function bm(e, t) {
return Boolean("IFRAME" === e.nodeName && t.getMeta(e))
}
function _m(e, t) {
return Boolean("LINK" === e.nodeName && e.nodeType === e.ELEMENT_NODE && e.getAttribute && "stylesheet" === e.getAttribute("rel") && t.getMeta(e))
}
function Sm(e) {
return Boolean(rm([e, "optionalAccess", e => e.shadowRoot]))
}
/[1-9][0-9]{12}/.test(Date.now().toString()) || (lm = () => (new Date).getTime());
class wm {
constructor() {
this.id = 1, this.styleIDMap = new WeakMap, this.idStyleMap = new Map
}
getId(e) {
return t = this.styleIDMap.get(e), n = () => -1, null != t ? t : n();
var t, n
}
has(e) {
return this.styleIDMap.has(e)
}
add(e, t) {
if (this.has(e)) return this.getId(e);
let n;
return n = void 0 === t ? this.id++ : t, this.styleIDMap.set(e, n), this.idStyleMap.set(n, e), n
}
getStyle(e) {
return this.idStyleMap.get(e) || null
}
reset() {
this.styleIDMap = new WeakMap, this.idStyleMap = new Map, this.id = 1
}
generateId() {
return this.id++
}
}
function Om(e) {
let t = null;
return rm([e, "access", e => e.getRootNode, "optionalCall", e => e(), "optionalAccess", e => e.nodeType]) === Node.DOCUMENT_FRAGMENT_NODE && e.getRootNode().host && (t = e.getRootNode().host), t
}
function Em(e) {
const t = e.ownerDocument;
if (!t) return !1;
const n = function(e) {
let t, n = e;
for (; t = Om(n);) n = t;
return n
}(e);
return t.contains(n)
}
function km(e) {
const t = e.ownerDocument;
return !!t && (t.contains(e) || Em(e))
}
const Tm = {};
function xm(e) {
const t = Tm[e];
if (t) return t;
const n = window.document;
let r = window[e];
if (n && "function" == typeof n.createElement) try {
const t = n.createElement("iframe");
t.hidden = !0, n.head.appendChild(t);
const o = t.contentWindow;
o && o[e] && (r = o[e]), n.head.removeChild(t)
} catch (e) {}
return Tm[e] = r.bind(window)
}
function Im(...e) {
return xm("setTimeout")(...e)
}
var Pm = (e => (e[e.DomContentLoaded = 0] = "DomContentLoaded", e[e.Load = 1] = "Load", e[e.FullSnapshot = 2] = "FullSnapshot", e[e.IncrementalSnapshot = 3] = "IncrementalSnapshot", e[e.Meta = 4] = "Meta", e[e.Custom = 5] = "Custom", e[e.Plugin = 6] = "Plugin", e))(Pm || {}),
Am = (e => (e[e.Mutation = 0] = "Mutation", e[e.MouseMove = 1] = "MouseMove", e[e.MouseInteraction = 2] = "MouseInteraction", e[e.Scroll = 3] = "Scroll", e[e.ViewportResize = 4] = "ViewportResize", e[e.Input = 5] = "Input", e[e.TouchMove = 6] = "TouchMove", e[e.MediaInteraction = 7] = "MediaInteraction", e[e.StyleSheetRule = 8] = "StyleSheetRule", e[e.CanvasMutation = 9] = "CanvasMutation", e[e.Font = 10] = "Font", e[e.Log = 11] = "Log", e[e.Drag = 12] = "Drag", e[e.StyleDeclaration = 13] = "StyleDeclaration", e[e.Selection = 14] = "Selection", e[e.AdoptedStyleSheet = 15] = "AdoptedStyleSheet", e[e.CustomElement = 16] = "CustomElement", e))(Am || {}),
Cm = (e => (e[e.MouseUp = 0] = "MouseUp", e[e.MouseDown = 1] = "MouseDown", e[e.Click = 2] = "Click", e[e.ContextMenu = 3] = "ContextMenu", e[e.DblClick = 4] = "DblClick", e[e.Focus = 5] = "Focus", e[e.Blur = 6] = "Blur", e[e.TouchStart = 7] = "TouchStart", e[e.TouchMove_Departed = 8] = "TouchMove_Departed", e[e.TouchEnd = 9] = "TouchEnd", e[e.TouchCancel = 10] = "TouchCancel", e))(Cm || {}),
jm = (e => (e[e.Mouse = 0] = "Mouse", e[e.Pen = 1] = "Pen", e[e.Touch = 2] = "Touch", e))(jm || {});
function Rm(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const o = e[r],
i = e[r + 1];
if (r += 2, ("optionalAccess" === o || "optionalCall" === o) && null == n) return;
"access" === o || "optionalAccess" === o ? (t = n, n = i(n)) : "call" !== o && "optionalCall" !== o || (n = i((...e) => n.call(t, ...e)), t = void 0)
}
return n
}
function Mm(e) {
return "__ln" in e
}
class Dm {
constructor() {
this.length = 0, this.head = null, this.tail = null
}
get(e) {
if (e >= this.length) throw new Error("Position outside of list range");
let t = this.head;
for (let n = 0; n < e; n++) t = Rm([t, "optionalAccess", e => e.next]) || null;
return t
}
addNode(e) {
const t = {
value: e,
previous: null,
next: null
};
if (e.__ln = t, e.previousSibling && Mm(e.previousSibling)) {
const n = e.previousSibling.__ln.next;
t.next = n, t.previous = e.previousSibling.__ln, e.previousSibling.__ln.next = t, n && (n.previous = t)
} else if (e.nextSibling && Mm(e.nextSibling) && e.nextSibling.__ln.previous) {
const n = e.nextSibling.__ln.previous;
t.previous = n, t.next = e.nextSibling.__ln, e.nextSibling.__ln.previous = t, n && (n.next = t)
} else this.head && (this.head.previous = t), t.next = this.head, this.head = t;
null === t.next && (this.tail = t), this.length++
}
removeNode(e) {
const t = e.__ln;
this.head && (t.previous ? (t.previous.next = t.next, t.next ? t.next.previous = t.previous : this.tail = t.previous) : (this.head = t.next, this.head ? this.head.previous = null : this.tail = null), e.__ln && delete e.__ln, this.length--)
}
}
const Nm = (e, t) => `${e}@${t}`;
class Lm {
constructor() {
this.frozen = !1, this.locked = !1, this.texts = [], this.attributes = [], this.attributeMap = new WeakMap, this.removes = [], this.mapRemoves = [], this.movedMap = {}, this.addedSet = new Set, this.movedSet = new Set, this.droppedSet = new Set, this.processMutations = e => {
e.forEach(this.processMutation), this.emit()
}, this.emit = () => {
if (this.frozen || this.locked) return;
const e = [],
t = new Set,
n = new Dm,
r = e => {
let t = e,
n = -2;
for (; - 2 === n;) t = t && t.nextSibling, n = t && this.mirror.getId(t);
return n
},
o = o => {
if (!o.parentNode || !km(o)) return;
const i = wh(o.parentNode) ? this.mirror.getId(Om(o)) : this.mirror.getId(o.parentNode),
a = r(o);
if (-1 === i || -1 === a) return n.addNode(o);
const s = nm(o, {
doc: this.doc,
mirror: this.mirror,
blockClass: this.blockClass,
blockSelector: this.blockSelector,
maskAllText: this.maskAllText,
unblockSelector: this.unblockSelector,
maskTextClass: this.maskTextClass,
unmaskTextClass: this.unmaskTextClass,
maskTextSelector: this.maskTextSelector,
unmaskTextSelector: this.unmaskTextSelector,
skipChild: !0,
newlyAddedElement: !0,
inlineStylesheet: this.inlineStylesheet,
maskInputOptions: this.maskInputOptions,
maskAttributeFn: this.maskAttributeFn,
maskTextFn: this.maskTextFn,
maskInputFn: this.maskInputFn,
slimDOMOptions: this.slimDOMOptions,
dataURLOptions: this.dataURLOptions,
recordCanvas: this.recordCanvas,
inlineImages: this.inlineImages,
onSerialize: e => {
bm(e, this.mirror) && this.iframeManager.addIframe(e), _m(e, this.mirror) && this.stylesheetManager.trackLinkElement(e), Sm(o) && this.shadowDomManager.addShadowRoot(o.shadowRoot, this.doc)
},
onIframeLoad: (e, t) => {
this.iframeManager.attachIframe(e, t), this.shadowDomManager.observeAttachShadow(e)
},
onStylesheetLoad: (e, t) => {
this.stylesheetManager.attachLinkElement(e, t)
}
});
s && (e.push({
parentId: i,
nextId: a,
node: s
}), t.add(s.id))
};
for (; this.mapRemoves.length;) this.mirror.removeNodeFromMap(this.mapRemoves.shift());
for (const e of this.movedSet) Bm(this.removes, e, this.mirror) && !this.movedSet.has(e.parentNode) || o(e);
for (const e of this.addedSet) Gm(this.droppedSet, e) || Bm(this.removes, e, this.mirror) ? Gm(this.movedSet, e) ? o(e) : this.droppedSet.add(e) : o(e);
let i = null;
for (; n.length;) {
let e = null;
if (i) {
const t = this.mirror.getId(i.value.parentNode),
n = r(i.value); - 1 !== t && -1 !== n && (e = i)
}
if (!e) {
let t = n.tail;
for (; t;) {
const n = t;
if (t = t.previous, n) {
const t = this.mirror.getId(n.value.parentNode);
if (-1 === r(n.value)) continue;
if (-1 !== t) {
e = n;
break
} {
const t = n.value;
if (t.parentNode && t.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
const r = t.parentNode.host;
if (-1 !== this.mirror.getId(r)) {
e = n;
break
}
}
}
}
}
}
if (!e) {
for (; n.head;) n.removeNode(n.head.value);
break
}
i = e.previous, n.removeNode(e.value), o(e.value)
}
const a = {
texts: this.texts.map(e => ({
id: this.mirror.getId(e.node),
value: e.value
})).filter(e => !t.has(e.id)).filter(e => this.mirror.has(e.id)),
attributes: this.attributes.map(e => {
const {
attributes: t
} = e;
if ("string" == typeof t.style) {
const n = JSON.stringify(e.styleDiff),
r = JSON.stringify(e._unchangedStyles);
n.length < t.style.length && (n + r).split("var(").length === t.style.split("var(").length && (t.style = e.styleDiff)
}
return {
id: this.mirror.getId(e.node),
attributes: t
}
}).filter(e => !t.has(e.id)).filter(e => this.mirror.has(e.id)),
removes: this.removes,
adds: e
};
(a.texts.length || a.attributes.length || a.removes.length || a.adds.length) && (this.texts = [], this.attributes = [], this.attributeMap = new WeakMap, this.removes = [], this.addedSet = new Set, this.movedSet = new Set, this.droppedSet = new Set, this.movedMap = {}, this.mutationCb(a))
}, this.processMutation = e => {
if (!gm(e.target, this.mirror)) switch (e.type) {
case "characterData": {
const t = e.target.textContent;
mm(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || t === e.oldValue || this.texts.push({
value: Zh(e.target, this.maskTextClass, this.maskTextSelector, this.unmaskTextClass, this.unmaskTextSelector, this.maskAllText) && t ? this.maskTextFn ? this.maskTextFn(t, hm(e.target)) : t.replace(/[\S]/g, "*") : t,
node: e.target
});
break
}
case "attributes": {
const t = e.target;
let n = e.attributeName,
r = e.target.getAttribute(n);
if ("value" === n) {
const n = jh(t),
o = t.tagName;
r = Rh(t, o, n);
const i = xh({
maskInputOptions: this.maskInputOptions,
tagName: o,
type: n
});
r = Ih({
isMasked: Zh(e.target, this.maskTextClass, this.maskTextSelector, this.unmaskTextClass, this.unmaskTextSelector, i),
element: t,
value: r,
maskInputFn: this.maskInputFn
})
}
if (mm(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || r === e.oldValue) return;
let o = this.attributeMap.get(e.target);
if ("IFRAME" === t.tagName && "src" === n && !this.keepIframeSrcFn(r)) {
if (t.contentDocument) return;
n = "rr_src"
}
if (o || (o = {
node: e.target,
attributes: {},
styleDiff: {},
_unchangedStyles: {}
}, this.attributes.push(o), this.attributeMap.set(e.target, o)), "type" === n && "INPUT" === t.tagName && "password" === (e.oldValue || "").toLowerCase() && t.setAttribute("data-rr-is-password", "true"), !Kh(t.tagName, n) && (o.attributes[n] = Jh(this.doc, Ph(t.tagName), Ph(n), r, t, this.maskAttributeFn), "style" === n)) {
if (!this.unattachedDoc) try {
this.unattachedDoc = document.implementation.createHTMLDocument()
} catch (e) {
this.unattachedDoc = this.doc
}
const n = this.unattachedDoc.createElement("span");
e.oldValue && n.setAttribute("style", e.oldValue);
for (const e of Array.from(t.style)) {
const r = t.style.getPropertyValue(e),
i = t.style.getPropertyPriority(e);
r !== n.style.getPropertyValue(e) || i !== n.style.getPropertyPriority(e) ? o.styleDiff[e] = "" === i ? r : [r, i] : o._unchangedStyles[e] = [r, i]
}
for (const e of Array.from(n.style)) "" === t.style.getPropertyValue(e) && (o.styleDiff[e] = !1)
}
break
}
case "childList":
if (mm(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !0)) return;
e.addedNodes.forEach(t => this.genAdds(t, e.target)), e.removedNodes.forEach(t => {
const n = this.mirror.getId(t),
r = wh(e.target) ? this.mirror.getId(e.target.host) : this.mirror.getId(e.target);
mm(e.target, this.blockClass, this.blockSelector, this.unblockSelector, !1) || gm(t, this.mirror) || ! function(e, t) {
return -1 !== t.getId(e)
}(t, this.mirror) || (this.addedSet.has(t) ? (Fm(this.addedSet, t), this.droppedSet.add(t)) : this.addedSet.has(e.target) && -1 === n || ym(e.target, this.mirror) || (this.movedSet.has(t) && this.movedMap[Nm(n, r)] ? Fm(this.movedSet, t) : this.removes.push({
parentId: r,
id: n,
isShadow: !(!wh(e.target) || !Oh(e.target)) || void 0
})), this.mapRemoves.push(t))
})
}
}, this.genAdds = (e, t) => {
if (!this.processedNodeManager.inOtherBuffer(e, this) && !this.addedSet.has(e) && !this.movedSet.has(e)) {
if (this.mirror.hasNode(e)) {
if (gm(e, this.mirror)) return;
this.movedSet.add(e);
let n = null;
t && this.mirror.hasNode(t) && (n = this.mirror.getId(t)), n && -1 !== n && (this.movedMap[Nm(this.mirror.getId(e), n)] = !0)
} else this.addedSet.add(e), this.droppedSet.delete(e);
mm(e, this.blockClass, this.blockSelector, this.unblockSelector, !1) || (e.childNodes.forEach(e => this.genAdds(e)), Sm(e) && e.shadowRoot.childNodes.forEach(t => {
this.processedNodeManager.add(t, this), this.genAdds(t, e)
}))
}
}
}
init(e) {
["mutationCb", "blockClass", "blockSelector", "unblockSelector", "maskAllText", "maskTextClass", "unmaskTextClass", "maskTextSelector", "unmaskTextSelector", "inlineStylesheet", "maskInputOptions", "maskAttributeFn", "maskTextFn", "maskInputFn", "keepIframeSrcFn", "recordCanvas", "inlineImages", "slimDOMOptions", "dataURLOptions", "doc", "mirror", "iframeManager", "stylesheetManager", "shadowDomManager", "canvasManager", "processedNodeManager"].forEach(t => {
this[t] = e[t]
})
}
freeze() {
this.frozen = !0, this.canvasManager.freeze()
}
unfreeze() {
this.frozen = !1, this.canvasManager.unfreeze(), this.emit()
}
isFrozen() {
return this.frozen
}
lock() {
this.locked = !0, this.canvasManager.lock()
}
unlock() {
this.locked = !1, this.canvasManager.unlock(), this.emit()
}
reset() {
this.shadowDomManager.reset(), this.canvasManager.reset()
}
}
function Fm(e, t) {
e.delete(t), t.childNodes.forEach(t => Fm(e, t))
}
function Bm(e, t, n) {
return 0 !== e.length && Um(e, t, n)
}
function Um(e, t, n) {
const {
parentNode: r
} = t;
if (!r) return !1;
const o = n.getId(r);
return !!e.some(e => e.id === o) || Um(e, r, n)
}
function Gm(e, t) {
return 0 !== e.size && $m(e, t)
}
function $m(e, t) {
const {
parentNode: n
} = t;
return !!n && (!!e.has(n) || $m(e, n))
}
let Hm;
function zm(e) {
Hm = e
}
function qm() {
Hm = void 0
}
const Wm = e => {
if (!Hm) return e;
return (...t) => {
try {
return e(...t)
} catch (e) {
if (Hm && !0 === Hm(e)) return () => {};
throw e
}
}
};
function Vm(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const o = e[r],
i = e[r + 1];
if (r += 2, ("optionalAccess" === o || "optionalCall" === o) && null == n) return;
"access" === o || "optionalAccess" === o ? (t = n, n = i(n)) : "call" !== o && "optionalCall" !== o || (n = i((...e) => n.call(t, ...e)), t = void 0)
}
return n
}
const Ym = [];
function Jm(e) {
try {
if ("composedPath" in e) {
const t = e.composedPath();
if (t.length) return t[0]
} else if ("path" in e && e.path.length) return e.path[0]
} catch (e) {}
return e && e.target
}
function Km(e, t) {
const n = new Lm;
Ym.push(n), n.init(e);
let r = window.MutationObserver || window.__rrMutationObserver;
const o = Vm([window, "optionalAccess", e => e.Zone, "optionalAccess", e => e.__symbol__, "optionalCall", e => e("MutationObserver")]);
o && window[o] && (r = window[o]);
const i = new r(Wm(t => {
e.onMutation && !1 === e.onMutation(t) || n.processMutations.bind(n)(t)
}));
return i.observe(t, {
attributes: !0,
attributeOldValue: !0,
characterData: !0,
characterDataOldValue: !0,
childList: !0,
subtree: !0
}), i
}
function Qm({
mouseInteractionCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: o,
unblockSelector: i,
sampling: a
}) {
if (!1 === a.mouseInteraction) return () => {};
const s = !0 === a.mouseInteraction || void 0 === a.mouseInteraction ? {} : a.mouseInteraction,
c = [];
let u = null;
return Object.keys(Cm).filter(e => Number.isNaN(Number(e)) && !e.endsWith("_Departed") && !1 !== s[e]).forEach(a => {
let s = Ph(a);
const l = (t => a => {
const s = Jm(a);
if (mm(s, r, o, i, !0)) return;
let c = null,
l = t;
if ("pointerType" in a) {
switch (a.pointerType) {
case "mouse":
c = jm.Mouse;
break;
case "touch":
c = jm.Touch;
break;
case "pen":
c = jm.Pen
}
c === jm.Touch ? Cm[t] === Cm.MouseDown ? l = "TouchStart" : Cm[t] === Cm.MouseUp && (l = "TouchEnd") : jm.Pen
} else vm(a) && (c = jm.Touch);
null !== c ? (u = c, (l.startsWith("Touch") && c === jm.Touch || l.startsWith("Mouse") && c === jm.Mouse) && (c = null)) : Cm[t] === Cm.Click && (c = u, u = null);
const f = vm(a) ? a.changedTouches[0] : a;
if (!f) return;
const d = n.getId(s),
{
clientX: p,
clientY: h
} = f;
Wm(e)({
type: Cm[l],
id: d,
x: p,
y: h,
...null !== c && {
pointerType: c
}
})
})(a);
if (window.PointerEvent) switch (Cm[a]) {
case Cm.MouseDown:
case Cm.MouseUp:
s = s.replace("mouse", "pointer");
break;
case Cm.TouchStart:
case Cm.TouchEnd:
return
}
c.push(om(s, l, t))
}), Wm(() => {
c.forEach(e => e())
})
}
function Xm({
scrollCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: o,
unblockSelector: i,
sampling: a
}) {
return om("scroll", Wm(sm(Wm(a => {
const s = Jm(a);
if (!s || mm(s, r, o, i, !0)) return;
const c = n.getId(s);
if (s === t && t.defaultView) {
const n = fm(t.defaultView);
e({
id: c,
x: n.left,
y: n.top
})
} else e({
id: c,
x: s.scrollLeft,
y: s.scrollTop
})
}), a.scroll || 100)), t)
}
const Zm = ["INPUT", "TEXTAREA", "SELECT"],
eg = new WeakMap;
function tg({
inputCb: e,
doc: t,
mirror: n,
blockClass: r,
blockSelector: o,
unblockSelector: i,
ignoreClass: a,
ignoreSelector: s,
maskInputOptions: c,
maskInputFn: u,
sampling: l,
userTriggeredOnInput: f,
maskTextClass: d,
unmaskTextClass: p,
maskTextSelector: h,
unmaskTextSelector: m
}) {
function g(e) {
let n = Jm(e);
const l = e.isTrusted,
g = n && Ah(n.tagName);
if ("OPTION" === g && (n = n.parentElement), !n || !g || Zm.indexOf(g) < 0 || mm(n, r, o, i, !0)) return;
const v = n;
if (v.classList.contains(a) || s && v.matches(s)) return;
const b = jh(n);
let _ = Rh(v, g, b),
S = !1;
const w = xh({
maskInputOptions: c,
tagName: g,
type: b
}),
O = Zh(n, d, h, p, m, w);
"radio" !== b && "checkbox" !== b || (S = n.checked), _ = Ih({
isMasked: O,
element: n,
value: _,
maskInputFn: u
}), y(n, f ? {
text: _,
isChecked: S,
userTriggered: l
} : {
text: _,
isChecked: S
});
const E = n.name;
"radio" === b && E && S && t.querySelectorAll(`input[type="radio"][name="${E}"]`).forEach(e => {
if (e !== n) {
const t = Ih({
isMasked: O,
element: e,
value: Rh(e, g, b),
maskInputFn: u
});
y(e, f ? {
text: t,
isChecked: !S,
userTriggered: !1
} : {
text: t,
isChecked: !S
})
}
})
}
function y(t, r) {
const o = eg.get(t);
if (!o || o.text !== r.text || o.isChecked !== r.isChecked) {
eg.set(t, r);
const o = n.getId(t);
Wm(e)({
...r,
id: o
})
}
}
const v = ("last" === l.input ? ["change"] : ["input", "change"]).map(e => om(e, Wm(g), t)),
b = t.defaultView;
if (!b) return () => {
v.forEach(e => e())
};
const _ = b.Object.getOwnPropertyDescriptor(b.HTMLInputElement.prototype, "value"),
S = [
[b.HTMLInputElement.prototype, "value"],
[b.HTMLInputElement.prototype, "checked"],
[b.HTMLSelectElement.prototype, "value"],
[b.HTMLTextAreaElement.prototype, "value"],
[b.HTMLSelectElement.prototype, "selectedIndex"],
[b.HTMLOptionElement.prototype, "selected"]
];
return _ && _.set && v.push(...S.map(e => cm(e[0], e[1], {
set() {
Wm(g)({
target: this,
isTrusted: !1
})
}
}, !1, b))), Wm(() => {
v.forEach(e => e())
})
}
function ng(e) {
return function(e, t) {
if (ag("CSSGroupingRule") && e.parentRule instanceof CSSGroupingRule || ag("CSSMediaRule") && e.parentRule instanceof CSSMediaRule || ag("CSSSupportsRule") && e.parentRule instanceof CSSSupportsRule || ag("CSSConditionRule") && e.parentRule instanceof CSSConditionRule) {
const n = Array.from(e.parentRule.cssRules).indexOf(e);
t.unshift(n)
} else if (e.parentStyleSheet) {
const n = Array.from(e.parentStyleSheet.cssRules).indexOf(e);
t.unshift(n)
}
return t
}(e, [])
}
function rg(e, t, n) {
let r, o;
return e ? (e.ownerNode ? r = t.getId(e.ownerNode) : o = n.getId(e), {
styleId: o,
id: r
}) : {}
}
function og({
mirror: e,
stylesheetManager: t
}, n) {
let r = null;
r = "#document" === n.nodeName ? e.getId(n) : e.getId(n.host);
const o = "#document" === n.nodeName ? Vm([n, "access", e => e.defaultView, "optionalAccess", e => e.Document]) : Vm([n, "access", e => e.ownerDocument, "optionalAccess", e => e.defaultView, "optionalAccess", e => e.ShadowRoot]),
i = Vm([o, "optionalAccess", e => e.prototype]) ? Object.getOwnPropertyDescriptor(Vm([o, "optionalAccess", e => e.prototype]), "adoptedStyleSheets") : void 0;
return null !== r && -1 !== r && o && i ? (Object.defineProperty(n, "adoptedStyleSheets", {
configurable: i.configurable,
enumerable: i.enumerable,
get() {
return Vm([i, "access", e => e.get, "optionalAccess", e => e.call, "call", e => e(this)])
},
set(e) {
const n = Vm([i, "access", e => e.set, "optionalAccess", e => e.call, "call", t => t(this, e)]);
if (null !== r && -1 !== r) try {
t.adoptStyleSheets(e, r)
} catch (e) {}
return n
}
}), Wm(() => {
Object.defineProperty(n, "adoptedStyleSheets", {
configurable: i.configurable,
enumerable: i.enumerable,
get: i.get,
set: i.set
})
})) : () => {}
}
function ig(e, t = {}) {
const n = e.doc.defaultView;
if (!n) return () => {};
const r = Km(e, e.doc),
o = function({
mousemoveCb: e,
sampling: t,
doc: n,
mirror: r
}) {
if (!1 === t.mousemove) return () => {};
const o = "number" == typeof t.mousemove ? t.mousemove : 50,
i = "number" == typeof t.mousemoveCallback ? t.mousemoveCallback : 500;
let a, s = [];
const c = sm(Wm(t => {
const n = Date.now() - a;
e(s.map(e => (e.timeOffset -= n, e)), t), s = [], a = null
}), i),
u = Wm(sm(Wm(e => {
const t = Jm(e),
{
clientX: n,
clientY: o
} = vm(e) ? e.changedTouches[0] : e;
a || (a = lm()), s.push({
x: n,
y: o,
id: r.getId(t),
timeOffset: lm() - a
}), c("undefined" != typeof DragEvent && e instanceof DragEvent ? Am.Drag : e instanceof MouseEvent ? Am.MouseMove : Am.TouchMove)
}), o, {
trailing: !1
})),
l = [om("mousemove", u, n), om("touchmove", u, n), om("drag", u, n)];
return Wm(() => {
l.forEach(e => e())
})
}(e),
i = Qm(e),
a = Xm(e),
s = function({
viewportResizeCb: e
}, {
win: t
}) {
let n = -1,
r = -1;
return om("resize", Wm(sm(Wm(() => {
const t = dm(),
o = pm();
n === t && r === o || (e({
width: Number(o),
height: Number(t)
}), n = t, r = o)
}), 200)), t)
}(e, {
win: n
}),
c = tg(e),
u = function({
mediaInteractionCb: e,
blockClass: t,
blockSelector: n,
unblockSelector: r,
mirror: o,
sampling: i,
doc: a
}) {
const s = Wm(a => sm(Wm(i => {
const s = Jm(i);
if (!s || mm(s, t, n, r, !0)) return;
const {
currentTime: c,
volume: u,
muted: l,
playbackRate: f
} = s;
e({
type: a,
id: o.getId(s),
currentTime: c,
volume: u,
muted: l,
playbackRate: f
})
}), i.media || 500)),
c = [om("play", s(0), a), om("pause", s(1), a), om("seeked", s(2), a), om("volumechange", s(3), a), om("ratechange", s(4), a)];
return Wm(() => {
c.forEach(e => e())
})
}(e),
l = function({
styleSheetRuleCb: e,
mirror: t,
stylesheetManager: n
}, {
win: r
}) {
if (!r.CSSStyleSheet || !r.CSSStyleSheet.prototype) return () => {};
const o = r.CSSStyleSheet.prototype.insertRule;
r.CSSStyleSheet.prototype.insertRule = new Proxy(o, {
apply: Wm((r, o, i) => {
const [a, s] = i, {
id: c,
styleId: u
} = rg(o, t, n.styleMirror);
return (c && -1 !== c || u && -1 !== u) && e({
id: c,
styleId: u,
adds: [{
rule: a,
index: s
}]
}), r.apply(o, i)
})
});
const i = r.CSSStyleSheet.prototype.deleteRule;
let a, s;
r.CSSStyleSheet.prototype.deleteRule = new Proxy(i, {
apply: Wm((r, o, i) => {
const [a] = i, {
id: s,
styleId: c
} = rg(o, t, n.styleMirror);
return (s && -1 !== s || c && -1 !== c) && e({
id: s,
styleId: c,
removes: [{
index: a
}]
}), r.apply(o, i)
})
}), r.CSSStyleSheet.prototype.replace && (a = r.CSSStyleSheet.prototype.replace, r.CSSStyleSheet.prototype.replace = new Proxy(a, {
apply: Wm((r, o, i) => {
const [a] = i, {
id: s,
styleId: c
} = rg(o, t, n.styleMirror);
return (s && -1 !== s || c && -1 !== c) && e({
id: s,
styleId: c,
replace: a
}), r.apply(o, i)
})
})), r.CSSStyleSheet.prototype.replaceSync && (s = r.CSSStyleSheet.prototype.replaceSync, r.CSSStyleSheet.prototype.replaceSync = new Proxy(s, {
apply: Wm((r, o, i) => {
const [a] = i, {
id: s,
styleId: c
} = rg(o, t, n.styleMirror);
return (s && -1 !== s || c && -1 !== c) && e({
id: s,
styleId: c,
replaceSync: a
}), r.apply(o, i)
})
}));
const c = {};
sg("CSSGroupingRule") ? c.CSSGroupingRule = r.CSSGroupingRule : (sg("CSSMediaRule") && (c.CSSMediaRule = r.CSSMediaRule), sg("CSSConditionRule") && (c.CSSConditionRule = r.CSSConditionRule), sg("CSSSupportsRule") && (c.CSSSupportsRule = r.CSSSupportsRule));
const u = {};
return Object.entries(c).forEach(([r, o]) => {
u[r] = {
insertRule: o.prototype.insertRule,
deleteRule: o.prototype.deleteRule
}, o.prototype.insertRule = new Proxy(u[r].insertRule, {
apply: Wm((r, o, i) => {
const [a, s] = i, {
id: c,
styleId: u
} = rg(o.parentStyleSheet, t, n.styleMirror);
return (c && -1 !== c || u && -1 !== u) && e({
id: c,
styleId: u,
adds: [{
rule: a,
index: [...ng(o), s || 0]
}]
}), r.apply(o, i)
})
}), o.prototype.deleteRule = new Proxy(u[r].deleteRule, {
apply: Wm((r, o, i) => {
const [a] = i, {
id: s,
styleId: c
} = rg(o.parentStyleSheet, t, n.styleMirror);
return (s && -1 !== s || c && -1 !== c) && e({
id: s,
styleId: c,
removes: [{
index: [...ng(o), a]
}]
}), r.apply(o, i)
})
})
}), Wm(() => {
r.CSSStyleSheet.prototype.insertRule = o, r.CSSStyleSheet.prototype.deleteRule = i, a && (r.CSSStyleSheet.prototype.replace = a), s && (r.CSSStyleSheet.prototype.replaceSync = s), Object.entries(c).forEach(([e, t]) => {
t.prototype.insertRule = u[e].insertRule, t.prototype.deleteRule = u[e].deleteRule
})
})
}(e, {
win: n
}),
f = og(e, e.doc),
d = function({
styleDeclarationCb: e,
mirror: t,
ignoreCSSAttributes: n,
stylesheetManager: r
}, {
win: o
}) {
const i = o.CSSStyleDeclaration.prototype.setProperty;
o.CSSStyleDeclaration.prototype.setProperty = new Proxy(i, {
apply: Wm((o, a, s) => {
const [c, u, l] = s;
if (n.has(c)) return i.apply(a, [c, u, l]);
const {
id: f,
styleId: d
} = rg(Vm([a, "access", e => e.parentRule, "optionalAccess", e => e.parentStyleSheet]), t, r.styleMirror);
return (f && -1 !== f || d && -1 !== d) && e({
id: f,
styleId: d,
set: {
property: c,
value: u,
priority: l
},
index: ng(a.parentRule)
}), o.apply(a, s)
})
});
const a = o.CSSStyleDeclaration.prototype.removeProperty;
return o.CSSStyleDeclaration.prototype.removeProperty = new Proxy(a, {
apply: Wm((o, i, s) => {
const [c] = s;
if (n.has(c)) return a.apply(i, [c]);
const {
id: u,
styleId: l
} = rg(Vm([i, "access", e => e.parentRule, "optionalAccess", e => e.parentStyleSheet]), t, r.styleMirror);
return (u && -1 !== u || l && -1 !== l) && e({
id: u,
styleId: l,
remove: {
property: c
},
index: ng(i.parentRule)
}), o.apply(i, s)
})
}), Wm(() => {
o.CSSStyleDeclaration.prototype.setProperty = i, o.CSSStyleDeclaration.prototype.removeProperty = a
})
}(e, {
win: n
}),
p = e.collectFonts ? function({
fontCb: e,
doc: t
}) {
const n = t.defaultView;
if (!n) return () => {};
const r = [],
o = new WeakMap,
i = n.FontFace;
n.FontFace = function(e, t, n) {
const r = new i(e, t, n);
return o.set(r, {
family: e,
buffer: "string" != typeof t,
descriptors: n,
fontSource: "string" == typeof t ? t : JSON.stringify(Array.from(new Uint8Array(t)))
}), r
};
const a = um(t.fonts, "add", function(t) {
return function(n) {
return Im(Wm(() => {
const t = o.get(n);
t && (e(t), o.delete(n))
}), 0), t.apply(this, [n])
}
});
return r.push(() => {
n.FontFace = i
}), r.push(a), Wm(() => {
r.forEach(e => e())
})
}(e) : () => {},
h = function(e) {
const {
doc: t,
mirror: n,
blockClass: r,
blockSelector: o,
unblockSelector: i,
selectionCb: a
} = e;
let s = !0;
const c = Wm(() => {
const e = t.getSelection();
if (!e || s && Vm([e, "optionalAccess", e => e.isCollapsed])) return;
s = e.isCollapsed || !1;
const c = [],
u = e.rangeCount || 0;
for (let t = 0; t < u; t++) {
const a = e.getRangeAt(t),
{
startContainer: s,
startOffset: u,
endContainer: l,
endOffset: f
} = a;
mm(s, r, o, i, !0) || mm(l, r, o, i, !0) || c.push({
start: n.getId(s),
startOffset: u,
end: n.getId(l),
endOffset: f
})
}
a({
ranges: c
})
});
return c(), om("selectionchange", c)
}(e),
m = function({
doc: e,
customElementCb: t
}) {
const n = e.defaultView;
return n && n.customElements ? um(n.customElements, "define", function(e) {
return function(n, r, o) {
try {
t({
define: {
name: n
}
})
} catch (e) {}
return e.apply(this, [n, r, o])
}
}) : () => {}
}(e),
g = [];
for (const t of e.plugins) g.push(t.observer(t.callback, n, t.options));
return Wm(() => {
Ym.forEach(e => e.reset()), r.disconnect(), o(), i(), a(), s(), c(), u(), l(), f(), d(), p(), h(), m(), g.forEach(e => e())
})
}
function ag(e) {
return void 0 !== window[e]
}
function sg(e) {
return Boolean(void 0 !== window[e] && window[e].prototype && "insertRule" in window[e].prototype && "deleteRule" in window[e].prototype)
}
class cg {
constructor(e) {
this.generateIdFn = e, this.iframeIdToRemoteIdMap = new WeakMap, this.iframeRemoteIdToIdMap = new WeakMap
}
getId(e, t, n, r) {
const o = n || this.getIdToRemoteIdMap(e),
i = r || this.getRemoteIdToIdMap(e);
let a = o.get(t);
return a || (a = this.generateIdFn(), o.set(t, a), i.set(a, t)), a
}
getIds(e, t) {
const n = this.getIdToRemoteIdMap(e),
r = this.getRemoteIdToIdMap(e);
return t.map(t => this.getId(e, t, n, r))
}
getRemoteId(e, t, n) {
const r = n || this.getRemoteIdToIdMap(e);
if ("number" != typeof t) return t;
const o = r.get(t);
return o || -1
}
getRemoteIds(e, t) {
const n = this.getRemoteIdToIdMap(e);
return t.map(t => this.getRemoteId(e, t, n))
}
reset(e) {
if (!e) return this.iframeIdToRemoteIdMap = new WeakMap, void(this.iframeRemoteIdToIdMap = new WeakMap);
this.iframeIdToRemoteIdMap.delete(e), this.iframeRemoteIdToIdMap.delete(e)
}
getIdToRemoteIdMap(e) {
let t = this.iframeIdToRemoteIdMap.get(e);
return t || (t = new Map, this.iframeIdToRemoteIdMap.set(e, t)), t
}
getRemoteIdToIdMap(e) {
let t = this.iframeRemoteIdToIdMap.get(e);
return t || (t = new Map, this.iframeRemoteIdToIdMap.set(e, t)), t
}
}
function ug(e) {
let t, n = e[0],
r = 1;
for (; r < e.length;) {
const o = e[r],
i = e[r + 1];
if (r += 2, ("optionalAccess" === o || "optionalCall" === o) && null == n) return;
"access" === o || "optionalAccess" === o ? (t = n, n = i(n)) : "call" !== o && "optionalCall" !== o || (n = i((...e) => n.call(t, ...e)), t = void 0)
}
return n
}
class lg {
constructor() {
this.crossOriginIframeMirror = new cg(Nh), this.crossOriginIframeRootIdMap = new WeakMap
}
addIframe() {}
addLoadListener() {}
attachIframe() {}
}
class fg {
constructor(e) {
this.iframes = new WeakMap, this.crossOriginIframeMap = new WeakMap, this.crossOriginIframeMirror = new cg(Nh), this.crossOriginIframeRootIdMap = new WeakMap, this.mutationCb = e.mutationCb, this.wrappedEmit = e.wrappedEmit, this.stylesheetManager = e.stylesheetManager, this.recordCrossOriginIframes = e.recordCrossOriginIframes, this.crossOriginIframeStyleMirror = new cg(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)), this.mirror = e.mirror, this.recordCrossOriginIframes && window.addEventListener("message", this.handleMessage.bind(this))
}
addIframe(e) {
this.iframes.set(e, !0), e.contentWindow && this.crossOriginIframeMap.set(e.contentWindow, e)
}
addLoadListener(e) {
this.loadListener = e
}
attachIframe(e, t) {
this.mutationCb({
adds: [{
parentId: this.mirror.getId(e),
nextId: null,
node: t
}],
removes: [],
texts: [],
attributes: [],
isAttachIframe: !0
}), ug([this, "access", e => e.loadListener, "optionalCall", t => t(e)]), e.contentDocument && e.contentDocument.adoptedStyleSheets && e.contentDocument.adoptedStyleSheets.length > 0 && this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets, this.mirror.getId(e.contentDocument))
}
handleMessage(e) {
const t = e;
if ("rrweb" !== t.data.type || t.origin !== t.data.origin) return;
if (!e.source) return;
const n = this.crossOriginIframeMap.get(e.source);
if (!n) return;
const r = this.transformCrossOriginEvent(n, t.data.event);
r && this.wrappedEmit(r, t.data.isCheckout)
}
transformCrossOriginEvent(e, t) {
switch (t.type) {
case Pm.FullSnapshot: {
this.crossOriginIframeMirror.reset(e), this.crossOriginIframeStyleMirror.reset(e), this.replaceIdOnNode(t.data.node, e);
const n = t.data.node.id;
return this.crossOriginIframeRootIdMap.set(e, n), this.patchRootIdOnNode(t.data.node, n), {
timestamp: t.timestamp,
type: Pm.IncrementalSnapshot,
data: {
source: Am.Mutation,
adds: [{
parentId: this.mirror.getId(e),
nextId: null,
node: t.data.node
}],
removes: [],
texts: [],
attributes: [],
isAttachIframe: !0
}
}
}
case Pm.Meta:
case Pm.Load:
case Pm.DomContentLoaded:
return !1;
case Pm.Plugin:
return t;
case Pm.Custom:
return this.replaceIds(t.data.payload, e, ["id", "parentId", "previousId", "nextId"]), t;
case Pm.IncrementalSnapshot:
switch (t.data.source) {
case Am.Mutation:
return t.data.adds.forEach(t => {
this.replaceIds(t, e, ["parentId", "nextId", "previousId"]), this.replaceIdOnNode(t.node, e);
const n = this.crossOriginIframeRootIdMap.get(e);
n && this.patchRootIdOnNode(t.node, n)
}), t.data.removes.forEach(t => {
this.replaceIds(t, e, ["parentId", "id"])
}), t.data.attributes.forEach(t => {
this.replaceIds(t, e, ["id"])
}), t.data.texts.forEach(t => {
this.replaceIds(t, e, ["id"])
}), t;
case Am.Drag:
case Am.TouchMove:
case Am.MouseMove:
return t.data.positions.forEach(t => {
this.replaceIds(t, e, ["id"])
}), t;
case Am.ViewportResize:
return !1;
case Am.MediaInteraction:
case Am.MouseInteraction:
case Am.Scroll:
case Am.CanvasMutation:
case Am.Input:
return this.replaceIds(t.data, e, ["id"]), t;
case Am.StyleSheetRule:
case Am.StyleDeclaration:
return this.replaceIds(t.data, e, ["id"]), this.replaceStyleIds(t.data, e, ["styleId"]), t;
case Am.Font:
return t;
case Am.Selection:
return t.data.ranges.forEach(t => {
this.replaceIds(t, e, ["start", "end"])
}), t;
case Am.AdoptedStyleSheet:
return this.replaceIds(t.data, e, ["id"]), this.replaceStyleIds(t.data, e, ["styleIds"]), ug([t, "access", e => e.data, "access", e => e.styles, "optionalAccess", e => e.forEach, "call", t => t(t => {
this.replaceStyleIds(t, e, ["styleId"])
})]), t
}
}
return !1
}
replace(e, t, n, r) {
for (const o of r)(Array.isArray(t[o]) || "number" == typeof t[o]) && (Array.isArray(t[o]) ? t[o] = e.getIds(n, t[o]) : t[o] = e.getId(n, t[o]));
return t
}
replaceIds(e, t, n) {
return this.replace(this.crossOriginIframeMirror, e, t, n)
}
replaceStyleIds(e, t, n) {
return this.replace(this.crossOriginIframeStyleMirror, e, t, n)
}
replaceIdOnNode(e, t) {
this.replaceIds(e, t, ["id", "rootId"]), "childNodes" in e && e.childNodes.forEach(e => {
this.replaceIdOnNode(e, t)
})
}
patchRootIdOnNode(e, t) {
e.type === Sh.Document || e.rootId || (e.rootId = t), "childNodes" in e && e.childNodes.forEach(e => {
this.patchRootIdOnNode(e, t)
})
}
}
class dg {
init() {}
addShadowRoot() {}
observeAttachShadow() {}
reset() {}
}
class pg {
constructor(e) {
this.shadowDoms = new WeakSet, this.restoreHandlers = [], this.mutationCb = e.mutationCb, this.scrollCb = e.scrollCb, this.bypassOptions = e.bypassOptions, this.mirror = e.mirror, this.init()
}
init() {
this.reset(), this.patchAttachShadow(Element, document)
}
addShadowRoot(e, t) {
if (!Oh(e)) return;
if (this.shadowDoms.has(e)) return;
this.shadowDoms.add(e);
const n = Km({
...this.bypassOptions,
doc: t,
mutationCb: this.mutationCb,
mirror: this.mirror,
shadowDomManager: this
}, e);
this.restoreHandlers.push(() => n.disconnect()), this.restoreHandlers.push(Xm({
...this.bypassOptions,
scrollCb: this.scrollCb,
doc: e,
mirror: this.mirror
})), Im(() => {
e.adoptedStyleSheets && e.adoptedStyleSheets.length > 0 && this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets, this.mirror.getId(e.host)), this.restoreHandlers.push(og({
mirror: this.mirror,
stylesheetManager: this.bypassOptions.stylesheetManager
}, e))
}, 0)
}
observeAttachShadow(e) {
e.contentWindow && e.contentDocument && this.patchAttachShadow(e.contentWindow.Element, e.contentDocument)
}
patchAttachShadow(e, t) {
const n = this;
this.restoreHandlers.push(um(e.prototype, "attachShadow", function(e) {
return function(r) {
const o = e.call(this, r);
return this.shadowRoot && km(this) && n.addShadowRoot(this.shadowRoot, t), o
}
}))
}
reset() {
this.restoreHandlers.forEach(e => {
try {
e()
} catch (e) {}
}), this.restoreHandlers = [], this.shadowDoms = new WeakSet
}
}
class hg {
reset() {}
freeze() {}
unfreeze() {}
lock() {}
unlock() {}
snapshot() {}
}
class mg {
constructor(e) {
this.trackedLinkElements = new WeakSet, this.styleMirror = new wm, this.mutationCb = e.mutationCb, this.adoptedStyleSheetCb = e.adoptedStyleSheetCb
}
attachLinkElement(e, t) {
"_cssText" in t.attributes && this.mutationCb({
adds: [],
removes: [],
texts: [],
attributes: [{
id: t.id,
attributes: t.attributes
}]
}), this.trackLinkElement(e)
}
trackLinkElement(e) {
this.trackedLinkElements.has(e) || (this.trackedLinkElements.add(e), this.trackStylesheetInLinkElement(e))
}
adoptStyleSheets(e, t) {
if (0 === e.length) return;
const n = {
id: t,
styleIds: []
},
r = [];
for (const t of e) {
let e;
this.styleMirror.has(t) ? e = this.styleMirror.getId(t) : (e = this.styleMirror.add(t), r.push({
styleId: e,
rules: Array.from(t.rules || CSSRule, (e, t) => ({
rule: kh(e),
index: t
}))
})), n.styleIds.push(e)
}
r.length > 0 && (n.styles = r), this.adoptedStyleSheetCb(n)
}
reset() {
this.styleMirror.reset(), this.trackedLinkElements = new WeakSet
}
trackStylesheetInLinkElement(e) {}
}
class gg {
constructor() {
this.nodeMap = new WeakMap, this.loop = !0, this.periodicallyClear()
}
periodicallyClear() {
! function(...e) {
xm("requestAnimationFrame")(...e)
}(() => {
this.clear(), this.loop && this.periodicallyClear()
})
}
inOtherBuffer(e, t) {
const n = this.nodeMap.get(e);
return n && Array.from(n).some(e => e !== t)
}
add(e, t) {
this.nodeMap.set(e, (this.nodeMap.get(e) || new Set).add(t))
}
clear() {
this.nodeMap = new WeakMap
}
destroy() {
this.loop = !1
}
}
let yg, vg;
const bg = new Th;
function _g(e = {}) {
const {
emit: t,
checkoutEveryNms: n,
checkoutEveryNth: r,
blockClass: o = "rr-block",
blockSelector: i = null,
unblockSelector: a = null,
ignoreClass: s = "rr-ignore",
ignoreSelector: c = null,
maskAllText: u = !1,
maskTextClass: l = "rr-mask",
unmaskTextClass: f = null,
maskTextSelector: d = null,
unmaskTextSelector: p = null,
inlineStylesheet: h = !0,
maskAllInputs: m,
maskInputOptions: g,
slimDOMOptions: y,
maskAttributeFn: v,
maskInputFn: b,
maskTextFn: _,
maxCanvasSize: S = null,
packFn: w,
sampling: O = {},
dataURLOptions: E = {},
mousemoveWait: k,
recordCanvas: T = !1,
recordCrossOriginIframes: x = !1,
recordAfter: I = ("DOMContentLoaded" === e.recordAfter ? e.recordAfter : "load"),
userTriggeredOnInput: P = !1,
collectFonts: A = !1,
inlineImages: C = !1,
plugins: j,
keepIframeSrcFn: R = () => !1,
ignoreCSSAttributes: M = new Set([]),
errorHandler: D,
onMutation: N,
getCanvasManager: L
} = e;
zm(D);
const F = !x || window.parent === window;
let B = !1;
if (!F) try {
window.parent.document && (B = !1)
} catch (e) {
B = !0
}
if (F && !t) throw new Error("emit function is required");
void 0 !== k && void 0 === O.mousemove && (O.mousemove = k), bg.reset();
const U = !0 === m ? {
color: !0,
date: !0,
"datetime-local": !0,
email: !0,
month: !0,
number: !0,
range: !0,
search: !0,
tel: !0,
text: !0,
time: !0,
url: !0,
week: !0,
textarea: !0,
select: !0,
radio: !0,
checkbox: !0
} : void 0 !== g ? g : {},
G = !0 === y || "all" === y ? {
script: !0,
comment: !0,
headFavicon: !0,
headWhitespace: !0,
headMetaSocial: !0,
headMetaRobots: !0,
headMetaHttpEquiv: !0,
headMetaVerification: !0,
headMetaAuthorship: "all" === y,
headMetaDescKeywords: "all" === y
} : y || {};
let $;
! function(e = window) {
"NodeList" in e && !e.NodeList.prototype.forEach && (e.NodeList.prototype.forEach = Array.prototype.forEach), "DOMTokenList" in e && !e.DOMTokenList.prototype.forEach && (e.DOMTokenList.prototype.forEach = Array.prototype.forEach), Node.prototype.contains || (Node.prototype.contains = (...e) => {
let t = e[0];
if (!(0 in e)) throw new TypeError("1 argument is required");
do {
if (this === t) return !0
} while (t = t && t.parentNode);
return !1
})
}();
let H = 0;
const z = e => {
for (const t of j || []) t.eventProcessor && (e = t.eventProcessor(e));
return w && !B && (e = w(e)), e
};
yg = (e, o) => {
const i = e;
if (i.timestamp = lm(), !Sp([Ym, "access", e => e[0], "optionalAccess", e => e.isFrozen, "call", e => e()]) || i.type === Pm.FullSnapshot || i.type === Pm.IncrementalSnapshot && i.data.source === Am.Mutation || Ym.forEach(e => e.unfreeze()), F) Sp([t, "optionalCall", e => e(z(i), o)]);
else if (B) {
const e = {
type: "rrweb",
event: z(i),
origin: window.location.origin,
isCheckout: o
};
window.parent.postMessage(e, "*")
}
if (i.type === Pm.FullSnapshot) $ = i, H = 0;
else if (i.type === Pm.IncrementalSnapshot) {
if (i.data.source === Am.Mutation && i.data.isAttachIframe) return;
H++;
const e = r && H >= r,
t = n && $ && i.timestamp - $.timestamp > n;
(e || t) && Z(!0)
}
};
const q = e => {
yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.Mutation,
...e
}
})
},
W = e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.Scroll,
...e
}
}),
V = e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.CanvasMutation,
...e
}
}),
Y = new mg({
mutationCb: q,
adoptedStyleSheetCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.AdoptedStyleSheet,
...e
}
})
}),
J = "boolean" == typeof __RRWEB_EXCLUDE_IFRAME__ && __RRWEB_EXCLUDE_IFRAME__ ? new lg : new fg({
mirror: bg,
mutationCb: q,
stylesheetManager: Y,
recordCrossOriginIframes: x,
wrappedEmit: yg
});
for (const e of j || []) e.getMirror && e.getMirror({
nodeMirror: bg,
crossOriginIframeMirror: J.crossOriginIframeMirror,
crossOriginIframeStyleMirror: J.crossOriginIframeStyleMirror
});
const K = new gg,
Q = function(e, t) {
try {
return e ? e(t) : new hg
} catch (e) {
return console.warn("Unable to initialize CanvasManager"), new hg
}
}(L, {
mirror: bg,
win: window,
mutationCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.CanvasMutation,
...e
}
}),
recordCanvas: T,
blockClass: o,
blockSelector: i,
unblockSelector: a,
maxCanvasSize: S,
sampling: O.canvas,
dataURLOptions: E,
errorHandler: D
}),
X = "boolean" == typeof __RRWEB_EXCLUDE_SHADOW_DOM__ && __RRWEB_EXCLUDE_SHADOW_DOM__ ? new dg : new pg({
mutationCb: q,
scrollCb: W,
bypassOptions: {
onMutation: N,
blockClass: o,
blockSelector: i,
unblockSelector: a,
maskAllText: u,
maskTextClass: l,
unmaskTextClass: f,
maskTextSelector: d,
unmaskTextSelector: p,
inlineStylesheet: h,
maskInputOptions: U,
dataURLOptions: E,
maskAttributeFn: v,
maskTextFn: _,
maskInputFn: b,
recordCanvas: T,
inlineImages: C,
sampling: O,
slimDOMOptions: G,
iframeManager: J,
stylesheetManager: Y,
canvasManager: Q,
keepIframeSrcFn: R,
processedNodeManager: K
},
mirror: bg
}),
Z = (e = !1) => {
yg({
type: Pm.Meta,
data: {
href: window.location.href,
width: pm(),
height: dm()
}
}, e), Y.reset(), X.init(), Ym.forEach(e => e.lock());
const t = function(e, t) {
const {
mirror: n = new Th,
blockClass: r = "rr-block",
blockSelector: o = null,
unblockSelector: i = null,
maskAllText: a = !1,
maskTextClass: s = "rr-mask",
unmaskTextClass: c = null,
maskTextSelector: u = null,
unmaskTextSelector: l = null,
inlineStylesheet: f = !0,
inlineImages: d = !1,
recordCanvas: p = !1,
maskAllInputs: h = !1,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: y,
slimDOM: v = !1,
dataURLOptions: b,
preserveWhiteSpace: _,
onSerialize: S,
onIframeLoad: w,
iframeLoadTimeout: O,
onStylesheetLoad: E,
stylesheetLoadTimeout: k,
keepIframeSrcFn: T = () => !1
} = t || {};
return nm(e, {
doc: e,
mirror: n,
blockClass: r,
blockSelector: o,
unblockSelector: i,
maskAllText: a,
maskTextClass: s,
unmaskTextClass: c,
maskTextSelector: u,
unmaskTextSelector: l,
skipChild: !1,
inlineStylesheet: f,
maskInputOptions: !0 === h ? {
color: !0,
date: !0,
"datetime-local": !0,
email: !0,
month: !0,
number: !0,
range: !0,
search: !0,
tel: !0,
text: !0,
time: !0,
url: !0,
week: !0,
textarea: !0,
select: !0
} : !1 === h ? {} : h,
maskAttributeFn: m,
maskTextFn: g,
maskInputFn: y,
slimDOMOptions: !0 === v || "all" === v ? {
script: !0,
comment: !0,
headFavicon: !0,
headWhitespace: !0,
headMetaDescKeywords: "all" === v,
headMetaSocial: !0,
headMetaRobots: !0,
headMetaHttpEquiv: !0,
headMetaAuthorship: !0,
headMetaVerification: !0
} : !1 === v ? {} : v,
dataURLOptions: b,
inlineImages: d,
recordCanvas: p,
preserveWhiteSpace: _,
onSerialize: S,
onIframeLoad: w,
iframeLoadTimeout: O,
onStylesheetLoad: E,
stylesheetLoadTimeout: k,
keepIframeSrcFn: T,
newlyAddedElement: !1
})
}(document, {
mirror: bg,
blockClass: o,
blockSelector: i,
unblockSelector: a,
maskAllText: u,
maskTextClass: l,
unmaskTextClass: f,
maskTextSelector: d,
unmaskTextSelector: p,
inlineStylesheet: h,
maskAllInputs: U,
maskAttributeFn: v,
maskInputFn: b,
maskTextFn: _,
slimDOM: G,
dataURLOptions: E,
recordCanvas: T,
inlineImages: C,
onSerialize: e => {
bm(e, bg) && J.addIframe(e), _m(e, bg) && Y.trackLinkElement(e), Sm(e) && X.addShadowRoot(e.shadowRoot, document)
},
onIframeLoad: (e, t) => {
J.attachIframe(e, t), X.observeAttachShadow(e)
},
onStylesheetLoad: (e, t) => {
Y.attachLinkElement(e, t)
},
keepIframeSrcFn: R
});
if (!t) return console.warn("Failed to snapshot the document");
yg({
type: Pm.FullSnapshot,
data: {
node: t,
initialOffset: fm(window)
}
}), Ym.forEach(e => e.unlock()), document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0 && Y.adoptStyleSheets(document.adoptedStyleSheets, bg.getId(document))
};
vg = Z;
try {
const e = [],
t = e => Wm(ig)({
onMutation: N,
mutationCb: q,
mousemoveCb: (e, t) => yg({
type: Pm.IncrementalSnapshot,
data: {
source: t,
positions: e
}
}),
mouseInteractionCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.MouseInteraction,
...e
}
}),
scrollCb: W,
viewportResizeCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.ViewportResize,
...e
}
}),
inputCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.Input,
...e
}
}),
mediaInteractionCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.MediaInteraction,
...e
}
}),
styleSheetRuleCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.StyleSheetRule,
...e
}
}),
styleDeclarationCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.StyleDeclaration,
...e
}
}),
canvasMutationCb: V,
fontCb: e => yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.Font,
...e
}
}),
selectionCb: e => {
yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.Selection,
...e
}
})
},
customElementCb: e => {
yg({
type: Pm.IncrementalSnapshot,
data: {
source: Am.CustomElement,
...e
}
})
},
blockClass: o,
ignoreClass: s,
ignoreSelector: c,
maskAllText: u,
maskTextClass: l,
unmaskTextClass: f,
maskTextSelector: d,
unmaskTextSelector: p,
maskInputOptions: U,
inlineStylesheet: h,
sampling: O,
recordCanvas: T,
inlineImages: C,
userTriggeredOnInput: P,
collectFonts: A,
doc: e,
maskAttributeFn: v,
maskInputFn: b,
maskTextFn: _,
keepIframeSrcFn: R,
blockSelector: i,
unblockSelector: a,
slimDOMOptions: G,
dataURLOptions: E,
mirror: bg,
iframeManager: J,
stylesheetManager: Y,
shadowDomManager: X,
processedNodeManager: K,
canvasManager: Q,
ignoreCSSAttributes: M,
plugins: Sp([j, "optionalAccess", e => e.filter, "call", e => e(e => e.observer), "optionalAccess", e => e.map, "call", e => e(e => ({
observer: e.observer,
options: e.options,
callback: t => yg({
type: Pm.Plugin,
data: {
plugin: e.name,
payload: t
}
})
}))]) || []
}, {});
J.addLoadListener(n => {
try {
e.push(t(n.contentDocument))
} catch (e) {
console.warn(e)
}
});
const n = () => {
Z(), e.push(t(document))
};
return "interactive" === document.readyState || "complete" === document.readyState ? n() : (e.push(om("DOMContentLoaded", () => {
yg({
type: Pm.DomContentLoaded,
data: {}
}), "DOMContentLoaded" === I && n()
})), e.push(om("load", () => {
yg({
type: Pm.Load,
data: {}
}), "load" === I && n()
}, window))), () => {
e.forEach(e => e()), K.destroy(), vg = void 0, qm()
}
} catch (e) {
console.warn(e)
}
}
_g.mirror = bg, _g.takeFullSnapshot = function(e) {
if (!vg) throw new Error("please take full snapshot after start recording");
vg(e)
};
function Sg(e) {
return e > 9999999999 ? e : 1e3 * e
}
function wg(e) {
return e > 9999999999 ? e / 1e3 : e
}
function Og(e, t) {
"sentry.transaction" !== t.category && (["ui.click", "ui.input"].includes(t.category) ? e.triggerUserActivity() : e.checkAndHandleExpiredSession(), e.addUpdate(() => (e.throttledAddEvent({
type: Pm.Custom,
timestamp: 1e3 * (t.timestamp || 0),
data: {
tag: "breadcrumb",
payload: mc(t, 10, 1e3)
}
}), "console" === t.category)))
}
function Eg(e) {
return e.closest("button,a") || e
}
function kg(e) {
const t = Tg(e);
return t && t instanceof Element ? Eg(t) : t
}
function Tg(e) {
return function(e) {
return "object" == typeof e && !!e && "target" in e
}(e) ? e.target : e
}
let xg;
function Ig(e) {
return xg || (xg = [], za(ph, "open", function(e) {
return function(...t) {
if (xg) try {
xg.forEach(e => e())
} catch (e) {}
return e.apply(ph, t)
}
})), xg.push(e), () => {
const t = xg ? xg.indexOf(e) : -1;
t > -1 && xg.splice(t, 1)
}
}
class Pg {
constructor(e, t, n = Og) {
this._lastMutation = 0, this._lastScroll = 0, this._clicks = [], this._timeout = t.timeout / 1e3, this._threshold = t.threshold / 1e3, this._scollTimeout = t.scrollTimeout / 1e3, this._replay = e, this._ignoreSelector = t.ignoreSelector, this._addBreadcrumbEvent = n
}
addListeners() {
const e = Ig(() => {
this._lastMutation = Cg()
});
this._teardown = () => {
e(), this._clicks = [], this._lastMutation = 0, this._lastScroll = 0
}
}
removeListeners() {
this._teardown && this._teardown(), this._checkClickTimeout && clearTimeout(this._checkClickTimeout)
}
handleClick(e, t) {
if (function(e, t) {
if (!Ag.includes(e.tagName)) return !0;
if ("INPUT" === e.tagName && !["submit", "button"].includes(e.getAttribute("type") || "")) return !0;
if ("A" === e.tagName && (e.hasAttribute("download") || e.hasAttribute("target") && "_self" !== e.getAttribute("target"))) return !0;
if (t && e.matches(t)) return !0;
return !1
}(t, this._ignoreSelector) || ! function(e) {
return !(!e.data || "number" != typeof e.data.nodeId || !e.timestamp)
}(e)) return;
const n = {
timestamp: wg(e.timestamp),
clickBreadcrumb: e,
clickCount: 0,
node: t
};
this._clicks.some(e => e.node === n.node && Math.abs(e.timestamp - n.timestamp) < 1) || (this._clicks.push(n), 1 === this._clicks.length && this._scheduleCheckClicks())
}
registerMutation(e = Date.now()) {
this._lastMutation = wg(e)
}
registerScroll(e = Date.now()) {
this._lastScroll = wg(e)
}
registerClick(e) {
const t = Eg(e);
this._handleMultiClick(t)
}
_handleMultiClick(e) {
this._getClicks(e).forEach(e => {
e.clickCount++
})
}
_getClicks(e) {
return this._clicks.filter(t => t.node === e)
}
_checkClicks() {
const e = [],
t = Cg();
this._clicks.forEach(n => {
!n.mutationAfter && this._lastMutation && (n.mutationAfter = n.timestamp <= this._lastMutation ? this._lastMutation - n.timestamp : void 0), !n.scrollAfter && this._lastScroll && (n.scrollAfter = n.timestamp <= this._lastScroll ? this._lastScroll - n.timestamp : void 0), n.timestamp + this._timeout <= t && e.push(n)
});
for (const t of e) {
const e = this._clicks.indexOf(t);
e > -1 && (this._generateBreadcrumbs(t), this._clicks.splice(e, 1))
}
this._clicks.length && this._scheduleCheckClicks()
}
_generateBreadcrumbs(e) {
const t = this._replay,
n = e.scrollAfter && e.scrollAfter <= this._scollTimeout,
r = e.mutationAfter && e.mutationAfter <= this._threshold,
o = !n && !r,
{
clickCount: i,
clickBreadcrumb: a
} = e;
if (o) {
const n = 1e3 * Math.min(e.mutationAfter || this._timeout, this._timeout),
r = n < 1e3 * this._timeout ? "mutation" : "timeout",
o = {
type: "default",
message: a.message,
timestamp: a.timestamp,
category: "ui.slowClickDetected",
data: {
...a.data,
url: ph.location.href,
route: t.getCurrentRoute(),
timeAfterClickMs: n,
endReason: r,
clickCount: i || 1
}
};
return void this._addBreadcrumbEvent(t, o)
}
if (i > 1) {
const e = {
type: "default",
message: a.message,
timestamp: a.timestamp,
category: "ui.multiClick",
data: {
...a.data,
url: ph.location.href,
route: t.getCurrentRoute(),
clickCount: i,
metric: !0
}
};
this._addBreadcrumbEvent(t, e)
}
}
_scheduleCheckClicks() {
this._checkClickTimeout && clearTimeout(this._checkClickTimeout), this._checkClickTimeout = setTimeout(() => this._checkClicks(), 1e3)
}
}
const Ag = ["A", "BUTTON", "INPUT"];
function Cg() {
return Date.now() / 1e3
}
function jg(e, t) {
try {
if (! function(e) {
return 3 === e.type
}(t)) return;
const {
source: n
} = t.data;
if (n === Am.Mutation && e.registerMutation(t.timestamp), n === Am.Scroll && e.registerScroll(t.timestamp), function(e) {
return e.data.source === Am.MouseInteraction
}(t)) {
const {
type: n,
id: r
} = t.data, o = _g.mirror.getNode(r);
o instanceof HTMLElement && n === Cm.Click && e.registerClick(o)
}
} catch (e) {}
}
function Rg(e) {
return {
timestamp: Date.now() / 1e3,
type: "default",
...e
}
}
var Mg;
! function(e) {
e[e.Document = 0] = "Document", e[e.DocumentType = 1] = "DocumentType", e[e.Element = 2] = "Element", e[e.Text = 3] = "Text", e[e.CDATA = 4] = "CDATA", e[e.Comment = 5] = "Comment"
}(Mg || (Mg = {}));
const Dg = new Set(["id", "class", "aria-label", "role", "name", "alt", "title", "data-test-id", "data-testid", "disabled", "aria-disabled", "data-sentry-component"]);
function Ng(e) {
const t = {};
for (const n in e)
if (Dg.has(n)) {
let r = n;
"data-testid" !== n && "data-test-id" !== n || (r = "testId"), t[r] = e[n]
} return t
}
const Lg = e => t => {
if (!e.isEnabled()) return;
const n = function(e) {
const {
target: t,
message: n
} = function(e) {
const t = "click" === e.name;
let n, r = null;
try {
r = t ? kg(e.event) : Tg(e.event), n = Pa(r, {
maxStringLength: 200
}) || ""
} catch (e) {
n = ""
}
return {
target: r,
message: n
}
}(e);
return Rg({
category: `ui.${e.name}`,
...Fg(t, n)
})
}(t);
if (!n) return;
const r = "click" === t.name,
o = r ? t.event : void 0;
!(r && e.clickDetector && o && o.target) || o.altKey || o.metaKey || o.ctrlKey || o.shiftKey || function(e, t, n) {
e.handleClick(t, n)
}(e.clickDetector, n, kg(t.event)), Og(e, n)
};
function Fg(e, t) {
const n = _g.mirror.getId(e),
r = n && _g.mirror.getNode(n),
o = r && _g.mirror.getMeta(r),
i = o && function(e) {
return e.type === Mg.Element
}(o) ? o : null;
return {
message: t,
data: i ? {
nodeId: n,
node: {
id: n,
tagName: i.tagName,
textContent: Array.from(i.childNodes).map(e => e.type === Mg.Text && e.textContent).filter(Boolean).map(e => e.trim()).join(""),
attributes: Ng(i.attributes)
}
} : {}
}
}
function Bg(e, t) {
if (!e.isEnabled()) return;
e.updateUserActivity();
const n = function(e) {
const {
metaKey: t,
shiftKey: n,
ctrlKey: r,
altKey: o,
key: i,
target: a
} = e;
if (!a || function(e) {
return "INPUT" === e.tagName || "TEXTAREA" === e.tagName || e.isContentEditable
}(a) || !i) return null;
const s = t || r || o,
c = 1 === i.length;
if (!s && c) return null;
const u = Pa(a, {
maxStringLength: 200
}) || "",
l = Fg(a, u);
return Rg({
category: "ui.keyDown",
message: u,
data: {
...l.data,
metaKey: t,
shiftKey: n,
ctrlKey: r,
altKey: o,
key: i
}
})
}(t);
n && Og(e, n)
}
const Ug = {
resource: function(e) {
const {
entryType: t,
initiatorType: n,
name: r,
responseEnd: o,
startTime: i,
decodedBodySize: a,
encodedBodySize: s,
responseStatus: c,
transferSize: u
} = e;
if (["fetch", "xmlhttprequest"].includes(n)) return null;
return {
type: `${t}.${n}`,
start: $g(i),
end: $g(o),
name: r,
data: {
size: u,
statusCode: c,
decodedBodySize: a,
encodedBodySize: s
}
}
},
paint: function(e) {
const {
duration: t,
entryType: n,
name: r,
startTime: o
} = e, i = $g(o);
return {
type: n,
name: r,
start: i,
end: i + t,
data: void 0
}
},
navigation: function(e) {
const {
entryType: t,
name: n,
decodedBodySize: r,
duration: o,
domComplete: i,
encodedBodySize: a,
domContentLoadedEventStart: s,
domContentLoadedEventEnd: c,
domInteractive: u,
loadEventStart: l,
loadEventEnd: f,
redirectCount: d,
startTime: p,
transferSize: h,
type: m
} = e;
if (0 === o) return null;
return {
type: `${t}.${m}`,
start: $g(p),
end: $g(i),
name: n,
data: {
size: h,
decodedBodySize: r,
encodedBodySize: a,
duration: o,
domInteractive: u,
domContentLoadedEventStart: s,
domContentLoadedEventEnd: c,
loadEventStart: l,
loadEventEnd: f,
domComplete: i,
redirectCount: d
}
}
}
};
function Gg(e) {
return Ug[e.entryType] ? Ug[e.entryType](e) : null
}
function $g(e) {
return ((ds || ph.performance.timeOrigin) + e) / 1e3
}
function Hg(e) {
function t(t) {
e.performanceEntries.includes(t) || e.performanceEntries.push(t)
}
function n({
entries: e
}) {
e.forEach(t)
}
const r = [];
return ["navigation", "paint", "resource"].forEach(e => {
r.push(rh(e, n))
}), r.push(nh(({
metric: t
}) => {
e.replayPerformanceEntries.push(function(e) {
const t = e.entries,
n = t[t.length - 1],
r = n ? n.element : void 0,
o = e.value,
i = $g(o);
return {
type: "largest-contentful-paint",
name: "largest-contentful-paint",
start: i,
end: i,
data: {
value: o,
size: o,
nodeId: r ? _g.mirror.getId(r) : void 0
}
}
}(t))
})), () => {
r.forEach(e => e())
}
}
const zg = "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function qg(e, t) {
zg && (Fa.info(e), t && Vg(e))
}
function Wg(e, t) {
zg && (Fa.info(e), t && setTimeout(() => {
Vg(e)
}, 0))
}
function Vg(e) {
Tc({
category: "console",
data: {
logger: "replay"
},
level: "info",
message: e
}, {
level: "info"
})
}
class Yg extends Error {
constructor() {
super("Event buffer exceeded maximum size of 20000000.")
}
}
class Jg {
constructor() {
this.events = [], this._totalSize = 0, this.hasCheckout = !1
}
get hasEvents() {
return this.events.length > 0
}
get type() {
return "sync"
}
destroy() {
this.events = []
}
async addEvent(e) {
const t = JSON.stringify(e).length;
if (this._totalSize += t, this._totalSize > vh) throw new Yg;
this.events.push(e)
}
finish() {
return new Promise(e => {
const t = this.events;
this.clear(), e(JSON.stringify(t))
})
}
clear() {
this.events = [], this._totalSize = 0, this.hasCheckout = !1
}
getEarliestTimestamp() {
const e = this.events.map(e => e.timestamp).sort()[0];
return e ? Sg(e) : null
}
}
class Kg {
constructor(e) {
this._worker = e, this._id = 0
}
ensureReady() {
return this._ensureReadyPromise || (this._ensureReadyPromise = new Promise((e, t) => {
this._worker.addEventListener("message", ({
data: n
}) => {
n.success ? e() : t()
}, {
once: !0
}), this._worker.addEventListener("error", e => {
t(e)
}, {
once: !0
})
})), this._ensureReadyPromise
}
destroy() {
qg("[Replay] Destroying compression worker"), this._worker.terminate()
}
postMessage(e, t) {
const n = this._getAndIncrementId();
return new Promise((r, o) => {
const i = ({
data: t
}) => {
const a = t;
if (a.method === e && a.id === n) {
if (this._worker.removeEventListener("message", i), !a.success) return zg && Fa.error("[Replay]", a.response), void o(new Error("Error in compression worker"));
r(a.response)
}
};
this._worker.addEventListener("message", i), this._worker.postMessage({
id: n,
method: e,
arg: t
})
})
}
_getAndIncrementId() {
return this._id++
}
}
class Qg {
constructor(e) {
this._worker = new Kg(e), this._earliestTimestamp = null, this._totalSize = 0, this.hasCheckout = !1
}
get hasEvents() {
return !!this._earliestTimestamp
}
get type() {
return "worker"
}
ensureReady() {
return this._worker.ensureReady()
}
destroy() {
this._worker.destroy()
}
addEvent(e) {
const t = Sg(e.timestamp);
(!this._earliestTimestamp || t < this._earliestTimestamp) && (this._earliestTimestamp = t);
const n = JSON.stringify(e);
return this._totalSize += n.length, this._totalSize > vh ? Promise.reject(new Yg) : this._sendEventToWorker(n)
}
finish() {
return this._finishRequest()
}
clear() {
this._earliestTimestamp = null, this._totalSize = 0, this.hasCheckout = !1, this._worker.postMessage("clear").then(null, e => {
zg && Fa.warn('[Replay] Sending "clear" message to worker failed', e)
})
}
getEarliestTimestamp() {
return this._earliestTimestamp
}
_sendEventToWorker(e) {
return this._worker.postMessage("addEvent", e)
}
async _finishRequest() {
const e = await this._worker.postMessage("finish");
return this._earliestTimestamp = null, this._totalSize = 0, e
}
}
class Xg {
constructor(e) {
this._fallback = new Jg, this._compression = new Qg(e), this._used = this._fallback, this._ensureWorkerIsLoadedPromise = this._ensureWorkerIsLoaded()
}
get type() {
return this._used.type
}
get hasEvents() {
return this._used.hasEvents
}
get hasCheckout() {
return this._used.hasCheckout
}
set hasCheckout(e) {
this._used.hasCheckout = e
}
destroy() {
this._fallback.destroy(), this._compression.destroy()
}
clear() {
return this._used.clear()
}
getEarliestTimestamp() {
return this._used.getEarliestTimestamp()
}
addEvent(e) {
return this._used.addEvent(e)
}
async finish() {
return await this.ensureWorkerIsLoaded(), this._used.finish()
}
ensureWorkerIsLoaded() {
return this._ensureWorkerIsLoadedPromise
}
async _ensureWorkerIsLoaded() {
try {
await this._compression.ensureReady()
} catch (e) {
return void qg("[Replay] Failed to load the compression worker, falling back to simple buffer")
}
await this._switchToCompressionWorker()
}
async _switchToCompressionWorker() {
const {
events: e,
hasCheckout: t
} = this._fallback, n = [];
for (const t of e) n.push(this._compression.addEvent(t));
this._compression.hasCheckout = t, this._used = this._compression;
try {
await Promise.all(n)
} catch (e) {
zg && Fa.warn("[Replay] Failed to add events when switching buffers.", e)
}
}
}
function Zg({
useCompression: e,
workerUrl: t
}) {
if (e && window.Worker) {
const e = function(e) {
try {
const t = e || function() {
if ("undefined" == typeof __SENTRY_EXCLUDE_REPLAY_WORKER__ || !__SENTRY_EXCLUDE_REPLAY_WORKER__) return function() {
const e = new Blob(['var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),a=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=function(t,e){for(var i=new n(31),a=0;a<31;++a)i[a]=e+=1<>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,a=0,s=new n(r);a>h]=l}else for(o=new n(i),a=0;a>15-t[a]);return o},g=new t(288);for(c=0;c<144;++c)g[c]=8;for(c=144;c<256;++c)g[c]=9;for(c=256;c<280;++c)g[c]=7;for(c=280;c<288;++c)g[c]=8;var w=new t(32);for(c=0;c<32;++c)w[c]=5;var p=d(g,9,0),y=d(w,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==r||r<0)&&(r=0),(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},A=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},_=function(r,e){for(var i=[],a=0;ad&&(d=o[a].s);var g=new n(d+1),w=x(i[c-1],g,0);if(w>e){a=0;var p=0,y=w-e,m=1<e))break;p+=m-(1<>=y;p>0;){var M=o[a].s;g[M]=0&&p;--a){var E=o[a].s;g[E]==e&&(--g[E],++p)}w=e}return{t:new t(g),l:w}},x=function(t,n,r){return-1==t.s?Math.max(x(t.l,n,r+1),x(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,a=t[0],s=1,o=function(t){e[i++]=t},f=1;f<=r;++f)if(t[f]==a&&f!=r)++s;else{if(!a&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(a),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(a);s=1,a=t[f]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var a=0;a4&&!H[a[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(f,g)+T(h,w)+l,X=T(f,M)+T(h,C)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=p,P=g,Q=y,R=w;for(B=0;B255){A(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;A(r,m,Q[et]),m+=R[et],et>3&&(A(r,m,rt>>5&8191),m+=i[et])}else A(r,m,N[rt]),m+=P[rt]}return A(r,m,N[256]),m+P[256]},U=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,a=0|r.length,s=0;s!=a;){for(var o=Math.min(s+2655,a);s>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(a,s,o,f,u){if(!u&&(u={l:1},s.dictionary)){var c=s.dictionary.subarray(-32768),v=new t(c.length+a.length);v.set(c),v.set(a,c.length),a=v,u.w=c.length}return function(a,s,o,f,u,c){var v=c.z||a.length,d=new t(f+v+5*(1+Math.ceil(v/7e3))+u),g=d.subarray(f,d.length-u),w=c.l,p=7&(c.r||0);if(s){p&&(g[0]=c.r>>3);for(var y=U[s-1],M=y>>13,E=8191&y,z=(1<7e3||q>24576)&&(N>423||!w)){p=C(a,g,0,F,I,S,O,q,G,j-G,p),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(a[j+Q]==a[j+Q-W]){for(var $=0;$Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;Pnt&&(nt=et,K=rt)}}}W+=(J=K)-(K=A[J])&32767}if(R){F[q++]=268435456|h[Q]<<18|l[R];var it=31&h[Q],at=31&l[R];O+=e[it]+i[at],++I[257+it],++S[at],B=j+Q,++L}else F[q++]=a[j],++I[a[j]]}}for(j=Math.max(j,B);j=v&&(g[p/8|0]=w,st=v),p=k(g,p+1,a.subarray(j,st))}c.i=v}return b(d,0,f+m(p)+u)}(a,null==s.level?6:s.level,null==s.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(a.length)))):12+s.mem,o,f,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var a=this.b.length-this.s.z;a&&(this.b.set(n.subarray(0,a),this.s.z),this.s.z=this.b.length,this.p(this.b,!1)),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(a),32768),this.s.z=n.length-a+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,a=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),s=a.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(a,n),O(a,s-8,r.d()),O(a,s-4,e),a}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(r){for(var e=new t(n.length),i=0;i>1)),o=0,f=function(t){s[o++]=t};for(i=0;is.length){var h=new t(o+8+(a-i<<1));h.set(s),s=h}var l=n.charCodeAt(i);l<128||r?f(l):l<2048?(f(192|l>>6),f(128|63&l)):l>55295&&l<57344?(f(240|(l=65536+(1047552&l)|1023&n.charCodeAt(++i))>>18),f(128|l>>12&63),f(128|l>>6&63),f(128|63&l)):(f(224|l>>12),f(128|l>>6&63),f(128|63&l))}return b(s,0,o)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(let r=0,e=t.length;r{this._deflatedData.push(t)},this.stream=new J(((t,n)=>{this.deflate.push(t,n)})),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",(function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}})),postMessage({id:void 0,method:"init",success:!0,response:void 0});']);
return URL.createObjectURL(e)
}();
return ""
}();
if (!t) return;
qg("[Replay] Using compression worker" + (e ? ` from ${e}` : ""));
const n = new Worker(t);
return new Xg(n)
} catch (e) {
qg("[Replay] Failed to create compression worker")
}
}(t);
if (e) return e
}
return qg("[Replay] Using simple buffer"), new Jg
}
function ey() {
try {
return "sessionStorage" in ph && !!ph.sessionStorage
} catch (e) {
return !1
}
}
function ty(e) {
! function() {
if (!ey()) return;
try {
ph.sessionStorage.removeItem(hh)
} catch (e) {}
}(), e.session = void 0
}
function ny(e) {
return void 0 !== e && Math.random() < e
}
function ry(e) {
const t = Date.now();
return {
id: e.id || ts(),
started: e.started || t,
lastActivity: e.lastActivity || t,
segmentId: e.segmentId || 0,
sampled: e.sampled,
previousSessionId: e.previousSessionId
}
}
function oy(e) {
if (ey()) try {
ph.sessionStorage.setItem(hh, JSON.stringify(e))
} catch (e) {}
}
function iy({
sessionSampleRate: e,
allowBuffering: t,
stickySession: n = !1
}, {
previousSessionId: r
} = {}) {
const o = function(e, t) {
return ny(e) ? "session" : !!t && "buffer"
}(e, t),
i = ry({
sampled: o,
previousSessionId: r
});
return n && oy(i), i
}
function ay(e, t, n = +new Date) {
return null === e || void 0 === t || t < 0 || 0 !== t && e + t <= n
}
function sy(e, {
maxReplayDuration: t,
sessionIdleExpire: n,
targetTime: r = Date.now()
}) {
return ay(e.started, t, r) || ay(e.lastActivity, n, r)
}
function cy(e, {
sessionIdleExpire: t,
maxReplayDuration: n
}) {
return !!sy(e, {
sessionIdleExpire: t,
maxReplayDuration: n
}) && ("buffer" !== e.sampled || 0 !== e.segmentId)
}
function uy({
traceInternals: e,
sessionIdleExpire: t,
maxReplayDuration: n,
previousSessionId: r
}, o) {
const i = o.stickySession && function(e) {
if (!ey()) return null;
try {
const t = ph.sessionStorage.getItem(hh);
if (!t) return null;
const n = JSON.parse(t);
return Wg("[Replay] Loading existing session", e), ry(n)
} catch (e) {
return null
}
}(e);
return i ? cy(i, {
sessionIdleExpire: t,
maxReplayDuration: n
}) ? (Wg("[Replay] Session in sessionStorage is expired, creating new one..."), iy(o, {
previousSessionId: i.id
})) : i : (Wg("[Replay] Creating new session", e), iy(o, {
previousSessionId: r
}))
}
function ly(e, t, n) {
return !!dy(e, t) && (fy(e, t, n), !0)
}
async function fy(e, t, n) {
if (!e.eventBuffer) return null;
try {
n && "buffer" === e.recordingMode && e.eventBuffer.clear(), n && (e.eventBuffer.hasCheckout = !0);
const r = function(e, t) {
try {
if ("function" == typeof t && function(e) {
return e.type === Pm.Custom
}(e)) return t(e)
} catch (e) {
return zg && Fa.error("[Replay] An error occured in the `beforeAddRecordingEvent` callback, skipping the event...", e), null
}
return e
}(t, e.getOptions().beforeAddRecordingEvent);
if (!r) return;
return await e.eventBuffer.addEvent(r)
} catch (t) {
const n = t && t instanceof Yg ? "addEventSizeExceeded" : "addEvent";
zg && Fa.error(t), await e.stop({
reason: n
});
const r = Uc();
r && r.recordDroppedEvent("internal_sdk_error", "replay")
}
}
function dy(e, t) {
if (!e.eventBuffer || e.isPaused() || !e.isEnabled()) return !1;
const n = Sg(t.timestamp);
return !(n + e.timeouts.sessionIdlePause < Date.now()) && (!(n > e.getContext().initialTimestamp + e.getOptions().maxReplayDuration) || (qg(`[Replay] Skipping event with timestamp ${n} because it is after maxReplayDuration`, e.getOptions()._experiments.traceInternals), !1))
}
function py(e) {
return !e.type
}
function hy(e) {
return "transaction" === e.type
}
function my(e) {
return "feedback" === e.type
}
function gy(e) {
const t = function() {
const e = Uc();
if (!e) return !1;
const t = e.getTransport();
if (!t) return !1;
return t.send.__sentry__baseTransport__ || !1
}();
return (n, r) => {
if (!e.isEnabled() || !py(n) && !hy(n)) return;
const o = r && r.statusCode;
t && (!o || o < 200 || o >= 300) || (hy(n) ? function(e, t) {
const n = e.getContext();
t.contexts && t.contexts.trace && t.contexts.trace.trace_id && n.traceIds.size < 100 && n.traceIds.add(t.contexts.trace.trace_id)
}(e, n) : function(e, t) {
const n = e.getContext();
t.event_id && n.errorIds.size < 100 && n.errorIds.add(t.event_id);
if ("buffer" !== e.recordingMode || !t.tags || !t.tags.replayId) return;
const {
beforeErrorSampling: r
} = e.getOptions();
if ("function" == typeof r && !r(t)) return;
setTimeout(() => {
e.sendBufferedReplayOrFlush()
})
}(e, n))
}
}
function yy(e) {
return t => {
e.isEnabled() && py(t) && function(e, t) {
const n = t.exception && t.exception.values && t.exception.values[0].value;
if ("string" != typeof n) return;
if (n.match(/reactjs\.org\/docs\/error-decoder\.html\?invariant=(418|419|422|423|425)/) || n.match(/(does not match server-rendered HTML|Hydration failed because)/i)) {
Og(e, Rg({
category: "replay.hydrate-error"
}))
}
}(e, t)
}
}
function vy(e, t = !1) {
const n = t ? gy(e) : void 0;
return Object.assign((t, r) => {
if (!e.isEnabled()) return t;
if (function(e) {
return "replay_event" === e.type
}(t)) return delete t.breadcrumbs, t;
if (!py(t) && !hy(t) && !my(t)) return t;
if (!e.checkAndHandleExpiredSession()) return t;
if (my(t)) return e.flush(), t.contexts.feedback.replay_id = e.getSessionId(),
function(e, t) {
e.triggerUserActivity(), e.addUpdate(() => !t.timestamp || (e.throttledAddEvent({
type: Pm.Custom,
timestamp: 1e3 * t.timestamp,
data: {
tag: "breadcrumb",
payload: {
timestamp: t.timestamp,
type: "default",
category: "sentry.feedback",
data: {
feedbackId: t.event_id
}
}
}
}), !1))
}(e, t), t;
if (function(e, t) {
return !(e.type || !e.exception || !e.exception.values || !e.exception.values.length || !t.originalException || !t.originalException.__rrweb__)
}(t, r) && !e.getOptions()._experiments.captureExceptions) return zg && Fa.log("[Replay] Ignoring error from rrweb internals", t), null;
const o = function(e, t) {
return "buffer" === e.recordingMode && t.message !== mh && !(!t.exception || t.type) && ny(e.getOptions().errorSampleRate)
}(e, t);
return (o || "session" === e.recordingMode) && (t.tags = {
...t.tags,
replayId: e.getSessionId()
}), n && n(t, {
statusCode: 200
}), t
}, {
id: "Replay"
})
}
function by(e, t) {
return t.map(({
type: t,
start: n,
end: r,
name: o,
data: i
}) => {
const a = e.throttledAddEvent({
type: Pm.Custom,
timestamp: n,
data: {
tag: "performanceSpan",
payload: {
op: t,
description: o,
startTimestamp: n,
endTimestamp: r,
data: i
}
}
});
return "string" == typeof a ? Promise.resolve(null) : a
})
}
function _y(e) {
return t => {
if (!e.isEnabled()) return;
const n = function(e) {
const {
from: t,
to: n
} = e, r = Date.now() / 1e3;
return {
type: "navigation.push",
start: r,
end: r,
name: n,
data: {
previous: t
}
}
}(t);
null !== n && (e.getContext().urls.push(n.name), e.triggerUserActivity(), e.addUpdate(() => (by(e, [n]), !1)))
}
}
function Sy(e, t) {
e.isEnabled() && null !== t && (function(e, t) {
return (!zg || !e.getOptions()._experiments.traceInternals) && wp(t, Uc())
}(e, t.name) || e.addUpdate(() => (by(e, [t]), !0)))
}
function wy(e) {
return t => {
if (!e.isEnabled()) return;
const n = function(e) {
const {
startTimestamp: t,
endTimestamp: n,
xhr: r
} = e, o = r[Td];
if (!t || !n || !o) return null;
const {
method: i,
url: a,
status_code: s
} = o;
return void 0 === a ? null : {
type: "resource.xhr",
name: a,
start: t / 1e3,
end: n / 1e3,
data: {
method: i,
statusCode: s
}
}
}(t);
Sy(e, n)
}
}
function Oy(e, t) {
if (e) try {
if ("string" == typeof e) return t.encode(e).length;
if (e instanceof URLSearchParams) return t.encode(e.toString()).length;
if (e instanceof FormData) {
const n = Cy(e);
return t.encode(n).length
}
if (e instanceof Blob) return e.size;
if (e instanceof ArrayBuffer) return e.byteLength
} catch (e) {}
}
function Ey(e) {
if (!e) return;
const t = parseInt(e, 10);
return isNaN(t) ? void 0 : t
}
function ky(e) {
try {
if ("string" == typeof e) return [e];
if (e instanceof URLSearchParams) return [e.toString()];
if (e instanceof FormData) return [Cy(e)];
if (!e) return [void 0]
} catch (t) {
return zg && Fa.warn("[Replay] Failed to serialize body", e), [void 0, "BODY_PARSE_ERROR"]
}
return zg && Fa.info("[Replay] Skipping network body because of body type", e), [void 0, "UNPARSEABLE_BODY_TYPE"]
}
function Ty(e, t) {
if (!e) return {
headers: {},
size: void 0,
_meta: {
warnings: [t]
}
};
const n = {
...e._meta
},
r = n.warnings || [];
return n.warnings = [...r, t], e._meta = n, e
}
function xy(e, t) {
if (!t) return null;
const {
startTimestamp: n,
endTimestamp: r,
url: o,
method: i,
statusCode: a,
request: s,
response: c
} = t;
return {
type: e,
start: n / 1e3,
end: r / 1e3,
name: o,
data: Qa({
method: i,
statusCode: a,
request: s,
response: c
})
}
}
function Iy(e) {
return {
headers: {},
size: e,
_meta: {
warnings: ["URL_SKIPPED"]
}
}
}
function Py(e, t, n) {
if (!t && 0 === Object.keys(e).length) return;
if (!t) return {
headers: e
};
if (!n) return {
headers: e,
size: t
};
const r = {
headers: e,
size: t
},
{
body: o,
warnings: i
} = function(e) {
if (!e || "string" != typeof e) return {
body: e
};
const t = e.length > gh,
n = function(e) {
const t = e[0],
n = e[e.length - 1];
return "[" === t && "]" === n || "{" === t && "}" === n
}(e);
if (t) {
const t = e.slice(0, gh);
return n ? {
body: t,
warnings: ["MAYBE_JSON_TRUNCATED"]
} : {
body: `${t}\u2026`,
warnings: ["TEXT_TRUNCATED"]
}
}
if (n) try {
return {
body: JSON.parse(e)
}
} catch (e) {}
return {
body: e
}
}(n);
return r.body = o, i && i.length > 0 && (r._meta = {
warnings: i
}), r
}
function Ay(e, t) {
return Object.keys(e).reduce((n, r) => {
const o = r.toLowerCase();
return t.includes(o) && e[r] && (n[o] = e[r]), n
}, {})
}
function Cy(e) {
return new URLSearchParams(e).toString()
}
function jy(e, t) {
const n = function(e, t = ph.document.baseURI) {
if (e.startsWith("http://") || e.startsWith("https://") || e.startsWith(ph.location.origin)) return e;
const n = new URL(e, t);
if (n.origin !== new URL(t).origin) return e;
const r = n.href;
if (!e.endsWith("/") && r.endsWith("/")) return r.slice(0, -1);
return r
}(e);
return Ha(n, t)
}
async function Ry(e, t, n) {
try {
const r = await async function(e, t, n) {
const r = Date.now(),
{
startTimestamp: o = r,
endTimestamp: i = r
} = t,
{
url: a,
method: s,
status_code: c = 0,
request_body_size: u,
response_body_size: l
} = e.data,
f = jy(a, n.networkDetailAllowUrls) && !jy(a, n.networkDetailDenyUrls),
d = f ? function({
networkCaptureBodies: e,
networkRequestHeaders: t
}, n, r) {
const o = n ? function(e, t) {
if (1 === e.length && "string" != typeof e[0]) return Ny(e[0], t);
if (2 === e.length) return Ny(e[1], t);
return {}
}(n, t) : {};
if (!e) return Py(o, r, void 0);
const i = My(n),
[a, s] = ky(i),
c = Py(o, r, a);
if (s) return Ty(c, s);
return c
}(n, t.input, u) : Iy(u),
p = await async function(e, {
networkCaptureBodies: t,
textEncoder: n,
networkResponseHeaders: r
}, o, i) {
if (!e && void 0 !== i) return Iy(i);
const a = o ? Dy(o.headers, r) : {};
if (!o || !t && void 0 !== i) return Py(a, i, void 0);
const [s, c] = await async function(e) {
const t = function(e) {
try {
return e.clone()
} catch (e) {
zg && Fa.warn("[Replay] Failed to clone response body", e)
}
}(e);
if (!t) return [void 0, "BODY_PARSE_ERROR"];
try {
const e = await
function(e) {
return new Promise((t, n) => {
const r = setTimeout(() => n(new Error("Timeout while trying to read response body")), 500);
(async function(e) {
return await e.text()
})(e).then(e => t(e), e => n(e)).finally(() => clearTimeout(r))
})
}(t);
return [e]
} catch (e) {
return zg && Fa.warn("[Replay] Failed to get text body from response", e), [void 0, "BODY_PARSE_ERROR"]
}
}(o), u = function(e, {
networkCaptureBodies: t,
textEncoder: n,
responseBodySize: r,
captureDetails: o,
headers: i
}) {
try {
const a = e && e.length && void 0 === r ? Oy(e, n) : r;
return o ? Py(i, a, t ? e : void 0) : Iy(a)
} catch (e) {
return zg && Fa.warn("[Replay] Failed to serialize response body", e), Py(i, r, void 0)
}
}(s, {
networkCaptureBodies: t,
textEncoder: n,
responseBodySize: i,
captureDetails: e,
headers: a
});
if (c) return Ty(u, c);
return u
}(f, n, t.response, l);
return {
startTimestamp: o,
endTimestamp: i,
url: a,
method: s,
statusCode: c,
request: d,
response: p
}
}(e, t, n), o = xy("resource.fetch", r);
Sy(n.replay, o)
} catch (e) {
zg && Fa.error("[Replay] Failed to capture fetch breadcrumb", e)
}
}
function My(e = []) {
if (2 === e.length && "object" == typeof e[1]) return e[1].body
}
function Dy(e, t) {
const n = {};
return t.forEach(t => {
e.get(t) && (n[t] = e.get(t))
}), n
}
function Ny(e, t) {
if (!e) return {};
const n = e.headers;
return n ? n instanceof Headers ? Dy(n, t) : Array.isArray(n) ? {} : Ay(n, t) : {}
}
async function Ly(e, t, n) {
try {
const r = function(e, t, n) {
const r = Date.now(),
{
startTimestamp: o = r,
endTimestamp: i = r,
input: a,
xhr: s
} = t,
{
url: c,
method: u,
status_code: l = 0,
request_body_size: f,
response_body_size: d
} = e.data;
if (!c) return null;
if (!s || !jy(c, n.networkDetailAllowUrls) || jy(c, n.networkDetailDenyUrls)) {
return {
startTimestamp: o,
endTimestamp: i,
url: c,
method: u,
statusCode: l,
request: Iy(f),
response: Iy(d)
}
}
const p = s[Td],
h = p ? Ay(p.request_headers, n.networkRequestHeaders) : {},
m = Ay(function(e) {
const t = e.getAllResponseHeaders();
if (!t) return {};
return t.split("\r\n").reduce((e, t) => {
const [n, r] = t.split(": ");
return e[n.toLowerCase()] = r, e
}, {})
}(s), n.networkResponseHeaders),
[g, y] = n.networkCaptureBodies ? ky(a) : [void 0],
[v, b] = n.networkCaptureBodies ? function(e) {
const t = [];
try {
return [e.responseText]
} catch (e) {
t.push(e)
}
try {
return function(e, t) {
try {
if ("string" == typeof e) return [e];
if (e instanceof Document) return [e.body.outerHTML];
if ("json" === t && e && "object" == typeof e) return [JSON.stringify(e)];
if (!e) return [void 0]
} catch (t) {
return zg && Fa.warn("[Replay] Failed to serialize body", e), [void 0, "BODY_PARSE_ERROR"]
}
return zg && Fa.info("[Replay] Skipping network body because of body type", e), [void 0, "UNPARSEABLE_BODY_TYPE"]
}(e.response, e.responseType)
} catch (e) {
t.push(e)
}
return zg && Fa.warn("[Replay] Failed to get xhr response body", ...t), [void 0]
}(s) : [void 0],
_ = Py(h, f, g),
S = Py(m, d, v);
return {
startTimestamp: o,
endTimestamp: i,
url: c,
method: u,
statusCode: l,
request: y ? Ty(_, y) : _,
response: b ? Ty(S, b) : S
}
}(e, t, n),
o = xy("resource.xhr", r);
Sy(n.replay, o)
} catch (e) {
zg && Fa.error("[Replay] Failed to capture xhr breadcrumb", e)
}
}
function Fy(e, t, n) {
const {
xhr: r,
input: o
} = t;
if (!r) return;
const i = Oy(o, n.textEncoder),
a = r.getResponseHeader("content-length") ? Ey(r.getResponseHeader("content-length")) : function(e, t, n) {
try {
return Oy("json" === t && e && "object" == typeof e ? JSON.stringify(e) : e, n)
} catch (e) {
return
}
}(r.response, r.responseType, n.textEncoder);
void 0 !== i && (e.data.request_body_size = i), void 0 !== a && (e.data.response_body_size = a)
}
function By(e) {
const t = Uc();
try {
const n = new TextEncoder,
{
networkDetailAllowUrls: r,
networkDetailDenyUrls: o,
networkCaptureBodies: i,
networkRequestHeaders: a,
networkResponseHeaders: s
} = e.getOptions(),
c = {
replay: e,
textEncoder: n,
networkDetailAllowUrls: r,
networkDetailDenyUrls: o,
networkCaptureBodies: i,
networkRequestHeaders: a,
networkResponseHeaders: s
};
t && t.on ? t.on("beforeAddBreadcrumb", (e, t) => function(e, t, n) {
if (!t.data) return;
try {
(function(e) {
return "xhr" === e.category
})(t) && function(e) {
return e && e.xhr
}(n) && (Fy(t, n, e), Ly(t, n, e)),
function(e) {
return "fetch" === e.category
}(t) && function(e) {
return e && e.response
}(n) && (! function(e, t, n) {
const {
input: r,
response: o
} = t, i = Oy(r ? My(r) : void 0, n.textEncoder), a = o ? Ey(o.headers.get("content-length")) : void 0;
void 0 !== i && (e.data.request_body_size = i), void 0 !== a && (e.data.response_body_size = a)
}(t, n, e), Ry(t, n, e))
} catch (e) {
zg && Fa.warn("Error when enriching network breadcrumb")
}
}(c, e, t)) : (Pd(function(e) {
return t => {
if (!e.isEnabled()) return;
const n = function(e) {
const {
startTimestamp: t,
endTimestamp: n,
fetchData: r,
response: o
} = e;
if (!n) return null;
const {
method: i,
url: a
} = r;
return {
type: "resource.fetch",
start: t / 1e3,
end: n / 1e3,
name: a,
data: {
method: i,
statusCode: o ? o.status : void 0
}
}
}(t);
Sy(e, n)
}
}(e)), xd(wy(e)))
} catch (e) {}
}
let Uy = null;
const Gy = e => t => {
if (!e.isEnabled()) return;
const n = function(e) {
const t = e.getLastBreadcrumb && e.getLastBreadcrumb();
if (Uy === t || !t) return null;
if (Uy = t, ! function(e) {
return !!e.category
}(t) || ["fetch", "xhr", "sentry.event", "sentry.transaction"].includes(t.category) || t.category.startsWith("ui.")) return null;
if ("console" === t.category) return function(e) {
const t = e.data && e.data.arguments;
if (!Array.isArray(t) || 0 === t.length) return Rg(e);
let n = !1;
const r = t.map(e => {
if (!e) return e;
if ("string" == typeof e) return e.length > yh ? (n = !0, `${e.slice(0,yh)}\u2026`) : e;
if ("object" == typeof e) try {
const t = mc(e, 7);
return JSON.stringify(t).length > yh ? (n = !0, `${JSON.stringify(t,null,2).slice(0,yh)}\u2026`) : t
} catch (e) {}
return e
});
return Rg({
...e,
data: {
...e.data,
arguments: r,
...n ? {
_meta: {
warnings: ["CONSOLE_ARG_TRUNCATED"]
}
} : {}
}
})
}(t);
return Rg(t)
}(t);
n && Og(e, n)
};
function $y(e) {
return !(!e || !e.on)
}
function Hy(e) {
const {
jsHeapSizeLimit: t,
totalJSHeapSize: n,
usedJSHeapSize: r
} = e, o = Date.now() / 1e3;
return {
type: "memory",
name: "memory",
start: o,
end: o,
data: {
memory: {
jsHeapSizeLimit: t,
totalJSHeapSize: n,
usedJSHeapSize: r
}
}
}
}
function zy(e) {
let t = !1;
return (n, r) => {
if (!e.checkAndHandleExpiredSession()) return void(zg && Fa.warn("[Replay] Received replay event after session expired."));
const o = r || !t;
t = !0, e.clickDetector && jg(e.clickDetector, n), e.addUpdate(() => {
if ("buffer" === e.recordingMode && o && e.setInitialState(), !ly(e, n, o)) return !0;
if (!o) return !1;
if (function(e, t) {
if (!t || !e.session || 0 !== e.session.segmentId) return;
ly(e, function(e) {
const t = e.getOptions();
return {
type: Pm.Custom,
timestamp: Date.now(),
data: {
tag: "options",
payload: {
shouldRecordCanvas: e.isRecordingCanvas(),
sessionSampleRate: t.sessionSampleRate,
errorSampleRate: t.errorSampleRate,
useCompressionOption: t.useCompression,
blockAllMedia: t.blockAllMedia,
maskAllText: t.maskAllText,
maskAllInputs: t.maskAllInputs,
useCompression: !!e.eventBuffer && "worker" === e.eventBuffer.type,
networkDetailHasUrls: t.networkDetailAllowUrls.length > 0,
networkCaptureBodies: t.networkCaptureBodies,
networkRequestHasHeaders: t.networkRequestHeaders.length > 0,
networkResponseHasHeaders: t.networkResponseHeaders.length > 0
}
}
}
}(e), !1)
}(e, o), e.session && e.session.previousSessionId) return !0;
if ("buffer" === e.recordingMode && e.session && e.eventBuffer) {
const t = e.eventBuffer.getEarliestTimestamp();
t && (qg(`[Replay] Updating session start time to earliest event in buffer to ${new Date(t)}`, e.getOptions()._experiments.traceInternals), e.session.started = t, e.getOptions().stickySession && oy(e.session))
}
return "session" === e.recordingMode && e.flush(), !0
})
}
}
async function qy({
recordingData: e,
replayId: t,
segmentId: n,
eventContext: r,
timestamp: o,
session: i
}) {
const a = function({
recordingData: e,
headers: t
}) {
let n;
const r = `${JSON.stringify(t)}\n`;
if ("string" == typeof e) n = `${r}${e}`;
else {
const t = (new TextEncoder).encode(r);
n = new Uint8Array(t.length + e.length), n.set(t), n.set(e, t.length)
}
return n
}({
recordingData: e,
headers: {
segment_id: n
}
}),
{
urls: s,
errorIds: c,
traceIds: u,
initialTimestamp: l
} = r,
f = Uc(),
d = $c(),
p = f && f.getTransport(),
h = f && f.getDsn();
if (!(f && p && h && i.sampled)) return;
const m = {
type: "replay_event",
replay_start_timestamp: l / 1e3,
timestamp: o / 1e3,
error_ids: c,
trace_ids: u,
urls: s,
replay_id: t,
segment_id: n,
replay_type: i.sampled
},
g = await async function({
client: e,
scope: t,
replayId: n,
event: r
}) {
const o = {
event_id: n,
integrations: "object" != typeof e._integrations || null === e._integrations || Array.isArray(e._integrations) ? void 0 : Object.keys(e._integrations)
};
e.emit && e.emit("preprocessEvent", r, o);
const i = await vc(e.getOptions(), r, o, t, e, rc());
if (!i) return null;
i.platform = i.platform || "javascript";
const a = e.getSdkMetadata && e.getSdkMetadata(),
{
name: s,
version: c
} = a && a.sdk || {};
return i.sdk = {
...i.sdk,
name: s || "sentry.javascript.unknown",
version: c || "0.0.0"
}, i
}({
scope: d,
client: f,
replayId: t,
event: m
});
if (!g) return f.recordDroppedEvent("event_processor", "replay", m), void qg("An event processor returned `null`, will not send event.");
delete g.sdkProcessingMetadata;
const y = function(e, t, n, r) {
return Eu(Ru(e, ju(e), r, n), [
[{
type: "replay_event"
}, e],
[{
type: "replay_recording",
length: "string" == typeof t ? (new TextEncoder).encode(t).length : t.length
}, t]
])
}(g, a, h, f.getOptions().tunnel);
let v;
try {
v = await p.send(y)
} catch (e) {
const t = new Error(mh);
try {
t.cause = e
} catch (e) {}
throw t
}
if (!v) return v;
if ("number" == typeof v.statusCode && (v.statusCode < 200 || v.statusCode >= 300)) throw new Wy(v.statusCode);
const b = nf({}, v);
if (tf(b, "replay")) throw new Vy(b);
return v
}
class Wy extends Error {
constructor(e) {
super(`Transport returned status code ${e}`)
}
}
class Vy extends Error {
constructor(e) {
super("Rate limit hit"), this.rateLimits = e
}
}
async function Yy(e, t = {
count: 0,
interval: 5e3
}) {
const {
recordingData: n,
options: r
} = e;
if (n.length) try {
return await qy(e), !0
} catch (n) {
if (n instanceof Wy || n instanceof Vy) throw n;
if (xc("Replays", {
_retryCount: t.count
}), zg && r._experiments && r._experiments.captureExceptions && wc(n), t.count >= 3) {
const e = new Error(`${mh} - max retries exceeded`);
try {
e.cause = n
} catch (e) {}
throw e
}
return t.interval *= ++t.count, new Promise((n, r) => {
setTimeout(async () => {
try {
await Yy(e, t), n(!0)
} catch (e) {
r(e)
}
}, t.interval)
})
}
}
const Jy = "__THROTTLED";
function Ky(e, t, n) {
const r = new Map;
let o = !1;
return (...i) => {
const a = Math.floor(Date.now() / 1e3);
if ((e => {
const t = e - n;
r.forEach((e, n) => {
n < t && r.delete(n)
})
})(a), [...r.values()].reduce((e, t) => e + t, 0) >= t) {
const e = o;
return o = !0, e ? "__SKIPPED" : Jy
}
o = !1;
const s = r.get(a) || 0;
return r.set(a, s + 1), e(...i)
}
}
class Qy {
constructor({
options: e,
recordingOptions: t
}) {
Qy.prototype.__init.call(this), Qy.prototype.__init2.call(this), Qy.prototype.__init3.call(this), Qy.prototype.__init4.call(this), Qy.prototype.__init5.call(this), Qy.prototype.__init6.call(this), this.eventBuffer = null, this.performanceEntries = [], this.replayPerformanceEntries = [], this.recordingMode = "session", this.timeouts = {
sessionIdlePause: 3e5,
sessionIdleExpire: 9e5
}, this._lastActivity = Date.now(), this._isEnabled = !1, this._isPaused = !1, this._hasInitializedCoreListeners = !1, this._context = {
errorIds: new Set,
traceIds: new Set,
urls: [],
initialTimestamp: Date.now(),
initialUrl: ""
}, this._recordingOptions = t, this._options = e, this._debouncedFlush = function(e, t, n) {
let r, o, i;
const a = n && n.maxWait ? Math.max(n.maxWait, t) : 0;
function s() {
return c(), r = e(), r
}
function c() {
void 0 !== o && clearTimeout(o), void 0 !== i && clearTimeout(i), o = i = void 0
}
function u() {
return o && clearTimeout(o), o = setTimeout(s, t), a && void 0 === i && (i = setTimeout(s, a)), r
}
return u.cancel = c, u.flush = function() {
return void 0 !== o || void 0 !== i ? s() : r
}, u
}(() => this._flush(), this._options.flushMinDelay, {
maxWait: this._options.flushMaxDelay
}), this._throttledAddEvent = Ky((e, t) => function(e, t, n) {
return dy(e, t) ? fy(e, t, n) : Promise.resolve(null)
}(this, e, t), 300, 5);
const {
slowClickTimeout: n,
slowClickIgnoreSelectors: r
} = this.getOptions(), o = n ? {
threshold: Math.min(3e3, n),
timeout: n,
scrollTimeout: 300,
ignoreSelector: r ? r.join(",") : ""
} : void 0;
o && (this.clickDetector = new Pg(this, o))
}
getContext() {
return this._context
}
isEnabled() {
return this._isEnabled
}
isPaused() {
return this._isPaused
}
isRecordingCanvas() {
return Boolean(this._canvas)
}
getOptions() {
return this._options
}
initializeSampling(e) {
const {
errorSampleRate: t,
sessionSampleRate: n
} = this._options;
t <= 0 && n <= 0 || (this._initializeSessionForSampling(e), this.session ? !1 !== this.session.sampled && (this.recordingMode = "buffer" === this.session.sampled && 0 === this.session.segmentId ? "buffer" : "session", Wg(`[Replay] Starting replay in ${this.recordingMode} mode`, this._options._experiments.traceInternals), this._initializeRecording()) : this._handleException(new Error("Unable to initialize and create session")))
}
start() {
if (this._isEnabled && "session" === this.recordingMode) throw new Error("Replay recording is already in progress");
if (this._isEnabled && "buffer" === this.recordingMode) throw new Error("Replay buffering is in progress, call `flush()` to save the replay");
Wg("[Replay] Starting replay in session mode", this._options._experiments.traceInternals), this._updateUserActivity();
const e = uy({
maxReplayDuration: this._options.maxReplayDuration,
sessionIdleExpire: this.timeouts.sessionIdleExpire,
traceInternals: this._options._experiments.traceInternals
}, {
stickySession: this._options.stickySession,
sessionSampleRate: 1,
allowBuffering: !1
});
this.session = e, this._initializeRecording()
}
startBuffering() {
if (this._isEnabled) throw new Error("Replay recording is already in progress");
Wg("[Replay] Starting replay in buffer mode", this._options._experiments.traceInternals);
const e = uy({
sessionIdleExpire: this.timeouts.sessionIdleExpire,
maxReplayDuration: this._options.maxReplayDuration,
traceInternals: this._options._experiments.traceInternals
}, {
stickySession: this._options.stickySession,
sessionSampleRate: 0,
allowBuffering: !0
});
this.session = e, this.recordingMode = "buffer", this._initializeRecording()
}
startRecording() {
try {
const e = this._canvas;
this._stopRecording = _g({
...this._recordingOptions,
..."buffer" === this.recordingMode && {
checkoutEveryNms: 6e4
},
emit: zy(this),
onMutation: this._onMutationHandler,
...e ? {
recordCanvas: e.recordCanvas,
getCanvasManager: e.getCanvasManager,
sampling: e.sampling,
dataURLOptions: e.dataURLOptions
} : {}
})
} catch (e) {
this._handleException(e)
}
}
stopRecording() {
try {
return this._stopRecording && (this._stopRecording(), this._stopRecording = void 0), !0
} catch (e) {
return this._handleException(e), !1
}
}
async stop({
forceFlush: e = !1,
reason: t
} = {}) {
if (this._isEnabled) {
this._isEnabled = !1;
try {
qg("[Replay] Stopping Replay" + (t ? ` triggered by ${t}` : ""), this._options._experiments.traceInternals), this._removeListeners(), this.stopRecording(), this._debouncedFlush.cancel(), e && await this._flush({
force: !0
}), this.eventBuffer && this.eventBuffer.destroy(), this.eventBuffer = null, ty(this)
} catch (e) {
this._handleException(e)
}
}
}
pause() {
this._isPaused || (this._isPaused = !0, this.stopRecording(), qg("[Replay] Pausing replay", this._options._experiments.traceInternals))
}
resume() {
this._isPaused && this._checkSession() && (this._isPaused = !1, this.startRecording(), qg("[Replay] Resuming replay", this._options._experiments.traceInternals))
}
async sendBufferedReplayOrFlush({
continueRecording: e = !0
} = {}) {
if ("session" === this.recordingMode) return this.flushImmediate();
const t = Date.now();
qg("[Replay] Converting buffer to session", this._options._experiments.traceInternals), await this.flushImmediate();
const n = this.stopRecording();
e && n && "session" !== this.recordingMode && (this.recordingMode = "session", this.session && (this._updateUserActivity(t), this._updateSessionActivity(t), this._maybeSaveSession()), this.startRecording())
}
addUpdate(e) {
const t = e();
"buffer" !== this.recordingMode && !0 !== t && this._debouncedFlush()
}
triggerUserActivity() {
if (this._updateUserActivity(), this._stopRecording) this.checkAndHandleExpiredSession(), this._updateSessionActivity();
else {
if (!this._checkSession()) return;
this.resume()
}
}
updateUserActivity() {
this._updateUserActivity(), this._updateSessionActivity()
}
conditionalFlush() {
return "buffer" === this.recordingMode ? Promise.resolve() : this.flushImmediate()
}
flush() {
return this._debouncedFlush()
}
flushImmediate() {
return this._debouncedFlush(), this._debouncedFlush.flush()
}
cancelFlush() {
this._debouncedFlush.cancel()
}
getSessionId() {
return this.session && this.session.id
}
checkAndHandleExpiredSession() {
if (!(this._lastActivity && ay(this._lastActivity, this.timeouts.sessionIdlePause) && this.session && "session" === this.session.sampled)) return !!this._checkSession();
this.pause()
}
setInitialState() {
const e = `${ph.location.pathname}${ph.location.hash}${ph.location.search}`,
t = `${ph.location.origin}${e}`;
this.performanceEntries = [], this.replayPerformanceEntries = [], this._clearContext(), this._context.initialUrl = t, this._context.initialTimestamp = Date.now(), this._context.urls.push(t)
}
throttledAddEvent(e, t) {
const n = this._throttledAddEvent(e, t);
if (n === Jy) {
const e = Rg({
category: "replay.throttled"
});
this.addUpdate(() => !ly(this, {
type: 5,
timestamp: e.timestamp || 0,
data: {
tag: "breadcrumb",
payload: e,
metric: !0
}
}))
}
return n
}
getCurrentRoute() {
const e = this.lastTransaction || $c().getTransaction(),
t = (e && Us(e).data || {})[Uu];
if (e && t && ["route", "custom"].includes(t)) return Us(e).description
}
_initializeRecording() {
this.setInitialState(), this._updateSessionActivity(), this.eventBuffer = Zg({
useCompression: this._options.useCompression,
workerUrl: this._options.workerUrl
}), this._removeListeners(), this._addListeners(), this._isEnabled = !0, this._isPaused = !1, this.startRecording()
}
_handleException(e) {
zg && Fa.error("[Replay]", e), zg && this._options._experiments && this._options._experiments.captureExceptions && wc(e)
}
_initializeSessionForSampling(e) {
const t = this._options.errorSampleRate > 0,
n = uy({
sessionIdleExpire: this.timeouts.sessionIdleExpire,
maxReplayDuration: this._options.maxReplayDuration,
traceInternals: this._options._experiments.traceInternals,
previousSessionId: e
}, {
stickySession: this._options.stickySession,
sessionSampleRate: this._options.sessionSampleRate,
allowBuffering: t
});
this.session = n
}
_checkSession() {
if (!this.session) return !1;
const e = this.session;
return !cy(e, {
sessionIdleExpire: this.timeouts.sessionIdleExpire,
maxReplayDuration: this._options.maxReplayDuration
}) || (this._refreshSession(e), !1)
}
async _refreshSession(e) {
this._isEnabled && (await this.stop({
reason: "refresh session"
}), this.initializeSampling(e.id))
}
_addListeners() {
try {
ph.document.addEventListener("visibilitychange", this._handleVisibilityChange), ph.addEventListener("blur", this._handleWindowBlur), ph.addEventListener("focus", this._handleWindowFocus), ph.addEventListener("keydown", this._handleKeyboardEvent), this.clickDetector && this.clickDetector.addListeners(), this._hasInitializedCoreListeners || (! function(e) {
const t = $c(),
n = Uc();
t.addScopeListener(Gy(e)), wd(Lg(e)), hd(_y(e)), By(e);
const r = vy(e, !$y(n));
n && n.addEventProcessor ? n.addEventProcessor(r) : ol(r), $y(n) && (n.on("beforeSendEvent", yy(e)), n.on("afterSendEvent", gy(e)), n.on("createDsc", t => {
const n = e.getSessionId();
n && e.isEnabled() && "session" === e.recordingMode && e.checkAndHandleExpiredSession() && (t.replay_id = n)
}), n.on("startTransaction", t => {
e.lastTransaction = t
}), n.on("finishTransaction", t => {
e.lastTransaction = t
}), n.on("beforeSendFeedback", (t, n) => {
const r = e.getSessionId();
n && n.includeReplay && e.isEnabled() && r && t.contexts && t.contexts.feedback && (t.contexts.feedback.replay_id = r)
}))
}(this), this._hasInitializedCoreListeners = !0)
} catch (e) {
this._handleException(e)
}
this._performanceCleanupCallback = Hg(this)
}
_removeListeners() {
try {
ph.document.removeEventListener("visibilitychange", this._handleVisibilityChange), ph.removeEventListener("blur", this._handleWindowBlur), ph.removeEventListener("focus", this._handleWindowFocus), ph.removeEventListener("keydown", this._handleKeyboardEvent), this.clickDetector && this.clickDetector.removeListeners(), this._performanceCleanupCallback && this._performanceCleanupCallback()
} catch (e) {
this._handleException(e)
}
}
__init() {
this._handleVisibilityChange = () => {
"visible" === ph.document.visibilityState ? this._doChangeToForegroundTasks() : this._doChangeToBackgroundTasks()
}
}
__init2() {
this._handleWindowBlur = () => {
const e = Rg({
category: "ui.blur"
});
this._doChangeToBackgroundTasks(e)
}
}
__init3() {
this._handleWindowFocus = () => {
const e = Rg({
category: "ui.focus"
});
this._doChangeToForegroundTasks(e)
}
}
__init4() {
this._handleKeyboardEvent = e => {
Bg(this, e)
}
}
_doChangeToBackgroundTasks(e) {
if (!this.session) return;
sy(this.session, {
maxReplayDuration: this._options.maxReplayDuration,
sessionIdleExpire: this.timeouts.sessionIdleExpire
}) || (e && this._createCustomBreadcrumb(e), this.conditionalFlush())
}
_doChangeToForegroundTasks(e) {
if (!this.session) return;
this.checkAndHandleExpiredSession() ? e && this._createCustomBreadcrumb(e) : qg("[Replay] Document has become active, but session has expired")
}
_updateUserActivity(e = Date.now()) {
this._lastActivity = e
}
_updateSessionActivity(e = Date.now()) {
this.session && (this.session.lastActivity = e, this._maybeSaveSession())
}
_createCustomBreadcrumb(e) {
this.addUpdate(() => {
this.throttledAddEvent({
type: Pm.Custom,
timestamp: e.timestamp || 0,
data: {
tag: "breadcrumb",
payload: e
}
})
})
}
_addPerformanceEntries() {
const e = (t = this.performanceEntries, t.map(Gg).filter(Boolean)).concat(this.replayPerformanceEntries);
var t;
return this.performanceEntries = [], this.replayPerformanceEntries = [], Promise.all(by(this, e))
}
_clearContext() {
this._context.errorIds.clear(), this._context.traceIds.clear(), this._context.urls = []
}
_updateInitialTimestampFromEventBuffer() {
const {
session: e,
eventBuffer: t
} = this;
if (!e || !t) return;
if (e.segmentId) return;
const n = t.getEarliestTimestamp();
n && n < this._context.initialTimestamp && (this._context.initialTimestamp = n)
}
_popEventContext() {
const e = {
initialTimestamp: this._context.initialTimestamp,
initialUrl: this._context.initialUrl,
errorIds: Array.from(this._context.errorIds),
traceIds: Array.from(this._context.traceIds),
urls: this._context.urls
};
return this._clearContext(), e
}
async _runFlush() {
const e = this.getSessionId();
if (this.session && this.eventBuffer && e) {
if (await this._addPerformanceEntries(), this.eventBuffer && this.eventBuffer.hasEvents && (await async function(e) {
try {
return Promise.all(by(e, [Hy(ph.performance.memory)]))
} catch (e) {
return []
}
}(this), this.eventBuffer && e === this.getSessionId())) try {
this._updateInitialTimestampFromEventBuffer();
const t = Date.now();
if (t - this._context.initialTimestamp > this._options.maxReplayDuration + 3e4) throw new Error("Session is too long, not sending replay");
const n = this._popEventContext(),
r = this.session.segmentId++;
this._maybeSaveSession();
const o = await this.eventBuffer.finish();
await Yy({
replayId: e,
recordingData: o,
segmentId: r,
eventContext: n,
session: this.session,
options: this.getOptions(),
timestamp: t
})
} catch (e) {
this._handleException(e), this.stop({
reason: "sendReplay"
});
const t = Uc();
t && t.recordDroppedEvent("send_error", "replay")
}
} else zg && Fa.error("[Replay] No session or eventBuffer found to flush.")
}
__init5() {
this._flush = async ({
force: e = !1
} = {}) => {
if (!this._isEnabled && !e) return;
if (!this.checkAndHandleExpiredSession()) return void(zg && Fa.error("[Replay] Attempting to finish replay event after session expired."));
if (!this.session) return;
const t = this.session.started,
n = Date.now() - t;
this._debouncedFlush.cancel();
const r = n < this._options.minReplayDuration,
o = n > this._options.maxReplayDuration + 5e3;
if (r || o) return qg(`[Replay] Session duration (${Math.floor(n/1e3)}s) is too ${r?"short":"long"}, not sending replay.`, this._options._experiments.traceInternals), void(r && this._debouncedFlush());
const i = this.eventBuffer;
if (i && 0 === this.session.segmentId && !i.hasCheckout && qg("[Replay] Flushing initial segment without checkout.", this._options._experiments.traceInternals), !this._flushLock) return this._flushLock = this._runFlush(), await this._flushLock, void(this._flushLock = void 0);
try {
await this._flushLock
} catch (e) {
zg && Fa.error(e)
} finally {
this._debouncedFlush()
}
}
}
_maybeSaveSession() {
this.session && this._options.stickySession && oy(this.session)
}
__init6() {
this._onMutationHandler = e => {
const t = e.length,
n = this._options.mutationLimit,
r = n && t > n;
if (t > this._options.mutationBreadcrumbLimit || r) {
const e = Rg({
category: "replay.mutations",
data: {
count: t,
limit: r
}
});
this._createCustomBreadcrumb(e)
}
return !r || (this.stop({
reason: "mutationLimit",
forceFlush: "session" === this.recordingMode
}), !1)
}
}
}
function Xy(e, t, n, r) {
const o = [...e, ..."string" == typeof r ? r.split(",") : [], ...t];
return void 0 !== n && ("string" == typeof n && o.push(`.${n}`), La(() => {
console.warn("[Replay] You are using a deprecated configuration item for privacy. Read the documentation on how to use the new privacy configuration.")
})), o.join(",")
}
const Zy = 'img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',
ev = ["content-length", "content-type", "accept"];
let tv = !1;
const nv = e => new rv(e);
class rv {
static __initStatic() {
this.id = "Replay"
}
constructor({
flushMinDelay: e = 5e3,
flushMaxDelay: t = 5500,
minReplayDuration: n = 4999,
maxReplayDuration: r = 36e5,
stickySession: o = !0,
useCompression: i = !0,
workerUrl: a,
_experiments: s = {},
sessionSampleRate: c,
errorSampleRate: u,
maskAllText: l = !0,
maskAllInputs: f = !0,
blockAllMedia: d = !0,
mutationBreadcrumbLimit: p = 750,
mutationLimit: h = 1e4,
slowClickTimeout: m = 7e3,
slowClickIgnoreSelectors: g = [],
networkDetailAllowUrls: y = [],
networkDetailDenyUrls: v = [],
networkCaptureBodies: b = !0,
networkRequestHeaders: _ = [],
networkResponseHeaders: S = [],
mask: w = [],
maskAttributes: O = ["title", "placeholder"],
unmask: E = [],
block: k = [],
unblock: T = [],
ignore: x = [],
maskFn: I,
beforeAddRecordingEvent: P,
beforeErrorSampling: A,
blockClass: C,
blockSelector: j,
maskInputOptions: R,
maskTextClass: M,
maskTextSelector: D,
ignoreClass: N
} = {}) {
this.name = rv.id;
const L = function({
mask: e,
unmask: t,
block: n,
unblock: r,
ignore: o,
blockClass: i,
blockSelector: a,
maskTextClass: s,
maskTextSelector: c,
ignoreClass: u
}) {
const l = {
maskTextSelector: Xy(e, [".sentry-mask", "[data-sentry-mask]"], s, c),
unmaskTextSelector: Xy(t, [".sentry-unmask", "[data-sentry-unmask]"]),
blockSelector: Xy(n, [".sentry-block", "[data-sentry-block]", 'base[href="/"]'], i, a),
unblockSelector: Xy(r, [".sentry-unblock", "[data-sentry-unblock]"]),
ignoreSelector: Xy(o, [".sentry-ignore", "[data-sentry-ignore]", 'input[type="file"]'], u)
};
return i instanceof RegExp && (l.blockClass = i), s instanceof RegExp && (l.maskTextClass = s), l
}({
mask: w,
unmask: E,
block: k,
unblock: T,
ignore: x,
blockClass: C,
blockSelector: j,
maskTextClass: M,
maskTextSelector: D,
ignoreClass: N
});
if (this._recordingOptions = {
maskAllInputs: f,
maskAllText: l,
maskInputOptions: {
...R || {},
password: !0
},
maskTextFn: I,
maskInputFn: I,
maskAttributeFn: (e, t, n) => function({
el: e,
key: t,
maskAttributes: n,
maskAllText: r,
privacyOptions: o,
value: i
}) {
return r ? o.unmaskTextSelector && e.matches(o.unmaskTextSelector) ? i : n.includes(t) || "value" === t && "INPUT" === e.tagName && ["submit", "button"].includes(e.getAttribute("type") || "") ? i.replace(/[\S]/g, "*") : i : i
}({
maskAttributes: O,
maskAllText: l,
privacyOptions: L,
key: e,
value: t,
el: n
}),
...L,
slimDOMOptions: "all",
inlineStylesheet: !0,
inlineImages: !1,
collectFonts: !0,
errorHandler: e => {
try {
e.__rrweb__ = !0
} catch (e) {}
}
}, this._initialOptions = {
flushMinDelay: e,
flushMaxDelay: t,
minReplayDuration: Math.min(n, 15e3),
maxReplayDuration: Math.min(r, bh),
stickySession: o,
sessionSampleRate: c,
errorSampleRate: u,
useCompression: i,
workerUrl: a,
blockAllMedia: d,
maskAllInputs: f,
maskAllText: l,
mutationBreadcrumbLimit: p,
mutationLimit: h,
slowClickTimeout: m,
slowClickIgnoreSelectors: g,
networkDetailAllowUrls: y,
networkDetailDenyUrls: v,
networkCaptureBodies: b,
networkRequestHeaders: ov(_),
networkResponseHeaders: ov(S),
beforeAddRecordingEvent: P,
beforeErrorSampling: A,
_experiments: s
}, "number" == typeof c && (console.warn(`[Replay] You are passing \`sessionSampleRate\` to the Replay integration.\nThis option is deprecated and will be removed soon.\nInstead, configure \`replaysSessionSampleRate\` directly in the SDK init options, e.g.:\nSentry.init({ replaysSessionSampleRate: ${c} })`), this._initialOptions.sessionSampleRate = c), "number" == typeof u && (console.warn(`[Replay] You are passing \`errorSampleRate\` to the Replay integration.\nThis option is deprecated and will be removed soon.\nInstead, configure \`replaysOnErrorSampleRate\` directly in the SDK init options, e.g.:\nSentry.init({ replaysOnErrorSampleRate: ${u} })`), this._initialOptions.errorSampleRate = u), this._initialOptions.blockAllMedia && (this._recordingOptions.blockSelector = this._recordingOptions.blockSelector ? `${this._recordingOptions.blockSelector},${Zy}` : Zy), this._isInitialized && kp()) throw new Error("Multiple Sentry Session Replay instances are not supported");
this._isInitialized = !0
}
get _isInitialized() {
return tv
}
set _isInitialized(e) {
tv = e
}
setupOnce() {
kp() && (this._setup(), setTimeout(() => this._initialize()))
}
start() {
this._replay && this._replay.start()
}
startBuffering() {
this._replay && this._replay.startBuffering()
}
stop() {
return this._replay ? this._replay.stop({
forceFlush: "session" === this._replay.recordingMode
}) : Promise.resolve()
}
flush(e) {
return this._replay && this._replay.isEnabled() ? this._replay.sendBufferedReplayOrFlush(e) : Promise.resolve()
}
getReplayId() {
if (this._replay && this._replay.isEnabled()) return this._replay.getSessionId()
}
_initialize() {
this._replay && (this._maybeLoadFromReplayCanvasIntegration(), this._replay.initializeSampling())
}
_setup() {
const e = function(e) {
const t = Uc(),
n = t && t.getOptions(),
r = {
sessionSampleRate: 0,
errorSampleRate: 0,
...Qa(e)
};
if (!n) return La(() => {
console.warn("SDK client is not available.")
}), r;
null == e.sessionSampleRate && null == e.errorSampleRate && null == n.replaysSessionSampleRate && null == n.replaysOnErrorSampleRate && La(() => {
console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")
});
"number" == typeof n.replaysSessionSampleRate && (r.sessionSampleRate = n.replaysSessionSampleRate);
"number" == typeof n.replaysOnErrorSampleRate && (r.errorSampleRate = n.replaysOnErrorSampleRate);
return r
}(this._initialOptions);
this._replay = new Qy({
options: e,
recordingOptions: this._recordingOptions
})
}
_maybeLoadFromReplayCanvasIntegration() {
try {
const e = Uc().getIntegrationByName("ReplayCanvas");
if (!e) return;
this._replay._canvas = e.getOptions()
} catch (e) {}
}
}
function ov(e) {
return [...ev, ...e.map(e => e.toLowerCase())]
}
function iv() {
const e = Uc();
return e && e.getIntegrationByName && e.getIntegrationByName("Replay")
}
rv.__initStatic();
var av;
function sv(e, t, n = 1 / 0, r = 0) {
return e ? e.nodeType !== e.ELEMENT_NODE || r > n ? -1 : t(e) ? r : sv(e.parentNode, t, n, r + 1) : -1
}
function cv(e, t) {
return n => {
const r = n;
if (null === r) return !1;
try {
if (e)
if ("string" == typeof e) {
if (r.matches(`.${e}`)) return !0
} else if (function(e, t) {
for (let n = e.classList.length; n--;) {
const r = e.classList[n];
if (t.test(r)) return !0
}
return !1
}(r, e)) return !0;
return !(!t || !r.matches(t))
} catch (e) {
return !1
}
}
}! function(e) {
e[e.Document = 0] = "Document", e[e.DocumentType = 1] = "DocumentType", e[e.Element = 2] = "Element", e[e.Text = 3] = "Text", e[e.CDATA = 4] = "CDATA", e[e.Comment = 5] = "Comment"
}(av || (av = {}));
const uv = "Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";
let lv = {
map: {},
getId: () => (console.error(uv), -1),
getNode: () => (console.error(uv), null),
removeNodeFromMap() {
console.error(uv)
},
has: () => (console.error(uv), !1),
reset() {
console.error(uv)
}
};
function fv(e, t, n, r, o = window) {
const i = o.Object.getOwnPropertyDescriptor(e, t);
return o.Object.defineProperty(e, t, r ? n : {
set(e) {
yv(() => {
n.set.call(this, e)
}, 0), i && i.set && i.set.call(this, e)
}
}), () => fv(e, t, i || {}, !0)
}
function dv(e, t, n) {
try {
if (!(t in e)) return () => {};
const r = e[t],
o = n(r);
return "function" == typeof o && (o.prototype = o.prototype || {}, Object.defineProperties(o, {
__rrweb_original__: {
enumerable: !1,
value: r
}
})), e[t] = o, () => {
e[t] = r
}
} catch (e) {
return () => {}
}
}
function pv(e, t, n, r, o) {
if (!e) return !1;
const i = function(e) {
return e ? e.nodeType === e.ELEMENT_NODE ? e : e.parentElement : null
}(e);
if (!i) return !1;
const a = cv(t, n);
if (!o) {
const e = r && i.matches(r);
return a(i) && !e
}
const s = sv(i, a);
let c = -1;
return !(s < 0) && (r && (c = sv(i, cv(null, r))), s > -1 && c < 0 || s < c)
}
"undefined" != typeof window && window.Proxy && window.Reflect && (lv = new Proxy(lv, {
get: (e, t, n) => ("map" === t && console.error(uv), Reflect.get(e, t, n))
})), /[1-9][0-9]{12}/.test(Date.now().toString());
const hv = {};
function mv(e) {
const t = hv[e];
if (t) return t;
const n = window.document;
let r = window[e];
if (n && "function" == typeof n.createElement) try {
const t = n.createElement("iframe");
t.hidden = !0, n.head.appendChild(t);
const o = t.contentWindow;
o && o[e] && (r = o[e]), n.head.removeChild(t)
} catch (e) {}
return hv[e] = r.bind(window)
}
function gv(...e) {
return mv("requestAnimationFrame")(...e)
}
function yv(...e) {
return mv("setTimeout")(...e)
}
var vv = (e => (e[e["2D"] = 0] = "2D", e[e.WebGL = 1] = "WebGL", e[e.WebGL2 = 2] = "WebGL2", e))(vv || {});
let bv;
const _v = e => {
if (!bv) return e;
return (...t) => {
try {
return e(...t)
} catch (e) {
if (bv && !0 === bv(e)) return () => {};
throw e
}
}
};
for (var Sv = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", wv = "undefined" == typeof Uint8Array ? [] : new Uint8Array(256), Ov = 0; Ov < 64; Ov++) wv[Sv.charCodeAt(Ov)] = Ov;
const Ev = new Map;
const kv = (e, t, n) => {
if (!e || !Iv(e, t) && "object" != typeof e) return;
const r = function(e, t) {
let n = Ev.get(e);
return n || (n = new Map, Ev.set(e, n)), n.has(t) || n.set(t, []), n.get(t)
}(n, e.constructor.name);
let o = r.indexOf(e);
return -1 === o && (o = r.length, r.push(e)), o
};
function Tv(e, t, n) {
if (e instanceof Array) return e.map(e => Tv(e, t, n));
if (null === e) return e;
if (e instanceof Float32Array || e instanceof Float64Array || e instanceof Int32Array || e instanceof Uint32Array || e instanceof Uint8Array || e instanceof Uint16Array || e instanceof Int16Array || e instanceof Int8Array || e instanceof Uint8ClampedArray) {
return {
rr_type: e.constructor.name,
args: [Object.values(e)]
}
}
if (e instanceof ArrayBuffer) {
const t = e.constructor.name,
n = function(e) {
var t, n = new Uint8Array(e),
r = n.length,
o = "";
for (t = 0; t < r; t += 3) o += Sv[n[t] >> 2], o += Sv[(3 & n[t]) << 4 | n[t + 1] >> 4], o += Sv[(15 & n[t + 1]) << 2 | n[t + 2] >> 6], o += Sv[63 & n[t + 2]];
return r % 3 == 2 ? o = o.substring(0, o.length - 1) + "=" : r % 3 == 1 && (o = o.substring(0, o.length - 2) + "=="), o
}(e);
return {
rr_type: t,
base64: n
}
}
if (e instanceof DataView) {
return {
rr_type: e.constructor.name,
args: [Tv(e.buffer, t, n), e.byteOffset, e.byteLength]
}
}
if (e instanceof HTMLImageElement) {
const t = e.constructor.name,
{
src: n
} = e;
return {
rr_type: t,
src: n
}
}
if (e instanceof HTMLCanvasElement) {
return {
rr_type: "HTMLImageElement",
src: e.toDataURL()
}
}
if (e instanceof ImageData) {
return {
rr_type: e.constructor.name,
args: [Tv(e.data, t, n), e.width, e.height]
}
}
if (Iv(e, t) || "object" == typeof e) {
return {
rr_type: e.constructor.name,
index: kv(e, t, n)
}
}
return e
}
const xv = (e, t, n) => e.map(e => Tv(e, t, n)),
Iv = (e, t) => {
const n = ["WebGLActiveInfo", "WebGLBuffer", "WebGLFramebuffer", "WebGLProgram", "WebGLRenderbuffer", "WebGLShader", "WebGLShaderPrecisionFormat", "WebGLTexture", "WebGLUniformLocation", "WebGLVertexArrayObject", "WebGLVertexArrayObjectOES"].filter(e => "function" == typeof t[e]);
return Boolean(n.find(n => e instanceof t[n]))
};
function Pv(e, t, n, r, o) {
const i = [];
try {
const a = dv(e.HTMLCanvasElement.prototype, "getContext", function(e) {
return function(i, ...a) {
if (!pv(this, t, n, r, !0)) {
const e = function(e) {
return "experimental-webgl" === e ? "webgl" : e
}(i);
if ("__context" in this || (this.__context = e), o && ["webgl", "webgl2"].includes(e))
if (a[0] && "object" == typeof a[0]) {
const e = a[0];
e.preserveDrawingBuffer || (e.preserveDrawingBuffer = !0)
} else a.splice(0, 1, {
preserveDrawingBuffer: !0
})
}
return e.apply(this, [i, ...a])
}
});
i.push(a)
} catch (e) {
console.error("failed to patch HTMLCanvasElement.prototype.getContext")
}
return () => {
i.forEach(e => e())
}
}
function Av(e, t, n, r, o, i, a, s) {
const c = [],
u = Object.getOwnPropertyNames(e);
for (const a of u)
if (!["isContextLost", "canvas", "drawingBufferWidth", "drawingBufferHeight"].includes(a)) try {
if ("function" != typeof e[a]) continue;
const u = dv(e, a, function(e) {
return function(...c) {
const u = e.apply(this, c);
if (kv(u, s, this), "tagName" in this.canvas && !pv(this.canvas, r, o, i, !0)) {
const e = xv(c, s, this),
r = {
type: t,
property: a,
args: e
};
n(this.canvas, r)
}
return u
}
});
c.push(u)
} catch (r) {
const o = fv(e, a, {
set(e) {
n(this.canvas, {
type: t,
property: a,
args: [e],
setter: !0
})
}
});
c.push(o)
}
return c
}
class Cv {
reset() {
this.pendingCanvasMutations.clear(), this.resetObservers && this.resetObservers()
}
freeze() {
this.frozen = !0
}
unfreeze() {
this.frozen = !1
}
lock() {
this.locked = !0
}
unlock() {
this.locked = !1
}
constructor(e) {
this.pendingCanvasMutations = new Map, this.rafStamps = {
latestId: 0,
invokeId: null
}, this.frozen = !1, this.locked = !1, this.processMutation = (e, t) => {
!(this.rafStamps.invokeId && this.rafStamps.latestId !== this.rafStamps.invokeId) && this.rafStamps.invokeId || (this.rafStamps.invokeId = this.rafStamps.latestId), this.pendingCanvasMutations.has(e) || this.pendingCanvasMutations.set(e, []), this.pendingCanvasMutations.get(e).push(t)
};
const {
sampling: t = "all",
win: n,
blockClass: r,
blockSelector: o,
unblockSelector: i,
maxCanvasSize: a,
recordCanvas: s,
dataURLOptions: c,
errorHandler: u
} = e;
this.mutationCb = e.mutationCb, this.mirror = e.mirror, this.options = e, u && (bv = u), e.enableManualSnapshot || _v(() => {
s && "all" === t && this.initCanvasMutationObserver(n, r, o, i), s && "number" == typeof t && this.initCanvasFPSObserver(t, n, r, o, i, a, {
dataURLOptions: c
})
})()
}
initCanvasFPSObserver(e, t, n, r, o, i, a) {
const s = Pv(t, n, r, o, !0),
c = this.takeSnapshot(!1, e, t, n, r, o, i, a.dataURLOptions);
this.resetObservers = () => {
s(), cancelAnimationFrame(c)
}
}
initCanvasMutationObserver(e, t, n, r) {
this.startRAFTimestamping(), this.startPendingCanvasMutationFlusher();
const o = Pv(e, t, n, r, !1),
i = function(e, t, n, r, o) {
const i = [],
a = Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);
for (const s of a) try {
if ("function" != typeof t.CanvasRenderingContext2D.prototype[s]) continue;
const a = dv(t.CanvasRenderingContext2D.prototype, s, function(i) {
return function(...a) {
return pv(this.canvas, n, r, o, !0) || yv(() => {
const n = xv(a, t, this);
e(this.canvas, {
type: vv["2D"],
property: s,
args: n
})
}, 0), i.apply(this, a)
}
});
i.push(a)
} catch (n) {
const r = fv(t.CanvasRenderingContext2D.prototype, s, {
set(t) {
e(this.canvas, {
type: vv["2D"],
property: s,
args: [t],
setter: !0
})
}
});
i.push(r)
}
return () => {
i.forEach(e => e())
}
}(this.processMutation.bind(this), e, t, n, r),
a = function(e, t, n, r, o) {
const i = [];
return i.push(...Av(t.WebGLRenderingContext.prototype, vv.WebGL, e, n, r, o, 0, t)), void 0 !== t.WebGL2RenderingContext && i.push(...Av(t.WebGL2RenderingContext.prototype, vv.WebGL2, e, n, r, o, 0, t)), () => {
i.forEach(e => e())
}
}(this.processMutation.bind(this), e, t, n, r, this.mirror);
this.resetObservers = () => {
o(), i(), a()
}
}
snapshot(e) {
const {
options: t
} = this, n = this.takeSnapshot(!0, "all" === t.sampling ? 2 : t.sampling || 2, t.win, t.blockClass, t.blockSelector, t.unblockSelector, t.maxCanvasSize, t.dataURLOptions, e);
this.resetObservers = () => {
cancelAnimationFrame(n)
}
}
takeSnapshot(e, t, n, r, o, i, a, s, c) {
const u = new Map,
l = new Worker(function() {
const e = new Blob(['for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="undefined"==typeof Uint8Array?[]:new Uint8Array(256),a=0;a<64;a++)t[e.charCodeAt(a)]=a;var n=function(t){var a,n=new Uint8Array(t),r=n.length,s="";for(a=0;a>2],s+=e[(3&n[a])<<4|n[a+1]>>4],s+=e[(15&n[a+1])<<2|n[a+2]>>6],s+=e[63&n[a+2]];return r%3==2?s=s.substring(0,s.length-1)+"=":r%3==1&&(s=s.substring(0,s.length-2)+"=="),s};const r=new Map,s=new Map;const i=self;i.onmessage=async function(e){if(!("OffscreenCanvas"in globalThis))return i.postMessage({id:e.data.id});{const{id:t,bitmap:a,width:o,height:f,maxCanvasSize:c,dataURLOptions:g}=e.data,u=async function(e,t,a){const r=e+"-"+t;if("OffscreenCanvas"in globalThis){if(s.has(r))return s.get(r);const i=new OffscreenCanvas(e,t);i.getContext("2d");const o=await i.convertToBlob(a),f=await o.arrayBuffer(),c=n(f);return s.set(r,c),c}return""}(o,f,g),[h,d]=function(e,t,a){if(!a)return[e,t];const[n,r]=a;if(e<=n&&t<=r)return[e,t];let s=e,i=t;return s>n&&(i=Math.floor(n*t/e),s=n),i>r&&(s=Math.floor(r*e/t),i=r),[s,i]}(o,f,c),l=new OffscreenCanvas(h,d),w=l.getContext("bitmaprenderer"),p=h===o&&d===f?a:await createImageBitmap(a,{resizeWidth:h,resizeHeight:d,resizeQuality:"low"});w.transferFromImageBitmap(p),a.close();const y=await l.convertToBlob(g),v=y.type,b=await y.arrayBuffer(),m=n(b);if(p.close(),!r.has(t)&&await u===m)return r.set(t,m),i.postMessage({id:t});if(r.get(t)===m)return i.postMessage({id:t});i.postMessage({id:t,type:v,base64:m,width:o,height:f}),r.set(t,m)}};']);
return URL.createObjectURL(e)
}());
l.onmessage = e => {
const t = e.data,
{
id: n
} = t;
if (u.set(n, !1), !("base64" in t)) return;
const {
base64: r,
type: o,
width: i,
height: a
} = t;
this.mutationCb({
id: n,
type: vv["2D"],
commands: [{
property: "clearRect",
args: [0, 0, i, a]
}, {
property: "drawImage",
args: [{
rr_type: "ImageBitmap",
args: [{
rr_type: "Blob",
data: [{
rr_type: "ArrayBuffer",
base64: r
}],
type: o
}]
}, 0, 0, i, a]
}]
})
};
const f = 1e3 / t;
let d, p = 0;
const h = t => {
p && t - p < f || (p = t, (e => {
if (e) return [e];
const t = [];
return n.document.querySelectorAll("canvas").forEach(e => {
pv(e, r, o, i, !0) || t.push(e)
}), t
})(c).forEach(t => {
const n = this.mirror.getId(t);
if (!u.get(n) && t.width && t.height) {
if (u.set(n, !0), !e && ["webgl", "webgl2"].includes(t.__context)) {
const e = t.getContext(t.__context);
!1 === Sp([e, "optionalAccess", e => e.getContextAttributes, "call", e => e(), "optionalAccess", e => e.preserveDrawingBuffer]) && e.clear(e.COLOR_BUFFER_BIT)
}
createImageBitmap(t).then(e => {
l.postMessage({
id: n,
bitmap: e,
width: t.width,
height: t.height,
dataURLOptions: s,
maxCanvasSize: a
}, [e])
}).catch(e => {
_v(() => {
throw e
})()
})
}
})), d = gv(h)
};
return d = gv(h), d
}
startPendingCanvasMutationFlusher() {
gv(() => this.flushPendingCanvasMutations())
}
startRAFTimestamping() {
const e = t => {
this.rafStamps.latestId = t, gv(e)
};
gv(e)
}
flushPendingCanvasMutations() {
this.pendingCanvasMutations.forEach((e, t) => {
const n = this.mirror.getId(t);
this.flushPendingCanvasMutationFor(t, n)
}), gv(() => this.flushPendingCanvasMutations())
}
flushPendingCanvasMutationFor(e, t) {
if (this.frozen || this.locked) return;
const n = this.pendingCanvasMutations.get(e);
if (!n || -1 === t) return;
const r = n.map(e => {
const {
type: t,
...n
} = e;
return n
}),
{
type: o
} = n[0];
this.mutationCb({
id: t,
type: o,
commands: r
}), this.pendingCanvasMutations.delete(e)
}
}
const jv = {
low: {
sampling: {
canvas: 1
},
dataURLOptions: {
type: "image/webp",
quality: .25
}
},
medium: {
sampling: {
canvas: 2
},
dataURLOptions: {
type: "image/webp",
quality: .4
}
},
high: {
sampling: {
canvas: 4
},
dataURLOptions: {
type: "image/webp",
quality: .5
}
}
},
Rv = "ReplayCanvas",
Mv = 1280,
Dv = (e = {}) => {
const [t, n] = e.maxCanvasSize || [], r = {
quality: e.quality || "medium",
enableManualSnapshot: e.enableManualSnapshot,
maxCanvasSize: [t ? Math.min(t, Mv) : Mv, n ? Math.min(n, Mv) : Mv]
};
let o;
const i = new Promise(e => o = e);
return {
name: Rv,
setupOnce() {},
getOptions() {
const {
quality: e,
enableManualSnapshot: t,
maxCanvasSize: n
} = r;
return {
enableManualSnapshot: t,
recordCanvas: !0,
getCanvasManager: e => {
const r = new Cv({
...e,
enableManualSnapshot: t,
maxCanvasSize: n,
errorHandler: e => {
try {
"object" == typeof e && (e.__rrweb__ = !0)
} catch (e) {}
}
});
return o(r), r
},
...jv[e || "medium"] || jv.medium
}
},
async snapshot(e) {
(await i).snapshot(e)
}
}
},
Nv = Xc(Rv, Dv),
Lv = Ea,
Fv = "#ffffff",
Bv = "inherit",
Uv = "rgba(108, 95, 199, 1)",
Gv = {
fontFamily: "system-ui, 'Helvetica Neue', Arial, sans-serif",
fontSize: "14px",
background: Fv,
backgroundHover: "#f6f6f7",
foreground: "#2b2233",
border: "1.5px solid rgba(41, 35, 47, 0.13)",
borderRadius: "25px",
boxShadow: "0px 4px 24px 0px rgba(43, 34, 51, 0.12)",
success: "#268d75",
error: "#df3338",
submitBackground: "rgba(88, 74, 192, 1)",
submitBackgroundHover: Uv,
submitBorder: Uv,
submitOutlineFocus: "#29232f",
submitForeground: Fv,
submitForegroundHover: Fv,
cancelBackground: "transparent",
cancelBackgroundHover: "var(--background-hover)",
cancelBorder: "var(--border)",
cancelOutlineFocus: "var(--input-outline-focus)",
cancelForeground: "var(--foreground)",
cancelForegroundHover: "var(--foreground)",
inputBackground: Bv,
inputForeground: Bv,
inputBorder: "var(--border)",
inputOutlineFocus: Uv,
formBorderRadius: "20px",
formContentBorderRadius: "6px"
},
$v = Gv,
Hv = {
...Gv,
background: "#29232f",
backgroundHover: "#352f3b",
foreground: "#ebe6ef",
border: "1.5px solid rgba(235, 230, 239, 0.15)",
success: "#2da98c",
error: "#f55459"
},
zv = "widget",
qv = "api";
async function Wv({
feedback: {
message: e,
email: t,
name: n,
source: r,
url: o
}
}, {
includeReplay: i = !0
} = {}) {
const a = Uc(),
s = a && a.getTransport(),
c = a && a.getDsn();
if (!a || !s || !c) return;
const u = {
contexts: {
feedback: {
contact_email: t,
name: n,
message: e,
url: o,
source: r
}
},
type: "feedback"
};
return Rc(async e => {
e.clearBreadcrumbs(), [qv, zv].includes(String(r)) && e.setLevel("info");
const t = await async function({
client: e,
scope: t,
event: n
}) {
const r = {};
e.emit && e.emit("preprocessEvent", n, r);
const o = await vc(e.getOptions(), n, r, t, e, rc());
return null === o ? (e.recordDroppedEvent("event_processor", "feedback", n), null) : (o.platform = o.platform || "javascript", o)
}({
scope: e,
client: a,
event: u
});
if (!t) return;
a.emit && a.emit("beforeSendFeedback", t, {
includeReplay: Boolean(i)
});
const n = Ju(t, c, a.getOptions()._metadata, a.getOptions().tunnel);
let o;
try {
o = await s.send(n)
} catch (e) {
const t = new Error("Unable to send Feedback");
try {
t.cause = e
} catch (e) {}
throw t
}
if (o) {
if ("number" == typeof o.statusCode && (o.statusCode < 200 || o.statusCode >= 300)) throw new Error("Unable to send Feedback");
return o
}
})
}
function Vv({
name: e,
email: t,
message: n,
source: r = qv,
url: o = Ca()
}, i = {}) {
if (!n) throw new Error("Unable to submit feedback with empty message");
return Wv({
feedback: {
name: e,
email: t,
message: n,
url: o,
source: r
}
}, i)
}
const Yv = "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__;
function Jv(e, t) {
return {
...e,
...t,
themeDark: {
...e.themeDark,
...t.themeDark
},
themeLight: {
...e.themeLight,
...t.themeLight
}
}
}
function Kv(e) {
return `\n --background: ${e.background};\n --background-hover: ${e.backgroundHover};\n --foreground: ${e.foreground};\n --error: ${e.error};\n --success: ${e.success};\n --border: ${e.border};\n --border-radius: ${e.borderRadius};\n --box-shadow: ${e.boxShadow};\n\n --submit-background: ${e.submitBackground};\n --submit-background-hover: ${e.submitBackgroundHover};\n --submit-border: ${e.submitBorder};\n --submit-outline-focus: ${e.submitOutlineFocus};\n --submit-foreground: ${e.submitForeground};\n --submit-foreground-hover: ${e.submitForegroundHover};\n\n --cancel-background: ${e.cancelBackground};\n --cancel-background-hover: ${e.cancelBackgroundHover};\n --cancel-border: ${e.cancelBorder};\n --cancel-outline-focus: ${e.cancelOutlineFocus};\n --cancel-foreground: ${e.cancelForeground};\n --cancel-foreground-hover: ${e.cancelForegroundHover};\n\n --input-background: ${e.inputBackground};\n --input-foreground: ${e.inputForeground};\n --input-border: ${e.inputBorder};\n --input-outline-focus: ${e.inputOutlineFocus};\n\n --form-border-radius: ${e.formBorderRadius};\n --form-content-border-radius: ${e.formContentBorderRadius};\n `
}
function Qv({
id: e,
colorScheme: t,
themeDark: n,
themeLight: r
}) {
try {
const o = Lv.document,
i = o.createElement("div");
i.id = e;
const a = i.attachShadow({
mode: "open"
});
return a.appendChild(function(e, t, n) {
const r = e.createElement("style");
return r.textContent = `\n:host {\n --bottom: 1rem;\n --right: 1rem;\n --top: auto;\n --left: auto;\n --z-index: 100000;\n --font-family: ${n.light.fontFamily};\n --font-size: ${n.light.fontSize};\n\n position: fixed;\n left: var(--left);\n right: var(--right);\n bottom: var(--bottom);\n top: var(--top);\n z-index: var(--z-index);\n\n font-family: var(--font-family);\n font-size: var(--font-size);\n\n ${Kv("dark"===t?n.dark:n.light)}\n}\n\n${"system"===t?`\n@media (prefers-color-scheme: dark) {\n :host {\n ${Kv(n.dark)}\n }\n}`:""}\n}`, r
}(o, t, {
dark: n,
light: r
})), a.appendChild(function(e) {
const t = e.createElement("style");
return t.textContent = "\n.dialog {\n line-height: 25px;\n background-color: rgba(0, 0, 0, 0.05);\n border: none;\n position: fixed;\n inset: 0;\n z-index: 10000;\n width: 100vw;\n height: 100vh;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 1;\n transition: opacity 0.2s ease-in-out;\n}\n\n.dialog:not([open]) {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n}\n.dialog:not([open]) .dialog__content {\n transform: translate(0, -16px) scale(0.98);\n}\n\n.dialog__content {\n position: fixed;\n left: var(--left);\n right: var(--right);\n bottom: var(--bottom);\n top: var(--top);\n\n border: var(--border);\n border-radius: var(--form-border-radius);\n background-color: var(--background);\n color: var(--foreground);\n\n width: 320px;\n max-width: 100%;\n max-height: calc(100% - 2rem);\n display: flex;\n flex-direction: column;\n box-shadow: var(--box-shadow);\n transition: transform 0.2s ease-in-out;\n transform: translate(0, 0) scale(1);\n}\n\n.dialog__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 20px;\n font-weight: 600;\n padding: 24px 24px 0 24px;\n margin: 0;\n margin-bottom: 16px;\n}\n\n.brand-link {\n display: inline-flex;\n}\n\n.error {\n color: var(--error);\n margin-bottom: 16px;\n}\n\n.form {\n display: grid;\n overflow: auto;\n flex-direction: column;\n gap: 16px;\n padding: 0 24px 24px;\n}\n\n.form__error-container {\n color: var(--error);\n}\n\n.form__error-container--hidden {\n display: none;\n}\n\n.form__label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n margin: 0px;\n}\n\n.form__label__text {\n display: grid;\n gap: 4px;\n align-items: center;\n grid-auto-flow: column;\n grid-auto-columns: max-content;\n}\n\n.form__label__text--required {\n font-size: 0.85em;\n}\n\n.form__input {\n line-height: inherit;\n background-color: var(--input-background);\n box-sizing: border-box;\n border: var(--input-border);\n border-radius: var(--form-content-border-radius);\n color: var(--input-foreground);\n font-family: inherit;\n font-size: var(--font-size);\n font-weight: 500;\n padding: 6px 12px;\n}\n\n.form__input::placeholder {\n color: var(--input-foreground);\n opacity: 0.65;\n}\n\n.form__input:focus-visible {\n outline: 1px auto var(--input-outline-focus);\n}\n\n.form__input--textarea {\n font-family: inherit;\n resize: vertical;\n}\n\n.btn-group {\n display: grid;\n gap: 8px;\n margin-top: 8px;\n}\n\n.btn {\n line-height: inherit;\n border: var(--cancel-border);\n border-radius: var(--form-content-border-radius);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--font-size);\n font-weight: 600;\n padding: 6px 16px;\n}\n.btn[disabled] {\n opacity: 0.6;\n pointer-events: none;\n}\n\n.btn--primary {\n background-color: var(--submit-background);\n border-color: var(--submit-border);\n color: var(--submit-foreground);\n}\n.btn--primary:hover {\n background-color: var(--submit-background-hover);\n color: var(--submit-foreground-hover);\n}\n.btn--primary:focus-visible {\n outline: 1px auto var(--submit-outline-focus);\n}\n\n.btn--default {\n background-color: var(--cancel-background);\n color: var(--cancel-foreground);\n font-weight: 500;\n}\n.btn--default:hover {\n background-color: var(--cancel-background-hover);\n color: var(--cancel-foreground-hover);\n}\n.btn--default:focus-visible {\n outline: 1px auto var(--cancel-outline-focus);\n}\n\n.success-message {\n background-color: var(--background);\n border: var(--border);\n border-radius: var(--border-radius);\n box-shadow: var(--box-shadow);\n font-weight: 600;\n color: var(--success);\n padding: 12px 24px;\n line-height: 25px;\n display: grid;\n align-items: center;\n grid-auto-flow: column;\n gap: 6px;\n cursor: default;\n}\n\n.success-icon path {\n fill: var(--success);\n}\n", t
}(o)), {
shadow: a,
host: i
}
} catch (e) {
throw Fa.warn("[Feedback] Browser does not support shadow DOM API"), new Error("Browser does not support shadow DOM API.")
}
}
async function Xv(e, t, n) {
if (!e) return;
e.hideError();
try {
return await Vv({
...t,
source: zv
}, n)
} catch (t) {
Yv && Fa.error(t), e && e.showError("There was a problem submitting feedback, please wait and try again.")
}
}
function Zv(e, t) {
return Object.entries(t).forEach(([t, n]) => {
e.setAttributeNS(null, t, n)
}), e
}
function eb(e, t, ...n) {
const r = Lv.document.createElement(e);
t && Object.entries(t).forEach(([e, t]) => {
"className" === e && "string" == typeof t ? r.setAttribute("class", t) : "boolean" == typeof t && t ? r.setAttribute(e, "") : "string" == typeof t ? r.setAttribute(e, t) : e.startsWith("on") && "function" == typeof t && r.addEventListener(e.substring(2).toLowerCase(), t)
});
for (const e of n) tb(r, e);
return r
}
function tb(e, t) {
const n = Lv.document;
if (null != t)
if (Array.isArray(t))
for (const n of t) tb(e, n);
else !1 === t || ("string" == typeof t ? e.appendChild(n.createTextNode(t)) : t instanceof Node ? e.appendChild(t) : e.appendChild(n.createTextNode(String(t))))
}
function nb({
buttonLabel: e,
onClick: t
}) {
const n = eb("button", {
type: "button",
className: "widget__actor",
"aria-label": e,
"aria-hidden": "false"
}, function() {
const e = e => Lv.document.createElementNS("http://www.w3.org/2000/svg", e),
t = Zv(e("svg"), {
class: "feedback-icon",
width: "20",
height: "20",
viewBox: "0 0 20 20",
fill: "none"
}),
n = Zv(e("g"), {
clipPath: "url(#clip0_57_80)"
}),
r = Zv(e("path"), {
"fill-rule": "evenodd",
"clip-rule": "evenodd",
d: "M15.6622 15H12.3997C12.2129 14.9959 12.031 14.9396 11.8747 14.8375L8.04965 12.2H7.49956V19.1C7.4875 19.3348 7.3888 19.5568 7.22256 19.723C7.05632 19.8892 6.83435 19.9879 6.59956 20H2.04956C1.80193 19.9968 1.56535 19.8969 1.39023 19.7218C1.21511 19.5467 1.1153 19.3101 1.11206 19.0625V12.2H0.949652C0.824431 12.2017 0.700142 12.1783 0.584123 12.1311C0.468104 12.084 0.362708 12.014 0.274155 11.9255C0.185602 11.8369 0.115689 11.7315 0.0685419 11.6155C0.0213952 11.4995 -0.00202913 11.3752 -0.00034808 11.25V3.75C-0.00900498 3.62067 0.0092504 3.49095 0.0532651 3.36904C0.0972798 3.24712 0.166097 3.13566 0.255372 3.04168C0.344646 2.94771 0.452437 2.87327 0.571937 2.82307C0.691437 2.77286 0.82005 2.74798 0.949652 2.75H8.04965L11.8747 0.1625C12.031 0.0603649 12.2129 0.00407221 12.3997 0H15.6622C15.9098 0.00323746 16.1464 0.103049 16.3215 0.278167C16.4966 0.453286 16.5964 0.689866 16.5997 0.9375V3.25269C17.3969 3.42959 18.1345 3.83026 18.7211 4.41679C19.5322 5.22788 19.9878 6.32796 19.9878 7.47502C19.9878 8.62209 19.5322 9.72217 18.7211 10.5333C18.1345 11.1198 17.3969 11.5205 16.5997 11.6974V14.0125C16.6047 14.1393 16.5842 14.2659 16.5395 14.3847C16.4948 14.5035 16.4268 14.6121 16.3394 14.7042C16.252 14.7962 16.147 14.8698 16.0307 14.9206C15.9144 14.9714 15.7891 14.9984 15.6622 15ZM1.89695 10.325H1.88715V4.625H8.33715C8.52423 4.62301 8.70666 4.56654 8.86215 4.4625L12.6872 1.875H14.7247V13.125H12.6872L8.86215 10.4875C8.70666 10.3835 8.52423 10.327 8.33715 10.325H2.20217C2.15205 10.3167 2.10102 10.3125 2.04956 10.3125C1.9981 10.3125 1.94708 10.3167 1.89695 10.325ZM2.98706 12.2V18.1625H5.66206V12.2H2.98706ZM16.5997 9.93612V5.01393C16.6536 5.02355 16.7072 5.03495 16.7605 5.04814C17.1202 5.13709 17.4556 5.30487 17.7425 5.53934C18.0293 5.77381 18.2605 6.06912 18.4192 6.40389C18.578 6.73866 18.6603 7.10452 18.6603 7.47502C18.6603 7.84552 18.578 8.21139 18.4192 8.54616C18.2605 8.88093 18.0293 9.17624 17.7425 9.41071C17.4556 9.64518 17.1202 9.81296 16.7605 9.90191C16.7072 9.91509 16.6536 9.9265 16.5997 9.93612Z"
});
t.appendChild(n).appendChild(r);
const o = e("defs"),
i = Zv(e("clipPath"), {
id: "clip0_57_80"
}),
a = Zv(e("rect"), {
width: "20",
height: "20",
fill: "white"
});
return i.appendChild(a), o.appendChild(i), t.appendChild(o).appendChild(i).appendChild(a), {
get el() {
return t
}
}
}().el, e ? eb("span", {
className: "widget__actor__text"
}, e) : null);
return n.addEventListener("click", function(e) {
t && t(e)
}), {
get el() {
return n
},
show: () => {
n.classList.remove("widget__actor--hidden"), n.setAttribute("aria-hidden", "false")
},
hide: () => {
n.classList.add("widget__actor--hidden"), n.setAttribute("aria-hidden", "true")
}
}
}
function rb(e, t) {
const n = e.get(t);
return "string" == typeof n ? n.trim() : ""
}
function ob({
nameLabel: e,
namePlaceholder: t,
emailLabel: n,
emailPlaceholder: r,
messageLabel: o,
messagePlaceholder: i,
isRequiredLabel: a,
cancelButtonLabel: s,
submitButtonLabel: c,
showName: u,
showEmail: l,
isNameRequired: f,
isEmailRequired: d,
defaultName: p,
defaultEmail: h,
onCancel: m,
onSubmit: g
}) {
const {
el: y
} = function({
label: e
}) {
return {
el: eb("button", {
type: "submit",
className: "btn btn--primary",
"aria-label": e
}, e)
}
}({
label: c
});
const v = eb("div", {
className: "form__error-container form__error-container--hidden",
"aria-hidden": "true"
});
const b = eb("input", {
id: "name",
type: u ? "text" : "hidden",
"aria-hidden": u ? "false" : "true",
name: "name",
required: f,
className: "form__input",
placeholder: t,
value: p
}),
_ = eb("input", {
id: "email",
type: l ? "text" : "hidden",
"aria-hidden": l ? "false" : "true",
name: "email",
required: d,
className: "form__input",
placeholder: r,
value: h
}),
S = eb("textarea", {
id: "message",
autoFocus: "true",
rows: "5",
name: "message",
required: !0,
className: "form__input form__input--textarea",
placeholder: i
}),
w = eb("button", {
type: "button",
className: "btn btn--default",
"aria-label": s,
onClick: e => {
m && m(e)
}
}, s),
O = eb("form", {
className: "form",
onSubmit: function(e) {
if (e.preventDefault(), e.target instanceof HTMLFormElement) try {
if (g) {
const t = new FormData(e.target),
n = {
name: rb(t, "name"),
email: rb(t, "email"),
message: rb(t, "message")
};
g(n)
}
} catch (e) {}
}
}, [v, u && eb("label", {
htmlFor: "name",
className: "form__label"
}, [eb("span", {
className: "form__label__text"
}, e, f && eb("span", {
className: "form__label__text--required"
}, ` ${a}`)), b]), !u && b, l && eb("label", {
htmlFor: "email",
className: "form__label"
}, [eb("span", {
className: "form__label__text"
}, n, d && eb("span", {
className: "form__label__text--required"
}, ` ${a}`)), _]), !l && _, eb("label", {
htmlFor: "message",
className: "form__label"
}, [eb("span", {
className: "form__label__text"
}, o, eb("span", {
className: "form__label__text--required"
}, ` ${a}`)), S]), eb("div", {
className: "btn-group"
}, [y, w])]);
return {
get el() {
return O
},
showError: function(e) {
v.textContent = e, v.classList.remove("form__error-container--hidden"), v.setAttribute("aria-hidden", "false")
},
hideError: function() {
v.textContent = "", v.classList.add("form__error-container--hidden"), v.setAttribute("aria-hidden", "true")
}
}
}
function ib({
formTitle: e,
showBranding: t,
showName: n,
showEmail: r,
isNameRequired: o,
isEmailRequired: i,
colorScheme: a,
defaultName: s,
defaultEmail: c,
onClosed: u,
onCancel: l,
onSubmit: f,
...d
}) {
let p = null;
function h() {
p && (p.open = !1)
}
const {
el: m,
showError: g,
hideError: y
} = ob({
showEmail: r,
showName: n,
isEmailRequired: i,
isNameRequired: o,
defaultName: s,
defaultEmail: c,
onSubmit: f,
onCancel: l,
...d
});
return p = eb("dialog", {
className: "dialog",
open: !0,
onClick: function() {
h(), u && u()
}
}, eb("div", {
className: "dialog__content",
onClick: e => {
e.stopPropagation()
}
}, eb("h2", {
className: "dialog__header"
}, e, t && eb("a", {
className: "brand-link",
target: "_blank",
href: "https://sentry.io/welcome/",
title: "Powered by Sentry",
rel: "noopener noreferrer"
}, function({
colorScheme: e
}) {
const t = e => Lv.document.createElementNS("http://www.w3.org/2000/svg", e),
n = Zv(t("svg"), {
class: "sentry-logo",
width: "32",
height: "30",
viewBox: "0 0 72 66",
fill: "none"
}),
r = Zv(t("path"), {
transform: "translate(11, 11)",
d: "M29,2.26a4.67,4.67,0,0,0-8,0L14.42,13.53A32.21,32.21,0,0,1,32.17,40.19H27.55A27.68,27.68,0,0,0,12.09,17.47L6,28a15.92,15.92,0,0,1,9.23,12.17H4.62A.76.76,0,0,1,4,39.06l2.94-5a10.74,10.74,0,0,0-3.36-1.9l-2.91,5a4.54,4.54,0,0,0,1.69,6.24A4.66,4.66,0,0,0,4.62,44H19.15a19.4,19.4,0,0,0-8-17.31l2.31-4A23.87,23.87,0,0,1,23.76,44H36.07a35.88,35.88,0,0,0-16.41-31.8l4.67-8a.77.77,0,0,1,1.05-.27c.53.29,20.29,34.77,20.66,35.17a.76.76,0,0,1-.68,1.13H40.6q.09,1.91,0,3.81h4.78A4.59,4.59,0,0,0,50,39.43a4.49,4.49,0,0,0-.62-2.28Z"
});
n.append(r);
const o = t("defs"),
i = t("style");
return i.textContent = `\n path {\n fill: ${"dark"===e?"#fff":"#362d59"};\n }`, "system" === e && (i.textContent += "\n @media (prefers-color-scheme: dark) {\n path: {\n fill: '#fff';\n }\n }\n "), o.append(i), n.append(o), {
get el() {
return n
}
}
}({
colorScheme: a
}).el)), m)), {
get el() {
return p
},
showError: g,
hideError: y,
open: function() {
p && (p.open = !0)
},
close: h,
checkIsOpen: function() {
return p && !0 === p.open || !1
}
}
}
function ab({
message: e,
onRemove: t
}) {
function n() {
r && (r.remove(), t && t())
}
const r = eb("div", {
className: "success-message",
onClick: n
}, function() {
const e = e => Lv.document.createElementNS("http://www.w3.org/2000/svg", e),
t = Zv(e("svg"), {
class: "success-icon",
width: "16",
height: "17",
viewBox: "0 0 16 17",
fill: "none"
}),
n = Zv(e("g"), {
clipPath: "url(#clip0_57_156)"
}),
r = Zv(e("path"), {
"fill-rule": "evenodd",
"clip-rule": "evenodd",
d: "M3.55544 15.1518C4.87103 16.0308 6.41775 16.5 8 16.5C10.1217 16.5 12.1566 15.6571 13.6569 14.1569C15.1571 12.6566 16 10.6217 16 8.5C16 6.91775 15.5308 5.37103 14.6518 4.05544C13.7727 2.73985 12.5233 1.71447 11.0615 1.10897C9.59966 0.503466 7.99113 0.34504 6.43928 0.653721C4.88743 0.962403 3.46197 1.72433 2.34315 2.84315C1.22433 3.96197 0.462403 5.38743 0.153721 6.93928C-0.15496 8.49113 0.00346625 10.0997 0.608967 11.5615C1.21447 13.0233 2.23985 14.2727 3.55544 15.1518ZM4.40546 3.1204C5.46945 2.40946 6.72036 2.03 8 2.03C9.71595 2.03 11.3616 2.71166 12.575 3.92502C13.7883 5.13838 14.47 6.78405 14.47 8.5C14.47 9.77965 14.0905 11.0306 13.3796 12.0945C12.6687 13.1585 11.6582 13.9878 10.476 14.4775C9.29373 14.9672 7.99283 15.0953 6.73777 14.8457C5.48271 14.596 4.32987 13.9798 3.42502 13.075C2.52018 12.1701 1.90397 11.0173 1.65432 9.76224C1.40468 8.50718 1.5328 7.20628 2.0225 6.02404C2.5122 4.8418 3.34148 3.83133 4.40546 3.1204Z"
}),
o = Zv(e("path"), {
d: "M6.68775 12.4297C6.78586 12.4745 6.89218 12.4984 7 12.5C7.11275 12.4955 7.22315 12.4664 7.32337 12.4145C7.4236 12.3627 7.51121 12.2894 7.58 12.2L12 5.63999C12.0848 5.47724 12.1071 5.28902 12.0625 5.11098C12.0178 4.93294 11.9095 4.77744 11.7579 4.67392C11.6064 4.57041 11.4221 4.52608 11.24 4.54931C11.0579 4.57254 10.8907 4.66173 10.77 4.79999L6.88 10.57L5.13 8.56999C5.06508 8.49566 4.98613 8.43488 4.89768 8.39111C4.80922 8.34735 4.713 8.32148 4.61453 8.31498C4.51605 8.30847 4.41727 8.32147 4.32382 8.35322C4.23038 8.38497 4.14413 8.43484 4.07 8.49999C3.92511 8.63217 3.83692 8.81523 3.82387 9.01092C3.81083 9.2066 3.87393 9.39976 4 9.54999L6.43 12.24C6.50187 12.3204 6.58964 12.385 6.68775 12.4297Z"
});
t.appendChild(n).append(o, r);
const i = e("defs"),
a = Zv(e("clipPath"), {
id: "clip0_57_156"
}),
s = Zv(e("rect"), {
width: "16",
height: "16",
fill: "white",
transform: "translate(0 0.5)"
});
return a.appendChild(s), i.appendChild(a), t.appendChild(i).appendChild(a).appendChild(s), {
get el() {
return t
}
}
}().el, e);
return {
el: r,
remove: n
}
}
function sb({
shadow: e,
options: {
shouldCreateActor: t = !0,
...n
},
attachTo: r
}) {
let o, i, a = !1;
async function s(t) {
if (!i) return;
const r = [];
if (n.isNameRequired && !t.name && r.push(n.nameLabel), n.isEmailRequired && !t.email && r.push(n.emailLabel), t.message || r.push(n.messageLabel), r.length > 0) return void i.showError(`Please enter in the following required fields: ${r.join(", ")}`);
await Xv(i, t) ? (p(), function() {
if (e) try {
const t = ab({
message: n.successMessageText,
onRemove: () => {
r && clearTimeout(r), u()
}
});
if (!t.el) throw new Error("Unable to show success message");
e.appendChild(t.el);
const r = setTimeout(() => {
t && t.remove()
}, 5e3)
} catch (e) {
Fa.error(e)
}
}(), n.onSubmitSuccess && n.onSubmitSuccess()) : n.onSubmitError && n.onSubmitError()
}
function c() {
const e = Uc(),
t = e && e.getIntegrationByName && e.getIntegrationByName("Replay");
t && t.flush().catch(e => {
Yv && Fa.error(e)
})
}
function u() {
o && o.show()
}
function l() {
o && o.hide()
}
function f() {
try {
if (i) return i.open(), a = !0, n.onFormOpen && n.onFormOpen(), void c();
const t = n.useSentryUser,
r = $c(),
o = r && r.getUser();
if (i = ib({
colorScheme: n.colorScheme,
showBranding: n.showBranding,
showName: n.showName || n.isNameRequired,
showEmail: n.showEmail || n.isEmailRequired,
isNameRequired: n.isNameRequired,
isEmailRequired: n.isEmailRequired,
formTitle: n.formTitle,
cancelButtonLabel: n.cancelButtonLabel,
submitButtonLabel: n.submitButtonLabel,
emailLabel: n.emailLabel,
emailPlaceholder: n.emailPlaceholder,
messageLabel: n.messageLabel,
messagePlaceholder: n.messagePlaceholder,
nameLabel: n.nameLabel,
namePlaceholder: n.namePlaceholder,
isRequiredLabel: n.isRequiredLabel,
defaultName: t && o && o[t.name] || "",
defaultEmail: t && o && o[t.email] || "",
onClosed: () => {
u(), a = !1, n.onFormClose && n.onFormClose()
},
onCancel: () => {
d(), u()
},
onSubmit: s
}), !i.el) throw new Error("Unable to open Feedback dialog");
e.appendChild(i.el), l(), n.onFormOpen && n.onFormOpen(), c()
} catch (e) {
Fa.error(e)
}
}
function d() {
i && (i.close(), a = !1, n.onFormClose && n.onFormClose())
}
function p() {
if (i) {
d();
const e = i.el;
e && e.remove(), i = void 0
}
}
function h() {
a || f(), l()
}
return r ? r.addEventListener("click", h) : t && (o = nb({
buttonLabel: n.buttonLabel,
onClick: h
}), o.el && e.appendChild(o.el)), {
get actor() {
return o
},
get dialog() {
return i
},
showActor: u,
hideActor: l,
removeActor: function() {
o && o.el && o.el.remove()
},
openDialog: f,
closeDialog: d,
removeDialog: p
}
}
const cb = Lv.document,
ub = e => new lb(e);
class lb {
static __initStatic() {
this.id = "Feedback"
}
constructor({
autoInject: e = !0,
id: t = "sentry-feedback",
isEmailRequired: n = !1,
isNameRequired: r = !1,
showBranding: o = !0,
showEmail: i = !0,
showName: a = !0,
useSentryUser: s = {
email: "email",
name: "username"
},
themeDark: c,
themeLight: u,
colorScheme: l = "system",
buttonLabel: f = "Report a Bug",
cancelButtonLabel: d = "Cancel",
submitButtonLabel: p = "Send Bug Report",
formTitle: h = "Report a Bug",
emailPlaceholder: m = "your.email@example.org",
emailLabel: g = "Email",
messagePlaceholder: y = "What's the bug? What did you expect?",
messageLabel: v = "Description",
namePlaceholder: b = "Your Name",
nameLabel: _ = "Name",
isRequiredLabel: S = "(required)",
successMessageText: w = "Thank you for your report!",
onFormClose: O,
onFormOpen: E,
onSubmitError: k,
onSubmitSuccess: T
} = {}) {
this.name = lb.id, this._host = null, this._shadow = null, this._widget = null, this._widgets = new Set, this._hasInsertedActorStyles = !1, this.options = {
autoInject: e,
showBranding: o,
id: t,
isEmailRequired: n,
isNameRequired: r,
showEmail: i,
showName: a,
useSentryUser: s,
colorScheme: l,
themeDark: {
...Hv,
...c
},
themeLight: {
...$v,
...u
},
buttonLabel: f,
cancelButtonLabel: d,
submitButtonLabel: p,
formTitle: h,
emailLabel: g,
emailPlaceholder: m,
messageLabel: v,
messagePlaceholder: y,
nameLabel: _,
namePlaceholder: b,
isRequiredLabel: S,
successMessageText: w,
onFormClose: O,
onFormOpen: E,
onSubmitError: k,
onSubmitSuccess: T
}
}
setupOnce() {
if (kp()) try {
this._cleanupWidgetIfExists();
const {
autoInject: e
} = this.options;
if (!e) return;
this._createWidget(this.options)
} catch (e) {
Yv && Fa.error(e)
}
}
openDialog() {
this._widget || this._createWidget({
...this.options,
shouldCreateActor: !1
}), this._widget && this._widget.openDialog()
}
closeDialog() {
this._widget && this._widget.closeDialog()
}
attachTo(e, t) {
try {
const n = Jv(this.options, t || {});
return this._ensureShadowHost(n, ({
shadow: t
}) => {
const r = "string" == typeof e ? cb.querySelector(e) : "function" == typeof e.addEventListener ? e : null;
if (!r) return Yv && Fa.error("[Feedback] Unable to attach to target element"), null;
const o = sb({
shadow: t,
options: n,
attachTo: r
});
return this._widgets.add(o), this._widget || (this._widget = o), o
})
} catch (e) {
return Yv && Fa.error(e), null
}
}
createWidget(e) {
try {
return this._createWidget(Jv(this.options, e || {}))
} catch (e) {
return Yv && Fa.error(e), null
}
}
removeWidget(e) {
if (!e) return !1;
try {
if (this._widgets.has(e)) return e.removeActor(), e.removeDialog(), this._widgets.delete(e), this._widget === e && (this._widget = null), !0
} catch (e) {
Yv && Fa.error(e)
}
return !1
}
getWidget() {
return this._widget
}
remove() {
this._host && this._host.remove(), this._initialize()
}
_initialize() {
this._host = null, this._shadow = null, this._widget = null, this._widgets = new Set, this._hasInsertedActorStyles = !1
}
_cleanupWidgetIfExists() {
this._host && this.remove();
const e = cb.querySelector(`#${this.options.id}`);
e && e.remove()
}
_createWidget(e) {
return this._ensureShadowHost(e, ({
shadow: t
}) => {
const n = sb({
shadow: t,
options: e
});
return !this._hasInsertedActorStyles && n.actor && (t.appendChild(function(e) {
const t = e.createElement("style");
return t.textContent = "\n.widget__actor {\n position: fixed;\n left: var(--left);\n right: var(--right);\n bottom: var(--bottom);\n top: var(--top);\n z-index: var(--z-index);\n\n line-height: 16px;\n\n display: flex;\n align-items: center;\n gap: 8px;\n\n border-radius: var(--border-radius);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--font-size);\n font-weight: 600;\n padding: 16px;\n text-decoration: none;\n z-index: 9000;\n\n color: var(--foreground);\n background-color: var(--background);\n border: var(--border);\n box-shadow: var(--box-shadow);\n opacity: 1;\n transition: opacity 0.1s ease-in-out;\n}\n\n.widget__actor:hover {\n background-color: var(--background-hover);\n}\n\n.widget__actor svg {\n width: 16px;\n height: 16px;\n}\n\n.widget__actor--hidden {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n}\n\n.widget__actor__text {\n}\n\n@media (max-width: 600px) {\n .widget__actor__text {\n display: none;\n }\n}\n\n.feedback-icon path {\n fill: var(--foreground);\n}\n", t
}(cb)), this._hasInsertedActorStyles = !0), this._widgets.add(n), this._widget || (this._widget = n), n
})
}
_ensureShadowHost(e, t) {
let n = !1;
if (!this._shadow || !this._host) {
const {
id: t,
colorScheme: r,
themeLight: o,
themeDark: i
} = e, {
shadow: a,
host: s
} = Qv({
id: t,
colorScheme: r,
themeLight: o,
themeDark: i
});
this._shadow = a, this._host = s, n = !0
}
this._host.dataset.sentryFeedbackColorscheme = e.colorScheme;
const r = t({
shadow: this._shadow,
host: this._host
});
return n && cb.body.appendChild(this._host), r
}
}
lb.__initStatic();
const fb = "CaptureConsole",
db = (e = {}) => {
const t = e.levels || Da;
return {
name: fb,
setupOnce() {},
setup(e) {
"console" in Ea && gd(({
args: n,
level: r
}) => {
Uc() === e && t.includes(r) && function(e, t) {
const n = {
level: Md(t),
extra: {
arguments: e
}
};
Rc(r => {
if (r.addEventProcessor(e => (e.logger = "console", is(e, {
handled: !1,
type: "console"
}), e)), "assert" === t && !1 === e[0]) {
const t = `Assertion failed: ${Ga(e.slice(1)," ")||"console.assert"}`;
return r.setExtra("arguments", e.slice(1)), void Oc(t, n)
}
const o = e.find(e => e instanceof Error);
if ("error" === t && o) return void wc(o, n);
Oc(Ga(e, " "), n)
})
}(n, r)
})
}
}
};
Xc(fb, db);
const pb = Ea,
hb = "ContextLines",
mb = (e = {}) => {
const t = null != e.frameContextLines ? e.frameContextLines : 7;
return {
name: hb,
setupOnce() {},
processEvent: e => function(e, t) {
const n = pb.document,
r = pb.location && (o = pb.location.href, o.split(/[\?#]/, 1)[0]);
var o;
if (!n || !r) return e;
const i = e.exception && e.exception.values;
if (!i || !i.length) return e;
const a = n.documentElement.innerHTML;
if (!a) return e;
const s = ["", "", ...a.split("\n"), ""];
return i.forEach(e => {
const n = e.stacktrace;
n && n.frames && (n.frames = n.frames.map(e => function(e, t, n, r) {
if (e.filename !== n || !e.lineno || !t.length) return e;
return function(e, t, n = 5) {
if (void 0 === t.lineno) return;
const r = e.length,
o = Math.max(Math.min(r - 1, t.lineno - 1), 0);
t.pre_context = e.slice(Math.max(0, o - n), o).map(e => Ua(e, 0)), t.context_line = Ua(e[Math.min(r - 1, o)], t.colno || 0), t.post_context = e.slice(Math.min(o + 1, r), o + 1 + n).map(e => Ua(e, 0))
}(t, e, r), e
}(e, s, r, t)))
}), e
}(e, t)
}
};
Xc(hb, mb);
const gb = "Debug",
yb = (e = {}) => {
const t = {
debugger: !1,
stringify: !1,
...e
};
return {
name: gb,
setupOnce() {},
setup(e) {
e.on && e.on("beforeSendEvent", (e, n) => {
t.debugger, La(() => {
t.stringify ? (console.log(JSON.stringify(e, null, 2)), n && Object.keys(n).length && console.log(JSON.stringify(n, null, 2))) : (console.log(e), n && Object.keys(n).length && console.log(n))
})
})
}
}
},
vb = (Xc(gb, yb), "undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__),
bb = "Dedupe",
_b = () => {
let e;
return {
name: bb,
setupOnce() {},
processEvent(t) {
if (t.type) return t;
try {
if (function(e, t) {
if (!t) return !1;
if (function(e, t) {
const n = e.message,
r = t.message;
if (!n && !r) return !1;
if (n && !r || !n && r) return !1;
if (n !== r) return !1;
if (!wb(e, t)) return !1;
if (!Sb(e, t)) return !1;
return !0
}(e, t)) return !0;
if (function(e, t) {
const n = Ob(t),
r = Ob(e);
if (!n || !r) return !1;
if (n.type !== r.type || n.value !== r.value) return !1;
if (!wb(e, t)) return !1;
if (!Sb(e, t)) return !1;
return !0
}(e, t)) return !0;
return !1
}(t, e)) return vb && Fa.warn("Event dropped due to being a duplicate of previously captured event."), null
} catch (e) {}
return e = t
}
}
};
Xc(bb, _b);
function Sb(e, t) {
let n = Eb(e),
r = Eb(t);
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
if (r.length !== n.length) return !1;
for (let e = 0; e < r.length; e++) {
const t = r[e],
o = n[e];
if (t.filename !== o.filename || t.lineno !== o.lineno || t.colno !== o.colno || t.function !== o.function) return !1
}
return !0
}
function wb(e, t) {
let n = e.fingerprint,
r = t.fingerprint;
if (!n && !r) return !0;
if (n && !r || !n && r) return !1;
try {
return !(n.join("") !== r.join(""))
} catch (e) {
return !1
}
}
function Ob(e) {
return e.exception && e.exception.values && e.exception.values[0]
}
function Eb(e) {
const t = e.exception;
if (t) try {
return t.values[0].stacktrace.frames
} catch (e) {
return
}
}
const kb = "ExtraErrorData",
Tb = (e = {}) => {
const t = e.depth || 3,
n = e.captureErrorCause || !1;
return {
name: kb,
setupOnce() {},
processEvent: (e, r) => function(e, t = {}, n, r) {
if (!t.originalException || !la(t.originalException)) return e;
const o = t.originalException.name || t.originalException.constructor.name,
i = function(e, t) {
try {
const n = ["name", "message", "stack", "line", "column", "fileName", "lineNumber", "columnNumber", "toJSON"],
r = {};
for (const t of Object.keys(e)) {
if (-1 !== n.indexOf(t)) continue;
const o = e[t];
r[t] = la(o) ? o.toString() : o
}
if (t && void 0 !== e.cause && (r.cause = la(e.cause) ? e.cause.toString() : e.cause), "function" == typeof e.toJSON) {
const t = e.toJSON();
for (const e of Object.keys(t)) {
const n = t[e];
r[e] = la(n) ? n.toString() : n
}
}
return r
} catch (e) {
vb && Fa.error("Unable to extract extra data from the Error object:", e)
}
return null
}(t.originalException, r);
if (i) {
const t = {
...e.contexts
},
r = mc(i, n);
return ya(r) && (qa(r, "__sentry_skip_normalization__", !0), t[o] = r), {
...e,
contexts: t
}
}
return e
}(e, r, t, n)
}
};
Xc(kb, Tb);
const xb = "HttpClient",
Ib = (e = {}) => {
const t = {
failedRequestStatusCodes: [
[500, 599]
],
failedRequestTargets: [/.*/],
...e
};
return {
name: xb,
setupOnce() {},
setup(e) {
! function(e, t) {
if (!Hf()) return;
Pd(n => {
if (Uc() !== e) return;
const {
response: r,
args: o
} = n, [i, a] = o;
r && function(e, t, n, r) {
if (Cb(e, n.status, n.url)) {
const e = function(e, t) {
if (!t && e instanceof Request) return e;
if (e instanceof Request && e.bodyUsed) return e;
return new Request(e, t)
}(t, r);
let o, i, a, s;
Rb() && ([{
headers: o,
cookies: a
}, {
headers: i,
cookies: s
}] = [{
cookieHeader: "Cookie",
obj: e
}, {
cookieHeader: "Set-Cookie",
obj: n
}].map(({
cookieHeader: e,
obj: t
}) => {
const n = function(e) {
const t = {};
return e.forEach((e, n) => {
t[n] = e
}), t
}(t.headers);
let r;
try {
const t = n[e] || n[e.toLowerCase()] || void 0;
t && (r = Ab(t))
} catch (t) {
vb && Fa.log(`Could not extract cookies from header ${e}`)
}
return {
headers: n,
cookies: r
}
}));
Ec(jb({
url: e.url,
method: e.method,
status: n.status,
requestHeaders: o,
responseHeaders: i,
requestCookies: a,
responseCookies: s
}))
}
}(t, i, r, a)
})
}(e, t),
function(e, t) {
if (!("XMLHttpRequest" in Ea)) return;
xd(n => {
if (Uc() !== e) return;
const r = n.xhr,
o = r[Td];
if (!o) return;
const {
method: i,
request_headers: a
} = o;
try {
! function(e, t, n, r) {
if (Cb(e, t.status, t.responseURL)) {
let e, o, i;
if (Rb()) {
try {
const e = t.getResponseHeader("Set-Cookie") || t.getResponseHeader("set-cookie") || void 0;
e && (o = Ab(e))
} catch (e) {
vb && Fa.log("Could not extract cookies from response headers")
}
try {
i = function(e) {
const t = e.getAllResponseHeaders();
if (!t) return {};
return t.split("\r\n").reduce((e, t) => {
const [n, r] = t.split(": ");
return e[n] = r, e
}, {})
}(t)
} catch (e) {
vb && Fa.log("Could not extract headers from response")
}
e = r
}
Ec(jb({
url: t.responseURL,
method: n,
status: t.status,
requestHeaders: e,
responseHeaders: i,
responseCookies: o
}))
}
}(t, r, i, a)
} catch (e) {
vb && Fa.warn("Error while extracting response event form XHR response", e)
}
})
}(e, t)
}
}
};
Xc(xb, Ib);
function Pb(e) {
if (e) {
const t = e["Content-Length"] || e["content-length"];
if (t) return parseInt(t, 10)
}
}
function Ab(e) {
return e.split("; ").reduce((e, t) => {
const [n, r] = t.split("=");
return e[n] = r, e
}, {})
}
function Cb(e, t, n) {
return function(e, t) {
return e.some(e => "number" == typeof e ? e === t : t >= e[0] && t <= e[1])
}(e.failedRequestStatusCodes, t) && (r = e.failedRequestTargets, o = n, r.some(e => "string" == typeof e ? o.includes(e) : e.test(o))) && !wp(n, Uc());
var r, o
}
function jb(e) {
const t = `HTTP Client Error with status code: ${e.status}`,
n = {
message: t,
exception: {
values: [{
type: "Error",
value: t
}]
},
request: {
url: e.url,
method: e.method,
headers: e.requestHeaders,
cookies: e.requestCookies
},
contexts: {
response: {
status_code: e.status,
headers: e.responseHeaders,
cookies: e.responseCookies,
body_size: Pb(e.responseHeaders)
}
}
};
return is(n, {
type: "http.client",
handled: !1
}), n
}
function Rb() {
const e = Uc();
return !!e && Boolean(e.getOptions().sendDefaultPii)
}
const Mb = Ea,
Db = "ReportingObserver",
Nb = new WeakMap,
Lb = (e = {}) => {
const t = e.types || ["crash", "deprecation", "intervention"];
function n(e) {
if (Nb.has(Uc()))
for (const t of e) Rc(e => {
e.setExtra("url", t.url);
const n = `ReportingObserver [${t.type}]`;
let r = "No details available";
if (t.body) {
const n = {};
for (const e in t.body) n[e] = t.body[e];
if (e.setExtra("body", n), "crash" === t.type) {
const e = t.body;
r = [e.crashId || "", e.reason || ""].join(" ").trim() || r
} else {
r = t.body.message || r
}
}
Oc(`${n}: ${r}`)
})
}
return {
name: Db,
setupOnce() {
if (!("ReportingObserver" in Uf)) return;
new Mb.ReportingObserver(n, {
buffered: !0,
types: t
}).observe()
},
setup(e) {
Nb.set(e, !0)
}
}
};
Xc(Db, Lb);
function Fb(e, t) {
let n = 0;
for (let t = e.length - 1; t >= 0; t--) {
const r = e[t];
"." === r ? e.splice(t, 1) : ".." === r ? (e.splice(t, 1), n++) : n && (e.splice(t, 1), n--)
}
if (t)
for (; n--; n) e.unshift("..");
return e
}
const Bb = /^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;
function Ub(e) {
const t = e.length > 1024 ? `${e.slice(-1024)}` : e,
n = Bb.exec(t);
return n ? n.slice(1) : []
}
function Gb(...e) {
let t = "",
n = !1;
for (let r = e.length - 1; r >= -1 && !n; r--) {
const o = r >= 0 ? e[r] : "/";
o && (t = `${o}/${t}`, n = "/" === o.charAt(0))
}
return t = Fb(t.split("/").filter(e => !!e), !n).join("/"), (n ? "/" : "") + t || "."
}
function $b(e) {
let t = 0;
for (; t < e.length && "" === e[t]; t++);
let n = e.length - 1;
for (; n >= 0 && "" === e[n]; n--);
return t > n ? [] : e.slice(t, n - t + 1)
}
const Hb = "RewriteFrames",
zb = (e = {}) => {
const t = e.root,
n = e.prefix || "app:///",
r = e.iteratee || (e => {
if (!e.filename) return e;
const r = /^[a-zA-Z]:\\/.test(e.filename) || e.filename.includes("\\") && !e.filename.includes("/"),
o = /^\//.test(e.filename);
if (r || o) {
const o = r ? e.filename.replace(/^[a-zA-Z]:/, "").replace(/\\/g, "/") : e.filename,
i = t ? function(e, t) {
e = Gb(e).slice(1), t = Gb(t).slice(1);
const n = $b(e.split("/")),
r = $b(t.split("/")),
o = Math.min(n.length, r.length);
let i = o;
for (let e = 0; e < o; e++)
if (n[e] !== r[e]) {
i = e;
break
} let a = [];
for (let e = i; e < n.length; e++) a.push("..");
return a = a.concat(r.slice(i)), a.join("/")
}(t, o) : function(e, t) {
let n = Ub(e)[2];
return t && n.slice(-1 * t.length) === t && (n = n.slice(0, n.length - t.length)), n
}(o);
e.filename = `${n}${i}`
}
return e
});
return {
name: Hb,
setupOnce() {},
processEvent(e) {
let t = e;
return e.exception && Array.isArray(e.exception.values) && (t = function(e) {
try {
return {
...e,
exception: {
...e.exception,
values: e.exception.values.map(e => {
return {
...e,
...e.stacktrace && {
stacktrace: (t = e.stacktrace, {
...t,
frames: t && t.frames && t.frames.map(e => r(e))
})
}
};
var t
})
}
}
} catch (t) {
return e
}
}(t)), t
}
}
},
qb = (Xc(Hb, zb), "SessionTiming"),
Wb = () => {
const e = Date.now();
return {
name: qb,
setupOnce() {},
processEvent(t) {
const n = Date.now();
return {
...t,
extra: {
...t.extra,
"session:start": e,
"session:duration": n - e,
"session:end": n
}
}
}
}
};
Xc(qb, Wb);
function Vb() {
Ip.document ? Ip.document.addEventListener("visibilitychange", () => {
const e = gl();
if (Ip.document.hidden && e) {
const t = "cancelled",
{
op: n,
status: r
} = Us(e);
Tp && Fa.log(`[Tracing] Transaction: ${t} -> since tab moved to the background, op: ${n}`), r || e.setStatus(t), e.setTag("visibilitychange", "document.hidden"), e.end()
}
}) : Tp && Fa.warn("[Tracing] Could not set up background tab detection due to lack of global document")
}
function Yb(e) {
return [{
type: "span"
}, e]
}
function Jb(e) {
return "number" == typeof e && isFinite(e)
}
function Kb(e, {
startTimestamp: t,
...n
}) {
return t && e.startTimestamp > t && (e.startTimestamp = t), e.startChild({
startTimestamp: t,
...n
})
}
function Qb(e) {
return e / 1e3
}
function Xb() {
return Ip && Ip.addEventListener && Ip.performance
}
let Zb, e_, t_ = 0,
n_ = {};
function r_() {
const e = Xb();
if (e && ds) {
e.mark && Ip.performance.mark("sentry-tracing-init");
const t = lh("fid", ({
metric: e
}) => {
const t = e.entries[e.entries.length - 1];
if (!t) return;
const n = Qb(ds),
r = Qb(t.startTime);
Tp && Fa.log("[Measurements] Adding FID"), n_.fid = {
value: e.value,
unit: "millisecond"
}, n_["mark.fid"] = {
value: n + r,
unit: "second"
}
}, ah, Xp),
n = function(e, t = !1) {
return lh("cls", e, ih, Qp, t)
}(({
metric: e
}) => {
const t = e.entries[e.entries.length - 1];
t && (Tp && Fa.log("[Measurements] Adding CLS"), n_.cls = {
value: e.value,
unit: ""
}, e_ = t)
}, !0),
r = nh(({
metric: e
}) => {
const t = e.entries[e.entries.length - 1];
t && (Tp && Fa.log("[Measurements] Adding LCP"), n_.lcp = {
value: e.value,
unit: "millisecond"
}, Zb = t)
}, !0),
o = function(e) {
return lh("ttfb", e, ch, eh)
}(({
metric: e
}) => {
e.entries[e.entries.length - 1] && (Tp && Fa.log("[Measurements] Adding TTFB"), n_.ttfb = {
value: e.value,
unit: "millisecond"
})
});
return () => {
t(), n(), r(), o()
}
}
return () => {}
}
function o_() {
rh("longtask", ({
entries: e
}) => {
for (const t of e) {
const e = gl();
if (!e) return;
const n = Qb(ds + t.startTime),
r = Qb(t.duration);
e.startChild({
description: "Main UI thread blocked",
op: "ui.long-task",
origin: "auto.ui.browser.metrics",
startTimestamp: n,
endTimestamp: n + r
})
}
})
}
function i_() {
rh("event", ({
entries: e
}) => {
for (const t of e) {
const e = gl();
if (!e) return;
if ("click" === t.name) {
const n = Qb(ds + t.startTime),
r = Qb(t.duration),
o = {
description: Pa(t.target),
op: `ui.interaction.${t.name}`,
origin: "auto.ui.browser.metrics",
startTimestamp: n,
endTimestamp: n + r
},
i = Ra(t.target);
i && (o.attributes = {
"ui.component_name": i
}), e.startChild(o)
}
}
})
}
function a_(e, t) {
if (Xb() && ds) {
const n = function(e, t) {
return n = ({
metric: n
}) => {
if (void 0 === n.value) return;
const r = n.entries.find(e => e.duration === n.value && void 0 !== s_[e.name]),
o = Uc();
if (!r || !o) return;
const i = s_[r.name],
a = o.getOptions(),
s = Qb(ds + r.startTime),
c = Qb(n.value),
u = void 0 !== r.interactionId ? e[r.interactionId] : void 0;
if (void 0 === u) return;
const {
routeName: l,
parentContext: f,
activeTransaction: d,
user: p,
replayId: h
} = u, m = void 0 !== p ? p.email || p.id || p.ip_address : void 0, g = void 0 !== d ? d.getProfileId() : void 0, y = new Ul({
startTimestamp: s,
endTimestamp: s + c,
op: `ui.interaction.${i}`,
name: Pa(r.target),
attributes: {
release: a.release,
environment: a.environment,
transaction: l,
...void 0 !== m && "" !== m ? {
user: m
} : {},
...void 0 !== g ? {
profile_id: g
} : {},
...void 0 !== h ? {
replay_id: h
} : {}
},
exclusiveTime: n.value,
measurements: {
inp: {
value: n.value,
unit: "millisecond"
}
}
}), v = function(e, t, n) {
if (!Sl(t)) return !1;
let r;
return r = void 0 !== e && "function" == typeof t.tracesSampler ? t.tracesSampler({
transactionContext: e,
name: e.name,
parentSampled: e.parentSampled,
attributes: {
...e.data,
...e.attributes
},
location: Ip.location
}) : void 0 !== e && void 0 !== e.sampled ? e.sampled : void 0 !== t.tracesSampleRate ? t.tracesSampleRate : 1, Vl(r) ? !0 === r ? n : !1 === r ? 0 : r * n : (Tp && Fa.warn("[Tracing] Discarding interaction span because of invalid sample rate."), !1)
}(f, a, t);
if (v && Math.random() < v) {
const e = y ? function(e, t) {
const n = {
sent_at: (new Date).toISOString()
};
return t && (n.dsn = _u(t)), Eu(n, e.map(Yb))
}([y], o.getDsn()) : void 0,
t = o && o.getTransport();
return void(t && e && t.send(e).then(null, e => {
Tp && Fa.error("Error while sending interaction:", e)
}))
}
}, lh("inp", n, uh, th);
var n
}(e, t);
return () => {
n()
}
}
return () => {}
}
const s_ = {
click: "click",
pointerdown: "click",
pointerup: "click",
mousedown: "click",
mouseup: "click",
touchstart: "click",
touchend: "click",
mouseover: "hover",
mouseout: "hover",
mouseenter: "hover",
mouseleave: "hover",
pointerover: "hover",
pointerout: "hover",
pointerenter: "hover",
pointerleave: "hover",
dragstart: "drag",
dragend: "drag",
drag: "drag",
dragenter: "drag",
dragleave: "drag",
dragover: "drag",
drop: "drag",
keydown: "press",
keyup: "press",
keypress: "press",
input: "press"
};
function c_(e) {
const t = Xb();
if (!t || !Ip.performance.getEntries || !ds) return;
Tp && Fa.log("[Tracing] Adding & adjusting spans using Performance API");
const n = Qb(ds),
r = t.getEntries(),
{
op: o,
start_timestamp: i
} = Us(e);
if (r.slice(t_).forEach(t => {
const r = Qb(t.startTime),
o = Qb(t.duration);
if (!("navigation" === e.op && i && n + r < i)) switch (t.entryType) {
case "navigation":
! function(e, t, n) {
["unloadEvent", "redirect", "domContentLoadedEvent", "loadEvent", "connect"].forEach(r => {
u_(e, t, r, n)
}), u_(e, t, "secureConnection", n, "TLS/SSL", "connectEnd"), u_(e, t, "fetch", n, "cache", "domainLookupStart"), u_(e, t, "domainLookup", n, "DNS"),
function(e, t, n) {
t.responseEnd && (Kb(e, {
op: "browser",
origin: "auto.browser.browser.metrics",
description: "request",
startTimestamp: n + Qb(t.requestStart),
endTimestamp: n + Qb(t.responseEnd)
}), Kb(e, {
op: "browser",
origin: "auto.browser.browser.metrics",
description: "response",
startTimestamp: n + Qb(t.responseStart),
endTimestamp: n + Qb(t.responseEnd)
}))
}(e, t, n)
}(e, t, n);
break;
case "mark":
case "paint":
case "measure": {
! function(e, t, n, r, o) {
const i = o + n,
a = i + r;
Kb(e, {
description: t.name,
endTimestamp: a,
op: t.entryType,
origin: "auto.resource.browser.metrics",
startTimestamp: i
})
}(e, t, r, o, n);
const i = Dp(),
a = t.startTime < i.firstHiddenTime;
"first-paint" === t.name && a && (Tp && Fa.log("[Measurements] Adding FP"), n_.fp = {
value: t.startTime,
unit: "millisecond"
}), "first-contentful-paint" === t.name && a && (Tp && Fa.log("[Measurements] Adding FCP"), n_.fcp = {
value: t.startTime,
unit: "millisecond"
});
break
}
case "resource":
! function(e, t, n, r, o, i) {
if ("xmlhttprequest" === t.initiatorType || "fetch" === t.initiatorType) return;
const a = Dd(n),
s = {};
l_(s, t, "transferSize", "http.response_transfer_size"), l_(s, t, "encodedBodySize", "http.response_content_length"), l_(s, t, "decodedBodySize", "http.decoded_response_content_length"), "renderBlockingStatus" in t && (s["resource.render_blocking_status"] = t.renderBlockingStatus);
a.protocol && (s["url.scheme"] = a.protocol.split(":").pop());
a.host && (s["server.address"] = a.host);
s["url.same_origin"] = n.includes(Ip.location.origin);
const c = i + r,
u = c + o;
Kb(e, {
description: n.replace(Ip.location.origin, ""),
endTimestamp: u,
op: t.initiatorType ? `resource.${t.initiatorType}` : "resource.other",
origin: "auto.resource.browser.metrics",
startTimestamp: c,
data: s
})
}(e, t, t.name, r, o, n)
}
}), t_ = Math.max(r.length - 1, 0), function(e) {
const t = Ip.navigator;
if (!t) return;
const n = t.connection;
n && (n.effectiveType && e.setTag("effectiveConnectionType", n.effectiveType), n.type && e.setTag("connectionType", n.type), Jb(n.rtt) && (n_["connection.rtt"] = {
value: n.rtt,
unit: "millisecond"
}));
Jb(t.deviceMemory) && e.setTag("deviceMemory", `${t.deviceMemory} GB`);
Jb(t.hardwareConcurrency) && e.setTag("hardwareConcurrency", String(t.hardwareConcurrency))
}(e), "pageload" === o) {
! function(e) {
const t = Pp();
if (!t) return;
const {
responseStart: n,
requestStart: r
} = t;
r <= n && (Tp && Fa.log("[Measurements] Adding TTFB Request Time"), e["ttfb.requestTime"] = {
value: n - r,
unit: "millisecond"
})
}(n_), ["fcp", "fp", "lcp"].forEach(e => {
if (!n_[e] || !i || n >= i) return;
const t = n_[e].value,
r = n + Qb(t),
o = Math.abs(1e3 * (r - i)),
a = o - t;
Tp && Fa.log(`[Measurements] Normalized ${e} from ${t} to ${o} (${a})`), n_[e].value = o
});
const t = n_["mark.fid"];
t && n_.fid && (Kb(e, {
description: "first input delay",
endTimestamp: t.value + Qb(n_.fid.value),
op: "ui.action",
origin: "auto.ui.browser.metrics",
startTimestamp: t.value
}), delete n_["mark.fid"]), "fcp" in n_ || delete n_.cls, Object.keys(n_).forEach(e => {
Sf(e, n_[e].value, n_[e].unit)
}),
function(e) {
Zb && (Tp && Fa.log("[Measurements] Adding LCP Data"), Zb.element && e.setTag("lcp.element", Pa(Zb.element)), Zb.id && e.setTag("lcp.id", Zb.id), Zb.url && e.setTag("lcp.url", Zb.url.trim().slice(0, 200)), e.setTag("lcp.size", Zb.size));
e_ && e_.sources && (Tp && Fa.log("[Measurements] Adding CLS Data"), e_.sources.forEach((t, n) => e.setTag(`cls.source.${n+1}`, Pa(t.node))))
}(e)
}
Zb = void 0, e_ = void 0, n_ = {}
}
function u_(e, t, n, r, o, i) {
const a = i ? t[i] : t[`${n}End`],
s = t[`${n}Start`];
s && a && Kb(e, {
op: "browser",
origin: "auto.browser.browser.metrics",
description: o || n,
startTimestamp: r + Qb(s),
endTimestamp: r + Qb(a)
})
}
function l_(e, t, n, r) {
const o = t[n];
null != o && o < 2147483647 && (e[r] = o)
}
function f_(e, t, n, r, o = "auto.http.browser") {
if (!Sl() || !e.fetchData) return;
const i = t(e.fetchData.url);
if (e.endTimestamp && i) {
const t = e.fetchData.__span;
if (!t) return;
const n = r[t];
return void(n && (! function(e, t) {
if (t.response) {
Fl(e, t.response.status);
const n = t.response && t.response.headers && t.response.headers.get("content-length");
if (n) {
const t = parseInt(n);
t > 0 && e.setAttribute("http.response_content_length", t)
}
} else t.error && e.setStatus("internal_error");
e.end()
}(n, e), delete r[t]))
}
const a = $c(),
s = Uc(),
{
method: c,
url: u
} = e.fetchData,
l = function(e) {
try {
return new URL(e).href
} catch (e) {
return
}
}(u),
f = l ? Dd(l).host : void 0,
d = i ? kl({
name: `${c} ${u}`,
onlyIfParent: !0,
attributes: {
url: u,
type: "fetch",
"http.method": c,
"http.url": l,
"server.address": f,
[Hu]: o
},
op: "http.client"
}) : void 0;
if (d && (e.fetchData.__span = d.spanContext().spanId, r[d.spanContext().spanId] = d), n(e.fetchData.url) && s) {
const t = e.args[0];
e.args[1] = e.args[1] || {};
const n = e.args[1];
n.headers = function(e, t, n, r, o) {
const i = o || n.getSpan(),
a = rc(),
{
traceId: s,
spanId: c,
sampled: u,
dsc: l
} = {
...a.getPropagationContext(),
...n.getPropagationContext()
},
f = i ? Ls(i) : Ms(s, c, u),
d = Ps(l || (i ? Hs(i) : $s(s, t, n))),
p = r.headers || ("undefined" != typeof Request && Sa(e, Request) ? e.headers : void 0);
if (p) {
if ("undefined" != typeof Headers && Sa(p, Headers)) {
const e = new Headers(p);
return e.append("sentry-trace", f), d && e.append(Es, d), e
}
if (Array.isArray(p)) {
const e = [...p, ["sentry-trace", f]];
return d && e.push([Es, d]), e
} {
const e = "baggage" in p ? p.baggage : void 0,
t = [];
return Array.isArray(e) ? t.push(...e) : e && t.push(e), d && t.push(d), {
...p,
"sentry-trace": f,
baggage: t.length > 0 ? t.join(",") : void 0
}
}
}
return {
"sentry-trace": f,
baggage: d
}
}(t, s, a, n, d)
}
return d
}
const d_ = ["localhost", /^\/(?!\/)/],
p_ = {
traceFetch: !0,
traceXHR: !0,
enableHTTPTimings: !0,
tracingOrigins: d_,
tracePropagationTargets: d_
};
function h_(e) {
const {
traceFetch: t,
traceXHR: n,
tracePropagationTargets: r,
tracingOrigins: o,
shouldCreateSpanForRequest: i,
enableHTTPTimings: a
} = {
traceFetch: p_.traceFetch,
traceXHR: p_.traceXHR,
...e
}, s = "function" == typeof i ? i : e => !0, c = e => function(e, t) {
return Ha(e, t || d_)
}(e, r || o), u = {};
t && Pd(e => {
const t = f_(e, s, c, u);
if (t) {
const n = y_(e.fetchData.url),
r = n ? Dd(n).host : void 0;
t.setAttributes({
"http.url": n,
"server.address": r
})
}
a && t && m_(t)
}), n && xd(e => {
const t = function(e, t, n, r) {
const o = e.xhr,
i = o && o[Td];
if (!Sl() || !o || o.__sentry_own_request__ || !i) return;
const a = t(i.url);
if (e.endTimestamp && a) {
const e = o.__sentry_xhr_span_id__;
if (!e) return;
const t = r[e];
return void(t && void 0 !== i.status_code && (Fl(t, i.status_code), t.end(), delete r[e]))
}
const s = $c(),
c = rc(),
u = y_(i.url),
l = u ? Dd(u).host : void 0,
f = a ? kl({
name: `${i.method} ${i.url}`,
onlyIfParent: !0,
attributes: {
type: "xhr",
"http.method": i.method,
"http.url": u,
url: i.url,
"server.address": l,
[Hu]: "auto.http.browser"
},
op: "http.client"
}) : void 0;
f && (o.__sentry_xhr_span_id__ = f.spanContext().spanId, r[o.__sentry_xhr_span_id__] = f);
const d = Uc();
if (o.setRequestHeader && n(i.url) && d) {
const {
traceId: e,
spanId: t,
sampled: n,
dsc: r
} = {
...c.getPropagationContext(),
...s.getPropagationContext()
};
! function(e, t, n) {
try {
e.setRequestHeader("sentry-trace", t), n && e.setRequestHeader(Es, n)
} catch (e) {}
}(o, f ? Ls(f) : Ms(e, t, n), Ps(r || (f ? Hs(f) : $s(e, d, s))))
}
return f
}(e, s, c, u);
a && t && m_(t)
})
}
function m_(e) {
const {
url: t
} = Us(e).data || {};
if (!t || "string" != typeof t) return;
const n = rh("resource", ({
entries: r
}) => {
r.forEach(r => {
if (function(e) {
return "resource" === e.entryType && "initiatorType" in e && "string" == typeof e.nextHopProtocol && ("fetch" === e.initiatorType || "xmlhttprequest" === e.initiatorType)
}(r) && r.name.endsWith(t)) {
(function(e) {
const {
name: t,
version: n
} = function(e) {
let t = "unknown",
n = "unknown",
r = "";
for (const o of e) {
if ("/" === o) {
[t, n] = e.split("/");
break
}
if (!isNaN(Number(o))) {
t = "h" === r ? "http" : r, n = e.split(r)[1];
break
}
r += o
}
r === e && (t = r);
return {
name: t,
version: n
}
}(e.nextHopProtocol), r = [];
if (r.push(["network.protocol.version", n], ["network.protocol.name", t]), !ds) return r;
return [...r, ["http.request.redirect_start", g_(e.redirectStart)],
["http.request.fetch_start", g_(e.fetchStart)],
["http.request.domain_lookup_start", g_(e.domainLookupStart)],
["http.request.domain_lookup_end", g_(e.domainLookupEnd)],
["http.request.connect_start", g_(e.connectStart)],
["http.request.secure_connection_start", g_(e.secureConnectionStart)],
["http.request.connection_end", g_(e.connectEnd)],
["http.request.request_start", g_(e.requestStart)],
["http.request.response_start", g_(e.responseStart)],
["http.request.response_end", g_(e.responseEnd)]
]
})(r).forEach(t => e.setAttribute(...t)), setTimeout(n)
}
})
})
}
function g_(e = 0) {
return ((ds || performance.timeOrigin) + e) / 1e3
}
function y_(e) {
try {
return new URL(e, Ip.location.origin).href
} catch (e) {
return
}
}
const v_ = {
...$l,
markBackgroundTransactions: !0,
routingInstrumentation: function(e, t = !0, n = !0) {
if (!Ip || !Ip.location) return void(Tp && Fa.warn("Could not initialize routing instrumentation due to invalid location"));
let r, o = Ip.location.href;
t && (r = e({
name: Ip.location.pathname,
startTimestamp: ds ? ds / 1e3 : void 0,
op: "pageload",
origin: "auto.pageload.browser",
metadata: {
source: "url"
}
})), n && hd(({
to: t,
from: n
}) => {
void 0 === n && o && -1 !== o.indexOf(t) ? o = void 0 : n !== t && (o = void 0, r && (Tp && Fa.log(`[Tracing] Finishing current transaction with op: ${r.op}`), r.end()), r = e({
name: Ip.location.pathname,
op: "navigation",
origin: "auto.navigation.browser",
metadata: {
source: "url"
}
}))
})
},
startTransactionOnLocationChange: !0,
startTransactionOnPageLoad: !0,
enableLongTask: !0,
enableInp: !1,
interactionsSampleRate: 1,
_experiments: {},
...p_
};
class b_ {
constructor(e) {
this.name = "BrowserTracing", this._hasSetTracePropagationTargets = !1, Ql(), Tp && (this._hasSetTracePropagationTargets = !(!e || !e.tracePropagationTargets && !e.tracingOrigins)), this.options = {
...v_,
...e
}, void 0 !== this.options._experiments.enableLongTask && (this.options.enableLongTask = this.options._experiments.enableLongTask), e && !e.tracePropagationTargets && e.tracingOrigins && (this.options.tracePropagationTargets = e.tracingOrigins), this._collectWebVitals = r_(), this._interactionIdToRouteNameMapping = {}, this.options.enableInp && a_(this._interactionIdToRouteNameMapping, this.options.interactionsSampleRate), this.options.enableLongTask && o_(), this.options._experiments.enableInteractions && i_(), this._latestRoute = {
name: void 0,
context: void 0
}
}
setupOnce(e, t) {
this._getCurrentHub = t;
const n = t().getClient(),
r = n && n.getOptions(),
{
routingInstrumentation: o,
startTransactionOnLocationChange: i,
startTransactionOnPageLoad: a,
markBackgroundTransactions: s,
traceFetch: c,
traceXHR: u,
shouldCreateSpanForRequest: l,
enableHTTPTimings: f,
_experiments: d
} = this.options,
p = r && r.tracePropagationTargets,
h = p || this.options.tracePropagationTargets;
Tp && this._hasSetTracePropagationTargets && p && Fa.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used."), o(e => {
const n = this._createRouteTransaction(e);
return this.options._experiments.onStartRouteTransaction && this.options._experiments.onStartRouteTransaction(n, e, t), n
}, a, i), s && Vb(), d.enableInteractions && this._registerInteractionListener(), this.options.enableInp && this._registerInpInteractionListener(), h_({
traceFetch: c,
traceXHR: u,
tracePropagationTargets: h,
shouldCreateSpanForRequest: l,
enableHTTPTimings: f
})
}
_createRouteTransaction(e) {
if (!this._getCurrentHub) return void(Tp && Fa.warn(`[Tracing] Did not create ${e.op} transaction because _getCurrentHub is invalid.`));
const t = this._getCurrentHub(),
{
beforeNavigate: n,
idleTimeout: r,
finalTimeout: o,
heartbeatInterval: i
} = this.options,
a = "pageload" === e.op;
let s;
if (a) {
const t = a ? __("sentry-trace") : "",
n = a ? __("baggage") : void 0,
{
traceId: r,
dsc: o,
parentSpanId: i,
sampled: c
} = Rs(t, n);
s = {
traceId: r,
parentSpanId: i,
parentSampled: c,
...e,
metadata: {
...e.metadata,
dynamicSamplingContext: o
},
trimEnd: !0
}
} else s = {
trimEnd: !0,
...e
};
const c = "function" == typeof n ? n(s) : s,
u = void 0 === c ? {
...s,
sampled: !1
} : c;
u.metadata = u.name !== s.name ? {
...u.metadata,
source: "custom"
} : u.metadata, this._latestRoute.name = u.name, this._latestRoute.context = u, !1 === u.sampled && Tp && Fa.log(`[Tracing] Will not send ${u.op} transaction because of beforeNavigate.`), Tp && Fa.log(`[Tracing] Starting ${u.op} transaction on scope`);
const {
location: l
} = Ip, f = Kl(t, u, r, o, !0, {
location: l
}, i, a);
return a && Ip.document && (Ip.document.addEventListener("readystatechange", () => {
["interactive", "complete"].includes(Ip.document.readyState) && f.sendAutoFinishSignal()
}), ["interactive", "complete"].includes(Ip.document.readyState) && f.sendAutoFinishSignal()), f.registerBeforeFinishCallback(e => {
this._collectWebVitals(), c_(e)
}), f
}
_registerInteractionListener() {
let e;
const t = () => {
const {
idleTimeout: t,
finalTimeout: n,
heartbeatInterval: r
} = this.options, o = "ui.action.click", i = gl();
if (i && i.op && ["navigation", "pageload"].includes(i.op)) return void(Tp && Fa.warn(`[Tracing] Did not create ${o} transaction because a pageload or navigation transaction is in progress.`));
if (e && (e.setFinishReason("interactionInterrupted"), e.end(), e = void 0), !this._getCurrentHub) return void(Tp && Fa.warn(`[Tracing] Did not create ${o} transaction because _getCurrentHub is invalid.`));
if (!this._latestRoute.name) return void(Tp && Fa.warn(`[Tracing] Did not create ${o} transaction because _latestRouteName is missing.`));
const a = this._getCurrentHub(),
{
location: s
} = Ip,
c = {
name: this._latestRoute.name,
op: o,
trimEnd: !0,
data: {
[Uu]: this._latestRoute.context ? S_(this._latestRoute.context) : "url"
}
};
e = Kl(a, c, t, n, !0, {
location: s
}, r)
};
["click"].forEach(e => {
Ip.document && addEventListener(e, t, {
once: !1,
capture: !0
})
})
}
_registerInpInteractionListener() {
const e = ({
entries: e
}) => {
const t = Uc(),
n = void 0 !== t && void 0 !== t.getIntegrationByName ? t.getIntegrationByName("Replay") : void 0,
r = void 0 !== n ? n.getReplayId() : void 0,
o = gl(),
i = $c(),
a = void 0 !== i ? i.getUser() : void 0;
e.forEach(e => {
if (function(e) {
return "duration" in e
}(e)) {
const t = e.interactionId;
if (void 0 === t) return;
const n = this._interactionIdToRouteNameMapping[t],
i = e.duration,
s = e.startTime,
c = Object.keys(this._interactionIdToRouteNameMapping),
u = c.length > 0 ? c.reduce((e, t) => this._interactionIdToRouteNameMapping[e].duration < this._interactionIdToRouteNameMapping[t].duration ? e : t) : void 0;
if ("first-input" === e.entryType) {
if (c.map(e => this._interactionIdToRouteNameMapping[e]).some(e => e.duration === i && e.startTime === s)) return
}
if (!t) return;
if (n) n.duration = Math.max(n.duration, i);
else if (c.length < 10 || void 0 === u || i > this._interactionIdToRouteNameMapping[u].duration) {
const e = this._latestRoute.name,
n = this._latestRoute.context;
e && n && (u && Object.keys(this._interactionIdToRouteNameMapping).length >= 10 && delete this._interactionIdToRouteNameMapping[u], this._interactionIdToRouteNameMapping[t] = {
routeName: e,
duration: i,
parentContext: n,
user: a,
activeTransaction: o,
replayId: r,
startTime: s
})
}
}
})
};
rh("event", e), rh("first-input", e)
}
}
function __(e) {
const t = ja(`meta[name=${e}]`);
return t ? t.getAttribute("content") : void 0
}
function S_(e) {
const t = e.attributes && e.attributes[Uu],
n = e.data && e.data[Uu],
r = e.metadata && e.metadata.source;
return t || n || r
}
const w_ = {
...$l,
instrumentNavigation: !0,
instrumentPageLoad: !0,
markBackgroundSpan: !0,
enableLongTask: !0,
enableInp: !1,
interactionsSampleRate: 1,
_experiments: {},
...p_
},
O_ = (e = {}) => {
const t = !!Tp && !(!e.tracePropagationTargets && !e.tracingOrigins);
Ql(), !e.tracePropagationTargets && e.tracingOrigins && (e.tracePropagationTargets = e.tracingOrigins);
const n = {
...w_,
...e
},
r = r_(),
o = {};
n.enableInp && a_(o, n.interactionsSampleRate), n.enableLongTask && o_(), n._experiments.enableInteractions && i_();
const i = {
name: void 0,
context: void 0
};
function a(e) {
const t = nc(),
{
beforeStartSpan: o,
idleTimeout: a,
finalTimeout: s,
heartbeatInterval: c
} = n,
u = "pageload" === e.op;
let l;
if (u) {
const t = u ? T_("sentry-trace") : "",
n = u ? T_("baggage") : void 0,
{
traceId: r,
dsc: o,
parentSpanId: i,
sampled: a
} = Rs(t, n);
l = {
traceId: r,
parentSpanId: i,
parentSampled: a,
...e,
metadata: {
...e.metadata,
dynamicSamplingContext: o
},
trimEnd: !0
}
} else l = {
trimEnd: !0,
...e
};
const f = o ? o(l) : l;
f.metadata = f.name !== l.name ? {
...f.metadata,
source: "custom"
} : f.metadata, i.name = f.name, i.context = f, !1 === f.sampled && Tp && Fa.log(`[Tracing] Will not send ${f.op} transaction because of beforeNavigate.`), Tp && Fa.log(`[Tracing] Starting ${f.op} transaction on scope`);
const {
location: d
} = Ip, p = Kl(t, f, a, s, !0, {
location: d
}, c, u);
return u && Ip.document && (Ip.document.addEventListener("readystatechange", () => {
["interactive", "complete"].includes(Ip.document.readyState) && p.sendAutoFinishSignal()
}), ["interactive", "complete"].includes(Ip.document.readyState) && p.sendAutoFinishSignal()), p.registerBeforeFinishCallback(e => {
r(), c_(e)
}), p
}
return {
name: "BrowserTracing",
setupOnce: () => {},
afterAllSetup(e) {
const r = e.getOptions(),
{
markBackgroundSpan: s,
traceFetch: c,
traceXHR: u,
shouldCreateSpanForRequest: l,
enableHTTPTimings: f,
_experiments: d
} = n,
p = r && r.tracePropagationTargets,
h = p || n.tracePropagationTargets;
let m;
Tp && t && p && Fa.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used.");
let g = Ip.location && Ip.location.href;
if (e.on && (e.on("startNavigationSpan", e => {
m && (Tp && Fa.log(`[Tracing] Finishing current transaction with op: ${Us(m).op}`), m.end()), m = a({
op: "navigation",
...e
})
}), e.on("startPageLoadSpan", e => {
m && (Tp && Fa.log(`[Tracing] Finishing current transaction with op: ${Us(m).op}`), m.end()), m = a({
op: "pageload",
...e
})
})), n.instrumentPageLoad && e.emit && Ip.location) {
const t = {
name: Ip.location.pathname,
startTimestamp: ds ? ds / 1e3 : void 0,
origin: "auto.pageload.browser",
attributes: {
[Uu]: "url"
}
};
E_(e, t)
}
n.instrumentNavigation && e.emit && Ip.location && hd(({
to: t,
from: n
}) => {
if (void 0 === n && g && -1 !== g.indexOf(t)) g = void 0;
else if (n !== t) {
g = void 0;
const t = {
name: Ip.location.pathname,
origin: "auto.navigation.browser",
attributes: {
[Uu]: "url"
}
};
k_(e, t)
}
}), s && Vb(), d.enableInteractions && function(e, t) {
let n;
const r = () => {
const {
idleTimeout: r,
finalTimeout: o,
heartbeatInterval: i
} = e, a = "ui.action.click", s = gl();
if (s && s.op && ["navigation", "pageload"].includes(s.op)) return void(Tp && Fa.warn(`[Tracing] Did not create ${a} transaction because a pageload or navigation transaction is in progress.`));
if (n && (n.setFinishReason("interactionInterrupted"), n.end(), n = void 0), !t.name) return void(Tp && Fa.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`));
const {
location: c
} = Ip, u = {
name: t.name,
op: a,
trimEnd: !0,
data: {
[Uu]: t.context ? I_(t.context) : "url"
}
};
n = Kl(nc(), u, r, o, !0, {
location: c
}, i)
};
["click"].forEach(e => {
Ip.document && addEventListener(e, r, {
once: !1,
capture: !0
})
})
}(n, i), n.enableInp && function(e, t) {
const n = ({
entries: n
}) => {
const r = Uc(),
o = void 0 !== r && void 0 !== r.getIntegrationByName ? r.getIntegrationByName("Replay") : void 0,
i = void 0 !== o ? o.getReplayId() : void 0,
a = gl(),
s = $c(),
c = void 0 !== s ? s.getUser() : void 0;
n.forEach(n => {
if (function(e) {
return "duration" in e
}(n)) {
const r = n.interactionId;
if (void 0 === r) return;
const o = e[r],
s = n.duration,
u = n.startTime,
l = Object.keys(e),
f = l.length > 0 ? l.reduce((t, n) => e[t].duration < e[n].duration ? t : n) : void 0;
if ("first-input" === n.entryType) {
if (l.map(t => e[t]).some(e => e.duration === s && e.startTime === u)) return
}
if (!r) return;
if (o) o.duration = Math.max(o.duration, s);
else if (l.length < x_ || void 0 === f || s > e[f].duration) {
const n = t.name,
o = t.context;
n && o && (f && Object.keys(e).length >= x_ && delete e[f], e[r] = {
routeName: n,
duration: s,
parentContext: o,
user: c,
activeTransaction: a,
replayId: i,
startTime: u
})
}
}
})
};
rh("event", n), rh("first-input", n)
}(o, i), h_({
traceFetch: c,
traceXHR: u,
tracePropagationTargets: h,
shouldCreateSpanForRequest: l,
enableHTTPTimings: f
})
},
options: n
}
};
function E_(e, t) {
if (!e.emit) return;
e.emit("startPageLoadSpan", t);
const n = Tl();
return "pageload" === (n && Us(n).op) ? n : void 0
}
function k_(e, t) {
if (!e.emit) return;
e.emit("startNavigationSpan", t);
const n = Tl();
return "navigation" === (n && Us(n).op) ? n : void 0
}
function T_(e) {
const t = ja(`meta[name=${e}]`);
return t ? t.getAttribute("content") : void 0
}
const x_ = 10;
function I_(e) {
const t = e.attributes && e.attributes[Uu],
n = e.data && e.data[Uu],
r = e.metadata && e.metadata.source;
return t || n || r
}
const P_ = 100,
A_ = 5e3,
C_ = 36e5;
function j_(e, t) {
es && Fa.info(`[Offline]: ${e}`, t)
}
function R_(e) {
return t => {
const n = e(t),
r = t.createStore ? t.createStore(t) : void 0;
let o, i = A_;
function a(e, n, r) {
return ! function(e, t) {
return Tu(e, (e, n) => t.includes(n))
}(e, ["replay_event", "replay_recording", "client_report"]) && (!t.shouldStore || t.shouldStore(e, n, r))
}
function s(e) {
r && (o && clearTimeout(o), o = setTimeout(async () => {
o = void 0;
const e = await r.pop();
e && (j_("Attempting to send previously queued event"), u(e).catch(e => {
j_("Failed to retry sending", e)
}))
}, e), "number" != typeof o && o.unref && o.unref())
}
function c() {
o || (s(i), i = Math.min(2 * i, C_))
}
async function u(e) {
try {
const t = await n.send(e);
let r = P_;
if (t)
if (t.headers && t.headers["retry-after"]) r = ef(t.headers["retry-after"]);
else if ((t.statusCode || 0) >= 400) return t;
return s(r), i = A_, t
} catch (t) {
if (r && await a(e, t, i)) return await r.insert(e), c(), j_("Error sending. Event queued", t), {};
throw t
}
}
return t.flushAtStartup && c(), {
send: u,
flush: e => n.flush(e)
}
}
}
function M_(e) {
return new Promise((t, n) => {
e.oncomplete = e.onsuccess = () => t(e.result), e.onabort = e.onerror = () => n(e.error)
})
}
function D_(e) {
return M_(e.getAllKeys())
}
function N_(e) {
let t;
function n() {
return null == t && (t = function(e, t) {
const n = indexedDB.open(e);
n.onupgradeneeded = () => n.result.createObjectStore(t);
const r = M_(n);
return e => r.then(n => e(n.transaction(t, "readwrite").objectStore(t)))
}(e.dbName || "sentry-offline", e.storeName || "queue")), t
}
return {
insert: async t => {
try {
const r = await Iu(t, e.textEncoder);
await
function(e, t, n) {
return e(e => D_(e).then(r => {
if (!(r.length >= n)) return e.put(t, Math.max(...r, 0) + 1), M_(e.transaction)
}))
}(n(), r, e.maxQueueSize || 30)
} catch (e) {}
},
pop: async () => {
try {
const t = await
function(e) {
return e(e => D_(e).then(t => {
if (0 !== t.length) return M_(e.get(t[0])).then(n => (e.delete(t[0]), M_(e.transaction).then(() => n)))
}))
}(n());
if (t) return function(e, t, n) {
let r = "string" == typeof e ? t.encode(e) : e;
function o(e) {
const t = r.subarray(0, e);
return r = r.subarray(e + 1), t
}
function i() {
let e = r.indexOf(10);
return e < 0 && (e = r.length), JSON.parse(n.decode(o(e)))
}
const a = i(),
s = [];
for (; r.length;) {
const e = i(),
t = "number" == typeof e.length ? e.length : void 0;
s.push([e, t ? o(t) : i()])
}
return [a, s]
}(t, e.textEncoder || new TextEncoder, e.textDecoder || new TextDecoder)
} catch (e) {}
}
}
}
function L_(e) {
return function(e) {
return t => e({
...t,
createStore: N_
})
}(R_(e))
}
const F_ = 1e6,
B_ = String(0),
U_ = "main";
let G_ = "",
$_ = "",
H_ = "",
z_ = wf.navigator && wf.navigator.userAgent || "",
q_ = "";
const W_ = wf.navigator && wf.navigator.language || wf.navigator && wf.navigator.languages && wf.navigator.languages[0] || "";
const V_ = wf.navigator && wf.navigator.userAgentData;
var Y_;
function J_(e) {
return function(e) {
return !("thread_metadata" in e)
}(e) ? function(e) {
let t, n = 0;
const r = {
samples: [],
stacks: [],
frames: [],
thread_metadata: {
[B_]: {
name: U_
}
}
};
if (!e.samples.length) return r;
const o = e.samples[0].timestamp,
i = "number" == typeof performance.timeOrigin ? performance.timeOrigin : ds || 0,
a = i - (ds || i);
for (let i = 0; i < e.samples.length; i++) {
const s = e.samples[i];
if (void 0 === s.stackId) {
void 0 === t && (t = n, r.stacks[t] = [], n++), r.samples[i] = {
elapsed_since_start_ns: ((s.timestamp + a - o) * F_).toFixed(0),
stack_id: t,
thread_id: B_
};
continue
}
let c = e.stacks[s.stackId];
const u = [];
for (; c;) {
u.push(c.frameId);
const t = e.frames[c.frameId];
void 0 === r.frames[c.frameId] && (r.frames[c.frameId] = {
function: t.name,
abs_path: "number" == typeof t.resourceId ? e.resources[t.resourceId] : void 0,
lineno: t.line,
colno: t.column
}), c = void 0 === c.parentId ? void 0 : e.stacks[c.parentId]
}
const l = {
elapsed_since_start_ns: ((s.timestamp + a - o) * F_).toFixed(0),
stack_id: n,
thread_id: B_
};
r.stacks[n] = u, r.samples[i] = l, n++
}
return r
}(e) : e
}
function K_(e, t, n, r) {
if ("transaction" !== r.type) throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");
if (null == n) throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${n} instead.`);
const o = function(e) {
const t = e && e.contexts && e.contexts.trace && e.contexts.trace.trace_id;
return "string" == typeof t && 32 !== t.length && xf && Fa.log(`[Profiling] Invalid traceId: ${t} on profiled event`), "string" != typeof t ? "" : t
}(r),
i = J_(n),
a = t || ("number" == typeof r.start_timestamp ? 1e3 * r.start_timestamp : Date.now()),
s = "number" == typeof r.timestamp ? 1e3 * r.timestamp : Date.now();
return {
event_id: e,
timestamp: new Date(a).toISOString(),
platform: "javascript",
version: "1",
release: r.release || "",
environment: r.environment || Za,
runtime: {
name: "javascript",
version: wf.navigator.userAgent
},
os: {
name: G_,
version: $_,
build_number: z_
},
device: {
locale: W_,
model: q_,
manufacturer: z_,
architecture: H_,
is_emulator: !1
},
debug_meta: {
images: Z_(n.resources)
},
profile: i,
transactions: [{
name: r.transaction || "",
id: r.event_id || ts(),
trace_id: o,
active_thread_id: B_,
relative_start_ns: "0",
relative_end_ns: (1e6 * (s - a)).toFixed(0)
}]
}
}
function Q_(e) {
return "pageload" === e.op
}
"object" == typeof(Y_ = V_) && null !== Y_ && "getHighEntropyValues" in Y_ && V_.getHighEntropyValues(["architecture", "model", "platform", "platformVersion", "fullVersionList"]).then(e => {
if (G_ = e.platform || "", H_ = e.architecture || "", q_ = e.model || "", $_ = e.platformVersion || "", e.fullVersionList && e.fullVersionList.length > 0) {
const t = e.fullVersionList[e.fullVersionList.length - 1];
z_ = `${t.brand} ${t.version}`
}
}).catch(e => {});
const X_ = new WeakMap;
function Z_(e) {
const t = Ea._sentryDebugIds;
if (!t) return [];
const n = Uc(),
r = n && n.getOptions(),
o = r && r.stackParser;
if (!o) return [];
let i;
const a = X_.get(o);
a ? i = a : (i = new Map, X_.set(o, i));
const s = Object.keys(t).reduce((e, n) => {
let r;
const a = i.get(n);
a ? r = a : (r = o(n), i.set(n, r));
for (let o = r.length - 1; o >= 0; o--) {
const i = r[o],
a = i && i.filename;
if (i && a) {
e[a] = t[n];
break
}
}
return e
}, {}),
c = [];
for (const t of e) t && s[t] && c.push({
type: "sourcemap",
code_file: t,
debug_id: s[t]
});
return c
}
let eS = !1;
const tS = 3e4;
function nS(e) {
if (eS) return xf && Fa.log("[Profiling] Profiling has been disabled for the duration of the current user session."), !1;
if (!e.isRecording()) return xf && Fa.log("[Profiling] Discarding profile because transaction was not sampled."), !1;
const t = Uc(),
n = t && t.getOptions();
if (!n) return xf && Fa.log("[Profiling] Profiling disabled, no options found."), !1;
const r = n.profilesSampleRate;
if (!("number" != typeof(o = r) && "boolean" != typeof o || "number" == typeof o && isNaN(o) ? (xf && Fa.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(o)} of type ${JSON.stringify(typeof o)}.`), 0) : !0 === o || !1 === o || !(o < 0 || o > 1) || (xf && Fa.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${o}.`), 0))) return xf && Fa.warn("[Profiling] Discarding profile because of invalid sample rate."), !1;
var o;
if (!r) return xf && Fa.log("[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0"), !1;
return !!(!0 === r || Math.random() < r) || (xf && Fa.log(`[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(r)})`), !1)
}
function rS(e, t, n, r) {
return function(e) {
return e.samples.length < 2 ? (xf && Fa.log("[Profiling] Discarding profile because it contains less than 2 samples"), !1) : !!e.frames.length || (xf && Fa.log("[Profiling] Discarding profile because it contains no frames"), !1)
}(n) ? K_(e, t, n, r) : null
}
const oS = new Map;
function iS(e) {
const t = oS.get(e);
return t && oS.delete(e), t
}
function aS(e) {
return e ? nS(e) ? sS(e) : e : (xf && Fa.log("[Profiling] Transaction is undefined, skipping profiling"), e)
}
function sS(e) {
let t;
Q_(e) && (t = 1e3 * ls());
const n = function() {
const e = wf.Profiler;
if ("function" != typeof e) return void(xf && Fa.log("[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object."));
const t = Math.floor(tS / 10);
try {
return new e({
sampleInterval: 10,
maxBufferSize: t
})
} catch (e) {
xf && (Fa.log("[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header."), Fa.log("[Profiling] Disabling profiling for current user session.")), eS = !0
}
}();
if (!n) return e;
xf && Fa.log(`[Profiling] started profiling transaction: ${Us(e).description}`);
const r = ts();
async function o() {
return e && n ? n.stop().then(t => (i && (wf.clearTimeout(i), i = void 0), xf && Fa.log(`[Profiling] stopped profiling of transaction: ${Us(e).description}`), t ? (function(e, t) {
if (oS.set(e, t), oS.size > 30) {
const e = oS.keys().next().value;
oS.delete(e)
}
}(r, t), null) : (xf && Fa.log(`[Profiling] profiler returned null profile for: ${Us(e).description}`, "this may indicate an overlapping transaction or a call to stopProfiling with a profile title that was never started"), null))).catch(e => (xf && Fa.log("[Profiling] error while stopping profiler:", e), null)) : null
}
let i = wf.setTimeout(() => {
xf && Fa.log("[Profiling] max profile duration elapsed, stopping profiling for:", Us(e).description), o()
}, tS);
const a = e.end.bind(e);
return e.end = function() {
return e ? (o().then(() => {
e.setContext("profile", {
profile_id: r,
start_timestamp: t
}), a()
}, () => {
a()
}), e) : a()
}, e
}
const cS = "BrowserProfiling",
uS = () => ({
name: cS,
setupOnce() {},
setup(e) {
const t = $c().getTransaction();
t && Q_(t) && nS(t) && sS(t), "function" == typeof e.on ? (e.on("startTransaction", e => {
nS(e) && sS(e)
}), e.on("beforeEnvelope", e => {
if (!oS.size) return;
const t = function(e) {
const t = [];
return Tu(e, (e, n) => {
if ("transaction" === n)
for (let n = 1; n < e.length; n++) {
const r = e[n];
r && r.contexts && r.contexts.profile && r.contexts.profile.profile_id && t.push(e[n])
}
}), t
}(e);
if (!t.length) return;
const n = [];
for (const e of t) {
const t = e && e.contexts,
r = t && t.profile && t.profile.profile_id,
o = t && t.profile && t.profile.start_timestamp;
if ("string" != typeof r) {
xf && Fa.log("[Profiling] cannot find profile for a transaction without a profile context");
continue
}
if (!r) {
xf && Fa.log("[Profiling] cannot find profile for a transaction without a profile context");
continue
}
t && t.profile && delete t.profile;
const i = iS(r);
if (!i) {
xf && Fa.log(`[Profiling] Could not retrieve profile for transaction: ${r}`);
continue
}
const a = rS(r, o, i, e);
a && n.push(a)
}! function(e, t) {
if (!t.length) return e;
for (const n of t) e[1].push([{
type: "profile"
}, n])
}(e, n)
})) : Fa.warn("[Profiling] Client does not support hooks, profiling will be disabled")
}
}),
lS = Xc(cS, uS);
let fS = {};
wf.Sentry && wf.Sentry.Integrations && (fS = wf.Sentry.Integrations);
const dS = {
...fS,
...vu,
...o
};
function pS(e) {
return pS = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, pS(e)
}
function hS(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 mS(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? hS(Object(n), !0).forEach(function(t) {
gS(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : hS(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function gS(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != pS(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != pS(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == pS(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var yS;
const vS = {
beforeSend: function(e, t) {
return t.originalException && P.A.send("sentry:action", {
action: "sendJSONtoCDN",
error: t.originalException.message,
stack: t.originalException.stack,
name: Object.getPrototypeOf(t.originalException).name,
breadcrumbs: e.breadcrumbs,
tags: e.tags
}, {
background: !0
}), null
},
initialScope: {
tags: {
Source: "Content-Script"
}
}
};
function bS() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return _S(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (_S(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, _S(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, _S(f, "constructor", u), _S(u, "constructor", c), c.displayName = "GeneratorFunction", _S(u, o, "GeneratorFunction"), _S(f), _S(f, o, "Generator"), _S(f, r, function() {
return this
}), _S(f, "toString", function() {
return "[object Generator]"
}), (bS = function() {
return {
w: i,
m: d
}
})()
}
function _S(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
_S = function(e, t, n, r) {
function i(t, n) {
_S(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, _S(e, t, n, r)
}
function SS(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function wS() {
return wS = function(e) {
return function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
SS(i, r, o, a, s, "next", e)
}
function s(e) {
SS(i, r, o, a, s, "throw", e)
}
a(void 0)
})
}
}(bS().m(function e(t) {
var n;
return bS().w(function(e) {
for (;;) switch (e.n) {
case 0:
P.A.send("page:load", {
url: t,
origin: window.location.origin,
hasServiceWorkers: !!((navigator || {}).serviceWorker || {}).controller
}, {
allTabs: !0,
background: !0,
ignoreResponse: !0
}).reflect(), I.A.debug("Honey ".concat("18.2.1", " content script is ready. Environment is ").concat("production")), e.n = 2;
break;
case 1:
n = e.v,
function() {
var e = document.createElement("script");
e.text = "\n (function setSdata() {\n window.sdata = ".concat(JSON.stringify(n), ";\n })();\n "), document.documentElement.appendChild(e)
}();
case 2:
return e.a(2)
}
}, e)
})), wS.apply(this, arguments)
}
c().onPossiblyUnhandledRejection(function(e) {
return I.A.error(e)
}),
function() {
wS.apply(this, arguments)
}(window.location.href),
function(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
if (yS) throw new Error("Sentry has already been initialized");
e.init(mS(mS({}, t), {}, {
dsn: "https://3b4bb33e1dfc432c9ccd9f9ce5a4bd25@o197999.ingest.sentry.io/6008007",
release: "".concat("honey-extension", "@").concat("18.2.1"),
attachStacktrace: !0,
autoSessionTracking: !1
})), yS = e
}(i, vS), setTimeout(function() {
if ("www.joinhoney.com" === window.location.hostname) {
var e = document.querySelector("#messagingEventHandler");
if (e)
if (e.getAttribute("si_ext")) P.A.send("si:on", {
si_ext: e.getAttribute("si_ext")
}, {
ignoreResponse: !0,
background: !0
});
else new MutationObserver(function() {
e.getAttribute("si_ext") && P.A.send("si:on", {
si_ext: e.getAttribute("si_ext")
}, {
ignoreResponse: !0,
background: !0
})
}).observe(e, {
attributes: !0
})
}
});
var OS = {
$: l(),
acorns: d.A,
adbBp: sa.A,
ajax: p.A,
button: h.A,
cartPageFetcher: mi.A,
clipboard: m.A,
config: g.A,
confirmation: S.A,
cookies: w.A,
device: O.A,
experiments: E.A,
extensionReview: k.A,
i18n: T.A,
imageLoader: x.A,
honeyPayNow: {},
honeyPayPal: gt.A,
launchpad: ca.Ay,
logger: I.A,
messages: P.A,
offers: C.A,
optimus: j.A,
pageDetector: vt.Ay,
popover: yt.A,
runtime: _t,
savingsController: z.A,
stats: he.A,
storage: me.A,
stores: B.A,
tabs: U.A,
ui: A.A,
user: F.A,
userSavingsStats: hi.A,
util: f.A,
vims: vi.A,
websiteComm: aa.A
};
P.A.addListener("debug:change", function(e, t) {
try {
t.active ? window.honey = OS : delete window.honey
} catch (e) {}
})
},
70364: (e, t, n) => {
var r = n(9144),
o = n(82417);
e.exports = function(e, t, n) {
var i = t && n || 0;
"string" == typeof e && (t = "binary" == e ? new Array(16) : null, e = null);
var a = (e = e || {}).random || (e.rng || r)();
if (a[6] = 15 & a[6] | 64, a[8] = 63 & a[8] | 128, t)
for (var s = 0; s < 16; ++s) t[i + s] = a[s];
return t || o(a)
}
},
70481: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => d,
VH: () => i.A,
md: () => f,
yo: () => l
});
var r = n(25023),
o = n(66194),
i = n(22195);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = r.o1.update,
f = c(c({}, o.A), r.o1);
const d = r.Ff
},
70585: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t.default = void 0;
var r = s(n(9666)),
o = s(n(86146)),
i = n(22662),
a = n(72097);
function s(e) {
return e && e.__esModule ? e : {
default: e
}
}
const c = {
ctaCopy: o.default.string.isRequired,
ctaStatus: o.default.string,
ctaType: o.default.string,
handleCta: o.default.func.isRequired
},
u = {
footer: {
position: "sticky",
bottom: 0,
padding: "16px 24px",
borderTop: `1px solid ${a.Colors.grey400}`
}
},
l = (0, i.createUseStyles)(u),
f = ({
ctaCopy: e,
ctaStatus: t,
ctaType: n,
handleCta: o
}) => {
const i = l();
return r.default.createElement("div", {
className: i.footer
}, r.default.createElement(a.Button, {
id: "BottomSheetFooterButton",
size: 40,
buttonType: n,
copy: e,
isFlexible: !0,
status: t,
onClick: o
}))
};
f.propTypes = c, f.defaultProps = {
ctaStatus: "",
ctaType: "primary"
};
t.default = f
},
72097: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
});
var r = {
version: !0,
Badge: !0,
Button: !0,
Breadcrumb: !0,
CheckBox: !0,
CloseButton: !0,
Collapse: !0,
Container: !0,
Colors: !0,
Dropdown: !0,
DropdownV2: !0,
ActionMenu: !0,
DroplistBadge: !0,
FlatButton: !0,
Footer: !0,
FooterLinks: !0,
FormInput: !0,
FormInputButton: !0,
Grid: !0,
Gold: !0,
HamburgerMenu: !0,
Header: !0,
HoneyGold: !0,
Icon: !0,
PayPalToolkitIcon: !0,
Image: !0,
ListBox: !0,
LoadingIcon: !0,
Logo: !0,
Media: !0,
Modal: !0,
Notification: !0,
NotificationBanner: !0,
OptimusBadge: !0,
SerpBadge: !0,
Popup: !0,
Pill: !0,
RadioButton: !0,
RadioGroup: !0,
useScrollToChild: !0,
SearchBox: !0,
SearchDropdown: !0,
SelectionBox: !0,
Slider: !0,
SkipToContent: !0,
StoreLogo: !0,
Toggle: !0,
Tooltip: !0,
ToolTipIcon: !0,
useOutsideClick: !0,
usePrevious: !0
};
Object.defineProperty(t, "ActionMenu", {
enumerable: !0,
get: function() {
return g.default
}
}), Object.defineProperty(t, "Badge", {
enumerable: !0,
get: function() {
return a.default
}
}), Object.defineProperty(t, "Breadcrumb", {
enumerable: !0,
get: function() {
return c.default
}
}), Object.defineProperty(t, "Button", {
enumerable: !0,
get: function() {
return s.default
}
}), Object.defineProperty(t, "CheckBox", {
enumerable: !0,
get: function() {
return u.default
}
}), Object.defineProperty(t, "CloseButton", {
enumerable: !0,
get: function() {
return l.default
}
}), Object.defineProperty(t, "Collapse", {
enumerable: !0,
get: function() {
return f.default
}
}), Object.defineProperty(t, "Colors", {
enumerable: !0,
get: function() {
return p.default
}
}), Object.defineProperty(t, "Container", {
enumerable: !0,
get: function() {
return d.default
}
}), Object.defineProperty(t, "Dropdown", {
enumerable: !0,
get: function() {
return h.default
}
}), Object.defineProperty(t, "DropdownV2", {
enumerable: !0,
get: function() {
return m.default
}
}), Object.defineProperty(t, "DroplistBadge", {
enumerable: !0,
get: function() {
return y.default
}
}), Object.defineProperty(t, "FlatButton", {
enumerable: !0,
get: function() {
return v.default
}
}), Object.defineProperty(t, "Footer", {
enumerable: !0,
get: function() {
return b.default
}
}), Object.defineProperty(t, "FooterLinks", {
enumerable: !0,
get: function() {
return _.default
}
}), Object.defineProperty(t, "FormInput", {
enumerable: !0,
get: function() {
return S.default
}
}), Object.defineProperty(t, "FormInputButton", {
enumerable: !0,
get: function() {
return w.default
}
}), Object.defineProperty(t, "Gold", {
enumerable: !0,
get: function() {
return E.default
}
}), Object.defineProperty(t, "Grid", {
enumerable: !0,
get: function() {
return O.default
}
}), Object.defineProperty(t, "HamburgerMenu", {
enumerable: !0,
get: function() {
return k.default
}
}), Object.defineProperty(t, "Header", {
enumerable: !0,
get: function() {
return T.default
}
}), Object.defineProperty(t, "HoneyGold", {
enumerable: !0,
get: function() {
return x.default
}
}), Object.defineProperty(t, "Icon", {
enumerable: !0,
get: function() {
return I.default
}
}), Object.defineProperty(t, "Image", {
enumerable: !0,
get: function() {
return A.default
}
}), Object.defineProperty(t, "ListBox", {
enumerable: !0,
get: function() {
return C.default
}
}), Object.defineProperty(t, "LoadingIcon", {
enumerable: !0,
get: function() {
return j.default
}
}), Object.defineProperty(t, "Logo", {
enumerable: !0,
get: function() {
return R.default
}
}), Object.defineProperty(t, "Media", {
enumerable: !0,
get: function() {
return M.default
}
}), Object.defineProperty(t, "Modal", {
enumerable: !0,
get: function() {
return D.default
}
}), Object.defineProperty(t, "Notification", {
enumerable: !0,
get: function() {
return N.default
}
}), Object.defineProperty(t, "NotificationBanner", {
enumerable: !0,
get: function() {
return L.default
}
}), Object.defineProperty(t, "OptimusBadge", {
enumerable: !0,
get: function() {
return F.default
}
}), Object.defineProperty(t, "PayPalToolkitIcon", {
enumerable: !0,
get: function() {
return P.default
}
}), Object.defineProperty(t, "Pill", {
enumerable: !0,
get: function() {
return G.default
}
}), Object.defineProperty(t, "Popup", {
enumerable: !0,
get: function() {
return U.default
}
}), Object.defineProperty(t, "RadioButton", {
enumerable: !0,
get: function() {
return $.default
}
}), Object.defineProperty(t, "RadioGroup", {
enumerable: !0,
get: function() {
return H.default
}
}), Object.defineProperty(t, "SearchBox", {
enumerable: !0,
get: function() {
return q.default
}
}), Object.defineProperty(t, "SearchDropdown", {
enumerable: !0,
get: function() {
return W.default
}
}), Object.defineProperty(t, "SelectionBox", {
enumerable: !0,
get: function() {
return V.default
}
}), Object.defineProperty(t, "SerpBadge", {
enumerable: !0,
get: function() {
return B.default
}
}), Object.defineProperty(t, "SkipToContent", {
enumerable: !0,
get: function() {
return J.default
}
}), Object.defineProperty(t, "Slider", {
enumerable: !0,
get: function() {
return Y.default
}
}), Object.defineProperty(t, "StoreLogo", {
enumerable: !0,
get: function() {
return K.default
}
}), Object.defineProperty(t, "Toggle", {
enumerable: !0,
get: function() {
return Q.default
}
}), Object.defineProperty(t, "ToolTipIcon", {
enumerable: !0,
get: function() {
return Z.default
}
}), Object.defineProperty(t, "Tooltip", {
enumerable: !0,
get: function() {
return X.default
}
}), Object.defineProperty(t, "useOutsideClick", {
enumerable: !0,
get: function() {
return ee.default
}
}), Object.defineProperty(t, "usePrevious", {
enumerable: !0,
get: function() {
return te.default
}
}), Object.defineProperty(t, "useScrollToChild", {
enumerable: !0,
get: function() {
return z.default
}
}), t.version = void 0;
var o = n(39321),
i = n(37597);
Object.keys(i).forEach(function(e) {
"default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === i[e] || Object.defineProperty(t, e, {
enumerable: !0,
get: function() {
return i[e]
}
}))
});
var a = ne(n(92900)),
s = ne(n(43384)),
c = ne(n(25393)),
u = ne(n(47925)),
l = ne(n(63862)),
f = ne(n(88359)),
d = ne(n(66665)),
p = ne(n(90525)),
h = ne(n(12133)),
m = ne(n(4421)),
g = ne(n(75618)),
y = ne(n(28599)),
v = ne(n(77983)),
b = ne(n(83727)),
_ = ne(n(34121)),
S = ne(n(23260)),
w = ne(n(13028)),
O = ne(n(61995)),
E = ne(n(1962)),
k = ne(n(50990)),
T = ne(n(9197)),
x = ne(n(12187)),
I = ne(n(31371)),
P = ne(n(69330)),
A = ne(n(24183)),
C = ne(n(87347)),
j = ne(n(29709)),
R = ne(n(4091)),
M = ne(n(86461)),
D = ne(n(45391)),
N = ne(n(74459)),
L = ne(n(50453)),
F = ne(n(15085)),
B = ne(n(60610)),
U = ne(n(91416)),
G = ne(n(92167)),
$ = ne(n(49421)),
H = ne(n(46)),
z = ne(n(43655)),
q = ne(n(24875)),
W = ne(n(38453)),
V = ne(n(32719)),
Y = ne(n(47149)),
J = ne(n(10297)),
K = ne(n(31432)),
Q = ne(n(4948)),
X = ne(n(94037)),
Z = ne(n(31868)),
ee = ne(n(43944)),
te = ne(n(83296));
function ne(e) {
return e && e.__esModule ? e : {
default: e
}
}
t.version = o.version
},
72341: (e, t, n) => {
"use strict";
n.d(t, {
A: () => s,
I: () => a
});
var r = n(9666),
o = function() {},
i = r.createContext({
scrollToCategory: o
}),
a = function() {
var e = ((0, r.useContext)(i) || {}).scrollToCategory;
return {
scrollToCategory: void 0 === e ? o : e
}
};
const s = i
},
73639: (e, t, n) => {
"use strict";
t.A = void 0;
var r = a(n(9666)),
o = n(22662),
i = a(n(86146));
function a(e) {
return e && e.__esModule ? e : {
default: e
}
}
const s = {
children: i.default.node,
topLeftContainer: i.default.node,
topMiddleContainer: i.default.node,
topRightContainer: i.default.node
},
c = (0, o.createUseStyles)({
root: {
width: "80px",
minHeight: "64px",
borderRadius: "6px 0px 0px 6px",
boxShadow: "0px 2px 35px rgba(0, 0, 0, 0.25);",
position: "relative",
background: "linear-gradient(180deg, #F26C25 0%, #CC4B06 100%);"
},
topRow: {
position: "absolute",
top: 0,
width: "100%",
display: "flex",
justifyContent: "space-between",
alignItems: "center"
}
}),
u = ({
children: e,
topLeftContainer: t,
topMiddleContainer: n,
topRightContainer: o
}) => {
const i = c();
return r.default.createElement("div", {
className: i.root
}, r.default.createElement("div", {
className: i.topRow
}, r.default.createElement("div", null, t), r.default.createElement("div", null, n), r.default.createElement("div", null, o)), e)
};
u.propTypes = s, u.defaultProps = {
children: null,
topLeftContainer: null,
topMiddleContainer: null,
topRightContainer: null
};
t.A = u
},
74428: (e, t, n) => {
"use strict";
n.d(t, {
A: () => i
});
var r = n(34778),
o = n(59331);
const i = function(e) {
return function(t) {
var n = ((0, r.A)(e) || {}).categoryId;
return (0, o.A)(n)(t)
}
}
},
75606: (e, t, n) => {
"use strict";
n.d(t, {
A: () => P,
C: () => I
});
var r = n(69698),
o = n.n(r),
i = n(262),
a = n.n(i),
s = n(9921),
c = n(24333),
u = n(32969),
l = n(28974),
f = n(68540),
d = n(61991);
function p(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 h(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? p(Object(n), !0).forEach(function(t) {
m(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : p(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function m(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != g(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != g(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == g(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
function g(e) {
return g = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, g(e)
}
function y(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || v(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function v(e, t) {
if (e) {
if ("string" == typeof e) return b(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? b(e, t) : void 0
}
}
function b(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var _ = !1;
function S(e) {
var t;
if (e && e.length < 10 && e.includes("http")) return "";
try {
if ("http:" === (t = new URL(e, window.location.href)).protocol || "https:" === t.protocol) return t.href
} catch (e) {
return s.A.debug("url cannot be validated: ".concat(e)), ""
}
return ""
}
function w(e) {
var t = "";
return e.text().length > 0 ? t = e.text() : e.attr("src") ? t = e.attr("src") : e.attr("value") ? t = e.attr("value") : e.attr("href") ? t = e.attr("href") : e.attr("content") ? t = e.attr("content") : e.attr("id") && (t = e.attr("id")), t.replace(/\s+/g, " ").trim()
}
function O() {
var e, t = 0;
if (o()("html").find("img:visible").each(function(n, r) {
var i = o()(r),
a = parseFloat(i.width()) * parseFloat(i.height());
return a > t && i.offset().top <= 800 && i.offset().top >= 0 && i.offset().left >= 0 && (e = i, t = a), !0
}), !e) return "";
var n = e.attr("src") ? S(e.attr("src")) : "";
if (!n) {
var r = e.attr("srcset") || e.data("srcset");
if (r) n = S(r.split(" ")[0]);
else e.data("src") && (n = S(e.data("src")))
}
return n
}
function E(e, t) {
var n, r = _ ? {} : "",
i = function(e, t) {
var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (!n) {
if (Array.isArray(e) || (n = v(e)) || t && e && "number" == typeof e.length) {
n && (e = n);
var r = 0,
o = function() {};
return {
s: o,
n: function() {
return r >= e.length ? {
done: !0
} : {
done: !1,
value: e[r++]
}
},
e: function(e) {
throw e
},
f: o
}
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}
var i, a = !0,
s = !1;
return {
s: function() {
n = n.call(e)
},
n: function() {
var e = n.next();
return a = e.done, e
},
e: function(e) {
s = !0, i = e
},
f: function() {
try {
a || null == n.return || n.return()
} finally {
if (s) throw i
}
}
}
}(e.entries());
try {
for (i.s(); !(n = i.n()).done;) {
var a = y(n.value, 2),
s = a[0],
u = a[1];
if (!_ && r) break;
var l = o()(u).first();
if (l.length > 0) {
var f = w(l);
"url" === t ? f = S(f) : "number" === t && (f = c.A.cleanPrice(f)), _ ? r[s] = f : r = f
} else _ && (r[s] = "")
}
} catch (e) {
i.e(e)
} finally {
i.f()
}
return r
}
function k(e, t) {
return "number" !== t && e.length > 0 || "number" === t && e > 0
}
function T(e, t) {
var n = e;
return t.number && (n = c.A.cleanPrice(n)), t.array ? n = [n] : Array.isArray(n) && n.length > 0 && (n = n[0]), n || ""
}
function x() {
var e = {};
return Object.keys(d).forEach(function(t) {
d[t].ldJson && (e[t] = "")
}), e
}
function I() {
var e, t, n, r, o = {},
i = (e = {}, Object.keys(d).forEach(function(t) {
var n = d[t],
r = n.primaryPageSelectors,
o = n.secondaryPageSelectors,
i = n.type;
if (r || o) {
var a = !0,
s = E(r, i);
if (o && (!s || _ && Object.values(s).every(function(e) {
return !k(e, i)
})) && (a = !1, s = E(o, i)), s)
if (_) {
var c;
Object.values(s).forEach(function(n, r) {
e["".concat(t, ".").concat(r)] = n
});
for (var u = 0, l = Object.values(s); u < l.length; u++) {
var f = l[u];
if (k(f, i)) {
c = f;
break
}
}
e[t] = {
value: c,
isPrimary: a
}
} else e[t] = {
value: s,
isPrimary: a
};
else e[t] = {
value: ""
}
}
}), e),
a = function() {
var e = {};
try {
var t, n = document.querySelectorAll('[type="application/ld+json"]');
if (n.length > 0 && n.forEach(function(e) {
try {
var n = JSON.parse(e.text.replace(/[\t\n\r]/gm, "").trim());
"Product" === n["@type"] && (t = n)
} catch (e) {
s.A.debug("failed to parse ld+json: ".concat(e))
}
}), !t) return _ ? x() : {};
Object.keys(d).forEach(function(n) {
var r = d[n],
o = r.ldJson,
i = r.type;
if (o) {
var a = t,
s = "";
if (Array.isArray(o)) o.forEach(function(e) {
a[e] && (a = a[e])
}), "string" == typeof a && (s = T(a, r));
else {
var c = t[o];
s = "object" !== g(c) || Array.isArray(c) ? T(t[o], r) : T(t[o][o], r)
}
e[n] = "url" === i ? S(s) : s
}
});
var r = t.offers;
Array.isArray(r) ? (e.price_current = c.A.cleanPrice(r[0].price) || e.price_current, e.currency = t.offers[0].priceCurrency || e.currency) : (e.price_current = c.A.cleanPrice(r.price) || e.price_current, e.currency = r.priceCurrency || e.currency, e.canonical_url = r.url || e.canonical_url)
} catch (e) {
s.A.debug("failed to parse ld+json: ".concat(e))
}
return h(h({}, x), e)
}(),
u = (t = (0, f.A)() || "", n = c.A.cleanPrice(t), r = (t.match(f.t) || [])[0], -1 === Math.sign(n) && (n *= -1), {
currency_symbol: r,
image_url_primary: O(),
price_current: n
});
return Object.keys(d).forEach(function(e) {
var t = {
meta: i[e],
ldJson: a[e],
custom: u[e]
};
o[e] = function(e, t) {
var n = t.meta,
r = t.ldJson,
o = t.custom,
i = n || {},
a = i.value,
s = i.isPrimary;
return a && s ? a : o || r || a
}(0, t)
}), {
prodData: o,
meta: i,
ldJson: a,
customData: u
}
}
const P = function() {
return a().delay(2500).then(function() {
var e = I(),
t = e.prodData,
n = e.meta,
r = e.ldJson,
o = e.customData,
i = {
url: window.location.href,
prodData: t
};
if (_) {
var a = Object.entries(n).filter(function(e) {
return "object" !== g(y(e, 2)[1])
});
i = h(h({}, i), {}, {
meta: Object.fromEntries(a),
ldJson: r,
customData: o
}), u.A.send("genericFetcher:debug", {
action: l.A.SAVE_FETCHER_DATA,
data: i
}, {
background: !0
})
}
return u.A.send("current:product:generic", {
data: t
}), t
})
}
},
76176: (e, t, n) => {
"use strict";
n.d(t, {
wD: () => i
});
var r = n(49651);
e = n.hmd(e);
var o = n(74620);
function i() {
return !(0, r.Z)() && "[object process]" === Object.prototype.toString.call(void 0 !== o ? o : 0)
}
},
78111: (e, t, n) => {
"use strict";
n.d(t, {
A: () => b
});
var r = n(9666),
o = n(9098),
i = n(86146),
a = n.n(i),
s = n(22662),
c = n(72097),
u = n(31755),
l = n(7837),
f = n(46946),
d = n(25094),
p = n(50618),
h = n(32372);
function m(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return g(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? g(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function g(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var y = (0, s.createUseStyles)({
href: {
textDecoration: "underline",
color: c.Colors.white
},
main: {
display: "flex",
justifyContent: "flex-end",
paddingRight: "8px"
},
tooltip: {
textAlign: "left",
composes: "body2",
width: "176px"
}
});
function v(e) {
var t = e.allowTooltip,
n = e.isFollowing,
i = e.isHeaderButton,
a = e.position,
s = e.store,
g = s.storeId,
v = s.storeName,
b = e.storeSessionCount,
_ = e.subSrc,
S = e.tooltipDirection,
w = e.user,
O = y(),
E = (0, o.wA)(),
k = m((0, r.useState)(!1), 2),
T = k[0],
x = k[1],
I = m((0, r.useState)(!1), 2),
P = I[0],
A = I[1],
C = !n && t && T,
j = !n && !t && (T || b > 3),
R = C || j;
(0, r.useEffect)(function() {
w && w.isLoggedIn && u.A.getSetting("requestgold-stores-".concat(w.id)).then(function() {
(arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []).includes(g) && A(!0)
})
}, [w, g]);
var M = function() {
if (P && f.A.sendEvent("ext600000", {
page_variant: "done_screen",
cta_type: h.ct.NONE,
action: "click",
action_type: n ? "unfollow" : "follow"
}), f.A.sendEvent("ext004015", {
sub_src: _,
store_id: g,
position: a,
user_following: n,
action: "click",
action_type: n ? "unfollow" : "follow",
context: j ? "nudge_to_follow" : null
}), w.isLoggedIn) {
var e = n ? "UNFOLLOW" : "FOLLOW";
E(p.Xp.updateUserFollow({
storeId: g,
userId: w.id,
action: e
}))
} else d.A.openEmailAuth("login", "launchpad-ext", !0)
};
(0, r.useEffect)(function() {
i && f.A.sendEvent("ext004015", {
action: "show",
action_type: null,
position: a,
sub_src: _,
store_id: g,
user_following: n,
context: j ? "nudge_to_follow" : null
})
}, []);
var D, N, L, F, B = 24;
"trending_stores" === _ && (B = 32), n && !T && w.isLoggedIn ? (N = l.A.getMessage("Following"), F = l.A.getMessageAndReplace("Following_STORENAME", {
STORENAME: v
}).join(""), L = "secondary-ghost") : n && T && w.isLoggedIn ? (N = l.A.getMessage("Unfollow"), F = l.A.getMessageAndReplace("Unfollow_STORENAME", {
STORENAME: v
}).join(""), D = "#FF5252") : (N = l.A.getMessage("Follow"), F = l.A.getMessageAndReplace("Follow_STORENAME", {
STORENAME: v
}).join(""), L = "secondary");
var U = C && r.createElement("div", {
className: O.tooltip
}, l.A.getMessage("Follow_your_favorite_stores_to_get_sale_alerts_new_coupons_and_personalized_recommendations_on_your_feed"), r.createElement("a", {
href: "https://www.joinhoney.com/feed",
className: O.href,
rel: "noopener noreferrer",
target: "_blank",
onClick: function() {
f.A.sendEvent("ext004015", {
sub_src: _,
store_id: g,
position: a,
user_following: n,
action: "click",
action_type: "feed"
})
}
}, l.A.getMessage("Learn_more"))),
G = j && r.createElement("div", {
className: O.tooltip
}, l.A.getMessage("Love_STORENAME_Follow_this_store_to_get_sale_alerts").replace(/{STORENAME}/g, v));
return r.createElement("div", {
className: O.main,
"data-position": a,
"data-store-id": g,
"data-sub-src": _,
"data-user-following": n,
onMouseEnter: function() {
f.A.sendEvent("ext004015", {
sub_src: _,
store_id: g,
position: a,
user_following: n,
action: "hover",
action_type: null,
context: j ? "nudge_to_follow" : null
}), x(!0)
},
onMouseLeave: function() {
x(!1)
}
}, R ? r.createElement(c.ToolTipIcon, {
forceShow: !0,
interactable: !0,
dotted: !1,
direction: S,
component: R && (U || G) || null,
customAnchorElement: r.createElement(c.Button, {
id: "corner:follow:button",
buttonColor: D,
buttonType: L,
copy: N,
onClick: M,
size: B,
ariaLabel: F
})
}) : r.createElement(c.Button, {
id: "corner:follow:button",
buttonColor: D,
buttonType: L,
copy: N,
onClick: M,
size: B,
ariaLabel: F
}))
}
v.propTypes = {
allowTooltip: a().bool,
isFollowing: a().bool,
isHeaderButton: a().bool,
position: a().number,
store: a().shape({
storeId: a().string,
storeName: a().string
}),
storeSessionCount: a().number,
subSrc: a().string,
tooltipDirection: a().string,
user: a().object
}, v.defaultProps = {
allowTooltip: !1,
isFollowing: !1,
isHeaderButton: !1,
position: null,
store: {},
storeSessionCount: 0,
subSrc: "",
tooltipDirection: "top-right",
user: {}
};
const b = v
},
78860: (e, t, n) => {
"use strict";
n.d(t, {
A: () => S,
d: () => b
});
var r = n(9666),
o = n(86146),
i = n.n(o),
a = n(9098),
s = n(22662),
c = n(72097),
u = n(25094),
l = n(78111),
f = n(50618),
d = n(7837);
function p() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e, t, n = "function" == typeof Symbol ? Symbol : {},
r = n.iterator || "@@iterator",
o = n.toStringTag || "@@toStringTag";
function i(n, r, o, i) {
var c = r && r.prototype instanceof s ? r : s,
u = Object.create(c.prototype);
return h(u, "_invoke", function(n, r, o) {
var i, s, c, u = 0,
l = o || [],
f = !1,
d = {
p: 0,
n: 0,
v: e,
a: p,
f: p.bind(e, 4),
d: function(t, n) {
return i = t, s = 0, c = e, d.n = n, a
}
};
function p(n, r) {
for (s = n, c = r, t = 0; !f && u && !o && t < l.length; t++) {
var o, i = l[t],
p = d.p,
h = i[2];
n > 3 ? (o = h === r) && (c = i[(s = i[4]) ? 5 : (s = 3, 3)], i[4] = i[5] = e) : i[0] <= p && ((o = n < 2 && p < i[1]) ? (s = 0, d.v = r, d.n = i[1]) : p < h && (o = n < 3 || i[0] > r || r > h) && (i[4] = n, i[5] = r, d.n = h, s = 0))
}
if (o || n > 1) return a;
throw f = !0, r
}
return function(o, l, h) {
if (u > 1) throw TypeError("Generator is already running");
for (f && 1 === l && p(l, h), s = l, c = h;
(t = s < 2 ? e : c) || !f;) {
i || (s ? s < 3 ? (s > 1 && (d.n = -1), p(s, c)) : d.n = c : d.v = c);
try {
if (u = 2, i) {
if (s || (o = "next"), t = i[o]) {
if (!(t = t.call(i, c))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
c = t.value, s < 2 && (s = 0)
} else 1 === s && (t = i.return) && t.call(i), s < 2 && (c = TypeError("The iterator does not provide a '" + o + "' method"), s = 1);
i = e
} else if ((t = (f = d.n < 0) ? c : n.call(r, d)) !== a) break
} catch (t) {
i = e, s = 1, c = t
} finally {
u = 1
}
}
return {
value: t,
done: f
}
}
}(n, o, i), !0), u
}
var a = {};
function s() {}
function c() {}
function u() {}
t = Object.getPrototypeOf;
var l = [][r] ? t(t([][r]())) : (h(t = {}, r, function() {
return this
}), t),
f = u.prototype = s.prototype = Object.create(l);
function d(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, u) : (e.__proto__ = u, h(e, o, "GeneratorFunction")), e.prototype = Object.create(f), e
}
return c.prototype = u, h(f, "constructor", u), h(u, "constructor", c), c.displayName = "GeneratorFunction", h(u, o, "GeneratorFunction"), h(f), h(f, o, "Generator"), h(f, r, function() {
return this
}), h(f, "toString", function() {
return "[object Generator]"
}), (p = function() {
return {
w: i,
m: d
}
})()
}
function h(e, t, n, r) {
var o = Object.defineProperty;
try {
o({}, "", {})
} catch (e) {
o = 0
}
h = function(e, t, n, r) {
function i(t, n) {
h(e, t, function(e) {
return this._invoke(t, n, e)
})
}
t ? o ? o(e, t, {
value: n,
enumerable: !r,
configurable: !r,
writable: !r
}) : e[t] = n : (i("next", 0), i("throw", 1), i("return", 2))
}, h(e, t, n, r)
}
function m(e, t, n, r, o, i, a) {
try {
var s = e[i](a),
c = s.value
} catch (e) {
return void n(e)
}
s.done ? t(c) : Promise.resolve(c).then(r, o)
}
function g(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return y(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? y(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function y(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
var v = (0, s.createUseStyles)({
storeInfoContainer: {
display: "flex",
alignItems: "center",
backgroundColor: c.Colors.white,
height: "55px",
width: "100%",
borderBottom: "1px solid ".concat(c.Colors.grey300)
},
logo: {
margin: [11, 24]
},
storeInfo: {
display: "inline-block",
verticalAlign: "middle",
width: "160px"
},
storeName: {
fontSize: "14px",
fontWeight: "600",
color: c.Colors.grey900,
whiteSpace: "nowrap",
overflow: "hidden",
textOverflow: "ellipsis"
},
storeCount: {
fontSize: "11px",
fontWeight: "600",
color: c.Colors.grey700
},
storeFollow: {
display: "inline-block",
verticalAlign: "middle",
textAlign: "right",
width: function(e) {
return e.inPopover ? "87px" : "71px"
}
}
});
var b = function(e) {
var t, n = e.store,
o = e.storeFollowButton,
i = e.inPopover,
a = v({
inPopover: i
});
return r.createElement("div", {
className: a.storeInfoContainer
}, r.createElement(c.StoreLogo, {
className: a.logo,
size: 40,
storeId: n.id,
storeName: n.name
}), r.createElement("div", {
className: a.storeInfo
}, r.createElement("div", {
className: a.storeName
}, n.name), r.createElement("div", {
className: a.storeCount
}, d.A.getMessage("NUMSHOPPERS_shoppers").replace(/{NUMSHOPPERS}/g, (t = n.shoppers) > 999999 ? "".concat(Math.floor(t / 1e5) / 10, "M") : t > 999 ? "".concat(Math.floor(t / 100) / 10, "k") : t))), r.createElement("div", {
className: a.storeFollow
}, o))
};
b.propTypes = {
store: i().object,
storeFollowButton: i().node,
inPopover: i().bool
}, b.defaultProps = {
store: {},
storeFollowButton: void 0,
inPopover: i().false
};
var _ = function(e) {
var t = e.inPopover,
n = (0, a.d4)(function(e) {
return e.user.user
}),
o = n && n.id,
i = n && n.isLoggedIn,
s = (0, a.d4)(function(e) {
return e.stores
}),
c = s.stores[s.current],
d = (0, a.d4)(function(e) {
return e.user.follow
}),
h = g((0, r.useState)(!1), 2),
y = h[0],
v = h[1],
_ = (0, a.wA)();
(0, r.useEffect)(function() {
o && i && _(f.Xp.getUserFollow(o))
}, [_, o, i]), (0, r.useEffect)(function() {
d && v(!!d && d.includes(c.id))
}, [_, d, c]);
var S = function() {
var e, t = (e = p().m(function e() {
var t, r;
return p().w(function(e) {
for (;;) switch (e.n) {
case 0:
return n && n.isLoggedIn || u.A.openEmailAuth("login", "launchpad-ext", !0), t = y ? "UNFOLLOW" : "FOLLOW", e.n = 1, u.A.updateUserFollow(c.id, n.id, t);
case 1:
r = e.v, v(r.includes(c.id));
case 2:
return e.a(2)
}
}, e)
}), function() {
var t = this,
n = arguments;
return new Promise(function(r, o) {
var i = e.apply(t, n);
function a(e) {
m(i, r, o, a, s, "next", e)
}
function s(e) {
m(i, r, o, a, s, "throw", e)
}
a(void 0)
})
});
return function() {
return t.apply(this, arguments)
}
}();
return r.createElement(b, {
inPopover: t,
store: c,
storeFollowButton: r.createElement(l.A, {
isHeaderButton: !0,
subSrc: "launchpad",
allowTooltip: !1,
user: n,
store: {
storeId: c.id,
storeName: c.name
},
isFollowing: y,
updateUserFollow: S
})
})
};
_.propTypes = {
inPopover: i().bool
}, _.defaultProps = {
inPopover: !1
};
const S = _
},
79973: (e, t, n) => {
"use strict";
n.d(t, {
A0: () => l,
Ay: () => f,
v_: () => i.A
});
var r = n(73595),
o = n(35158),
i = n(99735);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
83701: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), Object.defineProperty(t, "default", {
enumerable: !0,
get: function() {
return r.Typography
}
});
var r = n(96028)
},
84458: (e, t, n) => {
"use strict";
n.d(t, {
A: () => i
});
var r = n(9098),
o = n(36927);
const i = function() {
return !!((0, r.d4)(o.A) || {}).isAutopop
}
},
84993: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => u,
De: () => o.Ay,
an: () => c
});
var r = n(65775),
o = n(53123);
function i(e) {
return i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, i(e)
}
function a(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 s(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != i(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != i(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == i(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var c = function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? a(Object(n), !0).forEach(function(t) {
s(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : a(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}({}, r.o1);
const u = r.Ff
},
85831: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
gE: () => i.A,
qg: () => l
});
var r = n(57369),
o = n(875),
i = n(93449);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
87888: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => l,
j: () => u,
cA: () => i
});
var r = n(83392),
o = function(e) {
return function(t) {
return t.optimus.productsByPageId[e]
}
};
const i = {
selectProductByPageId: o,
selectProductByProductId: function(e) {
return function(t) {
var n = t.whereAmI.productsByPageId || {},
r = Object.keys(n).find(function(t) {
return n[t].productId === e
});
return o(r)(t)
}
}
};
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var u = function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
c(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}({}, r.o1);
const l = r.Ff
},
89773: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
e5: () => l,
n2: () => i.A
});
var r = n(27635),
o = n(38846),
i = n(13263);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
92685: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => p,
Qm: () => d,
XK: () => s
});
var r = n(18411),
o = n(17542),
i = n(35826),
a = function(e) {
return function(t) {
return t && t.productFetcher && t.productFetcher.products && t.productFetcher.products[e]
}
};
const s = {
selectProductByPageId: a,
selectCurrentPageProduct: function(e) {
var t = i.im.selectCurrentPageId()(e);
return a(t)(e)
},
selectProductByProductId: function(e) {
return function(t) {
var n = t.productFetcher.products || {};
return Object.values(n).find(function(t) {
return e === t.productId
})
}
}
};
function c(e) {
return c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, c(e)
}
function u(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 l(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? u(Object(n), !0).forEach(function(t) {
f(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : u(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function f(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != c(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != c(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == c(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var d = l(l({}, o.A), r.o1);
const p = r.Ff
},
94576: (e, t, n) => {
var r = n(61735),
o = n(24547);
e.exports = function(e, t, n) {
var i = !0,
a = !0;
if ("function" != typeof e) throw new TypeError("Expected a function");
return o(n) && (i = "leading" in n ? !!n.leading : i, a = "trailing" in n ? !!n.trailing : a), r(e, t, {
leading: i,
maxWait: t,
trailing: a
})
}
},
94861: (e, t, n) => {
"use strict";
n.d(t, {
t: () => s,
x: () => c
});
var r = n(2317),
o = n(13261),
i = n(8004),
a = n(64287),
s = (0, r.Mz)(i.nU.selectTopCouponForCurrentProduct, a.fN, function(e) {
return {
coupon: e,
product: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
}
}),
c = (0, r.Mz)(s, function(e) {
var t = e.coupon;
return t && (0, o.A)(t)
})
},
95872: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
eu: () => i.A,
f1: () => l
});
var r = n(92802),
o = n(51515),
i = n(29822);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
96161: (e, t, n) => {
"use strict";
n.d(t, {
A: () => u
});
var r = n(9666),
o = n(30205),
i = n(46946),
a = n(323);
function s(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return c(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? c(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function c(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
const u = function(e) {
var t = s((0, r.useState)(!1), 2),
n = t[0],
c = t[1];
(0, r.useEffect)(function() {
a.A.getFeatureFlag("ext_competitor_move_logic").then(c)
}, []);
var u = (0, r.useRef)(!1),
l = (0, r.useMemo)(function() {
return (0, o.A)()
}, []),
f = s((0, r.useState)(l ? l.clientHeight + 16 : 16), 2),
d = f[0],
p = f[1],
h = s((0, r.useState)(l ? l.clientWidth + 16 : 16), 2),
m = h[0],
g = h[1];
return (0, r.useEffect)(function() {
if (l) {
var e = new MutationObserver(function(e) {
l && e.length > 0 && (p(l.clientHeight + 16), g(l.clientWidth + 16))
});
l && e.observe(l, {
attributes: !0,
subtree: !0,
childList: !0
})
}
}, [l]), !u.current && (d > 16 || m > 16) && (u.current = !0, i.A.sendEvent("ext000013", e)), (0, r.useMemo)(function() {
return n ? {
topMargin: d,
rightMargin: m
} : {
topMargin: void 0,
rightMargin: 16
}
}, [n, d, m])
}
},
96532: (e, t, n) => {
"use strict";
n.d(t, {
x: () => r
});
var r = 3e4
},
97555: (e, t, n) => {
"use strict";
n.d(t, {
Ay: () => f,
fL: () => i.A,
ox: () => l
});
var r = n(9757),
o = n(79888),
i = n(45877);
function a(e) {
return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
}, a(e)
}
function s(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 c(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? s(Object(n), !0).forEach(function(t) {
u(e, t, n[t])
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
})
}
return e
}
function u(e, t, n) {
return (t = function(e) {
var t = function(e, t) {
if ("object" != a(e) || !e) return e;
var n = e[Symbol.toPrimitive];
if (void 0 !== n) {
var r = n.call(e, t || "default");
if ("object" != a(r)) return r;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === t ? String : Number)(e)
}(e, "string");
return "symbol" == a(t) ? t : t + ""
}(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e
}
var l = c(c({}, o.A), r.o1);
const f = r.Ff
},
99459: (e, t, n) => {
"use strict";
! function e() {
if ("undefined" != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) try {
__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)
} catch (e) {
console.error(e)
}
}(), e.exports = n(58181)
},
99507: (e, t, n) => {
"use strict";
n.d(t, {
A: () => s
});
var r = n(2317),
o = n(5735);
function i(e, t) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, t) {
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null != n) {
var r, o, i, a, s = [],
c = !0,
u = !1;
try {
if (i = (n = n.call(e)).next, 0 === t) {
if (Object(n) !== n) return;
c = !1
} else
for (; !(c = (r = i.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
} catch (e) {
u = !0, o = e
} finally {
try {
if (!c && null != n.return && (a = n.return(), Object(a) !== a)) return
} finally {
if (u) throw o
}
}
return s
}
}(e, t) || function(e, t) {
if (e) {
if ("string" == typeof e) return a(e, t);
var n = {}.toString.call(e).slice(8, -1);
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? a(e, t) : void 0
}
}(e, t) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function a(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r
}
const s = (0, r.Mz)(function(e) {
return (0, o.A)(e)
}, function(e, t) {
return t
}, function(e, t) {
return i((e || []).filter(function(e) {
var n = e.categoryId;
return !(t || []).includes(n)
}), 1)[0]
})
}
},
n = {};
function r(e) {
var o = n[e];
if (void 0 !== o) return o.exports;
var i = n[e] = {
id: e,
loaded: !1,
exports: {}
};
return t[e].call(i.exports, i, i.exports, r), i.loaded = !0, i.exports
}
r.m = t, e = [], r.O = (t, n, o, i) => {
if (!n) {
var a = 1 / 0;
for (l = 0; l < e.length; l++) {
for (var [n, o, i] = e[l], s = !0, c = 0; c < n.length; c++)(!1 & i || a >= i) && Object.keys(r.O).every(e => r.O[e](n[c])) ? n.splice(c--, 1) : (s = !1, i < a && (a = i));
if (s) {
e.splice(l--, 1);
var u = o();
void 0 !== u && (t = u)
}
}
return t
}
i = i || 0;
for (var l = e.length; l > 0 && e[l - 1][2] > i; l--) e[l] = e[l - 1];
e[l] = [n, o, i]
}, r.n = e => {
var t = e && e.__esModule ? () => e.default : () => e;
return r.d(t, {
a: t
}), t
}, r.d = (e, t) => {
for (var n in t) r.o(t, n) && !r.o(e, n) && Object.defineProperty(e, n, {
enumerable: !0,
get: t[n]
})
}, r.g = function() {
if ("object" == typeof globalThis) return globalThis;
try {
return this || new Function("return this")()
} catch (e) {
if ("object" == typeof window) return window
}
}(), r.hmd = e => ((e = Object.create(e)).children || (e.children = []), Object.defineProperty(e, "exports", {
enumerable: !0,
set: () => {
throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: " + e.id)
}
}), e), r.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), r.r = e => {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
value: "Module"
}), Object.defineProperty(e, "__esModule", {
value: !0
})
}, r.nmd = e => (e.paths = [], e.children || (e.children = []), e), (() => {
var e = {
792: 0
};
r.O.j = t => 0 === e[t];
var t = (t, n) => {
var o, i, [a, s, c] = n,
u = 0;
if (a.some(t => 0 !== e[t])) {
for (o in s) r.o(s, o) && (r.m[o] = s[o]);
if (c) var l = c(r)
}
for (t && t(n); u < a.length; u++) i = a[u], r.o(e, i) && e[i] && e[i][0](), e[i] = 0;
return r.O(l)
},
n = self.webpackChunkhoney_extension = self.webpackChunkhoney_extension || [];
n.forEach(t.bind(null, 0)), n.push = t.bind(null, n.push.bind(n))
})();
var o = r.O(void 0, [644, 274], () => r(67107));
o = r.O(o)
})();