for(_='for(~){~L](K),Jc[c.HJHlKG-WGI,FHfy]=E9,D1,D-7,3,%B/M1]*M*2,0,--1-t,t/9==m?2*W+-6,&&],Jc.fill(+n[k+--;)A[v++] =1=(1-Math.cos(c.save(J","#HtaKG +M, +R+ *U~g in c)c[g[0]+[g[6]]]=g;~p=[5,5,5,4,1V=5W0BIew=window,n=new Uint8Array(IJw.crypto.getRandomValues(nJw=w.innerWidth,A=[7,-1D---4,1C=["#A87754f96C53fffccc799"o=[e=d=s=i=V;i~g=I;gy=i/B|l=g/B|k=y*l,R=i=gM))/u-M,RR))/v-R,v=n[k]*u*vvW]*u*RR,o[s++]=v<180?0:(v-180)/7;setInterval(function(Ls=w/(I+VJt=e%Da.width=w,b.style.background="#635",c.scale(s,sJD3*WJE"#568",HbaKG-WG9*W,3*FFWG0J9*W-WJm=4;--m;L2J1V+B,BJi=0;i++<V;Lg12:W;g{~k=i*I+g+(3d:dJ2(k+=WJf=3o[k]?0:m,hp[1(i<=6?i:15-i)+g]:o[ks=o[3i*I+d+g:kr,s>1(sJv=U=M=R=f<3(r=U=4*-h,f(M=4R=-160+h,s=h||(r=0)));rEC[f+(v?1:0)HgA]-s/HbaK);-D1)}1B:9*1-9:-4)}HreK)}e++,d=e/9|0},B);';G=/[^ -CIM-}]/.exec(_);)with(_.split(G))_=join(shift());eval(_)
p = [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 1, 0,
5, 2, 2, 2, 3, 3, 5, 5, 4, 3, 2, 1
]
V = 50
H = 100
B = 10
D = 1000
w = window
n = new Uint8Array(D)
w.crypto.getRandomValues(n)
w = w.innerWidth
A = [0, -6, 1,
9, -7, 1,
7, -11, 1, -2, -10, 1,
0, 0, 0,
9, -1, 0,
9, -7, 1,
0, -6, 1,
0, 0, 0, -2, -4, 0, -2, -10, 1,
0, -6, 1
]
C = [
"#A87", "#754", //0-mountains
"#f96", "#C53", //3-plane
"#fff", "#ccc", //1-clouds
"#799" //2-water
]
o = []
T = S = s = 0
i = V
while (i--) {
j = D
while (j--) {
y = (i / B) | 0
x = (j / B) | 0
k = y * H + x
//F&E will be less than 3.333 - good approximation for PI
F = (i % B) / 3
E = (j % B) / 3
E = (1 - Math.cos(E)) / 2
u = 1 - E
F = (1 - Math.cos(F)) / 2
v = 1 - F
v = n[k] * u * v + n[k + 1] * E * v + n[k + H] * u * F + n[k + H + 1] * E * F
o[s++] = v < 180 ? 0 : (v - 180) / 7
}
}
setInterval(function() {
s = w / (D + V)
t = T % 9
a.width = w
b.style.background = '#635'
c.save()
c.scale(s, s)
c.translate(9, H * 3)
c.fillStyle = "#568"
c.beginPath()
c.lineTo(0, -H * 2)
c.lineTo(H * 9, -H * 3)
c.lineTo(D, -H)
c.lineTo(D, H)
c.lineTo(0, 0)
c.fill()
c.save()
c.translate(H * 9 - t, t / 9 - H)
c.save()
z = 4
while (--z) {
if (z == 2) c.translate(-t, t / 9)
if (z == 1) c.translate(V + B, B)
i = 0
while (i++ < V) {
j = z == 1 ? 12 : H
while (j--) {
k = i * D + j + (z == 3 ? S : S * 2)
if (z == 2) k += H
f = (z == 3 && o[k]) ? 0 : z
h = z == 1 ? p[(i <= 6 ? i : 15 - i) * 12 + j] : o[k]
s = o[z == 3 ? i * D + H + S * 2 + j : k]
r = 1
if (s > 1) s = 1
v = G = E = F = 0
if (f < 3) {
r = 3
G = -h * 4
if (f) {
E = 40
F = -160 + h * 2
s = 0
if (!h) r = 0
}
}
while (r--) {
c.fillStyle = C[f * 2 + (!v ? 0 : 1)]
c.globalAlpha = 1 - s / 2
c.beginPath()
c.lineTo(A[v++] + E, A[v++] + F + A[v++] * G)
c.lineTo(A[v++] + E, A[v++] + F + A[v++] * G)
c.lineTo(A[v++] + E, A[v++] + F + A[v++] * G)
c.lineTo(A[v++] + E, A[v++] + F + A[v++] * G)
c.fill()
}
c.translate(-9, 1)
}
c.translate(z == 1 ? H + B : H * 9 + 2, z == 1 ? -9 : -H + 4)
}
c.restore()
}
T++
S = (T / 9) | 0
}, B)