0x412b1361…8a51sent to0xd6878475…ab48·#22,161,668·0x6230b989…c89cea
N !function(){"use strict";function e(e){const t=[[[0,-.07,6],[.02,.015,0],.07,0,[3,1.4,2]],[[.035,-.06,6],[.03,.09,-.02],.06,0,[-.3,3.2,.95]],[[.04,-.07,6],[0,.1,-.1],.06,-.02,[.3,2.7]],[[-.03,-.02,6],[-.04,-.07,.03],.087,-0,[-2.2,1,2]],[[.03,-.1,6],[-.07,-.01,.04],.08,-0,[1,2.5,1.5]],[[.03,.015,6],[.05,.04,-.03],.09,-0,[-.7,3.1,1.5]],[[-.05,-.14,4],[-.03,-.12,.09],.1,-.04,[-3,.9,2]],[[.01,-.05,8.5],[-.06,-.055,.03],.056,0,[1.5,2.5,2.5]],[[.01,.01,10],[.14,.05,.1],.04,0,[0,3.6,1]],[[-0,-.07,8],[-.07,-.1,.03],.059,0,[-3,1.2,1.5]],[[0,-.06,3],[.06,.09,-.04],.2,.04,[-4,1,5]],[[-.05,-.07,3],[.09,-.09,0],.14,.04,[3.2,1,2]],[[-.03,-.03,9],[.1,-.1,-.01],.052,0,[3.3,.6,2]],[[-.023,-.008,9],[.1,-.07,-.07],.038,.02,[3.5,.7,2.1]],[[-.03,-.01,9],[.16,-.17,-.07],.032,.11,[3,.8,1.6]],[[.03,-.04,6],[.02,.15,0],.067,-.12,[1.7,3,1.1]],[[-.01,-.023,9],[.11,-.07,-.14],.03,.13,[3,.7,1]],[[.01,-.05,4],[.04,.06,-.03],.11,.01,[-3.2,1.5,10]],[[-.015,-.037,9],[.01,-.09,-.22],.032,.224,[2,.7,3]],[[0,-.09,4],[-.07,.04,-.09],.125,.06,[0,2.2,20]],[[.04,.015,8],[.08,.08,-.09],.061,.09,[3.5,.5,2]],[[-.04,0,7.6],[.06,-.09,.09],.06,-.08,[-3.25,.35,3]],[[.035,-.06,8],[-.06,.04,-.02],.06,0,[-.5,1.6,2]],[[.028,-.1,6],[-.1,.02,-.04],.062,-.04,[-2.3,1.8,2.5]],[[.07,-.1,3],[.02,.1,-.1],.18,.08,[-.5,2.6,5]],[[-.08,-.1,4],[-.04,-.13,.03],.09,.02,[2.6,1.6,3]],[[-.01,-.005,9],[.05,.1,-.04],.051,-.015,[-4,1.2,10]],[[-.005,.006,9],[.09,.11,0],.057,-.015,[-3,1.2,100]],[[.07,-.1,3],[.06,.08,-.1],.16,.08,[-.5,2.8,5]],[[-.01,-.05,6],[-.03,-.03,.04],.072,.01,[-2.9,1.16,2]],[[-0,-.03,6],[.05,-.044,-.04],.082,0,[-3,1.5,1.7]],[[.04,-.03,6],[-.03,.07,-.03],.09,0,[-4,1.8,1.8]],[[0,-0,8],[.02,.02,0],.05,-.01,[.6,3,2.8]],[[-0,-.02,4],[.02,.02,0],.11,-.02,[.4,2.5,10]],[[.05,-.07,6],[.13,.09,-.09],.06,.03,[-.1,3.4,2]],[[.045,-.03,6],[0,.07,-.1],.065,.09,[3.2,.7,30]],[[-.01,-.14,3],[.02,-.03,0],.17,.012,[3.9,1.5,2]],[[.025,.005,9],[.05,.1,-.04],.057,-.015,[-4,1.2,10]],[[0,-.01,8],[-.05,0,0],.055,-.01,[.3,3,.8]],[[.02,-.01,8],[-.04,-.03,-.06],.052,.01,[-1.3,3,1]],[[.052,-.04,6],[.04,.1,-.05],.077,.01,[-8,2.8,20]],[[.02,-.01,6],[.13,-.05,-.07],.055,.09,[3.7,.75,50.6]],[[-.09,-.14,3],[-.06,-.11,-.01],.13,.035,[2.3,.9,1.2]],[[-.02,-.05,6],[-.05,-.044,-.04],.085,0,[-2,2,2.6]],[[0,-.09,4],[.03,.12,-.09],.125,.02,[-.5,2.3,10]],[[.02,-.02,6],[.11,.06,-.04],.09,-.02,[-3.6,1.5,10]],[[-.04,-.03,7.6],[-.01,-.11,.12],.06,-.08,[-3.25,.85,30]],[[.01,-.06,6],[-.05,.02,.02],.076,-.06,[-2.5,1.3,1000.6]],[[-0,-.06,4],[.02,-.02,0],.11,.02,[.5,2.4,10]],[[-0,.014,7],[.1,.02,.08],.06,0,[.2,3.3,1.3]],[[-.005,.005,9],[.09,.1,0],.057,-.015,[-3.5,1.3,4]],[[.03,-.06,4],[-.07,.07,-.03],.115,0,[-5,1.8,1.4]],[[0,.01,9],[.11,-.02,0],.04,.01,[4.4,.9,2]],[[-.005,.002,9],[.09,.1,0],.057,-.015,[-3,1.2,10]],[[-.02,-.1,4],[-.06,-.08,.05],.122,0,[-2.8,1.2,4.5]],[[-.004,-.019,10],[.02,-.01,.07],.05,-.02,[-3.1,1.4,2.4]]][e];return[(new THREE.Vector3).copy(new THREE.Vector3(0,0,-4)),t[2],t[3],n(...t[4]).negate(),n(...t[0]),b(...t[1])]}function n(e,n,t=1){e=u/4*e+u/2;let r=d(n*=u/4);return new THREE.Vector3(r*d(e),i(n),r*i(e)).multiplyScalar(t)}var t=Math.ceil,r=Math.round,c=Math.exp,v=Math.pow,o=Math.min,a=Math.floor,l=Math.sqrt,s=Math.abs,p=Math.max,i=Math.sin,d=Math.cos,u=Math.PI;const m=l(2),f=1080,x=1/l(2),h=e=>2*a(e/2),y=(e,n,t)=>p(o(e,t),n),S=e=>2*s(e-a(e+.5)),w=()=>{let e=window.innerWidth,n=window.innerHeight;if(e/x<n){const n=h(e);return[n,a(n/x)]}{const e=h(n);return[a(e*x),e]}},E=(e,n,t)=>{const r=`//!S:${n}`,c=[`${r}`,`${r}:${t}`,`${r}:${t+1}`,`${r}:END`],v=c.map((n=>e.indexOf(n)));return-1===v[1]||-1===v[3]?e:e.slice(0,v[0])+e.slice(v[1]+c[1].length,void 0===v[2]?v[3]:0<=v[2]?v[2]:v[3])+e.slice(v[3]+c[3].length)},g=(e,n,t,r)=>{let c=e;for(;(()=>{const e=`/*!${n}:${t}*/`,v=c.indexOf(e);return-1!==v&&(c=`${c.slice(0,v)}${r}${c.slice(v+e.length)}`,!0)})(););return c},R=(e,n,t)=>g(e,"F",n,`${t}${0==a(t)-t?".":""}`),T=(e,n,t)=>g(e,"V3",n,`vec3(${t.x},${t.y},${t.z})`),b=(e,n,t)=>M(e).multiply(F(n)).multiply(U(t)),M=e=>{const n=i(-e*u*2),t=d(-e*u*2);return(new THREE.Matrix3).set(1,0,0,0,t,-n,0,n,t)},F=e=>{const n=i(-e*u*2),t=d(-e*u*2);return(new THREE.Matrix3).set(t,0,n,0,1,0,-n,0,t)},U=e=>{const n=i(-e*u*2),t=d(-e*u*2);return(new THREE.Matrix3).set(t,-n,0,n,t,0,0,0,1)},C=[(e,n)=>p(.6*v(e,.5),.2)*n,(e,n)=>p(.5*v(e,.25),.1)*n,(e,n)=>p(.5*v(e,.25),.1)*n,(e,n)=>p(c(2*e-2.5),.1)*n,(e,n)=>p(c(2*i(1.6*e-.3)-2.6),0)*n+.028],X=[(e,n,t,r)=>{e[0]=hl.random(),e[1]=1+r-y(n/(t-1)+(2*hl.random()-1)*(2/t),0,1)*(1+r)},(e,n,t,r)=>{e[0]=(1.8*hl.random()-.9)*(1.8*hl.random()-.9)+.5,e[1]=1+r-y(n/(t-1)+(2*hl.random()-1)*(2/t),0,1)*(1+r)},(e,n,t,r)=>{e[0]=(1.5*hl.random()-.75)*(1.5*hl.random()-.75)+.5,e[1]=1+r-y(n/(t-1)+(2*hl.random()-1)*(2/t),0,1)*(1+r)}],z=[[.95,!1,2,.125],[.95,!1,8,.5],[.95,!0,1,.05],[.95,!0,4,.5],[.85,!1,2,.125],[.99,!1,2,.25]],P=[[[14270913,12755875,11044998,9334893,7626072,6180166,5062970,4406324,4275508,4473401,4934466,5526604,6184791,6842723,7631983,6184794,5000777,4079675,3290673,2698537,2238243,1843486,1514522,1185814,856850,593165,329736,131844,131587],14204589],[[14074805,10393979,5987914,3882288,1647392],16764064],[[16578028,11128776,2198136,3890996,12295204,15119706,15979691,15780248,14985834,14060107,13201988,12740426,12740947,12081735,10964801,9651263,8076094,5582648,3548205],8834744],[[11712474,11383511,10527950,9277631,7829417,6380426,4997478,3942979,3678251,4663847,6242098,7886146,9529683,10844771,11765875,10713697,9596242,8413254,7230266,6047279,4929829,3812123,2760210,1774089,853507,328195,525582],14667720],[[16777215,8624357,8295393,7374296,6123717,4675492,3161720,1581894,132876,1513736,3684123,5591854,7237187,8619352,9607022,10265225,9869700,9211514,8421743,7565923,6579029,5526344,4539450,3487021,2565920,1645077,855563,263428,197635,197636],15983070],[[11770775,11639189,11309968,10848906,10322308,9796224,9467521,9270918,9337743,9602202,9997991,10394290,10724540,10923459,11056329,10465489,9676495,8624328,7440318,6124462,4874136,3754622,2700897,1778757,922410,197389,131328],16767687],[[10911809,10846274,10715204,10452548,10058307,9466944,8612411,7560500,6114346,4404766,2366221,262661,2435650,5266044,9410478,7896720,6580343,5461859,4540754,3882309,3290170,2829618,2500396,2303016,2105637,2039843,1974050,1973794,1973794],15983838],[[8361299,8294477,8227655,8160833,8159547,8092470,8025393,8023852,7956775,8020771,8084766,8345369,8933908,10243088,16394500,9652528,7422254,5978667,4862759,4074788,3418145,2892830,2498844,2235931,2039066,1907481,1841945,1841689,1841689],16632752],[[13160150,13226199,13291993,13357786,13358043,13292507,13095386,12766680,12175315,11321035,10203583,8889006,7508121,6521220,6521466,9086867,7111794,6255972,5663065,5136209,4675401,4345666,4016188,3752503,3489074,3291182,3093290,2895655,2763813,2697763,2631713],15979707],[[15636355,15635583,15567734,15499369,15364441,15229513,15094841,15026476,14959396,14567207,13977899,13191472,12339252,11617336,11157820,11091265,10960193,10566977,9977153,9124672,8141117,6960441,5779764,4664110,3679784,2892323,2367263],15636355],[[14931056,14931054,14931051,14865765,14800478,14669398,14078540,13159493,11911999,10271037,8104513,6003529,3968592,2459481,2788718,4036233,3576706,3050874,2917488,2848869,2779737,2710093,2574913,2505782,2306093,2172710,2040097,1973790,1973533],14283451],[[16444130,14734806,12435663,9610695,7048131,5535420,4747195,4548783,4349854,4150666,3819893,3423324,2895939,2434350,2039328,1907740],14734806],[[14672597,11844259,9212796,6910045,4936260,3357233,2238499,1580572,1383194,1448474],9212796],[[11128773,9815742,8502712,7254963,6007471,4891052,3774634,3116708,3113108,3108223,2970979,2571074,2040868,2236445,5980448,14121254,12741672,11559212,10573872,9851443,9326134,8866616,8472890,8079419,7751483,7358012,7030332,6636860,6243644,5915964,5522748],15979707],[[11314331,11116951,10919571,10787983,10590860,10393480,10130307,9670268,9078388,8223593,7171419,5790539,4278588,3227449,4018001,6913673,5794933,4938852,4214614,3556425,3029567,2634038,2239022,1975080,1777443,1711136,1776672,1973537,2236708,2631208],15979707],[[16576733,15330023,10468821,6395850,4228807,2984646,3833027,4353206,4610721,4475011,3881058,3618643,3355717,3092537,2697518,1907741],15591385],[[14537937,13284524,12162436,10713953,9069893,7361071,5652766,3944464,2170373,133891],15578992],[[13160909,9940641,7179384,5008212,3493428,2438171,1842953,1445378],7179384],[[13552567,13224890,12700091,11978171,10993594,9812153,8368311,6858422,5217716,3773617,3180965,2915731,2649982,2450024,2119250,1854786,1854271,1853500,1852216,1915956,1979951,1978155,2042150,2040867,1974304,1973790,1973533],15979707],[[14875330,15006401,15202495,15463868,15724734,15854528,15722176,15523774,15128763,14667958,13944495,13155239,12102812,10721674,7432798,9012855,8882553,8028530,6910822,5792600,4674378,3753021,2897456,2239014,1646621,1185814,856848,659213,593420],15979707],[[3126230,2794955,2595009,2460857,2326707,2192815,2255277,2579628,3231147,4013475,4795793,5447798,6297432,7609152,9842995,12802871,11685170,10633775,9713964,8794922,7941672,7154213,6367010,5645342,4923931,4267799,3677460,3087121,2562319,2168590,1840653],15979707],[[13025713,12894642,12566194,12237488,11711917,11120297,10528165,9870496,9146780,8488599,7829906,7237005,6840964,6510714,6114927,5588580,4996439,4404812,3878978,3353401,2959153,2630955,2368295,2237222,2171428,2106147,2106659,2107172,2107429],15979707],[[13748943,12169915,10196385,8288644,6578282,5262422,4472905,4078146,3683644,3025970,2499625,2302245,2104866,1907487,1710364,1578777],16205382],[[16580607,15988477,14804985,13687286,12569075,11582192,10660332,9869288,9274338,8744921,8346314,7947954,7484819,7087728,6823242,7414826,11693617,9522982,8667940,8010532,7419171,6828067,6302754,5711904,5121053,4530202,3939095,3282707,2691854,2035465,1444613,919811,657924],16771030],[[16777215,16777215,16777215,16381942,15065050,13484987,11773341,9930881,8154472,6510421,5392200,4735044,4735559,5065040,5394519,5592412,5395803,5330011,5132633,4803926,4409169,3948875,3488068,2961980,2501171,1974827,1448482,987673,527120,197639,65794,0,0],16767687]],L=[(e,n,t,c,v)=>v[r((.5*(1-t)+.5*n)*v.length)%v.length],(e,n,t,c,v)=>v[r((.45*(1-t)+.05*(1-c)+.5*n)*v.length)%v.length],(e,n,t,c,v)=>v[r(n*(v.length-1))%v.length],(e,n,t,c,v)=>v[r((.2*(1-t)+.8*n)*(v.length-1))%v.length],(e,n,t,c,o)=>o[r((.5*v(1-t,.75)+.5*n)*o.length)%o.length],(e,n,t,c,v)=>v[r((.75*(1-t)+.25*n)*v.length)%v.length]],A=[[1e5,220,400,3,.82,.8,.5,0,.8,.1,4],[24e4,350,[160,100],[1.2,0],.6,[.75,.6],.58,.2,.4,.06,1],[3e5,400,[250,150],2,.6,.6,.7,0,.4,.1,1],[2e5,200,160,3,.9,.6,.6,[.3,.5],.9,.09,3],[2e5,200,260,4,.9,.6,.4,[.3,.5],.6,.1,3],[14e4,160,200,[3,1],.82,.7,.59,.3,.8,.08,3],[3e5,100,600,1,.2,.6,.25,[.1,.5],.5,.1,2],[3e5,250,600,2,.65,.6,.8,[.1,.5],.4,.1,2],[3e5,200,500,3,.3,.6,.9,[.1,.5],.9,.12,3],[3e5,400,250,[5,.5],[.45,.5],.61,[.76,0],.3,.7,.1,3],[2e5,250,600,2.5,.75,.66,.3,[.2,.5],.4,.08,0],[1e5,420,400,3,.82,.8,.45,.3,.8,.1,4],[3e5,400,250,[4,.5],.75,.6,[.46,0],.1,.7,.1,3]],B=[null,[9,2,32,.4,1.5],[7,1.7,72,.5,2.5]],H=[[[-.01,.0035,.0023,1160],[1,.3,.2],[0,0,0],[0,0,0],!1],[[-.01,.0033,.0023,1300],[1.5,.29,.05],[0,0,-.03],[0,0,0],!1],[[-.012,.0032,.003,650],[1,.32,.13],[0,0,-.02],[0,.11,.21],!1],[[-.01,.002,.0026,520],[1,.27,.13],[-.02,.16,-.22],[.25,-.06,.5],!1],[[-.0145,.0035,.0023,492],[.8,.21,.1],[0,-.18,-.3],[.75,-.32,.78],!1],[[-94e-5,.0035,.0023,1290],[.8,.3,.17],[0,-.12,-.3],[0,-.03,.03],!1],[[-8e-4,.0035,.003,950],[1,.222,.05],[0,-.12,-.2],[.2,.03,0],!1],[[-.02,.0035,.0023,945],[.7,.3,.06],[-.02,.1,-.02],[-.05,.15,.5],!1],[[-.02,.0035,.0023,955],[.7,.3,.05],[0,.08,-.02],[.05,-.3,0],!1],[[-98e-5,.0035,.0023,1290],[1,.3,.18],[.05,-.08,-.2],[-.03,.03,0],!1],[[-.00101,.0035,.0023,1500],[.7,.3,.11],[0,0,-.14],[.19,.2,0],!1],[[-.002,-.0054,.0023,1576],[1,.24,.06],[-.03,-.07,-.19],[.03,0,-.03],!0],[[-.002,-.0059,.00225,3657],[.9,.25,.035],[.04,-.02,-.1],[.2,.2,.2],!0],[[-.002,-.00556,.0023,5467],[.9,.2,.07],[-.015,-.1,-.3],[-.14,.11,.042],!0],[[-.002,-.00547,.0023,5889],[.9,.26,.05],[-.1,-.04,-.25],[-.17,.3,.1],!0],[[-.002,-.005495,.0023,8930],[.9,.3,.07],[0,.15,-.1],[.18,.2,-.02],!1],[[-.002,-.00552,.0023,8930],[.9,.3,.05],[.1,.15,-.15],[.18,.1,-.02],!1],[[-.002005,-.0055,.0023,10170],[.9,.25,.15],[-.1,.08,-.3],[.25,.65,-.21],!0],[[-.01,-.0055,.0023,460],[1.1,.24,.08],[0,.1,-.07],[-.14,-.13,.19],!0],[[-.00199,-.00546,.00231,11562],[1,.3,.05],[.01,.12,-.18],[.13,-.02,.3],!0],[[-.002,-.0055,.00231,20997],[.9,.25,.12],[0,-.02,-.1],[0,.1,0],!0],[[-.00199,-.0055,.0025,20917],[.9,.25,.12],[0,0,-.04],[-.2,-.3,.5],!0],[[-.001998,-.0055,.0023,22540],[1,.25,.15],[.01,0,-.01],[0,.1,-.1],!0],[[.004,-.0075,-.0063,1170],[1,.26,.1],[.1,.1,-.18],[.76,.43,.35],!0],[[.00453,-.00739,-.00619,5260],[.9,.25,.04],[0,.03,-.1],[0,0,.2],!0],[[.00453,-.00739,-.00619,5270],[.95,.28,.08],[.1,.15,-.04],[.1,-.03,.3],!0],[[.00458,-.00746,-.00622,5248],[.75,.28,.07],[.03,.1,-.1],[.12,-.37,-.05],!0]],Y={type:THREE.UnsignedByteType,format:THREE.RGBAFormat,antialias:!1,precision:"highp",stencil:!1,depth:!1,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter,wrapS:THREE.ClampToEdgeWrapping,wrapT:THREE.ClampToEdgeWrapping,alpha:!1};let Z,N,k,V,q,I,$,O,D,G,W,_,J,j,K,Q,ee,ne,te,re,ce,ve,oe,ae,le,se,pe,ie,de=window,ue=document;const me=(e,n)=>1/(n*l(2*u))*c(-v(e,2)/(2*v(n,2))),fe=()=>{[ee,ne]=(()=>{let e=h(f);return[a(e*x),e]})(),[_,J]=w(),[j,K]=[a(1024*x),1024],Q=J/ne;let e=de.devicePixelRatio??1;Z.setRenderTarget(null),Z.setPixelRatio(de.devicePixelRatio),Z.setClearColor(0,1);let n=2160;8192>Z.capabilities.maxTextureSize&&(n=2048);let t=o(2*_*2/e,2*a(n*x)/e),r=o(2*J*2/e,2*n/e);Z.setSize(t,r),Z.clear(),W.style=`aspect-ratio: auto ${_}/${J};width:${_}px;height:${J}px;`,W.id="defaultCanvas",N=new THREE.OrthographicCamera(-j/2,j/2,K/2,-K/2,.01,100),N.position.z=.1,N.lookAt(new THREE.Vector3(0,0,0)),k=new THREE.OrthographicCamera(0,_,J,0,.01,100),k.position.z=.1,k.lookAt(new THREE.Vector3(0,0,0)),G=function(e,n,t){let r="\nuniform float uS;\nuniform vec3 uR;\n\n#define PI 3.1415926536\n#define UF float(0xffffffffU)\n#define C clamp\n#define F floor\n#define S smoothstep\n#define fseed uS*1e-4\n\nvarying vec2 vU;\n\nuint hi(uint x){x^=x>>16;x*=0x45d9f3bU;x^=x>>16;x*=0x45d9f3bU;x^=x>>16;return x;}\nvec2 h22(uvec2 p){uint n=uint(p.x)*1597334677U^uint(p.y)*3812015801U;return vec2(hi(n)*uvec2(0x1U,0x1ffU))/UF;}\nvec3 h32(uvec2 p){uint n=uint(p.x)*1597334677U^uint(p.y)*3812015801U;return vec3(hi(n)*uvec3(0x1U,0x1ffU,0x3ffffU))/UF;}\nfloat v2d(in vec2 p,float u,float v){p+=fseed;float k=1.+63.*pow(1.-v,6.);vec2 i=F(p),f=fract(p),a=vec2(0);for(int y=-2;y<=2;y++)for(int x=-2;x<=2;x++){vec2 g=vec2(x,y);vec3 o=h32(uvec2(ivec2(i+g)))*vec3(u,u,1.);vec2 d=g-f+o.xy;float w=pow(1.-S(0.,1.414,length(d)),k);a+=vec2(o.z*w,w);}return a.x/a.y;}\nfloat mag(vec2 x){return dot(x,x);}\nfloat w2d(vec2 x){x+=fseed;uvec2 p=uvec2(int(F(x.x)),int(F(x.y)));vec2 f=fract(x);float res=1e30;vec3 fb=vec3(-1,0,1);uvec3 ub=uvec3(-1,0,1);res=min(mag(fb.xx-f+h22(p+ub.xx)),res);res=min(mag(fb.xy-f+h22(p+ub.xy)),res);res=min(mag(fb.xz-f+h22(p+ub.xz)),res);res=min(mag(fb.yx-f+h22(p+ub.yx)),res);res=min(mag(fb.yy-f+h22(p+ub.yy)),res);res=min(mag(fb.yz-f+h22(p+ub.yz)),res);res=min(mag(fb.zx-f+h22(p+ub.zx)),res);res=min(mag(fb.zy-f+h22(p+ub.zy)),res);res=min(mag(fb.zz-f+h22(p+ub.zz)),res);return sqrt(res);}\nmat2 rot=mat2(.6,.8,-.8,.6);\nfloat vFbm(in vec2 p,float u,float v){float r=v2d(p,u,v)*.5;p=p*rot*2.;r+=v2d(p,u,v)*.25;p=p*rot*2.;r+=v2d(p,u,v)*.125;p=p*rot*2.;r+=v2d(p,u,v)*.0625;return r/.9375;}\nfloat wFbm(in vec2 p){float r=w2d(p)*.6;p=p*rot*2.3;r+=w2d(p)*.25;p=p*rot*2.3;r+=w2d(p)*.25;p=p*rot*2.3;r+=w2d(p)*.0625;return r/.9375;}\nvoid hfast(vec2 g,out vec4 h0,out vec4 h1){const vec2 o=vec2(26.,161.);const float d=71.;const vec2 f=vec2(951.135664,642.949883);vec4 P=vec4(g.xy,g.xy+1.);P=P-F(P*(1./d))*d+o.xyxy;P*=P;P=P.xzxz*P.yyww;h0=fract(P/f.x);h1=fract(P/f.y);}\nfloat qh2d(float x,float i0,float i1,float e0,float e1){vec3 h=(((vec3(-15.,8.,7.)+vec3(6.,-3.,-3.)*x)*x)+vec3(10.,-6.,-4.))*(x*x*x);return i0+dot(vec3((i1-i0),e0,e1),h.xyz+vec3(0.,x,0.));}\nvec4 qh2d(float x,vec2 i0,vec2 i1,vec2 e0,vec2 e1){vec3 h=(((vec3(-15.,8.,7.)+vec3(6.,-3.,-3.)*x)*x)+vec3(10.,-6.,-4.))*(x*x*x);return vec4(e1,i0)*vec4(h.zz,1.,1.)+vec4(e0,h.xx)*vec4(vec2(h.y+x),(i1-i0));}\nfloat h2d(vec2 P){P+=fseed;vec2 Pi=F(P),Pf=P-Pi;vec4 hgx,hgy;hfast(Pi,hgx,hgy);hgx=hgx-.49999;hgy=hgy-.49999;vec4 norm=inversesqrt(hgx*hgx+hgy*hgy);hgx*=norm;hgy*=norm;vec4 qr=qh2d(Pf.y,hgx.xy,hgx.zw,hgy.xy,hgy.zw);return qh2d(Pf.x,qr.x,qr.y,qr.z,qr.w)*2.2627416997969520780827019587355;}\nfloat c2d(vec2 P){P+=fseed;vec2 Pi=F(P),Pf=P-Pi;vec4 hx,hy;hfast(Pi,hx,hy);const float J=.4;hx=hx*J*2.+vec4(-J,1.-J,-J,1.-J);hy=hy*J*2.+vec4(-J,-J,1.-J,1.-J);vec4 dx=Pf.xxxx-hx;vec4 dy=Pf.yyyy-hy;vec4 d=dx*dx+dy*dy;d.xy=min(d.xy,d.zw);return min(d.x,d.y)*(1./1.125);}\n\nvoid main(){\n vec2 uv=vU*.5;\n //!S:B:0\n vec3 col=vec3(pow(wFbm(uv*5.)+.1,2.));\n //!S:B:1\n vec3 col=vec3(pow(wFbm(uv*vec2(20,3))+.09,2.));\n //!S:B:2\n vec3 col=vec3(pow(wFbm(uv*vec2(60,3))+.1,3.));\n //!S:B:3\n vec3 col=vec3(pow(wFbm(uv*vec2(10))+.05,2.));\n //!S:B:4\n vec3 col=vec3(pow(wFbm(uv*vec2(3)+vFbm(uv*vec2(4,12),.2,.5))+.2,2.));\n //!S:B:5\n vec3 col=vec3(pow(wFbm(uv*vec2(2,4)+vFbm(uv*vec2(3,15),.8,.2))+.15,2.));\n //!S:B:6\n vec3 col=vec3(pow(wFbm(uv*vec2(2,5)+wFbm(uv*vec2(5,12.5)))+.2,2.5));\n //!S:B:7\n vec3 col=vec3(pow(wFbm(uv*vec2(5,10)+wFbm(uv*vec2(1,5)))+.2,2.5));\n //!S:B:8\n vec3 col=vec3(pow(wFbm(uv*vec2(5,15)+wFbm(uv*vec2(1,5)))+.2,2.5));\n //!S:B:9\n vec3 col=vec3(pow(vFbm(uv*vec2(11,33)+7.*wFbm(uv*vec2(2,4)),0.,.3)+.2,2.5));\n //!S:B:10\n vec3 col=vec3(pow(wFbm(uv*7.+8.*wFbm(uv*4.))+.17,3.));\n //!S:B:11\n vec3 col=vec3(pow(wFbm(uv*vec2(10.)+wFbm(uv*vec2(6.)+vFbm(uv*vec2(3.),.2,.5)))+.05,2.));\n //!S:B:12\n vec3 col=vec3(pow(wFbm(uv*vec2(2.)+wFbm(uv*vec2(2.)+vFbm(uv*vec2(1.),.5,.5)))+.05,2.));\n //!S:B:13\n vec3 col=vec3(pow(wFbm(uv*vec2(4.)+wFbm(uv*vec2(2.)+vFbm(uv*vec2(1.),.5,.5)))+.05,2.));\n //!S:B:14\n vec3 col=vec3(pow(wFbm(uv*vec2(2.)+wFbm(uv*vec2(8.)+vFbm(uv*vec2(4.),0.,.5)))+.05,2.));\n //!S:B:END\n uv=uv*vec2(.8,1.2);\n //!S:FT:0\n float fdXY=-1.3*S(.1,.9,min(w2d(99.*uv*vec2(1.6,1.))*1.2,v2d(40.*uv*vec2(1.,2.),.5,.75)));\n float fdYZ= 1.4*S(.1,.9,max(w2d(86.*(uv+vec2(41.3))*vec2(2.,1.))*1.2,v2d(22.5*(uv+vec2(41.3))*vec2(1.,2.),.3,.75)));\n //!S:FT:1\n float fdXY=1.6*S(0.,1.,max(w2d(115.*uv*vec2(2.,1.))*.4,v2d(30.*uv*vec2(1.,2.),.3,.75)));\n float fdYZ=1.*S(.4,1.,max(w2d(115.*(uv+vec2(41.3))*vec2(2.,1.))*1.2,v2d(30.*(uv+vec2(41.3))*vec2(1.,2.),.3,.75)));\n //!S:FT:2\n float fdXY=1.125*S(.1,1.,max(w2d(99.*uv*vec2(2.,1.)),.8*v2d(22.*uv*vec2(1.,2.),.3,.75)));\n float fdYZ=1.4*S(.1,1.,max(w2d(99.*(uv+vec2(41.3))*vec2(2.,1.)),.8*v2d(38.*(uv+vec2(41.3))*vec2(1.,2.),.3,.75)));\n //!S:FT:3\n float fdXY=1.5*S(0.,1.,min(1.-w2d(55.*uv*vec2(2.,1.)),v2d(64.*uv*vec2(2.,1.),.9,.75)));\n float fdYZ=1.2*S(0.,1.,min(1.-w2d(35.*(uv+vec2(41.3))*vec2(3.,1.)),v2d(94.*(uv+vec2(41.3))*vec2(2.,1.),.3,.75)));\n //!S:FT:4\n float fdXY=.9*S(0.,1.,max(c2d(85.*uv*vec2(1.,1.5))*2.2,v2d(30.*uv*vec2(1.,2.),.8,.5)));\n float fdYZ=1.*S(0.,1.,min(c2d(100.*(uv+vec2(41.3)))*2.2,v2d(64.*(uv+vec2(41.3))*vec2(1.,2.),.3,.75)));\n //!S:FT:5\n float fdXY=1.1*S(0.,1.,max(h2d(87.5*uv),1.5*c2d(62.5*uv*vec2(2.5,1.5))));\n float fdYZ=.8*S(0.,1.,max(h2d(97.5*(uv+vec2(41.3)))*1.,1.8*c2d(52.5*(uv+vec2(41.3))*vec2(1.,1.5))));\n //!S:FT:6\n float fdXY=1.*S(0.,1.,max(c2d(97.5*uv)*1.,1.8*c2d(52.5*uv*vec2(1.,1.5))));\n float fdYZ=1.1*S(0.,1.,max(h2d(117.5*(uv+vec2(41.3)))*1.,1.8*c2d(52.5*(uv+vec2(41.3))*vec2(1.,1.5))));\n //!S:FT:7\n float fdXY=1.1*S(0.,1.,max(c2d(160.*uv),1.2*h2d(37.5*uv*vec2(1.,1.5))));\n float fdYZ=-1.2*S(0.,1.,max(c2d(160.*(uv+vec2(41.3))),1.2*h2d(37.5*(uv+vec2(41.3))*vec2(1.,1.5))));\n //!S:FT:END\n //!S:BI:0\n gl_FragColor=vec4(vec3(C(col.r,0.,1.),fdXY,fdYZ),1.);\n //!S:BI:1\n gl_FragColor=vec4(vec3(1.-C(col.r,0.,1.),fdXY,fdYZN ),1.);\n //!S:BI:END\n}";r=E(r,"B",s(e[7])),r=E(r,"BI",0<=e[7]?0:1),r=E(r,"FT",e[11]);const c=new THREE.PlaneGeometry(n,t),v=new THREE.ShaderMaterial({uniforms:{uS:{value:e[15]},uR:{value:new THREE.Vector3(n,t,1800)}},vertexShader:"varying vec2 vU;\nvoid main(){vU=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.);}",fragmentShader:r,transparent:!1,depthTest:!1,depthWrite:!1});return new THREE.Mesh(c,v)}(le,j,K),[O,V]=function(e,n,t,r){const c=[new THREE.WebGLRenderTarget(t,r,Y),new THREE.WebGLRenderTarget(t,r,Y),new THREE.WebGLRenderTarget(t,r,{type:THREE.FloatType,format:THREE.RGBAFormat,antialias:!1,precision:"highp",stencil:!1,depth:!1,minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,wrapS:THREE.MirroredRepeatWrapping,wrapT:THREE.MirroredRepeatWrapping,alpha:!1})];c.forEach((n=>{e.setRenderTarget(n),e.clearColor()}));let v="// technical\nuniform vec4 uT;\n#define FRAME int(uT.x)\n#define FRAMES uT.y\n#define SEED uT.w\n\nuniform vec3 uR;\nuniform sampler2D uPF;\nuniform sampler2D uPB;\nuniform vec3 uCT;\nuniform float uCF;\nuniform float uCA;\nuniform mat3 uSR;\nvarying vec2 vU;\n\nconst float\nPI=3.14159265359,\nTAU=PI*2.,\nTMIN=1./2048.,\nTMAX=10.,\nBLUR=5.,\nES=.062,\nM1=1.,\nM2=2.,\nM3=3.;\nconst vec3\nST=/*!V3:ST*/,\nRC=vec3(0.,-.25,.3);\nconst vec2\nDOF=vec2(ST.z-.4,.02);\n\n#define L length\n#define N normalize\n#define F floor\n#define C clamp\n#define UF float(0xffffffffU)\n\nuint hi(uint x){x^=x>>16;x*=0x45d9f3bU;x^=x>>16;x*=0x45d9f3bU;x^=x>>16;return x;}\nuvec2 s=uvec2(0);\nvoid srnd(){s=uvec2(vU*uR.xy*54.279)+uvec2(SEED,uint(FRAME));}\nfloat rnd(){s+=uvec2(1);return float(hi(s.x+(s.y<<16)))/UF;}\nvec2 rnd2(){s+=uvec2(1);return vec2(hi(s.x+(s.y<<16))*uvec2(0x1U,0x1ffU))/UF;}\nvec2 h22(uvec2 p){uint n=uint(p.x)*1597334677U^uint(p.y)*3812015801U;return vec2(hi(n)*uvec2(0x1U,0x1ffU))/UF;}\nfloat noise2(vec2 p){uvec2 c=uvec2(int(F(p.x)),int(F(p.y)));vec2 f=fract(p);f=f*f*(3.-2.*f);return mix(mix(h22(c).x,h22(c+uvec2(1,0)).x,f.x),mix(h22(c+uvec2(0,1)).x,h22(c+uvec2(1,1)).x,f.x),f.y);}\n\nvec2 CS(float x){vec2 si=fract(vec2(.5,1.)-x*2.)*2.-1.,so=sign(.5-fract(vec2(.25,.5)-x));return (20./(si*si+4.)-4.)*so;}\nmat2 m2(float y){return mat2(sin(y),cos(y),-cos(y),sin(y));}\nmat3 RX(float t){vec4 cs=vec4(CS(t),0,1);return mat3(cs.wzz,vec3(cs.zx,-cs.y),cs.zyx);}\nmat3 RY(float t){vec4 cs=vec4(CS(t),0,1);return mat3(cs.xzy,cs.zwz,vec3(-cs.y,cs.zx));}\nmat3 RZ(float t){vec4 cs=vec4(CS(t),0,1);return mat3(vec3(cs.x,-cs.y,cs.z),cs.yxz,cs.zzw);}\nmat3 RZYX(float tz,float ty,float tx){vec2 Z=CS(tz),Y=CS(ty);Y.y=-Y.y;vec3 X=vec3(CS(tx),0);return mat3(Y.xxy*vec3(Z.x,-Z.y,-1),-X.yyy*Y.yyx*vec3(Z.x,-Z.y,1)+X.xxz*Z.yxx,X.xxx*Y.yyx*vec3(Z.x,-Z.y,1)+X.yyz*Z.yxx);}\nmat3 cLAM(vec3 o,vec3 t){vec3 ww=N(t-o),uu=N(cross(ww,vec3(0,1,0))),vv=N(cross(uu,ww));return mat3(uu,vv,ww);}\nfloat SRBGtoL(float v){v=C(v,0.,1.);return mix(pow(((v+.055)/1.055),2.4),v/12.92,step(v,.04045));}\nvec3 dUv(vec2 uv, float fov){return N(vec3((uv*2.-1.)*fov,1.));}\nvec3 toLC(vec3 p){return ((p+ST-RC)*uSR+RC)*vec3(1,.97,1);}\nvec2 opU(vec2 d1,vec2 d2){return d1.x<d2.x?d1:d2;}\nvec2 opS(vec2 d1,vec2 d2){return -d1.x>=d2.x?vec2(-d1.x,d1.y):d2;}\nvec2 opSU(vec2 d1,vec2 d2,float k){float h=max(k-abs(d1.x-d2.x),0.)/k,m=h*h*h*.5,s=m*k*(1./3.);return (d1.x<d2.x)?vec2(d1.x-s,(m<.5?d1.y:d2.y)):vec2(d2.x-s,(1.-m<.5?d1.y:d2.y));}\nvec2 opSS(vec2 d1,vec2 d2,float k){float h=C(.5-.5*(d2.x+d1.x)/k,0.,1.);return vec2(mix(d2.x,-d1.x,h)+k*h*(1.-h),(h>.5?d1.y:d2.y));}\nvec3 opB(vec3 p,float k){float c=cos(k*p.x),s=sin(k*p.x);mat2 m=mat2(c,-s,s,c);vec3 q=vec3(m*p.xy,p.z);return q;}\nvec3 opSmX(vec3 p){return vec3(abs(p.x),p.yz);}\nvec3 opSSmX(vec3 p, float s){return vec3(sqrt(p.x*p.x+4.*s*s),p.yz);}\nvec2 sdSp(vec3 p,float s,float m){return vec2(L(p)-s,m);}\nvec2 sdEl(vec3 p,vec3 r,float m){float k0=L(p/r),k1=L(p/(r*r));return vec2(k0*(k0-1.)/k1,m);}\nvec2 sdEy(vec3 p,float s,float m){vec2 q=vec2(L(p.xz),p.y);float t=L(q-vec2(ES-.002,0))-.009,r=max(-s*q.x*q.x+s*s*(s-2.*q.y),-s*q.y);r=(r<0.?L(q)-s:(q.x<s)?-q.y:L(q-vec2(s,0)))-.001;float k=.015,h=C(.5+.5*(r-t)/k,0.,1.);return vec2(mix(r,t,h)-k*h*(1.-h),m);}\nvec2 sdRb(vec3 p,vec3 b,float r,float m){return vec2(L(max(abs(p)-b,0.))-r,m);}\nvec2 sdTo(vec3 p,vec2 t,float m){return vec2(L(vec2(L(p.xz)-t.x,p.y))-t.y,m);}\nvec2 sdCa(vec3 p,vec3 a,vec3 b,float r,float m){vec3 pa=p-a,ba=b-a;float h=C(dot(pa,ba)/dot(ba,ba),0.,1.);return vec2(L(pa-ba*h)-r,m);}\nvec2 sdCy(vec3 p,float h,float r,float m){vec2 d=abs(vec2(L(p.xz),p.y))-vec2(r,h);return vec2(C(d.x,d.y,0.)+L(max(d,0.)),m);}\nvec2 sdKIFS(vec2 res,vec3 p,vec4 m,vec3 s,float ab){mat2 ma=m2(m.x*m.w),mb=m2(m.y*m.w),mc=m2(m.z*m.w);float d=L(p);for(int i=0;i<10;i++){s.y=s.y*.66;p.xy=ma*p.xy;p.yz=mix(mb*p.yz,abs(mb*p.yz),ab*/*!F:ABS*/);p.zx=abs(mc*p.zx)-s.y;}return opSU(res,vec2(min(d,L(p)-s.x*s.y),M1),s.z);}\n\nvec2 map(vec3 p){\n p=toLC(p);\n vec2 res=sdRb(opB((p+vec3(0,.05,-.435))*RZYX(0.,0.,.266), 2.3),vec3(.145,.065,.13),.065,M1);\n res=opSU(res,opSU(sdRb(opB((opSSmX(p,.009)+vec3(-.095,.426,-.37))*RZYX(-.109,-.16,-.13),.7),vec3(.1195,.054,.004),.052,M1),sdCa(p+vec3(0,.46,-.51),vec3(0,-.01,0),vec3(0,-.045,.01),.065,M1),.1025),.41);\n res=opSU(opSU(res,sdEl(p+vec3(0.,.03,-.28),vec3(.29,.32,.31),M1),.06),sdEl(p+vec3(0.,.062,-.16),vec3(.29,.35,.3245),M1),.055);\n res=opSU(res,sdEl(p+vec3(0,.43,-.24),vec3(.12,.1,.24),M1),.11);\n if(L(opSmX(p)+vec3(-.28,.205,-.15))<.128){\n res=opSS(opSU(sdEl((opSmX(p)+vec3(-.305,.19,-.15))*RZYX(.04,.035,-.05),vec3(.035,.07,.06),M1),sdEl((opSmX(p)+vec3(-.265,.24,-.155))*RZYX(.055,.035,.19),vec3(.04,.04,.03),M1),.04),opSU(res,opSU(sdEl((opSmX(p)+vec3(-.3,.17,-.14))*RZYX(.04,.035,-.025),vec3(.024,.075,.064),M1),sdEl((opSmX(p)+vec3(-.26,.26,-.14))*RZYX(.055,.045,.09),vec3(.02,.075,.04),M1),.09),.027),.019);\n res=opSU(res,sdTo((opSmX(p)+vec3(-.25,.21,-.17))*RZYX(.27,-.05,-.104),vec2(.079,.009), M1),.033);\n res=opSU(res,sdEl((opSmX(p)+vec3(-.265,.27,-.14))*RZYX(.05,.055,.1),vec3(.015,.038,.025),M1),.015);\n res=opSU(res,opSU(sdTo((opSmX(p)+vec3(-.27,.15,-.16))*RZYX(.22,.12,.1),vec2(.04,.006),M1),opSU(sdTo((opSmX(p)+vec3(-.24,.22,-.17))*RZYX(.36,.0,.02),vec2(.04,.01),M1),sdEl((opSmX(p)+vec3(-.267,.23,-.19))*RZYX(.08,.13,.04),vec3(.005,.015,.01),M1),.02),.02),.029);\n }\n vec2 mv=sdEl(p+vec3(0,.39,-.5),vec3(.11,.13,.065),M1);\n mv.x+=.05*(cos(200.*mv.x-2.)*.5+.5)*pow(p.y+.7,2.);\n res=opSU(res,mv,.1);\n res=opSU(res,sdRb((opSSmX(p,.005)+vec3(-.04-cos((1./(1.+exp((abs(p.y+.2)-.2)*20.)))*p.y*50.-2.2)*.008*step(p.y,.2),.2,-.52))*RZYX(-.04,.08,.081),vec3(.0035,.13,.06),.03,M1),.04);\n res=opSU(res,opSU(sdSp(p+vec3(0.,.295,-.63),.028,M1),sdEl(opSSmX(p,.005)+vec3(-.047,.29,-.61),vec3(.018,.019,.02),M1),.056),.051);\n res=opSS(sdEl((opSmX(p)+vec3(-.036,.32,-.63))*RZYX(0.,-.12,0.),vec3(.0222,.0207,.0082),M1),res,.015);\n res=opSS(sdEl((opSSmX(p,.005)+vec3(-.13,.145,-.53))*RZYX(-.01,.01,.0),vec3(.044,.022,.033),M1),res,.14);\n res=opSU(res,sdTo((opSSmX(p,.005)+vec3(-.07,.08,-.44))*RZYX(.01,0.1,.03),vec2(.1,.042),M1),.05);\n if(L(p+vec3(0,.403,-.583))<.13){\n vec2\n ls=sdEl((opSSmX(p,.005)+vec3(-.046,.403,-.583))*RZYX(.05,-.12,-.14),vec3(.05,.023,.013),M1),\n ul=opSU(ls,opSU(sdRb(opB((p+vec3(-.045,.364,-.555)),-1.)*RZYX(.03,-.11,.08),vec3(.05,.04,.02),.008,M1),sdRb(opB((vec3(-p.x,p.yz)+vec3(-.045,.364,-.555)),-1.)*RZYX(.03,-.11,.08),vec3(.05,.04,.02),.008,M1),.0767),.035),\n ll=sdTo(opB(opSSmX(p,.002)+vec3(-.01,.421,-.542),0.)*RZYX(0.,0.,-.07),vec2(.055,.022),M1); \n res=opSU(res,opSU(ul,ll,.003),.026);\n }\n float eb=0.;\n vec3 p2=vec3(abs(p.x),p.yz)-vec3(.12,-.081,.59);\n if(L(p2-vec3(.035,0.,0.))<.12){\n p2.xy=m2(-33.*p2.x*p2.x+1.82)*p2.xy;\n p2.x+=.037;\n p2.xz=m2(-5.*p2.x+1.57)*p2.xz;\n vec2 de=sdEl(p2,vec3(.035,.02,.015),M1);\n de=opSU(de,sdEl(p2+vec3(-.075,0,0),vec3(.08,.01,.01),M1),.04);\n eb=-110.*(de.x-.007)+.5*noise2(((sin(p2.x*28.+1.1)*.5+.5)*.1+vec2(p2.x*.35,p2.y*3.5))*150.);\n eb=smoothstep(.0,4.,eb);\n }\n res.x-=.01*texture2D(uPB,(p+vec3(.5)-RC).xy).y*(.5+.5*(1.-smoothstep(.5,1.,p.y)))*(dot(vec3(0,-0.1,.6),p))*(1.-C(eb,0.,1.));\n res.x-=.01*texture2D(uPB,(p+vec3(.5)-RC).yz).z*(.5+.5*(1.-smoothstep(.5,1.,p.x)))*(dot(vec3(2,-.2,0),p))*(1.-C(eb,0.,1.));\n res.x-=.019*eb;\n vec3 ep=vec3(-.114,.142,-.47);\n if(L(opSmX(p)+ep)<.11){\n vec3 epr=p+ep*vec3(-1,1,1),epl=p+ep,tgt=toLC(vec3(0))*vec3(.5,-.8,1.);\n bool isc=/*!I:ET*/==0;\n if(abs(dot(N(tgt),vec3(1,0,0)))>.5||abs(dot(N(tgt),N(vec3(0,1,-0.0625))))>.58)isc=true;\n vec2 ebl=sdSp(opSmX(p)+ep,ES,M2);\n ebl=opS(opU(sdSp(epr+vec3(-.08,.03,-1.)*cLAM(epr,tgt)*.176,ES*1.93,M3),sdSp(epl+vec3(.08,.03,-1.)*cLAM(epl,tgt)*.176,ES*1.93,M3)),ebl);\n float a=C(.5+dot(N(tgt-epr),vec3(0,1,0)),0.,1.);\n vec3 eyl=vec3(mix(.1,.02,a),mix(.445,.39,a),-.02);\n if(/*!I:ET*/>0)eyl=vec3(mix(.095,.0,a),mix(.455,.39,a),mix(-.03,-.02,a));\n if(isc)eyl=vec3(-.048,.422,-.009);\n vec2 s=vec2(abs(p.x),p.y)-vec2(.13,-.155);\n float l=L(s*vec2(.25,1.)),l2=L(s*vec2(.5,1.)),xx=.008*(sin(l*l*1.5e4)*pow(1.-l2,140.)*.5);\n vec2 lel=sdEy((opSmX(p)+ep)*RX(eyl.y)*RY(-.15)*RZ(-.011),ES+.0015,M1);\n lel.x+=.002*cos(180.*lel.x+.3);\n res=opSU(res,opU(ebl,opU(sdEy((opSmX(p)+ep)*RX(eyl.x)*RY(-.15)*RZ(eyl.z),ES+.0015,M1)-vec2(xx,0.),lel)),.039);\n res=opSU(res,sdCy(opB((opSmX(p)+ep+vec3(-.005,.005,-.02))*RX(.01)*RX(eyl.x)*RY(-.15)*RZ(eyl.z),-1.),.0002,.055,M1),.009);\n }\n res=opSU(res,sdEl((opSSmX(p,.005)+vec3(-.125,.3,-.47))*RZYX(0.,-.17,-.02),vec3(.1,.1,.05),M1),.045);\n vec4 m=/*!V4:OGI*/;vec3 s=/*!V3:OGS*/,r=/*!V3:OGR*/;\n res=sdKIFS(res,(p+/*!V3:OGO*/)*RZYX(r.z,r.y,r.x),m,s,1.);\n vec4 m2=vec4(-.03,.0055,.0024,2500);vec3 s2=vec3(1,.36,.05);\n res=sdKIFS(res,p+vec3(0,.9,0),m2,s2,0.);\n return res*vec2(.99,1);\n}\n\nfloat shadow(vec3 ro, vec3 rd){float t=TMIN;int s=0;while(s<40){float h=map(ro+t*rd).x;t+=h;if(h<TMIN*t||t>TMAX){break;}s++;}return step(TMAX,t);}\nvec3 raymarch(vec3 ro, vec3 rd){float t=TMIN,near=TMAX,m=0.;for(int s=0;s<70;s++){vec2 d=map(ro+t*rd);near=min(d.x,near);m=d.y;t+=d.x;if(abs(d.x)<TMIN*t){break;}if(t>TMAX||s==70-1)return vec3(0,0,near);}return vec3(C(t,TMIN,TMAX),m,near);}\n\nconst float n=.0005;\nvec3 cNor(vec3 p){vec2 e=vec2(n,-n);return N(e.xyy*map(p+e.xyy).x+e.yyx*map(p+e.yyx).x+e.yxy*map(p+e.yxy).x+e.xxx*map(p+e.xxx).x);}\nvec3 uVec(void){float phi=rnd()*TAU,x=rnd()*2.-1.;return pow(rnd(),.33)*vec3(sqrt(1.-x*x)*vec2(sin(phi),cos(phi)),x);}\nvec3 cosDir(vec3 n,float strength){float u=(rnd()*2.-1.)*strength,v=rnd()*TAU;return N(n+vec3(sqrt(1.-u*u)*vec2(cos(v),sin(v)),u));}\nfloat getBg(vec3 d,vec3 lp){float dl=dot(d,lp);return (dl<0.?/*!F:LA*/:mix(1.,.2,1./(1.+exp((-(1.-dl)+/*!F:LS*/)*42.))));}\n\nvec3 cCol(vec3 ro, vec3 rd, vec3 lp){\n vec3 campos=ro,res;\n float ret=0.,thr=1.,rbg=0.,shar=0.;\n for (int i=0;i<3;i++){\n res=raymarch(ro,rd);\n if(res.x<TMIN){rbg=step(float(i),0.);ret+=SRBGtoL(getBg(rd,lp))*thr;break;}\n ro+=res.x*rd;vec3 nor=cNor(ro);float sha=shadow(ro+nor*3e-4,lp+cosDir(lp,1.)*.25);\n if(i==0)shar=sha;\n float ma=0.,me=0.,mr=.0,msp=.0,ms=0.;\n if(res.y<M1+.5){ma=.951;me=/*!F:EM*/;mr=.77;msp=.31;ms=.951;}else if(res.y<M2+.5){ma=.951;me=.1;mr=.77;msp=.31;ms=.951;}else if(res.y<M3+.5){if(/*!I:ET*/==1){ma=.951;me=.1;mr=.77;msp=.31;ms=.951;}else{ma=.73;me=0.;mr=1.;msp=.5;ms=0.;}}\n float doS=step(rnd(),msp),rp=max(doS*msp+(1.-doS)*(1.-msp),1e-3);vec3 drd=N(nor+uVec()),srd=reflect(rd,nor);srd=N(mix(srd,drd,mr*mr));rd=mix(drd,srd,doS);ret+=me*thr;thr=thr*mix(ma,ms,doS)/rp*(sha*.5+.5);float p=thr;\n if(rnd()>p)break;\n thr*=1./p;ro+=nor*(1e-3/abs(dot(rd,nor)));\n }\n if(rbg==1.){\n //!S:O:0\n return vec3(0);\n //!S:O:1\n return vec3(0,1.-pow(C(res.z/.014,0.,1.),6.),0)*step(0.,res.x);\n //!S:O:2\n return vec3(0,1.-pow(C(res.z/.03,0.,1.),.9),0)*step(0.,res.x);\n //!S:O:END\n } else {\n return vec3(ret,step(0.,res.y),0);\n }\n}\n\nvec3 powRand(vec3 axis,float fpow){vec3 r=uVec();float d=dot(r,axis);r=N(r-d*axis);r*=sqrt(1.-pow(d*.5+.5,2./(fpow+1.)));return r+axis*sqrt(1.-dot(r,r));}\nvec2 rPIP(float s){vec2 r=rnd2();float a1=(F(rnd()*s)/s)*TAU;vec2 s1=CS(a1),s2=CS(a1+TAU/s);return r.x+r.y>1.?s1*(1.-r.x)+s2*(1.-r.y):s1*r.x+s2*r.y;}\n\nvec3 calculateColorPixel(in vec2 uv){\n vec3 ro=vec3(0),ww=N(uCT-ro),uu=N(cross(ww,vec3(0,1,0))),vv=N(cross(uu,ww)),rd=dUv(uv+vec2(rnd()-.5,rnd()-.5)*BLUR/uR.zz,uCF)*RZ(uCA)*mat3(uu,vv,ww),fp=ro+rd*DOF.x;\n vec2 p=rPIP(6.);ro+=(uu*p.x+vv*p.y)*DOF.y;rd=N(fp-ro);float r=rnd();\n if(r<.15)rd=powRand(rd,2e6);else if(r<.25)rd=powRand(rd,5e5);\n return cCol(ro,rd,/*!V3:LP*/);\n}\n\nvoid main(){\n srnd();\n vec3 prev=texture2D(uPF,vU).rgb;\n vec2 uv=vU;\n uv.y=(uv.y-.5)*(uR.y/uR.x)+.5;\n vec3 col=C(min(calculateColorPixel(uv),1.),0.,1.);\n gl_FragColor=C(vec4(prev+vec3(col.r/FRAMES,col.g,0),1),0.,1.);\n}";var o,l,s;v=E(v,"O",n[13]),v=R(v,"ABS",n[12][4]?1:0),o=v,l="OGI",s=(new THREE.Vector4).fromArray(n[12][0]),v=g(o,"V4",l,`vec4(${s.x},${s.y},${s.z},${s.w})`),v=T(v,"OGS",(new THREE.Vector3).fromArray(n[12][1])),v=T(v,"OGO",(new THREE.Vector3).fromArray(n[12][2])),v=T(v,"OGR",(new THREE.Vector3).fromArray(n[12][3])),v=T(v,"LP",n[5][3]),v=T(v,"ST",n[5][4]),v=R(v,"LA",n[3][7]),v=R(v,"LS",n[3][8]),v=R(v,"EM",n[3][9]),v=((e,n,t)=>g(e,"I",n,`${a(t)}`))(v,"ET",n[14]);const p=new THREE.PlaneGeometry(t,r),i=new THREE.ShaderMaterial({uniforms:{uT:{value:new THREE.Vector4(0,18,0,n[16])},uR:{value:new THREE.Vector3(t,r,1800)},uPF:{value:null},uPB:{value:null},uCT:{value:n[5][0]},uCF:{value:n[5][1]},uCA:{value:n[5][2]},uSR:{value:n[5][5]}},vertexShader:"varying vec2 vU;\nvoid main(){vU=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.);}",fragmentShader:v,transparent:!1,depthTest:!1,depthWrite:!1});return[new THREE.Mesh(p,i),c]}(Z,le,j,K),D=function(e,n){const t=new THREE.ShaderMaterial({vertexShader:"varying vec3 vC;\nvoid main(){vC=instanceColor;gl_Position=projectionMatrix*modelViewMatrix*instanceMatrix*vec4(position,1.);}",fragmentShader:"varying vec3 vC;\nvoid main(){gl_FragColor=vec4(vC,1.);}",transparent:!1,depthTest:!0,depthWrite:!0}),r=((e,n=4)=>{let t=[],r=[];const c=a(n);t.push(0,0,-1);for(let n=0;n<c;n++){const v=n/c*u*2;t.push(e*d(v+u/4),e*i(v+u/4),-1),r.push(0,n+1,(n+1)%c+1)}let v=new THREE.BufferGeometry;return v.setAttribute("position",new THREE.BufferAttribute(new Float32Array(t),3)),v.setIndex(new THREE.BufferAttribute(new Uint16Array(r),1)),v})(m*n);return new THREE.InstancedMesh(r,t,e[3][0])}(le,Q)},xe=()=>{Z.setAnimationLoop(we),te=0,re=ce=ve=oe=ae=!1,O=V=I=$=null,O&&(O.clear(),O.geometry.dispose(),O.material&&O.material.dispose()),D&&(D.clear(),D.geometry.dispose(),D.material&&D.material.dispose()),G&&(G.clear(),G.geometry.dispose(),G.material&&G.material.dispose()),Z.dispose(),fe()},he=()=>{var e;!1===ve?($=((e,n=4,r=4,c=null)=>{let v=0,o=0,l=0,s=0,p=0,i=0,d=[];return{read:a=>{if(0===l&&(v=a.width,o=a.height,s=t(a.height/n),p=s*r*v,i=s-(s*n-a.height)),l<n){let t=new Float32Array(p);const r=l===n-1?i:s;return e.readRenderTargetPixels(a,0,l*s,v,r,t),d.push(c?t.map(((e,n)=>c(e,n))):t),l++,l<n}return!1},getValues:(e,n)=>{let t=a(S(.5*n[0])*(v-1));const c=(a(S(.5*n[1])*(o-1))*v+t)*r,l=a(c/p),s=c%p;e[0]=d[l][s],e[1]=d[l][s+1],e[2]=d[l][s+2],e[3]=d[l][s+3]},reset:()=>{d=[],l=0}}})(Z,4,4),Z.setRenderTarget(V[2]),Z.render(G,N),ve=!0):!1===ce?te<18&&(e=18,0===te&&(I=((e,n=4,r=4,c=null)=>{let v=0,o=0,l=0,s=0,p=0,i=0,d=[];return{read:a=>{if(0===l&&(v=a.width,o=a.height,s=t(a.height/n),p=s*r*v,i=s-(s*n-a.height)),l<n){let t=new Uint8Array(p);const r=l===n-1?i:s;return e.readRenderTargetPixels(a,0,l*s,v,r,t),d.push(c?t.map(((e,n)=>c(e,n))):t),l++,l<n}return!1},getValues:(e,n)=>{let t=a(S(.5*n[0])*(v-1));const c=(a(S(.5*n[1])*(o-1))*v+t)*r,l=a(c/p),s=c%p;e[0]=d[l][s]/255,e[1]=d[l][s+1]/255,e[2]=d[l][s+2]/255,e[3]=d[l][s+3]/255},reset:()=>{d=[],l=0}}})(Z,4,4)),te<e&&(O.material.uniforms.uPF.value=V[0].texture,O.material.uniforms.uPF.needsUpdate=!0,O.material.uniforms.uPB.value=V[2].texture,O.material.uniforms.uPB.needsUpdate=!0,O.material.uniforms.uT.value.x=te,O.material.uniforms.uT.needsUpdate=!0,Z.setRenderTarget(V[1]),Z.render(O,N),[V[0],V[1]]=[V[1],V[0]],te===e-1&&(q=V[0])),te++,te>=18&&(ce=!0,(e=>{const n=new THREE.Matrix4,t=new THREE.Color;n.makeScale(f*x*2,2160,1),n.setPosition(0,0,-98),D.setMatrixAt(0,n),t.setRGB(e.r,e.g,e.b),D.setColorAt(0,t),D.count=1,D.instanceMatrix.needsUpdate=!0,D.instanceColor.needsUpdate=!0,Z.setRenderTarget(null),Z.render(D,k)})(le[8]),te=0)):ce&&ve&&!1===oe?I.read(q)&$.read(V[2])||(te<le[3][2]?(Se(),te++):oe=!0):re&&ae?ge():re||(re=!0,hl.token.capturePreview())},ye=(e,n,t,r,c,l=null)=>{var s=Math.sign;const[p,i,d,u,m,x,h,S,w,E,g]=t,R=new THREE.Matrix4,T=new THREE.Color,b=[0,0],M=[0,0],F=[0,0],U=[0,0,0,0],C=[0,0,0,0],X=[0,0,0,0];let z=0,P=le[6];if(n){let t=a(p/i);for(let e=0;e<t;e++){le[2](b,te,d,le[10]),M[0]=b[0],M[1]=b[1],n.getValues(U,b);let p=1;if(l&&null!==se){let e=0;p=0;let n=se[0];for(let t=0;t<n*n;t++)if(t!=(n*n-1)/2){let r=(n-1)/2;F[0]=b[0]+(t%n-r)/(2*_)*se[2],F[1]=b[1]+(a(t/n)-r)/(2*J)*se[2],l.getValues(C,F),e+=C[0]*ie[t],p+=((C[1]>=.99?1:0)*(1-se[3])+se[3])*ie[t]}p=v((1-y(e,0,1))*y(p,0,1),se[4])}if(0<U[0]){let d=a(v(U[0],u)*i)*p;d=o(d,i);for(let o=0;o<d;o++){n.getValues(C,M),P&&hl.random()<(P[1]?o/d*(o/d):1)*(1-P[0])&&(M[0]+=s(hl.random()-.5)*v(o/d,P[2])*P[3]);let a=!1;if(l&&(l.getValues(X,b),.99<X[1]&&(a=!0)),!a){if(M[1]+=-m/f/(C[0]*h+(1-h)),0>M[0]||0>M[1]||1<=M[0]||1.05<=M[1])break;const n=g(U[0],x),v=c(e/t,o/d,U[0],C[0],r);R.makeScale(n,n,1),R.setPosition(M[0]*_,M[1]*J,-2),D.setMatrixAt(z,R),T.setRGB(v.r,v.g,v.b),D.setColorAt(z,T),z++}}}}0<z&&(D.count=z,D.instanceMatrix.needsUpdate=!0,D.instanceColor.needsUpdate=!0,Z.setRenderTarget(null),Z.render(D,e))}},Se=function(){return $&&ye(k,$,le[[4]],le[0],le[1],I),void(I&&ye(k,I,le[3],le[0],le[1]))},we=()=>{he(),requestAnimationFrame(we)},Ee=()=>{let[e,n]=w();n===J||(Z.setAnimationLoop(we),xe())},ge=()=>{Re(),ae=!1},Re=()=>{const e=Z.domElement.toDataURL("image/png");if(e){const n=de.atob(e.split(",")[1]),t=new ArrayBuffer(n.length),r=new Uint8Array(t);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);const c=new Blob([t],{type:"image/png"}),v=ue.createElement("a");v.href=URL.createObjectURL(c),v.download=Te(".png"),v.click()}},Te=e=>`${(new Date).toLocaleDateString()} ${(new Date).toLocaleTimeString()}${e}`.replace(/\//g,"-").replace(/:/g,".");let be;de.addEventListener("resize",(()=>{de.clearTimeout(be),be=de.setTimeout(Ee,500)}),!1),de.addEventListener("keydown",(e=>{"KeyS"===e.code&&(ae=!0)})),(()=>{W=ue.createElement("canvas");const n=W.getContext("webgl2",{antialias:!1,precision:"highp",stencil:!1,depth:!1,preserveDrawingBuffer:!0,alpha:!1,premultipliedAlpha:!1});Z=new THREE.WebGLRenderer({canvas:W,context:n}),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),n.getExtension("EXT_color_buffer_float"),Z.outputEncoding=THREE.LinearEncoding,Z.autoClear=!1,le=function(){const n=1e5*hl.random();let t=[[0,2,1,1],[1,4,2,0],[2,0,0,0],[2,0,1,0],[11,2,1,1],[3,1,0,0],[4,1,0,0],[5,1,2,1],[6,2,2,0],[7,2,0,0],[8,2,1,0],[9,3,0,0],[10,2,1,0],[12,5,0,1]],r=[[0,52,6,6,21,null,7,1,1,13e4],[11,23,23,0,11,1,2,0,0,299e3],[7,10,12,-1,26,1,1,0,1,840800],[1,6,7,3,19,0,2,0,0,223e3],[3,11,8,10,0,null,5,1,2,74e4],[3,19,24,11,18,2,4,2,2,1e5],[6,25,19,-10,3,1,0,0,0,714e3],[2,1,15,13,9,5,2,2,2,838e3],[2,15,14,4,20,5,5,1,2,487e3],[2,26,0,-14,14,4,6,0,2,398e3],[3,4,13,1,13,null,0,2,1,1e5],[3,0,9,-5,9,null,5,0,1,61e4],[7,3,21,-1,13,null,2,0,1,2e5],[2,18,7,12,11,2,0,0,2,722e3],[3,32,10,-14,1,3,0,0,0,556e3],[2,17,0,12,4,4,2,0,1,5e3],[6,20,19,-14,12,0,0,1,1,886500],[2,21,22,8,9,5,2,2,2,139400],[12,51,20,-3,7,null,1,1,1,425e3],[7,16,17,0,21,5,2,0,1,881e3],[10,54,1,-1,22,null,2,0,1,32e4],[9,50,18,14,0,4,6,0,1,657e3],[7,13,0,-14,17,3,0,0,1,456e3],[9,9,2,0,9,2,2,0,1,2e5],[2,27,17,14,3,0,5,0,2,220500],[12,29,16,14,4,1,4,1,0,114e3],[4,31,24,-14,9,null,2,1,1,2e3],[10,22,0,-14,8,5,5,0,1,729e3],[0,28,3,-14,13,null,0,0,0,712e3],[2,7,9,-14,15,6,5,0,1,3e4],[7,5,22,-3,9,null,7,1,1,5e5],[12,34,17,6,1,3,4,1,0,114e3],[7,14,19,12,17,5,0,0,1,255e3],[6,12,5,-14,4,null,1,2,1,237e3],[9,8,1,12,16,5,6,0,0,1e4],[0,33,4,-3,9,null,2,0,1,304e3],[12,44,6,-14,26,2,2,2,1,74e4],[12,30,16,14,23,5,0,0,1,147e3],[3,36,4,12,12,2,4,1,1,1e5],[6,35,7,-1,4,null,5,0,2,236e3],[8,53,22,-1,4,1,7,2,2,2e5],[7,47,4,2,4,null,7,1,2,53e4],[7,37,19,-9,10,1,1,0,1,9e4],[5,24,0,6,5,5,2,0,2,265e3],[12,10,0,-14,17,1,2,0,0,698e3],[10,39,3,-14,24,1,7,0,2,988e3],[9,38,16,-14,10,null,7,0,2,716e3],[7,40,7,-9,2,null,7,0,1,945e3],[12,43,12,3,18,0,7,0,2,861e3],[12,45,4,-6,7,3,5,0,0,614e3],[11,48,24,-12,1,null,3,1,1,394e3],[2,46,11,-9,18,null,3,1,2,118e3],[9,49,0,12,21,4,6,0,2,349500],[13,55,3,14,21,null,2,0,1,2e5],[6,41,19,-3,22,null,2,0,1,26e4],[6,42,20,-3,21,null,0,0,2,292e3],[10,26,16,-2,25,null,1,1,2,336e3]],c=r[p(hl.tx.tokenId-1,0)%r.length],v=c[2],o=A[t[c[0]][0]];o[10]=C[o[10]];let a=[];return o.forEach(((e,n)=>{"object"==typeof e?(a.push(e[1]),o[n]=e[0]):a.push(e)})),[(l=P[v][0],l.map(((e,n)=>l[l.length-1-n]))).map((e=>new THREE.Color(e))),L[t[c[0]][1]],X[c[7]],o,a,e(c[1]),z[c[5]],c[3],new THREE.Color(P[v][1]),B[t[c[0]][2]],.04,c[6],H[c[4]],t[c[0]][3],c[8],c[9],n];var l}(),ue.body.appendChild(Z.domElement),xe(),(()=>{if(se=le[9],null!==se){pe=se[0],ie=Array(pe*pe).fill(0);for(let e=0;e<pe*pe;e++)if(e!=(pe*pe-1)/2){let n=e%pe,t=a(e/pe),r=(pe-1)/2;ie[e]=me((n-r)/(2*_)*16,se[1])*me((t-r)/(2*J)*16,se[1])}}})(),we()})()}();