1import{m as e}from"./matter-js-adda74d3.js";import{b as t,u as n,l as r,s as a,h as i,G as s,R as o,c as l,e as c,f as p,S as u,g as d,i as m,E as y,T as h,j as g,k as x,m as f,n as v,o as b,p as $,q as w,P as k,M as S,r as z,t as C,W as E,v as T}from"./@pixi-77c13fa2.js";import"./pixi.js-7d521afc.js";import"./eventemitter3-b285e461.js";import"./earcut-fbed66c8.js";import"./url-bba75d43.js";import{l as j}from"./d3-color-f4bf2b3b.js";import{l as A}from"./d3-interpolate-2ec31ac2.js";import{S as _,a as P,s as L,t as I,B as F,O as B,m as D,b as M,c as q,d as V,e as N,g as H,h as O,i as R,f as U,w as W,j as J,k as G,l as K,o as Y,n as Z,E as Q,p as X,q as ee,r as te,u as ne,v as re,x as ae,y as ie,z as se,A as oe,C as le,D as ce,F as pe,G as ue,H as de,I as me,J as ye,K as he,L as ge,M as xe,N as fe,P as ve,Q as be}from"./rxjs-571c4f1d.js";import{h as $e}from"./howler-624a99d8.js";import{o as we,s as ke}from"./epix-5de6fa48.js";import{d as Se}from"./poly-decomp-4a3c1e03.js";import{r as ze,w as Ce,d as Ee,g as Te,S as je,i as Ae,s as _e,e as Pe,a as Le,n as Ie,b as Fe,c as Be,f as De,h as Me,j as qe,k as Ve,l as Ne,t as He,m as Oe,o as Re,p as Ue,q as We,u as Je,v as Ge,x as Ke,y as Ye,z as Ze,A as Qe,B as Xe,C as et,D as tt,E as nt,F as rt,G as at,H as it,I as st,J as ot,K as lt,L as ct,M as pt,N as ut,O as dt,P as mt,Q as yt,R as ht,T as gt,U as xt,V as ft,W as vt,X as bt,Y as $t,Z as wt,_ as kt,$ as St}from"./svelte-2d84dee9.js";import{a as zt}from"./dom-confetti-a34d0d9b.js";import"./ismobilejs-f91cde33.js";import"./punycode-d9e782b4.js";import"./querystring-bba3aaf9.js";import"./tslib-ba6eae98.js";const Ct="v0.0.0+6b183f0098d13c79ed22730c81ddcb0a6dc31c9a",Et="Amtzthfmr&Ksoo`l$Oksqap&0148".split("").map((e=>e.charCodeAt(0))).reduce(((e,t)=>e+t-33*document.body.nodeType),0),Tt=Math.floor(Et/90),jt=["https://editor.bombhopper.io","http://localhost:8080"],At=new class{constructor(){this.storage={}}getItem(e){return this.storage.hasOwnProperty(e)?this.storage[e]:null}setItem(e,t){this.storage[e]=t}};function _t(e){const t="xplozzle."+e;let n;try{n=window.localStorage.getItem(t),null===n&&(n=At.getItem(t))}catch(e){n=At.getItem(t)}return JSON.parse(n)}function Pt(e,t){const n="xplozzle."+e,r=JSON.stringify(t);try{window.localStorage.setItem(n,r)}catch(e){At.setItem(n,r)}}var Lt={name:"Noob",timings:[1500,1e3],entities:[{type:"paint",params:{fillColor:48896,vertices:[{x:840,y:510},{x:960,y:510},{x:960,y:540},{x:1050,y:480},{x:960,y:420},{x:960,y:450},{x:840,y:450}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:180,y:600},{x:1260,y:600},{x:1260,y:720},{x:180,y:720}]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:1140,y:510,rightFacing:!1,destination:"notch"}},{type:"normal",params:{isStatic:!0,vertices:[{x:180,y:-120},{x:300,y:-120},{x:300,y:600},{x:180,y:600}]}},{type:"text",params:{angle:0,x:720,y:-2e3,copy:{ar:"ÙÙØ¯ Ø£ÙØ¶Ø اÙÙØ§Ø¶Ø ÙÙØ§ ÙÙÙ: Ø§ÙØ¨Ø§Ø¨ ÙÙØ³ ÙÙØ§ ð",ca:"Només dic el que és obvi, però: la porta no és aquà :)",de:"Es ist offensichtlich aber: die Tür ist nicht hier :)",en:"I'm just stating the obvious but: the door is not here :)",es:"Solo estoy diciendo lo obvio, pero : la puerta no está aquà :)",fr:"Bon, c'est une évidence mais: la porte n'est pas ici :)",hr:"Samo govorim oÄito ali: vrata nisu ovdje :)",pt:"Estou apenas afirmando o óbvio mas: a porta não está aqui :)",uk:"Я пÑоÑÑо конÑÑаÑÑÑ Ð¾Ñевидне, але: двеÑей ÑÑÑ Ð½ÐµÐ¼Ð°Ñ :)","zh-cn":"æåªæ¯å¨è¯´æ¾èæè§çä¸ä»¶äºä½: 飿é¨å¹¶ä¸å¨è¿é ð","zh-tw":"æåªæ¯å¨èªªé¡¯èæè¦çä¸ä»¶äºä½ï¼é£æé並ä¸å¨éè£ ð"},anchor:{x:.5,y:.5}}},{type:"text",params:{angle:0,x:720,y:-4e3,copy:{ar:"ÙØ§, Ø¨Ø§ÙØªØ£ÙÙØ¯ ÙÙØ³ ÙÙØ§Ù.",ca:"No, definitivament no hi és aquÃ.",de:"Nein bestimmt nicht da.",en:"Nope definitely not there.",es:"Nop, definitivamente no ahÃ.",fr:"Non, vraiment pas là .",hr:"Ne, definitivno ne tamo.",pt:"Nope definitivamente aqui não",uk:"ÐÑ, ÑоÑно не ÑÑÑ.","zh-cn":"ä¸, è¯å®ä¸æ¯é£é.","zh-tw":"ä¸ï¼è¯å®ä¸æ¯é£è£ã"}
1,anchor:{x:.5,y:.5}}},{type:"text",params:{angle:0,x:720,y:-6e3,copy:{ar:"صدÙÙÙ, ÙÙØ§Ù Ø¨Ø§Ø¨Ù ÙØ§ØØ¯ Ù ÙÙ ØªØØª.",ca:"Creu-me, només hi ha una porta i està a baix.",de:"Glaub mir, es gibt nur eine Tür und die ist unten.",en:"Believe me there is only one door and it's down.",es:"Créeme, solo hay una puerta y esta abajo.",fr:"Crois moi, il n'y qu'une porte et elle est en bas.",hr:"Vjeruj mi, postoje samo jedna vrata i dolje su.",pt:"Acredite em mim tem apenas uma porta e está abaixo.",uk:"ÐовÑÑ, ÑÑÑ ÑÑлÑки Ð¾Ð´Ð½Ñ Ð´Ð²ÐµÑÑ, Ñ Ð²Ð¾Ð½Ð¸ внизÑ.","zh-cn":"ç¸ä¿¡æ, åªæä¸æé¨èå®å¨ä¸é¢.","zh-tw":"ç¸ä¿¡æï¼åªæä¸æéèå®å¨ä¸é¢ã"},anchor:{x:.5,y:.5}}},{type:"text",params:{angle:0,x:720,y:-8e3,copy:{ar:"Ø¥Ù٠سÙÙ. ÙÙØ¯ إتبع Ø§ÙØ³ÙÙ
.\n|\nv",ca:"Ãs fà cil. Només segueix la fletxa.\n|\nv",de:"Es ist einfach. Folge dem Pfeil\n|\nv",en:"It's easy. Just follow the arrow.\n|\nv",es:"Es fácil. Solo sigue a la flecha.\n|\nv",fr:"C'est simple. Suis la flèche.\n|\nv",hr:"Jednostavno je. Samo prati strijelicu.\n|\nv",pt:"à fácil. Só siga a seta.\n|\nv",uk:"Це дÑже легко. ÐÑоÑÑо Ñди в напÑÑÐ¼ÐºÑ Ñкий вказÑÑ ÑÑÑÑлоÑка.\n|\nv","zh-cn":"è¿å¾ç®å. è·çç®å¤´èµ°.\nâ¬ï¸","zh-tw":"éå¾ç°¡å®ãè·èç®é èµ°ã\nâ¬ï¸"},anchor:{x:.5,y:.5},align:"center"}},{type:"player",params:{isStatic:!1,angle:0,x:400,y:580,infiniteAmmo:"bullet"}},{type:"text",params:{angle:0,x:420,y:652,copy:{ar:"Ø¥ÙÙØ± Ø§ÙØ§Ø±Ø¶",ca:"Toca el terra.",de:"Klicke auf den Boden",en:"Click the floor",es:"Toca el suelo.",fr:"Clique sur le sol",hr:"Pritisni pod",nl:"Klik op de vloer",pt:"Clique no chão",uk:"ÐаÑиÑни на пÑдлогÑ","zh-cn":"ç¹å»å°æ¿.","zh-tw":"黿尿¿ã"},anchor:{x:.5,y:.5}}}],formatVersion:0},It={name:"Notch",timings:[1750,1250],entities:[{type:"normal",params:{vertices:[{x:300,y:600},{x:1260,y:600},{x:1260,y:720},{x:300,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1140,y:510,isStatic:!0,rightFacing:!1,destination:"choice"}},{type:"player",params:{x:400,y:580,angle:0,infiniteAmmo:"bullet"}},{type:"text",params:{copy:{ar:"ÙØ§ تتÙÙØ¹ Ù
Ù٠أ٠أضع Ø±Ø³Ø§ÙØ© Ù٠سÙ
اء ÙÙ Ù
رØÙØ©. ÙÙØª ÙØªØµØ§Ø¨ Ø¨Ø®ÙØ¨Ø© Ø£Ù
Ù",ca:"No esperis que posi text al cel de tots els nivells. EstarÃeu decebuts.",de:"Erwarte nicht dass ich in jedem level Text in dem Himmel setze. Du würdest entäuscht sein.",en:"Don't expect me to put text in the sky of every level. You'd be disappointed.",es:"No esperes que yo ponga un texto en el cielo de cada nivel. Te decepcionarÃa.",fr:"Ne t'attends pas à ce que je mette du texte dans le ciel de chaque niveau. Tu serais déçu.",hr:"Ne oÄekuj da stavljam tekst u zraku svake razine. Bio bi razoÄaran.",pt:"Não espere que eu ponha texto no céu de todo nÃvel. Você ficaria desapontado.",uk:"Ðе Ñекай, Ñо Ñ ÑозмÑÑÑ ÑекÑÑ Ð² Ð½ÐµÐ±Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ÑÑвнÑ. Ти бÑÐ´ÐµÑ ÑозÑаÑований.","zh-cn":"ä¸è¦æææææåæ¾å¨æ¯ä¸å±ç天空ä¸. ä½ ä¼å¤±æç.","zh-tw":"ä¸è¦æææææåæ¾å¨æ¯ä¸å±¤ç天空ä¸ãä½ æå¤±æçã"},x:720,y:-6e3,anchor:{x:.5,y:.5}}},{type:"text",params:{copy:{ar:"Ø§ÙØÙØ§Ø© ÙØµÙرة, تعÙÙ
Ø",ca:"La vida és curta, saps?",de:"Das Leben ist ja kurz",en:"Ah well life is short you know?",es:"Ah bueno la vida es corta, sabes?",fr:"La vie est courte, tu sais ?",hr:"Pa znaÅ¡, život je kratak.",pt:"Ah bem a vida é curta sabia?",uk:"ÐнаÑÑ, жиÑÑÑ Ð·Ð°Ð½Ð°Ð´Ñо коÑоÑке.","zh-cn":"å, ç彿¯å¾çç, ä½ ç¥éå?","zh-tw":"åï¼ç彿¯å¾ççï¼ä½ ç¥éåï¼"},x:720,y:-8e3,anchor:{x:.5,y:.5}}},{type:"text",params:{copy:{ar:"ÙÙØ¯Ù Ø£Ø´ÙØ§Ø¡ Ø£ÙØ¶Ù ÙØ§ÙعÙÙØ§ Ù
ع٠Ù
٠أ٠أضع رسائ٠ÙÙ Ø§ÙØ³Ù
اء.",ca:"I tinc millors coses a veure amb això que posar texts al cel.",de:"Und ich hab besseres zu tun als Text in den Himmel zu setzen.",en:"And I have better things to do with it than putting text in the sky.",es:"Además, tengo cosas mejores que hacer que poner textos en el cielo.",fr:"Et j'ai mieux à faire que de mettre du texte dans le ciel.",hr:"I imam bolje stvari za raditi s njim nego stavljati tekst u zrak.",pt:"E eu tenho coisas melhores para fazer com isso do que colocar textos no céu.",uk:"Рв мене Ñ Ð±Ð°Ð³Ð°Ñо ÑпÑав кÑаÑиÑ
, нÑж ÑозÑÑавлÑÑи вÑÑкий ÑекÑÑ Ð² небÑ.","zh-cn":"æææ´å¥½çäºæ
è¦åï¼è䏿¯ææåæ¾å¨å¤©ç©ºä¸.","zh-tw":"æææ´å¥½çäºæ
è¦åï¼è䏿¯ææåæ¾å¨å¤©ç©ºä¸ã"},x:720,y:-1e4,anchor:{x:.5,y:.5}}}
1,{type:"normal",params:{vertices:[{x:720,y:540},{x:840,y:540},{x:840,y:600},{x:720,y:600}],angle:0,isStatic:!0}}]},Ft={name:"Choice",timings:[350,300],entities:[{type:"text",params:{copy:{ar:"Ø§ÙØ®Ùار ØØ±ÙØ©",ca:"L'elecció és llibertat",de:"Auswahl ist Freiheit",en:"Choice is freedom",es:"La elección es libertad",fr:"Le choix, c'est la liberté",hr:"Izbor je sloboda",pt:"Escolha é liberdade",uk:"Свобода вибоÑÑ","zh-cn":"鿩就æ¯èªç±","zh-tw":"é¸æä¾¿æ¯èªç±"},x:780,y:400,anchor:{x:.5,y:.5}}},{type:"normal",params:{vertices:[{x:420,y:600},{x:1140,y:600},{x:1140,y:720},{x:420,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1030,y:510,isStatic:!0,rightFacing:!1,destination:"stairs"}},{type:"endpoint",params:{x:530,y:510,isStatic:!0,rightFacing:!0,destination:"choice"}},{type:"text",params:{copy:{ar:"Ø£ÙØª ÙØ¶ÙÙÙ, Ø£ÙÙØ³ ÙØ°ÙÙØ",ca:"Ets curiós, no?",de:"Du bist echt sehr Neugierig, oder?",en:"You're nosy aren't you?",es:"Eres curioso, verdad?",fr:"T'es un petit curieux, pas vrai ?",hr:"Ti si njuÅ¡kalo, zar ne?",pt:"Você é curioso né?",uk:"Ти ж допиÑливий, Ñи не Ñак?","zh-cn":"ä½ æ¯ä¸æ¯å¾ç±ç®¡é²äº?","zh-tw":"ä½ æ¯ä¸æ¯å¾æç®¡éäºï¼"},x:-2220,y:580,anchor:{x:.5,y:.5}}},{type:"text",params:{copy:{ar:"Ø£ÙØ·Ø±Ø أ٠تتبع Ø§ÙØ®Ùارات Ø§ÙØ°Ù Ø£Ø¹Ø·ÙØªÙ",ca:"Et suggereixo que usis les opcions que tâestic donant.",de:"Ich würde dir empfehlen\nden Auswahlmöglichkeiten zu folgen die ich dir gebe.",en:"I'd suggest you stick to the choices I give you.",es:"Te sugiero que uses las opciones que te estoy dando.",fr:"Je te recommande de t'en tenir aux choix que je te donne.",hr:"PreporuÄio bih da se držiÅ¡ izbora koje ti dam.",uk:"Я пÑопонÑÑ ÑÐ¾Ð±Ñ Ð´Ð¾ÑÑимÑваÑиÑÑ Ð²Ð°ÑÑанÑÑв, ÑÐºÑ Ñ ÑÐ¾Ð±Ñ Ð´Ð°Ñ.","zh-cn":"æå»ºè®®ä½ åææç»ä½ çéæ©.","zh-tw":"æå»ºè°ä½ å
ææçµ¦ä½ ç鏿ã"},x:3780,y:580,anchor:{x:.5,y:.5}}},{type:"player",params:{x:780,y:580,angle:0,infiniteAmmo:"bullet"}}]},Bt={name:"Stairs",timings:[2800,2200],entities:[{type:"normal",params:{vertices:[{x:540,y:600},{x:720,y:600},{x:720,y:660},{x:540,y:660}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1740,y:210,isStatic:!0,rightFacing:!1,destination:"flappy"}},{type:"normal",params:{vertices:[{x:720,y:540},{x:1080,y:540},{x:1080,y:660},{x:720,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:1080,y:480},{x:1440,y:480},{x:1440,y:540},{x:1080,y:540}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:1440,y:420},{x:1800,y:420},{x:1800,y:480},{x:1440,y:480}],angle:0,isStatic:!0}},{type:"text",params:{copy:{ar:"ÙØ§ تتدرج ÙÙ ÙØ°Ø§.",ca:"No et fixis en això.",de:"Starre das nicht an.",en:"Don't stair at this.",es:"No te escabullas de esto.",fr:"Fais pas escale ici.",uk:"Ðе пÑдÑ
Ð¾Ð´Ñ Ð´Ð¾ ÑÑого.","zh-cn":"ä¸è¦ä¸ç´ç¯çè¿éç.","zh-tw":"ä¸è¦ä¸ç´ç¯èéè£çã"},x:-1e3,y:-500,anchor:{x:.5,y:.5}}},{type:"player",params:{x:600,y:580,angle:0,infiniteAmmo:"bullet"}}]},Dt={name:"Flappy",timings:[3e3,2500],entities:[{type:"normal",params:{vertices:[{x:300,y:600},{x:1380,y:600},{x:1380,y:720},{x:300,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1200,y:510,isStatic:!0,rightFacing:!1,destination:"slippery"}},{type:"normal",params:{vertices:[{x:600,y:540},{x:660,y:540},{x:660,y:600},{x:600,y:600}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:1020,y:540},{x:1080,y:540},{x:1080,y:600},{x:1020,y:600}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:600,y:180},{x:660,y:180},{x:660,y:360},{x:600,y:360}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:1020,y:180},{x:1080,y:180},{x:1080,y:360},{x:1020,y:360}],angle:0,isStatic:!0}},{type:"player",params:{x:400,y:580,angle:0,magazine:["bullet","bullet"]}}]},Mt={name:"Slippery",timings:[3600,3250],entities:[{type:"endpoint",params:{x:850,y:400,isStatic:!0,rightFacing:!1,destination:"ice"}},{type:"ice",params:{vertices:[{x:-120,y:120},{x:60,y:180},{x:240,y:300},{x:360,y:420},{x:540,y:540}
1,{x:660,y:570},{x:960,y:600},{x:960,y:660},{x:-120,y:660}],angle:0,isStatic:!0}},{type:"player",params:{x:-100,y:100,angle:0,magazine:["bullet"]}},{type:"text",params:{copy:{ar:"ÙÙ Ø£ÙØª جادØ",ca:"Seriosament?",de:"Ernsthaft?",en:"Seriously?",es:"Seriamente?",fr:"Vraiment ?",hr:"Stvarno?",pt:"à sério?",uk:"СеÑйозно?","zh-cn":"ä½ æ¯è®¤ççå?","zh-tw":"ä½ æ¯èªççåï¼"},x:-1e3,y:500,anchor:{x:.5,y:.5}}}]},qt={name:"Ice",timings:[6e3,5500],entities:[{type:"normal",params:{vertices:[{x:420,y:600},{x:960,y:600},{x:960,y:720},{x:420,y:720}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:1140,y:630},{x:1620,y:810},{x:1140,y:810}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:1890,y:1110},{x:1890,y:1230},{x:1560,y:1380},{x:1560,y:1260}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1410,y:1170,isStatic:!0,rightFacing:!0,destination:"sanic"}},{type:"ice",params:{vertices:[{x:1140,y:810},{x:1260,y:810},{x:1260,y:1260},{x:1140,y:1260}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:1140,y:1260},{x:1560,y:1260},{x:1560,y:1380},{x:1140,y:1380}],angle:0,isStatic:!0}},{type:"text",params:{copy:{ar:"ØªÙØ§ÙÙØ§!\nÙØ¹Ø¨Øª ÙÙØ³Ù.",ca:"Enhorabona!\nLâhas liat.",de:"Glückwunsch!\nDu hast dich selbst gespielt.",en:"Congratulations!\nYou played yourself.",es:"¡Felicidades!\nLa has lÃado.",uk:"ÐÑÑаннÑ!\nТи пеÑегÑав Ñам Ñебе.","zh-cn":"æåä½ !\nä½ èªå·±æè´¥äºèªå·±.","zh-tw":"æåä½ ï¼\nä½ èªå·±ææäºèªå·±ã"},x:-100,y:1500,anchor:{x:.5,y:.5}}},{type:"player",params:{x:800,y:580,angle:0,magazine:["bullet"]}}]},Vt={name:"Sanic",timings:[3e3,2500],entities:[{type:"normal",params:{vertices:[{x:360,y:600},{x:600,y:600},{x:600,y:720},{x:360,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1740,y:510,isStatic:!0,rightFacing:!1,destination:"mindTheGap"}},{type:"normal",params:{vertices:[{x:1680,y:600},{x:1800,y:600},{x:1800,y:720},{x:1680,y:720}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:900,y:600},{x:1200,y:600},{x:1200,y:720},{x:900,y:720}],angle:0,isStatic:!0}},{type:"player",params:{x:510,y:580,angle:0,magazine:["bullet","bullet"]}}]},Nt={name:"Mind the Gap",timings:[1500,1250],entities:[{type:"normal",params:{vertices:[{x:480,y:600},{x:660,y:600},{x:660,y:720},{x:480,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1200,y:510,isStatic:!0,destination:"mountain"}},{type:"normal",params:{vertices:[{x:1080,y:600},{x:1320,y:600},{x:1320,y:720},{x:1080,y:720}],angle:0,isStatic:!0}},{type:"player",params:{x:590,y:580,angle:0,magazine:["bullet","bullet"]}}]},Ht={name:"Mountain",timings:[3e3,2500],entities:[{type:"normal",params:{vertices:[{x:480,y:600},{x:1200,y:600},{x:1200,y:720},{x:480,y:720}],isStatic:!0}},{type:"endpoint",params:{x:1100,y:510,isStatic:!0,rightFacing:!1,angle:0,destination:"pinball"}},{type:"ice",params:{vertices:[{x:840,y:300},{x:660,y:600},{x:1020,y:600}],isStatic:!0}},{type:"player",params:{x:570,y:580,angle:0,isStatic:!1,magazine:["bullet","bullet"]}}],formatVersion:0},Ot={name:"Pinball",timings:[8e3,6e3],entities:[{type:"normal",params:{vertices:[{x:240,y:600},{x:300,y:600},{x:300,y:660},{x:240,y:660}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:630,y:970,isStatic:!0,rightFacing:!1,angle:1.5707963267948966,destination:"crumblyFloors"}},{type:"endpoint",params:{x:390,y:970,isStatic:!0,rightFacing:!1,angle:1.5707963267948966,destination:"crumblyFloors"}},{type:"normal",params:{vertices:[{x:390,y:600},{x:420,y:660},{x:360,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:510,y:600},{x:540,y:660},{x:480,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:300,y:720},{x:360,y:720},{x:360,y:780},{x:300,y:780}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:420,y:720},{x:480,y:720},{x:480,y:780},{x:420,y:780}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:540,y:720},{x:600,y:720},{x:600,y:780},{x:540,y:780}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:630,y:600},{x:660,y:660},{x:600,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:750,y:600},{x:780,y:660},{x:720,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:660,y:720},{x:720,y:720},{x:720,y:780},{x:660,y:780}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:240,y:840},{x:300,y:840},{x:300,y:900},{x:240,y:900}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:360,y:840},{x:420,y:840},{x:420,y:900},{x:360,y:900}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:480,y:840},{x:540,y:840},{x:540,y:900},{x:480,y:900}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:600,y:840},{x:660,y:840},{x:660,y:900},{x:600,y:900}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:720,y:840},{x:780,y:840},{x:780,y:900},{x:720,y:900}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:780,y:720},{x:840,y:720},{x:840,y:780},{x:780,y:780}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:180,y:720},{x:240,y:720},{x:240,y:780},{x:180,y:780}],angle:0,isStatic:!0}},{type:"player",params:{x:270,y:580,angle:0,magazine:["bullet","bullet","bullet","bullet"]}}]}
1,Rt={name:"Crumbly Floors",timings:[3e3,2500],entities:[{type:"endpoint",params:{x:1380,y:150,isStatic:!0,rightFacing:!1,destination:"box"}},{type:"breakable",params:{vertices:[{x:240,y:240},{x:600,y:240},{x:600,y:360},{x:240,y:360}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:600,y:240},{x:960,y:240},{x:960,y:360},{x:600,y:360}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:960,y:240},{x:1320,y:240},{x:1320,y:360},{x:960,y:360}],angle:0,isStatic:!0}},{type:"player",params:{x:290,y:220,angle:0,magazine:["bullet","bullet","bullet"]}},{type:"normal",params:{vertices:[{x:1320,y:240},{x:1440,y:240},{x:1440,y:360},{x:1320,y:360}],angle:0,isStatic:!0}}]},Ut={name:"Box",timings:[1500,1250],entities:[{type:"normal",params:{vertices:[{x:540,y:600},{x:1020,y:600},{x:1020,y:660},{x:540,y:660}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:960,y:510,isStatic:!0,rightFacing:!1,destination:"breakable"}},{type:"breakable",params:{vertices:[{x:720,y:420},{x:780,y:420},{x:780,y:600},{x:720,y:600}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:480,y:420},{x:540,y:420},{x:540,y:660},{x:480,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:480,y:360},{x:1020,y:360},{x:1020,y:420},{x:480,y:420}],angle:0,isStatic:!0}},{type:"player",params:{x:580,y:580,angle:0,magazine:["bullet","bullet"]}}]},Wt={name:"Breakable",timings:[1800,1500],entities:[{type:"normal",params:{vertices:[{x:480,y:600},{x:1020,y:600},{x:1020,y:720},{x:480,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:960,y:510,isStatic:!0,rightFacing:!1,destination:"doubleJump"}},{type:"breakable",params:{vertices:[{x:720,y:-660},{x:780,y:-660},{x:780,y:600},{x:720,y:600}],angle:0,isStatic:!0}},{type:"player",params:{x:530,y:580,angle:0,magazine:["bullet","bullet"]}}]},Jt={name:"Double Jump",timings:[800,700],entities:[{type:"endpoint",params:{isStatic:!0,angle:1.5707963267948966,x:810,y:270,rightFacing:!1,destination:"trap"}},{type:"player",params:{isStatic:!1,angle:0,x:600,y:580,magazine:["bullet","bullet"]}},{type:"breakable",params:{isStatic:!0,vertices:[{x:540,y:660},{x:900,y:660},{x:900,y:600},{x:540,y:600}]}}],formatVersion:0},Gt={name:"Trap",timings:[1100,900],entities:[{type:"endpoint",params:{x:960,y:150,isStatic:!0,rightFacing:!1,destination:"fallingPortal"}},{type:"normal",params:{vertices:[{x:280,y:180},{x:300,y:180},{x:300,y:205},{x:280,y:205}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:280,y:240},{x:1020,y:240},{x:1020,y:360},{x:280,y:360}],angle:0,isStatic:!0}},{type:"player",params:{x:340,y:220,angle:0,magazine:["bullet","bullet"]}}]},Kt={name:"Falling Portal",timings:[4e3,3e3],entities:[{type:"normal",params:{vertices:[{x:480,y:600},{x:1080,y:600},{x:1080,y:720},{x:480,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:540,y:30,isStatic:!1,destination:"deadly"}},{type:"breakable",params:{vertices:[{x:480,y:300},{x:660,y:300},{x:660,y:360},{x:480,y:360}],angle:0,isStatic:!0}},{type:"player",params:{x:600,y:580,angle:0,magazine:["bullet","bullet"]}}]},Yt={name:"Deadly",timings:[2300,2100],entities:[{type:"endpoint",params:{x:970,y:660,isStatic:!0,rightFacing:!1,destination:"fryKing"}},{type:"ice",params:{vertices:[{x:180,y:480},{x:180,y:360},{x:900,y:720},{x:900,y:840}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:180,y:240},{x:180,y:120},{x:900,y:480},{x:900,y:600}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:540,y:540},{x:660,y:540},{x:660,y:600}],angle:0,isStatic:!0}},{type:"player",params:{x:200,y:280,angle:0,magazine:["bullet"]}}]},Zt={name:"Fry King",timings:[2e3,1750],entities:[{type:"player",params:{isStatic:!1,angle:0,x:20,y:400,magazine:["bullet","bullet"]}},{type:"normal",params:{isStatic:!0,vertices:[{x:360,y:420},{x:360,y:480},{x:-60,y:480},{x:-60,y:420}]}},{type:"deadly",params:{isStatic:!0,vertices:[{x:360,y:240},{x:600,y:240},{x:600,y:180},{x:360,y:180}]}},{type:"breakable",params:{isStatic:!0,vertices:[{x:600,y:420},{x:600,y:480},{x:360,y:480},{x:360,y:420}]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:490,y:620,rightFacing:!1,destination:"preciseFall"}}
1,{type:"text",params:{angle:0,x:-1080,y:360,copy:{ar:"ÙØ°Ø§ اÙÙ
ستÙÙ Ù
Ø³ØªÙØÙ Ù
Ù\nÙÙØ±Ø© رائعة Ù
Ù\nbloons td monke...?#3688",ca:"Aquest nivell està inspirat en\nuna idea brillant de\nbloons td monke...? #3688",de:"Dieses Level wurde inspiriert von\neiner brillanten idee von\nbloons td monke...?#3688",en:"This level is inspired by\na brilliant idea by\nbloons td monke...?#3688",es:"Este nivel es inspirado por\nuna brillante idea de\nbloons td monke...?#3688",fr:"Ce niveau est inspiré par\nune brillante idée de\nbloons td monke...?#3688",hr:"Ovu razinu je inspirirala\nbriljantna ideja koju je napravio\nbloons td monke...?#3688",pt:"Esse nÃvel foi inspirado\nnuma brilhante idéia de\nbloons td monke...?#3688",uk:"Цей ÑÑÐ²ÐµÐ½Ñ Ð½Ð°ÑÑ
ненний\nгенÑалÑÐ½Ð¾Ñ ÑдеÑÑ\nbloons td monke...?#3688'a","zh-cn":"è¿ä¸ªçº§å«ççµææ¥èª\nbloons td monke...?#3688\nçä¸ä¸ªç»å¦ç主æ","zh-tw":"éåç´å¥çéæä¾èª\nbloons td monke...?#3688\nçä¸åçµå¦ç主æ"},anchor:{x:.5,y:.5}}}],formatVersion:0},Qt={name:"Precise Fall",timings:[4e3,3250],entities:[{type:"endpoint",params:{x:1110,y:510,isStatic:!0,rightFacing:!1,destination:"backdoor"}},{type:"breakable",params:{vertices:[{x:1020,y:300},{x:1200,y:300},{x:1200,y:360},{x:1020,y:360}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:1020,y:180},{x:1200,y:180},{x:1200,y:240},{x:1020,y:240}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:1020,y:60},{x:1200,y:60},{x:1200,y:120},{x:1020,y:120}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:1020,y:-60},{x:1200,y:-60},{x:1200,y:0},{x:1020,y:0}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:1200,y:-60},{x:1260,y:-60},{x:1260,y:600},{x:1200,y:600}],angle:0,isStatic:!0}},{type:"player",params:{x:1110,y:-80,angle:0,magazine:["bullet","bullet","bullet","bullet"]}},{type:"deadly",params:{vertices:[{x:960,y:-60},{x:1020,y:-60},{x:1020,y:600},{x:960,y:600}],angle:0,isStatic:!0}}]},Xt={name:"Backdoor",timings:[3e3,2500],entities:[{type:"player",params:{isStatic:!1,angle:0,x:340,y:600,magazine:["bullet"]}},{type:"ice",params:{isStatic:!0,vertices:[{x:240,y:400},{x:520,y:450},{x:520,y:620},{x:220,y:620},{x:-100,y:560},{x:-100,y:660},{x:220,y:660},{x:560,y:660},{x:560,y:420},{x:240,y:360}]}},{type:"endpoint",params:{isStatic:!1,angle:-1.3788101090755203,x:328.0706244446404,y:325.6539211974932,rightFacing:!0,destination:"deadlyFall"}}],formatVersion:0},en={name:"Deadly Fall",timings:[4500,3250],entities:[{type:"normal",params:{vertices:[{x:-180,y:0},{x:-60,y:0},{x:-60,y:1380},{x:-180,y:1380}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:90,y:0},{x:210,y:0},{x:210,y:1380},{x:90,y:1380}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:-60,y:420},{x:0,y:420},{x:0,y:480},{x:-60,y:480}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:30,y:780},{x:90,y:780},{x:90,y:840},{x:30,y:840}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:0,y:1510,isStatic:!0,rightFacing:!1,destination:"slot"}},{type:"deadly",params:{vertices:[{x:-60,y:1080},{x:0,y:1080},{x:0,y:1140},{x:-60,y:1140}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:-180,y:-120},{x:210,y:-120},{x:210,y:0},{x:-180,y:0}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:30,y:1320},{x:90,y:1320},{x:90,y:1380},{x:30,y:1380}],angle:0,isStatic:!0}},{type:"player",params:{x:-30,y:30,angle:0,magazine:["bullet","bullet","bullet","bullet"]}}]},tn={name:"Slot",timings:[3250,3e3],entities:[{type:"ice",params:{isStatic:!0,vertices:[{x:540,y:600},{x:1020,y:600},{x:1020,y:720},{x:540,y:720}]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:1430,y:510,destination:"pit",rightFacing:!1}},{type:"ice",params:{isStatic:!0,vertices:[{x:1380,y:600},{x:1500,y:600},{x:1500,y:720},{x:1380,y:720}]}},{type:"normal",params:{isStatic:!1,vertices:[{x:780,y:420},{x:960,y:420},{x:960,y:600},{x:780,y:600}]}},{type:"player",params:{isStatic:!1,angle:0,x:640,y:580,magazine:["bullet","bullet"]}}],formatVersion:0},nn={name:"Pit",timings:[4e3,3e3],entities:[{type:"endpoint",params:{x:690,y:90,isStatic:!0,rightFacing:!1,destination:"filter"}},{type:"normal",params:{vertices:[{x:270,y:180},{x:390,y:180},{x:390,y:660},{x:270,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:600,y:180},{x:780,y:180},{x:780,y:660},{x:600,y:660}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:270,y:660},{x:780,y:660},{x:780,y:780},{x:270,y:780}],angle:0,isStatic:!0}},{type:"player",params:{x:580,y:640,angle:0,magazine:["bullet","bullet","bullet","bullet","bullet","bullet","bullet"]}}]}
1,rn={name:"Filter",timings:[2e3,1900],entities:[{type:"endpoint",params:{x:1370,y:510,isStatic:!0,destination:"recoil"}},{type:"normal",params:{vertices:[{x:600,y:600},{x:1500,y:600},{x:1500,y:720},{x:600,y:720}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:960,y:480},{x:1260,y:480},{x:1260,y:600},{x:960,y:600}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:960,y:-180},{x:1260,y:-180},{x:1260,y:430},{x:960,y:430}],angle:0,isStatic:!0}},{type:"player",params:{x:700,y:580,angle:0,magazine:["bullet"]}}]},an={name:"Recoil",timings:[1750,1500],entities:[{type:"endpoint",params:{x:1e3,y:340,isStatic:!0,rightFacing:!1,destination:"ARE"}},{type:"text",params:{copy:{ar:"ÙÙØª Ù
تÙÙØ¹Ø§Ù\nبأÙ٠ستجدÙÙ",ca:"Esperava\nque em trobessÃs.",de:"Ich hab schon erwartet\ndass du mich findest",en:"I was expecting\nyou'd find me",es:"Esperaba que\nme encontrarÃas",fr:"Je m'attendais\nà ce que tu me trouves",hr:"OÄekivao sam\nda ÄeÅ¡ me naÄi",pt:"Eu estava esperando que\nvocê me encontrasse",uk:"Я оÑÑкÑвав Ñо\nÑи мене знайдеÑ.","zh-cn":"ææ©å°±ç¥é\nä½ ä¼æ¾å°æç.","zh-tw":"ææ©å°±ç¥é\nä½ ææ¾å°æçã"},x:-1200,y:580,anchor:{x:.5,y:.5}}},{type:"breakable",params:{vertices:[{x:275,y:600},{x:325,y:600},{x:325,y:660},{x:275,y:660}],angle:0,isStatic:!0}},{type:"player",params:{x:300,y:580,angle:0,magazine:["bullet","bullet","bullet","bullet","bullet","bullet","bullet","bullet","bullet","bullet"]}}]},sn={name:"A.R.E",timings:[3500,2500],entities:[{type:"normal",params:{vertices:[{x:1020,y:600},{x:1140,y:600},{x:1140,y:720},{x:1020,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1080,y:510,isStatic:!0,destination:"slidingPortal"}},{type:"normal",params:{vertices:[{x:1020,y:0},{x:1140,y:0},{x:1140,y:180},{x:1020,y:180}],angle:0,isStatic:!0}},{type:"player",params:{x:1080,y:-20,angle:0,magazine:["bullet","bullet","bullet","bullet","bullet","bullet"]}},{type:"text",params:{copy:{ar:"عÙÙ
ت اÙÙ ÙÙØª Ø³ØªÙØ¹Ù ذÙÙ. -_-'",ca:"Sabia que faries això. -_-'",de:"Ich wusste dass du das machts -_-'",en:"I knew you'd do that. -_-'",fr:"J'étais sûr que tu ferais ça -_-'",hr:"Znao sam da ÄeÅ¡ to napraviti. -_-'",uk:"Я вÑÑÑ Ð² Ñебе, Ñи Ñе зÑобиÑ. -_-'","zh-cn":"ææ©å°±ç¥éä½ ä¼è¿æ ·åäº. -_-'","zh-tw":"ææ©å°±ç¥éä½ æé樣åäºã -_-'"},x:1080,y:-1200,anchor:{x:.5,y:.5}}}]},on={name:"Sliding Portal",timings:[4e3,3500],entities:[{type:"normal",params:{vertices:[{x:180,y:480},{x:840,y:480},{x:840,y:600},{x:180,y:600}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:590,y:140,isStatic:!1,rightFacing:!1,angle:1.5707963267948966,destination:"longFall"}},{type:"ice",params:{vertices:[{x:453.47826086956525,y:362.60869565217394},{x:843.4782608695652,y:362.60869565217394},{x:843.4782608695652,y:482.60869565217394},{x:543.4782608695652,y:482.60869565217394}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:180,y:60},{x:240,y:60},{x:240,y:360},{x:180,y:360}],angle:0,isStatic:!0}},{type:"player",params:{x:370,y:460,angle:0,magazine:["grenade"]}}]},ln={name:"Long Fall",timings:[4500,4400],entities:[{type:"endpoint",params:{x:950,y:-450,isStatic:!1,rightFacing:!1,destination:"bouncy"}},{type:"normal",params:{vertices:[{x:900,y:600},{x:1020,y:600},{x:1020,y:660},{x:900,y:660}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:840,y:-60},{x:1020,y:-60},{x:1020,y:0},{x:840,y:0}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:300,y:480},{x:900,y:600},{x:900,y:660},{x:300,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:1020,y:-540},{x:1080,y:-540},{x:1080,y:660},{x:1020,y:660}],angle:0,isStatic:!0}},{type:"player",params:{x:510,y:-510,angle:0,magazine:["grenade"]}}]},cn={name:"Bouncy",timings:[1500,1300],entities:[{type:"normal",params:{vertices:[{x:480,y:600},{x:660,y:600},{x:660,y:720},{x:480,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1260,y:90,isStatic:!0,rightFacing:!1,destination:"bouncyDeadly"}},{type:"bouncy",params:{vertices:[{x:660,y:600},{x:1320,y:600},{x:1320,y:720},{x:660,y:720}],angle:0,isStatic:!0}},{type:"player",params:{x:590,y:580,angle:0,magazine:["bullet","bullet"]}},{type:"text",params:{copy:{ar:"تØÙت!",de:"Thoth!",en:"Tohth!",es:"¡Dios Tohth!",fr:"Thoth!",it:"Thoth!",ja:"ããç¥ï¼",ru:"Tohth!",uk:"ТоÑ!",sv:"Thot!","zh-cn":"æç¹ï¼","zh-tw":"æç¹ï¼"},x:2900,y:1e3,anchor:{x:.5,y:.5}}}]}
1,pn={name:"Bouncy Deadly",timings:[4e3,3800],entities:[{type:"normal",params:{isStatic:!0,vertices:[{x:480,y:600},{x:660,y:600},{x:660,y:720},{x:480,y:720}]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:1380,y:510,rightFacing:!1,destination:"enPassant"}},{type:"bouncy",params:{isStatic:!0,vertices:[{x:660,y:600},{x:1320,y:600},{x:1320,y:720},{x:660,y:720}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:1320,y:600},{x:1440,y:600},{x:1440,y:720},{x:1320,y:720}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:1440,y:60},{x:1560,y:60},{x:1560,y:720},{x:1440,y:720}]}},{type:"player",params:{isStatic:!1,angle:0,x:590,y:580,magazine:["bullet"]}},{type:"deadly",params:{isStatic:!1,x:780,y:240,radius:60}},{type:"deadly",params:{isStatic:!1,x:1020,y:0,radius:60}}],formatVersion:0},un={name:"En Passant",timings:[3500,3250],entities:[{type:"player",params:{isStatic:!1,angle:0,x:440,y:760,magazine:["bullet","bullet"]}},{type:"breakable",params:{isStatic:!0,vertices:[{x:480,y:780},{x:480,y:840},{x:360,y:840},{x:360,y:780}]}},{type:"breakable",params:{isStatic:!0,vertices:[{x:840,y:480},{x:900,y:480},{x:900,y:540},{x:840,y:540},{x:600,y:320},{x:600,y:260}]}},{type:"deadly",params:{isStatic:!1,x:645,y:235,radius:45}},{type:"player",params:{isStatic:!1,angle:0,x:860,y:460,magazine:[]}},{type:"ice",params:{isStatic:!0,vertices:[{x:660,y:840},{x:1200,y:900},{x:1200,y:840},{x:660,y:780}]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:1260,y:1240,destination:"hardDeadly",rightFacing:!1}},{type:"normal",params:{isStatic:!0,vertices:[{x:1320,y:420},{x:1380,y:420},{x:1380,y:1140},{x:1320,y:1140}]}}],formatVersion:0},dn={name:"Hard Deadly",timings:[4500,4250],entities:[{type:"endpoint",params:{x:2650,y:1510,isStatic:!0,rightFacing:!1,destination:"superTiming"}},{type:"ice",params:{vertices:[{x:180,y:480},{x:180,y:360},{x:2580,y:1560},{x:2580,y:1680}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:180,y:240},{x:180,y:120},{x:2580,y:1320},{x:2580,y:1440}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:540,y:540},{x:660,y:540},{x:660,y:600}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:1260,y:900},{x:1380,y:900},{x:1380,y:960}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:1860,y:1200},{x:1980,y:1200},{x:1980,y:1260}],angle:0,isStatic:!0}},{type:"player",params:{x:200,y:280,angle:0,magazine:["bullet","bullet","bullet"]}}]},mn={name:"Super Timing",timings:[3500,3e3],entities:[{type:"endpoint",params:{x:1150,y:390,isStatic:!0,rightFacing:!1,destination:"convoluted"}},{type:"breakable",params:{vertices:[{x:420,y:600},{x:600,y:600},{x:600,y:720},{x:420,y:720}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:420,y:180},{x:480,y:180},{x:480,y:600},{x:420,y:600}],angle:0,isStatic:!0}},{type:"player",params:{x:550,y:580,angle:0,magazine:["bullet","grenade"]}},{type:"normal",params:{vertices:[{x:1200,y:-120},{x:1260,y:-120},{x:1260,y:300},{x:1200,y:300}],angle:0,isStatic:!0}}]},yn={name:"Convoluted",timings:[3750,3250],entities:[{type:"endpoint",params:{isStatic:!1,angle:0,x:470,y:700,rightFacing:!1,destination:"brake"}},{type:"normal",params:{isStatic:!0,vertices:[{x:420,y:550},{x:580,y:550},{x:580,y:610},{x:420,y:610}]}},{type:"ice",params:{isStatic:!0,vertices:[{x:420,y:780},{x:900,y:780},{x:900,y:840},{x:420,y:840}]}},{type:"player",params:{isStatic:!1,angle:0,x:540,y:530,magazine:["bullet","bullet"]}},{type:"ice",params:{isStatic:!0,vertices:[{x:870,y:750},{x:900,y:780},{x:870,y:780}]}},{type:"ice",params:{isStatic:!0,vertices:[{x:120,y:840},{x:240,y:840},{x:240,y:780},{x:120,y:780}]}}],formatVersion:0},hn={name:"Brake",timings:[2900,2800],entities:[{type:"endpoint",params:{x:1140,y:540,isStatic:!0,rightFacing:!1,angle:0,destination:"timing"}},{type:"bouncy",params:{vertices:[{x:360,y:510},{x:540,y:600},{x:540,y:660},{x:360,y:660}],isStatic:!0}},{type:"player",params:{x:390,y:170,angle:0,magazine:["bullet"]}},{type:"text",params:{x:2300,y:620,isSelected:!0,copy:{ar:"Ø§ÙØ²Ø§Ø¦Ø¯Ø©!",ca:"Hiperespai!",de:"Hyperspace!",en:"Hyperspace!",es:"Hiperespacio!",fr:"Hyperespace !",hr:"Hiperprostor!",pt:"Hiperespaço!",uk:"ÐÑпеÑкоÑмÑÑно!","zh-cn":"è¶
空é´!","zh-tw":"è¶
空éï¼"}
1,anchor:{x:.5,y:.5}}},{type:"text",params:{x:-90,y:-450,isSelected:!0,copy:{ar:"ØªØ¹Ø²ÙØ² Ø¬ÙØ¯!",ca:"Bon impuls!",de:"Schöner Boost!",en:"Nice boost!",es:"Buen impulso!",fr:"Joli boost !",hr:"Dobar potisak!",pt:"Belo impulso!",uk:"ÐÑÑÑе пÑиÑкоÑеннÑ!","zh-cn":"ä¸éç弹跳!","zh-tw":"ä¸é¯çå½è·³ï¼"},anchor:{x:.5,y:.5}}}]},gn={name:"Timing",timings:[1500,1250],entities:[{type:"endpoint",params:{x:1150,y:230,isStatic:!0,rightFacing:!1,destination:"rainOfFire"}},{type:"breakable",params:{vertices:[{x:540,y:600},{x:600,y:600},{x:600,y:720},{x:540,y:720}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:420,y:660},{x:510,y:660},{x:465,y:720}],angle:0,isStatic:!0}},{type:"player",params:{x:570,y:580,angle:0,magazine:["bullet","bullet"]}},{type:"text",params:{copy:{ar:"Ø£ÙØª سخÙÙ.",ca:"Ets un cap de suro.",de:"Du bist blöd.",en:"You're silly.",es:"Eres tonto.",fr:"T'es bête.",pt:"Você é doente.",uk:"Ти дÑÑненÑкий.","zh-cn":"ä½ å¤ªç¬¨äº.","zh-tw":"ä½ å¤ªç¬¨äºã"},x:-1e3,y:580,anchor:{x:.5,y:.5}}}]},xn={name:"Rain of Fire",timings:[2500,2485],entities:[{type:"endpoint",params:{x:300,y:-870,isStatic:!1,rightFacing:!0,angle:0,destination:"backAndForth"}},{type:"player",params:{x:300,y:820,angle:0,isStatic:!1,magazine:["bullet","bullet","bullet"]}},{type:"deadly",params:{x:300,y:210,radius:15,isStatic:!1}},{type:"deadly",params:{x:330,y:450,radius:15,isStatic:!1}},{type:"deadly",params:{x:300,y:-120,radius:15,isStatic:!1}},{type:"normal",params:{vertices:[{x:360,y:840},{x:360,y:900},{x:240,y:900},{x:240,y:840}],isStatic:!0}}],formatVersion:0},fn={name:"Back and Forth",timings:[1150,1100],entities:[{type:"normal",params:{vertices:[{x:360,y:600},{x:660,y:600},{x:660,y:720},{x:360,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1260,y:510,isStatic:!0,rightFacing:!1,destination:"tibet"}},{type:"normal",params:{vertices:[{x:1140,y:600},{x:1380,y:600},{x:1380,y:720},{x:1140,y:720}],angle:0,isStatic:!0}},{type:"bouncy",params:{vertices:[{x:360,y:540},{x:405,y:540},{x:420,y:600},{x:360,y:600}],angle:0,isStatic:!0}},{type:"player",params:{x:590,y:580,angle:0,magazine:["bullet"]}},{type:"text",params:{copy:{ar:"بÙÙÙØº!",de:"Boing!",en:"Boing!",fr:"Boing !",uk:"Ðам!","zh-cn":"æ³¢é³!","zh-tw":"æ³¢é³ï¼"},x:-300,y:-300,anchor:{x:.5,y:.5}}}]},vn={name:"Tibet",timings:[2750,2500],entities:[{type:"endpoint",params:{isStatic:!0,angle:0,x:830,y:230,rightFacing:!1,destination:"parkour"}},{type:"normal",params:{isStatic:!0,vertices:[{x:870,y:490},{x:930,y:490},{x:930,y:510},{x:890,y:510}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:930,y:420},{x:960,y:420},{x:960,y:550},{x:930,y:550}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:890,y:530},{x:930,y:530},{x:930,y:550},{x:870,y:550}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:750,y:-80},{x:770,y:-80},{x:770,y:320},{x:810,y:320},{x:810,y:390},{x:750,y:390}]}},{type:"player",params:{isStatic:!1,angle:0,x:640,y:580,magazine:["bullet","grenade"]}},{type:"breakable",params:{isStatic:!0,vertices:[{x:660,y:600},{x:540,y:600},{x:540,y:660},{x:660,y:660}]}}],formatVersion:0},bn={name:"Parkour",timings:[2500,2e3],entities:[{type:"normal",params:{vertices:[{x:360,y:600},{x:660,y:600},{x:660,y:720},{x:360,y:720}],isStatic:!0}},{type:"endpoint",params:{x:850,y:-50,isStatic:!0,rightFacing:!1,angle:0,destination:"wholeJump"}},{type:"bouncy",params:{vertices:[{x:360,y:480},{x:390,y:480},{x:450,y:600},{x:360,y:600}],isStatic:!0}},{type:"deadly",params:{vertices:[{x:1140,y:-120},{x:1260,y:-120},{x:1260,y:720},{x:1140,y:720}],isStatic:!0}},{type:"normal",params:{vertices:[{x:720,y:60},{x:900,y:60},{x:900,y:120},{x:720,y:120}],isStatic:!0}},{type:"normal",params:{vertices:[{x:720,y:-540},{x:780,y:-540},{x:780,y:60},{x:720,y:60}],isStatic:!0}},{type:"player",params:{x:590,y:580,angle:0,magazine:["bullet","bullet","bullet"]}}]},$n={name:"Whole Jump",timings:[2750,2250],entities:[{type:"endpoint",params:{x:360,y:-260,isStatic:!0,rightFacing:!1,destination:"grenadeBoost"}},{type:"normal",params:{vertices:[{x:300,y:420},{x:360,y:420},{x:360,y:660},{x:300,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:540,y:240},{x:600,y:240},{x:600,y:480},{x:540,y:480}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:300,y:660},{x:600,y:660},{x:600,y:780},{x:300,y:780}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:300,y:60},{x:360,y:60},{x:360,y:300},{x:300,y:300}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:540,y:-120},{x:600,y:-120},{x:600,y:120},{x:540,y:120}],angle:0,isStatic:!0}},{type:"player",params:{x:500,y:640,angle:0,magazine:["bullet","bullet","bullet","bullet","bullet"]}}]}
1,wn={name:"Grenade Boost",timings:[9e3,8e3],entities:[{type:"endpoint",params:{x:490,y:30,isStatic:!1,rightFacing:!1,destination:"doppelganger"}},{type:"ice",params:{vertices:[{x:370,y:220},{x:660,y:220},{x:540,y:280},{x:360,y:280}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:180,y:600},{x:340,y:600},{x:840,y:340},{x:840,y:600},{x:960,y:600},{x:960,y:720},{x:180,y:720}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:840,y:-60},{x:960,y:-60},{x:960,y:600},{x:840,y:600}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:660,y:190},{x:660,y:220},{x:540,y:220}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:120,y:190},{x:370,y:190},{x:300,y:280},{x:120,y:280}],angle:0,isStatic:!0}},{type:"player",params:{x:320,y:580,angle:0,magazine:["bullet","grenade"]}}]},kn={name:"Doppelgänger",timings:[1750,1500],entities:[{type:"normal",params:{vertices:[{x:180,y:600},{x:540,y:600},{x:540,y:720},{x:180,y:720}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:410,y:520,isStatic:!0,rightFacing:!1,destination:"hole"}},{type:"player",params:{x:440,y:340,angle:0,magazine:["bullet"]}},{type:"player",params:{x:320,y:580,angle:0,magazine:[]}},{type:"normal",params:{vertices:[{x:480,y:420},{x:540,y:420},{x:540,y:600},{x:480,y:600}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:300,y:360},{x:540,y:360},{x:540,y:420},{x:300,y:420}],angle:0,isStatic:!0}}]},Sn={name:"Hole",timings:[4250,4e3],entities:[{type:"endpoint",params:{x:370,y:390,isStatic:!1,rightFacing:!0,angle:0,destination:"family"}},{type:"normal",params:{vertices:[{x:0,y:580},{x:340,y:580},{x:340,y:700},{x:0,y:700}],isStatic:!0}},{type:"ice",params:{vertices:[{x:300,y:480},{x:450,y:480},{x:450,y:540},{x:300,y:510}],isStatic:!0}},{type:"normal",params:{vertices:[{x:0,y:-60},{x:60,y:-60},{x:60,y:580},{x:0,y:580}],isStatic:!0}},{type:"bouncy",params:{vertices:[{x:900,y:810},{x:780,y:810},{x:780,y:780},{x:900,y:675}],isStatic:!0}},{type:"normal",params:{vertices:[{x:60,y:510},{x:120,y:510},{x:120,y:580},{x:60,y:580}],isStatic:!0}},{type:"player",params:{x:320,y:560,angle:0,magazine:["grenade"]}},{type:"player",params:{x:80,y:490,angle:0,magazine:[]}}]},zn={name:"Family",timings:[4500,4e3],entities:[{type:"endpoint",params:{isStatic:!0,angle:0,x:840,y:750,destination:"headfirst",rightFacing:!1}},{type:"normal",params:{isStatic:!0,vertices:[{x:-480,y:600},{x:-60,y:600},{x:-60,y:720},{x:-480,y:720}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:180,y:600},{x:300,y:600},{x:300,y:720},{x:180,y:720}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:480,y:60},{x:540,y:60},{x:540,y:600},{x:480,y:600}]}},{type:"ice",params:{isStatic:!0,vertices:[{x:300,y:720},{x:300,y:600},{x:780,y:840},{x:780,y:960}]}},{type:"player",params:{isStatic:!1,angle:0,x:210,y:580,magazine:["bullet","bullet"]}},{type:"player",params:{isStatic:!1,angle:0,x:50,y:200,magazine:[]}},{type:"text",params:{angle:0,x:528,y:-292,copy:{ar:"ÙÙÙ Ø£ØªÙØª Ø¥ÙÙ ÙÙØ§Ø",ca:"Com has arribat aquÃ?",de:"Wie bist du hier hingekommen?",en:"How did you get here?",es:"¿Como has llegado aquÃ?",fr:"Comment es-tu arrivé là ?",hr:"Kako si ovdje doÅ¡ao?",pt:"Como você chegou aÃ?",uk:"Як Ñи ÑÑди поÑÑапив?","zh-cn":"ä½ æä¹æ¥å°è¿éç?","zh-tw":"ä½ æéº½ä¾å°éè£çï¼"},anchor:{x:.5,y:.5}}}],formatVersion:0},Cn={name:"Headfirst",timings:[1e3,800],entities:[{type:"endpoint",params:{x:470,y:700,isStatic:!1,rightFacing:!1,destination:"stress"}},{type:"normal",params:{vertices:[{x:510,y:540},{x:560,y:540},{x:560,y:600},{x:510,y:600}],angle:0,isStatic:!0}},{type:"ice",params:{vertices:[{x:360,y:780},{x:560,y:780},{x:560,y:840},{x:360,y:840}],angle:0,isStatic:!0}},{type:"player",params:{x:540,y:520,angle:0,magazine:["bullet"]}}]},En={name:"Stress",timings:[2500,2e3],entities:[{type:"endpoint",params:{x:360,y:-260,isStatic:!0,rightFacing:!1,destination:"dutchStairs"}},{type:"normal",params:{vertices:[{x:300,y:420},{x:360,y:420},{x:360,y:660},{x:300,y:660}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:540,y:240},{x:600,y:240},{x:600,y:480},{x:540,y:480}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:300,y:660},{x:600,y:660},{x:600,y:780},{x:300,y:780}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:300,y:60},{x:360,y:60},{x:360,y:300},{x:300,y:300}],angle:0,isStatic:!0}},{type:"normal",params:{vertices:[{x:540,y:-120},{x:600,y:-120},{x:600,y:120},{x:540,y:120}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:300,y:300},{x:360,y:300},{x:360,y:420},{x:300,y:420}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:540,y:480},{x:600,y:480},{x:600,y:660},{x:540,y:660}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:540,y:120},{x:600,y:120},{x:600,y:240},{x:540,y:240}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:300,y:-120},{x:360,y:-120},{x:360,y:60},{x:300,y:60}],angle:0,isStatic:!0}},{type:"player",params:{x:500,y:640,angle:0,magazine:["bullet","bullet","bullet","bullet","bullet"]}}]}
1,Tn={name:"Dutch Stairs",timings:[3500,3e3],entities:[{type:"normal",params:{vertices:[{x:540,y:600},{x:720,y:600},{x:720,y:660},{x:540,y:660}],angle:0,isStatic:!0}},{type:"endpoint",params:{x:1620,y:30,isStatic:!0,rightFacing:!1,destination:"relay"}},{type:"deadly",params:{vertices:[{x:720,y:480},{x:960,y:480},{x:960,y:660},{x:720,y:660}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:960,y:300},{x:1200,y:300},{x:1200,y:480},{x:960,y:480}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:1200,y:120},{x:1680,y:120},{x:1680,y:300},{x:1200,y:300}],angle:0,isStatic:!0}},{type:"player",params:{x:600,y:580,angle:0,magazine:["bullet","bullet","bullet","bullet"]}}]},jn={name:"Relay",timings:[1250,1e3],entities:[{type:"player",params:{isStatic:!1,angle:0,x:260,y:700,magazine:["empty","bullet"]}},{type:"player",params:{isStatic:!0,angle:0,x:460,y:820,magazine:["bullet","empty"]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:970,y:640,rightFacing:!1,destination:"hellPit"}},{type:"normal",params:{isStatic:!0,vertices:[{x:180,y:780},{x:300,y:780},{x:300,y:720},{x:180,y:720}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:420,y:900},{x:480,y:900},{x:480,y:840},{x:420,y:840}]}}],formatVersion:0},An={name:"HÌ¿eÌ¿lÌÌ
Ì̶̿lÌÌ̵ͤ ÌÌ¢P̿ͧÍͬÌÍÍiÌÌÌÍt̨",timings:[1750,1500],entities:[{type:"endpoint",params:{x:450,y:-320,isStatic:!0,rightFacing:!1,destination:"closeCall"}},{type:"breakable",params:{vertices:[{x:300,y:660},{x:600,y:660},{x:600,y:780},{x:300,y:780}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:540,y:-240},{x:600,y:-240},{x:600,y:660},{x:540,y:660}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:300,y:-240},{x:360,y:-240},{x:360,y:660},{x:300,y:660}],angle:0,isStatic:!0}},{type:"player",params:{x:500,y:640,angle:0,magazine:["bullet","bullet","bullet","bullet","bullet"]}}]},_n={name:"Close Call",timings:[2e3,1900],entities:[{type:"deadly",params:{isStatic:!0,vertices:[{x:-180,y:-540},{x:-180,y:140},{x:-240,y:140},{x:-240,y:-540}]}},{type:"deadly",params:{isStatic:!0,vertices:[{x:0,y:-540},{x:0,y:140},{x:-60,y:140},{x:-60,y:-540}]}},{type:"deadly",params:{isStatic:!0,vertices:[{x:180,y:300},{x:180,y:380},{x:-420,y:380},{x:-420,y:300}]}},{type:"player",params:{isStatic:!1,angle:0,x:-120,y:-420,magazine:["bullet","bullet"]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:130,y:220,destination:"wholeHell",rightFacing:!0}},{type:"endpoint",params:{isStatic:!0,angle:0,x:-370,y:220,destination:"wholeHell",rightFacing:!0}}],formatVersion:0},Pn={name:"WÌÌÍÌĮ́hÌÌÍoͤÌÍÌÍlÌͨÍÌ
ÍeÍ ÌÍ¥Ì
ÌÌÍHÍęlÌÍlͬÌͨÌ
Ì",timings:[2750,2250],entities:[{type:"endpoint",params:{x:360,y:-260,isStatic:!0,rightFacing:!1,destination:"end"}},{type:"deadly",params:{vertices:[{x:300,y:420},{x:360,y:420},{x:360,y:660},{x:300,y:660}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:540,y:240},{x:600,y:240},{x:600,y:480},{x:540,y:480}],angle:0,isStatic:!0}},{type:"breakable",params:{vertices:[{x:300,y:660},{x:600,y:660},{x:600,y:780},{x:300,y:780}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:300,y:60},{x:360,y:60},{x:360,y:300},{x:300,y:300}],angle:0,isStatic:!0}},{type:"deadly",params:{vertices:[{x:540,y:-120},{x:600,y:-120},{x:600,y:120},{x:540,y:120}],angle:0,isStatic:!0}},{type:"player",params:{x:500,y:640,angle:0,magazine:["bullet","bullet","bullet","bullet","bullet"]}}]},Ln={name:"End",timings:[2147483647,2147483647],entities:[{type:"text",params:{angle:0,x:780,y:500,copy:{ar:"ÙÙØ¨ ÙÙØ¨! ØªÙØ§ÙÙØ§, ÙÙØ¯ Ø£ÙÙÙØª BombHopper.io!",ca:"Molt bé! Has acabat BombHopper.io, felicitats!",de:"Yay! Du hast BombHopper.io abgeschlossen, glückwunsch!",en:"Woop woop! You finished BombHopper.io, congrats!",es:"Vámonos! Has finalizado Bombhopper.io, ¡felicidades!",fr:"Youhou ! Tu as terminé BombHopper.io, félicitations !",hr:"Jupi! ZavrÅ¡io si Bombhopper.io, Äestitam!",pt:"Isso isso! Você zerou Bombhooper.io, parabéns!",uk:"ÐÑÑп-бÑÑп! ÐÑÑаÑ, Ñи пÑойÑов BombHopper.io!","zh-cn":"åå¼! ä½ éè¿äºBombHopper.io, æå!","zh-tw":"åå¼ï¼ä½ ééäºBombHopper.ioï¼æåï¼"}
1,anchor:{x:.5,y:.5}}},{type:"normal",params:{isStatic:!0,vertices:[{x:300,y:600},{x:1260,y:600},{x:1260,y:720},{x:300,y:720}]}},{type:"endpoint",params:{isStatic:!0,angle:0,x:3600,y:170,rightFacing:!1}},{type:"text",params:{angle:.39269908169872414,x:1650,y:600,copy:{ar:"ÙØ°Ù آخر Ù
رØÙØ© ÙÙØ¢Ù, ÙÙÙ ÙØ§ تخÙ!",ca:"Aquest és l'últim nivell per ara, però no et preocupis!",de:"Das ist das letzte Level momentan, aber ärgere dich nicht!",en:"This is the last level for now but fret not!",es:"Este es el último nivel por ahora, ¡pero no te preocupes!",fr:"C'est le dernier niveau pour le moment mais t'inquiètes pas !",hr:"Ovo je zadnja razina za sad ali ne brini!",pt:"Esse é o último nÃvel por enquanto mas não se preocupe!",uk:"ÐаÑÐ°Ð·Ñ Ñе оÑÑаннÑй ÑÑвенÑ, але не Ñ
вилÑйÑÑ!","zh-cn":"è¿æ¯ææ¶çæåä¸çº§äº, ä½ä½ ä¸è¦æ
å¿!","zh-tw":"éæ¯æ«æçæå¾ä¸ç´äºï¼ä½ä½ ä¸è¦æå¿ï¼"},anchor:{x:.5,y:.5}}},{type:"ice",params:{isStatic:!0,vertices:[{x:1260,y:720},{x:1260,y:600},{x:2040,y:900},{x:2040,y:1020}]}},{type:"text",params:{angle:0,x:2250,y:960,copy:{ar:"ÙÙØ§ÙÙ Ø£ÙØ¶Ø§Ù",ca:"També hi han",de:"Es gibt auch",en:"There are also",es:"También hay",fr:"Il y a aussi",hr:"TakoÄer postoje",pt:"Também tem",uk:"Також ÑÑÑ ÑÑнÑÑÑÑ","zh-cn":"è¿æ","zh-tw":"éæ"},anchor:{x:.5,y:.5}}},{type:"breakable",params:{isStatic:!0,vertices:[{x:2040,y:900},{x:2460,y:900},{x:2460,y:1020},{x:2040,y:1020}]}},{type:"text",params:{angle:0,x:2250,y:1200,copy:{ar:"Ù
راØÙ Ù
خصصة",ca:"nivells personalitzats",de:"von Spielern gemachte Level",en:"custom levels",es:"niveles personalizados",fr:"des niveaux customs",hr:"korisniÄke razine",pt:"nÃveis personalizados",uk:"Ð ÑÐ²Ð½Ñ Ð²Ñд гÑавÑÑв","zh-cn":"ç¹æ®çº§å«","zh-tw":"ç¹æ®ç´å¥"},anchor:{x:.5,y:.5}}},{type:"breakable",params:{isStatic:!0,vertices:[{x:2040,y:1140},{x:2460,y:1140},{x:2460,y:1260},{x:2040,y:1260}]}},{type:"text",params:{angle:0,x:2250,y:1440,copy:{ar:"Ù Ù
عد٠Ù
راØÙ!",ca:"i un editor de nivells!",de:"und einen Level Editor!",en:"and a level editor!",es:"¡Y un editor de niveles!",fr:"et un éditeur de niveaux !",hr:"i ureÄivaÄ razina!",pt:"e um editor de nÃveis!",uk:"РзÑÑÑний ÑедакÑÐ¾Ñ ÑÑвнÑв!","zh-cn":"åä¸ä¸ªå
³å¡ç¼è¾å¨!","zh-tw":"åä¸ä¸ªå
³å¡ç¼è¾å¨ï¼"},anchor:{x:.5,y:.5}}},{type:"breakable",params:{isStatic:!0,vertices:[{x:2040,y:1380},{x:2460,y:1380},{x:2460,y:1500},{x:2040,y:1500}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:2460,y:360},{x:2580,y:360},{x:2580,y:1500},{x:2460,y:1500}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:1920,y:975},{x:2040,y:1020},{x:2040,y:1680},{x:1920,y:1680}]}},{type:"text",params:{angle:0,x:2370,y:1600,copy:{ar:"Ø³Ø£Ø´Ø±Ø ÙÙ, ÙÙ٠أÙÙØ§Ù!\nØ£Ø±ÙØ¯ أ٠أعطÙÙ Ø´ÙØ¦Ø§Ù ØµØºÙØ±Ø§Ù\nÙØ§Ù٠اÙÙÙØª اÙÙØ¹Ø¨Ø©.",ca:"T'ho explicaré, però primer!\nVull donar-te una cosa\nPer haver acabat el joc.",de:"Ich werde das erklären, aber zuerst!\nIch will dir was geben,\nweil du das Spiel durchgespielt hast.",en:"I'll explain, but first!\nI wanna give you a little something\nfor having finished the game.",es:"Te lo explicaré, pero ¡primero!\nTe quiero dar una cosa\nPor haber finalizado el juego.",fr:"Je vais expliquer, mais d'abord !\nJe veux te donner un petit truc\npour avoir fini le jeu.",hr:"Objasnit Äu, ali prvo!\nŽelim ti dati mali poklon\nbuduÄi da si zavrÅ¡io igru.",uk:"Я поÑÑнÑ, але ÑпоÑаÑкÑ! Я Ñ
оÑÑ Ð´Ð°Ñи ÑÐ¾Ð±Ñ Ð¼Ð°Ð»ÐµÐ½Ñкий подаÑÑноÑок за Ñе Ñо Ñи закÑнÑив гÑÑ.","zh-cn":"æä¼è§£éï¼ä½é¦å
!\nææ³ç»ä½ ä¸ç¹ä¸è¥¿,\nå ä¸ºä½ å®æäºæ¸¸æ.","zh-tw":"ææè§£éï¼ä½é¦å
ï¼\nææ³çµ¦ä½ ä¸é»æ±è¥¿ï¼\nå çºä½ 宿äºéæ²ã"},anchor:{x:.5,y:.5}}},{type:"normal",params:{isStatic:!0,vertices:[{x:1920,y:1680},{x:2580,y:1680},{x:2580,y:1800},{x:1920,y:1800}]}},{type:"deadly",params:{isStatic:!0,vertices:[{x:2580,y:1680},{x:3480,y:1680},{x:3480,y:1800},{x:2580,y:1800}]}},{type:"deadly",params:{isStatic:!0,vertices:[{x:2580,y:1380},{x:3480,y:1380},{x:3480,y:1500},{x:2580,y:1500}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:3480,y:1680},{x:3720,y:1680},{x:3720,y:1800},{x:3480,y:1800}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:3720,y:1500},{x:3840,y:1500},{x:3840,y:1800},{x:3720,y:1800}]}},{type:"text",params:{angle:0,x:3600,y:1600,copy:{ar:"أدخÙ\nØ§ÙØ¨Ø§Ø¨\nÙØªØØµÙ عÙÙÙ.",ca:"Passa a través\nLa porta\nper aconseguir-ho.",de:"Gehe durch\ndie Tür\num es zu kriegen.",en:"Go through\nthe door\nto get it.",es:"Pasa por\nla puerta\npara conseguirlo.",fr:"Traverse\nla porte\npour le récupérer.",hr:"ProÄi kroz vrata kako bi ga primio.",pt:"Passe pela\nporta para\npegar isso.",uk:"ÐÑойди ÑеÑез двеÑÑ\nAби оÑÑимаÑи\nÐого.","zh-cn":"ç»è¿è¿æé¨æ¥å¾å°å®.","zh-tw":"ç¶ééæéä¾å¾å°å®ã"}
1,anchor:{x:.5,y:.5}}},{type:"bouncy",params:{isStatic:!0,vertices:[{x:3720,y:60},{x:3840,y:60},{x:3840,y:1500},{x:3720,y:1500}]}},{type:"bouncy",params:{isStatic:!0,vertices:[{x:3360,y:60},{x:3480,y:60},{x:3480,y:1380},{x:3360,y:1380}]}},{type:"normal",params:{isStatic:!0,vertices:[{x:3360,y:-60},{x:3840,y:-60},{x:3840,y:60},{x:3360,y:60}]}},{type:"player",params:{isStatic:!1,angle:0,x:400,y:580,infiniteAmmo:"bullet"}},{type:"text",params:{angle:0,x:3640,y:-507.9999999999999,copy:{de:".-- .- ...\n.. ... -\n.... --- .--. .--. .. ...\n... .. -. -. ..--..\n.... ..-- .--. ..-. . -.",en:".-- .... .- - .----. ...\n.... --- .--. .--. .. .----. ...\n.--. ..- .-. .--. --- ... . ..--..\n.... --- .--. .--. .. -. --. .-.-.-",uk:".-.- -.- . ..- .-.. ..-- -... .-.. . -. .\n --.. .- -. .-.- - - .-.-\n.... --- .--. .--. . .- ..--..\n ... - .-. .. -... .- - .."},anchor:{x:.5,y:.5}}}],formatVersion:0},In=Object.freeze({__proto__:null,noob:Lt,notch:It,choice:Ft,stairs:Bt,flappy:Dt,slippery:Mt,ice:qt,sanic:Vt,mindTheGap:Nt,mountain:Ht,pinball:Ot,crumblyFloors:Rt,box:Ut,breakable:Wt,doubleJump:Jt,trap:Gt,fallingPortal:Kt,deadly:Yt,fryKing:Zt,preciseFall:Qt,backdoor:Xt,deadlyFall:en,slot:tn,pit:nn,filter:rn,recoil:an,ARE:sn,slidingPortal:on,longFall:ln,bouncy:cn,bouncyDeadly:pn,enPassant:un,hardDeadly:dn,superTiming:mn,convoluted:yn,brake:hn,timing:gn,rainOfFire:xn,backAndForth:fn,tibet:vn,parkour:bn,wholeJump:$n,grenadeBoost:wn,doppelganger:kn,hole:Sn,family:zn,headfirst:Cn,stress:En,dutchStairs:Tn,relay:jn,hellPit:An,closeCall:_n,wholeHell:Pn,end:Ln});class Fn{constructor(e,t){this._entities=new Set,this.query=e.query,this.enter$=new _,this.exit$=new _,this.preUpdate$=new _,this.update$=new _,this.postUpdate$=new _,this.sub=e({enter$:this.enter$,exit$:this.exit$,preUpdate$:this.preUpdate$,update$:this.update$,postUpdate$:this.postUpdate$},t).subscribe()}_enter(e){this._entities.add(e),this.enter$.next(e)}_exit(e,t){this._entities.delete(e),this.exit$.next([e,t])}dispose(){this._entities.forEach((e=>{this._exit(e)})),this.enter$.complete(),this.exit$.complete(),this.preUpdate$.complete(),this.update$.complete(),this.postUpdate$.complete(),this.sub.unsubscribe()}}class Bn{constructor(e){this._ecs=null,this.components={};for(const t in e)this.addComponent(t,e[t])}addComponent(e,t){if(void 0!==this.components[e])throw new Error(`The component ${e} is already defined on this entity`);this.components[e]=t,null!==this._ecs&&this._ecs._setupComponent(this,e)}removeComponent(e,t){for(const n of this._ecs._systems){const r=n.query.every((e=>void 0!==this.components[e])),a=n.query.every((t=>t!==e&&void 0!==this.components[t]));r&&!a&&n._exit(this,t)}this._ecs._entities[e].delete(this),delete this.components[e]}dispose(e){for(const t in this.components)this.removeComponent(t,e)}}class Dn{constructor(e){Object.assign(this,e)}}class Mn extends Dn{}Mn.prototype.type=null;class qn extends Dn{}qn.prototype.howls=[];class Vn extends Dn{}class Nn extends Dn{constructor(){super(...arguments),this.frame=0}}class Hn extends Dn{}class On extends Dn{}class Rn extends Dn{}Rn.prototype.sounds=null;class Un extends Dn{}class Wn extends Dn{constructor(){super(...arguments),this.container=new t,this.axisAlignedContainer=new t,this.axisAlignedContainer.cullable=!0,this.axisAlignedContainer.addChild(this.container)}}class Jn extends Dn{}Jn.prototype.destination=null;class Gn extends Dn{}Gn.prototype.color=16777215;class Kn extends Dn{}Kn.prototype.exploding=!1,Kn.prototype.explosionColor=16777215;class Yn extends Dn{}Yn.prototype.name="RGBSplit";class Zn extends Dn{}Zn.prototype.emitter=null,Zn.prototype.parent=null,Zn.prototype.velocity={x:0,y:0};class Qn extends Dn{}Qn.prototype.body=null,Qn.prototype.vertices=null;class Xn extends Dn{}Xn.prototype.magazineType="finite",Xn.prototype.magazine$=null,Xn.prototype.infiniteAmmo=null,Xn.prototype.initialAmmoAmount=0,Xn.prototype.hurtTimer=0;class er extends Dn{}class tr extends Dn{}class nr extends Dn{}nr.prototype.counter=1e3;class rr extends Dn{constructor(){super(...arguments),this.history=null}}class ar extends Bn{constructor(){if(super(...arguments),this.components.phys){const{body:e}=this.components.phys;e.associatedEntity=this}}}function ir(e){return t=>e.includes(t)}function sr(e,t){return Object.keys(e).filter(t).reduce(((t,n)=>(t[n]=e[n],t)),{})}const or=["isStatic","isSensor","collisionFilter"];function lr(t){let{x:n,y:r,width:a,height:i,...s}=t;return new Qn({body:e.Bodies.rectangle(n,r,a,i,s)})}function cr(t){if(void 0!==t.radius){return function(t){let{x:n,y:r,radius:a,...i}=t;return new Qn({body:e.Bodies.circle(n,r,a,i)})}(sr(t,ir(["x","y","radius"].concat(or))))}if(t.vertices){return function(t){const n=e.Vertices.isConvex(t.vertices),r={...t};let a;if(delete r.vertices,n){const n=e.Vertices.centre(t.vertices);a=e.Bodies.fromVertices(n.x,n.y,t.vertices,r)}else if(a=e.Bodies.fromVertices(0,0,t.vertices,r),a.parts.length>=2){const t=e.Vector.sub(a.parts[1].position,a.parts[1].positionPrev),n=e.Vector.sub(a.position,t);e.Body.setPosition(a,n)}return new Qn({body:a,vertices:t.vertices})}(sr(t,ir(["vertices","angle"].concat(or))))}if(t.height&&t.width){const e=lr(sr(t,ir(["x","y","width","height"].concat(or))));return e.vertices=e.body.vertices,e}throw new Error("unknown body type")}function pr(e){const t=new r({quality:.2,...e});return t.padding=e.distance,t}function ur(e){const t=[];if(16777215===e)try{t.push(pr({distance:15,outerStrength:.8,innerStrength:1,color:e}))}catch(e){}else{try{t.push(pr({distance:20,outerStrength:1,innerStrength:1,color:e}))}catch(e){}t.push(new n([0,0],[1,0],[0,1]))}return t}function dr(e){return e.reduce(((e,t)=>Math.max(e,t.padding)),0)}function mr(e){return e.vertices.map((t=>[t.x-e.position.x,t.y-e.position.y]))}function yr(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new s;return n.clear(),n.beginFill(16777215),n.drawCircle(0,0,t),n}function hr(e){return a(j(A(i(e),i(1187615))(.7)).formatHex())}function gr(e){return a(j(i(e)).brighter(1.2).formatHex())}function xr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{x:0,y:0};return n.drawCircle(t+r.x,t+r.y,t),n}function fr(e,t,n){const r=[...t,t[0],t[1]];return n.drawPolygon([].concat(r)),n.closePath(),n}function vr(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new s,a=arguments.length>3?arguments[3]:void 0;if(r.clear(),r.lineStyle(2,gr(n),1,0),a?r.beginTextureFill({texture:a}):r.beginFill(hr(n)),t.vertices){const n=e.Vertices.centre(t.vertices);r=fr(0,[].concat(...mr({vertices:t.vertices,position:n})),r)}
1return t.radius&&(r=xr(n,t.radius,r)),r.name="body",r}function br(e,t){const n=dr(e.filters),r=e.getBounds();e.x=-r.x+n,e.y=-r.y+n;const a=o.create({width:r.width+2*n,height:r.height+2*n});return t.render(e,{renderTexture:a}),a}const $r=(1+Math.sqrt(5))/2;function wr(e){const{width:t,height:n}=e.screen;let r;return r=$r<t/n?n/1200*$r:t/1200,Math.max(.5,r)}const kr=window.document.getElementById("canvas"),Sr=window.document.getElementById("preroll");c.RENDER_OPTIONS.hello=!1;const zr=new p({view:kr,backgroundColor:0,width:kr.clientWidth,height:kr.clientHeight}),Cr=new t,Er=new t;Cr.addChild(Er),Er.filterArea=zr.screen;const Tr=new class extends l{constructor(){super("attribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\nvarying vec2 vFilterCoord;\n\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n return vec4((projectionMatrix * vec3(vFilterCoord, 1.0)).xy, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\n\tvFilterCoord = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n}\n",'#define GAP_MIN 10.0\n#define GAP_MAX 50.0\n#define CELL 100.0 // includes the gap\n\nvarying vec2 vTextureCoord;\nvarying vec2 vFilterCoord;\nuniform float uTime;\nuniform float uAmp;\n\nvoid main() {\n\t// prevents small "vibrations"\n\tfloat steppedAmp = uAmp < 0.075 ? 0.0 : uAmp;\n\tfloat gap = GAP_MIN + steppedAmp * (GAP_MAX - GAP_MIN);\n\n\tif (mod(vFilterCoord.x + gap/2.0 + uTime*5.0, CELL) < gap || mod(vFilterCoord.y + gap/2.0 - uTime*10.0, CELL) < gap) {\n\t\tgl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n\t} else {\n\t\t// Time varying pixel color\n\t\tvec3 col = 0.1 + 0.05*cos(uTime+vTextureCoord.xyx+vec3(0,2,4));\n\t\tgl_FragColor = vec4(col, 1);\n\t}\n}\n',{uTime:0,uAmp:128})}set time(e){this.uniforms.uTime=e}get time(){return this.uniforms.uTime}set amplitude(e){this.uniforms.uAmp=e}get amplitude(){return this.uniforms.uAmp}};Er.filters=[Tr];const jr=new t,Ar=new t;function _r(){return{x:zr.screen.width/2,y:zr.screen.height/2}}function Pr(e){const t=_r();return{x:jr.pivot.x+(e.x-t.x)*(1/jr.scale.x),y:jr.pivot.y+(e.y-t.y)*(1/jr.scale.y)}}function Lr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{x:0,y:0};const t=_r();return{x:(e.x-jr.pivot.x)*jr.scale.x+t.x,y:(e.y-jr.pivot.y)*jr.scale.y+t.y}}function Ir(e){const t=ur(e);return class extends ar{constructor(e,n){const r=cr(e),a=new Wn,i=new u(n),s=function(e,t){const n=dr(t);return{x:(e.position.x-e.bounds.min.x+n)/(e.bounds.max.x-e.bounds.min.x+2*n),y:(e.position.y-e.bounds.min.y+n)/(e.bounds.max.y-e.bounds.min.y+2*n)}}(r.body,t);i.anchor.set(s.x,s.y),a.container.addChild(i),super({draw:a,phys:r})}static computeTexture(n){const r=vr({vertices:n.vertices,radius:n.radius},e);return r.filters=t,br(r,zr)}}}Ar.addChild(jr),Cr.addChild(Ar),P(window,"resize").pipe(L(null),I((()=>{zr.resize(kr.clientWidth,kr.clientHeight),function(e){const{x:t,y:n}=_r();e.position.set(t,n)}(jr)}))).subscribe();var Fr="4a32aa4f5cd149e9.opus",Br="2eda1b6f5ec270c0.opus";const Dr=new $e.Howl({src:["3b1c22b3c1f528f8.opus","c470e1f342485dfa.aac","fd4e236d5b715ea3.mp3"],volume:.3,loop:!0,autoplay:!0}),Mr=[{name:"explosion",variants:["833d74447945729c.opus","69fefcc25d25316d.opus"],volume:.6},{name:"land_normal",variants:[Fr,Fr,Fr,Fr,Fr,Fr,Fr,Fr,Fr],volume:1},{name:"land_ice",variants:[Br,Br,Br],volume:1},{name:"land_breakable",variants:["13f8028124cce2f5.opus","fd54deed0b093bea.opus"],volume:.6},{name:"land_bouncy",variants:["16b4af495c705c55.opus"],volume:.5},{name:"no_ammo",variants:["7a8f302138bb3837.opus"],volume:.5},{name:"grenade",variants:["85b8f741b0efbca9.opus"],volume:.4},{name:"shoot",variants:["6f4a73087750dcb9.opus","3540216d55e1db4e.opus"],volume:.5},{name:"door",variants:["51fe0c02a263d1ba.opus"],volume:1},{name:"slide_ice",variants:["2e650b7650a668ff.opus"],volume:.4,loop:!0},{name:"death",variants:["2bde9fada0639ca9.opus"],volume:.9},{name:"spawn",variants:["040c9339658e7151.opus"],volume:.9},{name:"star",variants:["a2b7da90e3c279e9.opus","1a66e4aad37bcb2f.opus","438410dd3af1608a.opus"],volume:.8}].reduce(((e,t)=>{let{name:n,variants:r,...a}=t;return e[n]=r.map((e=>new $e.Howl({...a,src:[e]}))),e}),{});class qr extends(Ir(16750848)){constructor(t,n){super(t,n),this.addComponent("collisionSound",new Rn({sounds:[{howls:Mr.land_bouncy,stopAtEnd:!1,penetrationIndependant:!0}]})),this.addComponent("bouncy",new Hn);const{body:r}=this.components.phys;e.Body.set(r,"frictionAir",5e-4)}}function Vr(e,t,n){return(e-t)*n+t}function Nr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Math.floor(Math.random()*(t-e+1)+e)}function Hr(e,t){const n=Math.pow(10,t);return Math.floor(e*n)/n}function Or(e,t){return e.map((e=>e+t))}const Rr=(()=>{const e=new s;e.lineStyle(2,gr(65280),1,0),e.beginFill(hr(65280)),e.filters=ur(65280);const t=dr(e.filters);e.drawRect(t,t,100,160),e.lineStyle(2,65280,1,1),e.drawPolygon(Or([100,0,70,15,70,145,100,160,
1100,0],t)),e.endFill(),e.moveTo(77+t,90+t),e.lineTo(77+t,100+t);const n=e.getBounds(),r=o.create({width:n.width+2*t,height:n.height+2*t});return zr.render(e,{renderTexture:r}),r.defaultAnchor.x=.5,r.defaultAnchor.y=.5,r})(),Ur=(()=>{const e=new s,t=a(j(i(16776960)).brighter(.1).formatHex());e.lineStyle(2,t,1,0);const n=a(j(A(i(16776960),i(1187615))(.55)).formatHex());e.beginFill(n),e.filters=function(e){try{return[pr({distance:60,outerStrength:1.2,innerStrength:.5,color:e})]}catch(e){}return[]}(16776960);const r=dr(e.filters);e.drawRect(r,r,40,40);const l=e.getBounds(),c=o.create({width:l.width+2*r,height:l.height+2*r});return zr.render(e,{renderTexture:c}),c.defaultAnchor.x=.5,c.defaultAnchor.y=.5,c})(),Wr=(()=>{const e=new s;e.lineStyle(0),e.beginFill(16777215),e.drawRect(0,0,3,10),e.drawRect(10,3,3,6),e.drawRect(5,16,3,3);const t=e.getBounds(),n=o.create({width:t.width,height:t.height});return zr.render(e,{renderTexture:n}),n.defaultAnchor.x=.5,n.defaultAnchor.y=.5,n})(),Jr=(()=>{const e=new s;e.lineStyle(2,16777215),e.moveTo(0,3),e.lineTo(4,5),e.lineTo(0,7),e.moveTo(13,3),e.lineTo(9,5),e.lineTo(13,7),e.lineStyle(0),e.beginFill(16777215),e.drawRect(6,15,3,3);const t=o.create({width:13,height:18});return zr.render(e,{renderTexture:t}),t.defaultAnchor.x=.5,t.defaultAnchor.y=.5,t})(),Gr=(()=>{const e=new s;e.lineStyle(0),e.beginFill(16777215),e.drawRect(0,5,3,2),e.drawRect(10,5,3,2),e.drawRect(5,16,3,3);const t=o.create({width:13,height:19});return zr.render(e,{renderTexture:t}),t.defaultAnchor.x=.5,t.defaultAnchor.y=.5,t})(),Kr=(()=>{const e=new s;e.filters=ur(14737632);const t=dr(e.filters),n=5+t;e.beginFill(16777215),e.drawCircle(n,n,5),e.endFill();const r=e.getBounds(),a=o.create({width:r.width+2*t,height:r.height+2*t});return zr.render(e,{renderTexture:a}),a.defaultAnchor.x=.5,a.defaultAnchor.y=.5,a})(),Yr=(()=>{const e=new s;e.lineStyle({width:2,color:16777215,alignment:0}),e.drawRect(0,0,Tt,Tt);const t=e.getBounds(),n=o.create({width:t.width,height:t.height});return zr.render(e,{renderTexture:n}),n.defaultAnchor.x=.5,n.defaultAnchor.y=.5,n})(),Zr=(()=>{const e=new s;e.beginFill(16777215),e.filters=ur(16777215);const t=dr(e.filters);e.drawRect(t,t,20,2);const n=e.getBounds(),r=o.create({width:n.width+2*t,height:n.height+2*t});return zr.render(e,{renderTexture:r}),r.defaultAnchor.x=.5,r.defaultAnchor.y=.5,r})(),Qr=(()=>{const e=gr(8388863),t=hr(8388863),n=600,r=600,a=new s;function i(e,t,n,r){if(0===n)return;const s=r+(Math.random()-.5)*Math.PI*.5,o=t*Math.sqrt(Math.random()),l={x:o*Math.cos(s)+e.x,y:o*Math.sin(s)+e.y};a.moveTo(e.x,e.y),a.lineTo(l.x,l.y),i(l,t/2,n-1,s),i(l,t/2,n-1,s)}a.beginFill(t),a.drawRect(0,0,n,r),a.endFill(),a.lineStyle(2,e,1,1);for(let e=0;120!==e;++e){i({x:Nr(0,n),y:Nr(0,r)},50,3,2*Math.random()*Math.PI)}const l=o.create({width:n,height:r});return zr.render(a,{renderTexture:l}),l})(),Xr=(()=>{const e=new s;e.lineStyle(2,gr(65280),1,0),e.filters=ur(65280);const t=dr(e.filters);e.lineStyle(2,65280,1,1),e.drawPolygon(Or([10,0,30,0,30,20,40,20,20,40,0,20,10,20],t));const n=e.getBounds(),r=o.create({width:n.width+2*t,height:n.height+2*t});return zr.render(e,{renderTexture:r}),r.defaultAnchor.x=.5,r.defaultAnchor.y=.5,r})(),ea=ur(8388863);class ta extends(Ir(8388863)){constructor(){super(...arguments),this.addComponent("breakable",new On),this.addComponent("collisionSound",new Rn({sounds:[{howls:Mr.land_breakable,stopAtEnd:!1}]}))}static computeTexture(e){const t=vr({vertices:e.vertices,radius:e.radius},8388863,void 0,Qr);return t.filters=ea,br(t,zr)}}const na=a(j(i(65535)).brighter(2.5).formatHex()),ra=ur(na),aa=ur(65535);let ia=null;d.load("44b01974c8575ea3.png").then((e=>{ia=e}));class sa extends(Ir(65535)){constructor(){super(...arguments);const{body:t}=this.components.phys;e.Body.set(t,"friction",0),this.addComponent("collisionSound",new Rn({sounds:[{howls:Mr.land_ice,stopAtEnd:!1},{howls:Mr.slide_ice,stopAtEnd:!0}]}))}static computeTexture(e){if(ia){const t=vr({vertices:e.vertices,radius:e.radius},na,void 0,ia);return t.filters=ra,br(t,zr)}const t=vr({vertices:e.vertices,radius:e.radius},65535);return t.filters=aa,br(t,zr)}}class oa extends(Ir(16777215)){constructor(){super(...arguments),this.addComponent("collisionSound",new Rn({sounds:[{howls:Mr.land_normal,stopAtEnd:!1}]}))}}class la extends ar{constructor(e){const t=lr({...sr(e,ir(["x","y","angle"].concat(or))),width:40,height:40});const n=new Wn;n.container.addChild(new u(Ur)),super({draw:n,phys:t,playerControlled:new Xn(e.infiniteAmmo?{magazineType:"infinite",infiniteAmmo:e.infiniteAmmo,initialAmmoAmount:1/0}:{magazineType:"finite",magazine$:new F(e.magazine),initialAmmoAmount:e.magazine.length})})}}la.color=16776960;const ca={speed:{list:[{value:30,time:0},{value:0,time:1}],isStepped:!1},lifetime:{min:.4,max:.5},scale:{list:[{value:.2,time:0}],isStepped:!1},particlesPerWave:5,alpha:{list:[{value:.3,time:0},{value:0,time:1}],isStepped:!1}},pa={...ca,emitterLifetime:1/0,color:{start:j(i(16711680)).brighter(1.7).formatHex(),end:j(i(16776960)).brighter(1.7).formatHex()},alpha:{list:[{value:.8,time:0},{value:.2,time:1},{value:0,time:2}],isStepped:!1},scale:{list:[{value:.15,time:0}],isStepped:!1},particlesPerWave:10,acceleration:{x:0,y:-200}};function ua(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return{pos:e,spawnType:"ring",spawnCircle:{x:0,y:0,r:t+10,minR:t}}}function da(e,t){return{pos:{x:0,y:0},spawnPolygon:[...e,e[0]],spawnType:"polygonalChain",particlesPerWave:Math.floor(Math.sqrt(t)/3),maxParticles:200}}function ma(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Zr;const r=j(i(e)).brighter(.8).formatHex(),a=m({alpha:{list:[{value:1,time:0},{value:0,time:1}],isStepped:!1},color:{start:r,end:r},speed:{list:[{value:300,time:0},{value:200,time:1}],isStepped:!1},startRotation:{min:0,max:360},lifetime:{min:1.5,max:2},emitterLifetime:.2,frequency:.06,spawnChance:1,particlesPerWave:12,maxParticles:50,...t},[n]),s=new y(null,a);return s.emit=!0,new Zn({emitter:s}
1)}class ya extends(Ir(16711680)){constructor(){super(...arguments);const{body:e}=this.components.phys;this.addComponent("contactKill",new Un),this.addComponent("particle",ma(16711680,{...da(e.vertices,e.area),...pa},h.WHITE))}}function ha(e){return a(j(i(e)).brighter(.5).formatHex())}function ga(){const e=new u(Kr);return e.tint=ha(16711680),e.name="grenade",e}function xa(){const e=new u(Kr);return e.tint=ha(16744448),e.name="bullet",e}function fa(e){return e.replace(/-.+/,"")}function va(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.languages;const t=e.reduce(((e,t)=>{e.add(t.toLowerCase());const n=fa(t);return e.add(n.toLowerCase()),e}),new Set);return Array.from(t)}function ba(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:va();for(const n of t){const t=e[n];if(void 0!==t)return{text:t,lang:n}}for(const n of t){const t=Object.keys(e).find((e=>e.startsWith(n)));if(void 0!==t)return{text:e[t],lang:t}}if(void 0!==e.en)return{text:e.en,lang:"en"};throw new Error("Localisation not found")}function $a(){return{}}function wa(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$a;const n=Symbol(e),r=function(){return{...t(...arguments),type:n}};return r.type=n,r}const ka=wa("mapLoaded",(e=>({map:e}))),Sa=wa("loadMap",(e=>({name:e}))),za=wa("loadMapInEcs",(e=>({level:e}))),Ca=wa("enterDoor",(e=>({destination:e}))),Ea=wa("win",((e,t)=>
1({time:e,destination:t}))),Ta=wa("fontLoaded",(e=>({name:e})));wa("assetLoaded",(e=>({name:e})));const ja=wa("lose"),Aa=wa("potentialMidrollAndLoadMap",(e=>({name:e}))),_a=wa("restart"),Pa=wa("somethingMoved",(e=>({currentLevel:e}))),La=wa("loadingMounted",(e=>({level:e}))),Ia=wa("nextLevel",(function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1?arguments[1]:void 0;return{noPreroll:e,nextLevelId:t}}));const Fa=wa("startPreroll"),Ba=wa("prerollComplete"),Da=wa("startRewarded"),Ma=wa("rewardedComplete",(function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return{reward:e}})),qa=wa("skipLevel"),Va=wa("viewableMet",(e=>({slot:e})));function Na(t,n){return new B((r=>{function a(){r.next(...arguments)}return e.Events.on(t,n,a),()=>e.Events.off(t,n,a)}))}function Ha(e){return new B((t=>e.subscribe((e=>{t.next(e)}))))}function Oa(e){return new B((t=>{const n=function(e){if(0===e.length)throw new RangeError("Array must not be empty");return e[Math.floor(Math.random()*e.length)]}(e),r=n.play();return n.on("end",(()=>t.complete()),r),t.next({howl:n,id:r}),()=>n.stop(r)}))}function Ra(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"pointer";return D(P(document,`${e}move`),P(document,`${e}enter`).pipe(M(1),q(P(document,`${e}move`)))).pipe(V((e=>{let{clientX:t,clientY:n}=e;return{x:t,y:n}})))}const Ua=new B((e=>{let t;return window.requestAnimationFrame((function n(r){e.next(r),t=window.requestAnimationFrame(n)})),()=>{window.cancelAnimationFrame(t)}}));function Wa(e){const t=[D(e.pipe(we(Fa.type),V((()=>!0))),e.pipe(we(Ba.type),V((()=>!1)))),D(e.pipe(we(Da.type),V((()=>!0))),e.pipe(we(Ma.type),V((()=>!1))))].map((e=>e.pipe(L(!1))));return N(t).pipe(V((e=>e.some((e=>e)))),H())}const Ja=new _,Ga=Ra("pointer").pipe(O(1)),Ka=P(kr,"pointerdown").pipe(R((e=>(new B).pipe(L({x:e.clientX,y:e.clientY}),q(P(kr,"pointerup").pipe(U((t=>t.pointerId===e.pointerId)))))))),Ya=P(document,"keydown").pipe(U((e=>" "===e.key))),Za=P(document,"keyup").pipe(U((e=>" "===e.key))),Qa=Ya.pipe(R((()=>(new B).pipe(L(null),q(Za)))),W(Ga),V((e=>{let[,t]=e;return t})));function Xa(e){return e.pipe(V((e=>[e,Date.now()])),L([null,-1/0]))}const ei=N(Xa(Ka),Xa(Qa)).pipe(V((e=>{const t=e.slice(1).reduce(((e,t)=>t[1]>e[1]?t:e),e[0]);return[e,t]})),U((e=>{let[t,n]=e;if(n[1]===-1/0)return!1;return!t.some((e=>e!==n&&e[1]>n[1]-100))})),V((e=>{let[,t]=e;return t[0]})),J()),ti=Symbol("Initial value"),ni=new F(ti);Ja.pipe(we(Ta.type),U((e=>{let{name:t}=e;return"Press Start 2P"===t}))).subscribe(ni);const ri=["aa","af","av","ay","be","bg","bi","br","bs","ca","ce","ch","co","cs","da","de","el","en","eo","es","et","eu","fi","fj","fo","fr","fur","fy","gd","gl","gv","ho","hr","hu","ia","id","ie","ik","io","is","it","ki","kl","kum","la","lb","lez","lt","lv","mg","mh","mk","mt","nb","nds","nl","nn","no","nr","nso","ny","oc","om","os","pl","pt","rm","ru","se","sel","sk","sl","sma","smj","smn","so","sq","sr","ss","st","sv","sw","tk","tl","tn","tr","ts","uz","vo","vot","wa","wen","wo","xh","yap","zu","an","crh","csb","fil","hsb","ht","jv","kj","ku-tr","kwm","lg","li","ms","na","ng","pap-an","pap-aw","rn","rw","sc","sg","sn","su","za"];function ai(e,n){let{x:r=0,y:a=0,lang:i,angle:s=0,fontSize:o=16,fillColor:l=16777215,align:c="left",opacity:p=1}=n;const u=new t,d=new x({fontFamily:["Courier New","Courier","monospace","sans-serif"],fontWeight:"300",fontSize:1.25*o,fill:l,align:c}),m=new f(e,d);function y(){const t=new v(e,{fontName:"Press Start 2P",fontSize:o,tint:l,align:c});t.anchor.set(r,a),t.rotation=s,t.alpha=p,u.removeChild(m),u.addChild(t)}m.anchor.set(r,a),m.rotation=s,m.alpha=p,u.addChild(m);return void 0!==i&&ri.some((e=>i.startsWith(e)))&&(ni.value!==ti?y():ni.pipe(U((e=>e!==ti)),I(y)).subscribe()),u}d.load("font/ps2p.fnt").then((e=>{Object.values(e.pageTextures).forEach((e=>{e.baseTexture.scaleMode=g.NEAREST})),Ja.next(Ta("Press Start 2P"))}));var ii=Object.freeze({__proto__:null,paint:class extends Bn{constructor(e){const t=new Wn,n=new s;n.beginFill(e.fillColor),n.drawPolygon(e.vertices),n.closePath(),void 0!==e.opacity&&(n.alpha=e.opacity),t.container.addChild(n),super({draw:t})}},bouncy:qr,breakable:ta,endpoint:class extends ar{constructor(e){const t=lr({...sr(e,ir(["x","y","angle"].concat(or))),width:100,height:160});const n=new Wn,r=new u(Rr);!0===e.rightFacing&&(r.scale.x=-1),n.container.addChild(r),super({draw:n,phys:t,endpoint:new Jn({destination:e.destination})}),this.rightFacing=e.rightFacing||!1}},ice:sa,normal:oa,player:la,deadly:ya,grenade:class extends ar{constructor(t){let{x:n,y:r}=t;const a=e.Bodies.circle(n,r,5,{density:.0015}),i=new Wn;i.container.addChild(ga());const s=ma(16777215,{pos:{x:0,y:-2.5},spawnType:"point",emitterLifetime:1/0,lifetime:{min:.1,max:.1},acceleration:{x:0,y:-1e3},scale:{list:[{value:.2,time:0},{value:.1,time:1}],isStepped:!1},alpha:{list:[{value:.75,time:0},{value:.5,time:1}],isStepped:!1},speed:{list:[{value:50,time:0},{value:25,time:1}],isStepped:!1}},h.WHITE);s.parent=i.axisAlignedContainer,super({phys:new Qn({body:a}),explosive:new Kn({explosionColor:16711680}),timer:new nr({counter:2e3}),particle:s,draw:i,trail:new rr({color:16711680}),audio:new qn({howls:Mr.grenade}),ammo:new Mn({type:"grenade"})})}},bullet:class extends ar{constructor(t){let{x:n,y:r}=t;const a=e.Bodies.circle(n,r,5,{density:.0015,isSensor:!0}),i=new Wn;i.container.addChild(xa()),super({phys:new Qn({body:a}),draw:i,trail:new rr({color:16744448}),ammo:new Mn({type:"bullet"})})}},text:class extends Bn{constructor(e){const{x:t,y:n,copy:r,anchor:a,angle:i,fontSize:s,fillColor:o,align:l,opacity:c}=e,p=new Wn,{text:u,lang:d}=ba(r),m=ai(u,{...a,angle:i,lang:d,fontSize:s,fillColor:o,align:l,opacity:c});
1m.x=t,m.y=n,p.container.addChild(m),super({draw:p})}}});function*si(e){const t=[];for(const[n,r]of e.entries()){const a=ii[r.type];a.computeTexture&&(r.texture=a.computeTexture(r.params)),t.push(r),n!==e.length-1&&(yield)}return t}function oi(e){const t=e.entities.map((e=>({...e,params:JSON.parse(JSON.stringify(e.params))})));return{...e,entities:t}}Object.values(In).forEach((e=>{let{entities:t}=e;return t.sort(((e,t)=>"player"===e.type&&"player"===t.type?0:"player"===e.type&&"player"!==t.type?1:"player"!==e.type&&"player"===t.type?-1:0))}));const li=Object.entries(In).reduce(((e,t)=>{let[n,{entities:r}]=t;return e[n]=function*(e,t){const n=yield*si(e);ci[t]=n}(r,n),e}),{}),ci={};const pi=Object.keys(In),ui=pi.reduce(((e,t,n)=>(e[t]=n+1,e)),{});function di(e){return{...In[e],storageId:e}}function mi(e){const t=function(e){if(ci[e])return ci[e];for(;!0!==li[e].next().done;);return ci[e]}(e);return oi({...di(e),entities:t})}function yi(e){if(void 0===In[e])throw new Error(`Level ${e} doesn't exist`);return In[e].timings}function hi(e,t){const n=yi(e);return t<=n[1]?3:t<=n[0]?2:1}let gi=_t("version");if(null!==gi&&("0.0.0"===gi&&(gi=0),gi<1)){const e=_t("levels.completed")||{},t=Object.entries(e).reduce(((e,t)=>{let[n,r]=t;if(void 0!==r.time)try{const e=function(e,t){const n=yi(e);if(t>3||t<1)throw new Error("Not allowed number of stars");return 1===t?1/0:n[t-2]}(n,3);r.time<e&&(r.time=e)}catch(e){}return e[n]=r,e}),{});Pt("levels.completed",t),Pt("version",1)}var xi,fi,vi,bi=new class{constructor(){this.lastFpsUpdate=0,this.fps=60,this.framesSinceLastFpsUpdate=0,this.lastFrameTimeMs=0,this.frameDelta=0}loop(e){const t=performance.now();this.frameDelta+=t-this.lastFrameTimeMs,this.lastFrameTimeMs=t,t>this.lastFpsUpdate+1e3&&(this.fps=.9*this.framesSinceLastFpsUpdate*1e3/(t-this.lastFpsUpdate)+(1-.9)*this.fps,this.lastFpsUpdate=t,this.framesSinceLastFpsUpdate=0),this.framesSinceLastFpsUpdate++;let n=0;for(;this.frameDelta>=16.666666666666668;)if(e(16.666666666666668),this.frameDelta-=16.666666666666668,++n>=240)return!1;return!0}reset(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:performance.now();this.frameDelta=0,this.lastFrameTimeMs=e,this.lastFpsUpdate=e,this.framesSinceLastFpsUpdate=0}getInterpolationPercentage(){return this.frameDelta/16.666666666666668}};function $i(){return Math.round(bi.fps)}function wi(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=`${e}-${t}`;window.dataLayer.push({event:r,eventNoun:e,eventVerb:t,eventData:n,frameRate:$i(),_clear:!0})}Promise.all([import("./@sentry-bbc6356c.js").then((function(e){return e.a7})),import("./@sentry-bbc6356c.js").then((function(e){return e.a8}))]).then((e=>{let[{init:t},{Integrations:n}]=e;t({dsn:"https://[email protected]/1471541",release:"6b183f0098d13c79ed22730c81ddcb0a6dc31c9a",allowUrls:[/https?:\/\/bombhopper\.io/,/https?:\/\/api\.adinplay\.com/,/https?:\/\/games\.poki\.com/,/https?:\/\/www\.googletagmanager\.com/,/https?:\/\/www\.google-analytics\.com/,"https://imasdk.googleapis.com/js/sdkloader/ima3.js","https://securepubads.g.doubleclick.net/tag/js/gpt.js"],integrations:[new n.BrowserTracing],tracesSampleRate:.05})})),xi={gitHash:"6b183f0098d13c79ed22730c81ddcb0a6dc31c9a",version:"0.0.0",gameBoot:performance.now()},window.dataLayer.push({...xi,frameRate:$i(),_clear:!0}),vi=1,_t(fi="version")||Pt(fi,vi),e.Common.setDecomp(Se);const ki=e.Engine.create();function Si(){return null!==window.document.fullscreenElement}function zi(e){const t=window.matchMedia(e);return ze(t.matches,(e=>{function n(t){e(t.matches)}return t.addListener(n),n(t),()=>t.removeListener(n)}))}ki.gravity.y=.8;const Ci=Ce(!0),Ei=ze(Si(),(e=>{function t(){e(Si())}return t(),window.document.addEventListener("fullscreenchange",t),()=>window.document.removeEventListener("fullscreenchange",t)})),Ti=function(e,t){return function(n){for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i<r;i++)a[i-1]=arguments[i];const s=t(_t(e)||n,...a);return s.subscribe((t=>Pt(e,t))),s}}("levels.completed",Ce)({}),ji=ze(window.navigator.onLine,(e=>{function t(){e(!0)}function n(){e(!1)}return window.addEventListener("online",t),window.addEventListener("offline",n
1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}})),Ai=Ce(!1),_i=Ce(0),Pi=Ce(0),Li=Ce(0),Ii=Ce(0);function Fi(t){let{enter$:n,exit$:r,postUpdate$:a}=t;const i=n.pipe(I((t=>e.Composite.add(ki.world,[t.components.phys.body])))),s=r.pipe(I((t=>{let[n]=t;const{body:r}=n.components.phys;e.Composite.remove(ki.world,r)}))),o=a.pipe(I((()=>{const t=bi.loop((t=>{e.Engine.update(ki,t)}));t||Ai.set(!0)}))),l=Ja.pipe(we(ka.type),G((()=>o.pipe(q(Ja.pipe(we(Ca.type)))))));return D(i,s,l)}Fi.query=["phys"];const Bi=Symbol("death");function Di(){return!0}function Mi(e){return e.parent!==e?Mi(e.parent):e}function qi(e){let{bodyA:t,bodyB:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Di,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Di;return t=Mi(t),n=Mi(n),r(t)&&a(n)?[t,n]:r(n)&&a(t)?[n,t]:null}function Vi(t,n,r){if(t.isStatic)return{x:0,y:0};const a=e.Vector.sub(t.velocity,n.velocity),i=e.Vector.normalise(r),s=e.Vector.perp(i);let o=20;n.isStatic||(o*=t.mass/(t.mass+n.mass));const l=e.Vector.mult(i,e.Vector.dot(a,i)),c=e.Vector.mult(e.Vector.mult(s,o),Math.sign(e.Vector.dot(a,s))),p=e.Vector.sub(l,c);return e.Vector.add(p,n.velocity)}function Ni(t){const n=e.Vector.magnitude(t),r=e.Vector.normalise(t),a=.005*Math.min(1,n/300);return e.Vector.mult(r,a)}function Hi(t,n){const r=e.Vector.normalise(t);return e.Vector.add(n,e.Vector.mult(r,31))}function Oi(e){return e.isStatic||e.isSleeping||e.speed<.4}function Ri(e,t,n){const r=new nr;return void 0!==t&&(r.counter=t),new Bn({filter:new Yn({filter:e,preUpdateCb:n}),timer:r,selfDestruct:new tr})}function Ui(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;const t=new Wn;return t.container.addChild(yr(16777215,e)),new Bn({timer:new nr({counter:33}),selfDestruct:new tr,draw:t})}function Wi(e){const t=Lr(e.position);return[t.x,t.y]}function Ji(t,n){let{postUpdate$:r}=t;const a=Na(ki,"collisionStart").pipe(K((e=>{let{pairs:t}=e;return Y(...t)}))),i=Na(ki,"collisionEnd").pipe(K((e=>{let{pairs:t}=e;return Y(...t)}))),s=a.pipe(V((e=>qi(e,(e=>e.associatedEntity.components.contactKill),(e=>e.associatedEntity.components.playerControlled)))),U((e=>null!==e)),I((e=>{let[,t]=e;t.associatedEntity.dispose(Bi)}))),o=a.pipe(V((e=>({bouncyAny:qi(e,(e=>e.associatedEntity.components.bouncy)),mirror:e.collision.tangent}))),U((e=>{let{bouncyAny:t}=e;return null!==t})),I((t=>{let{bouncyAny:[n,r],mirror:a}=t;const i=Vi(r,n,a),s=Vi(n,r,a);e.Body.setVelocity(r,i),e.Body.setVelocity(n,s),void 0===n.associatedEntity.components.bounce&&n.associatedEntity.addComponent("bounce",new Nn)}))),l=a.pipe(V((e=>qi(e,(e=>e.associatedEntity.components.ammo&&"bullet"===e.associatedEntity.components.ammo.type)))),U((e=>null!==e)),I((e=>{let[t,n]=e;void 0===t.associatedEntity.components.exploding&&t.associatedEntity.addComponent("exploding",new Gn({color:16744448})),n.associatedEntity.components.ammo&&"bullet"===n.associatedEntity.components.ammo.type&&void 0===n.associatedEntity.components.exploding&&n.associatedEntity.addComponent("exploding",new Gn({color:16744448}))}))),c=a.pipe(U((e=>0!==e.activeContacts.length)),V((e=>({playerControlledAny:qi(e,(e=>e.associatedEntity.components.playerControlled&&e.associatedEntity.components.phys)),activeContacts:e.activeContacts,collision:e.collision}))),U((e=>{let{playerControlledAny:t}=e;return null!==t})),I((t=>{let r,{playerControlledAny:[a],activeContacts:i,collision:s}=t;if(1===i.length)r=ma(16777215,{pos:i[0].vertex,spawnType:"point",...ca},h.WHITE);else{const t=e.Vector.sub(i[0].vertex,i[1].vertex),n=e.Vector.angle({x:0,y:0},t);r=ma(16777215,function(e){return{pos:{x:0,y:0},spawnType:"rect",spawnRect:{x:-e/2,y:0,w:e,h:0},...ca}}(e.Vector.magnitude(t)),h.WHITE);const a=(i[0].vertex.x+i[1].vertex.x)/2,s=(i[0].vertex.y+i[1].vertex.y)/2;r.emitter.rotate(n*(180/Math.PI)),r.emitter.updateSpawnPos(a,s)}r.velocity=e.Vector.div(e.Vector.sub(a.velocity,s.penetration),2);const o=new Bn({particle:r});n.addEntity(o)}))),p=a.pipe(V((e=>qi(e,(e=>e.associatedEntity.components.playerControlled&&e.associatedEntity.components.phys),(e=>e.associatedEntity.components.endpoint&&e.associatedEntity.components.phys)))),U((e=>null!==e)),I((e=>{let[t,r]=e;const{destination:a}=r.associatedEntity.components.endpoint,i=new b(.075,Wi(t));n.addEntity(Ri(i,1/0,(()=>{i.center=Wi(t),i.strength=i.strength+.075}))),Ja.next(Ca(a))}))),u=a.pipe(V((e=>({collisionSoundAny:qi(e,(e=>
1e.associatedEntity.components.collisionSound&&e.associatedEntity.components.phys)),pair:e}))),U((e=>{let{collisionSoundAny:t}=e;return null!==t})),K((e=>{let{collisionSoundAny:[t,n],pair:a}=e;const{sounds:s}=t.associatedEntity.components.collisionSound,{depth:o}=a.collision,l=Math.max(.1,Math.min(.5,o/50));return D(...s.map((e=>{let{howls:t,stopAtEnd:s,penetrationIndependant:o}=e;const c=Oa(t).pipe(U((()=>!o)),I((e=>{let{howl:t,id:n}=e;t.volume(l*t.volume(),n)})));return s?c.pipe(G((e=>{let{howl:t,id:a}=e;return r.pipe(V((()=>n.speed)),I((e=>t.volume(Math.min(1,e/20)*t.volume(),a))))})),q(D(r.pipe(V((()=>n.speed)),U((e=>0===e))),Ja.pipe(we(Ca.type)),i.pipe(U((e=>{return n=e,t={bodyA:Mi((t=a).bodyA),bodyB:Mi(t.bodyB)},n={bodyA:Mi(n.bodyA),bodyB:Mi(n.bodyB)},t.bodyA===n.bodyA&&t.bodyB===n.bodyB||t.bodyA===n.bodyB&&t.bodyB===n.bodyA;var t,n})))))):c})))})));return D(s,o,l,c,p,u)}Ji.query=[];class Gi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;this.x=e,this.y=t}normalized(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.multiply(e/this.distance())}get inverted(){return this.multiply(-1)}multiply(e){return new Gi(this.x*e,this.y*e)}plus(e){return new Gi(this.x+e.x,this.y+e.y)}minus(e){return this.plus(e.inverted)}rotate(e){var t=this.direction,n=this.distance();return t+=e,Gi.fromAng(t,n)}get direction(){return Math.atan2(this.y,this.x)}distance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===e&&(e=new Gi),Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))}static fromAng(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Gi(Math.cos(e)*t,Math.sin(e)*t)}static fromOther(e){return new Gi(e.x,e.y)}}class Ki{constructor(e,t,n,r){this.body=e,this.point=t,this.normal=n,this.verts=r}}class Yi{constructor(e,t){this.start=e,this.end=t}yValueAt(e){return this.offsetY+this.slope*e}xValueAt(e){return(e-this.offsetY)/this.slope}pointInBounds(e){var t=Math.min(this.start.x,this.end.x),n=Math.max(this.start.x,this.end.x),r=Math.min(this.start.y,this.end.y),a=Math.max(this.start.y,this.end.y);return e.x>=t&&e.x<=n&&e.y>=r&&e.y<=a}calculateNormal(e){var t=this.difference,n=t.normalized().rotate(Math.PI/2),r=t.normalized().rotate(Math.PI/-2);return this.start.plus(n).distance(e)<this.start.plus(r).distance(e)?n:r}get difference(){return this.end.minus(this.start)}get slope(){var e=this.difference;return e.y/e.x}get offsetY(){return this.start.y-this.slope*this.start.x}get isHorizontal(){return Zi(this.start.y,this.end.y)}get isVertical(){return Zi(this.start.x,this.end.x)}static intersect(e,t){if(e.isVertical&&t.isVertical)return null;if(e.isVertical)return new Gi(e.start.x,t.yValueAt(e.start.x));if(t.isVertical)return new Gi(t.start.x,e.yValueAt(t.start.x));if(Zi(e.slope,t.slope))return null;if(e.isHorizontal)return new Gi(t.xValueAt(e.start.y),e.start.y);if(t.isHorizontal)return new Gi(e.xValueAt(t.start.y),t.start.y);var n=(t.offsetY-e.offsetY)/(e.slope-t.slope);return new Gi(n,e.yValueAt(n))}static collisionPoint(e,t){var n=Yi.intersect(e,t);return n&&e.pointInBounds(n)&&t.pointInBounds(n)?n:null}static bodyEdges(e){for(var t=[],n=e.parts.length-1;n>=0;n--)for(var r=e.parts[n].vertices.length-1;r>=0;r--){var a=r+1;a>=e.parts[n].vertices.length&&(a=0);var i=new Yi(Gi.fromOther(e.parts[n].vertices[r]),Gi.fromOther(e.parts[n].vertices[a]));i.verts=[e.parts[n].vertices[r],e.parts[n].vertices[a]],t.push(i)}return t}static bodyCollisions(e,t){for(var n=[],r=Yi.bodyEdges(t),a=r.length-1;a>=0;a--){var i=Yi.collisionPoint(e,r[a]);if(i){var s=r[a].calculateNormal(e.start);n.push(new Ki(t,i,s,r[a].verts))}}return n}}function Zi(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;return Math.abs(t-e)<=n}var Qi={ar:"اÙÙ
ستÙÙ Ø§ÙØªØ§ÙÙ!",ca:"Següent nivell!",de:"Nächstes Level!",en:"Next level!",es:"¡Siguiente nivel!",fr:"Niveau suivantâ¯!",hr:"SljedeÄa razina",it:"Livello successivo!",ja:"次ãªãã¬ãã«ï¼",ko:"ë¤ì ë 벨!",nl:"Volgende level!",pl:"NastÄpny poziom!",pt:"Próximo nÃvel!",ro:"Nivelul urmÄtor!",ru:"СледÑÑÑий ÑÑовенÑ!",sv:"Nästa nivÃ¥!",tr:"Sonraki seviye!",uk:"ÐаÑÑÑпний ÑÑвенÑ!",vi:"Mà n tiếp theo!","zh-cn":"ä¸ä¸å
³ï¼","zh-tw":"ä¸ä¸éï¼"},Xi={ar:"ÙÙØ¯Øª Ø§ÙØ°Ø®Ùرة",ca:"No queda munició",de:"Munition leer",en:"No ammo left",es:"Sin munición",fr:"Plus de munitions",hr:"Nema preostale municije",it:"Nessuna munizione",ja:"å¼¾åã",ko:"ìì¬ íì½ ìì",nl:"Zonder munitie",pl:"Brak amunicji",pt:"Sem munição",ro:"MuniÈie epuizatÄ",ru:"ÐÐµÑ Ð¿Ð°ÑÑонов",sv:"Ingen ammunition kvar",tr:"Cephane kalmadı",uk:"ÐаÑÑони закÑнÑилиÑÑ",vi:"Hết Äạn","zh-cn":"å¼¹è¯èå°½","zh-tw":"æ²æç¸å½äºï¼"},es={ar:"تÙ
Ø¥ÙÙ
ا٠اÙÙ
رØÙØ© %1!",ca:"Nivell %1 completat!",de:"Level %1 abgeschlossen!",en:"Level
1%1 complete!",es:"¡Nivel %1 terminado!",fr:"Niveau %1 terminéâ¯!",hr:"Nivo %1 zavrÅ¡en!",it:"Livello %1 completato!",ja:"ã¬ãã«ã%1ãã¯ãªã¢ï¼",ko:"ë 벨 %1 ìë£!",nl:"Level %1 voltooid!",pl:"ZakoÅczono poziom %1!",pt:"NÃvel %1 concluÃdo!",ro:"Nivelul %1 a fost finalizat!",ru:"УÑÐ¾Ð²ÐµÐ½Ñ %1 пÑойден!",sv:"NivÃ¥ %1 klar!",tr:"Bölüm %1 tamamlandı!",uk:"Ð ÑÐ²ÐµÐ½Ñ %1 пÑойдено!",vi:"Mà n %1 hoà n tất!","zh-cn":"éè¿%1å
³ï¼","zh-tw":"éå¡ %1 宿ï¼"},ts={ar:"Ø£ÙØ¶Ù زÙ
Ù ÙÙØ§Ø³Ù: ",ca:"Millor temps :",de:"Beste: ",en:"Best: ",es:"Mejor tiempo: ",fr:"Record: ",hr:"Najbolji rezultat: ",it:"Il Migliore: ",ja:"ãã¹ãï¼",ko:"ìµê³ 기ë¡: ",nl:"Beste tijd: ",pl:"Najlepsze: ",pt:"Melhor: ",ro:"Cel mai bun: ",ru:"РекоÑд: ",sv:"Bäst: ",tr:"En iyi: ",uk:"ÐайкÑаÑий ÑезÑлÑÑаÑ:",vi:"Thá»i gian tá»t nhất: ","zh-cn":"æä½³çºªå½ï¼","zh-tw":"æä½³ç´éï¼"},ns={ar:"Ø§ÙØ²Ù
Ù: ",ca:"Temps : ",de:"Zeit: ",en:"Time: ",es:"Tiempo: ",fr:"Temps: ",hr:"Vrijeme: ",it:"Tempo: ",ja:"æéï¼",ko:"ìê°: ",nl:"Tijd: ",pl:"Czas: ",pt:"Tempo: ",ro:"Timp: ",ru:"ÐÑемÑ: ",sv:"Tid: ",tr:"Süre: ",uk:"ЧаÑ:",vi:"Thá»i gian: ","zh-cn":"æç¨æ¶é´ï¼","zh-tw":"æç¨æéï¼"},rs={ar:"رÙÙ
ÙÙØ§Ø³Ù Ø¬Ø¯ÙØ¯ ",ca:"Nou millor temps!",de:"Neue Bestzeit!",en:"New best time!",es:"¡Nuevo récord!",fr:"Nouveau recordâ¯!",hr:"Novo najbolje vrijeme!",it:"Nuovo miglior tempo!",ja:"æ°è¨é²ï¼",ko:"ìë¡ì´ ìê° ê¸°ë¡!",nl:"Nieuw record!",pl:"Nowy najlepszy czas!",pt:"Novo melhor tempo!",ro:"Un nou timp record!",ru:"ÐовÑй ÑекоÑд вÑемени!",sv:"Nytt rekord!",tr:"Yeni rekor!",uk:"Ðовий ÑекоÑд!",vi:"Ká»· lục má»i","zh-cn":"æ°çºªå½ï¼","zh-tw":"æ°ç´éï¼"},as={ar:"Ø¬Ø§Ø±Ù Ø§ÙØªØÙ
ÙÙ",ca:"Carregant",de:"Lädt",en:"Loading",es:"Cargando",fr:"Chargement",hr:"UÄitavanje",it:"Caricamento in corso",ja:"ãã¼ãä¸",ko:"ë¡ë ì¤",nl:"Aan het laden",pl:"Åadowanie",pt:"Carregando",ro:"Se încarcÄ",ru:"ÐÐ´ÐµÑ Ð·Ð°Ð³ÑÑзка",sv:"Laddar",tr:"Yükleniyor",uk:"ÐаванÑаженнÑ",vi:"Äang tải","zh-cn":"è½½å
¥ä¸â¯â¯","zh-tw":"è¼å
¥ä¸â¯â¯"},is={ar:"إختار Ù
رØÙØ©",ca:"Escolleix un nivell",de:"Wähle ein Level aus",en:"Pick a level",es:"Elige un nivel",fr:"Choisis un niveau",hr:"Odaberi razinu",pt:"Escolha um nÃvel",ru:"ÐÑбеÑи ÑÑовенÑ",sv:"Välj en nivÃ¥",uk:"ÐибеÑи ÑÑвенÑ","zh-cn":"éæ©ä¸ä¸ªå
³å¡","zh-tw":"鏿ä¸åéå¡"},ss={ar:"إعدادات",ca:"Configuració",de:"Einstellungen",en:"Settings",es:"Configuración",fr:"Paramètres",hr:"Postavke",it:"Impostazioni",ja:"è¨å®",ko:"ì¤ì ",nl:"Instellingen",pl:"Ustawienia",pt:"Configurações",ro:"SetÄri",ru:"ÐаÑÑÑойки",sv:"Inställningar",tr:"Ayarlar",uk:"ÐалаÑÑÑваннÑ",vi:"Cà i Äặt","zh-cn":"设置","zh-tw":"è¨å®"},os={ar:"Ø¥ØºÙØ§Ù",ca:"Tancar",de:"SchlieÃen",en:"Close",es:"Cerrar",fr:"Fermer",hr:"Zatvori",it:"Chiudi",ja:"éãã",ko:"ë«ê¸°",nl:"Sluiten",pl:"Zamknij",pt:"Fechar",ro:"Ãnchide",ru:"ÐакÑÑÑÑ",sv:"Stäng",tr:"Kapat",uk:"ÐакÑиÑи",vi:"Äóng","zh-cn":"å
³é","zh-tw":"éé"},ls={ar:"تخطÙ",ca:"Saltar",de:"Ãberspringen",en:"Skip",es:"Omitir",fr:"Passer",hr:"PreskoÄi",it:"Salta",ja:"ã¹ããã",ko:"ê±´ëë°ê¸°",nl:"Overslaan",pl:"PomiÅ",pt:"Pular",ro:"Omite",ru:"ÐÑопÑÑÑиÑÑ",sv:"Hoppa över",tr:"Atla",uk:"ÐÑопÑÑÑиÑи",vi:"Bá» qua","zh-cn":"è·³è¿","zh-tw":"è·³é"},cs={ar:"اÙÙØ§Ø¦Ù
Ø©",ca:"Menú",de:"Menü",en:"Menu",es:"Menú",fr:"Menu",hr:"Izbornik",it:"Menu",ja:"ã¡ãã¥ã¼",ko:"ë©ë´",nl:"Menu",pl:"Menu",pt:"Menu",ro:"Meniu",ru:"ÐенÑ",sv:"Meny",tr:"Menü",uk:"Ð ÑвнÑ",vi:"Menu","zh-cn":"å
³å¡å表","zh-tw":"éå¡å表"},ps={ar:"Ù
ÙØ¡ Ø§ÙØ´Ø§Ø´Ø©",ca:"Pantalla completa",de:"Vollbild",en:"Fullscreen",es:"Pantalla completa",fr:"Plein écran",hr:"Cijeli zaslon",it:"Schermo intero",ja:"å
¨ç»é¢è¡¨ç¤º",ko:"ì ì²´íë©´",nl:"Volledig scherm",pl:"PeÅny ekran",pt:"Tela cheia",ro:"Ecran complet",ru:"ÐолнÑй ÑкÑан",sv:"Fullskärm",tr:"Tam Ekran",uk:"Ðовний екÑан",vi:"Toà n mà n hình","zh-cn":"å
¨è¤å¹","zh-tw":"å
¨è¢å¹"},us={ar:"Ø´Ø§ÙØ¯ Ø¥Ø¹ÙØ§ÙÙØ§ ÙØªØ®Ø·Ù ÙØ°Ø§ اÙÙ
ستÙÙ",ca:"Mira un anunci per saltar aquest nivell",de:"Sieh dir Werbung an, um dieses Level zu überspringen",en:"Watch an ad to skip this level",es:"Ve un anuncio para saltar este nivel",fr:"Regarde une pub pour passer ce niveau",hr:"Pogledaj oglas da preskoÄiÅ¡ ovu razinu",it:"Guarda una pubblicità per saltare questo livello",ja:"åºåãè¦è´ãã¦ãã®ã¬ãã«ãã¹ããããã¾ããã",ko:"ê´ê³ 를 ìì²íì¬ ì´ ë 벨 ê±´ëë°ê¸°",nl:"Bekijk een advertentie om dit level over te slaan",pl:"Zobacz reklamÄ, aby przeskoczyÄ ten poziom",pt:"Assista a um anúncio para pular este nÃvel",ro:"VizioneazÄ o reclamÄ ca sÄ sari peste acest nivel",ru:"ÐоÑмоÑÑи ÑекламÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑопÑÑÑиÑÑ ÑÑÐ¾Ñ ÑÑовенÑ",sv:"Se pÃ¥ en reklam för att hoppa över denna nivÃ¥",tr:"Bu seviyeyi atlamak için bir video izle",uk:"ÐодивиÑÑ ÑÐµÐºÐ»Ð°Ð¼Ñ Ð°Ð±Ð¸ пÑопÑÑÑиÑи Ñей ÑÑвенÑ",vi:"Xem má»t quảng cáo Äá» bá» qua mà n nà y","zh-cn":"è
1§ç广åä»¥è·³è¿æ¤å
³","zh-tw":"è§ç廣åä»¥è·³éæ¤é"},ds={ar:"ÙÙ
ÙØªÙ
استÙÙ
Ø§Ù Ø§ÙØ¥Ø¹ÙاÙ",ca:"Anunci no completat",de:"Werbespot nicht komplett",en:"Ad not completed",es:"Anuncio no completado",fr:"Pub pas terminée",hr:"Oglas nije zavrÅ¡io",it:"Annuncio non completato",ja:"åºåã®è¦è´ãå®äºãã¦ãã¾ãã",ko:"ê´ê³ ìë£ëì§ ìì",nl:"Reclame niet afgekeken",pl:"Reklama nieukoÅczona",pt:"Anúncio não concluÃdo",ro:"ReclamÄ nefinalizatÄ",ru:"Реклама не пÑоÑмоÑÑена до конÑа",sv:"Reklam ej genomförd",tr:"Reklam tamamlanmadı",uk:"Реклама не закÑнÑилаÑÑ",vi:"Quảng cáo chưa xem xong","zh-cn":"å¹¿åæ²¡æçå®","zh-tw":"廣忲æçå®"},ms={ar:"ÙØ§ بد Ù
Ù Ù
Ø´Ø§ÙØ¯Ø© Ø§ÙØ¥Ø¹ÙØ§Ù ÙØ§Ù
ÙØ§Ù ÙØªØ®Ø·Ù ÙØ°Ù اÙÙ
رØÙØ©.",ca:"Has de mirar un anunci sencer per saltar-te aquest nivell.",de:"Du musst den ganzen Werbespot ansehen, um dieses Level zu überspringen.",en:"You need to watch the full ad to skip this level.",es:"Necesitas ver el anuncio completo para saltarte este nivel.",fr:"Tu dois regarder la publicité en entier pour passer ce niveau.",hr:"MoraÅ¡ pogledati cijeli oglas da preskoÄiÅ¡ ovu razinu.",it:"à necessario guardare l'annuncio completo per saltare questo livello.",ja:"ãã®ã¬ãã«ãã¹ãããããã«ã¯ãåºåãå
¨ã¦è¦è´ããªããã°ãªãã¾ããã",ko:"ì´ ë 벨ì ê±´ëë°ìë ¤ë©´ ì ì²´ ê´ê³ 를 ë³´ì
ì¼ í©ëë¤.",nl:"Je moet de volledige reclame bekijken om dit level over te slaan.",pl:"Musisz obejrzeÄ reklamÄ w peÅni, aby pominÄ
Ä ten poziom.",pt:"Você precisa assistir ao anúncio inteiro para pular esta fase.",ro:"Trebuie sÄ vezi toatÄ reclama pentru a sÄri peste acest nivel.",ru:"Ðам нÑжно пÑоÑмоÑÑеÑÑ ÑÐµÐºÐ»Ð°Ð¼Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑопÑÑÑиÑÑ ÑÑÐ¾Ñ ÑÑовенÑ.",sv:"Du behöver se pÃ¥ hela reklamen för att hoppa över nivÃ¥n.",tr:"Bu seviyeyi atlamak için reklamın tamamını izlemelisiniz.",uk:"Ð¢Ð¾Ð±Ñ Ð¿Ð¾ÑÑÑбно подивиÑиÑÑ ÑÐµÐºÐ»Ð°Ð¼Ñ Ð¿Ð¾Ð²Ð½ÑÑÑÑ Ð°Ð±Ð¸ пÑопÑÑÑиÑи Ñей ÑÑвенÑ",vi:"Bạn cần xem toà n bá» quảng cáo Äá» bá» qua mà n nà y.","zh-cn":"æ¨éè¦å°å¹¿åçå®ä»¥è·³è¿æ¤å
³","zh-tw":"æ¨éè¦å°å»£åçå®ä»¥è·³éæ¤é"},ys={ar:"اÙÙÙØª Ø§ÙØ£ÙضÙ: ",ca:"Millor temps:",de:"Beste Zeit: ",en:"Best time: ",es:"Mejor tiempo: ",fr:"Meilleur temps: ",hr:"Najbolje vrijeme: ",it:"Miglior tempo: ",ja:"ãã¹ãã¿ã¤ã ï¼",ko:"ìµì°ì ìê°: ",nl:"Beste tijd: ",pl:"Najlepszy czas: ",pt:"Melhor tempo: ",ro:"Cel mai bun timp: ",ru:"ÐÑÑÑее вÑемÑ: ",sv:"Bästa tiden: ",tr:"En iyi süre: ",uk:"ÐайкÑаÑий ÑаÑ:",vi:"Thá»i gian tá»t nhất: ","zh-cn":"æä½³çºªå½ï¼","zh-tw":"æä½³ç´éï¼"},hs={ar:"ÙØ§ ÙÙØ¬Ø¯ رÙÙ
ÙÙØ§Ø³Ù",ca:"Sense puntuació máxima",de:"Kein Highscore",en:"No highscore",es:"Sin puntaje máximo",fr:"Pas de record",hr:"Nema najboljeg rezultata",it:"Nessun miglior punteggio",ja:"ãã¤ã¹ã³ã¢ã¯ããã¾ãã",ko:"ê³ ëì ìì",nl:"Geen highscore",pl:"Nie odnotowanego wysokiego wyniku",pt:"Sem recorde",ro:"Niciun scor maxim",ru:"РекоÑда неÑ",sv:"Inget rekord",tr:"Rekor yok",uk:"ÐÑдÑÑÑÐ½Ñ ÑезÑлÑÑаÑи",vi:"Không có ká»· lục","zh-cn":"没æè®°å½","zh-tw":"æ²æè¨é"},gs={ar:"ÙØ³Øª Ù
ØªØ·ØµÙ ÙØ´Ø¨ÙØ© Ø§ÙØ¥ÙØªØ±ÙØª. إتص٠ÙÙÙØ§Ù ÙØ§Ù Ø£Ù ÙØ¨ÙØ§ÙØ§Øª Ø®ÙÙÙØ© ÙØªØ®Ø·Ù اÙÙ
رØÙØ©.",ca:"Està s sense wifi. Activala o activa dades per saltar-te aquest nivell.",de:"Du bist offline. Schalte dein Wlan oder mobile daten ein um dieses Level überspringen u können.",en:"You are offline. Enable WiFi or cellular data to skip this level.",es:"No estás conectado a Internet. Activa una conexión WiFi o de datos móviles para saltarse de esta nivel.",fr:"Tu es hors-ligne. Active le WiFi ou les données cellulaires pour passer ce niveau.",hr:"Izvan mreže si. UkljuÄi Wi-Fi ili mobilne podatke kako bi preskoÄio ovu razinu.",pt:"Você está offline. Ative o WiFi ou dados móveis para pular esse nÃvel.",ru:"Ð¢Ñ Ð¾Ñлайн. ÐклÑÑи инÑеÑÐ½ÐµÑ Ð¸Ð»Ð¸ ÑоÑовÑе даннÑе.",sv:"Du är offline. Aktivera Wi-Fi eller mobildata för att hoppa över denna nivÃ¥.",uk:"ÐÑдÑÑÑÐ½Ñ ÑнÑеÑÐ½ÐµÑ Ð·'ÑднаннÑ. ÐклÑÑи WiFi, або мобÑлÑний ÑнÑеÑÐ½ÐµÑ Ð°Ð±Ð¸ пÑопÑÑÑиÑи Ñей ÑÑвенÑ.","zh-cn":"ä½ ç¦»çº¿äºï¼æ¨éè¦è¿æ¥è³ç½ç»ä»¥è·³è¿æ¤å
³ã","zh-tw":"ä½ é¢ç·äºï¼æ¨éè¦é£æ¥è³ç¶²çµ¡ä»¥è·³éæ¤éã"},xs={ar:"ÙØ¨Ø¯Ù اÙ٠تÙ
ÙØ¹ Ø§ÙØ¥Ø¹ÙØ§ÙØ§Øª. Ø§ÙØ±Ø¬Ø§Ø¦ Ø¥Ø·ÙØ§Ø¦Ù ÙØ§ÙØªØØ¯ÙØ« ÙØªØ®Ø·Ù اÙÙ
رØÙØ©.",ca:"Sembla que has bloquejat els anuncis. Per favor, desactiva lâadblocker i refresca per saltar-te aquest nivell.",de:"Scheint so als ob du einen Adblocker benutzt. Bitte schalte den Adblocker aus und lade die seite von neuem um dieses Level überspringen zu können",en:"Looks like you blocked ads. Please disable your adblocker and refresh to skip this level.",es:"Favor de desactivar el bloqueo de publicidad y actualizar esta página para saltarse de esta nivel.",fr:"Il semblerait que tu aies bloqué les pubs. Désactive ton bloqueur de pub pour passer ce niveau.",hr:"Izgleda da si blokirao oglase. IskljuÄi adblocker i osvježi stranicu kako bi preskoÄio ovu razinu.",pt:"Parece que você bloqueou anúncios. Por favor, desative seu adblocker e atualize para pular esse nÃvel.",ru:"Ðидимо ÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñовал ÑекламÑ. ÐожалÑйÑÑа вÑклÑÑи Ð°Ð´Ð±Ð»Ð¾ÐºÐµÑ Ð¸ обнови ÑÑÑаниÑÑ.",sv:"Det verkar som om du blockerar reklamer. Stäng av din Reklamblockerare för att kunna hoppa över denna nivÃ¥.",uk:"СÑ
оже Ñи заблокÑвав ÑекламÑ. ÐÑÐ´Ñ Ð»Ð°Ñка вÑдклÑÑи блокÑÑаÑÐ¾Ñ Ñеклами, Ñ Ð¿ÐµÑезаванÑаж ÑÑоÑÑÐ½ÐºÑ Ð°Ð±Ð¸ пÑопÑÑÑиÑи Ñей ÑÑвенÑ.","zh-cn":"ä½ å±è½äºå¹¿åï¼è¯·å
³éå±è½å¨ï¼ç¶åå·æ°ä»¥è·³è¿æ¤å
³ã","zh-tw":"ä½ å±è½äºå»£åï¼è«ééå±è½å¨ï¼ç¶å¾å·æ°ä»¥è·³éæ¤éã"},fs={ar:"جار تØÙ
ÙÙ Ù
رØÙØ© %1#: %2",ca:"Carregant nivell #%1: %2",de:"Lade Level #%1: %2",en:"Loading level #%1: %2",es:"Cargando nivel %1: %2",fr:"Chargement du niveau nº%1: %2",hr:"UÄitavanje razine #%1: %2",pt:"Carregando nÃvel #%1: %2",ru:"ÐагÑÑзка ÑÑÐ¾Ð²Ð½Ñ %1: %2",sv:"Laddar nivÃ¥ #%1: %2",uk:"ÐаванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑÑÐ²Ð½Ñ #%1: %2","zh-cn":"æ£å¨å è½½å
³å¡#%1: %2","zh-tw":"æ£å
1¨å è¼éå¡#%1: %2"},vs={ar:"تÙ
Ø§ÙØªØ®Ø·Ù",ca:"Saltat",de:"Ãbersprungen",en:"Skipped",es:"Saltado",fr:"Passé",hr:"PreskoÄeno",pt:"Pulado",ru:"ÐÑопÑÑено",sv:"Hoppat över",uk:"ÐÑопÑÑений","zh-cn":"è·³è¿","zh-tw":"è·³é"},bs={ar:"ØÙ
Ù BombHopper.io",ca:"Instala BombHopper.io",de:"Installiere BombHopper.io",en:"Install BombHopper.io",es:"Instalar BombHopper.io",fr:"Install BombHopper.io",hr:"Instaliraj BombHopper.io",pt:"Instale BombHopper.io",ru:"УÑÑанови BombHopper.io",sv:"Installera BombHopper.io",uk:"СкаÑаÑи BombHopper.io","zh-cn":"ä¸è½½BombHopper.io","zh-tw":"ä¸è¼BombHopper.io"},$s={ar:"ÙØªÙ
Ø§ÙØµÙت",ca:"Silencia",de:"Stumm schalten",en:"Mute",es:"Silencia",fr:"Désactiver le son",hr:"IskljuÄi zvuk",pt:"Mutar",ru:"замÑÑиÑÑ",sv:"Dämpa",uk:"ÐимкнÑÑи звÑк","zh-cn":"éé³","zh-tw":"éé³"},ws={ar:"إعادة Ø§ÙØµÙت",ca:"Desilencia",de:"Stumm Schaltung aufheben",en:"Unmute",es:"Activar sonido",fr:"Activer le son",hr:"UkljuÄi zvuk",pt:"Desmutar",ru:"ÑазмÑÑиÑÑ",sv:"Stäng av dämpning",uk:"ÐклÑÑиÑи звÑк","zh-cn":"å¼å£°é³","zh-tw":"éè²é³"},ks={ar:"إعدادات Ø§ÙØ´Ø®ØµÙØ©",ca:"Configuració de privacitat",de:"Sicherheits Einstellungen",en:"Privacy settings",es:"Configuración de privacidad",fr:"Paramètres de confidentialité",hr:"Postavke privatnosti",pt:"Configurações de privacidade",ru:"конÑиденÑиалÑнÑе наÑÑÑойки",sv:"Sekretessinställningar",uk:"ÐалаÑÑÑÐ²Ð°Ð½Ð½Ñ Ð¿ÑиваÑноÑÑÑ","zh-cn":"ç§é设å®","zh-tw":"ç§é±è¨å®"},Ss={ar:"شارÙ",ca:"Comparteix",de:"Teilen",en:"Share",es:"Compartir",fr:"Partager",hr:"Podijeli",pt:"Compartilhar",ru:"ÐелиÑÑÑÑ",sv:"Dela",uk:"ÐодÑлиÑиÑÑ","zh-cn":"å享","zh-tw":"å享"},zs={ar:"شار٠عÙÙ Facebook",ca:"Comparteix a Facebook",de:"Teile auf Facebook weiter",en:"Share on Facebook",es:"Compartir en Facebook",fr:"Partager sur Facebook",hr:"Podijeli na Facebooku",pt:"Compartilhar no Facebook",ru:"ÐелиÑÑÑÑ Ð½Ð° ÑейÑбÑке",sv:"Dela pÃ¥ Facebook",uk:"ÐоÑиÑиÑи в ФейÑбÑÑÑ","zh-cn":"å享è³Facebook","zh-tw":"å享è³Facebook"},Cs={ar:"شار٠عÙÙ Twitter",ca:"Comparteix a Twitter",de:"Teile auf Twitter weiter",en:"Share on Twitter",es:"Compartir en Twitter",fr:"Partager sur Twitter",hr:"Podijeli na Twitteru",pt:"Compartilhar no Twitter",ru:"ÐелиÑÑÑ Ð½Ð° ÑвиÑеÑе",sv:"Dela pÃ¥ Twitter",uk:"ÐоÑиÑиÑи в ТвÑÑÑеÑÑ","zh-cn":"å享è³Twitter","zh-tw":"å享è³Twitter"},Es={ar:"شار٠Ù
Ù Ø¨Ø±ÙØ¯ Ø¥ÙÙØªØ±ÙÙÙ",ca:"Comparteix amb email",de:"Teile durch email",en:"Share by email",es:"¡Comparte esto por email!",fr:"Partager par email",hr:"Podijeli E-mailom",pt:"Compartilhar por e-mail",uk:"ÐадÑÑлаÑи лиÑÑом","zn-cn":"ç¨çµé®å享 BombHopper.io","zn-tw":"ç¨é»éµå享 BombHopper.io"},Ts={ar:"ÙØµÙØØ©!",ca:"Consell!",de:"Tipp",en:"Tip!",es:"Consejo!",fr:"Astuceâ¯!",hr:"Savjet!",pt:"Dica!",ru:"ÑовеÑ",sv:"Tips!",uk:"ÐÑдказка!","zh-cn":"æç¤ºï¼","zh-tw":"æç¤ºï¼"},js={ar:"إضغط <kbd>r</kbd> ÙØªØ¹Ùد أسرع.",ca:"Pressiona <kbd>r</kbd> per reiniciar més rà pid.",de:"Drücke <kbd>r</kbd> um schneller das Level zurück zu setzen.",en:"Press <kbd>r</kbd> to restart faster.",es:"Teclea <kbd>r</kbd> para reinciar rápidamente.",fr:"Appuie sur <kbd>r</kbd> pour recommencer le niveau plus vite.",hr:"Pritisni <kbd>r</kbd> za brži ponovni pokuÅ¡aj.",pt:"Pressione <kbd>r</kbd> para reiniciar mais rápido.",ru:"Ðажми англ. <kbd>R</kbd> ÑÑÐ¾Ð±Ñ Ð±ÑÑÑÑее ÑеÑÑаÑÑаÑÑ ÑÑовенÑ.",sv:"Tryck pÃ¥ <kbd>r</kbd> för att starta om snabbare.",uk:"ÐаÑиÑни <kbd>r</kbd> аби пеÑезапÑÑÑиÑи ÑÑÐ²ÐµÐ½Ñ ÑвидÑе","zh-cn":"æ <kbd>r</kbd> 以鿰å¼å§","zh-tw":"æ <kbd>r</kbd> 以鿰éå§"},As={ar:"Ù٠تستخدÙ
ÙÙØØ© ØªØªØ¨Ø¹Ø Ø¶ØºØ© <kbd>Space</kbd> ÙÙØªØ·ÙÙ٠أسÙÙ Ù
٠اÙÙÙØ±. ",ca:"Usant un trackpad? Toca <kbd>Space</kbd> per disparar. Serà més fà cil que clicant.",de:"Benutzt du ein Trackpad? das drücken von der <kbd>Leertaste</kbd> wird einfacher sein als zu Klicken.",en:"Using a trackpad? Pressing <kbd>Space</kbd> to fire will be easier than clicking.",es:"¿Usando trackpad? Teclea <kbd>Espacio</kbd> para disparar más fácilmente.",fr:"Tu utilises un trackpadâ¯? Appuie sur <kbd>Espace</kbd> pour tirer, c'est plus facile que cliquer.",hr:"KoristiÅ¡ trackpad? Bit Äe lakÅ¡e pritisnuti <kbd>Space</kbd> nego kliknuti.",pt:"Usando um touchpad? Pressionar <kbd>Space</kbd> para atirar será mais fácil que clicar.",ru:"ÐÑполÑзÑÐµÑ Ð´Ð¶Ð¾Ð¹ÑÑик? ÐажимаÑÑ <kbd>пÑобел</kbd> бÑÐ´ÐµÑ Ð»ÑÑÑе Ñем кликаÑÑ.",sv:"Använder du en musplatta? Att trycka pÃ¥ <kbd>Space</kbd> för att skjuta är lättare.",uk:"ÐикоÑиÑÑовÑÑÑ ÑаÑпад? ÐаÑиÑни <kbd>ÐÑобÑл</kbd> аби ÑÑÑÑлÑÑи бÑло легÑе","zh-cn":"æ£å¨ä½¿ç¨è§¦æ§çï¼æ<kbd>Space</kbd>
1å¯ä»¥æ´å®¹æåå°ç¸å¼¹ï¼","zh-tw":"æ£å¨ä½¿ç¨è§¸æ§çï¼æ<kbd>Space</kbd>å¯ä»¥æ´å®¹æç¼å°ç¸å½ï¼"},_s={ar:"إعادة",ca:"Reiniciar",de:"Level Zurücksetzen",en:"Restart",es:"Reiniciar",fr:"Recommencer",hr:"Ponovno pokuÅ¡aj",pt:"Reiniciar",ru:"РеÑÑаÑÑ",sv:"Starta om",uk:"ÐеÑезапÑÑÑиÑи","zh-cn":"éæ°å¼å§","zh-tw":"éæ°éå§"},Ps={ar:"اÙÙØ§Ø¦Ù
Ø© Ø§ÙØ±Ø¦ÙØ³ÙØ©",ca:"Inici",de:"Nachhause",en:"Home",es:"Inicio",fr:"Accueil",hr:"PoÄetna stranica",pt:"InÃcio",uk:"ÐенÑ","zh-cn":"主页","zh-tw":"主é "},Ls={ar:"Ø¥ÙØ¹Ø¨!",ca:"Jugar!",de:"Spiele!",en:"Play!",es:"¡Juega!",fr:"Jouer !",hr:"Igraj!",pt:"Jogar!",uk:"ÐÑаÑи!","zh-cn":"å¼å§ï¼","zh-tw":"éå§ï¼"},Is={ar:"Ù
راØÙ Ù
خصصة",ca:"Nivells personalitzables",de:"Spieler gemachte Level",en:"Custom levels",es:"Niveles personalizados",fr:"Niveaux personnalisés",hr:"KorisniÄke razine",pt:"NÃveis personalizados",uk:"Ð ÑÐ²Ð½Ñ Ð³ÑавÑÑв","zh-cn":" èªå®ä¹ç级","zh-tw":" èªå®ç¾©çç´"},Fs={ar:"Ù
عد٠اÙÙ
راØÙ",ca:"Editor de nivells",de:"Level Editor",en:"Level editor",es:"Editor de niveles",fr:"Ãditeur de niveaux",hr:"UreÄivaÄ razina",pt:"Editor de nÃveis",uk:"РедакÑÐ¾Ñ ÑÑвнÑв","zh-cn":"ç级ç¼è¾","zh-tw":"çç´ç·¨è¼¯"},Bs={ar:"ع٠اÙÙØ¹Ø¨Ø©",ca:"Sobre",de:"Um",en:"About",es:"Acerca de :",fr:"à propos",hr:"O ovoj igri",pt:"Sobre",uk:"ÐÑо гÑÑ","zh-cn":"å
³äº BombHopper.io","zh-tw":"éäº BombHopper.io"},Ds={ar:"Ø§ÙØ¥Ø¹ÙØ§ÙØ§Øª ÙÙØ³Øª Ø¬Ø§ÙØ²Ø© بعد. Ø¥ÙØ·Ø¸Ø± ÙÙÙÙØ§Ù.",ca:"Els anuncis no estan preparats. Espera una mica.",de:"Werbungen sind noch nicht verfügbar. Warten Sie ein wenig.",en:"Ads are not ready yet. Wait a bit.",es:"Los anuncios no están listos. Espera un poco.",fr:"La publicité n'est pas prête. Attends un instant.",hr:"Oglasi joÅ¡ nisu spremni. PriÄekaj.",pt:"Anúncios não estão prontos ainda. Espere um pouco.",uk:"Реклама Ñе не гоÑова. ÐоÑекай ÑÑоÑки","zh-cn":"ç°å¨æ²¡æå¹¿åã请çä¸ä¸ã","zh-tw":"ç¾å¨æ²æå»£åãè«çä¸ä¸ã"},Ms={ar:"Ø³Ø¬Ù Ø§ÙØ¯Ø®ÙÙ ÙØªØµÙت",ca:"Registrat per votar",de:"Melde dich an um abstimmen zu Können",en:"Log in to vote",es:"Registrate para votar",fr:"Connecte-toi pour voter",hr:"Prijavi se da glasaÅ¡",pt:"Entre para votar",uk:"ÐвÑйди в аккаÑнÑ, аби пÑоголоÑÑваÑи","zh-cn":"ç»å½æ¥æç¥¨","zh-tw":"ç»éä¾æç¥¨"},qs={ar:"ØØ³Ø§Ø¨",ca:"Compte",de:"Account",en:"Account",es:"Cuenta",fr:"Compte",hr:"RaÄun",pt:"Conta",uk:"ÐккаÑнÑ","zh-cn":"è´¦æ·","zh-tw":"賬æ¶"},Vs={ar:"Ø³Ø¬Ù Ø§ÙØ¯Ø®ÙÙ Ù
ع Discord",ca:"Registrat amb Discord",de:"Melde dich mit Discord an",en:"Log in with Discord",es:"Registrate con Discord",fr:"Se connecter avec Discord",hr:"Prijavi se s Discord-om",pt:"Entrar com Discord",uk:"ÐвÑйÑи в дÑÑкоÑд аккаÑнÑ","zh-cn":"ç¨ Discord ç»å½","zh-tw":"ç¨ Discord ç»é"},Ns={ar:"Ø¥ÙØªØ Ù٠اÙÙ
عدÙ",ca:"Obre a lâeditor",de:"Ãffne mit dem Editor",en:"Open in editor",es:"Abre en el editor",fr:"Ouvrir dans l'éditeur",hr:"Otvori u ureÄivaÄu razina",pt:"Abrir no editor",uk:"ÐÑдкÑиÑи в ÑедакÑоÑÑ","zh-cn":"å¨ç¼è¾éå¼","zh-tw":"å¨ç·¨è¼¯è£é"},Hs={ar:'Ø¥ÙØ¶Ù
Ø¥ÙÙ <a href="https://discord.gg/VFGTWnZ" target="blank"><span class="icon-discord"></span> اÙÙ
جÙ
ÙØ¹Ø© ÙÙ Discord</a>!',ca:'Uneix-te al <a href="https://discord.gg/VFGTWnZ" target="blank"><span class="icon-discord"></span> servidor de Discord</a>!',de:'SchlieÃe dich dem <a href="https://discord.gg/VFGTWnZ" target="_blank"><span class="icon-discord"></span> Discord server</a> an!',en:'Join the <a href="https://discord.gg/VFGTWnZ" target="_blank"><span class="icon-discord"></span> Discord server</a>!',es:'Ãnete a <a href="https://discord.gg/VFGTWnZ" target="blank"><span class="icon-discord"></span> Discord server</a>!',fr:'Rejoins le <a href="https://discord.gg/VFGTWnZ" target="_blank">serveur <span class="icon-discord"></span> Discord</a> !',hr:'Pridruži se <a href="https://discord.gg/VFGTWnZ" target="_blank"><span class="icon-discord"></span>
1 Discord serveru</a>!',pt:'Junte-se ao <a href="https://discord.gg/VFGTWnZ" target="_blank"><span class="icon-discord"></span> servidor do Discord</a>!',uk:'ÐÑиÑднÑйÑÑ Ð´Ð¾ наÑого <a href="https://discord.gg/VFGTWnZ" target="_blank"><span class="icon-discord"></span>дÑÑкоÑд ÑеÑвеÑа</a>!',"zh-cn":'å å
¥ <a href="https://discord.gg/VFGTWnZ" target="_blank"><span class="icon-discord"></span> Discord æå¡å¨</a>!',"zh-tw":'å å
¥ <a href="https://discord.gg/VFGTWnZ" target="_blank"><span class="icon-discord"></span> Discord æåå¨</a>ï¼'},Os={ar:"Ø¥ØØµÙ عÙÙ Hopper",ca:"Conseguiex âHopperâ",de:"Kriege Hopper",en:"Get Hopper",es:"Consigue Hopper",fr:"Obtiens Hopper",hr:"Primi Hopper ulogu",uk:"ÐÑÑимаÑи ÑÐ¾Ð»Ñ Hopper","zh-cn":"è·å¾ Hopper","zh-tw":"ç²å¾ Hopper"},Rs={ar:"Ø¥ØØµÙ عÙÙ Bomber",ca:"Conseguiex âBomberâ",de:"Kriege Bomber",en:"Get Bomber",es:"Consigue Bomber",fr:"Obtiens Bomber",hr:"Primi Bomber ulogu",uk:"ÐÑÑимаÑи ÑÐ¾Ð»Ñ Bomber","zh-cn":"è·å¾ Bomber","zh-tw":"ç²å¾ Bomber"},Us={ar:"Ø¥ØØµÙ عÙÙ Ø¯ÙØ±Ù",ca:"Conseguir el meu rol",de:"Kriege meinen Rank",en:"Get my role",es:"Consigue tu rol",fr:"Obtiens mon role",hr:"Primi moju ulogu",uk:"ÐÑÑимаÑи Ð¼Ð¾Ñ ÑолÑ","zh-cn":"è·å¾æçè§è²","zh-tw":"ç²å¾æçè§è²"},Ws={ar:"شائع",de:"Beliebt",en:"Trending",fr:"Tendance",uk:"Ð ÑÑендÑ","zh-cn":"æå欢è¿","zh-tw":"æåæ¡è¿"},Js={ar:"ÙØªÙجة",de:"Punkte",en:"Score",uk:"Ðа найбÑлÑÑим ÑаÑ
Ñнком","zh-cn":"åæ°","zh-tw":"忏"},Gs={ar:"Ø¬Ø¯ÙØ¯",de:"Neueste",en:"Recent",fr:"Récent",uk:"ÐайновÑÑÑ"},Ks={ar:"جار Ø§ÙØªØÙ
ÙÙ ÙÙ
راØÙ Ù
خصصة",de:"Lade die von Spieler gemachte Level",en:"Fetching custom levels",fr:"Téléchargement des niveaux",uk:"ÐаванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑÑвнÑв гÑавÑÑв","zh-cn":"ç¹å«å
³å¡æ£å¨å è½½","zh-tw":"ç¹å¥é塿£å¨å è¼"},Ys={ar:"Ù٠اÙÙ
راØÙ اÙÙ
ÙØ´Ùرة",de:"Alle hochgeladenen Level",en:"All published levels",fr:"Tout les niveaux publiés",uk:"ÐÑÑ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ñ ÑÑвнÑ","zh-cn":"ææååºçå
³å¡","zh-tw":"ææç¼åºçéå¡"},Zs={ar:"Ù
راØÙÙ",de:"Meine Level",en:"My levels",fr:"Mes niveaux",uk:"ÐÐ¾Ñ ÑÑвнÑ","zh-cn":"æçå
³å¡","zh-tw":"æçéå¡"},Qs={ar:"شر ÙÙØ¹Ø§ÙÙ
",de:"Ãffentlich machen",en:"Make public",fr:"Rendre public",uk:"ÐпÑилÑдниÑи","zh-cn":"å
¬å¼","zh-tw":"å
¬é"},Xs={ar:"تسجÙÙ Ø§ÙØ®Ø±Ùج",de:"Abmelden",en:"Log out",fr:"Se déconnecter",uk:"ÐийÑи","zh-cn":"ç»åº","zh-tw":"ç»åº"},eo={ar:"ÙØ¸Ù
ØØ³Ø¨:",de:"Sortieren nach:",en:"Sort by:",fr:"Trier par:",uk:"ÐÑдÑоÑÑÑваÑи:"},to={ar:"Ø¥ØØµÙ عÙÙ Ø§Ø¯ÙØ§Ø±Ù",de:"Rollen kriegen",en:"Get my roles",fr:"Obtenir mes rôles",uk:"ÐÑÑимаÑи Ð¼Ð¾Ñ ÑолÑ"},no={ar:"ØØ³Ø§Ø¨Ù",de:"Mein Account",en:"My account",fr:"Mon compte",uk:"ÐÑй акаÑнÑ"};function ro(t,n,r,a){const{body:i}=r.components.phys,s=Pr(t),o=e.Vector.sub(s,i.position),l=e.Vector.normalise(o),c=Hi(o,i.position),p=a.query("phys").map((e=>{let{components:t}=e;return t.phys.body})),{point:u}=function(t,n,r){let a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];n=Gi.fromOther(n),r=Gi.fromOther(r);for(var i=e.Query.ray(t,n,r),s=[],o=new Yi(n,r),l=i.length-1;l>=0;l--)for(var c=Yi.bodyCollisions(o,i[l].body),p=c.length-1;p>=0;p--)s.push(c[p]);return a&&s.sort((function(e,t){return e.point.distance(n)-t.point.distance(n)})),s}(p,i.position,c).filter((e=>{let{body:t}=e;return t!==i})).map((t=>{let{point:n}=t;return{point:n,magnitudeSquared:e.Vector.magnitudeSquared(e.Vector.sub(i.position,n))}})).reduce(((e,t)=>t.magnitudeSquared<e.magnitudeSquared?t:e),{point:c,magnitudeSquared:Math.pow(31,2)}),d=new ii[n]({x:u.x,y:u.y}),m=Ni(o),{body:y}=d.components.phys,h=i.velocity;let g=e.Vector.mult(h,y.mass/i.mass);g=e.Vector.div(g,Math.pow(16.666666666666668,2)),e.Body.applyForce(y,y.position,g),e.Body.applyForce(y,y.position,m);const x=-.09*y.mass,f=e.Vector.mult(l,x);e.Body.applyForce(i,i.position,f),a.addEntity(d)}function ao(e,t){let{enter$:n,exit$:r,preUpdate$:a}=e;return n.pipe(U((e=>void 0!==e.components.playerControlled.infiniteAmmo)),K((e=>{const{magazineType:n}=e.components.playerControlled,i=ei.pipe(U((()=>"function"==typeof window.navigator.vibrate)),I((()=>window.navigator.vibrate(20))),Z()),s="finite"===n?function(e,t,n){const{magazine$:r,initialAmmoAmount:a}=e.components.playerControlled;if(0===a)return Q;const{axisAlignedContainer:i}=e.components.draw,s=X(ei,(()=>0!==r.value.length));let[,o]=s;o=o.pipe(J());const[l]=s,c=o.pipe(V((()=>i.getChildByName("magazine"))),U((e=>null!==e)),G((e=>{let t=0;return n.pipe(I((e=>{t+=e})),ee((()=>t<500)),I((()=>{const n=t/500;e.x=6*Math.sin(8*n*Math.PI)})),te((()=>{e.x=0})))}))),p=o.pipe(K((()=>{const{text:e,lang:t}=ba(Xi),r=ai(e,{x:.5,lang:t});r.y=-80,i.addChild(r);const a=n.pipe(I((e=>{r.alpha-=e/1e3,r.y-=1})),ee((()=>r.alpha>0)),te((()=>{i.removeChild(r)})));return D(a,Oa(Mr.no_ammo))}))),u=l.pipe(V((e=>({click:e,type:r.value[r.value.length-1]}))),I((()=>{r.next(r.value.slice(0,-1))})),U((e=>{let{type:t}=e;return"empty"!==t})),I((n=>{let{click:r,type:a}=n;ro(r,a,e,t)})),K((()=>Oa(Mr.shoot))));return D(p,u,c)}(e,t,a):function(e,t){const{infiniteAmmo:n}=e.components.playerControlled;return ei.pipe(I((r=>{ro(r,n,e,t)})),K((()=>Oa(Mr.shoot))))}(e,t);return D(s,i).pipe(q(r.pipe(U((t=>{let[n]=t;return n===e})))))}
1)))}function io(e){let{update$:t}=e;return t.pipe(I((e=>{let[t,n]=e;t.components.timer.counter-=n})))}function so(t,n){const{body:r}=t.components.phys,{body:a}=n.components.phys,i=e.Bodies.circle(a.position.x,a.position.y,30);if(r.parts.length>1)return r.parts.slice(1).some((t=>e.SAT.collides(t,i).collided));return e.SAT.collides(r,i).collided}ao.query=["playerControlled","draw"],io.query=["timer"];const oo=new n([-3,0],[0,3],[0,0]);function lo(t,n){let{update$:r}=t;const a=r.pipe(K((()=>Oa(Mr.explosion)))),i=r.pipe(I((t=>{let[r]=t;n.addEntity(new Bn({timer:new nr({counter:150}),screenShake:new er,selfDestruct:new tr})),n.addEntity(Ri(oo,6));const{position:a,circleRadius:i}=r.components.phys.body,{color:s}=r.components.exploding;n.addEntity(new Bn({particle:ma(s,ua(a,i))})),n.query("breakable").forEach((e=>{if(!so(e,r))return;const{body:t}=e.components.phys;n.addEntity(new Bn({particle:ma(8388863,da(t.vertices,t.area))})),e.dispose()})),n.query("playerControlled").forEach((e=>{so(e,r)&&(e.components.playerControlled.hurtTimer=400)})),n.query("phys").forEach((t=>function(t,n){const{body:r}=t.components.phys,{body:a}=n.components.phys;if(r.isStatic)return;const i=e.Vector.sub(r.position,a.position),s=e.Vector.magnitude(i),o=e.Vector.normalise(i),l=Math.min(.04,1e3/s**2)*r.mass*.95;e.Body.applyForce(r,r.position,{x:o.x*l,y:o.y*l})}(t,r))),r.dispose();const o=Ui(),{container:l}=o.components.draw;l.x=a.x,l.y=a.y,n.addEntity(o);const c=new Bn({timer:new nr({counter:120}),selfDestruct:new tr,backgroundFlash:new Vn({duration:120})});n.addEntity(c)})));return D(a,i)}function co(e){let{enter$:t,exit$:n,update$:r,preUpdate$:a}=e;Cr.filters=[],Cr.filterArea=zr.screen;const i=t.pipe(I((e=>{const{filter:t}=e.components.filter;Cr.filters.push(t)}))),s=r.pipe(V((e=>{let[t]=e;return t.components.filter.preUpdateCb})),U((e=>"function"==typeof e)),I((e=>e()))),o=n.pipe(I((e=>{let[t]=e;const{filter:n}=t.components.filter;Cr.filters=Cr.filters.filter((e=>e!==n))}))),l=a.pipe(I((e=>{Tr.time+=e/2e3})));return D(i,s,o,l)}function po(e){return e.length<=0?{x:0,y:0}:e[0].components.phys.body.position}function uo(e,t){let{preUpdate$:n}=e;const r=Ja.pipe(we(ka.type),V((()=>po(t.query("playerControlled","phys")))),I((e=>{jr.pivot.x=e.x,jr.pivot.y=e.y}))),a=n.pipe(V((e=>({elapsed:e,players:t.query("playerControlled","phys")}))),U((e=>{let{players:t}=e;return 0!==t.length})),V((e=>{let{elapsed:t,players:n}=e;return{elapsed:t,target:po(n)}})),I((e=>{let{elapsed:t,target:n}=e;const r=1-Math.exp(-t/100);jr.pivot.x=Vr(n.x,jr.pivot.x,r),jr.pivot.y=Vr(n.y,jr.pivot.y,r)})));return D(a,r)}function mo(e){let{enter$:t,exit$:n,postUpdate$:r}=e;const a=t.pipe(I((e=>{const{axisAlignedContainer:t}=e.components.draw;jr.addChild(t)}))),i=n.pipe(I((e=>{let[t]=e;const{axisAlignedContainer:n}=t.components.draw;jr.removeChild(n),n.destroy({children:!0})}))),s=r.pipe(I((()=>{zr.render(Cr)})));return D(a,i,s)}function yo(e){let{update$:t}=e;return t.pipe(I((e=>{let[t]=e;const{counter:n}=t.components.timer,{explosionColor:r}=t.components.explosive,{container:a}=t.components.draw;if(n<=750){const e=Math.floor(n/150)%2==1?16711680:16777215;a.getChildByName("grenade").tint=e}n<=0&&(t.removeComponent("timer"),t.removeComponent("explosive"),t.addComponent("exploding",new Gn({color:r})))})))}function ho(e){let{enter$:t,update$:n,exit$:r}=e;const a=t.pipe(I((e=>{const{emitter:t,parent:n}=e.components.particle;t._parent=n||jr,t.playOnce((()=>{e.dispose()}))}))),i=n.pipe(I((e=>{let[t,n]=e;const{emitter:r,velocity:a}=t.components.particle;r.updateSpawnPos(r.spawnPos.x+a.x,r.spawnPos.y+a.y),r.update(n/1e3)}))),s=r.pipe(I((e=>{let[t]=e;const{emitter:n}=t.components.particle;n.destroy()})));return D(a,i,s)}function go(e,n){const r=function(e){const n=new t;if("empty"!==e){let t;switch(e){case"grenade":t=ga();break;case"bullet":t=xa();break;default:throw new TypeError("Unknown magazine tile type")}n.addChild(t)}return n.addChild(new u(Yr)),n}(e);return r.x=Tt*n,r}function xo(e){let{enter$:n,exit$:r}=e;return n.pipe(U((e=>"finite"===e.components.playerControlled.magazineType)),K((e=>{const{axisAlignedContainer:n}=e.components.draw,{magazine$:a,initialAmmoAmount:i}=e.components.playerControlled,s=new t;return s.y=-50,s.x=0,s.name="magazine",n.addChild(s),a.pipe(L(a.value),V((e=>{if(0===i)return{emptyAmount:1,magazine:["empty"]};const t=i-e.length,n=[...e].reverse();return{emptyAmount:t,magazine:[...new Array(t).fill("empty"),...n]}})),I((e=>{let{magazine:t,emptyAmount:n}=e;s.removeChildren();let r=0;t.length>0&&(r=-Tt*(t.length-1)/2,t.length===n&&(r+=(1.5*Tt-Tt)/2));const a=t.map(go);a.forEach((e=>{e.x+=r})),a.forEach(((e,t)=>{t<n?e.x-=.25*Tt:t>n?e.x+=.25*Tt:(e.scale.x=1.5,e.scale.y=1.5)})),a.forEach((e=>{s.addChild(e)}))})),q(r.pipe(U((t=>{let[n]=t;return n===e})),I((()=>{n.removeChild(s)})))))})))}function fo(e,t){let{update$:n}=e;return n.pipe(W(function(e){return Ja.pipe(we(ka.type),L(null),V((()=>e.query("phys").filter((e=>{const{body:t}=e.components.phys;return t.isStatic})).map((e=>e.components.phys.body.vertices)).flat().reduce(((e,t)=>Math.max(t.y,e)),-1/0))))}(t)),I((e=>{let[[t],n]=e;const{body:r}=t.components.phys;if(!(r.velocity.y<0))if(t.components.playerControlled){if(r.position.y<=n+100)return;t.dispose(Bi)}else{if(r.position.y<=n+500)return;t.dispose()}})))}function vo(e){let{enter$:t,update$:n,exit$:r}=e;const a=t.pipe(U((()=>"function"==typeof window.navigator.vibrate)),I((()=>window.navigator.vibrate(20)))),i=t.pipe(ne(n.pipe(I((e=>{let[t]=e;const{counter:n}=t.components.timer;Ar.position.x=8*Math.cos(n/15),Ar.position.y=8*Math.sin(n/15)})),q(r.pipe(I((()=>{Ar.position.x=0,Ar.position.y=0})))))));return D(a,i)}function bo(e){const t=bi.getInterpolationPercentage(),{position:n,angle:r,velocity:a,angularVelocity:i}=e.components.phys.body,{container:s,axisAlignedContainer:o}=e.components.draw;o.y=n.y+a.y*t,o.x=n.x+a.x*t,s.rotation=r+i*t}function $o(e){let{enter$:t,update$:n}=e;return D(t,n.pipe(V((e=>{let[t]=e;return t})))).pipe(I(bo))}function wo(e){let{update$:t}=e;return t.pipe(I((e=>{let[t]=e;const{counter:n}=t.components.timer;n<=0&&t.dispose()})))}function ko(e){let{postUpdate$:t}=e;const n=Ja.pipe(we(ka.type),re("name"),I((()=>{jr.scale.x=.5,jr.scale.y=.5}))),r=t.pipe(I((e=>{const t=Math.min(1,.003*e),n=wr(zr);jr.scale.x=Vr(n,jr.scale.x,t),jr.scale.y=Vr(n,jr.scale.y,t)})));return D(n,r)}lo.query=["exploding","phys"],co.query=["filter","timer"],uo.query=["playerControlled","phys"],mo.query=["draw"],yo.query=["timer","explosive"],ho.query=["particle"],xo.query=["playerControlled","draw"],fo.query=["phys","draw"],vo.query=["screenShake","timer"],$o.query=["draw","phys"],wo.query=["timer","selfDestruct"],ko.query=[];const So=Ra("mouse").pipe(L({x:1/0,y:1/0}),V(Pr));function zo(t,n){let{enter$:r,preUpdate$:a,update$:i,exit$:s}=t;const o=new Map,l=r.pipe(I((e=>{const{container:t}=e.components.draw,n=new $([Wr,Gr,Jr]);n.x=0,n.y=0,o.set(e,n),t.addChild(n)}))),c=i.pipe(I((e=>{let[t,n]=e;const{hurtTimer:r}=t.components.playerControlled,a=o.get(t);r>0?a.gotoAndStop(2):2===a.currentFrame&&a.gotoAndStop(0),t.components.playerControlled.hurtTimer-=n}))),p=i.pipe(W(So),I((t=>{let[[r,a],i]=t;const{position:s}=r.components.phys.body,l=e.Vector.magnitudeSquared(e.Vector.sub(i,s)),c=n.query("endpoint","phys"),p=l<5e3||0===c.length?i:function(t,n){return 0===t.length?n:t.map((e=>e.components.phys.body.position)).reduce(((t,r)=>{const a=e.Vector.sub(t,n),i=e.Vector.sub(r,n);return e.Vector.magnitudeSquared(i)<e.Vector.magnitudeSquared(a)?r:t}))}(c,r),{body:u}=r.components.phys,d=o.get(r),m=Math.atan2(p.x-s.x,p.y-s.y)-Math.PI/2+u.angle,y={x:5*Math.cos(m),y:-4*Math.sin(m)},h=1-Math.exp(-a/50);d.x=Vr(y.x,d.x,h),d.y=Vr(y.y,d.y,h),d.scale.x=d.x<0?-1:1}))),u=Math.floor(180),d=a.pipe(ae((e=>e+1),0),I((e=>
1{Array.from(o.values()).forEach(((t,n)=>{if(0!==t.currentFrame&&1!==t.currentFrame)return;const r=(function(e){return 2654435761*e%2**32}(n)+e)%u;r===u-1&&t.gotoAndStop(0),r===u-1-7&&t.gotoAndStop(1)}))}))),m=s.pipe(I((e=>{let[t]=e;const{container:n}=t.components.draw,r=o.get(t);n.removeChild(r),o.delete(t)})));return D(l,p,c,d,m)}function Co(e){let{update$:t,exit$:n}=e;const r=t.pipe(I((e=>{let[t]=e;const{counter:n}=t.components.timer,{duration:r}=t.components.backgroundFlash,s=n/r;zr.backgroundColor=a(j(i(0)).brighter(.5*s).formatHex())}))),s=n.pipe(I((()=>{zr.backgroundColor=0})));return D(r,s)}function Eo(e){let{enter$:t,exit$:n}=e;const r=new Map,a=t.pipe(I((e=>{const{history:t,color:n}=e.components.trail,a=new w(h.WHITE,t);a.tint=n,a.alpha=.2,r.set(e,a),jr.addChild(a)}))),i=n.pipe(I((e=>{let[t]=e;const n=r.get(t);jr.removeChild(n)})));return D(a,i)}function To(e){let{enter$:t,update$:n}=e;const r=t.pipe(I((e=>{const{body:t}=e.components.phys;e.components.trail.history=new Array(10).fill(null).map((()=>new k(t.position.x,t.position.y)))}))),a=n.pipe(I((e=>{let[t]=e;const{history:n}=t.components.trail,{body:r}=t.components.phys;for(let e=1;e!==n.length;e+=1)n[e-1].x=n[e].x,n[e-1].y=n[e].y;const a=n.length-1;n[a].x=r.position.x,n[a].y=r.position.y})));return D(r,a)}function jo(e){let{exit$:t,enter$:n}=e;return n.pipe(K((e=>{const{howls:n}=e.components.audio;return Oa(n).pipe(q(t.pipe(U((t=>{let[n]=t;return n===e})))))})))}function Ao(e){let{exit$:t,update$:n}=e;const r=n.pipe(I((e=>{let[t]=e;const{container:n}=t.components.draw,{frame:r}=t.components.bounce,a=1+.1*(i=r/6,Math.sin(i*Math.PI));var i;n.scale.x=a,n.scale.y=a,r>6?t.removeComponent("bounce"):t.components.bounce.frame=r+1}))),a=t.pipe(I((e=>{let[t]=e;const{container:n}=t.components.draw;n.scale.x=1,n.scale.y=1})));return D(r,a)}function _o(e,t){let{preUpdate$:n}=e;return n.pipe(V((()=>{const e=t.query("playerControlled"),n=t.query("phys").every((e=>{const{body:t}=e.components.phys;return Oi(t)})),r=e.every((e=>{const{magazine$:t,magazineType:n}=e.components.playerControlled;return"infinite"!==n&&0===t.value.length}));return n&&r})),H(),I((e=>
1{e?_i.set(1):_i.set(0)})),G((e=>ie((()=>e),ei.pipe(I((()=>{_i.update((e=>e+1))}))),Q))))}function Po(e,t){let{exit$:n}=e;return n.pipe(U((e=>{let[t,n]=e;return n===Bi})),I((e=>{let[n]=e;const{body:r}=n.components.phys,a=Ui(80),{container:i}=a.components.draw;i.x=r.position.x,i.y=r.position.y,t.addEntity(a),t.addEntity(Ri(oo,6)),t.addEntity(new Bn({particle:ma(16776960,da(r.vertices,r.area))})),Ja.next(ja())})))}function Lo(e){let{preUpdate$:t}=e;if(!$e.Howler.usingWebAudio)return Q;const n=$e.Howler.ctx.createAnalyser();n.fftSize=1024;const r=n.frequencyBinCount,a=new Float32Array(r);return $e.Howler.masterGain.connect(n),t.pipe(I((()=>{let e=.1;void 0!==n.getFloatTimeDomainData&&(n.getFloatTimeDomainData(a),e=Math.sqrt(a.reduce(((e,t)=>e+t*t),0)/a.length)),Tr.amplitude=e})))}function Io(e,t){let{postUpdate$:n}=e;return Ja.pipe(we(ka.type),G((e=>{let{map:{name:r}}=e;return n.pipe(ee((()=>!t.query("phys").some((e=>{const{body:t}=e.components.phys;return!Oi(t)})))),te((()=>{Ja.next(Pa(r))})))})))}zo.query=["playerControlled","draw","phys"],Co.query=["backgroundFlash","timer"],Eo.query=["trail","draw"],To.query=["trail","phys"],jo.query=["audio"],Ao.query=["draw","bounce"],_o.query=[],Po.query=["playerControlled","draw"],Lo.query=[],Io.query=[];class Fo extends S{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const r=new z(arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,t,n),a=new C(e);n>0&&(e.baseTexture.wrapMode=E.REPEAT),super(r,a),this.autoUpdate=!0}_render(e){this.autoUpdate&&this.geometry.update(),super._render(e)}}const Bo=9e-4,Do=.027**2;function Mo(e){return 0!==e.length&&"empty"!==e[e.length-1]}function qo(t){let{enter$:n,exit$:r,update$:a,preUpdate$:i}=t;const s=new Map,o=new Map,l=n.pipe(I((e=>{const{body:t}=e.components.phys,n=new Array(16).fill(null).map((()=>({x:t.position.x,y:t.position.y})));o.set(e,n);const r=new Fo(h.WHITE,n,0,2);r.tint=16776960,r.alpha=.3,s.set(e,r),jr.addChild(r)})),U((e=>"finite"===e.components.playerControlled.magazineType)),K((e=>{const{magazine$:t}=e.components.playerControlled,n=s.get(e);return t.pipe(I((e=>{n.visible=Mo(e)})))}))),c=r.pipe(I((e=>{let[t]=e;const n=s.get(t);jr.removeChild(n)}))),p=i.pipe(W(Ra("mouse")),V((e=>{let[,t]=e;return Pr(t)}))),u=a.pipe(V((e=>{let[t]=e;return t})),U((e=>{const{magazine$:t,magazineType:n}=e.components.playerControlled;return"infinite"===n||Mo(t.value)})),W(p),I((t=>{let[n,r]=t;const{body:a}=n.components.phys,i=o.get(n),s=e.Vector.sub(r,a.position),l=Ni(s),c=e.Vector.mult(l,165),p=Hi(s,a.position);i.forEach(((e,t,n)=>{const r=t/(n.length-1)*500,a=function(e,t,n){return n/Do*(1-Math.exp(-Do*e))+t}(r,p.x,c.x),i=function(e,t,n){return 1/Do*(n-Bo/Do)*(1-Math.exp(-Do*e))+Bo*e/Do+t}(r,p.y,c.y);e.x=a,e.y=i}))})));return D(l,c,u)}qo.query=["playerControlled","phys"];const Vo=Math.max(100,160);function No(t,n,r){const a=e.Vector.sub(t,n),i=Math.max(0,e.Vector.magnitude(a)-r),s=e.Vector.normalise(a),o=e.Vector.mult(s,i);return e.Vector.add(o,n)}function Ho(n){let{update$:r,exit$:a}=n;const i=new Map,s=r.pipe(I((n=>{let[r]=n;const a=[{x:0,y:0},{x:zr.screen.width,y:0},{x:zr.screen.width,y:zr.screen.height},{x:0,y:zr.screen.height}].map(((e,t,n)=>[0===t?n[n.length-1]:n[t-1],e])),{position:s}=r.components.phys.body,o=Lr(s),l=_r();let c=null;a.some((t=>{let[n,r]=t;return c=function(t,n,r,a){const i=e.Vector.sub(n,t),s=e.Vector.sub(a,r),o=(-i.y*(t.x-r.x)+i.x*(t.y-r.y))/(-s.x*i.y+i.x*s.y),l=(s.x*(t.y-r.y)-s.y*(t.x-r.x))/(-s.x*i.y+i.x*s.y);return o>=0&&o<=1&&l>=0&&l<=1?{x:t.x+l*i.x,y:t.y+l*i.y}:null}(n,r,o,l),null!==c}));let p=i.get(r);if(null===c)return void(void 0!==p&&(Cr.removeChild(p),i.delete(r)));if(void 0===p){p=new t;const e=new u(Xr);e.name="arrow";const n=new u(Rr);n.name="door",n.scale.set(.5,.5),p.addChild(e),p.addChild(n),i.set(r,p),Cr.addChild(p)}const d=p.getChildByName("arrow"),m=p.getChildByName("door"),y=e.Vector.sub(o,l),h=e.Vector.angle(y,{x:0,y:0});d.rotation=h+Math.PI/2;const g=Math.min(1,wr(zr)),x=.75*g;d.scale.set(x,x);const f=40*x,v=.5*g;m.scale.set(v,v);const b=Vo*v,$=No(c,l,f);d.position.copyFrom($);const w=No(c,l,f+b);m.position.copyFrom(w)}))),o=a.pipe(I((e=>{let[t]=e;const n=i.get(t);Cr.removeChild(n),i.delete(t)})));return D(s,o)}Ho.query=["endpoint","phys"];const Oo=new class{constructor(){this._systems=[],this._epicToSystem=new Map,this._entities={}}query(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(0===t.length)return Array.from(Object.values(this._entities).reduce(((e,t)=>(t.forEach((t=>e.add(t))),e)),new Set));const r=new Map;for(const e of t){const t=this._entities[e];if(void 0!==t)for(const e of t){const t=r.get(e);r.set(e,void 0===t?1:t+1)}}return[...r.entries()].filter((e=>{let[,n]=e;return n===t.length})).map((e=>{let[t]=e;return t}))}update(e){for(const t of this._systems){t.preUpdate$.next(e);const n=this.query(...t.query);for(const r of n)t.update$.next([r,e]);t.postUpdate$.next(e)}}pushFrontSystem(){this._systems.unshift(...this._insertSystem(...arguments))}pushSystem(){this._systems.push(...this._insertSystem(...arguments))}_insertSystem(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.map((e=>{if(this._epicToSystem.has(e))throw new Error("You tried to add an epic which is already present in the ECS");const t=new Fn(e,this);return this._epicToSystem.set(e,t),this._enterOnAddSystem(t),t}))}_enterOnAddSystem(e){const t=this.query(...e.query);for(const n of t)e._entities.has(n)||e._enter(n)}removeSystem(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.forEach((e=>{const t=this._epicToSystem.get(e);if(this._epicToSystem.delete(e),void 0===t)throw new Error("Trying to remove an epic which is not in the ECS");t.dispose(),this._systems=this._systems.filter((e=>e!==t))}))}addEntity(e){e._ecs=this;for(const t in e.components)this._setupComponent(e,t)}_setupComponent(e,t){void 0===this._entities[t]&&(this._entities[t]=new Set),this._entities[t].add(e);e:for(const t of this._systems)if(!t._entities.has(e)){for(const n of t.query)if(void 0===e.components[n])continue e;t._enter(e)}}};if(T.any||Oo.pushSystem(qo),Oo.pushSystem(io,ao,yo,lo,ho,Ho,jo,To,Eo,Fi,Ji,fo,uo,ko,Ao,_o,Po,Io,zo,xo,co,Co,vo,wo,$o,Lo,mo),window.ecs=Oo,window.aiptag&&window.aiptag.cmd.player.push((()=>{window.adplayer=new window.aipPlayer({AD_WIDTH:960,AD_HEIGHT:540,AD_FULLSCREEN:!0,AD_CENTERPLAYER:!1,LOADING_TEXT:"loading advertisement",PREROLL_ELEM:()=>Sr,AIP_COMPLETE:()=>{Ja.next(Ba())},AIP_REWARDEDCOMPLETE:e=>{Ja.next(Ma("canceled"!==e))}})})),window.googletag.cmd.push((()=>{window.googletag.pubads().addEventListener("impressionViewable",(e=>{Ja.next(Va(e.slot))}))}
1)),"serviceWorker"in navigator){const{Workbox:e}=await import("./workbox-window-c81cc5af.js");new e("sw.js").register()}const Ro=wa("requestFs"),Uo=wa("toggleFs"),Wo=wa("exitFs");var Jo=Object.freeze({__proto__:null,mobileFullScreenEpic:function(){return T.phone?P(document,"click",{capture:!0}).pipe(U((()=>!document.fullscreenElement&&!window.matchMedia("(display-mode: standalone)").matches)),V((()=>Ro()))):Q},requestFullscreenEpic:function(e){return e.pipe(we(Ro.type),U((()=>document.fullscreenEnabled&&void 0!==window.document.body.requestFullscreen)),K((()=>se(window.document.body.requestFullscreen({navigationUI:"hide"})).pipe(U((()=>window.screen&&window.screen.orientation&&window.screen.orientation.lock)),K((()=>se(window.screen.orientation.lock("landscape")).pipe(oe((()=>Q)))))))),Z())},exitFullscreenEpic:function(e){return e.pipe(we(Wo.type),I((()=>{document.exitFullscreen()})),Z())},toggleFullscreenEpic:function(e){return e.pipe(we(Uo.type),V((()=>Si()?Wo():Ro())))}});const Go=wa("skip"),Ko=wa("toggleMusic"),Yo=wa("userInitiatedRestart"),Zo=wa("gtmEvent",((e,t,n)=>({eventNoun:e,eventVerb:t,eventData:n}))),Qo=Ce([{path:"/main",props:{}}]),Xo=Ee(Qo,(e=>{if(e.length<=0)return null;return e[e.length-1]})),el=Ce(null),tl=wa("navigate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"push";return"string"==typeof e?{path:e,method:t,props:{}}:{method:"push",props:{},...e}})),nl=wa("pop",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return{depth:e}})),rl=wa("closePopup"),al=wa("openPopup",(e=>"string"==typeof e?{name:e,props:{}}:e)),il=ze(!1,(e=>{window.aiptag&&window.aiptag.cmd.display.push((()=>e(!0)))})),sl=ze(!1,(e=>{window.whenPokiSdkInit&&window.whenPokiSdkInit.then((()=>e(!0)))})),ol=Ee([il,sl],(e=>{let[t,n]=e;return t||n}));let ll=Date.now()-6e4;var cl=Object.freeze({__proto__:null,resetLastAdTimeEpic:function(e){return e.pipe(we(Ba.type),I((()=>{ll=Date.now()})),Z())},rewardedVideoEpic:function(e){return Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})),V((e=>{let{props:t}=e;return t.level})),V((e=>{let{storageId:t,id:n}=e;return t||n})),G((t=>e.pipe(we(Go.type),G((()=>D(e.pipe(we(Ma.type),V((e=>{let{reward:t}=e;return t?qa():al({name:"error",props:{title:ba(ds).text,message:ba(ms).text}})}))),Y(Da(),Zo("skip","startAd",{levelName:t})))))))))},trackRewardedCompletion:function(e){return Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})),V((e=>{let{props:t}=e;return t.level})),V((e=>{let{storageId:t,id:n}=e;return t||n})),G((t=>e.pipe(we(Ma.type),V((e=>{let{reward:n}=e;return Zo("skip","completeAd",{reward:n,levelName:t})}))))))},midrollEpic:function(e){return e.pipe(we(Aa.type),W(Ha(il)),G((t=>{let[{name:n},r]=t;return!r||ll+12e4>Date.now()?Y(Sa(n)):D(e.pipe(we(Ba.type),V((()=>Sa(n)))),Y(Fa()))})))},startPrerollEpic:function(e){return e.pipe(we(Fa.type),I((()=>{window.aiptag.cmd.player.push((()=>{window.adplayer.startPreRoll()}))})),Z())},startRewardedEpic:function(e){return e.pipe(we(Da.type),I((()=>{window.aiptag.cmd.player.push((()=>{window.adplayer.startRewardedAd()}))})),Z())}});var pl=Object.freeze({__proto__:null,gameLoadingFinishedEpic:function(){return se(window.whenPokiSdkInit).pipe(U((()=>window.PokiSDK)),I((()=>{window.PokiSDK.gameLoadingFinished()})),Z())},midrollEpic:function(e){return le(e.pipe(we(Aa.type),V((e=>{let{name:t}=e;return Sa(t)})),q(se(window.whenPokiSdkInit))),e.pipe(we(Aa.type),G((e=>{let{name:t}=e;return window.PokiSDK?D(Y(Fa()),se(window.PokiSDK.commercialBreak()).pipe(K((()=>Y(Ba(),Sa(t)))))):Y(Sa(t))}))))},rewardedVideoEpic:function(e){return e.pipe(we(Go.type),V((()=>Te(Xo))),U((e=>{let{path:t}=e;return"/game"===t})),V((e=>{let{props:{level:t}}=e;return t.storageId||t.id})),R((e=>window.PokiSDK?D(Y(Da(),Zo("skip","startAd",{levelName:e})),se(window.PokiSDK.rewardedBreak()).pipe(K((t=>t?Y(Zo("skip","completeAd",{reward:!0,levelName:e}),Ma(),qa()):Y(Zo("skip","completeAd",{reward:!1,levelName:e}),Ma()))))):Y(al({name:"error",props:{title:ba(ds).text,message:ba(xs).text}})))))},pokiGameplayEpic:function(e){const t=e.pipe(we(Zo.type),U((e=>{let{eventNoun:t,eventVerb:n}=e;return"play"===t&&"stop"===n}))),n=e.pipe(we(Zo.type),U((e=>{let{eventNoun:t,eventVerb:n}=e;return"play"===t&&"start"===n})));return N([n,D(P(document,"pointerdown",{capture:!0}).pipe(U((e=>{let{target:t}=e;return t===kr}))),P(document,"keydown",{capture:!0}).pipe(U((e=>" "===e.key)))).pipe(W(Wa(e)),U((e=>{let[,t]=e;return!t})),V((e=>{let[t]=e;return t})),M(1))]).pipe(V((e=>{let[t]=e;return t})),M(1),ce(((e,r)=>(r%2==0?t:n).pipe(M(1)))),U((()=>window.PokiSDK)),I((e=>{let{eventVerb:t,eventData:n}=e;switch(t){case"start":window.PokiSDK.gameplayStart({levelName:n.levelName});break;case"stop":window.PokiSDK.gameplayStop({levelName:n.levelName})}})),Z())},roundStartEpic:function(e){return e.pipe(we(Zo.type),U((e=>{let{eventNoun:t,eventVerb:n}=e;return"level"===t&&"start"===n})),U((()=>window.PokiSDK)),I((e=>{let{eventData:t}=e;return window.PokiSDK.roundStart(t.levelName)})),Z())},roundStopEpic:function(e){return e.pipe(we(Zo.type),U((e=>{let{eventNoun:t,eventVerb:n}=e;return"level"===t&&"win"===n})),U((()=>window.PokiSDK)),I((e=>{let{eventData:t}=e;return window.PokiSDK.roundEnd(t.levelName)})),Z())}});var ul=Object.freeze({__proto__:null,midrollEpic:function(e){return e.pipe(we(Aa.type),V((e=>{let{name:t}=e;return Sa(t)})))}});const dl=wa("nextLevelUserInteraction",((e,t)=>
1({timeFromGrey:e,nextLevelId:t})));var ml=Object.freeze({__proto__:null,loadingEpic:function(e){return e.pipe(we(Sa.type),V((e=>{let{name:t}=e;return tl({path:"/load",props:{level:di(t)},method:"/menu"===Te(Xo).path?"push":"replace"})})))},loadingMountedEpic:function(e){return e.pipe(we(La.type),G((e=>{let{level:t}=e;return"string"==typeof t.storageId?Ua.pipe(ee((()=>!1===li[t.storageId].next().done)),Z(),pe(za(mi(t.storageId)))):Y(za(function(e){const t=si(e.entities);let n;for(;;){const e=t.next();if(e.done){n=e.value;break}}const r={...e,entities:n};return delete r.storageId,r}(t)))})))},skipHintEpic:function(e){return e.pipe(we(Sa.type),I((()=>{Pi.set(0)})),G((()=>e.pipe(we(_a.type),I((()=>{Pi.update((e=>e+1))}))))),Z())},nextLevelUserInteractionEpic:function(e){return Ha(Xo).pipe(G((t=>{let{path:n}=t;return ie((()=>"/next"===n),e.pipe(we(dl.type),V((e=>{let{nextLevelId:t}=e;return Ia(void 0,t)}))),Q)})))}});function yl(e,t){return e===t||e.startsWith(`${t}/`)}const hl=wa("getLevel",((e,t)=>({url:e,id:t}))),gl=wa("getLevelWithMeta",(e=>({id:e}))),xl=wa("getLevelError",((e,t)=>({id:e,error:t}))),fl=wa("getLevelSuccess",((e,t)=>({id:e,response:t}))),vl=wa("navigateToLevel",(e=>({level:e}))),bl=wa("getLevels",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{params:e,callApiParams:t}}));wa("getLevelsSuccess"),wa("getLevelsError");const $l=wa("getMyLevels");wa("levelFileLoad",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"load",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{ev:e,target:t,levelId:n}}));const wl=wa("uploadLevel",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{level:e,publish:t}})),kl=wa("reuploadLevel",((e,t)=>({level:e,levelId:t}))),Sl=wa("loadLevel",(e=>({level:e}))),zl=wa("addLevelsToStore",(e=>({levels:e}))),Cl=wa("deleteLevel",(e=>({levelId:e}))),El=wa("publishLevel",(e=>({levelId:e}))),Tl=wa("publishLevelConfirmed",(e=>({levelId:e}))),jl=wa("getMe"),Al=wa("logout");var _l=Object.freeze({__proto__:null,menuToggleEventEpic:function(e){return P(document,"keydown").pipe(U((e=>"m"===e.key||"M"===e.key)),W(Ha(Xo).pipe(U((e=>null!==e))),Wa(e)),U((e=>{let[,t,n]=e;return!yl(t.path,"/menu")&&!n})),ue(tl("/menu")))},settingsShortcutEpic:function(e){return P(document,"keydown").pipe(U((e=>"Escape"===e.key)),W(Ha(el),Wa(e)),U((e=>{let[,,t]=e;return!t})),V((e=>{let[,t]=e;return null===t?al("settings"):rl()})))},restartEventEpic:function(e){return P(document,"keydown").pipe(U((e=>("r"===e.key||"R"===e.key)&&!e.ctrlKey)),W(Wa(e)),U((e=>{let[,t]=e;return!t})),ue(Yo()))},editorLoadLevelMessageEpic:function(){return P(window,"message").pipe(U((e=>{let{origin:t}=e;return jt.includes(t)})),de("data"),U((e=>{let{type:t}=e;return"loadLevel"===t})),V((e=>{let{level:t}=e;return Sl({...t,draft:!0})})))},editorUploadLevelMessageEpic:function(){return P(window,"message").pipe(U((e=>{let{origin:t}=e;return jt.includes(t)})),de("data"),U((e=>{let{type:t}=e;return"uploadLevel"===t})),V((e=>{let{level:t}=e;return al({name:"upload",props:{level:t}})})))},editorHomeMessageEpic:function(){return P(window,"message").pipe(U((e=>{let{origin:t}=e;return jt.includes(t)})),de("data"),U((e=>{let{type:t}=e;return"home"===t})),ue(tl("/main")))},loginSuccessMessageEpic:function(){return P(window,"message").pipe(U((e=>{let{origin:t}=e;return t===new URL("https://api.bombhopper.io/v1").origin})),de("data"),U((e=>"object"==typeof e&&"loginSuccess"===e.type)),W(Ha(Xo)),K((e=>{let[,{props:t}]=e;const n=[jl(),rl()];return"object"==typeof t.level&&"string"==typeof t.level.id&&n.push(gl(t.level.id)),Y(...n)})))},beforeunloadPromptEpic:function(){return T.any?P(window,"beforeunload").pipe(I((e=>{e.preventDefault()})),Z()):Q},portalIframeEpic:function(){return D(P(document,"wheel").pipe(U((e=>{let{target:t}=e;return t===kr}))),P(document,"keydown").pipe(U((e=>[" ","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp"].includes(e.key))))).pipe(I((e=>e.preventDefault())),Z())}});
1function Pl(e){e.query().forEach((e=>e.dispose()))}function Ll(e,t,n){Pl(t),function(e,t){return e.map((e=>{const n=t[e.type];if(n)return new n(e.params,e.texture);throw new Error(`Unknown entity type: ${e.type}`)}))}(e,n).forEach((e=>t.addEntity(e)))}var Il=Object.freeze({__proto__:null,userInitiatedRestartEpic:function(e){return Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})),de("props","level"),G((t=>{let{storageId:n,id:r}=t;return e.pipe(we(Yo.type),K((()=>Y(Zo("level","restart",{levelName:n||r}),_a()))))})))},restartEpic:function(e){return e.pipe(we(ja.type),me(300),ue(_a()))},enterDoorEpic:function(e){return e.pipe(we(Pa.type),G((()=>{const t=Date.now();return e.pipe(we(Ca.type),V((e=>{let{destination:n}=e;return Ea(new Date(Date.now()-t),n)})))})))},winCustomEpic:function(e){return e.pipe(we(Ea.type),W(Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})))),U((e=>{let[,{props:{level:t}}]=e;return"string"!=typeof t.storageId})),V((e=>{let[{time:t,destination:n},{props:{level:r}}]=e;return tl({path:"/next",props:{level:r,time:t,nextLevelId:n},method:"replace"})})))},winInternalEpic:function(e){return e.pipe(we(Ea.type),W(Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})))),U((e=>{let[,{props:{level:t}}]=e;return"string"==typeof t.storageId})),V((e=>{let[{time:t,destination:n},{props:{level:r}}]=e;const a=Te(Ti)[r.storageId],i=void 0!==a&&"number"==typeof a.time?new Date(a.time):null;return{currentLevel:r.storageId,level:r,time:t,previousBestTime:i,nextLevelId:n}})),I((e=>{let{currentLevel:t,time:n}=e;return Ti.update((e=>{const r=e[t]||{};return{...e,[t]:{...r,time:Math.min(n,r&&r.time?r.time:1/0),skipped:!1}}}))})),G((t=>{let{time:n,previousBestTime:r,level:a,nextLevelId:i}=t;return he(300).pipe(V((()=>{const e=pi[pi.length-1];return a.storageId===e?tl("/end","replace"):tl({path:"/next",props:{level:a,time:n,previousBestTime:r,nextLevelId:i},method:"replace"})})),q(e.pipe(we(_a.type))))})))},clearEcsEpic:function(){return Ha(Xo).pipe(U((e=>null!==e&&yl(e.path,"/next"))),I((()=>{Pl(Oo)})),Z())},runEpic:function(e){return e.pipe(we(za.type),G((t=>{let{level:n}=t;return e.pipe(we(_a.type),L(null),V((()=>oi(n))),K((e=>(Ll(e.entities,Oo,ii),Y(tl({path:"/game",props:{level:n},method:"replace"}),ka(e))))))})))},gameLoopEpic:function(){const e=D(Ua.pipe(M(1),I((e=>{bi.reset(e),zr.render(Cr)}))),Ua.pipe(ye(),I((e=>{let[t,n]=e;Oo.update(n-t)})))),t=[P(document,"visibilitychange").pipe(V((()=>!document.hidden))),Ha(Xo).pipe(V((e=>null!==e&&yl(e.path,"/game")))),Ha(Ai).pipe(V((e=>!e))),Ha(el).pipe(V((e=>!e)))].map((e=>e.pipe(L(!0)))),n=N(...t).pipe(V((e=>e.every((e=>!0===e)))),H()),r=n.pipe(U((e=>e)),ne(e.pipe(q(n.pipe(U((e=>!e)))))),Z()),a=n.pipe(U((e=>e)),ne(P(window,"contextmenu").pipe(I((e=>e.preventDefault())),q(n.pipe(U((e=>!e))))))),i=n.pipe(W(Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})),de("props","level"),V((e=>{let{storageId:t,id:n}=e;return t||n})))),V((e=>{let[t,n]=e;return Zo("play",t?"start":"stop",{levelName:n})})));return D(r,a,i)},nextLevelEpic:function(e){return Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/next"===t||"/game"===t})),de("props","level"),G((t=>{let{storageId:n}=t;const r=e.pipe(we(Ia.type));return"string"!=typeof n?r.pipe(G((e=>{let{nextLevelId:t}=e;return"string"==typeof(n=t)&&/[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}/.test(n)?Y(tl({path:"/load-url",props:{level:{id:t}}}),gl(t)):Y(nl());var n}))):r.pipe(V((e=>{let{noPreroll:t,nextLevelId:n}=e;return n?t?Sa(n):Aa(n):tl("/main")})))})))}});var Fl=Object.freeze({__proto__:null,doorSoundEpic:function(e){return e.pipe(we(Ca.type),K((()=>Oa(Mr.door))),Z())},deathSoundEpic:function(e){return e.pipe(we(ja.type),K((()=>Oa(Mr.death))),Z())},spawnSoundEpic:function(e){return e.pipe(we(_a.type),K((()=>Oa(Mr.spawn))),Z())},musicEpic:function(e){const t=[P(document,"visibilitychange").pipe(V((()=>!document.hidden))),e.pipe(we(Ko.type),V(((e,t)=>t%2==1))),D(e.pipe(we(Fa.type),ue(!1)),e.pipe(we(Ba.type),ue(!0))),D(e.pipe(we(Da.type),ue(!1)),e.pipe(we(Ma.type),ue(!0)))].map((e=>e.pipe(L(!0)))),n=N(...t).pipe(V((e=>e.every((e=>!0===e)))),H(),ge(1)),r=P(Dr,"load").pipe(M(1),G((()=>n.pipe(xe((e=>!1!==e)),I((e=>{e?Dr.play():Dr.pause()})))))),a=n.pipe(I((e=>{e?($e.Howler.volume(1),Ci.set(!0)):($e.Howler.volume(0),Ci.set(!1))})));return D(r,a).pipe(Z())}});const Bl=wa("installPwa");var Dl=Object.freeze({__proto__:null,pwaInstallEpic:function(e){return P(window,"beforeinstallprompt").pipe(G((t=>D(e.pipe(we(Bl.type),I((()=>t.prompt())))))),Z())}});var Ml=Object.freeze({__proto__:null,trackEpic:function(e){return e.pipe(we(Zo.type),I((e=>{let{eventNoun:t,eventVerb:n,eventData:r}=e;wi(t,n,r)})),Z())},trackLevelStartEpic:function(e){return e.pipe(we(za.type),V((e=>{let{level:t}=e;return Zo("level","start",{levelName:t.storageId||t.id})})))},trackLevelCompleteEpic:function(e){return e.pipe(we(Ea.type),W(Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})),V((e=>{let{props:{level:t}}=e;return t.storageId||t.id})))),V((e=>{let[{time:t},n]=e;return Zo("level","win",{levelName:n,time:t.getTime()})})))},trackLoseEpic:function(e){return e.pipe(we(ja.type),W(Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/game"===t})),V((e=>{let{props:{level:t}}=e;return t.storageId||t.id})))),V((e=>{let[,t]=e;return Zo("level","lose",{levelName:t})})))},trackFullscreenEpic:function(){return P(document,"fullscreenchange").pipe(V((()=>Zo("fullscreen",document.fullscreenElement?"turnOn":"turnOff"))))},toggleMusicEpic:function(e){return e.pipe(we(Ko.type),ue(Zo("setting","toggleMusic")))},trackPwaInstallButtonEpic:function(e){return e.pipe(we(Bl.type),ue(Zo("pwa","installButtonClick")))},trackSpiralOfDeath:function(){return Ha(Ai).pipe(U((e=>e)),ue(Zo("perf","spiralOfDeath")))}});var ql=Object.freeze({__proto__:null,skipLevelEpic:function(e){return e.pipe(we(qa.type),V((()=>Te(Xo))),U((e=>{let{path:t}=e;return"/game"===t})),V((e=>{let{props:t}=e;return t.level})),U((e=>{let{storageId:t}=e;return"string"==typeof t})),I((e=>{let{storageId:t}=e;return Ti.update((e=>{const n=e[t]||{};return{...e,[t]:{...n,skipped:!1!==n.skipped}}}))})),V((e=>{let{entities:t}=e;const n=t.find((e=>{let{type:t,params:n}=e;return"endpoint"===t&&"string"==typeof n.destination}));return n?n.params.destination:void 0})),K((e=>Y(rl(),Ia(!0,e)))))}});const Vl=Ce({pending:!1,done:!1}),Nl=Ce({}),Hl=Ee(Nl,(e=>Object.values(e).filter((e=>!e.error&&void 0!==e.data&&e.data.publication)))),Ol=Ee(Hl,(e=>e.sort(((e,t)=>t.data.hot_score-e.data.hot_score)))),Rl=Ee(Hl,(e=>e.sort(((e,t)=>t.data.score-e.data.score)))),Ul=Ee(Hl,(e=>e.sort(((e,t)=>new Date(t.data.publication)-new Date(e.data.publication))))),Wl=Ee([Nl,Vl],(e=>{let[t,n]=e;return!n.done||n.error?[]:Object.values(t).filter((e=>!e.error&&e.data.author_id===n.data.id))})),Jl=Ce({pending:!1,done:!1}),Gl=Ce({pending:!1,done:!1});var Kl=Object.freeze({__proto__:null,getMyLevelsEpic:function(e){const t=Ha(Vl).pipe(U((e=>{let{done:t,status:n}=e;return t&&200===n})),V((e=>{let{data:t}=e;return t.id})),H()),n=e.pipe(we($l.type));return N(t,n).pipe(I((()=>{Gl.update((e=>({...e,pending:!0})))})),V((e=>{let[t]=e;return bl({author:t})})))},navigateToLevelEpic:function(e){return e.pipe(we(vl.type),W(Ha(Xo)),V((e=>{let[{level:t},{path:n}]=e;return tl({path:"/load",props:{level:t},method:"/load-url"===n?"replace":"push"})})))},levelUrlParamEpic:function(){return Ha(Xo).pipe(V((e=>{let{path:t,props:n}=e;return["/game","/next","/load","/load-url"].includes(t)&&void 0!==n.level.id?n.level.id:null})),H(),I((e=>{const t=new URL(document.location.href);null===e?t.searchParams.delete("level"):t.searchParams.set("level",e),window.history.replaceState(null,"",t.href)})),Z())},getLevelSuccessEpic:function(e){return e.pipe(we(fl.type),V((e=>{let{response:t,id:n}=e;return{...t,id:n}})),I((e=>{Nl.update((t=>
1({...t,[e.id]:{...t[e.id],done:!0,pending:!1,data:{...t[e.id].data,...e}}})))})),V((e=>vl(e))))},getLevelErrorEpic:function(e){return e.pipe(we(xl.type),I((e=>{let{error:t,id:n}=e;Nl.update((e=>({...e,[n]:{done:!0,pending:!1,error:t}})))})),V((e=>{let{error:t}=e;return al({name:"error",props:{title:"Failed to load level",message:t}})})))},handleLoadUrlErrorEpic:function(e){return Ha(Xo).pipe(U((e=>{let{path:t}=e;return"/load-url"===t})),G((()=>e.pipe(we(xl.type),V((()=>tl("/menu")))))))},loadLevelEpic:function(e){return e.pipe(we(Sl.type),V((e=>{let{level:t}=e;return tl({path:"/load",props:{level:t},method:"push"})})))},addLevelsToStoreEpic:function(e){return e.pipe(we(zl.type),I((e=>{let{levels:t}=e;Nl.update((e=>{const n=t.reduce(((e,t)=>{let n;return void 0!==e[t.id]&&(n=void 0!==e[t.id].pending&&e[t.id].pending),e[t.id]={...e[t.id],pending:n,data:{...e[t.id]?e[t.id].data:{},...t}},e}),e);return n}))})),Z())},levelUploadUiEpic:function(e){return e.pipe(we(wl.type,kl.type),V((()=>al({name:"message",props:{title:"Upload in progress",message:"Please wait",closable:!1}}))))},publishLevelConfirmationEpic:function(e){return e.pipe(we(El.type),U((()=>window.confirm("Are you sure you want to publish this level?"))),V((e=>{let{levelId:t}=e;return Tl(t)})))}});const Yl=wa("upvote",(e=>({levelId:e}))),Zl=wa("downvote",(e=>({levelId:e}))),Ql=wa("vote",((e,t)=>({levelId:e,direction:t}))),Xl=Ha(Vl).pipe(U((e=>{let{done:t,status:n}=e;return t&&200===n})));var ec=Object.freeze({__proto__:null,upvoteEpic:function(e){return Xl.pipe(K((()=>e.pipe(we(Yl.type),W(Ha(Nl)),V((e=>{let[{levelId:t},n]=e;const r=1===n[t].data.vote_direction?0:1;return Ql(t,r)}))))))},downvoteEpic:function(e){return Xl.pipe(K((()=>e.pipe(we(Zl.type),W(Ha(Nl)),V((e=>{let[{levelId:t},n]=e;const r=-1===n[t].data.vote_direction?0:-1;return Ql(t,r)}))))))},loginToVote:function(e){return e.pipe(we(Yl.type,Zl.type),V((()=>al({name:"login",props:{reason:ba(Ms).text}}))),q(Xl))},storeLocalVoteEpic:function(e){return e.pipe(we(Ql.type),I((e=>{let{direction:t,levelId:n}=e;Nl.update((e=>({...e,[n]:{...e[n],data:{...e[n].data,localVoteDirection:t}}})))})),Z())}});function tc(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>[];const r=r=>r.pipe(we(e),K((e=>{const r=new _,a=new _,i=t(e),s=n({success$:r,error$:a},e);return D(...s,i.pipe(I((e=>r.next(e))),oe((e=>(a.next(e),Q))),te((()=>{r.complete(),a.complete()})),Z()))})));return Object.defineProperty(r,"name",{value:`createApiEpic(${e.toString()})`}),r}const nc=wa("addRole",(e=>({role:e})));function rc(e){return`https://bombhopper.io/?level=${e}`}const ac=tc(jl.type,(()=>fe({url:"https://api.bombhopper.io/v1/players/me",withCredentials:!0,crossDomain:!0})),(e=>{let{success$:t,error$:n}=e;return[t.pipe(I((e=>{let{response:t,status:n}=e;Vl.update((e=>({...e,pending:!1,done:!0,status:n,data:t})))})),Z()),n.pipe(I((e=>{let{response:t,status:n}=e;Vl.update((e=>({...e,pending:!1,done:!0,status:n,error:t})))})),Z())]})),ic=tc(Al.type,(()=>fe({url:"https://api.bombhopper.io/v1/oauth2/discord/logout",method:"POST",withCredentials:!0,crossDomain:!0})),(e=>{let{success$:t,error$:n}=e;return[t.pipe(I((()=>{const e=`Logged out at ${(new Date).toUTCString()}`;Vl.update((t=>({...t,pending:!1,done:!0,status:401,data:void 0,error:e}))),Gl.update((t=>({...t,pending:!1,done:!0,error:e})))})),Z()),n.pipe(V((e=>{let{response:t,status:n}=e;return al({name:"error",props:{title:`${n} - Logout failure`,message:JSON.stringify(t)}})})))]})),sc=tc(bl.type,(e=>{let{params:t}=e;const n=new URLSearchParams(t);if(void 0===t.author){if(Te(Jl).pending)return Q;Jl.update((e=>({...e,pending:!0})))}return fe({url:`https://api.bombhopper.io/v1/levels?${n.toString()}`,withCredentials:!0,crossDomain:!0})}),((e,t)=>{let{success$:n,error$:r}=e,{params:a}=t;const i=void 0===a.author;return[n.pipe(V((e=>{let{response:t}=e;return zl(t)}))),n.pipe(U((()=>i)),I((()=>{Jl.update((e=>({...e,pending:!1,done:!0})))})),Z()),n.pipe(W(Ha(Vl).pipe(U((e=>{let{done:t}=e;return t})),V((e=>{let{data:t}=e;return t?.id})))),U((e=>{let[,t]=e;return void 0!==a.author&&a.author===t})),I((()=>{Gl.update((e=>({...e,pending:!1,done:!0})))})),Z()),r.pipe(W(Ha(Vl).pipe(U((e=>{let{done:t}=e;return t})),V((e=>{let{data:t}=e;return t?.id})))),U((e=>{let[,t]=e;return void 0!==a.author&&a.author===t})),I((e=>{let{response:t}=e;Gl.update((e=>({...e,pending:!1,done:!0,error:t})))})),Z()),r.pipe(U((()=>i)),I((e=>{let{response:t}=e;Jl.update((e=>({...e,pending:!1,done:!0,error:t})))})),Z())]})),oc=tc(hl.type,(e=>{let{url:t}=e;return fe({url:t,crossDomain:!0})}),((e,t)=>{let{success$:n,error$:r}=e,{id:a}=t;return Nl.update((e=>({...e,[a]:{...e[a],done:!1,pending:!0}}))),[n.pipe(V((e=>{let{response:t}=e;return fl(a,t)}
1))),r.pipe(V((e=>xl(a,e))))]})),lc=tc(gl.type,(e=>{let{id:t}=e;return ve(fe({url:`https://api.bombhopper.io/v1/levels/${t}`,withCredentials:!0,crossDomain:!0}),fe({url:`https://assets.bombhopper.io/levels/${t}.json`,crossDomain:!0}))}),((e,t)=>{let{error$:n,success$:r}=e,{id:a}=t;return[r.pipe(K((e=>{let[{response:t},{response:n}]=e;return Y(zl([t]),fl(a,n))}))),n.pipe(V((e=>xl(a,e))))]})),cc=tc(wl.type,(e=>{let{level:t}=e;return fe({url:"https://api.bombhopper.io/v1/levels",method:"POST",body:t,headers:{"Content-Type":"application/json"},withCredentials:!0,crossDomain:!0})}),((e,t)=>{let{error$:n,success$:r}=e,{publish:a}=t;return[r.pipe(U((()=>a)),V((e=>{let{response:t}=e;return t})),K((e=>{let{id:t}=e;return Y(Tl(t),rl())}))),r.pipe(V((e=>{let{response:t}=e;return t})),V((e=>{let{id:t}=e;return al({name:"share",props:{title:"Upload successful!",message:"Share your level with your friends!",url:rc(t)}})}))),r.pipe(V((e=>{let{response:t}=e;return zl([t])}))),n.pipe(V((e=>{let{response:t,status:n}=e;return al({name:"error",props:{title:`${n} - Level upload failure`,message:JSON.stringify(t)}})})))]})),pc=tc(Cl.type,(e=>{let{levelId:t}=e;return fe({url:`https://api.bombhopper.io/v1/levels/${t}`,method:"DELETE",withCredentials:!0,crossDomain:!0})}),((e,t)=>{let{error$:n,success$:r}=e,{levelId:a}=t;return Nl.update((e=>e[a]?{...e,[a]:{...e[a],deletionPending:!0}}:e)),[n.pipe(I((()=>{Nl.update((e=>e[a]?{...e,[a]:{...e[a],deletionPending:!1}}:e))})),V((e=>{let{response:t,status:n}=e;return al({name:"error",props:{title:`${n} - Level deletion failure`,message:JSON.stringify(t)}})}))),r.pipe(I((()=>{Nl.update((e=>{if(!e[a])return e;const t={...e};return delete t[a],t}))})),Z())]})),uc=tc(Tl.type,(e=>{let{levelId:t}=e;return fe({url:`https://api.bombhopper.io/v1/levels/${t}/publish`,method:"POST",withCredentials:!0,crossDomain:!0})}),((e,t)=>{let{error$:n,success$:r}=e,{levelId:a}=t;return[n.pipe(V((e=>{let{response:t,status:n}=e;return al({name:"error",props:{title:`${n} - Level publication failure`,message:JSON.stringify(t)}})}))),r.pipe(I((()=>{Nl.update((e=>({...e,[a]:{...e[a],data:{...e[a].data,publication:(new Date).toJSON()}}})))})))]})),dc=tc(kl.type,(e=>{let{level:t,levelId:n}=e;return fe({url:`https://api.bombhopper.io/v1/levels/${n}`,method:"PUT",body:t,withCredentials:!0,crossDomain:!0})}),((e,t)=>{let{error$:n,success$:r}=e,{levelId:a}=t;return[n.pipe(I((()=>{Nl.update((e=>e[a]?{...e,[a]:{...e[a]}}:e))})),V((e=>{let{response:t,status:n}=e;return al({name:"error",props:{title:`${n} - Level reupload failure`,message:JSON.stringify(t)}})}))),r.pipe(I((()=>{Nl.update((e=>e[a]?{...e,[a]:{...e[a]}}:e))})),K((e=>{let{response:t}=e;return Y(zl([t]),al({name:"message",props:{title:"Level uploaded!",message:"Sucessfully replaced"}}))})))]})),mc=tc(Ql.type,(e=>{let{levelId:t,direction:n}=e;return fe({url:`https://api.bombhopper.io/v1/levels/${t}/votes`,method:"POST",withCredentials:!0,crossDomain:!0,body:{direction:n}})}),((e,t)=>{let{success$:n,error$:r}=e,{levelId:a,direction:i}=t;return[n.pipe(I((()=>{Nl.update((e=>{const t=e[a].data.vote_direction,n=i-t;return{...e,[a]:{...e[a],data:{...e[a].data,vote_direction:i,score:e[a].data.score+n,localVoteDirection:void 0}}}}))})),Z()),r.pipe(I((()=>{Nl.update((e=>({...e,[a]:{...e[a],data:{...e[a].data,localVoteDirection:void 0}}})))})),V((e=>{let{response:t,status:n}=e;return al({name:"error",props:{title:`${n} - Level vote failure`,message:JSON.stringify(t)}})})))]})),yc=tc(nc.type,(e=>{let{role:t}=e;return fe({url:`https://api.bombhopper.io/v1/players/me/roles/${t}`,withCredentials:!0,method:"PUT",crossDomain:!0})}),((e,t)=>{let{success$:n,error$:r}=e,{role:a}=t;return[n.pipe(V((()=>al({name:"message",props:{title:`You got ${a}!`,message:"Go check it out on Discord!"}})))),r.pipe(V((e=>{let{response:t,status:n}=e;return al({name:"error",props:{title:`${n} - ${a} - Add role failure`,message:JSON.stringify(t)}})})))]}));var hc=Object.freeze({__proto__:null,getMeEpic:ac,logoutEpic:ic,getLevelsEpic:sc,getLevelEpic:oc,getLevelWithMetaEpic:lc,levelUploadEpic:cc,deleteLevelEpic:pc,publishLevelEpic:uc,levelReuploadEpic:dc,voteEpic:mc,addRoleEpic:yc});var gc=Object.freeze({__proto__:null,navigateEpic:function(e){return e.pipe(we(tl.type),I((e=>{let{path:t,method:n,props:r}=e;const a={path:t,props:r};Qo.update((e=>{const t=function(e,t,n){return["/menu","/main"].includes(t.path)?"clearTop":n.length<=1&&"replace"===e?"push":e}(n,a,e);switch(t){case"clearTop":return function(e,t){const n=e.findIndex((e=>e.path===t.path));return-1===n?[...e,t]:[...e.slice(0,n),t]}(e,a);case"push":return function(e,t){return[...e,t]}(e,a);case"replace":return function(e,t){return[...e.slice(0,-1),t]}(e,a);default:throw new Error("Invalid navigation method")}}))})),Z())},popEpic:function(e){return e.pipe(we(nl.type),I((e=>{let{depth:t}=e;Qo.update((e=>e.length<=1?e:e.slice(0,-t)))})),Z())},closePopupEpic:function(e){return e.pipe(we(rl.type),I((()=>{el.set(null)})),Z())},openPopupEpic:function(e){return e.pipe(we(al.type),I((e=>{el.set(e)})),Z())}});const xc=Ee(Ti,(e=>pi.reduce(((t,n,r)=>e[n]?r:t),-1))),fc=Ee(xc,(e=>e+1>=pi.length)),vc=Ee(Ti,(e=>Object.keys(e).length)),bc=Ee(xc,(e=>Math.min(e+1,pi.length-1))),$c=Ee(bc,(e=>pi[e]));Ee(bc,(e=>pi.slice(0,e+1)));const wc=Ee([Ti,bc],(e=>{let[t,n]=e;return pi.map(((e,r)=>{const a=t[e],i=di(e);return{...a,name:i.name,storageId:e,stars:void 0===a?0:hi(e,a.time),locked:r>n}}))})),kc=Ee([fc,Ti],(e=>{let[t,n]=e;return!!t&&pi.map((e=>({levelName:e,saved:n[e]}))).filter((e=>{let{saved:t}=e;return void 0!==t})).map((e=>{let{saved:t,levelName:n}=e;return hi(n,t.time)})).every((e=>3===e))}));const Sc=new URL(document.location.href).searchParams.get("level");var zc=Object.freeze({__proto__:null,getMeEpic:function(){return Y(jl())},initialScreenEpic:function(){if(null!==Sc)return Y(tl("/custom-levels"),tl({path:"/load-url",props:{level:{id:Sc}}}),gl(Sc));
1if(Te(vc)<15){const e=Te($c);return Y(tl("/menu"),Aa(e))}return Q}});var Cc=Object.freeze({__proto__:null,speedrunTimersEpic:function(e){const[t,n]=X(e.pipe(we(ka.type)),(e=>{let{map:t}=e;return"noob"===t.storageId}));return D(n.pipe(V((()=>Date.now())),R((t=>e.pipe(we(Ca.type),M(1),I((()=>{const e=Date.now()-t;Ii.update((t=>t+e))})))))),t.pipe(G((()=>e.pipe(we(Pa.type),V((()=>Date.now())),I((e=>{Li.set(e)})),G((t=>e.pipe(we(Ca.type),I((()=>{const e=Date.now()-t;Ii.set(e)}))))),q(n)))))).pipe(Z())},inNextLevelTimeEpic:function(e){return e.pipe(we(dl.type),I((e=>{let{timeFromGrey:t}=e;Ii.update((e=>e+t))})),Z())}});const Ec=window.parent.location!==window.location,Tc=/https?:\/\/(?:.+\.)?(?:poki\.com|poki\.dev|po\.ki)\/.*/,jc=Ec&&Tc.test(document.referrer)||Tc.test(new URLSearchParams(window.location.search).get("url_referrer")),Ac=Ec&&/https?:\/\/(?:.+\.)?titotu\.(?:ru|io)\/.*/.test(document.referrer),_c=window.whenPokiSdkInit?pl:window.aiptag?cl:(console.error("No ad vendor detected"),ul);var Pc=[...Object.values(!document.fullscreenEnabled||jc||Ac?{}:Jo),...Object.values(ql),...Object.values(_c),...Object.values(ml),...Object.values(_l),...Object.values(Cc),...Object.values(Il),...Object.values(gc),...Object.values(Fl),...Object.values(Dl),...Object.values(Kl),...Object.values(ec),...Object.values(hc),...Object.values(Ml),...Object.values(zc)];function Lc(e){let t,n,r,a,i,s,o,l;return{c(){t=De("div"),n=De("h2"),n.textContent="Game is paused",r=Me(),a=De("p"),a.textContent="I had to pause the game because your computer is running slow.",i=Me(),s=De("button"),s.textContent="Resume",qe(t,"class","container svelte-8evhvc")},m(c,p){Le(c,t,p),Ve(t,n),Ve(t,r),Ve(t,a),Ve(t,i),Ve(t,s),o||(l=Ne(s,"click",e[1]),o=!0)},p:Ie,d(e){e&&Fe(t),o=!1,l()}}}function Ic(e){let t,n=e[0]&&Lc(e);return{c(){n&&n.c(),t=Pe()},m(e,r){n&&n.m(e,r),Le(e,t,r)},p(e,r){let[a]=r;e[0]?n?n.p(e,a):(n=Lc(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:Ie,o:Ie,d(e){n&&n.d(e),e&&Fe(t)}}}function Fc(e,t,n){let r;return Be(e,Ai,(e=>n(0,r=e))),[r,function(){Ai.set(!1)}]}window.document.getElementById("loading-screen").remove(),ke(Pc,Ja);function Bc(e){let t;const n=e[4].default,r=We(n,e,e[3],null);return{c(){r&&r.c()},m(e,n){r&&r.m(e,n),t=!0},p(e,a){r&&r.p&&(!t||8&a)&&Je(r,n,e,e[3],t?Ke(n,e[3],a,null):Ge(e[3]),null)},i(e){t||(He(r,e),t=!0)},o(e){Re(r,e),t=!1},d(e){r&&r.d(e)}}}function Dc(e){let t,n,r=e[0]&&Bc(e);return{c(){r&&r.c(),t=Pe()},m(e,a){r&&r.m(e,a),Le(e,t,a),n=!0},p(e,n){let[a]=n;e[0]?r?(r.p(e,a),1&a&&He(r,1)):(r=Bc(e),r.c(),He(r,1),r.m(t.parentNode,t)):r&&(Oe(),Re(r,1,1,(()=>{r=null})),Ue())},i(e){n||(He(r),n=!0)},o(e){Re(r),n=!1},d(e){r&&r.d(e),e&&Fe(t)}}}function Mc(e,t,n){let r,a;Be(e,Xo,(e=>n(2,a=e)));let{$$slots:i={},$$scope:s}=t,{path:o}=t;return e.$$set=e=>{"path"in e&&n(1,o=e.path),"$$scope"in e&&n(3,s=e.$$scope)},e.$$.update=()=>{6&e.$$.dirty&&n(0,r=null!==a&&yl(a.path,o))},[r,o,a,s,i]}class qc extends je{constructor(e){super(),Ae(this,e,Mc,Dc,_e,{path:1})}}function Vc(e){let t,n,r=e[0].name+"";return{c(){t=De("h2"),n=Ye(r),qe(t,"class","svelte-jk54di")},m(e,r){Le(e,t,r),Ve(t,n)},p(e,t){1&t&&r!==(r=e[0].name+"")&&Ze(n,r)},d(e){e&&Fe(t)}}}function Nc(e){let t,n,r,a,i,s=e[0].name+"",o=e[1][e[0].id].data.score+"";return{c(){t=De("h2"),n=Ye(s),r=Ye(" ("),a=Ye(o),i=Ye(" pts)"),qe(t,"class","svelte-jk54di")},m(e,s){Le(e,t,s),Ve(t,n),Ve(t,r),Ve(t,a),Ve(t,i)},p(e,t){1&t&&s!==(s=e[0].name+"")&&Ze(n,s),3&t&&o!==(o=e[1][e[0].id].data.score+"")&&Ze(a,o)},d(e){e&&Fe(t)}}}function Hc(e){let t,n,r,a,i,s=ui[e[0].storageId]+"",o=e[0].name+"";return{c(){t=De("h2"),n=Ye("#"),r=Ye(s),a=Ye(": "),i=Ye(o),qe(t,"class","svelte-jk54di")},m(e,s){Le(e,t,s),Ve(t,n),Ve(t,r),Ve(t,a),Ve(t,i)},p(e,t){1&t&&s!==(s=ui[e[0].storageId]+"")&&Ze(r,s),1&t&&o!==(o=e[0].name+"")&&Ze(i,o)},d(e){e&&Fe(t)}}}function Oc(e){let t;function n(e,t){return"string"==typeof e[0].storageId?Hc:"string"==typeof e[0].id?Nc:Vc}let r=n(e),a=r(e);return{c(){a.c(),t=Pe()},m(e,n){a.m(e,n),Le(e,t,n)},p(e,i){let[s]=i;r===(r=n(e))&&a?a.p(e,s):(a.d(1),a=r(e),a&&(a.c(),a.m(t.parentNode,t)))},i:Ie,o:Ie,d(e){a.d(e),e&&Fe(t)}}}function Rc(e,t,n){let r;Be(e,Nl,(e=>n(1,r=e)));let{level:a}=t;return e.$$set=e=>{"level"in e&&n(0,a=e.level)},[a,r]}class Uc extends je{constructor(e){super(),Ae(this,e,Rc,Oc,_e,{level:0})}}function Wc(e){const t=e.getTime(),n=e.getUTCMilliseconds().toString().padStart(3,"0"),r=e.getUTCSeconds(),a=e.getUTCMinutes(),i=Math.floor(t/36e5);return`${0===i?"":`${i}h `}${0===a&&0===i?"":`${a}m `}${r}s ${n}ms`}
1function Jc(e,t,n){const r=e.slice();return r[5]=t[n].storageId,r[6]=t[n].locked,r[7]=t[n].name,r[8]=t[n].skipped,r[9]=t[n].stars,r[10]=t[n].bestTime,r[12]=n,r}function Gc(e,t,n){const r=e.slice();return r[13]=t[n],r}function Kc(e,t,n){const r=e.slice();return r[13]=t[n],r}function Yc(e){let t,n,r,a=e[10]&&Qc(e),i=Array(e[9]),s=[];for(let t=0;t<i.length;t+=1)s[t]=Xc(Kc(e,i,t));let o=Array(3-e[9]),l=[];for(let t=0;t<o.length;t+=1)l[t]=ep(Gc(e,o,t));return{c(){a&&a.c(),t=Me(),n=De("span");for(let e=0;e<s.length;e+=1)s[e].c();r=Me();for(let e=0;e<l.length;e+=1)l[e].c();qe(n,"class","stars svelte-6wyha9")},m(e,i){a&&a.m(e,i),Le(e,t,i),Le(e,n,i);for(let e=0;e<s.length;e+=1)s[e].m(n,null);Ve(n,r);for(let e=0;e<l.length;e+=1)l[e].m(n,null)},p(e,c){if(e[10]?a?a.p(e,c):(a=Qc(e),a.c(),a.m(t.parentNode,t)):a&&(a.d(1),a=null),1&c){let t;for(i=Array(e[9]),t=0;t<i.length;t+=1){const a=Kc(e,i,t);s[t]?s[t].p(a,c):(s[t]=Xc(),s[t].c(),s[t].m(n,r))}for(;t<s.length;t+=1)s[t].d(1);s.length=i.length}if(1&c){let t;for(o=Array(3-e[9]),t=0;t<o.length;t+=1){const r=Gc(e,o,t);l[t]?l[t].p(r,c):(l[t]=ep(),l[t].c(),l[t].m(n,null))}for(;t<l.length;t+=1)l[t].d(1);l.length=o.length}},d(e){a&&a.d(e),e&&Fe(t),e&&Fe(n),Xe(s,e),Xe(l,e)}}}function Zc(e){let t;return{c(){t=De("span"),t.textContent=`${ba(vs).text}`,qe(t,"class","skipped svelte-6wyha9")},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function Qc(e){let t,n,r=e[10]+"";return{c(){t=De("span"),n=Ye(r),qe(t,"class","best-time svelte-6wyha9")},m(e,r){Le(e,t,r),Ve(t,n)},p(e,t){1&t&&r!==(r=e[10]+"")&&Ze(n,r)},d(e){e&&Fe(t)}}}function Xc(e){let t;return{c(){t=De("span"),qe(t,"class","icon-star-full svelte-6wyha9")},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function ep(e){let t;return{c(){t=De("span"),qe(t,"class","icon-star-empty svelte-6wyha9")},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function tp(e){let t;return{c(){t=De("div"),t.textContent="â",qe(t,"class","arrow svelte-6wyha9")},m(e,n){Le(e,t,n)},d(e){e&&Fe(t)}}}function np(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g=(e[6]?"ð":e[12]+1)+"",x=e[7]+"";function f(e,t){return e[8]?Zc:Yc}let v=f(e),b=v(e);function $(){return e[4](e[5])}let w=e[12]!==e[0].length-1&&tp();return{c(){t=De("li"),n=De("div"),r=De("button"),a=De("h2"),i=Ye(g),s=Me(),b.c(),c=Me(),p=De("h2"),u=Ye(x),d=Me(),w&&w.c(),m=Me(),qe(a,"class","level-number svelte-6wyha9"),r.disabled=o=e[6],qe(r,"class","neon svelte-6wyha9"),qe(r,"title",l=e[10]?`${ba(ys).text} ${e[10]}`:ba(hs).text),qe(p,"class","level-name svelte-6wyha9"),qe(p,"lang","en"),qe(n,"class","level-block svelte-6wyha9"),qe(t,"class","level svelte-6wyha9")},m(e,o){Le(e,t,o),Ve(t,n),Ve(n,r),Ve(r,a),Ve(a,i),Ve(r,s),b.m(r,null),Ve(n,c),Ve(n,p),Ve(p,u),Ve(t,d),w&&w.m(t,null),Ve(t,m),y||(h=Ne(r,"click",$),y=!0)},p(n,a){e=n,1&a&&g!==(g=(e[6]?"ð":e[12]+1)+"")&&Ze(i,g),v===(v=f(e))&&b?b.p(e,a):(b.d(1),b=v(e),b&&(b.c(),b.m(r,null))),1&a&&o!==(o=e[6])&&(r.disabled=o),1&a&&l!==(l=e[10]?`${ba(ys).text} ${e[10]}`:ba(hs).text)&&qe(r,"title",l),1&a&&x!==(x=e[7]+"")&&Ze(u,x),e[12]!==e[0].length-1?w||(w=tp(),w.c(),w.m(t,m)):w&&(w.d(1),w=null)},d(e){e&&Fe(t),b.d(),w&&w.d(),y=!1,h()}}}function rp(e){let t,n,r,a=e[0],i=[];for(let t=0;t<a.length;t+=1)i[t]=np(Jc(e,a,t));return{c(){t=De("ul");for(let e=0;e<i.length;e+=1)i[e].c();qe(t,"class","container svelte-6wyha9")},m(a,s){Le(a,t,s);for(let e=0;e<i.length;e+=1)i[e].m(t,null);n||(r=Ne(t,"pointerdown",Qe(e[3])),n=!0)},p(e,n){let[r]=n;if(3&r){let n;for(a=e[0],n=0;n<a.length;n+=1){const s=Jc(e,a,n);i[n]?i[n].p(s,r):(i[n]=np(s),i[n].c(),i[n].m(t,null))}for(;n<i.length;n+=1)i[n].d(1);i.length=a.length}},i:Ie,o:Ie,d(e){e&&Fe(t),Xe(i,e),n=!1,r()}}}function ap(e,t,n){let r,a;function i(e){Ja.next(Aa(e)),wi("menu","levelPick",{storageId:e})}Be(e,wc,(e=>n(2,a=e)));return e.$$.update=()=>{4&e.$$.dirty&&n(0,r=a.map((e=>{let{storageId:t,name:n,locked:r,skipped:a,stars:i,time:s}=e;return{name:n,storageId:t,locked:r,skipped:a,stars:i,bestTime:void 0!==s?Wc(new Date(s)):null}})))},[r,i,a,function(t){et.call(this,e,t)},e=>i(e)]}class ip extends je{constructor(e){super(),Ae(this,e,ap,rp,_e,{})}}function sp(e,t){let{delay:n=0,duration:r=100}=t;const a=+getComputedStyle(e).opacity;return{delay:n,duration:r,css:e=>`transform: scale(${e*a})`}}function op(e){let t,n,r,a,i,s;const o=e[2].default,l=We(o,e,e[1],null);return{c(){t=De("div"),l&&l.c(),qe(t,"class",n="container "+e[0]+" svelte-csihh3")},m(n,r){Le(n,t,r),l&&l.m(t,null),a=!0,i||(s=Ne(t,"scroll",e[3]),i=!0)},p(e,r){let[i]=r;l&&l.p&&(!a||2&i)&&Je(l,o,e,e[1],a?Ke(o,e[1],i,null):Ge(e[1]),null),(!a||1&i&&n!==(n="container "+e[0]+" svelte-csihh3"))&&qe(t,"class",n)},i(e){a||(He(l,e),tt((()=>{r||(r=nt(t,sp,{duration:200},!0)),r.run(1)})),a=!0)},o(e){Re(l,e),r||(r=nt(t,sp,{duration:200},!1)),r.run(0),a=!1},d(e){e&&Fe(t),l&&l.d(e),e&&r&&r.end(),i=!1,s()}}}function lp(e,t,n){let{$$slots:r={},$$scope:a}=t,{class:i=""}=t;return e.$$set=e=>{"class"in e&&n(0,i=e.class),"$$scope"in e&&n(1,a=e.$$scope)},[i,a,r,function(t){et.call(this,e,t)}]}class cp extends je{constructor(e){super(),Ae(this,e,lp,op,_e,{class:0})}}function pp(e){let t,n,r,a,i,s=ba(ss).text+"";return{c(){t=De("button"),n=De("span"),r=Ye(s),qe(n,"class","icon-cog svelte-1sxapfg"),qe(t,"class","neon")},m(s,o){Le(s,t,o),Ve(t,n),Ve(t,r),a||(i=Ne(t,"click",e[0]),a=!0)},p:Ie,i:Ie,o:Ie,d(e){e&&Fe(t),a=!1,i()}}}function up(e){return[function(){Ja.next(al("settings"))}]}class dp extends je{constructor(e){super(),Ae(this,e,up,pp,_e,{})}}function mp(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h=ba(Ps).text+"";return n=new dp({}),u=new ip({}),{c(){t=De("div"),rt(n.$$.fragment),r=Me(),a=De("button"),i=De("span"),s=Ye(h),o=Me(),l=De("h2"),c=Ye(e[0]),p=Me(),rt(u.$$.fragment),qe(i,"class","icon-home3 svelte-v7yar2"),qe(a,"class","neon"),qe(t,"class","controls svelte-v7yar2")},m(h,g){Le(h,t,g),at(n,t,null),Ve(t,r),Ve(t,a),Ve(a,i),Ve(a,s),Le(h,o,g),Le(h,l,g),Ve(l,c),Le(h,p,g),at(u,h,g),d=!0,m||(y=Ne(a,"click",e[1]),m=!0)},p(e,t){(!d||1&t)&&Ze(c,e[0])},i(e){d||(He(n.$$.fragment,e),He(u.$$.fragment,e),d=!0)},o(e){Re(n.$$.fragment,e),Re(u.$$.fragment,e),d=!1},d(e){e&&Fe(t),it(n),e&&Fe(o),e&&Fe(l),e&&Fe(p),it(u,e),m=!1,y()}}}function yp(e){let t,n;return t=new cp({props:{class:"oynfwmc-page",$$slots:{default:[mp]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};5&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function hp(e,t,n){let r;return st((()=>(wi("menu","open"),()=>{wi("menu","close")}))),n(0,r=ba(is).text),[r,function(){Ja.next(tl("/main"))}]}class gp extends je{constructor(e){super(),Ae(this,e,hp,yp,_e,{})}}function xp(e){let t,n;return{c(){t=De("time"),n=Ye(e[0])},m(e,r){Le(e,t,r),Ve(t,n)},p(e,t){let[r]=t;1&r&&Ze(n,e[0])},i:Ie,o:Ie,d(e){e&&Fe(t)}}}function fp(e,t,n){let r,a;const i=ot(new Date(0),{easing:lt,duration:600});Be(e,i,(e=>n(3,a=e)));let{duration:s}=t;return st((()=>{i.set(s)})),e.$$set=e=>{"duration"in e&&n(2,s=e.duration)},e.$$.update=()=>{8&e.$$.dirty&&n(0,r=Wc(a))},[r,i,s,a]}class vp extends je{constructor(e){super(),Ae(this,e,fp,xp,_e,{duration:2})}}function bp(e){let t;function n(e,t){return e[0]>e[1]?wp:$p}let r=n(e),a=r(e);return{c(){a.c(),t=Pe()},m(e,n){a.m(e,n),Le(e,t,n)},p(e,i){r===(r=n(e))&&a?a.p(e,i):(a.d(1),a=r(e),a&&(a.c(),a.m(t.parentNode,t)))},d(e){a.d(e),e&&Fe(t)}}}function $p(e){let t,n;return{c(){t=De("p"),n=Ye(e[4]),qe(t,"class","new-best svelte-9j6mlr")},m(e,r){Le(e,t,r),Ve(t,n)},p(e,t){16&t&&Ze(n,e[4])},d(e){e&&Fe(t)}}}function wp(e){let t,n,r,a,i;return{c(){t=De("p"),n=Ye(e[2]),r=De("bdi"),a=De("time"),i=Ye(e[5])},m(e,s){Le(e,t,s),Ve(t,n),Ve(t,r),Ve(r,a),Ve(a,i)},p(e,t){4&t&&Ze(n,e[2]),32&t&&Ze(i,e[5])},d(e){e&&Fe(t)}}}function kp(e){let t,n,r,a,i,s,o;i=new vp({props:{duration:e[0]}});let l=null!==e[1]&&bp(e);return{c(){t=De("div"),n=De("p"),r=Ye(e[3]),a=De("bdi"),rt(i.$$.fragment),s=Me(),l&&l.c(),qe(t,"class","container svelte-9j6mlr")},m(e,c){Le(e,t,c),Ve(t,n),Ve(n,r),Ve(n,a),at(i,a,null),Ve(t,s),l&&l.m(t,null),o=!0},p(e,n){let[a]=n;(!o||8&a)&&Ze(r,e[3]);const s={};1&a&&(s.duration=e[0]),i.$set(s),null!==e[1]?l?l.p(e,a):(l=bp(e),l.c(),l.m(t,null)):l&&(l.d(1),l=null)},i(e){o||(He(i.$$.fragment,e),o=!0)},o(e){Re(i.$$.fragment,e),o=!1},d(e){e&&Fe(t),it(i),l&&l.d()}}}
1function Sp(e,t,n){let r,a,i,s,{time:o}=t,{previousBestTime:l}=t;return e.$$set=e=>{"time"in e&&n(0,o=e.time),"previousBestTime"in e&&n(1,l=e.previousBestTime)},e.$$.update=()=>{1&e.$$.dirty&&Wc(o),2&e.$$.dirty&&n(5,r=l?Wc(l):null)},n(4,a=ba(rs).text),n(3,i=ba(ns).text),n(2,s=ba(ts).text),[o,l,s,i,a,r]}class zp extends je{constructor(e){super(),Ae(this,e,Sp,kp,_e,{time:0,previousBestTime:1})}}function Cp(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x,f,v,b,$,w,k,S,z;return{c(){t=De("div"),n=De("div"),r=De("div"),a=De("span"),i=Me(),s=De("span"),l=Me(),c=De("div"),p=De("div"),u=Me(),d=De("span"),y=Me(),h=De("div"),g=Ye(e[1]),x=Me(),f=De("div"),v=De("div"),b=Me(),$=De("span"),k=Me(),S=De("div"),z=Ye(e[0]),qe(a,"class","icon-star-empty svelte-15grnnv"),qe(s,"class","icon-star-full svelte-15grnnv"),qe(s,"style",o=`width: ${Ep(0,e[2])}%`),qe(r,"class","star-container one svelte-15grnnv"),qe(p,"title",e[1]),qe(p,"class","icon-star-empty svelte-15grnnv"),qe(d,"title",e[1]),qe(d,"class","icon-star-full svelte-15grnnv"),qe(d,"style",m=`width: ${Ep(1,e[2])}%`),qe(c,"class","star-container two svelte-15grnnv"),qe(h,"class","next-step two svelte-15grnnv"),qe(v,"title",e[0]),qe(v,"class","icon-star-empty svelte-15grnnv"),qe($,"title",e[0]),qe($,"class","icon-star-full svelte-15grnnv"),qe($,"style",w=`width: ${Ep(2,e[2])}%`),qe(f,"class","star-container three svelte-15grnnv"),qe(S,"class","next-step three svelte-15grnnv"),qe(n,"class","container svelte-15grnnv"),qe(t,"class","centerer svelte-15grnnv")},m(e,o){Le(e,t,o),Ve(t,n),Ve(n,r),Ve(r,a),Ve(r,i),Ve(r,s),Ve(n,l),Ve(n,c),Ve(c,p),Ve(c,u),Ve(c,d),Ve(n,y),Ve(n,h),Ve(h,g),Ve(n,x),Ve(n,f),Ve(f,v),Ve(f,b),Ve(f,$),Ve(n,k),Ve(n,S),Ve(S,z)},p(e,t){let[n]=t;4&n&&o!==(o=`width: ${Ep(0,e[2])}%`)&&qe(s,"style",o),2&n&&qe(p,"title",e[1]),2&n&&qe(d,"title",e[1]),4&n&&m!==(m=`width: ${Ep(1,e[2])}%`)&&qe(d,"style",m),2&n&&Ze(g,e[1]),1&n&&qe(v,"title",e[0]),1&n&&qe($,"title",e[0]),4&n&&w!==(w=`width: ${Ep(2,e[2])}%`)&&qe($,"style",w),1&n&&Ze(z,e[0])},i:Ie,o:Ie,d(e){e&&Fe(t)}}}function Ep(e,t){return 100*Math.min(Math.max(0,t-e),1)}function Tp(e,t,n){let r,a,i,{level:s}=t,{time:o}=t;const l=function(e,t){const n=e.timings;return t<=n[1]?3:t<=n[0]?2:1}(s,o),c=ot(0,{duration:500*l});return Be(e,c,(e=>n(2,i=e))),st((()=>{Mr.star[0].play();let e=!1,t=!1;const n=c.subscribe((n=>{n>1&&!e&&(Mr.star[1].play(),e=!0),n>2&&!t&&(Mr.star[2].play(),t=!0)}));return c.set(l),n})),e.$$set=e=>{"level"in e&&n(4,s=e.level),"time"in e&&n(5,o=e.time)},e.$$.update=()=>{16&e.$$.dirty&&n(1,r=Wc(new Date(s.timings[0]))),16&e.$$.dirty&&n(0,a=Wc(new Date(s.timings[1])))},[a,r,i,c,s,o]}class jp extends je{constructor(e){super(),Ae(this,e,Tp,Cp,_e,{level:4,time:5})}}function Ap(e){let t,n=ba(Hs).text+"";return{c(){t=De("p"),qe(t,"class","content svelte-1emy1wo")},m(e,r){Le(e,t,r),t.innerHTML=n},p:Ie,d(e){e&&Fe(t)}}}function _p(e){let t,n=ba(As).text+"";return{c(){t=De("p"),qe(t,"class","content svelte-1emy1wo")},m(e,r){Le(e,t,r),t.innerHTML=n},p:Ie,d(e){e&&Fe(t)}}}function Pp(e){let t,n=ba(js).text+"";return{c(){t=De("p"),qe(t,"class","content svelte-1emy1wo")},m(e,r){Le(e,t,r),t.innerHTML=n},p:Ie,d(e){e&&Fe(t)}}}function Lp(e){let t,n=!T.any&&function(e){let t,n,r,a,i=function(e,t){return 0===e[1]?Pp:1===e[1]?_p:2===e[1]?Ap:void 0}(e),s=i&&i(e);return{c(){t=De("div"),n=De("h3"),n.textContent=`${ba(Ts).text}`,r=Me(),s&&s.c(),qe(t,"class",a=ct(e[0])+" svelte-1emy1wo")},m(e,a){Le(e,t,a),Ve(t,n),Ve(t,r),s&&s.m(t,null)},p(e,n){s&&s.p(e,n),1&n&&a!==(a=ct(e[0])+" svelte-1emy1wo")&&qe(t,"class",a)},d(e){e&&Fe(t),s&&s.d()}}}(e);return{c(){n&&n.c(),t=Pe()},m(e,r){n&&n.m(e,r),Le(e,t,r)},p(e,t){let[r]=t;T.any||n.p(e,r)},i:Ie,o:Ie,d(e){n&&n.d(e),e&&Fe(t)}}}function Ip(e,t,n){let{class:r=""}=t;const a=Nr(0,jc?1:2);return e.$$set=e=>{"class"in e&&n(0,r=e.class)},[r,a]}class Fp extends je{constructor(e){super(),Ae(this,e,Ip,Lp,_e,{class:0})}}const Bp=ze(!1,(e=>{function t(t){t.userChoice.then((t=>{let{outcome:n,platform:r}=t;switch(n){case"accepted":e(!0),wi("pwa","promptAnswered",{installAccepted:!0,platform:r});break;case"dismissed":e(!1),wi("pwa","promptAnswered",{installAccepted:!1,platform:r})}}))}return window.addEventListener("beforeinstallprompt",t),()=>window.removeEventListener("beforeinstallprompt",t)}));Bp.subscribe((()=>{}));const Dp=zi("(display-mode: standalone)"),Mp=ze(!1,(e=>{function t(){e(!0)}return window.addEventListener("beforeinstallprompt",t),()=>window.removeEventListener("beforeinstallprompt",t)}));function qp(e){let t,n,r,a;return{c(){t=De("button"),n=Ye(e[3]),qe(t,"class","neon"),qe(t,"title",e[3])},m(i,s){Le(i,t,s),Ve(t,n),r||(a=Ne(t,"click",e[4]),r=!0)},p:Ie,d(e){e&&Fe(t),r=!1,a()}}}function Vp(e){let t,n=e[0]&&!(e[1]||e[2])&&qp(e);return{c(){n&&n.c(),t=Pe()},m(e,r){n&&n.m(e,r),Le(e,t,r)},p(e,r){let[a]=r;!e[0]||e[1]||e[2]?n&&(n.d(1),n=null):n?n.p(e,a):(n=qp(e),n.c(),n.m(t.parentNode,t))},i:Ie,o:Ie,d(e){n&&n.d(e),e&&Fe(t)}}}
1function Np(e,t,n){let r,a,i;Be(e,Mp,(e=>n(0,r=e))),Be(e,Dp,(e=>n(1,a=e))),Be(e,Bp,(e=>n(2,i=e)));const s=ba(bs).text;return[r,a,i,s,function(){Ja.next(Bl())}]}Mp.subscribe((()=>{}));class Hp extends je{constructor(e){super(),Ae(this,e,Np,Vp,_e,{})}}function Op(e){let t,n,r,a,i;return{c(){t=De("div"),qe(t,"class",n="ad "+e[2]+" svelte-dc8c17"),qe(t,"id",r="bombhopper-io_"+e[0]+"x"+e[1]),pt(t,"width",e[0]+"px"),pt(t,"height",e[1]+"px")},m(n,r){Le(n,t,r),a||(i=ut(e[4].call(null,t)),a=!0)},p(e,a){4&a&&n!==(n="ad "+e[2]+" svelte-dc8c17")&&qe(t,"class",n),3&a&&r!==(r="bombhopper-io_"+e[0]+"x"+e[1])&&qe(t,"id",r),1&a&&pt(t,"width",e[0]+"px"),2&a&&pt(t,"height",e[1]+"px")},d(e){e&&Fe(t),a=!1,i()}}}function Rp(e){let t,n=void 0!==e[3]&&Op(e);return{c(){n&&n.c(),t=Pe()},m(e,r){n&&n.m(e,r),Le(e,t,r)},p(e,r){let[a]=r;void 0!==e[3]?n?n.p(e,a):(n=Op(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:Ie,o:Ie,d(e){n&&n.d(e),e&&Fe(t)}}}function Up(e,t,n){let r,a,i,s,{width:o}=t,{height:l}=t,{provider:c}=t;const p=["300x250","728x90","320x50"],u=["300x250","728x90"];T.any&&u.push("320x50");const d={poki:()=>window.PokiSDK&&u.includes(r),aip:()=>window.aiptag&&p.includes(r)},m={poki:e=>(window.PokiSDK.displayAd(e,r),{destroy:()=>{window.PokiSDK.destroyAd(e)}}),aip:()=>{window.aiptag.cmd.display.push((()=>{window.aipDisplayTag.display(`bombhopper-io_${r}`)}))}};let{class:y=""}=t;return e.$$set=e=>{"width"in e&&n(0,o=e.width),"height"in e&&n(1,l=e.height),"provider"in e&&n(5,c=e.provider),"class"in e&&n(2,y=e.class)},e.$$.update=()=>{3&e.$$.dirty&&(r=`${o}x${l}`),32&e.$$.dirty&&n(6,a=new Set([c,"poki","aip"].filter((e=>void 0!==e)))),64&e.$$.dirty&&n(3,i=Array.from(a).filter((e=>d[e]()))[0]),8&e.$$.dirty&&n(4,s=m[i])},[o,l,y,i,s,c,a]}class Wp extends je{constructor(e){super(),Ae(this,e,Up,Rp,_e,{width:0,height:1,provider:5,class:2})}}function Jp(e){let t;const n=e[4].default,r=We(n,e,e[3],null);return{c(){r&&r.c()},m(e,n){r&&r.m(e,n),t=!0},p(e,a){r&&r.p&&(!t||8&a)&&Je(r,n,e,e[3],t?Ke(n,e[3],a,null):Ge(e[3]),null)},i(e){t||(He(r,e),t=!0)},o(e){Re(r,e),t=!1},d(e){r&&r.d(e)}}}function Gp(e){let t,n,r=!e[1]&&Jp(e);return{c(){r&&r.c(),t=Pe()},m(e,a){r&&r.m(e,a),Le(e,t,a),n=!0},p(e,n){let[a]=n;e[1]?r&&(Oe(),Re(r,1,1,(()=>{r=null})),Ue()):r?(r.p(e,a),2&a&&He(r,1)):(r=Jp(e),r.c(),He(r,1),r.m(t.parentNode,t))},i(e){n||(He(r),n=!0)},o(e){Re(r),n=!1},d(e){r&&r.d(e),e&&Fe(t)}}}function Kp(e,t,n){let r,a,i=Ie;e.$$.on_destroy.push((()=>i()));let{$$slots:s={},$$scope:o}=t,{mediaQuery:l}=t;return e.$$set=e=>{"mediaQuery"in e&&n(2,l=e.mediaQuery),"$$scope"in e&&n(3,o=e.$$scope)},e.$$.update=()=>{4&e.$$.dirty&&(n(0,r=zi(l)),i(),i=dt(r,(e=>n(1,a=e))))},[r,a,l,o,s]}class Yp extends je{constructor(e){super(),Ae(this,e,Kp,Gp,_e,{mediaQuery:2})}}function Zp(e){let t,n,r,a;const i=e[8].default,s=We(i,e,e[7],null);return{c(){t=De("div"),s&&s.c(),qe(t,"class","confetti-container svelte-b2soul")},m(i,o){Le(i,t,o),s&&s.m(t,null),n=!0,r||(a=ut(e[0].call(null,t)),r=!0)},p(e,t){let[r]=t;s&&s.p&&(!n||128&r)&&Je(s,i,e,e[7],n?Ke(i,e[7],r,null):Ge(e[7]),null)},i(e){n||(He(s,e),n=!0)},o(e){Re(s,e),n=!1},d(e){e&&Fe(t),s&&s.d(e),r=!1,a()}}}function Qp(e,t,n){let{$$slots:r={},$$scope:a}=t,{elementCount:i=50}=t,{spread:s=90}=t,{duration:o=2e3}=t,{stagger:l=0}=t,{startVelocity:c=45}=t,{perspective:p=""}=t;return e.$$set=e=>{"elementCount"in e&&n(1,i=e.elementCount),"spread"in e&&n(2,s=e.spread),"duration"in e&&n(3,o=e.duration),"stagger"in e&&n(4,l=e.stagger),"startVelocity"in e&&n(5,c=e.startVelocity),"perspective"in e&&n(6,p=e.perspective),"$$scope"in e&&n(7,a=e.$$scope)},[function(e){zt(e,{duration:o,spread:s,elementCount:i,stagger:l,startVelocity:c,perspective:p})},i,s,o,l,c,p,a,r]}class Xp extends je{constructor(e){super(),Ae(this,e,Qp,Zp,_e,{elementCount:1,spread:2,duration:3,stagger:4,startVelocity:5,perspective:6})}}const eu=e=>({timer:4&e}),tu=e=>({timer:e[2]});function nu(e){let t,n,r,a;const i=e[6].default,s=We(i,e,e[5],tu);return{c(){t=De("button"),s&&s.c(),qe(t,"class",n="neon "+e[1]+" button svelte-6tizzr"),t.disabled=r=0!==e[2],qe(t,"title",e[0])},m(e,n){Le(e,t,n),s&&s.m(t,null),a=!0},p(e,o){let[l]=o;s&&s.p&&(!a||36&l)&&Je(s,i,e,e[5],a?Ke(i,e[5],l,eu):Ge(e[5]),tu),(!a||2&l&&n!==(n="neon "+e[1]+" button svelte-6tizzr"))&&qe(t,"class",n),(!a||4&l&&r!==(r=0!==e[2]))&&(t.disabled=r),(!a||1&l)&&qe(t,"title",e[0])},i(e){a||(He(s,e),a=!0)},o(e){Re(s,e),a=!1},d(e){e&&Fe(t),s&&s.d(e)}}}function ru(e,t,n){let r,{$$slots:a={},$$scope:i}=t,{title:s=""}=t,{duration:o=3}=t,{class:l=""}=t;const c=mt(),p=ot(o,{duration:1e3*o});return Be(e,p,(e=>n(2,r=e))),st((()=>{p.set(0)})),e.$$set=e=>{"title"in e&&n(0,s=e.title),"duration"in e&&n(4,o=e.duration),"class"in e&&n(1,l=e.class),"$$scope"in e&&n(5,i=e.$$scope)},e.$$.update=()=>{4&e.$$.dirty&&0===r&&c("timerComplete")},[s,l,r,p,o,i,a]}class au extends je{constructor(e){super(),Ae(this,e,ru,nu,_e,{title:0,duration:4,class:1})}}function iu(e){let t,n;return t=new au({props:{class:"primary",title:e[0],$$slots:{default:[ou,e=>{let{timer:t}=e;return{14:t}},e=>{let{timer:t}=e;return t?16384:0}]},$$scope:{ctx:e}}}),t.$on("timerComplete",e[6]),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.title=e[0]),49152&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function su(e){let t,n,r,a,i,s;return{c(){t=De("button"),n=De("span"),r=Me(),a=Ye(e[0]),qe(n,"class","icon-forward3"),qe(t,"class","neon primary"),qe(t,"title",e[0])},m(o,l){Le(o,t,l),Ve(t,n),Ve(t,r),Ve(t,a),i||(s=Ne(t,"click",e[4]),i=!0)},p(e,n){1&n&&Ze(a,e[0]),1&n&&qe(t,"title",e[0])},i:Ie,o:Ie,d(e){e&&Fe(t),i=!1,s()}}}function ou(e){let t,n,r,a,i,s,o,l,c,p,u=Hr(e[14],0)+1+"";return n=new Xp({props:{perspective:"500px",spread:360,elementCount:60,stagger:2}}),{c(){t=De("span"),rt(n.$$.fragment),r=Me(),a=De("span"),i=Ye(e[3]),s=Me(),o=De("bdi"),l=Ye(u),c=Ye(" sec")},m(e,u){Le(e,t,u),at(n,t,null),Le(e,r,u),Le(e,a,u),Ve(a,i),Ve(a,s),Ve(a,o),Ve(o,l),Ve(o,c),p=!0},p(e,t){(!p||16384&t)&&u!==(u=Hr(e[14],0)+1+"")&&Ze(l,u)},i(e){p||(He(n.$$.fragment,e),p=!0)},o(e){Re(n.$$.fragment,e),p=!1}
1,d(e){e&&Fe(t),it(n),e&&Fe(r),e&&Fe(a)}}}function lu(e){let t,n,r,a,i,s;const o=[su,iu],l=[];function c(e,t){return e[1]?0:1}return t=c(e),n=l[t]=o[t](e),{c(){n.c(),r=Pe()},m(n,o){l[t].m(n,o),Le(n,r,o),a=!0,i||(s=Ne(window,"keydown",e[5]),i=!0)},p(e,a){let[i]=a,s=t;t=c(e),t===s?l[t].p(e,i):(Oe(),Re(l[s],1,1,(()=>{l[s]=null})),Ue(),n=l[t],n?n.p(e,i):(n=l[t]=o[t](e),n.c()),He(n,1),n.m(r.parentNode,r))},i(e){a||(He(n),a=!0)},o(e){Re(n),a=!1},d(e){l[t].d(e),e&&Fe(r),i=!1,s()}}}function cu(e,t,n){let r,a,{nextLevelId:i}=t;const s=Ja.pipe(we(Va.type),V((()=>!0))),o=D(Ja.pipe(we(Da.type,Fa.type),V((()=>!0))),Ja.pipe(we(Ma.type,Ba.type),V((()=>!1)))).pipe(L(!1)),l=Ce(!1),c=Ee([s,l,o],(e=>{let[t,n,r]=e;return!r&&(t||n)}));let p;Be(e,c,(e=>n(1,a=e))),c.subscribe((e=>{!0===e&&void 0===p&&(p=Date.now())}));const u=ba(Qi).text,d=ba(as).text,m=ba(Is).text;function y(){a&&Ja.next(dl(Date.now()-p,i))}return e.$$set=e=>{"nextLevelId"in e&&n(7,i=e.nextLevelId)},e.$$.update=()=>{128&e.$$.dirty&&n(0,r=void 0===i?m:u)},[r,a,c,d,y,function(e){" "===e.key&&y()},function(){l.set(!0)},i]}class pu extends je{constructor(e){super(),Ae(this,e,cu,lu,_e,{nextLevelId:7})}}function uu(e){let t,n,r,a;return{c(){t=De("button"),qe(t,"class",n="neon "+e[0]),qe(t,"title",ba(ps).text)},m(n,i){Le(n,t,i),r||(a=Ne(t,"click",e[1]),r=!0)},p(e,r){let[a]=r;1&a&&n!==(n="neon "+e[0])&&qe(t,"class",n)},i:Ie,o:Ie,d(e){e&&Fe(t),r=!1,a()}}}function du(e,t,n){let r,a;return Be(e,Ei,(e=>n(2,a=e))),e.$$.update=()=>{4&e.$$.dirty&&n(0,r=a?"icon-shrink":"icon-enlarge")},[r,function(){Ja.next(Uo())},a]}class mu extends je{constructor(e){super(),Ae(this,e,du,uu,_e,{})}}function yu(e){let t,n,r;return{c(){t=De("button"),qe(t,"title",ba(ls).text),qe(t,"class","icon-forward3 neon"),yt(t,"bounce",e[2]>5)},m(a,i){Le(a,t,i),n||(r=Ne(t,"click",e[6]),n=!0)},p(e,n){4&n&&yt(t,"bounce",e[2]>5)},d(e){e&&Fe(t),n=!1,r()}}}function hu(e){let t,n,r,a,i;return{c(){t=De("button"),n=Me(),r=De("button"),qe(t,"title","Upvote"),qe(t,"class","icon-thumb_up neon"),yt(t,"enabled",1===e[3][e[0].props.level.id].data.localVoteDirection||1===e[3][e[0].props.level.id].data.vote_direction&&"number"!=typeof e[3][e[0].props.level.id].data.localVoteDirection),qe(r,"title","Downvote"),qe(r,"class","icon-thumb_up neon upside-down svelte-1hgbqdi"),yt(r,"enabled",-1===e[3][e[0].props.level.id].data.localVoteDirection||-1===e[3][e[0].props.level.id].data.vote_direction&&"number"!=typeof e[3][e[0].props.level.id].data.localVoteDirection)},m(s,o){Le(s,t,o),Le(s,n,o),Le(s,r,o),a||(i=[Ne(t,"click",e[7]),Ne(r,"click",e[8])],a=!0)},p(e,n){9&n&&yt(t,"enabled",1===e[3][e[0].props.level.id].data.localVoteDirection||1===e[3][e[0].props.level.id].data.vote_direction&&"number"!=typeof e[3][e[0].props.level.id].data.localVoteDirection),9&n&&yt(r,"enabled",-1===e[3][e[0].props.level.id].data.localVoteDirection||-1===e[3][e[0].props.level.id].data.vote_direction&&"number"!=typeof e[3][e[0].props.level.id].data.localVoteDirection)},d(e){e&&Fe(t),e&&Fe(n),e&&Fe(r),a=!1,ht(i)}}}function gu(e){let t,n,r,a,i,s,o=ba(Fs).text+"";return{c(){t=De("button"),n=De("span"),r=Ye(" "),a=Ye(o),qe(n,"class","icon-exit"),qe(t,"title","Back to the editor"),qe(t,"class","neon primary")},m(o,l){Le(o,t,l),Ve(t,n),Ve(t,r),Ve(t,a),i||(s=Ne(t,"click",e[9]),i=!0)},p:Ie,d(e){e&&Fe(t),i=!1,s()}}}function xu(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x=["/game","/next"].includes(e[0].path)&&"string"==typeof e[0].props.level.id,f=["/game"].includes(e[0].path)&&!0===e[0].props.level.draft,v="/game"===e[0].path&&"string"==typeof e[0].props.level.storageId&&yu(e),b=!T.any&&!jc&&function(e){let t,n;return t=new mu({}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}(),$=x&&hu(e),w=f&&gu(e);return{c(){t=De("div"),n=De("button"),r=Me(),a=De("button"),i=De("span"),s=Ye("â¬"),l=Me(),c=De("span"),p=Me(),v&&v.c(),u=Me(),b&&b.c(),d=Me(),$&&$.c(),m=Me(),w&&w.c(),qe(n,"title",ba(cs).text+" (M)"),qe(n,"class","icon-menu neon"),qe(i,"class","arrow-hint svelte-1hgbqdi"),qe(i,"style",o=`color: ${e[1]>=6&&e[1]%2==0?"red":"white"};\n\t\t\tdisplay: ${e[1]>1?"initial":"none"};\n\t\t\ttransform: translateX(-50%) scale(${Math.pow(Math.min(e[1],6),1.5)})`),qe(c,"class","icon-spinner11"),qe(a,"title",ba(_s).text+" (R)"),qe(a,"class","neon restart svelte-1hgbqdi"),yt
1(a,"bounce",e[1]>0),qe(t,"class","gui svelte-1hgbqdi")},m(o,x){Le(o,t,x),Ve(t,n),Ve(t,r),Ve(t,a),Ve(a,i),Ve(i,s),Ve(a,l),Ve(a,c),Ve(t,p),v&&v.m(t,null),Ve(t,u),b&&b.m(t,null),Ve(t,d),$&&$.m(t,null),Ve(t,m),w&&w.m(t,null),y=!0,h||(g=[Ne(n,"click",e[4]),Ne(a,"click",e[5])],h=!0)},p(e,n){let[r]=n;(!y||2&r&&o!==(o=`color: ${e[1]>=6&&e[1]%2==0?"red":"white"};\n\t\t\tdisplay: ${e[1]>1?"initial":"none"};\n\t\t\ttransform: translateX(-50%) scale(${Math.pow(Math.min(e[1],6),1.5)})`))&&qe(i,"style",o),2&r&&yt(a,"bounce",e[1]>0),"/game"===e[0].path&&"string"==typeof e[0].props.level.storageId?v?v.p(e,r):(v=yu(e),v.c(),v.m(t,u)):v&&(v.d(1),v=null),1&r&&(x=["/game","/next"].includes(e[0].path)&&"string"==typeof e[0].props.level.id),x?$?$.p(e,r):($=hu(e),$.c(),$.m(t,m)):$&&($.d(1),$=null),1&r&&(f=["/game"].includes(e[0].path)&&!0===e[0].props.level.draft),f?w?w.p(e,r):(w=gu(e),w.c(),w.m(t,null)):w&&(w.d(1),w=null)},i(e){y||(He(b),y=!0)},o(e){Re(b),y=!1},d(e){e&&Fe(t),v&&v.d(),b&&b.d(),$&&$.d(),w&&w.d(),h=!1,ht(g)}}}function fu(e,t,n){let r,a,i,s;return Be(e,Xo,(e=>n(0,r=e))),Be(e,_i,(e=>n(1,a=e))),Be(e,Pi,(e=>n(2,i=e))),Be(e,Nl,(e=>n(3,s=e))),[r,a,i,s,function(){Ja.next(tl("/menu"))},function(){"/game"!==r.path&&"string"==typeof r.props.level.storageId?Ja.next(Aa(r.props.level.storageId)):Ja.next(Yo())},function(){Ja.next(al("skip"))},function(){Ja.next(Yl(r.props.level.id))},function(){Ja.next(Zl(r.props.level.id))},function(){Ja.next(tl("/editor","clearTop"))}]}class vu extends je{constructor(e){super(),Ae(this,e,fu,xu,_e,{})}}function bu(e){let t,n;return t=new Wp({props:{width:300,height:250}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p:Ie,i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function $u(e){let t,n;return t=new Wp({props:{width:728,height:90}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p:Ie,i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function wu(e){let t,n;return t=new Wp({props:{width:320,height:50}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p:Ie,i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function ku(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x,f,v,b,$,w,k,S,z,C,E,T,j,A,_,P,L,I=e[5][0]+"",F=e[0].name+"",B=e[5][1]+"";return r=new vu({}),s=new Yp({props:{mediaQuery:"(max-width: 990px)",$$slots:{default:[bu]},$$scope:{ctx:e}}}),h=new jp({props:{level:e[0],time:e[1]}}),x=new zp({props:{time:e[1],previousBestTime:e[2]}}),v=new pu({props:{customLevel:e[3],nextLevelId:e[4]}}),$=new Hp({}),S=new Wp({props:{width:200,height:120}}),C=new Fp({props:{class:"nuyarrqw-tip"}}),j=new Yp({props:{mediaQuery:"(max-height: 415px), (max-width: 728px)",$$slots:{default:[$u]},$$scope:{ctx:e}}}),P=new Yp({props:{mediaQuery:"(min-width: 590px) and (max-height: 500px), (min-width: 990px)",$$slots:{default:[wu]},$$scope:{ctx:e}}}),{c(){t=De("div"),n=De("div"),rt(r.$$.fragment),a=Me(),i=De("div"),rt(s.$$.fragment),o=Me(),l=De("div"),c=De("h2"),p=Ye(I),u=De("b"),d=Ye(F),m=Ye(B),y=Me(),rt(h.$$.fragment),g=Me(),rt(x.$$.fragment),f=Me(),rt(v.$$.fragment),b=Me(),rt($.$$.fragment),w=Me(),k=De("div"),rt(S.$$.fragment),z=Me(),rt(C.$$.fragment),E=Me(),T=De("div"),rt(j.$$.fragment),A=Me(),_=De("div"),rt(P.$$.fragment),qe(n,"class","button-group svelte-10cydjf"),qe(i,"class","left-content svelte-10cydjf"),qe(c,"class","completeTitle svelte-10cydjf"),qe(l,"class","main svelte-10cydjf"),qe(k,"class","right-content svelte-10cydjf"),qe(T,"class","banner svelte-10cydjf"),qe(_,"class","mobile-banner svelte-10cydjf"),qe(t,"class","container svelte-10cydjf")},m(e,I){Le(e,t,I),Ve(t,n),at(r,n,null),Ve(t,a),Ve(t,i),at(s,i,null),Ve(t,o),Ve(t,l),Ve(l,c),Ve(c,p),Ve(c,u),Ve(u,d),Ve(c,m),Ve(l,y),at(h,l,null),Ve(l,g),at(x,l,null),Ve(l,f),at(v,l,null),Ve(l,b),at($,l,null),Ve(t,w),Ve(t,k),at(S,k,null),Ve(k,z),at(C,k,null),Ve(t,E),Ve(t,T),at(j,T,null),Ve(t,A),Ve(t,_),at(P,_,null),L=!0},p(e,t){const n={};128&t&&(n.$$scope={dirty:t,ctx:e}),s.$set(n),(!L||32&t)&&I!==(I=e[5][0]+"")&&Ze(p,I),(!L||1&t)&&F!==(F=e[0].name+"")&&Ze(d,F),(!L||32&t)&&B!==(B=e[5][1]+"")&&Ze(m,B);const r={};1&t&&(r.level=e[0]),2&t&&(r.time=e[1]),h.$set(r);const a={};2&t&&(a.time=e[1]),4&t&&(a.previousBestTime=e[2]),x.$set(a);const i={};8&t&&(i.customLevel=e[3]),16&t&&(i.nextLevelId=e[4]),v.$set(i);const o={};128&t&&(o.$$scope={dirty:t,ctx:e}),j.$set(o);const l={};128&t&&(l.$$scope={dirty:t,ctx:e}),P.$set(l)},i(e){L||(He(r.$$.fragment,e),He(s.$$.fragment,e),He(h.$$.fragment,e),He(x.$$.fragment,e),He(v.$$.fragment,e),He($.$$.fragment,e),He(S.$$.fragment,e),He(C.$$.fragment,e),He(j.$$.fragment,e),He(P.$$.fragment,e),L=!0)},o(e){Re(r.$$.fragment,e),Re(s.$$.fragment,e),Re(h.$$.fragment,e),Re(x.$$.fragment,e),Re(v.$$.fragment,e),Re($.$$.fragment,e),Re(S.$$.fragment,e),Re(C.$$.fragment,e),Re(j.$$.fragment,e),Re(P.$$.fragment,e),L=!1},d(e){e&&Fe(t),it(r),it(s),it(h),it(x),it(v),it($),it(S),it(C),it(j),it(P)}}}function Su(e){let t,n;return t=new cp({props:{class:"tfwpsezi-page",$$slots:{default:[ku]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};191&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function zu(e,t,n){let r,{level:a}=t,{time:i}=t,{previousBestTime:s=null}=t,{customLevel:o=!1}=t,{nextLevelId:l}=t;const c=ba(es).text;return e.$$set=e=>{"level"in e&&n(0,a=e.level),"time"in e&&n(1,i=e.time),"previousBestTime"in e&&n(2,s=e.previousBestTime),"customLevel"in e&&n(3,o=e.customLevel),"nextLevelId"in e&&n(4,l=e.nextLevelId)},n(5,r=c.split("%1")),[a,i,s,o,l,r]}class Cu extends je{constructor(e){super(),Ae(this,e,zu,Su,_e,{level:0,time:1,previousBestTime:2,customLevel:3,nextLevelId:4})}}function Eu(e){let t;return{c(){t=De("input"),qe(t,"name","role"),qe(t,"type","hidden"),t.value="hopper"},m(e,n){Le(e,t,n)},d(e){e&&Fe(t)}}}function Tu(e){let t;return{c(){t=De("input"),qe(t,"name","role"),qe(t,"type","hidden"),t.value="bomber"},m(e,n){Le(e,t,n)},d(e){e&&Fe(t)}}}function ju(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x=e[1]&&Eu(),f=e[2]&&Tu();const v=e[4].default,b=We(v,e,e[3],null),$=b||function(e){let t,n,r,a;return{c(){t=De("span"),n=Ye(" Login with "),r=De("span"),a=Ye(" Discord"),qe(t,"class","icon-enter"),qe(r,"class","icon-discord")},m(e,i){Le(e,t,i),Le(e,n,i),Le(e,r,i),Le(e,a,i)}
1,p:Ie,d(e){e&&Fe(t),e&&Fe(n),e&&Fe(r),e&&Fe(a)}}}();return{c(){t=De("label"),n=De("input"),r=Ye(" I agree to the "),a=De("a"),a.textContent="Terms and Conditions",i=Ye(" and "),s=De("a"),s.textContent="Privacy Policy",o=Ye("."),l=Me(),c=De("form"),x&&x.c(),p=Me(),f&&f.c(),u=Me(),d=De("button"),$&&$.c(),qe(n,"type","checkbox"),qe(a,"href","/terms-and-conditions.html"),qe(a,"target","_blank"),qe(s,"href","/privacy-policy.html"),qe(s,"target","_blank"),qe(d,"type","submit"),qe(d,"class","neon"),d.disabled=m=!e[0],qe(c,"action","https://api.bombhopper.io/v1/oauth2/discord/login"),qe(c,"method","post"),qe(c,"target","loginPopup")},m(m,v){Le(m,t,v),Ve(t,n),n.checked=e[0],Ve(t,r),Ve(t,a),Ve(t,i),Ve(t,s),Ve(t,o),Le(m,l,v),Le(m,c,v),x&&x.m(c,null),Ve(c,p),f&&f.m(c,null),Ve(c,u),Ve(c,d),$&&$.m(d,null),y=!0,h||(g=[Ne(n,"change",e[5]),Ne(c,"submit",Au)],h=!0)},p(e,t){let[r]=t;1&r&&(n.checked=e[0]),e[1]?x||(x=Eu(),x.c(),x.m(c,p)):x&&(x.d(1),x=null),e[2]?f||(f=Tu(),f.c(),f.m(c,u)):f&&(f.d(1),f=null),b&&b.p&&(!y||8&r)&&Je(b,v,e,e[3],y?Ke(v,e[3],r,null):Ge(e[3]),null),(!y||1&r&&m!==(m=!e[0]))&&(d.disabled=m)},i(e){y||(He($,e),y=!0)},o(e){Re($,e),y=!1},d(e){e&&Fe(t),e&&Fe(l),e&&Fe(c),x&&x.d(),f&&f.d(),$&&$.d(e),h=!1,ht(g)}}}function Au(){window.open("","loginPopup","width=600,height=850,location=no,scrollbars=yes,toolbar=no,menubar=no")}function _u(e,t,n){let r,a;Be(e,fc,(e=>n(1,r=e))),Be(e,kc,(e=>n(2,a=e)));let{$$slots:i={},$$scope:s}=t,o=!1;return e.$$set=e=>{"$$scope"in e&&n(3,s=e.$$scope)},[o,r,a,s,i,function(){o=this.checked,n(0,o)}]}class Pu extends je{constructor(e){super(),Ae(this,e,_u,ju,_e,{})}}function Lu(e){let t,n,r,a;return r=new Pu({props:{$$slots:{default:[Fu]},$$scope:{ctx:e}}}),{c(){t=De("div"),n=De("div"),rt(r.$$.fragment),qe(n,"class","inside svelte-1amnisg"),qe(t,"class","center svelte-1amnisg")},m(e,i){Le(e,t,i),Ve(t,n),at(r,n,null),a=!0},p(e,t){const n={};32&t&&(n.$$scope={dirty:t,ctx:e}),r.$set(n)},i(e){a||(He(r.$$.fragment,e),a=!0)},o(e){Re(r.$$.fragment,e),a=!1},d(e){e&&Fe(t),it(r)}}}function Iu(e){let t,n,r,a,i,s=e[1]&&Bu(e);return{c(){t=De("button"),t.textContent=`${ba(Os).text}`,n=Me(),s&&s.c(),r=Pe(),qe(t,"class","neon")},m(o,l){Le(o,t,l),Le(o,n,l),s&&s.m(o,l),Le(o,r,l),a||(i=Ne(t,"click",e[3]),a=!0)},p(e,t){e[1]?s?s.p(e,t):(s=Bu(e),s.c(),s.m(r.parentNode,r)):s&&(s.d(1),s=null)},i:Ie,o:Ie,d(e){e&&Fe(t),e&&Fe(n),s&&s.d(e),e&&Fe(r),a=!1,i()}}}function Fu(e){let t,n,r,a,i,s,o=ba(Us).text+"";return{c(){t=De("span"),n=De("span"),r=Me(),a=Ye(o),qe(n,"class","icon-discord")},m(o,l){Le(o,t,l),Ve(t,n),Ve(t,r),Ve(t,a),i||(s=[Ne(t,"mouseover",e[2]),Ne(t,"focus",e[2])],i=!0)},p:Ie,d(e){e&&Fe(t),i=!1,ht(s)}}}function Bu(e){let t,n,r;return{c(){t=De("button"),t.textContent=`${ba(Rs).text}`,qe(t,"class","neon")},m(a,i){Le(a,t,i),n||(r=Ne(t,"click",e[4]),n=!0)},p:Ie,d(e){e&&Fe(t),n=!1,r()}}}function Du(e){let t,n,r,a;const i=[Iu,Lu],s=[];function o(e,t){return e[0].done&&200===e[0].status?0:1}return t=o(e),n=s[t]=i[t](e),{c(){n.c(),r=Pe()},m(e,n){s[t].m(e,n),Le(e,r,n),a=!0},p(e,a){let[l]=a,c=t;t=o(e),t===c?s[t].p(e,l):(Oe(),Re(s[c],1,1,(()=>{s[c]=null})),Ue(),n=s[t],n?n.p(e,l):(n=s[t]=i[t](e),n.c()),He(n,1),n.m(r.parentNode,r))},i(e){a||(He(n),a=!0)},o(e){Re(n),a=!1},d(e){s[t].d(e),e&&Fe(r)}}}function Mu(e,t,n){let r,a;return Be(e,Vl,(e=>n(0,r=e))),Be(e,kc,(e=>n(1,a=e))),[r,a,function(e){zt(e.currentTarget,{duration:1e3,spread:360,elementCount:25,startVelocity:30})},function(){Ja.next(nc("hopper"))},function(){Ja.next(nc("bomber"))}]}class qu extends je{constructor(e){super(),Ae(this,e,Mu,Du,_e,{})}}var Vu={ar:"ÙÙØ¨ ÙÙØ¨! ÙÙØ¯ ØØµÙت عÙÙ Ù٠اÙÙØ¬ÙÙ
ÙÙ BombHopper.io",ca:"Bona feina! Has fet 3 estrelles en cada nivell de Bombhopper.io!",de:"Yay du hast BombHopper.io mit 3 Sternen abgeschlossen!",en:"Woop woop! You 3-starred BombHopper.io",es:"Vámonos! Has hecho 3 estrellas en cada nivel de Bombhopper.io!",fr:"Youhou ! T'as fini BombHopper.io avec 3 étoile à tout les niveaux",hr:"Jupi! ZavrÅ¡io si BombHopper.io s 3 zvijezdice",pt:"Isso isso! Você zerou Bombhooper.io com 3 estrelas",uk:"ÐÑÑп-бÑÑп! Ти пÑойÑов веÑÑ BombHopper.io на ÑÑи зÑÑки","zh-cn":"åå¼! ä½ ä¸æäºBombHopper.io!","zh-tw":"åå¼ï¼ä½ 䏿äºBombHopper.ioï¼"},Nu={ar:"ÙÙØ¨ ÙÙØ¨! ÙÙØ¯ اÙÙÙØª BombHopper.io",ca:"Bona feina! Ha acabat BombHopper.io!",de:"Yay du hast BombHopper.io abgeschlossen!",en:"Woop woop! You finished BombHopper.io",es:"Vámonos! Has acabado BombHopper.io!",fr:"Youhou ! T'as fini BombHopper.io !",hr:"Jupi! ZavrÅ¡io si BombHopper.io",pt:"Isso isso! Você zerou Bombhooper.io",uk:"ÐÑÑп-бÑÑп! Ти пÑойÑов BombHopper.io","zh-cn":"åå¼! æåä½ æåéè¿BombHopper.io!","zh-tw":"åå¼ï¼æåä½ æåééBombHopper.ioï¼"},Hu={ar:"Ø£ÙØª ØªÙØ¹Ø¨ عÙ٠إصضار %1",ca:"Està s jugant la versió %1.",de:"Du spielst auf Version %1.",en:"You are playing on version %1.",es:"Estas jugando la versión %1.",fr:"Tu joues sur la ver
1sion %1.",hr:"IgraÅ¡ na verziji %1.",pt:"Você está jogando na versão %1.",uk:"Ти гÑаÑÑ Ð½Ð° веÑÑÑÑ %1.","zh-cn":"æ¨ç°å¨æ£å¨ç©%1çæ¬.","zh-tw":"æ¨ç¾å¨æ£å¨ç©%1çæ¬ã"},Ou={ar:'Ù
ÙØ§ØØ¸Ø©: %1 ÙØ¯ Ù
ضة Ù
ÙØ° أ٠بدأت ÙØ¹Ø¨ Ø£ÙÙ Ù
رØÙØ©, Ù Ù
ÙÙÙ
%2 ÙÙØØ³Ø¨ÙÙ "Ù٠اÙÙØ¹Ø¨Ø©"',ca:'PD: %1 han transcorregut des que comences a executar el primer nivell, dels quals %2 es consideren "in-game".',de:'PS: %1 sind vergangen seitdem du das erste Level geöffnet hast. %2 davon waren "in-game".',en:'P.S: %1 have elapsed since you started running the first level, out of which %2 are considered "in-game".',es:'PD: %1 han transcurrido desde que empezaste a ejecutar el primer nivel, de los cuales %2 se consideran "in-game".',fr:'P.S: %1 se sont écoulées depuis que tu as lancé le premier niveau, desquelles %2 sont considérées "en-jeu".',hr:'P.S: %1 je proÅ¡lo odkad si zapoÄeo prvu razinu, od kojih se %2 broji kao "u-igri".',pt:'P.S: %1 se passaram desde que você começou a jogar o primeiro nÃvel, do qual %2 são considerados "no jogo".',uk:'P.S: %1 пÑойÑло з моменÑÑ ÐºÐ¾Ð»Ð¸ Ñи поÑав пÑоÑ
одиÑи пеÑÑий ÑÑвенÑ, з ÑкиÑ
%2 Ñи пÑовÑв "в гÑÑ".',"zh-cn":"èªä»ä½ å¼å§ç©ç¬¬ä¸å
³, %1å·²ç»è¿å»äº, å
¶ä¸ %2 被è§ä¸ºâ游æä¸â.","zh-tw":"èªå¾ä½ éå§ç©ç¬¬ä¸éï¼%1å·²ç¶éå»äºï¼å
¶ä¸ %2 被è¦çºãéæ²ä¸ãã"},Ru={ar:"ÙÙ ØµØØªÙ, جÙÙÙÙ",ca:"Ãnims,\nJulien",de:"Glückwunsch,\nJulien",en:"Cheers,\nJulien",es:"Ãnimos,\nJulien",fr:"La bise,\nJulien",hr:"Živjeli, \nJulien",uk:"РнайкÑаÑими побажаннÑми,\nÐÑлÑÑн","zh-cn":"ç¥å¥½,\nJulien æ±å©å®","zh-tw":"ç¥å¥½ï¼\nJulien æ±å©å®"},Uu={ar:"إضغت Ø§ÙØ²Ø± ØªØØª ÙØªØØµÙ عÙÙÙ.",ca:"Toca el botó a sota per agafar-lo.",de:"Klicke auf dem Knopf unten um es zu erhalten",en:"Click the button below to grab it.",es:"Toca el botón debajo para agarrarlo.",fr:"Clique le bouton ci-dessous pour l'obtenir.",hr:"Pritisni gumb ispod kako bi ga primio",pt:"Basta usar o botão abaixo para pegá-lo.",uk:"ÐаÑиÑни на ÐºÐ½Ð¾Ð¿ÐºÑ Ð½Ð¸Ð¶Ñе аби оÑÑимаÑи ÑолÑ.","zh-cn":"åå»ä¸é¢çæé®ä»¥è·åå®.","zh-tw":"宿ä¸é¢çæé以ç²åå®ã"},Wu={ar:'ØªÙØ§ÙÙÙØ§ ÙÙ! ÙØ§ Ù٠جائزتÙ: Ø¯ÙØ± ا٠! ÙÙØ£ÙÙ ØØµÙت عÙÙ Ù٠اÙÙØ¬ÙÙ
سأعطÙÙ Ø£ÙØ«Ø± ÙÙÙÙØ§Ù! ØªØØµÙ عÙÙ Ø¯ÙØ± <span class="hopper">Hopper</span>عÙÙ Discord!',ca:'Felicitats! Aquà hi és el teu regal : el rol <span class="hopper">Hopper</span> a Discord!',de:'Glückwunsch! hier ist dein Geschenk: der <span class="hopper">Hopper</span> Rank auf Discord!',en:'Congrats! Here\'s your gift: the <span class="hopper">Hopper</span> role on Discord!',es:'Felicidades! Aquà esta tu regalo : el rol <span class="hopper">Hopper</span> en Discord!',fr:'Bravo ! Voici ton cadeau: le role <span class="hopper">Hopper</span> sur Discord !',hr:'Äestitam! Ovdje je tvoj poklon: <span class="hopper">Hopper</span> uloga na Discordu!',pt:'Parabéns! Aqui está meu presente: o cargo <span class="hopper">Hopper</span> no Discord!',uk:'ÐÑÑаннÑ! ТÑÑ ÑÐ²Ð¾Ñ ÑÐ¾Ð»Ñ <span class="hopper">Hopper</span> в ÐÑÑкоÑдÑ!',"zh-cn":'æåä½ ï¼ è¿æ¯ä½ çå¥åï¼Discordä¸<span class="hopper">Hopper</span>çç¹å«è§è²ï¼',"zh-tw":'æåä½ ï¼ éæ¯ä½ ççåï¼Discordä¸<span class="hopper">Hopper</span>çç¹å¥è§è²ï¼'},Ju={ar:' ÙÙØ£ÙÙ ØØµÙت عÙÙ Ù٠اÙÙØ¬ÙÙ
سأعطÙÙ Ø£ÙØ«Ø± ÙÙÙÙØ§Ù! ØªØØµÙ عÙÙ Ø¯ÙØ± <span class="bomber">Bomber</span> Ø£ÙØ¶Ø§Ù!',ca:'I com has tret 3 estrelles et vaig a donar alguna cosa més! Aconseguirà s el rol de <span class="bomber">Bomber</span> també ð',de:'Und weil du alle Level mit 3 Sternen abgeschlossen hast, gebe ich dir etwas mehr! Du kriegst den <span class="bomber">Bomber</span> Rank auch noch. ð',en:'And since you 3-starred the game I will even give you a little more! You get the <span class="bomber">Bomber</span> role too. ð',es:'Y como has sacado 3 estrellas te voy a dar algo más! Conseguirás el rol de <span class="bomber">Bomber</span> también ð',fr:'Et vu que t\'as toutes les étoiles, je te donne encore plus ! Tu obtiens aussi le role <span class="bomber">Bomber</span>. ð',hr:'BuduÄi da si zavrÅ¡io igru s 3 zvijezdice, dat Äu ti i malo viÅ¡e! TakoÄer dobivaÅ¡ <span class="bomber">Bomber</span> ulogu. ð',pt:'E já que você zerou o jogo com 3 estrelas eu ainda vou te dar um pouco mais! Você recebeu o cargo <span class="bomber">Bomber</span> também. ð',uk:'Ð ÑÐ¾Ð¼Ñ Ñо Ñи закÑнÑив вÑÑ Ð³ÑÑ Ð½Ð° ÑÑи зÑÑки, Ñ Ð´Ð°Ð¼ ÑÐ¾Ð±Ñ ÑÑоÑки бÑлÑÑе! ТÑимай ÑÐ²Ð¾Ñ ÑÐ¾Ð»Ñ <span class="bomber">Bomber</span>. ð',"zh-cn":'ä¹å ä¸ºä½ ä¸æäºè¿ä¸ªæ¸¸ææè¿ä¼ç»ä½ ä¸ä¸ª<span class="bomber">Bomber</span>çç¹å«è§è². ð',"zh-tw":'ä¹å çºä½ 䏿äºéåéæ²æéæçµ¦ä½ ä¸å<span class="bomber">Bomber</span>çç¹å¥è§è²ãð'},Gu={ar:"إضغت ÙÙØ§.",ca:"toca aquÃ",de:"klicke hier",en:"click here",es:"toca aquÃ",fr:"clique ici",hr:"pritisni ovdje",pt:"clique aqui",uk:"нажми ÑÑди","zh-cn":"ç¹å»è¿é","zh-tw":"黿éè£"},Ku={ar:"٠إذ ØªØ±ÙØ¯ ÙØ¹Ø¨ Ù
راØÙ Ù
صÙÙØ¹Ø© Ù
Ù ÙØ¨Ù ÙØ§Ø³ Ù
Ø«Ù٠أ٠أ٠تجرب Ù
عد٠اÙÙ
راØÙ",ca:"I si vols jugar nivells personalitzats o usar l'editor de nivells",de:"Und wenn du willst kannst du auch von Spielern gemacht Level oder den Level Editor ausprobieren",en:"And if you want to play custom levels or try out the level editor",es:"Y si quieres jugar niveles personalizados o usar el editor de niveles",fr:"Et si tu veux joueur aux niveaux customs ou essayer l'éditeur de niveaux",hr:"A ako želiÅ¡ igrati korisniÄke razine ili isprobati ureÄivaÄ razina",pt:"E se você quer jogar nÃveis personalizados ou experimentar o editor de nÃveis",uk:"Також ÑкÑо Ñ
оÑÐµÑ Ð¿Ð¾Ð³ÑаÑи в ÑнÑÑ ÑÑвнÑ, ÑпÑобÑй Ð½Ð°Ñ ÑедакÑÐ¾Ñ ÑÑвнÑв! ","zh-cn":"å¦æä½ æ³ç©å¯ä»¥èªå·±è®¾è®¡çå
³å¡, è¯ä¸è¯å
³å¡ç¼è¾å¨","zh-tw":"å¦æä½ æ³ç©å¯ä»¥èªå·±è¨è¨çéå¡ï¼è©¦ä¸è©¦éå¡ç·¨è¼¯å¨"};function Yu(e){let t;return{c(){t=De("h2"),t.textContent=`${ba(Nu).text}`},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function Zu(e){let t;return{c(){t=De("h2"),t.textContent=`${ba(Vu).text}`},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function Qu(e){let t,n,r=ba(Ju).text+"";return{c(){t=De("p"),n=De("p")},m(e,a){Le(e,t,a),t.innerHTML=r,Le(e,n,a)},p:Ie,d(e){e&&Fe(t),e&&Fe(n)}}}function Xu(e){let t,n,r,a,i,s=ba(Ou).text.replace("%1",e[4]).replace("%2",Wc(new Date(e[2])))+"",o=ba(Hu).text.replace("%1",Ct)+"";return{c(){t=De("p"),n=Ye(s),r=De("br"),a=Me(),i=Ye(o),qe(t,"class","svelte-bx
15tj1")},m(e,s){Le(e,t,s),Ve(t,n),Ve(t,r),Ve(t,a),Ve(t,i)},p(e,t){4&t&&s!==(s=ba(Ou).text.replace("%1",e[4]).replace("%2",Wc(new Date(e[2])))+"")&&Ze(n,s)},d(e){e&&Fe(t)}}}function ed(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x,f,v,b,$,w,k,S=ba(Wu).text+"",z=ba(Ku).text+"",C=ba(Ru).text.replace("\n","<br/>")+"";function E(e,t){return e[1]?Zu:Yu}let T=E(e),j=T(e),A=e[1]&&Qu();l=new qu({}),f=new Xp({props:{elementCount:150,spread:140,duration:3e3,stagger:1.5}});let _=0!==e[0]&&Xu(e);return{c(){t=De("div"),j.c(),n=Me(),r=De("p"),a=De("p"),A&&A.c(),i=Me(),s=De("p"),s.textContent=`${ba(Uu).text}`,o=Me(),rt(l.$$.fragment),c=Me(),p=De("p"),u=Ye(z),d=Ye(", "),m=De("button"),m.textContent=`${ba(Gu).text}`,y=Ye("."),h=Me(),g=De("p"),x=Me(),rt(f.$$.fragment),v=Me(),b=De("div"),_&&_.c(),qe(m,"class","link-like"),qe(b,"class","line svelte-bx5tj1"),qe(t,"class","container svelte-bx5tj1")},m(z,E){Le(z,t,E),j.m(t,null),Ve(t,n),Ve(t,r),r.innerHTML=S,Ve(t,a),A&&A.m(a,null),Ve(a,i),Ve(t,s),Ve(t,o),at(l,t,null),Ve(t,c),Ve(t,p),Ve(p,u),Ve(p,d),Ve(p,m),Ve(p,y),Ve(t,h),Ve(t,g),g.innerHTML=C,Ve(t,x),at(f,t,null),Ve(t,v),Ve(t,b),_&&_.m(b,null),$=!0,w||(k=Ne(m,"click",e[3]),w=!0)},p(e,r){T===(T=E(e))&&j?j.p(e,r):(j.d(1),j=T(e),j&&(j.c(),j.m(t,n))),e[1]?A?A.p(e,r):(A=Qu(),A.c(),A.m(a,i)):A&&(A.d(1),A=null),0!==e[0]?_?_.p(e,r):(_=Xu(e),_.c(),_.m(b,null)):_&&(_.d(1),_=null)},i(e){$||(He(l.$$.fragment,e),He(f.$$.fragment,e),$=!0)},o(e){Re(l.$$.fragment,e),Re(f.$$.fragment,e),$=!1},d(e){e&&Fe(t),j.d(),A&&A.d(),it(l),it(f),_&&_.d(),w=!1,k()}}}function td(e){let t,n;return t=new cp({props:{class:"zbebvnmo-page",$$slots:{default:[ed]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};71&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function nd(e,t,n){let r,a,i;Be(e,Li,(e=>n(0,r=e))),Be(e,kc,(e=>n(1,a=e))),Be(e,Ii,(e=>n(2,i=e)));const s=Date.now();const o=Wc(new Date(s-r));return[r,a,i,function(){Ja.next(tl("/main"))},o]}class rd extends je{constructor(e){super(),Ae(this,e,nd,td,_e,{})}}function ad(e){let t,n,r,a,i;return{c(){t=De("p"),n=Ye(e[0]),r=De("span"),r.textContent=".",a=De("span"),a.textContent=".",i=De("span"),i.textContent=".",qe(r,"class","dot"),qe(a,"class","dot"),qe(i,"class","dot"),qe(t,"class","svelte-ig7hwe")},m(e,s){Le(e,t,s),Ve(t,n),Ve(t,r),Ve(t,a),Ve(t,i)},p(e,t){1&t&&Ze(n,e[0])},d(e){e&&Fe(t)}}}function id(e){let t,n;return t=new cp({props:{class:"p6RZSpL2-page",$$slots:{default:[ad]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};9&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function sd(e,t,n){let r,a,{level:i}=t;return st((()=>{gt().then((()=>{Ja.next(La(i))}))})),e.$$set=e=>{"level"in e&&n(1,i=e.level)},e.$$.update=()=>{2&e.$$.dirty&&n(2,r="string"==typeof i.storageId?ui[i.storageId]:null),6&e.$$.dirty&&n(0,a=ba(fs).text.replace("%1",r).replace("%2",i.name))},[a,i,r]}class od extends je{constructor(e){super(),Ae(this,e,sd,id,_e,{level:1})}}function ld(e){let t,n,r,a,i,s,o=(200===e[0].status?ba(qs).text:ba(Vs).text)+"";return{c(){t=De("button"),n=De("span"),r=Me(),a=Ye(o),qe(n,"class","icon-user"),qe(t,"class","neon")},m(o,l){Le(o,t,l),Ve(t,n),Ve(t,r),Ve(t,a),i||(s=Ne(t,"click",e[4]),i=!0)},p(e,t){1&t&&o!==(o=(200===e[0].status?ba(qs).text:ba(Vs).text)+"")&&Ze(a,o)},d(e){e&&Fe(t),i=!1,s()}}}function cd(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x,f,v,b,$,w,k=ba(Ls).text+"",S=ba(Is).text+"",z=ba(Fs).text+"",C=e[0].done&&ld(e);return v=new dp({}),{c(){t=De("h1"),t.innerHTML='<img src="icon/icon-monochrome.svg" alt="icon" class="logo svelte-79tyzl"/> BombHopper.io',n=Me(),r=De("button"),a=De("span"),i=Me(),s=Ye(k),o=Me(),l=De("button"),c=De("span"),p=Me(),u=Ye(S),d=Me(),m=De("button"),y=De("span"),h=Me(),g=Ye(z),x=Me(),C&&C.c(),f=Me(),rt(v.$$.fragment),qe(t,"class","title svelte-79tyzl"),qe(a,"class","icon-play3"),qe(r,"class","neon"),qe(c,"class","icon-rocket"),qe(l,"class","neon"),qe(y,"class","icon-pencil"),qe(m,"class","neon")},m(k,S){Le(k,t,S),Le(k,n,S),Le(k,r,S),Ve(r,a),Ve(r,i),Ve(r,s),Le(k,o,S),Le(k,l,S),Ve(l,c),Ve(l,p),Ve(l,u),Le(k,d,S),Le(k,m,S),Ve(m,
1y),Ve(m,h),Ve(m,g),Le(k,x,S),C&&C.m(k,S),Le(k,f,S),at(v,k,S),b=!0,$||(w=[Ne(r,"click",e[1]),Ne(l,"click",e[2]),Ne(m,"click",e[3])],$=!0)},p(e,t){e[0].done?C?C.p(e,t):(C=ld(e),C.c(),C.m(f.parentNode,f)):C&&(C.d(1),C=null)},i(e){b||(He(v.$$.fragment,e),b=!0)},o(e){Re(v.$$.fragment,e),b=!1},d(e){e&&Fe(t),e&&Fe(n),e&&Fe(r),e&&Fe(o),e&&Fe(l),e&&Fe(d),e&&Fe(m),e&&Fe(x),C&&C.d(e),e&&Fe(f),it(v,e),$=!1,ht(w)}}}function pd(e){let t,n;return t=new cp({props:{class:"refuaom-page",$$slots:{default:[cd]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};33&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function ud(e,t,n){let r;return Be(e,Vl,(e=>n(0,r=e))),[r,function(){Ja.next(tl("/menu"))},function(){Ja.next(tl("/custom-levels"))},function(){Ja.next(tl("/editor"))},function(){200!==r.status?Ja.next(al({name:"login",props:{reason:"Log in to access your account"}})):Ja.next(tl("/account"))}]}class dd extends je{constructor(e){super(),Ae(this,e,ud,pd,_e,{})}}function md(e){let t,n,r,a;return{c(){t=De("p"),t.textContent="Loading the editor...",n=Me(),r=De("iframe"),qe(t,"class","editor-loading svelte-qpnp1c"),qe(r,"allow","clipboard-read; clipboard-write"),qe(r,"class","editor svelte-qpnp1c"),xt(r.src,a="https://editor.bombhopper.io/"+(e[0]?`?levelId=${e[0]}`:""))||qe(r,"src",a),qe(r,"title","BombHopper.io Level Editor")},m(e,a){Le(e,t,a),Le(e,n,a),Le(e,r,a)},p(e,t){1&t&&!xt(r.src,a="https://editor.bombhopper.io/"+(e[0]?`?levelId=${e[0]}`:""))&&qe(r,"src",a)},d(e){e&&Fe(t),e&&Fe(n),e&&Fe(r)}}}function yd(e){let t,n;return t=new cp({props:{$$slots:{default:[md]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};3&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function hd(e,t,n){let{levelId:r}=t;return e.$$set=e=>{"levelId"in e&&n(0,r=e.levelId)},[r]}class gd extends je{constructor(e){super(),Ae(this,e,hd,yd,_e,{levelId:0})}}function xd(e){let t,n,r;function a(e,t){return e[0]?vd:fd}let i=a(e),s=i(e);return{c(){t=De("button"),s.c(),t.disabled=e[0],qe(t,"class","neon"),qe(t,"title","Delete")},m(a,i){Le(a,t,i),s.m(t,null),n||(r=Ne(t,"click",e[3]),n=!0)},p(e,n){i!==(i=a(e))&&(s.d(1),s=i(e),s&&(s.c(),s.m(t,null))),1&n&&(t.disabled=e[0])},d(e){e&&Fe(t),s.d(),n=!1,r()}}}function fd(e){let t;return{c(){t=De("span"),qe(t,"class","icon-bin")},m(e,n){Le(e,t,n)},d(e){e&&Fe(t)}}}function vd(e){let t,n,r;return{c(){t=De("span"),t.textContent=".",n=De("span"),n.textContent=".",r=De("span"),r.textContent=".",qe(t,"class","dot"),qe(n,"class","dot"),qe(r,"class","dot")},m(e,a){Le(e,t,a),Le(e,n,a),Le(e,r,a)},d(e){e&&Fe(t),e&&Fe(n),e&&Fe(r)}}}function bd(e){let t,n=!0===e[2].done&&!e[2].error&&e[2].data&&(e[2].data.id===e[1].author_id||e[2].data.roles?.includes("moderator")),r=n&&xd(e);return{c(){r&&r.c(),t=Pe()},m(e,n){r&&r.m(e,n),Le(e,t,n)},p(e,a){let[i]=a;6&i&&(n=!0===e[2].done&&!e[2].error&&e[2].data&&(e[2].data.id===e[1].author_id||e[2].data.roles?.includes("moderator"))),n?r?r.p(e,i):(r=xd(e),r.c(),r.m(t.parentNode,t)):r&&(r.d(1),r=null)},i:Ie,o:Ie,d(e){r&&r.d(e),e&&Fe(t)}}}function $d(e,t,n){let r;Be(e,Vl,(e=>n(2,r=e)));let{deletionPending:a=!1}=t,{level:i}=t;return e.$$set=e=>{"deletionPending"in e&&n(0,a=e.deletionPending),"level"in e&&n(1,i=e.level)},[a,i,r,function(){window.confirm(`Are you sure you want to delete the level ${i.name}`)&&Ja.next(Cl(i.id))}]}class wd extends je{constructor(e){super(),Ae(this,e,$d,bd,_e,{deletionPending:0,level:1})}}function kd(e){let t,n,r,a,i,s,o,l=e[1].author+"";return{c(){t=De("span"),n=Ye("Created "),r=De("time"),a=Ye(e[4]),i=Ye(" by "),s=De("span"),o=Ye(l),qe(s,"class","author svelte-60k0sx"),qe(t,"class","meta oneLine svelte-60k0sx")},m(e,l){Le(e,t,l),Ve(t,n),Ve(t,r),Ve(r,a),Ve(t,i),Ve(t,s),Ve(s,o)},p(e,t){16&t&&Ze(a,e[4]),2&t&&l!==(l=e[1].author+"")&&Ze(o,l)},d(e){e&&Fe(t)}}}function Sd(e){let t,n,r;return{c(){t=De("button"),t.textContent=`ð${ba(Qs).text}`,qe(t,"class","neon")},m(a,i){Le(a,t,i),n||(r=Ne(t,"click",e[8]),n=!0)},p:Ie,d(e){e&&Fe(t),n=!1,r()}}}function zd(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x,f,v,b,$,w,k,S,z,C,E,T,j,A,_,P,L,I,F=e[1].name+"",B=e[1].score
1+"",D=ba(e[0]?as:Ls).text+"";function M(e,t){return e[1].publication?kd:Sd}let q=M(e),V=q(e);return S=new wd({props:{level:e[1],deletionPending:e[2]}}),{c(){t=De("div"),n=De("div"),r=De("img"),s=Me(),o=De("div"),l=De("h2"),c=Ye(F),p=Me(),u=De("span"),d=Ye(B),m=Ye(" points"),y=Me(),V.c(),h=Me(),g=De("div"),x=De("button"),f=De("span"),b=Me(),$=Ye(D),w=Me(),k=De("span"),rt(S.$$.fragment),z=Me(),C=De("button"),E=De("span"),T=Me(),j=De("button"),A=De("span"),qe(r,"alt",a=e[1].name+"'s preview"),xt(r.src,i="https://peintre.bombhopper.io/levels/"+e[1].id+".svg")||qe(r,"src",i),qe(r,"class","level-preview svelte-60k0sx"),qe(l,"class","levelName oneLine svelte-60k0sx"),qe(u,"class","score svelte-60k0sx"),qe(o,"class","infos svelte-60k0sx"),qe(n,"class","left-side svelte-60k0sx"),qe(f,"class",v=e[0]?"icon-spinner2":"icon-forward3"),qe(x,"class","playButton neon primary svelte-60k0sx"),x.disabled=e[0],qe(E,"class","icon-pencil"),qe(C,"class","neon"),qe(C,"title",ba(Ns).text),qe(A,"class","icon-share2"),qe(j,"class","neon"),qe(j,"title",ba(Ss).text),qe(k,"class","tools svelte-60k0sx"),qe(g,"class","right-side svelte-60k0sx"),qe(t,"class","card svelte-60k0sx"),qe(t,"style",_=e[3]?'border-image-source: url("548a9e35bb43ce1c.png");':""),yt(t,"christmas-card",e[3])},m(a,i){Le(a,t,i),Ve(t,n),Ve(n,r),Ve(n,s),Ve(n,o),Ve(o,l),Ve(l,c),Ve(o,p),Ve(o,u),Ve(u,d),Ve(u,m),Ve(o,y),V.m(o,null),Ve(t,h),Ve(t,g),Ve(g,x),Ve(x,f),Ve(x,b),Ve(x,$),Ve(g,w),Ve(g,k),at(S,k,null),Ve(k,z),Ve(k,C),Ve(C,E),Ve(k,T),Ve(k,j),Ve(j,A),P=!0,L||(I=[Ne(x,"click",e[5]),Ne(C,"click",e[6]),Ne(j,"click",e[7])],L=!0)},p(e,n){let[s]=n;(!P||2&s&&a!==(a=e[1].name+"'s preview"))&&qe(r,"alt",a),(!P||2&s&&!xt(r.src,i="https://peintre.bombhopper.io/levels/"+e[1].id+".svg"))&&qe(r,"src",i),(!P||2&s)&&F!==(F=e[1].name+"")&&Ze(c,F),(!P||2&s)&&B!==(B=e[1].score+"")&&Ze(d,B),q===(q=M(e))&&V?V.p(e,s):(V.d(1),V=q(e),V&&(V.c(),V.m(o,null))),(!P||1&s&&v!==(v=e[0]?"icon-spinner2":"icon-forward3"))&&qe(f,"class",v),(!P||1&s)&&D!==(D=ba(e[0]?as:Ls).text+"")&&Ze($,D),(!P||1&s)&&(x.disabled=e[0]);const l={};2&s&&(l.level=e[1]),4&s&&(l.deletionPending=e[2]),S.$set(l),(!P||8&s&&_!==(_=e[3]?'border-image-source: url("548a9e35bb43ce1c.png");':""))&&qe(t,"style",_),8&s&&yt(t,"christmas-card",e[3])},i(e){P||(He(S.$$.fragment,e),P=!0)},o(e){Re(S.$$.fragment,e),P=!1},d(e){e&&Fe(t),V.d(),it(S),L=!1,ht(I)}}}function Cd(e,t,n){let r,a,{pending:i=!1}=t,{level:s}=t,{deletionPending:o=!1}=t;return e.$$set=e=>{"pending"in e&&n(0,i=e.pending),"level"in e&&n(1,s=e.level),"deletionPending"in e&&n(2,o=e.deletionPending)},e.$$.update=()=>{2&e.$$.dirty&&n(4,r=new Date(s.publication).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"})),2&e.$$.dirty&&n(3,a=["c5374b6b-52a0-4716-a0d4-f9e4dbb521e4","26e1ae49-79fb-4176-9dee-ee9e6ef4cdd7","656b1420-be6e-4314-be5c-4df5d22fe901","5353196c-a9f5-4c45-bd4c-c69519c8e57c","7955e5b0-8b9d-49b4-8b0e-bc01113ef08b","e3d53d19-8000-4837-91d9-52d888b500d4","4f189987-c3e0-47a9-a8a7-888cbfe1cec4","60ad331e-141c-4761-9f50-32042110d032","36ad1b20-0064-499b-b81c-8f9be8731774","d4b7997e-bcd7-43e8-a963-479444134010","6c23c49b-4191-41af-9a25-1a3c6f3a4dfe","1b1abc84-07c1-4427-942c-f1f5c7ade6e1"].includes(s.id))},[i,s,o,a,r,function(){Ja.next(hl(s.url,s.id))},function(){Ja.next(tl({path:"/editor",props:{levelId:s.id}}))},function(){Ja.next(al({name:"share",props:{title:"Share!",message:"Share this level with your friends",url:rc(s.id)}}))},function(){Ja.next(El(s.id))}]}class Ed extends je{constructor(e){super(),Ae(this,e,Cd,zd,_e,{pending:0,level:1,deletionPending:2})}}function Td(e,t,n){const r=e.slice();return r[9]=t[n].pending,r[10]=t[n].deletionPending,r[11]=t[n].data,r[13]=n,r}function jd(e){let t,n,r,a,i,s,o;return n=new Ed({props:{level:e[11],pending:e[9],deletionPending:e[10]}}),{c(){t=De("li"),rt(n.$$.fragment),r=Me(),qe(t,"class","level svelte-lmxg84")},m(l,c){Le(l,t,c),at(n,t,null),Ve(t,r),i=!0,s||(o=ut(a=e[4].call(null,t,e[13]>e[3].length-5)),s=!0)},p(t,r){e=t;const i={};8&r&&(i.level=e[11]),8&r&&(i.pending=e[9]),8&r&&(i.deletionPending=e[10]),n.$set(i),a&&vt(a.update)&&8&r&&a.update.call(null,e[13]>e[3].length-5)},i(e){i||(He(n.$$.fragment,e),i=!0)},o(e){Re(n.$$.fragment,e),i=!1},d(e){e&&Fe(t),it(n),s=!1,o()}}}function Ad(e){let t,n,r,a,i,s,o=ba(Ks).text+"";return{c(){t=De("p"),n=De("span"),r=Ye(o),a=De("span"),a.textContent=".",i=De("span"),i.textContent=".",s=De("span"),s.textContent=".",qe(n,"class","icon-spinner2"),qe(a,"class","dot"),qe(i,"class","dot"),qe(s,"class","dot"),qe(t,"class","fetching svelte-lmxg84")},m(e,o){Le(e,t,o),Ve(t,n),Ve(t,r),Ve(t,a),Ve(t,i),Ve(t,s)},p:Ie,d(e){e&&Fe(t)}}}function _d(e){let t,n,r,a,i,s=JSON.stringify(e[2].error,null,"\t")+"";return{c(){t=De("p"),n=Ye("Failed to load level list: "),r=De("code"),a=Ye(s),i=De("code")},m(e,s){Le(e,t,s),Ve(t,n),Ve(t,r),Ve(r,a),Ve(r,i)},p(e,t){4&t&&s!==(s=JSON.stringify(e[2].error,null,"\t")+"")&&Ze(a,s)},d(e){e&&Fe(t)}}}function Pd(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h=ba(eo).text+"",g=e[3],x=[];for(let t=0;t<g.length;t+=1)x[t]=jd(Td(e,g,t));const f=e=>Re(x[e],1,1,(()=>{x[e]=null}));function v(e,t){return e[2].error?_d:e[2].pending?Ad:void 0}let b=v(e),$=b&&b(e);return{c(){t=De("label"),n=Ye(h),r=Me(),a=De("select"),i=De("option"),i.textContent=`${ba(Ws).text}`,s=De("option"),s.textContent=`${ba(Js).text}`,o=De("option"),o.textContent=`${ba(Gs).text}`,l=Me(),c=De("ul");for(let e=0;e<x.length;e+=1)x[e].c();p=Me(),$&&$.c(),u=Pe(),i.__value="hot",i.value=i.__value,s.__value="score",s.value=s.__value,o.__value="date",o.value=o.__value,qe(a,"class","ranking-selector neon svelte-lmxg84"),void 0===e[0]&&tt((()=>e[5].call(a))),qe(c,"class","levels svelte-lmxg84")},m(h,g){Le(h,t,g),Ve(t,n),Ve(t,r),Ve(t,a),Ve(a,i),Ve(a,s),Ve(a,o),ft(a,e[0]),Le(h,l,g),Le(h,c,g);for(let e=0;e<x.length;e+=1)x[e].m(c,null);Le(h,p,g),$&&$.m(h,g),Le(h,u,g),d=!0,m||(y=Ne(a,"change",e[5]),m=!0)},p(e,t){let[n]=t;if(1&n&&ft(a,e[0]),8&n){let t;for(g=e[3],t=0;t<g.length;t+=1){const r=Td(e,g,t);x[t]?(x[t].p(r,n),He(x[t],1)):(x[t]=jd(r),x[t].c(),He(x[t],1),x[t].m(c,null))}for(Oe(),t=g.length;t<x.length;t+=1)f(t);Ue()}b===(b=v(e))&&$?$.p(e,n):($&&$.d(1),$=b&&b(e),$&&($.c(),$.m(u.parentNode,u)))},i(e){if(!d){for(let e=0;e<g.length;e+=1)He(x[e]);d=!0}}
1,o(e){x=x.filter(Boolean);for(let e=0;e<x.length;e+=1)Re(x[e]);d=!1},d(e){e&&Fe(t),e&&Fe(l),e&&Fe(c),Xe(x,e),e&&Fe(p),$&&$.d(e),e&&Fe(u),m=!1,y()}}}function Ld(e,t,n){let r,a,i,s=Ie;Be(e,Jl,(e=>n(2,a=e))),e.$$.on_destroy.push((()=>s()));let o=0;st((()=>{Ja.next(bl({limit:25,offset:o,unlisted:!1}))}));let l="hot";const c={hot:Ol,score:Rl,date:Ul};let p;return e.$$.update=()=>{1&e.$$.dirty&&(n(1,r=c[l]),s(),s=dt(r,(e=>n(3,i=e))))},[l,r,a,i,function(e,t){if(p||(p=new IntersectionObserver((e=>{e.some((e=>{let{isIntersecting:t}=e;return t}))&&!a.pending&&(o+=25,Ja.next(bl({limit:25,offset:o,unlisted:!1})))}))),t)return p.observe(e),{update(t){t?p.observe(e):p.unobserve(e)},destroy(){p.unobserve(e)}}},function(){l=bt(this),n(0,l)}]}class Id extends je{constructor(e){super(),Ae(this,e,Ld,Pd,_e,{})}}function Fd(e,t,n){const r=e.slice();return r[2]=t[n].data,r[3]=t[n].deletionPending,r[4]=t[n].pending,r}function Bd(e){let t,n,r=e[1],a=[];for(let t=0;t<r.length;t+=1)a[t]=qd(Fd(e,r,t));const i=e=>Re(a[e],1,1,(()=>{a[e]=null}));return{c(){t=De("ul");for(let e=0;e<a.length;e+=1)a[e].c();qe(t,"class","svelte-15suwk2")},m(e,r){Le(e,t,r);for(let e=0;e<a.length;e+=1)a[e].m(t,null);n=!0},p(e,n){if(2&n){let s;for(r=e[1],s=0;s<r.length;s+=1){const i=Fd(e,r,s);a[s]?(a[s].p(i,n),He(a[s],1)):(a[s]=qd(i),a[s].c(),He(a[s],1),a[s].m(t,null))}for(Oe(),s=r.length;s<a.length;s+=1)i(s);Ue()}},i(e){if(!n){for(let e=0;e<r.length;e+=1)He(a[e]);n=!0}},o(e){a=a.filter(Boolean);for(let e=0;e<a.length;e+=1)Re(a[e]);n=!1},d(e){e&&Fe(t),Xe(a,e)}}}function Dd(e){let t;return{c(){t=De("p"),t.innerHTML='<span class="icon-spinner2"></span>Loading levels list<span class="dot">.</span><span class="dot">.</span><span class="dot">.</span>'},m(e,n){Le(e,t,n)},p:Ie,i:Ie,o:Ie,d(e){e&&Fe(t)}}}function Md(e){let t,n,r=JSON.stringify(e[0].error)+"";return{c(){t=De("pre"),n=Ye(r)},m(e,r){Le(e,t,r),Ve(t,n)},p(e,t){1&t&&r!==(r=JSON.stringify(e[0].error)+"")&&Ze(n,r)},i:Ie,o:Ie,d(e){e&&Fe(t)}}}function qd(e){let t,n;return t=new Ed({props:{level:e[2],pending:e[4],deletionPending:e[3]}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const r={};2&n&&(r.level=e[2]),2&n&&(r.pending=e[4]),2&n&&(r.deletionPending=e[3]),t.$set(r)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Vd(e){let t,n,r,a;const i=[Md,Dd,Bd],s=[];function o(e,t){return e[0].error?0:e[0].pending?1:0!==e[1].length?2:-1}return~(t=o(e))&&(n=s[t]=i[t](e)),{c(){n&&n.c(),r=Pe()},m(e,n){~t&&s[t].m(e,n),Le(e,r,n),a=!0},p(e,a){let[l]=a,c=t;t=o(e),t===c?~t&&s[t].p(e,l):(n&&(Oe(),Re(s[c],1,1,(()=>{s[c]=null})),Ue()),~t?(n=s[t],n?n.p(e,l):(n=s[t]=i[t](e),n.c()),He(n,1),n.m(r.parentNode,r)):n=null)},i(e){a||(He(n),a=!0)},o(e){Re(n),a=!1},d(e){~t&&s[t].d(e),e&&Fe(r)}}}function Nd(e,t,n){let r,a;return Be(e,Gl,(e=>n(0,r=e))),Be(e,Wl,(e=>n(1,a=e))),st((()=>{Ja.next($l())})),[r,a]}class Hd extends je{constructor(e){super(),Ae(this,e,Nd,Vd,_e,{})}}function Od(e,t,n){const r=e.slice();return r[5]=t[n],r}function Rd(e){let t,n,r,a,i,s,o=e[5]+"";function l(){return e[4](e[5])}return{c(){t=De("label"),n=Ye(o),r=De("input"),qe(r,"type","radio"),qe(r,"name","source"),r.checked=a=e[0]===e[5],qe(r,"class","radio-button svelte-19sblik"),qe(t,"class","neon"),yt(t,"enabled",e[0]===e[5])},m(e,a){Le(e,t,a),Ve(t,n),Ve(t,r),i||(s=Ne(r,"change",l),i=!0)},p(n,i){e=n,1&i&&a!==(a=e[0]===e[5])&&(r.checked=a),5&i&&yt(t,"enabled",e[0]===e[5])},d(e){e&&Fe(t),i=!1,s()}}}function Ud(e){let t,n;return t=new Hd({}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Wd(e){let t,n;return t=new Id({}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Jd(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h=ba(Ps).text+"",g=e[2],x=[];for(let t=0;t<g.length;t+=1)x[t]=Rd(Od(e,g,t));const f=[Wd,Ud],v=[];function b(e,t){return e[0]===e[2][0]?0:1}return c=b(e),p=v[c]=f[c](e),{c(){t=De("button"),n=De("span"),r=Ye(h),a=Me(),i=De("h2"),i.textContent=`${ba(Is).text}`,s=Me(),o=De("div");for(let e=0;e<x.length;e+=1)x[e].c();l=Me(),p.c(),u=Pe(),qe(n,"class","icon-home3"),qe(t,"class","neon"),qe(o,"class","tabs")},m(p,h){Le(p,t,h),Ve(t,n),Ve(t,r),Le(p,a,h),Le(p,i,h),Le(p,s,h),Le(p,o,h);for(let e=0;e<x.length;e+=1)x[e].m(o,null);Le(p,l,h),v[c].m(p,h),Le(p,u,h),d=!0,m||(y=Ne(t,"click",e[1]),m=!0)},p(e,t){if(13&t){let n;for(g=e[2],n=0;n<g.length;n+=1){const r=Od(e,g,n);x[n]?x[n].p(r,t):(x[n]=Rd(r),x[n].c(),x[n].m(o,null))}for(;n<x.length;n+=1)x[n].d(1);x.length=g.length}let n=c;c=b(e),c!==n&&(Oe(),Re(v[n],1,1,(()=>{v[n]=null})),Ue(),p=v[c],p||(p=v[c]=f[c](e),p.c()),He(p,1),p.m(u.parentNode,u))},i(e){d||(He(p),d=!0)},o(e){Re(p),d=!1}
1,d(e){e&&Fe(t),e&&Fe(a),e&&Fe(i),e&&Fe(s),e&&Fe(o),Xe(x,e),e&&Fe(l),v[c].d(e),e&&Fe(u),m=!1,y()}}}function Gd(e){let t,n;return t=new cp({props:{class:"ucnwoose-page",$$slots:{default:[Jd]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};257&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Kd(e,t,n){const r=[ba(Ys).text,ba(Zs).text];let a=r[0];function i(e){n(0,a=e)}return[a,function(){Ja.next(tl("/main"))},r,i,e=>i(e)]}class Yd extends je{constructor(e){super(),Ae(this,e,Kd,Gd,_e,{})}}function Zd(e){let t,n;return{c(){t=De("img"),xt(t.src,n=e[1])||qe(t,"src",n),qe(t,"alt","icon"),qe(t,"class","image svelte-rvt81")},m(e,n){Le(e,t,n)},p(e,r){2&r&&!xt(t.src,n=e[1])&&qe(t,"src",n)},d(e){e&&Fe(t)}}}function Qd(e){let t,n=!e[0]&&Zd(e);return{c(){n&&n.c(),t=Pe()},m(e,r){n&&n.m(e,r),Le(e,t,r)},p(e,r){let[a]=r;e[0]?n&&(n.d(1),n=null):n?n.p(e,a):(n=Zd(e),n.c(),n.m(t.parentNode,t))},i:Ie,o:Ie,d(e){n&&n.d(e),e&&Fe(t)}}}function Xd(e,t,n){let r,a;const i=Ce("60f26bbba6f4c6cf.svg");Be(e,i,(e=>n(1,a=e)));const s=Ce(!1);return Be(e,s,(e=>n(0,r=e))),st((()=>{const e=be(750).pipe(I((e=>{i.set(e%2==0?"ed23a2b62906faa8.svg":"60f26bbba6f4c6cf.svg")}))),t=ei.pipe(I((()=>{s.set(!0)}))),n=Ja.pipe(we(_a.type),I((()=>{s.set(!1)}))),r=D(e,t,n).subscribe();return()=>r.unsubscribe()})),[r,a,i,s]}class em extends je{constructor(e){super(),Ae(this,e,Xd,Qd,_e,{})}}function tm(e){let t;return{c(){t=De("p"),t.innerHTML='Loading level<span class="dot">.</span><span class="dot">.</span><span class="dot">.</span>',qe(t,"class","svelte-1otkb4d")},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function nm(e){let t,n;return t=new cp({props:{class:"HQRdQ3aBjMKCrQeU-page",$$slots:{default:[tm]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};1&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}class rm extends je{constructor(e){super(),Ae(this,e,null,nm,_e,{})}}function am(e){let t,n,r,a,i,s,o=ba(Xs).text+"";return{c(){t=De("button"),n=De("span"),r=Me(),a=Ye(o),qe(n,"class","icon-exit"),qe(t,"class","neon")},m(o,l){Le(o,t,l),Ve(t,n),Ve(t,r),Ve(t,a),i||(s=Ne(t,"click",e[0]),i=!0)},p:Ie,i:Ie,o:Ie,d(e){e&&Fe(t),i=!1,s()}}}function im(e){return[function(){Ja.next(Al())}]}class sm extends je{constructor(e){super(),Ae(this,e,im,am,_e,{})}}function om(e){let t,n,r,a,i,s,o,l=JSON.stringify(e[0].error,null,"\t")+"";return{c(){t=De("pre"),n=Ye("Login check failure: "),r=Ye(l),a=Me(),i=De("button"),i.textContent="Try to log in again",qe(i,"class","neon")},m(l,c){Le(l,t,c),Ve(t,n),Ve(t,r),Le(l,a,c),Le(l,i,c),s||(o=Ne(i,"click",e[1]),s=!0)},p(e,t){1&t&&l!==(l=JSON.stringify(e[0].error,null,"\t")+"")&&Ze(r,l)},i:Ie,o:Ie,d(e){e&&Fe(t),e&&Fe(a),e&&Fe(i),s=!1,o()}}}function lm(e){let t;return{c(){t=De("p"),t.innerHTML='<span class="icon-spinner2"></span>Logging in<span class="dot">.</span><span class="dot">.</span><span class="dot">.</span>'},m(e,n){Le(e,t,n)},p:Ie,i:Ie,o:Ie,d(e){e&&Fe(t)}}}
1function cm(e){let t,n,r=200===e[0].status&&pm(e);return{c(){r&&r.c(),t=Pe()},m(e,a){r&&r.m(e,a),Le(e,t,a),n=!0},p(e,n){200===e[0].status?r?(r.p(e,n),1&n&&He(r,1)):(r=pm(e),r.c(),He(r,1),r.m(t.parentNode,t)):r&&(Oe(),Re(r,1,1,(()=>{r=null})),Ue())},i(e){n||(He(r),n=!0)},o(e){Re(r),n=!1},d(e){r&&r.d(e),e&&Fe(t)}}}function pm(e){let t,n,r,a,i,s,o,l,c,p,u=e[0].data.discord_username+"";return c=new sm({}),{c(){t=De("p"),n=Ye("Logged in as "),r=De("img"),s=Ye(" @"),o=Ye(u),l=Me(),rt(c.$$.fragment),xt(r.src,a=`https://cdn.discordapp.com/avatars/${e[0].data.discord_id}/${e[0].data.discord_avatar}.png`)||qe(r,"src",a),qe(r,"alt",i="@"+e[0].data.discord_username+"'s avatar"),qe(r,"class","avatar svelte-15hdoev")},m(e,a){Le(e,t,a),Ve(t,n),Ve(t,r),Ve(t,s),Ve(t,o),Le(e,l,a),at(c,e,a),p=!0},p(e,t){(!p||1&t&&!xt(r.src,a=`https://cdn.discordapp.com/avatars/${e[0].data.discord_id}/${e[0].data.discord_avatar}.png`))&&qe(r,"src",a),(!p||1&t&&i!==(i="@"+e[0].data.discord_username+"'s avatar"))&&qe(r,"alt",i),(!p||1&t)&&u!==(u=e[0].data.discord_username+"")&&Ze(o,u)},i(e){p||(He(c.$$.fragment,e),p=!0)},o(e){Re(c.$$.fragment,e),p=!1},d(e){e&&Fe(t),e&&Fe(l),it(c,e)}}}function um(e){let t,n,r,a;const i=[cm,lm,om],s=[];function o(e,t){return e[0].done?0:e[0].pending?1:e[0].error?2:-1}return~(t=o(e))&&(n=s[t]=i[t](e)),{c(){n&&n.c(),r=Pe()},m(e,n){~t&&s[t].m(e,n),Le(e,r,n),a=!0},p(e,a){let[l]=a,c=t;t=o(e),t===c?~t&&s[t].p(e,l):(n&&(Oe(),Re(s[c],1,1,(()=>{s[c]=null})),Ue()),~t?(n=s[t],n?n.p(e,l):(n=s[t]=i[t](e),n.c()),He(n,1),n.m(r.parentNode,r)):n=null)},i(e){a||(He(n),a=!0)},o(e){Re(n),a=!1},d(e){~t&&s[t].d(e),e&&Fe(r)}}}function dm(e,t,n){let r;return Be(e,Vl,(e=>n(0,r=e))),[r,function(){Ja.next(al({name:"login",props:{reason:"Log in to upload levels"}}))}]}class mm extends je{constructor(e){super(),Ae(this,e,dm,um,_e,{})}}function ym(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h=ba(Ps).text+"";return c=new qu({}),u=new mm({}),{c(){t=De("button"),n=De("span"),r=Ye(h),a=Me(),i=De("h2"),i.textContent=`${ba(no).text}`,s=Me(),o=De("h3"),o.textContent=`${ba(to).text}`,l=Me(),rt(c.$$.fragment),p=Me(),rt(u.$$.fragment),qe(n,"class","icon-home3"),qe(t,"class","neon")},m(h,g){Le(h,t,g),Ve(t,n),Ve(t,r),Le(h,a,g),Le(h,i,g),Le(h,s,g),Le(h,o,g),Le(h,l,g),at(c,h,g),Le(h,p,g),at(u,h,g),d=!0,m||(y=Ne(t,"click",e[0]),m=!0)},p:Ie,i(e){d||(He(c.$$.fragment,e),He(u.$$.fragment,e),d=!0)},o(e){Re(c.$$.fragment,e),Re(u.$$.fragment,e),d=!1},d(e){e&&Fe(t),e&&Fe(a),e&&Fe(i),e&&Fe(s),e&&Fe(o),e&&Fe(l),it(c,e),e&&Fe(p),it(u,e),m=!1,y()}}}function hm(e){let t,n;return t=new cp({props:{$$slots:{default:[ym]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};2&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function gm(e){return[function(){Ja.next(tl("/main"))}]}class xm extends je{constructor(e){super(),Ae(this,e,gm,hm,_e,{})}}function fm(e){let t,n,r;return{c(){t=De("button"),qe(t,"class","close-button neon icon-cross svelte-1a8t5lm"),qe(t,"title",ba(os).text)},m(a,i){Le(a,t,i),n||(r=Ne(t,"click",e[3]),n=!0)},p:Ie,d(e){e&&Fe(t),n=!1,r()}}}function vm(e){let t,n,r,a,i,s,o,l=!1!==e[0]&&fm(e);const c=e[5].default,p=We(c,e,e[4],null);return{c(){t=De("div"),n=De("div"),l&&l.c(),r=Me(),p&&p.c(),qe(n,"class","container svelte-1a8t5lm"),qe(t,"class","backdrop svelte-1a8t5lm")},m(a,c){Le(a,t,c),Ve(t,n),l&&l.m(n,null),Ve(n,r),p&&p.m(n,null),e[6](t),i=!0,s||(o=Ne(t,"pointerdown",e[2]),s=!0)},p(e,t){let[a]=t;!1!==e[0]?l?l.p(e,a):(l=fm(e),l.c(),l.m(n,r)):l&&(l.d(1),l=null),p&&p.p&&(!i||16&a)&&Je(p,c,e,e[4],i?Ke(c,e[4],a,null):Ge(e[4]),null)},i(e){i||(He(p,e),tt((()=>{a||(a=nt(n,sp,{duration:200},!0)),a.run(1)})),i=!0)},o(e){Re(p,e),a||(a=nt(n,sp,{duration:200},!1)),a.run(0),i=!1},d(n){n&&Fe(t),l&&l.d(),p&&p.d(n),n&&a&&a.end(),e[6](null),s=!1,o()}}}function bm(e,t,n){let r,{$$slots:a={},$$scope:i}=t,{closable:s=!0}=t;function o(){!1!==s&&Ja.next(rl())}return e.$$set=e=>{"closable"in e&&n(0,s=e.closable),"$$scope"in e&&n(4,i=e.$$scope)},[s,r,function(e){e.target===r&&(o(),e.stopPropagation())},o,i,a,function(e){$t[e?"unshift":"push"]((()=>{r=e,n(1,r)}))}]}class $m extends je{constructor(e){super(),Ae(this,e,bm,vm,_e,{closable:0})}}function wm(e){let t,n,r,a,i,s;return{c(){t=De("h2"),n=De("span"),r=Ye(e[0]),a=Me(),i=De("p"),s=Ye(e[1]),qe(n,"class","icon-warning")},m(e,o){Le(e,t,o),Ve(t,n),Ve(t,r),Le(e,a,o),Le(e,i,o),Ve(i,s)},p(e,t){1&t&&Ze(r,e[0]),2&t&&Ze(s,e[1])}
1,d(e){e&&Fe(t),e&&Fe(a),e&&Fe(i)}}}function km(e){let t,n;return t=new $m({props:{$$slots:{default:[wm]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};7&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Sm(e,t,n){let{title:r=""}=t,{message:a=""}=t;return e.$$set=e=>{"title"in e&&n(0,r=e.title),"message"in e&&n(1,a=e.message)},[r,a]}class zm extends je{constructor(e){super(),Ae(this,e,Sm,km,_e,{title:0,message:1})}}function Cm(e){let t;return{c(){t=De("p"),t.textContent=`${ba(Ds).text}`},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function Em(e){let t;return{c(){t=De("p"),t.textContent=`${ba(gs).text}`},m(e,n){Le(e,t,n)},p:Ie,d(e){e&&Fe(t)}}}function Tm(e){let t,n,r,a,i,s,o,l,c=ba(ls).text+"";function p(e,t){return e[1]?e[0]?void 0:Cm:Em}let u=p(e),d=u&&u(e);return{c(){t=De("h2"),t.textContent=`${ba(us).text}`,n=Me(),d&&d.c(),r=Me(),a=De("button"),i=De("span"),s=Ye(c),qe(i,"class","icon-film svelte-z0630n"),qe(a,"class","neon primary"),a.disabled=e[2]},m(c,p){Le(c,t,p),Le(c,n,p),d&&d.m(c,p),Le(c,r,p),Le(c,a,p),Ve(a,i),Ve(a,s),o||(l=Ne(a,"click",e[3]),o=!0)},p(e,t){u===(u=p(e))&&d?d.p(e,t):(d&&d.d(1),d=u&&u(e),d&&(d.c(),d.m(r.parentNode,r))),4&t&&(a.disabled=e[2])},d(e){e&&Fe(t),e&&Fe(n),d&&d.d(e),e&&Fe(r),e&&Fe(a),o=!1,l()}}}function jm(e){let t,n;return t=new $m({props:{$$slots:{default:[Tm]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};23&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Am(e,t,n){let r,a,i;return Be(e,ol,(e=>n(0,a=e))),Be(e,ji,(e=>n(1,i=e))),st((()=>(wi("skip","openUi"),()=>{wi("skip","closeUi")}))),e.$$.update=()=>{3&e.$$.dirty&&n(2,r=!i||!a)},[a,i,r,function(){Ja.next(Go())}]}class _m extends je{constructor(e){super(),Ae(this,e,Am,jm,_e,{})}}function Pm(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x=(e[0]?ba($s).text:ba(ws).text)+"",f=ba(Bs).text+"",v=void 0!==window.aipAPItag&&"function"==typeof window.aipAPItag.showCMPScreen&&function(e){let t,n,r;return{c(){t=De("button"),t.textContent=`${ba(ks).text}`,qe(t,"class","neon svelte-i2se1y")},m(a,i){Le(a,t,i),n||(r=Ne(t,"click",e[2]),n=!0)},p:Ie,d(e){e&&Fe(t),n=!1,r()}}}(e);return{c(){t=De("h2"),t.textContent=`${ba(ss).text}`,n=Me(),r=De("div"),a=De("button"),i=De("span"),o=Ye(x),l=Me(),v&&v.c(),c=Me(),p=De("a"),u=De("span"),d=Ye(f),m=Me(),y=De("p"),y.textContent=`${Ct}`,qe(t,"class","svelte-i2se1y"),qe(i,"class",s=ct(e[0]?"icon-volume-high":"icon-volume-mute2")+" svelte-i2se1y"),qe(a,"class","neon svelte-i2se1y"),qe(u,"class","icon-info"),qe(p,"href","about.html"),qe(p,"target","_blank"),qe(p,"class","neon svelte-i2se1y"),qe(r,"class","buttons svelte-i2se1y"),qe(y,"class","version svelte-i2se1y")},m(s,x){Le(s,t,x),Le(s,n,x),Le(s,r,x),Ve(r,a),Ve(a,i),Ve(a,o),Ve(r,l),v&&v.m(r,null),Ve(r,c),Ve(r,p),Ve(p,u),Ve(p,d),Le(s,m,x),Le(s,y,x),h||(g=[Ne(a,"click",e[1]),Ne(p,"click",Im)],h=!0)},p(e,t){1&t&&s!==(s=ct(e[0]?"icon-volume-high":"icon-volume-mute2")+" svelte-i2se1y")&&qe(i,"class",s),1&t&&x!==(x=(e[0]?ba($s).text:ba(ws).text)+"")&&Ze(o,x),void 0!==window.aipAPItag&&"function"==typeof window.aipAPItag.showCMPScreen&&v.p(e,t)},d(e){e&&Fe(t),e&&Fe(n),e&&Fe(r),v&&v.d(),e&&Fe(m),e&&Fe(y),h=!1,ht(g)}}}function Lm(e){let t,n;return t=new $m({props:{$$slots:{default:[Pm]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};9&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Im(e){window.PokiSDK&&(e.preventDefault(),window.PokiSDK.openExternalLink("https://bombhopper.io/about.html"))}function Fm(e,t,n){let r;return Be(e,Ci,(e=>n(0,r=e))),st((()=>(wi("settings","open"),()=>{wi("settings","close")}))),[r,function(){Ja.next(Ko())},function(){window.aipAPItag.showCMPScreen(),wi("settings","showConsentTool")}]}class Bm extends je{constructor(e){super(),Ae(this,e,Fm,Lm,_e,{})}}function Dm(e){let t,n,r,a,i,s;return i=new Pu({}),{c(){t=De("div"),n=De("h2"),r=Ye(e[0]),a=Me(),rt(i.$$.fragment),qe(n,"class","svelte-27dymz"),qe(t,"class","container svelte-27dymz")},m(e,o){Le(e,t,o),Ve(t,n),Ve(n,r),Ve(t,a),at(i,t,null),s=!0},p(e,t){(!s||1&t)&&Ze(r,e[0])},i(e){s||(He(i.$$.fragment,e),s=!0)},o(e){Re(i.$$.fragment,e),s=!1},d(e){e&&Fe(t),it(i)}}}function Mm(e){let t,n;return t=new $m({props:{$$slots:{default:[Dm]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};3&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function qm(e,t,n){let{reason:r}=t;return e.$$set=e=>{"reason"in e&&n(0,r=e.reason)},[r]}class Vm extends je{constructor(e){super(),Ae(this,e,qm,Mm,_e,{reason:0})}}function Nm(e){let t,n,r,a,i;return{c(){t=De("h2"),n=Ye(e[0]),r=Me(),a=De("p"),i=Ye(e[1])},m(e,s){Le(e,t,s),Ve(t,n),Le(e,r,s),Le(e,a,s),Ve(a,i)},p(e,t){1&t&&Ze(n,e[0]),2&t&&Ze(i,e[1])}
1,d(e){e&&Fe(t),e&&Fe(r),e&&Fe(a)}}}function Hm(e){let t,n;return t=new $m({props:{closable:e[2],$$slots:{default:[Nm]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};4&r&&(a.closable=e[2]),11&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Om(e,t,n){let{title:r=""}=t,{message:a=""}=t,{closable:i}=t;return e.$$set=e=>{"title"in e&&n(0,r=e.title),"message"in e&&n(1,a=e.message),"closable"in e&&n(2,i=e.closable)},[r,a,i]}class Rm extends je{constructor(e){super(),Ae(this,e,Om,Hm,_e,{title:0,message:1,closable:2})}}function Um(e){let t,n,r,a,i;return{c(){t=De("a"),n=Me(),r=De("a"),a=Me(),i=De("a"),qe(t,"class","icon-twitter svelte-1c3y4h7"),qe(t,"href",e[2]),qe(t,"title",ba(Cs).text),qe(t,"target","_blank"),qe(r,"class","icon-facebook svelte-1c3y4h7"),qe(r,"href",e[1]),qe(r,"title",ba(zs).text),qe(r,"target","_blank"),qe(i,"class","icon-envelop svelte-1c3y4h7"),qe(i,"href",e[0]),qe(i,"title",ba(Es).text),qe(i,"target","_blank")},m(e,s){Le(e,t,s),Le(e,n,s),Le(e,r,s),Le(e,a,s),Le(e,i,s)},p(e,n){4&n&&qe(t,"href",e[2]),2&n&&qe(r,"href",e[1]),1&n&&qe(i,"href",e[0])},d(e){e&&Fe(t),e&&Fe(n),e&&Fe(r),e&&Fe(a),e&&Fe(i)}}}function Wm(e){let t,n,r;return{c(){t=De("button"),qe(t,"class","icon-share2 link-like svelte-1c3y4h7"),qe(t,"title",ba(Ss).text)},m(a,i){Le(a,t,i),n||(r=Ne(t,"click",e[3]),n=!0)},p:Ie,d(e){e&&Fe(t),n=!1,r()}}}function Jm(e){let t;let n=(window.navigator.share?Wm:Um)(e);return{c(){n.c(),t=Pe()},m(e,r){n.m(e,r),Le(e,t,r)},p(e,t){let[r]=t;n.p(e,r)},i:Ie,o:Ie,d(e){n.d(e),e&&Fe(t)}}}function Gm(e,t,n){let r,a,i,s,{message:o}=t,{url:l}=t;return e.$$set=e=>{"message"in e&&n(4,o=e.message),"url"in e&&n(5,l=e.url)},e.$$.update=()=>{16&e.$$.dirty&&n(6,r=encodeURIComponent(o)),48&e.$$.dirty&&n(2,a=`https://twitter.com/intent/tweet?text=${o}&via=getkey_&url=${l}`),32&e.$$.dirty&&n(1,i=`https://www.facebook.com/sharer.php?u=${l}`),96&e.$$.dirty&&n(0,s=`mailto:?subject=${r}&body=${l}`)},[s,i,a,function(){window.navigator.share({url:l,text:o,title:"BombHopper.io"})},o,l,r]}class Km extends je{constructor(e){super(),Ae(this,e,Gm,Jm,_e,{message:4,url:5})}}function Ym(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g;return m=new Km({props:{url:e[2],message:"Check out my BombHopper.io level!"}}),{c(){t=De("h2"),n=Ye(e[0]),r=Me(),a=De("p"),i=Ye(e[1]),s=Me(),o=De("input"),l=Me(),c=De("button"),c.innerHTML='<span class="icon-copy"></span>',p=Me(),u=De("br"),d=Me(),rt(m.$$.fragment),o.readOnly=!0,o.value=e[2],qe(c,"class","neon")},m(x,f){Le(x,t,f),Ve(t,n),Le(x,r,f),Le(x,a,f),Ve(a,i),Le(x,s,f),Le(x,o,f),e[5](o),Le(x,l,f),Le(x,c,f),Le(x,p,f),Le(x,u,f),Le(x,d,f),at(m,x,f),y=!0,h||(g=[Ne(o,"click",e[4]),Ne(c,"click",e[4])],h=!0)},p(e,t){(!y||1&t)&&Ze(n,e[0]),(!y||2&t)&&Ze(i,e[1]),(!y||4&t&&o.value!==e[2])&&(o.value=e[2]);const r={};4&t&&(r.url=e[2]),m.$set(r)},i(e){y||(He(m.$$.fragment,e),y=!0)},o(e){Re(m.$$.fragment,e),y=!1},d(n){n&&Fe(t),n&&Fe(r),n&&Fe(a),n&&Fe(s),n&&Fe(o),e[5](null),n&&Fe(l),n&&Fe(c),n&&Fe(p),n&&Fe(u),n&&Fe(d),it(m,n),h=!1,ht(g)}}}function Zm(e){let t,n;return t=new $m({props:{$$slots:{default:[Ym]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){let[r]=n;const a={};79&r&&(a.$$scope={dirty:r,ctx:e}),t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Qm(e,t,n){let r,{title:a="Share"}=t,{message:i="Share with your friends!"}=t,{url:s=""}=t;return e.$$set=e=>{"title"in e&&n(0,a=e.title),"message"in e&&n(1,i=e.message),"url"in e&&n(2,s=e.url)},[a,i,s,r,function(){r.focus(),r.select(),navigator.clipboard.writeText(s)},function(e){$t[e?"unshift":"push"]((()=>{r=e,n(3,r)}))}]}class Xm extends je{constructor(e){super(),Ae(this,e,Qm,Zm,_e,{title:0,message:1,url:2})}}function ey(e,t,n){const r=e.slice();return r[16]=t[n].data,r}function ty(e){let t,n;return t=new Vm({props:{reason:"Log in to upload levels"}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p:Ie,i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function ny(e){let t,n;return t=new $m({props:{$$slots:{default:[ly]},$$scope:{ctx:e}}}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const r={};
1524671&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function ry(e){let t,n,r,a,i,s,o;return{c(){t=De("label"),n=Ye("Visibility:Â \n\t\t\t\t"),r=De("select"),a=De("option"),a.textContent="Public",i=De("option"),i.textContent="Unlisted",a.__value="public",a.value=a.__value,i.__value="unlisted",i.value=i.__value,void 0===e[5]&&tt((()=>e[12].call(r)))},m(l,c){Le(l,t,c),Ve(t,n),Ve(t,r),Ve(r,a),Ve(r,i),ft(r,e[5]),s||(o=Ne(r,"change",e[12]),s=!0)},p(e,t){32&t&&ft(r,e[5])},d(e){e&&Fe(t),s=!1,o()}}}function ay(e){let t;return{c(){t=De("span"),qe(t,"class","icon-spinner2")},m(e,n){Le(e,t,n)},d(e){e&&Fe(t)}}}function iy(e){let t;return{c(){t=De("span"),qe(t,"class","icon-warning")},m(e,n){Le(e,t,n)},d(e){e&&Fe(t)}}}function sy(e){let t,n,r,a=e[3],i=[];for(let t=0;t<a.length;t+=1)i[t]=oy(ey(e,a,t));return{c(){t=De("select");for(let e=0;e<i.length;e+=1)i[e].c();void 0===e[4]&&tt((()=>e[15].call(t)))},m(a,s){Le(a,t,s);for(let e=0;e<i.length;e+=1)i[e].m(t,null);ft(t,e[4]),n||(r=Ne(t,"change",e[15]),n=!0)},p(e,n){if(8&n){let r;for(a=e[3],r=0;r<a.length;r+=1){const s=ey(e,a,r);i[r]?i[r].p(s,n):(i[r]=oy(s),i[r].c(),i[r].m(t,null))}for(;r<i.length;r+=1)i[r].d(1);i.length=a.length}24&n&&ft(t,e[4])},d(e){e&&Fe(t),Xe(i,e),n=!1,r()}}}function oy(e){let t,n,r,a,i,s,o=e[16].name+"",l=e[16].id+"";return{c(){t=De("option"),n=Ye(o),r=Ye(" ("),a=Ye(l),i=Ye(")"),t.__value=s=e[16].id,t.value=t.__value},m(e,s){Le(e,t,s),Ve(t,n),Ve(t,r),Ve(t,a),Ve(t,i)},p(e,r){8&r&&o!==(o=e[16].name+"")&&Ze(n,o),8&r&&l!==(l=e[16].id+"")&&Ze(a,l),8&r&&s!==(s=e[16].id)&&(t.__value=s,t.value=t.__value)},d(e){e&&Fe(t)}}}function ly(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x,f,v,b,$,w,k,S,z,C,E,T,j=e[0].name+"",A="new"===e[2]&&ry(e);function _(e,t){return e[8].error?iy:e[8].pending?ay:void 0}let P=_(e),L=P&&P(e),I="replace"===e[2]&&sy(e);return{c(){t=De("h2"),n=Ye("Upload "),r=De("b"),a=Ye(j),i=Ye("?"),s=Me(),A&&A.c(),o=Me(),l=De("div"),c=De("label"),p=De("input"),d=Ye("\n\t\t\t\tCreate new level"),m=Me(),y=De("div"),h=De("label"),g=De("input"),v=Ye("\n\t\t\t\t\tReplace level\n\t\t\t\t\t"),L&&L.c(),b=Me(),I&&I.c(),$=Me(),w=De("div"),k=De("button"),k.textContent="Cancel",S=Me(),z=De("button"),C=Ye(e[6]),qe(p,"type","radio"),qe(p,"name","put-action"),p.checked=u="new"===e[2],qe(g,"type","radio"),qe(g,"name","put-action"),g.checked=x="replace"===e[2],g.disabled=f=0===e[3].length,qe(l,"class","method-selection svelte-149222s"),qe(k,"class","neon"),qe(z,"class","neon primary")},m(u,x){Le(u,t,x),Ve(t,n),Ve(t,r),Ve(r,a),Ve(t,i),Le(u,s,x),A&&A.m(u,x),Le(u,o,x),Le(u,l,x),Ve(l,c),Ve(c,p),Ve(c,d),Ve(l,m),Ve(l,y),Ve(y,h),Ve(h,g),Ve(h,v),L&&L.m(h,null),Ve(y,b),I&&I.m(y,null),Le(u,$,x),Le(u,w,x),Ve(w,k),Ve(w,S),Ve(w,z),Ve(z,C),E||(T=[Ne(p,"change",e[13]),Ne(g,"change",e[14]),Ne(k,"click",e[9]),Ne(z,"click",e[10])],E=!0)},p(e,t){1&t&&j!==(j=e[0].name+"")&&Ze(a,j),"new"===e[2]?A?A.p(e,t):(A=ry(e),A.c(),A.m(o.parentNode,o)):A&&(A.d(1),A=null),4&t&&u!==(u="new"===e[2])&&(p.checked=u),4&t&&x!==(x="replace"===e[2])&&(g.checked=x),8&t&&f!==(f=0===e[3].length)&&(g.disabled=f),P!==(P=_(e))&&(L&&L.d(1),L=P&&P(e),L&&(L.c(),L.m(h,null))),"replace"===e[2]?I?I.p(e,t):(I=sy(e),I.c(),I.m(y,null)):I&&(I.d(1),I=null),64&t&&Ze(C,e[6])},d(e){e&&Fe(t),e&&Fe(s),A&&A.d(e),e&&Fe(o),e&&Fe(l),L&&L.d(),I&&I.d(),e&&Fe($),e&&Fe(w),E=!1,ht(T)}}}function cy(e){let t,n,r,a;const i=[ny,ty],s=[];function o(e,t){return e[7].done&&200===e[7].status?0:1}return t=o(e),n=s[t]=i[t](e),{c(){n.c(),r=Pe()},m(e,n){s[t].m(e,n),Le(e,r,n),a=!0},p(e,a){let[l]=a,c=t;t=o(e),t===c?s[t].p(e,l):(Oe(),Re(s[c],1,1,(()=>{s[c]=null})),Ue(),n=s[t],n?n.p(e,l):(n=s[t]=i[t](e),n.c()),He(n,1),n.m(r.parentNode,r))},i(e){a||(He(n),a=!0)},o(e){Re(n),a=!1},d(e){s[t].d(e),e&&Fe(r)}}}function py(e,t,n){let r,a,i,s,o,l;Be(e,Wl,(e=>n(3,s=e))),Be(e,Vl,(e=>n(7,o=e))),Be(e,Gl,(e=>n(8,l=e)));let c,{level:p}=t,u=null,d="public";st((()=>{Ja.next($l())}));return e.$$set=e=>{"level"in e&&n(0,p=e.level)},e.$$.update=()=>{9&e.$$.dirty&&n(11,r=function(e,t){const n=t.find((t=>t?.data?.name===e));return void 0===n?null:n.data.id}(p.name,s)),2048&e.$$.dirty&&null!==r&&n(4,c=r),2050&e.$$.dirty&&n(2,a=null===u?null!==r?"replace":"new":u),4&e.$$.dirty&&n(6,i="new"===a?"Upload":"Reupload")},[p,u,a,s,c,d,i,o,l,function(){Ja.next(rl())},function(){switch(a){case"new":Ja.next(wl(p,"public"===d));break;case"replace":Ja.next(kl(p,c))}},r,function(){d=bt(this),n(5,d)},()=>n(1,u="new"),()=>n(1,u="replace"),function(){c=bt(this),n(4,c),n(11,r),n(0,p),n(3,s)}]}class uy extends je{constructor(e){super(),Ae(this,e,py,cy,_e,{level:0})}}function dy(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new dd({props:a}
1),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function my(e){let t,n;return t=new em({}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function yy(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new Uc({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function hy(e){let t,n,r,a,i,s,o="noob"===e[0].props.level.storageId&&my();r=new vu({});let l="b28b6020-235c-4860-854b-92a38062230a"!==e[0].props.level.id&&yy(e);return{c(){o&&o.c(),t=Me(),n=De("div"),rt(r.$$.fragment),a=Me(),l&&l.c(),i=Pe(),qe(n,"class","floating-buttons svelte-8nucy3"),yt(n,"titotu",Ac),yt(n,"poki-fs",T.any&&jc)},m(e,c){o&&o.m(e,c),Le(e,t,c),Le(e,n,c),at(r,n,null),Le(e,a,c),l&&l.m(e,c),Le(e,i,c),s=!0},p(e,n){"noob"===e[0].props.level.storageId?o?1&n&&He(o,1):(o=my(),o.c(),He(o,1),o.m(t.parentNode,t)):o&&(Oe(),Re(o,1,1,(()=>{o=null})),Ue()),"b28b6020-235c-4860-854b-92a38062230a"!==e[0].props.level.id?l?(l.p(e,n),1&n&&He(l,1)):(l=yy(e),l.c(),He(l,1),l.m(i.parentNode,i)):l&&(Oe(),Re(l,1,1,(()=>{l=null})),Ue())},i(e){s||(He(o),He(r.$$.fragment,e),He(l),s=!0)},o(e){Re(o),Re(r.$$.fragment,e),Re(l),s=!1},d(e){o&&o.d(e),e&&Fe(t),e&&Fe(n),it(r),e&&Fe(a),l&&l.d(e),e&&Fe(i)}}}function gy(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new gp({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function xy(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new Cu({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function fy(e){let t,n;return t=new rd({}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function vy(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new od({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function by(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new rm({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function $y(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new gd({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function wy(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new Yd({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function ky(e){let t,n;const r=[e[0].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new xm({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=1&n?kt(r,[St(e[0].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Sy(e){let t,n,r,a;const i=[_y,Ay,jy,Ty,Ey,Cy,zy],s=[];function o(e,t){return"skip"===e[1].name?0:"settings"===e[1].name?1:"error"===e[1].name?2:"message"===e[1].name?3:"login"===e[1].name?4:"share"===e[1].name?5:"upload"===e[1].name?6:-1}return~(t=o(e))&&(n=s[t]=i[t](e)),{c(){n&&n.c(),r=Pe()},m(e,n){~t&&s[t].m(e,n),Le(e,r,n),a=!0},p(e,a){let l=t;t=o(e),t===l?~t&&s[t].p(e,a):(n&&(Oe(),Re(s[l],1,1,(()=>{s[l]=null})),Ue()),~t?(n=s[t],n?n.p(e,a):(n=s[t]=i[t](e),n.c()),He(n,1),n.m(r.parentNode,r)):n=null)},i(e){a||(He(n),a=!0)},o(e){Re(n),a=!1},d(e){~t&&s[t].d(e),e&&Fe(r)}}}function zy(e){let t,n;const r=[e[1].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new uy({props:a}
1),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=2&n?kt(r,[St(e[1].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Cy(e){let t,n;const r=[e[1].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new Xm({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=2&n?kt(r,[St(e[1].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Ey(e){let t,n;const r=[e[1].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new Vm({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=2&n?kt(r,[St(e[1].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Ty(e){let t,n;const r=[e[1].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new Rm({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=2&n?kt(r,[St(e[1].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function jy(e){let t,n;const r=[e[1].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new zm({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=2&n?kt(r,[St(e[1].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Ay(e){let t,n;const r=[e[1].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new Bm({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=2&n?kt(r,[St(e[1].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function _y(e){let t,n;const r=[e[1].props];let a={};for(let e=0;e<r.length;e+=1)a=wt(a,r[e]);return t=new _m({props:a}),{c(){rt(t.$$.fragment)},m(e,r){at(t,e,r),n=!0},p(e,n){const a=2&n?kt(r,[St(e[1].props)]):{};t.$set(a)},i(e){n||(He(t.$$.fragment,e),n=!0)},o(e){Re(t.$$.fragment,e),n=!1},d(e){it(t,e)}}}function Py(e){let t,n,r,a,i,s,o,l,c,p,u,d,m,y,h,g,x,f,v,b,$,w;t=new qc({props:{path:"/main",$$slots:{default:[dy]},$$scope:{ctx:e}}}),r=new qc({props:{path:"/game",$$slots:{default:[hy]},$$scope:{ctx:e}}}),i=new qc({props:{path:"/menu",$$slots:{default:[gy]},$$scope:{ctx:e}}}),o=new qc({props:{path:"/next",$$slots:{default:[xy]},$$scope:{ctx:e}}}),c=new qc({props:{path:"/end",$$slots:{default:[fy]},$$scope:{ctx:e}}}),u=new qc({props:{path:"/load",$$slots:{default:[vy]},$$scope:{ctx:e}}}),m=new qc({props:{path:"/load-url",$$slots:{default:[by]},$$scope:{ctx:e}}}),h=new qc({props:{path:"/editor",$$slots:{default:[$y]},$$scope:{ctx:e}}}),x=new qc({props:{path:"/custom-levels",$$slots:{default:[wy]},$$scope:{ctx:e}}}),v=new qc({props:{path:"/account",$$slots:{default:[ky]},$$scope:{ctx:e}}});let k=null!==e[1]&&Sy(e);return{c(){rt(t.$$.fragment),n=Me(),rt(r.$$.fragment),a=Me(),rt(i.$$.fragment),s=Me(),rt(o.$$.fragment),l=Me(),rt(c.$$.fragment),p=Me(),rt(u.$$.fragment),d=Me(),rt(m.$$.fragment),y=Me(),rt(h.$$.fragment),g=Me(),rt(x.$$.fragment),f=Me(),rt(v.$$.fragment),b=Me(),k&&k.c(),$=Pe()},m(e,S){at(t,e,S),Le(e,n,S),at(r,e,S),Le(e,a,S),at(i,e,S),Le(e,s,S),at(o,e,S),Le(e,l,S),at(c,e,S),Le(e,p,S),at(u,e,S),Le(e,d,S),at(m,e,S),Le(e,y,S),at(h,e,S),Le(e,g,S),at(x,e,S),Le(e,f,S),at(v,e,S),Le(e,b,S),k&&k.m(e,S),Le(e,$,S),w=!0},p(e,n){let[a]=n;const s={};5&a&&(s.$$scope={dirty:a,ctx:e}),t.$set(s);const l={};5&a&&(l.$$scope={dirty:a,ctx:e}),r.$set(l);const p={};5&a&&(p.$$scope={dirty:a,ctx:e}),i.$set(p);const d={};5&a&&(d.$$scope={dirty:a,ctx:e}),o.$set(d);const y={};4&a&&(y.$$scope={dirty:a,ctx:e}),c.$set(y);const g={};5&a&&(g.$$scope={dirty:a,ctx:e}),u.$set(g);const f={};5&a&&(f.$$scope={dirty:a,ctx:e}),m.$set(f);const b={};5&a&&(b.$$scope={dirty:a,ctx:e}),h.$set(b);const w={};5&a&&(w.$$scope={dirty:a,ctx:e}),x.$set(w);const S={};5&a&&(S.$$scope={dirty:a,ctx:e}),v.$set(S),null!==e[1]?k?(k.p(e,a),2&a&&He(k,1)):(k=Sy(e),k.c(),He(k,1),k.m($.parentNode,$)):k&&(Oe(),Re(k,1,1,(()=>{k=null})),Ue())},i(e){w||(He(t.$$.fragment,e),He(r.$$.fragment,e),He(i.$$.fragment,e),He(o.$$.fragment,e),He(c.$$.fragment,e),He(u.$$.fragment,e),He(m.$$.fragment,e),He(h.$$.fragment,e),He(x.$$.fragment,e),He(v.$$.fragment,e),He(k),w=!0)},o(e){Re(t.$$.fragment,e),Re(r.$$.fragment,e),Re(i.$$.fragment,e),Re(o.$$.fragment,e),Re(c.$$.fragment,e),Re(u.$$.fragment,e),Re(m.$$.fragment,e),Re(h.$$.fragment,e),Re(x.$$.fragment,e),Re(v.$$.fragment,e),Re(k),w=!1}
1,d(e){it(t,e),e&&Fe(n),it(r,e),e&&Fe(a),it(i,e),e&&Fe(s),it(o,e),e&&Fe(l),it(c,e),e&&Fe(p),it(u,e),e&&Fe(d),it(m,e),e&&Fe(y),it(h,e),e&&Fe(g),it(x,e),e&&Fe(f),it(v,e),e&&Fe(b),k&&k.d(e),e&&Fe($)}}}function Ly(e,t,n){let r,a;return Be(e,Xo,(e=>n(0,r=e))),Be(e,el,(e=>n(1,a=e))),[r,a]}new class extends je{constructor(e){super(),Ae(this,e,Ly,Py,_e,{})}}({target:window.document.body}),new class extends je{constructor(e){super(),Ae(this,e,Fc,Ic,_e,{})}}({target:window.document.body}),console.info(`bombhopperio ${Ct}`),/Firefox/i.test(window.navigator.userAgent)&&/Linux/i.test(window.navigator.oscpu)&&console.info("If you are experiencing a low frame rate, please make sure that `layers.acceleration.force-enabled` is set to true in `about:config`."); 2//# sourceMappingURL=index-36579159-es.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.