Файловый менеджер - Редактировать - /home/jogoso94/public_html/static/img/logo/gameapi.tar
�азад
v1.js 0000644 00000153376 15043717150 0005452 0 ustar 00 var api; if (typeof window !== "undefined" && !window.famobi) { ! function(a, b) { var famobi = { orientationChangeCallback: null, brandingLogo: null, config: null, reached_home: false, splashComplete: false, init: function() { return new Promise(function(resolve, reject) { // famobi.json if(!this.config) { readTextFile("famobi.json", function(text){ var data = JSON.parse(text); if(!data.game_i18n) { console.error("famobi.json: field name 'game_i18n' is missing. For more information please visit: https://sites.google.com/a/famobi.com/api-docs/api-implementation/localization"); return; } this.config = data; if(this.config.disable_console) { window.console = { log: function() {}, warn: function() {}, info: function() {}, error: function() {} }; } this.log("init..."); this.game.init(); this.includeCSS("html5games/gameapi/v1/play.css"); // include css files for(var i = 0; this.config.includeCSS && i < this.config.includeCSS.length; i++) { this.includeCSS(this.config.includeCSS[i]); } window.famobi_gameJS.unshift("custom.js"); window.famobi_gameJS.unshift("html5games/gameapi/famobi_analytics_v1.js"); window.famobi_gameJS.unshift("html5games/gameapi/detection.js"); window.famobi_gameJS.unshift("html5games/gameapi/zepto.min.js"); // js files for(var i = 0; this.config.includeJS && i < this.config.includeJS.length; i++) { window.famobi_gameJS.unshift(this.config.includeJS[i]); } // orientation change window.addEventListener("orientationchange", function() { if (typeof this.orientationChangeCallback == "function") { this.orientationChangeCallback(); } }.bind(this), false); // aid var aid = this.getUrlParams()["fg_aid"]; window.famobi_multiplayer = this.config.features.multiplayer || false; this.config.gameParams = this.config.gameParams || {}; window.addEventListener("famobi_tracking_screen",(e)=>{ if(this.config.autoShowMenuScreens && this.config.autoShowMenuScreens.includes(e.detail.screen)) { this.reached_home = true; setTimeout(()=>{ //<< DIRTY FIX if(this.splashComplete)window.famobi.menu.show();},1000); //Menu wouldn't reopen because of some timing issue where it was immediatellzy closed after this command ran, so now the call is delayed by 1 second - performance wise not the best option } }) if(this.config.show_splash)this.showSplashScreen(()=>{ this.splashComplete = true; if(this.reached_home)window.famobi.menu.show(); }); var getGameTitle = function() { String.prototype.replaceAll = function(search, replacement) { var target = this; return target.split(search).join(replacement); }; function toTitleCase(str) { return str.replace(/\w\S*/g, function(txt){ return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); } return toTitleCase(window.famobi_gameID.replaceAll("-", " ")); }; document.title = this.config.title || getGameTitle(); // ads this.config.ads = this.config.ads || {}; resolve((window.famobi_gameID === "running-jack") ? false : true); }.bind(this)); } function readTextFile(file, callback) { var rawFile = new XMLHttpRequest(); rawFile.overrideMimeType("application/json"); rawFile.open("GET", file, true); rawFile.onreadystatechange = function() { if (rawFile.readyState === 4 && rawFile.status == "200") { callback(rawFile.responseText); } }; rawFile.send(null); } }.bind(this)); }, showInterstitialAd: function(force) { var _this = this; return new Promise(function(resolve, reject) { _this.showAd(function() { resolve(); }, force); }); }, forceAd: function(callback) { this.showAd(callback, true); }, rewardedAd: function(callback) { if (typeof callback == "function") { callback(); } }, showAd: function(callback, force) { if(!!this.config.ads.off) { this.log("ads: off"); if (typeof callback == "function") { callback(); } return; } this.log("showing ad..."); this.game.pause(); Promise.all([]).then(function(){ this.log("ad finished"); if (typeof callback == "function") { callback(); } setTimeout(function() { this.game.resume(); }.bind(this), 100); }.bind(this), function(){ this.log("ad finished"); if (typeof callback == "function") { callback(); } setTimeout(function() { this.game.resume(); }.bind(this), 100); }.bind(this)); }, ads: { adcount: 0, lastAdCall: null, hasCooledDown: function() { var self = window.famobi; var min_s_between = this.adcount === 0 && +self.config.ads.min_s_before > 0 ? +self.config.ads.min_s_before : +self.config.ads.min_s_between; var ret = self.now() - min_s_between * 1000 > M.lastAdCall; return ret; } }, // Localization gametranslation: { init: function() { window.famobi.gametranslation.curLangString = window.famobi.gametranslation.getUserLang(); // Always fall back to 'en' when the user locale is not supported or translated if (window.famobi.gametranslation.getSupportedLanguages().indexOf(window.famobi.gametranslation.curLangString) === -1) { window.famobi.gametranslation.curLangString = "en"; } window.famobi.gametranslation.translationData = window.famobi.gametranslation.getGameTranslations(); window.famobi.gametranslation.translateHtml(faZepto("body")); }, getSupportedLanguages: function() { return window.famobi.config.languages || Object.keys(window.famobi.config.game_i18n) || []; }, getGameTranslations: function() { var i18n = window.famobi.config.game_i18n, lang = window.famobi.gametranslation.curLangString; if (i18n.current) { return i18n.current; } faZepto.each(i18n, function(language, translations) { faZepto.each(translations, function(key, value) { if (value == null) { i18n[language][key] = ""; } else if (typeof i18n[language][key] === "string") { i18n[language][key] = value.replace(/\{lang\}/g, language); } }); }); i18n.current = faZepto.extend( {}, i18n["default"], i18n[window.famobi.config.aid + ".default"], i18n[lang], i18n[window.famobi.config.aid + "." + lang] ); return (window.famobi.config.game_i18n.current = i18n.current); }, translateString: function(key) { return window.famobi.gametranslation.translationData.hasOwnProperty(key) ? window.famobi.gametranslation.translationData[key] : null; }, getNavigatorLocale: function() { var language = ""; if (navigator.languages && window.famobi.sizeOf(navigator.languages)) { language = navigator.languages[0]; } else if (navigator.language) { language = navigator.language; } else if (navigator.userLanguage) { language = navigator.userLanguage; } else if (navigator.browserLanguage) { language = navigator.browserLanguage; } return language; }, getNavigatorLanguage: function() { return window.famobi.gametranslation.getNavigatorLocale().substr(0, 2); }, getUserLang: function() { var urlParams = window.famobi.getUrlParams(), lang = window.famobi.gametranslation.getNavigatorLanguage(); if (urlParams.locale && urlParams.locale.length == 2) { return urlParams.locale; } switch (lang) { case "ch": case "at": return "de"; default: return lang; } }, translateHtml: function($selector) { $selector.find("[data-i18n]").each(function() { var textkey = this.getAttribute("data-i18n"); this.innerHTML = window.famobi.gametranslation.translateString(textkey); }); return $selector; } }, __: function(key) { switch(key) { case "test_preload_image": return "html5games/images/testPreloadImage.png"; case "preload_image": return "html5games/images/" + (this.config.preload_image || "preloadImage") + ".png"; case "more_games_image": return this.getBrandingButtonImage(); default: // do nothing } var lang = this.getCurrentLanguage(); if(this.config.game_i18n) { if(this.config.game_i18n[lang]) { this.config.game_i18n[lang] = Object.assign(this.config.game_i18n[lang], this.config.game_i18n[this.config.aid+"."+lang]); } if(this.config.game_i18n[lang] && this.config.game_i18n[lang][key]) { if(typeof this.config.game_i18n[lang][key] === "string") { return this.config.game_i18n[lang][key].replace("{lang}", lang); } return this.config.game_i18n[lang][key]; } if(this.config.game_i18n.default) { this.config.game_i18n.default = Object.assign(this.config.game_i18n.default, this.config.game_i18n[this.config.aid+".default"]); } if(this.config.game_i18n.default && this.config.game_i18n.default[key]) { if(typeof this.config.game_i18n.default[key] === "string") { return this.config.game_i18n.default[key].replace("{lang}", lang); } return this.config.game_i18n.default[key]; } } this.warn("No translation found for '" + key + "'"); return null; }, getCurrentLanguage: function() { var locale; try{ locale = new URL(window.location.href).searchParams.get("locale") ; } catch(e) { console.error(e); } return locale || (navigator.language || navigator.userLanguage).substr(0, 2); }, showSplashScreen: function(pCallback, pShowTill_EVENT, pModal) { if(!document.getElementById("famobi_splash")) { //Splash Screen doesn't exist yet - Creating new Splash Screen from files in html5games/splash function readSplashFile(file, callback) { var rawFile = new XMLHttpRequest(); rawFile.overrideMimeType("application/xhtml+xml"); rawFile.open("GET", file, true); rawFile.onreadystatechange = function() { if (rawFile.readyState === 4 && rawFile.status == "200") { callback(rawFile.responseText); } }; rawFile.send(null); } readSplashFile("html5games/splash/splash.html",(response)=>{ this.includeCSS("html5games/splash/splash.css"); let splashScreen = document.createElement("div"); splashScreen.classList.add("splash-screen"); splashScreen.style.position = "absolute"; splashScreen.style.top = "0"; splashScreen.style.left = "0"; splashScreen.style.width = "100%"; splashScreen.style.height = "100%"; splashScreen.innerHTML = response; if(this.config.preload_image)splashScreen.querySelector(".logo").src = "html5games/images/"+this.config.preload_image+".png"; document.body.appendChild(splashScreen); this.splashScreen = splashScreen; if(pModal) return; //Show Modal does not define a closing condition and will keep the splash visible untill hideSplash is called manually if(!pShowTill_EVENT) { setTimeout(()=>this.hideSplashScreen(pCallback),this.config.splash_duration); } else { window.addEventListener(pShowTill_EVENT,()=>this.hideSplashScreen(pCallback)); } }); } else { //Splash Screen already exists, just need to reenable it. splashScreen.style.display = "block"; splashScreen.style.animation = splashScreen._orgAni; if(pModal) return; //Show Modal does not define a closing condition and will keep the splash visible untill hideSplash is called manually if(!pShowTill_EVENT) { setTimeout(()=>this.hideSplashScreen(pCallback),this.config.splash_duration); } else { window.removeEventListener(pShowTill_EVENT,()=>this.hideSplashScreen(pCallback)); window.addEventListener(pShowTill_EVENT,()=>this.hideSplashScreen(pCallback)); } } }, hideSplashScreen: function(pCallback) { this.splashScreen.style.display = "none"; if(!this.splashScreen._orgAni)this.splashScreen._orgAni = this.splashScreen.style.animation; //This saves the original animation - this is required to be able to rerun the animation the next time the splash is shown this.splashScreen.style.animation = "none"; if(pCallback)pCallback(this.splashScreen); }, getAbsolutePath: function(relativePath) { var absolutePath = document.location.protocol + "//" + document.location.pathname; // this method is only used for compatibility with Loaders in Cordova Apps, // otherwise absolute URIs with https://games.cdn.famobi.com are used if (document.location.protocol !== "file:") { return relativePath; } if (relativePath.startsWith("/")) { relativePath = relativePath.substr(1); } return ( absolutePath.substr(0, absolutePath.lastIndexOf("/") + 1) + relativePath ); }, menu: { create: function() { window.famobi.menu = this; window.famobi.menu.rootElement = document.getElementById("fg-root"); window.famobi.menu.bodyElement = document.getElementsByTagName("body")[0]; window.famobi.menu.headElement = document.getElementsByTagName("head")[0]; if (!window.famobi.menu.rootElement) { window.famobi.menu.rootElement = document.createElement("div"); window.famobi.menu.rootElement.setAttribute("id", "fg-root"); window.famobi.menu.rootElement.classList.add("fg_root"); window.famobi.menu.rootElement.style = "color: #999;font-weight:normal;"; document.body.insertBefore(window.famobi.menu.rootElement, document.body.firstChild); } // overlay window.famobi.menu.fgOverlay = document.createElement("div"); window.famobi.menu.fgOverlay.setAttribute("id","fg-overlay"); if (window.famobi.config.overlay_position) window.famobi.menu.fgOverlay.className = "overlay-" + window.famobi.config.overlay_position + " clip-" + window.famobi.config.overlay_position; if ( window.famobi.config.overlay_distance && window.famobi.config.overlay_distance !== "" ) { if ( window.famobi.config.overlay_position && window.famobi.config.overlay_position == "bottom" ) window.famobi.menu.fgOverlay.style.bottom = isNaN( window.famobi.config.overlay_distance ) ? window.famobi.config.overlay_distance : window.famobi.config.overlay_distance + "px"; else window.famobi.menu.fgOverlay.style.top = isNaN( window.famobi.config.overlay_distance ) ? window.famobi.config.overlay_distance : window.famobi.config.overlay_distance + "px"; } window.famobi.menu.rootElement.appendChild(window.famobi.menu.fgOverlay); window.famobi.menu.fgOverlay.innerHTML = '<header id="fg-header"><div class="fg-clip" id="fg-clip"><div class="fg-clip-btn"><span></span></div></div></header>'; window.famobi.menu.fgNavigation = document.createElement("nav"); window.famobi.menu.fgNavigation.style.position = "relative"; window.famobi.menu.fgNavigation.setAttribute("id", "fg-navigation"); window.famobi.menu.fgOverlay.appendChild(window.famobi.menu.fgNavigation); window.famobi.menu.fgOverlay_visible = false; window.famobi.menu.fgHeader = document.getElementById("fg-header"); faZepto("#fg-clip, #fg-logo").each(function() { window.famobi.menu.handleClick(this, window.famobi.menu.toggleOverlay); }); let currlang = window.famobi.getCurrentLanguage(); //console.log("currlang: "+currlang); let langButtons = ""; if(window.famobi.config.supportedLanguages && window.famobi.config.supportedLanguages.length > 1) { langButtons = '<ul class="fg-langs">'; let lang = ""; for(let l in window.famobi.config.supportedLanguages) { lang = window.famobi.config.supportedLanguages[l]; langButtons += `<li class="${(lang == currlang) ? 'fg-lang fg-lang-selected' : 'fg-lang'}" data-switch-lang="${lang}" style="cursor: pointer;"> <a href="javascript:void(0);"> <img class="fg-flag" src="html5games/images/flags/flag_${lang}.png" alt="${lang}"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 841.9 459" xml:space="preserve"> <path d="M630.7,227.3"></path> <path d="M21.5,17.9c-3.9,0-7.4,2.3-8.9,6c-1.6,3.7-0.6,7.8,2.1,10.5l399.7,399.7c1.9,1.9,4.5,2.9,6.8,2.9c2.3,0,5.1-1,6.8-2.9 L827.4,34.7c2.7-2.5,3.7-6.8,2.1-10.7c-1.6-3.7-5.1-6-8.9-6H21.5z"></path> </svg> </a> </li>`; } langButtons += '</ul>'; } //console.log(window.famobi.config.game_i18n); let menuButtons = (window.famobi.hasFeature("highscores")) ? `<ul class="fa-menu-buttons"> <li data-famobi-href="leaderboard"> <a href="javascript:void(0);" class="fa-menu-button-leaderboard"> <img src="html5games/images/leaderboard2.svg" alt="leaderboard"> </a> </li> </ul>` : ""; var menuHtml = `${menuButtons} <ul class="fg-related-games"> <li> <a href="${window.famobi.config.branding_url || window.famobi.config.more_games_url}" target="_blank"> <img src="html5games/images/icon.svg" alt="${window.famobi.config.name}"> </a> </li> </ul> ${langButtons}`; window.famobi.menu.setHtml(menuHtml); if(window.famobi.config.menuless) { window.famobi.menu.fgOverlay.style.display = "none"; } }, show: function() { if (window.famobi.menu.fgOverlay_visible) { return window.famobi.menu; } let leaderboardBtnImage = window.famobi.menu.fgNavigation.querySelector(".fa-menu-button-leaderboard img"); if(leaderboardBtnImage) { window.famobi.menu.fgNavigation.querySelector(".fa-menu-button-leaderboard img").style.animation = "growAndShake 1s linear 1s 1 forwards"; setTimeout(()=>window.famobi.menu.fgNavigation.querySelector(".fa-menu-button-leaderboard img").style.animation = "none",2000); } var $fullscreenIcon = faZepto("#fg-overlay .fa-menu-button-fullscreen"); this.hideAll(); window.famobi.menu.eventHandler = window.famobi.menu.handleClick(faZepto("html").get(0), this.hideAll); faZepto("html").get(0).style.cursor = "pointer"; if ( !document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) { $fullscreenIcon .removeClass("fa-fullscreen-enabled") .addClass("fa-fullscreen-disabled"); } else { $fullscreenIcon .removeClass("fa-fullscreen-disabled") .addClass("fa-fullscreen-enabled"); } window.famobi.menu.fgOverlay_visible = true; faZepto(window.famobi.menu.fgOverlay).addClass("navigation-view"); window.famobi.menu.fgNavigation.style.display = ""; return window.famobi.menu; }, hide: function() { return hideAll(); }, hideAll: function() { if (!window.famobi.menu.fgOverlay_visible) { return window.famobi.menu; } if (window.famobi.menu.eventHandler) { window.famobi.menu.removeClick(faZepto("html").get(0), window.famobi.menu.eventHandler); } var $fgOverlay = faZepto(window.famobi.menu.fgOverlay); $fgOverlay.removeClass("iframe-view navigation-view fa-lang-shown"); window.famobi.menu.fgOverlay_visible = false; return window.famobi.menu; }, handleClick: function(element, callback) { var eventHandler = function(e) { callback.call(this, e); e.cancelBubble = true; e.stopPropagation(); return false; }; if (typeof callback === "function") { // http://stackoverflow.com/questions/13396297/windows-phone-8-touch-support // // Performing operations that require explicit user interaction on touchstart events is deprecated and will be removed in M54, around October 2016. See https://www.chromestatus.com/features/5649871251963904 for more details. if (window.navigator.msPointerEnabled) { element.addEventListener("MSPointerDown", eventHandler, false); } else if (window.PointerEvent) { element.addEventListener("pointerup", eventHandler, false); element.addEventListener("pointermove", this.eventTrap, true); element.addEventListener("pointerdown", this.eventTrap, true); } else if (detection.is.touch) { element.addEventListener("touchend", eventHandler, false); element.addEventListener("touchmove", this.eventTrap, true); element.addEventListener("touchstart", this.eventTrap, true); } else { element.addEventListener("click", eventHandler, false); } element.style.cursor = "pointer"; } return eventHandler; }, removeClick: function(element, eventHandler) { if (typeof eventHandler === "function") { if (window.navigator.msPointerEnabled) { element.removeEventListener("MSPointerDown", eventHandler, false); } else if (window.PointerEvent) { element.removeEventListener("pointerup", eventHandler, false); element.removeEventListener("pointermove", this.eventTrap, true); element.removeEventListener("pointerdown", this.eventTrap, true); } else if (detection.is.touch) { element.removeEventListener("touchend", eventHandler, false); element.removeEventListener("touchmove", this.eventTrap, true); element.removeEventListener("touchstart", this.eventTrap, true); } else { element.removeEventListener("click", eventHandler, false); } } return element; }, eventTrap: function(e) { e.preventDefault(); e.cancelBubble = true; e.stopPropagation(); }, toggleOverlay: function(e) { if (window.famobi.menu.fgOverlay_visible) { window.famobi.menu.hideAll(); } else { window.famobi.menu.show(); } e.stopPropagation(); return false; }, setHtml: function(html) { window.famobi.menu.fgNavigation.innerHTML = html; window.famobi.menu.bindEvents(); }, toggleLanguages: function() { var $overlayNode = faZepto(window.famobi.menu.fgOverlay); if ($overlayNode.hasClass("fa-lang-shown")) { $overlayNode.removeClass("fa-lang-shown"); } else { $overlayNode.addClass("fa-lang-shown"); } }, switchLanguage: function(lang) { var params = window.famobi.getUrlParams(), qs = ""; window.famobi.menu.hideAll(); params.locale = lang; qs = faZepto.param(params); document.location.replace( document.location.pathname + "?" + qs + (document.location.hash ? document.location.hash : "") ); }, bindEvents: function() { faZepto("[data-switch-lang]").each(function() { var $this = faZepto(this), lang = faZepto(this).attr("data-switch-lang"); $this.removeClass("fg-lang-selected"); if (lang === window.famobi.gametranslation.curLangString) { // Move selected language to first position $this.closest("ul").prepend($this); $this.addClass("fg-lang-selected"); } window.famobi.menu.handleClick(this, function() { if ($this.hasClass("fg-lang-selected") === true) { window.famobi.menu.toggleLanguages(); } else { if (lang.length) { window.famobi.menu.switchLanguage(lang); } } }); }); faZepto("[data-famobi-href]") .css("cursor", "pointer") .each(function() { var callback = function() { var link = faZepto(this).attr("data-famobi-href"); window.famobi.menu.hideAll(); switch (link) { case "moreGames": return window.famobi.menu.moreGamesLink(); case "back": return window.famobi.menu.backLink(); case "leaderboard": return window.famobi.showLeaderboard(); default: if (this.href) { window.open(this.href, ""); return false; } } }; window.famobi.menu.handleClick(this, callback.bind(this)); }); } }, getMoreGamesButtonImage: function() { return this.brandingLogo ? this.brandingLogo.src : "html5games/images/" + (this.config.more_games_button_image || "logo") + ".png"; }, getBrandingButtonImage: function() { return this.brandingLogo ? this.brandingLogo.src : "html5games/images/" + (this.config.branding_button_image || this.config.more_games_button_image || "logo") + ".png"; }, moreGamesLink: function() { var url = "https://famobi.com"; if(url = this.config.more_games_url) { window.open(url, "") || (window.top.location.href = url); } else { return; confirm("redirecting to... " + url) && (window.open(url, "") || (window.top.location.href = url)); // handles the link target in production version, depends on user language } }, openBrandingLink: function() { this.moreGamesLink(); }, localStorage: { setItem: function(key, value) { window.localStorage.setItem(window.famobi_gameID + ":" + key, value); }, getItem: function(key) { return window.localStorage.getItem(window.famobi_gameID + ":" + key); }, removeItem: function(key) { window.localStorage.removeItem(window.famobi_gameID + ":" + key); }, clear: function() { for (var key in window.localStorage) { if (key.startsWith(window.famobi_gameID + ":")) { window.localStorage.removeItem(key); } } } }, log: function() { if(this.config && !this.config.logging) { return; } console.log(arguments.length === 1 ? arguments[0] : arguments); }, warn: function() { if(this.config && !this.config.logging) { return; } console.warn(arguments.length === 1 ? arguments[0] : arguments); }, orientation: { init: function() { this.rootElement = document.getElementById("fg-root"); this.update(window.famobi.config.gameParams.orientation); }, update: function(orientation) { // show rotation screen? if ( typeof orientation != "undefined" && (window.famobi.config.rotation || (window.famobi.config.rotation !== false && !detection.is.pc && !detection.is.tablet)) && window.screen && window.screen.height !== window.screen.width ) { this.rootElement.className = this.rootElement.className + " fg-orientation-" + orientation; if (typeof this.fgLandscapeOverlay == "undefined") { this.fgLandscapeOverlay = document.createElement("div"); this.fgLandscapeOverlay.setAttribute("id", "fg-landscape-overlay"); this.fgLandscapeImage = document.createElement("img"); this.fgLandscapeImage.setAttribute( "src", "html5games/images/RotateToLandscape.png" ); this.fgLandscapeImage.setAttribute("class", "fg-orientation-icon"); this.fgLandscapeImage.setAttribute("alt", "switch to landscape"); this.fgLandscapeOverlay.appendChild(this.fgLandscapeImage); this.rootElement.appendChild(this.fgLandscapeOverlay); } if (typeof this.fgPortraitOverlay == "undefined") { this.fgPortraitOverlay = document.createElement("div"); this.fgPortraitOverlay.setAttribute("id", "fg-portrait-overlay"); this.fgPortraitImage = document.createElement("img"); this.fgPortraitImage.setAttribute( "src", "html5games/images/RotateToPortrait.png" ); this.fgPortraitImage.setAttribute("class", "fg-orientation-icon"); this.fgPortraitImage.setAttribute("alt", "switch to portrait"); this.fgPortraitOverlay.appendChild(this.fgPortraitImage); this.rootElement.appendChild(this.fgPortraitOverlay); } } return this; } }, sizeOf: function(data) { var length = 0; var prop; if (!data) { return length; } if (typeof data.length != "undefined") { return data.length; } if (Object.keys) { // available since ECMAScript 5 and in some browser 10x faster length = Object.keys(data).length; } else { for (prop in data) { if (data.hasOwnProperty(prop)) { length++; } } } return length; }, getOrientation: function() { var orientationMatch = window.matchMedia('all and (orientation:landscape)'); if(orientationMatch && orientationMatch.matches === true) { return 'landscape'; } return 'portrait'; }, onOrientationChange: function(callback) { this.orientationChangeCallback = callback; if (typeof callback !== "function") { this.error("famobi.onorientationchange: no valid callback provided."); } return faZepto(window).resize(callback); }, // DEPRECATED FUNCTIONS submitHighscore: function(level, score, isTriggered) { !isTriggered && this.warn("famobi.submitHighscore is deprecated, please use famobi_analytics.trackEvent('EVENT_LEVELSCORE')instead: https://sites.google.com/a/famobi.com/api-docs/api-implementation/famobi-analytics"); }, levelUp: function() { this.warn("famobi.levelUp is deprecated, please use famobi_analytics.trackEvent('EVENT_LEVELSUCCESS') instead: https://sites.google.com/a/famobi.com/api-docs/api-implementation/famobi-analytics"); }, gameOver: function() { this.warn("famobi.gameOver is deprecated, please use famobi_analytics.trackEvent('EVENT_LEVELFAIL') instead: https://sites.google.com/a/famobi.com/api-docs/api-implementation/famobi-analytics"); }, includeCSS: function(href) { var head = document.getElementsByTagName('head')[0], link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = href; head.appendChild(link); }, sendLiveScore: function(liveScore) { // todo }, hasRewardedAd: function() { return this.hasFeature("rewarded"); }, hasFeature: function(feature) { if(feature == "local") feature = "standalone"; return this.config.features && this.config.features[feature] ? true : false; }, getAppLink: function() { return ""; }, getUrlParams: function(a, b, c) { a = /[?&]?([^=]+)=([^&]*)/g, b = document.location && document.location.search ? document.location.search.split("+").join(" ") : ""; for (var d = {}; c = a.exec(b);) d[decodeURIComponent(c[1])] = decodeURIComponent(c[2]); if(d['fg_aid']) { this.config.aid = d['fg_aid']; } else { d['fg_aid'] = this.config.aid; } return d; }, showLeaderboard: function() { if(!window.famobi.hasFeature("highscores")) return; }, game: { waitingCounter: 0, setWaiting: function(newVal) { newVal ? this.waitingCounter++ : this.waitingCounter > 0 ? this.waitingCounter-- : (this.waitingCounter = 0); return this; }, isWaiting: function() { return this.waitingCounter > 0; }, canResume: function() { return this.waitingCounter === 1; }, init: function() { this.waitingCounter = 0; }, pause: function() { if (this.isWaiting()) { //window.famobi..log('game is already waiting, do not pause'); this.setWaiting(true); return false; } this.setWaiting(true); try { if (typeof window.famobi_onPauseRequested == "function") { window.famobi_onPauseRequested(); return true; } // Phaser if (window.game && typeof window.game.paused !== "undefined") { window.game.paused = true; return true; } // Construct 2 if (typeof window.cr_setSuspended !== "undefined") { cr_setSuspended(true); //faZepto('<iframe id="fg-clickthrough-frame" src="about:blank" style="width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 999"></iframe>').appendTo(window.famobi..rootElement); return true; } // CreateJS <3 if (typeof window.createjs !== "undefined") { //window.createjs.Sound.setMute(true); } } catch (e) { window.famobi.log("Pausing game failed: " + e); } }, resume: function() { if (!this.isWaiting()) { //window.famobi..log('game is not waiting, do not resume'); return false; } if (!this.canResume()) { //window.famobi..log('game is still waiting, do not resume'); this.setWaiting(false); return false; } this.setWaiting(false); try { if (typeof window.famobi_onResumeRequested == "function") { window.famobi_onResumeRequested(); return true; } // Phaser if (window.game && typeof window.game.paused !== "undefined") { window.game.paused = false; return true; } // Construct 2 if (typeof window.cr_setSuspended !== "undefined") { cr_setSuspended(false); //faZepto('iframe#fg-clickthrough-frame').remove(); return true; } // CreateJS <3 if (typeof window.createjs !== "undefined") { //window.createjs.Sound.setMute(false); } } catch (e) { window.famobi.log("Resuming game failed: " + e); } return false; } }, "adapters": { // TODO init: function() { }, list: function() { }, add: function(section, subsection, callback) { }, has: function(section, subsection) { }, run: function(section, subsection) { } } }; // export famobi object to global object b[a] = famobi; }('famobi', window); var isPageReady = new Promise(function(resolve, reject) { var readyRE = /complete|loaded|interactive/; if (readyRE.test(document.readyState) && document.body) { resolve(); } else { document.addEventListener('DOMContentLoaded', resolve, false); } }); isPageReady.then(function() { return window.famobi.init(); }).then(function() { Promise.all((window.famobi.config.ads && !!window.famobi.config.ads.show_initial) ? [window.famobi.showInterstitialAd(true)] : []).then(function() { setTimeout(function() { (function next() { if (!window.famobi_gameJS.length) { window.famobi.gametranslation.init(); window.famobi.menu.create(); window.famobi.orientation.init(); window.setTimeout(function() { var e = document.createEvent('Events'); e.initEvent("deviceready", true, false); document.dispatchEvent(e); }, 50); return; } var currentScript = window.famobi_gameJS.shift(); if (typeof currentScript === "function") { if(typeof Zepto !== "undefined" && typeof window.faZepto === "undefined") { window.faZepto = Zepto; // see https://github.com/blai/fashionista/issues/2 ;(function ($) { $.getScript = function(src, func, error_func) { var script = document.createElement('script'); script.async = "async"; script.src = src; if (func) { script.onload = func; } if (error_func) { script.onerror = error_func; } document.getElementsByTagName("head")[0].appendChild( script ); }; })(Zepto); } currentScript(); next(); } else { var scriptEl = document.createElement("script"); scriptEl.onload = next; scriptEl.onerror = next; scriptEl.src = currentScript; document.body.appendChild(scriptEl); } })(); }, window.famobi.config.nextTimeout || 0); }); }); } v1/play.css 0000644 00000325272 15043717150 0006567 0 ustar 00 #fg-root img { position: static } *, :focus { -webkit-tap-highlight-color: rgba(255, 255, 255, 0)!important; -webkit-focus-ring-color: rgba(255, 255, 255, 0)!important; outline: none!important } canvas { touch-action: none; -ms-touch-action: none } #fg-root { font-family: Helvetica, Verdana, sans-serif; z-index: 99990; text-align: left; height: 0; width: 0; font-size: 13px; -webkit-transform: translateZ(0deg); transform: translateZ(0deg) } #fg-root * { -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; box-sizing: initial } #fg-root a { cursor: pointer } #fg-root #fg-overlay { box-sizing: border-box; position: fixed; z-index: 99990; top: 10px; left: -80px; width: 80px; background-color: rgba(0, 0, 0, 0.2); transition: left 0.5s, width .25s; transition-delay: .15s } #fg-root #fg-overlay * { padding: 0; margin: 0 } #fg-root #fg-overlay.iframe-view { width: auto; left: 0; right: 50px; bottom: 10px; max-width: 480px } #fg-root #fg-overlay.iframe-view #fg-back { display: block } #fg-root #fg-overlay.iframe-view #fg-close { display: block } #fg-root #fg-overlay.iframe-view #fg-logo { margin: 0 36px } #fg-root #fg-overlay.iframe-view .fg-clip { right: -50px } #fg-root #fg-overlay #fg-header { width: 100% } #fg-root #fg-overlay #fg-back { float: left; display: none } #fg-root #fg-overlay #fg-back:before { border-color: #FFF } #fg-root #fg-overlay #fg-logo { margin: 0 } #fg-root #fg-overlay #fg-logo img { height: 30px; padding: 3px 10px 0; width: 130px } #fg-root #fg-overlay .fg-clip { display: block; position: absolute; height: 38px; width: 35px; top: 0; right: -35px; background-color: transparent; z-index: 3000 } #fg-root #fg-overlay .fg-clip-btn { padding-top: 15px; box-sizing: border-box; height: 36px; width: 24px; background-color: rgba(0, 0, 0, 0.2) } #fg-root #fg-overlay .fg-clip-btn span, #fg-root #fg-overlay .fg-clip-btn span:before, #fg-root #fg-overlay .fg-clip-btn span:after { position: relative; display: block; width: 5px; height: 5px; margin-left: 9px; background-color: #fff; border-radius: 50%; text-indent: -10000px } #fg-root #fg-overlay .fg-clip-btn span:before, #fg-root #fg-overlay .fg-clip-btn span:after { content: ''; margin-left: 0; position: absolute; top: -8px; left: 0 } #fg-root #fg-overlay .fg-clip-btn span:after { top: 8px } #fg-root #fg-overlay ul { margin: 0; padding: 0; list-style: none } #fg-root #fg-overlay ul.fa-menu-buttons { margin: 5px; } #fg-root #fg-overlay ul.fa-menu-buttons li { display: inline-block; margin: 0; padding: 5px } #fg-root #fg-overlay ul.fa-menu-buttons li a { display: block; box-sizing: border-box; /*padding: 14px;*/ width: 60px; height: 60px; background-color: transparent/*#fff*/; box-shadow: 0 0 6px rgba(0, 0, 0, 0.4) } #fg-root #fg-overlay ul.fa-menu-buttons li a svg { display: block!important; width: 100%; height: 100%; fill: #333 } #fg-root #fg-overlay ul.fa-menu-buttons li a.fa-menu-button-leaderboard img { animation: none; } @keyframes growAndShake { 0% {transform: scale(1) rotate(0deg);} 15% {transform: scale(2) rotate(0deg);} 35% {transform: scale(2) rotate(20deg);} 50% {transform: scale(2) rotate(-20deg);} 65% {transform: scale(2) rotate(20deg);} 75% {transform: scale(2) rotate(-20deg);} 85% {transform: scale(2) rotate(0deg);} 100% {transform: scale(1) rotate(0deg);} } #fg-root #fg-overlay ul.fa-menu-buttons li a.fa-menu-button-back { background-color: #4bb000 } #fg-root #fg-overlay ul.fa-menu-buttons li a.fa-menu-button-back svg { fill: #fff } #fg-root #fg-overlay ul.fa-menu-buttons li a.fa-menu-button-fullscreen.fa-fullscreen-disabled svg.fa-fullscreen-icon-enabled { display: none!important } #fg-root #fg-overlay ul.fa-menu-buttons li a.fa-menu-button-fullscreen.fa-fullscreen-enabled svg.fa-fullscreen-icon-disabled { display: none!important } #fg-root #fg-overlay ul.fa-menu-buttons+ul.fg-related-games { /* border-top: 1px solid rgba(255, 255, 255, 0.4); */ } #fg-root #fg-overlay ul.fg-langs { padding: 5px } #fg-root #fg-overlay ul.fg-langs li.fg-lang { cursor: pointer; display: none; margin: 5px } #fg-root #fg-overlay ul.fg-langs li.fg-lang a { display: block; width: 60px; height: 32px; background-color: #ddd; padding: 2px; box-sizing: border-box } #fg-root #fg-overlay ul.fg-langs li.fg-lang.fg-lang-selected { display: inline-block; text-align: left } #fg-root #fg-overlay ul.fg-langs li.fg-lang.fg-lang-selected a { background-color: #fff; box-shadow: 0 0 6px rgba(0,0,0,0.4); position: relative } #fg-root #fg-overlay ul.fg-langs li.fg-lang.fg-lang-selected a .fg-flag { margin: 4px; border: 1px solid #ccc } #fg-root #fg-overlay ul.fg-langs li.fg-lang.fg-lang-selected a svg { display: block; position: absolute; top: 14px; right: 6px; width: 11px; fill: #333 } #fg-root #fg-overlay ul.fg-related-games { padding: 5px; box-sizing: border-box } #fg-root #fg-overlay ul.fg-related-games li { cursor: pointer; display: inline-block; margin: 5px 5px 5px -90px; transition: margin .5s; transition-delay: .2s } #fg-root #fg-overlay ul.fg-related-games li:nth-child(2) { transition-delay: .3s } #fg-root #fg-overlay ul.fg-related-games li:nth-child(3) { transition-delay: .4s } #fg-root #fg-overlay ul.fg-related-games li:nth-child(4) { transition-delay: .5s } #fg-root #fg-overlay ul.fg-related-games li a { position: relative; display: block; box-sizing: border-box; padding: 4px; width: 60px; height: 60px; background-color: #fff; box-shadow: 0 0 6px rgba(0, 0, 0, 0.4) } #fg-root #fg-overlay ul.fg-related-games li a img { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-65%); width: 90%; } #fg-root #fg-overlay ul.fg-related-games+ul.fg-langs { border-top: 1px solid rgba(255, 255, 255, 0.4) } #fg-root #fg-overlay.fa-lang-shown { width: 150px } #fg-root #fg-overlay.fa-lang-shown ul.fg-related-games li { transition: none } #fg-root #fg-overlay.fa-lang-shown ul.fg-langs li.fg-lang { display: inline-block; text-align: center } #fg-root #fg-overlay.fa-lang-shown ul.fg-langs li.fg-lang a svg { display: none } #fg-root #fg-overlay.fa-lang-shown ul.fg-langs li.fg-lang.fg-lang-selected a .fg-flag { margin: 4px 0 0 } #fg-root #fg-overlay.fa-lang-shown ul.fg-langs li.fg-lang.fg-lang-selected a svg { display: none } #fg-root #fg-overlay a .fg-flag { max-height: 18px; margin-top: 4px } #fg-root #fg-overlay.navigation-view { left: 0; right: 10px } #fg-root #fg-overlay.navigation-view .fg-clip { width: 55px; right: -55px } #fg-root #fg-overlay.navigation-view .fg-clip .fg-clip-btn { width: 44px; padding-top: 8px } #fg-root #fg-overlay.navigation-view .fg-clip .fg-clip-btn span { position: relative; display: inline-block; width: 20px; height: 20px; margin-left: 12px; border-radius: 0; background: none; overflow: hidden } #fg-root #fg-overlay.navigation-view .fg-clip .fg-clip-btn span:before, #fg-root #fg-overlay.navigation-view .fg-clip .fg-clip-btn span:after { border-radius: 5px; height: 3px; margin-top: -2px; content: ''; position: absolute; width: 100%; top: 50%; left: 0; background: #fff } #fg-root #fg-overlay.navigation-view .fg-clip .fg-clip-btn span:before { -webkit-transform: rotate(45deg); transform: rotate(45deg) } #fg-root #fg-overlay.navigation-view .fg-clip .fg-clip-btn span:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg) } #fg-root #fg-overlay.navigation-view ul.fg-related-games li { margin-left: 5px } #fg-root .fg-app-overlay { position: fixed; bottom: -150px; left: 0; right: 0; z-index: 999999900; transition: bottom 1s ease-out } #fg-root .fg-app-overlay .fg-app-teaser { display: block; background-color: #fff; border: 1px solid #eee; width: 340px; max-width: 96%; margin: 0 auto; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 300; font-size: 17px; line-height: 1.2em } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner { display: flex; padding: 5px; padding-bottom: 0; position: relative } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner a { text-decoration: none; color: #333 } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-close { display: block; width: 20px; height: 20px; position: absolute; top: 3px; right: 3px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTUyN0U3MkYxQzJBMTFFNkIzQ0JEMjZENEIwOEZFREQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTUyN0U3MzAxQzJBMTFFNkIzQ0JEMjZENEIwOEZFREQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NTI3RTcyRDFDMkExMUU2QjNDQkQyNkQ0QjA4RkVERCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NTI3RTcyRTFDMkExMUU2QjNDQkQyNkQ0QjA4RkVERCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Psaz4KgAAAQkSURBVHjazJrfS1RBFMePZbJWtq1YpBSoRaxa4kIWBu1aQkgvLQg9ldmDUW/1Un9DvfgShfVU0qOxvYRhiStYSaBiuWSECOUaJFZuoqyinbOekeW69965c+9198AXRe/MfD+7c+bHncnv6OgAByIfdQoVRB1DHUWVoXahvKi/qAVUHPUVNY4aRL1HJZ0yoBrbUOdQV1EXUUUGz3pZBHci7e8J1EvUU1QfatWOGRX4K6jPqF7UZRMIoyji8r1cX6vqh2sV5AxqBPUMVQXORhV/MyPcRV0B8aAeoqKcA24G1d+PesTtOgZSzkl5E5UHWxPUzg1ut9wJkFrUO1QdZCfquP1aOyAB7kqlkN0oZR/HVUAOo16j9kJuBPl4haqwArIT9QK1D3IrDqIi7E8KpEOmT2YpatmfKUgTqh1yO9rZpy4IzagPrAyxhYWF0NDQYMuVQh157DNfb63VhvJbMdDS0gIlJSXg9Xqhp6dHCUKxDvJ5DfVE+43Qz7sqBlK1+v3Q3NysDKFYx530HiV+oVXsERUDGx+RBSNO1MF+m7QgrbKlKyoqNhmwYkQPQkRlZSUUFxfL2rmSDrIDFZYtGYvFYGBgQL/zGsCYQSSTSYhEIjA3NydrJ8z+UyD1VvcTw8PDlmFkIeLxuNX9TL0AaVQZNq3AuAQhIiSG32rVOYBgKILBoC4MBQG4BEFRI0D8YCNkYTLF7Ows9PX12YEQc0oK5JDdNYMZjB5Ed3c3LC4u2m3+gMgRnxMLILOccQlCJPzG8AtOwQwNDRk+QznhIATFHgGy7FSNZWVlEAgEDJ8pKCiAUCjk5Go4IUB+OwURDodTRk2zU2FtZhDzItm/o/ZvFYR2NItGo3a72U/xjUy4CUGJTXmhB0MTJU2YNuKLABl3E4ISmyY8PRiaKG3CxARIv5sQ1G1ownMRpl+AfBSZ7waECJdg/rH/jeE34iaEizARMX2IjVWXbEmPx2NrxjaDsRhd2h3iW9Q3mZKTk5MZjVhZdujBWFy6kN83WhA6Kbon+zFojaisnRyo4z6knXBtT5thx1CXqKtKrQsSCZiengafz5cypDKp2aiD5o7r6SB5msNQeivRC1t3DqISa6jz6d1K+6ZR5Eon5HY81kJkAqG4DevneLkY5OtWpn9kAlniXPmVYxA/2NeSLIgY2mgU+JMjEOTjgtEUYXT0NsyvWmayDDHDPj4ZPWR2GEpD8mnUaJYgRrn9MbMHZY6np1ANPJqtbeEQ28ntTskUkL0wQAlG596NsH7Vws2g/dFZbm9JtpDVKxz0vofeLrSJnZmDMcH10tl61GphlUs1K7B+Z6SGZ9jnvC9QiQUuT/VUc70rKhXZuea0ysuZXn43dhI239faze+d5hlW3Nei7ekHWL+zteTE15nvULdYZlOD2Rqj/wswADptwkpo9hqrAAAAAElFTkSuQmCC) no-repeat 0 0; background-size: 20px auto } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-icon { width: 60px; -ms-flex-shrink: 0; flex-shrink: 0; margin-right: 10px } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-icon img { width: 100% } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta { width: 100% } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .titleHolder { display: flex } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta p { margin: 0; font-size: 13.5px; line-height: 130%; color: #333; font-weight: 400; white-space: nowrap; width: 70%; overflow: hidden } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta ul.fg-app-teaser-rating { list-style: none; padding: 0; margin: -3px 0 2px 7px } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta ul.fg-app-teaser-rating li { display: inline-block; width: 10px; height: 10px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAACQCAYAAAB6Zyl1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNUExOUI3QTFCRkMxMUU2QjNDQkQyNkQ0QjA4RkVERCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0OTkyQkZDNTFDMTUxMUU2QjNDQkQyNkQ0QjA4RkVERCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0OTkyQkZDNDFDMTUxMUU2QjNDQkQyNkQ0QjA4RkVERCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI3MmFkNmMxLWE4YWQtNDc5MC1hNjFkLTMyNDg5NDIwZTRkYiIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQ5MGE4OWYyLTYzYjYtMTE3OS04ZjI5LTlj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) no-repeat 0 0; background-size: 10px auto!important } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta ul.fg-app-teaser-rating li.fg-app-teaser-rating-half { background-position: 0 -12px } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta ul.fg-app-teaser-rating li.fg-app-teaser-rating-empty { background-position: 0 -25px } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta ul.fg-app-teaser-rating li+li { margin-left: 2px } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .ctaHolder { display: flex; justify-content: space-between; -webkit-justify-content: space-between; align-items: center; -webkit-align-items: center; margin-top: 6px } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .ctaHolder .cta { -ms-flex-shrink: 0; flex-shrink: 0; margin-right: 30px } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .ctaHolder .cta a { position: relative } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .ctaHolder .cta a .fg-app-teaser-storeIcon { position: absolute; top: 0; left: 5px; width: 20px; height: 23px; display: inline-block; vertical-align: bottom; background-position: 0 0!important; background-repeat: no-repeat!important } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .ctaHolder .cta a .fg-app-teaser-storeIcon.fg-app-teaser-storeIcon-appStore { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowODgwMTE3NDA3MjA2ODExODIyQUY0NEZDQ0IyMTY2NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRjk2RTIwRDAzMTUxMUU3OUJDRkUwMjFDMTE2RUJCQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxRjk2RTIwQzAzMTUxMUU3OUJDRkUwMjFDMTE2RUJCQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY4ODYxRjhBMjFFNDExRTNBMjM3QzI5MUJDOTlFREU0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY4ODYxRjhCMjFFNDExRTNBMjM3QzI5MUJDOTlFREU0Ii8+IDwvcmRmOkRlc2NyaXB0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); width: 23px; background-size: 23px auto!important } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .ctaHolder .cta a .fg-app-teaser-storeIcon.fg-app-teaser-storeIcon-playStore { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAA3CAYAAABO8hkCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAxZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzRBRTBGNTAxRTFBMTFFNkIzQ0JEMjZENEIwOEZFREQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzRBRTBGNEYxRTFBMTFFNkIzQ0JEMjZENEIwOEZFREQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9IkVGNUQzNjJCM0E0OTBEQzYxOENFNDE0QjU2NzgzRDQxIiBzdFJlZjpkb2N1bWVudElEPSJFRjVEMzYyQjNBNDkwREM2MThDRTQxNEI1Njc4M0Q0MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpsI3RwAAA+rSURBVHjazFoLcFzVef7Ofe29+9C+pJVk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); background-size: 20px auto!important } #fg-root .fg-app-overlay .fg-app-teaser .fg-app-teaser-inner .fg-app-teaser-meta .ctaHolder .cta a span { display: inline-block; padding: 11px 11px 11px 34px; background-color: #669f2b; color: #fff; font-size: 13.5px; line-height: 100%; white-space: nowrap; font-weight: 500; text-transform: uppercase } @media only screen and (orientation: landscape) { #fg-root #fg-overlay.isMobile { width: 430px; left: -430px } #fg-root #fg-overlay.isMobile ul.fa-menu-buttons { display: inline-block; vertical-align: top; padding: 5px 0 5px 5px; margin: 0 } #fg-root #fg-overlay.isMobile ul.fg-related-games { display: inline-block; vertical-align: top; padding: 5px 5px 5px 0; height: 70px; overflow: hidden; border-top: 0!important } #fg-root #fg-overlay.isMobile ul.fg-related-games li { display: inline-block; margin: 5px 5px 5px -300px } #fg-root #fg-overlay.isMobile ul.fg-langs li.fg-lang { display: inline-block; vertical-align: top; text-align: center } #fg-root #fg-overlay.isMobile ul.fg-langs li.fg-lang svg { display: none } #fg-root #fg-overlay.isMobile ul.fg-langs li.fg-lang.fg-lang-selected a svg { display: none!important } #fg-root #fg-overlay.isMobile.navigation-view { left: 0 } #fg-root #fg-overlay.isMobile.navigation-view ul.fg-related-games li { margin-left: 5px } } @media only screen and (orientation: landscape) and (max-width: 479px) { #fg-root #fg-overlay.isMobile { width: 360px; left: -360px } #fg-root #fg-overlay.isMobile ul.fg-related-games li:nth-child(4) { display: none } } @media only screen and (orientation: portrait) and (max-height: 509px) { #fg-root #fg-overlay.isMobile ul.fg-related-games li:nth-child(4) { display: none } } #fg-root .fg-modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; margin: 0 auto; max-width: 480px; z-index: 999999990; box-sizing: border-box } #fg-root .fg-modal.seamless-mode { background: transparent none; border: 0; top: 0; right: 0; bottom: 0; left: 0 } #fg-root .fg-modal.seamless-mode header { display: none } #fg-root .fg-modal.seamless-mode .fg-modal-body { margin-top: 0; left: 0; right: 0; bottom: 0; background-color: transparent; box-shadow: none } #fg-root .fg-modal.fg-modal-shake { -webkit-animation: fg-modal-shake 1s 1 linear; animation: fg-modal-shake 1s 1 linear } #fg-root .fg-modal.ad-mode { top: 40px } #fg-root .fg-modal header { height: 20px; top: 0; right: 0; left: 0; position: absolute; line-height: 20px; margin: 15px 50px 15px 10px; color: #FFF; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; text-shadow: 0 0 3px #000 } #fg-root .fg-modal .fg-modal-body { position: absolute; top: 0; left: 10px; right: 10px; bottom: 10px; overflow: hidden; -webkit-overflow-scrolling: touch; margin-top: 50px; background-color: #FFF; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4) } #fg-root .fg-modal .fg-modal-body.fg-modal-transparent { background-color: transparent } #fg-root .fg-modal-close { box-sizing: border-box; position: absolute; top: 0; right: 0; color: #FFF; text-align: center; width: 50px; height: 50px; text-decoration: none; z-index: 100; line-height: 13px; padding: 19px 10px 18px; cursor: pointer } #fg-root .fg-modal-close:after { content: ""; box-sizing: border-box; position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; border: 2px solid #FFF; background-color: rgba(0, 0, 0, 0.8); border-radius: 40px } #fg-root .fg-modal-close:before, #fg-root .fg-modal-close .counter { font-weight: 700; position: relative; z-index: 1 } #fg-root .fg-modal-close:before { content: "X" } #fg-root .fg-modal-close[data-disable]:after { background-color: rgba(0, 0, 0, 0.4) } #fg-root .fg-modal-close[data-disable]:before { display: none } #fg-root .fg-modal-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: #000; z-index: 100500 } @-webkit-keyframes fg-modal-shake { 0%, 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0) } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0) } 20%, 40%, 60%, 80% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0) } } @keyframes fg-modal-shake { 0%, 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0) } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0) } 20%, 40%, 60%, 80% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0) } } #fg-root .fg-notify { position: fixed; top: 0; right: 0; bottom: 0; left: 0; margin: 0 auto; z-index: 999999990; box-sizing: border-box; display: flex; align-items: center; max-width: 600px; width: 100%; padding: 10px } #fg-root .fg-notify .fg-notify-body { position: relative; -webkit-overflow-scrolling: touch; background-color: #F0F0F0; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); border-radius: 10px; padding: 10px; width: 100%; margin-top: 10px; box-sizing: border-box } #fg-root .fg-notify .fg-notify-body .fg-notify-gameteaser-holder { display: block; width: 100%; text-align: center } #fg-root .fg-notify .fg-notify-body .fg-notify-gameteaser-holder img { width: 50px; height: 50px; margin-top: -25px; border: 4px solid #fff; box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2) } #fg-root .fg-notify .fg-notify-body .fg-notify-header { margin-bottom: 10px } #fg-root .fg-notify .fg-notify-body .fg-notify-headline { display: block; width: 100%; margin: 5px 0 0; text-align: center; color: #333; font-weight: 300; font-size: 140% } #fg-root .fg-notify .fg-notify-body ul { list-style: none; padding: 0; margin: -5px; display: flex; flex-wrap: wrap; justify-content: center } #fg-root .fg-notify .fg-notify-body ul li { width: 50%; position: relative; padding: 0; padding-top: 50% } #fg-root .fg-notify .fg-notify-body ul li a { position: absolute; top: 0; left: 0; display: inline-block; padding: 5px; width: 100%; box-sizing: border-box } #fg-root .fg-notify .fg-notify-body ul li a .fg-notify-imgHolder { display: block; padding: 5px; background-color: #fff; box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2) } #fg-root .fg-notify .fg-notify-body ul li a .fg-notify-imgHolder img { display: block; width: 100% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard { position: relative; font-size: 90%; color: #333 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .hide { display: none!important } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner { display: block; background-color: #ffbf00; padding: 10px; margin-bottom: 20px; color: #fff; text-align: center } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner h2 { margin: 0 0 10px; font-weight: 400; text-transform: uppercase; font-size: 120% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong { display: inline-block; padding-left: 50px; text-align: left; font-size: 180%; position: relative } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong small { display: block; font-weight: 400; font-size: 80% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong:before { content: ''; position: absolute; left: 0; top: 0; display: block; width: 40px; height: 42px; background: url(data:image/png;base64,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) no-repeat 0 0; background-size: 40px auto } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong .profileImageHolder { position: absolute; top: 16px; left: 20px; display: block; width: 24px; height: 24px; padding: 0; overflow: hidden; border-radius: 50% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong .profileImageHolder span { display: block; height: 8%; width: 100% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-headline h2 { text-align: center; text-transform: uppercase; font-weight: 400; margin-bottom: 5px; font-size: 150% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-currentscore { display: block; margin: 10px 0; text-align: center; font-weight: 700; color: #0096cc; font-size: 120% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-currentscore.newHighscore { color: #43b033 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you { position: -webkit-sticky; position: sticky; bottom: 0; left: 0; z-index: 2; display: block; width: 100%; background-color: #0096cc; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); display: flex } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div { padding: 10px 5px; box-sizing: border-box; color: #fff; font-size: 12px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div a { display: inline-block; margin: 3px 0; color: #fff; font-weight: 400 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div em { margin-right: 10px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div:last-child { text-align: right } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table { width: 100%; border-spacing: 0; font-size: 12px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr td, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr th { padding: 15px 5px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr td:last-child, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr th:last-child { text-align: right } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr th { padding: 10px 5px 5px; color: #888; font-weight: 400; text-transform: uppercase; font-size: 90% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr th em { font-style: 700; color: #333 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr:nth-child(even) td { background-color: #e3e3e3 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.you td { background-color: #0096cc; color: #fff } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.you td a { display: inline-block; margin: 3px 0; color: #fff } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.you td em { margin-right: 10px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table td.rank, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table th.rank, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div.rank { width: 25% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table td.player, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table th.player, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div.player { width: 43% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table td.score, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table th.score, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div.score { width: 28% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table td.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table th.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div.profileImage { width: 4%; min-width: 20px; margin-left: auto; padding: 10px 0 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table td.profileImage .profileImageHolder, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table th.profileImage .profileImageHolder, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div.profileImage .profileImageHolder { display: block; width: 20px; height: 20px; padding: 0; overflow: hidden; border-radius: 50% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table td.profileImage .profileImageHolder span, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table th.profileImage .profileImageHolder span, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div.profileImage .profileImageHolder span { display: block; height: 8%; width: 100% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table td em, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table th em, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div em { font-style: normal } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 td, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 div, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 td, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 div { font-weight: 700 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 td.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 div.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_2 td.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_2 div.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_3 td.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_3 div.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 td.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 div.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_2 td.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_2 div.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_3 td.profileImage, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_3 div.profileImage { position: relative } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_2 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_2 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_3 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_3 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_2 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_2 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_3 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_3 div.profileImage:before { content: ''; position: absolute; left: -35px; top: 0; display: block; width: 30px; height: 100%; background-size: 30px auto; background-position: center center; background-repeat: no-repeat } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_1 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_1 div.profileImage:before { background-image: url(data:image/png;base64,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) } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_2 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_2 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_2 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_2 div.profileImage:before { background-image: url(data:image/png;base64,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) } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_3 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr.rank_3 div.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_3 td.profileImage:before, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you.rank_3 div.profileImage:before { background-image: url(data:image/png;base64,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); background-size: 23px auto } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-countdown-holder { margin-bottom: 10px; color: #777 } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-countdown, #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-totalplayers { text-align: center } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-editnick { display: none; margin-top: 20px; text-align: center } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-editnick h2 { font-weight: 400; font-size: 120% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-editnick input { display: block; width: 100%; max-width: 300px; padding: 5px; margin: 10px auto; box-sizing: border-box; border: 1px solid #ddd; font-size: 110%; -webkit-user-select: auto; -moz-user-select: auto; -ms-user-select: auto; user-select: auto } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-editnick a.saveNick { display: inline-block; background-color: #2EAC00; margin-right: 10px; padding: 8px 16px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); color: #fff; text-decoration: none; font-size: 110% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-editnick a.cancelEditNick { display: inline-block; color: #666; font-size: 110%; text-decoration: underline } #fg-root .fg-notify.editNick { display: block; height: 100% } #fg-root .fg-notify.editNick .fg-notify-body { height: 100% } #fg-root .fg-notify.editNick .fg-leaderboard .fg-leaderboard-editnick { display: block } #fg-root .fg-notify.editNick .fg-leaderboard .fg-leaderboard-lastroundwinner, #fg-root .fg-notify.editNick .fg-leaderboard .fg-leaderboard-headline, #fg-root .fg-notify.editNick .fg-leaderboard .fg-leaderboard-currentscore, #fg-root .fg-notify.editNick .fg-leaderboard .fg-leaderboard-countdown-holder, #fg-root .fg-notify.editNick .fg-leaderboard table, #fg-root .fg-notify.editNick .fg-leaderboard .fg-leaderboard-you { display: none } #fg-root .fg-notify-close { position: absolute; top: 10px; right: 10px; z-index: 100; border: 2px solid #2EAC00; border-radius: 50%; width: 28px; height: 28px; font-weight: 300; line-height: 25px; text-align: center; color: #2EAC00; font-size: 190%; text-decoration: none; cursor: pointer; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) } #fg-root .fg-notify-close:hover { background-color: #2EAC00; color: #fff } #fg-root .fg-notify-overlay, #fg-root .fg-notify-blurred-bg { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.2); background-size: cover; background-position: center center; z-index: 100500 } @media only screen and (min-width: 375px) { #fg-root .fg-notify .fg-notify-body ul li { width: 33.3%; padding-top: 33.3% } } @media only screen and (min-width: 510px) { #fg-root .fg-notify .fg-notify-body { margin-top: 20px; padding: 20px } #fg-root .fg-notify .fg-notify-body .fg-notify-gameteaser-holder img { width: 80px; height: 80px; margin-top: -40px } #fg-root .fg-notify .fg-notify-body .fg-notify-headline { font-size: 200% } #fg-root .fg-notify .fg-notify-body ul li { width: 25%; padding-top: 25% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard { font-size: 100% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner { padding: 15px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong { padding-left: 70px; font-size: 240% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong:before { width: 60px; height: 62px; background-size: 60px auto } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-lastroundwinner strong .profileImageHolder { left: 30px; top: 24px; width: 36px; height: 36px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table { font-size: 110% } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr td { padding: 15px 10px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard table tr th { padding: 10px 10px 5px } #fg-root .fg-notify .fg-notify-body .fg-leaderboard .fg-leaderboard-you div { font-size: 110% } #fg-root .fg-notify-close { top: 20px; right: 20px } } #fg-root .btn, #fg-root .btn-highlight, #fg-root .btn-play, #fg-root .btn-primary, #fg-root .btn-transparent { display: inline-block; box-sizing: border-box; background-color: #eee; color: #333; padding: 10px 20px; border: 0; cursor: pointer; margin: 0; text-decoration: none; text-align: center; font-size: 16px; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2) } .btn-group #fg-root .btn, .btn-group #fg-root .btn-highlight, .btn-group #fg-root .btn-play, .btn-group #fg-root .btn-primary, .btn-group #fg-root .btn-transparent { margin-left: 5px } #fg-root .btn.btn-block, #fg-root .btn-block.btn-highlight, #fg-root .btn-block.btn-play, #fg-root .btn-block.btn-primary, #fg-root .btn-block.btn-transparent { display: block; width: 100% } #fg-root .btn[disabled], #fg-root [disabled].btn-highlight, #fg-root [disabled].btn-play, #fg-root [disabled].btn-primary, #fg-root [disabled].btn-transparent { opacity: .7 } #fg-root .btn-highlight, #fg-root .btn-play { background-color: #f08119; border: 1px solid #FFF; color: #FFF } #fg-root .btn-primary { background-color: #006d92; color: #FFF } #fg-root .btn-transparent { background-color: transparent; color: #333 } #fg-root .btn-play { background-color: #008c14; box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.75); position: relative; width: 65px; height: 65px; border-color: #008c14; border-radius: 50%; border-width: 2px; -webkit-animation-name: animate-btn-play; animation-name: animate-btn-play; -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-direction: alternate; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out } #fg-root .btn-play:after { content: ''; position: absolute; width: 0; height: 0; left: 23px; top: 18px; border: 13px solid transparent; border-left: 20px solid #fff; border-right: 0 } #fg-root .btn-play:before { content: "Continue"; content: attr(title); color: #fff; display: block; position: absolute; bottom: -25px; font-size: 14px; height: 20px; line-height: 20px; text-align: center; left: 50%; width: 200%; margin-left: -100% } #fg-root #fg-iframe-container { width: 100%; height: 100% } #fg-root #fg-storage-iframe, #fg-root .fg-post-iframe, #fg-root #fg-com-iframe { position: absolute; border: 0; left: -3000px; top: -3000px; opacity: 0; height: 1px; width: 1px } #fg-root #fg-iframe { border: 0; display: block; width: 100%; height: 100% } #fg-root .fg-spinner { display: none; visibility: hidden; position: fixed; top: 20%; margin-left: -37px; text-align: center; z-index: 999000; opacity: 0; transition: opacity .5s } #fg-root .fg-spinner [class*="fg-dot"] { position: absolute; height: 60px; width: 60px; opacity: 1 } #fg-root .fg-spinner [class*="fg-dot"]:before { content: ""; height: 15px; width: 7px; background-color: #fff; position: absolute; top: 5px; left: 0; right: 0; margin: 0 auto; border-radius: 10px; overflow: hidden } #fg-root .fg-spinner .fg-dot1 { -webkit-animation: fg-fade-spinner 1.2s infinite linear; animation: fg-fade-spinner 1.2s infinite linear } #fg-root .fg-spinner .fg-dot2 { -webkit-transform: rotate(51deg); transform: rotate(51deg); -webkit-animation: fg-fade-spinner 1.2s infinite linear .2s; animation: fg-fade-spinner 1.2s infinite linear .2s } #fg-root .fg-spinner .fg-dot3 { -webkit-transform: rotate(102deg); transform: rotate(102deg); -webkit-animation: fg-fade-spinner 1.2s infinite linear .4s; animation: fg-fade-spinner 1.2s infinite linear .4s } #fg-root .fg-spinner .fg-dot4 { -webkit-transform: rotate(153deg); transform: rotate(153deg); -webkit-animation: fg-fade-spinner 1.2s infinite linear .6s; animation: fg-fade-spinner 1.2s infinite linear .6s } #fg-root .fg-spinner .fg-dot5 { -webkit-transform: rotate(204deg); transform: rotate(204deg); -webkit-animation: fg-fade-spinner 1.2s infinite linear .8s; animation: fg-fade-spinner 1.2s infinite linear .8s } #fg-root .fg-spinner .fg-dot6 { -webkit-transform: rotate(255deg); transform: rotate(255deg); -webkit-animation: fg-fade-spinner 1.2s infinite linear 1s; animation: fg-fade-spinner 1.2s infinite linear 1s } #fg-root .fg-spinner .fg-dot7 { -webkit-transform: rotate(307deg); transform: rotate(307deg); -webkit-animation: fg-fade-spinner 1.2s infinite linear 1.2s; animation: fg-fade-spinner 1.2s infinite linear 1.2s } #fg-root #cssload-pgloading:after { content: ""; z-index: -1; position: absolute; top: 0; right: 0; bottom: 0; left: 0 } #fg-root #cssload-pgloading .cssload-loadingwrap { position: absolute; top: 45%; bottom: 45%; left: 25%; right: 25% } #fg-root #cssload-pgloading .cssload-bokeh { font-size: 85px; width: 1em; height: 1em; position: relative; margin: 0 auto; list-style: none; padding: 0; border-radius: 50%; -o-border-radius: 50%; -ms-border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50% } #fg-root #cssload-pgloading .cssload-bokeh li { position: absolute; width: .2em; height: .2em; border-radius: 50%; -o-border-radius: 50%; -ms-border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50% } #fg-root #cssload-pgloading .cssload-bokeh li:nth-child(1) { left: 50%; top: 0; margin: 0 0 0 -.1em; background: #0092c3; transform-origin: 50% 250%; -o-transform-origin: 50% 250%; -ms-transform-origin: 50% 250%; -webkit-transform-origin: 50% 250%; -moz-transform-origin: 50% 250%; animation: cssload-rota .6765s linear infinite, cssload-opa 2.2035s ease-in-out infinite alternate; -o-animation: cssload-rota .6765s linear infinite, cssload-opa 2.2035s ease-in-out infinite alternate; -ms-animation: cssload-rota .6765s linear infinite, cssload-opa 2.2035s ease-in-out infinite alternate; -webkit-animation: cssload-rota .6765s linear infinite, cssload-opa 2.2035s ease-in-out infinite alternate; -moz-animation: cssload-rota .6765s linear infinite, cssload-opa 2.2035s ease-in-out infinite alternate } #fg-root #cssload-pgloading .cssload-bokeh li:nth-child(2) { top: 50%; right: 0; margin: -.1em 0 0; background: #f08119; transform-origin: -150% 50%; -o-transform-origin: -150% 50%; -ms-transform-origin: -150% 50%; -webkit-transform-origin: -150% 50%; -moz-transform-origin: -150% 50%; animation: cssload-rota 1.113s linear infinite, cssload-opa 2.5745s ease-in-out infinite alternate; -o-animation: cssload-rota 1.113s linear infinite, cssload-opa 2.5745s ease-in-out infinite alternate; -ms-animation: cssload-rota 1.113s linear infinite, cssload-opa 2.5745s ease-in-out infinite alternate; -webkit-animation: cssload-rota 1.113s linear infinite, cssload-opa 2.5745s ease-in-out infinite alternate; -moz-animation: cssload-rota 1.113s linear infinite, cssload-opa 2.5745s ease-in-out infinite alternate } #fg-root #cssload-pgloading .cssload-bokeh li:nth-child(3) { left: 50%; bottom: 0; margin: 0 0 0 -.1em; background: #333; transform-origin: 50% -150%; -o-transform-origin: 50% -150%; -ms-transform-origin: 50% -150%; -webkit-transform-origin: 50% -150%; -moz-transform-origin: 50% -150%; animation: cssload-rota .8725s linear infinite, cssload-opa 3.076s ease-in-out infinite alternate; -o-animation: cssload-rota .8725s linear infinite, cssload-opa 3.076s ease-in-out infinite alternate; -ms-animation: cssload-rota .8725s linear infinite, cssload-opa 3.076s ease-in-out infinite alternate; -webkit-animation: cssload-rota .8725s linear infinite, cssload-opa 3.076s ease-in-out infinite alternate; -moz-animation: cssload-rota .8725s linear infinite, cssload-opa 3.076s ease-in-out infinite alternate } #fg-root #cssload-pgloading .cssload-bokeh li:nth-child(4) { top: 50%; left: 0; margin: -.1em 0 0; background: #fff; transform-origin: 250% 50%; -o-transform-origin: 250% 50%; -ms-transform-origin: 250% 50%; -webkit-transform-origin: 250% 50%; -moz-transform-origin: 250% 50%; animation: cssload-rota 1.036s linear infinite, cssload-opa 3.1525s ease-in-out infinite alternate; -o-animation: cssload-rota 1.036s linear infinite, cssload-opa 3.1525s ease-in-out infinite alternate; -ms-animation: cssload-rota 1.036s linear infinite, cssload-opa 3.1525s ease-in-out infinite alternate; -webkit-animation: cssload-rota 1.036s linear infinite, cssload-opa 3.1525s ease-in-out infinite alternate; -moz-animation: cssload-rota 1.036s linear infinite, cssload-opa 3.1525s ease-in-out infinite alternate } @keyframes cssload-rota { to { -webkit-transform: rotate(360deg); transform: rotate(360deg) } } @-webkit-keyframes cssload-rota { to { -webkit-transform: rotate(360deg) } } @keyframes cssload-opa { 12.0% { opacity: .8 } 19.5% { opacity: .88 } 37.2% { opacity: .64 } 40.5% { opacity: .52 } 52.7% { opacity: .69 } 60.2% { opacity: .6 } 66.6% { opacity: .52 } 70.0% { opacity: .63 } 79.9% { opacity: .6 } 84.2% { opacity: .75 } 91.0% { opacity: .87 } } @-webkit-keyframes cssload-opa { 12.0% { opacity: .8 } 19.5% { opacity: .88 } 37.2% { opacity: .64 } 40.5% { opacity: .52 } 52.7% { opacity: .69 } 60.2% { opacity: .6 } 66.6% { opacity: .52 } 70.0% { opacity: .63 } 79.9% { opacity: .6 } 84.2% { opacity: .75 } 91.0% { opacity: .87 } } #fg-root .fg-click2play { position: absolute; top: 0; left: 0; background: #000; display: block; width: 100%; min-height: 100%; text-align: center; z-index: 999999000; display: flex; align-items: center; opacity: 0 } #fg-root .fg-click2play, #fg-root .fg-click2play * { cursor: pointer; font-weight: 400 } #fg-root .fg-click2play .fg-branding { position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; opacity: .75 } #fg-root .fg-click2play .fg-click2play-loading { display: none; position: absolute; top: 50%; left: 0; width: 100%; text-align: center; margin-top: -8px } #fg-root .fg-click2play .fg-click2play-loading>span { display: inline-block; width: 14px; height: 14px; margin-left: 3px; background-color: #fff; border-radius: 100%; -webkit-animation: fg-click2play-loading 1.4s infinite ease-in-out both; animation: fg-click2play-loading 1.4s infinite ease-in-out both } #fg-root .fg-click2play .fg-click2play-loading>span.fg-click2play-loading-bounce1 { -webkit-animation-delay: -.32s; animation-delay: -.32s; margin-left: 0 } #fg-root .fg-click2play .fg-click2play-loading>span.fg-click2play-loading-bounce2 { -webkit-animation-delay: -.16s; animation-delay: -.16s } @-webkit-keyframes fg-click2play-loading { 0%, 80%, 100% { -webkit-transform: scale(0) } 40% { -webkit-transform: scale(1) } } @keyframes fg-click2play-loading { 0%, 80%, 100% { -webkit-transform: scale(0); transform: scale(0) } 40% { -webkit-transform: scale(1); transform: scale(1) } } #fg-root .fg-click2play .btn-play.loading .fg-click2play-loading { display: block } #fg-root .fg-click2play .btn-play.loading:after { opacity: 0 } #fg-root .fg-click2play .fg-click2play-stage { display: block; width: 100%; margin: 0; position: relative; z-index: 2; padding: 30px 0; background: rgba(0, 0, 0, 0.5) } #fg-root .fg-click2play .fg-click2play-stage .fg-gameicon { margin: 0 auto 30px } #fg-root .fg-click2play .fg-click2play-stage .fg-gameicon img { border: 1px solid #333; border-radius: 3px; max-height: 100%; max-width: 100%; width: 140px; height: 140px } #fg-root .fg-click2play .fg-click2play-stage .privacy-info { margin: 20px auto 0; padding: 0 10px; max-width: 420px; text-align: center; color: #ddd; line-height: 130%; font-size: 80%; text-shadow: 1px 1px #000 } #fg-root .fg-click2play .fg-click2play-stage .privacy-info strong { font-weight: 700 } #fg-root .fg-click2play .fg-click2play-stage .privacy-info p+p { margin-top: 5px } #fg-root .fg-click2play .fg-click2play-stage .privacy-info a { color: #fff; text-decoration: underline } #fg-root .fg-click2play.fg-click2play-continue .fg-click2play-stage .fg-gameDetails { display: flex; justify-content: center; -webkit-justify-content: center; -ms-flex-pack: center; align-items: center; flex-direction: row; flex-wrap: wrap } #fg-root .fg-click2play.fg-click2play-continue .fg-click2play-stage .fg-gameDetails .fg-gameicon { margin: 0 30px 0 0 } #fg-root .fg-click2play.fg-click2play-continue .fg-click2play-stage .fg-gameDetails .fg-gameicon:after { width: 150px } #fg-root .fg-click2play.fg-click2play-continue .fg-click2play-stage .privacy-info { display: none } #fg-root .fg-click2play.fg-click2play-continue .fg-click2play-stage .fg-gameLanguages, #fg-root .fg-click2play.fg-click2play-continue .fg-click2play-stage .fg-nextGame { flex: none } @media only screen and (orientation: landscape) { #fg-root .fg-click2play.smartphone .fg-click2play-stage .fg-gameDetails { display: flex; justify-content: center; -webkit-justify-content: center; -ms-flex-pack: center; align-items: center; flex-direction: row; flex-wrap: wrap } #fg-root .fg-click2play.smartphone .fg-click2play-stage .fg-gameDetails .fg-gameicon { margin: 0 60px 0 0 } #fg-root .fg-click2play.smartphone .fg-click2play-stage .fg-gameLanguages, #fg-root .fg-click2play.smartphone .fg-click2play-stage .fg-nextGame { flex: none } #fg-root .fg-click2play.smartphone .fa-getiton { padding: 0 } } @media only screen and (min-width: 640px) and (min-height: 550px) { #fg-root .fg-click2play .fg-click2play-stage .fg-gameicon img { width: 192px; height: 192px } #fg-root #fg-root .btn-play { width: 80px; height: 80px } #fg-root #fg-root .btn-play:after { left: 30px; top: 25px } } #fg-apps { background-color: #000; position: relative; top: 0; bottom: 0; left: 0; right: 0; display: block; height: 100%; min-height: 100% } #fg-apps .background { display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 10; background-size: cover; background-position: top center!important; background-repeat: no-repeat!important; background-attachment: fixed; opacity: .3 } #fg-apps article { display: block; width: 100%; position: absolute; top: 15px; left: 0; z-index: 20; text-align: center } #fg-apps article h1 { color: #fff; font-family: 'Lato', sans-serif; font-weight: 300; font-size: 120%; line-height: 100%; margin: 15px 0 } #fg-apps article h1 img { display: block; width: 100px; margin: 0 auto 15px } #fg-apps article ul.storeLinks { display: inline-block; list-style: none; padding: 0; margin: 15px 0 0 } #fg-apps article ul.storeLinks li { display: block } #fg-apps article ul.storeLinks li+li { margin-top: 15px } #fg-apps article ul.storeLinks li a { display: block; width: 150px; height: 46px; margin: 0 auto; text-indent: -10000px; background: url(../../../../../assets/images/StoreButtons.sprite.html) no-repeat center 0; background-size: auto 183px } #fg-apps article ul.storeLinks li.appStore a { background-position: 0 -67px } #fg-apps article ul.storeLinks li.browser a { background-position: 0 -134px } #fg-apps article .buttonContainer { margin: 20px 0 30px; text-align: center } #fg-apps article .buttonContainer .cta { display: inline-block; padding: 10px 60px; background-color: #4aa500; box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); color: #fff; text-decoration: none; font-size: 230% } #fg-apps article .buttonContainer .cta:hover { background-color: #fff; color: #4aa500 } #fg-apps article .info { padding: 20px 10px 0; margin: 0; color: #bbb; line-height: 130% } #fg-apps article .info strong { display: block; margin-bottom: 5px } #fg-apps article .info a { color: #fff } @media (min-width: 480px) { #fg-apps article ul.storeLinks li { display: inline-block } #fg-apps article ul.storeLinks li+li { margin-top: 0; margin-left: 5px } } @media (min-height: 500px) { #fg-apps article { top: 30px } #fg-apps article h1 { font-size: 200% } #fg-apps article h1 img { width: 170px } #fg-apps article ul.storeLinks { margin-top: 30px } } #fg-root #fg-landscape-overlay, #fg-root #fg-portrait-overlay { z-index: 99900; display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 0; height: 0; overflow: hidden; background: #ddd url(../../../../../../img.cdn.famobi.com/html5games/gameapi/v1/images/RotateArrow.png) center center no-repeat; background-size: 145px 145px; box-shadow: inset 0 0 100px #333 } #fg-root #fg-landscape-overlay .fg-orientation-icon, #fg-root #fg-portrait-overlay .fg-orientation-icon { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 145px; height: 145px; z-index: 2; margin: auto; -webkit-animation: fg-rotation 5s infinite linear; animation: fg-rotation 5s infinite linear } #fg-root #fg-splash-screen { z-index: 900000; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; overflow: hidden; background: #8EC4E7 center center no-repeat; background-size: 200px 200px } #fg-root #fg-loading { cursor: pointer; position: absolute; top: 50%; left: 0; text-align: center; vertical-align: center; height: 20px; padding-top: 120px; width: 100%; z-index: 900010 } @-webkit-keyframes fg-rotation { 10% { -webkit-transform: rotate(0deg) } 30% { -webkit-transform: rotate(90deg) } 70% { -webkit-transform: rotate(90deg) } 90% { -webkit-transform: rotate(0deg) } } @-webkit-keyframes fg-fade-spinner { 0% { opacity: .6 } 15% { opacity: 1 } 60% { opacity: 1 } 100% { opacity: .6 } } @media only screen and (orientation: landscape) { #fg-root.fg-orientation-portrait #fg-portrait-overlay { display: block; width: 100%; height: 100% } #fg-root .fg-modal.ad-mode { top: 10px } } @media only screen and (orientation: portrait) { #fg-root.fg-orientation-landscape #fg-landscape-overlay { display: block; width: 100%; height: 100% } } #fg-root .fg-screenshot { position: relative } #fg-root .fg-screenshot>img { max-width: 100%; display: block } #fg-root #fg-fotoshoot-overlay { position: absolute; top: 5%; right: 5%; width: 36px; height: 36px; z-index: 99900 } #fg-root #fg-fotoshoot-overlay svg { fill: #fc6; background-color: #333; padding: 6px; display: block; border-radius: 7px; border: 1px solid #ccc } #fg-root .fg-screenshot-btn-upload, #fg-root .fg-screenshot-btn-discard { position: absolute; top: 0; left: 50.5%; right: 0; bottom: 0; text-align: center; background-color: rgba(255, 255, 255, 0.6); max-width: 200px; max-height: 200px; margin: auto } #fg-root .fg-screenshot-btn-upload:after, #fg-root .fg-screenshot-btn-discard:after { content: ''; display: block; width: 100%; height: 0; margin-bottom: 100% } #fg-root .fg-screenshot-btn-upload svg, #fg-root .fg-screenshot-btn-discard svg { position: absolute; left: 0; top: 15%; height: 70%; max-width: 100%; fill: green; -webkit-animation: fg-screenshot-show-buttons 1s 1 linear; animation: fg-screenshot-show-buttons 1s 1 linear; transition: fill 1s linear } #fg-root .fg-screenshot-btn-upload:before, #fg-root .fg-screenshot-btn-discard:before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; display: block; height: 0; background-color: green; opacity: .4; transition: none } #fg-root .fg-screenshot-btn-upload.fg-screenshot-btn-loading svg, #fg-root .fg-screenshot-btn-loading.fg-screenshot-btn-discard svg { fill: #000; opacity: .6 } #fg-root .fg-screenshot-btn-upload.fg-screenshot-btn-loading:before, #fg-root .fg-screenshot-btn-loading.fg-screenshot-btn-discard:before { transition: height 15s linear; height: 90% } #fg-root .fg-screenshot-btn-upload.fg-screenshot-btn-loading-complete:before, #fg-root .fg-screenshot-btn-loading-complete.fg-screenshot-btn-discard:before { transition: height .5s linear; height: 100% } #fg-root .fg-screenshot-btn-upload.fg-screenshot-btn-loading-fail:before, #fg-root .fg-screenshot-btn-loading-fail.fg-screenshot-btn-discard:before { transition: none; background-color: red; height: 100% } #fg-root .fg-screenshot-btn-discard { left: 0; right: 50.5% } #fg-root .fg-screenshot-btn-discard svg { fill: red } @-webkit-keyframes fg-screenshot-show-buttons { 0%, 20%, 40%, 60%, 80%, 100% { transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1) } 0% { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3) } 20% { -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1) } 40% { -webkit-transform: scale3d(0.9, 0.9, 0.9); transform: scale3d(0.9, 0.9, 0.9) } 60% { opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03) } 80% { -webkit-transform: scale3d(0.97, 0.97, 0.97); transform: scale3d(0.97, 0.97, 0.97) } 100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1) } } @keyframes fg-screenshot-show-buttons { 0%, 20%, 40%, 60%, 80%, 100% { transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1) } 0% { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3) } 20% { -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1) } 40% { -webkit-transform: scale3d(0.9, 0.9, 0.9); transform: scale3d(0.9, 0.9, 0.9) } 60% { opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03) } 80% { -webkit-transform: scale3d(0.97, 0.97, 0.97); transform: scale3d(0.97, 0.97, 0.97) } 100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1) } } @-webkit-keyframes animate-btn-play { 0% { box-shadow: inset 0 0 0 transparent } 100% { box-shadow: inset 0 0 30px rgba(100, 255, 120, 0.75) } } @keyframes animate-btn-play { 0% { box-shadow: inset 0 0 0 transparent } 100% { box-shadow: inset 0 0 30px rgba(100, 255, 120, 0.75) } } .typed-cursor { opacity: 1; -webkit-animation: blink .7s infinite; animation: blink .7s infinite } @keyframes blink { 0% { opacity: 1 } 50% { opacity: 0 } 100% { opacity: 1 } } @-webkit-keyframes blink { 0% { opacity: 1 } 50% { opacity: 0 } 100% { opacity: 1 } } zepto.min.js 0000644 00000063422 15043717150 0007037 0 ustar 00 /* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */ !function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t)}(this,function(t){var e=function(){function $(t){return null==t?String(t):S[C.call(t)]||"object"}function F(t){return"function"==$(t)}function k(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function R(t){return"object"==$(t)}function Z(t){return R(t)&&!k(t)&&Object.getPrototypeOf(t)==Object.prototype}function z(t){var e=!!t&&"length"in t&&t.length,n=r.type(t);return"function"!=n&&!k(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function q(t){return a.call(t,function(t){return null!=t})}function H(t){return t.length>0?r.fn.concat.apply([],t):t}function I(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function V(t){return t in l?l[t]:l[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function _(t,e){return"number"!=typeof e||h[I(t)]?e:e+"px"}function B(t){var e,n;return c[t]||(e=f.createElement(t),f.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),c[t]=n),c[t]}function U(t){return"children"in t?u.call(t.children):r.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function X(t,e){var n,r=t?t.length:0;for(n=0;r>n;n++)this[n]=t[n];this.length=r,this.selector=e||""}function J(t,r,i){for(n in r)i&&(Z(r[n])||L(r[n]))?(Z(r[n])&&!Z(t[n])&&(t[n]={}),L(r[n])&&!L(t[n])&&(t[n]=[]),J(t[n],r[n],i)):r[n]!==e&&(t[n]=r[n])}function W(t,e){return null==e?r(t):r(t).filter(e)}function Y(t,e,n,r){return F(e)?e.call(t,n,r):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function K(t,n){var r=t.className||"",i=r&&r.baseVal!==e;return n===e?i?r.baseVal:r:void(i?r.baseVal=n:t.className=n)}function Q(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)tt(t.childNodes[n],e)}var e,n,r,i,O,P,o=[],s=o.concat,a=o.filter,u=o.slice,f=t.document,c={},l={},h={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,d=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,g=/^(?:body|html)$/i,v=/([A-Z])/g,y=["val","css","html","text","data","width","height","offset"],x=["after","prepend","before","append"],b=f.createElement("table"),E=f.createElement("tr"),j={tr:f.createElement("tbody"),tbody:b,thead:b,tfoot:b,td:E,th:E,"*":f.createElement("div")},w=/complete|loaded|interactive/,T=/^[\w-]*$/,S={},C=S.toString,N={},A=f.createElement("div"),D={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},L=Array.isArray||function(t){return t instanceof Array};return N.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=A).appendChild(t),r=~N.qsa(i,e).indexOf(t),o&&A.removeChild(t),r},O=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},P=function(t){return a.call(t,function(e,n){return t.indexOf(e)==n})},N.fragment=function(t,n,i){var o,s,a;return d.test(t)&&(o=r(f.createElement(RegExp.$1))),o||(t.replace&&(t=t.replace(m,"<$1></$2>")),n===e&&(n=p.test(t)&&RegExp.$1),n in j||(n="*"),a=j[n],a.innerHTML=""+t,o=r.each(u.call(a.childNodes),function(){a.removeChild(this)})),Z(i)&&(s=r(o),r.each(i,function(t,e){y.indexOf(t)>-1?s[t](e):s.attr(t,e)})),o},N.Z=function(t,e){return new X(t,e)},N.isZ=function(t){return t instanceof N.Z},N.init=function(t,n){var i;if(!t)return N.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&p.test(t))i=N.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}else{if(F(t))return r(f).ready(t);if(N.isZ(t))return t;if(L(t))i=q(t);else if(R(t))i=[t],t=null;else if(p.test(t))i=N.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}}return N.Z(i,t)},r=function(t,e){return N.init(t,e)},r.extend=function(t){var e,n=u.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){J(t,n,e)}),t},N.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,s=T.test(o);return t.getElementById&&s&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:u.call(s&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=f.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},r.type=$,r.isFunction=F,r.isWindow=k,r.isArray=L,r.isPlainObject=Z,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return o.indexOf.call(e,t,n)},r.camelCase=O,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,o,r=[];if(z(t))for(i=0;i<t.length;i++)n=e(t[i],i),null!=n&&r.push(n);else for(o in t)n=e(t[o],o),null!=n&&r.push(n);return H(r)},r.each=function(t,e){var n,r;if(z(t)){for(n=0;n<t.length;n++)if(e.call(t[n],n,t[n])===!1)return t}else for(r in t)if(e.call(t[r],r,t[r])===!1)return t;return t},r.grep=function(t,e){return a.call(t,e)},t.JSON&&(r.parseJSON=JSON.parse),r.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){S["[object "+e+"]"]=e.toLowerCase()}),r.fn={constructor:N.Z,length:0,forEach:o.forEach,reduce:o.reduce,push:o.push,sort:o.sort,splice:o.splice,indexOf:o.indexOf,concat:function(){var t,e,n=[];for(t=0;t<arguments.length;t++)e=arguments[t],n[t]=N.isZ(e)?e.toArray():e;return s.apply(N.isZ(this)?this.toArray():this,n)},map:function(t){return r(r.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return r(u.apply(this,arguments))},ready:function(t){return w.test(f.readyState)&&f.body?t(r):f.addEventListener("DOMContentLoaded",function(){t(r)},!1),this},get:function(t){return t===e?u.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return o.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return F(t)?this.not(this.not(t)):r(a.call(this,function(e){return N.matches(e,t)}))},add:function(t,e){return r(P(this.concat(r(t,e))))},is:function(t){return this.length>0&&N.matches(this[0],t)},not:function(t){var n=[];if(F(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):z(t)&&F(t.item)?u.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return R(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!R(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!R(t)?t:r(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?r(t).filter(function(){var t=this;return o.some.call(n,function(e){return r.contains(e,t)})}):1==this.length?r(N.qsa(this[0],t)):this.map(function(){return N.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,o){for(;o&&!(i?i.indexOf(o)>=0:N.matches(o,t));)o=o!==e&&!M(o)&&o.parentNode;o&&n.indexOf(o)<0&&n.push(o)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){return(t=t.parentNode)&&!M(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return W(e,t)},parent:function(t){return W(P(this.pluck("parentNode")),t)},children:function(t){return W(this.map(function(){return U(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||u.call(this.childNodes)})},siblings:function(t){return W(this.map(function(t,e){return a.call(U(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=B(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=F(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(o){r(this).wrapAll(e?t.call(this,o):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){r(this[0]).before(t=r(t));for(var e;(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=F(t);return this.each(function(n){var i=r(this),o=i.contents(),s=e?t.call(this,n):t;o.length?o.wrapAll(s):i.append(s)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(Y(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=Y(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(R(t))for(n in t)G(this,n,t[n]);else G(this,t,Y(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){G(this,t)},this)})},prop:function(t,e){return t=D[t]||t,1 in arguments?this.each(function(n){this[t]=Y(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=D[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(v,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?Q(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=Y(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=Y(this,e,t,n.offset()),o=n.offsetParent().offset(),s={top:i.top-o.top,left:i.left-o.left};"static"==n.css("position")&&(s.position="relative"),n.css(s)});if(!this.length)return null;if(f.documentElement!==this[0]&&!r.contains(f.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[O(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(L(t)){if(!i)return;var o={},s=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[O(e)]||s.getPropertyValue(e)}),o}}var a="";if("string"==$(t))e||0===e?a=I(t)+":"+_(t,e):this.each(function(){this.style.removeProperty(I(t))});else for(n in t)t[n]||0===t[n]?a+=I(n)+":"+_(n,t[n])+";":this.each(function(){this.style.removeProperty(I(n))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?o.some.call(this,function(t){return this.test(K(t))},V(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=K(this),o=Y(this,t,e,n);o.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&K(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return K(this,"");i=K(this),Y(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(V(t)," ")}),K(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var o=r(this),s=Y(this,t,i,K(this));s.split(/\s+/g).forEach(function(t){(n===e?!o.hasClass(t):n)?o.addClass(t):o.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),i=g.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||f.body;t&&!g.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var o,s=this[0];return i===e?k(s)?s["inner"+n]:M(s)?s.documentElement["scroll"+n]:(o=this.offset())&&o[t]:this.each(function(e){s=r(this),s.css(t,Y(this,i,e,s[t]()))})}}),x.forEach(function(n,i){var o=i%2;r.fn[n]=function(){var n,a,s=r.map(arguments,function(t){var i=[];return n=$(t),"array"==n?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(N.fragment(t)))}),i):"object"==n||null==t?t:N.fragment(t)}),u=this.length>1;return s.length<1?this:this.each(function(e,n){a=o?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(f.documentElement,a);s.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!a)return r(e).remove();a.insertBefore(e,n),c&&tt(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[o?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),N.Z.prototype=X.prototype=r.fn,N.uniq=P,N.deserializeValue=Q,r.zepto=N,r}();return t.Zepto=e,void 0===t.$&&(t.$=e),function(e){function h(t){return t._zid||(t._zid=n++)}function p(t,e,n,r){if(e=d(e),e.ns)var i=m(e.ns);return(a[h(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||h(t.fn)===h(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function m(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function g(t,e){return t.del&&!f&&t.e in c||!!e}function v(t){return l[t]||f&&c[t]||t}function y(t,n,i,o,s,u,f){var c=h(t),p=a[c]||(a[c]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return e(document).ready(i);var a=d(n);a.fn=i,a.sel=s,a.e in l&&(i=function(t){var n=t.relatedTarget;return!n||n!==this&&!e.contains(this,n)?a.fn.apply(this,arguments):void 0}),a.del=u;var c=u||i;a.proxy=function(e){if(e=T(e),!e.isImmediatePropagationStopped()){e.data=o;var n=c.apply(t,e._args==r?[e]:[e].concat(e._args));return n===!1&&(e.preventDefault(),e.stopPropagation()),n}},a.i=p.length,p.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,g(a,f))})}function x(t,e,n,r,i){var o=h(t);(e||"").split(/\s/).forEach(function(e){p(t,e,n,r).forEach(function(e){delete a[o][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,g(e,i))})})}function T(t,n){return(n||!t.isDefaultPrevented)&&(n||(n=t),e.each(w,function(e,r){var i=n[e];t[e]=function(){return this[r]=b,i&&i.apply(n,arguments)},t[r]=E}),t.timeStamp||(t.timeStamp=Date.now()),(n.defaultPrevented!==r?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function S(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===r||(n[e]=t[e]);return T(n,t)}var r,n=1,i=Array.prototype.slice,o=e.isFunction,s=function(t){return"string"==typeof t},a={},u={},f="onfocusin"in t,c={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:x},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(o(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=h(t),a}if(s(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,w={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,n,a,u,f){var c,l,h=this;return t&&!s(t)?(e.each(t,function(t,e){h.on(t,n,a,e,f)}),h):(s(n)||o(u)||u===!1||(u=a,a=n,n=r),(u===r||a===!1)&&(u=a,a=r),u===!1&&(u=E),h.each(function(r,o){f&&(c=function(t){return x(o,t.type,u),u.apply(this,arguments)}),n&&(l=function(t){var r,s=e(t.target).closest(n,o).get(0);return s&&s!==o?(r=e.extend(S(t),{currentTarget:s,liveFired:o}),(c||u).apply(s,[r].concat(i.call(arguments,1)))):void 0}),y(o,t,u,a,n,l||c)}))},e.fn.off=function(t,n,i){var a=this;return t&&!s(t)?(e.each(t,function(t,e){a.off(t,n,e)}),a):(s(n)||o(i)||i===!1||(i=n,n=r),i===!1&&(i=E),a.each(function(){x(this,t,i,n)}))},e.fn.trigger=function(t,n){return t=s(t)||e.isPlainObject(t)?e.Event(t):T(t),t._args=n,this.each(function(){t.type in c&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(o,a){r=S(s(t)?e.Event(t):t),r._args=n,r.target=a,e.each(p(a,t.type||t),function(t,e){return i=e.proxy(r),r.isImmediatePropagationStopped()?!1:void 0})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){s(t)||(e=t,t=e.type);var n=document.createEvent(u[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),T(n)}}(e),function(e){function p(t,n,r){var i=e.Event(n);return e(t).trigger(i,r),!i.isDefaultPrevented()}function d(t,e,n,i){return t.global?p(e||r,n,i):void 0}function m(t){t.global&&0===e.active++&&d(t,null,"ajaxStart")}function g(t){t.global&&!--e.active&&d(t,null,"ajaxStop")}function v(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||d(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void d(e,n,"ajaxSend",[t,e])}function y(t,e,n,r){var i=n.context,o="success";n.success.call(i,t,o,e),r&&r.resolveWith(i,[t,o,e]),d(n,i,"ajaxSuccess",[e,n,t]),b(o,e,n)}function x(t,e,n,r,i){var o=r.context;r.error.call(o,n,e,t),i&&i.rejectWith(o,[n,e,t]),d(r,o,"ajaxError",[n,r,t||e]),b(e,n,r)}function b(t,e,n){var r=n.context;n.complete.call(r,e,t),d(n,r,"ajaxComplete",[e,n]),g(n)}function E(t,e,n){if(n.dataFilter==j)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function j(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==c?"html":t==f?"json":a.test(t)?"script":u.test(t)&&"xml")||"text"}function T(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function S(t){t.processData&&t.data&&"string"!=e.type(t.data)&&(t.data=e.param(t.data,t.traditional)),!t.data||t.type&&"GET"!=t.type.toUpperCase()&&"jsonp"!=t.dataType||(t.url=T(t.url,t.data),t.data=void 0)}function C(t,n,r,i){return e.isFunction(n)&&(i=r,r=n,n=void 0),e.isFunction(r)||(i=r,r=void 0),{url:t,data:n,success:r,dataType:i}}function O(t,n,r,i){var o,s=e.isArray(n),a=e.isPlainObject(n);e.each(n,function(n,u){o=e.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?t.add(u.name,u.value):"array"==o||!r&&"object"==o?O(t,u,r,n):t.add(n,u)})}var i,o,n=+new Date,r=t.document,s=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,a=/^(?:text|application)\/javascript/i,u=/^(?:text|application)\/xml/i,f="application/json",c="text/html",l=/^\s*$/,h=r.createElement("a");h.href=t.location.href,e.active=0,e.ajaxJSONP=function(i,o){if(!("type"in i))return e.ajax(i);var c,p,s=i.jsonpCallback,a=(e.isFunction(s)?s():s)||"Zepto"+n++,u=r.createElement("script"),f=t[a],l=function(t){e(u).triggerHandler("error",t||"abort")},h={abort:l};return o&&o.promise(h),e(u).on("load error",function(n,r){clearTimeout(p),e(u).off().remove(),"error"!=n.type&&c?y(c[0],h,i,o):x(null,r||"error",h,i,o),t[a]=f,c&&e.isFunction(f)&&f(c[0]),f=c=void 0}),v(h,i)===!1?(l("abort"),h):(t[a]=function(){c=arguments},u.src=i.url.replace(/\?(.+)=\?/,"?$1="+a),r.head.appendChild(u),i.timeout>0&&(p=setTimeout(function(){l("timeout")},i.timeout)),h)},e.ajaxSettings={type:"GET",beforeSend:j,success:j,error:j,complete:j,context:null,global:!0,xhr:function(){return new t.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:f,xml:"application/xml, text/xml",html:c,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:j},e.ajax=function(n){var u,f,s=e.extend({},n||{}),a=e.Deferred&&e.Deferred();for(i in e.ajaxSettings)void 0===s[i]&&(s[i]=e.ajaxSettings[i]);m(s),s.crossDomain||(u=r.createElement("a"),u.href=s.url,u.href=u.href,s.crossDomain=h.protocol+"//"+h.host!=u.protocol+"//"+u.host),s.url||(s.url=t.location.toString()),(f=s.url.indexOf("#"))>-1&&(s.url=s.url.slice(0,f)),S(s);var c=s.dataType,p=/\?.+=\?/.test(s.url);if(p&&(c="jsonp"),s.cache!==!1&&(n&&n.cache===!0||"script"!=c&&"jsonp"!=c)||(s.url=T(s.url,"_="+Date.now())),"jsonp"==c)return p||(s.url=T(s.url,s.jsonp?s.jsonp+"=?":s.jsonp===!1?"":"callback=?")),e.ajaxJSONP(s,a);var P,d=s.accepts[c],g={},b=function(t,e){g[t.toLowerCase()]=[t,e]},C=/^([\w-]+:)\/\//.test(s.url)?RegExp.$1:t.location.protocol,N=s.xhr(),O=N.setRequestHeader;if(a&&a.promise(N),s.crossDomain||b("X-Requested-With","XMLHttpRequest"),b("Accept",d||"*/*"),(d=s.mimeType||d)&&(d.indexOf(",")>-1&&(d=d.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(d)),(s.contentType||s.contentType!==!1&&s.data&&"GET"!=s.type.toUpperCase())&&b("Content-Type",s.contentType||"application/x-www-form-urlencoded"),s.headers)for(o in s.headers)b(o,s.headers[o]);if(N.setRequestHeader=b,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=j,clearTimeout(P);var t,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==C){if(c=c||w(s.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)t=N.response;else{t=N.responseText;try{t=E(t,c,s),"script"==c?(1,eval)(t):"xml"==c?t=N.responseXML:"json"==c&&(t=l.test(t)?null:e.parseJSON(t))}catch(r){n=r}if(n)return x(n,"parsererror",N,s,a)}y(t,N,s,a)}else x(N.statusText||null,N.status?"error":"abort",N,s,a)}},v(N,s)===!1)return N.abort(),x(null,"abort",N,s,a),N;var A="async"in s?s.async:!0;if(N.open(s.type,s.url,A,s.username,s.password),s.xhrFields)for(o in s.xhrFields)N[o]=s.xhrFields[o];for(o in g)O.apply(N,g[o]);return s.timeout>0&&(P=setTimeout(function(){N.onreadystatechange=j,N.abort(),x(null,"timeout",N,s,a)},s.timeout)),N.send(s.data?s.data:null),N},e.get=function(){return e.ajax(C.apply(null,arguments))},e.post=function(){var t=C.apply(null,arguments);return t.type="POST",e.ajax(t)},e.getJSON=function(){var t=C.apply(null,arguments);return t.dataType="json",e.ajax(t)},e.fn.load=function(t,n,r){if(!this.length)return this;var a,i=this,o=t.split(/\s/),u=C(t,n,r),f=u.success;return o.length>1&&(u.url=o[0],a=o[1]),u.success=function(t){i.html(a?e("<div>").html(t.replace(s,"")).find(a):t),f&&f.apply(i,arguments)},e.ajax(u),this};var N=encodeURIComponent;e.param=function(t,n){var r=[];return r.add=function(t,n){e.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(t)+"="+N(n))},O(r,t,n),r.join("&").replace(/%20/g,"+")}}(e),function(t){t.fn.serializeArray=function(){var e,n,r=[],i=function(t){return t.forEach?t.forEach(i):void r.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(r,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&i(t(o).val())}),r},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(e),function(){try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;t.getComputedStyle=function(t,e){try{return n(t,e)}catch(r){return null}}}}(),e}); detection.js 0000644 00000004401 15043717150 0007062 0 ustar 00 var detection = (function() { var mod = {is:{}}, d, ua = navigator.userAgent; mod.detect = { html5: function() { return document.createElement('canvas').getContext !== undefined; }, touch: function() { var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints; return !!supportsTouch; }, android: function() { return !!ua.match(/Android/i); }, ios: function() { return !!ua.match(/iPhone|iPad|iPod/i); }, ios7: function(){ return mod.detect.ios && ua.match(/version\/7\./i); }, bb10: function() { return !!ua.match(/BB10/i); }, windows: function() { return !!ua.match(/Windows/i); }, webkitVersion: function() { var regex = new RegExp(/AppleWebKit\/([\d.]+)/), result = regex.exec(ua), webkitVersion = result === null ? false : parseFloat(result[1]); return webkitVersion; }, androidStockBrowser: function() { if (mod.is.android && mod.is.webkitVersion && mod.is.webkitVersion < 537) { return true; } return false; }, standalone: function() { return !!window.navigator.standalone; }, smartphone: function() { return (ua.match(/Android.*Mobile|iPhone|IEMobile|WPDesktop|BB10/i)) ? true : false; }, tablet: function() { // Android smartphones have the combination Android...Mobile, tablets only Android var androidTablet = (mod.is.android && !mod.is.smartphone), iPad = ua.match(/iPad/i) ? true : false; return (androidTablet || iPad); }, pc: function() { return (!mod.is.smartphone && !mod.is.tablet); }, phantom: function() { return !!(window.callPhantom || ua.match(/PhantomJS/)); }, iframe: function(){ return window.self != window.top; } }; for (d in mod.detect) { if (typeof mod.detect[d] === 'function') { mod.is[d] = mod.detect[d](); } } return mod; })(); famobi_analytics_v1.js 0000644 00000024634 15043717150 0011030 0 ustar 00 !function(a, b) { var famobi_analytics = { 'stats' : {}, // params for achivements etc. - custom key-value pairs 'events': [], // list of logged events, for debugging purposes 'currentScreen': '', 'pageTitle' : '', // STATS 'trackStats': function(key, value) { return new Promise(function(resolve, reject) { var res = {}; var values = {}; if (typeof key === 'string') { values[key] = value; } var statsValidator = function() { for (var k in values) { var testKey = (typeof key === 'string' && key.length && key.length <= 42) && key.match(/^[a-z\_0-9]+$/); if (!testKey) { console.warn("trackStats(): key '" + key + "' contains not only lowercase letters, numbers and underscore ([a-z_0-9]), maximum length: 42 characters"); return false; } } return true; } var isValid = statsValidator(); if (!isValid) { reject("trackStats(): invalid params " + JSON.stringify(key, value)); return false; } var updateKey = function(key, value) { if (typeof key === 'string' && key.length) { if (key in famobi_analytics.stats && (typeof value === "undefined" || value === null)) { delete famobi_analytics.stats[key]; } else { if(typeof value !== "undefined" && value) { famobi_analytics.stats[key] = value; } } return true; } else { throw("trackStats(): key is not a string or an Object"); return false; } } if(key && typeof key === 'object') { for(var k in key) { value = key[k] updateKey(k, value); } res = key; } else { updateKey(key, value); res[key] = value; } if (famobi.hasOwnProperty("adapters")) { famobi.adapters.run("analytics", "trackStats", key, value); } resolve(res); }); }, 'getStats': function() { // for debugging purposes return new Promise(function(resolve, reject) { resolve(famobi_analytics.stats); }); }, // EVENTS 'trackEvent': function(event, params) { return new Promise(function(resolve, reject) { if (typeof famobi_analytics[event] === "undefined") { reject('trackEvent(): unknown event \'' + event + '\''); return false; } params = params || {}; if (typeof params !== "object" && params !== null) { reject('trackEvent(): second parameter needs to be an object'); return false; } var paramsValidator = function() { var availableParams = { 'levelName': '', 'reason': [ 'timeout', 'dead', 'wrong_answer', 'quit', 'draw' ], 'levelScore': -0.0, 'liveScore': -0.0, 'totalScore': -0.0, 'bgmVolume': 0.0, 'sfxVolume': 0.0 }; var requiredParams = { 'EVENT_LEVELFAIL': ['levelName', 'reason'], 'EVENT_LEVELRESTART': ['levelName'], 'EVENT_LEVELSTART': ['levelName'], 'EVENT_LEVELSUCCESS': ['levelName'], 'EVENT_LEVELSCORE': ['levelName', 'levelScore'], 'EVENT_LIVESCORE': ['liveScore'], 'EVENT_TOTALSCORE': ['totalScore'], 'EVENT_VOLUMECHANGE': ['bgmVolume', 'sfxVolume'], 'EVENT_CUSTOM': [] }; if (typeof requiredParams[event] !== "undefined" && Object.keys(params).length === 0) { console.warn("trackEvent(): '" + event + "' requires at least one parameter"); return false; } if (typeof requiredParams[event] === "undefined") { return true; } var k = 0; var name = ''; var param = null; for (k; k < requiredParams[event].length; k++) { name = requiredParams[event][k]; param = availableParams[name]; if (typeof param === "string") { if (typeof params[name] !== "string") { console.warn("trackEvent(): required param '" + name + "' has to be of type string"); return false; } } if (typeof param === "number") { if (typeof params[name] !== "number") { console.warn("trackEvent(): required param '" + name + "' has to be of type number"); return false; } } if (typeof param === "object") { if (param.indexOf(params[name]) === -1) { console.warn("trackEvent(): required param '" + name + "' has to be one of \"" + param.join('", "') + "\""); return false; } } } return true; }; var isValid = paramsValidator(); if (!isValid) { return reject("trackEvent(): invalid params " + JSON.stringify(params)); } famobi_analytics.events.push({event: event, params: params}); if (famobi.hasOwnProperty("adapters")) { famobi.adapters.run("analytics", "trackEvent", event, params); } event !== "EVENT_LIVESCORE" && console.log(event, params); /* if (famobi_analytics.TRIGGER_AD.indexOf(event) > -1) { return famobi.showAd(function() { resolve(event, params); }); } */ if (famobi_analytics.TRIGGER_SCORE.indexOf(event) > -1) { if(!window.famobi.hasFeature("highscores")) { return resolve(event, params); } var promises = []; switch(event) { case "EVENT_LEVELSCORE": famobi.submitHighscore(params['levelName'], params['levelScore'], true); break; case "EVENT_TOTALSCORE": famobi.submitHighscore('TOTAL', params['totalScore'], true); break; default: } return Promise.all(promises).then(function() { resolve(event, params); }); } if (famobi_analytics.TRIGGER_LEVELSUCCESS.indexOf(event) > -1) { return Promise.all([ window.famobi.showAd() ]).then(function(){ resolve(event, params); }); } if (famobi_analytics.TRIGGER_LEVELFAIL.indexOf(event) > -1) { if(params.reason == "quit") { return resolve(event, params); } return Promise.all([ window.famobi.showAd() ]).then(function(){ resolve(event, params); }); } if (famobi_analytics.TRIGGER_LEVELSTART.indexOf(event) > -1) { return Promise.all([]).then(function(){ resolve(event, params); }); } /* if (famobi_analytics.TRIGGER_LEVELSCORE.indexOf(event) > -1) { famobi.submitHighscore(params['levelName'], params['levelScore']); return resolve(event, params); } if (famobi_analytics.TRIGGER_TOTALSCORE.indexOf(event) > -1) { famobi.submitHighscore('TOTAL', params['totalScore']); return resolve(event, params); } */ if (famobi_analytics.TRIGGER_LIVESCORE.indexOf(event) > -1) { famobi.sendLiveScore(params['liveScore']); return resolve(event, params); } return resolve(event, params); }); }, 'getEvents': function() { // for debugging purposes return new Promise(function(resolve, reject) { resolve(famobi_analytics.events); }); }, EVENT_CUSTOM: 'EVENT_CUSTOM', EVENT_LEVELFAIL: 'EVENT_LEVELFAIL', EVENT_LEVELRESTART: 'EVENT_LEVELRESTART', EVENT_LEVELSTART: 'EVENT_LEVELSTART', EVENT_LEVELSUCCESS: 'EVENT_LEVELSUCCESS', EVENT_LIVESCORE: 'EVENT_LIVESCORE', EVENT_LEVELSCORE: 'EVENT_LEVELSCORE', EVENT_TOTALSCORE: 'EVENT_TOTALSCORE', EVENT_TUTORIALCOMPLETED: 'EVENT_TUTORIALCOMPLETED', EVENT_TUTORIALSKIPPED: 'EVENT_TUTORIALSKIPPED', EVENT_VOLUMECHANGE: 'EVENT_VOLUMECHANGE', EVENT_PAUSE: 'EVENT_PAUSE', EVENT_RESUME: 'EVENT_RESUME', // SCREEN 'trackScreen': function(screen, pageTitle) { return new Promise(function(resolve, reject) { var requiredPageTitleScreens = [ 'SCREEN_OTHER' ]; if (typeof famobi_analytics[screen] === "undefined") { reject("trackScreen(): unknown screen '" + screen + "'"); return false; } if (!pageTitle && screen.indexOf(requiredPageTitleScreens) > -1) { reject("trackScreen(): screen '" + screen + "' requires param 'pageTitle'"); return false; } if (pageTitle && typeof pageTitle !== "string") { reject("trackScreen(): required param 'pageTitle' has to be a non-empty string"); return false; } famobi_analytics.currentScreen = screen; famobi_analytics.pageTitle = pageTitle; if (famobi.hasOwnProperty("adapters")) { famobi.adapters.run("analytics", "trackScreen", screen, pageTitle); } resolve(screen, pageTitle); }); }, 'getScreen': function() { return famobi_analytics.currentScreen; }, 'getPageTitle': function() { return famobi_analytics.pageTitle; }, SCREEN_OTHER: 'SCREEN_OTHER', // custom, use pageTitle to differentiate SCREEN_BONUS: 'SCREEN_BONUS', // bonus screen, e.g. extra chance SCREEN_CHARACTER: 'SCREEN_CHARACTER', // Select character SCREEN_CREDITS: 'SCREEN_CREDITS', // credits screen, if used SCREEN_GAMERESULT: 'SCREEN_GAMERESULT', // result screen with total score (game over) SCREEN_HELP: 'SCREEN_HELP', // help screen SCREEN_HOME: 'SCREEN_HOME', // home screen (start screen) SCREEN_LEVEL: 'SCREEN_LEVEL', // level screen while playing SCREEN_LEVELINTRO: 'SCREEN_LEVELINTRO', // level has not yet begun (optional) SCREEN_LEVELLOADING: 'SCREEN_LEVELLOADING', // level is loading (optional) SCREEN_LEVELRESULT: 'SCREEN_LEVELRESULT', // result screen with level score SCREEN_LEVELSELECT: 'SCREEN_LEVELSELECT', // level select screen SCREEN_PAUSE: 'SCREEN_PAUSE', // pause screen SCREEN_SETTINGS: 'SCREEN_SETTINGS', // settings screen (advanced game settings) SCREEN_SHOP: 'SCREEN_SHOP', // when the game features an ingame shop, use pageTitle to differentiate between items SCREEN_SPLASH: 'SCREEN_SPLASH', // splash screen, if used SCREEN_TUTORIAL: 'SCREEN_TUTORIAL', // tutorial screen(s), use pageTitle to differentiate between multiple tutorial screens TRIGGER_SCORE: ['EVENT_LEVELSCORE', 'EVENT_TOTALSCORE'], TRIGGER_LIVESCORE: ['EVENT_LIVESCORE'], TRIGGER_LEVELFAIL: ['EVENT_LEVELFAIL'], TRIGGER_LEVELSUCCESS:['EVENT_LEVELSUCCESS'], TRIGGER_LEVELSTART: ['EVENT_LEVELSTART', 'EVENT_LEVELRESTART'], }; // export famobi_analytics object to global object b[a] = famobi_analytics; }('famobi_analytics', window); tresor.js 0000644 00000040003 15043717150 0006420 0 ustar 00 window["TRESOR"] = ( function () { let log = false; let initialized = false; let compression = null; let debugging = false; let async = true; let STORAGE; let LZString; const STORAGES = { "SESSION": 0, "LOCALSTORAGE": 1, "YTGAME": 2, "GAMESNACKS": 3, "FAMOBI": 4, "WAKOOL": 5, 0: "SESSION", 1: "LOCALSTORAGE", 2: "YTGAME", 3: "GAMESNACKS", 4: "FAMOBI", 5: "WAKOOL" }; const testKey = "__test__"; function init(_storageType = 0, _fallback = false, _log = false, _async = true, _compression = null) { if(typeof _storageType === "object") { storageType = _storageType.storageType || 0; fallback = _storageType.fallback || false; log = _storageType.log || false; async = !!_storageType.async; compression = _storageType.compression || null; } else { storageType = _storageType || 0; fallback = _fallback || false; log = _log || false; async = !!_async; compression = _compression || null; } switch(compression) { case "lz-string": /** * lz-string 1.5.0 (https://github.com/pieroxy/lz-string/) **/ LZString=function(){var r=String.fromCharCode,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",e={};function t(r,o){if(!e[r]){e[r]={};for(var n=0;n<r.length;n++)e[r][r.charAt(n)]=n}return e[r][o]}var i={compressToBase64:function(r){if(null==r)return"";var n=i._compress(r,6,function(r){return o.charAt(r)});switch(n.length%4){default:case 0:return n;case 1:return n+"===";case 2:return n+"==";case 3:return n+"="}},decompressFromBase64:function(r){return null==r?"":""==r?null:i._decompress(r.length,32,function(n){return t(o,r.charAt(n))})},compressToUTF16:function(o){return null==o?"":i._compress(o,15,function(o){return r(o+32)})+" "},decompressFromUTF16:function(r){return null==r?"":""==r?null:i._decompress(r.length,16384,function(o){return r.charCodeAt(o)-32})},compressToUint8Array:function(r){for(var o=i.compress(r),n=new Uint8Array(2*o.length),e=0,t=o.length;e<t;e++){var s=o.charCodeAt(e);n[2*e]=s>>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null==o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;e<t;e++)n[e]=256*o[2*e]+o[2*e+1];var s=[];return n.forEach(function(o){s.push(r(o))}),i.decompress(s.join(""))},compressToEncodedURIComponent:function(r){return null==r?"":i._compress(r,6,function(r){return n.charAt(r)})},decompressFromEncodedURIComponent:function(r){return null==r?"":""==r?null:(r=r.replace(/ /g,"+"),i._decompress(r.length,32,function(o){return t(n,r.charAt(o))}))},compress:function(o){return i._compress(o,16,function(o){return r(o)})},_compress:function(r,o,n){if(null==r)return"";var e,t,i,s={},u={},a="",p="",c="",l=2,f=3,h=2,d=[],m=0,v=0;for(i=0;i<r.length;i+=1)if(a=r.charAt(i),Object.prototype.hasOwnProperty.call(s,a)||(s[a]=f++,u[a]=!0),p=c+a,Object.prototype.hasOwnProperty.call(s,p))c=p;else{if(Object.prototype.hasOwnProperty.call(u,c)){if(c.charCodeAt(0)<256){for(e=0;e<h;e++)m<<=1,v==o-1?(v=0,d.push(n(m)),m=0):v++;for(t=c.charCodeAt(0),e=0;e<8;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;e<h;e++)m=m<<1|t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=c.charCodeAt(0),e=0;e<16;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e<h;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++),s[p]=f++,c=String(a)}if(""!==c){if(Object.prototype.hasOwnProperty.call(u,c)){if(c.charCodeAt(0)<256){for(e=0;e<h;e++)m<<=1,v==o-1?(v=0,d.push(n(m)),m=0):v++;for(t=c.charCodeAt(0),e=0;e<8;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;e<h;e++)m=m<<1|t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=c.charCodeAt(0),e=0;e<16;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e<h;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;e<h;e++)m=m<<1|1&t,v==o-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==o-1){d.push(n(m));break}v++}return d.join("")},decompress:function(r){return null==r?"":""==r?null:i._decompress(r.length,32768,function(o){return r.charCodeAt(o)})},_decompress:function(o,n,e){var t,i,s,u,a,p,c,l=[],f=4,h=4,d=3,m="",v=[],g={val:e(0),position:n,index:1};for(t=0;t<3;t+=1)l[t]=t;for(s=0,a=Math.pow(2,2),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 2:return""}for(l[3]=c,i=c,v.push(c);;){if(g.index>o)return"";for(s=0,a=Math.pow(2,d),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(c=s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 2:return v.join("")}if(0==f&&(f=Math.pow(2,d),d++),l[c])m=l[c];else{if(c!==h)return null;m=i+i.charAt(0)}v.push(m),l[h++]=i+m.charAt(0),i=m,0==--f&&(f=Math.pow(2,d),d++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString}); break; default: // do nothing } return new Promise((resolve, reject) => { log && console.log("[tresor] initializing..."); setDriver(storageType, fallback).then( () => { log && console.log("[tresor] ok"); initialized = true; resolve(); }, () => { log && console.log("[tresor] failed"); reject(); } ); }); }; function compress(str) { switch(compression) { case "lz-string": debugging && console.log("compress data (%s):", compression); debugging && console.log(str); str = LZString.compress(str); debugging && console.log(str); return str; default: return str; } }; function decompress(str) { switch(compression) { case "lz-string": debugging && console.log("decompress data (%s):", compression); debugging && console.log(str); str = LZString.decompress(str); debugging && console.log(str); default: return str; } } function setDriver(storageType = 0, fallback = true) { // SESSION STORAGE const SESSION_STORAGE = { data: {}, init: function() { return Promise.resolve(); }, setItem: function(keyPrefix, value) { this.data[keyPrefix] = value; return Promise.resolve({}); }, getItem: function(keyPrefix) { return Promise.resolve({"value": this.data[keyPrefix] || null}); }, removeItem: function(keyPrefix) { delete this.data[keyPrefix]; return Promise.resolve({}); }, keys: function() { return Promise.resolve({"keys": Object.keys(this.data)}); }, clear: function() { this.data = {}; return Promise.resolve({}); } }; // YTGAME STORAGE const YTGAME_STORAGE = { data: {}, init: function() { return new Promise(resolve => { window["ytgame"]["game"]["loadData"]().then(data => { try{ this.data = JSON.parse(decompress(data)); if(this.data === null) { this.data = {}; } } catch(e) { this.data = {}; } resolve(); }); }); }, setItem: function(keyPrefix, value) { return new Promise(resolve => { this.data[keyPrefix] = value; window["ytgame"]["game"]["saveData"](compress(JSON.stringify(this.data))).then( () => {resolve({})}, e => {resolve({"err": e})}); }); }, getItem: function(keyPrefix) { return Promise.resolve({"value": this.data[keyPrefix] || null}); }, removeItem: function(keyPrefix) { delete this.data[keyPrefix]; return new Promise(resolve => { window["ytgame"]["game"]["saveData"](compress(JSON.stringify(this.data))).then( () => {resolve({})}, e => {resolve({"err": e})}); }); }, keys: function() { return Promise.resolve({"keys": Object.keys(this.data)}); }, clear: function() { this.data = {}; return new Promise(resolve => { window["ytgame"]["game"]["saveData"](compress(JSON.stringify(this.data))).then( () => {resolve({})}, e => {resolve({"err": e})}); }); } }; // LOCALSTORAGE const LOCAL_STORAGE = { data: {}, init: function() { return new Promise(resolve => { window["localStorage"]["setItem"](testKey, testKey); window["localStorage"]["removeItem"](testKey); resolve(); }); }, setItem: function(keyPrefix, value) { window["localStorage"]["setItem"](keyPrefix, value); return Promise.resolve({}); }, getItem: function(keyPrefix) { let value = window["localStorage"]["getItem"](keyPrefix); return Promise.resolve({"value": value || null}); }, removeItem: function(keyPrefix) { window["localStorage"]["removeItem"](keyPrefix); return Promise.resolve({}); }, keys: function() { function getAllLocalStorageKeys() { const keys = []; const len = window["localStorage"].length; for (let i = 0; i < len; i++) { keys.push(window["localStorage"]["key"](i)); } return keys; } return Promise.resolve({"keys": getAllLocalStorageKeys()}); }, clear: function() { window["localStorage"]["clear"](); return Promise.resolve({}); } }; // GAMESNACKS STORAGE const GAMESNACKS_STORAGE = { data: {}, init: function() { return new Promise(resolve => { let data = window["GameSnacks"]["storage"]["getItem"]("savegame"); try{ this.data = JSON.parse(decompress(data)); if(this.data === null) { this.data = {}; } } catch(e) { this.data = {}; } resolve(); }); }, setItem: function(keyPrefix, value) { return new Promise(resolve => { this.data[keyPrefix] = value; try{ window["GameSnacks"]["storage"]["setItem"]("savegame", compress(JSON.stringify(this.data))); resolve({}); } catch(e) { resolve({"err": e}); } }); }, getItem: function(keyPrefix) { return Promise.resolve({"value": this.data[keyPrefix] || null}); }, removeItem: function(keyPrefix) { return new Promise(resolve => { delete this.data[keyPrefix]; try{ window["GameSnacks"]["storage"]["setItem"]("savegame", compress(JSON.stringify(this.data))); resolve({}); } catch(e) { resolve({"err": e}); } }); }, keys: function() { return Promise.resolve({"keys": Object.keys(this.data)}); }, clear: function() { this.data = {}; window["GameSnacks"]["storage"]["clear"](); return Promise.resolve({}); } }; // FAMOBI STORAGE const FAMOBI_STORAGE = { data: {}, init: function() { return new Promise(resolve => { window["famobi"]["localStorage"]["setItem"](testKey, testKey); window["famobi"]["localStorage"]["removeItem"](testKey); resolve(); }); }, setItem: function(keyPrefix, value) { window["famobi"]["localStorage"]["setItem"](keyPrefix, value); return Promise.resolve({}); }, getItem: function(keyPrefix) { let value = window["famobi"]["localStorage"]["getItem"](keyPrefix); return Promise.resolve({"value": value || null}); }, removeItem: function(keyPrefix) { window["famobi"]["localStorage"]["removeItem"](keyPrefix); return Promise.resolve({}); }, keys: function() { let keys = window["famobi"]["localStorage"]["getKeys"](); return Promise.resolve({"keys": keys}); }, clear: function() { window["famobi"]["localStorage"]["clear"](); return Promise.resolve({}); } }; // WAKOOL STORAGE const WAKOOL_STORAGE = { data: {}, path: "/" + window.famobi_gameID + "/", storageType: "userStorage", // appStorage init: function() { return new Promise(resolve => { wakool[this.storageType].keys(this.path).then(keys => { keys.forEach(key => { wakool[this.storageType].get(this.path + key).then(result => { if(result) { this.data[key] = result; } }).catch(e => { resolve({err: e}); }); }); resolve(); }).catch(e => { resolve({err: e}); }); }); }, setItem: function(keyPrefix, value) { this.data[keyPrefix] = value; wakool[this.storageType].put(this.path + keyPrefix, JSON.stringify(value)); return Promise.resolve({}); }, getItem: function(keyPrefix) { return Promise.resolve({"value": this.data[keyPrefix] || null}); }, removeItem: function(keyPrefix) { delete this.data[keyPrefix]; wakool[this.storageType].remove(this.path + keyPrefix); return Promise.resolve({}); }, keys: function() { return Promise.resolve({"keys": Object.keys(this.data)}); }, clear: function() { this.keys().then(result => { result.keys.forEach(key => { this.removeItem(key); }); }); return Promise.resolve({}); } }; switch(storageType) { case 0: STORAGE = SESSION_STORAGE; break; case 1: STORAGE = LOCAL_STORAGE; break; case 2: STORAGE = YTGAME_STORAGE; break; case 3: STORAGE = GAMESNACKS_STORAGE; break; case 4: STORAGE = FAMOBI_STORAGE; break; case 5: STORAGE = WAKOOL_STORAGE; break; default: log && console.log("[tresor] unknown storage type. Using session/object storage as fallback."); storageType = 0; STORAGE = SESSION_STORAGE; } STORAGE.type = storageType; log && console.log("[tresor] selected storage: %s", STORAGES[STORAGE.type]); return new Promise((resolve, reject) => { STORAGE.init().then(() => { resolve(); }).catch(e => { if(fallback) { log && console.log("[tresor] failed! using Session storage as fallback..."); setDriver(0, false); STORAGE.init().then(() => { resolve(); }); } else { reject(); } }); }); }; function setItem(keyPrefix, value, callback) { STORAGE.setItem(keyPrefix, value).then(result => { if(typeof callback === "function") { callback(result["err"] || false, value); } }); }; function getItem(keyPrefix, callback) { if(!async) { return STORAGE.data[keyPrefix] || null; } STORAGE.getItem(keyPrefix).then(result => { if(typeof callback === "function") { callback(result["err"] || false, result["value"]); } }); }; function removeItem(keyPrefix, callback) { STORAGE.removeItem(keyPrefix).then(result => { if(typeof callback === "function") { callback(result["err"] || false); } }); }; function keys(callback) { if(!async) { return Object.keys(STORAGE.data); } STORAGE.keys().then(result => { if(typeof callback === "function") { callback(result["err"] || false, result["keys"]); } }); }; function clear(callback) { STORAGE.clear().then(result => { if(typeof callback === "function") { callback(result.keys, result.err); } }); }; return { init, setDriver, setItem, getItem, removeItem, keys, clear, get initialized() { return initialized; }, STORAGES }; } )(); // window["TRESOR"]["init"](3, true, false); fenster.js 0000644 00000005713 15043717150 0006561 0 ustar 00 if (typeof window !== "undefined" && typeof fenster === "undefined" && typeof window.fenster === "undefined") { !(function(a, b) { const fenster = ( function() { let isDebug = false; try{ const searchParams = new URL(window.location.href).searchParams; isDebug = ["1", "true"].includes(searchParams.get("debug")); } catch(e) { } isDebug && console.log("fenster...") let innerWidth = window.innerWidth; let innerHeight = window.innerHeight; let interval = null; let fnResize = null; function subscribeToOffsetUpdates(_fnResize) { fnResize = _fnResize; }; function init() { isDebug && console.log("init 'fenster'..."); window.famobi.onOffsetChange(offsets => { isDebug && console.log("[offsets] onOffsetChange"); update(); }); update(); }; function update() { isDebug && console.log( "[offsets] top: %s, right: %s, bottom: %s, left: %s", window.famobi.getOffsets().top, window.famobi.getOffsets().right, window.famobi.getOffsets().bottom, window.famobi.getOffsets().left ); innerWidth = window.innerWidth - (window.famobi?.getOffsets()?.right || 0); innerHeight = window.innerHeight - (window.famobi?.getOffsets()?.bottom || 0); isDebug && console.log("[offsets] innerWidth: %s, innerHeight: %s", innerWidth, innerHeight ); if(typeof fnResize === "function") { fnResize(); } }; function test(right = 0, bottom = 0) { const offsets = { top: 0, right, bottom, left: 0 }; window.famobi.getOffsets = () => { return offsets; } window.famobi.adapters.run("viewport", "offsetChanged", offsets); }; addEventListener("resize", (event) => { update(); }); interval = setInterval(() => { isDebug && console.log("[fenster] checking for onOffsetChange") if (typeof window.famobi?.onOffsetChange === "function") { clearInterval(interval); init(); } }, 250); return { get innerHeight() { return innerHeight; }, get innerWidth() { return innerWidth; }, update: update, subscribeToOffsetUpdates: subscribeToOffsetUpdates, test: test }; } )(); b[a] = fenster; })("fenster", window); }
| ver. 1.4 |
Github
|
.
| PHP 8.2.29 | Генераци� �траницы: 0 |
proxy
|
phpinfo
|
�а�тройка