PageSourceSearch

https://lraa.base44.app/workshop

html lraa.base44.app collected 2026-10-03 03:15:17 UTC 10,378 bytes, 206 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  <meta charset="utf-8"/>
5  <link href="https://media.base44.com/images/public/69cd3459f39a1fa2884ef56a/a014afad4_ChatGPTImageApr6202602_17_24PM.png" rel="icon" type="image/svg+xml"/>
6  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
7  <link href="/manifest.json" rel="manifest"/>
8  <title>
9   Workshop | LRAA Explorer
10  </title>
11  <meta content="Workshop on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,." name="description"/>
12  <meta content="Land Rover Ontario, Land Rover parts Canada, Defender for sale Ontario, Range Rover parts GTA, Land Rover club Toronto, off-road Ontario, LRAA" name="keywords"/>
13  <meta content="Workshop | LRAA Explorer" property="og:title"/>
14  <meta content="Workshop on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,." property="og:description"/>
15  <meta content="website" property="og:type"/>
16  
16<script crossorigin="" src="/assets/index-CMcPwkIo.js" type="module">
17  </script>
17
18  <link crossorigin="" href="/assets/index-DPoFrT42.css" rel="stylesheet"/>
19  
19<script type="module">
20   if (window.self === window.top) {
21  let lastPath = "";
22  function getPageNameFromPath(path) {
23    const segments = path.split("/").filter(Boolean);
24    return segments[0] || null;
25  }
26  function trackPageView() {
27    const path = window.location.pathname;
28    if (path === lastPath) return;
29    lastPath = path;
30    const pageName = getPageNameFromPath(path) || "home";
31    const appId = "69cd3459f39a1fa2884ef56a";
32    if (!appId) return;
33    fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, {
34      method: "POST",
35    }).catch(() => {});
36  }
37  const originalPushState = history.pushState.bind(history);
38  history.pushState = function (...args) {
39    originalPushState(...args);
40    trackPageView();
41  };
42  const originalReplaceState = history.replaceState.bind(history);
43  history.replaceState = function (...args) {
44    originalReplaceState(...args);
45    trackPageView();
46  };
47  window.addEventListener("popstate", trackPageView);
48  trackPageView();
49}
50  </script>
50
51  <meta content="https://media.base44.com/images/public/69cd3459f39a1fa2884ef56a/a014afad4_ChatGPTImageApr6202602_17_24PM.png/v1/fill/w_1200,h_630/a014afad4_ChatGPTImageApr6202602_17_24PM.png" property="og:image"/>
52  <meta content="https://lraa.base44.app/workshop" property="og:url"/>
53  <meta content="Land Rover Adventure Association of Ontario" property="og:site_name"/>
54  <meta content="Workshop | LRAA Explorer" name="twitter:title"/>
55  <meta content="Workshop on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,." name="twitter:description"/>
56  <meta content="https://media.base44.com/images/public/69cd3459f39a1fa2884ef56a/a014afad4_ChatGPTImageApr6202602_17_24PM.png/v1/fill/w_1200,h_630/a014afad4_ChatGPTImageApr6202602_17_24PM.png" name="twitter:image"/>
57  <meta content="summary_large_image" name="twitter:card"/>
58  <meta content="https://lraa.base44.app/workshop" name="twitter:url"/>
59  
59<script>
60   (function () {
61  var titles = {"/": "Land Rover Adventure Association of Ontario", "/admin": "Admin | LRAA Explorer", "/resources": "Resources | LRAA Explorer", "/gallery": "Gallery | LRAA Explorer", "/workshop": "Workshop | LRAA Explorer", "/forum": "Forum | Land Rover Adventure Association of Ontario", "/marketplace": "Marketplace | Land Rover Adventure Association of Ontario", "/members": "Members | Land Rover Adventure Association of Ontario", "/profile": "Profile | Land Rover Adventure Association of Ontario", "/home": "Land Rover Adventure Association of Ontario"};
62  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
63  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
64  var dashed = function (s) {
65    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
66  };
67  var decode = function (s) {
68    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
69    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
70    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
71  };
72  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
73  var norm = function (path) {
74    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
75    return parts.length ? "/" + parts.join("/") : "/";
76  };
77  var lastPath = location.pathname, written = document.title, on = true;
78  var sync = function () {
79    // Path only: a hash/query change is the same page, and the SDK strips its own auth
80    // params with replaceState -- neither must clobber a server-rendered title in place.
81    if (!on || location.pathname === lastPath) return;
82    lastPath = location.pathname;
83    if (document.title !== written) { on = false; return; }
84    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
85    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
86    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
87    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
88    // a redirect landing on an unmapped path would bake the placeholder into the stored
89    // snapshot. Leaving the title alone degrades to today's behavior instead.
90    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
91    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
92    // dashes there, and the client cannot tell the two apart. The map emits every reachable
93    // shape per segment instead (_client_url_variants).
94    var title = titles[norm(location.pathname)];
95    if (title === undefined) return;
96    document.title = title;
97    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
98    // keeping the assigned string would make the next sync() read our own write as the app's.
99    written = document.title;
100  };
101  var wrap = function (fn) {
102    // The history entry is already pushed by the time sync() runs, so a throw here would
103    // surface inside the host app's router and break navigation. This is injected into apps
104    // we cannot test, so it swallows rather than trusting the trace.
105    return function () {
106      var r = fn.apply(this, arguments);
107      try { sync(); } catch (e) {}
108      return r;
109    };
110  };
111  history.pushState = wrap(history.pushState);
112  history.replaceState = wrap(history.replaceState);
113  window.addEventListener("popstate", sync);
114})();
115  </script>
115
116  <meta content="yes" name="mobile-web-app-capable"/>
117  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
118  <meta content="Land Rover Adventure Association of Ontario" name="apple-mobile-web-app-title"/>
119  <link href="https://lraa.base44.app/workshop" rel="canonical"/>
120  
120<script data-seo-source="builder" type="application/ld+json">
121   {"name": "LRAA Explorer", "@context": "https://schema.org", "@type": "WebSite", "url": "https://lraa.base44.app"}
122  </script>
122
123  
123<script data-seo-source="builder" type="application/ld+json">
124   {"name": "LRAA Explorer", "logo": "https://media.base44.com/images/public/69cd3459f39a1fa2884ef56a/a014afad4_ChatGPTImageApr6202602_17_24PM.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://lraa.base44.app"}
125  </script>
125
126  
126<script data-seo-source="builder" type="application/ld+json">
127   {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://lraa.base44.app/"}, {"@type": "ListItem", "position": 2, "name": "Workshop | LRAA Explorer", "item": "https://lraa.base44.app/workshop"}]}
128  </script>
128
129 </head>
130 <body>
131  <div id="root">
132   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
133    <main>
134     <header>
135      <h1>
136       Workshop | LRAA Explorer
137      </h1>
138      <p>
139       Workshop on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,.
140      </p>
141     </header>
142     <nav aria-label="Pages">
143      <h2>
144       Pages
145      </h2>
146      <ul>
147       <li>
148        <a href="/">
149         Home
150        </a>
151       </li>
152       <li>
153        <a href="/admin">
154         Admin
155        </a>
156        — Admin on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,.
157       </li>
158       <li>
159        <a href="/resources">
160         Resources
161        </a>
162        — Resources on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,.
163       </li>
164       <li>
165        <a href="/gallery">
166         Gallery
167        </a>
168        — Gallery on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,.
169       </li>
170       <li>
171        <a href="/workshop">
172         Workshop
173        </a>
174        — Workshop on LRAA Explorer. The official digital portal for the Land Rover Adventure Association of Ontario,.
175       </li>
176       <li>
177        <a href="/forum">
178         Forum
179        </a>
180        — Forum on Land Rover Adventure Association of Ontario. Land Rover Adventure Association of Ontario manages 5 data types including.
181       </li>
182       <li>
183        <a href="/marketplace">
184         Marketplace
185        </a>
186        — Marketplace on Land Rover Adventure Association of Ontario. Land Rover Adventure Association of Ontario manages 5 data types including.
187       </li>
188       <li>
189        <a href="/members">
190         Members
191        </a>
192        — Members on Land Rover Adventure Association of Ontario. Land Rover Adventure Association of Ontario manages 5 data types including.
193       </li>
194       <li>
195        <a href="/profile">
196         Profile
197        </a>
198        — Profile on Land Rover Adventure Association of Ontario. Land Rover Adventure Association of Ontario manages 5 data types including.
199       </li>
200      </ul>
201     </nav>
202    </main>
203   </div>
204  </div>
205 </body>
206</html>

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.