(()=>{"use strict";var e={88:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Adv=t.Feedback=t.Shortcut=t.Gameplay=t.Social=void 0,t.Social=class{canAddToFavorites(){return!1}addToFavorites(){return Promise.reject()}canInviteFriend(){return!1}inviteFriend(){return Promise.reject()}canAddWallPost(){return!1}addWallPost(){return Promise.reject()}},t.Gameplay=class{start(){}stop(){}happyTime(){}},t.Shortcut=class{constructor(){this._canShowPrompt=!1}canShowPrompt(){return this._canShowPrompt}checkShowPrompt(){return Promise.reject()}showPrompt(){return Promise.reject()}},t.Feedback=class{constructor(){this._canReview=!1}canReview(){return this._canReview}checkCanReview(){return Promise.reject()}requestReview(){return Promise.reject()}},t.Adv=class{constructor(){this._stickyAdvIsShowing=!1}get isAvailable(){return!1}preloadAdv(){}showFullscreenAdv(e){var t,r;null===(t=null==e?void 0:e.onOpen)||void 0===t||t.call(e),null===(r=null==e?void 0:e.onClose)||void 0===r||r.call(e)}showRewardedAdv(e){var t;null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e)}isBannerAdvShowing(){return this._stickyAdvIsShowing}getBannerAdvStatus(){return this._stickyAdvIsShowing=!1,Promise.resolve({stickyAdvIsShowing:this._stickyAdvIsShowing})}showBannerAdv(e){this._stickyAdvIsShowing=!0}hideBannerAdv(){this._stickyAdvIsShowing=!1}}},207:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CrazyGamesPlatform=void 0;const s=r(928),a=r(88);t.CrazyGamesPlatform=class{constructor(e){this.readyPromise=s.addJavaScript("https://sdk.crazygames.com/crazygames-sdk-v2.js").then((()=>(this.crazyGamesSdk=window.CrazyGames.SDK,new Promise((t=>{this.stats=new i(localStorage,"crazy-stats-",!0),this.playerData=new i(localStorage,"crazy-player-"),this.adv=new o(this.crazyGamesSdk),this.shortcut=new a.Shortcut,this.feedback=new a.Feedback,this.leaderboard=new n(this.crazyGamesSdk,this,e.crazyGamesLeaderboardUrl),this.purchases=new d,this.gameplay=new l(this.crazyGamesSdk),this.social=new a.Social,this.crazyGamesSdk.user.addAuthListener((e=>{this.userInfo=e})),this.crazyGamesSdk.user.isUserAccountAvailable(((e,r)=>{this.authAvailable=r,r?this.crazyGamesSdk.user.getUser(((e,r)=>{this.userInfo=r,t()})):t()}))})))))}gameReady(){}get language(){return("string"==typeof(null===navigator||void 0===navigator?void 0:navigator.language)?navigator.language:"").substring(0,2).toLowerCase()||"en"}get currency(){return"$"}get userId(){var e;return null===(e=this.userInfo)||void 0===e?void 0:e.id}};class i{constructor(e,t="",r=!1){this.internalStorage=e,this.useKeyPrefix=t,this.isStats=r}load(e){return Promise.resolve(this.get())}get(){let e={};return Object.keys(this.internalStorage).filter((e=>e.startsWith(this.useKeyPrefix))).forEach((t=>{var r;let a=null!==(r=this.internalStorage.getItem(t))&&void 0!==r?r:void 0;a&&(this.isStats?a=+a:s.isJSON(a)&&(a=JSON.parse(a))),e[t.replace(this.useKeyPrefix,"")]=a})),e}save(e){return new Promise((t=>{Object.keys(e).forEach((t=>{const r="string"==typeof e[t]||"number"==typeof e[t]?String(e[t]):JSON.stringify(e[t]);this.internalStorage.setItem(this.useKeyPrefix+t,r)})),t()}))}forceSave(e){return this.save(e)}}class o{constructor(e){this._stickyAdvIsShowing=!1,this.crazyGamesSdk=e}get isAvailable(){return!0}preloadAdv(){}showFullscreenAdv(e){this.crazyGamesSdk.ad.requestAd("midgame",{adFinished:e.onClose,adError:e.onError,adStarted:e.onOpen})}showRewardedAdv(e){this.crazyGamesSdk.ad.requestAd("rewarded",{adFinished:()=>{var t,r;null===(t=null==e?void 0:e.onRewarded)||void 0===t||t.call(e),null===(r=null==e?void 0:e.onClose)||void 0===r||r.call(e)},adError:e.onError,adStarted:e.onOpen})}isBannerAdvShowing(){return this._stickyAdvIsShowing}getBannerAdvStatus(){return this._stickyAdvIsShowing=!1,Promise.resolve({stickyAdvIsShowing:this._stickyAdvIsShowing})}showBannerAdv(e){e.length&&(this.banners=e,this._stickyAdvIsShowing=!0,this.crazyGamesSdk.banner.requestResponsiveBanner(e[0]),e.forEach((e=>{const t=document.querySelector("#"+e);t&&(t.style.display="block")})))}hideBannerAdv(){var e;(null===(e=this.banners)||void 0===e?void 0:e.length)&&(this._stickyAdvIsShowing=!1,this.crazyGamesSdk.banner.clearAllBanners(),this.banners.forEach((e=>{const t=document.querySelector("#"+e);t&&(t.style.display="none")})))}}class n{constructor(e,t,r){this.crazyGamesSdk=e,this.crazyGamesPlatform=t,this.leaderboardUrl=r}getIsSupported(){return!!this.crazyGamesPlatform.userId}getIsCustomSupported(){return!!this.leaderboardUrl}getLeaderboardDescription(e){return Promise.reject()}setLeaderboardScore(e,t,r){var s;return this.getIsCustomSupported()&&this.crazyGamesPlatform.userId&&fetch(this.leaderboardUrl,{method:"POST",body:JSON.stringify({id:this.crazyGamesPlatform.userId,platform:"crazygames",leaderboardName:e,score:t,name:null===(s=this.crazyGamesPlatform.userInfo)||void 0===s?void 0:s.username})}).then((()=>{})),Promise.reject("Leaderboard is not supported on this platform")}getLeaderboardPlayerEntry(e){return Promise.reject()}getLeaderboardEntries(e){return this.getIsCustomSupported()?fetch(this.leaderboardUrl+`?leaderboardName=${e}&platform=crazygames&id=${this.crazyGamesPlatform.userId}`).then((e=>e.json())).then((e=>{var t;return{userRank:(null===(t=e.find((e=>e.id===this.crazyGamesPlatform.userId)))||void 0===t?void 0:t.rank)||0,entries:e.map((e=>Object.assign(Object.assign({},e),{isUser:e.id===this.crazyGamesPlatform.userId})))}})):Promise.reject("Leaderboard is not supported on this platform")}}class d{constructor(){this.purchases=[]}get isAvailable(){return!1}getCatalog(){return Promise.reject()}getPurchases(){return this.purchases}loadPurchases(){return Promise.resolve([])}purchase(e){return Promise.reject()}consumePurchase(e){return Promise.reject()}}class l{constructor(e){this.crazyGamesSdk=e}start(){return this.crazyGamesSdk.game.gameplayStart()}stop(){return this.crazyGamesSdk.game.gameplayStop()}happyTime(){return this.crazyGamesSdk.game.happytime()}}},856:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.platformFactory=void 0;const s=r(694),a=r(913),i=r(324),o=r(207),n=r(67),d=r(671);function l(e="local",t){if("local"===e)return new s.LocalPlatform(t);if("yandex"===e)return new a.YandexPlatform(t);if("vk"===e)return new i.VkPlatform(t);if("crazygames"===e)return new o.CrazyGamesPlatform(t);if("kongregate"===e)return new n.KongregatePlatform(t);throw new Error("Unknown platform type!")}t.platformFactory=l;const h=new class{init(e){return this.platform=l(this.getPlatformId(),e),this.platform.readyPromise}getPlatformId(){var e,t,r,s;if(!this.platformId){let a=new URL(window.location.href),i=["y","a","n","d","e","x",".","n","e","t"].join("");a.hostname.includes(i)||a.hash.includes("yandex")?this.platformId="yandex":a.hostname.includes("crazygames.")||a.hostname.includes("1001juegos.com")||(null===(t=null===(e=a.searchParams.get("referrer"))||void 0===e?void 0:e.includes)||void 0===t?void 0:t.call(e,"crazygames."))||(null===(s=null===(r=a.searchParams.get("referrer"))||void 0===r?void 0:r.includes)||void 0===s?void 0:s.call(r,"1001juegos.com"))?this.platformId="crazygames":a.searchParams.has("api_id")&&a.searchParams.has("viewer_id")&&a.searchParams.has("auth_key")?this.platformId="vk":a.hostname.includes("konggames.")||a.hostname.includes("kongregate.")||a.searchParams.has("kongregate_game_version")?this.platformId="kongregate":a.searchParams.has("game_sid")&&a.searchParams.has("auth_key")&&a.searchParams.has("player_id")?this.platformId="absolute_games":this.platformId="local"}return this.platformId}setPlatformId(e){return this.platformId=e,this.platform=null,this}getPlatform(){if(!this.platform)throw new Error("Unknown platform is not initialized!");return this.platform}get isMobile(){return d.isMobile(window.navigator).any}};t.default=h},67:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KongregatePlatform=void 0;const s=r(928),a=r(88);t.KongregatePlatform=class{constructor(e){this.readyPromise=s.addJavaScript("https://www.kongregate.com/javascripts/kongregate_api.js").then((()=>new Promise((t=>{window.kongregateAPI.loadAPI((()=>{this.sdk=window.kongregateAPI.getAPI(),this.sdk.services.connect(),this.sdk.services.addEventListener("login",(()=>{location.reload()})),this.userInfo={id:this.sdk.services.getUserId(),username:this.sdk.services.getUsername(),isGuest:this.sdk.services.isGuest(),authToken:this.sdk.services.getGameAuthToken()},this.playerData=new i(localStorage,this.userInfo.id&&e.kongregateStorageUrl?e.kongregateStorageUrl+`?id=${this.userInfo.id}&platform=kongregate&authToken=${this.userInfo.authToken}`:"","kongregate-player-"),this.stats=this.playerData,this.adv=new a.Adv,this.shortcut=new a.Shortcut,this.feedback=new a.Feedback,this.leaderboard=new o(this.sdk,this,e.kongregateLeaderboardUrl),this.purchases=new n(this.sdk),this.gameplay=new a.Gameplay,this.social=new a.Social,Promise.all([this.playerData.load(),this.purchases.loadPurchases()]).then((()=>{t()}))}))}))))}gameReady(){}get language(){return("string"==typeof(null===navigator||void 0===navigator?void 0:navigator.language)?navigator.language:"").substring(0,2).toLowerCase()||"ru"}get currency(){return"kreds"}get userId(){var e;return null===(e=this.userInfo)||void 0===e?void 0:e.id}};class i{constructor(e,t="",r="",s=!1){this.remoteStorageUrl=t,this.internalStorage=e,this.useKeyPrefix=r,this.isStats=s}loadInternal(e){return new Promise((t=>{let r={};return(e?e.map((e=>this.useKeyPrefix+e)):Object.keys(this.internalStorage).filter((e=>e.startsWith(this.useKeyPrefix)))).forEach((e=>{var t;let a=null!==(t=this.internalStorage.getItem(e))&&void 0!==t?t:void 0;a&&(this.isStats?a=+a:s.isJSON(a)&&(a=JSON.parse(a))),r[e.replace(this.useKeyPrefix,"")]=a})),t(r)}))}load(e){let t=Promise.resolve({});return this.remoteStorageUrl&&(t=fetch(this.remoteStorageUrl).then((e=>e.json()))),t.then((t=>Object.keys(t).length?t:this.loadInternal(e))).then((e=>(this.data=e,e)))}get(){return this.data}save(e){return this.data=Object.assign(Object.assign({},this.data),e),new Promise(((t,r)=>{clearTimeout(this.debounce),this.debounce=setTimeout((()=>{this.forceSave(e).then(t).catch(r)}),300)}))}forceSave(e){return this.data=Object.assign(Object.assign({},this.data),e),clearTimeout(this.debounce),this.remoteStorageUrl?fetch(this.remoteStorageUrl,{method:"POST",body:JSON.stringify(this.data)}).then((()=>{this.internalStorage.clear()})):(Object.keys(e).forEach((t=>{const r="string"==typeof e[t]||"number"==typeof e[t]?String(e[t]):JSON.stringify(e[t]);this.internalStorage.setItem(this.useKeyPrefix+t,r)})),Promise.resolve())}}class o{constructor(e,t,r){this.sdk=e,this.kongregatePlatform=t,this.leaderboardUrl=r}getIsSupported(){return!!this.kongregatePlatform.userId}getIsCustomSupported(){return!!this.kongregatePlatform.userId}getLeaderboardDescription(e){return Promise.reject()}setLeaderboardScore(e,t,r){var s;return this.getIsSupported&&this.sdk.stats.submit(e,t),this.getIsCustomSupported()&&fetch(this.leaderboardUrl,{method:"POST",body:JSON.stringify({id:this.kongregatePlatform.userId,platform:"kongregate",leaderboardName:e,score:t,name:null===(s=this.kongregatePlatform.userInfo)||void 0===s?void 0:s.username})}).then((()=>{})),Promise.reject("Leaderboard is not supported on this platform")}getLeaderboardPlayerEntry(e){return Promise.reject()}getLeaderboardEntries(e){return this.getIsCustomSupported()?fetch(this.leaderboardUrl+`?leaderboardName=${e}&platform=kongregate&id=${this.kongregatePlatform.userId}`).then((e=>e.json())).then((e=>{var t;return{userRank:(null===(t=e.find((e=>e.id===this.kongregatePlatform.userId)))||void 0===t?void 0:t.rank)||0,entries:e.map((e=>Object.assign(Object.assign({},e),{isUser:e.id===this.kongregatePlatform.userId})))}})):Promise.reject("Leaderboard is not supported on this platform")}}class n{constructor(e){this.purchases=[],this.sdk=e}get isAvailable(){return!0}getCatalog(){return Promise.resolve([])}getPurchases(){return this.purchases}loadPurchases(){return this.purchases=[],new Promise((e=>{this.sdk.mtx.requestUserItemList(null,(t=>{t.success&&t.data.forEach((e=>{e.remaining_uses&&e.remaining_uses>0&&this.purchases.push({productID:e.data,purchaseToken:""+e.id,developerPayload:e.data,signature:e.id+"_signature"})})),e(this.getPurchases())}))}))}purchase(e){return new Promise(((t,r)=>{this.sdk.mtx.purchaseItems([{identifier:e.id.toLowerCase(),data:e.id}],(s=>{s.success?this.loadPurchases().then((s=>{const a=s.find((t=>t.productID===e.id));a?t(a):(alert("Something went wrong. Pleas reload the page."),r())})).catch((()=>{r()})):r()}))}))}consumePurchase(e){return new Promise(((t,r)=>{this.sdk.mtx.useItemInstance(+e,(e=>{e.success?t():r()}))}))}}},694:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LocalPlatform=void 0;const s=r(928),a=r(88),i=r(671);t.LocalPlatform=class{constructor(e){this.readyPromise=s.addJavaScript("https://yandex.ru/ads/system/context.js").then((()=>(this.adsSdk=window.yaContextCb,this.stats=new o(localStorage,"local-stats-",!0),this.playerData=new o(localStorage,"local-player-"),this.adv=new n(this.adsSdk),this.shortcut=new d,this.feedback=new l,this.leaderboard=new h,this.purchases=new c,this.gameplay=new u,this.social=new a.Social,Promise.all([this.stats.load(),this.playerData.load(),this.adv.getBannerAdvStatus(),this.shortcut.checkShowPrompt(),this.feedback.checkCanReview()]).then((()=>{})))))}get language(){return"ru"}get currency(){return"руб."}get userId(){return null}};class o{constructor(e,t="",r=!1){this.internalStorage=e,this.useKeyPrefix=t,this.isStats=r}load(e){return new Promise((e=>{setTimeout((()=>{e(this.get())}),500)}))}get(){let e={};return Object.keys(this.internalStorage).filter((e=>e.startsWith(this.useKeyPrefix))).forEach((t=>{var r;let a=null!==(r=this.internalStorage.getItem(t))&&void 0!==r?r:void 0;a&&(this.isStats?a=+a:s.isJSON(a)&&(a=JSON.parse(a))),e[t.replace(this.useKeyPrefix,"")]=a})),e}save(e){return new Promise((t=>{Object.keys(e).forEach((t=>{const r="string"==typeof e[t]||"number"==typeof e[t]?String(e[t]):JSON.stringify(e[t]);this.internalStorage.setItem(this.useKeyPrefix+t,r)})),t()}))}forceSave(e){return this.save(e)}}class n{constructor(e){this._stickyAdvIsShowing=!1,this.adsSdk=e}get isAvailable(){return!0}preloadAdv(){}showFullscreenAdv(e){const t={touch:{platform:"touch",blockId:"R-A-2245456-3"},desktop:{platform:"desktop",blockId:"R-A-2245456-1"}},r=i.isMobile(window.navigator).any;console.info("_isMobile",r),this.adsSdk.push((()=>{window.Ya.Context.AdvManager.render(Object.assign(Object.assign({type:"fullscreen"},r?t.touch:t.desktop),{onOpen:()=>{var t;null===(t=null==e?void 0:e.onOpen)||void 0===t||t.call(e)},onClose:()=>{var t;null===(t=null==e?void 0:e.onClose)||void 0===t||t.call(e)},onError:()=>{var t;null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e)}}))}))}showRewardedAdv(e){const t={touch:{platform:"touch",blockId:"R-A-2245456-2",onClose:()=>{var t;null===(t=null==e?void 0:e.onClose)||void 0===t||t.call(e)},onRewarded:()=>{var t;null===(t=null==e?void 0:e.onRewarded)||void 0===t||t.call(e)}},desktop:{platform:"desktop",blockId:"R-A-2245456-1",onClose:()=>{var t,r;null===(t=null==e?void 0:e.onRewarded)||void 0===t||t.call(e),null===(r=null==e?void 0:e.onClose)||void 0===r||r.call(e)}}},r=i.isMobile(window.navigator).any;console.info("_isMobile",r),this.adsSdk.push((()=>{window.Ya.Context.AdvManager.render(Object.assign(Object.assign({type:"fullscreen"},r?t.touch:t.desktop),{onOpen:()=>{var t;null===(t=null==e?void 0:e.onOpen)||void 0===t||t.call(e)},onError:()=>{var t;null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e)}}))}))}isBannerAdvShowing(){return!1}getBannerAdvStatus(){return this._stickyAdvIsShowing=!1,Promise.resolve({stickyAdvIsShowing:this._stickyAdvIsShowing})}showBannerAdv(){this._stickyAdvIsShowing=!0,console.info("Показываю баннер")}hideBannerAdv(){this._stickyAdvIsShowing=!1,console.info("Скрываю баннер")}}class d{constructor(){this._canShowPrompt=!1}canShowPrompt(){return this._canShowPrompt}checkShowPrompt(){return console.info("Проверка на возможность создания ярлыка!"),new Promise((e=>{setTimeout((()=>{const t=!+localStorage.getItem("isShortcutCreated");this._canShowPrompt=t,e({canShow:t})}),1e3)}))}showPrompt(){console.info("Подтверждение создания ярлыка!");const e=+localStorage.getItem("isShortcutCreated"),t=e?"declined":"accepted";return e||localStorage.setItem("isShortcutCreated","1"),new Promise((e=>{setTimeout((()=>{this._canShowPrompt="accepted"!=t,e({outcome:t})}),1e3)}))}}class l{constructor(){this._canReview=!1}canReview(){return this._canReview}checkCanReview(){return console.info("Проверка на возможность создания отзыва!"),new Promise((e=>{setTimeout((()=>{const t=!+localStorage.getItem("isFeedbackSent");this._canReview=t,e({value:t})}),1e3)}))}requestReview(){console.info("Подтверждение создания отзыва!");const e=!!+localStorage.getItem("isFeedbackSent");return e||localStorage.setItem("isFeedbackSent","1"),new Promise((t=>{setTimeout((()=>{this._canReview=!e,t({feedbackSent:this._canReview})}),1e3)}))}}class h{getIsSupported(){return!1}getIsCustomSupported(){return!1}getLeaderboardDescription(e){return new Promise((t=>{setTimeout((()=>{t({name:e,title:[{lang:"en",value:e},{lang:"ru",value:e}]})}),1e3)}))}setLeaderboardScore(e,t,r){console.info("Установка нового значения в таблицу лидеров! "+e),localStorage.setItem("leaderboardScore-"+e,String(t))}getLeaderboardPlayerEntry(e){return new Promise((t=>{setTimeout((()=>{t({id:"player-1",name:"Max",photos:["Link to the photo"],score:+localStorage.getItem("leaderboardScore-"+e),rank:1,isUser:!0})}),1e3)}))}getLeaderboardEntries(e){return new Promise((t=>{setTimeout((()=>{t({userRank:1,entries:[{id:"player-1",name:"Max",photos:["Link to the photo"],score:+localStorage.getItem("leaderboardScore-"+e),rank:1,isUser:!0},{id:"player-2",name:"Ivan",photos:["Link to the photo"],score:99,rank:2,isUser:!1}]})}),1e3)}))}}class c{constructor(){this.purchases=[]}get isAvailable(){return!1}getCatalog(){return console.info("Загружаю каталог"),Promise.resolve([{id:"GemsXs",title:"50 кристаллов",description:"",image:"",price:"10",currencyCode:"руб.",priceWithCurrency:"10 руб."}])}getPurchases(){return this.purchases}loadPurchases(){return console.info("Загружаю покупки"),Promise.resolve([{productID:"GemsXs",purchaseToken:"GemsXsPurchaseToken",signature:"GemsXsSignature"}]).then((e=>(this.purchases=e,e)))}purchase(e){return console.info("Покупаю продукт "+e.id),Promise.resolve({productID:e.id,purchaseToken:e.id+"PurchaseToken",signature:e.id+"Signature"})}consumePurchase(e){return console.info("Засчитываю покупку "+e),Promise.resolve()}}class u{start(){console.info("Gameplay started")}stop(){console.info("Gameplay finished")}happyTime(){console.info("happy time")}}},324:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VkPlatform=void 0;const s=r(928),a=r(88),i="user-data";t.VkPlatform=class{constructor(e){this.vkPlatform="web";let t=new URL(window.location.href);t.searchParams.has("platform")&&(this.vkPlatform=t.searchParams.get("platform")),this.readyPromise=s.addJavaScript("https://unpkg.com/@vkontakte/vk-bridge/dist/browser.min.js").then((()=>(this.vkBridgeSdk=window.vkBridge,this.vkBridgeSdk.send("VKWebAppInit",{}).then((()=>(this.playerData=new o(this.vkBridgeSdk,e.vkStorageUrl?e.vkStorageUrl+t.search:null),this.stats=this.playerData,this.shortcut=new d(this.vkBridgeSdk),this.feedback=new l(this.vkBridgeSdk),this.leaderboard=new h(this.vkBridgeSdk,this,e.vkLeaderboardUrl?e.vkLeaderboardUrl+t.search:null),this.purchases=new c(this.vkBridgeSdk,this.vkPlatform),this.gameplay=new a.Gameplay,this.social=new u(this.vkBridgeSdk),this.adv=new n(this.vkBridgeSdk),this.adv.preloadAdv(),Promise.all([this.playerData.load(),this.shortcut.checkShowPrompt(),this.feedback.checkCanReview(),this.loadUserInfo()])))))))}loadUserInfo(){return this.vkBridgeSdk.send("VKWebAppGetUserInfo").then((e=>(this.userInfo=e,e))).catch((e=>{var t;throw new Error((null===(t=null==e?void 0:e.error_data)||void 0===t?void 0:t.error_reason)||"Something went wrong during load user info data!")}))}gameReady(){}get language(){let e=new URL(window.location.href);if(e.searchParams.has("language"))switch(+e.searchParams.get("language")){case 0:return"ru";case 1:return"uk";case 2:return"be";case 3:return"en"}return("string"==typeof(null===navigator||void 0===navigator?void 0:navigator.language)?navigator.language:"").substring(0,2).toLowerCase()||"ru"}get currency(){return"гол."}get userId(){return new URL(window.location.href).searchParams.get("viewer_id")}};class o{constructor(e,t){this.dirtyKeys=[],this.vkBridgeSdk=e,this.alternativeStorageUrl=t}alternativeLoader(){return this.alternativeStorageUrl?fetch(this.alternativeStorageUrl).then((e=>e.json())):Promise.resolve({})}load(){return this.alternativeLoader().then((e=>Object.keys(e).length?(this.data=e,e):this.vkBridgeSdk.send("VKWebAppStorageGetKeys",{count:1e3,offset:0}).then((e=>{var t;return(null===(t=e.keys)||void 0===t?void 0:t.length)>0?this.vkBridgeSdk.send("VKWebAppStorageGet",{keys:e.keys}).then((e=>(this.data={},e.keys.length>1?e.keys.forEach((e=>{let t=e.value;s.isJSON(t)&&(t=JSON.parse(t)),this.data[e.key]=t})):""!==e.keys[0].value&&s.isJSON(e.keys[0].value)&&(this.data=JSON.parse(e.keys[0].value)),this.dirtyKeys=Object.keys(this.data).filter((e=>e!==i)),delete this.data[i],this.data))).catch((e=>{var t;throw new Error((null===(t=null==e?void 0:e.error_data)||void 0===t?void 0:t.error_reason)||"Something went wrong during load data!")})):(this.data={},this.data)})).catch((e=>{var t;throw new Error((null===(t=null==e?void 0:e.error_data)||void 0===t?void 0:t.error_reason)||"Something went wrong during load data (Cannot get keys)!")})))).then((e=>{if(e.errorType)throw new Error("Не удалось загрузить сохранение игры. Пожалуйста, обновите страницу.");return e}))}get(){return this.data}save(e){return this.dirtyKeys=v(this.dirtyKeys,this.data,e),this.data=Object.assign(Object.assign({},this.data),e),new Promise(((t,r)=>{clearTimeout(this.debounce),this.debounce=setTimeout((()=>{this.forceSave(e).then(t).catch(r)}),1e3)}))}forceSave(e){if(this.dirtyKeys=v(this.dirtyKeys,this.data,e),this.data=Object.assign(Object.assign({},this.data),e),clearTimeout(this.debounce),this.alternativeStorageUrl)return this.dirtyKeys=[],fetch(this.alternativeStorageUrl,{method:"POST",body:JSON.stringify(this.data)}).then((()=>{}));{const e=[];return this.dirtyKeys.forEach((t=>{const r=this.vkBridgeSdk.send("VKWebAppStorageSet",{key:t,value:JSON.stringify(this.data[t])});e.push(r)})),this.dirtyKeys=[],Promise.all(e).then((()=>{})).catch((()=>{throw new Error("Something went wrong during save data!")}))}}}class n{constructor(e){this._stickyAdvIsShowing=!1,this.vkBridgeSdk=e}get isAvailable(){return!0}preloadAdv(){const e=()=>{this.checkFullscreenAdv(),this.checkRewardedAdv()};setInterval(e,180),e()}checkFullscreenAdv(){return this.vkBridgeSdk.send("VKWebAppCheckNativeAds",{ad_format:"interstitial"})}showFullscreenAdv(e){this.checkFullscreenAdv().then((t=>{null==e||e.onOpen()})).finally((()=>this.vkBridgeSdk.send("VKWebAppShowNativeAds",{ad_format:"interstitial"}).then((t=>{t.result?null==e||e.onClose():null==e||e.onError()})).catch((()=>{null==e||e.onError()}))))}checkRewardedAdv(){return this.vkBridgeSdk.send("VKWebAppCheckNativeAds",{ad_format:"reward",use_waterfall:!0})}showRewardedAdv(e){this.checkRewardedAdv().then((t=>{null==e||e.onOpen()})).finally((()=>this.vkBridgeSdk.send("VKWebAppShowNativeAds",{ad_format:"reward",use_waterfall:!0}).then((t=>{t.result?(null==e||e.onRewarded(),null==e||e.onClose()):null==e||e.onError()})).catch((()=>{null==e||e.onError()}))))}isBannerAdvShowing(){return this._stickyAdvIsShowing}getBannerAdvStatus(){return this.vkBridgeSdk.send("VKWebAppCheckBannerAd").then((e=>(this._stickyAdvIsShowing=e.result,{stickyAdvIsShowing:this._stickyAdvIsShowing})))}showBannerAdv(){return this.vkBridgeSdk.send("VKWebAppShowBannerAd",{banner_location:"bottom",can_close:!1,layout_type:"resize"}).then((e=>{this._stickyAdvIsShowing=e.result}))}hideBannerAdv(){return this.vkBridgeSdk.send("VKWebAppHideBannerAd").then((e=>{this._stickyAdvIsShowing=!e.result}))}}class d{constructor(e){this._canShowPrompt=!1,this.vkBridgeSdk=e}canShowPrompt(){return this._canShowPrompt}checkShowPrompt(){return this.vkBridgeSdk.send("VKWebAppAddToHomeScreenInfo").then((e=>(this._canShowPrompt=e.is_feature_supported&&!e.is_added_to_home_screen,{canShow:this._canShowPrompt})))}showPrompt(){return this.vkBridgeSdk.send("VKWebAppAddToHomeScreen").then((e=>(this._canShowPrompt=!e.result,{outcome:e.result?"accepted":"declined"}))).catch((()=>({outcome:"declined"})))}}class l{constructor(e){this._canReview=!1,this.vkBridgeSdk=e}canReview(){return this._canReview}checkCanReview(){return this._canReview=!1,Promise.resolve({value:!1,reason:"UNKNOWN"})}requestReview(){return this._canReview=!1,Promise.resolve({feedbackSent:!1})}}class h{constructor(e,t,r){this.leaderBoardScore={},this.vkBridgeSdk=e,this.vkPlatform=t,this.leaderboardUrl=r}getIsSupported(){return!!this.leaderboardUrl||["html5_ios","html5_android","html5_mobile"].includes(this.vkPlatform.vkPlatform)}getIsCustomSupported(){return!!this.leaderboardUrl}getLeaderboardDescription(e){return Promise.resolve({name:e,title:[{lang:"en",value:e},{lang:"ru",value:e}]})}setLeaderboardScore(e,t,r){var s,a;this.getIsCustomSupported()?fetch(this.leaderboardUrl,{method:"POST",body:JSON.stringify({id:this.vkPlatform.userId,platform:"vk",leaderboardName:e,score:t,name:(null===(s=this.vkPlatform.userInfo)||void 0===s?void 0:s.first_name)+" "+(null===(a=this.vkPlatform.userInfo)||void 0===a?void 0:a.last_name)})}).then((()=>{})):this.leaderBoardScore[e]=t}getLeaderboardPlayerEntry(e){return Promise.reject("Unknown method for this platform")}getLeaderboardEntries(e,t){var r;return this.getIsCustomSupported()?fetch(this.leaderboardUrl+`&leaderboardName=${e}&platform=vk&id=${this.vkPlatform.userId}`).then((e=>e.json())).then((e=>{var t;return{userRank:(null===(t=e.find((e=>+e.id==+this.vkPlatform.userId)))||void 0===t?void 0:t.rank)||0,entries:e.map((e=>Object.assign(Object.assign({},e),{isUser:+e.id==+this.vkPlatform.userId})))}})):this.vkBridgeSdk.send("VKWebAppShowLeaderBoardBox",{user_result:null!==(r=null==t?void 0:t.score)&&void 0!==r?r:this.leaderBoardScore[e]}).then((()=>({userRank:0,entries:[]})))}}class c{constructor(e,t){this.purchases=[],this.vkBridgeSdk=e,this.platformType=t}get isAvailable(){return["web","html5_android","html5_mobile"].includes(this.platformType)}getCatalog(){return Promise.resolve([])}getPurchases(){return this.purchases}loadPurchases(){return this.purchases=[],Promise.resolve(this.purchases)}purchase(e){return this.vkBridgeSdk.send("VKWebAppShowOrderBox",{type:"item",item:e.id}).then((t=>{if(t.success)return{productID:e.id,purchaseToken:e.id+"_token",signature:e.id+"_signature"};throw new Error("Something went wrong during making the purchase!")})).catch((e=>{var t;throw new Error((null===(t=null==e?void 0:e.error_data)||void 0===t?void 0:t.error_reason)||e.message||"Something went wrong during making the purchase!")}))}consumePurchase(e){return Promise.resolve()}}class u{constructor(e){this.vkBridgeSdk=e}canAddToFavorites(){return!0}addToFavorites(){return this.vkBridgeSdk.send("VKWebAppAddToFavorites").then((e=>({result:e.result})))}canInviteFriend(){return!0}inviteFriend(){return this.vkBridgeSdk.send("VKWebAppShowInviteBox").then((e=>({result:e.result})))}canAddWallPost(){return!0}addWallPost({message:e,attachment:t,owner_id:r}){return this.vkBridgeSdk.send("VKWebAppShowWallPostBox",{message:e,attachment:t,owner_id:r}).then((e=>({result:!!e.post_id})))}}function v(e,t,r){let s=[...e];return Object.keys(r).forEach((e=>{void 0!==t[e]&&JSON.stringify(t[e])==JSON.stringify(r[e])||s.includes(e)||s.push(e)})),s}},913:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.YandexPlatform=void 0;const s=r(928),a=r(88);t.YandexPlatform=class{constructor(e){this._isGameReady=!1,this.readyPromise=s.addJavaScript("https://yandex.ru/games/sdk/v2").then((()=>window.YaGames.init({orientation:{value:e.orientation||"portrait"}}).then((t=>(this.yandexSdk=t,Promise.all([this.yandexSdk.getPlayer({scopes:!1}),this.yandexSdk.getLeaderboards(),e.withPayments&&this.yandexSdk.getPayments()]).then((t=>(this.playerSdk=t[0],this.leaderboardSdk=t[1],this.paymentsSdk=t[2],this.stats=new i((()=>this.yandexSdk.getStorage()),(e=>{var t;return null===(t=this.playerSdk)||void 0===t?void 0:t.getStats(e)}),(e=>{var t;return null===(t=this.playerSdk)||void 0===t?void 0:t.setStats(e)}),"yag-stats-",!0),this.playerData=new i((()=>this.yandexSdk.getStorage()),(e=>{var t;return null===(t=this.playerSdk)||void 0===t?void 0:t.getData(e)}),(e=>{var t;return null===(t=this.playerSdk)||void 0===t?void 0:t.setData(e)}),"yag-player-"),this.adv=new o(this.yandexSdk),this.shortcut=new n(this.yandexSdk),this.feedback=new d(this.yandexSdk),this.leaderboard=new l(this.yandexSdk,this.playerSdk,this.leaderboardSdk),this.purchases=new h(this.paymentsSdk),this.gameplay=new a.Gameplay,this.social=new a.Social,Promise.all([this.stats.load(),this.playerData.load(),this.adv.getBannerAdvStatus(),this.shortcut.checkShowPrompt(),this.feedback.checkCanReview(),e.withPayments&&this.purchases.loadPurchases()])))))))))}gameReady(){var e,t,r,s;this._isGameReady||(null===(s=null===(r=null===(t=null===(e=this.yandexSdk)||void 0===e?void 0:e.features)||void 0===t?void 0:t.LoadingAPI)||void 0===r?void 0:r.ready)||void 0===s||s.call(r),this._isGameReady=!0)}get language(){var e,t,r;return(null===(r=null===(t=null===(e=this.yandexSdk)||void 0===e?void 0:e.environment)||void 0===t?void 0:t.i18n)||void 0===r?void 0:r.lang)||("string"==typeof(null===navigator||void 0===navigator?void 0:navigator.language)?navigator.language:"").substring(0,2).toLowerCase()||"ru"}get currency(){return"Yan"}get userId(){return this.playerSdk.getUniqueID()}};class i{constructor(e,t,r,s="",a=!1){this.internalStorage=e,this.externalLoader=t,this.externalSaver=r,this.useKeyPrefix=s,this.isStats=a}load(e){let t;return t=this.externalLoader?this.externalLoader(e):this.internalStorage().then((t=>{let r={};return(e?e.map((e=>this.useKeyPrefix+e)):Object.keys(t).filter((e=>e.startsWith(this.useKeyPrefix)))).forEach((e=>{var a;let i=null!==(a=t.getItem(e))&&void 0!==a?a:void 0;i&&(this.isStats?i=+i:s.isJSON(i)&&(i=JSON.parse(i))),r[e.replace(this.useKeyPrefix,"")]=i})),r})),t.then((e=>(this.data=e,e)))}get(){return this.data}save(e){return this.data=Object.assign(Object.assign({},this.data),e),new Promise(((t,r)=>{clearTimeout(this.debounce),this.debounce=setTimeout((()=>{this.forceSave(e).then(t).catch(r)}),300)}))}forceSave(e){return this.data=Object.assign(Object.assign({},this.data),e),clearTimeout(this.debounce),this.externalSaver?this.externalSaver(this.data):this.internalStorage().then((t=>{Object.keys(e).forEach((r=>{const s="string"==typeof e[r]||"number"==typeof e[r]?String(e[r]):JSON.stringify(e[r]);t.setItem(this.useKeyPrefix+r,s)}))}))}}class o{constructor(e){this._stickyAdvIsShowing=!1,this.yandexSdk=e}get isAvailable(){return!0}preloadAdv(){}showFullscreenAdv(e){var t,r,s;null===(s=null===(r=null===(t=this.yandexSdk)||void 0===t?void 0:t.adv)||void 0===r?void 0:r.showFullscreenAdv)||void 0===s||s.call(r,{callbacks:e})}showRewardedAdv(e){var t,r,s;null===(s=null===(r=null===(t=this.yandexSdk)||void 0===t?void 0:t.adv)||void 0===r?void 0:r.showRewardedVideo)||void 0===s||s.call(r,{callbacks:e})}isBannerAdvShowing(){return this._stickyAdvIsShowing}getBannerAdvStatus(){var e,t,r,s,a;return null===(a=null===(s=null===(r=null===(t=null===(e=this.yandexSdk)||void 0===e?void 0:e.adv)||void 0===t?void 0:t.getBannerAdvStatus)||void 0===r?void 0:r.call(t))||void 0===s?void 0:s.then)||void 0===a?void 0:a.call(s,(e=>(this._stickyAdvIsShowing=e.stickyAdvIsShowing,e)))}showBannerAdv(){var e,t,r,s,a;null===(a=null===(s=null===(r=null===(t=null===(e=this.yandexSdk)||void 0===e?void 0:e.adv)||void 0===t?void 0:t.showBannerAdv)||void 0===r?void 0:r.call(t))||void 0===s?void 0:s.then)||void 0===a||a.call(s,(()=>{this._stickyAdvIsShowing=!0}))}hideBannerAdv(){var e,t,r,s,a;null===(a=null===(s=null===(r=null===(t=null===(e=this.yandexSdk)||void 0===e?void 0:e.adv)||void 0===t?void 0:t.hideBannerAdv)||void 0===r?void 0:r.call(t))||void 0===s?void 0:s.then)||void 0===a||a.call(s,(()=>{this._stickyAdvIsShowing=!1}))}}class n{constructor(e){this._canShowPrompt=!1,this.yandexSdk=e}canShowPrompt(){return this._canShowPrompt}checkShowPrompt(){return this.yandexSdk.shortcut.canShowPrompt().then((e=>(this._canShowPrompt=e.canShow,e)))}showPrompt(){return this.yandexSdk.shortcut.showPrompt().then((e=>(this._canShowPrompt="accepted"!=e.outcome,e)))}}class d{constructor(e){this._canReview=!1,this.yandexSdk=e}canReview(){return this._canReview}checkCanReview(){return this.yandexSdk.feedback.canReview().then((e=>(this._canReview=e.value,e)))}requestReview(){return this.yandexSdk.feedback.requestReview().then((e=>(this._canReview=!e.feedbackSent,e)))}}class l{constructor(e,t,r){this.yandexSdk=e,this.playerSdk=t,this.leaderboardSdk=r}getIsSupported(){return!0}getIsCustomSupported(){return!0}getLeaderboardDescription(e){return this.leaderboardSdk.getLeaderboardDescription(e).then((e=>({name:e.name,title:Object.keys(e.title).map((t=>({lang:t,value:e.title[t]})))})))}setLeaderboardScore(e,t,r){this.yandexSdk.isAvailableMethod("leaderboards.setLeaderboardScore").then((s=>{s&&this.leaderboardSdk.setLeaderboardScore(e,t,r)}))}getLeaderboardPlayerEntry(e){return this.yandexSdk.isAvailableMethod("leaderboards.getLeaderboardPlayerEntry").then((t=>t?this.leaderboardSdk.getLeaderboardPlayerEntry(e).then((e=>this.playerEntryToEntry(e,e.rank))):{}))}getLeaderboardEntries(e,t){const r=Object.assign({quantityTop:10,includeUser:!0,quantityAround:2},t);return"lite"===this.playerSdk.getMode()&&(r.includeUser=!1),this.leaderboardSdk.getLeaderboardEntries(e,r).then((e=>({userRank:e.userRank,entries:e.entries.map((t=>this.playerEntryToEntry(t,e.userRank)))})))}playerEntryToEntry(e,t){return{id:e.player.uniqueID,name:e.player.publicName||"Incognito"+(e.player.uniqueID?"#"+e.player.uniqueID.toString().substring(0,10):""),photos:[e.player.getAvatarSrc("medium")],score:e.score,rank:e.rank,isUser:e.rank==t}}}class h{constructor(e){this.purchases=[],this.paymentsSdk=e}get isAvailable(){return!0}getCatalog(){return this.paymentsSdk.getCatalog().then((e=>e.map((e=>({id:e.id,title:e.title,description:e.description,image:e.imageURI,price:e.priceValue,currencyCode:e.priceCurrencyCode,priceWithCurrency:e.price})))))}getPurchases(){return this.purchases}loadPurchases(){return this.paymentsSdk.getPurchases().then((e=>(this.purchases=e,e)))}purchase(e){return this.paymentsSdk.purchase(e)}consumePurchase(e){return this.paymentsSdk.consumePurchase(e)}}},928:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addJavaScript=t.isJSON=void 0,t.isJSON=function(e){try{if(e)return JSON.parse(e),!0}catch(e){}return!1},t.addJavaScript=function(e){return new Promise((t=>{let r=document.createElement("script");r.src=e,r.addEventListener("load",t),document.head.appendChild(r)}))}},671:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=void 0;const r=/iPhone/i,s=/iPod/i,a=/iPad/i,i=/\biOS-universal(?:.+)Mac\b/i,o=/\bAndroid(?:.+)Mobile\b/i,n=/Android/i,d=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,l=/Silk/i,h=/Windows Phone/i,c=/\bWindows(?:.+)ARM\b/i,u=/BlackBerry/i,v=/BB10/i,g=/Opera Mini/i,m=/\b(CriOS|Chrome)(?:.+)Mobile/i,p=/Mobile(?:.+)Firefox\b/i,S=e=>void 0!==e&&"MacIntel"===e.platform&&"number"==typeof e.maxTouchPoints&&e.maxTouchPoints>1&&"undefined"==typeof MSStream;t.isMobile=function(e){let t={userAgent:"",platform:"",maxTouchPoints:0};e||"undefined"==typeof navigator?"string"==typeof e?t.userAgent=e:e&&e.userAgent&&(t={userAgent:e.userAgent,platform:e.platform,maxTouchPoints:e.maxTouchPoints||0}):t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0};let k=t.userAgent,y=k.split("[FBAN");void 0!==y[1]&&(k=y[0]),y=k.split("Twitter"),void 0!==y[1]&&(k=y[0]);const w=function(e){return t=>t.test(e)}(k),f={apple:{phone:w(r)&&!w(h),ipod:w(s),tablet:!w(r)&&(w(a)||S(t))&&!w(h),universal:w(i),device:(w(r)||w(s)||w(a)||w(i)||S(t))&&!w(h)},amazon:{phone:w(d),tablet:!w(d)&&w(l),device:w(d)||w(l)},android:{phone:!w(h)&&w(d)||!w(h)&&w(o),tablet:!w(h)&&!w(d)&&!w(o)&&(w(l)||w(n)),device:!w(h)&&(w(d)||w(l)||w(o)||w(n))||w(/\bokhttp\b/i)},windows:{phone:w(h),tablet:w(c),device:w(h)||w(c)},other:{blackberry:w(u),blackberry10:w(v),opera:w(g),firefox:w(p),chrome:w(m),device:w(u)||w(v)||w(g)||w(p)||w(m)},any:!1,phone:!1,tablet:!1};return f.any=f.apple.device||f.android.device||f.windows.device||f.other.device,f.phone=f.apple.phone||f.android.phone||f.windows.phone,f.tablet=f.apple.tablet||f.android.tablet||f.windows.tablet,f}}},t={};function r(s){var a=t[s];if(void 0!==a)return a.exports;var i=t[s]={exports:{}};return e[s](i,i.exports,r),i.exports}(()=>{const e=r(856);window.gamePlatformsBridge=e.default})()})();