<!-- SOLID CITY · part 3267 -->
getReader) { window.__spaceLoad(0.5, 'Loading the engine…'); return r.text().then(run); }
      var rd = r.body.getReader(), got = 0;
      function pump() { return rd.read().then(function (x) { if (x.done) { window.__spaceLoad(0.6, 'Starting the engine…'); run(); return; } got += x.value.length; window.__spaceLoad(Math.min(0.58, got / SIZE * 0.58), 'Loading the engine… ' + Math.round(Math.min(1, got / SIZE) * 100) + '%'); return pump(); }); }
      return pump();
    }).catch(run);
  } catch (e) { run(); }
})();
</script>
</body>
</html>


===== FILE: public/city/space/space.min.js =====
/* Solid City SPACE MISSION (source: /city/space/src/game.js) + three.js r186 (MIT, see /city/space/LICENSE-three.txt) */
var ud=0,oh=1,dd=2;var pa=1,fd=2,tr=3,Vi=0,jt=1,vn=2,ui=0,nr=1,Wt=2,lh=3,ch=4,pd=5;var hs=100,md=101,gd=102,_d=103,xd=104,vd=200,yd=201,Md=202,Sd=203,hh=204,uh=205,bd=206,Ed=207,Td=208,wd=209,Ad=210,Rd=211,Cd=212,Id=213,Pd=214,uo=0,fo=1,po=2,ks=3,mo=4,go=5,_o=6,xo=7,ma=0,Ld=1,Dd=2,Zn=0,dh=1,fh=2,ph=3,ga=4,mh=5,gh=6,_h=7;var xh=300,Gi=301,us=302,el=303,tl=304,_a=306,Vs=1e3,si=1001,vo=1002,Jt=1003,Nd=1004;var xa=1005;var Kt=1006,nl=1007;var Wi=1008;var yn=1009,vh=1010,yh=1011,ir=1012,il=1013,Jn=1014,Un=1015,$n=1016,sl=1017,rl=1018,sr=1020,Mh=35902,Sh=35899,bh=1021,Eh=1022,Fn=1023,ri=1026,Xi=1027,al=1028,ol=1029,qi=1030,ll=1031;var cl=1033,va=33776,ya=33777,Ma=33778,Sa=33779,hl=35840,ul=35841,dl=35842,fl=35843,pl=36196,ml=37492,gl=37496,_l=37488,xl=37489,ba=37490,vl=37491,yl=37808,Ml=37809,Sl=37810,bl=37811,El=37812,Tl=37813,wl=37814,Al=37815,Rl=37816,Cl=37817,Il=37818,Pl=37819,Ll=37820,Dl=37821,Nl=36492,Ul=36494,Fl=36495,Ol=36283,Bl=36284,Ea=36285,zl=36286;var Nr=2300,yo=2301,co=2302,Jc=2303,$c=2400,Kc=2401,jc=2402;var Ud=3200;var Ta=0,Fd=1,Si="",dn="srgb",Ur="srgb-linear",Fr="linear",_t="srgb";var ho=7680;var Od=519,Bd=512,zd=513,Hd=514,Hl=515,kd=516,Vd=517,kl=518,Gd=519,Th=35044,Vl=35048;var wh="300 es",qn=2e3,Gs=2001;function bp(i){for(let e=i.length-1;e>=0;--e)if(i[e]>=65535)return!0;return!1}function Ep(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function Or(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}function Wd(){let i=Or("canvas");return i.style.display="block",i}var Ru={},Ws=null;function Br(...i){let e="THREE."+i.shift();Ws?Ws("log",e,...i):console.log(e,...i)}function Xd(i){let e=i[0];if(typeof e=="string"&&e.startsWith("TSL:")){let t=i[1];t&&t.isStackTrace?i[0]+=" "+t.getLocation():i[1]='Stack trace not available. Enable "THREE.Node.captureStackTrace" to capture stack traces.'}return i}function Be(...i){i=Xd(i);let e="THREE."+i.shift();if(Ws)Ws("warn",e,...i);else{let t=i[0];t&&t.isStackTrace?console.warn(t.getError(e)):console.warn(e,...i)}}function ke(...i){i=Xd(i);let e="THREE."+i.shift();if(Ws)Ws("error",e,...i);else{let t=i[0];t&&t.isStackTrace?console.error(t.getError(e)):console.error(e,...i)}}function ss(...i){let e=i.join(" ");e in Ru||(Ru[e]=!0,Be(...i))}function qd(i,e,t){return new Promise(function(n,s){function r(){switch(i.clientWaitSync(e,i.SYNC_FLUSH_COMMANDS_BIT,0)){case i.WAIT_FAILED:s();break;case i.TIMEOUT_EXPIRED:setTimeout(r,t);break;default:n()}}setTimeout(r,t)})}var Yd={[uo]:fo,[po]:_o,[mo]:xo,[ks]:go,[fo]:uo,[_o]:po,[xo]:mo,[go]:ks},ai=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){let n=this._listeners;return n===void 0?!1:n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){let n=this._listeners;if(n===void 0)return;let s=n[e];if(s!==void 0){let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}dispatchEvent(e){let t=this._listeners;if(t===void 0)return;let n=t[e.type];if(n!==void 0){e.target=this;let s=n.slice(0);for(let r=0,a=s.length;r<a;r++)s[r].call(this,e);e.target=null}}},tn=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd"