PageSourceSearch

https://kyn-care.com/src/pages/CookiesPage.tsx

js kyn-care.com collected 2026-10-08 11:36:12 UTC 36,989 bytes, 483 lines download raw bytes

1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/pages/CookiesPage.tsx");import __vite__cjsImport0_react_jsxDevRuntime from "/@fs/home/runner/workspace/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=9ce4103e"; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"];
2import RefreshRuntime from "/@react-refresh";
3const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope;
4let prevRefreshReg;
5let prevRefreshSig;
6if (import.meta.hot && !inWebWorker) {
7  if (!window.__vite_plugin_react_preamble_installed__) {
8    throw new Error("@vitejs/plugin-react can't detect preamble. Something is wrong. See https://github.com/vitejs/vite-plugin-react/pull/11#discussion_r430879201");
9  }
10  prevRefreshReg = window.$RefreshReg$;
11  prevRefreshSig = window.$RefreshSig$;
12  window.$RefreshReg$ = (type, id) => {
13    RefreshRuntime.register(type, "/home/runner/workspace/client/src/pages/CookiesPage.tsx " + id);
14  };
15  window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
16}
17var _s = $RefreshSig$();
18import __vite__cjsImport3_react from "/@fs/home/runner/workspace/node_modules/.vite/deps/react.js?v=9ce4103e"; const useState = __vite__cjsImport3_react["useState"]; const useEffect = __vite__cjsImport3_react["useEffect"];
19import { Switch } from "/src/components/ui/switch.tsx";
20const CookiesPage = () => {
21  _s();
22  const [strictlyNecessary] = useState(true);
23  const [performance, setPerformance] = useState(false);
24  const [marketing, setMarketing] = useState(false);
25  useEffect(() => {
26    document.title = "Cookie Preferences | KYN Skincare";
27    return () => {
28      document.title = "KYN - Sustainable Skincare for Melanin-Rich Skin";
29    };
30  }, []);
31  const handleSavePreferences = () => {
32    localStorage.setItem("cookie-preferences", JSON.stringify({
33      strictlyNecessary: true,
34      performance,
35      marketing
36    }));
37    alert("Your cookie preferences have been saved!");
38  };
39  const handleAcceptAll = () => {
40    setPerformance(true);
41    setMarketing(true);
42    localStorage.setItem("cookie-preferences", JSON.stringify({
43      strictlyNecessary: true,
44      performance: true,
45      marketing: true
46    }));
47    alert("All cookies accepted!");
48  };
49  const handleRejectNonEssential = () => {
50    setPerformance(false);
51    setMarketing(false);
52    localStorage.setItem("cookie-preferences", JSON.stringify({
53      strictlyNecessary: true,
54      performance: false,
55      marketing: false
56    }));
57    alert("Non-essential cookies rejected!");
58  };
59  return /* @__PURE__ */ jsxDEV("div", { style: { backgroundColor: "#f5f5f5", minHeight: "100vh" }, children: /* @__PURE__ */ jsxDEV("div", { className: "max-w-4xl mx-auto px-6 py-20", children: [
60    /* @__PURE__ */ jsxDEV(
61      "h1",
62      {
63        className: "text-3xl md:text-4xl mb-8",
64        style: {
65          fontFamily: "Helvetica, Arial, sans-serif",
66          fontWeight: 400,
67          color: "#1A1A1A",
68          letterSpacing: "0.02em"
69        },
70        children: "Cookie Preferences"
71      },
72      void 0,
73      false,
74      {
75        fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
76        lineNumber: 50,
77        columnNumber: 9
78      },
79      this
80    ),
81    /* @__PURE__ */ jsxDEV(
82      "p",
83      {
84        className: "text-base leading-relaxed mb-12",
85        style: {
86          fontFamily: "Helvetica, Arial, sans-serif",
87          fontWeight: 300,
88          color: "#1A1A1A",
89          lineHeight: 1.6
90        },
91        children: "We use cookies to make your experience seamless, personalize content, and analyze performance. Manage your preferences or accept all cookies to continue."
92      },
93      void 0,
94      false,
95      {
96        fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
97        lineNumber: 62,
98        columnNumber: 9
99      },
100      this
101    ),
102    /* @__PURE__ */ jsxDEV("div", { className: "space-y-8 mb-12", children: [
103      /* @__PURE__ */ jsxDEV("div", { className: "border border-black bg-white p-6", children: [
104        /* @__PURE__ */ jsxDEV("div", { className: "flex justify-between items-center mb-3", children: [
105          /* @__PURE__ */ jsxDEV(
106            "h2",
107            {
108              className: "text-xl",
109              style: {
110                fontFamily: "Helvetica, Arial, sans-serif",
111                fontWeight: 400,
112                color: "#1A1A1A"
113              },
114              children: "Strictly Necessary"
115            },
116            void 0,
117            false,
118            {
119              fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
120              lineNumber: 77,
121              columnNumber: 15
122            },
123            this
124          ),
125          /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-3", children: [
126            /* @__PURE__ */ jsxDEV(
127              "span",
128              {
129                className: "text-sm",
130                style: {
131                  fontFamily: "Helvetica, Arial, sans-serif",
132                  fontWeight: 300,
133                  color: "#666"
134                },
135                children: "Always Active"
136              },
137              void 0,
138              false,
139              {
140                fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
141                lineNumber: 88,
142                columnNumber: 17
143              },
144              this
145            ),
146            /* @__PURE__ */ jsxDEV(Switch, { checked: strictlyNecessary, disabled: true, "data-testid": "switch-strictly-necessary" }, void 0, false, {
147              fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
148              lineNumber: 98,
149              columnNumber: 17
150            }, this)
151          ] }, void 0, true, {
152            fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
153            lineNumber: 87,
154            columnNumber: 15
155          }, this)
156        ] }, void 0, true, {
157          fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
158          lineNumber: 76,
159          columnNumber: 13
160        }, this),
161        /* @__PURE__ */ jsxDEV(
162          "p",
163          {
164            className: "text-base",
165            style: {
166              fontFamily: "Helvetica, Arial, sans-serif",
167              fontWeight: 300,
168              color: "#1A1A1A",
169              lineHeight: 1.6
170            },
171            children: "These cookies are essential for the website to function properly. They enable core functionality such as security, network management, and accessibility."
172          },
173          void 0,
174          false,
175          {
176            fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
177            lineNumber: 101,
178            columnNumber: 13
179          },
180          this
181        )
182      ] }, void 0, true, {
183        fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
184        lineNumber: 75,
185        columnNumber: 11
186      }, this),
187      /* @__PURE__ */ jsxDEV("div", { className: "border border-black bg-white p-6", children: [
188        /* @__PURE__ */ jsxDEV("div", { className: "flex justify-between items-center mb-3", children: [
189          /* @__PURE__ */ jsxDEV(
190            "h2",
191            {
192              className: "text-xl",
193              style: {
194                fontFamily: "Helvetica, Arial, sans-serif",
195                fontWeight: 400,
196                color: "#1A1A1A"
197              },
198              children: "Performance & Analytics"
199            },
200            void 0,
201            false,
202            {
203              fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
204              lineNumber: 116,
205              columnNumber: 15
206            },
207            this
208          ),
209          /* @__PURE__ */ jsxDEV(
210            Switch,
211            {
212              checked: performance,
213              onCheckedChange: setPerformance,
214              "data-testid": "switch-performance"
215            },
216            void 0,
217            false,
218            {
219              fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
220              lineNumber: 126,
221              columnNumber: 15
222            },
223            this
224          )
225        ] }, void 0, true, {
226          fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
227          lineNumber: 115,
228          columnNumber: 13
229        }, this),
230        /* @__PURE__ */ jsxDEV(
231          "p",
232          {
233            className: "text-base",
234            style: {
235              fontFamily: "Helvetica, Arial, sans-serif",
236              fontWeight: 300,
237              color: "#1A1A1A",
238              lineHeight: 1.6
239            },
240            children: "These cookies help us understand how visitors interact with our website by collecting and reporting information anonymously. This helps us improve our site performance and user experience."
241          },
242          void 0,
243          false,
244          {
245            fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
246            lineNumber: 132,
247            columnNumber: 13
248          },
249          this
250        )
251      ] }, void 0, true, {
252        fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
253        lineNumber: 114,
254        columnNumber: 11
255      }, this),
256      /* @__PURE__ */ jsxDEV("div", { className: "border border-black bg-white p-6", children: [
257        /* @__PURE__ */ jsxDEV("div", { className: "flex justify-between items-center mb-3", children: [
258          /* @__PURE__ */ jsxDEV(
259            "h2",
260            {
261              className: "text-xl",
262              style: {
263                fontFamily: "Helvetica, Arial, sans-serif",
264                fontWeight: 400,
265                color: "#1A1A1A"
266              },
267              children: "Marketing & Personalization"
268            },
269            void 0,
270            false,
271            {
272              fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
273              lineNumber: 147,
274              columnNumber: 15
275            },
276            this
277          ),
278          /* @__PURE__ */ jsxDEV(
279            Switch,
280            {
281              checked: marketing,
282              onCheckedChange: setMarketing,
283              "data-testid": "switch-marketing"
284            },
285            void 0,
286            false,
287            {
288              fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
289              lineNumber: 157,
290              columnNumber: 15
291            },
292            this
293          )
294        ] }, void 0, true, {
295          fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
296          lineNumber: 146,
297          columnNumber: 13
298        }, this),
299        /* @__PURE__ */ jsxDEV(
300          "p",
301          {
302            className: "text-base",
303            style: {
304              fontFamily: "Helvetica, Arial, sans-serif",
305              fontWeight: 300,
306              color: "#1A1A1A",
307              lineHeight: 1.6
308            },
309            children: "These cookies are used to track visitors across websites to display relevant advertisements and personalized content. They help measure the effectiveness of advertising campaigns."
310          },
311          void 0,
312          false,
313          {
314            fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
315            lineNumber: 163,
316            columnNumber: 13
317          },
318          this
319        )
320      ] }, void 0, true, {
321        fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
322        lineNumber: 145,
323        columnNumber: 11
324      }, this)
325    ] }, void 0, true, {
326      fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
327      lineNumber: 74,
328      columnNumber: 9
329    }, this),
330    /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col sm:flex-row gap-4 mb-6", children: [
331      /* @__PURE__ */ jsxDEV(
332        "button",
333        {
334          onClick: handleAcceptAll,
335          className: "px-8 py-3 border border-black transition-colors text-sm uppercase tracking-wider",
336          style: {
337            fontFamily: "Helvetica, Arial, sans-serif",
338            fontWeight: 400,
339            color: "#fff",
340            backgroundColor: "#1A1A1A",
341            letterSpacing: "3px"
342          },
343          onMouseEnter: (e) => {
344            const target = e.target;
345            target.style.backgroundColor = "#333";
346          },
347          onMouseLeave: (e) => {
348            const target = e.target;
349            target.style.backgroundColor = "#1A1A1A";
350          },
351          "data-testid": "button-accept-all",
352          children: "Accept All"
353        },
354        void 0,
355        false,
356        {
357          fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
358          lineNumber: 178,
359          columnNumber: 11
360        },
361        this
362      ),
363      /* @__PURE__ */ jsxDEV(
364        "button",
365        {
366          onClick: handleSavePreferences,
367          className: "px-8 py-3 border border-black transition-colors text-sm uppercase tracking-wider",
368          style: {
369            fontFamily: "Helvetica, Arial, sans-serif",
370            fontWeight: 400,
371            color: "#1A1A1A",
372            backgroundColor: "transparent",
373            letterSpacing: "3px"
374          },
375          onMouseEnter: (e) => {
376            const target = e.target;
377            target.style.backgroundColor = "#f0f0f0";
378          },
379          onMouseLeave: (e) => {
380            const target = e.target;
381            target.style.backgroundColor = "transparent";
382          },
383          "data-testid": "button-save-preferences",
384          children: "Save Preferences"
385        },
386        void 0,
387        false,
388        {
389          fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
390          lineNumber: 201,
391          columnNumber: 11
392        },
393        this
394      ),
395      /* @__PURE__ */ jsxDEV(
396        "button",
397        {
398          onClick: handleRejectNonEssential,
399          className: "px-8 py-3 border border-black transition-colors text-sm uppercase tracking-wider",
400          style: {
401            fontFamily: "Helvetica, Arial, sans-serif",
402            fontWeight: 400,
403            color: "#1A1A1A",
404            backgroundColor: "transparent",
405            letterSpacing: "3px"
406          },
407          onMouseEnter: (e) => {
408            const target = e.target;
409            target.style.backgroundColor = "#f0f0f0";
410          },
411          onMouseLeave: (e) => {
412            const target = e.target;
413            target.style.backgroundColor = "transparent";
414          },
415          "data-testid": "button-reject-non-essential",
416          children: "Reject Non-Essential"
417        },
418        void 0,
419        false,
420        {
421          fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
422          lineNumber: 224,
423          columnNumber: 11
424        },
425        this
426      )
427    ] }, void 0, true, {
428      fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
429      lineNumber: 177,
430      columnNumber: 9
431    }, this),
432    /* @__PURE__ */ jsxDEV(
433      "p",
434      {
435        className: "text-sm",
436        style: {
437          fontFamily: "Helvetica, Arial, sans-serif",
438          fontWeight: 300,
439          color: "#666",
440          lineHeight: 1.6
441        },
442        children: "You can change your preferences anytime by visiting this page."
443      },
444      void 0,
445      false,
446      {
447        fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
448        lineNumber: 248,
449        columnNumber: 9
450      },
451      this
452    )
453  ] }, void 0, true, {
454    fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
455    lineNumber: 49,
456    columnNumber: 7
457  }, this) }, void 0, false, {
458    fileName: "/home/runner/workspace/client/src/pages/CookiesPage.tsx",
459    lineNumber: 48,
460    columnNumber: 5
461  }, this);
462};
463_s(CookiesPage, "6CeR1auK1x3639uPlahFsL1lheA=");
464_c = CookiesPage;
465export default CookiesPage;
466var _c;
467$RefreshReg$(_c, "CookiesPage");
468if (import.meta.hot && !inWebWorker) {
469  window.$RefreshReg$ = prevRefreshReg;
470  window.$RefreshSig$ = prevRefreshSig;
471}
472if (import.meta.hot && !inWebWorker) {
473  RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
474    RefreshRuntime.registerExportsForReactRefresh("/home/runner/workspace/client/src/pages/CookiesPage.tsx", currentExports);
475    import.meta.hot.accept((nextExports) => {
476      if (!nextExports) return;
477      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/home/runner/workspace/client/src/pages/CookiesPage.tsx", currentExports, nextExports);
478      if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
479    });
480  });
481}
482
483//# sourceMappingURL=data:application/json;base64,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
483QUFBO0FBQUE7QUFBQTtBQUFBLFNBb05BO0FBRUo7QUFBRXZCLEdBbFFJRCxhQUFXO0FBQUE0QixLQUFYNUI7QUFvUU4sZUFBZUE7QUFBWSxJQUFBNEI7QUFBQUMsYUFBQUQsSUFBQSIsIm5hbWVzIjpbInVzZUVmZmVjdCIsIlN3aXRjaCIsIkNvb2tpZXNQYWdlIiwiX3MiLCJzdHJpY3RseU5lY2Vzc2FyeSIsInVzZVN0YXRlIiwicGVyZm9ybWFuY2UiLCJzZXRQZXJmb3JtYW5jZSIsIm1hcmtldGluZyIsInNldE1hcmtldGluZyIsImRvY3VtZW50IiwidGl0bGUiLCJoYW5kbGVTYXZlUHJlZmVyZW5jZXMiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwiSlNPTiIsInN0cmluZ2lmeSIsImFsZXJ0IiwiaGFuZGxlQWNjZXB0QWxsIiwiaGFuZGxlUmVqZWN0Tm9uRXNzZW50aWFsIiwiYmFja2dyb3VuZENvbG9yIiwibWluSGVpZ2h0IiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJjb2xvciIsImxldHRlclNwYWNpbmciLCJsaW5lSGVpZ2h0IiwiZSIsInRhcmdldCIsInN0eWxlIiwiX2MiLCIkUmVmcmVzaFJlZyQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsiQ29va2llc1BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvc3dpdGNoJztcblxuY29uc3QgQ29va2llc1BhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IFtzdHJpY3RseU5lY2Vzc2FyeV0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW3BlcmZvcm1hbmNlLCBzZXRQZXJmb3JtYW5jZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFttYXJrZXRpbmcsIHNldE1hcmtldGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC50aXRsZSA9IFwiQ29va2llIFByZWZlcmVuY2VzIHwgS1lOIFNraW5jYXJlXCI7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gXCJLWU4gLSBTdXN0YWluYWJsZSBTa2luY2FyZSBmb3IgTWVsYW5pbi1SaWNoIFNraW5cIjtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlU2F2ZVByZWZlcmVuY2VzID0gKCkgPT4ge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb29raWUtcHJlZmVyZW5jZXMnLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBzdHJpY3RseU5lY2Vzc2FyeTogdHJ1ZSxcbiAgICAgIHBlcmZvcm1hbmNlLFxuICAgICAgbWFya2V0aW5nXG4gICAgfSkpO1xuICAgIGFsZXJ0KCdZb3VyIGNvb2tpZSBwcmVmZXJlbmNlcyBoYXZlIGJlZW4gc2F2ZWQhJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQWNjZXB0QWxsID0gKCkgPT4ge1xuICAgIHNldFBlcmZvcm1hbmNlKHRydWUpO1xuICAgIHNldE1hcmtldGluZyh0cnVlKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY29va2llLXByZWZlcmVuY2VzJywgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgc3RyaWN0bHlOZWNlc3Nhcnk6IHRydWUsXG4gICAgICBwZXJmb3JtYW5jZTogdHJ1ZSxcbiAgICAgIG1hcmtldGluZzogdHJ1ZVxuICAgIH0pKTtcbiAgICBhbGVydCgnQWxsIGNvb2tpZXMgYWNjZXB0ZWQhJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVqZWN0Tm9uRXNzZW50aWFsID0gKCkgPT4ge1xuICAgIHNldFBlcmZvcm1hbmNlKGZhbHNlKTtcbiAgICBzZXRNYXJrZXRpbmcoZmFsc2UpO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb29raWUtcHJlZmVyZW5jZXMnLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBzdHJpY3RseU5lY2Vzc2FyeTogdHJ1ZSxcbiAgICAgIHBlcmZvcm1hbmNlOiBmYWxzZSxcbiAgICAgIG1hcmtldGluZzogZmFsc2VcbiAgICB9KSk7XG4gICAgYWxlcnQoJ05vbi1lc3NlbnRpYWwgY29va2llcyByZWplY3RlZCEnKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiAnI2Y1ZjVmNScsIG1pbkhlaWdodDogJzEwMHZoJyB9fT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNHhsIG14LWF1dG8gcHgtNiBweS0yMFwiPlxuICAgICAgICA8aDEgXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC0zeGwgbWQ6dGV4dC00eGwgbWItOFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJyxcbiAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICcwLjAyZW0nXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIENvb2tpZSBQcmVmZXJlbmNlc1xuICAgICAgICA8L2gxPlxuICAgICAgICBcbiAgICAgICAgPHAgXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1iYXNlIGxlYWRpbmctcmVsYXhlZCBtYi0xMlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgZm9udFdlaWdodDogMzAwLFxuICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJyxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBXZSB1c2UgY29va2llcyB0byBtYWtlIHlvdXIgZXhwZXJpZW5jZSBzZWFtbGVzcywgcGVyc29uYWxpemUgY29udGVudCwgYW5kIGFuYWx5emUgcGVyZm9ybWFuY2UuIE1hbmFnZSB5b3VyIHByZWZlcmVuY2VzIG9yIGFjY2VwdCBhbGwgY29va2llcyB0byBjb250aW51ZS5cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS04IG1iLTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXIgYm9yZGVyLWJsYWNrIGJnLXdoaXRlIHAtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItM1wiPlxuICAgICAgICAgICAgICA8aDIgXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14bFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJ1xuICAgICAgICAgICAgICAgI
483H19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBTdHJpY3RseSBOZWNlc3NhcnlcbiAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1zbVwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogMzAwLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM2NjYnXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIEFsd2F5cyBBY3RpdmVcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPFN3aXRjaCBjaGVja2VkPXtzdHJpY3RseU5lY2Vzc2FyeX0gZGlzYWJsZWQgZGF0YS10ZXN0aWQ9XCJzd2l0Y2gtc3RyaWN0bHktbmVjZXNzYXJ5XCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhc2VcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDMwMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUaGVzZSBjb29raWVzIGFyZSBlc3NlbnRpYWwgZm9yIHRoZSB3ZWJzaXRlIHRvIGZ1bmN0aW9uIHByb3Blcmx5LiBUaGV5IGVuYWJsZSBjb3JlIGZ1bmN0aW9uYWxpdHkgc3VjaCBhcyBzZWN1cml0eSwgbmV0d29yayBtYW5hZ2VtZW50LCBhbmQgYWNjZXNzaWJpbGl0eS5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyIGJvcmRlci1ibGFjayBiZy13aGl0ZSBwLTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLTNcIj5cbiAgICAgICAgICAgICAgPGgyIFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteGxcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzFBMUExQSdcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgUGVyZm9ybWFuY2UgJiBBbmFseXRpY3NcbiAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgPFN3aXRjaCBcbiAgICAgICAgICAgICAgICBjaGVja2VkPXtwZXJmb3JtYW5jZX0gXG4gICAgICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlPXtzZXRQZXJmb3JtYW5jZX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInN3aXRjaC1wZXJmb3JtYW5jZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhc2VcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDMwMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUaGVzZSBjb29raWVzIGhlbHAgdXMgdW5kZXJzdGFuZCBob3cgdmlzaXRvcnMgaW50ZXJhY3Qgd2l0aCBvdXIgd2Vic2l0ZSBieSBjb2xsZWN0aW5nIGFuZCByZXBvcnRpbmcgaW5mb3JtYXRpb24gYW5vbnltb3VzbHkuIFRoaXMgaGVscHMgdXMgaW1wcm92ZSBvdXIgc2l0ZSBwZXJmb3JtYW5jZSBhbmQgdXNlciBleHBlcmllbmNlLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXIgYm9yZGVyLWJsYWNrIGJnLXdoaXRlIHAtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItM1wiPlxuICAgICAgICAgICAgICA8aDIgXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14bFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMUExQTFBJ1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBNYXJrZXRpbmcgJiBQZXJzb25hbGl6YXRpb25cbiAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgPFN3aXRjaCBcbiAgICAgICAgICAgICAgICBjaGVja2VkPXttYXJrZXRpbmd9IFxuICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17c2V0TWFya2V0aW5nfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic3dpdGNoLW1hcmtldGluZ1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhc2VcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDMwMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNlxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUaGVzZSBjb29raWVzIGFyZSB1c2VkIHRvIHRyYWNrIHZpc2l0b3JzIGFjcm9zcyB3ZWJzaXRlcyB0byBkaXNwbGF5IHJlbGV2YW50IGFkdmVydGlzZW1lbnRzIGFuZCBwZXJzb25hbGl6ZWQgY29udGVudC4gVGhleSBoZWxwIG1lYXN1cmUgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgYWR2ZXJ0aXNpbmcgY2FtcGFpZ25zLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgZ2FwLTQgbWItNlwiPlxuICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVBY2NlcHRBbGx9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJweC04IHB5LTMgYm9yZGVyIGJvcmRlci1ibGFjayB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIHVwcGVyY2FzZSB0cmFja2luZy13aWRlclwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5k
483Q29sb3I6ICcjMUExQTFBJyxcbiAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJzNweCdcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyMzMzMnO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgIHRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnIzFBMUExQSc7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJidXR0b24tYWNjZXB0LWFsbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQWNjZXB0IEFsbFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIFxuICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTYXZlUHJlZmVyZW5jZXN9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJweC04IHB5LTMgYm9yZGVyIGJvcmRlci1ibGFjayB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIHVwcGVyY2FzZSB0cmFja2luZy13aWRlclwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICAgICAgICBjb2xvcjogJyMxQTFBMUEnLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICczcHgnXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgdGFyZ2V0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICcjZjBmMGYwJztcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlTGVhdmU9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJ1dHRvbi1zYXZlLXByZWZlcmVuY2VzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBTYXZlIFByZWZlcmVuY2VzXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgXG4gICAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVJlamVjdE5vbkVzc2VudGlhbH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInB4LTggcHktMyBib3JkZXIgYm9yZGVyLWJsYWNrIHRyYW5zaXRpb24tY29sb3JzIHRleHQtc20gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA0MDAsXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzFBMUExQScsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJzNweCdcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyNmMGYwZjAnO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgIHRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAndHJhbnNwYXJlbnQnO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYnV0dG9uLXJlamVjdC1ub24tZXNzZW50aWFsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBSZWplY3QgTm9uLUVzc2VudGlhbFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8cCBcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZm9udEZhbWlseTogXCJIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmXCIsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAzMDAsXG4gICAgICAgICAgICBjb2xvcjogJyM2NjYnLFxuICAgICAgICAgICAgbGluZUhlaWdodDogMS42XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIFlvdSBjYW4gY2hhbmdlIHlvdXIgcHJlZmVyZW5jZXMgYW55dGltZSBieSB2aXNpdGluZyB0aGlzIHBhZ2UuXG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29va2llc1BhZ2U7XG4iXSwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3Jrc3BhY2UvY2xpZW50L3NyYy9wYWdlcy9Db29raWVzUGFnZS50c3gifQ==

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.