Файловый менеджер - Редактировать - /home/jogoso94/public_html/static/img/logo/melody_adventure.zip
�азад
PK �V[Y�*� � sw.jsnu �[��� 'use strict';const OFFLINE_DATA_FILE="offline.json";const CACHE_NAME_PREFIX="c3offline";const BROADCASTCHANNEL_NAME="offline";const CONSOLE_PREFIX="[SW] ";const LAZYLOAD_KEYNAME="";const broadcastChannel=typeof BroadcastChannel==="undefined"?null:new BroadcastChannel(BROADCASTCHANNEL_NAME);function PostBroadcastMessage(o){if(!broadcastChannel)return;setTimeout(()=>broadcastChannel.postMessage(o),3E3)}function Broadcast(type){PostBroadcastMessage({"type":type})} function BroadcastDownloadingUpdate(version){PostBroadcastMessage({"type":"downloading-update","version":version})}function BroadcastUpdateReady(version){PostBroadcastMessage({"type":"update-ready","version":version})}function IsUrlInLazyLoadList(url,lazyLoadList){if(!lazyLoadList)return false;try{for(const lazyLoadRegex of lazyLoadList)if((new RegExp(lazyLoadRegex)).test(url))return true}catch(err){console.error(CONSOLE_PREFIX+"Error matching in lazy-load list: ",err)}return false} function WriteLazyLoadListToStorage(lazyLoadList){if(typeof localforage==="undefined")return Promise.resolve();else return localforage.setItem(LAZYLOAD_KEYNAME,lazyLoadList)}function ReadLazyLoadListFromStorage(){if(typeof localforage==="undefined")return Promise.resolve([]);else return localforage.getItem(LAZYLOAD_KEYNAME)}function GetCacheBaseName(){return CACHE_NAME_PREFIX+"-"+self.registration.scope}function GetCacheVersionName(version){return GetCacheBaseName()+"-v"+version} async function GetAvailableCacheNames(){const cacheNames=await caches.keys();const cacheBaseName=GetCacheBaseName();return cacheNames.filter(n=>n.startsWith(cacheBaseName))}async function IsUpdatePending(){const availableCacheNames=await GetAvailableCacheNames();return availableCacheNames.length>=2} async function GetMainPageUrl(){const allClients=await clients.matchAll({includeUncontrolled:true,type:"window"});for(const c of allClients){let url=c.url;if(url.startsWith(self.registration.scope))url=url.substring(self.registration.scope.length);if(url&&url!=="/"){if(url.startsWith("?"))url="/"+url;return url}}return""} function fetchWithBypass(request,bypassCache){if(typeof request==="string")request=new Request(request);if(bypassCache)return fetch(request.url,{headers:request.headers,mode:request.mode,credentials:request.credentials,redirect:request.redirect,cache:"no-store"});else return fetch(request)} async function CreateCacheFromFileList(cacheName,fileList,bypassCache){const responses=await Promise.all(fileList.map(url=>fetchWithBypass(url,bypassCache)));let allOk=true;for(const response of responses)if(!response.ok){allOk=false;console.error(CONSOLE_PREFIX+"Error fetching '"+response.url+"' ("+response.status+" "+response.statusText+")")}if(!allOk)throw new Error("not all resources were fetched successfully");const cache=await caches.open(cacheName);try{return await Promise.all(responses.map((response, i)=>cache.put(fileList[i],response)))}catch(err){console.error(CONSOLE_PREFIX+"Error writing cache entries: ",err);caches.delete(cacheName);throw err;}} async function UpdateCheck(isFirst){try{const response=await fetchWithBypass(OFFLINE_DATA_FILE,true);if(!response.ok)throw new Error(OFFLINE_DATA_FILE+" responded with "+response.status+" "+response.statusText);const data=await response.json();const version=data.version;const fileList=data.fileList;const lazyLoadList=data.lazyLoad;const currentCacheName=GetCacheVersionName(version);const cacheExists=await caches.has(currentCacheName);if(cacheExists){const isUpdatePending=await IsUpdatePending();if(isUpdatePending){console.log(CONSOLE_PREFIX+ "Update pending");Broadcast("update-pending")}else{console.log(CONSOLE_PREFIX+"Up to date");Broadcast("up-to-date")}return}const mainPageUrl=await GetMainPageUrl();fileList.unshift("./");if(mainPageUrl&&fileList.indexOf(mainPageUrl)===-1)fileList.unshift(mainPageUrl);console.log(CONSOLE_PREFIX+"Caching "+fileList.length+" files for offline use");if(isFirst)Broadcast("downloading");else BroadcastDownloadingUpdate(version);if(lazyLoadList)await WriteLazyLoadListToStorage(lazyLoadList);await CreateCacheFromFileList(currentCacheName, fileList,!isFirst);const isUpdatePending=await IsUpdatePending();if(isUpdatePending){console.log(CONSOLE_PREFIX+"All resources saved, update ready");BroadcastUpdateReady(version)}else{console.log(CONSOLE_PREFIX+"All resources saved, offline support ready");Broadcast("offline-ready")}}catch(err){console.warn(CONSOLE_PREFIX+"Update check failed: ",err)}}self.addEventListener("install",event=>{event.waitUntil(UpdateCheck(true).catch(()=>null))}); async function GetCacheNameToUse(availableCacheNames,doUpdateCheck){if(availableCacheNames.length===1||!doUpdateCheck)return availableCacheNames[0];const allClients=await clients.matchAll();if(allClients.length>1)return availableCacheNames[0];const latestCacheName=availableCacheNames[availableCacheNames.length-1];console.log(CONSOLE_PREFIX+"Updating to new version");await Promise.all(availableCacheNames.slice(0,-1).map(c=>caches.delete(c)));return latestCacheName} async function HandleFetch(event,doUpdateCheck){const availableCacheNames=await GetAvailableCacheNames();if(!availableCacheNames.length)return fetch(event.request);const useCacheName=await GetCacheNameToUse(availableCacheNames,doUpdateCheck);const cache=await caches.open(useCacheName);const cachedResponse=await cache.match(event.request);if(cachedResponse)return cachedResponse;const result=await Promise.all([fetch(event.request),ReadLazyLoadListFromStorage()]);const fetchResponse=result[0];const lazyLoadList= result[1];if(IsUrlInLazyLoadList(event.request.url,lazyLoadList))try{await cache.put(event.request,fetchResponse.clone())}catch(err){console.warn(CONSOLE_PREFIX+"Error caching '"+event.request.url+"': ",err)}return fetchResponse} self.addEventListener("fetch",event=>{if((new URL(event.request.url)).origin!==location.origin)return;const doUpdateCheck=event.request.mode==="navigate";const responsePromise=HandleFetch(event,doUpdateCheck);if(doUpdateCheck)event.waitUntil(responsePromise.then(()=>UpdateCheck(false)));event.respondWith(responsePromise)}); PK �V[ݘf! ! workermain.jsnu �[��� 'use strict';let hasInitialised=false;let runtime=null;function HandleInitRuntimeMessage(e){const data=e.data;if(data&&data["type"]==="init-runtime"){InitRuntime(data);self.removeEventListener("message",HandleInitRuntimeMessage)}}self.addEventListener("message",HandleInitRuntimeMessage);self.c3_import=url=>import(url);function IsAbsoluteURL(url){return/^(?:[a-z\-]+:)?\/\//.test(url)||url.substr(0,5)==="data:"||url.substr(0,5)==="blob:"}function IsRelativeURL(url){return!IsAbsoluteURL(url)} async function LoadScripts(scriptsArr){if(scriptsArr.length===1){const url=scriptsArr[0];await import(((IsRelativeURL(url)?"./":"")+url))}else{const scriptStr=scriptsArr.map(url=>`import "${IsRelativeURL(url)?"./":""}${url}";`).join("\n");const blobUrl=URL.createObjectURL(new Blob([scriptStr],{type:"application/javascript"}));try{await import(blobUrl)}catch(err){console.warn("[Construct] Unable to import script from blob: URL. Falling back to loading scripts sequentially, which could significantly increase loading time. Make sure blob: URLs are allowed for best performance.", err);for(const url of scriptsArr)await import(((IsRelativeURL(url)?"./":"")+url))}}} async function InitRuntime(data){if(hasInitialised)throw new Error("already initialised");hasInitialised=true;const messagePort=data["messagePort"];const runtimeBaseUrl=data["runtimeBaseUrl"];const exportType=data["exportType"];self.devicePixelRatio=data["devicePixelRatio"];const workerDependencyScripts=data["workerDependencyScripts"].map(urlOrBlob=>{let url=urlOrBlob;if(urlOrBlob instanceof Blob)url=URL.createObjectURL(urlOrBlob);else url=(new URL(url,runtimeBaseUrl)).toString();return url});const runOnStartupFunctions= [];self.runOnStartup=function runOnStartup(f){if(typeof f!=="function")throw new Error("runOnStartup called without a function");runOnStartupFunctions.push(f)};const engineScripts=data["engineScripts"].map(url=>(new URL(url,runtimeBaseUrl)).toString());try{await LoadScripts([...workerDependencyScripts,...engineScripts])}catch(err){console.error("[C3 runtime] Failed to load all engine scripts in worker: ",err);return}const scriptsStatus=data["projectScriptsStatus"];self["C3_ProjectScriptsStatus"]= scriptsStatus;const mainProjectScript=data["mainProjectScript"];const allProjectScripts=data["projectScripts"];for(let [originalUrl,loadUrl]of allProjectScripts){if(!loadUrl)loadUrl=originalUrl;if(originalUrl===mainProjectScript)try{await LoadScripts([loadUrl]);if(exportType==="preview"&&!scriptsStatus[originalUrl])ReportProjectMainScriptError(originalUrl,"main script did not run to completion",messagePort)}catch(err){ReportProjectMainScriptError(originalUrl,err,messagePort)}else if(originalUrl=== "scriptsInEvents.js"||originalUrl.endsWith("/scriptsInEvents.js"))await LoadScripts([loadUrl])}data["runOnStartupFunctions"]=runOnStartupFunctions;if(exportType==="preview"&&typeof self.C3.ScriptsInEvents!=="object"){const msg="Failed to load JavaScript code used in events. Check all your JavaScript code has valid syntax.";console.error("[C3 runtime] "+msg);messagePort.postMessage({"type":"alert-error","message":msg});return}messagePort.postMessage({"type":"creating-runtime"});runtime=self["C3_CreateRuntime"](data); await self["C3_InitRuntime"](runtime,data)}function ReportProjectMainScriptError(url,err,messagePort){console.error(`[Preview] Failed to load project main script (${url}): `,err);const msg=`Failed to load project main script (${url}). Check all your JavaScript code has valid syntax. Press F12 and check the console for error details.`;messagePort.postMessage({"type":"alert-error","message":msg})}; PK �V[�� � style.cssnu �[��� html, body { padding: 0; margin: 0; overflow: hidden; } body { min-width: 100%; width: 100%; max-width: 100%; min-height: 100%; height: 100%; max-height: 100%; background: #000000; color: white; } html, body, canvas { touch-action-delay: none; touch-action: none; } canvas, .c3htmlwrap { position: absolute; } .c3htmlwrap { contain: strict; } .c3overlay { pointer-events: none; } .c3htmlwrap > * { pointer-events: auto; } /* HACK - work around elements being selectable only in iOS WKWebView for some reason */ html[ioswebview] .c3htmlwrap, html[ioswebview] canvas { -webkit-user-select: none; user-select: none; } html[ioswebview] .c3htmlwrap > * { -webkit-user-select: auto; user-select: auto; } #notSupportedWrap { margin: 2em auto 1em auto; width: 75%; max-width: 45em; border: 2px solid #aaa; border-radius: 1em; padding: 2em; background-color: #f0f0f0; font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif; color: black; } #notSupportedTitle { font-size: 1.8em; } .notSupportedMessage { font-size: 1.2em; } .notSupportedMessage em { color: #888; } /* bbcode styles */ .bbCodeH1 { font-size: 2em; font-weight: bold; } .bbCodeH2 { font-size: 1.5em; font-weight: bold; } .bbCodeH3 { font-size: 1.25em; font-weight: bold; } .bbCodeH4 { font-size: 1.1em; font-weight: bold; } .bbCodeItem::before { content: " • "; } /* For text icons converted to HTML: size the height to the line height preserving the aspect ratio. Also add position: relative as that allows just adding a 'top' style for the iconoffsety style. */ .c3-text-icon { height: 1em; width: auto; position: relative; } /* screen reader text */ .c3-screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }PK �V[?�s�t t images/block-sheet0.pngnu �[��� �PNG IHDR f�:% sRGB ��� PLTE���d�k IDAT� � ��~7` �! ��� IEND�B`�PK �V[>�w<1� 1� images/shared-0-sheet2.pngnu �[��� �PNG IHDR m��� sRGB ��� ��IDATx��XT���[��) TT�����݈�����z����ݝ��"0����.���X�s�o>pٽ{����̙�3G"፷\� J~A ���G)�RF�R�kj�{���#�o ���[.S�(EQ�Q����ءx����E�(H[�5O�=�ު�g� ��0�Z]���c!��ݻ��|�b�C�L���(7P�P_2�a��Snj/ğ�QBP�d�ġ@&I�G��sΡ�(��C)�b���/���('P.��D��rO�;�k���l>C�m$\��p�l�A��ޚ��~���}���-0�]a���o�����g�A/�A�{ٙ�7��4�߭[7T�ۙ���"�f�����@����ʨrK��t�f�/$��(MPƠlC����J8��8��T$NxO����5��k �U0;@P�sg5C0�� ���I�`ܧ1 P���2�j��x�>~N9��-[�,��?%��K�.���������NNN���k�N�:���͛7� DP�f���UR �d>*I)L�E]�1�*��7�-̠��94m�{����i{V��˺"�o�3त`+>)��J�%(�P^J�SP�A������I�^���iv���߷�A/?0�m�X���NI �Ĩ�ϡZ}��g��b�gKR�ڵk����J���=����[�3A�ב�$�Ёms�����ʌ�g]K�1���E��=+ 8�����e9�5�O��A�O�k�w\EY&|���@�;}2�峖g�I�V��WIT�wF����ז[f��W��^K�w�+��k=��z�m @�x&)Z ���2vR!���(@`N���3I1~^Ӆ�� Uv|F�E@}@0'�����sG��r^P��LV��`@��"�l��(:to�7 g��}��*�ݧ?�ͬ�� d��/�����>G&�3�q_@в�b�O�,w��2ēR��$}(ڴiӦM�e˖��+`���0o�<�3g�/e�ܹ��_�ҥK�uM����4�E�J�ܺu�! .z���>g�N<))ȯ�'7HZ�C}$+�-��e��Oa��(����lR��@@�e�pOՅ{��o A�N0����(�p�/"�R+�����4���$h��6xo����r���j���yA��, *�e��6lgΜ�?~�$&&<x .\��\�t �|����$22�^����u�����~���n� 4P��U���t �2)?��S���N�>�"�7�`\��/*x���~����'��9�Qh)�k� ���Z��dG0�}oq�.+�Ǩ��;9�� �f#=�q�%4XY�A�g��$�����H�}|>��� �K�@N2;;;���͛7ɔ��Ç�Rҋ/BHHH���۷op�ڵt]��͛�n�?w��q�Ct����n��%E '���e��Q�F}��@]�D��um��P~Zcۣ�Bv�sh�O��{����R"#�z�q6P;����`У�S�!��ɽ-���G��gY3q�k� @�l��H|ֹA��>da�Xf�s�sI �A&?Ь��g���߲e�B):�+_ *�\R�����*�I۩S���wa��� (?)�3�B!,�d�/r>AY$�s��B�b �f� Sh�6`ؽ�=���Ig�f��gQ�����'�Ͷ���q��-�9(B`�#��Y,�6M��@��e��5R ����.T5���~֯__�i8�����e���W�&���P ������ (�s����-V��E½KD �N��fZm� n�0`/kT�r���o1�����K�%�2����h�0��L�\�L |&%���O�!U0�S�����,�]�gR���f��M�>]e@��b?;47��e j�zz�0���!��9H�Zz� �S L�G ��3��W�f|��י��|��R�-.ꯐ�њ��n�c2���&�}�bP�E��HRJ�����j3�(�gϖ��� |L ��ͼ�e�#��6��϶>���cC}5��]���m�p�@�!B�A �iRE���~�[8�2��<�8�0���`���&U8̱Qp ���1�r�g�+�$��3 ?���v�6�Ba�,�Oi �)�w��(���m�ʕ� �5�)I>�BX��\˭��,�)�/0]��6S�X��|�:-�u�-��A��3�犯[��X,] R�:t ��(O�g���Kf: hP��_��d|� H J �9��bB��.!�����"A��N�zԷ��v:��8&��(&z�1k0M ��R� ��> HZlv�� `��L ͒���/^�Px�� �� ��� �Nӿ 9H^*I�?3�^Y�5S[ XF N@R���[�:���q��M�bL=�[�p�'� 4^k�"