1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,60770,16742,79939,35014,10737,4467,84697,69148,37525,18375,t=>{"use strict";function e(t,s,i,n=1){return`hsla(${t}, ${s}%, ${i}%, ${n})`}function s({style:t,variant:e,weight:i,size:n,font:r}){return`${null!=t?t:""} ${null!=e?e:""} ${null!=i?i:""} ${n}px ${null!=r?r:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif"}`}t.s([],60770),t.s(["hsla",0,e],16742);class i{constructor(t,e){this.config=t,this.text=e,this.textIn=(t,e)=>{let i,{size:n,at:r,kind:o,align:h="center"}=this.config;t.textAlign=h,t.font=s(this.config),i=r[1]+n/2,"fill"===o?t.fillText(this.text,r[0],i):t.strokeText(this.text,r[0],i)}}measure(t){let{size:e,align:i="center"}=this.config;if(t.textAlign=i,!(e<1))return t.font=s(this.config),t.measureText(this.text);{t.font=s(Object.assign(Object.assign({},this.config),{size:100*this.config.size}));let e=t.measureText(this.text);return{actualBoundingBoxAscent:e.actualBoundingBoxAscent/100,actualBoundingBoxDescent:e.actualBoundingBoxDescent/100,actualBoundingBoxLeft:e.actualBoundingBoxLeft/100,actualBoundingBoxRight:e.actualBoundingBoxRight/100,fontBoundingBoxAscent:e.fontBoundingBoxAscent/100,fontBoundingBoxDescent:e.fontBoundingBoxDescent/100,width:e.width/100}}}}t.s(["Rect",()=>p],10737);let n=([t,e],[s,i])=>[t+s,e+i],r=([t,e],[s,i])=>[t-s,e-i],o=([t,e])=>Math.sqrt(t**2+e**2),h=(t,e)=>o(r(t,e)),a=([t,e],s)=>[s*t,s*e],l=([t,e],[s,i])=>t*s+e*i,c={add:n,subtract:r,magnitude:o,rotate:([t,e],s)=>[t*Math.cos(s)-e*Math.sin(s),t*Math.sin(s)+e*Math.cos(s)],normalize:t=>{let e=o(t);return[t[0]/e,t[1]/e]},scale:a,polarToCartesian:([t,e],s,i)=>[t+s*Math.cos(i),e+s*Math.sin(i)],pointAlong:(t,e,s=.5)=>n(t,a(r(e,t),s)),dot:l,distance:h};t.s(["v",0,c],79939);let u=t=>{let e=t.length;if(0===e)throw Error("centroid must have at least one point");{if(1===e)return t[0];let s=t[0][0]==t[e-1][0]&&t[0][1]==t[e-1][1]?e-1:e,i=0,n=0;for(let e=0;e<s;e++)i+=t[e][0],n+=t[e][1];return[i/s,n/s]}};t.s(["Path",()=>f],35014);var d=function(t,e){var s={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&0>e.indexOf(i)&&(s[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,i=Object.getOwnPropertySymbols(t);n<i.length;n++)0>e.indexOf(i[n])&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(s[i[n]]=t[i[n]]);return s};class f{constructor(t){this.edges=[],this.addLineTo=t=>(this.edges.push({kind:"line",from:this.currentPoint,to:t}),this.currentPoint=t,this),this.addCurve=t=>{let{to:e}=t,s=d(t,["to"]);return this.addCurveTo(e,s)},this.addCurveTo=(t,e={})=>{let{curveSize:s=1,polarlity:i=1,bulbousness:n=1,curveAngle:r=0,twist:o=0}=e,h=c.subtract(t,this.currentPoint),a=c.magnitude(h),l=c.add(this.currentPoint,c.scale(h,.5)),u=c.normalize(c.rotate(h,-Math.PI/2)),d=c.rotate(u,r),f=c.add(l,c.scale(d,s*i*a*.5)),g=c.normalize(c.rotate(d,-Math.PI/2-o)),p=c.add(f,c.scale(g,n*a/2)),m=c.add(f,c.scale(g,-n*a/2));return this.edges.push({kind:"cubic",control1:p,control2:m,to:t,from:this.currentPoint}),this.currentPoint=t,this},this.traceIn=t=>{let{from:e}=this.edges[0];for(let s of(t.moveTo(...e),this.edges))switch(s.kind){case"line":t.lineTo(...s.to);break;case"cubic":{let{to:e,control1:i,control2:n}=s;t.bezierCurveTo(i[0],i[1],n[0],n[1],e[0],e[1])}}},this.currentPoint=t}static startAt(t){return new f(t)}moved(t){return this.transformed(e=>c.add(e,t))}scaled(t){let e=this.centroid;return this.transformed(s=>c.add(e,c.scale(c.subtract(s,e),t)))}get reversed(){let t=new f(this.currentPoint);return t.edges=this.edges.map(t=>{switch(t.kind){case"line":return{kind:"line",from:t.to,to:t.from};case"cubic":return{kind:"cubic",from:t.to,to:t.from,control1:t.control2,control2:t.control1}}}),t}get centroid(){return u(this.edges.map(t=>t.from))}get segmented(){let t=this.centroid;if(this.edges.length<2)throw Error("Must have at least 2 edges");this.edges.length;let e=[];for(let s of this.edges){let i=new f(s.to);i.edges=[s],i.addLineTo(t),i.addLineTo(s.from),e.push(i)}return e}exploded(t={}){let{magnitude:e=1.2,scale:s=1}=t,i=this.centroid;
1if(this.edges.length<2)throw Error("Must have at least 2 edges");let n=[];for(let t of this.edges){let r=new f(t.to);r.edges=[t],r.addLineTo(i),r.addLineTo(t.from);let o=r.scaled(s),h=o.centroid,a=c.scale(c.subtract(h,i),e-1);n.push(o.moved(a))}return n}transformed(t){let e=new f(this.currentPoint);return e.edges=this.edges.map(e=>{switch(e.kind){case"cubic":return{kind:"cubic",from:t(e.from),to:t(e.to),control1:t(e.control1),control2:t(e.control2)};case"line":return{kind:"line",from:t(e.from),to:t(e.to)}}}),e}transformedLooped(t){let e=this.transformed(t);return e.edges[e.edges.length-1].to=[...e.edges[0].from],e}rotated(t){let e=this.centroid,[s,i]=e;return this.transformed(n=>{let[r,o]=c.subtract(n,e);return[s+Math.cos(t)*r-Math.sin(t)*o,i+Math.sin(t)*r+Math.cos(t)*o]})}subdivide(t){let e=this.edges.length,{n:s,m:i}=t;(i>s||s>=e||i>=e||s<0||i<0)&&Error("Requires two indices, ordered, each less than the total edges in this path");let n=this.edges.slice(i,s),r=[...this.edges.slice(s),...this.edges.slice(0,i)];if(t.curve){let e=new f(n[n.length-1].to),s=new f(r[r.length-1].to);e.edges=n,s.edges=r;let i=t.curve&&t.curve.polarlity||1;return e.addCurveTo(n[0].from,t.curve),s.addCurveTo(r[0].from,Object.assign(Object.assign({},t.curve),{polarlity:-i})),[e,s]}{n.push({to:n[0].from,from:n[n.length-1].to,kind:"line"}),r.push({from:n[0].from,to:n[n.length-1].to,kind:"line"});let t=new f(n[n.length-1].to);t.edges=n;let e=new f(r[r.length-1].to);return e.edges=r,[t,e]}}}class g{constructor(t=[]){this.points=t,this.traceIn=t=>{let e=this.points[0];for(let s of(t.moveTo(...e),this.points.slice(1)))t.lineTo(...s)}}static startAt(t){return new g([t])}static withPoints(t){return new g(t)}addPoint(t){return this.points.push(t),this}close(){return this.points[0]&&this.points.push(this.points[0]),this}chaiken({n:t=1,looped:e=!1}){for(let s=0;s<t;s++)this.points=(e?[]:this.points.slice(0,1)).concat((function(t,e){if(t.length<3)return[];let s=[];e&&s.push([t[t.length-2],t[0],t[1]]);for(let e=0;e<t.length-2;e++)s.push([t[e],t[e+1],t[e+2]]);return e&&s.push([t[t.length-2],t[t.length-1],t[1]]),s})(this.points,e).flatMap(([t,e,s])=>[c.pointAlong(e,t,.25),c.pointAlong(e,s,.25)])).concat(e?[]:this.points.slice(this.points.length-1)).slice(+!!e);return e&&(this.points[0]=this.points[this.points.length-1]),this}moved(t){return this.transformed(e=>c.add(e,t))}scaled(t){let e=this.centroid;return this.transformed(s=>c.add(e,c.scale(c.subtract(s,e),t)))}transformPoints(t){return this.points=this.points.map(t),this}transformLoopedPoints(t){return this.points=this.points.map(t),this.points[this.points.length-1]=[this.points[0][0],this.points[0][1]],this}get reversed(){return new g(this.points.slice().reverse())}get centroid(){return u(this.points)}get segmented(){let t=this.centroid;if(this.points.length<2)throw Error("Must have at least 2 points");let e=this.points.length-1,s=[];for(let i=0;i<e;i++)s.push(g.withPoints([this.points[i],this.points[i+1],t,this.points[i]]));return s}exploded(t={}){let{magnitude:e=1.2,scale:s=1}=t,i=this.centroid;if(this.points.length<2)throw Error("Must have at least 2 points");let n=this.points.length-1,r=[];for(let t=0;t<n;t++){let n=g.withPoints([this.points[t],this.points[t+1],i,this.points[t]]).scaled(s),o=n.centroid,h=c.scale(c.subtract(o,i),e-1);r.push(n.moved(h))}return r}transformed(t){return new g(this.points.map(t))}transformLooped(t){let e=this.points.map(t);return e[e.length-1]=[e[0][0],e[0][1]],new g(e)}withAppended(t){return new g(this.points.concat(t.points))}rotated(t){let e=this.centroid,[s,i]=e;return this.transformed(n=>{let[r,o]=c.subtract(n,e);return[s+Math.cos(t)*r-Math.sin(t)*o,i+Math.sin(t)*r+Math.cos(t)*o]})}subdivide(t){let e=this.points.length,{n:s,m:i}=t;(i>s||s>=e||i>=e||s<0||i<0)&&Error("Requires two indices, ordered, each less than the total points in this path");let n=[...this.points.slice(i,s+1),this.points[i]],r=[...this.points.slice(s-1),...this.points.slice(0,i+1),this.points[s]];return[g.withPoints(n),g.withPoints(r)]}curvify(t){if(this.points.length<2)throw Error("Must have at least 2 points");let e=this.points[0],s=f.startAt(e);for(let e=0;e<this.points.length-1;e++){let i=t(e);i?s.addCurveTo(this.points[e+1],i):s.addLineTo(this.points[e+1])}return s}get edges(){return(function(t){if(t.length<2)return[];let e=[];for(let s=0;s<t.length-1;s++)e.push([t[s],t[s+1]]);return e})(this.points).map(g.withPoints)}}class p{constructor(t){this.traceIn=t=>{t.rect(this.at[0],this.at[1],this.w,this.h)},this.split=t=>{let{orientation:e,split:s}=t;if(s=s||.5,"horizontal"===e)if("number"==typeof s)return[new p({at:this.at,w:this.w/2,h:this.h}),new p({at:[this.at[0]+this.w/2,this.at[1]],w:this.w/2,h:this.h})];else{let t=s.reduce((t,e)=>t+e,0),e=s.map(e=>e/t),i=[],n=0;return e.forEach(t=>{i.push([n,t*this.w]),n+=t*this.w}),i.map(([t,e],s)=>new p({at:[this.at[0]+t,this.at[1]],w:e,h:this.h}))}{if("number"==typeof s)return[new p({at:this.at,w:this.w,h:this.h/2}),new p({at:[this.at[0],this.at[1]+this.h/2],w:this.w,h:this.h/2})];let t=s.reduce((t,e)=>t+e,0),e=s.map(e=>e/t),i=[],n=0;return e.forEach(t=>{i.push([n,t*this.h]),n+=t*this.h}),i.map(([t,e],s)=>new p({at:[this.at[0],this.at[1]+t],w:this.w,h:e}))}};const{at:e,w:s,h:i,align:n="topLeft"}=t;this.at="topLeft"===n?e:c.subtract(e,[s/2,i/2]),this.w=s,this.h=i}get path(){let[t,e]=this.at;return g.withPoints([this.at,[t+this.w,e],[t+this.w,e+this.h],[t,e+this.h]]).close()}}function m(t,e,s,i,n){var r=e+i>>>0,o=s+n>>>0;o>>>0<s>>>0&&(r=r+1|0),t[0]=r,t[1]=o}class w{constructor(t,e,s=0x14057b7e,i=0xf767814f){let n,r;void 0===e&&void 0===t?(r=0xffffffff*Math.random()>>>0,n=0):void 0===e?(r=t,n=0):(r=e,n=t),this.state=new Int32Array([0,0,s>>>0,(1|i)>>>0]),this.next(),m(this.state,this.state[0],this.state[1],n>>>0,r>>>0),this.next()}getState(){return[this.state[0],this.state[1],this.state[2],this.state[3]]}setState(t){this.state[0]=t[0],this.state[1]=t[1],this.state[2]=t[2],this.state[3]=1|t[3]}next(){var t,e,s,i,n,r=this.state[0]>>>0,o=this.state[1]>>>0;t=this.state,e=(o>>>16)*32557>>>0,s=(65535&o)*19605>>>0,i=(65535&o)*32557>>>0,n=(o>>>16)*19605+((s>>>16)+(e>>>16))>>>0,(i=i+(s=s<<16>>>0)>>>0)>>>0<s>>>0&&(n=n+1>>>0),(i=i+(e=e<<16>>>0)>>>0)>>>0<e>>>0&&(n=n+1>>>0),n=(n=n+Math.imul(o,0x5851f42d)>>>0)+Math.imul(r,0x4c957f2d)>>>0,t[0]=n,t[1]=i,m(this.state,this.state[0],this.state[1],this.state[2],this.state[3]);var h=r>>>18,a=(o>>>18|r<<14)>>>0;h=(h^r)>>>0;var l=((a=(a^o)>>>0)>>>27|h<<5)>>>0,c=r>>>27;return(l>>>c|l<<((-c>>>0&31)>>>0))>>>0}integer(t){if(!t)return this.next();if(((t>>>=0)&t-1)==0)return this.next()&t-1;var e=0,s=(-t>>>0)%t>>>0;for(e=this.next();e<s;e=this.next());return e%t}number(){return((0x3ffffff&this.next())*0x8000000+(0x7ffffff&this.next())*1)/0x20000000000000}}class x{constructor(t,e,s,i){this.width=t,this.height=e,this.minDist=s,this.k=i,this.cellSize=this.minDist/Math.sqrt(2),this.grid=Array.from({length:Math.ceil(this.height/this.cellSize)},()=>Array.from({length:Math.ceil(this.width/this.cellSize)},()=>null)),this.points=[],this.spawnPoints=[]}generatePoints(t){let e=[t()*this.width,t()*this.height];for(this.points.push(e),this.spawnPoints.push(e),this.grid[Math.floor(e[1]/this.cellSize)][Math.floor(e[0]/this.cellSize)]=e;this.spawnPoints.length>0;){let e=Math.floor(t()*this.spawnPoints.length),s=this.spawnPoints[e],i=!1;for(let e=0;e<this.k;e++){let e=2*t()*Math.PI,n=[Math.cos(e),Math.sin(e)],r=t()*this.minDist+this.minDist,o=[s[0]+n[0]*r,s[1]+n[1]*r];if(this.isValid(o)){this.points.push(o),this.spawnPoints.push(o),this.grid[Math.floor(o[1]/this.cellSize)][Math.floor(o[0]/this.cellSize)]=o,i=!0;break}}i||this.spawnPoints.splice(e,1)}return this.points}isValid(t){if(t[0]<0||t[0]>=this.width||t[1]<0||t[1]>=this.height)return!1;let e=Math.floor(t[0]/this.cellSize),s=Math.floor(t[1]/this.cellSize),i=Math.max(e-2,0),n=Math.max(s-2,0),r=Math.min(e+2,this.grid[0].length-1),o=Math.min(s+2,this.grid.length-1);for(let e=n;e<=o;e++)for(let s=i;s<=r;s++){let i=this.grid[e][s];if(i&&h(i,t)<this.minDist)return!1}return!0}}class b{constructor(t,{width:e,height:s},i,n){this.ctx=t,this.forMargin=(t,e)=>this.forTiling({n:1,margin:t},e),this.forTiling=(t,e)=>{let s=0,{n:i,type:n="proportionate",margin:r=0,order:o="columnFirst"}=t,h="square"===n?Math.floor(i*(1/this.aspectRatio)):i,a=(1-2*r)/i,l="square"===n?a*h:1/this.aspectRatio-2*r,c=l/h,u=(1/this.aspectRatio-l)/2;if("columnFirst"===o)for(let t=0;t<i;t++)for(let i=0;i<h;i++)e([r+t*a,u+i*c],[a,c],[r+t*a+a/2,u+i*c+c/2],s),s++;else for(let t=0;t<h;t++)for(let n=0;n<i;n++)e([r+n*a,u+t*c],[a,c],[r+n*a+a/2,u+t*c+c/2],s),s++},this.forHorizontal=(t,e)=>{let{n:s,margin:i=0}=t,n=1-i,r=1/this.aspectRatio-2*i,o=(n-i)/s;for(let t=0;t<s;t++)e([i+t*o,i],[o,r],[i+t*o+o/2,i+r/2],t)},this.forVertical=(t,e)=>{let{n:s,margin:i=0}=t,n=1/this.aspectRatio-i,r=1-2*i,o=(n-i)/s;for(let t=0;t<s;t++)e([i,i+t*o],[r,o],[i+r/2,i+t*o+o/2],t)},this.forGrid=(t,e)=>{let s=0,{minX:i,maxX:n,minY:r,maxY:o,order:h="columnFirst"}=t;if("columnFirst"===h)for(let t=i;t<=n;t++)for(let i=r;i<=o;i++)e([t,i],s),s++;else for(let t=r;t<=o;t++)for(let r=i;r<=n;r++)e([r,t],s),s++},this.build=(t,e,s)=>{let i=[];return t(e,(...t)=>{i.push(s(...t))}),i},this.aroundCircle=(t,e)=>{let{n:s,at:[i,n]=[.5,.5/this.aspectRatio],r=.25}=t,o=2*Math.PI/s,h=-(.5*Math.PI);for(let t=0;t<s;t++)e([i+r*Math.cos(h+o),n+r*Math.sin(h+o)],t),h+=o},this.forPoissonDiskPoints=(t,e)=>{let{minDist:s,attempts:i=30}=t;(function({width:t,height:e,minDist:s,rng:i,k:n}){let r=new x(t,e,s,n);return r.generatePoints(i),r.points})({width:1,height:this.meta.bottom,minDist:s,rng:()=>this.random(),k:i}
1).forEach(e)},this.inDrawing=t=>{let{left:e,right:s,top:i,bottom:n}=this.meta;return t[0]>e&&t[0]<s&&t[1]>i&&t[1]<n},this.withClipping=(t,e)=>{this.pushState(),this.ctx.beginPath(),t.traceIn(this.ctx),this.ctx.clip(),e(),this.popState()},this.withContext=t=>{this.pushState(),t(),this.popState()},this.withRotation=(t,e)=>{this.pushState(),this.ctx.rotate(t),e(),this.popState()},this.withScale=(t,e)=>{this.pushState(),this.ctx.scale(t[0],t[1]),e(),this.popState()},this.withTranslation=(t,e)=>{this.pushState(),this.ctx.translate(t[0],t[1]),e(),this.popState()},this.withTransform=(t,e)=>{this.pushState();let{hScale:s,hSkew:i,vSkew:n,vScale:r,dX:o,dY:h}=t;this.ctx.transform(s,i,n,r,o,h),e(),this.popState()},this.withBlendMode=(t,e)=>{this.pushState(),this.ctx.globalCompositeOperation=t,e(),this.popState()},this.random=()=>this.rng.number(),this.uniformRandomInt=t=>{let{to:e,from:s=0,inclusive:i=!0}=t;return s+Math.floor(this.random()*(e-s+ +!!i))},this.uniformGridPoint=({minX:t,maxX:e,minY:s,maxY:i})=>[this.uniformRandomInt({from:t,to:e}),this.uniformRandomInt({from:s,to:i})],this.randomPolarity=()=>this.rng.number()>.5?1:-1,this.sample=t=>t[Math.floor(this.rng.number()*t.length)],this.samples=(t,e)=>{let s=[];for(let i=0;i<t;i++)s.push(this.sample(e));return s},this.shuffle=t=>{let e,s=t.length,i=0;for(;0!==s;)i=Math.floor(this.rng.number()*s),s-=1,e=t[s],t[s]=t[i],t[i]=e;return t},this.perturb=t=>{let{at:[e,s],magnitude:i=.1}=t;return[e+i*(this.rng.number()-.5),s+i*(this.rng.number()-.5)]},this.gaussian=t=>{let{mean:e=0,sd:s=1}=t||{};return e+Math.sqrt(-2*Math.log(this.rng.number()))*Math.cos(2*Math.PI*this.rng.number())*s},this.poisson=t=>{let e=Math.exp(-t),s=this.rng.number(),i=0;for(;s>=e;)i++,s*=this.rng.number();return i},this.oscillate=t=>{let{from:e=0,to:s=1,rate:i=1}=t||{};return e+(s-e)*(1+Math.cos(this.t*i))/2},t.resetTransform(),this.aspectRatio=e/s,this.originalScale=e,t.scale(e,e),t.lineWidth=.01,t.lineJoin="round",t.strokeStyle="black",t.fillStyle="gray",this.lineStyle={cap:"round"},this.meta={top:0,bottom:1/this.aspectRatio,right:1,left:0,aspectRatio:this.aspectRatio,center:[.5,.5/this.aspectRatio]},this.rng=new w(i),this.t=n||0}updateTime(t){this.t=t}updateSize({width:t,height:e}){this.ctx.resetTransform(),this.aspectRatio=t/e,this.originalScale=t,this.ctx.scale(t,t),this.meta={top:0,bottom:1/this.aspectRatio,right:1,left:0,aspectRatio:this.aspectRatio,center:[.5,.5/this.aspectRatio]}}resetRandomNumberGenerator(t){this.rng=new w(t)}set lineWidth(t){this.ctx.lineWidth=t}set lineStyle({cap:t="round",join:e="round"}){this.ctx.lineCap=t,this.ctx.lineJoin=e}set dash({pattern:t=[.05,.05],offset:e=0}){this.ctx.setLineDash(t),this.ctx.lineDashOffset=e}clearShadow(){this.ctx.shadowBlur=0,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0}set shadow({size:t=.01,color:s={h:0,s:0,l:0,a:.5},dX:i=0,dY:n=.01}){let{h:r,s:o,l:h,a}=s;this.ctx.shadowBlur=t*this.originalScale,this.ctx.shadowColor=e(r,o,h,a),this.ctx.shadowOffsetX=i*this.originalScale,this.ctx.shadowOffsetY=n*this.originalScale}background(t,s,i,n=1){this.pushState(),this.ctx.fillStyle=e(t,s,i,n);let{right:r,bottom:o}=this.meta;this.fill(new p({at:[0,0],w:r,h:o})),this.popState()}backgroundFromSpec({h:t,s:e,l:s,a:i}){this.background(t,e,s,i)}backgroundGradient(t){this.pushState(),this.ctx.fillStyle=t.gradient(this.ctx);let{right:e,bottom:s}=this.meta;this.fill(new p({at:[0,0],w:e,h:s})),this.popState()}setStrokeColor(t,s,i,n=1){this.ctx.strokeStyle=e(t,s,i,n)}setStrokeColorFromSpec({h:t,s:e,l:s,a:i}){this.setStrokeColor(t,e,s,i)}setFillColor(t,s,i,n=1){this.ctx.fillStyle=e(t,s,i,n)}setFillColorFromSpec({h:t,s:e,l:s,a:i}){this.setFillColor(t,e,s,i)}setStrokeGradient(t){this.ctx.strokeStyle=t.gradient(this.ctx)}setFillGradient(t){this.ctx.fillStyle=t.gradient(this.ctx)}draw(t){this.ctx.beginPath(),t.traceIn(this.ctx),this.ctx.stroke()}fill(t){this.ctx.beginPath(),t.traceIn(this.ctx),this.ctx.fill()}drawText(t,e){new i(Object.assign(Object.assign({},t),{kind:"stroke"}),e).textIn(this.ctx,this)}fillText(t,e){new i(Object.assign(Object.assign({},t),{kind:"fill"}),e).textIn(this.ctx,this)}measureText(t,e){return new i(Object.assign(Object.assign({},t),{kind:"stroke",at:[0,0]}),e).measure(this.ctx)}drawImage({image:t,at:e=[0,0],w:s,h:i}){this.ctx.drawImage(t,e[0],e[1],null!=s?s:1,null!=i?i:this.meta.bottom)}withRandomOrder(t,e,s){let i=[];for(let n of(t(e,(...t)=>{i.push(t)}),this.shuffle(i),i))s(...n)}doProportion(t,e){this.rng.number()<t&&e()}times(t,e){for(let s=0;s<t;s++)e(s)}downFrom(t,e){for(let s=t;s>0;s--)e(s)}proportionately(t){let e=t.map(t=>t[0]).reduce((t,e)=>t+e,0);
1if(e<=0)throw Error("Must be positive total");let s=this.rng.number()*e;for(let e=0;e<t.length;e++)if(t[e][0]>s)return t[e][1]();else s-=t[e][0];return t[0][1]()}randomPoint(){return[this.rng.number(),this.rng.number()/this.aspectRatio]}randomAngle(){return this.rng.number()*Math.PI*2}range(t,e){let{from:s=0,to:i=1,n,inclusive:r=!0}=t,o=(i-s)/n,h=r?n:n-1;for(let t=0;t<=h;t++)e(t*o+s)}pushState(){this.ctx.save()}popState(){this.ctx.restore()}}function M(t){return t*t*t*(t*(6*t-15)+10)}let v=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]];var S=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];let P=Array(512),k=Array(512);var T=0;(T=Math.floor(0))<256&&(T|=T<<8);for(var C,y=0;y<256;y++)C=1&y?S[y]^255&T:S[y]^T>>8&255,P[y]=P[y+256]=C,k[y]=k[y+256]=v[C%12];t.s(["perlin2",0,function(t,e){let s=Math.floor(t),i=Math.floor(e),n=t-s,r=e-i;var o,h,a,c=l(k[(s&=255)+P[i&=255]],[n,r]),u=l(k[s+P[i+1]],[n,r-1]),d=l(k[s+1+P[i]],[n-1,r]),f=l(k[s+1+P[i+1]],[n-1,r-1]);let g=M(n);return o=(1-g)*c+g*d,h=(1-g)*u+g*f,(1-(a=M(r)))*o+a*h}],4467),t.s(["RegularPolygon",()=>I],84697);class I{constructor(t){if(this.config=t,this.traceIn=t=>{let{at:[e,s],n:i,r:n,a:r=0}=this.config;r-=Math.PI/2;let o=2*Math.PI/i;t.moveTo(e+n*Math.cos(r),s+n*Math.sin(r));for(let h=1;h<i;h++)t.lineTo(e+n*Math.cos(r+h*o),s+n*Math.sin(r+h*o));t.lineTo(e+n*Math.cos(r),s+n*Math.sin(r))},this.config.n<3)throw Error(`Must have at least 3 sides, n was set to ${this.config.n}`)}get path(){let t;return t=g.withPoints([]),this.traceIn({moveTo(e,s){t.addPoint([e,s])},lineTo(e,s){t.addPoint([e,s])}}),t}}t.s(["Line",()=>R],69148);class R{constructor(t,e){this.a=t,this.b=e,this.traceIn=t=>{t.moveTo(...this.a),t.lineTo(...this.b)}}moved(t){return new R(c.add(this.a,t),c.add(this.b,t))}get path(){return new g([this.a,this.b])}}function O({w:t=2048,h:e=2048,sketch:s,seed:i=0,time:n=0}){let r=new OffscreenCanvas(t,e),o=r.getContext("2d");if(!o)throw Error("Unable to create OffscreenCanvas context");return s(new b(o,{width:t,height:e},i,n)),r.transferToImageBitmap()}t.s(["render",()=>O],18375),t.s(["SCanvas",()=>b],37525)},54724,22527,t=>{"use strict";class e{constructor(t){this.config=t,this.traceIn=t=>{let{at:e,w:s,h:i,align:n="center"}=this.config,[r,o]="center"===n?e:[e[0]+s/2,e[1]+i/2],h=4/3*Math.tan(Math.PI/8);t.moveTo(r,o-i/2),t.bezierCurveTo(r+h*s/2,o-i/2,r+s/2,o-h*i/2,r+s/2,o),t.bezierCurveTo(r+s/2,o+h*i/2,r+h*s/2,o+i/2,r,o+i/2),t.bezierCurveTo(r-h*s/2,o+i/2,r-s/2,o+h*i/2,r-s/2,o),t.bezierCurveTo(r-s/2,o-h*i/2,r-h*s/2,o-i/2,r,o-i/2)}}}t.s(["Circle",0,class extends e{constructor(t){super({at:t.at,w:2*t.r,h:2*t.r,align:t.align})}}],54724);var s=t.i(23157),i=t.i(13352);t.i(60770);var n=t.i(37525);t.s(["FixedSizeCanvas",0,function({width:t,height:e,seed:r=0,sketch:o,dependencies:h,pixelDensity:a=2,style:l}){let c=(0,i.useRef)(null);return(0,i.useEffect)(()=>{if(!c.current)return;let s=c.current.getContext("2d");s&&o(new n.SCanvas(s,{width:t*a,height:e*a},r,0),h)},[r]),(0,s.jsx)("canvas",{width:t*a,height:e*a,ref:c,style:l??{width:t,height:e}})}],22527)},1524,t=>{"use strict";var e=t.i(23157);t.i(60770);var s=t.i(54724),i=t.i(69148),n=t.i(16742);class r{constructor(t){this.config=t}gradient(t){let{from:[e,s],to:[i,r],colors:o}=this.config,h=t.createLinearGradient(e,s,i,r);for(let[t,{h:e,s,l:i,a:r}]of o)h.addColorStop(t,(0,n.hsla)(e,s,i,r));return h}}var o=t.i(35014),h=t.i(10737),a=t.i(84697);function l(t,e){return function({a:t,b:e,c:s,d:i,steps:n}){let r=[];for(let u=0;u<n;u++){var o,h,a,l,c;r.push((o=u/n,h=t,a=e,l=s,c=i,function(t,e,s){let i=Math.max(t,e,s),n=Math.min(t,e,s),r=(i+n)/2,o=0,h=0;if(i!==n){let a=i-n;switch(h=r>
1.5?a/(2-i-n):a/(i+n),i){case t:o=(e-s)/a+6*(e<s);break;case e:o=(s-t)/a+2;break;case s:o=(t-e)/a+4}o/=6}return[360*o,100*h,100*r]}(h[0]+a[0]*Math.cos(2*Math.PI*(l[0]*o+c[0])),h[1]+a[1]*Math.cos(2*Math.PI*(l[1]*o+c[1])),h[2]+a[2]*Math.cos(2*Math.PI*(l[2]*o+c[2])))))}return r}(Object.assign(Object.assign({},c[t]),{steps:e}))}let c={rainbow:{a:[.5,.5,.5],b:[.5,.5,.5],c:[1,1,1],d:[0,.33,.67]},warmth:{a:[.5,.5,.5],b:[.5,.5,.5],c:[1,1,1],d:[0,.1,.2]},rusty:{a:[.5,.5,.5],b:[.5,.5,.5],c:[1,1,1],d:[.3,.2,.2]},autumnal:{a:[.5,.5,.5],b:[.5,.5,.5],c:[1,1,.5],d:[.8,.9,.3]},natural:{a:[.5,.5,.5],b:[.5,.5,.5],c:[1,.7,.4],d:[0,.15,.2]},neon:{a:[.5,.5,.5],b:[.5,.5,.5],c:[2,1,0],d:[.5,.2,.25]},subtle:{a:[.8,.5,.4],b:[.2,.4,.2],c:[2,1,1],d:[0,.25,.25]}};var u=t.i(4467),d=t.i(79939),f=t.i(22527);let g=[function(t){let e=l("natural",12);t.background(350,30,80),new a.RegularPolygon({at:t.meta.center,r:.35,n:6}).path.exploded().flatMap(t=>t.exploded()).flatMap(t=>t.exploded({scale:1.2})).forEach((s,i)=>{t.setFillColor(...e[i%e.length]),t.fill(s)})},function(t){t.background(210,70,10),t.withClipping(new s.Circle({at:t.meta.center,r:.4}),()=>{t.backgroundGradient(new r({from:[.5,0],to:[.5,t.meta.bottom],colors:[[0,{h:210,s:80,l:40}],[1,{h:190,s:60,l:60}]]})),t.forPoissonDiskPoints({minDist:.05},e=>{(0,u.perlin2)(...d.v.scale(e,4))>.05&&(t.setFillColor(210,10,90,.4),t.fill(new a.RegularPolygon({at:e,r:.06,n:6,a:t.randomAngle()})))})})},function(t){let e=l("autumnal",20);t.background(40,70,80),t.forPoissonDiskPoints({minDist:.05},i=>{let n=(0,u.perlin2)(...i);t.setFillColor(...e[Math.floor((1+n)*e.length/2)]),t.fill(new s.Circle({at:i,r:.02}))})},function(t){let{bottom:e,right:s}=t.meta;t.backgroundGradient(new r({from:[0,0],to:[0,e],colors:[[0,{h:215,s:80,l:60}],[1,{h:215,s:80,l:20}]]})),t.times(40,()=>{t.setFillColor(t.uniformRandomInt({from:180,to:225}),80,40,.3),t.fill(new h.Rect({at:[0,t.gaussian({mean:.6*e,sd:.15*e})],w:s,h:.1*e}))}),t.lineWidth=.005,t.times(20,()=>{t.setStrokeColor(0,0,100,.2);let n=t.gaussian({mean:.8*e,sd:.1*e});t.draw(new i.Line([0,n],[s,n]))})},function(t){t.backgroundFromSpec({h:30,s:50,l:90});let e=l("rusty",22),{bottom:s,right:i,center:[n,r]}=t.meta,h=[n-i/3.5,r-s/3.5],a=[n+i/3.5,r+s/3.5];t.lineWidth=.02,t.range({from:-10,to:10,n:20},s=>{t.setStrokeColor(...e[(s+10)%20]),t.draw(o.Path.startAt(h).addCurveTo(a,{curveSize:s/10,curveAngle:t.gaussian(),bulbousness:1+Math.cos(t.t/2+s)}))})}];t.s(["IndexPageCard",0,function({imageIndex:t,size:s}){let i=g[t%g.length];return(0,e.jsx)(f.FixedSizeCanvas,{sketch:i,width:s??240,height:s??240,style:{width:"100%",height:"100%"}})}],1524)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.