PageSourceSearch

https://www.partypoker.com/ClientDist/browser/chunk-czfrwm0h.js

js partypoker.com collected 2026-10-09 22:44:06 UTC 74,563 bytes, 2,082 lines download raw bytes

1import { b as Se, d as Y, f as Wt, g as T, p as Ft } from "./chunk-i2pl4wu9.js";
2import { $i as Te, Aa as jt, At as A, Bi as qt, Bn as Kt, Bt as Jt, Ci as se, Co as _, Ct as Yt, Dn as Qt, E as U, Ei as b, Et as L, Fo as u, Ga as z, Gi as ye, Kt as ae, Ma as Ie, Na as re, Nr as v, Pi as Zt, Ro as M, Ti as we, Tr as Q, Ui as Xt, W as o, Wa as y, Xt as ei, _r as k, ao as c, b as le, bn as h, do as ti, et as g, fi as x, fr as d, ht as p, in as ii, j as ni, jn as m, jo as oi, jt as si, kn as Pe, kt as ai, n as V, na as E, oi as Ae, q as D, qi as _e, qr as ri, ro as l, rt as s, ti as I, tn as li, tt as $, u as ci, ui as ce, vr as hi, wi as gi, xa as W, xn as ui, xr as di, yn as w, za as F, zi as a } from "./chunk-ql746sly.js";
3import { I as pi, T as fi, j as xe, l as vi } from "./chunk-hcheit1f.js";
4import { a as mi, p as De } from "./chunk-b11o3szq.js";
5import { D as bi, Dt as O, d as j, j as S, ut as Le } from "./chunk-fz42rx6r.js";
6import { r as Oe, t as he } from "./chunk-icjzvqcx.js";
7import { t as Ci } from "./chunk-jbaamz4y.js";
8import { a as ki, i as He, s as Si } from "./chunk-bc0fsc6d.js";
9import { $ as Ti, Y as Re, ft as yi, gt as Ii, rt as wi, z as Me } from "./chunk-ot109np3.js";
10import { o as Ee, t as Be } from "./chunk-jaxwt8s1.js";
11import { M as Ge, T as Pi, y as q } from "./chunk-hxqgo4lj.js";
12import { o as Ai } from "./chunk-br9ckdzm.js";
13import { C as _i, n as xi } from "./chunk-l43lwjlr.js";
14import { a as Di, d as R, h as B, l as Li, n as Oi, o as Hi, p as Ne, r as Ri, s as Mi, u as Ei } from "./chunk-bl09vhvv.js";
15import { ot as Bi } from "./chunk-f0xko016.js";
16import { a as Gi, c as Ue, r as Ni, t as Ui } from "./chunk-oats8yse.js";
17import { L as zi, Mr as ze, Sn as Ve, bt as Vi, fn as $i, gn as Wi, jr as $e, jt as Fi, nr as We, pr as ji } from "./chunk-ozbfhgko.js";
18import { a as qi } from "./chunk-lt7tziae.js";
19import { n as Fe, r as G } from "./chunk-fla2anea.js";
20import { t as Ki } from "./chunk-lf77xnpz.js";
21import { i as Ji, p as Yi } from "./chunk-bnt36dw9.js";
22import { n as Qi } from "./chunk-d6iooz3w.js";
23import { n as Zi } from "./chunk-c8btpjog.js";
24import { C as K, M as Xi, P as en, Y as J, dt as je, m as tn, tt as qe, z as Z } from "./chunk-dkzazc5t.js";
25import { a as nn, s as on } from "./chunk-bh8ut9ee.js";
26import { c as sn } from "./chunk-oqfdwkhk.js";
27import { r as an } from "./chunk-ngak4zlf.js";
28import { t as rn } from "./chunk-ggzcwtgt.js";
29import { n as X, t as Ke } from "./chunk-i471vw4l.js";
30import { n as ln } from "./chunk-gd9lkrcj.js";
31import { i as cn } from "./chunk-d0ckdczq.js";
32import { N as Je, O as hn, T as gn, W as un, b as dn, z as pn } from "./chunk-f74tx1a3.js";
33import { n as fn, t as Ye } from "./chunk-nhq7wupa.js";
34import { n as vn } from "./chunk-hh163lda.js";
35import { $t as Qe, A as mn, At as bn, C as Ze, Dt as Xe, En as Cn, Ft as kn, Kt as Sn, L as Tn, Ot as yn, Pn as In, Sn as wn, T as Pn, _g as et, _t as tt, ct as An, gg as it, gt as _n, jn as xn, lt as Dn, nn as Ln, on as On, pt as Hn, q as Rn, wt as Mn, xt as En, yt as Bn } from "./chunk-cqx9un6o.js";
36import { Pr as Gn, Yn as nt, ht as Nn, kn as Un, nn as zn } from "./chunk-oq098d7b.js";
37import { i as ot, n as st, r as ee, t as Vn } from "./chunk-njfowjug.js";
38import { n as $n, t as at } from "./chunk-o4f8w5yc.js";
39function Wn(t, i) {
40	return t.createForProduct(N, {
41		product: S.HORSERACING,
42		area: "horseracing",
43		forwardProductApiRequestHeader: i.getMetadata(S.HORSERACING).isEnabled
44	});
45}
46function Fn(t, i) {
47	if (t & 1) {
48		let e = A();
49		a(0, "div", 1)(1, "div", 7), u("click", function() {
50			return m(e), v(c(2).close());
51		}), g(2, "i", 8), l()();
52	}
53}
54function jn(t, i) {
55	if (t & 1) {
56		let e = A();
57		a(0, "div", 4)(1, "input", 9, 0), u("click", function(n) {
58			m(e);
59			let r = _e(2);
60			return v(c(2).DoNotShowMessage(n, r));
61		}), l(), a(3, "label", 10), k(4), l()();
62	}
63	if (t & 2) {
64		let e = c(2);
65		s(4), D(e.loginBanner?.CheckBoxText);
66	}
67}
68function qn(t, i) {
69	if (t & 1) {
70		let e = A();
71		a(0, "div"), d(1, Fn, 3, 0, "div", 1), a(2, "div", 2)(3, "h2"), k(4), l(), a(5, "p", 3), k(6), l(), d(7, jn, 5, 1, "div", 4), a(8, "button", 5), u("click", function() {
72			return m(e), v(c().login());
73		}), k(9), l(), a(10, "a", 6), u("click", function() {
74			return m(e), v(c().signUpNavigation());
75		}), k(11), l()()();
76	}
77	if (t & 2) {
78		let e = c();
79		s(), p(e.isPopUp ? 1 : -1), s(3), D(e.loginBanner?.Title), s(2), D(e.loginBanner?.Description), s(), p(e.isPopUp ? 7 : -1), s(2), D(e.loginBanner?.ButtonText), s(2), D(e.loginBanner?.SignUpText);
80	}
81}
82function Kn(t, i) {
83	if (t & 1 && (I(0, "li", 5), k(1), x()), t & 2) {
84		let e = i.$implicit;
85		s(), ye(" ", e, " ");
86	}
87}
88function Jn(t, i) {
89	if (t & 1 && (I(0, "ol", 4), V(1, Kn, 2, 1, "li", 5, $().trackByBetTypeItems, !0), x()), t & 2) {
90		let e = c();
91		s(), z(e.data.info);
92	}
93}
94function Yn(t, i) {
95	if (t & 1 && (I(0, "li", 5)(1, "h3"), k(2), x(), E(3, "p", 6), I(4, "div", 7), E(5, "span", 8)(6, "span", 9), x(), I(7, "div", 7), E(8, "span", 8), I(9, "div"), E(10, "span", 10)(11, "span", 11)(12, "span", 11)(13, "span", 11)(14, "span", 11), x()()()), t & 2) {
96		let e = i.$implicit;
97		s(2), D(e.title), s(), y("innerHTML", e.description, w), s(2), y("innerHTML", e.info.DifficultyLevelText, w), s(), y("innerHTML", e.info.DifficultyLevelValue, w), s(2), y("innerHTML", e.info.PotentialPayOutText, w), s(2), y("innerHTML", e.info.PotentialPayOutValue, w), s(), y("innerHTML", e.info.PotentialPayOutValue, w), s(), y("innerHTML", e.info.PotentialPayOutValue, w), s(), y("innerHTML", e.info.PotentialPayOutValue, w), s(), y("innerHTML", e.info.PotentialPayOutValue, w);
98	}
99}
100function Qn(t, i) {
101	if (t & 1 && (I(0, "ol", 4), V(1, Yn, 15, 10, "li", 5, $().trackByBetTypeItems, !0), x()), t & 2) {
102		let e = c();
103		s(), z(e.data.betTypeItems);
104	}
105}
106function Zn(t, i) {
107	if (t & 1) {
108		let e = A();
109		a(0, "div")(1, "div", 2), u("click", function() {
110			let n = m(e).$implicit;
111			return v(c(3).open(n.header));
112		}), a(2, "span"), k(3), l(), g(4, "span", 3), l()();
113	}
114	if (t & 2) {
115		let e = i.$implicit;
116		s(3), D(e.header);
117	}
118}
119function Xn(t, i) {
120	if (t & 1 && (a(0, "div", 0), V(1, Zn, 5, 1, "div", null, $().trackByMenuItems, !0), l()), t & 2) {
121		let e = c(2);
122		s(), z(e.helpPopup.menuItems);
123	}
124}
125function eo(t, i) {
126	if (t & 1) {
127		let e = A();
128		a(0, "div")(1, "div", 4), u("click", function() {
129			let n = m(e).$implicit;
130			return v(c(3).open(n.header));
131		}), a(2, "div", 5)(3, "span", 6), k(4), l(), a(5, "span", 7), k(6), l()(), g(7, "span", 8), l()();
132	}
133	if (t & 2) {
134		let e = i.$implicit;
135		s(4), D(e.header), s(2), D(e.description);
136	}
137}
138function to(t, i) {
139	if (t & 1 && (a(0, "div", 1), V(1, eo, 8, 2, "div", null, $().trackByMenuItems, !0), l()), t & 2) {
140		let e = c(2);
141		s(), z(e.helpPopup.menuItems);
142	}
143}
144function io(t, i) {
145	if (t & 1 && (a(0, "div"), d(1, Xn, 3, 0, "div", 0), d(2, to, 3, 0, "div", 1), l()), t & 2) {
146		let e = c();
147		s(), p(e.isMobile ? 1 : -1), s(), p(e.isMobile ? -1 : 2);
148	}
149}
150function no(t, i) {
151	if (t & 1) {
152		let e = A();
153		a(0, "div", 2)(1, "div", 5), g(2, "h1", 6), a(3, "span", 7), u("click", function() {
154			return m(e), v(c().close());
155		}), l()(), g(4, "div", 8), a(5, "div", 9)(6, "button", 10), u("click", function() {
156			return m(e), v(c().download());
157		}), l(), a(7, "button", 11), u("click", function() {
158			return m(e), v(c().continue());
159		}), l()()();
160	}
161	if (t & 2) {
162		let e = c();
163		s(2), h("textContent", e.geocomplyTitle), s(2), h("vnDynamicHtml", e.geoComplyMessage), s(2), h("textContent", e.downloadButtonText), s(), h("textContent", e.continueButtonText);
164	}
165}
166function oo(t, i) {
167	if (t & 1) {
168		let e = A();
169		a(0, "div", 3)(1, "div", 12), g(2, "h1", 13), a(3, "span", 7), u("click", function() {
170			return m(e), v(c().close());
171		}), l()(), a(4, "div", 14), g(5, "div", 15), a(6, "div", 16), g(7, "h2", 17)(8, "p", 17), l(), g(9, "p", 18), a(10, "div", 19)(11, "a", 20), u("click", function() {
172			return m(e), v(c().appDownloaderClicked());
173		}), l()(), g(12, "br"), a(13, "div", 21), g(14, "hr")(15, "div", 22), l(), g(16, "p", 23), a(17, "div", 24)(18, "div", 25), g(19, "p", 26), a(20, "a", 27), u("click", function() {
174			return m(e), v(c().download());
175		}), l()(), a(21, "div", 28), g(22, "p", 29), a(23, "a", 30), u("click", function() {
176			return m(e), v(c().continue());
177		}), l()()(), a(24, "div", 31)(25, "div", 32)(26, "i", 33), u("click", function() {
178			return m(e), v(c().info());
179		}), l(), a(27, "span", 34), u("click", function() {
180			return m(e), v(c().info());
181		}), l()()(), a(28, "div")(29, "vn-popper-content", 35, 0), k(31), l()()()();
182	}
183	if (t & 2) {
184		let e = _e(30), n = c();
185		s(2), h("textContent", n.geolocationMobileInstallerTitle), s(5), h("textContent", n.oobeeInstallerHeadingText), s(), h("textContent", n.oobeeInstallerHeadingInstruction), s(), h("textContent", n.continuePlayOnAppInstructionText), s(2), h("href", n.appDownloadLink, ae)("textContent", n.continuePlayOnAppUserActionText), s(4), h("textContent", n.playOnAppOrWebPlayerOptionsSeparatorText), s(), h("textContent", n.continuePlayOnWebInstructionText), s(3), h("textContent", n.oobeeInstallerDownloadStepText), s(), h("textContent", n.oobeeInstallerDownloadUserActionText), s(2), h("textContent", n.oobeeInstallerContinueStepText), s(), h("textContent", n.oobeeInstallerContinueUserActionText), s(3), h("floatUi", e.content), s(), h("floatUi", e.content)("textContent", n.geoguardEnquiryUserActionText), s(4), ye(" ", n.geoGuardDescriptionText, " ");
186	}
187}
188function so(t, i) {
189	t & 1 && (a(0, "div", 4), g(1, "span"), l());
190}
191function ao(t, i) {
192	if (t & 1 && (a(0, "div", 0)(1, "div", 1)(2, "div", 2), g(3, "vn-page-matrix", 3), l()()()), t & 2) {
193		let e = c();
194		s(3), h("path", e.seoBoxesConfig == null ? null : e.seoBoxesConfig.seoBoxesPathMapper);
195	}
196}
197function ro(t, i) {
198	if (t & 1 && (g(0, "div", 3), F(1, "sitecore_image_resize")), t & 2) {
199		let e = c();
200		re("background-position", e.teaserBackgroundPosition), h("ngStyle", Ie(5, ve, "url(" + W(1, 3, e.teaser.backgroundImage.src) + ")"));
201	}
202}
203function lo(t, i) {
204	if (t & 1 && (g(0, "div", 3), F(1, "sitecore_image_resize")), t & 2) {
205		let e = c();
206		h("ngStyle", Ie(3, ve, "url(" + W(1, 1, e.teaser.desktopImage.src || e.teaser.backgroundImage.src) + ")"));
207	}
208}
209function co(t, i) {
210	if (t & 1 && (a(0, "div", 7), g(1, "a", 8), F(2, "trustAsHtml"), l()), t & 2) {
211		let e = c();
212		s(), h("href", Q(e.teaser.cta.url), ae)("target", Q(e.teaser.cta.attributes.target))("innerHtml", W(2, 5, e.teaser.cta.text), w);
213	}
214}
215function ho(t, i) {
216	if (t & 1 && (a(0, "div", 3), g(1, "hrl-teaser-item", 4), l()), t & 2) {
217		let e = i.$implicit;
218		s(), h("teaser", e);
219	}
220}
221function go(t, i) {
222	if (t & 1 && (a(0, "div", 1)(1, "vn-swiper", 2, 0), V(3, ho, 2, 1, "div", 3, $().trackByTeaser, !0), l()()), t & 2) {
223		let e = c();
224		s(), h("swiperOptions", e.swiperOptions), s(2), z(e.filteredteasers);
225	}
226}
227function uo(t, i) {
228	if (t & 1) {
229		let e = A();
230		a(0, "button", 1), u("click", function() {
231			return m(e), v(c(2).loginRequest());
232		}), k(1, "Login Request"), l();
233	}
234}
235function po(t, i) {
236	if (t & 1) {
237		let e = A();
238		a(0, "button", 1), u("click", function() {
239			return m(e), v(c(2).logoutRequest());
240		}), k(1, "Logout Request"), l();
241	}
242}
243function fo(t, i) {
244	if (t & 1) {
245		let e = A();
246		ti(0), d(1, uo, 2, 0, "button"), a(2, "input", 0), ri("ngModelChange", function(n) {
247			m(e);
248			let r = c();
249			return ci(r.height, n) || (r.height = n), v(n);
250		}), l(), Jt(), d(3, po, 2, 0, "button"), a(4, "button", 1), u("click", function() {
251			return m(e), v(c().updateHeight());
252		}), k(5, "Update Height"), l(), di();
253	}
254	if (t & 2) {
255		let e = c();
256		s(), p(e.isAuthenticated ? -1 : 1), s(), ni("ngModel", e.height), ui(), s(), p(e.isAuthenticated ? 3 : -1);
257	}
258}
259function vo(t, i) {
260	t & 1 && g(0, "hrl-horse-racing-login");
261}
262var N, ge, te, ie, ne, oe, rt, lt, ct, ht, P, ue, gt, ut, dt, pt, ft, vt, mt, de, pe, fe, bt, Ct, kt, St, Tt, yt, It, wt, Pt, At, ve, _t, xt, Dt, Lt;
263function me() {
264	return (me = at((() => {
265		Se(), Te(), xe(), De(), Le(), Oe(), He(), Ee(), Ge(), Ne(), Re(), Ue(), $e(), Fe(), qe(), Ve(), it(), Ke(), Je(), Ye(), Qe(), Xe(), tt(), Ze(), nt(), ot(), N = (() => {
266			let t = class extends Si {};
267			return t.ɵfac = (() => {
268				let i;
269				return function(e) {
270					return (i || (i = Xt(t)))(e || t);
271				};
272			})(), t.ɵprov = b({
273				token: t,
274				factory: function(i) {
275					let e = null;
276					return i ? e = new i() : e = Wn(Ae(ki), Ae(he)), e;
277				},
278				providedIn: "root"
279			}), t;
280		})(), ge = (() => {
281			let t = class {
282				constructor() {
283					this.api = o(N), this.loginBannerSubject = new U(null), this.LoginBannerData = this.loginBannerSubject.asObservable(), this.helpPopupSubject = new U(null), this.HelpPopupData = this.helpPopupSubject.asObservable(), this.setLoginBannerData(), this.setHelpPopupData();
284				}
285				setLoginBannerData() {
286					this.api.get("nyra/getLoginBannerData").subscribe((e) => {
287						this.LoginBanner = e, this.loginBannerSubject.next(this.LoginBanner);
288					});
289				}
290				setHelpPopupData() {
291					this.api.get("nyra/getHelpPopupData").subscribe((e) => {
292						this.HelpPopup = e, this.helpPopupSubject.next(this.HelpPopup);
293					});
294				}
295				getLoginBannerData() {
296					return this.LoginBanner;
297				}
298				getHelpPopupData() {
299					return this.HelpPopup;
300				}
301			};
302			return t.ɵfac = function(i) {
303				return new (i || t)();
304			}, t.ɵprov = b({
305				token: t,
306				factory: t.ɵfac,
307				providedIn: "root"
308			}), t;
309		})(), qt(), te = (() => {
310			let t = class {};
311			return t = L([O({
312				key: "hrIframeUrlsConfig",
313				product: S.HORSERACING
314			})], t), t;
315		})(), ie = (() => {
316			let t = class {};
317			return t = L([O({
318				key: "hrPartnerTokenConfig",
319				product: S.HORSERACING
320			})], t), t;
321		})(), ne = (() => {
322			let t = class {};
323			return t = L([O({
324				key: "hrGlobal",
325				product: S.HORSERACING
326			})], t), t;
327		})(), oe = (() => {
328			let t = class {};
329			return t = L([O({
330				key: "hrSeoBoxesConfig",
331				product: S.HORSERACING
332			})], t), t;
333		})(), rt = (() => {
334			let t = class {};
335			return t = L([O({
336				key: "hrOptimizedTeaser",
337				product: S.HORSERACING
338			})], t), t;
339		})(), lt = (() => {
340			let t = class {};
341			return t = L([O({
342				key: "hrImageLoadOptimizationConfig",
343				product: S.HORSERACING
344			})], t), t;
345		})(), ct = (() => {
346			let t = class {};
347			return t = L([O({
348				key: "hrLoginBannerConfig",
349				product: S.HORSERACING
350			})], t), t;
351		})(), ht = (() => {
352			let t = class {};
353			return t = L([O({
354				key: "hrHelpPopUpConfig",
355				product: S.HORSERACING
356			})], t), t;
357		})(), P = (() => {
358			let t = class {
359				constructor() {
360					this.clientConfigService = o(j);
361				}
362				fillClientConfig() {
363					this.iframeClientConfig = this.clientConfigService.get(te), this.partnerTokenClientConfig = this.clientConfigService.get(ie), this.globalClientConfig = this.clientConfigService.get(ne), this.seoboxesClientConfig = this.clientConfigService.get(oe), this.optimizedTeaserConfig = this.clientConfigService.get(rt), this.imageLoadOptimizationConfig = this.clientConfigService.get(lt), this.loginBannerClientConfig = this.clientConfigService.get(ct), this.helpPopUpClientConfig = this.clientConfigService.get(ht);
364				}
365				provideIframeClientConfig() {
366					return this.iframeClientConfig;
367				}
368				providePartnerTokenClientConfig() {
369					return this.partnerTokenClientConfig;
370				}
371				provideGlobalClientConfig() {
372					return this.globalClientConfig;
373				}
374				provideSeoboxesClientConfig() {
375					return this.seoboxesClientConfig;
376				}
377				provideOptimizedTeaserConfig() {
378					return this.optimizedTeaserConfig;
379				}
380				provideImageLoadOptimizationClientConfig() {
381					return this.imageLoadOptimizationConfig;
382				}
383				provideLoginClientConfig() {
384					return this.loginBannerClientConfig;
385				}
386				provideHelpClientConfig() {
387					return this.helpPopUpClientConfig;
388				}
389			};
390			return t.ɵfac = function(i) {
391				return new (i || t)();
392			}, t.ɵprov = b({
393				token: t,
394				factory: t.ɵfac,
395				providedIn: "root"
396			}), t;
397		})(), ue = (() => {
398			let t = class {
399				constructor() {
400					this.configProvider = o(P), this.loginService = o(ge), this.loginNavigationService = o(Fi), this.loginDialogService = o(We), this.user = o(R), this.dialogRef = o(K), this.data = o(J), this.activeRoute = o(q), this.deviceService = o(G), this.isPopUp = !1, this.showHelpConfig = !1;
401					let e = this.data;
402					this.isAuthenticated = this.user.isAuthenticated, this.user.events.pipe(M((n) => n instanceof B)).subscribe(() => {
403						this.isAuthenticated = this.user.isAuthenticated, this.close();
404					}), this.user.events.pipe(M((n) => n instanceof Oi)).subscribe(() => {
405						this.isAuthenticated = this.user.isAuthenticated;
406					}), this.isPopUp = e?.isPopUp;
407				}
408				ngOnInit() {
409					this.loginConfig = this.configProvider.provideLoginClientConfig(), this.loginService.LoginBannerData.subscribe((e) => {
410						e && (this.loginBanner = e);
411					}, (e) => {
412						console.log(e);
413					}), this.activeRoute.queryParams.subscribe((e) => {
414						let n = (e.hrNavPage || "").trim();
415						this.isMobile = this.deviceService.isMobile || this.deviceService.isMobilePhone || this.deviceService.isTablet, n == "" || n == null || n == null ? this.showHelpConfig = !1 : n == "todaysRacing" ? this.showHelpConfig = !1 : this.showHelpConfig = !0;
416					});
417				}
418				signUpNavigation() {
419					this.loginNavigationService.goToRegistration({ appendReferrer: !0 }), this.close();
420				}
421				login() {
422					this.loginDialogService.open({ loginMessageKey: "horseracing" });
423				}
424				close() {
425					this.dialogRef.close?.();
426				}
427				DoNotShowMessage(e, n) {
428					console.log(n), console.log(e), localStorage.setItem("IsLoginS
428how", n?.value?.toString());
429				}
430				IsMobileOrDesktop() {
431					this.isMobile = this.deviceService.isMobile || this.deviceService.isMobilePhone || this.deviceService.isTablet;
432				}
433			};
434			return t.ɵfac = function(i) {
435				return new (i || t)();
436			}, t.ɵcmp = _({
437				type: t,
438				selectors: [["hrl-horse-racing-login"]],
439				hostBindings: function(i, e) {
440					i & 1 && u("orientationchange", function() {
441						return e.IsMobileOrDesktop();
442					}, le);
443				},
444				features: [we([{
445					provide: J,
446					useValue: {}
447				}, {
448					provide: K,
449					useValue: {}
450				}])],
451				decls: 1,
452				vars: 1,
453				consts: [
454					["IsChecked", ""],
455					[1, "LoginClose"],
456					[1, "center"],
457					[1, "Description"],
458					[1, "form-element"],
459					[
460						"type",
461						"button",
462						"id",
463						"login",
464						1,
465						"btn-login",
466						3,
467						"click"
468					],
469					[
470						"id",
471						"signup",
472						1,
473						"btn",
474						"btn-link",
475						3,
476						"click"
477					],
478					[
479						1,
480						"btn-close",
481						3,
482						"click"
483					],
484					[1, "theme-ex"],
485					[
486						"type",
487						"checkbox",
488						"name",
489						"MessageAgain",
490						"id",
491						"MessageAgain",
492						1,
493						"custom-control-input",
494						"custom-control-checkbox",
495						3,
496						"click"
497					],
498					["for", "MessageAgain"]
499				],
500				template: function(i, e) {
501					i & 1 && d(0, qn, 12, 6, "div"), i & 2 && p(!e.isAuthenticated && (e.showHelpConfig || !e.isMobile) && e.loginConfig?.enableLogin && e.loginBanner ? 0 : -1);
502				},
503				dependencies: [Z],
504				encapsulation: 2,
505				changeDetection: 1
506			}), t;
507		})(), gt = (() => {
508			let t = class {
509				constructor() {
510					this.dialogRef = o(K), this.data = o(J), this.trackByBetTypeItems = (e, n) => e;
511				}
512				ngOnInit() {
513					console.log(this.data);
514				}
515				close() {
516					this.dialogRef.close();
517				}
518			};
519			return t.ɵfac = function(i) {
520				return new (i || t)();
521			}, t.ɵcmp = _({
522				type: t,
523				selectors: [["hrl-horse-racing-understand"]],
524				decls: 8,
525				vars: 3,
526				consts: [
527					[1, "PopupBtnAlign"],
528					[
529						1,
530						"PopupHeader",
531						3,
532						"innerHtml"
533					],
534					[
535						1,
536						"btn-close",
537						3,
538						"click"
539					],
540					[1, "theme-ex"],
541					[1, "HorseInfo"],
542					[1, "HorseListInfo"],
543					[3, "innerHtml"],
544					[1, "BetTypeLabel"],
545					[
546						1,
547						"BetTypeLabel",
548						3,
549						"innerHtml"
550					],
551					[
552						1,
553						"BackgroundSet",
554						3,
555						"innerHtml"
556					],
557					[
558						1,
559						"BackgroundSet",
560						"space",
561						3,
562						"innerHtml"
563					],
564					[
565						1,
566						"BackgroundDisabled",
567						"space",
568						3,
569						"innerHtml"
570					]
571				],
572				template: function(i, e) {
573					i & 1 && (I(0, "div", 0), E(1, "div")(2, "h1", 1), I(3, "div", 2), Pe("click", function() {
574						return e.close();
575					}), E(4, "i", 3), x()(), I(5, "div"), d(6, Jn, 3, 0, "ol", 4), d(7, Qn, 3, 0, "ol", 4), x()), i & 2 && (s(2), y("innerHTML", e.data.header, w), s(4), p(e.data.isBetType ? -1 : 6), s(), p(e.data.isBetType ? 7 : -1));
576				},
577				encapsulation: 2,
578				changeDetection: 1
579			}), t;
580		})(), ut = (() => {
581			let t = class {
582				constructor() {
583					this.dialog = o(je), this.activeRoute = o(q), this.configProvider = o(P), this.loginService = o(ge), this.user = o(R), this.deviceService = o(G), this.trackByMenuItems = (e, n) => e, this.helpPopup = null, this.popupData = null, this.showHelpConfig = !1, this.isTracks = !1, this.topPosition = "10%", this.isAuthenticated = this.user.isAuthenticated, this.user.events.pipe(M((e) => e instanceof B)).subscribe(() => {
584						this.isAuthenticated = this.user.isAuthenticated;
585					});
586				}
587				ngOnInit() {
588					this.isMobile = this.deviceService.isMobile || this.deviceService.isMobilePhone || this.deviceService.isTablet, this.handleLoginPopup(), this.handleNavigationPage(), this.setTopPosition(), this.setHelpPopupData();
589				}
590				handleLoginPopup() {
591					let e = this.configProvider.provideLoginClientConfig(), n = localStorage.getItem("IsLoginShow") ?? "";
592					!this.isAuthenticated && e?.enableLogin && !this.isMobile && !n && this.dialog.open(ue, {
593						width: "400px",
594						data: { isPopUp: !0 }
595					});
596				}
597				handleNavigationPage() {
598					this.activeRoute.queryParams.subscribe((e) => {
599						let n = (e.hrNavPage || "").trim();
600						this.showHelpConfig = !(n && n !== "todaysRacing");
601					});
602				}
603				setTopPosition() {
604					this.topPosition = this.isMobile ? "10%" : "1%";
605				}
606				setHelpPopupData() {
607					this.helpConfig = this.configProvider.provideHelpClientConfig(), this.loginService.HelpPopupData.subscribe((e) => {
608						e && (this.helpPopup = e);
609					}, (e) => {
610						console.log(e);
611					});
612				}
613				open(e) {
614					this.popupData = null;
615					let n = Object.keys(this.helpPopup);
616					for (let r of n) this.helpPopup[r].menuTitle == e && (this.popupData = this.helpPopup[r]);
617					this.dialog.open(gt, {
618						width: "600px",
619						position: { top: this.topPosition },
620						data: this.popupData,
621						panelClass: "helppopup"
622					});
623				}
624				close() {
625					this.dialog && this.dialog.closeAll();
626				}
627			};
628			return t.ɵfac = function(i) {
629				return new (i || t)();
630			}, t.ɵcmp = _({
631				type: t,
632				selectors: [["hrl-horse-racing-help"]],
633				features: [we([{
634					provide: J,
635					useValue: {}
636				}, {
637					provide: K,
638					useValue: {}
639				}])],
640				decls: 1,
641				vars: 1,
642				consts: [
643					[
644						2,
645						"margin-bottom",
646						"2%"
647					],
648					[1, "understand"],
649					[
650						1,
651						"border",
652						3,
653						"click"
654					],
655					[1, "theme-right"],
656					[
657						1,
658						"border",
659						"DesktopBorder",
660						3,
661						"click"
662					],
663					[1, "understandText"],
664					[1, "HeaderText"],
665					[1, "OverFlowText"],
666					[
667						1,
668						"theme-right",
669						"arrow"
670					]
671				],
672				template: function(i, e) {
673					i & 1 && d(0, io, 3, 2, "div"), i & 2 && p((!e.isAuthenticated && e.showHelpConfig && e.isMobile || !e.isMobile) && e.helpConfig?.enableHelpPopUp && e.helpPopup !== null ? 0 : -1);
674				},
675				dependencies: [Z],
676				encapsulation: 2,
677				changeDetection: 1
678			}), t;
679		})(), dt = "racingextension:vnapp:clientconfig:read", pt = "racingextension:vnapp:geolocation:currentposition:available", ft = "racingextension:vnapp:geolocation:currentposition:read", vt = "racingextension:vnapp:balance:refresh", mt = (() => {
680			let t = class {
681				setGeolocationCoordinates(e = null, n = null) {
682					try {
683						localStorage.setItem("Latitude", e?.toString() ?? ""), localStorage.setItem("Longitude", n?.toString() ?? "");
684					} catch {}
685				}
686			};
687			return t.ɵfac = function(i) {
688				return new (i || t)();
689			}, t.ɵprov = b({
690				token: t,
691				factory: t.ɵfac,
692				providedIn: "root"
693			}), t;
694		})(), de = (() => {
695			let t = class {
696				constructor() {
697					this.geolocationService = o(Ui), this.cachemanager = o(mt), this.locationAvailableSubject = new U(!1), this.locationAvailable = this.locationAvailableSubject.asObservable(), this.geolocationConfig = o(ee), this.geoCoordinatorConfig = o(X), this.geoCoordinatorConfig.whenReady.subscribe(() => {
698						this.geoCoordinatorConfig.switchOnLegacy ? this.geolocationConfig.whenReady.subscribe(() => {
699							this.geolocationConfig.useVanilla && this.checkAndBroadcastLocationAvailaibility();
700						}) : (this.geoCoordinatorConfig.additionalSettings.useVanillaGeolocation ?? !1) && this.checkAndBroadcastLocationAvailaibility();
701					});
702				}
703				registerHandler() {
704					addEventListener(ft, (e) => {
705						e.detail && e.detail.currentLocation && (e.detail.currentLocation = this.geolocationService.currentPosition);
706					});
707				}
708				getLocation() {
709					return this.userLocation;
710				}
711				setLocation(e) {
712					this.userLocation = {
713						latitude: e.latitude,
714						longitude: e.longitude,
715						accuracy: e.accuracy
716					};
717				}
718				checkAndBroadcastLocationAvailaibility() {
719					this.geolocationService.whenReady.subscribe(() => {
720						this.geolocationService.watchBrowserPositionChanges(), this.geolocationService.positionChanges.subscribe({
721							next: (e) => {
722								this.setLocation(e.coords), this.cachemanager.setGeolocationCoordinates(e?.coords?.latitude, e.coords.longitude), this.locationAvailableSubject.next(!0), dispatchEvent(new CustomEvent(pt, { detail: { location: e } }));
723							},
724							error: (e) => {
725								console.error("[RacingExtension]", "[Geolocation]", "[Error]", e);
726							}
727						});
728					});
729				}
730			};
731			return t.ɵfac = function(i) {
732				return new (i || t)();
733			}, t.ɵprov = b({
734				token: t,
735				factory: t.ɵfac,
736				providedIn: "root"
737			}), t;
738		})(), pe = (() => {
739			let t = class {
740				constructor() {
741					this.api = o(N);
742				}
743				getPlayerSessionToken() {
744					return this.sessionInfo?.sessionToken ?? "";
745				}
746				getUserToken() {
747					return new Kt((e) => {
748						this.api.get("GetUserToken").subscribe((n) => {
749							this.setPlayerSessionInfo(n), e.next(n);
750						}, (n) => {
751							console.log(n);
752						});
753					});
754				}
755				resetUserToken() {
756					this.sessionInfo = null;
757				}
758				setPlayerSessionInfo(e) {
759					this.sessionInfo = e;
760				}
761			};
762			return t.ɵfac = function(i) {
763				return new (i || t)();
764			}, t.ɵprov = b({
765				token: t,
766				factory: t.ɵfac,
767				providedIn: "root"
768			}), t;
769		})(), fe = (() => {
770			let t = class {
771				constructor() {
772					this.configProvider = o(P), this.claimsService = o(Di), this.geolocationHandlerService = o(de), this.appInfoConfig = o($i), this.api = o(N), this.playerSessionService = o(pe), this.http = o(mi), this.partnerTokenAvailable = !1, this.sessionInfoPlaceholder = "b={0}|c={1}|gt={2}|p={3}|psi={4}", this.tokenBuiltSubject = new U(null), this.tokenAvailable = this.tokenBuiltSubject.asObservable(), this.geolocationConfig = o(ee), this.geoCoordinatorConfig = o(X);
773				}
774				buildTokenwithVanilla() {
775					this.locationSubscription = this.geolocationHandlerService.locationAvailable.subscribe((e) => T(this, null, function* () {
776						if (e) {
777							let n = this.configProvider.providePartnerTokenClientConfig();
778							this.partnerToken = {
779								integrationPartnerId: n.integrationPartnerId,
780								currency: this.claimsService.get("currency") ?? "",
781								partnerUsername: this.claimsService.get("http://api.bwin.com/v3/user/pg/nameidentifier") ?? "",
782								state: this.claimsService.get("stateorprovince") ?? "",
783								zipcode: this.claimsService.get("postalcode") ?? "",
784								location: this.geolocationHandlerService.getLocation(),
785								issuedAt: /* @__PURE__ */ new Date(),
786								signature: "",
787								arbitrarySessionInformation: this.getSessionInfo(n.gameType)
788							}, this.getTokenSignature().subscribe((r) => {
789								this.updateSignatureInToken(r.signature), this.setTokenAvailability(!0), this.tokenBuiltSubject.next(this.partnerToken);
790							});
791						}
792					}), (e) => {
793						console.log("Unable to retrieve Location, " + e?.error?.message), this.buildToken(0, 0, 0);
794					});
795				}
796				buildTokenwithPOS() {
797					let e = this.getPosApiEndpoint();
798					this.http.get(e).subscribe((n) => {
799						if (n) {
800							let r = n.latitude, f = n.longitude;
801							this.buildToken(500, r, f);
802						}
803					}, (n) => {
804						console.log("Unable to retrieve Location, " + n?.error?.message), this.buildToken(0, 0, 0);
805					});
806				}
807				buildTokenWithoutLocation() {
808					this.api.post("partnertoken/build", {
809						accuracy: 0,
810						latitude: 0,
811						longitude: 0
812					}).subscribe((e) => {
813						this.partnerToken = e, this.setTokenAvailability(!0), this.tokenBuiltSubject.next(this.partnerToken);
814					});
815				}
816				buildTokenOnServer() {
817					T(this, null, function* () {
818						try {
819							let e = this.getPosApiEndpoint(), n = yield (yield fetch(new URL(decodeURIComponent(e || ""), location.origin).href, { method: "GET" })).text(), r = new DOMParser().parseFromString(n, "application/xml");
820							if (r.documentElement.hasAttribute("latitude") && r.documentElement.hasAttribute("longitude")) {
821								let f = +(r.documentElement.getAttribute("latitude") || ""), C = +(r.documentElement.getAttribute("longitude") || "");
822								if (!isNaN(f) && !isNaN(C)) {
823									let H = {
824										accuracy: 500,
825										latitude: f,
826										longitude: C
827									};
828									this.api.post("partnertoken/build", H).subscribe(($t) => {
829										this.partnerToken = $t, this.setTokenAvailability(!0), this.tokenBuiltSubject.next(this.partnerToken);
830									});
831								}
832							} else console.log("[RacingExtension]", "[TokenBuilder]", "[LocationFetcher]", "Building partner token with no location as necessary location paramaters unavailable"), this.buildTokenWithoutLocation();
833						} catch (e) {
834							console.log("Unable to retrieve Location, " + e?.error?.message), this.buildTokenWithoutLocation();
835						}
836					});
837				}
838				buildTokenServerSide() {
839					this.buildTokenOnServer();
840				}
841				buildToken(e, n, r) {
842					let f = this.configProvider.providePartnerTokenClientConfig();
843					this.partnerToken = {
844						integrationPartnerId: f.integrationPartnerId,
845						currency: this.claimsService.get("currency") ?? "",
846						partnerUsername: this.claimsService.get("https://api.bwin.com/v3/user/pg/nameidentifier") ?? "",
847						state: this.claimsService.get("stateorprovince") ?? "",
848						zipcode: this.claimsService.get("postalcode") ?? "",
849						location: {
850							accuracy: e,
851							latitude: n,
852							longitude: r
853						},
854						issuedAt: /* @__PURE__ */ new Date(),
855						signature: "",
856						arbitrarySessionInformation: this.getSessionInfo(f.gameType)
857					}, this.getTokenSignature().subscribe((C) => {
858						this.updateSignatureInToken(C.signature), this.setTokenAvailability(!0), this.tokenBuiltSubject.next(this.partnerToken);
859					});
860				}
861				getSessionInfo(e) {
862					return this.sessionInfoPlaceholder = this.sessionInfoPlaceholder.replace("{0}", this.appInfoConfig.brand), this.sessionInfoPlaceholder = this.sessionInfoPlaceholder.replace("{1}", this.appInfoConfig.channel), this.sessionInfoPlaceholder = this.sessionInfoPlaceholder.replace("{2}", e), this.sessionInfoPlaceholder = this.sessionInfoPlaceholder.replace("{3}", this.appInfoConfig.product), this.sessionInfoPlaceholder = this.sessionInfoPlaceholder.replace("{4}", this.playerSessionService.getPlayerSessionToken()), this.sessionInfoPlaceholder;
863				}
864				getTokenSignature() {
865					return this.api.post("sign/digital", { content: JSON.stringify(this.partnerToken) }, { prefix: "/signature" });
866				}
867				updateSignatureInToken(e) {
868					this.partnerToken.signature = e;
869				}
870				setTokenAvailability(e) {
871					this.partnerTokenAvailable = e;
872				}
873				getTokenAvailability() {
874					return this.partnerTokenAvailable;
875				}
876				getToken() {
877					if (this.getTokenAvailability()) return this.partnerToken;
878					this.geoCoordinatorConfig.whenReady.subscribe(() => {
879						this.geoCoordinatorConfig.switchOnLegacy ?? !0 ? this.geolocationConfig.useVanilla ? this.buildTokenwithVanilla() : this.configProvider.partnerTokenClientConfig.serverSide ? this.buildTokenServerSide() : this.buildTokenwithPOS() : this.geoCoordinatorConfig.additionalSettings.useVanillaGeolocation ? this.buildTokenwithVanilla() : this.configProvider.partnerTokenClientConfig.serverSide ? this.buildTokenServerSide() : this.buildTokenwithPOS();
880					});
881				}
882				ngOnDestroy() {
883					this.locationSubscription && this.locationSubscription.unsubscribe();
884				}
885				getPosApiEndpoint() {
886					return this.geoCoordinatorConfig.switchOnLegacy ?? !0 ? this.geolocationConfig.posAPIEndpoint : (this.geoCoordinatorConfig.additionalSettings.posApiEndpoint ?? "").replace("{accessId}", this.geoCoordinatorConfig.apiToken);
887				}
888			};
889			return t.ɵfac = function(i) {
890				return new (i || t)();
891			}, t.ɵprov = b({
892				token: t,
893				factory: t.ɵfac,
894				providedIn: "root"
895			}), t;
896		})(), bt = (() => {
897			let t = class {
898				constructor() {
899					this.nativeAppService = o(Me), this.deviceService = o(G);
900				}
901				checkForTouchDevice() {
902					try {
903						this.isTouchDevice = !this.nativeAppService.isDownloadClient && this.deviceService.isTouch && !window.matchMedia("(pointer: fine)").matches && !navigator.userAgent.match(/Win64|WOW64/);
904					} catch {
905						this.isTouchDevice = "ontouchstart" in window || navigator.maxTouchPoints > 0;
906					}
907				}
908				isTouch() {
909					return this.checkForTouchDevice(), this.isTouchDevice;
910				}
911			};
912			return t.ɵfac = function(i) {
913				return new (i || t)();
914			}, t.ɵprov = b({
915				token: t,
916				factory: t.ɵfac,
917				providedIn: "root"
918			}), t;
919		})(), Ct = (() => {
920			let t = class {
921				constructor() {
922					this.trackingService = o(Gi);
923				}
924				trackPosition(e, n, r) {
925					this.trackingService.triggerEvent("Event.Tracking", {
926						"component.CategoryEvent": "US_NJ_GEOAPP",
927						"component.LabelEvent": e,
928						"component.ActionEvent": n,
929						"component.PositionEvent": r,
930						"component.LocationEvent": "not_applicable",
931						"component.EventDetails": "not_applicable",
932						"component.URLClicked": "not_applicable"
933					});
934				}
935				track(e, n, r) {
936					r ? this.trackingService.triggerEvent("Event.Tracking", {
937						"component.CategoryEvent": "US_NJ_GEOAPP",
938						"component.LabelEvent": e,
939						"component.ActionEvent": n,
940						"component.PositionEvent": "not_applicable",
941						"component.LocationEvent": r,
942						"component.EventDetails": "not_applicable",
943						"component.URLClicked": "not_applicable"
944					}) : this.trackingService.triggerEvent("Event.Tracking", {
945						"component.CategoryEvent": "US_NJ_GEOAPP",
946						"component.LabelEvent": e,
947						"component.ActionEvent": n,
948						"component.PositionEvent": "not_applicable",
949						"component.LocationEvent": "not_applicable",
950						"component.EventDetails": "not_applicable",
951						"component.URLClicked": "not_applicable"
952					});
953				}
954			};
955			return t.ɵfac = function(i) {
956				return new (i || t)();
957			}, t.ɵprov = b({
958				token: t,
959				factory: t.ɵfac,
960				providedIn: "root"
961			}), t;
962		})(), kt = (() => {
963			let t = class {
964				constructor() {
965					this.dialogRef = o(K), this.geolocationCoordinatorService = o(st), this._domSanitizer = o(Be), this.additionalInfo = o(J), this._geolocationTrackingService = o(Ct), this.configProviderService = o(P), this.navigationService = o(Ti), this.showLoader = !1, this.geolocationConfig = o(ee);
966				}
967				get geoComplyMessage() {
968					return this.geolocationConfig.geoComplyMessage;
969				}
970				appDownloadLink() {
971					let e = navigator.userAgent, n = /(iPad|iPhone|iPod)/g.test(e), r = /(Android)/g.test(e);
972					return n ? this._domSanitizer.bypassSecurityTrustUrl("javascript:void(0)") : r ? this.getGlobalConfig().messages.AndroidAppDownloadLink : "";
973				}
974				get continueButtonText() {
975					return this.getGlobalConfig().messages.GeoComplyContinueButtonText;
976				}
977				get continuePlayOnAppInstructionText() {
978					return this.getGlobalConfig().messages.ContinuePlayOnAppInstructionText || "Continue play on our app, with automatic geolocation";
979				}
980				get continuePlayOnAppUserActionText() {
981					return this.getGlobalConfig().messages.ContinuePlayOnAppUserActionText || "CONTINUE PLAY ON PLAYMGM APP";
982				}
983				get continuePlayOnWebInstructionText() {
984					return this.getGlobalConfig().messages.ContinuePlayOnWebInstructionText || "To play on web, Geoguard needs to be installed and running on your device";
985				}
986				get oobeeInstallerDownloadUserActionText() {
987					return this.getGlobalConfig().messages.OobeeInstallerDownloadUserActionText || "INSTALL OR OPEN GEOGUARD";
988				}
989				get oobeeInstallerContinueUserActionText() {
990					return this.getGlobalConfig().messages.OobeeInstallerContinueUserActionText || "GEOGUARD IS INSTALLED AND RUNNING";
991				}
992				get downloadButtonText() {
993					return this.getGlobalConfig().messages.GeoComplyDownloadButtonText;
994				}
995				get geocomplyText() {
996					return this.getGlobalConfig().messages.GeoComplyText;
997				}
998				get geocomplyTitle() {
999					return this.getGlobalConfig().messages.GeoComplyTitle;
1000				}
1001				get geoguardEnquiryUserActionText() {
1002					return this.getGlobalConfig().messages.GeoguardEnquiryUserActionText || "WHAT IS GEOGUARD?";
1003				}
1004				get oobeeInstallerDownloadStepText() {
1005					return this.getGlobalConfig().messages.OobeeInstallerDownloadStepText || "Step 1";
1006				}
1007				get oobeeInstallerContinueStepText() {
1008					return this.getGlobalConfig().messages.OobeeInstallerContinueStepText || "Step 2";
1009				}
1010				get geolocationMobileInstallerTitle() {
1011					return this.getGlobalConfig().messages.GeolocationMobileInstallerTitle || "LOCATION";
1012				}
1013				get isMobileInstaller() {
1014					return this.data && this.data.isMobileInstaller ? this.data && this.data.isMobileInstaller : this.additionalInfo && this.additionalInfo.isMobileInstaller;
1015				}
1016				get oobeeInstallerHeadingText() {
1017					return this.getGlobalConfig().messages.OobeeInstallerHeadingText || "Want to continue playing?";
1018				}
1019				get oobeeInstallerHeadingInstruction() {
1020					return this.getGlobalConfig().messages.OobeeInstallerHeadingInstruction || "Before you lau
1020nch a game we are required by law to confirm your location.";
1021				}
1022				get playOnAppOrWebPlayerOptionsSeparatorText() {
1023					return this.getGlobalConfig().messages.PlayOnAppOrWebPlayerOptionsSeparatorText || "OR";
1024				}
1025				get geoGuardDescriptionText() {
1026					return this.getGlobalConfig().messages.GeoGuardDescriptionText || "GeoGuard, a trusted 3rd party partner, allows you to obtain location data from your Android device. One time only install, launch every time you want to place a bet on web";
1027				}
1028				continue() {
1029					this.showLoader = !0, this.isMobileInstaller && this._geolocationTrackingService.track("GeoLoc_Pop-up how to", "Step 2 - Geoguard is Intalled and running - CTA Clicked"), this.geolocationCoordinatorService.initialize({ showPLCPopup: !0 });
1030				}
1031				download() {
1032					this._geolocationTrackingService.track("GeoLoc_Pop-up how to", "Step 1 - install or Open GeoGuard - CTA Clicked");
1033					let e = this.data?.downloadUrl || this.additionalInfo?.downloadUrl;
1034					window.open(e || "", this.isMobileInstaller ? "_blank" : "_self");
1035				}
1036				close() {
1037					if (this.isMobileInstaller && this._geolocationTrackingService.track("GeoLoc_Pop-up how to", "Pop-up_Close"), this.dialogRef && this.dialogRef.close(), this.navigationService.location.search.has("specialproduct") && this.navigationService.location.search.get("specialproduct") === "globalsearch") {
1038						let e = this.navigationService.location.search.has("returnurl") ? this.navigationService.location.search.get("returnurl") : this.navigationService.goToLastKnownProduct();
1039						e && this.navigationService.goTo(e);
1040					}
1041				}
1042				appDownloaderClicked() {
1043					let e = "", n = this.getGlobalConfig().messages.AndroidAppID ? this.getGlobalConfig().messages.AndroidAppID : "";
1044					/(iPad|iPhone|iPod)/g.test(navigator.userAgent) && (e = this.getGlobalConfig().messages.iOSAppDownloadLink, n = this.getGlobalConfig().messages.iOSAppID ? this.getGlobalConfig().messages.iOSAppID : ""), this._geolocationTrackingService.trackPosition("GeoLoc_Pop-up how to", "Continue to play on an APP_ CTA Clicked", n), e && window.open(e, "_blank");
1045				}
1046				hideLoader() {
1047					this.showLoader = !1;
1048				}
1049				info() {
1050					this.isMobileInstaller && this._geolocationTrackingService.track("GeoLoc_Pop-up how to", "InfoTool - What is Geoguard - CTA Clicked");
1051				}
1052				ngAfterViewInit() {
1053					this._geolocationTrackingService.track("GeoLoc_Pop-up how to", "Pop-up_Loaded");
1054				}
1055				getGlobalConfig() {
1056					let e = this.configProviderService.provideGlobalClientConfig();
1057					return typeof e == "object" ? e : {};
1058				}
1059			};
1060			return t.ɵfac = function(i) {
1061				return new (i || t)();
1062			}, t.ɵcmp = _({
1063				type: t,
1064				selectors: [["hr-geolocation-installer"]],
1065				inputs: { data: "data" },
1066				decls: 4,
1067				vars: 3,
1068				consts: [
1069					["popper", ""],
1070					["id", "casino-geolocation-installer-container"],
1071					[
1072						"id",
1073						"geolocation-desktop-installer",
1074						1,
1075						"geo-location-popup-container"
1076					],
1077					[
1078						"id",
1079						"geolocation-mobile-installer",
1080						1,
1081						"casino-modal"
1082					],
1083					[1, "loading"],
1084					[1, "geo-title-heading"],
1085					[
1086						"mat-dialog-title",
1087						"",
1088						1,
1089						"geo-title",
1090						3,
1091						"textContent"
1092					],
1093					[
1094						"id",
1095						"dialogclosebutton",
1096						1,
1097						"theme-ex",
1098						3,
1099						"click"
1100					],
1101					[
1102						"mat-dialog-content",
1103						"",
1104						1,
1105						"geo-content",
1106						3,
1107						"vnDynamicHtml"
1108					],
1109					[
1110						"mat-dialog-actions",
1111						"",
1112						1,
1113						"geo-buttons"
1114					],
1115					[
1116						"mat-button",
1117						"",
1118						1,
1119						"geo-left-button",
1120						3,
1121						"click",
1122						"textContent"
1123					],
1124					[
1125						"mat-button",
1126						"",
1127						"cdkFocusInitial",
1128						"",
1129						1,
1130						"geo-right-button",
1131						3,
1132						"click",
1133						"textContent"
1134					],
1135					[1, "geolocation-mobile-installer-title-heading"],
1136					[
1137						"mat-dialog-title",
1138						"",
1139						1,
1140						"geolocation-mobile-installer-title",
1141						3,
1142						"textContent"
1143					],
1144					[1, "container-overlay"],
1145					[1, "theme-location-pin"],
1146					[1, "container-overlay-header"],
1147					[3, "textContent"],
1148					[
1149						1,
1150						"header-text",
1151						3,
1152						"textContent"
1153					],
1154					[1, "clearfix"],
1155					[
1156						"id",
1157						"appDownloaderLink",
1158						"target",
1159						"_blank",
1160						1,
1161						"btn",
1162						"btn-primary",
1163						3,
1164						"click",
1165						"href",
1166						"textContent"
1167					],
1168					[1, "container-overlay-break"],
1169					[
1170						1,
1171						"or-container",
1172						3,
1173						"textContent"
1174					],
1175					[
1176						1,
1177						"p-text-middle",
1178						3,
1179						"textContent"
1180					],
1181					[1, "oobeeInstallerUserActionsContainer"],
1182					["id", "oobeeInstallerDownloadContainer"],
1183					[
1184						"id",
1185						"oobeeInstallerDownloadStepText",
1186						3,
1187						"textContent"
1188					],
1189					[
1190						"id",
1191						"btn-download",
1192						1,
1193						"oobeeInstallerDownloadUserActionButton",
1194						"btn",
1195						"btn-secondary",
1196						3,
1197						"click",
1198						"textContent"
1199					],
1200					["id", "oobeeInstallerContinueContainer"],
1201					[
1202						"id",
1203						"oobeeInstallerContinueStepText",
1204						3,
1205						"textContent"
1206					],
1207					[
1208						"id",
1209						"btn-continue",
1210						1,
1211						"oobeeInstallerContinueUserActionButton",
1212						"btn",
1213						"btn-primary",
1214						3,
1215						"click",
1216						"textContent"
1217					],
1218					[1, "container-overlay-footer"],
1219					[1, "geoGuardEnquiryUserActionContainer"],
1220					[
1221						1,
1222						"ui-icon",
1223						"theme-info-i",
1224						3,
1225						"click",
1226						"floatUi"
1227					],
1228					[
1229						1,
1230						"geoGuardEnquiryUserActionText",
1231						3,
1232						"click",
1233						"floatUi",
1234						"textContent"
1235					],
1236					["cssClass", "tooltip-info"]
1237				],
1238				template: function(i, e) {
1239					i & 1 && (a(0, "div", 1), d(1, no, 8, 4, "div", 2), d(2, oo, 32, 16, "div", 3), l(), d(3, so, 2, 0, "div", 4)), i & 2 && (s(), p(e.isMobileInstaller ? -1 : 1), s(), p(e.isMobileInstaller ? 2 : -1), s(), p(e.showLoader ? 3 : -1));
1240				},
1241				dependencies: [
1242					Z,
1243					tn,
1244					Xi,
1245					en,
1246					ze,
1247					Wi,
1248					ji,
1249					_n
1250				],
1251				encapsulation: 2,
1252				changeDetection: 1
1253			}), t;
1254		})(), St = (() => {
1255			let t = class {
1256				constructor() {
1257					this.dialog = o(je), this._isDialogOpen = !1;
1258				}
1259				openDialog(e, n) {
1260					this.dialogRef = this.dialog.open(kt, {
1261						width: "250px",
1262						data: {
1263							downloadUrl: e,
1264							isMobileInstaller: n
1265						},
1266						panelClass: "geo-location-installer"
1267					}), this._isDialogOpen = !0, this.dialogRef.afterClosed().subscribe((r) => {
1268						console.info("The dialog was closed:", r), this._isDialogOpen = !1, this.onDialogClosed && this.onDialogClosed();
1269					});
1270				}
1271				closeDialog() {
1272					this.dialogRef && this.dialogRef.close();
1273				}
1274				get isDialogOpen() {
1275					return this._isDialogOpen;
1276				}
1277				hideLoader() {
1278					this.dialogRef && this.dialogRef.componentInstance && this.dialogRef.componentInstance.hideLoader();
1279				}
1280			};
1281			return t.ɵfac = function(i) {
1282				return new (i || t)();
1283			}, t.ɵprov = b({
1284				token: t,
1285				factory: t.ɵfac,
1286				providedIn: "root"
1287			}), t;
1288		})(), Tt = (() => {
1289			let t = class {
1290				constructor() {
1291					this.geolocationCoordinatorService = o(st), this.geolocationInstallerService = o(St), this.deviceManager = o(bt), this.geoCoordinatorClientConfig = o(X), this.geoCoordinationCheckService = o(zn), this.geolocationInstallerService.onDialogClosed = this.onInstallerServiceDialogClosed.bind(this);
1292				}
1293				startGeolocation() {
1294					this.geoCoordinatorClientConfig.whenReady.subscribe(() => {
1295						this.geoCoordinatorClientConfig.switchOnLegacy ?? !0 ? this.startLegacyGeolocation() : this.geoCoordinationCheckService.checkGeolocation();
1296					});
1297				}
1298				closeGeolocationDialog() {
1299					this.geolocationInstallerService.closeDialog(), console.log("GeolocationInstaller popup closed");
1300				}
1301				showGeolocationInstallerPopup(e, n) {
1302					this.geolocationInstallerService.hideLoader(), this.geolocationInstallerService.isDialogOpen || this.geolocationInstallerService.openDialog(e, n);
1303				}
1304				isMobileInstaller() {
1305					return this.deviceManager.isTouch();
1306				}
1307				onInstallerServiceDialogClosed() {
1308					this.onCheckClosed && this.onCheckClosed();
1309				}
1310				startLegacyGeolocation() {
1311					this.geolocationCoordinatorService.onInitialized = (e) => {
1312						console.info("[GeolocationCheckService]", "GeolocationCoordinatorService::", "onInitialized::", e), e === "INITIALIZED" && this.closeGeolocationDialog();
1313					}, this.geolocationCoordinatorService.onError = (e) => {
1314						if (console.error("[GeolocationCheckService]", "GeolocationCoordinatorService::", "onError::", e), e && e.errorCode == -1111) {
1315							this.showGeolocationInstallerPopup(e && e.additionalInfo && e.additionalInfo.app
1315DownloadUrl || this.geolocationCoordinatorService.appDownloadUrl, this.isMobileInstaller());
1316							return;
1317						}
1318						if (console.error("[GeolocationCheckService]", "GeolocationCoordinatorService::", "onError::", e), e && e.errorCode == -1111) {
1319							let n = e.additionalInfo?.appDownloadUrl;
1320							this.showGeolocationInstallerPopup(n || "", !0);
1321						}
1322						this.closeGeolocationDialog();
1323					}, this.geolocationCoordinatorService.onUninitialized = () => {
1324						console.info("[GeolocationCheckService]", "GeolocationCoordinatorService::", "onUninitialized::");
1325					}, this.geolocationCoordinatorService.initialize({ showPLCPopup: !1 });
1326				}
1327			};
1328			return t.ɵfac = function(i) {
1329				return new (i || t)();
1330			}, t.ɵprov = b({
1331				token: t,
1332				factory: t.ɵfac,
1333				providedIn: "root"
1334			}), t;
1335		})(), yt = (() => {
1336			let t = class {
1337				constructor() {
1338					this.sanitizer = o(Be), this.configProvider = o(P), this.tokenBuilderService = o(fe), this.user = o(R), this.activeRoute = o(q), this.loginDialogService = o(We), this.authService = o(Ni), this.geolocationCheckService = o(Tt), this.geolocationActivator = o(Vn), this.balanceService = o(et), this.nativeAppService = o(Me), this.deviceService = o(G), this.logger = o(yi), this.isFrameLoaded = !1;
1339				}
1340				ngOnInit() {
1341					this.iframeClientConfig = this.configProvider.provideIframeClientConfig(), this.isMobile = this.deviceService.isMobile || this.deviceService.isMobilePhone || this.deviceService.isTablet, this.iframeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.iframeClientConfig.url), this.user.events.pipe(M((e) => e instanceof B)).subscribe(() => T(this, null, function* () {
1342						this.isFrameLoaded && (yield this.communicateLoginAndKickOffGeoCoordinator());
1343					}));
1344				}
1345				processMessages(e) {
1346					if ((e.data.messageName || "").trim()) switch (this.logger.info("[HorseRacingPortal]", "[HorseRacingIframeComponent]", "[processMessages]", "[Received Message]", `[${e.data && (e.data.messageName || "").trim()}]`), e.data.messageName) {
1347						case "requestLogin":
1348							this.user.isAuthenticated || this.loginDialogService.opened || this.loginDialogService.open({ loginMessageKey: "horseracing" });
1349							break;
1350						case "updateBalance":
1351							this.user.isAuthenticated && this.balanceService.refresh();
1352							break;
1353						case "updateHeight":
1354							this.isFrameLoaded && this.iframe && (!isNaN(parseInt(this.iframe.height)) && !isNaN(parseInt(e.data.newHeight)) ? (e.data.newHeight > this.iframe.height ? e.data.newHeight - parseInt(this.iframe.height) : parseInt(this.iframe.height) - e.data.newHeight) > 100 && (this.iframe.height = e.data.newHeight) : this.iframe.height = e.data.newHeight);
1355							break;
1356						case "requestLogout":
1357							let n = e.data.reason;
1358							this.logout(n);
1359							break;
1360						case "notifyEvent":
1361							let r = (e.data.eventName || "").trim(), f = e.data.parameters.isSuccessful, C = e.data.parameters.numberOfBets;
1362							this.nativeAppService.sendToNative({
1363								eventName: r,
1364								parameters: {
1365									isSuccessful: f,
1366									numberOfBets: C
1367								}
1368							});
1369							break;
1370						case "loginFailed": this.logout("loginFailed");
1371					}
1372				}
1373				hrLoaded(e) {
1374					return T(this, null, function* () {
1375						e.target.src && !this.isFrameLoaded && (this.isFrameLoaded = !0, this.logger.info("[HorseRacingPortal]", "[HorseRacingIframeComponent]", "[hrLoaded]", "[IFrame Loaded]", e), this.iframe = e.target, this.sendInit(), this.handleHrNavigation(), this.user.isAuthenticated && (yield this.communicateLoginAndKickOffGeoCoordinator()));
1376					});
1377				}
1378				communicateLoginAndKickOffGeoCoordinator() {
1379					return T(this, null, function* () {
1380						this.sendPartnerLoginEvent(), yield this.initGeolocation();
1381					});
1382				}
1383				sendInit() {
1384					!this.user.isAuthenticated && this.iframe && setTimeout(() => {
1385						this.iframe?.contentWindow?.postMessage({ messageName: "init" }, new URL(this.iframeClientConfig.url).origin);
1386					}, this.iframeClientConfig?.messageDelay > 5 ? this.iframeClientConfig.messageDelay : 5);
1387				}
1388				handleHrNavigation() {
1389					this.isFrameLoaded && this.activeRoute.queryParams.subscribe((e) => {
1390						if (this.logger.info("[HorseRacingPortal]", "[IntegrationFrame]", "[handleHrNavigation]", "[Query Parameter Change Detected]"), e && e.hrNavPage) {
1391							let n = (e.hrNavPage || "").trim();
1392							if (n && this.iframe) {
1393								let r = this.iframe.contentWindow;
1394								setTimeout(() => {
1395									this.logger.info("[HorseRacingPortal]", "[IntegrationFrame]", "[handleHrNavigation]", n, "[Sending Message to Integration Frame]"), r?.postMessage({
1396										messageName: "changePage",
1397										toPage: n
1398									}, new URL(this.iframeClientConfig.url).origin);
1399								}, this.iframeClientConfig?.navigationDelay > 5 ? this.iframeClientConfig.navigationDelay : 5);
1400							}
1401						} else if (this.isMobile) {
1402							let n = this.iframe.contentWindow;
1403							setTimeout(() => {
1404								this.logger.info("[HorseRacingPortal]", "[IntegrationFrame]", "[handleHrNavigation]", "todaysRacing", "[Sending Message to Integration Frame]"), n?.postMessage({
1405									messageName: "changePage",
1406									toPage: "todaysRacing"
1407								}, new URL(this.iframeClientConfig.url).origin);
1408							}, this.iframeClientConfig?.navigationDelay > 5 ? this.iframeClientConfig.navigationDelay : 5);
1409						}
1410					});
1411				}
1412				sendPartnerLoginEvent() {
1413					this.tokenObservable = this.tokenBuilderService.tokenAvailable.subscribe((e) => {
1414						if (e) {
1415							this.token = e;
1416							let n = window.btoa(JSON.stringify(this.token));
1417							setTimeout(() => {
1418								this.logger.info("[HorseRacingPortal]", "[IntegrationFrame]", "[PARTNER_TOKEN]", JSON.stringify(this.token)), this.iframe?.contentWindow?.postMessage({
1419									messageName: "login",
1420									partnerToken: n
1421								}, new URL(this.iframeClientConfig.url).origin);
1422							}, this.iframeClientConfig?.messageDelay > 5 ? this.iframeClientConfig.messageDelay : 5);
1423						}
1424					}, (e) => {
1425						this.logger.info(e);
1426					});
1427				}
1428				ngOnDestroy() {
1429					this.tokenObservable && this.tokenObservable.unsubscribe(), this.isFrameLoaded = !1;
1430				}
1431				initGeolocation() {
1432					return T(this, null, function* () {
1433						(yield this.geolocationActivator.isActive()) && this.geolocationCheckService.startGeolocation();
1434					});
1435				}
1436				logout(e) {
1437					this.logger.info("[HorseRacingPortal]", "[HorseRacingIframeComponent]", "[logout]", e), this.authService.logout({
1438						redirectAfterLogout: !1,
1439						isAutoLogout: !1
1440					}).then(() => {
1441						setTimeout(() => {
1442							this.iframe.contentWindow?.postMessage({ messageName: "logout" }, new URL(this.iframeClientConfig.url).origin);
1443						}, this.iframeClientConfig?.messageDelay > 5 ? this.iframeClientConfig.messageDelay : 5);
1444					});
1445				}
1446			};
1447			return t.ɵfac = function(i) {
1448				return new (i || t)();
1449			}, t.ɵcmp = _({
1450				type: t,
1451				selectors: [["hrl-horse-racing-iframe"]],
1452				hostBindings: function(i, e) {
1453					i & 1 && u("message", function(n) {
1454						return e.processMessages(n);
1455					}, le);
1456				},
1457				decls: 2,
1458				vars: 5,
1459				consts: [["ifrm", ""], [
1460					"id",
1461					"ifrm",
1462					"allowfullscreen",
1463					"true",
1464					3,
1465					"load",
1466					"src"
1467				]],
1468				template: function(i, e) {
1469					i & 1 && (I(0, "iframe", 1, 0), Pe("load", function(n) {
1470						return e.hrLoaded(n);
1471					}), x()), i & 2 && (re("width", "100%")("min-height", "1024px"), y("src", e.iframeUrl, Qt));
1472				},
1473				encapsulation: 2,
1474				changeDetection: 1
1475			}), t;
1476		})(), It = (() => {
1477			let t = class {
1478				constructor() {
1479					this.configProvider = o(P);
1480				}
1481				ngOnInit() {
1482					this.seoBoxesConfig = this.configProvider.provideSeoboxesClientConfig();
1483				}
1484			};
1485			return t.ɵfac = function(i) {
1486				return new (i || t)();
1487			}, t.ɵcmp = _({
1488				type: t,
1489				selectors: [["hrl-seoboxes"]],
1490				decls: 1,
1491				vars: 1,
1492				consts: [
1493					[1, "seo-main-header"],
1494					[1, "toggle-element"],
1495					[
1496						1,
1497						"content",
1498						"seo-blocks"
1499					],
1500					[3, "path"]
1501				],
1502				template: function(i, e) {
1503					i & 1 && d(0, ao, 4, 1, "div", 0), i & 2 && p(e.seoBoxesConfig?.enableSeoBox ? 0 : -1);
1504				},
1505				dependencies: [Pn],
1506				encapsulation: 2,
1507				changeDetection: 1
1508			}), t;
1509		})(), wt = (() => {
1510			let t = class {
1511				constructor() {
1512					this.api = o(N), this.teasersSubject = new U(null), this.teasersData = this.teasersSubject.asObservable(), this.setTeasers();
1513				}
1514				setTeasers() {
1515					this.api.get("nyra/getTeaserdata").subscribe((e) => {
1516						this.teasers = e, this.teasersSubject.next(this.teasers);
1517					});
1518				}
1519				getTeasers() {
1520					return this.teasers;
1521				}
1522			};
1523			return t.ɵfac = function(i) {
1524				return new (i || t)();
1525			}, t.ɵprov = b({
1526				token: t,
1527				factory: t.ɵfac,
1528				providedIn: "root"
1529			}), t;
1530		})(), Pt = (() => {
1531			let t = class {
1532				constructor() {
1533					this.configProvider = o(P);
1534				}
1535				transform(e) {
1536					let n = this.configProvider.provideImageLoadOptimizationClientConfig();
1537					if (n && n.isDynamicResizingEnabled && n.dynamicResizingQueryString && n.dynamicResizingQueryString.length > 0 && !this.isImageRezied(e)) {
1538						let r = (e.indexOf("?") !== -1 ? "&" : "?") + n.dynamicResizingQueryString;
1539						e = e + r;
1540					}
1541					return e;
1542				}
1543				isImageRezied(e) {
1544					return e.indexOf("resized=true") !== -1;
1545				}
1546			};
1547			return t.ɵfac = function(i) {
1548				return new (i || t)();
1549			}, t.ɵpipe = ei({
1550				name: "sitecore_image_resize",
1551				type: t,
1552				pure: !0
1553			}), t;
1554		})(), At = (() => {
1555			let t = class {};
1556			return t.ɵfac = function(i) {
1557				return new (i || t)();
1558			}, t.ɵcmp = _({
1559				type: t,
1560				selectors: [["hr-teaser-text-position"]],
1561				inputs: {
1562					teaserVerticalPosition: "teaserVerticalPosition",
1563					teaserTitle: "teaserTitle",
1564					teaserSubTitle: "teaserSubTitle",
1565					teaser: "teaser"
1566				},
1567				decls: 2,
1568				vars: 2,
1569				consts: [[
1570					1,
1571					"title",
1572					3,
1573					"vnDynamicHtml"
1574				], [
1575					1,
1576					"subtitle",
1577					3,
1578					"vnDynamicHtml"
1579				]],
1580				template: function(i, e) {
1581					i & 1 && g(0, "div", 0)(1, "div", 1), i & 2 && (h("vnDynamicHtml", e.teaserTitle), s(), h("vnDynamicHtml", e.teaserSubTitle));
1582				},
1583				dependencies: [ze],
1584				encapsulation: 2,
1585				changeDetection: 1
1586			}), t;
1587		})(), ve = (t) => ({ "background-image": t }), _t = (() => {
1588			let t = class {
1589				constructor() {
1590					this.configProviderService = o(P), this.teaserBackgroundImageAlignment = "";
1591				}
1592				ngOnInit() {
1593					this.isMobileImage = window.innerWidth <= 767 || document.body.offsetWidth <= 767, this.isTabletView = (window.innerWidth >= 768 || document.body.offsetWidth >= 768) && (window.innerWidth <= 1024 || document.body.offsetWidth <= 1024);
1594				}
1595				ngOnChanges() {
1596					this.teaser.optimizedTeaserAttributes && (this.teaserBackgroundImageAlignment = this.teaser.optimizedTeaserAttributes.teaserBackgroundImageAlignment, this.teaserBackgroundPosition = this.teaser.optimizedTeaserAttributes.teaserBackgroundPosition), this.optimizedTeaserClientConfig = this.configProviderService.provideOptimizedTeaserConfig(), this.desktopViewTeaserHeight = this.optimizedTeaserClientConfig.desktopViewTeaserHeight ? this.optimizedTeaserClientConfig.desktopViewTeaserHeight : 350, this.mobileViewTeaserHeight = this.optimizedTeaserClientConfig.mobileViewTeaserHeight ? this.optimizedTeaserClientConfig.mobileViewTeaserHeight : 200, this.tabletViewTeaserHeight = this.optimizedTeaserClientConfig.tabletViewTeaserHeight ? this.optimizedTeaserClientConfig.tabletViewTeaserHeight : 350, this.horizontalAlignment = this.optimizedTeaserClientConfig.teaserDefaultHorizontalTextAlignment ? this.optimizedTeaserClientConfig.teaserDefaultHorizontalTextAlignment : "center";
1597				}
1598			};
1599			return t.ɵfac = function(i) {
1600				return new (i || t)();
1601			}, t.ɵcmp = _({
1602				type: t,
1603				selectors: [["hrl-teaser-item"]],
1604				inputs: { teaser: "teaser" },
1605				features: [si],
1606				decls: 10,
1607				vars: 19,
1608				consts: [
1609					[
1610						3,
1611						"href",
1612						"target"
1613					],
1614					[1, "opt-teaser-body"],
1615					[
1616						1,
1617						"opt-teaser-bg-image",
1618						3,
1619						"background-position",
1620						"ngStyle"
1621					],
1622					[
1623						1,
1624						"opt-teaser-bg-image",
1625						3,
1626						"ngStyle"
1627					],
1628					[3, "ngClass"],
1629					[
1630						1,
1631						"opt-teaser-info",
1632						3,
1633						"ngClass"
1634					],
1635					[
1636						3,
1637						"teaserVerticalPosition",
1638						"teaserTitle",
1639						"teaserSubTitle",
1640						"teaser"
1641					],
1642					[1, "opt-teaser-cta"],
1643					[
1644						1,
1645						"btn",
1646						"btn-primary",
1647						3,
1648						"href",
1649						"innerHtml",
1650						"target"
1651					]
1652				],
1653				template: function(i, e) {
1654					i & 1 && (a(0, "a", 0)(1, "div", 1), d(2, ro, 2, 7, "div", 2), d(3, lo, 2, 5, "div", 3), a(4, "div", 4), F(5, "lowercase"), a(6, "div", 5), F(7, "lowercase"), g(8, "hr-teaser-text-position", 6), d(9, co, 3, 7, "div", 7), l()()()()), i & 2 && (h("href", Q(e.teaser?.teaserLink?.url), ae)("target", Q(e.teaser?.teaserLink?.attributes?.target)), s(), re("height", e.isMobileImage ? e.mobileViewTeaserHe
1654ight : e.isTabletView ? e.tabletViewTeaserHeight : e.desktopViewTeaserHeight, "px"), s(), p(e.teaser.backgroundImage && e.isMobileImage && !e.teaser.isVideoUrl ? 2 : -1), s(), p(e.teaser.desktopImage && !e.isMobileImage && !e.teaser.isVideoUrl ? 3 : -1), s(), h("ngClass", "opt-teaser-text-" + W(5, 15, e.teaser.textHorizontalPosition)), s(2), h("ngClass", "text-align-" + W(7, 17, e.horizontalAlignment)), s(2), h("teaserVerticalPosition", e.teaser.textVerticalPosition)("teaserTitle", e.teaser.teaserTitle)("teaserSubTitle", e.teaser.subTitle)("teaser", e.teaser), s(), p(e.teaser?.cta ? 9 : -1));
1655				},
1656				dependencies: [
1657					pi,
1658					vi,
1659					At,
1660					Pt,
1661					fn,
1662					fi
1663				],
1664				encapsulation: 2,
1665				changeDetection: 1
1666			}), t;
1667		})(), xt = ["carouselRef"], Dt = (() => {
1668			let t = class {
1669				constructor() {
1670					this.activeRoute = o(q), this.user = o(R), this.teaserService = o(wt), this.deviceService = o(G), this.configProviderService = o(P), this.trackByTeaser = (e, n) => e, this.filteredteasers = [], this.arrows = !0, this.showTeaser = !0, this.isTracks = !1, this.loop = !0, this.swiperOptions = {
1671						modules: [
1672							Sn,
1673							Ln,
1674							kn
1675						],
1676						loop: !0,
1677						autoHeight: !0,
1678						allowTouchMove: !0,
1679						spaceBetween: 1,
1680						autoplay: {
1681							delay: 1e3,
1682							disableOnInteraction: !1
1683						},
1684						pagination: {
1685							type: "bullets",
1686							clickable: !0,
1687							el: ".swiper-pagination"
1688						},
1689						navigation: {
1690							nextEl: ".swiper-button-next",
1691							prevEl: ".swiper-button-prev"
1692						}
1693					}, this.isAuthenticated = this.user.isAuthenticated, this.user.events.pipe(M((e) => e instanceof B)).subscribe(() => {
1694						this.isAuthenticated = this.user.isAuthenticated;
1695					});
1696				}
1697				ngOnInit() {
1698					this.isMobile = this.deviceService.isMobile || this.deviceService.isMobilePhone || this.deviceService.isTablet, this.activeRoute.queryParams.subscribe((e) => {
1699						let n = (e.hrNavPage || "").trim();
1700						n ? n == "todaysRacing" ? this.showTeaser = !0 : this.showTeaser = !1 : this.showTeaser = !0;
1701					}), this.optimizedTeaser = this.configProviderService.provideOptimizedTeaserConfig(), this.swiperOptions.autoplay = {
1702						delay: this.optimizedTeaser.teaserDelay,
1703						disableOnInteraction: !1
1704					}, this.teaserService.teasersData.subscribe((e) => {
1705						e && (this.teasers = e, this.teasers?.teaserSettings?.data?.fields?.teasers?.forEach((n) => {
1706							let r = this.teasers?.teaserItems.find((f) => f?.data?.metadata?.id?.itemName == n?.itemName);
1707							r && (this.filteredteasers.push(r), setTimeout(() => {
1708								this.carouselRef?.swiper && (this.carouselRef.swiper.update(), this.carouselRef.swiper.slideTo(0));
1709							}, 100));
1710						}));
1711					}, (e) => {
1712						console.log(e);
1713					});
1714				}
1715			};
1716			return t.ɵfac = function(i) {
1717				return new (i || t)();
1718			}, t.ɵcmp = _({
1719				type: t,
1720				selectors: [["hrl-teaser"]],
1721				viewQuery: function(i, e) {
1722					if (i & 1 && ai(xt, 5), i & 2) {
1723						let n;
1724						gi(n = Zt()) && (e.carouselRef = n.first);
1725					}
1726				},
1727				decls: 1,
1728				vars: 1,
1729				consts: [
1730					["carouselRef", ""],
1731					[1, "hr-teasers"],
1732					[3, "swiperOptions"],
1733					[1, "swiper-slide"],
1734					[3, "teaser"]
1735				],
1736				template: function(i, e) {
1737					i & 1 && d(0, go, 5, 1, "div", 1), i & 2 && p(e.filteredteasers?.length && e.optimizedTeaser?.teaserOptimization && (e.showTeaser && e.isAuthenticated || !e.isAuthenticated && e.isMobile || !e.isMobile) ? 0 : -1);
1738				},
1739				dependencies: [yn, _t],
1740				encapsulation: 2,
1741				changeDetection: 1
1742			}), t;
1743		})(), Lt = (() => {
1744			var t;
1745			let i = class {
1746				constructor() {
1747					Wt(this, t), this.route = o(q), this.user = o(R), this.deviceService = o(G), this.showButtons = !1, this.isMobile = !1, this.showHelpConfig = !1, Ft(this, t, o(bi)), this.isAuthenticated = this.user.isAuthenticated;
1748				}
1749				ngOnInit() {
1750					console.log("[HorseRacingPortal]", "[HomeComponent]", "[OnInit]"), this.IsMobileOrDesktop(), this.isMobile = this.deviceService.isMobile || this.deviceService.isMobilePhone || this.deviceService.isTablet, this.showButtons = this.route.
1750snapshot.queryParamMap.get("_showButtons") === "1";
1751				}
1752				loginRequest() {
1753					this.postMessage({ messageName: "requestLogin" });
1754				}
1755				logoutRequest() {
1756					this.postMessage({ messageName: "requestLogout" });
1757				}
1758				updateHeight() {
1759					let n = Y(this, t).parent.origin || "*";
1760					Y(this, t).postMessage({
1761						messageName: "updateHeight",
1762						newHeight: this.height + "px"
1763					}, n);
1764				}
1765				postMessage(n) {
1766					let r = Y(this, t).location.origin;
1767					Y(this, t).postMessage(n, r);
1768				}
1769				IsMobileOrDesktop() {
1770					this.isMobile = this.deviceService.isMobile || this.deviceService.isMobilePhone || this.deviceService.isTablet;
1771				}
1772			};
1773			return t = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(e) {
1774				return new (e || i)();
1775			}, i.ɵcmp = _({
1776				type: i,
1777				selectors: [["hra-home"]],
1778				hostBindings: function(e, n) {
1779					e & 1 && u("orientationchange", function() {
1780						return n.IsMobileOrDesktop();
1781					}, le);
1782				},
1783				decls: 6,
1784				vars: 2,
1785				consts: [[
1786					"type",
1787					"number",
1788					"placeholder",
1789					"Height",
1790					3,
1791					"ngModelChange",
1792					"ngModel"
1793				], [3, "click"]],
1794				template: function(e, n) {
1795					e & 1 && (d(0, fo, 6, 3, "ng-container"), g(1, "hrl-teaser"), d(2, vo, 1, 0, "hrl-horse-racing-login"), g(3, "hrl-horse-racing-help")(4, "hrl-horse-racing-iframe")(5, "hrl-seoboxes")), e & 2 && (p(n.showButtons ? 0 : -1), s(2), p(n.isMobile ? 2 : -1));
1796				},
1797				dependencies: [
1798					yt,
1799					It,
1800					Dt,
1801					ue,
1802					ut,
1803					pn,
1804					hn,
1805					gn,
1806					un,
1807					dn,
1808					Z
1809				],
1810				encapsulation: 2,
1811				changeDetection: 1
1812			}), i;
1813		})();
1814	})))();
1815}
1816var mo = $n({ HorseracingRoutesModule: () => Nt });
1817function bo(t) {
1818	return t.get(te);
1819}
1820function Co(t) {
1821	return t.get(ie);
1822}
1823function ko(t) {
1824	return t.get(ne);
1825}
1826function So(t) {
1827	return t.get(oe);
1828}
1829function Ot(t) {
1830	return [zi(t), {
1831		provide: be,
1832		multi: !0,
1833		useExisting: t
1834	}];
1835}
1836function To() {
1837	return [
1838		Ce,
1839		Ot(Et),
1840		Ot(Bt)
1841	];
1842}
1843var Ht, Rt, Mt, Et, Bt, be, Ce, Gt, ke, Nt;
1844function Ut() {
1845	return (Ut = at((() => {
1846		Se(), Te(), xe(), De(), Le(), Oe(), Ci(), He(), Ii(), Ee(), Ge(), Ai(), _i(), Ne(), Bi(), Re(), Ue(), $e(), qi(), Fe(), Ki(), Yi(), Ji(), Qi(), xi(), Zi(), qe(), Ve(), it(), on(), nn(), sn(), an(), rn(), Ke(), In(), xn(), Cn(), wn(), ln(), cn(), Je(), Ye(), vn(), On(), Qe(), bn(), Xe(), Mn(), En(), Bn(), tt(), Hn(), Dn(), An(), Rn(), Tn(), mn(), Ze(), nt(), ot(), me(), Ht = (() => {
1847			let t = class {
1848				constructor() {
1849					this.balanceService = o(et);
1850				}
1851				register() {
1852					addEventListener(vt, () => {
1853						this.balanceService.refresh();
1854					});
1855				}
1856			};
1857			return t.ɵfac = function(i) {
1858				return new (i || t)();
1859			}, t.ɵprov = b({
1860				token: t,
1861				factory: t.ɵfac,
1862				providedIn: "root"
1863			}), t;
1864		})(), Rt = (() => {
1865			let t = class {
1866				constructor() {
1867					this._ngZone = o(hi), this.readClientConfighandler = (e) => {
1868						e.detail && e.detail.clientConfig && (e.detail.clientConfig = window.clientConfig);
1869					};
1870				}
1871				registerHandlers() {
1872					this._ngZone.runOutsideAngular(() => {
1873						addEventListener(dt, this.readClientConfighandler, !1);
1874					});
1875				}
1876			};
1877			return t.ɵfac = function(i) {
1878				return new (i || t)();
1879			}, t.ɵprov = b({
1880				token: t,
1881				factory: t.ɵfac,
1882				providedIn: "root"
1883			}), t;
1884		})(), (() => {
1885			let t = class zt {
1886				static forRoot() {
1887					return { ngModule: zt };
1888				}
1889			};
1890			return t.ɵfac = function(i) {
1891				return new (i || t)();
1892			}, t.ɵmod = ce({ type: t }), t.ɵinj = se({}), t;
1893		})(), (() => {
1894			let t = class Vt {
1895				static forRoot() {
1896					return {
1897						ngModule: Vt,
1898						providers: [
1899							{
1900								provide: te,
1901								deps: [j],
1902								useFactory: bo
1903							},
1904							{
1905								provide: ie,
1906								deps: [j],
1907								useFactory: Co
1908							},
1909							{
1910								provide: ne,
1911								deps: [j],
1912								useFactory: ko
1913							},
1914							{
1915								provide: oe,
1916								deps: [j],
1917								useFactory: So
1918							}
1919						]
1920					};
1921				}
1922			};
1923			return t.ɵfac = function(i) {
1924				return new (i || t)();
1925			}, t.ɵmod = ce({ type: t }), t.ɵinj = se({}), t;
1926		})(), Mt = (() => {
1927			let t = class {
1928				constructor() {
1929					this.userService = o(R), this.playerSessionService = o(pe), this.tokenBuilderService = o(fe);
1930				}
1931				register() {
1932					this.userService.isAuthenticated && this.initPartnerTokenCreation(), this.userService.events.subscribe((e) => {
1933						e instanceof B && (this.initPartnerTokenCreation(), dispatchEvent(new CustomEvent("racingextension:vnapp:userevent", { detail: {
1934							userevent: e,
1935							eventType: "UserLoginEvent"
1936						} }))), e instanceof Hi && dispatchEvent(new CustomEvent("racingextension:vnapp:userevent", { detail: {
1937							userevent: e,
1938							eventType: "UserLoggingOutEvent"
1939						} })), e instanceof Ri && (this.playerSessionService.resetUserToken(), dispatchEvent(new CustomEvent("racingextension:vnapp:userevent", { detail: {
1940							userevent: e,
1941							eventType: "UserLogoutEvent"
1942						} }))), e instanceof Ei && dispatchEvent(new CustomEvent("racingextension:vnapp:userevent", { detail: {
1943							userevent: e,
1944							eventType: "UserAutologoutEvent"
1945						} })), e instanceof Li && dispatchEvent(new CustomEvent("racingextension:vnapp:userevent", { detail: {
1946							userevent: e,
1947							eventType: "UserUpdateEvent"
1948						} })), e instanceof Mi && dispatchEvent(new CustomEvent("racingextension:vnapp:userevent", { detail: {
1949							userevent: e,
1950							eventType: "UserLoggingInEvent"
1951						} }));
1952					});
1953				}
1954				initPartnerTokenCreation() {
1955					this.tokenBuilderService.getToken();
1956				}
1957			};
1958			return t.ɵfac = function(i) {
1959				return new (i || t)();
1960			}, t.ɵprov = b({
1961				token: t,
1962				factory: t.ɵfac,
1963				providedIn: "root"
1964			}), t;
1965		})(), Et = (() => {
1966			let t = class {
1967				constructor() {
1968					this.configProvider = o(P), this.eventsHandlerService = o(Rt), this.userEventsBroadcasterService = o(Mt), this.geolocationHandlerService = o(de), this.balanceHandlerService = o(Ht), this.headerService = o(wi), this.menuService = o(Vi);
1969				}
1970				onAppInit() {
1971					return T(this, null, function* () {
1972						this.configProvider.fillClientConfig(), this.eventsHandlerService.registerHandlers(), this.userEventsBroadcasterService.register(), this.geolocationHandlerService.registerHandler(), this.balanceHandlerService.register();
1973					});
1974				}
1975				myBetsHandler() {
1976					this.headerService.whenReady.subscribe(() => {
1977						this.menuService.register("navigate-hrbets-page", (e, n, r, f) => {
1978							let C = document.querySelector("#ifrm");
1979							if (C) {
1980								let H = C.contentWindow;
1981								H && f && f.hrNavPage && H.postMessage({
1982									messageName: "changePage",
1983									toPage: f.hrNavPage
1984								}, new URL(C.src).origin);
1985							}
1986						});
1987					});
1988				}
1989				myTracksHandler() {
1990					this.headerService.whenReady.subscribe(() => {
1991						this.menuService.register("navigate-hrtracks-page", (e, n, r, f) => {
1992							let C = document.querySelector("#ifrm");
1993							if (C) {
1994								let H = C.contentWindow;
1995								H && f && f.hrNavPage && H.postMessage({
1996									messageName: "changePage",
1997									toPage: f.hrNavPage
1998								}, new URL(C.src).origin);
1999							}
2000						});
2001					});
2002				}
2003			};
2004			return t.ɵfac = function(i) {
2005				return new (i || t)();
2006			}, t.ɵprov = b({
2007				token: t,
2008				factory: t.ɵfac
2009			}), t;
2010		})(), Bt = (() => {
2011			let t = class {
2012				constructor() {
2013					this.geoCoordinatorConfig = o(X), this.geoCoordinatorBootstrapService = o(Nn), this.geolocationClientConfig = o(ee), this.documentRef = o(li), this.user = o(R);
2014				}
2015				onAppInit() {
2016					this.geoCoordinatorConfig.whenReady.subscribe(() => T(this, null, function* () {
2017						this.geoCoordinatorConfig.switchOnLegacy ?? !0 ? this.bootstrapLegacy() : this.bootstrapContemporary();
2018					})), this.user.events.pipe(M((e) => e instanceof B)).subscribe(() => T(this, null, function* () {
2019						this.geoCoordinatorConfig.whenReady.subscribe(() => {
2020							this.bootstrapContemporary();
2021						});
2022					}));
2023				}
2024				bootstrapLegacy() {
2025					this.geolocationClientConfig?.isEnabled && this.geolocationClientConfig.bootstrapAssetPaths.forEach((e) => {
2026						let n = this.documentRef.createElement("script");
2027						n.src = e, this.documentRef.body.appendChild(n);
2028					});
2029				}
2030				bootstrapContemporary() {
2031					return T(this, null, function* () {
2032						this.geoCoordinatorConfig.switchOnLegacy || (yield this.geoCoordinatorBootstrapService.bootstrap());
2033					});
2034				}
2035			};
2036			return t.ɵfac = function(i) {
2037				return new (i || t)();
2038			}, t.ɵprov = b({
2039				token: t,
2040				factory: t.ɵfac,
2041				providedIn: "root"
2042			}), t;
2043		})(), be = new ii("ON_HR_APP_INIT"), Ce = (() => {
2044			let t = class {
2045				constructor() {
2046					this.initializers = o(be), this.isAlreadyBootstrapped = !1;
2047				}
2048				onHorseracingAppInit() {
2049					return T(this, null, function* () {
2050						this.isAlreadyBootstrapped || (Yt(this.initializers.map((e) => e.onAppInit()).filter((e) => e instanceof Promise).map((e) => jt(e))).subscribe(), this.isAlreadyBootstrapped = !0);
2051					});
2052				}
2053			};
2054			return t.ɵfac = function(i) {
2055				return new (i || t)();
2056			}, t.ɵprov = b({
2057				token: t,
2058				factory: t.ɵfac
2059			}), t;
2060		})(), Gt = () => (o(he).setActive(S.HORSERACING), o(Ce).onHorseracingAppInit()), ke = [{
2061			path: "",
2062			canMatch: [Gt],
2063			loadComponent: () => import("./chunk-fe6yt1bg.js").then((t) => t.HomeComponent)
2064		}], Nt = (() => {
2065			let t = class {
2066				constructor() {
2067					let e = o(oi);
2068					e.get(he).register(S.HORSERACING, e);
2069				}
2070			};
2071			return t.ɵfac = function(i) {
2072				return new (i || t)();
2073			}, t.ɵmod = ce({ type: t }), t.ɵinj = se({
2074				providers: [To()],
2075				imports: [Pi.forChild(ke)]
2076			}), t;
2077		})(), [[...Un, ...ke], ...Gn];
2078	})))();
2079}
2080export { me as i, Ut as n, Lt as r, mo as t };
2081
2082//# sourceMappingURL=chunk-czfrwm0h.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.