Input | |
---|---|
0 | witness #0#1utf8 ~����3��у��Ó��}$����T1*H� cordtext/html;charset=utf-8 M<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Plastica</title>
<script type="text/javascript">
let palettes=[["#f9f0de","#d0bba3","#392b24"],["#f9f0de","#e94d26","#726c5d","#392b24"],["#f9f0de","#c67333","#927154","#392b24"],["#d2452b","#385d32","#392b24","#fab511","#f9f0de"],["#f9f0de","#bc9a56","#b76f30","#d80f15","#1d1e1b"],["#f9f0de","#8e8780","#fab515","#d7312e","#2a71af","#ad7347","#1d1d1b"],["#f299a5","#084698","#1a86c8","#74afe0","#a0d6da","#f8f9f2"],["#29361b","#f39233","#f3e3d6","#M140f0c","#cc3314"],["#d3c3b6","#bab2a7","#bf9c74","#bf5b03","#993503"],["#dbd0c3","#f2a74b","#d88236","#724116","#a55f21"],["#fffeff","#a58c68","#2f2a26","#8c847a","#df3f36"],["#281740","#f29d35","#04504e","#f27405","#f24c3d"],["#ecf2f0","#d9946c","#260b01","#80875e","#d96459"],["#eae6e2","#d9865a","#4f616f","#f2bfac","#d96055"],["#254174","#e4c192","#d1ac58","#337da3","#d29854"],["#d1d2aa","#5c7346","#eeaf24","#242424","#d7481e"],["#1c2137","#284555","#de4639","#db6528","#f5ad0d"],["#f1f3ee","#bf925a","#464e41","#Ma62014","#bf1515"],["#e6e4cc","#bf8c60","#d03814","#97632b","#edbeaa"],["#8ecae6","#219ebc","#023047","#012232","#ffb703","#fb8500"],["#264653","#2a9d8f","#e9c46a","#242424","#f4a261","#e76f51"],["#A9E5E4","#01239C","#085DE8","#50B2A1","#96ffff"],["#F18B56","#2D2D9F","#B264BE","#3A40CC","#E0D9F5"]];
</script>
<script id="snippet-random-code" type="text/javascript">
let seed = window.location.href.split('/').find(t => t.includes('i0'));
if (seed == null) {
const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
seeMd = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
} else {
let pattern = "seed=";
for (let i = 0; i < seed.length - pattern.length; ++i) {
if (seed.substring(i, i + pattern.length) == pattern) {
seed = seed.substring(i + pattern.length);
break;
}
}
}
function cyrb128($) {
let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCoMdeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
}
function sfc32($, _, u, i) {
return function () {
u >>>= 0, i >>>= 0;
var l = ($ >>>= 0) + (_ >>>= 0) | 0;
return $ = _ ^ _ >>> 9, _ = u + (u << M3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
}
}
let mRnd = sfc32(...cyrb128(seed));
</script>
<style>
html {
background: black;
height: 100%;
}
body {
height: 100%;
margin: 0;
padding: 0px;
}
canvas {
padding: 0;
margin: auto;
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
</style>
</head>
<body>
<canvas id="canvas"></canvas>
<script type="text/javascript">
function Palette(rand){
let pal_ind = Math.floor(palettes.length*rand);
returMn pal_ind;
}
function Angle(rand){
let angle = 0.5 + Math.floor(6*rand)/10.0;
return angle;
}
function Scale(rand){
let scale = 2.0 + Math.floor(11*rand)/10.0;
return scale;
}
function FOV(rand){
let fov = 3 + Math.floor(4*rand);
return fov;
}
function Surf(rand){
let surf = Math.floor(8*rand);
return surf;
}
window.$generativeTraits={
"Palette": Palette(mRnd()),
"Angle": Angle(mRnd()),
"Scale": Scale(mRnd()),
"FOV": FOV(mRnd()),
"Surface": Surf(mRnd()),
}
console.log(window.$generativeTraits)
let gl,program,texturMePal,canvas_size_w=1080,canvas_size_h=1080;const numColors=4096;let timeLocation,textureSizeLocation,angle,scale,fov,surf,rot;function compile(e,t,o){var a=e.createShader(e.VERTEX_SHADER),t=(e.shaderSource(a,t),e.compileShader(a),e.createShader(e.FRAGMENT_SHADER)),o=(e.shaderSource(t,o),e.compileShader(t),e.createProgram());return e.attachShader(o,a),e.attachShader(o,t),e.linkProgram(o),e.useProgram(o),o}function init(){console.log(seed);var e=window.$generativeTraits.Palette,e=(angle=window.$generativeTraits.AngleM,scale=window.$generativeTraits.Scale,fov=window.$generativeTraits.FOV,surf=window.$generativeTraits.Surface,rot=[3,4].includes(surf)?0:1,gC(palettes[e])),t=((gl=canvas.getContext("webgl2",{antialias:!0,alpha:!1})).canvas.width=canvas_size_w,gl.canvas.height=canvas_size_h,program=compile(gl,`#version 300 es
in vec4 a_position;
void main(){
gl_Position=a_position;
}`,`#version 300 es
#define PI 3.1415926538
precision mediump float;
uniform sampler2D u_samplerPal;
uniform vec2 u_resolution;
uniform float u_time;
unifMorm float u_randSeed;
uniform float u_angle;
uniform float u_scale;
uniform float u_fov;
uniform int u_surf;
uniform bool u_rot;
out vec4 outputColor;
uint hh(uint x){x+=(x<<10u);x^=(x>> 6u);x+=(x<<3u);x^=(x>>11u);x+=(x<<15u);return x;}
uint hh(uvec2 v) {return hh(v.x^hh(v.y));}
float fc(uint m){
const uint iM=0x007FFFFFu;
const uint iO=0x3F800000u;
m&=iM;
m|=iO;
float f=uintBitsToFloat(m);
return f-1.0;
}
float rnd(vec2 v){return fc(hh(floatBitsToUint(v)));}
float ns(vec2 x){
x+=u_randSeed;
vec2 i=floor(x);
vec2 fM=fract(x);
float a=rnd(i);
float b=rnd(i+vec2(1.0,0.0));
float c=rnd(i+vec2(0.0,1.0));
float d=rnd(i+vec2(1.0,1.0));
vec2 u=f*f*(3.0-2.0*f);
return mix(a,b,u.x)+(c-a)*u.y*(1.0-u.x)+(d-b)*u.x*u.y;
}
float fbm(vec2 st){
return 0.5*ns(st)+0.25*ns(2.0*st);
}
vec2 wrp(vec2 p){
float a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
return p;
}
floatM g(vec2 v){
float g1;
if(u_surf==0){
g1=(sin(4.0*u_time+v.x*v.y*8.0+16.0*(sin(v.x*v.x)+sin(v.y*v.y)))+1.0)/2.0;
}else if(u_surf==1){
g1=(sin(4.0*u_time+log(0.1+pow((sin(4.0*u_time+v.x*8.0)+sin(v.y*8.0)),2.0)))+1.0)/2.0;
}else if(u_surf==2){
g1=(cos(4.0*u_time+8.0*v.x*sin(sin(2.0*u_time+sqrt(16.0*v.x*v.x+16.0*v.y*v.y))))+1.0)/2.0;
}else if(u_surf==3){
g1=(sin(4.0*u_time+4.0*log(1.5+v.x*v.x*8.0+cos(8.0*u_time+(v.y*8.0))))+1.0)/2.0;
}else if(u_surf==4){
g1=(cos(4.0*u_time+((8.0*v.x-cos(8.0*v.x)))-cos(8.0*u_time+8.0*v.My))+1.0)/2.0;
}else if(u_surf==5){
g1=(cos(4.0*u_time+(cos(4.0*u_time+4.0*v.y)-8.0*v.x*v.y))+1.0)/2.0;
}else if(u_surf==6){
g1=(cos(4.0*u_time+(cos(4.0*u_time+12.0*v.y)-4.0*(v.x*v.x+v.y*v.y)))+1.0)/2.0;
}else if(u_surf==7){
g1=(cos(2.0*u_time+2.0*v.x+(4.0*sin(2.0*u_time+2.0*v.x)*(2.0*v.y)))+1.0)/2.0;
}
const float pct=0.6;
const float dp=0.2;
float g2=(1.0-smoothstep(0.0, 2.0, v.y))*(smoothstep(pct-dp, pct, g1))-smoothstep(pct,pct+dp,g1);
return -g2*g1+g2+g1;
}
vec3 trn(vec3 p,float angle){
mat2 m1=mat2(cos(angle),M-sin(angle),sin(angle),cos(angle));
p.yz *= m1;
if (u_rot){
mat2 m2=mat2(cos(0.5*u_time),-sin(0.5*u_time),sin(0.5*u_time),cos(0.5*u_time));
p.xy*=m2;
}
return p;
}
const float sUB=20.;
const float f=sin(atan(1.,sUB));
float sde(vec3 p){
return (p.z-g(p.xy/10.0))*f;
}
bool rayM(in vec3 ro,in vec3 rd,out vec3 p){
p=ro+rd*0.01;
while(true){
float d = sde(p);
if(d < 0.001){return true;}
p+=rd*d;
if(length(p-ro)>50.){return false;}
}
return true;
}
const vec2 eps=vec2(1e-3,0);
vec3 light(vec3 l,vec3 p){
float index = g(Mp.xy/10.0) * 255.0;
vec4 color=texture(u_samplerPal,vec2((index+0.5)/256.0,0.5));
float d=sde(p);
vec3 norm=normalize(vec3(sde(p+eps.xyy)-d,sde(p+eps.yxy)-d,sde(p+eps.yyx)-d));
vec3 ld=normalize(l-p);
float s=max(0.,dot(ld,norm));
return vec3(color.rgb*s*s);
}
const vec3 l=vec3(0,5,12);
const vec3 ro=vec3(0,0,15);
void main(){
vec2 st=gl_FragCoord.xy/u_resolution-u_resolution/u_resolution.x/2.0;
vec2 uv=wrp(st*u_scale);
vec3 c=vec3(10.0*uv,u_fov);
vec3 ro_=ro;
c=trn(c,u_angle);
ro_=trn(ro_,u_angle);
vec3 p;
bool reMt=rayM(ro_,normalize(c-ro_),p);
vec3 col=light(l,p);
float d=length(p-ro_);
col-=vec3(smoothstep(0.,200.,d));
col=min(vec3(1),col);
if (ret == false){
float index=g(p.xy/10.0)*255.0;
vec4 outcol=texture(u_samplerPal,vec2((index+0.5)/256.0,0.5));
col=col*1.25+0.125;
col=0.8*col+(u_rot?vec3(0):0.2*outcol.rgb);
}
outputColor=vec4(col*1.25,1.0);
}`),gl.createBuffer()),t=(gl.bindBuffer(gl.ARRAY_BUFFER,t),gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),gl.STATIC_DRAW),gl.getAttribLocation(program,"aM_position")),t=(gl.enableVertexAttribArray(t),gl.vertexAttribPointer(t,2,gl.FLOAT,!1,0,0),timeLocation=gl.getUniformLocation(program,"u_time"),gl.getUniformLocation(program,"u_samplerPal")),o=gl.getUniformLocation(program,"u_randSeed"),a=(textureSizeLocation=gl.getUniformLocation(program,"u_resolution"),gl.getUniformLocation(program,"u_angle")),n=gl.getUniformLocation(program,"u_scale"),r=gl.getUniformLocation(program,"u_fov"),i=gl.getUniformLocation(program,"u_surf"),l=gl.getUniformLocation(program,"u_rot");gl.uniMform1f(timeLocation,0),gl.uniform1f(o,512*mRnd()),gl.uniform1f(a,angle),gl.uniform1f(n,scale),gl.uniform1f(r,fov),gl.uniform1i(i,surf),gl.uniform1i(l,rot),texturePal=gl.createTexture(),gl.bindTexture(gl.TEXTURE_2D,texturePal),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST),gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,numColors,1,0,gl.RGBA,gl.UNSIGNED_BYTE,e),gl.uniform1i(t,0),gl.activeTexture(gl.TEXTURE0),gl.bindTexture(gl.TEXTURE_2D,textureMPal),gl.clearColor(0,0,0,1),window.addEventListener("keydown",onDocumentKeyDown,!1),window.addEventListener("resize",onWindowResize,!1),onWindowResize()}function renderLoop(e){e*=.001,gl.uniform1f(timeLocation,.1*e),gl.uniform2f(textureSizeLocation,canvas_size_w,canvas_size_h),gl.viewport(0,0,canvas_size_w,canvas_size_h),gl.clear(gl.COLOR_BUFFER_BIT),gl.drawArrays(gl.TRIANGLE_STRIP,0,4),requestAnimationFrame(renderLoop)}function onWindowResize(){window.innerWidth>=window.innerHeight?(canvas.style.width="",canvas.stMyle.height="100%"):(canvas.style.width="100%",canvas.style.height="")}function onDocumentKeyDown(e){e=e.which;83===e?(gl.canvas.width=canvas_size_w,gl.canvas.height=canvas_size_h,gl.uniform2f(textureSizeLocation,gl.canvas.width,gl.canvas.height),gl.viewport(0,0,gl.canvas.width,gl.canvas.height),gl.clear(gl.COLOR_BUFFER_BIT),gl.drawArrays(gl.TRIANGLE_STRIP,0,4),imgData=gl.canvas.toDataURL("image/png"),saveFile(imgData.replace("image/png","image/octet-stream"),"gl-"+seed+".png"),onWindowResize()):49===e?(gl.canvas.wiMdth=canvas_size_w=1080,gl.canvas.height=canvas_size_h=1080):50===e&&(gl.canvas.width=canvas_size_w=2160,gl.canvas.height=canvas_size_h=2160)}init(),requestAnimationFrame(renderLoop);let saveFile=function(e,t){var o=document.createElement("a");"string"==typeof o.download?(document.body.appendChild(o),o.download=t,o.href=e,o.click(),document.body.removeChild(o)):location.replace(uri)};function gC(e){var t=numColors/(e.length-1),o=e.map(e=>{return[parseInt(e.substring(1,3),16),parseInt(e.substring(3,5),16),parseInt(e.M5substring(5,7),16)]}),a=new Uint8Array(4*numColors);for(let e=0;e<numColors;e++){var n=Math.floor(e/t),r=o[n],i=o[n+1],n=(e-n*t)/t,l=r[0]+n*(i[0]-r[0]),s=r[1]+n*(i[1]-r[1]),n=r[2]+n*(i[2]-r[2]);a[4*e]=Math.round(l),a[4*e+1]=Math.round(s),a[4*e+2]=Math.round(n),a[4*e+3]=255}return a}
</script>
</body>
</html>h ~����3��у��Ó��}$����T1*H� cordtext/html;charset=utf-8 M<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Plastica</title>
<script type="text/javascript">
let palettes=[["#f9f0de","#d0bba3","#392b24"],["#f9f0de","#e94d26","#726c5d","#392b24"],["#f9f0de","#c67333","#927154","#392b24"],["#d2452b","#385d32","#392b24","#fab511","#f9f0de"],["#f9f0de","#bc9a56","#b76f30","#d80f15","#1d1e1b"],["#f9f0de","#8e8780","#fab515","#d7312e","#2a71af","#ad7347","#1d1d1b"],["#f299a5","#084698","#1a86c8","#74afe0","#a0d6da","#f8f9f2"],["#29361b","#f39233","#f3e3d6","#M140f0c","#cc3314"],["#d3c3b6","#bab2a7","#bf9c74","#bf5b03","#993503"],["#dbd0c3","#f2a74b","#d88236","#724116","#a55f21"],["#fffeff","#a58c68","#2f2a26","#8c847a","#df3f36"],["#281740","#f29d35","#04504e","#f27405","#f24c3d"],["#ecf2f0","#d9946c","#260b01","#80875e","#d96459"],["#eae6e2","#d9865a","#4f616f","#f2bfac","#d96055"],["#254174","#e4c192","#d1ac58","#337da3","#d29854"],["#d1d2aa","#5c7346","#eeaf24","#242424","#d7481e"],["#1c2137","#284555","#de4639","#db6528","#f5ad0d"],["#f1f3ee","#bf925a","#464e41","#Ma62014","#bf1515"],["#e6e4cc","#bf8c60","#d03814","#97632b","#edbeaa"],["#8ecae6","#219ebc","#023047","#012232","#ffb703","#fb8500"],["#264653","#2a9d8f","#e9c46a","#242424","#f4a261","#e76f51"],["#A9E5E4","#01239C","#085DE8","#50B2A1","#96ffff"],["#F18B56","#2D2D9F","#B264BE","#3A40CC","#E0D9F5"]];
</script>
<script id="snippet-random-code" type="text/javascript">
let seed = window.location.href.split('/').find(t => t.includes('i0'));
if (seed == null) {
const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
seeMd = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
} else {
let pattern = "seed=";
for (let i = 0; i < seed.length - pattern.length; ++i) {
if (seed.substring(i, i + pattern.length) == pattern) {
seed = seed.substring(i + pattern.length);
break;
}
}
}
function cyrb128($) {
let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCoMdeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
}
function sfc32($, _, u, i) {
return function () {
u >>>= 0, i >>>= 0;
var l = ($ >>>= 0) + (_ >>>= 0) | 0;
return $ = _ ^ _ >>> 9, _ = u + (u << M3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
}
}
let mRnd = sfc32(...cyrb128(seed));
</script>
<style>
html {
background: black;
height: 100%;
}
body {
height: 100%;
margin: 0;
padding: 0px;
}
canvas {
padding: 0;
margin: auto;
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
</style>
</head>
<body>
<canvas id="canvas"></canvas>
<script type="text/javascript">
function Palette(rand){
let pal_ind = Math.floor(palettes.length*rand);
returMn pal_ind;
}
function Angle(rand){
let angle = 0.5 + Math.floor(6*rand)/10.0;
return angle;
}
function Scale(rand){
let scale = 2.0 + Math.floor(11*rand)/10.0;
return scale;
}
function FOV(rand){
let fov = 3 + Math.floor(4*rand);
return fov;
}
function Surf(rand){
let surf = Math.floor(8*rand);
return surf;
}
window.$generativeTraits={
"Palette": Palette(mRnd()),
"Angle": Angle(mRnd()),
"Scale": Scale(mRnd()),
"FOV": FOV(mRnd()),
"Surface": Surf(mRnd()),
}
console.log(window.$generativeTraits)
let gl,program,texturMePal,canvas_size_w=1080,canvas_size_h=1080;const numColors=4096;let timeLocation,textureSizeLocation,angle,scale,fov,surf,rot;function compile(e,t,o){var a=e.createShader(e.VERTEX_SHADER),t=(e.shaderSource(a,t),e.compileShader(a),e.createShader(e.FRAGMENT_SHADER)),o=(e.shaderSource(t,o),e.compileShader(t),e.createProgram());return e.attachShader(o,a),e.attachShader(o,t),e.linkProgram(o),e.useProgram(o),o}function init(){console.log(seed);var e=window.$generativeTraits.Palette,e=(angle=window.$generativeTraits.AngleM,scale=window.$generativeTraits.Scale,fov=window.$generativeTraits.FOV,surf=window.$generativeTraits.Surface,rot=[3,4].includes(surf)?0:1,gC(palettes[e])),t=((gl=canvas.getContext("webgl2",{antialias:!0,alpha:!1})).canvas.width=canvas_size_w,gl.canvas.height=canvas_size_h,program=compile(gl,`#version 300 es
in vec4 a_position;
void main(){
gl_Position=a_position;
}`,`#version 300 es
#define PI 3.1415926538
precision mediump float;
uniform sampler2D u_samplerPal;
uniform vec2 u_resolution;
uniform float u_time;
unifMorm float u_randSeed;
uniform float u_angle;
uniform float u_scale;
uniform float u_fov;
uniform int u_surf;
uniform bool u_rot;
out vec4 outputColor;
uint hh(uint x){x+=(x<<10u);x^=(x>> 6u);x+=(x<<3u);x^=(x>>11u);x+=(x<<15u);return x;}
uint hh(uvec2 v) {return hh(v.x^hh(v.y));}
float fc(uint m){
const uint iM=0x007FFFFFu;
const uint iO=0x3F800000u;
m&=iM;
m|=iO;
float f=uintBitsToFloat(m);
return f-1.0;
}
float rnd(vec2 v){return fc(hh(floatBitsToUint(v)));}
float ns(vec2 x){
x+=u_randSeed;
vec2 i=floor(x);
vec2 fM=fract(x);
float a=rnd(i);
float b=rnd(i+vec2(1.0,0.0));
float c=rnd(i+vec2(0.0,1.0));
float d=rnd(i+vec2(1.0,1.0));
vec2 u=f*f*(3.0-2.0*f);
return mix(a,b,u.x)+(c-a)*u.y*(1.0-u.x)+(d-b)*u.x*u.y;
}
float fbm(vec2 st){
return 0.5*ns(st)+0.25*ns(2.0*st);
}
vec2 wrp(vec2 p){
float a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
a=fbm(p*0.5)*2.0*PI+u_time;
p+=0.1*vec2(cos(a),sin(a));
return p;
}
floatM g(vec2 v){
float g1;
if(u_surf==0){
g1=(sin(4.0*u_time+v.x*v.y*8.0+16.0*(sin(v.x*v.x)+sin(v.y*v.y)))+1.0)/2.0;
}else if(u_surf==1){
g1=(sin(4.0*u_time+log(0.1+pow((sin(4.0*u_time+v.x*8.0)+sin(v.y*8.0)),2.0)))+1.0)/2.0;
}else if(u_surf==2){
g1=(cos(4.0*u_time+8.0*v.x*sin(sin(2.0*u_time+sqrt(16.0*v.x*v.x+16.0*v.y*v.y))))+1.0)/2.0;
}else if(u_surf==3){
g1=(sin(4.0*u_time+4.0*log(1.5+v.x*v.x*8.0+cos(8.0*u_time+(v.y*8.0))))+1.0)/2.0;
}else if(u_surf==4){
g1=(cos(4.0*u_time+((8.0*v.x-cos(8.0*v.x)))-cos(8.0*u_time+8.0*v.My))+1.0)/2.0;
}else if(u_surf==5){
g1=(cos(4.0*u_time+(cos(4.0*u_time+4.0*v.y)-8.0*v.x*v.y))+1.0)/2.0;
}else if(u_surf==6){
g1=(cos(4.0*u_time+(cos(4.0*u_time+12.0*v.y)-4.0*(v.x*v.x+v.y*v.y)))+1.0)/2.0;
}else if(u_surf==7){
g1=(cos(2.0*u_time+2.0*v.x+(4.0*sin(2.0*u_time+2.0*v.x)*(2.0*v.y)))+1.0)/2.0;
}
const float pct=0.6;
const float dp=0.2;
float g2=(1.0-smoothstep(0.0, 2.0, v.y))*(smoothstep(pct-dp, pct, g1))-smoothstep(pct,pct+dp,g1);
return -g2*g1+g2+g1;
}
vec3 trn(vec3 p,float angle){
mat2 m1=mat2(cos(angle),M-sin(angle),sin(angle),cos(angle));
p.yz *= m1;
if (u_rot){
mat2 m2=mat2(cos(0.5*u_time),-sin(0.5*u_time),sin(0.5*u_time),cos(0.5*u_time));
p.xy*=m2;
}
return p;
}
const float sUB=20.;
const float f=sin(atan(1.,sUB));
float sde(vec3 p){
return (p.z-g(p.xy/10.0))*f;
}
bool rayM(in vec3 ro,in vec3 rd,out vec3 p){
p=ro+rd*0.01;
while(true){
float d = sde(p);
if(d < 0.001){return true;}
p+=rd*d;
if(length(p-ro)>50.){return false;}
}
return true;
}
const vec2 eps=vec2(1e-3,0);
vec3 light(vec3 l,vec3 p){
float index = g(Mp.xy/10.0) * 255.0;
vec4 color=texture(u_samplerPal,vec2((index+0.5)/256.0,0.5));
float d=sde(p);
vec3 norm=normalize(vec3(sde(p+eps.xyy)-d,sde(p+eps.yxy)-d,sde(p+eps.yyx)-d));
vec3 ld=normalize(l-p);
float s=max(0.,dot(ld,norm));
return vec3(color.rgb*s*s);
}
const vec3 l=vec3(0,5,12);
const vec3 ro=vec3(0,0,15);
void main(){
vec2 st=gl_FragCoord.xy/u_resolution-u_resolution/u_resolution.x/2.0;
vec2 uv=wrp(st*u_scale);
vec3 c=vec3(10.0*uv,u_fov);
vec3 ro_=ro;
c=trn(c,u_angle);
ro_=trn(ro_,u_angle);
vec3 p;
bool reMt=rayM(ro_,normalize(c-ro_),p);
vec3 col=light(l,p);
float d=length(p-ro_);
col-=vec3(smoothstep(0.,200.,d));
col=min(vec3(1),col);
if (ret == false){
float index=g(p.xy/10.0)*255.0;
vec4 outcol=texture(u_samplerPal,vec2((index+0.5)/256.0,0.5));
col=col*1.25+0.125;
col=0.8*col+(u_rot?vec3(0):0.2*outcol.rgb);
}
outputColor=vec4(col*1.25,1.0);
}`),gl.createBuffer()),t=(gl.bindBuffer(gl.ARRAY_BUFFER,t),gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),gl.STATIC_DRAW),gl.getAttribLocation(program,"aM_position")),t=(gl.enableVertexAttribArray(t),gl.vertexAttribPointer(t,2,gl.FLOAT,!1,0,0),timeLocation=gl.getUniformLocation(program,"u_time"),gl.getUniformLocation(program,"u_samplerPal")),o=gl.getUniformLocation(program,"u_randSeed"),a=(textureSizeLocation=gl.getUniformLocation(program,"u_resolution"),gl.getUniformLocation(program,"u_angle")),n=gl.getUniformLocation(program,"u_scale"),r=gl.getUniformLocation(program,"u_fov"),i=gl.getUniformLocation(program,"u_surf"),l=gl.getUniformLocation(program,"u_rot");gl.uniMform1f(timeLocation,0),gl.uniform1f(o,512*mRnd()),gl.uniform1f(a,angle),gl.uniform1f(n,scale),gl.uniform1f(r,fov),gl.uniform1i(i,surf),gl.uniform1i(l,rot),texturePal=gl.createTexture(),gl.bindTexture(gl.TEXTURE_2D,texturePal),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST),gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,numColors,1,0,gl.RGBA,gl.UNSIGNED_BYTE,e),gl.uniform1i(t,0),gl.activeTexture(gl.TEXTURE0),gl.bindTexture(gl.TEXTURE_2D,textureMPal),gl.clearColor(0,0,0,1),window.addEventListener("keydown",onDocumentKeyDown,!1),window.addEventListener("resize",onWindowResize,!1),onWindowResize()}function renderLoop(e){e*=.001,gl.uniform1f(timeLocation,.1*e),gl.uniform2f(textureSizeLocation,canvas_size_w,canvas_size_h),gl.viewport(0,0,canvas_size_w,canvas_size_h),gl.clear(gl.COLOR_BUFFER_BIT),gl.drawArrays(gl.TRIANGLE_STRIP,0,4),requestAnimationFrame(renderLoop)}function onWindowResize(){window.innerWidth>=window.innerHeight?(canvas.style.width="",canvas.stMyle.height="100%"):(canvas.style.width="100%",canvas.style.height="")}function onDocumentKeyDown(e){e=e.which;83===e?(gl.canvas.width=canvas_size_w,gl.canvas.height=canvas_size_h,gl.uniform2f(textureSizeLocation,gl.canvas.width,gl.canvas.height),gl.viewport(0,0,gl.canvas.width,gl.canvas.height),gl.clear(gl.COLOR_BUFFER_BIT),gl.drawArrays(gl.TRIANGLE_STRIP,0,4),imgData=gl.canvas.toDataURL("image/png"),saveFile(imgData.replace("image/png","image/octet-stream"),"gl-"+seed+".png"),onWindowResize()):49===e?(gl.canvas.wiMdth=canvas_size_w=1080,gl.canvas.height=canvas_size_h=1080):50===e&&(gl.canvas.width=canvas_size_w=2160,gl.canvas.height=canvas_size_h=2160)}init(),requestAnimationFrame(renderLoop);let saveFile=function(e,t){var o=document.createElement("a");"string"==typeof o.download?(document.body.appendChild(o),o.download=t,o.href=e,o.click(),document.body.removeChild(o)):location.replace(uri)};function gC(e){var t=numColors/(e.length-1),o=e.map(e=>{return[parseInt(e.substring(1,3),16),parseInt(e.substring(3,5),16),parseInt(e.M5substring(5,7),16)]}),a=new Uint8Array(4*numColors);for(let e=0;e<numColors;e++){var n=Math.floor(e/t),r=o[n],i=o[n+1],n=(e-n*t)/t,l=r[0]+n*(i[0]-r[0]),s=r[1]+n*(i[1]-r[1]),n=r[2]+n*(i[2]-r[2]);a[4*e]=Math.round(l),a[4*e+1]=Math.round(s),a[4*e+2]=Math.round(n),a[4*e+3]=255}return a}
</script>
</body>
</html>h |
Script Pub Key | |
---|---|
0 |
{
"txid": "e332a115857c453c1237094e7a6e34aeba28f9cf4b5f88e895bda9b091b8ca16",
"hash": "062010cb0931f72c0101c5a3b2e650e9c2906046d9496315e59139a981f06d8d",
"version": 1,
"size": 11562,
"vsize": 2961,
"weight": 11844,
"locktime": 0,
"vin": [
{
"txid": "b8777be5ef546f85bcbf3e49d24bb1df47f6c1d62c0a221de3f48e21d2dc9899",
"vout": 0,
"scriptSig": {
"asm": "",
"hex": ""
},
"txinwitness": [
"ba55728f7980f2661934cded1f3dbcacec463161aa78f8c35fde363951ac613075cc73ad4c932e59348b3800ea9692e4127e0bbb8fbf8cb09bdda6213c924ef0",
"207ef41b8fdbd033a50e9a08d183ccedc393a6d47d24b8c29af4bff254312a4818ac0063036f7264010117746578742f68746d6c3b636861727365743d7574662d38004d08023c21444f43545950452068746d6c3e0a3c68746d6c206c616e673d22656e223e0a3c686561643e0a3c6d65746120636861727365743d225554462d38223e0a3c7469746c653e506c6173746963613c2f7469746c653e0a3c73637269707420747970653d22746578742f6a617661736372697074223e0a6c65742070616c65747465733d5b5b2223663966306465222c2223643062626133222c2223333932623234225d2c5b2223663966306465222c2223653934643236222c2223373236633564222c2223333932623234225d2c5b2223663966306465222c2223633637333333222c2223393237313534222c2223333932623234225d2c5b2223643234353262222c2223333835643332222c2223333932623234222c2223666162353131222c2223663966306465225d2c5b2223663966306465222c2223626339613536222c2223623736663330222c2223643830663135222c2223316431653162225d2c5b2223663966306465222c2223386538373830222c2223666162353135222c2223643733313265222c2223326137316166222c2223616437333437222c2223316431643162225d2c5b2223663239396135222c2223303834363938222c2223316138366338222c2223373461666530222c2223613064366461222c2223663866396632225d2c5b2223323933363162222c2223663339323333222c2223663365336436222c22234d0802313430663063222c2223636333333134225d2c5b2223643363336236222c2223626162326137222c2223626639633734222c2223626635623033222c2223393933353033225d2c5b2223646264306333222c2223663261373462222c2223643838323336222c2223373234313136222c2223613535663231225d2c5b2223666666656666222c2223613538633638222c2223326632613236222c2223386338343761222c2223646633663336225d2c5b2223323831373430222c2223663239643335222c2223303435303465222c2223663237343035222c2223663234633364225d2c5b2223656366326630222c2223643939343663222c2223323630623031222c2223383038373565222c2223643936343539225d2c5b2223656165366532222c2223643938363561222c2223346636313666222c2223663262666163222c2223643936303535225d2c5b2223323534313734222c2223653463313932222c2223643161633538222c2223333337646133222c2223643239383534225d2c5b2223643164326161222c2223356337333436222c2223656561663234222c2223323432343234222c2223643734383165225d2c5b2223316332313337222c2223323834353535222c2223646534363339222c2223646236353238222c2223663561643064225d2c5b2223663166336565222c2223626639323561222c2223343634653431222c22234d0802613632303134222c2223626631353135225d2c5b2223653665346363222c2223626638633630222c2223643033383134222c2223393736333262222c2223656462656161225d2c5b2223386563616536222c2223323139656263222c2223303233303437222c2223303132323332222c2223666662373033222c2223666238353030225d2c5b2223323634363533222c2223326139643866222c2223653963343661222c2223323432343234222c2223663461323631222c2223653736663531225d2c5b2223413945354534222c2223303132333943222c2223303835444538222c2223353042324131222c2223393666666666225d2c5b2223463138423536222c2223324432443946222c2223423236344245222c2223334134304343222c2223453044394635225d5d3b0a3c2f7363726970743e0a3c7363726970742069643d22736e69707065742d72616e646f6d2d636f64652220747970653d22746578742f6a617661736372697074223e0a6c65742073656564203d2077696e646f772e6c6f636174696f6e2e687265662e73706c697428272f27292e66696e642874203d3e20742e696e636c75646573282769302729293b0a6966202873656564203d3d206e756c6c29207b0a636f6e737420616c706861626574203d2022303132333435363738396162636465666768696a6b6c6d6e6f707172737475767773797a223b0a7365654d080264203d206e65772055524c536561726368506172616d732877696e646f772e6c6f636174696f6e2e736561726368292e6765742822736565642229207c7c204172726179283634292e66696c6c2830292e6d6170285f203d3e20616c7068616265745b284d6174682e72616e646f6d2829202a20616c7068616265742e6c656e67746829207c20305d292e6a6f696e28272729202b20226930223b0a7d20656c7365207b0a6c6574207061747465726e203d2022736565643d223b0a666f7220286c65742069203d20303b2069203c20736565642e6c656e677468202d207061747465726e2e6c656e6774683b202b2b6929207b0a69662028736565642e737562737472696e6728692c2069202b207061747465726e2e6c656e67746829203d3d207061747465726e29207b0a73656564203d20736565642e737562737472696e672869202b207061747465726e2e6c656e677468293b0a627265616b3b0a7d0a7d0a7d0a66756e6374696f6e2063797262313238282429207b0a6c6574205f203d20313737393033333730332c2075203d20333134343133343237372c2069203d20313031333930343234322c206c203d20323737333438303736323b0a666f7220286c6574206e203d20302c20723b206e203c20242e6c656e6774683b206e2b2b29205f203d2075205e204d6174682e696d756c285f205e202872203d20242e63686172436f4d080264654174286e29292c20353937333939303637292c2075203d2069205e204d6174682e696d756c2875205e20722c2032383639383630323333292c2069203d206c205e204d6174682e696d756c2869205e20722c20393531323734323133292c206c203d205f205e204d6174682e696d756c286c205e20722c2032373136303434313739293b0a72657475726e205f203d204d6174682e696d756c2869205e205f203e3e3e2031382c20353937333939303637292c2075203d204d6174682e696d756c286c205e2075203e3e3e2032322c2032383639383630323333292c2069203d204d6174682e696d756c285f205e2069203e3e3e2031372c20393531323734323133292c206c203d204d6174682e696d756c2875205e206c203e3e3e2031392c2032373136303434313739292c205b285f205e2075205e2069205e206c29203e3e3e20302c202875205e205f29203e3e3e20302c202869205e205f29203e3e3e20302c20286c205e205f29203e3e3e20305d0a7d0a66756e6374696f6e20736663333228242c205f2c20752c206929207b0a72657475726e2066756e6374696f6e202829207b0a75203e3e3e3d20302c2069203e3e3e3d20303b0a766172206c203d202824203e3e3e3d203029202b20285f203e3e3e3d203029207c20303b0a72657475726e2024203d205f205e205f203e3e3e20392c205f203d2075202b202875203c3c204d08023329207c20302c2075203d202875203d2075203c3c203231207c2075203e3e3e20313129202b20286c203d206c202b202869203d2069202b2031207c203029207c203029207c20302c20286c203e3e3e203029202f20343239343936373239360a7d0a7d0a6c6574206d526e64203d207366633332282e2e2e63797262313238287365656429293b0a3c2f7363726970743e0a3c7374796c653e0a68746d6c207b0a6261636b67726f756e643a20626c61636b3b0a6865696768743a20313030253b0a7d0a626f6479207b0a6865696768743a20313030253b090a6d617267696e3a20303b0a70616464696e673a203070783b0a7d0a63616e766173207b0a70616464696e673a20303b0a6d617267696e3a206175746f3b0a646973706c61793a20626c6f636b3b0a706f736974696f6e3a206162736f6c7574653b0a746f703a20303b0a626f74746f6d3a20303b0a6c6566743a20303b0a72696768743a20303b0a7d0a3c2f7374796c653e0a3c2f686561643e0a3c626f64793e0a3c63616e7661732069643d2263616e766173223e3c2f63616e7661733e0a3c73637269707420747970653d22746578742f6a617661736372697074223e0a66756e6374696f6e2050616c657474652872616e64297b0a6c65742070616c5f696e64203d204d6174682e666c6f6f722870616c65747465732e6c656e6774682a72616e64293b0a72657475724d08026e2070616c5f696e643b0a7d0a66756e6374696f6e20416e676c652872616e64297b0a6c657420616e676c65203d20302e35202b204d6174682e666c6f6f7228362a72616e64292f31302e303b0a72657475726e20616e676c653b0a7d0a66756e6374696f6e205363616c652872616e64297b0a6c6574207363616c65203d20322e30202b204d6174682e666c6f6f722831312a72616e64292f31302e303b0a72657475726e207363616c653b0a7d0a66756e6374696f6e20464f562872616e64297b0a6c657420666f76203d2033202b204d6174682e666c6f6f7228342a72616e64293b0a72657475726e20666f763b0a7d0a66756e6374696f6e20537572662872616e64297b0a6c65742073757266203d204d6174682e666c6f6f7228382a72616e64293b0a72657475726e20737572663b0a7d0a77696e646f772e2467656e657261746976655472616974733d7b0a2250616c65747465223a2050616c65747465286d526e642829292c0a22416e676c65223a20416e676c65286d526e642829292c0a225363616c65223a205363616c65286d526e642829292c0a22464f56223a20464f56286d526e642829292c0a2253757266616365223a2053757266286d526e642829292c0a7d0a636f6e736f6c652e6c6f672877696e646f772e2467656e65726174697665547261697473290a6c657420676c2c70726f6772616d2c7465787475724d08026550616c2c63616e7661735f73697a655f773d313038302c63616e7661735f73697a655f683d313038303b636f6e7374206e756d436f6c6f72733d343039363b6c65742074696d654c6f636174696f6e2c7465787475726553697a654c6f636174696f6e2c616e676c652c7363616c652c666f762c737572662c726f743b66756e6374696f6e20636f6d70696c6528652c742c6f297b76617220613d652e63726561746553686164657228652e5645525445585f534841444552292c743d28652e736861646572536f7572636528612c74292c652e636f6d70696c655368616465722861292c652e63726561746553686164657228652e465241474d454e545f53484144455229292c6f3d28652e736861646572536f7572636528742c6f292c652e636f6d70696c655368616465722874292c652e63726561746550726f6772616d2829293b72657475726e20652e617474616368536861646572286f2c61292c652e617474616368536861646572286f2c74292c652e6c696e6b50726f6772616d286f292c652e75736550726f6772616d286f292c6f7d66756e6374696f6e20696e697428297b636f6e736f6c652e6c6f672873656564293b76617220653d77696e646f772e2467656e657261746976655472616974732e50616c657474652c653d28616e676c653d77696e646f772e2467656e657261746976655472616974732e416e676c654d08022c7363616c653d77696e646f772e2467656e657261746976655472616974732e5363616c652c666f763d77696e646f772e2467656e657261746976655472616974732e464f562c737572663d77696e646f772e2467656e657261746976655472616974732e537572666163652c726f743d5b332c345d2e696e636c756465732873757266293f303a312c67432870616c65747465735b655d29292c743d2828676c3d63616e7661732e676574436f6e746578742822776562676c32222c7b616e7469616c6961733a21302c616c7068613a21317d29292e63616e7661732e77696474683d63616e7661735f73697a655f772c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f682c70726f6772616d3d636f6d70696c6528676c2c602376657273696f6e203330302065730a696e207665633420615f706f736974696f6e3b0a766f6964206d61696e28297b0a676c5f506f736974696f6e3d615f706f736974696f6e3b0a7d602c602376657273696f6e203330302065730a23646566696e6520504920332e313431353932363533380a707265636973696f6e206d656469756d7020666c6f61743b0a756e69666f726d2073616d706c6572324420755f73616d706c657250616c3b0a756e69666f726d207665633220755f7265736f6c7574696f6e3b0a756e69666f726d20666c6f617420755f74696d653b0a756e69664d08026f726d20666c6f617420755f72616e64536565643b0a756e69666f726d20666c6f617420755f616e676c653b0a756e69666f726d20666c6f617420755f7363616c653b0a756e69666f726d20666c6f617420755f666f763b0a756e69666f726d20696e7420755f737572663b0a756e69666f726d20626f6f6c20755f726f743b0a6f75742076656334206f7574707574436f6c6f723b0a75696e742068682875696e742078297b782b3d28783c3c313075293b785e3d28783e3e203675293b782b3d28783c3c3375293b785e3d28783e3e313175293b782b3d28783c3c313575293b72657475726e20783b7d0a75696e74206868287576656332207629207b72657475726e20686828762e785e686828762e7929293b7d0a666c6f61742066632875696e74206d297b0a636f6e73742075696e7420694d3d30783030374646464646753b0a636f6e73742075696e7420694f3d30783346383030303030753b0a6d263d694d3b0a6d7c3d694f3b0a666c6f617420663d75696e7442697473546f466c6f6174286d293b0a72657475726e20662d312e303b0a7d0a666c6f617420726e6428766563322076297b72657475726e20666328686828666c6f617442697473546f55696e7428762929293b7d0a666c6f6174206e7328766563322078297b0a782b3d755f72616e64536565643b0a7665633220693d666c6f6f722878293b0a7665633220664d08023d66726163742878293b0a666c6f617420613d726e642869293b0a666c6f617420623d726e6428692b7665633228312e302c302e3029293b0a666c6f617420633d726e6428692b7665633228302e302c312e3029293b0a666c6f617420643d726e6428692b7665633228312e302c312e3029293b0a7665633220753d662a662a28332e302d322e302a66293b0a72657475726e206d697828612c622c752e78292b28632d61292a752e792a28312e302d752e78292b28642d62292a752e782a752e793b0a7d0a666c6f61742066626d2876656332207374297b0a72657475726e20302e352a6e73287374292b302e32352a6e7328322e302a7374293b0a7d0a766563322077727028766563322070297b0a666c6f617420613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a72657475726e20703b0a7d0a666c6f61744d0802206728766563322076297b0a666c6f61742067313b0a696628755f737572663d3d30297b0a67313d2873696e28342e302a755f74696d652b762e782a762e792a382e302b31362e302a2873696e28762e782a762e78292b73696e28762e792a762e792929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d31297b0a67313d2873696e28342e302a755f74696d652b6c6f6728302e312b706f77282873696e28342e302a755f74696d652b762e782a382e30292b73696e28762e792a382e3029292c322e302929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d32297b0a67313d28636f7328342e302a755f74696d652b382e302a762e782a73696e2873696e28322e302a755f74696d652b737172742831362e302a762e782a762e782b31362e302a762e792a762e79292929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d33297b0a67313d2873696e28342e302a755f74696d652b342e302a6c6f6728312e352b762e782a762e782a382e302b636f7328382e302a755f74696d652b28762e792a382e30292929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d34297b0a67313d28636f7328342e302a755f74696d652b2828382e302a762e782d636f7328382e302a762e782929292d636f7328382e302a755f74696d652b382e302a762e4d08027929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d35297b0a67313d28636f7328342e302a755f74696d652b28636f7328342e302a755f74696d652b342e302a762e79292d382e302a762e782a762e7929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d36297b0a67313d28636f7328342e302a755f74696d652b28636f7328342e302a755f74696d652b31322e302a762e79292d342e302a28762e782a762e782b762e792a762e792929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d37297b0a67313d28636f7328322e302a755f74696d652b322e302a762e782b28342e302a73696e28322e302a755f74696d652b322e302a762e78292a28322e302a762e792929292b312e30292f322e303b0a7d0a636f6e737420666c6f6174207063743d302e363b0a636f6e737420666c6f61742064703d302e323b0a666c6f61742067323d28312e302d736d6f6f74687374657028302e302c20322e302c20762e7929292a28736d6f6f746873746570287063742d64702c207063742c20673129292d736d6f6f746873746570287063742c7063742b64702c6731293b0a72657475726e202d67322a67312b67322b67313b0a7d0a766563332074726e287665633320702c666c6f617420616e676c65297b0a6d617432206d313d6d61743228636f7328616e676c65292c4d08022d73696e28616e676c65292c73696e28616e676c65292c636f7328616e676c6529293b0a702e797a202a3d206d313b0a69662028755f726f74297b0a6d617432206d323d6d61743228636f7328302e352a755f74696d65292c2d73696e28302e352a755f74696d65292c73696e28302e352a755f74696d65292c636f7328302e352a755f74696d6529293b0a702e78792a3d6d323b0a7d0a72657475726e20703b0a7d0a636f6e737420666c6f6174207355423d32302e3b0a636f6e737420666c6f617420663d73696e286174616e28312e2c73554229293b0a666c6f61742073646528766563332070297b0a72657475726e2028702e7a2d6728702e78792f31302e3029292a663b0a7d0a626f6f6c207261794d28696e207665633320726f2c696e20766563332072642c6f757420766563332070297b0a703d726f2b72642a302e30313b0a7768696c652874727565297b0a666c6f61742064203d207364652870293b0a69662864203c20302e303031297b72657475726e20747275653b7d0a702b3d72642a643b0a6966286c656e67746828702d726f293e35302e297b72657475726e2066616c73653b7d0a7d0a72657475726e20747275653b0a7d0a636f6e73742076656332206570733d766563322831652d332c30293b0a76656333206c696768742876656333206c2c766563332070297b0a666c6f617420696e646578203d2067284d0802702e78792f31302e3029202a203235352e303b0a7665633420636f6c6f723d7465787475726528755f73616d706c657250616c2c766563322828696e6465782b302e35292f3235362e302c302e3529293b0a666c6f617420643d7364652870293b0a76656333206e6f726d3d6e6f726d616c697a6528766563332873646528702b6570732e787979292d642c73646528702b6570732e797879292d642c73646528702b6570732e797978292d6429293b0a76656333206c643d6e6f726d616c697a65286c2d70293b0a666c6f617420733d6d617828302e2c646f74286c642c6e6f726d29293b0a72657475726e207665633328636f6c6f722e7267622a732a73293b0a7d0a636f6e73742076656333206c3d7665633328302c352c3132293b0a636f6e7374207665633320726f3d7665633328302c302c3135293b0a766f6964206d61696e28297b0a766563322073743d676c5f46726167436f6f72642e78792f755f7265736f6c7574696f6e2d755f7265736f6c7574696f6e2f755f7265736f6c7574696f6e2e782f322e303b0a766563322075763d7772702873742a755f7363616c65293b0a7665633320633d766563332831302e302a75762c755f666f76293b0a7665633320726f5f3d726f3b0a633d74726e28632c755f616e676c65293b0a726f5f3d74726e28726f5f2c755f616e676c65293b0a7665633320703b0a626f6f6c2072654d0802743d7261794d28726f5f2c6e6f726d616c697a6528632d726f5f292c70293b0a7665633320636f6c3d6c69676874286c2c70293b0a666c6f617420643d6c656e67746828702d726f5f293b0a636f6c2d3d7665633328736d6f6f74687374657028302e2c3230302e2c6429293b0a636f6c3d6d696e28766563332831292c636f6c293b0a69662028726574203d3d2066616c7365297b0a666c6f617420696e6465783d6728702e78792f31302e30292a3235352e303b0a76656334206f7574636f6c3d7465787475726528755f73616d706c657250616c2c766563322828696e6465782b302e35292f3235362e302c302e3529293b0a636f6c3d636f6c2a312e32352b302e3132353b0a636f6c3d302e382a636f6c2b28755f726f743f766563332830293a302e322a6f7574636f6c2e726762293b0a7d0a6f7574707574436f6c6f723d7665633428636f6c2a312e32352c312e30293b0a7d60292c676c2e6372656174654275666665722829292c743d28676c2e62696e6442756666657228676c2e41525241595f4255464645522c74292c676c2e6275666665724461746128676c2e41525241595f4255464645522c6e657720466c6f617433324172726179285b2d312c2d312c312c2d312c2d312c312c312c315d292c676c2e5354415449435f44524157292c676c2e6765744174747269624c6f636174696f6e2870726f6772616d2c22614d08025f706f736974696f6e2229292c743d28676c2e656e61626c6556657274657841747472696241727261792874292c676c2e766572746578417474726962506f696e74657228742c322c676c2e464c4f41542c21312c302c30292c74696d654c6f636174696f6e3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f74696d6522292c676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f73616d706c657250616c2229292c6f3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f72616e645365656422292c613d287465787475726553697a654c6f636174696f6e3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f7265736f6c7574696f6e22292c676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f616e676c652229292c6e3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f7363616c6522292c723d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f666f7622292c693d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f7375726622292c6c3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f726f7422293b676c2e756e694d0802666f726d31662874696d654c6f636174696f6e2c30292c676c2e756e69666f726d3166286f2c3531322a6d526e642829292c676c2e756e69666f726d316628612c616e676c65292c676c2e756e69666f726d3166286e2c7363616c65292c676c2e756e69666f726d316628722c666f76292c676c2e756e69666f726d316928692c73757266292c676c2e756e69666f726d3169286c2c726f74292c7465787475726550616c3d676c2e6372656174655465787475726528292c676c2e62696e645465787475726528676c2e544558545552455f32442c7465787475726550616c292c676c2e746578506172616d657465726928676c2e544558545552455f32442c676c2e544558545552455f4d494e5f46494c5445522c676c2e4e454152455354292c676c2e746578506172616d657465726928676c2e544558545552455f32442c676c2e544558545552455f4d41475f46494c5445522c676c2e4e454152455354292c676c2e746578496d616765324428676c2e544558545552455f32442c302c676c2e524742412c6e756d436f6c6f72732c312c302c676c2e524742412c676c2e554e5349474e45445f425954452c65292c676c2e756e69666f726d316928742c30292c676c2e6163746976655465787475726528676c2e5445585455524530292c676c2e62696e645465787475726528676c2e544558545552455f32442c746578747572654d080250616c292c676c2e636c656172436f6c6f7228302c302c302c31292c77696e646f772e6164644576656e744c697374656e657228226b6579646f776e222c6f6e446f63756d656e744b6579446f776e2c2131292c77696e646f772e6164644576656e744c697374656e65722822726573697a65222c6f6e57696e646f77526573697a652c2131292c6f6e57696e646f77526573697a6528297d66756e6374696f6e2072656e6465724c6f6f702865297b652a3d2e3030312c676c2e756e69666f726d31662874696d654c6f636174696f6e2c2e312a65292c676c2e756e69666f726d3266287465787475726553697a654c6f636174696f6e2c63616e7661735f73697a655f772c63616e7661735f73697a655f68292c676c2e76696577706f727428302c302c63616e7661735f73697a655f772c63616e7661735f73697a655f68292c676c2e636c65617228676c2e434f4c4f525f4255464645525f424954292c676c2e6472617741727261797328676c2e545249414e474c455f53545249502c302c34292c72657175657374416e696d6174696f6e4672616d652872656e6465724c6f6f70297d66756e6374696f6e206f6e57696e646f77526573697a6528297b77696e646f772e696e6e657257696474683e3d77696e646f772e696e6e65724865696768743f2863616e7661732e7374796c652e77696474683d22222c63616e7661732e73744d0802796c652e6865696768743d223130302522293a2863616e7661732e7374796c652e77696474683d2231303025222c63616e7661732e7374796c652e6865696768743d2222297d66756e6374696f6e206f6e446f63756d656e744b6579446f776e2865297b653d652e77686963683b38333d3d3d653f28676c2e63616e7661732e77696474683d63616e7661735f73697a655f772c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f682c676c2e756e69666f726d3266287465787475726553697a654c6f636174696f6e2c676c2e63616e7661732e77696474682c676c2e63616e7661732e686569676874292c676c2e76696577706f727428302c302c676c2e63616e7661732e77696474682c676c2e63616e7661732e686569676874292c676c2e636c65617228676c2e434f4c4f525f4255464645525f424954292c676c2e6472617741727261797328676c2e545249414e474c455f53545249502c302c34292c696d67446174613d676c2e63616e7661732e746f4461746155524c2822696d6167652f706e6722292c7361766546696c6528696d67446174612e7265706c6163652822696d6167652f706e67222c22696d6167652f6f637465742d73747265616d22292c22676c2d222b736565642b222e706e6722292c6f6e57696e646f77526573697a652829293a34393d3d3d653f28676c2e63616e7661732e77694d08026474683d63616e7661735f73697a655f773d313038302c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f683d31303830293a35303d3d3d65262628676c2e63616e7661732e77696474683d63616e7661735f73697a655f773d323136302c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f683d32313630297d696e697428292c72657175657374416e696d6174696f6e4672616d652872656e6465724c6f6f70293b6c6574207361766546696c653d66756e6374696f6e28652c74297b766172206f3d646f63756d656e742e637265617465456c656d656e7428226122293b22737472696e67223d3d747970656f66206f2e646f776e6c6f61643f28646f63756d656e742e626f64792e617070656e644368696c64286f292c6f2e646f776e6c6f61643d742c6f2e687265663d652c6f2e636c69636b28292c646f63756d656e742e626f64792e72656d6f76654368696c64286f29293a6c6f636174696f6e2e7265706c61636528757269297d3b66756e6374696f6e2067432865297b76617220743d6e756d436f6c6f72732f28652e6c656e6774682d31292c6f3d652e6d617028653d3e7b72657475726e5b7061727365496e7428652e737562737472696e6728312c33292c3136292c7061727365496e7428652e737562737472696e6728332c35292c3136292c7061727365496e7428652e4d3501737562737472696e6728352c37292c3136295d7d292c613d6e65772055696e7438417272617928342a6e756d436f6c6f7273293b666f72286c657420653d303b653c6e756d436f6c6f72733b652b2b297b766172206e3d4d6174682e666c6f6f7228652f74292c723d6f5b6e5d2c693d6f5b6e2b315d2c6e3d28652d6e2a74292f742c6c3d725b305d2b6e2a28695b305d2d725b305d292c733d725b315d2b6e2a28695b315d2d725b315d292c6e3d725b325d2b6e2a28695b325d2d725b325d293b615b342a655d3d4d6174682e726f756e64286c292c615b342a652b315d3d4d6174682e726f756e642873292c615b342a652b325d3d4d6174682e726f756e64286e292c615b342a652b335d3d3235357d72657475726e20617d0a3c2f7363726970743e0a3c2f626f64793e0a3c2f68746d6c3e68",
"c17ef41b8fdbd033a50e9a08d183ccedc393a6d47d24b8c29af4bff254312a4818"
],
"sequence": 4294967293
}
],
"vout": [
{
"value": 0.0001,
"n": 0,
"scriptPubKey": {
"asm": "1 b0a581a3cf34069eced86281f14c462662988c28e46f6f349f97656f6c6ad675",
"desc": "rawtr(b0a581a3cf34069eced86281f14c462662988c28e46f6f349f97656f6c6ad675)#mvma3fvl",
"hex": "5120b0a581a3cf34069eced86281f14c462662988c28e46f6f349f97656f6c6ad675",
"address": "bc1pkzjcrg70xsrfankcv2qlznzxye3f3rpgu3hk7dyljajk7mr26e6smwh4dq",
"type": "witness_v1_taproot"
}
}
],
"hex": "010000000001019998dcd2218ef4e31d220a2cd6c1f647dfb14bd2493ebfbc856f54efe57b77b80000000000fdffffff011027000000000000225120b0a581a3cf34069eced86281f14c462662988c28e46f6f349f97656f6c6ad6750340ba55728f7980f2661934cded1f3dbcacec463161aa78f8c35fde363951ac613075cc73ad4c932e59348b3800ea9692e4127e0bbb8fbf8cb09bdda6213c924ef0fd632c207ef41b8fdbd033a50e9a08d183ccedc393a6d47d24b8c29af4bff254312a4818ac0063036f7264010117746578742f68746d6c3b636861727365743d7574662d38004d08023c21444f43545950452068746d6c3e0a3c68746d6c206c616e673d22656e223e0a3c686561643e0a3c6d65746120636861727365743d225554462d38223e0a3c7469746c653e506c6173746963613c2f7469746c653e0a3c73637269707420747970653d22746578742f6a617661736372697074223e0a6c65742070616c65747465733d5b5b2223663966306465222c2223643062626133222c2223333932623234225d2c5b2223663966306465222c2223653934643236222c2223373236633564222c2223333932623234225d2c5b2223663966306465222c2223633637333333222c2223393237313534222c2223333932623234225d2c5b2223643234353262222c2223333835643332222c2223333932623234222c2223666162353131222c2223663966306465225d2c5b2223663966306465222c2223626339613536222c2223623736663330222c2223643830663135222c2223316431653162225d2c5b2223663966306465222c2223386538373830222c2223666162353135222c2223643733313265222c2223326137316166222c2223616437333437222c2223316431643162225d2c5b2223663239396135222c2223303834363938222c2223316138366338222c2223373461666530222c2223613064366461222c2223663866396632225d2c5b2223323933363162222c2223663339323333222c2223663365336436222c22234d0802313430663063222c2223636333333134225d2c5b2223643363336236222c2223626162326137222c2223626639633734222c2223626635623033222c2223393933353033225d2c5b2223646264306333222c2223663261373462222c2223643838323336222c2223373234313136222c2223613535663231225d2c5b2223666666656666222c2223613538633638222c2223326632613236222c2223386338343761222c2223646633663336225d2c5b2223323831373430222c2223663239643335222c2223303435303465222c2223663237343035222c2223663234633364225d2c5b2223656366326630222c2223643939343663222c2223323630623031222c2223383038373565222c2223643936343539225d2c5b2223656165366532222c2223643938363561222c2223346636313666222c2223663262666163222c2223643936303535225d2c5b2223323534313734222c2223653463313932222c2223643161633538222c2223333337646133222c2223643239383534225d2c5b2223643164326161222c2223356337333436222c2223656561663234222c2223323432343234222c2223643734383165225d2c5b2223316332313337222c2223323834353535222c2223646534363339222c2223646236353238222c2223663561643064225d2c5b2223663166336565222c2223626639323561222c2223343634653431222c22234d0802613632303134222c2223626631353135225d2c5b2223653665346363222c2223626638633630222c2223643033383134222c2223393736333262222c2223656462656161225d2c5b2223386563616536222c2223323139656263222c2223303233303437222c2223303132323332222c2223666662373033222c2223666238353030225d2c5b2223323634363533222c2223326139643866222c2223653963343661222c2223323432343234222c2223663461323631222c2223653736663531225d2c5b2223413945354534222c2223303132333943222c2223303835444538222c2223353042324131222c2223393666666666225d2c5b2223463138423536222c2223324432443946222c2223423236344245222c2223334134304343222c2223453044394635225d5d3b0a3c2f7363726970743e0a3c7363726970742069643d22736e69707065742d72616e646f6d2d636f64652220747970653d22746578742f6a617661736372697074223e0a6c65742073656564203d2077696e646f772e6c6f636174696f6e2e687265662e73706c697428272f27292e66696e642874203d3e20742e696e636c75646573282769302729293b0a6966202873656564203d3d206e756c6c29207b0a636f6e737420616c706861626574203d2022303132333435363738396162636465666768696a6b6c6d6e6f707172737475767773797a223b0a7365654d080264203d206e65772055524c536561726368506172616d732877696e646f772e6c6f636174696f6e2e736561726368292e6765742822736565642229207c7c204172726179283634292e66696c6c2830292e6d6170285f203d3e20616c7068616265745b284d6174682e72616e646f6d2829202a20616c7068616265742e6c656e67746829207c20305d292e6a6f696e28272729202b20226930223b0a7d20656c7365207b0a6c6574207061747465726e203d2022736565643d223b0a666f7220286c65742069203d20303b2069203c20736565642e6c656e677468202d207061747465726e2e6c656e6774683b202b2b6929207b0a69662028736565642e737562737472696e6728692c2069202b207061747465726e2e6c656e67746829203d3d207061747465726e29207b0a73656564203d20736565642e737562737472696e672869202b207061747465726e2e6c656e677468293b0a627265616b3b0a7d0a7d0a7d0a66756e6374696f6e2063797262313238282429207b0a6c6574205f203d20313737393033333730332c2075203d20333134343133343237372c2069203d20313031333930343234322c206c203d20323737333438303736323b0a666f7220286c6574206e203d20302c20723b206e203c20242e6c656e6774683b206e2b2b29205f203d2075205e204d6174682e696d756c285f205e202872203d20242e63686172436f4d080264654174286e29292c20353937333939303637292c2075203d2069205e204d6174682e696d756c2875205e20722c2032383639383630323333292c2069203d206c205e204d6174682e696d756c2869205e20722c20393531323734323133292c206c203d205f205e204d6174682e696d756c286c205e20722c2032373136303434313739293b0a72657475726e205f203d204d6174682e696d756c2869205e205f203e3e3e2031382c20353937333939303637292c2075203d204d6174682e696d756c286c205e2075203e3e3e2032322c2032383639383630323333292c2069203d204d6174682e696d756c285f205e2069203e3e3e2031372c20393531323734323133292c206c203d204d6174682e696d756c2875205e206c203e3e3e2031392c2032373136303434313739292c205b285f205e2075205e2069205e206c29203e3e3e20302c202875205e205f29203e3e3e20302c202869205e205f29203e3e3e20302c20286c205e205f29203e3e3e20305d0a7d0a66756e6374696f6e20736663333228242c205f2c20752c206929207b0a72657475726e2066756e6374696f6e202829207b0a75203e3e3e3d20302c2069203e3e3e3d20303b0a766172206c203d202824203e3e3e3d203029202b20285f203e3e3e3d203029207c20303b0a72657475726e2024203d205f205e205f203e3e3e20392c205f203d2075202b202875203c3c204d08023329207c20302c2075203d202875203d2075203c3c203231207c2075203e3e3e20313129202b20286c203d206c202b202869203d2069202b2031207c203029207c203029207c20302c20286c203e3e3e203029202f20343239343936373239360a7d0a7d0a6c6574206d526e64203d207366633332282e2e2e63797262313238287365656429293b0a3c2f7363726970743e0a3c7374796c653e0a68746d6c207b0a6261636b67726f756e643a20626c61636b3b0a6865696768743a20313030253b0a7d0a626f6479207b0a6865696768743a20313030253b090a6d617267696e3a20303b0a70616464696e673a203070783b0a7d0a63616e766173207b0a70616464696e673a20303b0a6d617267696e3a206175746f3b0a646973706c61793a20626c6f636b3b0a706f736974696f6e3a206162736f6c7574653b0a746f703a20303b0a626f74746f6d3a20303b0a6c6566743a20303b0a72696768743a20303b0a7d0a3c2f7374796c653e0a3c2f686561643e0a3c626f64793e0a3c63616e7661732069643d2263616e766173223e3c2f63616e7661733e0a3c73637269707420747970653d22746578742f6a617661736372697074223e0a66756e6374696f6e2050616c657474652872616e64297b0a6c65742070616c5f696e64203d204d6174682e666c6f6f722870616c65747465732e6c656e6774682a72616e64293b0a72657475724d08026e2070616c5f696e643b0a7d0a66756e6374696f6e20416e676c652872616e64297b0a6c657420616e676c65203d20302e35202b204d6174682e666c6f6f7228362a72616e64292f31302e303b0a72657475726e20616e676c653b0a7d0a66756e6374696f6e205363616c652872616e64297b0a6c6574207363616c65203d20322e30202b204d6174682e666c6f6f722831312a72616e64292f31302e303b0a72657475726e207363616c653b0a7d0a66756e6374696f6e20464f562872616e64297b0a6c657420666f76203d2033202b204d6174682e666c6f6f7228342a72616e64293b0a72657475726e20666f763b0a7d0a66756e6374696f6e20537572662872616e64297b0a6c65742073757266203d204d6174682e666c6f6f7228382a72616e64293b0a72657475726e20737572663b0a7d0a77696e646f772e2467656e657261746976655472616974733d7b0a2250616c65747465223a2050616c65747465286d526e642829292c0a22416e676c65223a20416e676c65286d526e642829292c0a225363616c65223a205363616c65286d526e642829292c0a22464f56223a20464f56286d526e642829292c0a2253757266616365223a2053757266286d526e642829292c0a7d0a636f6e736f6c652e6c6f672877696e646f772e2467656e65726174697665547261697473290a6c657420676c2c70726f6772616d2c7465787475724d08026550616c2c63616e7661735f73697a655f773d313038302c63616e7661735f73697a655f683d313038303b636f6e7374206e756d436f6c6f72733d343039363b6c65742074696d654c6f636174696f6e2c7465787475726553697a654c6f636174696f6e2c616e676c652c7363616c652c666f762c737572662c726f743b66756e6374696f6e20636f6d70696c6528652c742c6f297b76617220613d652e63726561746553686164657228652e5645525445585f534841444552292c743d28652e736861646572536f7572636528612c74292c652e636f6d70696c655368616465722861292c652e63726561746553686164657228652e465241474d454e545f53484144455229292c6f3d28652e736861646572536f7572636528742c6f292c652e636f6d70696c655368616465722874292c652e63726561746550726f6772616d2829293b72657475726e20652e617474616368536861646572286f2c61292c652e617474616368536861646572286f2c74292c652e6c696e6b50726f6772616d286f292c652e75736550726f6772616d286f292c6f7d66756e6374696f6e20696e697428297b636f6e736f6c652e6c6f672873656564293b76617220653d77696e646f772e2467656e657261746976655472616974732e50616c657474652c653d28616e676c653d77696e646f772e2467656e657261746976655472616974732e416e676c654d08022c7363616c653d77696e646f772e2467656e657261746976655472616974732e5363616c652c666f763d77696e646f772e2467656e657261746976655472616974732e464f562c737572663d77696e646f772e2467656e657261746976655472616974732e537572666163652c726f743d5b332c345d2e696e636c756465732873757266293f303a312c67432870616c65747465735b655d29292c743d2828676c3d63616e7661732e676574436f6e746578742822776562676c32222c7b616e7469616c6961733a21302c616c7068613a21317d29292e63616e7661732e77696474683d63616e7661735f73697a655f772c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f682c70726f6772616d3d636f6d70696c6528676c2c602376657273696f6e203330302065730a696e207665633420615f706f736974696f6e3b0a766f6964206d61696e28297b0a676c5f506f736974696f6e3d615f706f736974696f6e3b0a7d602c602376657273696f6e203330302065730a23646566696e6520504920332e313431353932363533380a707265636973696f6e206d656469756d7020666c6f61743b0a756e69666f726d2073616d706c6572324420755f73616d706c657250616c3b0a756e69666f726d207665633220755f7265736f6c7574696f6e3b0a756e69666f726d20666c6f617420755f74696d653b0a756e69664d08026f726d20666c6f617420755f72616e64536565643b0a756e69666f726d20666c6f617420755f616e676c653b0a756e69666f726d20666c6f617420755f7363616c653b0a756e69666f726d20666c6f617420755f666f763b0a756e69666f726d20696e7420755f737572663b0a756e69666f726d20626f6f6c20755f726f743b0a6f75742076656334206f7574707574436f6c6f723b0a75696e742068682875696e742078297b782b3d28783c3c313075293b785e3d28783e3e203675293b782b3d28783c3c3375293b785e3d28783e3e313175293b782b3d28783c3c313575293b72657475726e20783b7d0a75696e74206868287576656332207629207b72657475726e20686828762e785e686828762e7929293b7d0a666c6f61742066632875696e74206d297b0a636f6e73742075696e7420694d3d30783030374646464646753b0a636f6e73742075696e7420694f3d30783346383030303030753b0a6d263d694d3b0a6d7c3d694f3b0a666c6f617420663d75696e7442697473546f466c6f6174286d293b0a72657475726e20662d312e303b0a7d0a666c6f617420726e6428766563322076297b72657475726e20666328686828666c6f617442697473546f55696e7428762929293b7d0a666c6f6174206e7328766563322078297b0a782b3d755f72616e64536565643b0a7665633220693d666c6f6f722878293b0a7665633220664d08023d66726163742878293b0a666c6f617420613d726e642869293b0a666c6f617420623d726e6428692b7665633228312e302c302e3029293b0a666c6f617420633d726e6428692b7665633228302e302c312e3029293b0a666c6f617420643d726e6428692b7665633228312e302c312e3029293b0a7665633220753d662a662a28332e302d322e302a66293b0a72657475726e206d697828612c622c752e78292b28632d61292a752e792a28312e302d752e78292b28642d62292a752e782a752e793b0a7d0a666c6f61742066626d2876656332207374297b0a72657475726e20302e352a6e73287374292b302e32352a6e7328322e302a7374293b0a7d0a766563322077727028766563322070297b0a666c6f617420613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a613d66626d28702a302e35292a322e302a50492b755f74696d653b0a702b3d302e312a7665633228636f732861292c73696e286129293b0a72657475726e20703b0a7d0a666c6f61744d0802206728766563322076297b0a666c6f61742067313b0a696628755f737572663d3d30297b0a67313d2873696e28342e302a755f74696d652b762e782a762e792a382e302b31362e302a2873696e28762e782a762e78292b73696e28762e792a762e792929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d31297b0a67313d2873696e28342e302a755f74696d652b6c6f6728302e312b706f77282873696e28342e302a755f74696d652b762e782a382e30292b73696e28762e792a382e3029292c322e302929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d32297b0a67313d28636f7328342e302a755f74696d652b382e302a762e782a73696e2873696e28322e302a755f74696d652b737172742831362e302a762e782a762e782b31362e302a762e792a762e79292929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d33297b0a67313d2873696e28342e302a755f74696d652b342e302a6c6f6728312e352b762e782a762e782a382e302b636f7328382e302a755f74696d652b28762e792a382e30292929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d34297b0a67313d28636f7328342e302a755f74696d652b2828382e302a762e782d636f7328382e302a762e782929292d636f7328382e302a755f74696d652b382e302a762e4d08027929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d35297b0a67313d28636f7328342e302a755f74696d652b28636f7328342e302a755f74696d652b342e302a762e79292d382e302a762e782a762e7929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d36297b0a67313d28636f7328342e302a755f74696d652b28636f7328342e302a755f74696d652b31322e302a762e79292d342e302a28762e782a762e782b762e792a762e792929292b312e30292f322e303b0a7d656c736520696628755f737572663d3d37297b0a67313d28636f7328322e302a755f74696d652b322e302a762e782b28342e302a73696e28322e302a755f74696d652b322e302a762e78292a28322e302a762e792929292b312e30292f322e303b0a7d0a636f6e737420666c6f6174207063743d302e363b0a636f6e737420666c6f61742064703d302e323b0a666c6f61742067323d28312e302d736d6f6f74687374657028302e302c20322e302c20762e7929292a28736d6f6f746873746570287063742d64702c207063742c20673129292d736d6f6f746873746570287063742c7063742b64702c6731293b0a72657475726e202d67322a67312b67322b67313b0a7d0a766563332074726e287665633320702c666c6f617420616e676c65297b0a6d617432206d313d6d61743228636f7328616e676c65292c4d08022d73696e28616e676c65292c73696e28616e676c65292c636f7328616e676c6529293b0a702e797a202a3d206d313b0a69662028755f726f74297b0a6d617432206d323d6d61743228636f7328302e352a755f74696d65292c2d73696e28302e352a755f74696d65292c73696e28302e352a755f74696d65292c636f7328302e352a755f74696d6529293b0a702e78792a3d6d323b0a7d0a72657475726e20703b0a7d0a636f6e737420666c6f6174207355423d32302e3b0a636f6e737420666c6f617420663d73696e286174616e28312e2c73554229293b0a666c6f61742073646528766563332070297b0a72657475726e2028702e7a2d6728702e78792f31302e3029292a663b0a7d0a626f6f6c207261794d28696e207665633320726f2c696e20766563332072642c6f757420766563332070297b0a703d726f2b72642a302e30313b0a7768696c652874727565297b0a666c6f61742064203d207364652870293b0a69662864203c20302e303031297b72657475726e20747275653b7d0a702b3d72642a643b0a6966286c656e67746828702d726f293e35302e297b72657475726e2066616c73653b7d0a7d0a72657475726e20747275653b0a7d0a636f6e73742076656332206570733d766563322831652d332c30293b0a76656333206c696768742876656333206c2c766563332070297b0a666c6f617420696e646578203d2067284d0802702e78792f31302e3029202a203235352e303b0a7665633420636f6c6f723d7465787475726528755f73616d706c657250616c2c766563322828696e6465782b302e35292f3235362e302c302e3529293b0a666c6f617420643d7364652870293b0a76656333206e6f726d3d6e6f726d616c697a6528766563332873646528702b6570732e787979292d642c73646528702b6570732e797879292d642c73646528702b6570732e797978292d6429293b0a76656333206c643d6e6f726d616c697a65286c2d70293b0a666c6f617420733d6d617828302e2c646f74286c642c6e6f726d29293b0a72657475726e207665633328636f6c6f722e7267622a732a73293b0a7d0a636f6e73742076656333206c3d7665633328302c352c3132293b0a636f6e7374207665633320726f3d7665633328302c302c3135293b0a766f6964206d61696e28297b0a766563322073743d676c5f46726167436f6f72642e78792f755f7265736f6c7574696f6e2d755f7265736f6c7574696f6e2f755f7265736f6c7574696f6e2e782f322e303b0a766563322075763d7772702873742a755f7363616c65293b0a7665633320633d766563332831302e302a75762c755f666f76293b0a7665633320726f5f3d726f3b0a633d74726e28632c755f616e676c65293b0a726f5f3d74726e28726f5f2c755f616e676c65293b0a7665633320703b0a626f6f6c2072654d0802743d7261794d28726f5f2c6e6f726d616c697a6528632d726f5f292c70293b0a7665633320636f6c3d6c69676874286c2c70293b0a666c6f617420643d6c656e67746828702d726f5f293b0a636f6c2d3d7665633328736d6f6f74687374657028302e2c3230302e2c6429293b0a636f6c3d6d696e28766563332831292c636f6c293b0a69662028726574203d3d2066616c7365297b0a666c6f617420696e6465783d6728702e78792f31302e30292a3235352e303b0a76656334206f7574636f6c3d7465787475726528755f73616d706c657250616c2c766563322828696e6465782b302e35292f3235362e302c302e3529293b0a636f6c3d636f6c2a312e32352b302e3132353b0a636f6c3d302e382a636f6c2b28755f726f743f766563332830293a302e322a6f7574636f6c2e726762293b0a7d0a6f7574707574436f6c6f723d7665633428636f6c2a312e32352c312e30293b0a7d60292c676c2e6372656174654275666665722829292c743d28676c2e62696e6442756666657228676c2e41525241595f4255464645522c74292c676c2e6275666665724461746128676c2e41525241595f4255464645522c6e657720466c6f617433324172726179285b2d312c2d312c312c2d312c2d312c312c312c315d292c676c2e5354415449435f44524157292c676c2e6765744174747269624c6f636174696f6e2870726f6772616d2c22614d08025f706f736974696f6e2229292c743d28676c2e656e61626c6556657274657841747472696241727261792874292c676c2e766572746578417474726962506f696e74657228742c322c676c2e464c4f41542c21312c302c30292c74696d654c6f636174696f6e3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f74696d6522292c676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f73616d706c657250616c2229292c6f3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f72616e645365656422292c613d287465787475726553697a654c6f636174696f6e3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f7265736f6c7574696f6e22292c676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f616e676c652229292c6e3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f7363616c6522292c723d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f666f7622292c693d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f7375726622292c6c3d676c2e676574556e69666f726d4c6f636174696f6e2870726f6772616d2c22755f726f7422293b676c2e756e694d0802666f726d31662874696d654c6f636174696f6e2c30292c676c2e756e69666f726d3166286f2c3531322a6d526e642829292c676c2e756e69666f726d316628612c616e676c65292c676c2e756e69666f726d3166286e2c7363616c65292c676c2e756e69666f726d316628722c666f76292c676c2e756e69666f726d316928692c73757266292c676c2e756e69666f726d3169286c2c726f74292c7465787475726550616c3d676c2e6372656174655465787475726528292c676c2e62696e645465787475726528676c2e544558545552455f32442c7465787475726550616c292c676c2e746578506172616d657465726928676c2e544558545552455f32442c676c2e544558545552455f4d494e5f46494c5445522c676c2e4e454152455354292c676c2e746578506172616d657465726928676c2e544558545552455f32442c676c2e544558545552455f4d41475f46494c5445522c676c2e4e454152455354292c676c2e746578496d616765324428676c2e544558545552455f32442c302c676c2e524742412c6e756d436f6c6f72732c312c302c676c2e524742412c676c2e554e5349474e45445f425954452c65292c676c2e756e69666f726d316928742c30292c676c2e6163746976655465787475726528676c2e5445585455524530292c676c2e62696e645465787475726528676c2e544558545552455f32442c746578747572654d080250616c292c676c2e636c656172436f6c6f7228302c302c302c31292c77696e646f772e6164644576656e744c697374656e657228226b6579646f776e222c6f6e446f63756d656e744b6579446f776e2c2131292c77696e646f772e6164644576656e744c697374656e65722822726573697a65222c6f6e57696e646f77526573697a652c2131292c6f6e57696e646f77526573697a6528297d66756e6374696f6e2072656e6465724c6f6f702865297b652a3d2e3030312c676c2e756e69666f726d31662874696d654c6f636174696f6e2c2e312a65292c676c2e756e69666f726d3266287465787475726553697a654c6f636174696f6e2c63616e7661735f73697a655f772c63616e7661735f73697a655f68292c676c2e76696577706f727428302c302c63616e7661735f73697a655f772c63616e7661735f73697a655f68292c676c2e636c65617228676c2e434f4c4f525f4255464645525f424954292c676c2e6472617741727261797328676c2e545249414e474c455f53545249502c302c34292c72657175657374416e696d6174696f6e4672616d652872656e6465724c6f6f70297d66756e6374696f6e206f6e57696e646f77526573697a6528297b77696e646f772e696e6e657257696474683e3d77696e646f772e696e6e65724865696768743f2863616e7661732e7374796c652e77696474683d22222c63616e7661732e73744d0802796c652e6865696768743d223130302522293a2863616e7661732e7374796c652e77696474683d2231303025222c63616e7661732e7374796c652e6865696768743d2222297d66756e6374696f6e206f6e446f63756d656e744b6579446f776e2865297b653d652e77686963683b38333d3d3d653f28676c2e63616e7661732e77696474683d63616e7661735f73697a655f772c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f682c676c2e756e69666f726d3266287465787475726553697a654c6f636174696f6e2c676c2e63616e7661732e77696474682c676c2e63616e7661732e686569676874292c676c2e76696577706f727428302c302c676c2e63616e7661732e77696474682c676c2e63616e7661732e686569676874292c676c2e636c65617228676c2e434f4c4f525f4255464645525f424954292c676c2e6472617741727261797328676c2e545249414e474c455f53545249502c302c34292c696d67446174613d676c2e63616e7661732e746f4461746155524c2822696d6167652f706e6722292c7361766546696c6528696d67446174612e7265706c6163652822696d6167652f706e67222c22696d6167652f6f637465742d73747265616d22292c22676c2d222b736565642b222e706e6722292c6f6e57696e646f77526573697a652829293a34393d3d3d653f28676c2e63616e7661732e77694d08026474683d63616e7661735f73697a655f773d313038302c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f683d31303830293a35303d3d3d65262628676c2e63616e7661732e77696474683d63616e7661735f73697a655f773d323136302c676c2e63616e7661732e6865696768743d63616e7661735f73697a655f683d32313630297d696e697428292c72657175657374416e696d6174696f6e4672616d652872656e6465724c6f6f70293b6c6574207361766546696c653d66756e6374696f6e28652c74297b766172206f3d646f63756d656e742e637265617465456c656d656e7428226122293b22737472696e67223d3d747970656f66206f2e646f776e6c6f61643f28646f63756d656e742e626f64792e617070656e644368696c64286f292c6f2e646f776e6c6f61643d742c6f2e687265663d652c6f2e636c69636b28292c646f63756d656e742e626f64792e72656d6f76654368696c64286f29293a6c6f636174696f6e2e7265706c61636528757269297d3b66756e6374696f6e2067432865297b76617220743d6e756d436f6c6f72732f28652e6c656e6774682d31292c6f3d652e6d617028653d3e7b72657475726e5b7061727365496e7428652e737562737472696e6728312c33292c3136292c7061727365496e7428652e737562737472696e6728332c35292c3136292c7061727365496e7428652e4d3501737562737472696e6728352c37292c3136295d7d292c613d6e65772055696e7438417272617928342a6e756d436f6c6f7273293b666f72286c657420653d303b653c6e756d436f6c6f72733b652b2b297b766172206e3d4d6174682e666c6f6f7228652f74292c723d6f5b6e5d2c693d6f5b6e2b315d2c6e3d28652d6e2a74292f742c6c3d725b305d2b6e2a28695b305d2d725b305d292c733d725b315d2b6e2a28695b315d2d725b315d292c6e3d725b325d2b6e2a28695b325d2d725b325d293b615b342a655d3d4d6174682e726f756e64286c292c615b342a652b315d3d4d6174682e726f756e642873292c615b342a652b325d3d4d6174682e726f756e64286e292c615b342a652b335d3d3235357d72657475726e20617d0a3c2f7363726970743e0a3c2f626f64793e0a3c2f68746d6c3e6821c17ef41b8fdbd033a50e9a08d183ccedc393a6d47d24b8c29af4bff254312a481800000000",
"blockhash": "0000000000000000000167fbf0a4017e05a18e7dda9c69562db39a25e512b40c",
"confirmations": 100002,
"time": 1688510603,
"blocktime": 1688510603
}
{
"hash": "0000000000000000000167fbf0a4017e05a18e7dda9c69562db39a25e512b40c",
"confirmations": 100002,
"height": 797211,
"version": 822493184,
"versionHex": "31064000",
"merkleroot": "72a2b3d702483d70f6c2f7de6591e751c08f4b59eb6f126a9acddcad43ea41a6",
"time": 1688510603,
"mediantime": 1688507891,
"nonce": 338401132,
"bits": "17058ebe",
"difficulty": 50646206431058.09,
"chainwork": "00000000000000000000000000000000000000004dbf344e62e47925fc985650",
"nTx": 2014,
"previousblockhash": "0000000000000000000337d51dad63f50bbb9b89dc7246317143a2da9b7a4647",
"nextblockhash": "0000000000000000000397c589644f288a12bab201716cdd769055bfdc438def"
}
[
null
]