1<!doctype html> 2<html lang="en-US"> 3 <head> 4 <meta charset="utf-8" /> 5 <base href="/" /> 6 <meta name="theme-color" content="#171717" /> 7 <meta name="mobile-web-app-capable" content="yes" /> 8 <meta name="apple-mobile-web-app-capable" content="yes" /> 9 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 10 <meta name="description" content="Bandruption AI - AI tools for artists and teams" /> 11 <title>Bandruption AI</title> 12 <link rel="icon" type="image/png" sizes="32x32" href="assets/favicon-32x32.png" /> 13 <link rel="icon" type="image/png" sizes="16x16" href="assets/favicon-16x16.png" /> 14 <link rel="apple-touch-icon" href="assets/apple-touch-icon-180x180.png" /> 15 <meta 16 name="viewport" 17 content="width=device-width, initial-scale=1, interactive-widget=resizes-content" 18 /> 19 <style> 20 html, 21 body { 22 margin: 0; 23 padding: 0; 24 height: 100%; 25 } 26 </style> 27
27<script> 28 const theme = localStorage.getItem('color-theme'); 29 const loadingContainerStyle = document.createElement('style'); 30 let backgroundColor; 31 32 if (theme === 'dark') { 33 backgroundColor = '#0d0d0d'; 34 } else if (theme === 'light') { 35 backgroundColor = '#ffffff'; 36 } else if (theme === 'system') { 37 const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)').matches; 38 backgroundColor = prefersDarkScheme ? '#0d0d0d' : '#ffffff'; 39 } else { 40 backgroundColor = '#ffffff'; 41 } 42 43 loadingContainerStyle.innerHTML = ` 44 #loading-container { 45 display: flex; 46 align-items: center; 47 justify-content: center; 48 height: 100vh; 49 background-color: ${backgroundColor}; 50 } 51 `; 52 document.head.appendChild(loadingContainerStyle); 53 </script>
53 54
54<script> 55 (function () { 56 var KEY = 'lc-asset-recovery-at'; 57 function shouldRecover() { 58 try { 59 var last = Number(sessionStorage.getItem(KEY)) || 0; 60 if (Date.now() - last < 60000) { 61 return false; 62 } 63 sessionStorage.setItem(KEY, String(Date.now())); 64 return true; 65 } catch (e) { 66 return false; 67 } 68 } 69 /** Recovers from stale builds (e.g. an outdated service worker serving old 70 * hashed chunks after a deploy) by unregistering workers and reloading once. 71 * Returns true when a recovery reload was initiated. */ 72 window.__lcRecoverStaleAssets = function () { 73 if (!shouldRecover()) { 74 return false; 75 } 76 var reload = function () { 77 window.location.reload(); 78 }; 79 if (navigator.serviceWorker) { 80 var scopeBase = new URL('./', document.baseURI || window.location.href).href; 81 navigator.serviceWorker 82 .getRegistrations() 83 .then(function (registrations) { 84 return Promise.all( 85 registrations 86 .filter(function (registration) { 87 return registration.scope.indexOf(scopeBase) === 0; 88 }) 89 .map(function (registration) { 90 return registration.unregister(); 91 }), 92 ); 93 }) 94 .then(reload, reload); 95 } else { 96 reload(); 97 } 98 return true; 99 }; 100 if (navigator.serviceWorker) { 101 navigator.serviceWorker.addEventListener('message', function (event) { 102 if (!event.data || event.data.type !== 'LC_SW_PING') { 103 return; 104 } 105 var source = event.source || navigator.serviceWorker.controller; 106 if (source) { 107 source.postMessage({ type: 'LC_SW_PONG' }); 108 } 109 }); 110 } 111 window.addEventListener( 112 'error', 113 function (event) { 114 var el = event.target; 115 if (!el || !el.tagName) { 116 return; 117 } 118 var failedScript = el.tagName === 'SCRIPT' && el.src; 119 var failedPreload = 120 el.tagName === 'LINK' && /preload/.test(el.rel || '') && /\.js$/.test(el.href || ''); 121 if (failedScript || failedPreload) { 122 window.__lcRecoverStaleAssets(); 123 } 124 }, 125 true, 126 ); 127 window.addEventListener('unhandledrejection', function (event) { 128 var message = event.reason && event.reason.message; 129 if ( 130 typeof message === 'string' && 131 (message.indexOf('dynamically imported module') !== -1 || 132 message.indexOf('Importing a module script failed') !== -1) 133 ) { 134 window.__lcRecoverStaleAssets(); 135 } 136 }); 137 })(); 138 </script>
138 139
139<script type="module" crossorigin src="./assets/index.DDzkvBeK.js"></script>
139 140 <link rel="modulepreload" crossorigin href="./assets/rolldown-runtime.Cyuzqnbw.js"> 141 <link rel="modulepreload" crossorigin href="./assets/codemirror-core.DCeggAsc.js"> 142 <link rel="modulepreload" crossorigin href="./assets/http-client.D1qXypdn.js"> 143 <link rel="modulepreload" crossorigin href="./assets/mermaid.CpNRA-E5.js"> 144 <link rel="modulepreload" crossorigin href="./assets/advanced-inputs.BKUrQSBb.js"> 145 <link rel="modulepreload" crossorigin href="./assets/animations.D3Hqw1ZV.js"> 146 <link rel="modulepreload" crossorigin href="./assets/react-vtree.BjPI7UI5.js"> 147 <link rel="modulepreload" crossorigin href="./assets/query-devtools.eCLhNcV1.js"> 148 <link rel="modulepreload" crossorigin href="./assets/validation.C7Ukr8TS.js"> 149 <link rel="modulepreload" crossorigin href="./assets/vendor.BmYKWJ2m.js"> 150 <link rel="modulepreload" crossorigin href="./assets/avatars.CH7OGiPh.js"> 151 <link rel="modulepreload" crossorigin href="./assets/headlessui.CLu2eCui.js"> 152 <link rel="modulepreload" crossorigin href="./assets/radix-ui.BGabDvh9.js"> 153 <link rel="modulepreload" crossorigin href="./assets/react-interactions.Ggqtj1A5.js"> 154 <link rel="modulepreload" crossorigin href="./assets/routing.Cb7G0LKm.js"> 155 <link rel="modulepreload" crossorigin href="./assets/tanstack-vendor.BolsaK2r.js"> 156 <link rel="modulepreload" crossorigin href="./assets/markdown-processing.BqkdC0TQ.js"> 157 <link rel="modulepreload" crossorigin href="./assets/date-utils.7tLVf9uC.js"> 158 <link rel="modulepreload" crossorigin href="./assets/framer-motion.CMPOPEls.js"> 159 <link rel="modulepreload" crossorigin href="./assets/i18n.D3Gbp8tn.js"> 160 <link rel="modulepreload" crossorigin href="./assets/utilities.B8O80BWK.js"> 161 <link rel="modulepreload" crossorigin href="./assets/forms.DK8PnfVW.js"> 162 <link rel="modulepreload" crossorigin href="./assets/virtualization.BuPzdacZ.js"> 163 <link rel="modulepreload" crossorigin href="./assets/hooks.BnKee1XB.js"> 164 <link rel="modulepreload" crossorigin href="./assets/sandpack.CEJsOUxH.js"> 165 <link rel="modulepreload" crossorigin href="./assets/MyFilesModal.C87wrI9C.js"> 166 <link rel="modulepreload" crossorigin href="./assets/security-ui.BjsCPful.js"> 167 <link rel="modulepreload" crossorigin href="./assets/ProjectCreateDialog.Crk6smpR.js"> 168 <link rel="modulepreload" crossorigin href="./assets/forms.D5HqURqh.js"> 169 <link rel="modulepreload" crossorigin href="./assets/polyfills.BnDHDYRr.js"> 170 <link rel="modulepreload" crossorigin href="./assets/code-editor.CMtCNxFi.js"> 171 <link rel="modulepreload" crossorigin href="./assets/math-katex.BMlcaHSk.js"> 172 <link rel="stylesheet" crossorigin href="./assets/math-katex.uZ8_QngQ.css"> 173 <link rel="stylesheet" crossorigin href="./assets/index.Z0H9qdXD.css"> 174 <link rel="manifest" href="./manifest.webmanifest" crossorigin="use-credentials">
174<script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script>
174</head> 175 <body> 176 <div id="root"> 177 <div id="loading-container"></div> 178 </div> 179 </body> 180</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.