PageSourceSearch

https://spicejunction.de/src/pages/CartPage.tsx?t=1788102612504

js spicejunction.de collected 2026-09-24 14:21:11 UTC 58,447 bytes, 1,033 lines download raw bytes

1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/pages/CartPage.tsx");import __vite__cjsImport0_react_compilerRuntime from "/node_modules/.vite/deps/react_compiler-runtime.js?v=46d206a1"; const _c = __vite__cjsImport0_react_compilerRuntime["c"];
2import __vite__cjsImport1_react from "/node_modules/.vite/deps/react.js?v=46d206a1"; const useState = __vite__cjsImport1_react["useState"];
3import { Link } from "/node_modules/.vite/deps/react-router-dom.js?v=46d206a1";
4import Navbar from "/src/components/Navbar.tsx";
5import BottomNav from "/src/components/BottomNav.tsx?t=1788102612504";
6import { useLanguage } from "/src/i18n/LanguageContext.tsx";
7var _jsxFileName = "/root/website/spicejuncation/src/pages/CartPage.tsx";
8import __vite__cjsImport6_react_jsxDevRuntime from "/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=46d206a1"; const _jsxDEV = __vite__cjsImport6_react_jsxDevRuntime["jsxDEV"];
9var _s = $RefreshSig$();
10const initialItems = [
11	{
12		id: 1,
13		slug: "whole-star-anise",
14		descKey: "products.whole-star-anise-cart",
15		name: "Premium Star Anise",
16		tags: [{
17			tagKey: "cartTags.quickCurry",
18			color: "bg-secondary-container text-on-secondary-fixed"
19		}, {
20			tagKey: "cartTags.aromatic",
21			color: "bg-secondary-container text-on-secondary-fixed"
22		}],
23		qty: 1,
24		img: "https://lh3.googleusercontent.com/aida-public/AB6AXuB0hPHDa42A5DgpYbgbYj7gugLTKU4wjZvE28SBuCryNStujHU-RwKp4xNW_nJTEC33nzTU7ueoLZjdMoI2Nl2hTyQ9OcV6tyh-clOidiijrWX28TsGfEgCB1qMpy-pg1oiGNHkpCIYgw6tM5eXbT3TSnfw4syaHxhVAMNgUhOotezNjAxvlv8dPKB_xZQPmIqLqicXh2teRpgchAAW8LfTz866hA2rzq5ikUwbjfEsd1fCf5PweSUJjHdDagXVsyzH8OoUYosFqBmd"
25	},
26	{
27		id: 2,
28		slug: "heirloom-turmeric",
29		descKey: "products.heirloom-turmeric",
30		name: "Vibrant Turmeric Root",
31		tags: [{
32			tagKey: "cartTags.superfood",
33			color: "bg-secondary-container text-on-secondary-fixed"
34		}],
35		qty: 2,
36		img: "https://lh3.googleusercontent.com/aida-public/AB6AXuAdZZ0NVtvJBVtANDRjl-f-mz7uH57AtMdnAa_K5heLRmzM_3wsBjPYQDNmR5SyXNQovkwd1eLl2pmTiGa0XO3XGoDRy1TNVdC3esw2Of3XnwVrBR5zOUhn5CdTagqONLtyeGvp0lHI4Ly4kSjRwBHBsSkzMEhNCFKRS9vd-IA-ejFEgTxrQVLW_L2gwo99dQZFbvR502zfgoPbRjN0azoy3PMhTU012LBLPU7TvhMEQQcK5FbK0FJrFJUUgdXeH1aepH6Jc2CzSUAO"
37	},
38	{
39		id: 3,
40		slug: "smoked-ghost-pepper",
41		descKey: "products.smoked-ghost-pepper",
42		name: "Smoked Ghost Pepper",
43		tags: [{
44			tagKey: "cartTags.spicy",
45			color: "bg-primary-container text-on-primary-container"
46		}],
47		qty: 1,
48		img: "https://lh3.googleusercontent.com/aida-public/AB6AXuDCtZcEqKoMT5pQDbgF_R8_zVD6BWLlXjzFgXPBTCavhEP3P005WUobTwLOAcKxavxXf7MidPbM4KLFkT7PA0xoxFBekSAW2H7fRzZ3QdDj_b9ThFqk4EdkVhGoswL0LUHtD1rOfUqeb9I8MhVC49dvmHr7n3_7crWeMWVF9yXLFcjqCYSiMiUORt-3w--k85NIuEqM0UmE0bTWG61jC61ouaIXujJWKnNDSCBAvUPL1DTnyLM7mmU1rwMlqbR-HARLh8rCkaP-YOSg"
49	}
50];
51export default function CartPage() {
52	_s();
53	const $ = _c(114);
54	if ($[0] !== "0c1f6ea3e040a4022757f6897b3850aafd450ca2ef9b71833510e83685ad3510") {
55		for (let $i = 0; $i < 114; $i += 1) {
56			$[$i] = Symbol.for("react.memo_cache_sentinel");
57		}
58		$[0] = "0c1f6ea3e040a4022757f6897b3850aafd450ca2ef9b71833510e83685ad3510";
59	}
60	const { t } = useLanguage();
61	const [items, setItems] = useState(initialItems);
62	let t0;
63	if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
64		t0 = (id, delta) => setItems((prev) => prev.map((item) => item.id === id ? {
65			...item,
66			qty: item.qty + delta
67		} : item).filter(_temp));
68		$[1] = t0;
69	} else {
70		t0 = $[1];
71	}
72	const updateQty = t0;
73	let t1;
74	if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
75		t1 = (id_0) => setItems((prev_0) => prev_0.filter((i) => i.id !== id_0));
76		$[2] = t1;
77	} else {
78		t1 = $[2];
79	}
80	const remove = t1;
81	let t2;
82	if ($[3] !== items) {
83		t2 = items.reduce(_temp2, 0);
84		$[3] = items;
85		$[4] = t2;
86	} else {
87		t2 = $[4];
88	}
89	const totalItems = t2;
90	let t3;
91	if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
92		t3 = /* @__PURE__ */ _jsxDEV(Navbar, {}, void 0, false, {
93			fileName: _jsxFileName,
94			lineNumber: 98,
95			columnNumber: 10
96		}, this);
97		$[5] = t3;
98	} else {
99		t3 = $[5];
100	}
101	let t4;
102	if ($[6] !== t) {
103		t4 = t("cart.title");
104		$[6] = t;
105		$[7] = t4;
106	} else {
107		t4 = $[7];
108	}
109	let t5;
110	if ($[8] !== t4) {
111		t5 = /* @__PURE__ */ _jsxDEV("h1", {
112			className: "text-3xl sm:text-4xl lg:text-5xl font-black font-headline text-on-surface tracking-tight",
113			children: t4
114		}, void 0, false, {
115			fileName: _jsxFileName,
116			lineNumber: 113,
117			columnNumber: 10
118		}, this);
119		$[8] = t4;
120		$[9] = t5;
121	} else {
122		t5 = $[9];
123	}
124	let t6;
125	if ($[10] !== items.length || $[11] !== t || $[12] !== totalItems) {
126		t6 = items.length === 0 ? t("cart.emptyBasket") : `${totalItems} ${totalItems === 1 ? t("cart.item") : t("cart.items")} · ${t("homeExtras.aromaticWaiting")}`;
127		$[10] = items.length;
128		$[11] = t;
129		$[12] = totalItems;
130		$[13] = t6;
131	} else {
132		t6 = $[13];
133	}
134	let t7;
135	if ($[14] !== t6) {
136		t7 = /* @__PURE__ */ _jsxDEV("p", {
137			className: "text-secondary mt-2 text-base sm:text-lg",
138			children: t6
139		}, void 0, false, {
140			fileName: _jsxFileName,
141			lineNumber: 131,
142			columnNumber: 10
143		}, this);
144		$[14] = t6;
145		$[15] = t7;
146	} else {
147		t7 = $[15];
148	}
149	let t8;
150	if ($[16] !== t5 || $[17] !== t7) {
151		t8 = /* @__PURE__ */ _jsxDEV("div", {
152			className: "mb-8 sm:mb-12",
153			children: [t5, t7]
154		}, void 0, true, {
155			fileName: _jsxFileName,
156			lineNumber: 139,
157			columnNumber: 10
158		}, this);
159		$[16] = t5;
160		$[17] = t7;
161		$[18] = t8;
162	} else {
163		t8 = $[18];
164	}
165	let t9;
166	if ($[19] !== items || $[20] !== t) {
167		t9 = items.length === 0 ? /* @__PURE__ */ _jsxDEV("div", {
168			className: "p-16 rounded-xl bg-surface-container-lowest flex flex-col items-center text-center gap-4",
169			children: [
170				/* @__PURE__ */ _jsxDEV("span", {
171					className: "material-symbols-outlined text-6xl text-on-surface-variant",
172					children: "shopping_basket"
173				}, void 0, false, {
174					fileName: _jsxFileName,
175					lineNumber: 148,
176					columnNumber: 137
177				}, this),
178				/* @__PURE__ */ _jsxDEV("h3", {
179					className: "text-2xl font-bold font-headline",
180					children: t("cart.emptyBasket")
181				}, void 0, false, {
182					fileName: _jsxFileName,
183					lineNumber: 148,
184					columnNumber: 236
185				}, this),
186				/* @__PURE__ */ _jsxDEV("p", {
187					className: "text-secondary",
188					children: t("cart.emptyMsg")
189				}, void 0, false, {
190					fileName: _jsxFileName,
191					lineNumber: 148,
192					columnNumber: 313
193				}, this),
194				/* @__PURE__ */ _jsxDEV(Link, {
195					to: "/shop",
196					className: "mt-2 px-8 py-3 bg-primary text-on-primary rounded-full font-bold hover:opacity-90 transition-opacity",
197					children: t("cart.exploreSpices")
198				}, void 0, false, {
199					fileName: _jsxFileName,
200					lineNumber: 148,
201					columnNumber: 367
202				}, this)
203			]
204		}, void 0, true, {
205			fileName: _jsxFileName,
206			lineNumber: 148,
207			columnNumber: 31
208		}, this) : items.map((item_2) => /* @__PURE__ */ _jsxDEV("div", {
209			className: "group bg-surface-container-lowest rounded-lg p-4 sm:p-6 flex flex-col sm:flex-row items-center gap-4 sm:gap-6 shadow-[32px_0_32px_rgba(160,0,70,0.02)] transition-all hover:scale-[1.01] hover:shadow-[32px_0_32px_rgba(160,0,70,0.06)]",
210			children: [/* @__PURE__ */ _jsxDEV("div", {
211				className: "w-32 h-32 rounded-xl overflow-hidden bg-surface-container-low shrink-0",
212				children: /* @__PURE__ */ _jsxDEV("img", {
213					alt: item_2.name,
214					className: "w-full h-full object-cover transition-transform group-hover:scale-110 duration-500",
215					src: item_2.img
216				}, void 0, false, {
217					fileName: _jsxFileName,
218					lineNumber: 148,
219					columnNumber: 911
220				}, this)
221			}, void 0, false, {
222				fileName: _jsxFileName,
223				lineNumber: 148,
224				columnNumber: 823
225			}, this), /* @__PURE__ */ _jsxDEV("div", {
226				className: "flex-grow flex flex-col sm:flex-row justify-between w-full gap-4 sm:gap-6 min-w-0",
227				children: [/* @__PURE__ */ _jsxDEV("div", {
228					className: "space-y-1",
229					children: [
230						/* @__PURE__ */ _jsxDEV("h3", {
231							className: "text-xl font-bold font-headline text-on-surface",
232							children: item_2.name
233						}, void 0, false, {
234							fileName: _jsxFileName,
235							lineNumber: 148,
236							columnNumber: 1180
237						}, this),
238						/* @__PURE__ */ _jsxDEV("p", {
239							className: "text-secondary text-sm",
240							children: t(item_2.descKey)
241						}, void 0, false, {
242							fileName: _jsxFileName,
243							lineNumber: 148,
244							columnNumber: 1262
245						}, this),
246						/* @__PURE__ */ _jsxDEV("div", {
247							className: "flex items-center gap-2 mt-2 flex-wrap",
248							children: item_2.tags.map((tag) => /* @__PURE__ */ _jsxDEV("span", {
249								className: `text-xs font-bold px-2 py-1 rounded-full ${tag.color}`,
250								children: t(tag.tagKey)
251							}, tag.tagKey, false, {
252								fileName: _jsxFileName,
253								lineNumber: 148,
254								columnNumber: 1403
255							}, this))
256						}, void 0, false, {
257							fileName: _jsxFileName,
258							lineNumber: 148,
259							columnNumber: 1323
260						}, this)
261					]
262				}, void 0, true, {
263					fileName: _jsxFileName,
264					lineNumber: 148,
265					columnNumber: 1153
266				}, this), /* @__PURE__ */ _jsxDEV("div", {
267					className: "flex items-center justify-between sm:justify-start gap-4 sm:gap-8 mt-1 sm:mt-0",
268					children: [/* @__PURE__ */ _jsxDEV("div", {
269						className: "flex items-center bg-surface-container-high rounded-full p-1 h-10",
270						children: [
271							/* @__PURE__ */ _jsxDEV("button", {
272								onClick: () => updateQty(item_2.id, -1),
273								className: "w-8 h-8 flex items-center justify-center hover:bg-surface-variant rounded-full transition-colors active:scale-90",
274								children: /* @__PURE__ */ _jsxDEV("span", {
275									className: "material-symbols-outlined text-sm",
276									children: "remove"
277								}, void 0, false, {
278									fileName: _jsxFileName,
279									lineNumber: 148,
280									columnNumber: 1883
281								}, this)
282							}, void 0, false, {
283								fileName: _jsxFileName,
284								lineNumber: 148,
285								columnNumber: 1709
286							}, this),
287							/* @__PURE__ */ _jsxDEV("span", {
288								className: "w-8 text-center font-bold",
289								children: item_2.qty
290							}, void 0, false, {
291								fileName: _jsxFileName,
292								lineNumber: 148,
293								columnNumber: 1957
294							}, this),
295							/* @__PURE__ */ _jsxDEV("button", {
296								onClick: () => updateQty(item_2.id, 1),
297								className: "w-8 h-8 flex items-center justify-center hover:bg-surface-variant rounded-full transition-colors active:scale-90",
298								children: /* @__PURE__ */ _jsxDEV("span", {
299									className: "material-symbols-outlined text-sm",
300									children: "add"
301								}, void 0, false, {
302									fileName: _jsxFileName,
303									lineNumber: 148,
304									columnNumber: 2193
305								}, this)
306							}, void 0, false, {
307								fileName: _jsxFileName,
308								lineNumber: 148,
309								columnNumber: 2020
310							}, this)
311						]
312					}, void 0, true, {
313						fileName: _jsxFileName,
314						lineNumber: 148,
315						columnNumber: 1626
316					}, this), /* @__PURE__ */ _jsxDEV("button", {
317						onClick: () => remove(item_2.id),
318						className: "text-error text-xs font-bold hover:underline mt-1 uppercase tracking-wider shrink-0",
319						children: t("cart.remove")
320					}, void 0, false, {
321						fileName: _jsxFileName,
322						lineNumber: 148,
323						columnNumber: 2270
324					}, this)]
325				}, void 0, true, {
326					fileName: _jsxFileName,
327					lineNumber: 148,
328					columnNumber: 1530
329				}, this)]
330			}, void 0, true, {
331				fileName: _jsxFileName,
332				lineNumber: 148,
333				columnNumber: 1054
334			}, this)]
335		}, item_2.id, true, {
336			fileName: _jsxFileName,
337			lineNumber: 148,
338			columnNumber: 558
339		}, this));
340		$[19] = items;
341		$[20] = t;
342		$[21] = t9;
343	} else {
344		t9 = $[21];
345	}
346	let t10;
347	if ($[22] !== items.length || $[23] !== t) {
348		t10 = items.length > 0 && /* @__PURE__ */ _jsxDEV("div", {
349			className: "mt-10 sm:mt-12 p-6 sm:p-8 rounded-xl bg-secondary-container/30 border-2 border-dashed border-outline-variant/20 flex flex-col items-center text-center",
350			children: [
351				/* @__PURE__ */ _jsxDEV("span", {
352					className: "material-symbols-outlined text-primary text-5xl mb-4",
353					children: "restaurant_menu"
354				}, void 0, false, {
355					fileName: _jsxFileName,
356					lineNumber: 157,
357					columnNumber: 199
358				}, this),
359				/* @__PURE__ */ _jsxDEV("h4", {
360					className: "text-xl font-bold font-headline",
361					children: t("cart.wantMoreHeat")
362				}, void 0, false, {
363					fileName: _jsxFileName,
364					lineNumber: 157,
365					columnNumber: 292
366				}, this),
367				/* @__PURE__ */ _jsxDEV("p", {
368					className: "text-secondary mb-6",
369					children: t("cart.exploreSeasonal")
370				}, void 0, false, {
371					fileName: _jsxFileName,
372					lineNumber: 157,
373					columnNumber: 369
374				}, this),
375				/* @__PURE__ */ _jsxDEV(Link, {
376					to: "/shop",
377					className: "px-8 py-3 bg-secondary text-on-secondary rounded-full font-bold hover:opacity-90 active:scale-95 transition-all",
378					children: t("cart.continueShopping")
379				}, void 0, false, {
380					fileName: _jsxFileName,
381					lineNumber: 157,
382					columnNumber: 435
383				}, this)
384			]
385		}, void 0, true, {
386			fileName: _jsxFileName,
387			lineNumber: 157,
388			columnNumber: 31
389		}, this);
390		$[22] = items.length;
391		$[23] = t;
392		$[24] = t10;
393	} else {
394		t10 = $[24];
395	}
396	let t11;
397	if ($[25] !== t10 || $[26] !== t9) {
398		t11 = /* @__PURE__ */ _jsxDEV("div", {
399			className: "lg:col-span-8 space-y-6",
400			children: [t9, t10]
401		}, void 0, true, {
402			fileName: _jsxFileName,
403			lineNumber: 166,
404			columnNumber: 11
405		}, this);
406		$[25] = t10;
407		$[26] = t9;
408		$[27] = t11;
409	} else {
410		t11 = $[27];
411	}
412	let t12;
413	if ($[28] !== t) {
414		t12 = t("cart.orderSummary");
415		$[28] = t;
416		$[29] = t12;
417	} else {
418		t12 = $[29];
419	}
420	let t13;
421	if ($[30] !== t12) {
422		t13 = /* @__PURE__ */ _jsxDEV("h2", {
423			className: "text-2xl font-bold font-headline mb-8 border-b border-surface-container pb-4",
424			children: t12
425		}, void 0, false, {
426			fileName: _jsxFileName,
427			lineNumber: 183,
428			columnNumber: 11
429		}, this);
430		$[30] = t12;
431		$[31] = t13;
432	} else {
433		t13 = $[31];
434	}
435	let t14;
436	if ($[32] !== t) {
437		t14 = t("cart.items");
438		$[32] = t;
439		$[33] = t14;
440	} else {
441		t14 = $[33];
442	}
443	let t15;
444	if ($[34] !== t14) {
445		t15 = /* @__PURE__ */ _jsxDEV("span", {
446			className: "text-secondary",
447			children: t14
448		}, void 0, false, {
449			fileName: _jsxFileName,
450			lineNumber: 199,
451			columnNumber: 11
452		}, this);
453		$[34] = t14;
454		$[35] = t15;
455	} else {
456		t15 = $[35];
457	}
458	let t16;
459	if ($[36] !== totalItems) {
460		t16 = /* @__PURE__ */ _jsxDEV("span", {
461			className: "font-bold",
462			children: totalItems
463		}, void 0, false, {
464			fileName: _jsxFileName,
465			lineNumber: 207,
466			columnNumber: 11
467		}, this);
468		$[36] = totalItems;
469		$[37] = t16;
470	} else {
471		t16 = $[37];
472	}
473	let t17;
474	if ($[38] !== t15 || $[39] !== t16) {
475		t17 = /* @__PURE__ */ _jsxDEV("div", {
476			className: "flex justify-between items-center",
477			children: [t15, t16]
478		}, void 0, true, {
479			fileName: _jsxFileName,
480			lineNumber: 215,
481			columnNumber: 11
482		}, this);
483		$[38] = t15;
484		$[39] = t16;
485		$[40] = t17;
486	} else {
487		t17 = $[40];
488	}
489	let t18;
490	if ($[41] !== t) {
491		t18 = t("cart.shipping");
492		$[41] = t;
493		$[42] = t18;
494	} else {
495		t18 = $[42];
496	}
497	let t19;
498	if ($[43] !== t18) {
499		t19 = /* @__PURE__ */ _jsxDEV("span", {
500			className: "text-secondary",
501			children: t18
502		}, void 0, false, {
503			fileName: _jsxFileName,
504			lineNumber: 232,
505			columnNumber: 11
506		}, this);
507		$[43] = t18;
508		$[44] = t19;
509	} else {
510		t19 = $[44];
511	}
512	let t20;
513	if ($[45] !== t) {
514		t20 = t("cart.free");
515		$[45] = t;
516		$[46] = t20;
517	} else {
518		t20 = $[46];
519	}
520	let t21;
521	if ($[47] !== t20) {
522		t21 = /* @__PURE__ */ _jsxDEV("span", {
523			className: "font-bold text-primary",
524			children: t20
525		}, void 0, false, {
526			fileName: _jsxFileName,
527			lineNumber: 248,
528			columnNumber: 11
529		}, this);
530		$[47] = t20;
531		$[48] = t21;
532	} else {
533		t21 = $[48];
534	}
535	let t22;
536	if ($[49] !== t19 || $[50] !== t21) {
537		t22 = /* @__PURE__ */ _jsxDEV("div", {
538			className: "flex justify-between items-center",
539			children: [t19, t21]
540		}, void 0, true, {
541			fileName: _jsxFileName,
542			lineNumber: 256,
543			columnNumber: 11
544		}, this);
545		$[49] = t19;
546		$[50] = t21;
547		$[51] = t22;
548	} else {
549		t22 = $[51];
550	}
551	let t23;
552	if ($[52] !== t) {
553		t23 = t("cart.estimatedTotal");
554		$[52] = t;
555		$[53] = t23;
556	} else {
557		t23 = $[53];
558	}
559	let t24;
560	if ($[54] !== t23) {
561		t24 = /* @__PURE__ */ _jsxDEV("span", {
562			className: "text-lg font-bold",
563			children: t23
564		}, void 0, false, {
565			fileName: _jsxFileName,
566			lineNumber: 273,
567			columnNumber: 11
568		}, this);
569		$[54] = t23;
570		$[55] = t24;
571	} else {
572		t24 = $[55];
573	}
574	let t25;
575	if ($[56] === Symbol.for("react.memo_cache_sentinel")) {
576		t25 = /* @__PURE__ */ _jsxDEV("span", {
577			className: "text-lg font-bold",
578			children: "—"
579		}, void 0, false, {
580			fileName: _jsxFileName,
581			lineNumber: 281,
582			columnNumber: 11
583		}, this);
584		$[56] = t25;
585	} else {
586		t25 = $[56];
587	}
588	let t26;
589	if ($[57] !== t24) {
590		t26 = /* @__PURE__ */ _jsxDEV("div", {
591			className: "pt-4 border-t border-surface-container flex justify-between items-center",
592			children: [t24, t25]
593		}, void 0, true, {
594			fileName: _jsxFileName,
595			lineNumber: 288,
596			columnNumber: 11
597		}, this);
598		$[57] = t24;
599		$[58] = t26;
600	} else {
601		t26 = $[58];
602	}
603	let t27;
604	if ($[59] !== t17 || $[60] !== t22 || $[61] !== t26) {
605		t27 = /* @__PURE__ */ _jsxDEV("div", {
606			className: "space-y-4 mb-8",
607			children: [
608				t17,
609				t22,
610				t26
611			]
612		}, void 0, true, {
613			fileName: _jsxFileName,
614			lineNumber: 296,
615			columnNumber: 11
616		}, this);
617		$[59] = t17;
618		$[60] = t22;
619		$[61] = t26;
620		$[62] = t27;
621	} else {
622		t27 = $[62];
623	}
624	let t28;
625	if ($[63] !== t) {
626		t28 = t("cart.promoCode");
627		$[63] = t;
628		$[64] = t28;
629	} else {
630		t28 = $[64];
631	}
632	let t29;
633	if ($[65] !== t28) {
634		t29 = /* @__PURE__ */ _jsxDEV("label", {
635			className: "text-xs font-bold uppercase tracking-widest text-secondary block mb-2 px-1",
636			children: t28
637		}, void 0, false, {
638			fileName: _jsxFileName,
639			lineNumber: 314,
640			columnNumber: 11
641		}, this);
642		$[65] = t28;
643		$[66] = t29;
644	} else {
645		t29 = $[66];
646	}
647	let t30;
648	if ($[67] === Symbol.for("react.memo_cache_sentinel")) {
649		t30 = /* @__PURE__ */ _jsxDEV("input", {
650			className: "flex-grow bg-surface-container-low border-none rounded-full px-4 py-3 focus:ring-2 focus:ring-primary-container text-sm outline-none",
651			placeholder: "SPICE10",
652			type: "text"
653		}, void 0, false, {
654			fileName: _jsxFileName,
655			lineNumber: 322,
656			columnNumber: 11
657		}, this);
658		$[67] = t30;
659	} else {
660		t30 = $[67];
661	}
662	let t31;
663	if ($[68] !== t) {
664		t31 = t("cart.apply");
665		$[68] = t;
666		$[69] = t31;
667	} else {
668		t31 = $[69];
669	}
670	let t32;
671	if ($[70] !== t31) {
672		t32 = /* @__PURE__ */ _jsxDEV("div", {
673			className: "flex gap-2",
674			children: [t30, /* @__PURE__ */ _jsxDEV("button", {
675				className: "px-4 py-3 bg-surface-container-highest text-on-surface font-bold rounded-full text-sm hover:bg-surface-variant transition-colors",
676				children: t31
677			}, void 0, false, {
678				fileName: _jsxFileName,
679				lineNumber: 337,
680				columnNumber: 44
681			}, this)]
682		}, void 0, true, {
683			fileName: _jsxFileName,
684			lineNumber: 337,
685			columnNumber: 11
686		}, this);
687		$[70] = t31;
688		$[71] = t32;
689	} else {
690		t32 = $[71];
691	}
692	let t33;
693	if ($[72] !== t29 || $[73] !== t32) {
694		t33 = /* @__PURE__ */ _jsxDEV("div", { children: [t29, t32] }, void 0, true, {
695			fileName: _jsxFileName,
696			lineNumber: 345,
697			columnNumber: 11
698		}, this);
699		$[72] = t29;
700		$[73] = t32;
701		$[74] = t33;
702	} else {
703		t33 = $[74];
704	}
705	let t34;
706	if ($[75] !== t) {
707		t34 = t("cart.proceedCheckout");
708		$[75] = t;
709		$[76] = t34;
710	} else {
711		t34 = $[76];
712	}
713	let t35;
714	if ($[77] !== t34) {
715		t35 = /* @__PURE__ */ _jsxDEV("span", { children: t34 }, void 0, false, {
716			fileName: _jsxFileName,
717			lineNumber: 362,
718			columnNumber: 11
719		}, this);
720		$[77] = t34;
721		$[78] = t35;
722	} else {
723		t35 = $[78];
724	}
725	let t36;
726	if ($[79] === Symbol.for("react.memo_cache_sentinel")) {
727		t36 = /* @__PURE__ */ _jsxDEV("span", {
728			className: "material-symbols-outlined",
729			children: "arrow_forward"
730		}, void 0, false, {
731			fileName: _jsxFileName,
732			lineNumber: 370,
733			columnNumber: 11
734		}, this);
735		$[79] = t36;
736	} else {
737		t36 = $[79];
738	}
739	let t37;
740	if ($[80] !== t35) {
741		t37 = /* @__PURE__ */ _jsxDEV("button", {
742			className: "w-full py-5 bg-primary text-on-primary rounded-full font-black text-lg shadow-lg shadow-primary/20 hover:scale-[1.02] active:scale-95 transition-all flex items-center justify-center gap-3",
743			children: [t35, t36]
744		}, void 0, true, {
745			fileName: _jsxFileName,
746			lineNumber: 377,
747			columnNumber: 11
748		}, this);
749		$[80] = t35;
750		$[81] = t37;
751	} else {
752		t37 = $[81];
753	}
754	let t38;
755	if ($[82] !== t33 || $[83] !== t37) {
756		t38 = /* @__PURE__ */ _jsxDEV("div", {
757			className: "space-y-4",
758			children: [t33, t37]
759		}, void 0, true, {
760			fileName: _jsxFileName,
761			lineNumber: 385,
762			columnNumber: 11
763		}, this);
764		$[82] = t33;
765		$[83] = t37;
766		$[84] = t38;
767	} else {
768		t38 = $[84];
769	}
770	let t39;
771	if ($[85] === Symbol.for("react.memo_cache_sentinel")) {
772		t39 = /* @__PURE__ */ _jsxDEV("div", {
773			className: "mt-8 flex items-center justify-center gap-6 opacity-40",
774			children: [
775				/* @__PURE__ */ _jsxDEV("span", {
776					className: "material-symbols-outlined text-3xl",
777					children: "credit_card"
778				}, void 0, false, {
779					fileName: _jsxFileName,
780					lineNumber: 394,
781					columnNumber: 83
782				}, this),
783				/* @__PURE__ */ _jsxDEV("span", {
784					className: "material-symbols-outlined text-3xl",
785					children: "account_balance_wallet"
786				}, void 0, false, {
787					fileName: _jsxFileName,
788					lineNumber: 394,
789					columnNumber: 154
790				}, this),
791				/* @__PURE__ */ _jsxDEV("span", {
792					className: "material-symbols-outlined text-3xl",
793					children: "payments"
794				}, void 0, false, {
795					fileName: _jsxFileName,
796					lineNumber: 394,
797					columnNumber: 236
798				}, this)
799			]
800		}, void 0, true, {
801			fileName: _jsxFileName,
802			lineNumber: 394,
803			columnNumber: 11
804		}, this);
805		$[85] = t39;
806	} else {
807		t39 = $[85];
808	}
809	let t40;
810	if ($[86] !== t13 || $[87] !== t27 || $[88] !== t38) {
811		t40 = /* @__PURE__ */ _jsxDEV("div", {
812			className: "bg-surface-container-lowest rounded-lg p-6 sm:p-8 shadow-[32px_0_32px_rgba(160,0,70,0.04)]",
813			children: [
814				t13,
815				t27,
816				t38,
817				t39
818			]
819		}, void 0, true, {
820			fileName: _jsxFileName,
821			lineNumber: 401,
822			columnNumber: 11
823		}, this);
824		$[86] = t13;
825		$[87] = t27;
826		$[88] = t38;
827		$[89] = t40;
828	} else {
829		t40 = $[89];
830	}
831	let t41;
832	if ($[90] === Symbol.for("react.memo_cache_sentinel")) {
833		t41 = /* @__PURE__ */ _jsxDEV("span", {
834			className: "material-symbols-outlined text-primary shrink-0",
835			children: "local_shipping"
836		}, void 0, false, {
837			fileName: _jsxFileName,
838			lineNumber: 411,
839			columnNumber: 11
840		}, this);
841		$[90] = t41;
842	} else {
843		t41 = $[90];
844	}
845	let t42;
846	if ($[91] !== t) {
847		t42 = t("cart.freeDelivery");
848		$[91] = t;
849		$[92] = t42;
850	} else {
851		t42 = $[92];
852	}
853	let t43;
854	if ($[93] !== t42) {
855		t43 = /* @__PURE__ */ _jsxDEV("p", {
856			className: "font-bold text-sm text-on-surface",
857			children: t42
858		}, void 0, false, {
859			fileName: _jsxFileName,
860			lineNumber: 426,
861			columnNumber: 11
862		}, this);
863		$[93] = t42;
864		$[94] = t43;
865	} else {
866		t43 = $[94];
867	}
868	let t44;
869	if ($[95] !== t) {
870		t44 = t("cart.freeDeliveryMsg");
871		$[95] = t;
872		$[96] = t44;
873	} else {
874		t44 = $[96];
875	}
876	let t45;
877	if ($[97] !== t44) {
878		t45 = /* @__PURE__ */ _jsxDEV("p", {
879			className: "text-xs text-secondary mt-1",
880			children: t44
881		}, void 0, false, {
882			fileName: _jsxFileName,
883			lineNumber: 442,
884			columnNumber: 11
885		}, this);
886		$[97] = t44;
887		$[98] = t45;
888	} else {
889		t45 = $[98];
890	}
891	let t46;
892	if ($[99] !== t43 || $[100] !== t45) {
893		t46 = /* @__PURE__ */ _jsxDEV("div", {
894			className: "mt-6 p-6 bg-primary-container/10 rounded-lg border-l-4 border-primary",
895			children: /* @__PURE__ */ _jsxDEV("div", {
896				className: "flex gap-3",
897				children: [t41, /* @__PURE__ */ _jsxDEV("div", { children: [t43, t45] }, void 0, true, {
898					fileName: _jsxFileName,
899					lineNumber: 450,
900					columnNumber: 131
901				}, this)]
902			}, void 0, true, {
903				fileName: _jsxFileName,
904				lineNumber: 450,
905				columnNumber: 98
906			}, this)
907		}, void 0, false, {
908			fileName: _jsxFileName,
909			lineNumber: 450,
910			columnNumber: 11
911		}, this);
912		$[99] = t43;
913		$[100] = t45;
914		$[101] = t46;
915	} else {
916		t46 = $[101];
917	}
918	let t47;
919	if ($[102] !== t40 || $[103] !== t46) {
920		t47 = /* @__PURE__ */ _jsxDEV("aside", {
921			className: "lg:col-span-4 lg:sticky lg:top-28",
922			children: [t40, t46]
923		}, void 0, true, {
924			fileName: _jsxFileName,
925			lineNumber: 459,
926			columnNumber: 11
927		}, this);
928		$[102] = t40;
929		$[103] = t46;
930		$[104] = t47;
931	} else {
932		t47 = $[104];
933	}
934	let t48;
935	if ($[105] !== t11 || $[106] !== t47) {
936		t48 = /* @__PURE__ */ _jsxDEV("div", {
937			className: "grid grid-cols-1 lg:grid-cols-12 gap-12 items-start",
938			children: [t11, t47]
939		}, void 0, true, {
940			fileName: _jsxFileName,
941			lineNumber: 468,
942			columnNumber: 11
943		}, this);
944		$[105] = t11;
945		$[106] = t47;
946		$[107] = t48;
947	} else {
948		t48 = $[107];
949	}
950	let t49;
951	if ($[108] !== t48 || $[109] !== t8) {
952		t49 = /* @__PURE__ */ _jsxDEV("main", {
953			className: "max-w-7xl mx-auto px-4 sm:px-6 py-8 sm:py-12 pb-32 md:pb-12",
954			children: [t8, t48]
955		}, void 0, true, {
956			fileName: _jsxFileName,
957			lineNumber: 477,
958			columnNumber: 11
959		}, this);
960		$[108] = t48;
961		$[109] = t8;
962		$[110] = t49;
963	} else {
964		t49 = $[110];
965	}
966	let t50;
967	if ($[111] === Symbol.for("react.memo_cache_sentinel")) {
968		t50 = /* @__PURE__ */ _jsxDEV(BottomNav, {}, void 0, false, {
969			fileName: _jsxFileName,
970			lineNumber: 486,
971			columnNumber: 11
972		}, this);
973		$[111] = t50;
974	} else {
975		t50 = $[111];
976	}
977	let t51;
978	if ($[112] !== t49) {
979		t51 = /* @__PURE__ */ _jsxDEV("div", {
980			className: "bg-background text-on-surface min-h-screen font-body",
981			children: [
982				t3,
983				t49,
984				t50
985			]
986		}, void 0, true, {
987			fileName: _jsxFileName,
988			lineNumber: 493,
989			columnNumber: 11
990		}, this);
991		$[112] = t49;
992		$[113] = t51;
993	} else {
994		t51 = $[113];
995	}
996	return t51;
997}
998_s(CartPage, "BJr6Vcc/yHhHfvfdenWzyV5GlQM=", false, function() {
999	return [useLanguage];
1000});
1001_c2 = CartPage;
1002function _temp2(s, item_1) {
1003	return s + item_1.qty;
1004}
1005function _temp(item_0) {
1006	return item_0.qty > 0;
1007}
1008var _c2;
1009$RefreshReg$(_c2, "CartPage");
1010import * as RefreshRuntime from "/@react-refresh";
1011const inWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope;
1012import * as __vite_react_currentExports from "/src/pages/CartPage.tsx?t=1788102612504";
1013if (import.meta.hot && !inWebWorker) {
1014  if (!window.$RefreshReg$) {
1015    throw new Error(
1016      "@vitejs/plugin-react can't detect preamble. Something is wrong."
1017    );
1018  }
1019
1020  const currentExports = __vite_react_currentExports;
1021  queueMicrotask(() => {
1022    RefreshRuntime.registerExportsForReactRefresh("/root/website/spicejuncation/src/pages/CartPage.tsx", currentExports);
1023    import.meta.hot.accept((nextExports) => {
1024      if (!nextExports) return;
1025      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/root/website/spicejuncation/src/pages/CartPage.tsx", currentExports, nextExports);
1026      if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
1027    });
1028  });
1029}
1030function $RefreshReg$(type, id) { return RefreshRuntime.register(type, "/root/website/spicejuncation/src/pages/CartPage.tsx" + ' ' + id); }
1031function $RefreshSig$() { return RefreshRuntime.createSignatureFunctionForTransform(); }
1032
1033//# sourceMappingURL=data:application/json;base64,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6RSxFQUFBLFNBQUFvQyxPQUFBcEMsRUFBQSxTQUFBd0UsS0FBQTtBQW5KVkMsUUFBQTtHQUFlO2FBQWYsQ0FHRXJDLEtBbUZBb0MsSUE4REk7Ozs7OztBQUFBeEUsSUFBQSxPQUFBb0M7QUFBQXBDLElBQUEsT0FBQXdFO0FBQUF4RSxJQUFBLE9BQUF5RTtRQUFBO0FBQUFBLFFBQUF6RSxFQUFBOztDQUFBLElBQUEwRTtBQUFBLEtBQUExRSxFQUFBLFNBQUF5RSxPQUFBekUsRUFBQSxTQUFBK0IsSUFBQTtBQWhLUjJDLFFBQUE7R0FBZ0I7YUFBaEIsQ0FHRTNDLElBU0EwQyxJQXFKSzs7Ozs7O0FBQUF6RSxJQUFBLE9BQUF5RTtBQUFBekUsSUFBQSxPQUFBK0I7QUFBQS9CLElBQUEsT0FBQTBFO1FBQUE7QUFBQUEsUUFBQTFFLEVBQUE7O0NBQUEsSUFBQTJFO0FBQUEsS0FBQTNFLEVBQUEsU0FBQUcsT0FBQUMsSUFBQTtBQUVQdUUsUUFBQSx3QkFBQyxXQUFELEVBQWE7Ozs7O0FBQUEzRSxJQUFBLE9BQUEyRTtRQUFBO0FBQUFBLFFBQUEzRSxFQUFBOztDQUFBLElBQUE0RTtBQUFBLEtBQUE1RSxFQUFBLFNBQUEwRSxLQUFBO0FBdEtmRSxRQUFBO0dBQWU7YUFBZjtJQUNFbkQ7SUFFQWlEO0lBbUtBQztJQUNJOzs7Ozs7QUFBQTNFLElBQUEsT0FBQTBFO0FBQUExRSxJQUFBLE9BQUE0RTtRQUFBO0FBQUFBLFFBQUE1RSxFQUFBOztBQUFBLFFBdktONEU7Ozs7RUF1S007O0FBdkxLLFNBQUFyRCxPQUFBc0QsR0FBQUMsUUFBQTtBQUFBLFFBYWdDRCxJQUFJakUsT0FBSWY7O0FBYnhDLFNBQUFpQixNQUFBaUUsUUFBQTtBQUFBLFFBUVNuRSxPQUFJZixNQUFPIiwibmFtZXMiOlsidXNlU3RhdGUiLCJMaW5rIiwiTmF2YmFyIiwiQm90dG9tTmF2IiwidXNlTGFuZ3VhZ2UiLCJpbml0aWFsSXRlbXMiLCJpZCIsInNsdWciLCJkZXNjS2V5IiwibmFtZSIsInRhZ3MiLCJ0YWdLZXkiLCJjb2xvciIsInF0eSIsImltZyIsIkNhcnRQYWdlIiwiJCIsIl9jIiwiJGkiLCJTeW1ib2wiLCJmb3IiLCJ0IiwiaXRlbXMiLCJzZXRJdGVtcyIsInQwIiwiZGVsdGEiLCJwcmV2IiwibWFwIiwiaXRlbSIsImZpbHRlciIsIl90ZW1wIiwidXBkYXRlUXR5IiwidDEiLCJpZF8wIiwicHJldl8wIiwiaSIsInJlbW92ZSIsInQyIiwicmVkdWNlIiwiX3RlbXAyIiwidG90YWxJdGVtcyIsInQzIiwidDQiLCJ0NSIsInQ2IiwibGVuZ3RoIiwidDciLCJ0OCIsInQ5IiwiaXRlbV8yIiwidGFnIiwidDEwIiwidDExIiwidDEyIiwidDEzIiwidDE0IiwidDE1IiwidDE2IiwidDE3IiwidDE4IiwidDE5IiwidDIwIiwidDIxIiwidDIyIiwidDIzIiwidDI0IiwidDI1IiwidDI2IiwidDI3IiwidDI4IiwidDI5IiwidDMwIiwidDMxIiwidDMyIiwidDMzIiwidDM0IiwidDM1IiwidDM2IiwidDM3IiwidDM4IiwidDM5IiwidDQwIiwidDQ
1033xIiwidDQyIiwidDQzIiwidDQ0IiwidDQ1IiwidDQ2IiwidDQ3IiwidDQ4IiwidDQ5IiwidDUwIiwidDUxIiwicyIsIml0ZW1fMSIsIml0ZW1fMCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJDYXJ0UGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IE5hdmJhciBmcm9tICcuLi9jb21wb25lbnRzL05hdmJhcidcbmltcG9ydCBCb3R0b21OYXYgZnJvbSAnLi4vY29tcG9uZW50cy9Cb3R0b21OYXYnXG5pbXBvcnQgeyB1c2VMYW5ndWFnZSB9IGZyb20gJy4uL2kxOG4vTGFuZ3VhZ2VDb250ZXh0J1xuXG50eXBlIENhcnRJdGVtID0ge1xuICBpZDogbnVtYmVyXG4gIHNsdWc6IHN0cmluZ1xuICBkZXNjS2V5OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHRhZ3M6IHsgdGFnS2V5OiBzdHJpbmc7IGNvbG9yOiBzdHJpbmcgfVtdXG4gIHF0eTogbnVtYmVyXG4gIGltZzogc3RyaW5nXG59XG5cbmNvbnN0IGluaXRpYWxJdGVtczogQ2FydEl0ZW1bXSA9IFtcbiAge1xuICAgIGlkOiAxLFxuICAgIHNsdWc6ICd3aG9sZS1zdGFyLWFuaXNlJyxcbiAgICBkZXNjS2V5OiAncHJvZHVjdHMud2hvbGUtc3Rhci1hbmlzZS1jYXJ0JyxcbiAgICBuYW1lOiAnUHJlbWl1bSBTdGFyIEFuaXNlJyxcbiAgICB0YWdzOiBbXG4gICAgICB7IHRhZ0tleTogJ2NhcnRUYWdzLnF1aWNrQ3VycnknLCBjb2xvcjogJ2JnLXNlY29uZGFyeS1jb250YWluZXIgdGV4dC1vbi1zZWNvbmRhcnktZml4ZWQnIH0sXG4gICAgICB7IHRhZ0tleTogJ2NhcnRUYWdzLmFyb21hdGljJywgY29sb3I6ICdiZy1zZWNvbmRhcnktY29udGFpbmVyIHRleHQtb24tc2Vjb25kYXJ5LWZpeGVkJyB9LFxuICAgIF0sXG4gICAgcXR5OiAxLFxuICAgIGltZzogJ2h0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9haWRhLXB1YmxpYy9BQjZBWHVCMGhQSERhNDJBNURncFliZ2JZajdndWdMVEtVNHdqWnZFMjhTQnVDcnlOU3R1akhVLVJ3S3A0eE5XX25KVEVDMzNuelRVN3Vlb0xaamRNb0kyTmwyaFR5UTlPY1Y2dHloLWNsT2lkaWlqcldYMjhUc0dmRWdDQjFxTXB5LXBnMW9pR05Ia3BDSVlndzZ0TTVlWGJUM1RTbmZ3NHN5YUh4aFZBTU5nVWhPb3Rlek5qQXh2bHY4ZFBLQl94WlFQbUlxTHFpY1hoMnRlUnBnY2hBQVc4TGZUejg2NmhBMnJ6cTVpa1V3YmpmRXNkMWZDZjVQd2VTVUpqSGREYWdYVnN5ekg4T29VWW9zRnFCbWQnLFxuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgc2x1ZzogJ2hlaXJsb29tLXR1cm1lcmljJyxcbiAgICBkZXNjS2V5OiAncHJvZHVjdHMuaGVpcmxvb20tdHVybWVyaWMnLFxuICAgIG5hbWU6ICdWaWJyYW50IFR1cm1lcmljIFJvb3QnLFxuICAgIHRhZ3M6IFtcbiAgICAgIHsgdGFnS2V5OiAnY2FydFRhZ3Muc3VwZXJmb29kJywgY29sb3I6ICdiZy1zZWNvbmRhcnktY29udGFpbmVyIHRleHQtb24tc2Vjb25kYXJ5LWZpeGVkJyB9LFxuICAgIF0sXG4gICAgcXR5OiAyLFxuICAgIGltZzogJ2h0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9haWRhLXB1YmxpYy9BQjZBWHVBZFpaME5WdHZKQlZ0QU5EUmpsLWYtbXo3dUg1N0F0TWRuQWFfSzVoZUxSbXpNXzN3c0JqUFlRRE5tUjVTeVhOUW92a3dkMWVMbDJwbVRpR2EwWE8zWEdvRFJ5MVROVmRDM2VzdzJPZjNYbndWckJSNXpPVWhuNUNkVGFncU9OTHR5ZUd2cDBsSEk0THk0a1NqUndCSEJzU2t6TUVoTkNGS1JTOXZkLUlBLWVqRkVnVHhyUVZMV19MMmd3bzk5ZFFaRmJ2UjUwMnpmZ29QYlJqTjBhem95M1BNaFRVMDEyTEJMUFU3VHZoTUVRUWNLNUZiSzBGSnJGSlVVZ2RYZUgxYWVwSDZKYzJDelNVQU8nLFxuICB9LFxuICB7XG4gICAgaWQ6IDMsXG4gICAgc2x1ZzogJ3Ntb2tlZC1naG9zdC1wZXBwZXInLFxuICAgIGRlc2NLZXk6ICdwcm9kdWN0cy5zbW9rZWQtZ2hvc3QtcGVwcGVyJyxcbiAgICBuYW1lOiAnU21va2VkIEdob3N0IFBlcHBlcicsXG4gICAgdGFnczogW1xuICAgICAgeyB0YWdLZXk6ICdjYXJ0VGFncy5zcGljeScsIGNvbG9yOiAnYmctcHJpbWFyeS1jb250YWluZXIgdGV4dC1vbi1wcmltYXJ5LWNvbnRhaW5lcicgfSxcbiAgICBdLFxuICAgIHF0eTogMSxcbiAgICBpbWc6ICdodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vYWlkYS1wdWJsaWMvQUI2QVh1REN0WmNFcUtvTVQ1cFFEYmdGX1I4X3pWRDZCV0xsWGp6RmdYUEJUQ2F2aEVQM1AwMDVXVW9iVHdMT0FjS3hhdnhYZjdNaWRQYk00S0xGa1Q3UEEweG94RkJla1NBVzJIN2ZSelozUWREal9iOVRoRnFrNEVka1ZoR29zd0wwTFVIdEQxck9mVXFlYjlJOE1oVkM0OWR2bUhyN24zXzdjcldlTVdWRjl5WExGY2pxQ1lTaU1pVU9SdC0zdy0tazg1Tkl1RXFNMFVtRTBiVFdHNjFqQzYxb3VhSVh1akpXS25ORFNDQkF2VVBMMURUbnlMTTdtbVUxcndNbHFiUi1IQVJMaDhyQ2thUC1ZT1NnJyxcbiAgfSxcbl1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2FydFBhZ2UoKSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlTGFuZ3VhZ2UoKVxuICBjb25zdCBbaXRlbXMsIHNldEl0ZW1zXSA9IHVzZVN0YXRlPENhcnRJdGVtW10+KGluaXRpYWxJdGVtcylcblxuICBjb25zdCB1cGRhdGVRdHkgPSAoaWQ6IG51bWJlciwgZGVsdGE6IG51bWJlcikgPT5cbiAgICBzZXRJdGVtcyhwcmV2ID0+XG4gICAgICBwcmV2XG4gICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLmlkID09PSBpZCA/IHsgLi4uaXRlbSwgcXR5OiBpdGVtLnF0eSArIGRlbHRhIH0gOiBpdGVtKVxuICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS5xdHkgPiAwKVxuICAgIClcblxuICBjb25zdCByZW1vdmUgPSAoaWQ6IG51bWJlcikgPT4gc2V0SXRlbXMocHJldiA9PiBwcmV2LmZpbHRlcihpID0+IGkuaWQgIT09IGlkKSlcblxuICBjb25zdCB0b3RhbEl0ZW1zID0gaXRlbXMucmVkdWNlKChzLCBpdGVtKSA9PiBzICsgaXRlbS5xdHksIDApXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWJhY2tncm91bmQgdGV4dC1vbi1zdXJmYWNlIG1pbi1oLXNjcmVlbiBmb250LWJvZHlcIj5cbiAgICAgIDxOYXZiYXIgLz5cblxuICAgICAgPG1haW4gY2xhc3NOYW1lPVwibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IHB5LTggc206cHktMTIgcGItMzIgbWQ6cGItMTJcIj5cblxuICAgICAgICB7LyogUGFnZSBIZWFkZXIgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItOCBzbTptYi0xMlwiPlxuICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBsZzp0ZXh0LTV4bCBmb250LWJsYWNrIGZvbnQtaGVhZGxpbmUgdGV4dC1vbi1zdXJmYWNlIHRyYWNraW5nLXRpZ2h0XCI+e3QoJ2NhcnQudGl0bGUnKX08L2gxPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc2Vjb25kYXJ5IG10LTIgdGV4dC1iYXNlIHNtOnRleHQtbGdcIj5cbiAgICAgICAgICAgI
1033HtpdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgPyB0KCdjYXJ0LmVtcHR5QmFza2V0JylcbiAgICAgICAgICAgICAgOiBgJHt0b3RhbEl0ZW1zfSAke3RvdGFsSXRlbXMgPT09IDEgPyB0KCdjYXJ0Lml0ZW0nKSA6IHQoJ2NhcnQuaXRlbXMnKX0gwrcgJHt0KCdob21lRXh0cmFzLmFyb21hdGljV2FpdGluZycpfWB9XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTEyIGdhcC0xMiBpdGVtcy1zdGFydFwiPlxuXG4gICAgICAgICAgey8qIOKUgOKUgCBDYXJ0IEl0ZW1zIOKUgOKUgCAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTggc3BhY2UteS02XCI+XG4gICAgICAgICAgICB7aXRlbXMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtMTYgcm91bmRlZC14bCBiZy1zdXJmYWNlLWNvbnRhaW5lci1sb3dlc3QgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgdGV4dC1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtNnhsIHRleHQtb24tc3VyZmFjZS12YXJpYW50XCI+c2hvcHBpbmdfYmFza2V0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgZm9udC1oZWFkbGluZVwiPnt0KCdjYXJ0LmVtcHR5QmFza2V0Jyl9PC9oMz5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNlY29uZGFyeVwiPnt0KCdjYXJ0LmVtcHR5TXNnJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxMaW5rIHRvPVwiL3Nob3BcIiBjbGFzc05hbWU9XCJtdC0yIHB4LTggcHktMyBiZy1wcmltYXJ5IHRleHQtb24tcHJpbWFyeSByb3VuZGVkLWZ1bGwgZm9udC1ib2xkIGhvdmVyOm9wYWNpdHktOTAgdHJhbnNpdGlvbi1vcGFjaXR5XCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY2FydC5leHBsb3JlU3BpY2VzJyl9XG4gICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIGl0ZW1zLm1hcChpdGVtID0+IChcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJncm91cCBiZy1zdXJmYWNlLWNvbnRhaW5lci1sb3dlc3Qgcm91bmRlZC1sZyBwLTQgc206cC02IGZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC00IHNtOmdhcC02IHNoYWRvdy1bMzJweF8wXzMycHhfcmdiYSgxNjAsMCw3MCwwLjAyKV0gdHJhbnNpdGlvbi1hbGwgaG92ZXI6c2NhbGUtWzEuMDFdIGhvdmVyOnNoYWRvdy1bMzJweF8wXzMycHhfcmdiYSgxNjAsMCw3MCwwLjA2KV1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0zMiBoLTMyIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIGJnLXN1cmZhY2UtY29udGFpbmVyLWxvdyBzaHJpbmstMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgYWx0PXtpdGVtLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIGR1cmF0aW9uLTUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgc3JjPXtpdGVtLmltZ31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtZ3JvdyBmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgZ2FwLTQgc206Z2FwLTYgbWluLXctMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBmb250LWhlYWRsaW5lIHRleHQtb24tc3VyZmFjZVwiPntpdGVtLm5hbWV9PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNlY29uZGFyeSB0ZXh0LXNtXCI+e3QoaXRlbS5kZXNjS2V5KX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtdC0yIGZsZXgtd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0udGFncy5tYXAodGFnID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4ga2V5PXt0YWcudGFnS2V5fSBjbGFzc05hbWU9e2B0ZXh0LXhzIGZvbnQtYm9sZCBweC0yIHB5LTEgcm91bmRlZC1mdWxsICR7dGFnLmNvbG9yfWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0KHRhZy50YWdLZXkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc206anVzdGlmeS1zdGFydCBnYXAtNCBzbTpnYXAtOCBtdC0xIHNtOm10LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGJnLXN1cmZhY2UtY29udGFpbmVyLWhpZ2ggcm91bmRlZC1mdWxsIHAtMSBoLTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHVwZGF0ZVF0eShpdGVtLmlkLCAtMSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctOCBoLTggZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgaG92ZXI6Ymctc3VyZmFjZS12YXJpYW50IHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uLWNvbG9ycyBhY3RpdmU6c2NhbGUtOTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtc21cIj5yZW1vdmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInctOCB0ZXh0LWNlbnRlciBmb250LWJvbGRcIj57aXRlbS5xdHl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB1cGRhdGV
1033RdHkoaXRlbS5pZCwgMSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctOCBoLTggZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgaG92ZXI6Ymctc3VyZmFjZS12YXJpYW50IHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uLWNvbG9ycyBhY3RpdmU6c2NhbGUtOTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtc21cIj5hZGQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJlbW92ZShpdGVtLmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtZXJyb3IgdGV4dC14cyBmb250LWJvbGQgaG92ZXI6dW5kZXJsaW5lIG10LTEgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIHNocmluay0wXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dCgnY2FydC5yZW1vdmUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHsvKiBDb250aW51ZSBTaG9wcGluZyBDVEEgKi99XG4gICAgICAgICAgICB7aXRlbXMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEwIHNtOm10LTEyIHAtNiBzbTpwLTggcm91bmRlZC14bCBiZy1zZWNvbmRhcnktY29udGFpbmVyLzMwIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgYm9yZGVyLW91dGxpbmUtdmFyaWFudC8yMCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC1wcmltYXJ5IHRleHQtNXhsIG1iLTRcIj5yZXN0YXVyYW50X21lbnU8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIGZvbnQtaGVhZGxpbmVcIj57dCgnY2FydC53YW50TW9yZUhlYXQnKX08L2g0PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc2Vjb25kYXJ5IG1iLTZcIj57dCgnY2FydC5leHBsb3JlU2Vhc29uYWwnKX08L3A+XG4gICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgIHRvPVwiL3Nob3BcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicHgtOCBweS0zIGJnLXNlY29uZGFyeSB0ZXh0LW9uLXNlY29uZGFyeSByb3VuZGVkLWZ1bGwgZm9udC1ib2xkIGhvdmVyOm9wYWNpdHktOTAgYWN0aXZlOnNjYWxlLTk1IHRyYW5zaXRpb24tYWxsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7dCgnY2FydC5jb250aW51ZVNob3BwaW5nJyl9XG4gICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7Lyog4pSA4pSAIE9yZGVyIFN1bW1hcnkg4pSA4pSAICovfVxuICAgICAgICAgIDxhc2lkZSBjbGFzc05hbWU9XCJsZzpjb2wtc3Bhbi00IGxnOnN0aWNreSBsZzp0b3AtMjhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctc3VyZmFjZS1jb250YWluZXItbG93ZXN0IHJvdW5kZWQtbGcgcC02IHNtOnAtOCBzaGFkb3ctWzMycHhfMF8zMnB4X3JnYmEoMTYwLDAsNzAsMC4wNCldXCI+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgZm9udC1oZWFkbGluZSBtYi04IGJvcmRlci1iIGJvcmRlci1zdXJmYWNlLWNvbnRhaW5lciBwYi00XCI+XG4gICAgICAgICAgICAgICAge3QoJ2NhcnQub3JkZXJTdW1tYXJ5Jyl9XG4gICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTQgbWItOFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNlY29uZGFyeVwiPnt0KCdjYXJ0Lml0ZW1zJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1ib2xkXCI+e3RvdGFsSXRlbXN9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNlY29uZGFyeVwiPnt0KCdjYXJ0LnNoaXBwaW5nJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtcHJpbWFyeVwiPnt0KCdjYXJ0LmZyZWUnKX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwdC00IGJvcmRlci10IGJvcmRlci1zdXJmYWNlLWNvbnRhaW5lciBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1ib2xkXCI+e3QoJ2NhcnQuZXN0aW1hdGVkVG90YWwnKX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtYm9sZFwiPuKAlDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1zZWNvbmRhcnkgYmxvY2sgbWItMiBweC0xXCI+XG4gICAgICAgICAgICAgICAgICAgI
1033Ht0KCdjYXJ0LnByb21vQ29kZScpfVxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LWdyb3cgYmctc3VyZmFjZS1jb250YWluZXItbG93IGJvcmRlci1ub25lIHJvdW5kZWQtZnVsbCBweC00IHB5LTMgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctcHJpbWFyeS1jb250YWluZXIgdGV4dC1zbSBvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU1BJQ0UxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInB4LTQgcHktMyBiZy1zdXJmYWNlLWNvbnRhaW5lci1oaWdoZXN0IHRleHQtb24tc3VyZmFjZSBmb250LWJvbGQgcm91bmRlZC1mdWxsIHRleHQtc20gaG92ZXI6Ymctc3VyZmFjZS12YXJpYW50IHRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2NhcnQuYXBwbHknKX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwidy1mdWxsIHB5LTUgYmctcHJpbWFyeSB0ZXh0LW9uLXByaW1hcnkgcm91bmRlZC1mdWxsIGZvbnQtYmxhY2sgdGV4dC1sZyBzaGFkb3ctbGcgc2hhZG93LXByaW1hcnkvMjAgaG92ZXI6c2NhbGUtWzEuMDJdIGFjdGl2ZTpzY2FsZS05NSB0cmFuc2l0aW9uLWFsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3QoJ2NhcnQucHJvY2VlZENoZWNrb3V0Jyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmFycm93X2ZvcndhcmQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtNiBvcGFjaXR5LTQwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LTN4bFwiPmNyZWRpdF9jYXJkPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC0zeGxcIj5hY2NvdW50X2JhbGFuY2Vfd2FsbGV0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC0zeGxcIj5wYXltZW50czwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgey8qIEZyZWUgRGVsaXZlcnkgVGlwICovfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02IHAtNiBiZy1wcmltYXJ5LWNvbnRhaW5lci8xMCByb3VuZGVkLWxnIGJvcmRlci1sLTQgYm9yZGVyLXByaW1hcnlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LXByaW1hcnkgc2hyaW5rLTBcIj5sb2NhbF9zaGlwcGluZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtc20gdGV4dC1vbi1zdXJmYWNlXCI+e3QoJ2NhcnQuZnJlZURlbGl2ZXJ5Jyl9PC9wPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXNlY29uZGFyeSBtdC0xXCI+e3QoJ2NhcnQuZnJlZURlbGl2ZXJ5TXNnJyl9PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXNpZGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYWluPlxuXG4gICAgICA8Qm90dG9tTmF2IC8+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJmaWxlIjoiL3Jvb3Qvd2Vic2l0ZS9zcGljZWp1bmNhdGlvbi9zcmMvcGFnZXMvQ2FydFBhZ2UudHN4In0=

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.