PageSourceSearch

https://askava.netlify.app/

html askava.netlify.app collected 2026-10-03 10:27:50 UTC 6,288 bytes, 138 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-us">
3  <head>
4    <meta charset="utf-8">
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6    <title>Future Software Lab | AskAva</title>
7    <link rel="shortcut icon" href="TemplateData/favicon.ico">
8    <link rel="stylesheet" href="TemplateData/style.css">
9    <link rel="manifest" href="manifest.webmanifest">
10    
10<script src="TemplateData/ConvaiWebGLSDK.js"></script>
10
11                    <!-- ERİŞİM KONTROLÜ BAŞLANGIÇ -->
12            
12<script>
13              document.addEventListener("DOMContentLoaded", function() {
14                  var allowedReferer = "https://askavafuturesoftwarelab.netlify.app/";
15                  var allowedSourceParam = "askavafuturesoftwarelab.netlify";
16                  var referrer = document.referrer;
17                  var urlParams = new URLSearchParams(window.location.search);
18                  var sourceParam = urlParams.get("source");
19          console.log("Referer:", referrer);
20          console.log("Source Param:", sourceParam);
21    
22          // Kullanıcının daha önce yetkilendirildiğini kontrol et
23          var isAuthorized = sessionStorage.getItem("authorized");
24    
25          // Eğer daha önce yetkilendirildiyse işlemi bitir (sayfa yenilendiğinde tekrar kontrol etmesin)
26          if (isAuthorized === "true") {
27              console.log("Önceden yetkilendirilmiş kullanıcı.");
28              return;
29          }
30    
31          // Eğer futuresoftwarelab.com referansı varsa veya doğru source parametresi geldiyse yetkilendir
32          if ((referrer.indexOf(allowedReferer) !== -1) || (sourceParam === allowedSourceParam)) {
33              console.log("Erişim başarılı! Doğru siteden gelindi.");
34              sessionStorage.setItem("authorized", "true");
35    
36              // URL'den ?source parametresini kaldır (yenileme olmadan)
37              window.history.replaceState({}, document.title, window.location.pathname);
38          } else {
39              console.log("Erişim reddedildi! Yanlış siteden gelindi.");
40              window.location.href = "https://futuresoftwarelab.com/erisim-yasak"; // Yetkisiz giriş sayfası
41          }
42      });
43            </script>
43
44            <!-- ERİŞİM KONTROLÜ BİTİŞ -->
45  </head>
46  <body>
47    <div id="unity-container">
48      <canvas id="unity-canvas" width=960 height=600 tabindex="-1"></canvas>
49      <div id="unity-loading-bar">
50        <div id="unity-logo"></div>
51        <div id="unity-progress-bar-empty">
52          <div id="unity-progress-bar-full"></div>
53        </div>
54      </div>
55      <div id="unity-warning"> </div>
56    </div>
57    
57<script>
58      window.addEventListener("load", function () {
59        if ("serviceWorker" in navigator) {
60          navigator.serviceWorker.register("ServiceWorker.js");
61        }
62      });
63
64      var container = document.querySelector("#unity-container");
65      var canvas = document.querySelector("#unity-canvas");
66      var loadingBar = document.querySelector("#unity-loading-bar");
67      var progressBarFull = document.querySelector("#unity-progress-bar-full");
68      var warningBanner = document.querySelector("#unity-warning");
69
70      // Shows a temporary message banner/ribbon for a few seconds, or
71      // a permanent error message on top of the canvas if type=='error'.
72      // If type=='warning', a yellow highlight color is used.
73      // Modify or remove this function to customize the visually presented
74      // way that non-critical warnings and error messages are presented to the
75      // user.
76      function unityShowBanner(msg, type) {
77        function updateBannerVisibility() {
78          warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
79        }
80        var div = document.createElement('div');
81        div.innerHTML = msg;
82        warningBanner.appendChild(div);
83        if (type == 'error') div.style = 'background: red; padding: 10px;';
84        else {
85          if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
86          setTimeout(function() {
87            warningBanner.removeChild(div);
88            updateBannerVisibility();
89          }, 5000);
90        }
91        updateBannerVisibility();
92      }
93
94      var buildUrl = "Build";
95      var loaderUrl = buildUrl + "/bb0d9ecdb05db3e84da20bd14a4f84dc.loader.js";
96      var config = {
97        dataUrl: buildUrl + "/4f8ac0615870510bd58ddf9da8b72496.data.gz",
98        frameworkUrl: buildUrl + "/e6cc00909a744ccc8564e38f5c36a26b.framework.js.gz",
99        codeUrl: buildUrl + "/a1967143cd49c51df81deeb480b8f08e.wasm.gz",
100        streamingAssetsUrl: "StreamingAssets",
101        companyName: "DefaultCompany",
102        productName: "TestAi",
103        productVersion: "0.1",
104        showBanner: unityShowBanner,
105      };
106
107      // By default Unity keeps WebGL canvas render target size matched with
108      // the DOM size of the canvas element (scaled by window.devicePixelRatio)
109      // Set this to false if you want to decouple this synchronization from
110      // happening inside the engine, and you would instead like to size up
111      // the canvas DOM size and WebGL render target sizes yourself.
112      // config.matchWebGLToCanvasSize = false;
113
114      if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
115        // Mobile device style: fill the whole browser client area with the game canvas:
116        var meta = document.createElement('meta');
117        meta.name = 'viewport';
118        meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
119        document.getElementsByTagName('head')[0].appendChild(meta);
120      }
121
122      loadingBar.style.display = "block";
123
124      var script = document.createElement("script");
125      script.src = loaderUrl;
126      script.onload = () => {
127        createUnityInstance(canvas, config, (progress) => {
128          progressBarFull.style.width = 100 * progress + "%";
129        }).then((unityInstance) => {
130          loadingBar.style.display = "none";
131        }).catch((message) => {
132          alert(message);
133        });
134      };
135      document.body.appendChild(script);
136    </script>
136
137  </body>
138</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.