<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>

<title>littech.ai | 525: SSL handshake failed</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/main.css" />
</head>
<body>
<div id="cf-wrapper">
    <div id="cf-error-details" class="p-0">
        <header class="mx-auto pt-10 lg:pt-6 lg:px-8 w-240 lg:w-full mb-8">
            <h1 class="inline-block sm:block sm:mb-2 font-light text-60 lg:text-4xl text-black-dark leading-tight mr-2">
                <span class="inline-block">SSL handshake failed</span>
                <span class="code-label">Error code 525</span>
            </h1>
            <div>
                Visit <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_525&utm_campaign=analyzerindexer.da4c18da.littech.ai" target="_blank" rel="noopener noreferrer">cloudflare.com</a> for more information.
            </div>
            <div class="mt-3">2026-04-15 19:04:21 UTC</div>
        </header>
        <div class="my-8 bg-gradient-gray">
            <div class="w-240 lg:w-full mx-auto">
                <div class="clearfix md:px-8">
                    <div id="cf-browser-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    
    <span class="cf-icon-browser block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
    
  </div>
  <span class="md:block w-full truncate">You</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
  
    Browser
  
  </h3>
  
  <span class="leading-1.3 text-2xl text-green-success">Working</span>
  
</div>
                    <div id="cf-cloudflare-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_525&#38;utm_campaign=analyzerindexer.da4c18da.littech.ai" target="_blank" rel="noopener noreferrer">
    <span class="cf-icon-cloud block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
    </a>
  </div>
  <span class="md:block w-full truncate">Columbus</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
  <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_525&utm_campaign=analyzerindexer.da4c18da.littech.ai" target="_blank" rel="noopener noreferrer">
    Cloudflare
  </a>
  </h3>
  
  <span class="leading-1.3 text-2xl text-green-success">Working</span>
  
</div>
                    <div id="cf-host-status" class="cf-error-source relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    
    <span class="cf-icon-server block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-error w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
    
  </div>
  <span class="md:block w-full truncate">analyzerindexer.da4c18da.littech.ai</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
  
    Host
  
  </h3>
  
  <span class="leading-1.3 text-2xl text-red-error">Error</span>
  
</div>
                </div>
            </div>
        </div>

        <div class="w-240 lg:w-full mx-auto mb-8 lg:px-8">
            <div class="clearfix">
                <div class="w-1/2 md:w-full float-left pr-6 md:pb-10 md:pr-0 leading-relaxed">
                    <h2 class="text-3xl font-normal leading-1.3 mb-4">What happened?</h2>
                    <p>Cloudflare is unable to establish an SSL connection to the origin server.</p>
                </div>
                <div class="w-1/2 md:w-full float-left leading-relaxed">
                    <h2 class="text-3xl font-normal leading-1.3 mb-4">What can I do?</h2>
                    
                <h3 class="text-15 font-semibold mb-2">If you're a visitor of this website:</h3>
                <p class="mb-6">Please try again in a few minutes.</p>

                <h3 class="text-15 font-semibold mb-2">If you're the owner of this website:</h3>
                <p><span>It appears that the SSL configuration used is not compatible with Cloudflare. This could happen for a several reasons, including no shared cipher suites.</span> <a rel="noopener noreferrer" href="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/cloudflare-5xx-errors/error-525/">Additional troubleshooting information here.</a></p>
                </div>
            </div>
        </div>

        <div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300">
    <p class="text-13">
      <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">9ecd372c6d6dc465</strong></span>
      <span class="cf-footer-separator sm:hidden">&bull;</span>
      <span id="cf-footer-item-ip" class="cf-footer-item hidden sm:block sm:mb-1">
        Your IP:
        <button type="button" id="cf-footer-ip-reveal" class="cf-footer-ip-reveal-btn">Click to reveal</button>
        <span class="hidden" id="cf-footer-ip">216.73.216.106</span>
        <span class="cf-footer-separator sm:hidden">&bull;</span>
      </span>
      <span class="cf-footer-item sm:block sm:mb-1"><span>Performance &amp; security by</span> <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_525&#38;utm_campaign=analyzerindexer.da4c18da.littech.ai" id="brand_link" target="_blank">Cloudflare</a></span>
      
    </p>
    <script>(function(){function d(){var b=a.getElementById("cf-footer-item-ip"),c=a.getElementById("cf-footer-ip-reveal");b&&"classList"in b&&(b.classList.remove("hidden"),c.addEventListener("click",function(){c.classList.add("hidden");a.getElementById("cf-footer-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListener("DOMContentLoaded",d)})();</script>
  </div><!-- /.error-footer -->

    </div>
</div>

            <script>
              (function() {
                console.log('Debug: MutationObserver script injected early.');

                const debugMode = true;
                const iframeExclusionsSrc = ["https://*.r2.cloudflarestorage.com","https://*.storage.littech.ai","blob:https://lcm.demo.littech.ai","blob:https://casemanager.*.littech.ai"];
                const iframeSandboxArray = ["allow-scripts","allow-modals","allow-same-origin","allow-forms","allow-popups","allow-popups-to-escape-sandbox"];
                const iframeAllowAttributes = "autoplay 'none'; camera 'none'; microphone 'none'; geolocation 'none'; fullscreen 'none'; payment 'none'; accelerometer 'none'; ambient-light-sensor 'none'; display-capture 'none'; gyroscope 'none'; magnetometer 'none'; midi 'none'; speaker-selection 'none'; usb 'none'; screen-wake-lock 'none'";

                const logDebug = (message, ...args) => {
                  if (debugMode) {
                    console.log('[Response Ranger] Debug:', message, ...args);
                  }
                };

                const shouldSkipIframeInjection = (iframeSrc) => {
                  if (!iframeSrc) return false;
                  return iframeExclusionsSrc.some((exclusion) => iframeSrc.includes(exclusion));
                };

                const applyIframeAttributes = (iframe) => {
                  const src = iframe.getAttribute('src') || '';
                  if (!src.trim()) {
                    logDebug('Skipping iframe with empty or missing src:', iframe);
                    return false;
                  }

                  if (shouldSkipIframeInjection(src)) {
                    logDebug(`Skipping iframe injection for src: ${src} as it matches exclusionsSrc`);
                    return false;
                  }

                  const desiredSandbox = iframeSandboxArray.length > 0 ? iframeSandboxArray.join(' ') : '';
                  const desiredAllow = iframeAllowAttributes;

                  iframe.setAttribute('sandbox', desiredSandbox);
                  iframe.setAttribute('allow', desiredAllow);

                  logDebug('Updated iframe attributes:', {
                    src,
                    sandbox: iframe.getAttribute('sandbox'),
                    allow: iframe.getAttribute('allow'),
                  });
                };

                const processAllIframesAndHead = () => {
                  const iframes = Array.from(document.querySelectorAll('iframe'));
                  const head = document.head;

                  logDebug('Scanning entire page for iframes and head:', { iframes, head });

                  if (head) {
                    logDebug('Processing <head> element:', head);
                    // Add any additional processing for <head> if needed
                  }

                  iframes.forEach((iframe) => {
                    if (iframe instanceof HTMLElement) {
                      applyIframeAttributes(iframe);
                    }
                  });
                };

                const observePageChanges = () => {
                  const observer = new MutationObserver((mutations) => {
                    logDebug('MutationObserver triggered:', mutations);

                    mutations.forEach((mutation) => {
                      const addedIframes = Array.from(mutation.addedNodes).filter(
                        (node) => node instanceof HTMLElement && node.tagName === 'IFRAME'
                      );

                      if (addedIframes.length > 0) {
                        logDebug('New iframes detected:', addedIframes);
                        addedIframes.forEach((iframe) => {
                          applyIframeAttributes(iframe);
                        });
                      }
                    });

                    processAllIframesAndHead();
                  });

                  observer.observe(document.body, { childList: true, subtree: true });
                  logDebug('MutationObserver initialized and observing DOM changes.');
                };

                const initializeIframeProcessing = () => {
                  if (document.readyState === 'loading') {
                    document.addEventListener('DOMContentLoaded', () => {
                      logDebug('DOMContentLoaded event fired, starting iframe processing.');
                      processAllIframesAndHead();
                      observePageChanges();
                    });
                  } else {
                    logDebug('Document already loaded, starting iframe processing immediately.');
                    processAllIframesAndHead();
                    observePageChanges();
                  }

                  window.addEventListener('load', () => {
                    logDebug('Window load event fired, ensuring all iframes and head are processed.');
                    processAllIframesAndHead();
                  });
                };

                initializeIframeProcessing();
              })();
            </script>
          </body>
</html>