Public
Edited
Dec 2, 2023
Insert cell
Insert cell
palette = ["#7b4800", "#002185", "#003c32", "#fcd300", "#ff2702", "#6b9404"]
Insert cell
p5((sketch) => {
let system;
sketch.setup = function () {
sketch.createCanvas(width, 600, sketch.WEBGL);
};
sketch.draw = function () {
sketch.background("#fffceb");
sketch.translate(-width / 2, -300 / 2);
let num_cols = 6;
let num_rows = 1;
let border = 300;
let col_size = (width - border) / num_cols;
let row_size = (300 - border) / num_rows;

// We define the brushes for the hatches, and the brushes for the strokes
let hatch_brushes = ["marker", "marker2"];
let stroke_brushes = ["charcoal"];

// Test Different Flowfields here: "zigzag", "seabed", "curved", "truncated"
// You can also disable field completely with brush.noField()
for (let i = 0; i < num_rows; i++) {
for (let j = 0; j < num_cols; j++) {
sketch.brush.noStroke();

// We fill 10% of the cells
// Set Fill
sketch.brush.fill(palette[j], 60);
sketch.brush.bleed(0.01);
sketch.brush.fillTexture(0.55, 0.8);

// We stroke + hatch the remaining
// Set Stroke
// brush.set(random(stroke_brushes), random(palette))

// Set Hatch
// You set color and brush with .setHatch(brush_name, color)
// brush.setHatch(random(hatch_brushes), random(palette))
// You set hatch params with .hatch(distance_between_lines, angle, options: see reference)
// brush.hatch(random(10,60), random(0,180), {rand: 0, continuous: false, gradient: false})

// We draw the rectangular grid here
sketch.brush.rect(
border / 2 + col_size * j,
border / 2 + row_size * i,
col_size,
row_size
);

// Reset states for next cell
sketch.brush.noFill();
sketch.brush.noHatch();
}
}
};
})
Insert cell
import { p5 } from "@tmcw/p5"
Insert cell
Insert cell
/* p5.brush.js v1.0.5 - Alejandro Campos - MIT License */
eval(
(function (p, a, c, k, e, r) {
e = function (c) {
return (
(c < a ? "" : e(parseInt(c / a))) +
((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
);
};
if (!"".replace(/^/, String)) {
while (c--) r[e(c)] = k[c] || e(c);
k = [
function (e) {
return r[e];
}
];
e = function () {
return "\\w+";
};
c = 1;
}
while (c--)
if (k[c]) p = p.replace(new RegExp("\\b" + e(c) + "\\b", "g"), k[c]);
return p;
})(
'(1k(m,N){"6x"===3m 4h&&"4i"!==3m 6y?N(4h):"1k"===3m 4j&&4j.6z?4j(["4h"],N):(m=m||5p,N(m.3F={}))})(j,1k(m){1k N(a=!1,b=!1){Q&&Z(!1);h=a?a:6A.5p;Q||(Q=!0,u.5q(),aa(h.1z/5r));r.2Z(b)}1k Z(a=!0){Q&&(r.1d.3G(),r.1d=2p,r.2u.3G(),r.2u=2p,r.2f.3G(),r.2f=2p,a&&3F.2Z())}1k E(){Q||N()}1k ba(a,b,c,d,f=!1){1a g=a.x;a=a.y;1q l=b.x,n=b.y;b=c.x;c=c.y;1q q=d.x,t=d.y;1n(g===l&&a===n||b===q&&c===t)1c!1;d=l-g;l=n-a;n=q-b;t-=c;q=t*d-n*l;1n(0===q)1c!1;n=(n*(a-c)-t*(g-b))/q;b=(d*(a-c)-l*(g-b))/q;1c!f&&(0>b||1<b)?!1:{x:g+n*d,y:a+n*l}}1k T(a,b,c,d){1c(1X/1f.2g*1f.6B(-(d-b),c-a)%1u+1u)%1u}1k ca(){w.2v.1i=u.1i;w.2v.2h=u.2h;w.1M.1i=k.1i;w.1M.3F=k.2G;w.1M.1P=k.c;w.1M.1Y=k.w;w.1M.3n=k.cr;w.1A.1i=z.1i;w.1A.2q=z.2q;w.1A.1Z=z.1Z;w.1o.1i=v.1i;w.1o.1P=v.1P;w.1o.2i=v.2i;w.1o.2j=v.2j;w.1o.2I=v.2I;w.1o.2J=v.2J;w.4k.1J=y.39}1k da(){u.1i=w.2v.1i;u.2h=w.2v.2h;k.1i=w.1M.1i;k.2G=w.1M.3F;k.c=w.1M.1P;k.w=w.1M.1Y;k.cr=w.1M.3n;z.1i=w.1A.1i;z.2q=w.1A.2q;z.1Z=w.1A.1Z;v.1i=w.1o.1i;v.1P=w.1o.1P;v.2i=w.1o.2i;v.2j=w.1o.2j;v.2I=w.1o.2I;v.2J=w.1o.2J;y.39=w.4k.1J}1k O(a,b){E();u.1Q.1R(a,{5s:b});u.2h=a;u.4l()}1k aa(a){1j(1a b 1N 4m){1a c=k.1Q.2K(b[0]).3H;c.1Y*=a;c.2L*=a;c.2M*=a}4n=a}1k 4o(a=5,b=45,c={4p:!1,5t:!1,4q:!1}){z.1i=!0;z.2q=[a,b,c]}1k 4r(a=0){R=e.2k(a,0,1);F=[]}1k S(a,b,c){F.1s([a,b,c])}1k 4s(a){a===3I&&(F.1s(F[0]),F.1s(F[1]));a=4t(F,R,a===3I?!0:!1);1n(v.1i||z.1i)a.1o(),a.1A();k.1i&&a.1S();F=!1}1k 4t(a,b=.5,c=!1){1a d=1v U(0===b?"2N":"1B");1n(a&&0<a.1l){1a D=0,I,B,L;1j(1a C=0;C<a.1l-1;C++)1n(0<b&&C<a.1l-2){1q f=a[C],g=a[C+1],l=a[C+2],n=2O(f[0],f[1],g[0],g[1]),q=2O(g[0],g[1],l[0],l[1]),t=T(f[0],f[1],g[0],g[1]);l=T(g[0],g[1],l[0],l[1]);1a G=b*1f.1C(1f.1C(n,q),.5*1f.1C(n,q));1q x=1f.1h(n,q),A=n-G,p=q-G;1n(1f.1K(t)===1f.1K(l))A=c?0===C?0:q-L:q,d.1O(t,c?0===C?0:n-D:n-D,f[2],!0),C===a.1l-3&&d.1O(l,A,g[2],!0),D=0,0===C&&(I=n,L=G,B=a[1],D=0);2w{n={x:g[0]-G*e.1y(-t),y:g[1]-G*e.1w(-t)};1a J={x:n.x+x*e.1y(-t+90),y:n.y+x*e.1w(-t+90)};q={x:g[0]+G*e.1y(-l),y:g[1]+G*e.1w(-l)};x={x:q.x+x*e.1y(-l+90),y:q.y+x*e.1w(-l+90)};x=ba(n,J,q,x,!0);x=h.2O(n.x,n.y,x.x,x.y);q=h.2O(n.x,n.y,q.x,q.y)/2;q=1X/1f.2g*1f.2g*x*2*1f.6C(q/x)*2/1u;p=C===a.1l-3?c?I-G:p:0;d.1O(t,c?0===C?0:A-D:A-D,f[2],!0);d.1O(t,q,f[2],!0);d.1O(l,p,g[2],!0);D=G;0===C&&(I=A,L=G,B=[n.x,n.y])}C==a.1l-3&&d.3o(l,g[2],!0)}2w 0===b&&(0===C&&c&&a.2P(),g=a[C],t=a[C+1],f=h.2O(g[0],g[1],t[0],t[1]),g=T(g[0],g[1],t[0],t[1]),d.1O(g,f,1,!0),C==a.1l-2&&d.3o(g,1,!0));d.2l=c&&0!==b?B:a[0]}1c d}1k 4u(a,b,c,d){v.2i=4>3a.1l?3>3a.1l?b:1:d;v.1P=3>3a.1l?h.1P(a):h.1P(a,b,c);v.1i=!0}1k 4v(a,b="2m"){v.2j=e.2k(a,0,.6);v.5u=b}1k 4w(a=.4,b=.4){v.2I=e.2k(a,0,1);v.2J=e.2k(b,0,1)}1a h,Q=!1;2x.3p.3q("4x",()=>E());1x e={2y:()=>h.1g(),1g(a=0,b=1){1c 1===3a.1l?j.1D(j.2y(),0,1,0,a):j.1D(j.2y(),0,1,a,b)},1E(a,b){1c 1f.1K(j.1g(a,b))},2r(a=0,b=1){1x c=1-e.1g(),d=e.1g();1c 1f.3J(-2*1f.6D(c))*1f.1y(2*1f.2g*d)*b+a},6E(a){1a b,c,d=[];1j(b 6F a)1j(c=0;c<10*a[b];c++)d.1s(b);1c d[1f.1K(j.2y()*d.1l)]},1D(a,b,c,d,f,g=!1){a=d+(a-b)/(c-b)*(f-d);1c g?d<f?j.2k(a,d,f):j.2k(a,f,d):a},2k(a,b,c){1c 1f.1h(1f.1C(a,c),b)},1y(a){1c j.c[1f.1K((a%1u+1u)%1u*4)]},1w(a){1c j.s[1f.1K((a%1u+1u)%1u*4)]},4y:!1,5v(){1n(!j.4y){1q a=2*1f.2g/3K;j.c=1v 4z(3K);j.s=1v 4z(3K);1j(1a b=0;3K>b;b++){1x c=b*a;e.c[b]=1f.1y(c);e.s[b]=1f.1w(c)}j.4y=!0}},6G:a=>!6H(a),2Q:a=>(("5w"===h.2z()?1X*a/1f.2g:a)%1u+1u)%1u};e.5v();1x w={2v:{},1M:{},1A:{},1o:{},4k:{}},y={2A:[0,0],39:0,1J(a=0){y.39=e.2Q(a)},1F(){1c j.2A=[h.4A.5x.4B[12],h.4A.5x.4B[13]]}};1q W=1;1q 5y=a=>W*=a;1x r={4C:!1,2R:!1,4D:!0,2a:1v 3L(3),2Z(a){j.1d=a?h.3b(h.1z,h.1G):3b(h.1z,h.1G);j.1d.3c(h.3c());j.1d.3r();j.1d.5z();j.1d.2z(h.4E);m.1d=j.1d;r.4C||(j.3M=j.3M.6I(\'#5A "5B.3N"\',j.3N()));j.2C=h.6J(j.5C,j.3M);r.4C=!0;j.2f=a?h.3b(h.1z,h.1G):3b(h.1z,h.1G);j.2f.3c(h.3c());j.2f.5z();j.2f.3r();j.2f.2z(h.4E);j.2u=a?h.3b(h.1z,h.1G,h.5D):3b(h.1z,h.1G,h.5D);j.2u.3c(h.3c());j.2u.3r();j.2u.2z(h.4E)},3O(a){a=a.6K;1a b=1v 3L(3);b[0]=a[0]/2n;b[1]=a[1]/2n;b[2]=a[2]/2n;1c b},3s(){h.1s();h.3d(-y.1F()[0],-y.1F()[1]);h.1T(r.2f,-h.1z/2,-h.1G/2);r.2f.3r();h.2P()},4F(){ca();k.1R("3e","6L",1);k.2S(-10,-10,-5,-5);da()},3P:1v 3L(3),3Q:1v 3L(3),3R:!1,3S:!1,1I(a=!1,b=!1,c=!1,d=!1){j.2R=c?j.3R:j.3S;j.2a=c?j.3P:j.3Q;1n(!j.2R)1n(a)j.2a=j.3O(a),c?(j.3R=!0,j.3P=j.2a):(j.3S=!0,j.3Q=j.2a);2w 1n(b){c||j.3s();1c}1n((a?j.3O(a):j.2a).5E()!==j.2a.5E()||b||!j.4D)j.3s(),j.2R&&(h.1s(),h.3d(-y.1F()[0],-y.1F()[1]),h.2C(j.2C),j.2C.3t("3T",j.2a),j.2C.3t("2y",h.4A),j.2C.3t("4G",d),j.2C.3t("1g",[e.1g(),e.1g(),e.1g()]),d=c?j.2u:j.1d,j.2C.3t("1d",d),h.1o(0,0,0,0),h.3u(),h.3U(-h.1z/2,-h.1G/2,h.1z,h.1G),h.2P(),d.3r()),b||(j.2a=j.3O(a),c?j.3P=j.2a:j.3Q=j.2a);b&&(j.2R=!1,c?j.3R=j.2R:j.3S=j.2R)},5C:"5F 5G 1m;5H 1b 5I;5H 1p 5J;3v 4B 5K,5L;5M 1p 1U;3V 5N(){6M=5L*5K*1L(5I,1);1U=5J;}",3M:\'5F 5G 1m;5M 1p 1U;3v 6N 2y,1d;3v 1L 3T;3v 1b 1g;3v 6O 4G;\\n #5A "5B.3N"\\n 1m v(1p v,1p x,1m y,2m 1p i){1p a=1p(v.x+v.y*.5,v.y),m=1K(a),d=5O(a);1m z=6P(d.y,d.x);1p r=1p(z,1.-z),f=m+r,e=m+1.,s=1p(m.x-m.y*.5,m.y),k=1p(s.x+r.x-r.y*.5,s.y+r.y),l=1p(s.x+.5,s.y+1.),g=v-s,o=v-k,t=v-l;1b u,c,C,D;1n(6Q(6R(x,1p(0)))){C=1b(s.x,k.x,l);D=1b(s.y,k.y,l.y);1n(x.x>0.)C=3w(1b(s.x,k.x,l),x.x);1n(x.y>0.)D=3w(1b(s.y,k.y,l.y),x.y);u=1K(C+.5*D+.5);c=1K(D+.5);}2w u=1b(m.x,f.x,e),c=1b(m.y,f.y,e.y);1b b=3w(u,4H.);b=3w((b*51.+2.)*b+c,4H.);b=3w((b*34.+10.)*b,4H.);1b h=b*.6S+y,E=1y(h),w=1w(h);1p A=1p(E.x,w),B=1p(E.y,w.y),F=1p(E.z,w.z);1b G=.8-1b(1V(g,g),1V(o,o),1V(t,t));G=1h(G,0.);1b H=G*G,I=H*H,J=1b(1V(A,g),1V(B,o),1V(F,t)),K=H*G,L=-8.*K*J;i=10.9*(I.x*A+L.x*g+(I.y*B+L.y*o)+(I.z*F+L.z*t));1c 10.9*1V(I,J);}1L v(1b v,1m f){1c 1L(5P(v,1b(1V(1b(.6T,.6U,.6V),v)),f),1);}1m f(1p v,1m x,1m y,1m f){1c 5O(1w(1V(v,1p(x,y)))*f);}3V 5N(){1L s=5Q(1d,1U);1n(s.x>0.){1p m=1p(12.4I,78.4J),k=1p(7.4I,58.4J),d=1p(17.4I,3.4J);1m x=f(1U,m.x,m.y,6W.4K)*2.-1.,y=f(1U,k.x,k.y,6X.4K)*2.-1.,l=f(1U,d.x,d.y,6Y.4K)*2.-1.;1x 1p z=1p(0);1p o;1L b;1n(4G){1m a=v(1U*5.,z,10.*1g.x,o),c=v(1U*5.,z,10.*1g.y,o),t=v(1U*5.,z,10.*1g.z,o),w=.25+.25*v(1U*4.,z,3.*1g.x,o);b=1L(v(3T.2T,w).2T+1b(a,c,t)*.3W,1);}2w b=1L(3T.2T,1);1n(s.w>.7){1m r=.5*(s.w-.7);b=b*(1.-r)-1L(.5)*r;}1b a=3X(5Q(2y,1U).2T,b.2T,.9*s.w);6Z=1L(a+.4L*1b(x,y,l),1);}}\',3N(){1c"1m 3Y(1m s){1c s<.70?s/12.92:2o((s+.3Z)/1.3Z,2.4);}1m 41(1m s){1c s<.71?s*12.92:1.3Z*2o(s,1./2.4)-.3Z;}1b 4M(1b s){1c 1b(3Y(s[0]),3Y(s[1]),3Y(s[2]));}1b 5R(1b s){1c 72(1b(41(s[0]),41(s[1]),41(s[2])),0.,1.);}3V 5S(1b e,2m 1m m,2m 1m s,2m 1m f,2m 1m r,2m 1m x,2m 1m v,2m 1m z){m=1C(e.x,1C(e.y,e.z));e-=m;s=1C(e.y,e.z);f=1C(e.x,e.z);r=1C(e.x,e.y);x=1C(1h(0.,e.x-e.z),1h(0.,e.x-e.y));v=1C(1h(0.,e.y-e.z),1h(0.,e.y-e.x));z=1C(1h(0.,e.z-e.y),1h(0.,e.z-e.x));}3V 4N(1b s,73 1m f[38]){1m e,o,m,x,v,w,z;5S(s,e,o,m,x,v,w,z);f[0]=1h(1e-4,e+o*.74+m*.76+x*.77+v*.79+w*.7a+z*.7b);f[1]=1h(1e-4,e+o*.7c+m*.7d+x*.7e+v*.7f+w*.7g+z*.7h);f[2]=1h(1e-4,e+o*.7i+m*.7j+x*.7k+v*.7l+w*.7m+z*.7n);f[3]=1h(1e-4,e+o*.7o+m*.7p+x*.7q+v*.7r+w*.7s+z*.7t);f[4]=1h(1e-4,e+o*.7u+m*.7v+x*.7w+v*.7x+w*.7y+z*.7z);f[5]=1h(1e-4,e+o*.7A+m*.7B+x*.7C+v*.7D+w*.7E+z*.7F);f[6]=1h(1e-4,e+o*.7G+m*.7H+x*.7I+v*.7J+w*.7K+z*.7L);f[7]=1h(1e-4,e+o*.7M+m*.7N+x*.7O+v*.7P+w*.7Q+z*.7R);f[8]=1h(1e-4,e+o*.7S+m*.7T+x*.7U+v*.7V+w*.7W+z*.7X);f[9]=1h(1e-4,e+o*.7Y+m*.7Z+x*.81+v*.82+w*.83+z*.84);f[10]=1h(1e-4,e+o*.86+m*.87+x*.88+v*.89+w*.8a+z*.8b);f[11]=1h(1e-4,e+o*.8c+m*.8d+x*.8e+v*.8f+w*.8g+z*.8h);f[12]=1h(1e-4,e+o*.8i+m*.8j+x*.8k+v*.8l+w*.8m+z*.8n);f[13]=1h(1e-4,e+o*.8o+m*.8p+x*.8q+v*.8r+w*.8s+z*.8t);f[14]=1h(1e-4,e+o*.8u+m*.8v+x*.8w+v*.8x+w*.8y+z*.8z);f[15]=1h(1e-4,e+o*.8A+m*.8B+x*.8C+v*.8D+w*.8E+z*.8F);f[16]=1h(1e-4,e+o*.8G+m*.8H+x*.8I+v*.8J+w*.8K+z*.8L);f[17]=1h(1e-4,e+o*.8M+m*.8N+x*.8O+v*.8P+w*.8Q+z*.8R);f[18]=1h(1e-4,e+o*.8S+m*.8T+x*.8U+v*.8V+w*.8W+z*.8X);f[19]=1h(1e-4,e+o*.8Y+m*.8Z+x*.91+v*.93+w*.94+z*.96);f[20]=1h(1e-4,e+o*.97+m*8.98-5+x*.99+v*.9a+w*.9b+z*.9c);f[21]=1h(1e-4,e+o*.9d+m*.9e+x*.9f+v*.9g+w*.9h+z*.9i);f[22]=1h(1e-4,e+o*.9j+m*.9k+x*.9l+v*.9m+w*.9n+z*.9o);f[23]=1h(1e-4,e+o*.9p+m*.9q+x*.9r+v*.9s+w*.9t+z*.9u);f[24]=1h(1e-4,e+o*.9v+m*.9w+x*.9x+v*.9y+w*.9z+z*.9A);f[25]=1h(1e-4,e+o*.9B+m*.9C+x*.9D+v*.9E+w*.9F+z*.9G);f[26]=1h(1e-4,e+o*.9H+m*.9I+x*.9J+v*.9K+w*.9L+z*.9M);f[27]=1h(1e-4,e+o*.9N+m*.9O+x*.9P+v*.9Q+w*.9R+z*.9S);f[28]=1h(1e-4,e+o*.9T+m*.9U+x*.9V+v*.9W+w*.9X+z*.9Y);f[29]=1h(1e-4,e+o*.9Z+m*.a0+x*.a1+v*.a2+w*.a3+z*.a4);f[30]=1h(1e-4,e+o*.a5+m*.a6+x*.a7+v*.a8+w*.a9+z*.ab);f[31]=1h(1e-4,e+o*.ac+m*.ad+x*.ae+v*.af+w*.ag+z*.ah);f[32]=1h(1e-4,e+o*.ai+m*.aj+x*.ak+v*.al+w*.am+z*.an);f[33]=1h(1e-4,e+o*.ao+m*.ap+x*.aq+v*.ar+w*.as+z*.at);f[34]=1h(1e-4,e+o*.au+m*.av+x*.aw+v*.ax+w*.ay+z*.az);f[35]=1h(1e-4,e+o*.aA+m*.aB+x*.aC+v*.aD+w*.aE+z*.aF);f[36]=1h(1e-4,e+o*.aG+m*.aH+x*.aI+v*.aJ+w*.aK+z*.aL);f[37]=1h(1e-4,e+o*.aM+m*.aN+x*.aO+v*.aP+w*.aQ+z*.aR);}1b 5T(1b e){aS f;f[0]=1b(3.aT,-1.aU,-.aV);f[1]=1b(-.aW,1.aX,.aY);f[2]=1b(.aZ,-.b0,1.b1);1m s=1V(f[0],e),m=1V(f[1],e),z=1V(f[2],e);1c 5R(1b(s,m,z));}1b 42(1m f[38]){1b e=1b(0);e+=f[0]*1b(6.b2-5,1.b3-6,.b4);e+=f[1]*1b(.b5,6.b6-6,.b7);e+=f[2]*1b(.b8,3.b9-5,.bb);e+=f[3]*1b(.bc,.bd,.be);e+=f[4]*1b(.bf,.bg,.bh);e+=f[5]*1b(.bi,.bj,.bk);e+=f[6]*1b(.bl,.bm,.bn);e+=f[7]*1b(.bo,.bp,.bq);e+=f[8]*1b(.br,.bs,.bt);e+=f[9]*1b(.bu,.bv,.bw);e+=f[10]*1b(.bx,.by,.bz);e+=f[11]*1b(.bA,.bB,.bC);e+=f[12]*1b(.bD,.bE,.bF);e+=f[13]*1b(.bG,.bH,.bI);e+=f[14]*1b(.bJ,.bK,.bL);e+=f[15]*1b(.bM,.bN,.bO);e+=f[16]*1b(.bP,.bQ,.bR);e+=f[17]*1b(.bS,.bT,.bU);e+=f[18]*1b(.bV,.bW,.bX);e+=f[19]*1b(.bY,.bZ,.c0);e+=f[20]*1b(.c1,.c2,.c3);e+=f[21]*1b(.c4,.c5,9.c6-5);e+=f[22]*1b(.c7,.c8,6.c9-5);e+=f[23]*1b(.cb,.cc,2.cd-5);e+=f[24]*1b(.ce,.cf,1.cg-5);e+=f[25]*1b(.ch,.ci,3.cj-6);e+=f[26]*1b(.ck,.cl,1.cm-6);e+=f[27]*1b(.cn,.co,0);e+=f[28]*1b(.cq,.cs,0);e+=f[29]*1b(.ct,.cu,0);e+=f[30]*1b(.cv,.cw,0);e+=f[31]*1b(.cx,.cy,0);e+=f[32]*1b(.cz,.cA,0);e+=f[33]*1b(.cB,.cC,0);e+=f[34]*1b(.cD,6.cE-5,0);e+=f[35]*1b(9.cF-5,3.cG-5,0);e+=f[36]*1b(4.cH-5,1.cI-5,0);e+=f[37]*1b(2e-5,7.cJ-6,0);1c e;}1m 5U(1m v,1m m,1m s){1m z=m*2o(s,2.);1c z/(v*2o(1.-s,2.)+z);}1b 3X(1b s,1b f,1m e){1b v=4M(s),m=4M(f);1m z[38],o[38];4N(v,z);4N(m,o);1m x=42(z)[1],w=42(o)[1];e=5U(x,w,e);1m r[38];1j(cK c=0;c<38;c++){1m y=(1.-e)*(2o(1.-z[c],2.)/(2.*z[c]))+e*(2o(1.-o[c],2.)/(2.*o[c]));r[c]=1.+y-3J(2o(y,2.)+2.*y);}1c 5T(42(r));}1L 3X(1L s,1L e,1m z){1c 1L(3X(s.2T,e.2T,z),5P(s.w,e.w,z));}"}};2x.3p.3q("4x",()=>r.1I(!1,!0));2x.3p.3q("4x",()=>r.1I(!1,!0,!0));2x.3p.3q("5V",()=>r.1I(!1,!0));2x.3p.3q("5V",()=>r.1I(!1,!0,!0));1x u={1i:!1,1Q:1v 4O,2h:"",5W(){1c 1f.1C(h.1z,h.1G)/cL},5q(){j.R=.4L*h.1z;j.5X=-1*h.1z;j.5Y=-1*h.1G;j.2s=1f.2D(2*h.1z/j.R);j.2E=1f.2D(2*h.1G/j.R);j.5Z()},60(){1c j.1Q.2K(j.2h).2v},4l(a=0){j.1Q.2K(j.2h).2v=j.1Q.2K(j.2h).5s(a,j.61())},61(){1a a=43(j.2s);1j(1a b=0;b<j.2s;b++)a[b]=1v 4z(j.2E);1c a},5Z(){O("cM",1k(a,b){1a c=e.1E(-25,-15);0==e.1E(0,4P)%2&&(c*=-1);1j(1a f=0;f<u.2s;f++)1j(1a g=0;g<u.2E;g++){1q d=h.62(.46*f+.3W*a,.46*g+.3W*a);d=e.1D(d,0,1,-c,c);b[f][g]=3*d}1c b});O("cN",1k(a,b){a=e.1E(-25,-15)+5*e.1w(a);0==e.1E(0,4P)%2&&(a*=-1);1a c=e.1E(5,10);1j(1a f=0;f<u.2s;f++)1j(1a g=0;g<u.2E;g++){1q d=h.62(.46*f,.46*g);d=1f.2D(e.1D(d,0,1,-a,a)/c)*c;b[f][g]=4*d}1c b});O("cO",1k(a,b){a=e.1E(-30,-15)+1f.4Q(44*e.1w(a));0==e.1E(0,4P)%2&&(a*=-1);1a c=0;1j(1a d=0;d<u.2s;d++){1j(1a f=0;f<u.2E;f++)b[d][f]=c,c+=a,a*=-1;c+=a;a*=-1}1c b});O("cP",1k(a,b){1a c=e.1E(10,15)+5*e.1w(a);a=e.1E(3,6)+3*e.1y(a);1a d=e.1E(20,35);1j(1a f=0;f<u.2s;f++)1j(1a g=0;g<u.2E;g++){1a l=e.1w(c*f)*d*e.1y(g*a)+e.1E(-3,3);b[f][g]=l}1c b});O("cQ",1k(a,b){1a c=e.1g(.4,.8),d=e.1E(18,26);1j(1a g=0;g<u.2s;g++)1j(1a l=0;l<u.2E;l++){1q f=e.1E(15,20);f=d*e.1w(c*l*g+f);b[g][l]=1.1*f*e.1y(a)}1c b})}};47 X{48(a,b){j.49(a,b);j.2b=0}49(a,b){j.x=a;j.y=b;u.1i&&(j.63=j.x-u.5X+y.1F()[0],j.64=j.y-u.5Y+y.1F()[1],j.4a=1f.2D(j.63/u.R),j.4b=1f.2D(j.64/u.R))}cR(){j.2b=0}4c(){1c u.1i?0<=j.4a&&0<=j.4b&&j.4a<u.2s&&j.4b<u.2E:j.66()}66(){1a a=h.1z,b=h.1G;1c j.x>=-a-y.1F()[0]&&j.x<=a-y.1F()[0]&&j.y>=-b-y.1F()[1]&&j.y<=b-y.1F()[1]}2U(){1c j.4c()&&u.1i?u.60()[j.4a][j.4b]:0}67(a,b,c=u.5W(),d=!0){1n(j.4c()){1a g;1n(!d){g=e.1y(-b);1q f=e.1w(-b)}1j(1a l=0;l<a/c;l++){d&&(f=j.2U(),g=e.1y(f-b),f=e.1w(f-b));1a n=c*g,q=c*f;j.2b+=c;j.49(j.x+n,j.y+q)}}2w j.2b+=c}4R(a,b,c,d){1n(j.4c()){d=1/d;1j(1a g=0;g<b/c;g++){1q f=j.2U();1a l=a.2U(j.2b),n=c*e.1y(f-l);f=c*e.1w(f-l);j.2b+=c*d;j.49(j.x+n,j.y+f)}}2w j.2b+=c/3x}}1a 4n=1;1x k={1i:!0,1Q:1v 4O,c:"#cS",w:1,cr:2p,2G:"68",2V:(a,b)=>{1x c="3e"===b.1r||"2F"===b.1r||"1T"===b.1r;c||"3f"===b.1r||(b.1r="4d");"1T"===b.1r&&(V.2V(b.1T.69),b.3g=()=>k.1d.1T(V.3y.2K(k.p.1T.69),-k.p.1Y/2,-k.p.1Y/2,k.p.1Y,k.p.1Y));b.1I=c&&!1!==b.1I||b.1I?!0:!1;k.1Q.1R(a,{3H:b,cT:[],cU:[]})},1R(a,b,c=1){k.4S(a);k.c=b;k.w=c;k.1i=!0},4S(a){k.2G=a},6a(a,b,c){0<3a.1l&&(k.c=2>3a.1l?a:[a,b,c]);k.1i=!0},6b(a){k.w=a},3n(a){k.cr=a},4T(){k.cr=2p},2S(a,b,c,d){E();1a f=h.2O(a,b,c,d);0!=f&&(k.4e(a,b,f,!1,!1),a=T(a,b,c,d),k.1S(a,!1))},4U(a,b,c,d){E();k.4e(a,b,c,!0,!1);k.1S(e.2Q(d),!1)},4V(a,b,c,d){E();k.4e(b,c,a.1l,!0,a);k.1S(d,!0)},2M(){j.p=j.1Q.2K(j.2G).3H;1c"4d"===j.p.1r||"3f"===j.p.1r?j.p.2M/j.w:j.p.2M},4e(a,b,c,d,f){j.1t=1v X(a,b);j.1l=c;j.4W=d;(j.2W=f)&&f.3z(0)},1S(a,b){b||(j.2t=a);j.4X();1x c=j.2M(),d=b?1f.2D(j.1l*a/c):1f.2D(j.1l/c);1j(1a f=0;f<d;f++)j.3g(),b?j.1t.4R(j.2W,c,c,a):j.1t.67(c,a,c,j.4W);j.4Y()},cV(a){j.4X(!0);j.3g(a);j.4Y(!0)},4X(a=!1){j.p=j.1Q.2K(j.2G).3H;1n(!a){j.a="2F"!==j.p.2c.1r?e.1g(-1,1):0;j.b="2F"!==j.p.2c.1r?e.1g(1,1.5):0;j.cp="2F"!==j.p.2c.1r?e.1g(3,3.5):e.1g(-.2,.2);1x[b,c]=j.p.2c.1W;j.1C=b;j.1h=c}j.c=h.1P(j.c);j.1d=j.p.1I?"1T"===j.p.1r?r.2u:r.1d:r.2f;y.1F();j.1d.1s();j.1d.3u();"1T"===j.p.1r?j.1d.3d(y.2A[0],y.2A[1]):j.1d.3d(y.2A[0]+h.1z/2,y.2A[1]+h.1G/2);j.1d.1J(-y.39);j.1d.3x(W);j.p.1I&&("1T"!==j.p.1r?r.1I(j.c):r.1I(j.c,!1,!0),a||j.4Z());j.50=j.52();j.6c(j.50)},4Y(a=!1){j.p.1I&&!a&&j.4Z();j.1d.2P()},3g(a=!1){a=a?a:j.53();1n(j.54())cW(j.p.1r){4f"3f":j.6d(a);56;4f"3e":j.57(a);56;4f"2F":4f"1T":j.59(a,j.50);56;4d:j.6e(a)}},53(){1c j.2W?j.5a()*j.2W.2c(j.1t.2b):j.5a()},5a(){1c"2F"===j.p.2c.1r?e.1D(j.p.2c.1B(j.1t.2b/j.1l)+j.cp,0,1,j.1C,j.1h,!0):j.5b()},5b(a=.5+k.p.2c.1B[0]*k.a,b=1-k.p.2c.1B[1]*k.b,c=k.cp,d=k.1C,f=k.1h){1c e.1D(1/(1+1f.2o(1f.4Q((j.1t.2b-a*j.1l)/(b*j.1l/2)),2*c)),0,1,d,f)},52(a){1c"4d"!==j.p.1r&&"3f"!==j.p.1r?j.p.2i/j.w:j.p.2i},6c(a){j.p.1I?j.1d.1o(2n,0,0,a/2):(j.c.cX(a),j.1d.1o(j.c))},54(){1n(k.cr)1c j.1t.x>=k.cr[0]&&j.1t.x<=k.cr[2]&&j.1t.y>=k.cr[1]&&j.1t.y<=k.cr[3];1a a=.55*h.1z,b=.55*h.1G;1c j.1t.x>=-a-y.1F()[0]&&j.1t.x<=a-y.1F()[0]&&j.1t.y>=-b-y.1F()[1]&&j.1t.y<=b-y.1F()[1]},6d(a){1a b=j.w*j.p.2L*a+j.w*e.2r()*j.p.2L/3,c=j.p.1Y*e.1g(.9,1.1);a=j.p.5c/a;1j(1a d=0;d<a;d++){1a f=e.1g(.9,1.1),g=f*b*e.1g(-1,1),l=e.1g(-1,1);j.1d.3A(j.1t.x+g,j.1t.y+l*1f.3J(1f.2o(f*b,2)-1f.2o(g,2)),c)}},57(a,b=!0){1a c=b?j.w*j.p.2L:0,d=b?c*e.1g(-1,1):0;b=b?c*e.1g(-1,1):0;j.1d.3A(j.1t.x+d,j.1t.y+b,j.w*j.p.1Y*a)},59(a,b,c=!0){j.1d.1s();1a d=c?j.w*j.p.2L:0,f=c?d*e.1g(-1,1):0;c=c?d*e.1g(-1,1):0;j.1d.3d(j.1t.x+f,j.1t.y+c);j.6f(j.w*a,b);j.p.3g(j.1d);j.1d.2P()},6e(a){1a b=j.w*j.p.2L*(j.p.5d+(1-j.p.5d)*e.2r()*j.5b(.5,.9,5,.2,1.2)/a);.4<e.1g(0,j.p.5c*a)&&j.1d.3A(j.1t.x+.7*b*e.1g(-1,1),j.1t.y+b*e.1g(-1,1),a*j.p.1Y*e.1g(.85,1.15))},6f(a,b){j.1d.3x(a);"1T"===j.p.1r&&(j.p.1I?j.1d.6g(2n,0,0,b/2):j.1d.6g(j.1d.cY(j.c),j.1d.cZ(j.c),j.1d.d0(j.c),b));"1g"===j.p.1J?j.1d.1J(e.1E(0,1u)):"6h"===j.p.1J&&(a=(j.2W?-j.2W.2U(j.1t.2b):-j.2t)+(j.4W?j.1t.2U():0),j.1d.1J(a))},4Z(){1n(j.54()){1a b=j.53();1q a=j.52(b);j.1d.1o(2n,0,0,a/1.5);1n("3e"===k.p.1r)1j(a=1;5>a;a++)j.57(b*a/5,!1);2w 1n("2F"===k.p.1r||"1T"===k.p.1r)1j(1a c=1;5>c;c++)j.59(b*c/5,a,!1)}}},V={3y:1v 4O,2V(a){j.3y.1R(a,!1)},6i(a){a.d1();1j(1a b=0;b<4*a.1z*a.1G;b+=4){1a c=(a.2X[b]+a.2X[b+1]+a.2X[b+2])/3;a.2X[b]=a.2X[b+1]=a.2X[b+2]=2n;a.2X[b+3]=2n-c}a.d2()},2Z(){1j(1a a 1N j.3y.5e()){1a b=d3(a,()=>V.6i(b));j.3y.1R(a,b)}}},z={1i:!1,2q:[5,45,{}],1Z:!1,1A(a){1a b=z.2q[0],c=z.2q[1],d=z.2q[2],f=k.c,g=k.2G,l=k.w,n=k.1i;z.1Z&&k.1R(z.1Z[0],z.1Z[1],z.1Z[2]);c=e.2Q(c)%1X;1a q=3B,t=-3B,x=3B,A=-3B;1q p=K=>{1j(1a H 1N K.a)q=H[0]<q?H[0]:q,t=H[0]>t?H[0]:t,x=H[1]<x?H[1]:x,A=H[1]>A?H[1]:A};43.d4(a)||(a=[a]);1j(1q D 1N a)p(D);D=1v P([[q,x],[t,x],[t,A],[q,A]]);1a I=90>=c&&0<=c?x:A;1q B=d.4q?e.1D(d.4q,0,1,1,1.1,!0):1;p=[];1a L=0,C=b,G=K=>({3C:{x:q+C*K*e.1y(-c+90),y:I+C*K*e.1w(-c+90)},3D:{x:q+C*K*e.1y(-c+90)+e.1y(-c),y:I+C*K*e.1w(-c+90)+e.1w(-c)}});1j(;0<D.4g(G(L)).1l;){1a K=[];1j(1q J 1N a)K.1s(J.4g(G(L)));p[L]=K.d5().d6((H,Y)=>H.x===Y.x?H.y-Y.y:H.x-Y.x);C*=B;L++}a=[];1j(1q M 1N p)"4i"!==3m M[0]&&a.1s(M);M=d.4p?d.4p:0;1j(J=0;J<a.1l;J++)1j(p=a[J],D=0<J&&d.5t,B=0;B<p.1l-1;B+=2)0!==M&&(p[B].x+=M*b*e.1g(-10,10),p[B].y+=M*b*e.1g(-10,10),p[B+1].x+=M*b*e.1g(-10,10),p[B+1].y+=M*b*e.1g(-10,10)),k.2S(p[B].x,p[B].y,p[B+1].x,p[B+1].y),D&&k.2S(a[J-1][1].x,a[J-1][1].y,p[B].x,p[B].y);k.1R(g,f,l);k.1i=n}};47 P{48(a,b=!1){j.a=a;j.5f=a.1D(c=>({x:c[0],y:c[1]}));b&&(j.5f=a);j.5g=j.5f.1D((c,d,f)=>[c,f[(d+1)%f.1l]])}4g(a){1a b=`${a.3C.x},${a.3C.y}-${a.3D.x},${a.3D.y}`;1n(j.3h&&j.3h[b])1c j.3h[b];1a c=[];1j(1a d 1N j.5g){1a f=ba(a.3C,a.3D,d[0],d[1]);!1!==f&&c.1s(f)}j.3h||(j.3h={});1c j.3h[b]=c}1S(a=!1,b,c){1a d=k.1i;a&&k.1R(a,b,c);1n(k.1i){E();1j(1a f 1N j.5g)k.2S(f[0].x,f[0].y,f[1].x,f[1].y)}k.1i=d}1o(a=!1,b,c,d,f,g){1a l=v.1i;a&&(4u(a,b),4v(c,g),4w(d,f));v.1i&&(E(),v.1o(j));v.1i=l}1A(a=!1,b,c){1a d=z.1i;a&&4o(a,b,c);z.1i&&(E(),z.1A(j));z.1i=d}}47 U{48(a){j.2N=[];j.2d=[];j.3i=[];j.1r=a;j.2t=0;j.3z(0);j.3j=!1}1O(a=0,b=0,c=1,d=!1){0<j.2d.1l&&j.2d.6j(-1);a=d?(a%1u+1u)%1u:e.2Q(a);j.2d.1s(a);j.3i.1s(c);j.2N.1s(b);j.1l=j.2N.d7((f,g)=>f+g,0);j.2d.1s(a)}3o(a=0,b=1,c=!1){a=c?(a%1u+1u)%1u:e.2Q(a);j.2d.6j(-1);j.2d.1s(a);j.3i.1s(b)}1J(a){j.2t=e.2Q(a)}2c(a){1c a>j.1l?j.3i[j.3i.1l-1]:j.5h(j.3i,a)}2U(a){1n(a>j.1l)1c j.2d[j.2d.1l-1];j.3z(a);1c"1B"===j.1r?j.5h(j.2d,a)+j.2t:j.2d[j.2Y]+j.2t}5h(a,b){1a c=a[j.2Y];a=a[j.2Y+1];"4i"==3m a&&(a=c);1X<1f.4Q(a-c)&&(a>c?a=-(1u-a):c=-(1u-c));1c e.1D(b-j.5i,0,j.2N[j.2Y],c,a,!0)}3z(a){j.2Y=-1;1a b=j.5i=0;1j(;b<=a;)j.5i=b,b+=j.2N[j.2Y+1],j.2Y++}5j(a,b,c=1,d=!1){E();1q f=0,g=d8;1j(1q l 1N j.2N)l*=c,0!==l&&(f=1f.1h(f,l),g=1f.1C(g,l));c=k.2M();l=[];1q n=e.2k(v.2j,.d9,1);d=(f+g)*(d?.3W:v.5k?.25:n);a=1v X(a,b);b=1f.2D(j.1l/c);g=f=0;n=d*e.1g(.7,1.3);1j(1a q=0;q<b;q++)a.4R(j,c,c,1),f+=c,f>=n&&a.x&&(l[g]=[a.x,a.y],n=d*e.1g(.7,1.3),g++,f=0);j.3z(0);1c 1v P(l)}1S(a,b,c){k.1i&&(E(),j.2l&&(a=j.2l[0],b=j.2l[1],c=1),k.4V(j,a,b,c))}1o(a,b,c){v.1i&&(E(),j.2l&&(a=j.2l[0],b=j.2l[1],c=1),j.3j=j.5j(a,b,c),j.3j.1o())}1A(a,b,c){z.1i&&(E(),j.2l&&(a=j.2l[0],b=j.2l[1],c=1),j.3j=j.5j(a,b,c,!0),j.3j.1A())}}1a F=!1,R;1x v={1i:!1,5k:!1,1P:"#db",2i:80,2j:.dc,2I:.4,2J:.4,1o(a){j.5l=a;j.v=a.a.1D(c=>h.6k(c[0],c[1]));1x b=j.v.1l*e.1g(.4);v.m=j.v.1D((c,d)=>{c=e.1g(.8,1.2)*j.2j;1c d<b?e.2k(2*c,0,.9):c});a=e.1E(0,j.v.1l);j.v=[...j.v.6l(a),...j.v.6l(0,a)];(1v 5m(j.v,j.m,j.6m(),[],!0)).1o(j.1P,1f.1K(e.1D(j.2i,0,dd,0,20,!0)),j.2I)},6m(){1a a=0,b=0;1j(1a c=0;c<j.v.1l;++c)a+=j.v[c].x,b+=j.v[c].y;a/=j.v.1l;b/=j.v.1l;1c h.6k(a,b)}};47 5m{48(a,b,c,d,f=!1){j.3j=1v P(a,!0);j.v=a;j.2t=d;j.m=b;j.3k=c;j.3l=-3B;1j(1q g 1N j.v)a=h.2O(j.3k.x,j.3k.y,g.x,g.y),a>j.3l&&(j.3l=a);1n(f)1j(f="5w"===h.2z()?1f.2g/1X:1,g=0;g<j.v.1l;g++){a=j.v[g];b=j.v[(g+1)%j.v.1l];c=2x.5n.de(b,a);d=c.df();d.1J(90*f);c={3C:{x:a.x+c.x/2,y:a.y+c.y/2},3D:{x:a.x+c.x/2+d.x,y:a.y+c.y/2+d.y}};d=0;1j(1a l 1N v.5l.4g(c)).4L<(b.x-a.x)*(l.y-a.y)-(b.y-a.y)*(l.x-a.x)&&d++;j.2t[g]=0===d%2?!0:!1}}1H(a,b=!1){1x c=[],d=[],f=[];1a g=.2<=a&&10<=j.v.1l?1f.1K(a*j.v.1l):j.v.1l;1x l=h.2z();h.2z(h.dg);b=b?-.5:1;1x n=p=>{1x D=e.2r(.5,.1);1c p+.1*(D-.5)};1a q=1v 2x.5n;1j(1a p=0;p<g;p++){1q t=j.v[p];1x D=j.v[(p+1)%g];1a I=.1===a?.1>=v.2j?.25:.75:j.m[p];I*=b;c.1s(t);d.1s(n(I));1q x=D.x-t.x,A=D.y-t.y;1a B=1f.3J(x*x+A*A);q.1R(x,A).dh();x=j.2t[p];A="2m"==v.5u?90:-90;A=(x?A:-A)+45*e.2r(0,.4);q.1J(A*1f.2g/1X);q.di(e.2r(.5,.2)*e.1g(.6,1.4)*B*I);t=2x.5n.dj(t,D,e.2k(e.2r(.5,.2),.1,.9));t.2V(q);c.1s(t);d.1s(n(I));f.1s(x,x)}h.2z(l);1c 1v 5m(c,d,j.3k,f)}1o(a,b,c){1a d=e.1D(v.2j,0,.15,.6,1,!0);1x f=24*d,g=b/5+c*b/6,l=b/4+c*b/3,n=b/7+c*b/3,q=b/5;c*=3;y.1F();r.1I(a,!1,!1,!0);r.1d.1s();r.1d.3u();r.1d.3d(y.2A[0]+h.1z/2,y.2A[1]+h.1G/2);r.1d.1J(y.39);r.1d.3x(W);a=j.1H();1a t=a.1H().1H(.9),x=t.1H(.75),A=j.1H(.6);1j(1a p=0;p<f;p++){1n(p===1f.1K(f/4)||p===1f.1K(f/2)||p===1f.1K(3*f/4))1n(a=a.1H(),1===d||p===1f.1K(f/2))t=t.1H(.75),x=x.1H(.75),A=A.1H(.1,!0);a.1H().3E(p,q);A.1H(.1,!0).1H(.1).3E(p,n,!1);t.1H(.1).1H(.1).3E(p,l,!1);x.1H(.8).1H(.1).3E(p,g,!1);0!==c&&a.5o(c,b)}r.1d.2P()}3E(a,b,c=!0){r.1d.1o(2n,0,0,b);c?(r.1d.1M(2n,0,0,.5+1.5*v.2J),r.1d.6n(e.1D(a,0,24,6,.5))):r.1d.3u();r.1d.6o();1j(1a d 1N j.v)r.1d.6p(d.x,d.y);r.1d.6q(h.3I)}5o(a,b){1x c=e.1g(dk,6r),d=j.3l/2,f=.dl*j.3l,g=.19*j.3l;r.1d.5o(3.5*a-e.1D(b,80,6s,.3,1,!0),0);1j(a=0;a<c;a++){b=j.3k.x+e.2r(0,d);1x l=j.3k.y+e.2r(0,d),n=e.1g(f,g);r.1d.3A(b,l,n)}r.1d.dm()}}1x 6t="1Y 2L 5d 5c 2i 2M 2c 1r 3g 1J".dn(" "),4m=[["do",[.35,.12,.5,8,6r,.3,{1B:[.15,.2],1W:[1.4,.9]}]],["dp",[.2,.6u,1,3,5r,.15,{1B:[.6u,.2],1W:[1.7,.8]}]],["2B",[.35,.5,.1,8,1X,.2,{1B:[.15,.2],1W:[1.3,1]}]],["68",[.3,.5,.4,4,1X,.25,{1B:[.15,.2],1W:[1.2,.9]}]],["2H",[.2,.4,.3,2,6v,.2,{1B:[.15,.2],1W:[1.2,.9]}]],["dq",[.4,.6,.8,7,6s,.15,{1B:[.15,.2],1W:[.95,1.2]}]],["dr",[.5,2,.8,ds,dt,.du,{1B:[.15,.2],1W:[1.3,.8]}]],["dv",[.2,.4,.3,2,6v,.15,{1B:[.5,.7],1W:[1,1.5]}]],["3f",[.3,12,15,40,80,.65,{1B:[0,.1],1W:[.15,1.2]},"3f"]],["3e",[2.5,.12,2p,2p,25,.4,{1B:[.35,.25],1W:[1.5,1]},"3e"]],["dw",[2.5,.12,2p,2p,25,.35,{1B:[.35,.25],1W:[1.3,.95]},"2F",1k(a){1a b=4n;a.3U(-1.5*b,-1.5*b,3*b,3*b);a.3U(1*b,1*b,1*b,1*b)},"6h"]]];1j(1a a 1N 4m){1a b={};1j(1a c=0;c<a[1].1l;c++)b[6t[c]]=a[1][c];k.2V(a[0],b)}m.dx=1k(a={}){a.R&&(e.2y=a.R)};m.2Z=N;m.dy=1k(){V.2Z()};m.dz=1k(a=!0){r.4D=a};m.dA=aa;m.3G=Z;m.1s=ca;m.2P=da;m.3s=r.3s;m.4F=r.4F;m.1J=y.1J;m.3x=5y;m.dB=O;m.2v=1k(a){E();u.1i=!0;u.2h=a};m.dC=1k(){u.1i=!1};m.dD=1k(a){u.4l(a)};m.dE=1k(){1c 43.6w(u.1Q.5e())};m.2V=k.2V;m.dF=1k(){1c 43.6w(k.1Q.5e())};m.1R=k.1R;m.dG=k.4S;m.3n=k.3n;m.4T=k.4T;m.1M=k.6a;m.6n=k.6b;m.3u=1k(){k.1i=!1};m.1o=4u;m.dH=4v;m.dI=4w;m.dJ=1k(){v.1i=!1};m.dK=1k(a){v.5k=a};m.2S=k.2S;m.4U=k.4U;m.2W=k.4V;m.3U=1k(a,b,c,d,f=h.dL){f==h.dM&&(a-=c/2,b-=d/2);u.1i?(4r(0),S(a,b),S(a+c,b),S(a+c,b+d),S(a,b+d),4s(3I)):(a=1v P([[a,b],[a+c,b],[a+c,b+d],[a,b+d]]),a.1o(),a.1A(),a.1S())};m.3A=1k(a,b,c,d=!1){1a f=1v U("1B");1q g=1f.2g*c/2;1a l=e.1g(0,1u);f.1O(0+l+(d?e.1g(-1,1):0),g+(d?e.1g(-1,1):0),1,!0);f.1O(-90+l+(d?e.1g(-1,1):0),g+(d?e.1g(-1,1):0),1,!0);f.1O(-1X+l+(d?e.1g(-1,1):0),g+(d?e.1g(-1,1):0),1,!0);f.1O(-dN+l+(d?e.1g(-1,1):0),g+(d?e.1g(-1,1):0),1,!0);g=d?e.1E(-5,5):0;d&&f.1O(0+l,1f.2g/1X*g*c,!0);f.3o(g+l,1,!0);f.1o(a-c*e.1w(l),b-c*e.1y(-l),1);f.1A(a-c*e.1w(l),b-c*e.1y(-l),1);f.1S(a-c*e.1w(l),b-c*e.1y(-l),1)};m.5l=1k(a){a=1v P(a);a.1o();a.1A();a.1S()};m.dO=1k(a,b=.5){4t(a,b).1S()};m.6o=4r;m.6p=S;m.6q=4s;m.dP=1k(a,b,c){R=[b,c];F=1v U(a)};m.dQ=1k(a,b,c){F.1O(a,b,c)};m.dR=1k(a,b){F.3o(a,b);F.1S(R[0],R[1],1);F=!1};m.dS=z.1A;m.1A=4o;m.dT=1k(a,b="dU",c=1){z.1Z=[a,b,c]};m.dV=1k(){z.1i=!1;z.1Z=!1};m.dW=P;m.dX=U;m.dY=X});',
62,
867,
"|||||||||||||||||||this|||||||||||||||||||||||||||||||||||||||||||||||||||||let|vec3|return|mask||Math|random|max|isActive|for|function|length|float|if|fill|vec2|var|type|push|position|360|new|sin|const|cos|width|hatch|curve|min|map|randInt|trans|height|grow|blend|rotate|floor|vec4|stroke|of|addSegment|color|list|set|draw|image|vVertTexCoord|dot|min_max|180|weight|hatchingBrush|||||||||||currentColor|plotted|pressure|angles||noBlend|PI|current|opacity|bleed_strength|constrain|origin|out|255|pow|null|hatchingParams|gaussian|num_columns|dir|mask2|field|else|p5|source|angleMode|translation||shader|round|num_rows|custom|name||texture_strength|border_strength|get|vibration|spacing|segments|dist|pop|toDegrees|isBlending|line|xyz|angle|add|plot|pixels|index|load||||||||||rotation|arguments|createGraphics|pixelDensity|translate|marker|spray|tip|_intersectionCache|pres|pol|midP|size|typeof|clip|endPlot|prototype|registerMethod|clear|reDraw|setUniform|noStroke|uniform|mod|scale|tips|calcIndex|circle|Infinity|point1|point2|layer|brush|remove|param|CLOSE|sqrt|1440|Float32Array|frag|glsl|getPigment|color1|color2|blending1|blending2|addColor|rect|void|03|spectral_mix|spectral_uncompand|055||spectral_compand|spectral_reflectance_to_xyz|Array|||02|class|constructor|update|column_index|row_index|isIn|default|initializeDrawingState|case|intersect|exports|undefined|define|others|refresh|ea|fa|ha|rand|gradient|ia|ja|ka|la|ma|na|afterSetup|isPrecalculationDone|Float64Array|_renderer|mat4|loaded|isCaching|DEGREES|reBlend|active|289|9898|233|5453|01|spectral_srgb_to_linear|spectral_linear_to_reflectance|Map|100|abs|plotTo|setBrush|noClip|flowLine|flowShape|flow|pushState|popState|markerTip|alpha||calculateAlpha|calculatePressure|isInsideClippingArea||break|drawMarker||drawCustomOrImage|simPressure|gauss|quality|definition|keys|vertices|sides|curving|suma|genPol|isAnimated|polygon|oa|Vector|erase|self|create|250|gen|continuous|direction|preCalculation|radians|uMVMatrix|pa|noSmooth|include|spectral|vert|WEBGL|toString|precision|highp|attribute|aPosition|aTexCoord|uModelViewMatrix|uProjectionMatrix|varying|main|fract|mix|texture2D|spectral_linear_to_srgb|spectral_upsampling|spectral_xyz_to_srgb|spectral_linear_to_concentration|post|step_length|left_x|top_y|addStandard|flow_field|genField|noise|x_offset|y_offset||isInCanvas|moveTo|HB|src|setColor|setWeight|applyColor|drawSpray|drawDefault|adjustSizeAndRotation|tint|natural|imageToWhite|splice|createVector|slice|calcCenter|strokeWeight|beginShape|vertex|endShape|200|120|qa|05|150|from|object|module|amd|window|atan2|asin|log|weightedRand|in|isNumber|isNaN|replace|createShader|levels|white|gl_Position|sampler2D|bool|step|any|greaterThan|07482|299|587|114|43358|43213|33358|gl_FragColor|04045|0031308|clamp|inout|96853629||51567122|02055257||03147571|49108579|97901834|96855103|5401552|02059936|03146636|46944057|97901649|96859338|62645502|02062723|03140624|4016578|97901118|96877345|75595012|02073387|03119611|2449042|97892146|96942204|92826996|02114202|03053888|0682688|97858555|97143709|97223624|02233154|02856855|02732883|97743705|97541862|98616174|02556857|02459485|013606|97428075|98074186|98955255|03330189|0192952|01000187|96663223|98580992|98676237|05185294|01423112|01284127|94822893|98971194|97312575||10087639|01033111|02636635|89937713||99238027|91944277|24000413|00765876|07058713|76070164|99409844|32564851|53589066|00593693|70421692|4642044|995172|13820628|79874659|00485616|85473994|20123039|99576545|05015143|91186529|00426186|95081565|08808402|99593552|02912336|95399623|00409039|9717037|04592894|99564041|02421691|97137099|00438375|97651888|02860373|99464769|02660696|97939505|00537525|97429245|02060067|99229579|03407586|98345207|00772962|97012917|01656701|98638762|04835936|98553736|0136612|9425863|01451549|96829712|0001172||98648905||03181352|99989207||01357964|89228016|554e|98674535|10791525|99989891|01331243|53740239|85267882|98657555|46249516|13823139|01347661|15360445|93188793|98611877|84604333|06968113|01387181|05705719|94810268|98559942|94275572|05628787|01435472|03126539|94200977|98507063|96860996|06111561|01479836|02205445|91478045|98460039|97783966|08987709|0151525|01802271|87065445|98425301|98187757|13656016|01540513|0161346|78827548|98403909|98377315|22169624|01557233|01520947|65738359|98388535|98470202|32176956|0156571|01475977|59909403|98376116|98515481|36157329|01571025|01454263|56817268|98368246|98537114|4836192||01571916|01444459|54031997|98365023|98546685|46488579|01572133|01439897|52110241|98361309|98550011|47440306|01572502|0143762|51041094|98357259|98551031|4857699|01571717|01436343|50526577|98353856|98550741|49267971|01571905|01435687|5025508|98351247|98551323|49625685|01571059|0143537|50126452|98350101|98551563|49807754|01569728|01435408|50083021|98350852|98551547|49889859|0157002|mat3|24306333|53837619|49893282|96896309|87542451|04154303|05568392|20417438|05799454|469e|84e|00030502|00021941|21e|00103681|00112057|101e||00531314|00376661|00010475|01795439|01188055|00035364|05707758|02328644|00095147|11365162|03455942|00228226|17335873|03722379|00420733|19620658|03241838|0066888|18608237|02123321|0098884|13995048|01049099|01524945|08917453|00329584|02141831|04789621|00050704|03342293|02814563|00094867|05131001|01613766|00627372|07040208|0077591|01686462|08783871|00429615|02868965|09424905|00200551|04267481|09795667|00086147|05625475|09415219|00036904|0694704|08678102|00019143|08305315|07885653|00014956|0861261|0635267|231e|09046614|05374142|813e||08500387|04264606|883e|07090667|03161735|577e|05062889|02088521|94e|03547396|01386011|58e|02146821|00810264||01251646||0046301|00680458|00249138|00346457|0012593|00149761|00054165|0007697|00027795|00040737|00014711|00016901|103e|522e|439e|903e|771e|22e|int|1E3|curved|truncated|zigzag|waves|seabed|reset|000000|colors|buffers|drawTip|switch|setAlpha|red|green|blue|loadPixels|updatePixels|loadImage|isArray|flat|sort|reduce|9999|075||002185|07|155|sub|copy|RADIANS|normalize|mult|lerp|130|025|noErase|split|pen|rotring|cpencil|charcoal|300|110|06|hatch_brush|marker2|config|preload|colorCache|scaleBrushes|addField|noField|refreshField|listFields|box|pick|bleed|fillTexture|noFill|fillAnimatedMode|CORNER|CENTER|270|spline|beginStroke|segment|endStroke|hatchArray|setHatch|black|noHatch|Polygon|Plot|Position".split(
"|"
),
0,
{}
)
)
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more