PageSourceSearch

https://ones.com/login

html ones.com collected 2026-10-02 06:43:16 UTC 46,234 bytes, 712 lines download raw bytes

1<!DOCTYPE html><html lang="en" dir="ltr" data-cookie-consent-key="ones_cookie_consent" data-cookie-consent-version="2025-11-12" data-css-ready="0"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" data-next-head=""/><link rel="shortcut icon" href="https://cdn.ones.com/favicon2020.ico" data-next-head=""/>
1<script id="home-announcement-dismissal-check" data-next-head="">try{if(window.sessionStorage.getItem("ones_home_announcement_dismissed:ai-real-project-work-ones-assistant-mcp-webinar")==="1"){document.documentElement.classList.add("ones-home-announcement-dismissed")}}catch(_){}</script>
1<style data-next-head="">.ones-home-announcement-dismissed [data-home-announcement-root]{display:none}</style><meta property="og:url" content="https://ones.com/login" data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:image" content="https://cdn.ones.com/images/feature/common.jpg?last_modified=1790747933984" data-next-head=""/><meta property="og:image:alt" content="feature" data-next-head=""/><meta property="og:image:width" content="1920" data-next-head=""/><meta property="og:image:height" content="1080" data-next-head=""/><meta property="og:locale" content="undefined" data-next-head=""/><meta property="og:site_name" content="ONES.com" data-next-head=""/><title data-next-head="">Login</title><meta name="robots" content="noindex,follow" data-next-head=""/><meta property="og:title" content="Login" data-next-head=""/><style id="fouc-guard-style">
2                    html[data-css-ready="0"] body {
3                      opacity: 0;
4                      visibility: hidden;
5                      background: #fff;
6                    }
7                    html[data-css-ready="1"] body {
8                      opacity: 1;
9                      visibility: visible;
10                    }
11                  </style>
11<script>
12                    (function () {
13                      if (typeof window === "undefined" || typeof document === "undefined") return;
14                      var root = document.documentElement;
15                      if (!root) return;
16                      var startedAt = Date.now();
17                      var buildId = (window.__NEXT_DATA__ && window.__NEXT_DATA__.buildId) || "";
18                      var assetEvents = window.__ONES_ASSET_EVENTS__ = window.__ONES_ASSET_EVENTS__ || [];
19
20                      var getAssetMeta = function (rawUrl) {
21                        var url = "";
22                        var host = "";
23                        var path = "";
24                        try {
25                          var parsed = new URL(rawUrl, window.location.href);
26                          url = parsed.origin + parsed.pathname;
27                          host = parsed.host;
28                          path = parsed.pathname;
29                        } catch (error) {
30                          url = rawUrl || "";
31                        }
32                        return { url: url, host: host, path: path };
33                      };
34
35                      var emitAssetEvent = function (eventType, details) {
36                        try {
37                          var payload = Object.assign({
38                            event_type: eventType,
39                            build_id: buildId,
40                            path: window.location.pathname,
41                            css_ready: root.getAttribute("data-css-ready") || "0",
42                            css_ready_reason: root.getAttribute("data-css-ready-reason") || "",
43                            elapsed_ms: Date.now() - startedAt
44                          }, details || {});
45                          assetEvents.push(payload);
46                          if (window.dataLayer && typeof window.dataLayer.push === "function") {
47                            window.dataLayer.push(Object.assign({ event: "ones_static_asset_event" }, payload));
48                          }
49                          if (window.posthog && typeof window.posthog.capture === "function") {
50                            window.posthog.capture("static_asset_event", payload);
51                          }
52                        } catch (error) {}
53                      };
54
55                      var revealed = false;
56                      var reveal = function (reason) {
57                        if (revealed) return;
58                        revealed = true;
59                        root.setAttribute("data-css-ready", "1");
60                        root.setAttribute("data-css-ready-reason", reason || "unknown");
61                        emitAssetEvent("css_ready_reveal", {
62                          reason: reason || "unknown"
63                        });
64                      };
65
66                      var checkReady = function () {
67                        if (revealed) return;
68                        var links = Array.prototype.slice.call(
69                          document.querySelectorAll('link[rel="stylesheet"][href]')
70                        );
71
72                        var targetLinks = links.filter(function (link) {
73                          var href = link.getAttribute("href") || "";
74                          return href.indexOf("/_next/static/css/") >= 0 || href.indexOf("__next_css__") >= 0;
75                        });
76
77                        if (targetLinks.length === 0) {
78                          return;
79                        }
80
81                        var pending = 0;
82                        targetLinks.forEach(function (link) {
83                          var loaded = !!link.sheet;
84                          if (loaded) return;
85
86                          pending += 1;
87                          if (link.getAttribute("data-css-watch") === "1") return;
88                          link.setAttribute("data-css-watch", "1");
89                          var watchStartedAt = Date.now();
90                          var onDone = function (event) {
91                            link.removeEventListener("load", onDone);
92                            link.removeEventListener("error", onDone);
93                            var asset = getAssetMeta(link.href || link.getAttribute("href") || "");
94                            emitAssetEvent("stylesheet_" + event.type, {
95                              asset_url: asset.url,
96                              asset_host: asset.host,
97                              asset_path: asset.path,
98                              duration_ms: Date.now() - watchStartedAt
99                            });
100                            checkReady();
101                          };
102                          link.addEventListener("load", onDone);
103                          link.addEventListener("error", onDone);
104                        });
105
106                        if (pending === 0) {
107                          reveal("stylesheets_loaded");
108                        }
109                      };
110
111                      var checkTimer = window.setInterval(checkReady, 50);
112                      var stopChecking = function () {
113                        window.clearInterval(checkTimer);
114                      };
115
116                      var hardTimeout = window.setTimeout(function () {
117                        reveal("timeout");
118                        stopChecking();
119                      }, 5000);
120
121                      window.addEventListener("load", function () {
122                        reveal("window_load");
123                        window.clearTimeout(hardTimeout);
124                        stopChecking();
125                      }, { once: true });
126
127                      document.addEventListener("error", function (event) {
128                        var target = event.target;
129                        if (!target || !target.tagName) return;
130                        var tagName = String(target.tagName).toLowerCase();
131                        var rawUrl = tagName === "script"
132                          ? target.src
133                          : tagName === "link"
134                            ? target.href
135                            : "";
136                        if (!rawUrl || rawUrl.indexOf("/_next/static/") < 0) return;
137                        var asset = getAssetMeta(rawUrl);
138                        emitAssetEvent(tagName + "_error", {
139                          asset_url: asset.url,
140                          asset_host: asset.host,
141                          asset_path: asset.path
142                        });
143                      }, true);
144
145                      var reportChunkError = function (reason, value) {
146                        var message = "";
147                        try {
148                          message = value && (value.message || value.reason && value.reason.message || String(value));
149                        } catch (error) {
150                          message = "";
151                        }
152                        if (!message || (message.indexOf("ChunkLoadError") < 0 && message.indexOf("Loading chunk") < 0)) {
153                          return;
154                        }
155                        emitAssetEvent("chunk_load_error", {
156                          reason: reason,
157                          message: message.slice(0, 240)
158                        });
159                      };
160
161                      window.addEventListener("error", function (event) {
162                        reportChunkError("window_error", event && (event.error || event.message));
163                      });
164                      window.addEventListener("unhandledrejection", function (event) {
165                        reportChunkError("unhandledrejection", event && event.reason);
166                      });
167
168                      checkReady();
169                    })();
170                  </script>
170<noscript><style>
171                      html[data-css-ready="0"] body {
172                        opacity: 1 !important;
173                        visibility: visible !important;
174                      }
175                    </style></noscript>
175<script>
176                (function () {
177                  if (typeof document === "undefined") return;
178                  var root = document.documentElement;
179                  if (!root) return;
180                  var storageKey = root.getAttribute("data-cookie-consent-key") || "ones_cookie_consent";
181                  var version = root.getAttribute("data-cookie-consent-version") || "2025-11-12";
182                  var maxAgeSeconds = 60 * 60 * 24 * 365;
183
184                  var readCookie = function (key) {
185                    try {
186                      var raw = document.cookie
187                        .split(";")
188                        .map(function (entry) { return entry.trim(); })
189                        .find(function (entry) { return entry.indexOf(key + "=") === 0; });
190                      if (!raw) return null;
191                      return decodeURIComponent(raw.split("=").slice(1).join("="));
192                    } catch (error) {
193                      return null;
194                    }
195                  };
196
197                  var readStoredConsent = function () {
198                    var value = null;
199                    try {
200                      value = window.localStorage && window.localStorage.getItem(storageKey);
201                    } catch (error) {
202                      value = null;
203                    }
204                    if (!value) {
205                      value = readCookie(storageKey);
206                    }
207                    if (!value) return null;
208                    try {
209                      var parsed = JSON.parse(value);
210                      if (!parsed || parsed.version !== version) return null;
211                      return parsed;
212                    } catch (error) {
213                      return null;
214                    }
215                  };
216
217                  var setConsentStatus = function () {
218                    root.setAttribute("data-cookie-consent-status", "set");
219                  };
220
221                  if (readStoredConsent()) {
222                    setConsentStatus();
223                  }
224
225                  var persistConsent = function (selection) {
226                    var consent = {
227                      strictlyNecessary: true,
228                      functionality: !!selection.functionality,
229                      analytics: !!selection.analytics,
230                      updatedAt: new Date().toISOString(),
231                      version: version
232                    };
233                    var json = JSON.stringify(consent);
234                    try {
235                      if (window.localStorage) {
236                        window.localStorage.setItem(storageKey, json);
237                      }
238                    } catch (error) {
239                      // Ignore storage errors
240                    }
241                    try {
242                      document.cookie = storageKey + "=" + encodeURIComponent(json)
243                        + "; path=/; max-age=" + maxAgeSeconds + "; SameSite=Lax";
244                    } catch (error) {
245                      // Ignore cookie errors
246                    }
247                    setConsentStatus();
248                  };
249
250                  var handleClick = function (event) {
251                    var target = event.target;
252                    if (!target) return;
253                    var node = target.nodeType === 1 ? target : target.parentNode;
254                    while (node && node !== document) {
255                      if (node.getAttribute) {
256                        var action = node.getAttribute("data-cookie-consent-action");
257                        if (action === "accept") {
258                          persistConsent({ functionality: true, analytics: true });
259                          return;
260                        }
261                        if (action === "settings") {
262                          if (!window.__ONES_COOKIE_CONSENT_READY__) {
263                            window.__ONES_COOKIE_CONSENT_PENDING_SETTINGS__ = true;
264                          }
265                          return;
266                        }
267                      }
268                      node = node.parentNode;
269                    }
270                  };
271
272                  document.addEventListener("click", handleClick, true);
273                })();
274              </script>
274<link rel="preload" href="/assets/fonts/PlusJakartaSans-Regular.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/assets/fonts/PlusJakartaSans-Bold.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="icon" type="image/x-icon" href="/favicon2020.ico"/><link rel="shortcut icon" type="image/x-icon" href="/favicon2020.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon2020.ico"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon2020.ico"/><link rel="icon" type="image/png" sizes="48x48" href="/favicon2020.ico"/><link rel="apple-touch-icon" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="57x57" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="60x60" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="72x72" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="76x76" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="114x114" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="120x120" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="144x144" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="152x152" href="/favicon2020.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon2020.ico"/><meta name="msapplication-TileImage" content="/favicon2020.ico"/><meta name="msapplication-TileColor" content="#0064ff"/><meta name="msapplication-config" content="/browserconfig.xml"/><link rel="manifest" href="/site.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><meta name="apple-mobile-web-app-title" content="ONES.com"/><meta name="theme-color" content="#0064ff"/><meta http-equiv="X-Content-Type-Options" content="nosniff"/><meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin"/>
274<script id="ones-login-handoff" data-nscript="beforeInteractive">(function () {
275  var SESSION_KEY = "SESSION_KEY_ONES_COM_QUERY";
276  var PRE_SIGNUP_INTENT_KEY = "ones_pre_signup_user_intent";
277  var PRE_SIGNUP_INTENT_TTL_MS = 1800000;
278  var DEFAULT_LOCALE = "en";
279  var SUPPORTED_LOCALES = ["en","ja","de","es","fr","it","nl","ko","pl","pt","ru","ar","tr"];
280  var DEFAULT_SIGN_UP_EDITION = "trial";
281  var DEV_HOST = "dev-ones.site";
282  var BRANCH = "";
283  var REGIONAL_FAST_PATH_ENABLED = true;
284  var PROJECT_TOKEN_STORAGE_KEY = "_ones_json_ones_org_jwt";
285  var PROJECT_TOKEN_EXPIRY_BUFFER_MS = 300000;
286  var REGIONAL_FAST_PATH_DEADLINE_MS = 2000;
287  var VERSION_TYPE_TO_SIGN_UP_EDITION = {
288    Free: "free",
289    Standard: "trial",
290    Business: "trial",
291    Enterprise: "trial"
292  };
293
294  function getLocale() {
295    var segments = window.location.pathname.split("/").filter(Boolean);
296    var maybeLocale = segments[0];
297    if (SUPPORTED_LOCALES.indexOf(maybeLocale) !== -1) {
298      return maybeLocale;
299    }
300    return DEFAULT_LOCALE;
301  }
302
303  function normalizeVersionType(version) {
304    if (!version) return "";
305    return version.slice(0, 1).toUpperCase() + version.slice(1).toLowerCase();
306  }
307
308  function appendQuery(target, query) {
309    Object.keys(query).forEach(function (key) {
310      if (query[key] && key !== "official_site_intent") {
311        target.searchParams.set(key, query[key]);
312      }
313    });
314  }
315
316  function readJSONStorage(storage, key) {
317    try {
318      var raw = storage.getItem(key);
319      return raw ? JSON.parse(raw) : null;
320    } catch (_error) {
321      return null;
322    }
323  }
324
325  function readExistingQuery() {
326    var parsed = readJSONStorage(window.sessionStorage, SESSION_KEY);
327    if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
328      return parsed;
329    }
330    return {};
331  }
332
333  var resolveLastContentPage = (a,b,c,d)=>{let e,f;if(null!=a){if("object"!=typeof a||"string"!=typeof a.path||"number"!=typeof a.visited_at)return;e=a.path,f=a.visited_at}else try{let a=new URL(b);if("https:"!==a.protocol||a.username||a.password||a.port||!["ones.com","www.ones.com","blog.ones.com","docs.ones.com"].includes(a.hostname)||"/"===a.pathname)return;e=a.pathname,f=c}catch{return}if(!Number.isFinite(f)||f>c||c-f>=18e5||!e.startsWith("/")||e.startsWith("//")||e.includes("\\"))return;let g=(e=e.split("?")[0].split("#")[0]).split("/").filter(Boolean);if(d.includes(g[0])&&g.shift(),!["sign_up","login","identity","project","contact_us","request_demo","thank-you","api","auth","authentication","oauth","callback","register","signup"].includes((g[0]||"").toLowerCase()))return{path:"/"+g.join("/"),visited_at:f}};
334
335  function buildOfficialSiteIntent() {
336    var state = readJSONStorage(window.sessionStorage, PRE_SIGNUP_INTENT_KEY) || {};
337    if (typeof state !== "object") return null;
338    try {
339      var consentKey = "ones_cookie_consent";
340      var consentValue = null;
341      try { consentValue = window.localStorage.getItem(consentKey); } catch (_error) {}
342      if (consentValue === null) {
343        var consentCookie = document.cookie.split(";").map(function (entry) { return entry.trim(); }).find(function (entry) { return entry.indexOf(consentKey + "=") === 0; });
344        if (consentCookie) consentValue = decodeURIComponent(consentCookie.slice(consentKey.length + 1));
345      }
346      var consent = consentValue ? JSON.parse(consentValue) : null;
347      if (consent && consent.version === "2025-11-12") {
348        var analytics = consent.analytics;
349        var allowed = analytics === true || analytics === 1 || (typeof analytics === "string" && analytics.trim().toLowerCase() === "true");
350        if (!allowed) return null;
351      }
352    } catch (_error) {}
353    var now = new Date();
354    // This script runs once on a new document; its content referrer is newer than stored visits.
355    var lastContentPage = resolveLastContentPage(undefined, document.referrer, now.getTime(), SUPPORTED_LO
355CALES)
356      || resolveLastContentPage(state.last_content_page, "", now.getTime(), SUPPORTED_LOCALES);
357    var snapshot = state.last_snapshot || {};
358    var pages = Array.isArray(snapshot.pre_signup_semantic_pages)
359      ? snapshot.pre_signup_semantic_pages
360      : Array.isArray(state.pre_signup_semantic_pages)
361        ? state.pre_signup_semantic_pages
362        : [];
363    var bestEffortSources = Array.isArray(snapshot.best_effort_sources)
364      ? snapshot.best_effort_sources
365      : Array.isArray(state.best_effort_sources)
366        ? state.best_effort_sources
367        : [];
368    var sourceChannels = Array.isArray(snapshot.source_channels)
369      ? snapshot.source_channels
370      : [];
371    if (!sourceChannels.length && bestEffortSources.length) {
372      bestEffortSources.forEach(function (source) {
373        var sourceChannel = typeof source === "string" ? source : source && source.source_channel;
374        if (
375          sourceChannel &&
376          sourceChannels.indexOf(sourceChannel) === -1
377        ) {
378          sourceChannels.push(sourceChannel);
379        }
380      });
381    }
382    if (!pages.length && !sourceChannels.length && !bestEffortSources.length && !lastContentPage) return null;
383    var payload = {
384      schema_version: snapshot.schema_version || "2026-07",
385      primary_intent: snapshot.primary_intent || null,
386      secondary_intents: Array.isArray(snapshot.secondary_intents)
387        ? snapshot.secondary_intents
388        : [],
389      confidence: snapshot.confidence || "none",
390      intent_scores: snapshot.intent_scores || {},
391      semantic_page_count: snapshot.semantic_page_count || pages.length,
392      top_page_path: snapshot.top_page_path,
393      top_page_title: snapshot.top_page_title,
394      top_page_description: snapshot.top_page_description,
395      top_page_type: snapshot.top_page_type,
396      top_page_score: snapshot.top_page_score,
397      top_page_position: snapshot.top_page_position,
398      source_channels: sourceChannels,
399      best_effort_sources: bestEffortSources,
400      intent_sources: Array.isArray(snapshot.intent_sources)
401        ? snapshot.intent_sources
402        : [],
403      cta_source_intent: snapshot.cta_source_intent,
404      anonymous_detected_primary_intents: Array.isArray(snapshot.anonymous_detected_primary_intents)
405        ? snapshot.anonymous_detected_primary_intents
406        : [],
407      pre_signup_semantic_pages: pages.slice(-5),
408      last_content_page: lastContentPage,
409      captured_at: now.toISOString(),
410      expires_at: new Date(now.getTime() + PRE_SIGNUP_INTENT_TTL_MS).toISOString()
411    };
412
413    Object.keys(payload).forEach(function (key) {
414      var value = payload[key];
415      if (
416        value === undefined ||
417        value === "" ||
418        (Array.isArray(value) && value.length === 0)
419      ) {
420        delete payload[key];
421      }
422    });
423    return payload;
424  }
425
426  function getProjectPath() {
427    if (window.location.hostname === DEV_HOST && BRANCH) {
428      return "/project/" + BRANCH;
429    }
430    return "/project";
431  }
432
433  function getProjectURL(query) {
434    var target = new URL(getProjectPath(), window.location.origin);
435    appendQuery(target, query);
436    target.hash = "/workspace";
437    if (!target.pathname.endsWith("/")) {
438      target.pathname += "/";
439    }
440    return target;
441  }
442
443  function getIdentityLoginURL(projectURL, query) {
444    var target = new URL("/identity/login", window.location.origin);
445    target.searchParams.set("lang", query.lang || DEFAULT_LOCALE);
446    target.searchParams.set("logoutType", "1");
447    target.searchParams.set("ones_from", projectURL.toString());
448    return target;
449  }
450
451  function redirectToProject(projectURL) {
452    window.location.replace(projectURL.pathname + projectURL.search + projectURL.hash);
453  }
454
455  function redirectToIdentity(projectURL, query) {
456    var target = getIdentityLoginURL(projectURL, query);
457    window.location.replace(target.pathname + target.search);
458  }
459
460  function markHandoffResult(resultCategory) {
461    try {
462      if (window.performance && typeof window.performance.mark === "function") {
463        window.performance.mark("ones-login-handoff:" + resultCategory);
464      }
465    } catch (_error) {}
466  }
467
468  function decodeJWTPayload(token) {
469    if (typeof token !== "string" || token.length > 16384) return null;
470    var segments = token.split(".");
471    if (segments.length !== 3 || !segments[1]) return null;
472    try {
473      var normalized = segments[1].replace(/-/g, "+").replace(/_/g, "/");
474      var paddingLength = (4 - normalized.length % 4) % 4;
475      var binary = window.atob(normalized + "=".repeat(paddingLength));
476      var encoded = "";
477      for (var index = 0; index < binary.length; index += 1) {
478        encoded += "%" + binary.charCodeAt(index).toString(16).padStart(2, "0");
479      }
480      var payload = JSON.parse(decodeURIComponent(encoded));
481      return payload && typeof payload === "object" && !Array.isArray(payload)
482        ? payload
483        : null;
484    } catch (_error) {
485      return null;
486    }
487  }
488
489  function readProjectTokenHint() {
490    var tokenInfo;
491    try {
492      tokenInfo = readJSONStorage(window.localStorage, PROJECT_TOKEN_STORAGE_KEY);
493    } catch (_error) {
494      return null;
495    }
496    if (!tokenInfo || typeof tokenInfo !== "object" || Array.isArray(tokenInfo)) {
497      return null;
498    }
499    var accessToken = tokenInfo.access_token;
500    var payload = decodeJWTPayload(accessToken);
501    if (!payload) return null;
502    var regionUUID = payload.region_uuid;
503    var expiresAt = payload.exp * 1000;
504    if (
505      typeof accessToken !== "string" ||
506      typeof regionUUID !== "string" ||
507      !/^[A-Za-z0-9_-]{1,128}$/.test(regionUUID) ||
508      typeof payload.exp !== "number" ||
509      !Number.isFinite(expiresAt) ||
510      expiresAt - Date.now() <= PROJECT_TOKEN_EXPIRY_BUFFER_MS
511    ) {
512      return null;
513    }
514    return {
515      accessToken: accessToken,
516      regionUUID: regionUUID
517    };
518  }
519
520  function getTrustedRegionalOrigin(endpoint) {
521    if (
522      typeof endpoint !== "string" ||
523      !/^https:\/\/[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.ones\.com\/?$/i.test(endpoint)
524    ) {
525      return null;
526    }
527    try {
528      var target = new URL(endpoint);
529      if (
530        target.protocol !== "https:" ||
531        target.username ||
532        target.password ||
533        target.port ||
534        target.pathname !== "/" ||
535        target.search ||
536        target.hash
537      ) {
538        return null;
539      }
540      return target.origin;
541    } catch (_error) {
542      return null;
543    }
544  }
545
546  function findRegionalOrigin(payload, regionUUID) {
547    if (!payload || typeof payload !== "object" || !Array.isArray(payload.regions)) {
548      return null;
549    }
550    for (var index = 0; index < payload.regions.length; index += 1) {
551      var region = payload.regions[index];
552      if (
553        region &&
554        typeof region === "object" &&
555        region.region_uuid === regionUUID
556      ) {
557        return getTrustedRegionalOrigin(region.endpoint);
558      }
559    }
560    return null;
561  }
562
563  function redirectLegacy(projectURL, query) {
564    if (typeof window.fetch !== "function") {
565      redirectToProject(projectURL);
566      return;
567    }
568    window.fetch("/project/api/project/auth/token_info", {
569      cache: "no-store",
570      credentials: "include",
571      headers: {
572        accept: "application/json"
573      }
574    })
575      .then(function (response) {
576        if (response.ok) {
577          redirectToProject(projectURL);
578          return;
579        }
580        redirectToIdentity(projectURL, query);
581      })
582      .catch(function () {
583        redirectToIdentity(projectURL, query);
584      });
585  }
586
587  function redirectWithRegionalFastPath(projectURL, query) {
588    var tokenHint = readProjectTokenHint();
589    if (!tokenHint) {
590      markHandoffResult("invalid_token_hint");
591      redirectToIdentity(projectURL, query);
592      return;
593    }
594    if (
595      typeof window.fetch !== "function" ||
596      typeof window.AbortController !== "function"
597    ) {
598      markHandoffResult("unsupported_browser");
599      redirectToIdentity(projectURL, query);
600      return;
601    }
602
603    var controller = new window.AbortController();
604    var terminal = false;
605    var timeoutID = window.setTimeout(function () {
606      finish(false, "timeout");
607    }, REGIONAL_FAST_PATH_DEADLINE_MS);
608
609    function finish(goToProject, resultCategory) {
610      if (terminal) return;
611      terminal = true;
612      window.clearTimeout(timeoutID);
613      controller.abort();
614      markHandoffResult(resultCategory);
615      if (goToProject) {
616        redirectToProject(projectURL);
617        return;
618      }
619      redirectToIdentity(projectURL, query);
620    }
621
622    window.fetch("/identity/api/regions", {
623      cache: "no-store",
624      credentials: "same-origin",
625      headers: {
626        accept: "application/json"
627      },
628      signal: controller.signal
629    })
630      .then(function (response) {
631        if (response.status !== 200) throw new Error("region_mapping_http_error");
632        return response.json();
633      })
634      .then(function (payload) {
635        if (terminal) return null;
636        var regionalOrigin = findRegionalOrigin(payload, tokenHint.regionUUID);
637        if (!regionalOrigin) throw new Error("region_mapping_error");
638        return window.fetch(regionalOrigin + "/project/api/project/auth/token_info", {
639          cache: "no-store",
640          credentials: "include",
641          headers: {
642            accept: "application/json",
643            authorization: "Bearer " + tokenHint.accessToken
644          },
645          signal: controller.signal
646        });
647      })
648      .then(function (response) {
649        if (!response) return;
650        finish(
651          response.status === 200,
652          response.status === 200 ? "project_200" : "regional_http_error"
653        );
654      })
655      .catch(function (error) {
656        var resultCategory =
657          error &&
658          (error.message === "region_mapping_http_error" ||
659            error.message === "region_mapping_error")
660            ? error.message
661            : "network_error";
662        finish(false, resultCategory);
663      });
664  }
665
666  function redirect(query) {
667    var projectURL = getProjectURL(query);
668    if (!REGIONAL_FAST_PATH_ENABLED) {
669      redirectLegacy(projectURL, query);
670      return;
671    }
672    redirectWithRegionalFastPath(projectURL, query);
673  }
674
675  try {
676    var params = new URLSearchParams(window.location.search);
677    var query = readExistingQuery();
678    var explicitEdition = params.get("sign_up_edition") || params.get("edition");
679    var version = params.get("version") || "";
680    var signUpEdition =
681      explicitEdition ||
682      VERSION_TYPE_TO_SIGN_UP_EDITION[normalizeVersionType(version)] ||
683      "";
684
685    query.lang = getLocale();
686    if (signUpEdition && signUpEdition !== DEFAULT_SIGN_UP_EDITION) {
687      query.edition = signUpEdition;
688      query.sign_up_edition = signUpEdition;
689    }
690    ["version", "channel", "channel_identifier"].forEach(function (key) {
691      var value = params.get(key);
692      if (value) {
693        query[key] = value;
694      }
695    });
696
697    var officialSiteIntent = buildOfficialSiteIntent();
698    if (officialSiteIntent) {
699      query.official_site_intent = officialSiteIntent;
700    } else {
701      delete query.official_site_intent;
702    }
703
704    try {
705      window.sessionStorage.setItem(SESSION_KEY, JSON.stringify(query));
706    } catch (_error) {}
707
708    redirect(query);
709  } catch (_error) {
710    redirect({ lang: DEFAULT_LOCALE });
711  }
712})();</script>
712<link rel="preload" href="https://cdn.ones.com/_next/static/css/7b06f3dd5ec099f0.css" as="style"/><link rel="stylesheet" href="https://cdn.ones.com/_next/static/css/7b06f3dd5ec099f0.css" data-n-g=""/><noscript data-n-css=""></noscript>
712<script defer="" nomodule="" src="https://cdn.ones.com/_next/static/chunks/polyfills-42372ed130431b0a.js"></script>
712<script src="https://cdn.ones.com/_next/static/chunks/webpack-28a95d4bdc78c2bc.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/chunks/framework-2c2a4711e8ed6f3e.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/chunks/main-0aacbfb6412cbfd7.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/chunks/pages/_app-fbe7952f7281988e.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/chunks/1352-2b0e83f21776ae57.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/chunks/1090-491992e8efd89f46.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/chunks/1601-c807c41f14ea5956.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/chunks/pages/login-a3c1468b64e7d5a1.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/IOmNRRtmlR3DylctK7pOa/_buildManifest.js" defer=""></script>
712<script src="https://cdn.ones.com/_next/static/IOmNRRtmlR3DylctK7pOa/_ssgManifest.js" defer=""></script>
712<style id="__jsx-6bf89b92aa5b9cba">.home-announcement-arrow.jsx-6bf89b92aa5b9cba{transition:transform 200ms ease-in-out}.home-announcement-mobile-track.jsx-6bf89b92aa5b9cba{animation:home-announcement-marquee 12s linear infinite;will-change:transform}@keyframes home-announcement-marquee{from{transform:translatex(0)}to{transform:translatex(-50%)}}@media(hover:hover)and (pointer:fine){.home-announcement-link.jsx-6bf89b92aa5b9cba:hover .home-announcement-arrow.jsx-6bf89b92aa5b9cba{transform:translatex(3px)}}@media(prefers-reduced-motion:reduce){.home-announcement-arrow.jsx-6bf89b92aa5b9cba,.home-announcement-link.jsx-6bf89b92aa5b9cba:hover .home-announcement-arrow.jsx-6bf89b92aa5b9cba{transform:none;transition:none}.home-announcement-mobile-link{overflow-x:auto}.home-announcement-mobile-track.jsx-6bf89b92aa5b9cba{animation:none;will-change:auto}.home-announcement-mobile-track.jsx-6bf89b92aa5b9cba>.jsx-6bf89b92aa5b9cba:last-child{display:none}}</style></head><body><div id="__next"><aside data-home-announcement-root="true" data-campaign-id="ai-real-project-work-ones-assistant-mcp-webinar" class="jsx-6bf89b92aa5b9cba relative z-[51] flex w-full items-stretch border-b border-[#0845B7] bg-[#0B57D0] text-white"><div class="jsx-6bf89b92aa5b9cba flex min-w-0 flex-1 justify-center s:px-14"><a aria-label="AI for Real Project Work: ONES Assistant and MCP" data-analytics-handled="true" class="home-announcement-link hidden min-h-[60px] max-w-full items-center gap-3 px-5 py-3 text-sm font-medium leading-5 text-inherit no-underline transition-opacity hover:opacity-85 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-offset-[-2px] s:inline-flex m:text-base m:leading-6" href="/webinars"><span aria-hidden="true" class="flex h-7 w-9 shrink-0 items-center justify-center rounded-md border border-white/80 bg-white/5 text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play h-3.5 w-3.5 fill-current"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></span><span class="jsx-6bf89b92aa5b9cba">AI for Real Project Work: ONES Assistant and MCP</span><span class="jsx-6bf89b92aa5b9cba inline-flex shrink-0 items-center gap-2 whitespace-nowrap rounded-xl bg-white px-5 py-2 font-semibold text-[#1463E6] shadow-[0_1px_2px_rgba(8,36,81,0.12)]">Join Webinar Now!<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right home-announcement-arrow h-4 w-4 shrink-0" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></span></a><a aria-label="AI for Real Project Work: ONES Assistant and MCP" data-analytics-handled="true" class="home-announcement-link home-announcement-mobile-link flex min-h-[56px] min-w-0 flex-1 items-center overflow-hidden px-4 py-2 text-sm font-medium leading-5 text-inherit no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-inset s:hidden" href="/webinars"><span class="jsx-6bf89b92aa5b9cba home-announcement-mobile-track flex w-max shrink-0 items-center whitespace-nowrap"><span class="jsx-6bf89b92aa5b9cba flex items-center gap-1.5 pr-12"><span aria-hidden="true" class="flex h-4 w-6 shrink-0 items-center justify-center rounded border border-white/70 bg-white/5 text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play h-2.5 w-2.5 fill-current"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></span><span class="jsx-6bf89b92aa5b9cba">AI for Real Project Work</span><span class="jsx-6bf89b92aa5b9cba inline-flex items-center gap-1 rounded-md bg-white px-2 py-1 font-semibold text-[#1463E6]">Join Webinar<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5 shrink-0" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></span></span><span aria-hidden="true" class="jsx-6bf89b92aa5b9cba flex items-center gap-1.5 pr-12"><span aria-hidden="true" class="flex h-4 w-6 shrink-0 items-center justify-center rounded border border-white/70 bg-white/5 text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play h-2.5 w-2.5 fill-current"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></span><span class="jsx-6bf89b92aa5b9cba">AI for Real Project Work</span><span class="jsx-6bf89b92aa5b9cba inline-flex items-center gap-1 rounded-md bg-white px-2 py-1 font-semibold text-[#1463E6]">Join Webinar<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5 shrink-0"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></span></span></span></a></div><button type="button" aria-label="Dismiss webinar announcement" class="jsx-6bf89b92aa5b9cba flex w-12 shrink-0 items-center justify-center text-white/75 transition-colors hover:bg-white/15 hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-white s:absolute s:inset-y-0 s:right-3 s:w-10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x h-4 w-4" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></aside><div class="cookie-consent_panelOverlay__nPKx5" aria-hidden="true"></div><aside class="cookie-consent_panel__THVtN" role="dialog" aria-modal="true" aria-hidden="true" aria-label="Cookie preferences"><div class="cookie-consent_panelHeader__5HxbV"><div class="cookie-consent_panelTitleRow__w4AkM"><p class="cookie-consent_panelTitle__IVfPN">Cookie preferences</p><button type="button" class="cookie-consent_closeButton__qhF03" aria-label="Close panel">×</button></div></div><div class="cookie-consent_panelBody__DA_8_"><p class="cookie-consent_panelIntro__9XR0E">We use cookies so that we can offer you the best possible website experience. This includes cookies which are necessary for the operation of the website and to manage our corporate commercial objectives, as well as other cookies which are used solely for anonymous statistical purposes and for more comfortable website settings. Depending on the settings you choose, the full functionality of the website may no longer be available. Further information can be found in our <a class="cookie-consent_policyEntry__9y6JL" href="/legal/cookies-policy">Cookie policy</a>. With the exception of cookies which are strictly necessary for the operation of this site, cookies are turned off by default. Accordingly, pressing the button marked “I ACCEPT” will enable the full functionality of this website, while pressing the button marked “ACCEPT REQUIRED” will deploy only those cookies which are strictly necessary for its operation. You are free to decide which categories you would like to permit by clicking “Customize”.</p><section class="cookie-consent_section__USgoX"><div class="cookie-consent_sectionHeader__kDSUI"><div><p class="cookie-consent_sectionTitle__hJx_X">Strictly Necessary Cookies</p><p class="cookie-consent_sectionStatus__WjGcl">Always on</p></div><button type="button" role="switch" class="cookie-consent_toggleButton__mcuN9 cookie-consent_toggleDisabled__hRDgW" aria-checked="true" disabled=""></button></div><div class="cookie-consent_sectionBody__jidtV">These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.</div><div class="cookie-consent_metaList__ouUvn"><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Cookie provider</span><span class="cookie-consent_metaValue__Qta9U">ONES.com</span></div><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Cookie / storage name</span><span class="cookie-consent_metaValue__Qta9U">
712ones_cookie_consent</span></div><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Privacy Policy</span><a target="_blank" rel="noopener noreferrer" class="cookie-consent_metaValue__Qta9U" href="/legal/privacy-policy">Privacy Policy</a></div></div></section><section class="cookie-consent_section__USgoX"><div class="cookie-consent_sectionHeader__kDSUI"><div><p class="cookie-consent_sectionTitle__hJx_X">Functionality Cookies</p><p class="cookie-consent_sectionStatus__WjGcl">Enabled</p></div><button type="button" role="switch" aria-checked="true" class="cookie-consent_toggleButton__mcuN9 cookie-consent_toggleChecked__dK36b"></button></div><div class="cookie-consent_sectionBody__jidtV">These cookies enable helpful but non-essential website functions that improve your website experience. By recognizing you when you return to our website, they may, for example, allow us to personalize our content for you, greet you by name, or remember your preferences (for example, your choice of language or timezone). Functionality cookies are only used if you consent to it in the cookie settings.</div><div class="cookie-consent_metaList__ouUvn"><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Cookie provider</span><span class="cookie-consent_metaValue__Qta9U">ONES.com</span></div><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Cookie / storage name</span><span class="cookie-consent_metaValue__Qta9U">Preferred locale cache, UI layout preferences</span></div><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Privacy Policy</span><a target="_blank" rel="noopener noreferrer" class="cookie-consent_metaValue__Qta9U" href="/legal/privacy-policy">Privacy Policy</a></div></div></section><section class="cookie-consent_section__USgoX"><div class="cookie-consent_sectionHeader__kDSUI"><div><p class="cookie-consent_sectionTitle__hJx_X">Analytics Cookies</p><p class="cookie-consent_sectionStatus__WjGcl">Enabled</p></div><button type="button" role="switch" aria-checked="true" class="cookie-consent_toggleButton__mcuN9 cookie-consent_toggleChecked__dK36b"></button></div><div class="cookie-consent_sectionBody__jidtV">Some of these cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.</div><div class="cookie-consent_metaList__ouUvn"><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Cookie provider</span><span class="cookie-consent_metaValue__Qta9U">Google / PostHog</span></div><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Cookie / storage name</span><span class="cookie-consent_metaValue__Qta9U">Google Analytics (_ga*), Google Tag Manager, PostHog</span></div><div class="cookie-consent_metaItem__uLAsc"><span class="cookie-consent_metaLabel__QsZ8u">Privacy Policy</span><a target="_blank" rel="noopener noreferrer" class="cookie-consent_metaValue__Qta9U" href="/legal/privacy-policy">Privacy Policy</a></div></div></section><small class="cookie-consent_bodyNote__RHM0N">Last updated: 2025-11-12</small><small class="cookie-consent_panelIntro__9XR0E">You can change or withdraw your consent at any time by selecting “Customize” at the bottom of the page.</small></div><div class="cookie-consent_panelFooter__yr_ba"><div class="cookie-consent_panelActions__xJ5Ll"><button type="button" class="cookie-consent_secondaryButton__pd0sN">Cancel</button><button type="button" class="cookie-consent_primaryButton__A_o_M">Save selection</button></div></div></aside></div>
712<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"title":"Login","pathname":"login"},"__N_SSG":true},"page":"/login","query":{},"buildId":"IOmNRRtmlR3DylctK7pOa","assetPrefix":"https://cdn.ones.com","isFallback":false,"gsp":true,"locale":"en","locales":["en","ja","de","es","fr","it","nl","ko","pl","pt","ru","ar","tr"],"defaultLocale":"en","scriptLoader":[]}</script>
712</body></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.