0x6f737253…175bsent to0x0a1bbd57…3676·#16,930,469·view on Etherscan
(()=>{"use strict";var t={824:t=>{t.exports={Random:class{constructor(){this.useA=!1;let t=function(t){let n=parseInt(t.substring(0,8),16),s=parseInt(t.substring(8,16),16),i=parseInt(t.substring(16,24),16),e=parseInt(t.substring(24,32),16);return function(){n|=0,s|=0,i|=0,e|=0;let t=(n+s|0)+e|0;return e=e+1|0,n=s^s>>>9,s=i+(i<<3)|0,i=i<<21|i>>>11,i=i+t|0,(t>>>0)/4294967296}};this.prngA=new t(tokenData.hash.substring(2,34)),this.prngB=new t(tokenData.hash.substring(34,66));for(let t=0;t<1e6;t+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}}}},937:t=>{function n(t){let n=this,s=(i=4022871197,function(t){t=String(t);for(let n=0;n<t.length;n++){let s=.02519603282416938*(i+=t.charCodeAt(n));s-=i=s>>>0,s*=i,s-=i=s>>>0,i+=4294967296*s}return 2.3283064365386963e-10*(i>>>0)});var i;n.next=function(){let t=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=t-(n.c=0|t)},n.c=1,n.s0=s(" "),n.s1=s(" "),n.s2=s(" "),n.s0-=s(t),n.s0<0&&(n.s0+=1),n.s1-=s(t),n.s1<0&&(n.s1+=1),n.s2-=s(t),n.s2<0&&(n.s2+=1),s=null}function s(t,n){return n.c=t.c,n.s0=t.s0,n.s1=t.s1,n.s2=t.s2,n}t.exports={impl:function(t,i){let e=new n(t),r=i&&i.state,h=e.next;return h.int32=function(){return 4294967296*e.next()|0},h.double=function(){return h()+11102230246251565e-32*(2097152*h()|0)},h.quick=h,r&&("object"==typeof r&&s(r,e),h.state=function(){return s(e,{})}),h}}},80:(t,n,s)=>{const i=s(555);t.exports={BBlock:class{constructor(t,n,s,e){this.x0=t,this.x1=t+e,this.y0=n,this.y1=n+e,this.z0=s,this.z1=s+e,this.indRand=new i.myRandom(Math.round(1e3*(1+i.noise(t,n,s,77.072)))),this.isEmpty=!1,this.isThin=!1,this.isFlat=!1,this.isTip=!1,this.contX=!1,this.contY=!1,this.contZ=!1,this.terrain=MILL?Math.round(.5*i.noise(t,n,0,.02)+.5):0,this.hasTerrain=!1,this.visited=!1,this.winX=!1,this.winY=!1,this.roof=!1}GetNeigh(){const t=new Array;let n=i.GetBlock([this.x0+.1-S,this.y0+.1,this.z0+.1]),s=i.GetBlock([this.x0+.1+S,this.y0+.1,this.z0+.1]),e=i.GetBlock([this.x0+.1,this.y0+.1-S,this.z0+.1]),r=i.GetBlock([this.x0+.1,this.y0+.1+S,this.z0+.1]),h=i.GetBlock([this.x0+.1,this.y0+.1,this.z0+.1-S]),o=i.GetBlock([this.x0+.1,this.y0+.1,this.z0+.1+S]);null==n||n.visited||this.hasTerrain&&n.terrain!=this.terrain||t.push(n),null==s||s.visited||this.hasTerrain&&s.terrain!=this.terrain||t.push(s),null==e||e.visited||this.hasTerrain&&e.terrain!=this.terrain||t.push(e),null==r||r.visited||this.hasTerrain&&r.terrain!=this.terrain||t.push(r),null==h||h.visited||h.isFlat||h.hasTerrain&&h.terrain!=this.terrain||t.push(h),null==o||o.visited||this.isFlat||this.hasTerrain&&o.terrain!=this.terrain||t.push(o);for(let n of t)n.visited=!0;return t}Resolve(){const t=this.isEmpty;this.isEmpty=!0;let n=S,s=-1,i=0,e=0;for(let t=0;t<S;t+=.35)for(let r=0;r<S;r+=.35){i++;const h=landscape.Evaluate(this.x0+t,this.y0+r,this)*U,o=h-this.z0;o<n&&(n=o),s<o&&(s=o),h<=this.z1&&(this.hasTerrain=!0),h>this.z0-.02&&(e++,this.isEmpty=!1)}i>0&&(e/=i),(n<.5*S||e<.5)&&(this.isThin=!0),s<S&&(this.isFlat=!0),(s<.25*S&&n<0||e<.3)&&(this.isTip=!0),t&&!this.isTip&&(this.isEmpty=!0)}Intersect(t,n,s,e){const r=i.Distance(t,n),h=Math.max(1,Math.round(r/D));let o=t,a=0;for(let l=0;l<h+.1;l+=1){let d=Math.min(l/h,1);!s&&d>.01&&d<.99&&(d=Math.max(0,Math.min(d+(this.indRand.rnd()-.5)*(1/h),1)));const c=i.lerp(t,n,d),u=landscape.Evaluate(c[0],c[1],this)*U-c[2];if(u>=-.1){if(s)return[e+d*r];let t=l>0||u<.125*D?0:3;const n=o[0]<=this.x0+.05,h=o[1]<=this.y0+.05,f=o[2]>=this.z1-.05;!f||!this.contZ||n&&!this.contX||h&&!this.contY||(t=0),!n||!this.contX||h&&!this.contY||f&&!this.contZ||(t=0),!h||!this.contY||n&&!this.contX||f&&!this.contZ||(t=0),t>0&&(f&&(!n||n&&this.contX)&&(!h||h&&this.contY)?t=3:n&&(!h||h&&this.contY)?t=1:h&&(t=2));let M=u;if(n&&!this.winX&&(M=-999),h&&!this.winY&&(M=-999),l>.001){const t=Math.abs(a);o=i.lerp(o,c,t/Math.max(.001,t+u)),o[2]=landscape.Evaluate(o[0],o[1],this)*U}return[o[0],o[1],o[2],t,e+d*r,0==t?landscape.Color(o[0],o[1],this):M]}o=c,a=u}return null}},Continous:function(t,n){return t.isEmpty==n.isEmpty&&(!t.hasTerrain&&!n.hasTerrain||t.terrain==n.terrain)}}},558:(t,n,s)=>{const i=s(555);var e=new i.myRandom(0),r=new Array,h=new Array;class o{constructor(t,n,s,i,e,r,h,o,a){this.S=[t,n,s],this.E=[t+h*i,n+o*e,s+a*r],this.t=[h,o,a],this.Si=[Math.round(this.S[0]/i),Math.round(this.S[1]/e),Math.round((this.S[2]+Z)/r)],this.Ei=[Math.round(this.E[0]/i),Math.round(this.E[1]/e),Math.round((this.E[2]+Z)/r)]}Alter(t,n,s,i,e){this.S[0]+=t*S+i*S*this.t[0],this.S[1]+=n*S+i*S*this.t[1],this.S[2]+=s*S+i*S*this.t[2],this.E[0]+=t*S+e*S*this.t[0],this.E[1]+=n*S+e*S*this.t[1],this.E[2]+=s*S+e*S*this.t[2],this.Update()}Update(){a(this.Si,this.S),a(this.Ei,this.E)}RandomCopy(t,n){let s=[0,0,0];s=this.t[0]>.5?t<.5?[0,1,0]:[0,0,1]:this.t[1]>.5?t<.5?[1,0,0]:[0,0,1]:t<.5?[0,1,0]:[1,0,0];const i=new o(this.S[0]+s[0]*n*S,this.S[1]+s[1]*n*S,this.S[2]+s[2]*n*S,this.E[0]-this.S[0],this.E[1]-this.S[1],this.E[2]-this.S[2],this.t[0],this.t[1],this.t[2]);return i.Si=this.Si,i.Ei=this.Ei,i}Clear(){new d(this.S[0],this.E[0],this.S[1],this.E[1],this.S[2],this.E[2]).Clear()}}function a(t,n){if(3==t.length&&!(t[0]<0||t[1]<0||t[2]<0||t[0]>=h.length||t[1]>=h[t[0]].length||t[2]>=h[t[0]][t[1]].length))try{h[t[0]][t[1]][t[2]].Append(n)}catch{}}class l{constructor(){this.box=null}Append(t){null!=this.box?this.box.Append(t):this.box=new d(t[0],t[0],t[1],t[1],t[2],t[2])}Clear(){null!=this.box&&this.box.Clear()}}class d{constructor(t,n,s,i,e,r){this.X=[t,n],this.Y=[s,i],this.Z=[e,r]}Clear(){for(let t=this.X[0];t<this.X[1]+.1;t+=S)for(let n=this.Y[0];n<this.Y[1]+.1;n+=S)for(let s=this.Z[0];s<this.Z[1]+.1;s+=S){const e=i.GetBlock([t+.1,n+.1,s+.1]);null!=e&&(e.isEmpty=!0)}}Append(t){this.X[0]=Math.min(this.X[0],t[0]),this.Y[0]=Math.min(this.Y[0],t[1]),this.Z[0]=Math.min(this.Z[0],t[2]),this.X[1]=Math.max(this.X[1],t[0]),this.Y[1]=Math.max(this.Y[1],t[1]),this.Z[1]=Math.max(this.Z[1],t[2])}}t.exports={GrowBoxes:function(t){let n=0,s=0,a=9999;for(let t=-T/2;t<T/2;t+=16)for(let e=-T/2;e<T/2;e+=16){let r=0;for(let n=-32;n<33;n+=16)for(let s=-32;s<33;s+=16)for(let h=-16;h<17;h+=16)r+=Math.abs(i.noise(t+T/2+n,e+T/2+s,U/2+h,.012));r<a&&(a=r,n=t,s=e)}e=new i.myRandom(Math.round(1e3*R.random_dec())),h=new Array,r=new Array;for(let a=0;a<T;a+=t[0]){const d=new Array;for(let h=0;h<T;h+=t[1]){const c=new Array;for(let d=-Z;d<U;d+=t[2])c.push(new l),Math.abs(i.noise(a+n,h+s,d,.012))>(TERCHANGE&&MILL&&!FLATTEN?.4:.6)||(e.rnd()<.72&&r.push(new o(a,h,d,t[0],t[1],t[2],1,0,0)),e.rnd()<.72&&r.push(new o(a,h,d,t[0],t[1],t[2],0,1,0)),e.rnd()<.82&&r.push(new o(a,h,d,t[0],t[1],t[2],0,0,1)));d.push(c)}h.push(d)}const d=new Array;for(let t of r){t.Alter(Math.round(3*e.rnd()-1),Math.round(3*e.rnd()-1),Math.round(3*e.rnd()-1),Math.round(2*e.rnd()-1),Math.round(2*e.rnd()-1));const n=e.rnd(),s=Math.round(2*e.rnd()-1);Math.abs(s)>.2&&e.rnd()<.67&&d.push(t.RandomCopy(n,s))}for(let t of d)r.push(t)},ClearBoxes:function(){for(let t of h)for(let n of t)for(let t of n)t.Clear();for(let t of r)t.Clear()}}},